### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.ui Index: ui/org/eclipse/jdt/internal/ui/preferences/formatter/CommentsTabPage.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/CommentsTabPage.java,v retrieving revision 1.27 diff -u -r1.27 CommentsTabPage.java --- ui/org/eclipse/jdt/internal/ui/preferences/formatter/CommentsTabPage.java 23 Feb 2010 11:49:19 -0000 1.27 +++ ui/org/eclipse/jdt/internal/ui/preferences/formatter/CommentsTabPage.java 26 Feb 2010 15:54:02 -0000 @@ -163,8 +163,12 @@ final CheckboxPreference blockComment= createPrefFalseTrue(globalGroup, numColumns, FormatterMessages.CommentsTabPage_enable_block_comment_formatting, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_BLOCK_COMMENT, false); final CheckboxPreference singleLineComments= createPrefFalseTrue(globalGroup, numColumns, FormatterMessages.CommentsTabPage_enable_line_comment_formatting, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_LINE_COMMENT, false); final CheckboxPreference header= createPrefFalseTrue(globalGroup, numColumns, FormatterMessages.CommentsTabPage_format_header, DefaultCodeFormatterConstants.FORMATTER_COMMENT_FORMAT_HEADER, false); - createPrefFalseTrue(globalGroup, numColumns, FormatterMessages.CommentsTabPage_never_indent_block_comments_on_first_column, DefaultCodeFormatterConstants.FORMATTER_NEVER_INDENT_BLOCK_COMMENTS_ON_FIRST_COLUMN, false); - createPrefFalseTrue(globalGroup, numColumns, FormatterMessages.CommentsTabPage_never_indent_line_comments_on_first_column, DefaultCodeFormatterConstants.FORMATTER_NEVER_INDENT_LINE_COMMENTS_ON_FIRST_COLUMN, false); + final CheckboxPreference neverFormatBlock= createPrefFalseTrue(globalGroup, numColumns , FormatterMessages.CommentsTabPage_never_format_block_comments_on_first_column, DefaultCodeFormatterConstants.FORMATTER_NEVER_FORMAT_BLOCK_COMMENTS_ON_FIRST_COLUMN, false); + final CheckboxPreference neverIndentBlock= createPrefFalseTrue(globalGroup, numColumns, FormatterMessages.CommentsTabPage_never_indent_block_comments_on_first_column, DefaultCodeFormatterConstants.FORMATTER_NEVER_INDENT_BLOCK_COMMENTS_ON_FIRST_COLUMN, false); + ((GridData)neverIndentBlock.getControl().getLayoutData()).horizontalIndent= this.fPixelConverter.convertWidthInCharsToPixels(4); + final CheckboxPreference neverFormatLine= createPrefFalseTrue(globalGroup, numColumns , FormatterMessages.CommentsTabPage_never_format_line_comments_on_first_column, DefaultCodeFormatterConstants.FORMATTER_NEVER_FORMAT_LINE_COMMENTS_ON_FIRST_COLUMN, false); + final CheckboxPreference neverIndentLine= createPrefFalseTrue(globalGroup, numColumns, FormatterMessages.CommentsTabPage_never_indent_line_comments_on_first_column, DefaultCodeFormatterConstants.FORMATTER_NEVER_INDENT_LINE_COMMENTS_ON_FIRST_COLUMN, false); + ((GridData)neverIndentLine.getControl().getLayoutData()).horizontalIndent= this.fPixelConverter.convertWidthInCharsToPixels(4); createPrefFalseTrue(globalGroup, numColumns, FormatterMessages.CommentsTabPage_do_not_join_lines, DefaultCodeFormatterConstants.FORMATTER_JOIN_LINES_IN_COMMENTS, true); // javadoc comment formatting settings @@ -174,7 +178,7 @@ final CheckboxPreference blankJavadoc= createPrefInsert(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_blank_line_before_javadoc_tags, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INSERT_EMPTY_LINE_BEFORE_ROOT_TAGS); final CheckboxPreference indentJavadoc= createPrefFalseTrue(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_indent_javadoc_tags, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INDENT_ROOT_TAGS, false); final CheckboxPreference indentDesc= createPrefFalseTrue(settingsGroup, numColumns , FormatterMessages.CommentsTabPage_indent_description_after_param, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INDENT_PARAMETER_DESCRIPTION, false); - ((GridData)indentDesc.getControl().getLayoutData()).horizontalIndent= fPixelConverter.convertWidthInCharsToPixels(4); + ((GridData)indentDesc.getControl().getLayoutData()).horizontalIndent= this.fPixelConverter.convertWidthInCharsToPixels(4); final CheckboxPreference nlParam= createPrefInsert(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_new_line_after_param_tags, DefaultCodeFormatterConstants.FORMATTER_COMMENT_INSERT_NEW_LINE_FOR_PARAMETER); final CheckboxPreference nlBoundariesJavadoc= createPrefFalseTrue(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_new_lines_at_javadoc_boundaries, DefaultCodeFormatterConstants.FORMATTER_COMMENT_NEW_LINES_AT_JAVADOC_BOUNDARIES, false); final CheckboxPreference blankLinesJavadoc= createPrefFalseTrue(settingsGroup, numColumns, FormatterMessages.CommentsTabPage_clear_blank_lines, DefaultCodeFormatterConstants.FORMATTER_COMMENT_CLEAR_BLANK_LINES_IN_JAVADOC_COMMENT, false); @@ -217,6 +221,27 @@ } }.update(null, null); + ArrayList neverBlockMasters= new ArrayList(); + neverBlockMasters.add(neverFormatBlock); + ArrayList neverBlockSlaves= new ArrayList(); + neverBlockSlaves.add(neverIndentBlock); + new Controller(neverBlockMasters, neverBlockSlaves) { + protected boolean areSlavesEnabled() { + return !neverFormatBlock.getChecked(); + } + }.update(null, null); + + ArrayList neverLineMasters= new ArrayList(); + neverLineMasters.add(neverFormatLine); + ArrayList neverLineSlaves= new ArrayList(); + neverLineSlaves.add(neverIndentLine); + new Controller(neverLineMasters, neverLineSlaves) { + protected boolean areSlavesEnabled() { + return !neverFormatLine.getChecked(); + } + }.update(null, null); + + ArrayList blockMasters= new ArrayList(); blockMasters.add(blockComment); blockMasters.add(header); @@ -239,6 +264,21 @@ lineWidthSlaves.add(lineWidth); new OrController(lineWidthMasters, lineWidthSlaves); + + neverFormatBlock.addObserver(new Observer() { + public void update(Observable o, Object arg) { + if (neverFormatBlock.getChecked()) { + neverIndentBlock.setChecked(true); + } + } + }); + neverFormatLine.addObserver(new Observer() { + public void update(Observable o, Object arg) { + if (neverFormatLine.getChecked()) { + neverIndentLine.setChecked(true); + } + } + }); } protected void initializePage() { Index: ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.java,v retrieving revision 1.30 diff -u -r1.30 FormatterMessages.java --- ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.java 23 Feb 2010 11:49:19 -0000 1.30 +++ ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.java 26 Feb 2010 15:54:02 -0000 @@ -367,6 +367,8 @@ public static String CommentsTabPage_group3_title; public static String CommentsTabPage_group4_title; public static String CommentsTabPage_line_width; + public static String CommentsTabPage_never_format_block_comments_on_first_column; + public static String CommentsTabPage_never_format_line_comments_on_first_column; public static String CommentsTabPage_never_indent_block_comments_on_first_column; public static String CommentsTabPage_never_indent_line_comments_on_first_column; public static String CommentsTabPage_do_not_join_lines; Index: ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.properties =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.properties,v retrieving revision 1.83 diff -u -r1.83 FormatterMessages.properties --- ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.properties 23 Feb 2010 11:49:19 -0000 1.83 +++ ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.properties 26 Feb 2010 15:54:02 -0000 @@ -411,6 +411,8 @@ CommentsTabPage_group4_title=Block comment settings CommentsTabPage_new_lines_at_comment_boundaries=/* and */ on separate lines CommentsTabPage_new_lines_at_javadoc_boundaries=/** and */ on separate lines +CommentsTabPage_never_format_block_comments_on_first_column=Never format block comments on first col&umn +CommentsTabPage_never_format_line_comments_on_first_column=Never format line &comments on first column CommentsTabPage_never_indent_block_comments_on_first_column=Never indent block comments on first col&umn CommentsTabPage_never_indent_line_comments_on_first_column=Never indent line &comments on first column CommentsTabPage_do_not_join_lines=Never join lin&es