Link Here
|
48 |
}; |
48 |
}; |
49 |
|
49 |
|
50 |
|
50 |
|
51 |
private final static class Controller implements Observer { |
51 |
private final static class AndController implements Observer { |
52 |
|
52 |
|
53 |
private final Collection fMasters; |
53 |
private final Collection fMasters; |
54 |
private final Collection fSlaves; |
54 |
private final Collection fSlaves; |
55 |
|
55 |
|
56 |
public Controller(Collection masters, Collection slaves) { |
56 |
public AndController(Collection masters, Collection slaves) { |
57 |
fMasters= masters; |
57 |
fMasters= masters; |
58 |
fSlaves= slaves; |
58 |
fSlaves= slaves; |
59 |
for (final Iterator iter= fMasters.iterator(); iter.hasNext();) { |
59 |
for (final Iterator iter= fMasters.iterator(); iter.hasNext();) { |
Link Here
|
80 |
} |
80 |
} |
81 |
} |
81 |
} |
82 |
|
82 |
|
|
|
83 |
private final static class OrController implements Observer { |
84 |
|
85 |
private final Collection fMasters; |
86 |
private final Collection fSlaves; |
87 |
|
88 |
public OrController(Collection masters, Collection slaves) { |
89 |
fMasters= masters; |
90 |
fSlaves= slaves; |
91 |
for (final Iterator iter= fMasters.iterator(); iter.hasNext();) { |
92 |
((CheckboxPreference)iter.next()).addObserver(this); |
93 |
} |
94 |
update(null, null); |
95 |
} |
96 |
|
97 |
public void update(Observable o, Object arg) { |
98 |
boolean enabled= false; |
99 |
|
100 |
for (final Iterator iter= fMasters.iterator(); iter.hasNext();) { |
101 |
enabled |= ((CheckboxPreference)iter.next()).getChecked(); |
102 |
} |
103 |
|
104 |
for (final Iterator iter = fSlaves.iterator(); iter.hasNext();) { |
105 |
final Object obj= iter.next(); |
106 |
if (obj instanceof Preference) { |
107 |
((Preference)obj).setEnabled(enabled); |
108 |
} else if (obj instanceof Control) { |
109 |
((Group)obj).setEnabled(enabled); |
110 |
} |
111 |
} |
112 |
} |
113 |
} |
83 |
|
114 |
|
84 |
private final String PREVIEW= |
115 |
private final String PREVIEW= |
85 |
createPreviewHeader("An example for comment formatting. This example is meant to illustrate the various possibilities offered by <i>Eclipse</i> in order to format comments.") + //$NON-NLS-1$ |
116 |
createPreviewHeader("An example for comment formatting. This example is meant to illustrate the various possibilities offered by <i>Eclipse</i> in order to format comments.") + //$NON-NLS-1$ |
Link Here
|
93 |
" * These possibilities include:\n" + //$NON-NLS-1$ |
124 |
" * These possibilities include:\n" + //$NON-NLS-1$ |
94 |
" * <ul><li>Formatting of header comments.</li><li>Formatting of Javadoc tags</li></ul>\n" + //$NON-NLS-1$ |
125 |
" * <ul><li>Formatting of header comments.</li><li>Formatting of Javadoc tags</li></ul>\n" + //$NON-NLS-1$ |
95 |
" */\n" + //$NON-NLS-1$ |
126 |
" */\n" + //$NON-NLS-1$ |
96 |
" int bar();" + //$NON-NLS-1$ |
127 |
" int bar();\n" + //$NON-NLS-1$ |
|
|
128 |
" /*\n" + //$NON-NLS-1$ |
129 |
" *\n" + //$NON-NLS-1$ |
130 |
" * These possibilities include:\n" + //$NON-NLS-1$ |
131 |
" * <ul><li>Formatting of header comments.</li><li>Formatting of Javadoc tags</li></ul>\n" + //$NON-NLS-1$ |
132 |
" */\n" + //$NON-NLS-1$ |
133 |
" int bar2();" + //$NON-NLS-1$ |
134 |
" // This is a long comment that should be split in multiple line comments in case the line comment formatting is enabled\n" + //$NON-NLS-1$ |
135 |
" int foo2();" + //$NON-NLS-1$ |
97 |
" /**\n" + //$NON-NLS-1$ |
136 |
" /**\n" + //$NON-NLS-1$ |
98 |
" * The following is some sample code which illustrates source formatting within javadoc comments:\n" + //$NON-NLS-1$ |
137 |
" * The following is some sample code which illustrates source formatting within javadoc comments:\n" + //$NON-NLS-1$ |
99 |
" * <pre>public class Example {final int a= 1;final boolean b= true;}</pre>\n" + //$NON-NLS-1$ |
138 |
" * <pre>public class Example {final int a= 1;final boolean b= true;}</pre>\n" + //$NON-NLS-1$ |
Link Here
|
116 |
|
155 |
|
117 |
// global group |
156 |
// global group |
118 |
final Group globalGroup= createGroup(numColumns, composite, FormatterMessages.CommentsTabPage_group1_title); |
157 |
final Group globalGroup= createGroup(numColumns, composite, FormatterMessages.CommentsTabPage_group1_title); |
119 |
final CheckboxPreference global= createPrefTrueFalse(globalGroup, numColumns, FormatterMessages.CommentsTabPage_enable_comment_formatting, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT); |
158 |
final CheckboxPreference javadoc= createPrefTrueFalse(globalGroup, numColumns, FormatterMessages.commentsTabPage_enable_javadoc_comment_formatting, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_JAVADOC_COMMENT); |
120 |
final CheckboxPreference header= createPrefTrueFalse(globalGroup, numColumns, FormatterMessages.CommentsTabPage_format_header, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_HEADER); |
159 |
final CheckboxPreference blockComment= createPrefTrueFalse(globalGroup, numColumns, FormatterMessages.CommentsTabPage_enable_block_comment_formatting, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_BLOCK_COMMENT); |
121 |
final CheckboxPreference html= createPrefTrueFalse(globalGroup, numColumns, FormatterMessages.CommentsTabPage_format_html, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_HTML); |
160 |
createPrefTrueFalse(globalGroup, numColumns, FormatterMessages.CommentsTabPage_enable_line_comment_formatting, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_LINE_COMMENT); |
122 |
final CheckboxPreference code= createPrefTrueFalse(globalGroup, numColumns, FormatterMessages.CommentsTabPage_format_code_snippets, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_SOURCE); |
|
|
123 |
|
161 |
|
124 |
// blank lines group |
162 |
// javadoc comment formatting settings |
125 |
final Group settingsGroup= createGroup(numColumns, composite, FormatterMessages.CommentsTabPage_group2_title); |
163 |
final Group settingsGroup= createGroup(numColumns, composite, FormatterMessages.CommentsTabPage_group2_title); |
126 |
final CheckboxPreference blankComments= createPrefTrueFalse(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_clear_blank_lines, DefaultCodeFormatterConstants.FORMATTER_COMMENT_CLEAR_BLANK_LINES); |
164 |
final CheckboxPreference header= createPrefTrueFalse(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_format_header, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_HEADER); |
|
|
165 |
final CheckboxPreference html= createPrefTrueFalse(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_format_html, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_HTML); |
166 |
final CheckboxPreference code= createPrefTrueFalse(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_format_code_snippets, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_SOURCE); |
127 |
final CheckboxPreference blankJavadoc= createPrefInsert(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_blank_line_before_javadoc_tags, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INSERT_EMPTY_LINE_BEFORE_ROOT_TAGS); |
167 |
final CheckboxPreference blankJavadoc= createPrefInsert(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_blank_line_before_javadoc_tags, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INSERT_EMPTY_LINE_BEFORE_ROOT_TAGS); |
128 |
final CheckboxPreference indentJavadoc= createPrefTrueFalse(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_indent_javadoc_tags, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INDENT_ROOT_TAGS); |
168 |
final CheckboxPreference indentJavadoc= createPrefTrueFalse(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_indent_javadoc_tags, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INDENT_ROOT_TAGS); |
129 |
|
169 |
|
|
|
170 |
// javadoc and block comment settings |
171 |
final Group javadocAndBlockSettingsGroup= createGroup(numColumns, composite, FormatterMessages.CommentsTabPage_group4_title); |
172 |
final CheckboxPreference blankLines= createPrefTrueFalse(javadocAndBlockSettingsGroup, numColumns, FormatterMessages.CommentsTabPage_clear_blank_lines, DefaultCodeFormatterConstants.FORMATTER_COMMENT_CLEAR_BLANK_LINES); |
173 |
|
130 |
final CheckboxPreference indentDesc= createCheckboxPref(settingsGroup, numColumns , FormatterMessages.CommentsTabPage_indent_description_after_param, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INDENT_PARAMETER_DESCRIPTION, FALSE_TRUE); |
174 |
final CheckboxPreference indentDesc= createCheckboxPref(settingsGroup, numColumns , FormatterMessages.CommentsTabPage_indent_description_after_param, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INDENT_PARAMETER_DESCRIPTION, FALSE_TRUE); |
131 |
((GridData)indentDesc.getControl().getLayoutData()).horizontalIndent= fPixelConverter.convertWidthInCharsToPixels(4); |
175 |
((GridData)indentDesc.getControl().getLayoutData()).horizontalIndent= fPixelConverter.convertWidthInCharsToPixels(4); |
132 |
final CheckboxPreference nlParam= createPrefInsert(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_new_line_after_param_tags, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INSERT_NEW_LINE_FOR_PARAMETER); |
176 |
final CheckboxPreference nlParam= createPrefInsert(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_new_line_after_param_tags, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INSERT_NEW_LINE_FOR_PARAMETER); |
Link Here
|
137 |
Collection masters, slaves; |
181 |
Collection masters, slaves; |
138 |
|
182 |
|
139 |
masters= new ArrayList(); |
183 |
masters= new ArrayList(); |
140 |
masters.add(global); |
184 |
masters.add(javadoc); |
141 |
|
185 |
|
142 |
slaves= new ArrayList(); |
186 |
slaves= new ArrayList(); |
143 |
slaves.add(settingsGroup); |
187 |
slaves.add(settingsGroup); |
144 |
slaves.add(header); |
188 |
slaves.add(header); |
145 |
slaves.add(html); |
189 |
slaves.add(html); |
146 |
slaves.add(code); |
190 |
slaves.add(code); |
147 |
slaves.add(blankComments); |
|
|
148 |
slaves.add(blankJavadoc); |
191 |
slaves.add(blankJavadoc); |
149 |
slaves.add(indentJavadoc); |
192 |
slaves.add(indentJavadoc); |
150 |
slaves.add(nlParam); |
193 |
slaves.add(nlParam); |
151 |
slaves.add(lineWidth); |
194 |
slaves.add(lineWidth); |
152 |
|
195 |
|
153 |
new Controller(masters, slaves); |
196 |
new AndController(masters, slaves); |
154 |
|
197 |
|
155 |
masters= new ArrayList(); |
198 |
masters= new ArrayList(); |
156 |
masters.add(global); |
199 |
masters.add(javadoc); |
157 |
masters.add(indentJavadoc); |
200 |
masters.add(indentJavadoc); |
158 |
|
201 |
|
159 |
slaves= new ArrayList(); |
202 |
slaves= new ArrayList(); |
160 |
slaves.add(indentDesc); |
203 |
slaves.add(indentDesc); |
161 |
|
204 |
|
162 |
new Controller(masters, slaves); |
205 |
new AndController(masters, slaves); |
|
|
206 |
|
207 |
masters= new ArrayList(); |
208 |
masters.add(javadoc); |
209 |
masters.add(blockComment); |
210 |
|
211 |
slaves= new ArrayList(); |
212 |
slaves.add(blankLines); |
213 |
|
214 |
new OrController(masters, slaves); |
163 |
} |
215 |
} |
164 |
|
216 |
|
165 |
protected void initializePage() { |
217 |
protected void initializePage() { |