/** * Action method invoked when an event triggers this action. * * <p>The {@link #_compartment} instance variable defines the action to take, and the {@link * #_display} instance variable whether it should set visibility or note. * * <p><em>Note</em>. The {@link #_display} instance variable is really redundant. Its value is * implied by the operation. * * @param ae The event that triggered us. */ public void actionPerformed(ActionEvent ae) { // Only do anything if we have a single item selected (surely this // should work for multiple selections as well?). Vector sels = Globals.curEditor().getSelectionManager().selections(); if (sels.size() == 1) { Selection sel = (Selection) sels.firstElement(); Fig f = sel.getContent(); // Perform the action if (_compartment.equals("Show Attribute Compartment")) { ((FigClass) f).setAttributeVisible(_display); } else if (_compartment.equals("Hide Attribute Compartment")) { ((FigClass) f).setAttributeVisible(_display); } else if (_compartment.equals("Show Operation Compartment") || _compartment.equals("Hide Operation Compartment")) { if (f instanceof FigClass) ((FigClass) f).setOperationVisible(_display); if (f instanceof FigInterface) ((FigInterface) f).setOperationVisible(_display); } else if (_compartment.equals("Show Extension Point Compartment")) { ((FigUseCase) f).setExtensionPointVisible(_display); } else if (_compartment.equals("Hide Extension Point Compartment")) { ((FigUseCase) f).setExtensionPointVisible(_display); } else if (_compartment.equals("Show All Compartments")) { ((FigClass) f).setAttributeVisible(_display); ((FigClass) f).setOperationVisible(_display); } else { ((FigClass) f).setAttributeVisible(_display); ((FigClass) f).setOperationVisible(_display); } } }
public Object clone() { FigUseCase figClone = (FigUseCase) super.clone(); Vector v = figClone.getFigs(); figClone._bigPort = (FigCircle) v.elementAt(0); figClone._cover = (FigCircle) v.elementAt(1); figClone._name = (FigText) v.elementAt(2); return figClone; }