View Javadoc

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  }