-package org.simantics.structural.ui.menuContributions;\r
-\r
-import org.eclipse.jface.action.Action;\r
-import org.eclipse.jface.action.IAction;\r
-import org.eclipse.jface.preference.IPreferenceStore;\r
-import org.eclipse.jface.util.IPropertyChangeListener;\r
-import org.eclipse.jface.util.PropertyChangeEvent;\r
-\r
-/**\r
- * Clients may extend, but must remember to invoke\r
- * @author Tuukka Lehtonen\r
- */\r
-public class PreferenceCheckBoxAction extends Action implements IPropertyChangeListener {\r
-\r
- protected String preferenceKey;\r
- protected IPreferenceStore preferenceStore;\r
-\r
- /**\r
- * Constructs an action to toggle console auto activation preferences\r
- * @param preferenceKey \r
- */\r
- public PreferenceCheckBoxAction(String name, String preferenceKey, IPreferenceStore preferenceStore) {\r
- super(name, IAction.AS_CHECK_BOX);\r
- this.preferenceKey = preferenceKey;\r
- this.preferenceStore = preferenceStore;\r
- setToolTipText(name);\r
- getPreferenceStore().addPropertyChangeListener(this);\r
- update();\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)\r
- */\r
- @Override\r
- public void propertyChange(PropertyChangeEvent event) {\r
- String property = event.getProperty();\r
- if (property.equals(getKey())) {\r
- update();\r
- }\r
- }\r
-\r
- protected String getKey() {\r
- return preferenceKey;\r
- }\r
-\r
- private void update() {\r
- IPreferenceStore store = getPreferenceStore();\r
- if (store.getBoolean(getKey())) {\r
- // on\r
- setChecked(true);\r
- } else {\r
- // off\r
- setChecked(false);\r
- }\r
- }\r
-\r
- /**\r
- * @return\r
- */\r
- protected IPreferenceStore getPreferenceStore() {\r
- return preferenceStore;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.jface.action.Action#run()\r
- */\r
- @Override\r
- public void run() {\r
- IPreferenceStore store = getPreferenceStore();\r
- boolean show = isChecked();\r
- store.removePropertyChangeListener(this);\r
- store.setValue(getKey(), show);\r
- store.addPropertyChangeListener(this);\r
- }\r
-\r
- /**\r
- * Must be called to dispose this action.\r
- */\r
- public void dispose() {\r
- getPreferenceStore().removePropertyChangeListener(this);\r
- }\r
-\r
-}\r
+package org.simantics.structural.ui.menuContributions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+
+/**
+ * Clients may extend, but must remember to invoke
+ * @author Tuukka Lehtonen
+ */
+public class PreferenceCheckBoxAction extends Action implements IPropertyChangeListener {
+
+ protected String preferenceKey;
+ protected IPreferenceStore preferenceStore;
+
+ /**
+ * Constructs an action to toggle console auto activation preferences
+ * @param preferenceKey
+ */
+ public PreferenceCheckBoxAction(String name, String preferenceKey, IPreferenceStore preferenceStore) {
+ super(name, IAction.AS_CHECK_BOX);
+ this.preferenceKey = preferenceKey;
+ this.preferenceStore = preferenceStore;
+ setToolTipText(name);
+ getPreferenceStore().addPropertyChangeListener(this);
+ update();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
+ */
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
+ String property = event.getProperty();
+ if (property.equals(getKey())) {
+ update();
+ }
+ }
+
+ protected String getKey() {
+ return preferenceKey;
+ }
+
+ private void update() {
+ IPreferenceStore store = getPreferenceStore();
+ if (store.getBoolean(getKey())) {
+ // on
+ setChecked(true);
+ } else {
+ // off
+ setChecked(false);
+ }
+ }
+
+ /**
+ * @return
+ */
+ protected IPreferenceStore getPreferenceStore() {
+ return preferenceStore;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.Action#run()
+ */
+ @Override
+ public void run() {
+ IPreferenceStore store = getPreferenceStore();
+ boolean show = isChecked();
+ store.removePropertyChangeListener(this);
+ store.setValue(getKey(), show);
+ store.addPropertyChangeListener(this);
+ }
+
+ /**
+ * Must be called to dispose this action.
+ */
+ public void dispose() {
+ getPreferenceStore().removePropertyChangeListener(this);
+ }
+
+}