]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/preferences/SubscriptionPreferencePage.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / preferences / SubscriptionPreferencePage.java
1 /*******************************************************************************\r
2  * Copyright (c) 2007, 2011 Association for Decentralized Information Management in\r
3  * Industry THTH ry.\r
4  * All rights reserved. This program and the accompanying materials\r
5  * are made available under the terms of the Eclipse Public License v1.0\r
6  * which accompanies this distribution, and is available at\r
7  * http://www.eclipse.org/legal/epl-v10.html\r
8  *\r
9  * Contributors:\r
10  *     VTT Technical Research Centre of Finland - initial API and implementation\r
11  *******************************************************************************/\r
12 package org.simantics.modeling.ui.preferences;\r
13 \r
14 import org.eclipse.core.runtime.preferences.InstanceScope;\r
15 import org.eclipse.jface.layout.GridDataFactory;\r
16 import org.eclipse.jface.layout.GridLayoutFactory;\r
17 import org.eclipse.jface.preference.FieldEditorPreferencePage;\r
18 import org.eclipse.jface.preference.IPreferenceStore;\r
19 import org.eclipse.swt.SWT;\r
20 import org.eclipse.swt.layout.FillLayout;\r
21 import org.eclipse.swt.widgets.Composite;\r
22 import org.eclipse.swt.widgets.Group;\r
23 import org.eclipse.ui.IWorkbench;\r
24 import org.eclipse.ui.IWorkbenchPreferencePage;\r
25 import org.eclipse.ui.preferences.ScopedPreferenceStore;\r
26 import org.simantics.modeling.preferences.SubscriptionPreferences;\r
27 import org.simantics.ui.workbench.preferences.NumberFieldEditor;\r
28 \r
29 public class SubscriptionPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {\r
30 \r
31     private NumberFieldEditor fSubscriptionDeadbandEditor = null;\r
32     private NumberFieldEditor fSubscriptionIntervalEditor = null;\r
33     private NumberFieldEditor fSubscriptionGainEditor = null;\r
34     private NumberFieldEditor fSubscriptionBiasEditor = null;\r
35                 \r
36     /**\r
37      * Create the console page.\r
38      */\r
39     public SubscriptionPreferencePage() {\r
40         super(GRID);\r
41 \r
42         //setDescription("Subscription preferences");\r
43         IPreferenceStore pf = new ScopedPreferenceStore(InstanceScope.INSTANCE, SubscriptionPreferences.P_NODE);\r
44         setPreferenceStore( pf );\r
45     }\r
46 \r
47     /* (non-Javadoc)\r
48      * @see org.eclipse.jface.preference.PreferencePage#createControl(Composite)\r
49      */\r
50     @Override\r
51     public void createControl(Composite parent) {\r
52         super.createControl(parent);\r
53     }\r
54 \r
55     /**\r
56      * Create all field editors for this page\r
57      */\r
58     @Override\r
59     public void createFieldEditors() {\r
60         Group newItemGroup = new Group(getFieldEditorParent(), SWT.NONE);\r
61         newItemGroup.setText("Default settings for new subscription items");\r
62         GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(newItemGroup);\r
63         FillLayout fl = new FillLayout();\r
64         fl.marginWidth = 5;\r
65         fl.marginHeight = 5;\r
66         newItemGroup.setLayout(fl);\r
67         Composite newItemSettings = new Composite(newItemGroup, SWT.NONE);\r
68         GridLayoutFactory.fillDefaults().numColumns(2).applyTo(newItemSettings);\r
69 \r
70         fSubscriptionIntervalEditor = new NumberFieldEditor(SubscriptionPreferences.P_SUBSCRIPTION_INTERVAL, "Sampling Interval (s)", newItemSettings);\r
71         fSubscriptionIntervalEditor.setValidRange(0, Double.MAX_VALUE);\r
72         fSubscriptionIntervalEditor.setErrorMessage("Default sampling interval value is invalid");\r
73         addField(fSubscriptionIntervalEditor);\r
74 \r
75         fSubscriptionDeadbandEditor = new NumberFieldEditor(SubscriptionPreferences.P_SUBSCRIPTION_DEADBAND, "Deadband", newItemSettings);\r
76         fSubscriptionDeadbandEditor.setValidRange(0., Double.MAX_VALUE);\r
77         fSubscriptionDeadbandEditor.setErrorMessage("Default deadband value is invalid");\r
78         addField(fSubscriptionDeadbandEditor);\r
79 \r
80         fSubscriptionGainEditor = new NumberFieldEditor(SubscriptionPreferences.P_SUBSCRIPTION_GAIN, "Gain", newItemSettings);\r
81         addField(fSubscriptionGainEditor);\r
82 \r
83         fSubscriptionBiasEditor = new NumberFieldEditor(SubscriptionPreferences.P_SUBSCRIPTION_BIAS, "Bias", newItemSettings);\r
84         addField(fSubscriptionBiasEditor);\r
85     }\r
86 \r
87     /**\r
88      * @see IWorkbenchPreferencePage#init(IWorkbench)\r
89      */\r
90     @Override\r
91     public void init(IWorkbench workbench) {\r
92     }\r
93 \r
94 \r
95 }\r