diff --git a/CHANGELOG.md b/CHANGELOG.md index ecce5cce..5ac56367 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,13 +3,38 @@ FlatLaf Change Log ## Unreleased +- CheckBox and RadioButton: Support changing selected icon style from outline to + filled (as in FlatLaf IntelliJ theme) with `UIManager.put( + "CheckBox.icon.style", "filled" );`. +- Button and ToggleButton: Support disabled background color (use UI values + `Button.disabledBackground` and `ToggleButton.disabledBackground`). (issue + #112) +- ScrollBar: Support pressed track, thumb and button colors (use UI values + `ScrollBar.pressedTrackColor`, `ScrollBar.pressedThumbColor` and + `ScrollBar.pressedButtonBackground`). (issue #115) +- ComboBox: Support changing arrow button style (set UI value + `ComboBox.buttonStyle` to `auto` (default), `button` or `none`). (issue #114) +- Spinner: Support changing arrows button style (set UI value + `Spinner.buttonStyle` to `button` (default) or `none`). +- TableHeader: Support top/bottom/left positioned sort arrow when using + [Glazed Lists](https://github.com/glazedlists/glazedlists). (issue #113) +- Fixed/improved vertical position of text when scaled on HiDPI screens on + Windows. + + +## 0.36 + - ScrollBar: Made styling more flexible by supporting insets and arc for track and thumb. (issue #103) +- ScrollBar: Use round thumb on macOS and Linux to make it look similar to + native platform scroll bars. (issue #103) - ComboBox: Minimum width is now 72 pixels (was ~50 for non-editable and ~130 for editable comboboxes). - ComboBox: Support custom borders in combobox editors. (issue #102) +- Button: Support non-square icon-only buttons. (issue #110) - Ubuntu Linux: Fixed poorly rendered font. (issue #105) - macOS Catalina: Use Helvetica Neue font. +- `FlatInspector` added (see [FlatLaf Extras](flatlaf-extras)). ## 0.35 diff --git a/build.gradle.kts b/build.gradle.kts index 590d61ac..be623ceb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,8 +14,8 @@ * limitations under the License. */ -val releaseVersion = "0.35" -val developmentVersion = "0.36-SNAPSHOT" +val releaseVersion = "0.36" +val developmentVersion = "0.37-SNAPSHOT" version = if( java.lang.Boolean.getBoolean( "release" ) ) releaseVersion else developmentVersion diff --git a/flatlaf-core/.settings/org.eclipse.jdt.core.prefs b/flatlaf-core/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..4a19f363 --- /dev/null +++ b/flatlaf-core/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,377 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false +org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_record_components=16 +org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 +org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=0 +org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false +org.eclipse.jdt.core.formatter.comment.indent_root_tags=false +org.eclipse.jdt.core.formatter.comment.indent_tag_description=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=80 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=1 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.text_block_indentation=0 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=false +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true +org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/flatlaf-core/.settings/org.eclipse.jdt.ui.prefs b/flatlaf-core/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000..ef990006 --- /dev/null +++ b/flatlaf-core/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +formatter_profile=_FlatLaf +formatter_settings_version=19 diff --git a/flatlaf-core/build.gradle.kts b/flatlaf-core/build.gradle.kts index 74a03b38..7d6c5038 100644 --- a/flatlaf-core/build.gradle.kts +++ b/flatlaf-core/build.gradle.kts @@ -38,6 +38,7 @@ tasks { javadoc { options { this as StandardJavadocDocletOptions + use( true ) tags = listOf( "uiDefault", "clientProperty" ) addStringOption( "Xdoclint:all,-missing", "-Xdoclint:all,-missing" ) } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java index f40db140..92a9a144 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java @@ -326,6 +326,7 @@ public abstract class FlatLaf // initialize some defaults (for overriding) that are used in UI delegates, // but are not set in BasicLookAndFeel putDefaults( defaults, defaults.getColor( "control" ), + "Button.disabledBackground", "EditorPane.disabledBackground", "EditorPane.inactiveBackground", "FormattedTextField.disabledBackground", @@ -335,7 +336,8 @@ public abstract class FlatLaf "TextArea.inactiveBackground", "TextField.disabledBackground", "TextPane.disabledBackground", - "TextPane.inactiveBackground" ); + "TextPane.inactiveBackground", + "ToggleButton.disabledBackground" ); putDefaults( defaults, defaults.getColor( "textInactiveText" ), "Button.disabledText", "CheckBox.disabledText", diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java index f6cc7240..8a043135 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java @@ -147,6 +147,11 @@ public class IntelliJTheme applyColorPalette( defaults ); applyCheckBoxColors( defaults ); + // IDEA does not paint button background if disabled, but FlatLaf does + Object panelBackground = defaults.get( "Panel.background" ); + defaults.put( "Button.disabledBackground", panelBackground ); + defaults.put( "ToggleButton.disabledBackground", panelBackground ); + // IDEA uses a SVG icon for the help button, but paints the background with Button.startBackground and Button.endBackground Object helpButtonBackground = defaults.get( "Button.startBackground" ); Object helpButtonBorderColor = defaults.get( "Button.startBorderColor" ); @@ -156,7 +161,7 @@ public class IntelliJTheme helpButtonBorderColor = defaults.get( "Button.borderColor" ); defaults.put( "HelpButton.background", helpButtonBackground ); defaults.put( "HelpButton.borderColor", helpButtonBorderColor ); - defaults.put( "HelpButton.disabledBackground", defaults.get( "Panel.background" ) ); + defaults.put( "HelpButton.disabledBackground", panelBackground ); defaults.put( "HelpButton.disabledBorderColor", defaults.get( "Button.disabledBorderColor" ) ); defaults.put( "HelpButton.focusedBorderColor", defaults.get( "Button.focusedBorderColor" ) ); defaults.put( "HelpButton.focusedBackground", defaults.get( "Button.focusedBackground" ) ); @@ -510,7 +515,7 @@ public class IntelliJTheme checkboxKeyMapping.put( "Checkbox.Border.Default", "CheckBox.icon.borderColor" ); checkboxKeyMapping.put( "Checkbox.Border.Disabled", "CheckBox.icon.disabledBorderColor" ); checkboxKeyMapping.put( "Checkbox.Focus.Thin.Default", "CheckBox.icon.focusedBorderColor" ); - checkboxKeyMapping.put( "Checkbox.Focus.Wide", "CheckBox.icon.focusedColor" ); + checkboxKeyMapping.put( "Checkbox.Focus.Wide", "CheckBox.icon.focusColor" ); checkboxKeyMapping.put( "Checkbox.Foreground.Disabled", "CheckBox.icon.disabledCheckmarkColor" ); checkboxKeyMapping.put( "Checkbox.Background.Selected", "CheckBox.icon.selectedBackground" ); checkboxKeyMapping.put( "Checkbox.Border.Selected", "CheckBox.icon.selectedBorderColor" ); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxIcon.java index fa4199e9..50b1219b 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxIcon.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxIcon.java @@ -36,25 +36,28 @@ import com.formdev.flatlaf.ui.FlatUIUtils; * is painted outside of the icon bounds. Make sure that the checkbox * has margins, which are equal or greater than focusWidth. * + * @uiDefault CheckBox.icon.style String optional; "outline"/null (default) or "filled" * @uiDefault Component.focusWidth int * @uiDefault Component.focusColor Color - * @uiDefault CheckBox.icon.focusedColor Color optional; defaults to Component.focusColor + * @uiDefault CheckBox.icon.focusWidth int optional; defaults to Component.focusWidth + * @uiDefault CheckBox.icon.focusColor Color optional; defaults to Component.focusColor * @uiDefault CheckBox.icon.borderColor Color - * @uiDefault CheckBox.icon.disabledBorderColor Color - * @uiDefault CheckBox.icon.selectedBorderColor Color - * @uiDefault CheckBox.icon.focusedBorderColor Color - * @uiDefault CheckBox.icon.hoverBorderColor Color optional - * @uiDefault CheckBox.icon.selectedFocusedBorderColor Color optional * @uiDefault CheckBox.icon.background Color - * @uiDefault CheckBox.icon.disabledBackground Color - * @uiDefault CheckBox.icon.focusedBackground Color optional - * @uiDefault CheckBox.icon.hoverBackground Color optional - * @uiDefault CheckBox.icon.pressedBackground Color optional + * @uiDefault CheckBox.icon.selectedBorderColor Color * @uiDefault CheckBox.icon.selectedBackground Color - * @uiDefault CheckBox.icon.selectedHoverBackground Color optional - * @uiDefault CheckBox.icon.selectedPressedBackground Color optional * @uiDefault CheckBox.icon.checkmarkColor Color + * @uiDefault CheckBox.icon.disabledBorderColor Color + * @uiDefault CheckBox.icon.disabledBackground Color * @uiDefault CheckBox.icon.disabledCheckmarkColor Color + * @uiDefault CheckBox.icon.focusedBorderColor Color + * @uiDefault CheckBox.icon.focusedBackground Color optional + * @uiDefault CheckBox.icon.selectedFocusedBorderColor Color optional + * @uiDefault CheckBox.icon.selectedFocusedBackground Color optional + * @uiDefault CheckBox.icon.hoverBorderColor Color optional + * @uiDefault CheckBox.icon.hoverBackground Color optional + * @uiDefault CheckBox.icon.selectedHoverBackground Color optional + * @uiDefault CheckBox.icon.pressedBackground Color optional + * @uiDefault CheckBox.icon.selectedPressedBackground Color optional * @uiDefault CheckBox.arc int * * @author Karl Tauber @@ -62,27 +65,62 @@ import com.formdev.flatlaf.ui.FlatUIUtils; public class FlatCheckBoxIcon extends FlatAbstractIcon { - public final int focusWidth = UIManager.getInt( "Component.focusWidth" ); - protected final Color focusColor = FlatUIUtils.getUIColor( "CheckBox.icon.focusedColor", + protected final String style = UIManager.getString( "CheckBox.icon.style" ); + public final int focusWidth = getUIInt( "CheckBox.icon.focusWidth", + UIManager.getInt( "Component.focusWidth" ), style ); + protected final Color focusColor = FlatUIUtils.getUIColor( "CheckBox.icon.focusColor", UIManager.getColor( "Component.focusColor" ) ); protected final int arc = FlatUIUtils.getUIInt( "CheckBox.arc", 2 ); - protected final Color borderColor = UIManager.getColor( "CheckBox.icon.borderColor" ); - protected final Color disabledBorderColor = UIManager.getColor( "CheckBox.icon.disabledBorderColor" ); - protected final Color selectedBorderColor = UIManager.getColor( "CheckBox.icon.selectedBorderColor" ); - protected final Color focusedBorderColor = UIManager.getColor( "CheckBox.icon.focusedBorderColor" ); - protected final Color hoverBorderColor = UIManager.getColor( "CheckBox.icon.hoverBorderColor" ); - protected final Color selectedFocusedBorderColor = UIManager.getColor( "CheckBox.icon.selectedFocusedBorderColor" ); - protected final Color background = UIManager.getColor( "CheckBox.icon.background" ); - protected final Color disabledBackground = UIManager.getColor( "CheckBox.icon.disabledBackground" ); - protected final Color focusedBackground = UIManager.getColor( "CheckBox.icon.focusedBackground" ); - protected final Color hoverBackground = UIManager.getColor( "CheckBox.icon.hoverBackground" ); - protected final Color pressedBackground = UIManager.getColor( "CheckBox.icon.pressedBackground" ); - protected final Color selectedBackground = UIManager.getColor( "CheckBox.icon.selectedBackground" ); - protected final Color selectedHoverBackground = UIManager.getColor( "CheckBox.icon.selectedHoverBackground" ); - protected final Color selectedPressedBackground = UIManager.getColor( "CheckBox.icon.selectedPressedBackground" ); - protected final Color checkmarkColor = UIManager.getColor( "CheckBox.icon.checkmarkColor" ); - protected final Color disabledCheckmarkColor = UIManager.getColor( "CheckBox.icon.disabledCheckmarkColor" ); + // enabled + protected final Color borderColor = getUIColor( "CheckBox.icon.borderColor", style ); + protected final Color background = getUIColor( "CheckBox.icon.background", style ); + protected final Color selectedBorderColor = getUIColor( "CheckBox.icon.selectedBorderColor", style ); + protected final Color selectedBackground = getUIColor( "CheckBox.icon.selectedBackground", style ); + protected final Color checkmarkColor = getUIColor( "CheckBox.icon.checkmarkColor", style ); + + // disabled + protected final Color disabledBorderColor = getUIColor( "CheckBox.icon.disabledBorderColor", style ); + protected final Color disabledBackground = getUIColor( "CheckBox.icon.disabledBackground", style ); + protected final Color disabledCheckmarkColor = getUIColor( "CheckBox.icon.disabledCheckmarkColor", style ); + + // focused + protected final Color focusedBorderColor = getUIColor( "CheckBox.icon.focusedBorderColor", style ); + protected final Color focusedBackground = getUIColor( "CheckBox.icon.focusedBackground", style ); + protected final Color selectedFocusedBorderColor = getUIColor( "CheckBox.icon.selectedFocusedBorderColor", style ); + protected final Color selectedFocusedBackground = getUIColor( "CheckBox.icon.selectedFocusedBackground", style ); + protected final Color selectedFocusedCheckmarkColor = getUIColor( "CheckBox.icon.selectedFocusedCheckmarkColor", style ); + + // hover + protected final Color hoverBorderColor = getUIColor( "CheckBox.icon.hoverBorderColor", style ); + protected final Color hoverBackground = getUIColor( "CheckBox.icon.hoverBackground", style ); + protected final Color selectedHoverBackground = getUIColor( "CheckBox.icon.selectedHoverBackground", style ); + + // pressed + protected final Color pressedBackground = getUIColor( "CheckBox.icon.pressedBackground", style ); + protected final Color selectedPressedBackground = getUIColor( "CheckBox.icon.selectedPressedBackground", style ); + + protected static Color getUIColor( String key, String style ) { + if( style != null ) { + Color color = UIManager.getColor( styleKey( key, style ) ); + if( color != null ) + return color; + } + return UIManager.getColor( key ); + } + + protected static int getUIInt( String key, int defaultValue, String style ) { + if( style != null ) { + Object value = UIManager.get( styleKey( key, style ) ); + if( value instanceof Integer ) + return (Integer) value; + } + return FlatUIUtils.getUIInt( key, defaultValue ); + } + + private static String styleKey( String key, String style ) { + return key.replace( ".icon.", ".icon[" + style + "]." ); + } static final int ICON_SIZE = 15; @@ -94,9 +132,10 @@ public class FlatCheckBoxIcon protected void paintIcon( Component c, Graphics2D g2 ) { boolean indeterminate = c instanceof JComponent && clientPropertyEquals( (JComponent) c, SELECTED_STATE, SELECTED_STATE_INDETERMINATE ); boolean selected = indeterminate || (c instanceof AbstractButton && ((AbstractButton)c).isSelected()); + boolean isFocused = FlatUIUtils.isPermanentFocusOwner( c ); // paint focused border - if( FlatUIUtils.isPermanentFocusOwner( c ) && focusWidth > 0 ) { + if( isFocused && focusWidth > 0 ) { g2.setColor( focusColor ); paintFocusBorder( g2 ); } @@ -114,15 +153,19 @@ public class FlatCheckBoxIcon g2.setColor( FlatUIUtils.deriveColor( FlatButtonUI.buttonStateColor( c, selected ? selectedBackground : background, disabledBackground, - focusedBackground, - selected && selectedHoverBackground != null ? selectedHoverBackground : hoverBackground, - selected && selectedPressedBackground != null ? selectedPressedBackground : pressedBackground ), + (selected && selectedFocusedBackground != null) ? selectedFocusedBackground : focusedBackground, + (selected && selectedHoverBackground != null) ? selectedHoverBackground : hoverBackground, + (selected && selectedPressedBackground != null) ? selectedPressedBackground : pressedBackground ), background ) ); paintBackground( g2 ); // paint checkmark if( selected || indeterminate ) { - g2.setColor( c.isEnabled() ? checkmarkColor : disabledCheckmarkColor ); + g2.setColor( c.isEnabled() + ? ((selected && isFocused && selectedFocusedCheckmarkColor != null) + ? selectedFocusedCheckmarkColor + : checkmarkColor) + : disabledCheckmarkColor ); if( indeterminate ) paintIndeterminate( g2 ); else diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxMenuItemIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxMenuItemIcon.java index c70be48b..501602b6 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxMenuItemIcon.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxMenuItemIcon.java @@ -67,14 +67,14 @@ public class FlatCheckBoxMenuItemIcon g2.draw( path ); } - private Color getCheckmarkColor( Component c ) { + protected Color getCheckmarkColor( Component c ) { if( c instanceof JMenuItem && ((JMenuItem)c).isArmed() && !isUnderlineSelection() ) return selectionForeground; return c.isEnabled() ? checkmarkColor : disabledCheckmarkColor; } - private boolean isUnderlineSelection() { + protected boolean isUnderlineSelection() { // not storing value of "MenuItem.selectionType" in class to allow changing at runtime return "underline".equals( UIManager.getString( "MenuItem.selectionType" ) ); } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatMenuArrowIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatMenuArrowIcon.java index 2f4af4de..2c401f61 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatMenuArrowIcon.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatMenuArrowIcon.java @@ -65,14 +65,14 @@ public class FlatMenuArrowIcon } } - private Color getArrowColor( Component c ) { + protected Color getArrowColor( Component c ) { if( c instanceof JMenu && ((JMenu)c).isSelected() && !isUnderlineSelection() ) return selectionForeground; return c.isEnabled() ? arrowColor : disabledArrowColor; } - private boolean isUnderlineSelection() { + protected boolean isUnderlineSelection() { // not storing value of "MenuItem.selectionType" in class to allow changing at runtime return "underline".equals( UIManager.getString( "MenuItem.selectionType" ) ); } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatRadioButtonIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatRadioButtonIcon.java index 5d05a2cf..16c74bf8 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatRadioButtonIcon.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatRadioButtonIcon.java @@ -18,7 +18,6 @@ package com.formdev.flatlaf.icons; import java.awt.Graphics2D; import java.awt.geom.Ellipse2D; -import com.formdev.flatlaf.ui.FlatUIUtils; /** * Icon for {@link javax.swing.JRadioButton}. @@ -34,7 +33,7 @@ import com.formdev.flatlaf.ui.FlatUIUtils; public class FlatRadioButtonIcon extends FlatCheckBoxIcon { - protected final int centerDiameter = FlatUIUtils.getUIInt( "RadioButton.icon.centerDiameter", 8 ); + protected final int centerDiameter = getUIInt( "RadioButton.icon.centerDiameter", 8, style ); @Override protected void paintFocusBorder( Graphics2D g2 ) { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatArrowButton.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatArrowButton.java index 6627edb9..172f07d1 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatArrowButton.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatArrowButton.java @@ -47,15 +47,23 @@ public class FlatArrowButton private final Color disabledForeground; private final Color hoverForeground; private final Color hoverBackground; + private final Color pressedBackground; private int arrowWidth = DEFAULT_ARROW_WIDTH; private int xOffset = 0; private int yOffset = 0; private boolean hover; + private boolean pressed; public FlatArrowButton( int direction, String type, Color foreground, Color disabledForeground, Color hoverForeground, Color hoverBackground ) + { + this( direction, type, foreground, disabledForeground, hoverForeground, hoverBackground, null ); + } + + public FlatArrowButton( int direction, String type, Color foreground, Color disabledForeground, + Color hoverForeground, Color hoverBackground, Color pressedBackground ) { super( direction, Color.WHITE, Color.WHITE, Color.WHITE, Color.WHITE ); @@ -64,11 +72,12 @@ public class FlatArrowButton this.disabledForeground = disabledForeground; this.hoverForeground = hoverForeground; this.hoverBackground = hoverBackground; + this.pressedBackground = pressedBackground; setOpaque( false ); setBorder( null ); - if( hoverForeground != null || hoverBackground != null ) { + if( hoverForeground != null || hoverBackground != null || pressedBackground != null ) { addMouseListener( new MouseAdapter() { @Override public void mouseEntered( MouseEvent e ) { @@ -81,6 +90,18 @@ public class FlatArrowButton hover = false; repaint(); } + + @Override + public void mousePressed( MouseEvent e ) { + pressed = true; + repaint(); + } + + @Override + public void mouseReleased( MouseEvent e ) { + pressed = false; + repaint(); + } } ); } } @@ -97,6 +118,10 @@ public class FlatArrowButton return hover; } + protected boolean isPressed() { + return pressed; + } + public int getXOffset() { return xOffset; } @@ -113,8 +138,8 @@ public class FlatArrowButton this.yOffset = yOffset; } - protected Color deriveHoverBackground( Color hoverBackground ) { - return hoverBackground; + protected Color deriveBackground( Color background ) { + return background; } @Override @@ -136,10 +161,18 @@ public class FlatArrowButton int height = getHeight(); boolean enabled = isEnabled(); - // paint hover background - if( enabled && isHover() && hoverBackground != null ) { - g.setColor( deriveHoverBackground( hoverBackground ) ); - g.fillRect( 0, 0, width, height ); + // paint hover or pressed background + if( enabled ) { + Color background = (pressedBackground != null && isPressed()) + ? deriveBackground( pressedBackground ) + : ((hoverBackground != null && isHover()) + ? deriveBackground( hoverBackground ) + : null); + + if( background != null ) { + g.setColor( background ); + g.fillRect( 0, 0, width, height ); + } } int direction = getDirection(); @@ -160,14 +193,8 @@ public class FlatArrowButton rh++; } - // Adding -/+0.35 before rounding tends move up NORTH arrows and move down SOUTH arrows. - // This makes top margin of NORTH arrow equal to bottom margin of SOUTH arrow. - float rd = 0.35f; - float xrd = vert ? 0 : (direction == WEST ? -rd : rd); - float yrd = vert ? (direction == NORTH ? -rd : rd) : 0; - - int x = Math.round( (width - rw) / 2f + scale( (float) xOffset ) + xrd ); - int y = Math.round( (height - rh) / 2f + scale( (float) yOffset ) + yrd ); + int x = Math.round( (width - rw) / 2f + scale( (float) xOffset ) ); + int y = Math.round( (height - rh) / 2f + scale( (float) yOffset ) ); // move arrow for round borders Container parent = getParent(); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonBorder.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonBorder.java index e21aa3e1..266a4d60 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonBorder.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonBorder.java @@ -114,8 +114,8 @@ public class FlatButtonBorder } else { insets = super.getBorderInsets( c, insets ); - // use smaller left and right insets for icon-only buttons (so that they are square) - if( FlatButtonUI.isIconOnlyButton( c ) && ((AbstractButton)c).getMargin() instanceof UIResource ) + // use smaller left and right insets for icon-only or single-character buttons (so that they are square) + if( FlatButtonUI.isIconOnlyOrSingleCharacterButton( c ) && ((AbstractButton)c).getMargin() instanceof UIResource ) insets.left = insets.right = Math.min( insets.top, insets.bottom ); } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java index bc25074b..f6a27663 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java @@ -67,6 +67,7 @@ import com.formdev.flatlaf.util.UIScale; * @uiDefault Button.focusedBackground Color optional * @uiDefault Button.hoverBackground Color optional * @uiDefault Button.pressedBackground Color optional + * @uiDefault Button.disabledBackground Color optional * @uiDefault Button.disabledText Color * @uiDefault Button.default.background Color * @uiDefault Button.default.startBackground Color optional; if set, a gradient paint is used and Button.default.background is ignored @@ -97,6 +98,7 @@ public class FlatButtonUI protected Color focusedBackground; protected Color hoverBackground; protected Color pressedBackground; + protected Color disabledBackground; protected Color disabledText; protected Color defaultBackground; @@ -142,6 +144,7 @@ public class FlatButtonUI focusedBackground = UIManager.getColor( prefix + "focusedBackground" ); hoverBackground = UIManager.getColor( prefix + "hoverBackground" ); pressedBackground = UIManager.getColor( prefix + "pressedBackground" ); + disabledBackground = UIManager.getColor( prefix + "disabledBackground" ); disabledText = UIManager.getColor( prefix + "disabledText" ); if( UIManager.getBoolean( "Button.paintShadow" ) ) { @@ -224,7 +227,11 @@ public class FlatButtonUI return c instanceof JButton && ((JButton)c).isDefaultButton(); } - static boolean isIconOnlyButton( Component c ) { + /** + * Returns true if the button has an icon but no text, + * or it it does not have an icon and the text is either "..." or one character. + */ + static boolean isIconOnlyOrSingleCharacterButton( Component c ) { if( !(c instanceof JButton) && !(c instanceof JToggleButton) ) return false; @@ -322,6 +329,11 @@ public class FlatButtonUI } } + @Override + public void paint( Graphics g, JComponent c ) { + super.paint( FlatLabelUI.createGraphicsHTMLTextYCorrection( g, c ), c ); + } + @Override protected void paintText( Graphics g, AbstractButton b, Rectangle textRect, String text ) { if( isHelpButton( b ) ) @@ -352,7 +364,7 @@ public class FlatButtonUI protected Color getBackground( JComponent c ) { if( !c.isEnabled() ) - return null; + return disabledBackground; // toolbar button if( isToolBarButton( c ) ) { @@ -409,11 +421,13 @@ public class FlatButtonUI if( prefSize == null ) return null; - // make button square if it is a icon-only button - // or apply minimum width, if not in toolbar and not a icon-only button - if( isIconOnlyButton( c ) ) - prefSize.width = Math.max( prefSize.width, prefSize.height ); - else if( !isToolBarButton( c ) && c.getBorder() instanceof FlatButtonBorder ) { + // make button square if it is a single-character button + // or apply minimum width, if not in toolbar and not a icon-only or single-character button + if( isIconOnlyOrSingleCharacterButton( c ) ) { + // make only single-character buttons square to allow non-square icon-only buttons + if( ((AbstractButton)c).getIcon() == null ) + prefSize.width = Math.max( prefSize.width, prefSize.height ); + } else if( !isToolBarButton( c ) && c.getBorder() instanceof FlatButtonBorder ) { float focusWidth = FlatUIUtils.getBorderFocusWidth( c ); prefSize.width = Math.max( prefSize.width, scale( FlatUIUtils.minimumWidth( c, minimumWidth ) ) + Math.round( focusWidth * 2 ) ); prefSize.height = Math.max( prefSize.height, scale( FlatUIUtils.minimumHeight( c, 0 ) ) + Math.round( focusWidth * 2 ) ); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java index e41bfb21..cd2f5ac3 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java @@ -80,6 +80,7 @@ import com.formdev.flatlaf.util.UIScale; * * @uiDefault ComboBox.minimumWidth int * @uiDefault ComboBox.editorColumns int + * @uiDefault ComboBox.buttonStyle String auto (default), button or none * @uiDefault Component.arrowType String triangle (default) or chevron * @uiDefault Component.isIntelliJTheme boolean * @uiDefault Component.borderColor Color @@ -100,6 +101,7 @@ public class FlatComboBoxUI { protected int minimumWidth; protected int editorColumns; + protected String buttonStyle; protected String arrowType; protected boolean isIntelliJTheme; protected Color borderColor; @@ -154,6 +156,7 @@ public class FlatComboBoxUI minimumWidth = UIManager.getInt( "ComboBox.minimumWidth" ); editorColumns = UIManager.getInt( "ComboBox.editorColumns" ); + buttonStyle = UIManager.getString( "ComboBox.buttonStyle" ); arrowType = UIManager.getString( "Component.arrowType" ); isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" ); borderColor = UIManager.getColor( "Component.borderColor" ); @@ -314,12 +317,11 @@ public class FlatComboBoxUI // use non-UIResource colors because when SwingUtilities.updateComponentTreeUI() // is used, then the editor is updated after the combobox and the // colors are again replaced with default colors - boolean enabled = editor.isEnabled(); - editor.setForeground( FlatUIUtils.nonUIResource( (enabled || editor instanceof JTextComponent) - ? comboBox.getForeground() - : disabledForeground ) ); - if( editor instanceof JTextComponent ) - ((JTextComponent)editor).setDisabledTextColor( FlatUIUtils.nonUIResource( disabledForeground ) ); + boolean isTextComponent = editor instanceof JTextComponent; + editor.setForeground( FlatUIUtils.nonUIResource( getForeground( isTextComponent || editor.isEnabled() ) ) ); + + if( isTextComponent ) + ((JTextComponent)editor).setDisabledTextColor( FlatUIUtils.nonUIResource( getForeground( false ) ) ); } @Override @@ -350,18 +352,17 @@ public class FlatComboBoxUI int height = c.getHeight(); int arrowX = arrowButton.getX(); int arrowWidth = arrowButton.getWidth(); + boolean paintButton = (comboBox.isEditable() || "button".equals( buttonStyle )) && !"none".equals( buttonStyle ); boolean enabled = comboBox.isEnabled(); boolean isLeftToRight = comboBox.getComponentOrientation().isLeftToRight(); // paint background - g2.setColor( enabled - ? (editableBackground != null && comboBox.isEditable() ? editableBackground : c.getBackground()) - : getDisabledBackground( comboBox ) ); + g2.setColor( getBackground( enabled ) ); FlatUIUtils.paintComponentBackground( g2, 0, 0, width, height, focusWidth, arc ); // paint arrow button background if( enabled ) { - g2.setColor( comboBox.isEditable() ? buttonEditableBackground : buttonBackground ); + g2.setColor( paintButton ? buttonEditableBackground : buttonBackground ); Shape oldClip = g2.getClip(); if( isLeftToRight ) g2.clipRect( arrowX, 0, width - arrowX, height ); @@ -372,7 +373,7 @@ public class FlatComboBoxUI } // paint vertical line between value and arrow button - if( comboBox.isEditable() ) { + if( paintButton ) { g2.setColor( enabled ? borderColor : disabledBorderColor ); float lw = scale( 1f ); float lx = isLeftToRight ? arrowX : arrowX + arrowWidth - lw; @@ -395,8 +396,8 @@ public class FlatComboBoxUI uninstallCellPaddingBorder( c ); boolean enabled = comboBox.isEnabled(); - c.setForeground( enabled ? comboBox.getForeground() : disabledForeground ); - c.setBackground( enabled ? comboBox.getBackground() : getDisabledBackground( comboBox ) ); + c.setBackground( getBackground( enabled ) ); + c.setForeground( getForeground( enabled ) ); boolean shouldValidate = (c instanceof JPanel); if( padding != null ) @@ -416,8 +417,14 @@ public class FlatComboBoxUI // not necessary because already painted in update() } - private Color getDisabledBackground( JComponent c ) { - return isIntelliJTheme ? FlatUIUtils.getParentBackground( c ) : disabledBackground; + protected Color getBackground( boolean enabled ) { + return enabled + ? (editableBackground != null && comboBox.isEditable() ? editableBackground : comboBox.getBackground()) + : (isIntelliJTheme ? FlatUIUtils.getParentBackground( comboBox ) : disabledBackground); + } + + protected Color getForeground( boolean enabled ) { + return enabled ? comboBox.getForeground() : disabledForeground; } @Override diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatEditorPaneUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatEditorPaneUI.java index f988d89e..45484034 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatEditorPaneUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatEditorPaneUI.java @@ -19,6 +19,7 @@ package com.formdev.flatlaf.ui; import static com.formdev.flatlaf.util.UIScale.scale; import java.awt.Dimension; import java.awt.Graphics; +import java.awt.Graphics2D; import java.beans.PropertyChangeEvent; import javax.swing.JComponent; import javax.swing.JEditorPane; @@ -28,6 +29,7 @@ import javax.swing.plaf.UIResource; import javax.swing.plaf.basic.BasicEditorPaneUI; import javax.swing.text.JTextComponent; import com.formdev.flatlaf.FlatClientProperties; +import com.formdev.flatlaf.util.HiDPIUtils; /** * Provides the Flat LaF UI delegate for {@link javax.swing.JEditorPane}. @@ -119,6 +121,11 @@ public class FlatEditorPaneUI return size; } + @Override + protected void paintSafely( Graphics g ) { + super.paintSafely( HiDPIUtils.createGraphicsTextYCorrection( (Graphics2D) g ) ); + } + @Override protected void paintBackground( Graphics g ) { JTextComponent c = getComponent(); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatLabelUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatLabelUI.java index 6ed86360..b26853b2 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatLabelUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatLabelUI.java @@ -19,6 +19,7 @@ package com.formdev.flatlaf.ui; import java.awt.Color; import java.awt.FontMetrics; import java.awt.Graphics; +import java.awt.Graphics2D; import java.awt.Rectangle; import java.beans.PropertyChangeEvent; import javax.swing.Icon; @@ -30,6 +31,7 @@ import javax.swing.plaf.ComponentUI; import javax.swing.plaf.basic.BasicHTML; import javax.swing.plaf.basic.BasicLabelUI; import com.formdev.flatlaf.FlatLaf; +import com.formdev.flatlaf.util.HiDPIUtils; import com.formdev.flatlaf.util.UIScale; /** @@ -124,6 +126,17 @@ public class FlatLabelUI BasicHTML.updateRenderer( c, text ); } + static Graphics createGraphicsHTMLTextYCorrection( Graphics g, JComponent c ) { + return (c.getClientProperty( BasicHTML.propertyKey ) != null) + ? HiDPIUtils.createGraphicsTextYCorrection( (Graphics2D) g ) + : g; + } + + @Override + public void paint( Graphics g, JComponent c ) { + super.paint( createGraphicsHTMLTextYCorrection( g, c ), c ); + } + @Override protected void paintEnabledText( JLabel l, Graphics g, String s, int textX, int textY ) { int mnemIndex = FlatLaf.isShowMnemonics() ? l.getDisplayedMnemonicIndex() : -1; diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemRenderer.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemRenderer.java index 4bd7107c..d1904120 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemRenderer.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemRenderer.java @@ -40,6 +40,7 @@ import javax.swing.plaf.basic.BasicHTML; import javax.swing.text.View; import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.util.Graphics2DProxy; +import com.formdev.flatlaf.util.HiDPIUtils; /** * Renderer for menu items. @@ -360,7 +361,7 @@ debug*/ if( isArmedOrSelected( menuItem ) && selectionForeground != null ) g = new GraphicsProxyWithTextColor( (Graphics2D) g, selectionForeground ); - htmlView.paint( g, textRect ); + htmlView.paint( HiDPIUtils.createGraphicsTextYCorrection( (Graphics2D) g ), textRect ); } protected static boolean isArmedOrSelected( JMenuItem menuItem ) { @@ -371,7 +372,7 @@ debug*/ return menuItem instanceof JMenu && ((JMenu)menuItem).isTopLevelMenu(); } - private boolean isUnderlineSelection() { + protected boolean isUnderlineSelection() { return "underline".equals( UIManager.getString( "MenuItem.selectionType" ) ); } @@ -416,6 +417,13 @@ debug*/ if( accelerator == cachedAccelerator ) return cachedAcceleratorText; + cachedAccelerator = accelerator; + cachedAcceleratorText = getTextForAccelerator( accelerator ); + + return cachedAcceleratorText; + } + + protected String getTextForAccelerator( KeyStroke accelerator ) { StringBuilder buf = new StringBuilder(); int modifiers = accelerator.getModifiers(); if( modifiers != 0 ) @@ -427,10 +435,7 @@ debug*/ else buf.append( accelerator.getKeyChar() ); - cachedAccelerator = accelerator; - cachedAcceleratorText = buf.toString(); - - return cachedAcceleratorText; + return buf.toString(); } //---- class MinSizeIcon -------------------------------------------------- diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPasswordFieldUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPasswordFieldUI.java index 92b4c9f5..0ca2abda 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPasswordFieldUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPasswordFieldUI.java @@ -19,6 +19,7 @@ package com.formdev.flatlaf.ui; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; +import java.awt.Graphics2D; import java.awt.Toolkit; import java.awt.event.FocusListener; import java.awt.event.KeyAdapter; @@ -33,6 +34,7 @@ import javax.swing.plaf.ComponentUI; import javax.swing.plaf.basic.BasicPasswordFieldUI; import javax.swing.text.Caret; import javax.swing.text.JTextComponent; +import com.formdev.flatlaf.util.HiDPIUtils; /** * Provides the Flat LaF UI delegate for {@link javax.swing.JPasswordField}. @@ -153,7 +155,8 @@ public class FlatPasswordFieldUI FlatTextFieldUI.paintBackground( g, getComponent(), isIntelliJTheme ); FlatTextFieldUI.paintPlaceholder( g, getComponent(), placeholderForeground ); paintCapsLock( g ); - super.paintSafely( g ); + + super.paintSafely( HiDPIUtils.createGraphicsTextYCorrection( (Graphics2D) g ) ); } protected void paintCapsLock( Graphics g ) { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java index 37fc2c1f..08f479e0 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java @@ -153,7 +153,8 @@ public class FlatPopupFactory @Override public void show() { - delegate.show(); + if( delegate != null ) + delegate.show(); } @Override @@ -185,6 +186,7 @@ public class FlatPopupFactory private boolean oldOpaque; // medium weight + private boolean mediumWeightShown; private Panel mediumWeightPanel; private JPanel dropShadowPanel; private ComponentListener mediumPanelListener; @@ -311,6 +313,11 @@ public class FlatPopupFactory } private void showMediumWeightDropShadow() { + if( mediumWeightShown ) + return; + + mediumWeightShown = true; + Window window = SwingUtilities.windowForComponent( owner ); if( window == null ) return; @@ -326,24 +333,29 @@ public class FlatPopupFactory mediumPanelListener = new ComponentListener() { @Override public void componentShown( ComponentEvent e ) { - dropShadowPanel.setVisible( true ); + if( dropShadowPanel != null ) + dropShadowPanel.setVisible( true ); } @Override public void componentHidden( ComponentEvent e ) { - dropShadowPanel.setVisible( false ); + if( dropShadowPanel != null ) + dropShadowPanel.setVisible( false ); } @Override public void componentMoved( ComponentEvent e ) { - Point location = mediumWeightPanel.getLocation(); - Insets insets = dropShadowPanel.getInsets(); - dropShadowPanel.setLocation( location.x - insets.left, location.y - insets.top ); + if( dropShadowPanel != null && mediumWeightPanel != null ) { + Point location = mediumWeightPanel.getLocation(); + Insets insets = dropShadowPanel.getInsets(); + dropShadowPanel.setLocation( location.x - insets.left, location.y - insets.top ); + } } @Override public void componentResized( ComponentEvent e ) { - dropShadowPanel.setSize( FlatUIUtils.addInsets( mediumWeightPanel.getSize(), dropShadowPanel.getInsets() ) ); + if( dropShadowPanel != null ) + dropShadowPanel.setSize( FlatUIUtils.addInsets( mediumWeightPanel.getSize(), dropShadowPanel.getInsets() ) ); } }; mediumWeightPanel.addComponentListener( mediumPanelListener ); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatProgressBarUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatProgressBarUI.java index 705725fd..4ac1efbd 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatProgressBarUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatProgressBarUI.java @@ -31,6 +31,7 @@ import javax.swing.LookAndFeel; import javax.swing.UIManager; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.basic.BasicProgressBarUI; +import com.formdev.flatlaf.util.HiDPIUtils; import com.formdev.flatlaf.util.UIScale; /** @@ -194,6 +195,11 @@ public class FlatProgressBarUI } } + @Override + protected void paintString( Graphics g, int x, int y, int width, int height, int amountFull, Insets b ) { + super.paintString( HiDPIUtils.createGraphicsTextYCorrection( (Graphics2D) g ), x, y, width, height, amountFull, b ); + } + @Override protected void setAnimationIndex( int newValue ) { super.setAnimationIndex( newValue ); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRadioButtonUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRadioButtonUI.java index ffc2b854..7bde15d2 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRadioButtonUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRadioButtonUI.java @@ -153,7 +153,7 @@ public class FlatRadioButtonUI } } - super.paint( g, c ); + super.paint( FlatLabelUI.createGraphicsHTMLTextYCorrection( g, c ), c ); } @Override diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java index 0b43498f..26571390 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java @@ -59,13 +59,18 @@ import com.formdev.flatlaf.util.UIScale; * @uiDefault ScrollBar.thumbInsets Insets * @uiDefault ScrollBar.trackArc int * @uiDefault ScrollBar.thumbArc int - * @uiDefault ScrollBar.hoverTrackColor Color - * @uiDefault ScrollBar.hoverThumbColor Color + * @uiDefault ScrollBar.hoverTrackColor Color optional + * @uiDefault ScrollBar.hoverThumbColor Color optional * @uiDefault ScrollBar.hoverThumbWithTrack boolean + * @uiDefault ScrollBar.pressedTrackColor Color optional + * @uiDefault ScrollBar.pressedThumbColor Color optional + * @uiDefault ScrollBar.pressedThumbWithTrack boolean * @uiDefault Component.arrowType String triangle (default) or chevron * @uiDefault ScrollBar.showButtons boolean * @uiDefault ScrollBar.buttonArrowColor Color * @uiDefault ScrollBar.buttonDisabledArrowColor Color + * @uiDefault ScrollBar.hoverButtonBackground Color optional + * @uiDefault ScrollBar.pressedButtonBackground Color optional * * @author Karl Tauber */ @@ -79,11 +84,16 @@ public class FlatScrollBarUI protected Color hoverTrackColor; protected Color hoverThumbColor; protected boolean hoverThumbWithTrack; + protected Color pressedTrackColor; + protected Color pressedThumbColor; + protected boolean pressedThumbWithTrack; protected boolean showButtons; protected String arrowType; protected Color buttonArrowColor; protected Color buttonDisabledArrowColor; + protected Color hoverButtonBackground; + protected Color pressedButtonBackground; private MouseAdapter hoverListener; protected boolean hoverTrack; @@ -122,11 +132,16 @@ public class FlatScrollBarUI hoverTrackColor = UIManager.getColor( "ScrollBar.hoverTrackColor" ); hoverThumbColor = UIManager.getColor( "ScrollBar.hoverThumbColor" ); hoverThumbWithTrack = UIManager.getBoolean( "ScrollBar.hoverThumbWithTrack" ); + pressedTrackColor = UIManager.getColor( "ScrollBar.pressedTrackColor" ); + pressedThumbColor = UIManager.getColor( "ScrollBar.pressedThumbColor" ); + pressedThumbWithTrack = UIManager.getBoolean( "ScrollBar.pressedThumbWithTrack" ); showButtons = UIManager.getBoolean( "ScrollBar.showButtons" ); arrowType = UIManager.getString( "Component.arrowType" ); buttonArrowColor = UIManager.getColor( "ScrollBar.buttonArrowColor" ); buttonDisabledArrowColor = UIManager.getColor( "ScrollBar.buttonDisabledArrowColor" ); + hoverButtonBackground = UIManager.getColor( "ScrollBar.hoverButtonBackground" ); + pressedButtonBackground = UIManager.getColor( "ScrollBar.pressedButtonBackground" ); } @Override @@ -137,9 +152,13 @@ public class FlatScrollBarUI thumbInsets = null; hoverTrackColor = null; hoverThumbColor = null; + pressedTrackColor = null; + pressedThumbColor = null; buttonArrowColor = null; buttonDisabledArrowColor = null; + hoverButtonBackground = null; + pressedButtonBackground = null; } @Override @@ -188,12 +207,12 @@ public class FlatScrollBarUI } private JButton createArrowButton( int orientation ) { - FlatArrowButton button = new FlatArrowButton( orientation, - arrowType, buttonArrowColor, buttonDisabledArrowColor, null, hoverTrackColor ) + FlatArrowButton button = new FlatArrowButton( orientation, arrowType, buttonArrowColor, + buttonDisabledArrowColor, null, hoverButtonBackground, pressedButtonBackground ) { @Override - protected Color deriveHoverBackground( Color hoverBackground ) { - return getTrackColor( scrollbar, true ) ; + protected Color deriveBackground( Color background ) { + return FlatUIUtils.deriveColor( background, scrollbar.getBackground() ); } @Override @@ -221,7 +240,7 @@ public class FlatScrollBarUI return button; } - private boolean isShowButtons() { + protected boolean isShowButtons() { Object showButtons = scrollbar.getClientProperty( FlatClientProperties.SCROLL_BAR_SHOW_BUTTONS ); if( showButtons == null && scrollbar.getParent() instanceof JScrollPane ) showButtons = ((JScrollPane)scrollbar.getParent()).getClientProperty( FlatClientProperties.SCROLL_BAR_SHOW_BUTTONS ); @@ -236,7 +255,7 @@ public class FlatScrollBarUI @Override protected void paintTrack( Graphics g, JComponent c, Rectangle trackBounds ) { - g.setColor( getTrackColor( c, hoverTrack ) ); + g.setColor( getTrackColor( c, hoverTrack, isPressed && hoverTrack && !hoverThumb ) ); paintTrackOrThumb( g, c, trackBounds, trackInsets, trackArc ); } @@ -245,7 +264,8 @@ public class FlatScrollBarUI if( thumbBounds.isEmpty() || !scrollbar.isEnabled() ) return; - g.setColor( getThumbColor( c, hoverThumb ) ); + g.setColor( getThumbColor( c, hoverThumb || (hoverThumbWithTrack && hoverTrack), + isPressed && (hoverThumb || (pressedThumbWithTrack && hoverTrack)) ) ); paintTrackOrThumb( g, c, thumbBounds, thumbInsets, thumbArc ); } @@ -277,15 +297,23 @@ public class FlatScrollBarUI // do not paint } - protected Color getTrackColor( JComponent c, boolean hover ) { + protected Color getTrackColor( JComponent c, boolean hover, boolean pressed ) { Color trackColor = FlatUIUtils.deriveColor( this.trackColor, c.getBackground() ); - return hover ? FlatUIUtils.deriveColor( hoverTrackColor, trackColor ) : trackColor; + return (pressed && pressedTrackColor != null) + ? FlatUIUtils.deriveColor( pressedTrackColor, trackColor ) + : ((hover && hoverTrackColor != null) + ? FlatUIUtils.deriveColor( hoverTrackColor, trackColor ) + : trackColor); } - protected Color getThumbColor( JComponent c, boolean hover ) { + protected Color getThumbColor( JComponent c, boolean hover, boolean pressed ) { Color trackColor = FlatUIUtils.deriveColor( this.trackColor, c.getBackground() ); Color thumbColor = FlatUIUtils.deriveColor( this.thumbColor, trackColor ); - return hover ? FlatUIUtils.deriveColor( hoverThumbColor, thumbColor ) : thumbColor; + return (pressed && pressedThumbColor != null) + ? FlatUIUtils.deriveColor( pressedThumbColor, thumbColor ) + : ((hover && hoverThumbColor != null) + ? FlatUIUtils.deriveColor( hoverThumbColor, thumbColor ) + : thumbColor); } @Override @@ -323,11 +351,14 @@ public class FlatScrollBarUI @Override public void mousePressed( MouseEvent e ) { isPressed = true; + repaint(); } @Override public void mouseReleased( MouseEvent e ) { isPressed = false; + repaint(); + update( e.getX(), e.getY() ); } @@ -336,7 +367,7 @@ public class FlatScrollBarUI boolean inThumb = getThumbBounds().contains( x, y ); if( inTrack != hoverTrack || inThumb != hoverThumb ) { hoverTrack = inTrack; - hoverThumb = inThumb || (hoverThumbWithTrack && inTrack); + hoverThumb = inThumb; repaint(); } } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java index 395534cc..c3626299 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java @@ -58,6 +58,7 @@ import com.formdev.flatlaf.FlatClientProperties; * * * @uiDefault Component.minimumWidth int + * @uiDefault Spinner.buttonStyle String button (default) or none * @uiDefault Component.arrowType String triangle (default) or chevron * @uiDefault Component.isIntelliJTheme boolean * @uiDefault Component.borderColor Color @@ -78,6 +79,7 @@ public class FlatSpinnerUI private Handler handler; protected int minimumWidth; + protected String buttonStyle; protected String arrowType; protected boolean isIntelliJTheme; protected Color borderColor; @@ -101,6 +103,7 @@ public class FlatSpinnerUI LookAndFeel.installProperty( spinner, "opaque", false ); minimumWidth = UIManager.getInt( "Component.minimumWidth" ); + buttonStyle = UIManager.getString( "Spinner.buttonStyle" ); arrowType = UIManager.getString( "Component.arrowType" ); isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" ); borderColor = UIManager.getColor( "Component.borderColor" ); @@ -203,8 +206,8 @@ public class FlatSpinnerUI // use non-UIResource colors because when SwingUtilities.updateComponentTreeUI() // is used, then the text field is updated after the spinner and the // colors are again replaced with default colors - textField.setForeground( FlatUIUtils.nonUIResource( spinner.getForeground() ) ); - textField.setDisabledTextColor( FlatUIUtils.nonUIResource( disabledForeground ) ); + textField.setForeground( FlatUIUtils.nonUIResource( getForeground( true ) ) ); + textField.setDisabledTextColor( FlatUIUtils.nonUIResource( getForeground( false ) ) ); } } @@ -214,6 +217,16 @@ public class FlatSpinnerUI : null; } + protected Color getBackground( boolean enabled ) { + return enabled + ? spinner.getBackground() + : (isIntelliJTheme ? FlatUIUtils.getParentBackground( spinner ) : disabledBackground); + } + + protected Color getForeground( boolean enabled ) { + return enabled ? spinner.getForeground() : disabledForeground; + } + @Override protected LayoutManager createLayout() { return getHandler(); @@ -258,17 +271,16 @@ public class FlatSpinnerUI Component nextButton = getHandler().nextButton; int arrowX = nextButton.getX(); int arrowWidth = nextButton.getWidth(); + boolean paintButton = !"none".equals( buttonStyle ); boolean enabled = spinner.isEnabled(); boolean isLeftToRight = spinner.getComponentOrientation().isLeftToRight(); // paint background - g2.setColor( enabled - ? c.getBackground() - : (isIntelliJTheme ? FlatUIUtils.getParentBackground( c ) : disabledBackground) ); + g2.setColor( getBackground( enabled ) ); FlatUIUtils.paintComponentBackground( g2, 0, 0, width, height, focusWidth, arc ); // paint arrow buttons background - if( enabled ) { + if( paintButton && enabled ) { g2.setColor( buttonBackground ); Shape oldClip = g2.getClip(); if( isLeftToRight ) @@ -280,10 +292,12 @@ public class FlatSpinnerUI } // paint vertical line between value and arrow buttons - g2.setColor( enabled ? borderColor : disabledBorderColor ); - float lw = scale( 1f ); - float lx = isLeftToRight ? arrowX : arrowX + arrowWidth - lw; - g2.fill( new Rectangle2D.Float( lx, focusWidth, lw, height - 1 - (focusWidth * 2) ) ); + if( paintButton ) { + g2.setColor( enabled ? borderColor : disabledBorderColor ); + float lw = scale( 1f ); + float lx = isLeftToRight ? arrowX : arrowX + arrowWidth - lw; + g2.fill( new Rectangle2D.Float( lx, focusWidth, lw, height - 1 - (focusWidth * 2) ) ); + } paint( g, c ); } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTabbedPaneUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTabbedPaneUI.java index 1a8cf0ca..2b5f26b8 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTabbedPaneUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTabbedPaneUI.java @@ -333,28 +333,30 @@ public class FlatTabbedPaneUI // paint tab separators if( clientPropertyBoolean( tabPane, TABBED_PANE_SHOW_TAB_SEPARATORS, showTabSeparators ) && !isLastInRun( tabIndex ) ) - { - float sepWidth = UIScale.scale( 1f ); - float offset = tabSeparatorsFullHeight ? 0 : UIScale.scale( 5f ); - - g.setColor( (tabSeparatorColor != null) ? tabSeparatorColor : contentAreaColor ); - if( tabPlacement == LEFT || tabPlacement == RIGHT ) { - // paint tab separator at bottom side - ((Graphics2D)g).fill( new Rectangle2D.Float( x + offset, y + h - sepWidth, w - (offset * 2), sepWidth ) ); - } else if( tabPane.getComponentOrientation().isLeftToRight() ) { - // paint tab separator at right side - ((Graphics2D)g).fill( new Rectangle2D.Float( x + w - sepWidth, y + offset, sepWidth, h - (offset * 2) ) ); - } else { - // paint tab separator at left side - ((Graphics2D)g).fill( new Rectangle2D.Float( x, y + offset, sepWidth, h - (offset * 2) ) ); - } - } + paintTabSeparator( g, tabPlacement, x, y, w, h ); if( isSelected ) paintTabSelection( g, tabPlacement, x, y, w, h ); } - protected void paintTabSelection( Graphics g, int tabPlacement, int x, int y, int w, int h ) { + protected void paintTabSeparator( Graphics g, int tabPlacement, int x, int y, int w, int h ) { + float sepWidth = UIScale.scale( 1f ); + float offset = tabSeparatorsFullHeight ? 0 : UIScale.scale( 5f ); + + g.setColor( (tabSeparatorColor != null) ? tabSeparatorColor : contentAreaColor ); + if( tabPlacement == LEFT || tabPlacement == RIGHT ) { + // paint tab separator at bottom side + ((Graphics2D)g).fill( new Rectangle2D.Float( x + offset, y + h - sepWidth, w - (offset * 2), sepWidth ) ); + } else if( tabPane.getComponentOrientation().isLeftToRight() ) { + // paint tab separator at right side + ((Graphics2D)g).fill( new Rectangle2D.Float( x + w - sepWidth, y + offset, sepWidth, h - (offset * 2) ) ); + } else { + // paint tab separator at left side + ((Graphics2D)g).fill( new Rectangle2D.Float( x, y + offset, sepWidth, h - (offset * 2) ) ); + } + } + + protected void paintTabSelection( Graphics g, int tabPlacement, int x, int y, int w, int h ) { // increase clip bounds in scroll-tab-layout to paint over the separator line Rectangle clipBounds = isScrollTabLayout() ? g.getClipBounds() : null; if( clipBounds != null ) { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableCellBorder.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableCellBorder.java index 05669edf..cd25abae 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableCellBorder.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableCellBorder.java @@ -86,7 +86,7 @@ public class FlatTableCellBorder /** * Checks whether at least one selected cell is editable. */ - private boolean isSelectionEditable( JTable table ) { + protected boolean isSelectionEditable( JTable table ) { if( table.getRowSelectionAllowed() ) { int columnCount = table.getColumnCount(); int[] selectedRows = table.getSelectedRows(); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java index e5c7754e..227bb478 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java @@ -86,26 +86,12 @@ public class FlatTableHeaderUI case "top": sortIconPosition = SwingConstants.TOP; break; case "bottom": sortIconPosition = SwingConstants.BOTTOM; break; } - - // use own renderer if necessary - if( sortIconPosition != SwingConstants.RIGHT ) { - TableCellRenderer defaultRenderer = header.getDefaultRenderer(); - if( defaultRenderer instanceof UIResource ) - header.setDefaultRenderer( new FlatTableCellHeaderRenderer( defaultRenderer ) ); - } } @Override protected void uninstallDefaults() { super.uninstallDefaults(); - // restore default renderer - TableCellRenderer defaultRenderer = header.getDefaultRenderer(); - if( defaultRenderer instanceof FlatTableCellHeaderRenderer ) { - ((FlatTableCellHeaderRenderer)defaultRenderer).reset(); - header.setDefaultRenderer( ((FlatTableCellHeaderRenderer)defaultRenderer).delegate ); - } - separatorColor = null; bottomSeparatorColor = null; } @@ -125,8 +111,22 @@ public class FlatTableHeaderUI if( paintBorders ) paintColumnBorders( g, c ); + // temporary use own default renderer if necessary + FlatTableCellHeaderRenderer sortIconRenderer = null; + if( sortIconPosition != SwingConstants.RIGHT ) { + sortIconRenderer = new FlatTableCellHeaderRenderer( header.getDefaultRenderer() ); + header.setDefaultRenderer( sortIconRenderer ); + } + + // paint header super.paint( g, c ); + // restore default renderer + if( sortIconRenderer != null ) { + sortIconRenderer.reset(); + header.setDefaultRenderer( sortIconRenderer.delegate ); + } + if( paintBorders ) paintDraggedColumnBorders( g, c ); } @@ -257,6 +257,7 @@ public class FlatTableHeaderUI { private final TableCellRenderer delegate; + private JLabel l; private int oldHorizontalTextPosition = -1; private Border origBorder; private Icon sortIcon; @@ -273,7 +274,7 @@ public class FlatTableHeaderUI if( !(c instanceof JLabel) ) return c; - JLabel l = (JLabel) c; + l = (JLabel) c; if( sortIconPosition == SwingConstants.LEFT ) { if( oldHorizontalTextPosition < 0 ) @@ -291,11 +292,8 @@ public class FlatTableHeaderUI } void reset() { - if( sortIconPosition == SwingConstants.LEFT && oldHorizontalTextPosition >= 0 ) { - Component c = getTableCellRendererComponent( header.getTable(), "", false, false, -1, 0 ); - if( c instanceof JLabel && ((JLabel)c).getHorizontalTextPosition() == SwingConstants.RIGHT ) - ((JLabel)c).setHorizontalTextPosition( oldHorizontalTextPosition ); - } + if( l != null && sortIconPosition == SwingConstants.LEFT && oldHorizontalTextPosition >= 0 ) + l.setHorizontalTextPosition( oldHorizontalTextPosition ); } @Override diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextAreaUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextAreaUI.java index 226e57e5..5d640192 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextAreaUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextAreaUI.java @@ -19,6 +19,7 @@ package com.formdev.flatlaf.ui; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; +import java.awt.Graphics2D; import java.beans.PropertyChangeEvent; import javax.swing.JComponent; import javax.swing.JTextArea; @@ -27,6 +28,7 @@ import javax.swing.plaf.ComponentUI; import javax.swing.plaf.UIResource; import javax.swing.plaf.basic.BasicTextAreaUI; import javax.swing.text.JTextComponent; +import com.formdev.flatlaf.util.HiDPIUtils; /** * Provides the Flat LaF UI delegate for {@link javax.swing.JTextArea}. @@ -89,6 +91,11 @@ public class FlatTextAreaUI FlatEditorPaneUI.propertyChange( getComponent(), e ); } + @Override + protected void paintSafely( Graphics g ) { + super.paintSafely( HiDPIUtils.createGraphicsTextYCorrection( (Graphics2D) g ) ); + } + @Override protected void paintBackground( Graphics g ) { JTextComponent c = getComponent(); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java index 07600998..edcc3c0b 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java @@ -38,6 +38,7 @@ import javax.swing.plaf.basic.BasicTextFieldUI; import javax.swing.text.Caret; import javax.swing.text.JTextComponent; import com.formdev.flatlaf.FlatClientProperties; +import com.formdev.flatlaf.util.HiDPIUtils; /** * Provides the Flat LaF UI delegate for {@link javax.swing.JTextField}. @@ -146,7 +147,8 @@ public class FlatTextFieldUI protected void paintSafely( Graphics g ) { paintBackground( g, getComponent(), isIntelliJTheme ); paintPlaceholder( g, getComponent(), placeholderForeground ); - super.paintSafely( g ); + + super.paintSafely( HiDPIUtils.createGraphicsTextYCorrection( (Graphics2D) g ) ); } @Override diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextPaneUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextPaneUI.java index 9a8715c5..0def747f 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextPaneUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextPaneUI.java @@ -18,6 +18,7 @@ package com.formdev.flatlaf.ui; import java.awt.Dimension; import java.awt.Graphics; +import java.awt.Graphics2D; import java.beans.PropertyChangeEvent; import javax.swing.JComponent; import javax.swing.JEditorPane; @@ -26,6 +27,7 @@ import javax.swing.plaf.ComponentUI; import javax.swing.plaf.UIResource; import javax.swing.plaf.basic.BasicTextPaneUI; import javax.swing.text.JTextComponent; +import com.formdev.flatlaf.util.HiDPIUtils; /** * Provides the Flat LaF UI delegate for {@link javax.swing.JTextPane}. @@ -99,6 +101,11 @@ public class FlatTextPaneUI return FlatEditorPaneUI.applyMinimumWidth( c, super.getMinimumSize( c ), minimumWidth ); } + @Override + protected void paintSafely( Graphics g ) { + super.paintSafely( HiDPIUtils.createGraphicsTextYCorrection( (Graphics2D) g ) ); + } + @Override protected void paintBackground( Graphics g ) { JTextComponent c = getComponent(); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToggleButtonUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToggleButtonUI.java index 2fb12278..6eda8cc0 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToggleButtonUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToggleButtonUI.java @@ -50,6 +50,7 @@ import com.formdev.flatlaf.util.UIScale; * @uiDefault ToggleButton.startBackground Color optional; if set, a gradient paint is used and ToggleButton.background is ignored * @uiDefault ToggleButton.endBackground Color optional; if set, a gradient paint is used * @uiDefault ToggleButton.pressedBackground Color + * @uiDefault ToggleButton.disabledBackground Color optional * @uiDefault ToggleButton.disabledText Color * @uiDefault ToggleButton.toolbar.hoverBackground Color * @uiDefault ToggleButton.toolbar.pressedBackground Color diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolTipUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolTipUI.java index 2b9c1b57..e6a24c35 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolTipUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolTipUI.java @@ -29,6 +29,7 @@ import javax.swing.SwingUtilities; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.basic.BasicHTML; import javax.swing.plaf.basic.BasicToolTipUI; +import com.formdev.flatlaf.util.HiDPIUtils; import com.formdev.flatlaf.util.StringUtils; /** @@ -130,7 +131,7 @@ public class FlatToolTipUI FlatUIUtils.drawString( c, g, line, leftToRight ? x : x2 - SwingUtilities.computeStringWidth( fm, line ), y ); } } else - super.paint( g, c ); + super.paint( HiDPIUtils.createGraphicsTextYCorrection( (Graphics2D) g ), c ); } private boolean isMultiLine( JComponent c ) { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatUIUtils.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatUIUtils.java index 492f6ba3..8e977fba 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatUIUtils.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatUIUtils.java @@ -46,7 +46,6 @@ import com.formdev.flatlaf.FlatClientProperties; import com.formdev.flatlaf.util.DerivedColor; import com.formdev.flatlaf.util.Graphics2DProxy; import com.formdev.flatlaf.util.HiDPIUtils; -import com.formdev.flatlaf.util.JavaCompatibility; import com.formdev.flatlaf.util.UIScale; /** @@ -449,23 +448,24 @@ public class FlatUIUtils } /** - * Draws the given string at the specified location using text properties - * and anti-aliasing hints from the provided component. - * - * Use this method instead of Graphics.drawString() for correct anti-aliasing. - * - * Replacement for SwingUtilities2.drawString() + * Draws the given string at the specified location. + * The provided component is used to query text properties and anti-aliasing hints. + *

