package com.android_mvc.framework.ui.view; import android.view.View; /** * フレームワーク内で独自に拡張したLayoutであることを示すためにimplementするインタフェース。 * @author id:language_and_engineering * */ public interface IFWLayoutView { // NOTE: 実装側でこれらがpublicになるのは極めて不本意だが,カスタムビューを透過的に扱うために仕方がない。 /** * 特定のViewのタテヨコ値を取得 */ int[] getWidthHeightOfView(View v); /** * このレイアウトの描画を実行する。 * 中身にレイアウトを含む場合,再帰的に呼び出される。 * すでに描画が完了しているViewはスキップする。 */ void inflateInside(); /** * 1つのビューをレイアウト内に描画する。 */ void registerAndRenderOneView(View v); /** * 描画済みの内部Viewの個数を返す。 */ int getNumInflatedViews(); /** * 特定のインデックスの内部ビューを返す。 */ View getIncludingViewAt(int i); /** * 描画済みビューの個数情報を更新する。 */ void updateNumInflatedViews(); /** * 内部ビューの全個数を返す。 */ int getIncludingViewsSize(); /** * レイアウト内に描画したいビューを1つ以上登録する。 * @param v 可変個のView */ IFWLayoutView add(View...v); /** * レイアウト内に描画したいビューを1つ登録する。 */ void addOneIncludingView( View v ); /** * 内部に登録済みの全Viewを登録解除する。 */ void removeAllIncludingViews(); }