1 package jimm.datavision.gui.cmd; 2 import jimm.datavision.gui.Designer; 3 import jimm.datavision.gui.FieldWidget; 4 import jimm.datavision.gui.SectionWidget; 5 import jimm.util.I18N; 6 import java.util.*; 7 8 13 public class DeleteCommand extends CommandAdapter { 14 15 protected Designer designer; 16 protected Collection fieldWidgets; 17 18 21 public DeleteCommand(Designer designer, ArrayList selectedFields) { 22 this(designer, selectedFields, I18N.get("DeleteCommand.name")); 23 } 24 25 28 protected DeleteCommand(Designer designer, ArrayList selectedFields, 29 String name) 30 { 31 super(name); 32 this.designer = designer; 33 fieldWidgets = (ArrayList)selectedFields.clone(); 34 } 35 36 public void perform() { 37 HashSet affectedSections = new HashSet(); 38 designer.deselectAll(); 39 40 for (Iterator iter = fieldWidgets.iterator(); iter.hasNext(); ) { 41 FieldWidget fw = (FieldWidget)iter.next(); 42 fw.doDelete(); affectedSections.add(fw.getSectionWidget()); 44 } 45 46 for (Iterator iter = affectedSections.iterator(); iter.hasNext(); ) 47 ((SectionWidget)iter.next()).repaint(); 48 49 designer.enableMenuItems(); 50 } 51 52 public void undo() { 53 for (Iterator iter = fieldWidgets.iterator(); iter.hasNext(); ) { 54 FieldWidget fw = (FieldWidget)iter.next(); 55 fw.moveToSection(fw.getSectionWidget()); 56 designer.select(fw, true, false); 57 } 58 } 61 62 } 63 | Popular Tags |