+ * Use this method instead of {@link Graphics#drawString(String, int, int)} for correct anti-aliasing. + *

+ * Replacement for {@code SwingUtilities2.drawString()}. + * Uses {@link HiDPIUtils#drawStringWithYCorrection(JComponent, Graphics2D, String, int, int)}. */ public static void drawString( JComponent c, Graphics g, String text, int x, int y ) { - JavaCompatibility.drawStringUnderlineCharAt( c, g, text, -1, x, y ); + HiDPIUtils.drawStringWithYCorrection( c, (Graphics2D) g, text, x, y ); } /** - * Draws the given string at the specified location underlining the specified - * character. The provided component is used to query text properties and - * anti-aliasing hints. - * - * Replacement for SwingUtilities2.drawStringUnderlineCharAt() + * Draws the given string at the specified location underlining the specified character. + * The provided component is used to query text properties and anti-aliasing hints. + *

+ * Replacement for {@code SwingUtilities2.drawStringUnderlineCharAt()}. + * Uses {@link HiDPIUtils#drawStringUnderlineCharAtWithYCorrection(JComponent, Graphics2D, String, int, int, int)}. */ public static void drawStringUnderlineCharAt( JComponent c, Graphics g, String text, int underlinedIndex, int x, int y ) @@ -487,7 +487,7 @@ public class FlatUIUtils }; } - JavaCompatibility.drawStringUnderlineCharAt( c, g, text, underlinedIndex, x, y ); + HiDPIUtils.drawStringUnderlineCharAtWithYCorrection( c, (Graphics2D) g, text, underlinedIndex, x, y ); } public static boolean hasOpaqueBeenExplicitlySet( JComponent c ) { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java index 9f0592a7..471dd7c0 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java @@ -35,7 +35,7 @@ public class ColorFunctions return HSLColor.toRGB( hsl, alpha ); } - private static float clamp( float value ) { + public static float clamp( float value ) { return (value < 0) ? 0 : ((value > 100) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/HiDPIUtils.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/HiDPIUtils.java index c49048b2..93b417a6 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/HiDPIUtils.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/HiDPIUtils.java @@ -16,9 +16,12 @@ package com.formdev.flatlaf.util; +import java.awt.Graphics; import java.awt.Graphics2D; +import java.awt.font.GlyphVector; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; +import java.text.AttributedCharacterIterator; import javax.swing.JComponent; /** @@ -95,4 +98,134 @@ public class HiDPIUtils private static double normalize( double value ) { return Math.floor( value + 0.25 ) + 0.25; } + + + private static Boolean useTextYCorrection; + + private static boolean useTextYCorrection() { + if( useTextYCorrection == null ) + useTextYCorrection = Boolean.valueOf( System.getProperty( "flatlaf.useTextYCorrection", "true" ) ); + return useTextYCorrection; + } + + /** + * When painting text on HiDPI screens and the JRE scales, then the text is + * painted too far down on some operating systems. + * The higher the system scale factor is, the more. + *

+ * This methods computes a correction value for the Y position. + */ + public static float computeTextYCorrection( Graphics2D g ) { + if( !useTextYCorrection() || !SystemInfo.IS_WINDOWS ) + return 0; + + if( !SystemInfo.IS_JAVA_9_OR_LATER ) + return UIScale.getUserScaleFactor() > 1 ? -UIScale.scale( 0.625f ) : 0; + + AffineTransform t = g.getTransform(); + double scaleY = t.getScaleY(); + if( scaleY < 1.25 ) + return 0; + + // Text is painted at slightly different Y positions depending on scale factor + // and Y position of component. + // The exact reason is not yet known (to me), but there are several factors: + // - fractional scale factors result in fractional component Y device coordinates + // - fractional text Y device coordinates are rounded for horizontal lines of characters + // - maybe different rounding methods for drawing primitives (e.g. rectangle) and text + // - Java adds 0.5 to X/Y positions in before drawing string in BufferedTextPipe.enqueueGlyphList() + + // this is not the optimal solution, but works very good in most cases + // (tested with class FlatPaintingStringTest on Windows 10 with font "Segoe UI") + if( scaleY <= 1.25 ) + return -0.875f; + if( scaleY <= 1.5 ) + return -0.625f; + if( scaleY <= 1.75 ) + return -0.875f; + if( scaleY <= 2.0 ) + return -0.75f; + if( scaleY <= 2.25 ) + return -0.875f; + if( scaleY <= 3.5 ) + return -0.75f; + return -0.875f; + } + + /** + * Applies Y correction and draws the given string at the specified location. + * The provided component is used to query text properties and anti-aliasing hints. + *

+ * Use this method instead of {@link Graphics#drawString(String, int, int)} for correct anti-aliasing. + *

+ * Replacement for {@code SwingUtilities2.drawString()}. + */ + public static void drawStringWithYCorrection( JComponent c, Graphics2D g, String text, int x, int y ) { + drawStringUnderlineCharAtWithYCorrection( c, g, text, -1, x, y ); + } + + /** + * Applies Y correction and draws the given string at the specified location underlining the specified character. + * The provided component is used to query text properties and anti-aliasing hints. + *

+ * Replacement for {@code SwingUtilities2.drawStringUnderlineCharAt()}. + */ + public static void drawStringUnderlineCharAtWithYCorrection( JComponent c, + Graphics2D g, String text, int underlinedIndex, int x, int y ) + { + float yCorrection = computeTextYCorrection( g ); + if( yCorrection != 0 ) { + g.translate( 0, yCorrection ); + JavaCompatibility.drawStringUnderlineCharAt( c, g, text, underlinedIndex, x, y ); + g.translate( 0, -yCorrection ); + } else + JavaCompatibility.drawStringUnderlineCharAt( c, g, text, underlinedIndex, x, y ); + } + + /** + * Creates a graphics object and applies Y correction to string drawing methods. + * If no Y correction is necessary, the passed in graphics object is returned. + */ + public static Graphics2D createGraphicsTextYCorrection( Graphics2D g ) { + float yCorrection = computeTextYCorrection( g ); + if( yCorrection == 0 ) + return g; + + return new Graphics2DProxy( g ) { + @Override + public void drawString( String str, int x, int y ) { + super.drawString( str, x, y + yCorrection ); + } + + @Override + public void drawString( String str, float x, float y ) { + super.drawString( str, x, y + yCorrection ); + } + + @Override + public void drawString( AttributedCharacterIterator iterator, int x, int y ) { + super.drawString( iterator, x, y + yCorrection ); + } + + @Override + public void drawString( AttributedCharacterIterator iterator, float x, float y ) { + super.drawString( iterator, x, y + yCorrection ); + } + + @Override + public void drawChars( char[] data, int offset, int length, int x, int y ) { + super.drawChars( data, offset, length, x, Math.round( y + yCorrection ) ); + } + + @Override + public void drawBytes( byte[] data, int offset, int length, int x, int y ) { + super.drawBytes( data, offset, length, x, Math.round( y + yCorrection ) ); + } + + @Override + public void drawGlyphVector( GlyphVector g, float x, float y ) { + super.drawGlyphVector( g, x, y + yCorrection ); + } + }; + } } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/SystemInfo.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/SystemInfo.java index 0ae20747..19f50696 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/SystemInfo.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/SystemInfo.java @@ -78,7 +78,7 @@ public class SystemInfo IS_KDE = (IS_LINUX && System.getenv( "KDE_FULL_SESSION" ) != null); } - private static long scanVersion( String version ) { + public static long scanVersion( String version ) { int major = 1; int minor = 0; int micro = 0; @@ -96,7 +96,7 @@ public class SystemInfo return toVersion( major, minor, micro, patch ); } - private static long toVersion( int major, int minor, int micro, int patch ) { + public static long toVersion( int major, int minor, int micro, int patch ) { return ((long) major << 48) + ((long) minor << 32) + ((long) micro << 16) + patch; } } diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties index 99d7e083..5f28753a 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties @@ -96,20 +96,39 @@ Button.toolbar.pressedBackground=lighten($Button.background,4%,derived) #---- CheckBox ---- +# enabled CheckBox.icon.borderColor=#6B6B6B -CheckBox.icon.disabledBorderColor=#545556 -CheckBox.icon.selectedBorderColor=#6B6B6B -CheckBox.icon.focusedBorderColor=#466D94 -CheckBox.icon.hoverBorderColor=$CheckBox.icon.focusedBorderColor -CheckBox.icon.selectedFocusedBorderColor=#466D94 CheckBox.icon.background=#43494A -CheckBox.icon.disabledBackground=@background -CheckBox.icon.hoverBackground=lighten($CheckBox.icon.background,3%,derived) -CheckBox.icon.pressedBackground=lighten($CheckBox.icon.background,6%,derived) -CheckBox.icon.selectedBackground=#43494A +CheckBox.icon.selectedBorderColor=$CheckBox.icon.borderColor +CheckBox.icon.selectedBackground=$CheckBox.icon.background CheckBox.icon.checkmarkColor=#A7A7A7 + +# disabled +CheckBox.icon.disabledBorderColor=#545556 +CheckBox.icon.disabledBackground=@background CheckBox.icon.disabledCheckmarkColor=#606060 +# focused +CheckBox.icon.focusedBorderColor=#466D94 +CheckBox.icon.selectedFocusedBorderColor=#466D94 + +# hover +CheckBox.icon.hoverBorderColor=$CheckBox.icon.focusedBorderColor +CheckBox.icon.hoverBackground=lighten($CheckBox.icon.background,3%,derived) + +# pressed +CheckBox.icon.pressedBackground=lighten($CheckBox.icon.background,6%,derived) + +# used if CheckBox.icon.style=filled +# enabled +CheckBox.icon[filled].selectedBorderColor=$CheckBox.icon.checkmarkColor +CheckBox.icon[filled].selectedBackground=$CheckBox.icon.checkmarkColor +CheckBox.icon[filled].checkmarkColor=$CheckBox.icon.background +# hover +CheckBox.icon[filled].selectedHoverBackground=darken($CheckBox.icon[filled].selectedBackground,3%) +# pressed +CheckBox.icon[filled].selectedPressedBackground=darken($CheckBox.icon[filled].selectedBackground,6%) + #---- ComboBox ---- @@ -215,12 +234,20 @@ ProgressBar.selectionForeground=@foreground ProgressBar.selectionBackground=@foreground +#---- RadioButton ---- + +RadioButton.icon[filled].centerDiameter=5 + + #---- ScrollBar ---- ScrollBar.track=lighten(@background,1%,derived noAutoInverse) ScrollBar.thumb=lighten($ScrollBar.track,10%,derived noAutoInverse) ScrollBar.hoverTrackColor=lighten($ScrollBar.track,4%,derived noAutoInverse) ScrollBar.hoverThumbColor=lighten($ScrollBar.thumb,10%,derived noAutoInverse) +ScrollBar.pressedThumbColor=lighten($ScrollBar.thumb,15%,derived noAutoInverse) +ScrollBar.hoverButtonBackground=lighten(@background,5%,derived noAutoInverse) +ScrollBar.pressedButtonBackground=lighten(@background,10%,derived noAutoInverse) #---- Separator ---- diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatIntelliJLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatIntelliJLaf.properties index 77fe04ce..d8e48e2f 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatIntelliJLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatIntelliJLaf.properties @@ -35,13 +35,8 @@ Button.default.borderWidth=1 #---- CheckBox ---- -CheckBox.icon.selectedBorderColor=#4B97D9 -CheckBox.icon.selectedFocusedBorderColor=#ACCFF7 -CheckBox.icon.selectedBackground=#4F9EE3 -CheckBox.icon.checkmarkColor=#FFFFFF - -CheckBox.icon.selectedHoverBackground=#5E94CE -CheckBox.icon.selectedPressedBackground=#72A1D4 +CheckBox.icon.style=filled +CheckBox.icon[filled].focusWidth=2 #---- Component ---- @@ -50,8 +45,3 @@ Component.focusWidth=2 Component.innerFocusWidth=0 Component.innerOutlineWidth=0 Component.arrowType=triangle - - -#---- RadioButton ---- - -RadioButton.icon.centerDiameter=5 diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties index 3c63f90d..0ac57fae 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -181,6 +181,7 @@ ComboBox.padding=2,6,2,6 ComboBox.minimumWidth=72 ComboBox.editorColumns=0 [mac]ComboBox.showPopupOnNavigation=true +ComboBox.buttonStyle=auto #---- Component ---- @@ -439,6 +440,7 @@ ScrollBar.thumbInsets=0,0,0,0 ScrollBar.trackArc=0 ScrollBar.thumbArc=0 ScrollBar.hoverThumbWithTrack=false +ScrollBar.pressedThumbWithTrack=false ScrollBar.showButtons=false ScrollBar.squareButtons=false ScrollBar.buttonArrowColor=$ComboBox.buttonArrowColor @@ -485,6 +487,7 @@ Spinner.buttonDisabledArrowColor=$ComboBox.buttonDisabledArrowColor Spinner.buttonHoverArrowColor=$ComboBox.buttonHoverArrowColor Spinner.padding=@textComponentMargin Spinner.editorBorderPainted=false +Spinner.buttonStyle=button #---- SplitPane ---- diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties index 7f759756..512b4da8 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties @@ -98,20 +98,44 @@ Button.toolbar.pressedBackground=darken($Button.background,15%,derived) #---- CheckBox ---- +# enabled CheckBox.icon.borderColor=#b0b0b0 -CheckBox.icon.disabledBorderColor=#BDBDBD -CheckBox.icon.selectedBorderColor=$CheckBox.icon.borderColor -CheckBox.icon.focusedBorderColor=#7B9FC7 -CheckBox.icon.hoverBorderColor=$CheckBox.icon.focusedBorderColor CheckBox.icon.background=#FFFFFF -CheckBox.icon.disabledBackground=@background -CheckBox.icon.focusedBackground=$Button.focusedBackground -CheckBox.icon.hoverBackground=$Button.hoverBackground -CheckBox.icon.pressedBackground=$Button.pressedBackground -CheckBox.icon.selectedBackground=#FFFFFF +CheckBox.icon.selectedBorderColor=$CheckBox.icon.borderColor +CheckBox.icon.selectedBackground=$CheckBox.icon.background CheckBox.icon.checkmarkColor=#4F9EE3 + +# disabled +CheckBox.icon.disabledBorderColor=#BDBDBD +CheckBox.icon.disabledBackground=@background CheckBox.icon.disabledCheckmarkColor=#ABABAB +# focused +CheckBox.icon.focusedBorderColor=#7B9FC7 +CheckBox.icon.focusedBackground=$Button.focusedBackground + +# hover +CheckBox.icon.hoverBorderColor=$CheckBox.icon.focusedBorderColor +CheckBox.icon.hoverBackground=$Button.hoverBackground + +# pressed +CheckBox.icon.pressedBackground=$Button.pressedBackground + + +# used if CheckBox.icon.style=filled +# enabled +CheckBox.icon[filled].selectedBorderColor=#4B97D9 +CheckBox.icon[filled].selectedBackground=#4F9EE3 +CheckBox.icon[filled].checkmarkColor=#FFFFFF +# focused +CheckBox.icon[filled].selectedFocusedBorderColor=#ACCFF7 +CheckBox.icon[filled].selectedFocusedBackground=$CheckBox.icon[filled].selectedBackground +CheckBox.icon[filled].selectedFocusedCheckmarkColor=$CheckBox.icon.focusedBackground +# hover +CheckBox.icon[filled].selectedHoverBackground=#5E94CE +# pressed +CheckBox.icon[filled].selectedPressedBackground=#72A1D4 + #---- ComboBox ---- @@ -222,12 +246,20 @@ ProgressBar.selectionForeground=@textComponentBackground ProgressBar.selectionBackground=@foreground +#---- RadioButton ---- + +RadioButton.icon[filled].centerDiameter=5 + + #---- ScrollBar ---- ScrollBar.track=lighten(@background,1%,derived noAutoInverse) ScrollBar.thumb=darken($ScrollBar.track,10%,derived noAutoInverse) ScrollBar.hoverTrackColor=darken($ScrollBar.track,3%,derived noAutoInverse) ScrollBar.hoverThumbColor=darken($ScrollBar.thumb,10%,derived noAutoInverse) +ScrollBar.pressedThumbColor=darken($ScrollBar.thumb,20%,derived noAutoInverse) +ScrollBar.hoverButtonBackground=darken(@background,5%,derived noAutoInverse) +ScrollBar.pressedButtonBackground=darken(@background,10%,derived noAutoInverse) #---- Separator ---- diff --git a/flatlaf-demo/.settings/org.eclipse.jdt.core.prefs b/flatlaf-demo/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..4a19f363 --- /dev/null +++ b/flatlaf-demo/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,377 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false +org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_record_components=16 +org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 +org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=0 +org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false +org.eclipse.jdt.core.formatter.comment.indent_root_tags=false +org.eclipse.jdt.core.formatter.comment.indent_tag_description=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=80 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=1 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.text_block_indentation=0 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=false +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true +org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/flatlaf-demo/.settings/org.eclipse.jdt.ui.prefs b/flatlaf-demo/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000..ef990006 --- /dev/null +++ b/flatlaf-demo/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +formatter_profile=_FlatLaf +formatter_settings_version=19 diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/BasicComponentsPanel.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/BasicComponentsPanel.java index 5f837ee2..6b22fe78 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/BasicComponentsPanel.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/BasicComponentsPanel.java @@ -158,12 +158,12 @@ class BasicComponentsPanel add(labelLabel, "cell 0 0"); //---- label1 ---- - label1.setText("enabled"); + label1.setText("Enabled"); label1.setDisplayedMnemonic('E'); add(label1, "cell 1 0"); //---- label2 ---- - label2.setText("disabled"); + label2.setText("Disabled"); label2.setDisplayedMnemonic('D'); label2.setEnabled(false); add(label2, "cell 2 0"); @@ -173,23 +173,23 @@ class BasicComponentsPanel add(buttonLabel, "cell 0 1"); //---- button1 ---- - button1.setText("enabled"); + button1.setText("Enabled"); button1.setDisplayedMnemonicIndex(0); add(button1, "cell 1 1"); //---- button2 ---- - button2.setText("disabled"); + button2.setText("Disabled"); button2.setDisplayedMnemonicIndex(0); button2.setEnabled(false); add(button2, "cell 2 1"); //---- button5 ---- - button5.setText("square"); + button5.setText("Square"); button5.putClientProperty("JButton.buttonType", "square"); add(button5, "cell 3 1"); //---- button6 ---- - button6.setText("round"); + button6.setText("Round"); button6.putClientProperty("JButton.buttonType", "roundRect"); add(button6, "cell 4 1"); @@ -225,23 +225,23 @@ class BasicComponentsPanel add(checkBoxLabel, "cell 0 2"); //---- checkBox1 ---- - checkBox1.setText("enabled"); + checkBox1.setText("Enabled"); checkBox1.setMnemonic('A'); add(checkBox1, "cell 1 2"); //---- checkBox2 ---- - checkBox2.setText("disabled"); + checkBox2.setText("Disabled"); checkBox2.setEnabled(false); checkBox2.setMnemonic('D'); add(checkBox2, "cell 2 2"); //---- checkBox3 ---- - checkBox3.setText("selected"); + checkBox3.setText("Selected"); checkBox3.setSelected(true); add(checkBox3, "cell 3 2"); //---- checkBox4 ---- - checkBox4.setText("selected disabled"); + checkBox4.setText("Selected disabled"); checkBox4.setSelected(true); checkBox4.setEnabled(false); add(checkBox4, "cell 4 2"); @@ -251,23 +251,23 @@ class BasicComponentsPanel add(radioButtonLabel, "cell 0 3"); //---- radioButton1 ---- - radioButton1.setText("enabled"); + radioButton1.setText("Enabled"); radioButton1.setMnemonic('N'); add(radioButton1, "cell 1 3"); //---- radioButton2 ---- - radioButton2.setText("disabled"); + radioButton2.setText("Disabled"); radioButton2.setEnabled(false); radioButton2.setMnemonic('S'); add(radioButton2, "cell 2 3"); //---- radioButton3 ---- - radioButton3.setText("selected"); + radioButton3.setText("Selected"); radioButton3.setSelected(true); add(radioButton3, "cell 3 3"); //---- radioButton4 ---- - radioButton4.setText("selected disabled"); + radioButton4.setText("Selected disabled"); radioButton4.setSelected(true); radioButton4.setEnabled(false); add(radioButton4, "cell 4 3"); @@ -281,7 +281,7 @@ class BasicComponentsPanel //---- comboBox1 ---- comboBox1.setEditable(true); comboBox1.setModel(new DefaultComboBoxModel<>(new String[] { - "editable", + "Editable", "a", "bb", "ccc" @@ -292,7 +292,7 @@ class BasicComponentsPanel comboBox2.setEditable(true); comboBox2.setEnabled(false); comboBox2.setModel(new DefaultComboBoxModel<>(new String[] { - "disabled", + "Disabled", "a", "bb", "ccc" @@ -301,7 +301,7 @@ class BasicComponentsPanel //---- comboBox3 ---- comboBox3.setModel(new DefaultComboBoxModel<>(new String[] { - "not editable", + "Not editable", "a", "bb", "ccc" @@ -310,7 +310,7 @@ class BasicComponentsPanel //---- comboBox4 ---- comboBox4.setModel(new DefaultComboBoxModel<>(new String[] { - "not editable disabled", + "Not editable disabled", "a", "bb", "ccc" @@ -320,7 +320,7 @@ class BasicComponentsPanel //---- comboBox5 ---- comboBox5.setModel(new DefaultComboBoxModel<>(new String[] { - "wide popup if text is longer", + "Wide popup if text is longer", "aa", "bbb", "cccc" @@ -340,7 +340,7 @@ class BasicComponentsPanel //---- comboBox6 ---- comboBox6.setEditable(true); - comboBox6.putClientProperty("JTextField.placeholderText", "placeholder"); + comboBox6.putClientProperty("JTextField.placeholderText", "Placeholder"); add(comboBox6, "cell 5 5,growx"); //---- textFieldLabel ---- @@ -350,28 +350,28 @@ class BasicComponentsPanel add(textFieldLabel, "cell 0 6"); //---- textField1 ---- - textField1.setText("editable"); + textField1.setText("Editable"); textField1.setComponentPopupMenu(popupMenu1); add(textField1, "cell 1 6,growx"); //---- textField2 ---- - textField2.setText("disabled"); + textField2.setText("Disabled"); textField2.setEnabled(false); add(textField2, "cell 2 6,growx"); //---- textField3 ---- - textField3.setText("not editable"); + textField3.setText("Not editable"); textField3.setEditable(false); add(textField3, "cell 3 6,growx"); //---- textField4 ---- - textField4.setText("not editable disabled"); + textField4.setText("Not editable disabled"); textField4.setEnabled(false); textField4.setEditable(false); add(textField4, "cell 4 6,growx"); //---- textField6 ---- - textField6.putClientProperty("JTextField.placeholderText", "placeholder"); + textField6.putClientProperty("JTextField.placeholderText", "Placeholder"); add(textField6, "cell 5 6,growx"); //---- formattedTextFieldLabel ---- @@ -381,28 +381,28 @@ class BasicComponentsPanel add(formattedTextFieldLabel, "cell 0 7"); //---- formattedTextField1 ---- - formattedTextField1.setText("editable"); + formattedTextField1.setText("Editable"); formattedTextField1.setComponentPopupMenu(popupMenu1); add(formattedTextField1, "cell 1 7,growx"); //---- formattedTextField2 ---- - formattedTextField2.setText("disabled"); + formattedTextField2.setText("Disabled"); formattedTextField2.setEnabled(false); add(formattedTextField2, "cell 2 7,growx"); //---- formattedTextField3 ---- - formattedTextField3.setText("not editable"); + formattedTextField3.setText("Not editable"); formattedTextField3.setEditable(false); add(formattedTextField3, "cell 3 7,growx"); //---- formattedTextField4 ---- - formattedTextField4.setText("not editable disabled"); + formattedTextField4.setText("Not editable disabled"); formattedTextField4.setEnabled(false); formattedTextField4.setEditable(false); add(formattedTextField4, "cell 4 7,growx"); //---- formattedTextField5 ---- - formattedTextField5.putClientProperty("JTextField.placeholderText", "placeholder"); + formattedTextField5.putClientProperty("JTextField.placeholderText", "Placeholder"); add(formattedTextField5, "cell 5 7,growx"); //---- passwordFieldLabel ---- @@ -410,27 +410,27 @@ class BasicComponentsPanel add(passwordFieldLabel, "cell 0 8"); //---- passwordField1 ---- - passwordField1.setText("editable"); + passwordField1.setText("Editable"); add(passwordField1, "cell 1 8,growx"); //---- passwordField2 ---- - passwordField2.setText("disabled"); + passwordField2.setText("Disabled"); passwordField2.setEnabled(false); add(passwordField2, "cell 2 8,growx"); //---- passwordField3 ---- - passwordField3.setText("not editable"); + passwordField3.setText("Not editable"); passwordField3.setEditable(false); add(passwordField3, "cell 3 8,growx"); //---- passwordField4 ---- - passwordField4.setText("not editable disabled"); + passwordField4.setText("Not editable disabled"); passwordField4.setEnabled(false); passwordField4.setEditable(false); add(passwordField4, "cell 4 8,growx"); //---- passwordField5 ---- - passwordField5.putClientProperty("JTextField.placeholderText", "placeholder"); + passwordField5.putClientProperty("JTextField.placeholderText", "Placeholder"); add(passwordField5, "cell 5 8,growx"); //---- textAreaLabel ---- @@ -443,7 +443,7 @@ class BasicComponentsPanel scrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textArea1 ---- - textArea1.setText("editable"); + textArea1.setText("Editable"); textArea1.setRows(2); scrollPane1.setViewportView(textArea1); } @@ -455,7 +455,7 @@ class BasicComponentsPanel scrollPane2.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textArea2 ---- - textArea2.setText("disabled"); + textArea2.setText("Disabled"); textArea2.setRows(2); textArea2.setEnabled(false); scrollPane2.setViewportView(textArea2); @@ -468,7 +468,7 @@ class BasicComponentsPanel scrollPane3.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textArea3 ---- - textArea3.setText("not editable"); + textArea3.setText("Not editable"); textArea3.setRows(2); textArea3.setEditable(false); scrollPane3.setViewportView(textArea3); @@ -481,7 +481,7 @@ class BasicComponentsPanel scrollPane4.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textArea4 ---- - textArea4.setText("not editable disabled"); + textArea4.setText("Not editable disabled"); textArea4.setRows(2); textArea4.setEditable(false); textArea4.setEnabled(false); @@ -491,7 +491,7 @@ class BasicComponentsPanel //---- textArea5 ---- textArea5.setRows(2); - textArea5.setText("no scroll pane"); + textArea5.setText("No scroll pane"); add(textArea5, "cell 5 9,growx"); //---- editorPaneLabel ---- @@ -504,7 +504,7 @@ class BasicComponentsPanel scrollPane5.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- editorPane1 ---- - editorPane1.setText("editable"); + editorPane1.setText("Editable"); scrollPane5.setViewportView(editorPane1); } add(scrollPane5, "cell 1 10,growx"); @@ -515,7 +515,7 @@ class BasicComponentsPanel scrollPane6.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- editorPane2 ---- - editorPane2.setText("disabled"); + editorPane2.setText("Disabled"); editorPane2.setEnabled(false); scrollPane6.setViewportView(editorPane2); } @@ -527,7 +527,7 @@ class BasicComponentsPanel scrollPane7.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- editorPane3 ---- - editorPane3.setText("not editable"); + editorPane3.setText("Not editable"); editorPane3.setEditable(false); scrollPane7.setViewportView(editorPane3); } @@ -539,7 +539,7 @@ class BasicComponentsPanel scrollPane8.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- editorPane4 ---- - editorPane4.setText("not editable disabled"); + editorPane4.setText("Not editable disabled"); editorPane4.setEditable(false); editorPane4.setEnabled(false); scrollPane8.setViewportView(editorPane4); @@ -547,7 +547,7 @@ class BasicComponentsPanel add(scrollPane8, "cell 4 10,growx"); //---- editorPane5 ---- - editorPane5.setText("no scroll pane"); + editorPane5.setText("No scroll pane"); add(editorPane5, "cell 5 10,growx"); //---- textPaneLabel ---- @@ -560,7 +560,7 @@ class BasicComponentsPanel scrollPane9.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textPane1 ---- - textPane1.setText("editable"); + textPane1.setText("Editable"); scrollPane9.setViewportView(textPane1); } add(scrollPane9, "cell 1 11,growx"); @@ -571,7 +571,7 @@ class BasicComponentsPanel scrollPane10.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textPane2 ---- - textPane2.setText("disabled"); + textPane2.setText("Disabled"); textPane2.setEnabled(false); scrollPane10.setViewportView(textPane2); } @@ -583,7 +583,7 @@ class BasicComponentsPanel scrollPane11.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textPane3 ---- - textPane3.setText("not editable"); + textPane3.setText("Not editable"); textPane3.setEditable(false); scrollPane11.setViewportView(textPane3); } @@ -595,7 +595,7 @@ class BasicComponentsPanel scrollPane12.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textPane4 ---- - textPane4.setText("not editable disabled"); + textPane4.setText("Not editable disabled"); textPane4.setEditable(false); textPane4.setEnabled(false); scrollPane12.setViewportView(textPane4); @@ -603,7 +603,7 @@ class BasicComponentsPanel add(scrollPane12, "cell 4 11,growx"); //---- textPane5 ---- - textPane5.setText("no scroll pane"); + textPane5.setText("No scroll pane"); add(textPane5, "cell 5 11,growx"); //---- label3 ---- @@ -617,7 +617,7 @@ class BasicComponentsPanel //---- comboBox7 ---- comboBox7.putClientProperty("JComponent.outline", "error"); comboBox7.setModel(new DefaultComboBoxModel<>(new String[] { - "editable" + "Editable" })); comboBox7.setEditable(true); add(comboBox7, "cell 2 12,growx"); @@ -637,7 +637,7 @@ class BasicComponentsPanel //---- comboBox8 ---- comboBox8.putClientProperty("JComponent.outline", "warning"); comboBox8.setModel(new DefaultComboBoxModel<>(new String[] { - "not editable" + "Not editable" })); add(comboBox8, "cell 2 13,growx"); diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/BasicComponentsPanel.jfd b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/BasicComponentsPanel.jfd index 00239b64..69f10cf8 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/BasicComponentsPanel.jfd +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/BasicComponentsPanel.jfd @@ -1,4 +1,4 @@ -JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8" +JFDML JFormDesigner: "7.0.2.0.298" Java: "14" encoding: "UTF-8" new FormModel { contentType: "form/swing" @@ -20,14 +20,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JLabel" ) { name: "label1" - "text": "enabled" + "text": "Enabled" "displayedMnemonic": 69 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 0" } ) add( new FormComponent( "javax.swing.JLabel" ) { name: "label2" - "text": "disabled" + "text": "Disabled" "displayedMnemonic": 68 "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -41,14 +41,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button1" - "text": "enabled" + "text": "Enabled" "displayedMnemonicIndex": 0 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 1" } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button2" - "text": "disabled" + "text": "Disabled" "displayedMnemonicIndex": 0 "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -56,14 +56,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button5" - "text": "square" + "text": "Square" "$client.JButton.buttonType": "square" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 1" } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button6" - "text": "round" + "text": "Round" "$client.JButton.buttonType": "roundRect" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 4 1" @@ -115,14 +115,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "checkBox1" - "text": "enabled" + "text": "Enabled" "mnemonic": 65 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 2" } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "checkBox2" - "text": "disabled" + "text": "Disabled" "enabled": false "mnemonic": 68 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -130,14 +130,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "checkBox3" - "text": "selected" + "text": "Selected" "selected": true }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 2" } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "checkBox4" - "text": "selected disabled" + "text": "Selected disabled" "selected": true "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -151,14 +151,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JRadioButton" ) { name: "radioButton1" - "text": "enabled" + "text": "Enabled" "mnemonic": 78 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 3" } ) add( new FormComponent( "javax.swing.JRadioButton" ) { name: "radioButton2" - "text": "disabled" + "text": "Disabled" "enabled": false "mnemonic": 83 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -166,14 +166,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JRadioButton" ) { name: "radioButton3" - "text": "selected" + "text": "Selected" "selected": true }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 3" } ) add( new FormComponent( "javax.swing.JRadioButton" ) { name: "radioButton4" - "text": "selected disabled" + "text": "Selected disabled" "selected": true "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -191,8 +191,8 @@ new FormModel { name: "comboBox1" "editable": true "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "editable" - addElement( "editable" ) + selectedItem: "Editable" + addElement( "Editable" ) addElement( "a" ) addElement( "bb" ) addElement( "ccc" ) @@ -205,8 +205,8 @@ new FormModel { "editable": true "enabled": false "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "disabled" - addElement( "disabled" ) + selectedItem: "Disabled" + addElement( "Disabled" ) addElement( "a" ) addElement( "bb" ) addElement( "ccc" ) @@ -217,8 +217,8 @@ new FormModel { add( new FormComponent( "javax.swing.JComboBox" ) { name: "comboBox3" "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "not editable" - addElement( "not editable" ) + selectedItem: "Not editable" + addElement( "Not editable" ) addElement( "a" ) addElement( "bb" ) addElement( "ccc" ) @@ -229,8 +229,8 @@ new FormModel { add( new FormComponent( "javax.swing.JComboBox" ) { name: "comboBox4" "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "not editable disabled" - addElement( "not editable disabled" ) + selectedItem: "Not editable disabled" + addElement( "Not editable disabled" ) addElement( "a" ) addElement( "bb" ) addElement( "ccc" ) @@ -242,8 +242,8 @@ new FormModel { add( new FormComponent( "javax.swing.JComboBox" ) { name: "comboBox5" "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "wide popup if text is longer" - addElement( "wide popup if text is longer" ) + selectedItem: "Wide popup if text is longer" + addElement( "Wide popup if text is longer" ) addElement( "aa" ) addElement( "bbb" ) addElement( "cccc" ) @@ -273,7 +273,7 @@ new FormModel { add( new FormComponent( "javax.swing.JComboBox" ) { name: "comboBox6" "editable": true - "$client.JTextField.placeholderText": "placeholder" + "$client.JTextField.placeholderText": "Placeholder" auxiliary() { "JavaCodeGenerator.typeParameters": "String" } @@ -290,28 +290,28 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField1" - "text": "editable" + "text": "Editable" "componentPopupMenu": &FormReference0 new FormReference( "popupMenu1" ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 6,growx" } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField2" - "text": "disabled" + "text": "Disabled" "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 2 6,growx" } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField3" - "text": "not editable" + "text": "Not editable" "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 6,growx" } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField4" - "text": "not editable disabled" + "text": "Not editable disabled" "enabled": false "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -319,7 +319,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField6" - "$client.JTextField.placeholderText": "placeholder" + "$client.JTextField.placeholderText": "Placeholder" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 6,growx" } ) @@ -333,28 +333,28 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JFormattedTextField" ) { name: "formattedTextField1" - "text": "editable" + "text": "Editable" "componentPopupMenu": #FormReference0 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 7,growx" } ) add( new FormComponent( "javax.swing.JFormattedTextField" ) { name: "formattedTextField2" - "text": "disabled" + "text": "Disabled" "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 2 7,growx" } ) add( new FormComponent( "javax.swing.JFormattedTextField" ) { name: "formattedTextField3" - "text": "not editable" + "text": "Not editable" "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 7,growx" } ) add( new FormComponent( "javax.swing.JFormattedTextField" ) { name: "formattedTextField4" - "text": "not editable disabled" + "text": "Not editable disabled" "enabled": false "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -362,7 +362,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JFormattedTextField" ) { name: "formattedTextField5" - "$client.JTextField.placeholderText": "placeholder" + "$client.JTextField.placeholderText": "Placeholder" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 7,growx" } ) @@ -374,27 +374,27 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JPasswordField" ) { name: "passwordField1" - "text": "editable" + "text": "Editable" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 8,growx" } ) add( new FormComponent( "javax.swing.JPasswordField" ) { name: "passwordField2" - "text": "disabled" + "text": "Disabled" "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 2 8,growx" } ) add( new FormComponent( "javax.swing.JPasswordField" ) { name: "passwordField3" - "text": "not editable" + "text": "Not editable" "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 8,growx" } ) add( new FormComponent( "javax.swing.JPasswordField" ) { name: "passwordField4" - "text": "not editable disabled" + "text": "Not editable disabled" "enabled": false "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -402,7 +402,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JPasswordField" ) { name: "passwordField5" - "$client.JTextField.placeholderText": "placeholder" + "$client.JTextField.placeholderText": "Placeholder" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 8,growx" } ) @@ -418,7 +418,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextArea" ) { name: "textArea1" - "text": "editable" + "text": "Editable" "rows": 2 } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -430,7 +430,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextArea" ) { name: "textArea2" - "text": "disabled" + "text": "Disabled" "rows": 2 "enabled": false } ) @@ -443,7 +443,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextArea" ) { name: "textArea3" - "text": "not editable" + "text": "Not editable" "rows": 2 "editable": false } ) @@ -456,7 +456,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextArea" ) { name: "textArea4" - "text": "not editable disabled" + "text": "Not editable disabled" "rows": 2 "editable": false "enabled": false @@ -467,7 +467,7 @@ new FormModel { add( new FormComponent( "javax.swing.JTextArea" ) { name: "textArea5" "rows": 2 - "text": "no scroll pane" + "text": "No scroll pane" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 9,growx" } ) @@ -483,7 +483,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JEditorPane" ) { name: "editorPane1" - "text": "editable" + "text": "Editable" } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 10,growx" @@ -494,7 +494,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JEditorPane" ) { name: "editorPane2" - "text": "disabled" + "text": "Disabled" "enabled": false } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -506,7 +506,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JEditorPane" ) { name: "editorPane3" - "text": "not editable" + "text": "Not editable" "editable": false } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -518,7 +518,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JEditorPane" ) { name: "editorPane4" - "text": "not editable disabled" + "text": "Not editable disabled" "editable": false "enabled": false } ) @@ -527,7 +527,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JEditorPane" ) { name: "editorPane5" - "text": "no scroll pane" + "text": "No scroll pane" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 10,growx" } ) @@ -543,7 +543,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextPane" ) { name: "textPane1" - "text": "editable" + "text": "Editable" } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 11,growx" @@ -554,7 +554,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextPane" ) { name: "textPane2" - "text": "disabled" + "text": "Disabled" "enabled": false } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -566,7 +566,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextPane" ) { name: "textPane3" - "text": "not editable" + "text": "Not editable" "editable": false } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -578,7 +578,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextPane" ) { name: "textPane4" - "text": "not editable disabled" + "text": "Not editable disabled" "editable": false "enabled": false } ) @@ -587,7 +587,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JTextPane" ) { name: "textPane5" - "text": "no scroll pane" + "text": "No scroll pane" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 11,growx" } ) @@ -607,8 +607,8 @@ new FormModel { name: "comboBox7" "$client.JComponent.outline": "error" "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "editable" - addElement( "editable" ) + selectedItem: "Editable" + addElement( "Editable" ) } "editable": true }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -636,8 +636,8 @@ new FormModel { name: "comboBox8" "$client.JComponent.outline": "warning" "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "not editable" - addElement( "not editable" ) + selectedItem: "Not editable" + addElement( "Not editable" ) } }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 2 13,growx" diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/ControlBar.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/ControlBar.java index ddc1dad8..cd6c07c1 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/ControlBar.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/ControlBar.java @@ -231,6 +231,9 @@ class ControlBar private void enabledChanged() { enabledDisable( tabbedPane, enabledCheckBox.isSelected() ); + + // repainting whole tabbed pane is faster than repainting many individual components + tabbedPane.repaint(); } private void enabledDisable( Container container, boolean enabled ) { diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/FlatLafDemo.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/FlatLafDemo.java index 5a9b197c..5e5bb17e 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/FlatLafDemo.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/FlatLafDemo.java @@ -17,6 +17,7 @@ package com.formdev.flatlaf.demo; import javax.swing.SwingUtilities; +import com.formdev.flatlaf.extras.FlatInspector; import com.formdev.flatlaf.util.SystemInfo; /** @@ -28,7 +29,8 @@ public class FlatLafDemo static final String KEY_TAB = "tab"; public static void main( String[] args ) { - if( SystemInfo.IS_MAC ) + // on macOS enable screen menu bar + if( SystemInfo.IS_MAC && System.getProperty( "apple.laf.useScreenMenuBar" ) == null ) System.setProperty( "apple.laf.useScreenMenuBar", "true" ); SwingUtilities.invokeLater( () -> { @@ -37,6 +39,9 @@ public class FlatLafDemo // set look and feel DemoPrefs.initLaf( args ); + // install inspector + FlatInspector.install( "ctrl shift alt X" ); + // create frame DemoFrame frame = new DemoFrame(); diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/extras/ExtrasPanel.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/extras/ExtrasPanel.java index b7f7426b..f8281660 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/extras/ExtrasPanel.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/extras/ExtrasPanel.java @@ -91,12 +91,13 @@ public class ExtrasPanel add(label1, "cell 0 1"); //---- triStateCheckBox1 ---- - triStateCheckBox1.setText("three states"); + triStateCheckBox1.setText("Three States"); triStateCheckBox1.addActionListener(e -> triStateCheckBox1Changed()); add(triStateCheckBox1, "cell 1 1"); //---- triStateLabel1 ---- triStateLabel1.setText("text"); + triStateLabel1.setEnabled(false); add(triStateLabel1, "cell 2 1"); //---- label2 ---- diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/extras/ExtrasPanel.jfd b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/extras/ExtrasPanel.jfd index 2f8faff7..1a649f89 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/extras/ExtrasPanel.jfd +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/extras/ExtrasPanel.jfd @@ -1,4 +1,4 @@ -JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8" +JFDML JFormDesigner: "7.0.2.0.298" Java: "14" encoding: "UTF-8" new FormModel { contentType: "form/swing" @@ -23,7 +23,7 @@ new FormModel { } ) add( new FormComponent( "com.formdev.flatlaf.extras.TriStateCheckBox" ) { name: "triStateCheckBox1" - "text": "three states" + "text": "Three States" addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "triStateCheckBox1Changed", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 1" @@ -31,6 +31,7 @@ new FormModel { add( new FormComponent( "javax.swing.JLabel" ) { name: "triStateLabel1" "text": "text" + "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 2 1" } ) diff --git a/flatlaf-extras/.settings/org.eclipse.jdt.core.prefs b/flatlaf-extras/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..4a19f363 --- /dev/null +++ b/flatlaf-extras/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,377 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false +org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_record_components=16 +org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 +org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=0 +org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false +org.eclipse.jdt.core.formatter.comment.indent_root_tags=false +org.eclipse.jdt.core.formatter.comment.indent_tag_description=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=80 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=1 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.text_block_indentation=0 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=false +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true +org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/flatlaf-extras/.settings/org.eclipse.jdt.ui.prefs b/flatlaf-extras/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000..ef990006 --- /dev/null +++ b/flatlaf-extras/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +formatter_profile=_FlatLaf +formatter_settings_version=19 diff --git a/flatlaf-extras/README.md b/flatlaf-extras/README.md index 8d8d6988..6e6e5bcd 100644 --- a/flatlaf-extras/README.md +++ b/flatlaf-extras/README.md @@ -3,6 +3,9 @@ FlatLaf Extras This sub-project provides some additional components and classes: +- [FlatInspector](src/main/java/com/formdev/flatlaf/extras/FlatInspector.java): + A simple UI inspector that shows information about UI component at mouse + location in a tooltip. - [FlatSVGIcon](src/main/java/com/formdev/flatlaf/extras/FlatSVGIcon.java): An icon that displays SVG using [svgSalamander](https://github.com/JFormDesigner/svgSalamander). diff --git a/flatlaf-extras/build.gradle.kts b/flatlaf-extras/build.gradle.kts index 6b7f89be..3812786a 100644 --- a/flatlaf-extras/build.gradle.kts +++ b/flatlaf-extras/build.gradle.kts @@ -38,6 +38,7 @@ tasks { javadoc { options { this as StandardJavadocDocletOptions + use( true ) tags = listOf( "uiDefault", "clientProperty" ) } isFailOnError = false diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInspector.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatInspector.java similarity index 91% rename from flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInspector.java rename to flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatInspector.java index d7f4edbb..334b5ece 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInspector.java +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatInspector.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.formdev.flatlaf.testing; +package com.formdev.flatlaf.extras; import java.awt.AWTEvent; import java.awt.Color; @@ -61,6 +61,24 @@ import com.formdev.flatlaf.ui.FlatUIUtils; import com.formdev.flatlaf.util.UIScale; /** + * A simple UI inspector that shows information about UI component at mouse location + * in a tooltip. + *

+ * To use it in an application install it with: + *

+ * FlatInspector.install( "ctrl shift alt X" );
+ * 
+ * This can be done e.g. in the main() method and allows enabling (and disabling) + * the UI inspector for the active window with the given keystroke. + *

+ * When the UI inspector is active some additional keys are available: + *

+ * * @author Karl Tauber */ public class FlatInspector @@ -80,6 +98,7 @@ public class FlatInspector private int lastX; private int lastY; private int inspectParentLevel; + private boolean wasCtrlOrShiftKeyPressed; private JComponent highlightFigure; private JToolTip tip; @@ -129,8 +148,14 @@ public class FlatInspector keyListener = e -> { KeyEvent keyEvent = (KeyEvent) e; int keyCode = keyEvent.getKeyCode(); + int id = e.getID(); - if( e.getID() == KeyEvent.KEY_RELEASED ) { + if( id == KeyEvent.KEY_PRESSED ) { + // this avoids that the inspection level is changed when UI inspector + // is enabled with keyboard shortcut (e.g. Ctrl+Shift+Alt+X) + if( keyCode == KeyEvent.VK_CONTROL || keyCode == KeyEvent.VK_SHIFT ) + wasCtrlOrShiftKeyPressed = true; + } else if( id == KeyEvent.KEY_RELEASED && wasCtrlOrShiftKeyPressed ) { if( keyCode == KeyEvent.VK_CONTROL ) { inspectParentLevel++; inspect( lastX, lastY ); @@ -144,7 +169,7 @@ public class FlatInspector // consume pressed and released ESC key events to e.g. avoid that dialog is closed keyEvent.consume(); - if( e.getID() == KeyEvent.KEY_PRESSED ) { + if( id == KeyEvent.KEY_PRESSED ) { FlatInspector inspector = (FlatInspector) rootPane.getClientProperty( FlatInspector.class ); if( inspector == FlatInspector.this ) { uninstall(); diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatSVGIcon.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatSVGIcon.java index ca354603..93945555 100644 --- a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatSVGIcon.java +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatSVGIcon.java @@ -173,6 +173,7 @@ public class FlatSVGIcon private static ColorFilter instance; private final Map rgb2keyMap = new HashMap<>(); + private final Map color2colorMap = new HashMap<>(); public static ColorFilter getInstance() { if( instance == null ) @@ -185,12 +186,28 @@ public class FlatSVGIcon rgb2keyMap.put( c.rgb, c.key ); } + public void addAll( Map from2toMap ) { + color2colorMap.putAll( from2toMap ); + } + + public void add( Color from, Color to ) { + color2colorMap.put( from, to ); + } + + public void remove( Color from ) { + color2colorMap.remove( from ); + } + public Color filter( Color color ) { + Color newColor = color2colorMap.get( color ); + if( newColor != null ) + return newColor; + String colorKey = rgb2keyMap.get( color.getRGB() & 0xffffff ); if( colorKey == null ) return color; - Color newColor = UIManager.getColor( colorKey ); + newColor = UIManager.getColor( colorKey ); if( newColor == null ) return color; diff --git a/flatlaf-intellij-themes/.settings/org.eclipse.jdt.core.prefs b/flatlaf-intellij-themes/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..4a19f363 --- /dev/null +++ b/flatlaf-intellij-themes/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,377 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false +org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_record_components=16 +org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 +org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=0 +org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false +org.eclipse.jdt.core.formatter.comment.indent_root_tags=false +org.eclipse.jdt.core.formatter.comment.indent_tag_description=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=80 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=1 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.text_block_indentation=0 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=false +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true +org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/flatlaf-intellij-themes/.settings/org.eclipse.jdt.ui.prefs b/flatlaf-intellij-themes/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000..ef990006 --- /dev/null +++ b/flatlaf-intellij-themes/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +formatter_profile=_FlatLaf +formatter_settings_version=19 diff --git a/flatlaf-intellij-themes/build.gradle.kts b/flatlaf-intellij-themes/build.gradle.kts index 87e3a2ab..66b77510 100644 --- a/flatlaf-intellij-themes/build.gradle.kts +++ b/flatlaf-intellij-themes/build.gradle.kts @@ -37,6 +37,7 @@ tasks { javadoc { options { this as StandardJavadocDocletOptions + use( true ) tags = listOf( "uiDefault", "clientProperty" ) } isFailOnError = false diff --git a/flatlaf-jide-oss/.settings/org.eclipse.jdt.core.prefs b/flatlaf-jide-oss/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..4a19f363 --- /dev/null +++ b/flatlaf-jide-oss/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,377 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false +org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_record_components=16 +org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 +org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=0 +org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false +org.eclipse.jdt.core.formatter.comment.indent_root_tags=false +org.eclipse.jdt.core.formatter.comment.indent_tag_description=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=80 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=1 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.text_block_indentation=0 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=false +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true +org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/flatlaf-jide-oss/.settings/org.eclipse.jdt.ui.prefs b/flatlaf-jide-oss/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000..ef990006 --- /dev/null +++ b/flatlaf-jide-oss/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +formatter_profile=_FlatLaf +formatter_settings_version=19 diff --git a/flatlaf-jide-oss/build.gradle.kts b/flatlaf-jide-oss/build.gradle.kts index 09b929d3..faf975e4 100644 --- a/flatlaf-jide-oss/build.gradle.kts +++ b/flatlaf-jide-oss/build.gradle.kts @@ -33,6 +33,7 @@ tasks { javadoc { options { this as StandardJavadocDocletOptions + use( true ) tags = listOf( "uiDefault", "clientProperty" ) } isFailOnError = false diff --git a/flatlaf-swingx/.settings/org.eclipse.jdt.core.prefs b/flatlaf-swingx/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..4a19f363 --- /dev/null +++ b/flatlaf-swingx/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,377 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false +org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_record_components=16 +org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 +org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=0 +org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false +org.eclipse.jdt.core.formatter.comment.indent_root_tags=false +org.eclipse.jdt.core.formatter.comment.indent_tag_description=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=80 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=1 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.text_block_indentation=0 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=false +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true +org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/flatlaf-swingx/.settings/org.eclipse.jdt.ui.prefs b/flatlaf-swingx/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000..ef990006 --- /dev/null +++ b/flatlaf-swingx/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +formatter_profile=_FlatLaf +formatter_settings_version=19 diff --git a/flatlaf-swingx/build.gradle.kts b/flatlaf-swingx/build.gradle.kts index bbe32652..90bd33b9 100644 --- a/flatlaf-swingx/build.gradle.kts +++ b/flatlaf-swingx/build.gradle.kts @@ -38,6 +38,7 @@ tasks { javadoc { options { this as StandardJavadocDocletOptions + use( true ) tags = listOf( "uiDefault", "clientProperty" ) } isFailOnError = false diff --git a/flatlaf-testing/.settings/org.eclipse.jdt.core.prefs b/flatlaf-testing/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..4a19f363 --- /dev/null +++ b/flatlaf-testing/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,377 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false +org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_record_components=16 +org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 +org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=0 +org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false +org.eclipse.jdt.core.formatter.comment.indent_root_tags=false +org.eclipse.jdt.core.formatter.comment.indent_tag_description=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=80 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=1 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.text_block_indentation=0 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=false +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true +org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/flatlaf-testing/.settings/org.eclipse.jdt.ui.prefs b/flatlaf-testing/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000..ef990006 --- /dev/null +++ b/flatlaf-testing/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +formatter_profile=_FlatLaf +formatter_settings_version=19 diff --git a/flatlaf-testing/build.gradle.kts b/flatlaf-testing/build.gradle.kts index b17d94ab..9fc60aad 100644 --- a/flatlaf-testing/build.gradle.kts +++ b/flatlaf-testing/build.gradle.kts @@ -38,9 +38,10 @@ dependencies { implementation( "org.swinglabs.swingx:swingx-all:1.6.5-1" ) implementation( "org.swinglabs.swingx:swingx-beaninfo:1.6.5-1" ) implementation( "com.jidesoft:jide-oss:3.6.18" ) + implementation( "com.glazedlists:glazedlists:1.11.0" ) implementation( "org.netbeans.api:org-openide-awt:RELEASE112" ) -// implementation( "org.pushing-pixels:radiance-substance:2.5.1" ) -// implementation( "com.weblookandfeel:weblaf-ui:1.2.12" ) +// implementation( "org.pushing-pixels:radiance-substance:3.0.0" ) +// implementation( "com.weblookandfeel:weblaf-ui:1.2.13" ) // implementation( "com.jgoodies:jgoodies-looks:2.7.0" ) } diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java index 25039fdc..d6f592dd 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java @@ -347,12 +347,12 @@ public class FlatComponentsTest add(labelLabel, "cell 0 0"); //---- label1 ---- - label1.setText("enabled"); + label1.setText("Enabled"); label1.setDisplayedMnemonic('E'); add(label1, "cell 1 0"); //---- label2 ---- - label2.setText("disabled"); + label2.setText("Disabled"); label2.setDisplayedMnemonic('D'); label2.setEnabled(false); add(label2, "cell 2 0"); @@ -362,46 +362,46 @@ public class FlatComponentsTest add(buttonLabel, "cell 0 1"); //---- button1 ---- - button1.setText("enabled"); + button1.setText("Enabled"); button1.setDisplayedMnemonicIndex(0); button1.setToolTipText("This button is enabled."); add(button1, "cell 1 1"); //---- button17 ---- - button17.setText("sq"); + button17.setText("Sq"); button17.putClientProperty("JButton.buttonType", "square"); button17.putClientProperty("JComponent.minimumWidth", 0); add(button17, "cell 1 1"); //---- button22 ---- - button22.setText("rd"); + button22.setText("Rd"); button22.putClientProperty("JButton.buttonType", "roundRect"); button22.putClientProperty("JComponent.minimumWidth", 0); add(button22, "cell 1 1"); //---- button2 ---- - button2.setText("disabled"); + button2.setText("Disabled"); button2.setDisplayedMnemonicIndex(0); button2.setEnabled(false); button2.setToolTipText("This button is disabled."); add(button2, "cell 2 1"); //---- button18 ---- - button18.setText("sq"); + button18.setText("Sq"); button18.putClientProperty("JButton.buttonType", "square"); button18.setEnabled(false); button18.putClientProperty("JComponent.minimumWidth", 0); add(button18, "cell 2 1"); //---- button23 ---- - button23.setText("rd"); + button23.setText("Rd"); button23.putClientProperty("JButton.buttonType", "roundRect"); button23.setEnabled(false); button23.putClientProperty("JComponent.minimumWidth", 0); add(button23, "cell 2 1"); //---- button5 ---- - button5.setText("default"); + button5.setText("Default"); button5.setDisplayedMnemonicIndex(0); button5.setToolTipText("Tool tip with\nmultiple\nlines."); add(button5, "cell 3 1"); @@ -434,7 +434,7 @@ public class FlatComponentsTest add(button16, "cell 5 1"); //---- button20 ---- - button20.setText("empty border"); + button20.setText("Empty border"); button20.setBorder(BorderFactory.createEmptyBorder()); add(button20, "cell 6 1"); @@ -443,43 +443,43 @@ public class FlatComponentsTest add(toggleButtonLabel, "cell 0 2"); //---- toggleButton1 ---- - toggleButton1.setText("enabled"); + toggleButton1.setText("Enabled"); add(toggleButton1, "cell 1 2"); //---- toggleButton9 ---- - toggleButton9.setText("sq"); + toggleButton9.setText("Sq"); toggleButton9.putClientProperty("JButton.buttonType", "square"); add(toggleButton9, "cell 1 2"); //---- toggleButton19 ---- - toggleButton19.setText("rd"); + toggleButton19.setText("Rd"); toggleButton19.putClientProperty("JButton.buttonType", "roundRect"); add(toggleButton19, "cell 1 2"); //---- toggleButton2 ---- - toggleButton2.setText("disabled"); + toggleButton2.setText("Disabled"); toggleButton2.setEnabled(false); add(toggleButton2, "cell 2 2"); //---- toggleButton10 ---- - toggleButton10.setText("sq"); + toggleButton10.setText("Sq"); toggleButton10.putClientProperty("JButton.buttonType", "square"); toggleButton10.setEnabled(false); add(toggleButton10, "cell 2 2"); //---- toggleButton20 ---- - toggleButton20.setText("rd"); + toggleButton20.setText("Rd"); toggleButton20.putClientProperty("JButton.buttonType", "roundRect"); toggleButton20.setEnabled(false); add(toggleButton20, "cell 2 2"); //---- toggleButton3 ---- - toggleButton3.setText("selected"); + toggleButton3.setText("Selected"); toggleButton3.setSelected(true); add(toggleButton3, "cell 3 2"); //---- toggleButton4 ---- - toggleButton4.setText("selected disabled"); + toggleButton4.setText("Selected disabled"); toggleButton4.setEnabled(false); toggleButton4.setSelected(true); add(toggleButton4, "cell 4 2"); @@ -505,7 +505,7 @@ public class FlatComponentsTest add(toggleButton14, "cell 5 2"); //---- toggleButton18 ---- - toggleButton18.setText("empty border"); + toggleButton18.setText("Empty border"); toggleButton18.setBorder(BorderFactory.createEmptyBorder()); add(toggleButton18, "cell 6 2"); @@ -514,35 +514,35 @@ public class FlatComponentsTest add(checkBoxLabel, "cell 0 3"); //---- checkBox1 ---- - checkBox1.setText("enabled"); + checkBox1.setText("Enabled"); checkBox1.setMnemonic('A'); add(checkBox1, "cell 1 3"); //---- checkBox2 ---- - checkBox2.setText("disabled"); + checkBox2.setText("Disabled"); checkBox2.setEnabled(false); checkBox2.setMnemonic('D'); add(checkBox2, "cell 2 3"); //---- checkBox3 ---- - checkBox3.setText("selected"); + checkBox3.setText("Selected"); checkBox3.setSelected(true); add(checkBox3, "cell 3 3"); //---- checkBox4 ---- - checkBox4.setText("selected disabled"); + checkBox4.setText("Selected disabled"); checkBox4.setSelected(true); checkBox4.setEnabled(false); add(checkBox4, "cell 4 3"); //---- toggleButton5 ---- - toggleButton5.setText("tab"); + toggleButton5.setText("Tab"); toggleButton5.putClientProperty("JButton.buttonType", "tab"); toggleButton5.setSelected(true); add(toggleButton5, "cell 5 3"); //---- toggleButton8 ---- - toggleButton8.setText("tab"); + toggleButton8.setText("Tab"); toggleButton8.putClientProperty("JButton.buttonType", "tab"); toggleButton8.setEnabled(false); toggleButton8.setSelected(true); @@ -553,23 +553,23 @@ public class FlatComponentsTest add(radioButtonLabel, "cell 0 4"); //---- radioButton1 ---- - radioButton1.setText("enabled"); + radioButton1.setText("Enabled"); radioButton1.setMnemonic('N'); add(radioButton1, "cell 1 4"); //---- radioButton2 ---- - radioButton2.setText("disabled"); + radioButton2.setText("Disabled"); radioButton2.setEnabled(false); radioButton2.setMnemonic('S'); add(radioButton2, "cell 2 4"); //---- radioButton3 ---- - radioButton3.setText("selected"); + radioButton3.setText("Selected"); radioButton3.setSelected(true); add(radioButton3, "cell 3 4"); //---- radioButton4 ---- - radioButton4.setText("selected disabled"); + radioButton4.setText("Selected disabled"); radioButton4.setSelected(true); radioButton4.setEnabled(false); add(radioButton4, "cell 4 4"); @@ -581,7 +581,7 @@ public class FlatComponentsTest //---- comboBox1 ---- comboBox1.setEditable(true); comboBox1.setModel(new DefaultComboBoxModel<>(new String[] { - "editable", + "Editable", "a", "bb", "ccc", @@ -600,7 +600,7 @@ public class FlatComponentsTest comboBox2.setEditable(true); comboBox2.setEnabled(false); comboBox2.setModel(new DefaultComboBoxModel<>(new String[] { - "disabled", + "Disabled", "a", "bb", "ccc" @@ -609,7 +609,7 @@ public class FlatComponentsTest //---- comboBox3 ---- comboBox3.setModel(new DefaultComboBoxModel<>(new String[] { - "not editable", + "Not editable", "a", "bb", "ccc", @@ -626,7 +626,7 @@ public class FlatComponentsTest //---- comboBox4 ---- comboBox4.setModel(new DefaultComboBoxModel<>(new String[] { - "not editable disabled", + "Not editable disabled", "a", "bb", "ccc" @@ -636,7 +636,7 @@ public class FlatComponentsTest //---- comboBox5 ---- comboBox5.setModel(new DefaultComboBoxModel<>(new String[] { - "wide popup if text is longer", + "Wide popup if text is longer", "aa", "bbb", "cccc" @@ -646,7 +646,7 @@ public class FlatComponentsTest //---- comboBox6 ---- comboBox6.setBorder(BorderFactory.createEmptyBorder()); comboBox6.setModel(new DefaultComboBoxModel<>(new String[] { - "empty border", + "Empty border", "a", "b", "c" @@ -664,7 +664,7 @@ public class FlatComponentsTest //---- comboBox7 ---- comboBox7.setEditable(true); - comboBox7.putClientProperty("JTextField.placeholderText", "placeholder"); + comboBox7.putClientProperty("JTextField.placeholderText", "Placeholder"); add(comboBox7, "cell 5 6,growx"); //---- spinner3 ---- @@ -677,31 +677,31 @@ public class FlatComponentsTest add(textFieldLabel, "cell 0 7"); //---- textField1 ---- - textField1.setText("editable"); + textField1.setText("Editable"); add(textField1, "cell 1 7,growx"); //---- textField2 ---- - textField2.setText("disabled"); + textField2.setText("Disabled"); textField2.setEnabled(false); add(textField2, "cell 2 7,growx"); //---- textField3 ---- - textField3.setText("not editable"); + textField3.setText("Not editable"); textField3.setEditable(false); add(textField3, "cell 3 7,growx"); //---- textField4 ---- - textField4.setText("not editable disabled"); + textField4.setText("Not editable disabled"); textField4.setEnabled(false); textField4.setEditable(false); add(textField4, "cell 4 7,growx"); //---- textField6 ---- - textField6.putClientProperty("JTextField.placeholderText", "placeholder"); + textField6.putClientProperty("JTextField.placeholderText", "Placeholder"); add(textField6, "cell 5 7,growx"); //---- textField5 ---- - textField5.setText("empty border"); + textField5.setText("Empty border"); textField5.setBorder(BorderFactory.createEmptyBorder()); add(textField5, "cell 6 7"); @@ -710,31 +710,31 @@ public class FlatComponentsTest add(formattedTextFieldLabel, "cell 0 8"); //---- formattedTextField1 ---- - formattedTextField1.setText("editable"); + formattedTextField1.setText("Editable"); add(formattedTextField1, "cell 1 8,growx"); //---- formattedTextField2 ---- - formattedTextField2.setText("disabled"); + formattedTextField2.setText("Disabled"); formattedTextField2.setEnabled(false); add(formattedTextField2, "cell 2 8,growx"); //---- formattedTextField3 ---- - formattedTextField3.setText("not editable"); + formattedTextField3.setText("Not editable"); formattedTextField3.setEditable(false); add(formattedTextField3, "cell 3 8,growx"); //---- formattedTextField4 ---- - formattedTextField4.setText("not editable disabled"); + formattedTextField4.setText("Not editable disabled"); formattedTextField4.setEnabled(false); formattedTextField4.setEditable(false); add(formattedTextField4, "cell 4 8,growx"); //---- formattedTextField5 ---- - formattedTextField5.putClientProperty("JTextField.placeholderText", "placeholder"); + formattedTextField5.putClientProperty("JTextField.placeholderText", "Placeholder"); add(formattedTextField5, "cell 5 8,growx"); //---- formattedTextField6 ---- - formattedTextField6.setText("empty border"); + formattedTextField6.setText("Empty border"); formattedTextField6.setBorder(BorderFactory.createEmptyBorder()); add(formattedTextField6, "cell 6 8"); @@ -743,27 +743,27 @@ public class FlatComponentsTest add(passwordFieldLabel, "cell 0 9"); //---- passwordField1 ---- - passwordField1.setText("editable"); + passwordField1.setText("Editable"); add(passwordField1, "cell 1 9,growx"); //---- passwordField2 ---- - passwordField2.setText("disabled"); + passwordField2.setText("Disabled"); passwordField2.setEnabled(false); add(passwordField2, "cell 2 9,growx"); //---- passwordField3 ---- - passwordField3.setText("not editable"); + passwordField3.setText("Not editable"); passwordField3.setEditable(false); add(passwordField3, "cell 3 9,growx"); //---- passwordField4 ---- - passwordField4.setText("not editable disabled"); + passwordField4.setText("Not editable disabled"); passwordField4.setEnabled(false); passwordField4.setEditable(false); add(passwordField4, "cell 4 9,growx"); //---- passwordField5 ---- - passwordField5.putClientProperty("JTextField.placeholderText", "placeholder"); + passwordField5.putClientProperty("JTextField.placeholderText", "Placeholder"); add(passwordField5, "cell 5 9,growx"); //---- passwordField6 ---- @@ -781,7 +781,7 @@ public class FlatComponentsTest scrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textArea1 ---- - textArea1.setText("editable"); + textArea1.setText("Editable"); textArea1.setRows(2); scrollPane1.setViewportView(textArea1); } @@ -793,7 +793,7 @@ public class FlatComponentsTest scrollPane2.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textArea2 ---- - textArea2.setText("disabled"); + textArea2.setText("Disabled"); textArea2.setRows(2); textArea2.setEnabled(false); scrollPane2.setViewportView(textArea2); @@ -806,7 +806,7 @@ public class FlatComponentsTest scrollPane3.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textArea3 ---- - textArea3.setText("not editable"); + textArea3.setText("Not editable"); textArea3.setRows(2); textArea3.setEditable(false); scrollPane3.setViewportView(textArea3); @@ -819,7 +819,7 @@ public class FlatComponentsTest scrollPane4.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textArea4 ---- - textArea4.setText("not editable disabled"); + textArea4.setText("Not editable disabled"); textArea4.setRows(2); textArea4.setEditable(false); textArea4.setEnabled(false); @@ -829,7 +829,7 @@ public class FlatComponentsTest //---- textArea5 ---- textArea5.setRows(2); - textArea5.setText("no scroll pane"); + textArea5.setText("No scroll pane"); add(textArea5, "cell 5 10,growx"); //---- editorPaneLabel ---- @@ -842,7 +842,7 @@ public class FlatComponentsTest scrollPane5.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- editorPane1 ---- - editorPane1.setText("editable"); + editorPane1.setText("Editable"); scrollPane5.setViewportView(editorPane1); } add(scrollPane5, "cell 1 11,growx"); @@ -853,7 +853,7 @@ public class FlatComponentsTest scrollPane6.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- editorPane2 ---- - editorPane2.setText("disabled"); + editorPane2.setText("Disabled"); editorPane2.setEnabled(false); scrollPane6.setViewportView(editorPane2); } @@ -865,7 +865,7 @@ public class FlatComponentsTest scrollPane7.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- editorPane3 ---- - editorPane3.setText("not editable"); + editorPane3.setText("Not editable"); editorPane3.setEditable(false); scrollPane7.setViewportView(editorPane3); } @@ -877,7 +877,7 @@ public class FlatComponentsTest scrollPane8.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- editorPane4 ---- - editorPane4.setText("not editable disabled"); + editorPane4.setText("Not editable disabled"); editorPane4.setEditable(false); editorPane4.setEnabled(false); scrollPane8.setViewportView(editorPane4); @@ -885,7 +885,7 @@ public class FlatComponentsTest add(scrollPane8, "cell 4 11,growx"); //---- editorPane5 ---- - editorPane5.setText("no scroll pane"); + editorPane5.setText("No scroll pane"); add(editorPane5, "cell 5 11,growx"); //---- textPaneLabel ---- @@ -898,7 +898,7 @@ public class FlatComponentsTest scrollPane9.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textPane1 ---- - textPane1.setText("editable"); + textPane1.setText("Editable"); scrollPane9.setViewportView(textPane1); } add(scrollPane9, "cell 1 12,growx"); @@ -909,7 +909,7 @@ public class FlatComponentsTest scrollPane10.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textPane2 ---- - textPane2.setText("disabled"); + textPane2.setText("Disabled"); textPane2.setEnabled(false); scrollPane10.setViewportView(textPane2); } @@ -921,7 +921,7 @@ public class FlatComponentsTest scrollPane11.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textPane3 ---- - textPane3.setText("not editable"); + textPane3.setText("Not editable"); textPane3.setEditable(false); scrollPane11.setViewportView(textPane3); } @@ -933,7 +933,7 @@ public class FlatComponentsTest scrollPane12.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //---- textPane4 ---- - textPane4.setText("not editable disabled"); + textPane4.setText("Not editable disabled"); textPane4.setEditable(false); textPane4.setEnabled(false); scrollPane12.setViewportView(textPane4); @@ -941,7 +941,7 @@ public class FlatComponentsTest add(scrollPane12, "cell 4 12,growx"); //---- textPane5 ---- - textPane5.setText("no scroll pane"); + textPane5.setText("No scroll pane"); add(textPane5, "cell 5 12,growx"); //---- scrollPaneLabel ---- diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.jfd index 2d34c7bc..3980a7d1 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.jfd +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.jfd @@ -1,4 +1,4 @@ -JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8" +JFDML JFormDesigner: "7.0.2.0.298" Java: "14" encoding: "UTF-8" new FormModel { contentType: "form/swing" @@ -20,14 +20,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JLabel" ) { name: "label1" - "text": "enabled" + "text": "Enabled" "displayedMnemonic": 69 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 0" } ) add( new FormComponent( "javax.swing.JLabel" ) { name: "label2" - "text": "disabled" + "text": "Disabled" "displayedMnemonic": 68 "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -41,7 +41,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button1" - "text": "enabled" + "text": "Enabled" "displayedMnemonicIndex": 0 "toolTipText": "This button is enabled." }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -49,7 +49,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button17" - "text": "sq" + "text": "Sq" "$client.JButton.buttonType": "square" "$client.JComponent.minimumWidth": 0 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -57,7 +57,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button22" - "text": "rd" + "text": "Rd" "$client.JButton.buttonType": "roundRect" "$client.JComponent.minimumWidth": 0 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -65,7 +65,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button2" - "text": "disabled" + "text": "Disabled" "displayedMnemonicIndex": 0 "enabled": false "toolTipText": "This button is disabled." @@ -74,7 +74,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button18" - "text": "sq" + "text": "Sq" "$client.JButton.buttonType": "square" "enabled": false "$client.JComponent.minimumWidth": 0 @@ -83,7 +83,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button23" - "text": "rd" + "text": "Rd" "$client.JButton.buttonType": "roundRect" "enabled": false "$client.JComponent.minimumWidth": 0 @@ -92,7 +92,7 @@ new FormModel { } ) add( new FormComponent( "com.formdev.flatlaf.testing.FlatComponentsTest$TestDefaultButton" ) { name: "button5" - "text": "default" + "text": "Default" "displayedMnemonicIndex": 0 "toolTipText": "Tool tip with\nmultiple\nlines." }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -139,7 +139,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button20" - "text": "empty border" + "text": "Empty border" "border": &EmptyBorder0 new javax.swing.border.EmptyBorder( 0, 0, 0, 0 ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 6 1" @@ -152,34 +152,34 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JToggleButton" ) { name: "toggleButton1" - "text": "enabled" + "text": "Enabled" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 2" } ) add( new FormComponent( "javax.swing.JToggleButton" ) { name: "toggleButton9" - "text": "sq" + "text": "Sq" "$client.JButton.buttonType": "square" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 2" } ) add( new FormComponent( "javax.swing.JToggleButton" ) { name: "toggleButton19" - "text": "rd" + "text": "Rd" "$client.JButton.buttonType": "roundRect" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 2" } ) add( new FormComponent( "javax.swing.JToggleButton" ) { name: "toggleButton2" - "text": "disabled" + "text": "Disabled" "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 2 2" } ) add( new FormComponent( "javax.swing.JToggleButton" ) { name: "toggleButton10" - "text": "sq" + "text": "Sq" "$client.JButton.buttonType": "square" "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -187,7 +187,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JToggleButton" ) { name: "toggleButton20" - "text": "rd" + "text": "Rd" "$client.JButton.buttonType": "roundRect" "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -195,14 +195,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JToggleButton" ) { name: "toggleButton3" - "text": "selected" + "text": "Selected" "selected": true }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 2" } ) add( new FormComponent( "javax.swing.JToggleButton" ) { name: "toggleButton4" - "text": "selected disabled" + "text": "Selected disabled" "enabled": false "selected": true }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -238,7 +238,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JToggleButton" ) { name: "toggleButton18" - "text": "empty border" + "text": "Empty border" "border": #EmptyBorder0 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 6 2" @@ -251,14 +251,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "checkBox1" - "text": "enabled" + "text": "Enabled" "mnemonic": 65 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 3" } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "checkBox2" - "text": "disabled" + "text": "Disabled" "enabled": false "mnemonic": 68 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -266,14 +266,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "checkBox3" - "text": "selected" + "text": "Selected" "selected": true }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 3" } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "checkBox4" - "text": "selected disabled" + "text": "Selected disabled" "selected": true "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -281,7 +281,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JToggleButton" ) { name: "toggleButton5" - "text": "tab" + "text": "Tab" "$client.JButton.buttonType": "tab" "selected": true }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -289,7 +289,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JToggleButton" ) { name: "toggleButton8" - "text": "tab" + "text": "Tab" "$client.JButton.buttonType": "tab" "enabled": false "selected": true @@ -304,14 +304,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JRadioButton" ) { name: "radioButton1" - "text": "enabled" + "text": "Enabled" "mnemonic": 78 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 4" } ) add( new FormComponent( "javax.swing.JRadioButton" ) { name: "radioButton2" - "text": "disabled" + "text": "Disabled" "enabled": false "mnemonic": 83 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -319,14 +319,14 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JRadioButton" ) { name: "radioButton3" - "text": "selected" + "text": "Selected" "selected": true }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 4" } ) add( new FormComponent( "javax.swing.JRadioButton" ) { name: "radioButton4" - "text": "selected disabled" + "text": "Selected disabled" "selected": true "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -342,8 +342,8 @@ new FormModel { name: "comboBox1" "editable": true "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "editable" - addElement( "editable" ) + selectedItem: "Editable" + addElement( "Editable" ) addElement( "a" ) addElement( "bb" ) addElement( "ccc" ) @@ -364,8 +364,8 @@ new FormModel { "editable": true "enabled": false "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "disabled" - addElement( "disabled" ) + selectedItem: "Disabled" + addElement( "Disabled" ) addElement( "a" ) addElement( "bb" ) addElement( "ccc" ) @@ -376,8 +376,8 @@ new FormModel { add( new FormComponent( "javax.swing.JComboBox" ) { name: "comboBox3" "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "not editable" - addElement( "not editable" ) + selectedItem: "Not editable" + addElement( "Not editable" ) addElement( "a" ) addElement( "bb" ) addElement( "ccc" ) @@ -396,8 +396,8 @@ new FormModel { add( new FormComponent( "javax.swing.JComboBox" ) { name: "comboBox4" "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "not editable disabled" - addElement( "not editable disabled" ) + selectedItem: "Not editable disabled" + addElement( "Not editable disabled" ) addElement( "a" ) addElement( "bb" ) addElement( "ccc" ) @@ -409,8 +409,8 @@ new FormModel { add( new FormComponent( "javax.swing.JComboBox" ) { name: "comboBox5" "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "wide popup if text is longer" - addElement( "wide popup if text is longer" ) + selectedItem: "Wide popup if text is longer" + addElement( "Wide popup if text is longer" ) addElement( "aa" ) addElement( "bbb" ) addElement( "cccc" ) @@ -422,8 +422,8 @@ new FormModel { name: "comboBox6" "border": #EmptyBorder0 "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "empty border" - addElement( "empty border" ) + selectedItem: "Empty border" + addElement( "Empty border" ) addElement( "a" ) addElement( "b" ) addElement( "c" ) @@ -451,7 +451,7 @@ new FormModel { add( new FormComponent( "javax.swing.JComboBox" ) { name: "comboBox7" "editable": true - "$client.JTextField.placeholderText": "placeholder" + "$client.JTextField.placeholderText": "Placeholder" auxiliary() { "JavaCodeGenerator.typeParameters": "String" } @@ -475,7 +475,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField1" - "text": "editable" + "text": "Editable" auxiliary() { "JavaCodeGenerator.variableLocal": false } @@ -484,21 +484,21 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField2" - "text": "disabled" + "text": "Disabled" "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 2 7,growx" } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField3" - "text": "not editable" + "text": "Not editable" "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 7,growx" } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField4" - "text": "not editable disabled" + "text": "Not editable disabled" "enabled": false "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -506,13 +506,13 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField6" - "$client.JTextField.placeholderText": "placeholder" + "$client.JTextField.placeholderText": "Placeholder" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 7,growx" } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "textField5" - "text": "empty border" + "text": "Empty border" "border": #EmptyBorder0 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 6 7" @@ -525,27 +525,27 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JFormattedTextField" ) { name: "formattedTextField1" - "text": "editable" + "text": "Editable" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 8,growx" } ) add( new FormComponent( "javax.swing.JFormattedTextField" ) { name: "formattedTextField2" - "text": "disabled" + "text": "Disabled" "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 2 8,growx" } ) add( new FormComponent( "javax.swing.JFormattedTextField" ) { name: "formattedTextField3" - "text": "not editable" + "text": "Not editable" "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 8,growx" } ) add( new FormComponent( "javax.swing.JFormattedTextField" ) { name: "formattedTextField4" - "text": "not editable disabled" + "text": "Not editable disabled" "enabled": false "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -553,13 +553,13 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JFormattedTextField" ) { name: "formattedTextField5" - "$client.JTextField.placeholderText": "placeholder" + "$client.JTextField.placeholderText": "Placeholder" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 8,growx" } ) add( new FormComponent( "javax.swing.JFormattedTextField" ) { name: "formattedTextField6" - "text": "empty border" + "text": "Empty border" "border": #EmptyBorder0 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 6 8" @@ -572,27 +572,27 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JPasswordField" ) { name: "passwordField1" - "text": "editable" + "text": "Editable" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 9,growx" } ) add( new FormComponent( "javax.swing.JPasswordField" ) { name: "passwordField2" - "text": "disabled" + "text": "Disabled" "enabled": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 2 9,growx" } ) add( new FormComponent( "javax.swing.JPasswordField" ) { name: "passwordField3" - "text": "not editable" + "text": "Not editable" "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 9,growx" } ) add( new FormComponent( "javax.swing.JPasswordField" ) { name: "passwordField4" - "text": "not editable disabled" + "text": "Not editable disabled" "enabled": false "editable": false }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -600,7 +600,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JPasswordField" ) { name: "passwordField5" - "$client.JTextField.placeholderText": "placeholder" + "$client.JTextField.placeholderText": "Placeholder" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 9,growx" } ) @@ -623,7 +623,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextArea" ) { name: "textArea1" - "text": "editable" + "text": "Editable" "rows": 2 } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -635,7 +635,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextArea" ) { name: "textArea2" - "text": "disabled" + "text": "Disabled" "rows": 2 "enabled": false } ) @@ -648,7 +648,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextArea" ) { name: "textArea3" - "text": "not editable" + "text": "Not editable" "rows": 2 "editable": false } ) @@ -661,7 +661,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextArea" ) { name: "textArea4" - "text": "not editable disabled" + "text": "Not editable disabled" "rows": 2 "editable": false "enabled": false @@ -672,7 +672,7 @@ new FormModel { add( new FormComponent( "javax.swing.JTextArea" ) { name: "textArea5" "rows": 2 - "text": "no scroll pane" + "text": "No scroll pane" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 10,growx" } ) @@ -688,7 +688,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JEditorPane" ) { name: "editorPane1" - "text": "editable" + "text": "Editable" } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 11,growx" @@ -699,7 +699,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JEditorPane" ) { name: "editorPane2" - "text": "disabled" + "text": "Disabled" "enabled": false } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -711,7 +711,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JEditorPane" ) { name: "editorPane3" - "text": "not editable" + "text": "Not editable" "editable": false } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -723,7 +723,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JEditorPane" ) { name: "editorPane4" - "text": "not editable disabled" + "text": "Not editable disabled" "editable": false "enabled": false } ) @@ -732,7 +732,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JEditorPane" ) { name: "editorPane5" - "text": "no scroll pane" + "text": "No scroll pane" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 11,growx" } ) @@ -748,7 +748,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextPane" ) { name: "textPane1" - "text": "editable" + "text": "Editable" } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 12,growx" @@ -759,7 +759,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextPane" ) { name: "textPane2" - "text": "disabled" + "text": "Disabled" "enabled": false } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -771,7 +771,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextPane" ) { name: "textPane3" - "text": "not editable" + "text": "Not editable" "editable": false } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { @@ -783,7 +783,7 @@ new FormModel { "horizontalScrollBarPolicy": 31 add( new FormComponent( "javax.swing.JTextPane" ) { name: "textPane4" - "text": "not editable disabled" + "text": "Not editable disabled" "editable": false "enabled": false } ) @@ -792,7 +792,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JTextPane" ) { name: "textPane5" - "text": "no scroll pane" + "text": "No scroll pane" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 5 12,growx" } ) diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatHtmlTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatHtmlTest.java index 0c9e2144..f0c4cac7 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatHtmlTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatHtmlTest.java @@ -58,6 +58,34 @@ public class FlatHtmlTest editorPaneLabel = new JLabel(); textPaneLabel = new JLabel(); toolTipLabel = new JLabel(); + panel1 = new JPanel(); + label5 = new JLabel(); + label6 = new JLabel(); + label7 = new JLabel(); + label3 = new JLabel(); + button1 = new JButton(); + button2 = new JButton(); + label11 = new JLabel(); + toggleButton1 = new JToggleButton(); + toggleButton2 = new JToggleButton(); + label12 = new JLabel(); + checkBox1 = new JCheckBox(); + checkBox2 = new JCheckBox(); + label13 = new JLabel(); + radioButton1 = new JRadioButton(); + radioButton2 = new JRadioButton(); + label8 = new JLabel(); + menu1 = new JMenu(); + menu2 = new JMenu(); + label4 = new JLabel(); + menuItem1 = new JMenuItem(); + menuItem2 = new JMenuItem(); + label9 = new JLabel(); + checkBoxMenuItem1 = new JCheckBoxMenuItem(); + checkBoxMenuItem2 = new JCheckBoxMenuItem(); + label10 = new JLabel(); + radioButtonMenuItem1 = new JRadioButtonMenuItem(); + radioButtonMenuItem2 = new JRadioButtonMenuItem(); label1 = new JLabel(); scrollPane15 = new JScrollPane(); editorPane1 = new JEditorPane(); @@ -78,6 +106,7 @@ public class FlatHtmlTest "[fill]" + "[fill]" + "[fill]" + + "[fill]" + "[fill]", // rows "[]" + @@ -100,6 +129,145 @@ public class FlatHtmlTest toolTipLabel.setText("JToolTip:"); add(toolTipLabel, "cell 3 0"); + //======== panel1 ======== + { + panel1.setLayout(new MigLayout( + "insets 0,hidemode 3", + // columns + "[fill]" + + "[fill]" + + "[fill]", + // rows + "[]" + + "[]" + + "[]" + + "[]" + + "[]" + + "[]" + + "[]" + + "[]" + + "[]")); + + //---- label5 ---- + label5.setText("JLabel:"); + panel1.add(label5, "cell 0 0"); + + //---- label6 ---- + label6.setText("Some Bold Text"); + panel1.add(label6, "cell 1 0"); + + //---- label7 ---- + label7.setText("Some text"); + panel1.add(label7, "cell 2 0"); + + //---- label3 ---- + label3.setText("JButon:"); + panel1.add(label3, "cell 0 1"); + + //---- button1 ---- + button1.setText("Some Bold Text"); + panel1.add(button1, "cell 1 1"); + + //---- button2 ---- + button2.setText("Some text"); + panel1.add(button2, "cell 2 1"); + + //---- label11 ---- + label11.setText("text"); + panel1.add(label11, "cell 0 2"); + + //---- toggleButton1 ---- + toggleButton1.setText("Some Bold Text"); + toggleButton1.setSelected(true); + panel1.add(toggleButton1, "cell 1 2"); + + //---- toggleButton2 ---- + toggleButton2.setText("Some text"); + toggleButton2.setSelected(true); + panel1.add(toggleButton2, "cell 2 2"); + + //---- label12 ---- + label12.setText("text"); + panel1.add(label12, "cell 0 3"); + + //---- checkBox1 ---- + checkBox1.setText("Some Bold Text"); + panel1.add(checkBox1, "cell 1 3"); + + //---- checkBox2 ---- + checkBox2.setText("Some text"); + panel1.add(checkBox2, "cell 2 3"); + + //---- label13 ---- + label13.setText("text"); + panel1.add(label13, "cell 0 4"); + + //---- radioButton1 ---- + radioButton1.setText("Some Bold Text"); + panel1.add(radioButton1, "cell 1 4"); + + //---- radioButton2 ---- + radioButton2.setText("Some text"); + panel1.add(radioButton2, "cell 2 4"); + + //---- label8 ---- + label8.setText("JMenu:"); + panel1.add(label8, "cell 0 5"); + + //======== menu1 ======== + { + menu1.setText("Some Bold Text"); + } + panel1.add(menu1, "cell 1 5"); + + //======== menu2 ======== + { + menu2.setText("Some text"); + } + panel1.add(menu2, "cell 2 5"); + + //---- label4 ---- + label4.setText("JMenuItem:"); + panel1.add(label4, "cell 0 6"); + + //---- menuItem1 ---- + menuItem1.setText("Some Bold Text"); + panel1.add(menuItem1, "cell 1 6"); + + //---- menuItem2 ---- + menuItem2.setText("Some text"); + panel1.add(menuItem2, "cell 2 6"); + + //---- label9 ---- + label9.setText("JCheckBoxMenuItem:"); + panel1.add(label9, "cell 0 7"); + + //---- checkBoxMenuItem1 ---- + checkBoxMenuItem1.setText("Some Bold Text"); + checkBoxMenuItem1.setSelected(true); + panel1.add(checkBoxMenuItem1, "cell 1 7"); + + //---- checkBoxMenuItem2 ---- + checkBoxMenuItem2.setText("Some text"); + checkBoxMenuItem2.setSelected(true); + panel1.add(checkBoxMenuItem2, "cell 2 7"); + + //---- label10 ---- + label10.setText("JRadioButtonMenuItem:"); + panel1.add(label10, "cell 0 8"); + + //---- radioButtonMenuItem1 ---- + radioButtonMenuItem1.setText("Some Bold Text"); + radioButtonMenuItem1.setSelected(true); + panel1.add(radioButtonMenuItem1, "cell 1 8"); + + //---- radioButtonMenuItem2 ---- + radioButtonMenuItem2.setText("Some text"); + radioButtonMenuItem2.setSelected(true); + panel1.add(radioButtonMenuItem2, "cell 2 8"); + } + add(panel1, "cell 4 0 1 3,aligny top,growy 0"); + //---- label1 ---- label1.setText("HTML
Sample content
text with link

Header 1

Header 2

Header 3

Header 4

Header 5
Header 6

Paragraph


Col 1Col 2
abcdef
  • item 1
  • item 2
"); add(label1, "cell 0 1"); @@ -183,6 +351,34 @@ public class FlatHtmlTest private JLabel editorPaneLabel; private JLabel textPaneLabel; private JLabel toolTipLabel; + private JPanel panel1; + private JLabel label5; + private JLabel label6; + private JLabel label7; + private JLabel label3; + private JButton button1; + private JButton button2; + private JLabel label11; + private JToggleButton toggleButton1; + private JToggleButton toggleButton2; + private JLabel label12; + private JCheckBox checkBox1; + private JCheckBox checkBox2; + private JLabel label13; + private JRadioButton radioButton1; + private JRadioButton radioButton2; + private JLabel label8; + private JMenu menu1; + private JMenu menu2; + private JLabel label4; + private JMenuItem menuItem1; + private JMenuItem menuItem2; + private JLabel label9; + private JCheckBoxMenuItem checkBoxMenuItem1; + private JCheckBoxMenuItem checkBoxMenuItem2; + private JLabel label10; + private JRadioButtonMenuItem radioButtonMenuItem1; + private JRadioButtonMenuItem radioButtonMenuItem2; private JLabel label1; private JScrollPane scrollPane15; private JEditorPane editorPane1; diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatHtmlTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatHtmlTest.jfd index 006018f7..7ff2c3e3 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatHtmlTest.jfd +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatHtmlTest.jfd @@ -1,11 +1,11 @@ -JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8" +JFDML JFormDesigner: "7.0.2.0.298" Java: "14" encoding: "UTF-8" new FormModel { contentType: "form/swing" root: new FormRoot { add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { "$layoutConstraints": "ltr,insets dialog,hidemode 3" - "$columnConstraints": "[fill][fill][fill][fill]" + "$columnConstraints": "[fill][fill][fill][fill][fill]" "$rowConstraints": "[][top][top]" } ) { name: "this" @@ -33,6 +33,183 @@ new FormModel { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 0" } ) + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { + "$layoutConstraints": "insets 0,hidemode 3" + "$columnConstraints": "[fill][fill][fill]" + "$rowConstraints": "[][][][][][][][][]" + } ) { + name: "panel1" + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label5" + "text": "JLabel:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 0" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label6" + "text": "Some Bold Text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 0" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label7" + "text": "Some text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 0" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label3" + "text": "JButon:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 1" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "button1" + "text": "Some Bold Text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 1" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "button2" + "text": "Some text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 1" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label11" + "text": "text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 2" + } ) + add( new FormComponent( "javax.swing.JToggleButton" ) { + name: "toggleButton1" + "text": "Some Bold Text" + "selected": true + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 2" + } ) + add( new FormComponent( "javax.swing.JToggleButton" ) { + name: "toggleButton2" + "text": "Some text" + "selected": true + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 2" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label12" + "text": "text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 3" + } ) + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "checkBox1" + "text": "Some Bold Text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 3" + } ) + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "checkBox2" + "text": "Some text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 3" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label13" + "text": "text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 4" + } ) + add( new FormComponent( "javax.swing.JRadioButton" ) { + name: "radioButton1" + "text": "Some Bold Text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 4" + } ) + add( new FormComponent( "javax.swing.JRadioButton" ) { + name: "radioButton2" + "text": "Some text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 4" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label8" + "text": "JMenu:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 5" + } ) + add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) { + name: "menu1" + "text": "Some Bold Text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 5" + } ) + add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) { + name: "menu2" + "text": "Some text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 5" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label4" + "text": "JMenuItem:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 6" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem1" + "text": "Some Bold Text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 6" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem2" + "text": "Some text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 6" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label9" + "text": "JCheckBoxMenuItem:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 7" + } ) + add( new FormComponent( "javax.swing.JCheckBoxMenuItem" ) { + name: "checkBoxMenuItem1" + "text": "Some Bold Text" + "selected": true + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 7" + } ) + add( new FormComponent( "javax.swing.JCheckBoxMenuItem" ) { + name: "checkBoxMenuItem2" + "text": "Some text" + "selected": true + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 7" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label10" + "text": "JRadioButtonMenuItem:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 8" + } ) + add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) { + name: "radioButtonMenuItem1" + "text": "Some Bold Text" + "selected": true + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 8" + } ) + add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) { + name: "radioButtonMenuItem2" + "text": "Some text" + "selected": true + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 8" + } ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 4 0 1 3,aligny top,growy 0" + } ) add( new FormComponent( "javax.swing.JLabel" ) { name: "label1" "text": "HTML
Sample content
text with link

Header 1

Header 2

Header 3

Header 4

Header 5
Header 6

Paragraph


Col 1Col 2
abcdef
  • item 1
  • item 2
" diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.java new file mode 100644 index 00000000..60c6246b --- /dev/null +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.java @@ -0,0 +1,249 @@ +/* + * Copyright 2020 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.testing; + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Insets; +import java.awt.geom.AffineTransform; +import javax.swing.*; +import javax.swing.border.EmptyBorder; +import com.formdev.flatlaf.ui.FlatUIUtils; +import com.formdev.flatlaf.util.Graphics2DProxy; +import com.formdev.flatlaf.util.HiDPIUtils; +import com.formdev.flatlaf.util.JavaCompatibility; +import com.formdev.flatlaf.util.SystemInfo; +import net.miginfocom.swing.*; + +/** + * @author Karl Tauber + */ +public class FlatPaintingStringTest + extends JPanel +{ + public static void main( String[] args ) { + System.setProperty( "flatlaf.uiScale", "1x" ); + System.setProperty( "sun.java2d.uiScale", "1x" ); + + SwingUtilities.invokeLater( () -> { + FlatTestFrame frame = FlatTestFrame.create( args, "FlatPaintingStringTest" ); + + ToolTipManager.sharedInstance().setInitialDelay( 0 ); + ToolTipManager.sharedInstance().setDismissDelay( 10000 ); + + frame.showFrame( FlatPaintingStringTest::new ); + } ); + } + + FlatPaintingStringTest() { + initComponents(); + + add( new JLabel() ); + add( new JLabel( "none" ) ); + add( new JLabel( "flatlaf" ) ); + add( new JLabel( "0.25*scale" ) ); + add( new JLabel( "0.5*scale" ) ); + if( SystemInfo.IS_JAVA_9_OR_LATER ) { + add( new JLabel( "0.25" ) ); + add( new JLabel( "0.5" ) ); + add( new JLabel( "0.625" ) ); + add( new JLabel( "0.75" ) ); + add( new JLabel( "0.875" ) ); + } else { + add( new JLabel( "0.625*scale" ) ); + add( new JLabel( "0.75*scale" ) ); + add( new JLabel( "0.875*scale" ) ); + } + + YCorrectionFunction none = (g, scaleFactor) -> 0; + YCorrectionFunction flatlaf = (g, scaleFactor) -> { + return SystemInfo.IS_JAVA_9_OR_LATER + ? HiDPIUtils.computeTextYCorrection( g ) + : (scaleFactor > 1 ? -(0.625f * scaleFactor) : 0); + }; + YCorrectionFunction oneQSysScale = (g, scaleFactor) -> -(0.25f * scaleFactor); + YCorrectionFunction halfSysScale = (g, scaleFactor) -> -(0.5f * scaleFactor); + YCorrectionFunction fiveEightsQSysScale = (g, scaleFactor) -> -(0.625f * scaleFactor); + YCorrectionFunction threeQSysScale = (g, scaleFactor) -> -(0.75f * scaleFactor); + YCorrectionFunction sevenEightsSysScale = (g, scaleFactor) -> -(0.875f * scaleFactor); + YCorrectionFunction oneQ = (g, scaleFactor) -> -0.25f; + YCorrectionFunction half = (g, scaleFactor) -> -0.5f; + YCorrectionFunction fiveEights = (g, scaleFactor) -> -0.625f; + YCorrectionFunction threeQ = (g, scaleFactor) -> -0.75f; + YCorrectionFunction sevenEights = (g, scaleFactor) -> -0.875f; + + float[] scaleFactors = new float[] { 1f, 1.25f, 1.5f, 1.75f, 2f, 2.25f, 2.5f, 3f, 3.5f, 4f }; + + for( float scaleFactor : scaleFactors ) { + add( new JLabel( String.valueOf( scaleFactor ) ), "newLine" ); + + add( scaleFactor, none ); + add( scaleFactor, flatlaf ); + add( scaleFactor, oneQSysScale ); + add( scaleFactor, halfSysScale ); + if( SystemInfo.IS_JAVA_9_OR_LATER ) { + add( scaleFactor, oneQ ); + add( scaleFactor, half ); + add( scaleFactor, fiveEights ); + add( scaleFactor, threeQ ); + add( scaleFactor, sevenEights ); + } else { + add( scaleFactor, fiveEightsQSysScale ); + add( scaleFactor, threeQSysScale ); + add( scaleFactor, sevenEightsSysScale ); + } + } + } + + private void add( float scaleFactor, YCorrectionFunction correctionFunction ) { + if( SystemInfo.IS_JAVA_9_OR_LATER ) { + add( new Painter( scaleFactor, correctionFunction, 0 ), "split 4, gapx 0 0" ); + add( new Painter( scaleFactor, correctionFunction, 0.25f ), "gapx 0 0" ); + add( new Painter( scaleFactor, correctionFunction, 0.5f ), "gapx 0 0" ); + add( new Painter( scaleFactor, correctionFunction, 0.75f ), "gapx 0 0" ); + } else + add( new Painter( scaleFactor, correctionFunction, 0 ) ); + } + + private void initComponents() { + // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents + + //======== this ======== + setBorder(null); + setLayout(new MigLayout( + "insets dialog,hidemode 3", + // columns + "[fill]", + // rows + "[top]")); + // JFormDesigner - End of component initialization //GEN-END:initComponents + } + + // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables + // JFormDesigner - End of variables declaration //GEN-END:variables + + private interface YCorrectionFunction { + float computeTextYCorrection( Graphics2D g, float scaleFactor ); + } + + //---- class Painter ------------------------------------------------------ + + public static class Painter + extends JLabel + { + private final float scaleFactor; + private final YCorrectionFunction correctionFunction; + private final float yOffset; + + public Painter( float scaleFactor, YCorrectionFunction correctionFunction, float yOffset ) { + super( "E" ); + this.scaleFactor = scaleFactor; + this.correctionFunction = correctionFunction; + this.yOffset = yOffset; + setBorder( new EmptyBorder( 2, 0, 2, 0 ) ); + + if( !SystemInfo.IS_JAVA_9_OR_LATER ) { + Font font = getFont(); + setFont( font.deriveFont( (float) Math.round( font.getSize() * scaleFactor ) ) ); + } + } + + @Override + public Dimension getPreferredSize() { + Dimension size = super.getPreferredSize(); + Insets insets = getInsets(); + int leftRight = insets.left + insets.right; + return new Dimension( + scale( size.width -leftRight ) + leftRight, + scale( size.height ) ); + } + + @Override + protected void paintComponent( Graphics g ) { + Graphics2D g2 = (Graphics2D) g; + FlatUIUtils.setRenderingHints( g2 ); + + // simulate component y position at a fraction + if( scaleFactor > 1 && SystemInfo.IS_JAVA_9_OR_LATER ) + g2.translate( 0, yOffset ); + + int width = getWidth(); + int height = getHeight(); + Insets insets = getInsets(); + FontMetrics fm = getFontMetrics( getFont() ); + + // paint lines at 1x + HiDPIUtils.paintAtScale1x( g2, 0, 0, width, height, + (g2d, x2, y2, width2, height2, scaleFactor2) -> { +// g.setColor( Color.blue ); +// g.drawLine( 0, 0, width2, 0 ); +// g.drawLine( 0, height2 - 1, width2, height2 - 1 ); + + int baseline = (int) Math.round( (insets.top + fm.getAscent()) * scaleFactor2 + * (SystemInfo.IS_JAVA_9_OR_LATER ? scaleFactor : 1f) ) - 1; + int topline = height2 - baseline - 1; + + g.setColor( Color.red ); + g.drawLine( 0, baseline, width2, baseline ); + g.drawLine( 0, topline, width2, topline ); + } ); + + // move x before scaling to have same left inset at all scale factors + g.translate( insets.left, 0 ); + + // scale + if( SystemInfo.IS_JAVA_9_OR_LATER ) + ((Graphics2D)g).scale( scaleFactor, scaleFactor ); + + // compute Y correction + float yCorrection = correctionFunction.computeTextYCorrection( g2, scaleFactor ); + + // create graphics that applies Y correction + Graphics2D cg = new Graphics2DProxy( g2 ) { + @Override + public void drawString( String str, int x, int y ) { + super.drawString( str, x, y + yCorrection ); + } + + @Override + public void drawString( String str, float x, float y ) { + super.drawString( str, x, y + yCorrection ); + } + }; + + // draw string + g.setColor( getForeground() ); + int y = insets.top + fm.getAscent(); + JavaCompatibility.drawStringUnderlineCharAt( this, cg, "E", -1, 0, y ); + + // set tooltip text + if( getToolTipText() == null ) { + AffineTransform t = g2.getTransform(); + double textY = t.getTranslateY() + (y * t.getScaleY()); + setToolTipText( textY + " + " + yCorrection + " = " + (textY + yCorrection) ); + } + } + + private int scale( int value ) { + return SystemInfo.IS_JAVA_9_OR_LATER ? Math.round( value * scaleFactor ) : value; + } + } +} diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.jfd new file mode 100644 index 00000000..c5fb3d83 --- /dev/null +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.jfd @@ -0,0 +1,21 @@ +JFDML JFormDesigner: "7.0.2.0.298" Java: "14" encoding: "UTF-8" + +new FormModel { + contentType: "form/swing" + root: new FormRoot { + auxiliary() { + "JavaCodeGenerator.defaultVariableLocal": true + } + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { + "$layoutConstraints": "insets dialog,hidemode 3" + "$columnConstraints": "[fill]" + "$rowConstraints": "[top]" + } ) { + name: "this" + "border": sfield com.jformdesigner.model.FormObject NULL_VALUE + }, new FormLayoutConstraints( null ) { + "location": new java.awt.Point( 0, 0 ) + "size": new java.awt.Dimension( 450, 300 ) + } ) + } +} diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.java index 4b7407e4..8998eedc 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.java @@ -287,7 +287,7 @@ public class FlatTestFrame if( menuBarFactory != null ) setJMenuBar( menuBarFactory.apply( content ) ); - contentPanel.getContentPane().add( content ); + contentPanel.add( content ); pack(); setLocationRelativeTo( null ); setVisible( true ); @@ -589,9 +589,9 @@ public class FlatTestFrame } private void recreateContent() { - contentPanel.getContentPane().remove( content ); + contentPanel.remove( content ); content = contentFactory.get(); - contentPanel.getContentPane().add( content ); + contentPanel.add( content ); if( rightToLeftCheckBox.isSelected() ) rightToLeftChanged(); @@ -607,7 +607,7 @@ public class FlatTestFrame private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents dialogPane = new JPanel(); - contentPanel = new JRootPane(); + contentPanel = new JPanel(); buttonBar = new JPanel(); lookAndFeelComboBox = new LookAndFeelsComboBox(); scaleFactorComboBox = new JComboBox<>(); @@ -633,8 +633,7 @@ public class FlatTestFrame //======== contentPanel ======== { - Container contentPanelContentPane = contentPanel.getContentPane(); - contentPanelContentPane.setLayout(new MigLayout( + contentPanel.setLayout(new MigLayout( "insets 0,hidemode 3", // columns "[grow,fill]", @@ -753,7 +752,7 @@ public class FlatTestFrame // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables private JPanel dialogPane; - private JRootPane contentPanel; + private JPanel contentPanel; private JPanel buttonBar; private LookAndFeelsComboBox lookAndFeelComboBox; private JComboBox scaleFactorComboBox; diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.jfd index 1dbbf02e..d8547776 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.jfd +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.jfd @@ -1,4 +1,4 @@ -JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8" +JFDML JFormDesigner: "7.0.2.0.298" Java: "13.0.2" encoding: "UTF-8" new FormModel { contentType: "form/swing" @@ -10,7 +10,7 @@ new FormModel { "defaultCloseOperation": 2 add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) { name: "dialogPane" - add( new FormContainer( "javax.swing.JRootPane", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { "$layoutConstraints": "insets 0,hidemode 3" "$columnConstraints": "[grow,fill]" "$rowConstraints": "[grow,fill]" diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/glazedlists/FlatGlazedListsTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/glazedlists/FlatGlazedListsTest.java new file mode 100644 index 00000000..cc6c1414 --- /dev/null +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/glazedlists/FlatGlazedListsTest.java @@ -0,0 +1,157 @@ +/* + * Copyright 2019 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.testing.glazedlists; + +import java.util.Comparator; +import javax.swing.*; +import com.formdev.flatlaf.testing.*; +import com.formdev.flatlaf.testing.FlatTestFrame; +import ca.odell.glazedlists.BasicEventList; +import ca.odell.glazedlists.EventList; +import ca.odell.glazedlists.SortedList; +import ca.odell.glazedlists.gui.TableFormat; +import ca.odell.glazedlists.swing.AdvancedTableModel; +import ca.odell.glazedlists.swing.GlazedListsSwing; +import ca.odell.glazedlists.swing.TableComparatorChooser; +import net.miginfocom.swing.*; + +/** + * @author Karl Tauber + */ +public class FlatGlazedListsTest + extends FlatTestPanel +{ + public static void main( String[] args ) { + SwingUtilities.invokeLater( () -> { + FlatTestFrame frame = FlatTestFrame.create( args, "FlatGlazedListsTest" ); + frame.showFrame( FlatGlazedListsTest::new ); + } ); + } + + FlatGlazedListsTest() { + initComponents(); + + EventList itemEventList = new BasicEventList<>(); + itemEventList.add( new Item( "item 1", "item 1b", "January", 123, null ) ); + itemEventList.add( new Item( "item 2", "item 2b", "February", 456, true ) ); + itemEventList.add( new Item( "item 3", null, "March", null, false ) ); + itemEventList.add( new Item( "item 4", null, "April", 234, true ) ); + itemEventList.add( new Item( "item 5", null, "May", null, false ) ); + itemEventList.add( new Item( "item 6", null, "June", null, null ) ); + itemEventList.add( new Item( "item 7", null, "July", null, null ) ); + itemEventList.add( new Item( "item 8", null, "August", null, null ) ); + itemEventList.add( new Item( "item 9", null, "September", null, null ) ); + itemEventList.add( new Item( "item 10", null, "October", null, null ) ); + itemEventList.add( new Item( "item 11", null, "November", null, null ) ); + itemEventList.add( new Item( "item 12", null, "December", null, null ) ); + + Comparator itemComparator = Comparator.comparing( Item::getName ); + SortedList sortedItems = new SortedList<>( itemEventList, itemComparator ); + AdvancedTableModel tableModel = GlazedListsSwing.eventTableModelWithThreadProxyList( sortedItems, new ItemTableFormat() ); + itemsTable.setModel( tableModel ); + TableComparatorChooser tableComparatorChooser = TableComparatorChooser.install( + itemsTable, sortedItems, TableComparatorChooser.MULTIPLE_COLUMN_MOUSE ); + tableComparatorChooser.appendComparator( 0, 0, false ); + + TableComparatorChooser.setIconPath( "resources/windowsxp" ); + } + + private void initComponents() { + // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents + scrollPane1 = new JScrollPane(); + itemsTable = new JTable(); + + //======== this ======== + setLayout(new MigLayout( + "insets dialog,hidemode 3", + // columns + "[grow,fill]", + // rows + "[grow,fill]")); + + //======== scrollPane1 ======== + { + scrollPane1.setViewportView(itemsTable); + } + add(scrollPane1, "cell 0 0,growx,width 300"); + // JFormDesigner - End of component initialization //GEN-END:initComponents + } + + // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables + private JScrollPane scrollPane1; + private JTable itemsTable; + // JFormDesigner - End of variables declaration //GEN-END:variables + + //---- class Item --------------------------------------------------------- + + private static class Item + { + final String name; + final String desc; + final String month; + final Integer number; + final Boolean bool; + + Item( String name, String desc, String month, Integer number, Boolean bool ) { + this.name = name; + this.desc = desc; + this.month = month; + this.number = number; + this.bool = bool; + } + + String getName() { + return name; + } + } + + //---- class ItemTableFormat ---------------------------------------------- + + private static class ItemTableFormat + implements TableFormat + { + private static String[] COLUMN_NAMES = { + "Name", + "Description", + "Month", + "Integer", + "Boolean", + }; + + @Override + public int getColumnCount() { + return COLUMN_NAMES.length; + } + + @Override + public String getColumnName( int column ) { + return COLUMN_NAMES[column]; + } + + @Override + public Object getColumnValue( Item item, int column ) { + switch( column ) { + case 0: return item.name; + case 1: return item.desc; + case 2: return item.month; + case 3: return item.number; + case 4: return item.bool; + } + throw new IllegalStateException(); + } + } +} diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/glazedlists/FlatGlazedListsTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/glazedlists/FlatGlazedListsTest.jfd new file mode 100644 index 00000000..02c995cf --- /dev/null +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/glazedlists/FlatGlazedListsTest.jfd @@ -0,0 +1,34 @@ +JFDML JFormDesigner: "7.0.2.0.298" Java: "13.0.2" encoding: "UTF-8" + +new FormModel { + contentType: "form/swing" + root: new FormRoot { + auxiliary() { + "JavaCodeGenerator.defaultVariableLocal": true + } + add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { + "$layoutConstraints": "insets dialog,hidemode 3" + "$columnConstraints": "[grow,fill]" + "$rowConstraints": "[grow,fill]" + } ) { + name: "this" + add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) { + name: "scrollPane1" + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + add( new FormComponent( "javax.swing.JTable" ) { + name: "itemsTable" + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + } ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 0,growx,width 300" + } ) + }, new FormLayoutConstraints( null ) { + "location": new java.awt.Point( 0, 0 ) + "size": new java.awt.Dimension( 500, 500 ) + } ) + } +} diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java index c44ff61a..53a01ecf 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java @@ -36,6 +36,8 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Objects; +import java.util.TreeSet; import java.util.function.Predicate; import javax.swing.Icon; import javax.swing.ImageIcon; @@ -89,9 +91,11 @@ public class UIDefaultsDump dump( FlatLightLaf.class.getName(), dir ); dump( FlatDarkLaf.class.getName(), dir ); -// dump( FlatIntelliJLaf.class.getName(), dir ); -// dump( FlatDarculaLaf.class.getName(), dir ); -// + if( SystemInfo.IS_WINDOWS ) { + dump( FlatIntelliJLaf.class.getName(), dir ); + dump( FlatDarculaLaf.class.getName(), dir ); + } + // dump( MyBasicLookAndFeel.class.getName(), dir ); // dump( MetalLookAndFeel.class.getName(), dir ); // dump( NimbusLookAndFeel.class.getName(), dir ); @@ -170,14 +174,20 @@ public class UIDefaultsDump : ((SystemInfo.IS_LINUX && lookAndFeel instanceof FlatLaf) ? "-linux" : ""); + String javaVersion = System.getProperty( "java.version" ); File file = new File( dir, name + nameSuffix + "_" - + System.getProperty( "java.version" ) + osSuffix + ".txt" ); + + javaVersion + osSuffix + ".txt" ); // build differences String content; - if( !osSuffix.isEmpty() && nameSuffix.isEmpty() ) { - File origFile = new File( dir, name + nameSuffix + "_" - + System.getProperty( "java.version" ) + ".txt" ); + File origFile = null; + if( !osSuffix.isEmpty() && nameSuffix.isEmpty() ) + origFile = new File( dir, name + nameSuffix + "_" + javaVersion + ".txt" ); + else if( lookAndFeel instanceof FlatIntelliJLaf && SystemInfo.IS_WINDOWS ) + origFile = new File( dir, "FlatLightLaf_" + javaVersion + ".txt" ); + else if( lookAndFeel instanceof FlatDarculaLaf && SystemInfo.IS_WINDOWS ) + origFile = new File( dir, "FlatDarkLaf_" + javaVersion + ".txt" ); + if( origFile != null ) { try { Map defaults1 = parse( new FileReader( origFile ) ); Map defaults2 = parse( new StringReader( stringWriter.toString() ) ); @@ -200,29 +210,33 @@ public class UIDefaultsDump } private static String diff( Map defaults1, Map defaults2 ) { - defaults1 = new LinkedHashMap<>( defaults1 ); + TreeSet keys = new TreeSet<>(); + keys.addAll( defaults1.keySet() ); + keys.addAll( defaults2.keySet() ); StringBuilder buf = new StringBuilder( 10000 ); - for( Map.Entry e : defaults2.entrySet() ) { - String key = e.getKey(); - String value2 = e.getValue(); - String value1 = defaults1.remove( key ); - if( !value2.equals( value1 ) ) { - if( value1 != null ) - buf.append( "- " ).append( key ).append( value1 ).append( '\n' ); - buf.append( "+ " ).append( key ).append( value2 ).append( '\n' ); - buf.append( '\n' ); - } - } - for( Map.Entry e : defaults1.entrySet() ) { - buf.append( "- " ).append( e.getKey() ).append( e.getValue() ).append( '\n' ); - buf.append( '\n' ); - } + // diff header values + for( String key : new String[] { "Class", "ID", "Name", "Java", "OS" } ) + diffValue( buf, key, defaults1.remove( key ), defaults2.remove( key ) ); + + // diff values + for( String key : keys ) + diffValue( buf, key, defaults1.get( key ), defaults2.get( key ) ); return buf.toString(); } + private static void diffValue( StringBuilder buf, String key, String value1, String value2 ) { + if( !Objects.equals( value1, value2 ) ) { + if( value1 != null ) + buf.append( "- " ).append( key ).append( value1 ).append( '\n' ); + if( value2 != null ) + buf.append( "+ " ).append( key ).append( value2 ).append( '\n' ); + buf.append( '\n' ); + } + } + private static Map parse( Reader in ) throws IOException { Map defaults = new LinkedHashMap<>(); try( BufferedReader reader = new BufferedReader( in ) ) { diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/FlatTestLaf.properties b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/FlatTestLaf.properties index ae8aa809..70a76ca6 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/FlatTestLaf.properties +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/FlatTestLaf.properties @@ -97,21 +97,30 @@ Button.toolbar.pressedBackground=#eeeeee #---- CheckBox ---- +# enabled CheckBox.icon.borderColor=#878787 -CheckBox.icon.disabledBorderColor=#BDBDBD -CheckBox.icon.selectedBorderColor=#4982CC -CheckBox.icon.focusedBorderColor=#7B9FC7 -CheckBox.icon.hoverBorderColor=#ff0000 -CheckBox.icon.selectedFocusedBorderColor=#ACCFF7 CheckBox.icon.background=#FFFFFF -CheckBox.icon.disabledBackground=#F2F2F2 -CheckBox.icon.focusedBackground=#00ffff -CheckBox.icon.hoverBackground=#ffff00 -CheckBox.icon.pressedBackground=#FFC800 +CheckBox.icon.selectedBorderColor=#4982CC CheckBox.icon.selectedBackground=#4D89C9 CheckBox.icon.checkmarkColor=#FFFFFF + +# disabled +CheckBox.icon.disabledBorderColor=#BDBDBD +CheckBox.icon.disabledBackground=#F2F2F2 CheckBox.icon.disabledCheckmarkColor=#ABABAB +# focused +CheckBox.icon.focusedBorderColor=#7B9FC7 +CheckBox.icon.focusedBackground=#00ffff +CheckBox.icon.selectedFocusedBorderColor=#ACCFF7 + +# hover +CheckBox.icon.hoverBorderColor=#ff0000 +CheckBox.icon.hoverBackground=#ffff00 + +# pressed +CheckBox.icon.pressedBackground=#FFC800 + #---- ComboBox ---- diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarculaLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarculaLaf_1.8.0_202.txt new file mode 100644 index 00000000..d4e91e74 --- /dev/null +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarculaLaf_1.8.0_202.txt @@ -0,0 +1,63 @@ +- Class com.formdev.flatlaf.FlatDarkLaf ++ Class com.formdev.flatlaf.FlatDarculaLaf + +- ID FlatLaf - FlatLaf Dark ++ ID FlatLaf - FlatLaf Darcula + +- Name FlatLaf Dark ++ Name FlatLaf Darcula + +- Button.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] ++ Button.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] + +- ComboBox.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] ++ ComboBox.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] + +- Component.arrowType chevron ++ Component.arrowType triangle + +- Component.focusWidth 0 ++ Component.focusWidth 2 + +- Component.innerFocusWidth 0.5 ++ Component.innerFocusWidth 0 + +- Component.innerOutlineWidth 1.0 ++ Component.innerOutlineWidth 0 + +- FormattedTextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] ++ FormattedTextField.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatTextBorder [UI] + +- HelpButton.icon [lazy] 22,22 com.formdev.flatlaf.icons.FlatHelpButtonIcon [UI] ++ HelpButton.icon [lazy] 26,26 com.formdev.flatlaf.icons.FlatHelpButtonIcon [UI] + +- JXDatePicker.border [lazy] 1,1,1,1 false com.formdev.flatlaf.swingx.ui.FlatDatePickerBorder [UI] ++ JXDatePicker.border [lazy] 3,3,3,3 false com.formdev.flatlaf.swingx.ui.FlatDatePickerBorder [UI] + +- PasswordField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] ++ PasswordField.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatTextBorder [UI] + +- ProgressBar.foreground #4a88c7 javax.swing.plaf.ColorUIResource [UI] ++ ProgressBar.foreground #a0a0a0 javax.swing.plaf.ColorUIResource [UI] + +- ProgressBar.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] ++ ProgressBar.selectionForeground #3c3f41 javax.swing.plaf.ColorUIResource [UI] + +- RadioButton.icon.centerDiameter 8 ++ RadioButton.icon.centerDiameter 5 + +- ScrollPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI] ++ ScrollPane.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatBorder [UI] + +- Spinner.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] ++ Spinner.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] + +- Table.scrollPaneBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI] ++ Table.scrollPaneBorder [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatBorder [UI] + +- TextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] ++ TextField.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatTextBorder [UI] + +- ToggleButton.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] ++ ToggleButton.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] + diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt index 13f547e7..2c0523a2 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt @@ -77,6 +77,7 @@ Button.default.hoverBackground #3b5f8b com.formdev.flatlaf.util.DerivedColor Button.default.hoverBorderColor #537699 javax.swing.plaf.ColorUIResource [UI] Button.default.pressedBackground #3f6796 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) Button.defaultButtonFollowsFocus true +Button.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] Button.disabledBorderColor #5e6060 javax.swing.plaf.ColorUIResource [UI] Button.disabledText #777777 javax.swing.plaf.ColorUIResource [UI] Button.focusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] @@ -129,6 +130,11 @@ CheckBox.icon.selectedBorderColor #6b6b6b javax.swing.plaf.ColorUIResource [U CheckBox.icon.selectedFocusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 4 +CheckBox.icon[filled].checkmarkColor #43494a javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedBackground #a7a7a7 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedBorderColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedHoverBackground #9f9f9f javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedPressedBackground #989898 javax.swing.plaf.ColorUIResource [UI] CheckBox.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] CheckBox.rollover true CheckBox.textIconGap 4 @@ -183,6 +189,7 @@ ComboBox.buttonEditableBackground #404445 javax.swing.plaf.ColorUIResource [U ComboBox.buttonHighlight #242424 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonHoverArrowColor #bbbbbb javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonShadow #646464 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonStyle auto ComboBox.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] ComboBox.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI] ComboBox.editorColumns 0 @@ -703,6 +710,7 @@ RadioButton.highlight #242424 javax.swing.plaf.ColorUIResource [UI] RadioButton.icon.centerDiameter 8 RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] RadioButton.iconTextGap 4 +RadioButton.icon[filled].centerDiameter 5 RadioButton.light #313131 javax.swing.plaf.ColorUIResource [UI] RadioButton.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] RadioButton.rollover true @@ -766,11 +774,15 @@ ScrollBar.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] ScrollBar.buttonArrowColor #9a9da1 javax.swing.plaf.ColorUIResource [UI] ScrollBar.buttonDisabledArrowColor #585858 javax.swing.plaf.ColorUIResource [UI] ScrollBar.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +ScrollBar.hoverButtonBackground #484c4e com.formdev.flatlaf.util.DerivedColor [UI] lighten(5%) ScrollBar.hoverThumbColor #6e767a com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) ScrollBar.hoverThumbWithTrack false ScrollBar.hoverTrackColor #484c4f com.formdev.flatlaf.util.DerivedColor [UI] lighten(4%) ScrollBar.maximumThumbSize 4096,4096 javax.swing.plaf.DimensionUIResource [UI] ScrollBar.minimumThumbSize 8,8 javax.swing.plaf.DimensionUIResource [UI] +ScrollBar.pressedButtonBackground #54595c com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) +ScrollBar.pressedThumbColor #7a8387 com.formdev.flatlaf.util.DerivedColor [UI] lighten(15%) +ScrollBar.pressedThumbWithTrack false ScrollBar.showButtons false ScrollBar.squareButtons false ScrollBar.thumb #565c5f com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) @@ -843,6 +855,7 @@ Spinner.buttonArrowColor #9a9da1 javax.swing.plaf.ColorUIResource [UI] Spinner.buttonBackground #404445 javax.swing.plaf.ColorUIResource [UI] Spinner.buttonDisabledArrowColor #585858 javax.swing.plaf.ColorUIResource [UI] Spinner.buttonHoverArrowColor #bbbbbb javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonStyle button Spinner.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] Spinner.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI] Spinner.editorAlignment 11 @@ -1085,6 +1098,7 @@ TitledPanelUI com.formdev.flatlaf.swingx.ui.FlatTitledPanelUI ToggleButton.background #4c5052 javax.swing.plaf.ColorUIResource [UI] ToggleButton.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] ToggleButton.darkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] ToggleButton.disabledSelectedBackground #53585a com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) ToggleButton.disabledText #777777 javax.swing.plaf.ColorUIResource [UI] ToggleButton.font [active] $defaultFont [UI] diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatIntelliJLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatIntelliJLaf_1.8.0_202.txt new file mode 100644 index 00000000..e3d5921f --- /dev/null +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatIntelliJLaf_1.8.0_202.txt @@ -0,0 +1,88 @@ +- Class com.formdev.flatlaf.FlatLightLaf ++ Class com.formdev.flatlaf.FlatIntelliJLaf + +- ID FlatLaf - FlatLaf Light ++ ID FlatLaf - FlatLaf IntelliJ + +- Name FlatLaf Light ++ Name FlatLaf IntelliJ + +- Button.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] ++ Button.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] + +- Button.default.background #ffffff javax.swing.plaf.ColorUIResource [UI] ++ Button.default.background #4d8ac9 javax.swing.plaf.ColorUIResource [UI] + ++ Button.default.boldText true + +- Button.default.borderColor #4f9ee3 javax.swing.plaf.ColorUIResource [UI] ++ Button.default.borderColor #3d75b2 javax.swing.plaf.ColorUIResource [UI] + +- Button.default.borderWidth 2 ++ Button.default.borderWidth 1 + +- Button.default.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] + +- Button.default.focusedBorderColor #87afda javax.swing.plaf.ColorUIResource [UI] ++ Button.default.focusedBorderColor #a9c9f5 javax.swing.plaf.ColorUIResource [UI] + +- Button.default.foreground #000000 javax.swing.plaf.ColorUIResource [UI] ++ Button.default.foreground #ffffff javax.swing.plaf.ColorUIResource [UI] + +- Button.default.hoverBorderColor #87afda javax.swing.plaf.ColorUIResource [UI] ++ Button.default.hoverBorderColor #a9c9f5 javax.swing.plaf.ColorUIResource [UI] + +- Button.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] + +- CheckBox.icon.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] + ++ CheckBox.icon.style filled + ++ CheckBox.icon[filled].focusWidth 2 + +- CheckBox.icon[filled].selectedFocusedCheckmarkColor #e3f1fa javax.swing.plaf.ColorUIResource [UI] + +- ComboBox.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] ++ ComboBox.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] + +- Component.arrowType chevron ++ Component.arrowType triangle + +- Component.focusWidth 0 ++ Component.focusWidth 2 + +- Component.innerFocusWidth 0.5 ++ Component.innerFocusWidth 0 + +- Component.innerOutlineWidth 1.0 ++ Component.innerOutlineWidth 0 + +- FormattedTextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] ++ FormattedTextField.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatTextBorder [UI] + +- HelpButton.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] + +- HelpButton.icon [lazy] 22,22 com.formdev.flatlaf.icons.FlatHelpButtonIcon [UI] ++ HelpButton.icon [lazy] 26,26 com.formdev.flatlaf.icons.FlatHelpButtonIcon [UI] + +- JXDatePicker.border [lazy] 1,1,1,1 false com.formdev.flatlaf.swingx.ui.FlatDatePickerBorder [UI] ++ JXDatePicker.border [lazy] 3,3,3,3 false com.formdev.flatlaf.swingx.ui.FlatDatePickerBorder [UI] + +- PasswordField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] ++ PasswordField.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatTextBorder [UI] + +- ScrollPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI] ++ ScrollPane.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatBorder [UI] + +- Spinner.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] ++ Spinner.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] + +- Table.scrollPaneBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI] ++ Table.scrollPaneBorder [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatBorder [UI] + +- TextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] ++ TextField.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatTextBorder [UI] + +- ToggleButton.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] ++ ToggleButton.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] + diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt index 9ed1bf26..66e42fde 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt @@ -77,6 +77,7 @@ Button.default.hoverBackground #f7f7f7 com.formdev.flatlaf.util.DerivedColor Button.default.hoverBorderColor #87afda javax.swing.plaf.ColorUIResource [UI] Button.default.pressedBackground #e6e6e6 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) Button.defaultButtonFollowsFocus true +Button.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] Button.disabledBorderColor #cfcfcf javax.swing.plaf.ColorUIResource [UI] Button.disabledText #8c8c8c javax.swing.plaf.ColorUIResource [UI] Button.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] @@ -130,6 +131,14 @@ CheckBox.icon.selectedBackground #ffffff javax.swing.plaf.ColorUIResource [UI CheckBox.icon.selectedBorderColor #b0b0b0 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 4 +CheckBox.icon[filled].checkmarkColor #ffffff javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedBackground #4f9ee3 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedBorderColor #4b97d9 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedFocusedBackground #4f9ee3 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedFocusedBorderColor #accff7 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedFocusedCheckmarkColor #e3f1fa javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedHoverBackground #5e94ce javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedPressedBackground #72a1d4 javax.swing.plaf.ColorUIResource [UI] CheckBox.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] CheckBox.rollover true CheckBox.textIconGap 4 @@ -184,6 +193,7 @@ ComboBox.buttonEditableBackground #fafafa javax.swing.plaf.ColorUIResource [U ComboBox.buttonHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonHoverArrowColor #999999 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonShadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonStyle auto ComboBox.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] ComboBox.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] ComboBox.editorColumns 0 @@ -705,6 +715,7 @@ RadioButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] RadioButton.icon.centerDiameter 8 RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] RadioButton.iconTextGap 4 +RadioButton.icon[filled].centerDiameter 5 RadioButton.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] RadioButton.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] RadioButton.rollover true @@ -768,11 +779,15 @@ ScrollBar.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] ScrollBar.buttonArrowColor #666666 javax.swing.plaf.ColorUIResource [UI] ScrollBar.buttonDisabledArrowColor #ababab javax.swing.plaf.ColorUIResource [UI] ScrollBar.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.hoverButtonBackground #e5e5e5 com.formdev.flatlaf.util.DerivedColor [UI] darken(5%) ScrollBar.hoverThumbColor #c3c3c3 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) ScrollBar.hoverThumbWithTrack false ScrollBar.hoverTrackColor #ededed com.formdev.flatlaf.util.DerivedColor [UI] darken(3%) ScrollBar.maximumThumbSize 4096,4096 javax.swing.plaf.DimensionUIResource [UI] ScrollBar.minimumThumbSize 8,8 javax.swing.plaf.DimensionUIResource [UI] +ScrollBar.pressedButtonBackground #d9d9d9 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) +ScrollBar.pressedThumbColor #a9a9a9 com.formdev.flatlaf.util.DerivedColor [UI] darken(20%) +ScrollBar.pressedThumbWithTrack false ScrollBar.showButtons false ScrollBar.squareButtons false ScrollBar.thumb #dcdcdc com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) @@ -845,6 +860,7 @@ Spinner.buttonArrowColor #666666 javax.swing.plaf.ColorUIResource [UI] Spinner.buttonBackground #fafafa javax.swing.plaf.ColorUIResource [UI] Spinner.buttonDisabledArrowColor #ababab javax.swing.plaf.ColorUIResource [UI] Spinner.buttonHoverArrowColor #999999 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonStyle button Spinner.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] Spinner.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] Spinner.editorAlignment 11 @@ -1087,6 +1103,7 @@ TitledPanelUI com.formdev.flatlaf.swingx.ui.FlatTitledPanelUI ToggleButton.background #ffffff javax.swing.plaf.ColorUIResource [UI] ToggleButton.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] ToggleButton.darkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] ToggleButton.disabledSelectedBackground #dedede com.formdev.flatlaf.util.DerivedColor [UI] darken(13% autoInverse) ToggleButton.disabledText #8c8c8c javax.swing.plaf.ColorUIResource [UI] ToggleButton.font [active] $defaultFont [UI] diff --git a/flatlaf-theme-editor/.settings/org.eclipse.jdt.core.prefs b/flatlaf-theme-editor/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..4a19f363 --- /dev/null +++ b/flatlaf-theme-editor/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,377 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false +org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_record_components=16 +org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=33 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=32 +org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 +org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=0 +org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=next_line_on_wrap +org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false +org.eclipse.jdt.core.formatter.comment.indent_root_tags=false +org.eclipse.jdt.core.formatter.comment.indent_tag_description=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=80 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=1 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.text_block_indentation=0 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=false +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true +org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/flatlaf-theme-editor/.settings/org.eclipse.jdt.ui.prefs b/flatlaf-theme-editor/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000..ef990006 --- /dev/null +++ b/flatlaf-theme-editor/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +formatter_profile=_FlatLaf +formatter_settings_version=19