]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.charts/src/org/simantics/charts/preference/ChartPreferencePage.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.charts / src / org / simantics / charts / preference / ChartPreferencePage.java
1 /*******************************************************************************\r
2  * Copyright (c) 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.charts.preference;\r
13 \r
14 import org.eclipse.jface.preference.BooleanFieldEditor;\r
15 import org.eclipse.jface.preference.FieldEditorPreferencePage;\r
16 import org.eclipse.jface.preference.IntegerFieldEditor;\r
17 import org.eclipse.jface.preference.RadioGroupFieldEditor;\r
18 import org.eclipse.swt.widgets.Composite;\r
19 import org.eclipse.ui.IWorkbench;\r
20 import org.eclipse.ui.IWorkbenchPreferencePage;\r
21 import org.simantics.charts.Activator;\r
22 import org.simantics.trend.configuration.ItemPlacement;\r
23 import org.simantics.trend.configuration.TimeFormat;\r
24 import org.simantics.trend.configuration.LineQuality;\r
25 \r
26 /**\r
27  * @author Toni Kalajainen\r
28  */\r
29 public class ChartPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {\r
30 \r
31     private IntegerFieldEditor fRedrawIntervalEditor = null;\r
32     private IntegerFieldEditor fAutoscaleIntervalEditor = null;\r
33     private BooleanFieldEditor fDrawSamplesEditor = null;\r
34     private RadioGroupFieldEditor fTimeFormatEditor = null;\r
35     private RadioGroupFieldEditor fItemPlacementEditor = null;\r
36     private RadioGroupFieldEditor fValueFormatEditor = null;\r
37     private RadioGroupFieldEditor fLineQualityEditor = null;\r
38     private RadioGroupFieldEditor fTextQualityEditor = null;\r
39 \r
40 \r
41     /**\r
42      * Create the console page.\r
43      */\r
44     public ChartPreferencePage() {\r
45         super(GRID);\r
46 \r
47         //setDescription("Chart prefrences");\r
48         setPreferenceStore(Activator.getDefault().getPreferenceStore());\r
49     }\r
50 \r
51     /* (non-Javadoc)\r
52      * @see org.eclipse.jface.preference.PreferencePage#createControl(Composite)\r
53      */\r
54     @Override\r
55     public void createControl(Composite parent) {\r
56         super.createControl(parent);\r
57     }\r
58 \r
59     /**\r
60      * Create all field editors for this page\r
61      */\r
62     @Override\r
63     public void createFieldEditors() {\r
64         fRedrawIntervalEditor = new IntegerFieldEditor(ChartPreferences.P_REDRAW_INTERVAL, Messages.ChartPreferencePage_redrawIntervalLabel, getFieldEditorParent());\r
65         fRedrawIntervalEditor.setValidRange(1, Integer.MAX_VALUE);\r
66         fRedrawIntervalEditor.setErrorMessage(Messages.ChartPreferencePage_redrawIntervalInvalid);\r
67         addField(fRedrawIntervalEditor);\r
68 \r
69         fAutoscaleIntervalEditor = new IntegerFieldEditor(ChartPreferences.P_AUTOSCALE_INTERVAL, Messages.ChartPreferencePage_autoscaleIntervalLabel, getFieldEditorParent());\r
70         fAutoscaleIntervalEditor.setValidRange(1, Integer.MAX_VALUE);\r
71         fAutoscaleIntervalEditor.setErrorMessage(Messages.ChartPreferencePage_autoscaleIntervalInvalid);\r
72         addField(fAutoscaleIntervalEditor);\r
73 \r
74         fDrawSamplesEditor = new BooleanFieldEditor(ChartPreferences.P_DRAW_SAMPLES, Messages.ChartPreferencePage_drawSamplesLabel, getFieldEditorParent());\r
75         addField(fDrawSamplesEditor);\r
76         \r
77         fTimeFormatEditor = new RadioGroupFieldEditor(\r
78                         ChartPreferences.P_TIMEFORMAT,\r
79                         "Preferred time format",\r
80                         1,\r
81                         new String[][] {\r
82                                 new String[] {"Time", TimeFormat.Time.name()},  \r
83                                 new String[] {"Decimal", TimeFormat.Decimal.name()}     \r
84                         },\r
85                         getFieldEditorParent());\r
86         addField(fTimeFormatEditor);\r
87         \r
88         fValueFormatEditor = new RadioGroupFieldEditor(\r
89                         ChartPreferences.P_VALUEFORMAT,\r
90                         "Preferred value format",\r
91                         1,\r
92                         new String[][] {\r
93                                 new String[] {"Default", "Default"},    \r
94                                 new String[] {"Currency", "Currency"},\r
95                                 new String[] {"Scientific", "Scientific"},      \r
96                                 new String[] {"Engineering", "Engineering"}     \r
97                         },\r
98                         getFieldEditorParent());\r
99         addField(fValueFormatEditor);\r
100 \r
101         fItemPlacementEditor = new RadioGroupFieldEditor(\r
102                         ChartPreferences.P_ITEMPLACEMENT,\r
103                         "Item autoscale placement",\r
104                         1,\r
105                         new String[][] {\r
106                                 new String[] {"Stacked", ItemPlacement.Stacked.name()}, \r
107                                 new String[] {"Overlapping", ItemPlacement.Overlapping.name()}  \r
108                         },\r
109                         getFieldEditorParent());\r
110         addField(fItemPlacementEditor);\r
111 \r
112         fLineQualityEditor = new RadioGroupFieldEditor(\r
113                         ChartPreferences.P_LINEQUALITY,\r
114                         "Line Quality",\r
115                         1,\r
116                         new String[][] {\r
117                                 new String[] {"Normal", LineQuality.Normal.name()},     \r
118                                 new String[] {"Anti-alias", LineQuality.Antialias.name()}       \r
119                         },\r
120                         getFieldEditorParent());\r
121         addField( fLineQualityEditor );\r
122         \r
123         fTextQualityEditor = new RadioGroupFieldEditor(\r
124                         ChartPreferences.P_TEXTQUALITY,\r
125                         "Text Quality",\r
126                         1,\r
127                         new String[][] {\r
128                                 new String[] {"Normal", LineQuality.Normal.name()},     \r
129                                 new String[] {"Anti-alias", LineQuality.Antialias.name()}       \r
130                         },\r
131                         getFieldEditorParent());\r
132         addField( fTextQualityEditor );\r
133         \r
134     }\r
135 \r
136     /**\r
137      * @see IWorkbenchPreferencePage#init(IWorkbench)\r
138      */\r
139     @Override\r
140     public void init(IWorkbench workbench) {\r
141     }\r
142 \r
143 \r
144 }\r