/** Defines an <code>Action</code> object with a default description string and default icon. */ public ControlAction(final ControlActionPlugin actionPlugin, final PreviewPane previewPane) { if (actionPlugin == null) { throw new NullPointerException(); } if (previewPane == null) { throw new NullPointerException(); } this.actionPlugin = actionPlugin; this.actionPlugin.addPropertyChangeListener( "enabled", new EnableChangeListener()); // $NON-NLS-1$ this.previewPane = previewPane; putValue(Action.NAME, actionPlugin.getDisplayName()); putValue(Action.SHORT_DESCRIPTION, actionPlugin.getShortDescription()); putValue(Action.ACCELERATOR_KEY, actionPlugin.getAcceleratorKey()); putValue(Action.MNEMONIC_KEY, actionPlugin.getMnemonicKey()); putValue(Action.SMALL_ICON, actionPlugin.getSmallIcon()); putValue(SwingCommonModule.LARGE_ICON_PROPERTY, actionPlugin.getLargeIcon()); setEnabled(actionPlugin.isEnabled()); }