1 package org.weda.model.actions; 2 3 import org.weda.action.ActionContainer; 4 import org.weda.action.ActionState; 5 import org.weda.action.Parameter; 6 import org.weda.model.TableModel; 7 import org.weda.action.impl.AbstractAction; 8 import org.weda.action.impl.ActionStateImpl; 9 import org.weda.model.TableModelData; 10 11 /** 12 * 13 * @author tim 14 */ 15 public class ObjectTableModelSelectAction extends AbstractAction { 16 private boolean[] rowSelectionState; 17 18 @Parameter 19 public void setRowSelectionState(boolean[] rowSelectionState) { 20 this.rowSelectionState = rowSelectionState; 21 } 22 23 public ActionState getActionState(ActionContainer targetObject) 24 throws Exception 25 { 26 TableModel model = (TableModel)targetObject; 27 return new ActionStateImpl( 28 true 29 , model.getMode()==TableModel.Mode.VIEW 30 && model.getData().getRowCount()>0); 31 } 32 33 public Object execute(ActionContainer targetObject) throws Exception { 34 TableModel model = (TableModel)targetObject; 35 TableModelData tableData = model.getData(); 36 for (int i=0; i<rowSelectionState.length; ++i) 37 if (rowSelectionState[i]) 38 tableData.selectRow(i); 39 else 40 tableData.deselectRow(i); 41 return null; 42 } 43 }