]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/typicals/ToggleTypicalRealtimeSync.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / typicals / ToggleTypicalRealtimeSync.java
1 package org.simantics.modeling.ui.typicals;\r
2 \r
3 import java.util.Map;\r
4 \r
5 import org.eclipse.core.commands.AbstractHandler;\r
6 import org.eclipse.core.commands.ExecutionEvent;\r
7 import org.eclipse.core.commands.ExecutionException;\r
8 import org.eclipse.core.runtime.preferences.InstanceScope;\r
9 import org.eclipse.ui.commands.IElementUpdater;\r
10 import org.eclipse.ui.menus.UIElement;\r
11 import org.osgi.service.prefs.BackingStoreException;\r
12 import org.osgi.service.prefs.Preferences;\r
13 import org.simantics.modeling.typicals.TypicalPreferences;\r
14 import org.simantics.utils.ui.ErrorLogger;\r
15 \r
16 \r
17 /**\r
18  * @author Tuukka Lehtonen\r
19  *\r
20  */\r
21 public class ToggleTypicalRealtimeSync extends AbstractHandler implements IElementUpdater {\r
22 \r
23         @Override\r
24     public Object execute(ExecutionEvent event) throws ExecutionException {\r
25         Preferences prefs = InstanceScope.INSTANCE.getNode(TypicalPreferences.P_NODE);\r
26         boolean value = prefs.getBoolean(TypicalPreferences.P_REALTIME_TYPICAL_SYNC_ENABLED, TypicalPreferences.DEFAULT_REALTIME_TYPICAL_SYNC_ENABLED);\r
27         value = !value;\r
28         prefs.putBoolean(TypicalPreferences.P_REALTIME_TYPICAL_SYNC_ENABLED, value);\r
29         try {\r
30             prefs.flush();\r
31         } catch (BackingStoreException e) {\r
32             ErrorLogger.defaultLogError(e);\r
33         }\r
34 \r
35         return null;\r
36     }\r
37 \r
38     @Override\r
39     public void updateElement(UIElement element, @SuppressWarnings("rawtypes") Map parameters) {\r
40         Preferences prefs = InstanceScope.INSTANCE.getNode(TypicalPreferences.P_NODE);\r
41         boolean value = prefs.getBoolean(TypicalPreferences.P_REALTIME_TYPICAL_SYNC_ENABLED, TypicalPreferences.DEFAULT_REALTIME_TYPICAL_SYNC_ENABLED);\r
42         element.setChecked( value );\r
43     }\r
44 \r
45 }\r