Skip to main content
summaryrefslogtreecommitdiffstats
blob: acb7735f5cef68cccb62fa0e50b3c30721c74440 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
/*******************************************************************************
 *
 * Contributors:
 *     Steven Spungin <steven@spungin.tv> - Bug 431735, Bug 437890, Bug 440469
 ******************************************************************************/

package org.eclipse.e4.tools.emf.editor3x;

import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.ColorFieldEditor;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.preferences.ScopedPreferenceStore;

public class ModelEditorPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
	private BooleanFieldEditor fAutoGeneratedId;
	private BooleanFieldEditor fShowXMIId;
	private ColorFieldEditor fColorValueNotRendered;
	private ColorFieldEditor fColorValueNotVisible;
	private ColorFieldEditor fColorValueNotVisibleAndRendered;
	private BooleanFieldEditor fShowSearch;
	private BooleanFieldEditor fRememberColumns;
	private BooleanFieldEditor fRememberFilters;

	public ModelEditorPreferencePage() {
	}

	public ModelEditorPreferencePage(String title) {
		super(title);
	}

	public ModelEditorPreferencePage(String title, ImageDescriptor image) {
		super(title, image);
	}

	public void init(IWorkbench workbench) {
		setPreferenceStore(new ScopedPreferenceStore(InstanceScope.INSTANCE, "org.eclipse.e4.tools.emf.ui"));
	}

	@Override
	protected Control createContents(Composite parent) {
		Composite result = new Composite(parent, SWT.NONE);
		result.setLayout(new GridLayout());

		{
			Group group = new Group(result, SWT.NONE);
			group.setText("Color");
			group.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false, 2, 1));
			group.setLayout(new GridLayout(2, false));

			{
				fColorValueNotRendered = new ColorFieldEditor("notRenderedColor", "Not rendered color", group);
				fColorValueNotRendered.setPage(this);
				fColorValueNotRendered.setPreferenceStore(getPreferenceStore());
				fColorValueNotRendered.load();
			}

			{
				fColorValueNotVisible = new ColorFieldEditor("notVisibleColor", "Not visible color", group);
				fColorValueNotVisible.setPage(this);
				fColorValueNotVisible.setPreferenceStore(getPreferenceStore());
				fColorValueNotVisible.load();
			}

			{
				fColorValueNotVisibleAndRendered = new ColorFieldEditor("notVisibleAndRenderedColor", "Not visible and not rendered color", group);
				fColorValueNotVisibleAndRendered.setPage(this);
				fColorValueNotVisibleAndRendered.setPreferenceStore(getPreferenceStore());
				fColorValueNotVisibleAndRendered.load();
			}
		}

		{
			Group group = new Group(result, SWT.NONE);
			group.setText("Form Tab");
			group.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false, 2, 1));
			group.setLayout(new GridLayout(2, false));

			{
				Composite container = new Composite(group, SWT.NONE);
				container.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false, 2, 1));
				fAutoGeneratedId = new BooleanFieldEditor("autoCreateElementId", "Autogenerate Element-Id", container);
				fAutoGeneratedId.setPage(this);
				fAutoGeneratedId.setPreferenceStore(getPreferenceStore());
				fAutoGeneratedId.load();
			}

			{
				Composite container = new Composite(group, SWT.NONE);
				container.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false, 2, 1));
				fShowXMIId = new BooleanFieldEditor("showXMIId", "Show XMI:ID", container);
				fShowXMIId.setPage(this);
				fShowXMIId.setPreferenceStore(getPreferenceStore());
				fShowXMIId.load();
			}

			{
				Composite container = new Composite(group, SWT.NONE);
				container.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false, 2, 1));
				fShowSearch = new BooleanFieldEditor("tab-form-search-show", "Searchable tree on form tab\n" + "(forces read only XMI tab)\n" + "(requires reopening model)", container);
				fShowSearch.setPage(this);
				fShowSearch.setPreferenceStore(getPreferenceStore());
				fShowSearch.load();
			}

		}

		{
			Group group = new Group(result, SWT.NONE);
			group.setText("List Tab");
			group.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false, 2, 1));
			group.setLayout(new GridLayout(2, false));

			{
				Composite container = new Composite(group, SWT.NONE);
				container.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false, 2, 1));

				fRememberColumns = new BooleanFieldEditor("list-tab-remember-columns", "Remember column settings when reopening editor  ", container);
				fRememberColumns.setPage(this);
				fRememberColumns.setPreferenceStore(getPreferenceStore());
				fRememberColumns.load();

				fRememberFilters = new BooleanFieldEditor("list-tab-remember-filters", "Remember filter settings when reopening editor", container);
				fRememberFilters.setPage(this);
				fRememberFilters.setPreferenceStore(getPreferenceStore());
				fRememberFilters.load();
			}
		}

		return result;
	}

	@Override
	public boolean performOk() {
		fAutoGeneratedId.store();
		fShowXMIId.store();
		fColorValueNotRendered.store();
		fColorValueNotVisible.store();
		fColorValueNotVisibleAndRendered.store();
		fShowSearch.store();
		fRememberColumns.store();
		fRememberFilters.store();
		return super.performOk();
	}

	@Override
	protected void performDefaults() {
		fAutoGeneratedId.loadDefault();
		fShowXMIId.loadDefault();
		fColorValueNotRendered.loadDefault();
		fColorValueNotVisible.loadDefault();
		fColorValueNotVisibleAndRendered.loadDefault();
		fShowSearch.loadDefault();
		fRememberColumns.loadDefault();
		fRememberFilters.loadDefault();
		super.performDefaults();
	}

	@Override
	public void dispose() {
		super.dispose();
	}
}

Back to the top