|                                                                                                              1   package jimm.datavision.gui.cmd;
 2   import jimm.datavision.Report;
 3   import jimm.datavision.gui.Designer;
 4   import jimm.datavision.gui.FieldPickerTree;
 5   import jimm.datavision.gui.FPLeafInfo;
 6   import jimm.util.I18N;
 7   import javax.swing.tree.*;
 8
 9
 14  public class FPDeleteCommand extends CommandAdapter {
 15
 16  protected Report report;
 17  protected Designer designer;
 18  protected FieldPickerTree tree;
 19  protected DefaultMutableTreeNode leafNode;
 20  protected MutableTreeNode parentNode;
 21  protected FPLeafInfo info;
 22
 23
 26  public FPDeleteCommand(Report report, Designer designer,
 27                 FieldPickerTree tree, DefaultMutableTreeNode node)
 28  {
 29      this(report, designer, tree, node, I18N.get("FPDeleteCommand.name"));
 30  }
 31
 32
 35  protected FPDeleteCommand(Report report, Designer designer,
 36                FieldPickerTree tree, DefaultMutableTreeNode node,
 37                String
  name) 38  {
 39      super(name);
 40      this.report = report;
 41      this.designer = designer;
 42      this.tree = tree;
 43      leafNode = node;
 44      parentNode = (MutableTreeNode)node.getParent();
 45      Object
  obj = node.getUserObject(); 46      if (obj instanceof FPLeafInfo)
 47      info = (FPLeafInfo)obj;
 48  }
 49
 50  public void perform() {
 51      if (info != null) {
 52      report.remove(info.getLeaf());
 53      tree.removeCurrentNode();
 54      }
 55  }
 56
 57  public void undo() {
 58      if (info != null) {
 59      report.add(info.getLeaf());
 60
 61      ((DefaultTreeModel)tree.getModel())
 62          .insertNodeInto(leafNode, parentNode, parentNode.getChildCount());
 63
 64          TreePath path = new TreePath(leafNode.getPath());
 66      tree.scrollPathToVisible(path);
 67      tree.setSelectionPath(path);
 68      }
 69  }
 70
 71  }
 72
                                                                                                                                                                                                             |                                                                       
 
 
 
 
 
                                                                                   Popular Tags                                                                                                                                                                                              |