public void actionPerformed(final ActionEvent e) { final ModeController modeController = Controller.getCurrentModeController(); final Controller controller = modeController.getController(); final NodeModel selected = controller.getSelection().getSelected(); if (selected.depth() < 2) { UITools.errorMessage(TextUtils.getText("can_not_delete_style_group")); return; } final MapModel map = selected.getMap(); final MapStyleModel styleModel = MapStyleModel.getExtension(map); final NodeModel styleNodeGroup = styleModel.getStyleNodeGroup(selected); if (!((StyleNamedObject) styleNodeGroup.getUserObject()) .getObject() .equals("styles.user-defined")) { UITools.errorMessage(TextUtils.getText("can_not_delete_predefined_style")); return; } final MMapController mapController = (MMapController) modeController.getMapController(); mapController.deleteNode(selected); final IActor actor = new IActor() { public void undo() { styleModel.addStyleNode(selected); } public String getDescription() { return "DeleteStyle"; } public void act() { styleModel.removeStyleNode(selected); } }; Controller.getCurrentModeController().execute(actor, map); }
private void register(ModeController modeController) { modeController.addExtension( IScriptEditorStarter.class, new IScriptEditorStarter() { public String startEditor(final String pScriptInput) { final ScriptModel scriptModel = new ScriptModel(pScriptInput); final ScriptEditorPanel scriptEditorPanel = new ScriptEditorPanel(scriptModel, false); scriptEditorPanel.setVisible(true); return scriptModel.getScript(); } public ComboBoxEditor createComboBoxEditor(Dimension minimumSize) { final ScriptComboBoxEditor scriptComboBoxEditor = new ScriptComboBoxEditor(); if (minimumSize != null) scriptComboBoxEditor.setMinimumSize(minimumSize); return scriptComboBoxEditor; } }); modeController.addExtension( IScriptStarter.class, new IScriptStarter() { public void executeScript(NodeModel node, String script) { ScriptingEngine.executeScript(node, script); } }); registerScriptAddOns(); if (!modeController.getController().getViewController().isHeadless()) { final IUserInputListenerFactory userInputListenerFactory = modeController.getUserInputListenerFactory(); addPropertiesToOptionPanel(); final MenuBuilder menuBuilder = userInputListenerFactory.getMenuBuilder(); modeController.addAction(new ScriptEditor()); modeController.addAction(new ExecuteScriptForAllNodes()); modeController.addAction(new ExecuteScriptForSelectionAction()); final ManageAddOnsAction manageAddOnsAction = new ManageAddOnsAction(); modeController.addAction(manageAddOnsAction); modeController.addExtension( AddOnInstaller.class, new AddOnInstaller() { public void install(final URL url) { final ManageAddOnsDialog dialog = manageAddOnsAction.getDialog(); // FIXME: method does not exist --> boercher // dialog.install(url); } }); final ScriptingConfiguration configuration = new ScriptingConfiguration(); ScriptingEngine.setClasspath(configuration.getClasspath()); ScriptCompiler.compileScriptsOnPath(configuration.getClasspath()); modeController.addMenuContributor( new IMenuContributor() { public void updateMenus(ModeController modeController, MenuBuilder builder) { registerScripts(menuBuilder, configuration); } }); createUserScriptsDirectory(); } FilterController.getCurrentFilterController() .getConditionFactory() .addConditionController(10, new ScriptConditionController()); }