Loading plugins/org.etsi.mts.tdl.rt.ui/plugin.xml +23 −15 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.4"?> <plugin> <extension point="org.eclipse.ui.commands"> <category Loading @@ -24,9 +23,14 @@ id="org.etsi.mts.tdl.tools.rt.ui.commands.translateTTCN3Command"> </command> <command name="Reload OCL constraints" name="Activate TDL validation" categoryId="org.etsi.mts.tdl.tools.rt.ui.commands.category" id="org.etsi.mts.tdl.tools.rt.ui.commands.reloadValidatorCommand"> id="org.etsi.mts.tdl.tools.rt.ui.commands.toggleValidatorCommand"> <state class="org.eclipse.ui.handlers.RegistryToggleState" id="org.eclipse.ui.commands.toggleState"> <class class="org.eclipse.ui.handlers.RegistryToggleState:true"/> </state> </command> </extension> <extension Loading @@ -44,8 +48,8 @@ class="org.etsi.mts.tdl.tools.rt.ui.handlers.RendererHandler"> </handler> <handler commandId="org.etsi.mts.tdl.tools.rt.ui.commands.reloadValidatorCommand" class="org.etsi.mts.tdl.tools.rt.ui.handlers.ReloadValidationHandler"> commandId="org.etsi.mts.tdl.tools.rt.ui.commands.toggleValidatorCommand" class="org.etsi.mts.tdl.tools.rt.ui.handlers.ToggleValidation"> </handler> </extension> <extension Loading Loading @@ -99,10 +103,11 @@ mnemonic="T" id="org.etsi.mts.tdl.tools.menus.TDLMenu"> <command commandId="org.etsi.mts.tdl.tools.rt.ui.commands.reloadValidatorCommand" commandId="org.etsi.mts.tdl.tools.rt.ui.commands.toggleValidatorCommand" icon="icons/ValidateIcon.png" mnemonic="V" id="org.etsi.mts.tdl.tools.rt.ui.menus.reloadValidatorCommand"> style="toggle" id="org.etsi.mts.tdl.tools.rt.ui.menus.toggleValidatorCommand"> </command> </menu> </menuContribution> Loading @@ -129,13 +134,16 @@ id="org.etsi.mts.tdl.tools.rt.ui.toolbars.translateTTCN3Command"> </command> <command commandId="org.etsi.mts.tdl.tools.rt.ui.commands.reloadValidatorCommand" commandId="org.etsi.mts.tdl.tools.rt.ui.commands.toggleValidatorCommand" icon="icons/ValidateIcon.png" tooltip="Reload OCL constraints" id="org.etsi.mts.tdl.tools.rt.ui.toolbars.reloadValidatorCommand"> tooltip="Toggle TDL validation" style="toggle" id="org.etsi.mts.tdl.tools.rt.ui.toolbars.toggleValidatorCommand"> </command> </toolbar> </menuContribution> </extension> <extension point="org.eclipse.ui.startup"> <startup class="org.etsi.mts.tdl.tools.rt.ui.ToggleHandler"/> </extension> </plugin> plugins/org.etsi.mts.tdl.rt.ui/src/org/etsi/mts/tdl/tools/rt/ui/ToggleHandler.java 0 → 100644 +58 −0 Original line number Diff line number Diff line package org.etsi.mts.tdl.tools.rt.ui; import org.eclipse.core.commands.Command; import org.eclipse.core.commands.State; import org.eclipse.core.runtime.Platform; import org.eclipse.emf.ecore.EValidator; import org.eclipse.ui.IStartup; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.commands.ICommandService; import org.etsi.mts.tdl.Validator; import org.etsi.mts.tdl.tdlPackage; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; public class ToggleHandler implements IStartup { private static final String COMMAND_ID = "org.etsi.mts.tdl.tools.rt.ui.commands.toggleValidatorCommand"; @Override public void earlyStartup() { boolean state = getToggleState(COMMAND_ID); if (state) { enablePlugin(); } else { disablePlugin(); } } private boolean getToggleState(String commandId) { ICommandService commandService = PlatformUI.getWorkbench().getService(ICommandService.class); if (commandService != null) { Command command = commandService.getCommand(commandId); State state = command.getState("org.eclipse.ui.commands.toggleState"); if (state != null) { return (Boolean) state.getValue(); } } return true; // default value } public static void toggleState(boolean currentState) { System.out.println(currentState); if (!currentState) { enablePlugin(); } else { disablePlugin(); } } static void enablePlugin() { Bundle bundle = Platform.getBundle("org.etsi.mts.tdl.model"); BundleContext context = bundle.getBundleContext(); Validator.registerValidator("model/tdl-constraints.ocl", tdlPackage.eINSTANCE, context); } static void disablePlugin() { EValidator.Registry.INSTANCE.remove(tdlPackage.eINSTANCE); } } plugins/org.etsi.mts.tdl.rt.ui/src/org/etsi/mts/tdl/tools/rt/ui/handlers/ToggleValidation.java 0 → 100644 +21 −0 Original line number Diff line number Diff line package org.etsi.mts.tdl.tools.rt.ui.handlers; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.ui.handlers.HandlerUtil; import org.etsi.mts.tdl.tools.rt.ui.ToggleHandler; public class ToggleValidation extends AbstractHandler { public ToggleValidation() { } @Override public Object execute(ExecutionEvent event) throws ExecutionException { boolean currentState = HandlerUtil.toggleCommandState(event.getCommand()); ToggleHandler.toggleState(currentState); return null; } } No newline at end of file Loading
plugins/org.etsi.mts.tdl.rt.ui/plugin.xml +23 −15 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.4"?> <plugin> <extension point="org.eclipse.ui.commands"> <category Loading @@ -24,9 +23,14 @@ id="org.etsi.mts.tdl.tools.rt.ui.commands.translateTTCN3Command"> </command> <command name="Reload OCL constraints" name="Activate TDL validation" categoryId="org.etsi.mts.tdl.tools.rt.ui.commands.category" id="org.etsi.mts.tdl.tools.rt.ui.commands.reloadValidatorCommand"> id="org.etsi.mts.tdl.tools.rt.ui.commands.toggleValidatorCommand"> <state class="org.eclipse.ui.handlers.RegistryToggleState" id="org.eclipse.ui.commands.toggleState"> <class class="org.eclipse.ui.handlers.RegistryToggleState:true"/> </state> </command> </extension> <extension Loading @@ -44,8 +48,8 @@ class="org.etsi.mts.tdl.tools.rt.ui.handlers.RendererHandler"> </handler> <handler commandId="org.etsi.mts.tdl.tools.rt.ui.commands.reloadValidatorCommand" class="org.etsi.mts.tdl.tools.rt.ui.handlers.ReloadValidationHandler"> commandId="org.etsi.mts.tdl.tools.rt.ui.commands.toggleValidatorCommand" class="org.etsi.mts.tdl.tools.rt.ui.handlers.ToggleValidation"> </handler> </extension> <extension Loading Loading @@ -99,10 +103,11 @@ mnemonic="T" id="org.etsi.mts.tdl.tools.menus.TDLMenu"> <command commandId="org.etsi.mts.tdl.tools.rt.ui.commands.reloadValidatorCommand" commandId="org.etsi.mts.tdl.tools.rt.ui.commands.toggleValidatorCommand" icon="icons/ValidateIcon.png" mnemonic="V" id="org.etsi.mts.tdl.tools.rt.ui.menus.reloadValidatorCommand"> style="toggle" id="org.etsi.mts.tdl.tools.rt.ui.menus.toggleValidatorCommand"> </command> </menu> </menuContribution> Loading @@ -129,13 +134,16 @@ id="org.etsi.mts.tdl.tools.rt.ui.toolbars.translateTTCN3Command"> </command> <command commandId="org.etsi.mts.tdl.tools.rt.ui.commands.reloadValidatorCommand" commandId="org.etsi.mts.tdl.tools.rt.ui.commands.toggleValidatorCommand" icon="icons/ValidateIcon.png" tooltip="Reload OCL constraints" id="org.etsi.mts.tdl.tools.rt.ui.toolbars.reloadValidatorCommand"> tooltip="Toggle TDL validation" style="toggle" id="org.etsi.mts.tdl.tools.rt.ui.toolbars.toggleValidatorCommand"> </command> </toolbar> </menuContribution> </extension> <extension point="org.eclipse.ui.startup"> <startup class="org.etsi.mts.tdl.tools.rt.ui.ToggleHandler"/> </extension> </plugin>
plugins/org.etsi.mts.tdl.rt.ui/src/org/etsi/mts/tdl/tools/rt/ui/ToggleHandler.java 0 → 100644 +58 −0 Original line number Diff line number Diff line package org.etsi.mts.tdl.tools.rt.ui; import org.eclipse.core.commands.Command; import org.eclipse.core.commands.State; import org.eclipse.core.runtime.Platform; import org.eclipse.emf.ecore.EValidator; import org.eclipse.ui.IStartup; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.commands.ICommandService; import org.etsi.mts.tdl.Validator; import org.etsi.mts.tdl.tdlPackage; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; public class ToggleHandler implements IStartup { private static final String COMMAND_ID = "org.etsi.mts.tdl.tools.rt.ui.commands.toggleValidatorCommand"; @Override public void earlyStartup() { boolean state = getToggleState(COMMAND_ID); if (state) { enablePlugin(); } else { disablePlugin(); } } private boolean getToggleState(String commandId) { ICommandService commandService = PlatformUI.getWorkbench().getService(ICommandService.class); if (commandService != null) { Command command = commandService.getCommand(commandId); State state = command.getState("org.eclipse.ui.commands.toggleState"); if (state != null) { return (Boolean) state.getValue(); } } return true; // default value } public static void toggleState(boolean currentState) { System.out.println(currentState); if (!currentState) { enablePlugin(); } else { disablePlugin(); } } static void enablePlugin() { Bundle bundle = Platform.getBundle("org.etsi.mts.tdl.model"); BundleContext context = bundle.getBundleContext(); Validator.registerValidator("model/tdl-constraints.ocl", tdlPackage.eINSTANCE, context); } static void disablePlugin() { EValidator.Registry.INSTANCE.remove(tdlPackage.eINSTANCE); } }
plugins/org.etsi.mts.tdl.rt.ui/src/org/etsi/mts/tdl/tools/rt/ui/handlers/ToggleValidation.java 0 → 100644 +21 −0 Original line number Diff line number Diff line package org.etsi.mts.tdl.tools.rt.ui.handlers; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.ui.handlers.HandlerUtil; import org.etsi.mts.tdl.tools.rt.ui.ToggleHandler; public class ToggleValidation extends AbstractHandler { public ToggleValidation() { } @Override public Object execute(ExecutionEvent event) throws ExecutionException { boolean currentState = HandlerUtil.toggleCommandState(event.getCommand()); ToggleHandler.toggleState(currentState); return null; } } No newline at end of file