package com.gueei.demos.markupDemo.viewModels;
import gueei.binding.markupDemoICS.R;
import android.view.View;
import gueei.binding.Command;
import gueei.binding.collections.ArrayListObservable;
import gueei.binding.observables.IntegerObservable;
import gueei.binding.observables.StringObservable;
public class BindableTableLayout {
public class Row {
public final ArrayListObservable<Child> Children = new ArrayListObservable<Child>(Child.class);
public class Child {
public final StringObservable Name = new StringObservable();
public final IntegerObservable LayoutId = new IntegerObservable(R.layout.bindabletablelayout_item);
public final IntegerObservable ColSpan = new IntegerObservable(1);
public final Command Clicked = new Command(){
@Override
public void Invoke(View view, Object... args) {
if(LayoutId.get() == R.layout.bindabletablelayout_item_blue) {
LayoutId.set(R.layout.bindabletablelayout_item);
} else {
LayoutId.set(R.layout.bindabletablelayout_item_blue);
}
}
};
}
}
public final ArrayListObservable<Row> Rows = new ArrayListObservable<Row>(Row.class);
public BindableTableLayout() {
for( int k=0; k<4; k++) {
Row row = new Row();
for( int i=0; i<6; i++) {
Row.Child child = row.new Child();
child.Name.set( "C: " + i + " / " + k);
row.Children.add(child);
}
Rows.add(row);
}
Rows.get(1).Children.get(1).LayoutId.set(R.layout.bindabletablelayout_item_blue);
Row row = new Row();
row.Children.add(null);
Row.Child child = row.new Child();
child.Name.set("C: 1 / colspan2");
child.ColSpan.set(2);
row.Children.add(child);
Rows.add(row);
}
}