2 * Copyright 2000-2009 JetBrains s.r.o.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package com
.intellij
.application
.options
;
18 import com
.intellij
.ide
.highlighter
.JavaHighlighterFactory
;
19 import com
.intellij
.openapi
.application
.ApplicationBundle
;
20 import com
.intellij
.openapi
.editor
.colors
.EditorColorsScheme
;
21 import com
.intellij
.openapi
.editor
.highlighter
.EditorHighlighter
;
22 import com
.intellij
.openapi
.fileTypes
.FileType
;
23 import com
.intellij
.openapi
.fileTypes
.StdFileTypes
;
24 import com
.intellij
.pom
.java
.LanguageLevel
;
25 import com
.intellij
.psi
.codeStyle
.CodeStyleSettings
;
26 import com
.intellij
.psi
.PsiFile
;
27 import com
.intellij
.psi
.util
.PsiUtil
;
28 import com
.intellij
.ui
.IdeBorderFactory
;
29 import com
.intellij
.ui
.OptionGroup
;
30 import org
.jetbrains
.annotations
.NonNls
;
31 import org
.jetbrains
.annotations
.NotNull
;
36 public class CodeStyleIndentAndBracesPanel
extends CodeStyleAbstractPanel
{
37 private static final String
[] BRACE_PLACEMENT_OPTIONS
= new String
[]{
38 ApplicationBundle
.message("combobox.brace.placement.end.of.line"),
39 ApplicationBundle
.message("combobox.brace.placement.next.line.if.wrapped"),
40 ApplicationBundle
.message("combobox.brace.placement.next.line"),
41 ApplicationBundle
.message("combobox.brace.placement.next.line.shifted"),
42 ApplicationBundle
.message("combobox.brace.placement.next.line.shifted2")
45 private static final int[] BRACE_PLACEMENT_VALUES
= new int[] {
46 CodeStyleSettings
.END_OF_LINE
,
47 CodeStyleSettings
.NEXT_LINE_IF_WRAPPED
,
48 CodeStyleSettings
.NEXT_LINE
,
49 CodeStyleSettings
.NEXT_LINE_SHIFTED
,
50 CodeStyleSettings
.NEXT_LINE_SHIFTED2
53 private static final String
[] BRACE_FORCE_OPTIONS
= new String
[]{
54 ApplicationBundle
.message("combobox.force.braces.do.not.force"),
55 ApplicationBundle
.message("combobox.force.braces.when.multiline"),
56 ApplicationBundle
.message("combobox.force.braces.always")
59 private static final int[] BRACE_FORCE_VALUES
= new int[]{
60 CodeStyleSettings
.DO_NOT_FORCE
,
61 CodeStyleSettings
.FORCE_BRACES_IF_MULTILINE
,
62 CodeStyleSettings
.FORCE_BRACES_ALWAYS
65 private JComboBox myClassDeclarationCombo
= new JComboBox();
66 private JComboBox myMethodDeclarationCombo
= new JComboBox();
67 private JComboBox myOtherCombo
= new JComboBox();
69 private JCheckBox myCbElseOnNewline
;
70 private JCheckBox myCbWhileOnNewline
;
71 private JCheckBox myCbCatchOnNewline
;
72 private JCheckBox myCbFinallyOnNewline
;
74 private JCheckBox myCbSpecialElseIfTreatment
;
75 private JCheckBox myCbIndentCaseFromSwitch
;
78 private JComboBox myIfForceCombo
;
79 private JComboBox myForForceCombo
;
80 private JComboBox myWhileForceCombo
;
81 private JComboBox myDoWhileForceCombo
;
83 private JCheckBox myAlignDeclarationParameters
;
84 private JCheckBox myAlignCallParameters
;
85 private JCheckBox myAlignExtendsList
;
86 private JCheckBox myAlignForStatement
;
87 private JCheckBox myAlignThrowsList
;
88 private JCheckBox myAlignParenthesizedExpression
;
89 private JCheckBox myAlignBinaryExpression
;
90 private JCheckBox myAlignTernaryExpression
;
91 private JCheckBox myAlignAssignment
;
92 private JCheckBox myAlignArrayInitializerExpression
;
93 private JCheckBox myKeepLineBreaks
;
94 private JCheckBox myKeepCommentAtFirstColumn
;
95 private JCheckBox myKeepMethodsInOneLine
;
96 private JCheckBox myKeepSimpleBlocksInOneLine
;
97 private JCheckBox myKeepControlStatementInOneLine
;
99 private final JPanel myPanel
= new JPanel(new GridBagLayout());
101 public CodeStyleIndentAndBracesPanel(CodeStyleSettings settings
) {
104 myPanel
.add(createKeepWhenReformatingPanel(),
105 new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints
.NORTH
, GridBagConstraints
.HORIZONTAL
,
106 new Insets(0, 4, 0, 4), 0, 0));
108 myPanel
.add(createBracesPanel(),
109 new GridBagConstraints(0, 1, 1, 1, 0, 0, GridBagConstraints
.NORTH
, GridBagConstraints
.HORIZONTAL
,
110 new Insets(0, 4, 0, 4), 0, 0));
112 myPanel
.add(createAlignmentsPanel(),
113 new GridBagConstraints(1, 0, 1, 2, 0, 0, GridBagConstraints
.NORTH
, GridBagConstraints
.BOTH
,
114 new Insets(0, 4, 0, 4), 0, 0));
116 myPanel
.add(createPlaceOnNewLinePanel(),
117 new GridBagConstraints(1, 2, 1, 1, 0, 0, GridBagConstraints
.NORTH
, GridBagConstraints
.HORIZONTAL
,
118 new Insets(0, 4, 0, 4), 0, 0));
119 myPanel
.add(createForceBracesPanel(),
120 new GridBagConstraints(0, 2, 1, 1, 0, 0, GridBagConstraints
.NORTH
, GridBagConstraints
.BOTH
,
121 new Insets(0, 4, 0, 4), 0, 0));
123 myPanel
.add(new JPanel() {
124 public Dimension
getPreferredSize() {
125 return new Dimension(1, 1);
127 }, new GridBagConstraints(0, 3, 2, 1, 0, 0, GridBagConstraints
.NORTH
, GridBagConstraints
.NONE
,
128 new Insets(0, 0, 0, 0), 0, 0));
130 final JPanel previewPanel
= createPreviewPanel();
131 myPanel
.add(previewPanel
,
132 new GridBagConstraints(2, 0, 1, 4, 1, 1, GridBagConstraints
.NORTH
, GridBagConstraints
.BOTH
,
133 new Insets(0, 0, 0, 4), 0, 0));
134 installPreviewPanel(previewPanel
);
135 addPanelToWatch(myPanel
);
138 private Component
createKeepWhenReformatingPanel() {
139 OptionGroup optionGroup
= new OptionGroup(ApplicationBundle
.message("title.keep.when.reformatting"));
141 myKeepLineBreaks
= createCheckBox(ApplicationBundle
.message("checkbox.keep.when.reformatting.line.breaks"));
142 optionGroup
.add(myKeepLineBreaks
);
144 myKeepCommentAtFirstColumn
= createCheckBox(ApplicationBundle
.message("checkbox.keep.when.reformatting.comment.at.first.column"));
145 optionGroup
.add(myKeepCommentAtFirstColumn
);
147 myKeepMethodsInOneLine
= createCheckBox(ApplicationBundle
.message("checkbox.keep.when.reformatting.simple.methods.in.one.line"));
148 optionGroup
.add(myKeepMethodsInOneLine
);
150 myKeepSimpleBlocksInOneLine
= createCheckBox(ApplicationBundle
.message("checkbox.keep.when.reformatting.simple.blocks.in.one.line"));
151 optionGroup
.add(myKeepSimpleBlocksInOneLine
);
153 myKeepControlStatementInOneLine
= createCheckBox(ApplicationBundle
.message("checkbox.keep.when.reformatting.control.statement.in.one.line"));
154 optionGroup
.add(myKeepControlStatementInOneLine
);
157 return optionGroup
.createPanel();
161 private JPanel
createBracesPanel() {
162 OptionGroup optionGroup
= new OptionGroup(ApplicationBundle
.message("title.braces.placement"));
164 myClassDeclarationCombo
= createBraceStyleCombo();
165 optionGroup
.add(new JLabel(ApplicationBundle
.message("combobox.brace.placement.class.declaration")), myClassDeclarationCombo
);
167 myMethodDeclarationCombo
= createBraceStyleCombo();
168 optionGroup
.add(new JLabel(ApplicationBundle
.message("combobox.brace.placement.method.declaration")), myMethodDeclarationCombo
);
170 myOtherCombo
= createBraceStyleCombo();
171 optionGroup
.add(new JLabel(ApplicationBundle
.message("combobox.brace.placement.other")), myOtherCombo
);
173 myCbSpecialElseIfTreatment
= createCheckBox(ApplicationBundle
.message("checkbox.brace.special.else.if.treatment"));
174 optionGroup
.add(myCbSpecialElseIfTreatment
);
176 myCbIndentCaseFromSwitch
= createCheckBox(ApplicationBundle
.message("checkbox.brace.indent.case.from.switch"));
177 optionGroup
.add(myCbIndentCaseFromSwitch
);
179 return optionGroup
.createPanel();
182 private JPanel
createForceBracesPanel() {
183 OptionGroup optionGroup
= new OptionGroup(ApplicationBundle
.message("title.force.braces"));
185 myIfForceCombo
= createForceBracesCombo();
186 optionGroup
.add(new JLabel(ApplicationBundle
.message("combobox.force.braces.if")), myIfForceCombo
);
188 myForForceCombo
= createForceBracesCombo();
189 optionGroup
.add(new JLabel(ApplicationBundle
.message("combobox.force.braces.for")), myForForceCombo
);
191 myWhileForceCombo
= createForceBracesCombo();
192 optionGroup
.add(new JLabel(ApplicationBundle
.message("combobox.force.braces.while")), myWhileForceCombo
);
194 myDoWhileForceCombo
= createForceBracesCombo();
195 optionGroup
.add(new JLabel(ApplicationBundle
.message("combobox.force.braces.do.while")), myDoWhileForceCombo
);
197 return optionGroup
.createPanel();
200 private JPanel
createAlignmentsPanel() {
201 OptionGroup optionGroup
= new OptionGroup(ApplicationBundle
.message("title.align.when.multiline"));
203 myAlignDeclarationParameters
= createCheckBox(ApplicationBundle
.message("checkbox.align.multiline.method.parameters"));
204 optionGroup
.add(myAlignDeclarationParameters
);
206 myAlignCallParameters
= createCheckBox(ApplicationBundle
.message("checkbox.align.multiline.call.arguments"));
207 optionGroup
.add(myAlignCallParameters
);
209 myAlignExtendsList
= createCheckBox(ApplicationBundle
.message("checkbox.align.multiline.extends.list"));
210 optionGroup
.add(myAlignExtendsList
);
212 myAlignThrowsList
= createCheckBox(ApplicationBundle
.message("checkbox.align.multiline.throws.list"));
213 optionGroup
.add(myAlignThrowsList
);
215 myAlignParenthesizedExpression
= createCheckBox(ApplicationBundle
.message("checkbox.align.multiline.parenthesized.expression"));
216 optionGroup
.add(myAlignParenthesizedExpression
);
218 myAlignBinaryExpression
= createCheckBox(ApplicationBundle
.message("checkbox.align.multiline.binary.operation"));
219 optionGroup
.add(myAlignBinaryExpression
);
221 myAlignTernaryExpression
= createCheckBox(ApplicationBundle
.message("checkbox.align.multiline.ternary.operation"));
222 optionGroup
.add(myAlignTernaryExpression
);
224 myAlignAssignment
= createCheckBox(ApplicationBundle
.message("checkbox.align.multiline.assignments"));
225 optionGroup
.add(myAlignAssignment
);
227 myAlignForStatement
= createCheckBox(ApplicationBundle
.message("checkbox.align.multiline.for.statement"));
228 optionGroup
.add(myAlignForStatement
);
230 myAlignArrayInitializerExpression
= createCheckBox(ApplicationBundle
.message("checkbox.align.multiline.array.initializer"));
231 optionGroup
.add(myAlignArrayInitializerExpression
);
233 return optionGroup
.createPanel();
236 private JPanel
createPlaceOnNewLinePanel() {
237 OptionGroup optionGroup
= new OptionGroup(ApplicationBundle
.message("title.place.on.new.line"));
239 myCbElseOnNewline
= createCheckBox(ApplicationBundle
.message("checkbox.place.else.on.new.line"));
240 optionGroup
.add(myCbElseOnNewline
);
242 myCbWhileOnNewline
= createCheckBox(ApplicationBundle
.message("checkbox.place.while.on.new.line"));
243 optionGroup
.add(myCbWhileOnNewline
);
245 myCbCatchOnNewline
= createCheckBox(ApplicationBundle
.message("checkbox.place.catch.on.new.line"));
246 optionGroup
.add(myCbCatchOnNewline
);
248 myCbFinallyOnNewline
= createCheckBox(ApplicationBundle
.message("checkbox.place.finally.on.new.line"));
249 optionGroup
.add(myCbFinallyOnNewline
);
251 return optionGroup
.createPanel();
254 private static JCheckBox
createCheckBox(String text
) {
255 return new JCheckBox(text
);
258 private static JComboBox
createForceBracesCombo() {
259 return new JComboBox(BRACE_FORCE_OPTIONS
);
262 private static void setForceBracesComboValue(JComboBox comboBox
, int value
) {
263 for (int i
= 0; i
< BRACE_FORCE_VALUES
.length
; i
++) {
264 int forceValue
= BRACE_FORCE_VALUES
[i
];
265 if (forceValue
== value
) {
266 comboBox
.setSelectedItem(BRACE_FORCE_OPTIONS
[i
]);
271 private static int getForceBracesValue(JComboBox comboBox
) {
272 String selected
= (String
)comboBox
.getSelectedItem();
273 for (int i
= 0; i
< BRACE_FORCE_OPTIONS
.length
; i
++) {
274 String s
= BRACE_FORCE_OPTIONS
[i
];
275 if (s
.equals(selected
)) {
276 return BRACE_FORCE_VALUES
[i
];
282 private static JComboBox
createBraceStyleCombo() {
283 return new JComboBox(BRACE_PLACEMENT_OPTIONS
);
286 private static void setBraceStyleComboValue(JComboBox comboBox
, int value
) {
287 for (int i
= 0; i
< BRACE_PLACEMENT_OPTIONS
.length
; i
++) {
288 if (BRACE_PLACEMENT_VALUES
[i
] == value
) {
289 comboBox
.setSelectedItem(BRACE_PLACEMENT_OPTIONS
[i
]);
295 private static int getBraceComboValue(JComboBox comboBox
) {
296 Object item
= comboBox
.getSelectedItem();
297 for (int i
= 1; i
< BRACE_PLACEMENT_OPTIONS
.length
; i
++) {
298 if (BRACE_PLACEMENT_OPTIONS
[i
].equals(item
)) {
299 return BRACE_PLACEMENT_VALUES
[i
];
302 return BRACE_PLACEMENT_VALUES
[0];
305 private static JPanel
createPreviewPanel() {
306 JPanel p
= new JPanel(new BorderLayout());
307 p
.setBorder(IdeBorderFactory
.createTitledBorder(ApplicationBundle
.message("title.preview")));
312 protected String
getPreviewText() {
314 "public class Foo {\n" +
315 " public int[] X = new int[] { 1, 3, 5\n" +
317 " public void foo(boolean a, int x,\n" +
318 " int y, int z) {\n" +
322 " int someVariable = a ? \n" +
325 " int anotherVariable = a ? x\n" +
327 " } else if (x < 0) {\n" +
328 " int someVariable = (y +\n" +
331 " someVariable = x = \n" +
336 " for (int i = 0;\n" +
338 " i++) doSomething(i);\n" +
347 " }catch(Exception e) {\n" +
348 " processException(e.getMessage(),\n" +
351 " processFinally();\n" +
355 " if (2 < 3) return;\n" +
358 " do x++ while (x < 10000);\n" +
359 " while (x < 50000) x++;\n" +
360 " for (int i = 0; i < 5; i++) System.out.println(i);\n" +
362 " private class InnerClass implements I1,\n" +
364 " public void bar() throws E1,\n" +
371 public boolean isModified(CodeStyleSettings settings
) {
373 isModified
= isModified(myCbElseOnNewline
, settings
.ELSE_ON_NEW_LINE
);
374 isModified
|= isModified(myCbWhileOnNewline
, settings
.WHILE_ON_NEW_LINE
);
375 isModified
|= isModified(myCbCatchOnNewline
, settings
.CATCH_ON_NEW_LINE
);
376 isModified
|= isModified(myCbFinallyOnNewline
, settings
.FINALLY_ON_NEW_LINE
);
379 isModified
|= isModified(myCbSpecialElseIfTreatment
, settings
.SPECIAL_ELSE_IF_TREATMENT
);
380 isModified
|= isModified(myCbIndentCaseFromSwitch
, settings
.INDENT_CASE_FROM_SWITCH
);
383 isModified
|= settings
.BRACE_STYLE
!= getBraceComboValue(myOtherCombo
);
384 isModified
|= settings
.CLASS_BRACE_STYLE
!= getBraceComboValue(myClassDeclarationCombo
);
385 isModified
|= settings
.METHOD_BRACE_STYLE
!= getBraceComboValue(myMethodDeclarationCombo
);
387 isModified
|= isModified(myAlignAssignment
, settings
.ALIGN_MULTILINE_ASSIGNMENT
);
388 isModified
|= isModified(myAlignBinaryExpression
, settings
.ALIGN_MULTILINE_BINARY_OPERATION
);
389 isModified
|= isModified(myAlignCallParameters
, settings
.ALIGN_MULTILINE_PARAMETERS_IN_CALLS
);
390 isModified
|= isModified(myAlignDeclarationParameters
, settings
.ALIGN_MULTILINE_PARAMETERS
);
391 isModified
|= isModified(myAlignExtendsList
, settings
.ALIGN_MULTILINE_EXTENDS_LIST
);
392 isModified
|= isModified(myAlignForStatement
, settings
.ALIGN_MULTILINE_FOR
);
393 isModified
|= isModified(myAlignParenthesizedExpression
, settings
.ALIGN_MULTILINE_PARENTHESIZED_EXPRESSION
);
394 isModified
|= isModified(myAlignTernaryExpression
, settings
.ALIGN_MULTILINE_TERNARY_OPERATION
);
395 isModified
|= isModified(myAlignThrowsList
, settings
.ALIGN_MULTILINE_THROWS_LIST
);
396 isModified
|= isModified(myAlignArrayInitializerExpression
, settings
.ALIGN_MULTILINE_ARRAY_INITIALIZER_EXPRESSION
);
398 isModified
|= settings
.FOR_BRACE_FORCE
!= getForceBracesValue(myForForceCombo
);
399 isModified
|= settings
.IF_BRACE_FORCE
!= getForceBracesValue(myIfForceCombo
);
400 isModified
|= settings
.WHILE_BRACE_FORCE
!= getForceBracesValue(myWhileForceCombo
);
401 isModified
|= settings
.DOWHILE_BRACE_FORCE
!= getForceBracesValue(myDoWhileForceCombo
);
403 isModified
|= isModified(myKeepLineBreaks
, settings
.KEEP_LINE_BREAKS
);
404 isModified
|= isModified(myKeepCommentAtFirstColumn
, settings
.KEEP_FIRST_COLUMN_COMMENT
);
405 isModified
|= isModified(myKeepControlStatementInOneLine
, settings
.KEEP_CONTROL_STATEMENT_IN_ONE_LINE
);
406 isModified
|= isModified(myKeepSimpleBlocksInOneLine
, settings
.KEEP_SIMPLE_BLOCKS_IN_ONE_LINE
);
407 isModified
|= isModified(myKeepMethodsInOneLine
, settings
.KEEP_SIMPLE_METHODS_IN_ONE_LINE
);
414 private static boolean isModified(JCheckBox checkBox
, boolean value
) {
415 return checkBox
.isSelected() != value
;
418 protected void resetImpl(final CodeStyleSettings settings
) {
419 myCbElseOnNewline
.setSelected(settings
.ELSE_ON_NEW_LINE
);
420 myCbWhileOnNewline
.setSelected(settings
.WHILE_ON_NEW_LINE
);
421 myCbCatchOnNewline
.setSelected(settings
.CATCH_ON_NEW_LINE
);
422 myCbFinallyOnNewline
.setSelected(settings
.FINALLY_ON_NEW_LINE
);
424 myCbSpecialElseIfTreatment
.setSelected(settings
.SPECIAL_ELSE_IF_TREATMENT
);
425 myCbIndentCaseFromSwitch
.setSelected(settings
.INDENT_CASE_FROM_SWITCH
);
427 setBraceStyleComboValue(myOtherCombo
, settings
.BRACE_STYLE
);
428 setBraceStyleComboValue(myClassDeclarationCombo
, settings
.CLASS_BRACE_STYLE
);
429 setBraceStyleComboValue(myMethodDeclarationCombo
, settings
.METHOD_BRACE_STYLE
);
431 myAlignAssignment
.setSelected(settings
.ALIGN_MULTILINE_ASSIGNMENT
);
432 myAlignBinaryExpression
.setSelected(settings
.ALIGN_MULTILINE_BINARY_OPERATION
);
433 myAlignCallParameters
.setSelected(settings
.ALIGN_MULTILINE_PARAMETERS_IN_CALLS
);
434 myAlignDeclarationParameters
.setSelected(settings
.ALIGN_MULTILINE_PARAMETERS
);
435 myAlignExtendsList
.setSelected(settings
.ALIGN_MULTILINE_EXTENDS_LIST
);
436 myAlignForStatement
.setSelected(settings
.ALIGN_MULTILINE_FOR
);
437 myAlignParenthesizedExpression
.setSelected(settings
.ALIGN_MULTILINE_PARENTHESIZED_EXPRESSION
);
438 myAlignTernaryExpression
.setSelected(settings
.ALIGN_MULTILINE_TERNARY_OPERATION
);
439 myAlignThrowsList
.setSelected(settings
.ALIGN_MULTILINE_THROWS_LIST
);
440 myAlignArrayInitializerExpression
.setSelected(settings
.ALIGN_MULTILINE_ARRAY_INITIALIZER_EXPRESSION
);
442 setForceBracesComboValue(myForForceCombo
, settings
.FOR_BRACE_FORCE
);
443 setForceBracesComboValue(myIfForceCombo
, settings
.IF_BRACE_FORCE
);
444 setForceBracesComboValue(myWhileForceCombo
, settings
.WHILE_BRACE_FORCE
);
445 setForceBracesComboValue(myDoWhileForceCombo
, settings
.DOWHILE_BRACE_FORCE
);
447 myKeepLineBreaks
.setSelected(settings
.KEEP_LINE_BREAKS
);
448 myKeepCommentAtFirstColumn
.setSelected(settings
.KEEP_FIRST_COLUMN_COMMENT
);
449 myKeepControlStatementInOneLine
.setSelected(settings
.KEEP_CONTROL_STATEMENT_IN_ONE_LINE
);
450 myKeepSimpleBlocksInOneLine
.setSelected(settings
.KEEP_SIMPLE_BLOCKS_IN_ONE_LINE
);
451 myKeepMethodsInOneLine
.setSelected(settings
.KEEP_SIMPLE_METHODS_IN_ONE_LINE
);
455 protected EditorHighlighter
createHighlighter(final EditorColorsScheme scheme
) {
456 return JavaHighlighterFactory
.createJavaHighlighter(scheme
, LanguageLevel
.HIGHEST
);
459 public void apply(CodeStyleSettings settings
) {
460 settings
.ELSE_ON_NEW_LINE
= myCbElseOnNewline
.isSelected();
461 settings
.WHILE_ON_NEW_LINE
= myCbWhileOnNewline
.isSelected();
462 settings
.CATCH_ON_NEW_LINE
= myCbCatchOnNewline
.isSelected();
463 settings
.FINALLY_ON_NEW_LINE
= myCbFinallyOnNewline
.isSelected();
466 settings
.SPECIAL_ELSE_IF_TREATMENT
= myCbSpecialElseIfTreatment
.isSelected();
467 settings
.INDENT_CASE_FROM_SWITCH
= myCbIndentCaseFromSwitch
.isSelected();
469 settings
.BRACE_STYLE
= getBraceComboValue(myOtherCombo
);
470 settings
.CLASS_BRACE_STYLE
= getBraceComboValue(myClassDeclarationCombo
);
471 settings
.METHOD_BRACE_STYLE
= getBraceComboValue(myMethodDeclarationCombo
);
473 settings
.ALIGN_MULTILINE_ASSIGNMENT
= myAlignAssignment
.isSelected();
474 settings
.ALIGN_MULTILINE_BINARY_OPERATION
= myAlignBinaryExpression
.isSelected();
475 settings
.ALIGN_MULTILINE_PARAMETERS_IN_CALLS
= myAlignCallParameters
.isSelected();
476 settings
.ALIGN_MULTILINE_PARAMETERS
= myAlignDeclarationParameters
.isSelected();
477 settings
.ALIGN_MULTILINE_EXTENDS_LIST
= myAlignExtendsList
.isSelected();
478 settings
.ALIGN_MULTILINE_FOR
= myAlignForStatement
.isSelected();
479 settings
.ALIGN_MULTILINE_PARENTHESIZED_EXPRESSION
= myAlignParenthesizedExpression
.isSelected();
480 settings
.ALIGN_MULTILINE_TERNARY_OPERATION
= myAlignTernaryExpression
.isSelected();
481 settings
.ALIGN_MULTILINE_THROWS_LIST
= myAlignThrowsList
.isSelected();
482 settings
.ALIGN_MULTILINE_ARRAY_INITIALIZER_EXPRESSION
= myAlignArrayInitializerExpression
.isSelected();
483 // mySettings.LABEL_INDENT =
485 settings
.FOR_BRACE_FORCE
= getForceBracesValue(myForForceCombo
);
486 settings
.IF_BRACE_FORCE
= getForceBracesValue(myIfForceCombo
);
487 settings
.WHILE_BRACE_FORCE
= getForceBracesValue(myWhileForceCombo
);
488 settings
.DOWHILE_BRACE_FORCE
= getForceBracesValue(myDoWhileForceCombo
);
490 settings
.KEEP_LINE_BREAKS
= myKeepLineBreaks
.isSelected();
491 settings
.KEEP_FIRST_COLUMN_COMMENT
= myKeepCommentAtFirstColumn
.isSelected();
492 settings
.KEEP_CONTROL_STATEMENT_IN_ONE_LINE
= myKeepControlStatementInOneLine
.isSelected();
493 settings
.KEEP_SIMPLE_BLOCKS_IN_ONE_LINE
= myKeepSimpleBlocksInOneLine
.isSelected();
494 settings
.KEEP_SIMPLE_METHODS_IN_ONE_LINE
= myKeepMethodsInOneLine
.isSelected();
499 protected FileType
getFileType() {
500 return StdFileTypes
.JAVA
;
503 protected int getRightMargin() {
507 public JComponent
getPanel() {
511 protected void prepareForReformat(final PsiFile psiFile
) {
512 psiFile
.putUserData(PsiUtil
.FILE_LANGUAGE_LEVEL_KEY
, LanguageLevel
.HIGHEST
);