Transitivity status now displayed correctly in menu for Zest view
diff --git a/org.eclipse.capra.ui.zest/plugin.xml b/org.eclipse.capra.ui.zest/plugin.xml
index 17df9ad..8cfcc19 100644
--- a/org.eclipse.capra.ui.zest/plugin.xml
+++ b/org.eclipse.capra.ui.zest/plugin.xml
@@ -30,6 +30,10 @@
defaultHandler="org.eclipse.capra.ui.zest.ToggleTransitivityHandler"
id="org.eclipse.capra.ui.zest.toggleTransitivity"
name="Toggle Transitivity">
+ <state
+ class="org.eclipse.jface.commands.ToggleState"
+ id="org.eclipse.ui.commands.toggleState">
+ </state>
</command>
</extension>
@@ -47,7 +51,7 @@
locationURI="menu:org.eclipse.capra.ui.zest.zestView?after=additions">
<command
commandId="org.eclipse.capra.ui.zest.toggleTransitivity"
- label="Toggle Transitivity"
+ label="Show transitive links"
style="toggle">
</command>
</menuContribution>
diff --git a/org.eclipse.capra.ui.zest/src/org/eclipse/capra/ui/zest/ToggleTransitivityHandler.java b/org.eclipse.capra.ui.zest/src/org/eclipse/capra/ui/zest/ToggleTransitivityHandler.java
index d500c61..43369e8 100644
--- a/org.eclipse.capra.ui.zest/src/org/eclipse/capra/ui/zest/ToggleTransitivityHandler.java
+++ b/org.eclipse.capra.ui.zest/src/org/eclipse/capra/ui/zest/ToggleTransitivityHandler.java
@@ -11,9 +11,11 @@
package org.eclipse.capra.ui.zest;
import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.Command;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.eclipse.ui.handlers.HandlerUtil;
import org.osgi.service.prefs.BackingStoreException;
import org.osgi.service.prefs.Preferences;
@@ -29,11 +31,9 @@
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
- if (isTraceViewTransitive())
- setTraceViewTransitive(false);
- else
- setTraceViewTransitive(true);
-
+ Command command = event.getCommand();
+ boolean oldValue = HandlerUtil.toggleCommandState(command);
+ setTraceViewTransitive(!oldValue);
return null;
}
@@ -46,7 +46,7 @@
public static boolean isTraceViewTransitive() {
Preferences transitivity = getPreference();
- return transitivity.get("option", "direct").equals("transitive");
+ return transitivity.get("option", "direct").equals("direct");
}
/**