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 }