1 /*******************************************************************************
\r
2 * Copyright (c) 2011 Association for Decentralized Information Management in
\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
10 * VTT Technical Research Centre of Finland - initial API and implementation
\r
11 *******************************************************************************/
\r
12 package org.simantics.charts.preference;
\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
27 * @author Toni Kalajainen
\r
29 public class ChartPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
\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
42 * Create the console page.
\r
44 public ChartPreferencePage() {
\r
47 //setDescription("Chart prefrences");
\r
48 setPreferenceStore(Activator.getDefault().getPreferenceStore());
\r
52 * @see org.eclipse.jface.preference.PreferencePage#createControl(Composite)
\r
55 public void createControl(Composite parent) {
\r
56 super.createControl(parent);
\r
60 * Create all field editors for this page
\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
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
74 fDrawSamplesEditor = new BooleanFieldEditor(ChartPreferences.P_DRAW_SAMPLES, Messages.ChartPreferencePage_drawSamplesLabel, getFieldEditorParent());
\r
75 addField(fDrawSamplesEditor);
\r
77 fTimeFormatEditor = new RadioGroupFieldEditor(
\r
78 ChartPreferences.P_TIMEFORMAT,
\r
79 "Preferred time format",
\r
82 new String[] {"Time", TimeFormat.Time.name()},
\r
83 new String[] {"Decimal", TimeFormat.Decimal.name()}
\r
85 getFieldEditorParent());
\r
86 addField(fTimeFormatEditor);
\r
88 fValueFormatEditor = new RadioGroupFieldEditor(
\r
89 ChartPreferences.P_VALUEFORMAT,
\r
90 "Preferred value format",
\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
98 getFieldEditorParent());
\r
99 addField(fValueFormatEditor);
\r
101 fItemPlacementEditor = new RadioGroupFieldEditor(
\r
102 ChartPreferences.P_ITEMPLACEMENT,
\r
103 "Item autoscale placement",
\r
106 new String[] {"Stacked", ItemPlacement.Stacked.name()},
\r
107 new String[] {"Overlapping", ItemPlacement.Overlapping.name()}
\r
109 getFieldEditorParent());
\r
110 addField(fItemPlacementEditor);
\r
112 fLineQualityEditor = new RadioGroupFieldEditor(
\r
113 ChartPreferences.P_LINEQUALITY,
\r
117 new String[] {"Normal", LineQuality.Normal.name()},
\r
118 new String[] {"Anti-alias", LineQuality.Antialias.name()}
\r
120 getFieldEditorParent());
\r
121 addField( fLineQualityEditor );
\r
123 fTextQualityEditor = new RadioGroupFieldEditor(
\r
124 ChartPreferences.P_TEXTQUALITY,
\r
128 new String[] {"Normal", LineQuality.Normal.name()},
\r
129 new String[] {"Anti-alias", LineQuality.Antialias.name()}
\r
131 getFieldEditorParent());
\r
132 addField( fTextQualityEditor );
\r
137 * @see IWorkbenchPreferencePage#init(IWorkbench)
\r
140 public void init(IWorkbench workbench) {
\r