]> git.uio.no Git - ifi-stolz-refaktor.git/blob - case-study/jdt-after/ui/org/eclipse/jdt/internal/ui/preferences/CodeTemplatePreferencePage.java
Case Study: adding data and statistics
[ifi-stolz-refaktor.git] / case-study / jdt-after / ui / org / eclipse / jdt / internal / ui / preferences / CodeTemplatePreferencePage.java
1 /*******************************************************************************
2  * Copyright (c) 2000, 2011 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  *******************************************************************************/
11 package org.eclipse.jdt.internal.ui.preferences;
12
13 import org.eclipse.swt.widgets.Composite;
14 import org.eclipse.swt.widgets.Control;
15
16 import org.eclipse.core.runtime.IStatus;
17
18 import org.eclipse.core.resources.IProject;
19
20 import org.eclipse.ui.PlatformUI;
21 import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
22
23 import org.eclipse.jdt.internal.ui.IJavaHelpContextIds;
24 import org.eclipse.jdt.internal.ui.JavaPlugin;
25 import org.eclipse.jdt.internal.ui.dialogs.StatusUtil;
26
27 /*
28  * The page to configure the code templates.
29  */
30 public class CodeTemplatePreferencePage extends PropertyAndPreferencePage {
31
32         public static final String PREF_ID= "org.eclipse.jdt.ui.preferences.CodeTemplatePreferencePage"; //$NON-NLS-1$
33         public static final String PROP_ID= "org.eclipse.jdt.ui.propertyPages.CodeTemplatePreferencePage"; //$NON-NLS-1$
34
35         public static final String DATA_SELECT_TEMPLATE= "CodeTemplatePreferencePage.select_template"; //$NON-NLS-1$
36
37         CodeTemplateBlock fCodeTemplateConfigurationBlock;
38
39         public CodeTemplatePreferencePage() {
40                 setPreferenceStore(JavaPlugin.getDefault().getPreferenceStore());
41                 //setDescription(PreferencesMessages.getString("CodeTemplatesPreferencePage.description")); //$NON-NLS-1$
42
43                 // only used when page is shown programatically
44                 setTitle(PreferencesMessages.CodeTemplatesPreferencePage_title);
45         }
46
47         /*
48          * @see PreferencePage#createControl(Composite)
49          */
50         @Override
51         public void createControl(Composite parent) {
52                 IWorkbenchPreferenceContainer container= (IWorkbenchPreferenceContainer) getContainer();
53                 fCodeTemplateConfigurationBlock= new CodeTemplateBlock(getNewStatusChangedListener(), getProject(), container);
54
55                 super.createControl(parent);
56                 PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IJavaHelpContextIds.CODE_TEMPLATES_PREFERENCE_PAGE);
57         }
58
59         /* (non-Javadoc)
60          * @see org.eclipse.jdt.internal.ui.preferences.PropertyAndPreferencePage#createPreferenceContent(org.eclipse.swt.widgets.Composite)
61          */
62         @Override
63         protected Control createPreferenceContent(Composite composite) {
64                 return fCodeTemplateConfigurationBlock.createContents(composite);
65         }
66
67         /* (non-Javadoc)
68          * @see org.eclipse.jdt.internal.ui.preferences.PropertyAndPreferencePage#enableProjectSpecificSettings(boolean)
69          */
70         @Override
71         protected void enableProjectSpecificSettings(boolean useProjectSpecificSettings) {
72                 super.enableProjectSpecificSettings(useProjectSpecificSettings);
73                 if (fCodeTemplateConfigurationBlock != null) {
74                         fCodeTemplateConfigurationBlock.useProjectSpecificSettings(useProjectSpecificSettings);
75                 }
76         }
77
78         /*
79          * @see IPreferencePage#performOk()
80          */
81         @Override
82         public boolean performOk() {
83                 if (fCodeTemplateConfigurationBlock != null) {
84                         return fCodeTemplateConfigurationBlock.performOk(useProjectSettings());
85                 }
86                 return true;
87         }
88
89         /*
90          * @see PreferencePage#performDefaults()
91          */
92         @Override
93         protected void performDefaults() {
94                 super.performDefaults();
95                 if (fCodeTemplateConfigurationBlock != null) {
96                         fCodeTemplateConfigurationBlock.performDefaults();
97                 }
98         }
99
100         /* (non-Javadoc)
101          * @see org.eclipse.jface.dialogs.DialogPage#dispose()
102          */
103         @Override
104         public void dispose() {
105                 if (fCodeTemplateConfigurationBlock != null) {
106                         fCodeTemplateConfigurationBlock.dispose();
107                 }
108                 super.dispose();
109         }
110
111         /* (non-Javadoc)
112          * @see org.eclipse.jdt.internal.ui.wizards.IStatusChangeListener#statusChanged(org.eclipse.core.runtime.IStatus)
113          */
114         public void statusChanged(IStatus status) {
115                 setValid(!status.matches(IStatus.ERROR));
116                 StatusUtil.applyToStatusLine(this, status);
117         }
118
119         /* (non-Javadoc)
120          * @see org.eclipse.jface.preference.IPreferencePage#performCancel()
121          */
122         @Override
123         public boolean performCancel() {
124                 if (fCodeTemplateConfigurationBlock != null) {
125                         fCodeTemplateConfigurationBlock.performCancel();
126                 }
127                 return super.performCancel();
128         }
129
130         /* (non-Javadoc)
131          * @see org.eclipse.jdt.internal.ui.preferences.PropertyAndPreferencePage#hasProjectSpecificOptions(org.eclipse.core.resources.IProject)
132          */
133         @Override
134         protected boolean hasProjectSpecificOptions(IProject project) {
135                 return fCodeTemplateConfigurationBlock.hasProjectSpecificOptions(project);
136         }
137
138         /* (non-Javadoc)
139          * @see org.eclipse.jdt.internal.ui.preferences.PropertyAndPreferencePage#getPreferencePageID()
140          */
141         @Override
142         protected String getPreferencePageID() {
143                 return PREF_ID;
144         }
145
146         /* (non-Javadoc)
147          * @see org.eclipse.jdt.internal.ui.preferences.PropertyAndPreferencePage#getPropertyPageID()
148          */
149         @Override
150         protected String getPropertyPageID() {
151                 return PROP_ID;
152         }
153
154         /*
155          * @see org.eclipse.jface.preference.PreferencePage#applyData(java.lang.Object)
156          */
157         @Override
158         public void applyData(Object data) {
159                 fCodeTemplateConfigurationBlock.generated_7434189675184227133(this, data);
160                 super.applyData(data);
161         }
162 }