Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Styling #515

Merged
merged 868 commits into from
Aug 2, 2019
Merged

Styling #515

merged 868 commits into from
Aug 2, 2019

Conversation

mgarin
Copy link
Owner

@mgarin mgarin commented Aug 2, 2019

Moving styling branch changes to master.

mgarin and others added 30 commits June 20, 2017 18:11
- ComponentStyle.java - Due to new `Merge` implementation usage `SectionPainter` settings are now properly merged
- ComponentStyle.java - Added property values cloning before setting them as object field values to avoid modified to base settings
- ComponentStyle.xsd, LayoutManager.xsd - Added generalized `layout` field description
- StyleConverterUtils.java - Property class type reading code now uses `class` attribute if it is specified to determine property type
- WebLookAndFeel.java - Managers initialization is now performed before defaults initialization [ #458 ]
- WebLookAndFeel.java - Removed redundant `JSpinner` workaround from initialization code [ #118 ]
- WebLookAndFeel.java - Removed unused old `scrollMode` setting
- StyleData.java - Moved UI check into constructor to avoid overhead on every operation
- PainterStyle.java - Now implements `Overwriting` to allow full painter settings overwrite
- PainterStyle.java - Marked some field and methods as deprecated, those will be removed in the future updates
- PainterStyleConverter.java, ComponentStyleConverter.java - Added appropriate conversion for `overwrite` parameter in `PainterStyle` class
- AbstractPainter.java - Added proper lazy initialization for transient `PainterListener`s list
- AbstractContent.java, AbstractContent.xsd - Added `size` setting which can be used to define hardcoded content preferred size
- StyleableComponent.java - Method `StyleableComponent.get(...)` now accepts `Component` instead of `JComponent`

Merge
- Merge.java, Overwriting.java - `Overwriting` moved into `merge` package and is now properly used by `Merge`
- Mergeable.java - This interface now only indicates merging possibility and doesn't have `merge(...)` method, it have been moved into `MergeBehavior`
- MergeBehavior.java - This interface now indicates that implementing class provides its own way of merging its instances
- GlobalMergeBehavior.java - Renamed from `MergeBehavior` for convenience
- BasicMergeBehavior.java - Included enumeration into basic immutable types
- ReflectionMergeBehavior.java - Removed default constructor for better settings visibility

Clone
- Clone.java - Temporary contains all static methods used for clone operations, but will soon be converted into `Merge`-like object
- Clone.java - Included enumeration check to avoid cloning enumeration values through reflection
- CloneBehavior.java - This interface now indicates that implementing class provides its own way of creating its own clones, similar to `MergeBehavior`

ScrollPane
- WebScrollPaneLayout.java - `ScrollPaneLayout` layout extension that enables hovering bars usage depending on provided settings
- ScrollBarPosition.java - Data class containing information about single scroll bar positioning
- StyleManager.java - Added XStream annotations for `WebScrollPaneLayout` and `ScrollPaneLayout` classes
- WebScrollPane.java - Overridden `createViewport()` method to return `WebViewport` instance [ #458 ]
- scrollpane.xml - Added `hovering` style that allows you to enable hovering scrollpane bars over non-opaque components

Trees
- extree.xml, asynctree.xml, filetree.xml, checkboxtree.xml, excheckboxtree.xml, interfacetree.xml - Added `transparent` tree styles

InterfaceTree
- InterfaceTreeNode.java - Now checks used UI instead of component being supported to avoid issues when WebLaF is not installed as L&F

DocumentPane
- DocumentTransferHandler.java - Added 5px gap before starting drag operation to avoid accidental drag and to make tabs feel more sticky
- DocumentTransferHandler.java - Fixed drag cancel on any mouse events, it is now only cancelled on RMB click

SVG
- SvgIcon.java - Added simple `BufferedImage`-based caching to improve SVG icons painting performance
- SvgIcon.java - Refactored error messages code for convenience
- SvgIconData.java - Added universe retrieval synchronization
- SvgElements.java - Minor code refactoring

IconManager
- LazyIcon.java - Made `getIcon()` method public
- LazyIcon.java - Updated JavaDoc

RootPane
- WindowDecorationBehavior.java - Various resize actions are not performed anymore when frame is not resizable
- WebRootPaneUI.java, WRootPaneUI.java - Declared some of the `WebRootPaneUI` methods as API in `WRootPaneUI`

Frame, Dialog
- frame.xml, dialog.xml - Added `-transparent` styles for usage convenience

Popup
- WebPopup.java - It is now root of a focus traversal cycle by default

Canvas
- WebCanvas.java - Refactored states removal method

SplitPane
- splitpane.xml - Added dark split pane style

Label, StyledLabel
- IconTextLayout.java - Now has a few extra constraints which can be used for content placement
- label.xml, styledlabel.xml - Added `separator` style as a common usage example of new `IconTextLayout` constraints

Separator
- Stripes.java - Now properly takes alignment into account
- Stripes.java - Added unique default identifier

Layout
- CompactFlowLayout.java - Replacement for Swing `FlowLayout`, it doesn't add `hgap` and `vgap` values as an extra padding around container

Renderers
- WebTreeCellRenderer.java, WebTableCellRenderer.java, WebListCellRenderer.java - Updated JavaDoc

Utilities
- MergeUtils.java - Completely removed, `Merge` and `Clone` classes can be used instead now
- XmlUtils.java - Added `PureJavaReflectionProvider` usage instead of default one to avoid different object instantiation behavior
- XmlUtils.java - Added `omitField` XStream method bridge
- XmlUtils.java - Field `aliasJdkClasses` is now private but can still be changed through utility class methods
- ImmutableList.java, ImmutableCollection.java - Immutable `List` and `Collection` implementations based on array to store data
- ArrayIterator.java, ArrayListIterator.java - `Iterator` and `ListIterator` implementations for arrays
- ArrayUtils.java - Added `lastIndexOf` method for arrays
- CollectionUtils.java, MapUtils.java, ArrayUtils.java - Added some extra basic methods
- Replaced all `Arrays.asList(...)` method usages to avoid list update issues and to emphasize immutability where it is necessary
- GlobalConstants.java - Removed as deprecated and redundant, some constants were moved to utility classes, rest were removed
- StyleConstants.java - Marked as deprecated and will be removed in future updates
- ReflectUtils.java - Minor JavaDoc refactoring and improvements
- ListToStringConverter.java - Slightly simplified code
- ProprietaryUtils.java - Removed unused fields
- TextUtils.java - Minor code refactoring

Demo
- SampleData.java - New class that will contain various data used across different examples
- ExamplesFrame.java, extension.xml - Used hovering scroll pane style
- JInternalFrameExample.java - Added beefy content to clearly represent its bounds
- DemoIcons.java, icons.xml - Slightly increased status bar icons size
- extension.xml - Improved tool button style

General
- Removed some of the `final` class modifiers to allow some intricate code customization on demand
- Performed some minor code cleanups and convenience changes
- Updated JavaDoc for modified classes
- WebScrollPaneLayout.java, scrollpane.xml - Removed padding workaround, now layout itself decides which scroll bar takes corner and when
- WebScrollPaneLayout.java - Fixed Z-order for horizontal scrollbar when its the first and only one visible
- WebScrollPaneLayout.java - Fixed Z-order for viewport, it is now always displayed below any other elements
- ScrollBarSettings.java - Removed inconvenient `zOrder` setting, it is now automatically calculated in `WebScrollPaneLayout`
- scrollpane.xml - Now has two distinct hovering styles - with and without scrollpane decoration
- scrollpane.xml - Style `popup` is now based on `transparent-hovering` style
- scrollpane.xml - Added basic `buttonless` style

RootPane
- WebRootPane.java - Added customized content pane and glass pane creation methods
- WebRootPaneUI.java - Added a different check before applying default content pane style

Styles
- Added common `non-opaque` and `transparent` styles for multiple components where it can be helpful
- label.xml, styledlabel.xml - Fixed preferred sizes for `separator` style elements
- textarea.xml, textpane.xml, editorpane.xml, textfield.xml, passwordfield.xml, formattedtextfield.xml - Changed selection color
- panel.xml - Style `white` have been removed
- collapsiblepane.xml, filedrop.xml - Added temporary background color
- filechooser.xml - Added appropriate background color
- StyleData.java - Minor JavaDoc refactoring

StyleEditor
- StyleEditor.java - Added `hovering` scroll pane example

Painters
- PainterListener.java - Now properly extends `EventListener` interface
- PainterSupport.java - Now changes opacity appropriately on update event

Utilities
- ImmutableCollection.java - Is not `Serializable` anymore
- LoremIpsum.java - Minor JavaDoc additions

Demo
- extension.xml - Slightly adjusted light tree stripes color
- extension.xml - Fixed main tree background to appear once again

Other
- LibraryInfoDialog.java - Removed `white` style usage
- AbstractStyledTextContent.java - Minor code refactoring
- WebGlassPane.java - Minor code refactoring
- ComponentInfo.java - Renamed from `ComponentDescriptor`
- SettingsManager.java - Fixed NPE upon settings read with empty default value supplier
- SettingsManager.java - Improved exceptions handling
- IconManager.java - Added returned `Icon` type autocast
- ComponentDescriptor.java - New interface representing single JComponent descriptor, added to replace static `StyleableComponent` enumeration
- StyleableComponent.java - Removed as redundant, it is now replaced with a dynamically adjustable list of `ComponentDescriptor`s
- WebLookAndFeel.java - Replaced hardcoded UI classes with ones configurable through `StyleManager`
- StyleManager.java - Skin and extension changes are now properly synchronized on a single lock object
- StyleManager.java - Enhanced some of the exceptions handling, added multiple missing checks, removed some redundant methods
- AbstractDecorationPainter.java - Added `focused` state listeners update on focusable component state change
- AbstractDecorationPainter.java - Initial `hover` state is now properly initialized
- AbstractDecorationPainter.java - Fixed `inFocusedParentTracker` uninstallation
- WebLookAndFeel.java - Replaced hardcoded declarations of UI classes with dynamic ones
- ComponentType.xsd - Renamed from `StyleableComponent` and for now simply represents a list of all available component types

SettingsManager
- SettingsException.java - New distinct exception used within `SettingsManager` and its elements
- SettingsManager.java, ComponentSettingsManager.java - Replaced default `RuntimeException` usages with new `SettingsException`

InterfaceInspector
- InterfaceTreeNode.java - Fixed node destruction to avoid listeners overflow
- InterfaceTree.java - Moved `canHighlight(...)` method here from `ComponentHighlighter` for convenience
- ComponentInfo.java - Renamed from `ComponentDescriptor`
- WComponentInfo.java - Renamed from `StyleableInfo` for convenience
- interfaceinspector.xml - Fixed popover search field transparency

TreeFilterField
- treefilterfield.xml - Style `inline` now uses proper decorations
- treefilterfield.xml - Added `transparent` style for convenience

Utilities
- AbstractHoverBehavior.java - Added appropriate initial state and state cleanup on install/uninstall
- LafUtils.java - Added appropriate exceptions throwing in component UI retrieval method
- LafUtils.java - Added component UI installation method
- ReflectUtils.java - Added `hasMethod(...)` check for convenience
- CoreSwingUtils.java - Added `isHovered()` method for convenience

Demo
- WebStyledLabelExample.java - Added some text styling into example
- ExamplesFrame.java - Changed scrollpane style to remove redundant border
- extension.xml - Updated padding and margin for filter fields
- language.xml - Added missing translations

JavaDoc
- Multiple changes and improvements added across modified classes
- ComponentDescriptor.java - New interface representing single JComponent descriptor, added to replace static `StyleableComponent` enumeration
- StyleableComponent.java - Removed as redundant, it is now replaced with a dynamically adjustable list of `ComponentDescriptor`s
- WebLookAndFeel.java - Replaced hardcoded UI classes with ones configurable through `StyleManager`
- StyleManager.java - Skin and extension changes are now properly synchronized on a single lock object
- StyleManager.java - Enhanced some of the exceptions handling, added multiple missing checks, removed some redundant methods
- Painter.java - Removed `getBorder()` method from public API, it is now a `protected` method within `AbstractPainter`
- AbstractDecorationPainter.java - Added `focused` state listeners update on focusable component state change
- AbstractDecorationPainter.java - Initial `hover` state is now properly initialized
- AbstractDecorationPainter.java - Fixed `inFocusedParentTracker` uninstallation
- WebLookAndFeel.java - Replaced hardcoded declarations of UI classes with dynamic ones
- ComponentType.xsd - Renamed from `StyleableComponent` and for now simply represents a list of all available component types
- AbstractImageTextureBackground.java - New abstract texture background implementation with image caching
- ImageTextureBackground.java - New texture background that is based on an image, provided through `IconManager`
- PresetTextureBackground.java - Now uses `AbstractImageTextureBackground` for convenient image caching
- TexturePainter.java - Removed as redundant, use `PresetTextureBackground` with decorations instead
- StyleId.java - Added various new and previously missing styles which are defined in all basic skins
- graphy.png - Removed background color for usage convenience

Fonts
- NativeFonts.java - Renamed from `WebFonts` and now properly retrieves native fonts on Windows and Mac OS X
- WebLookAndFeel.java - Now uses `NativeFonts` with control reference for convenience
- WebLookAndFeel.java - Correctly grouped font fields and replaced some erroneously used ones

SettingsManager
- SettingsException.java - New distinct exception used within `SettingsManager` and its elements
- SettingsManager.java, ComponentSettingsManager.java - Replaced default `RuntimeException` usages with new `SettingsException`

IconManager
- IconManager.java - Added method to check `Icon` existence within the manager

InterfaceInspector
- InterfaceTreeNode.java - Fixed node destruction to avoid listeners overflow
- InterfaceTree.java - Moved `canHighlight(...)` method here from `ComponentHighlighter` for convenience
- ComponentInfo.java - Renamed from `ComponentDescriptor`
- WComponentInfo.java - Renamed from `StyleableInfo` for convenience
- interfaceinspector.xml - Fixed popover search field transparency

ToolBar
- WebToolBarUI.java - Moved custom `LayoutManager` initialization here from `ToolBarPainter` to avoid issues on skin change
- ToolBarPainter.java - Doesn't handle toolbar `LayoutManager` changes anymore, only updates states when needed
- ToolBarDescriptor.java - Added invalidation on UI update
- ToolbarLayout.java - Simplified and now only provides basic toolbar-related settings, actual layout is `AbstractLineLayout`
- AbstractLineLayout.java, LineLayout.java - Added to provide convenient layout base for `ToolbarLayout` and some other ones

MenuBar
- MenuBarLayout.java - New layout manager that replaced `ToolbarLayout` usage

StatusBar
- StatusBarLayout.java - New layout manager that replaced `ToolbarLayout` usage

Table
- table.xml - Emphasized cell editor style to be more visible and distinguishable

CheckBoxTree
- WebCheckBoxTreeCellRenderer.java - Refactored and optimized
- WebCheckBoxTreeCellRenderer.java - Now provides additional panel states based on checkbox
- checkboxtree.xml - Added missing renderer panel style

CheckBox
- checkbox.xml - Added missing separate check background color for disabled state in light skin
- checkbox.xml - Improved disabled check background for disabled state in dark skin

TristateCheckBox
- tristatecheckbox.xml - Added missing separate check background color for disabled state in light skin
- tristatecheckbox.xml - Improved disabled check background for disabled state in dark skin

RadioButton
- radiobutton.xml - Added missing separate check background color for disabled state in light skin
- radiobutton.xml - Improved disabled check background for disabled state in dark skin

TextField
- textfield.xml - Style `undecorated` changed to `transparent` for convenience
- textfield.xml - Added basic `non-opaque` style

PasswordField
- passwordfield.xml - Style `undecorated` changed to `transparent` for convenience
- passwordfield.xml - Added basic `non-opaque` style

FormattedTextField
- formattedtextfield.xml - Style `undecorated` changed to `transparent` for convenience
- formattedtextfield.xml - Added basic `non-opaque` style
- spinner.xml - Updated style usage according to changes

DateField
- datefield.xml - Style `undecorated` changed to `transparent` for convenience
- datefield.xml - Added basic `non-opaque` style

PathField
- pathfield.xml - Style `pathfield-undecorated` changed to `pathfield-transparent` for convenience
- pathfield.xml - Added basic `pathfield-non-opaque` style

TreeFilterField
- treefilterfield.xml - Style `treefilterfield-inline` changed to `treefilterfield-non-opaque` and now uses proper decorations
- treefilterfield.xml - Added basic `transparent` style

WhiteSpace
- WhiteSpace.java - Added extensive layout support for orientation retrieval

StyleEditor
- StyleEditor.java - Replaced some deprecated listeners usage
- StyleEditor.java, styleeditor.xml - Moved style settings into style xml

Utilities
- DocumentChangeBehavior.java - Added to replace `DocumentChangeListener` and all listeners created on top of it
- AbstractHoverBehavior.java - Added appropriate initial state and state cleanup on install/uninstall
- DecorationUtils.java - Added method for convenient `Stateful` implementation states retrieval
- LafUtils.java - Added appropriate exceptions throwing in component UI retrieval method
- LafUtils.java - Added component UI installation method
- ReflectUtils.java - Added `hasMethod(...)` check for convenience
- CoreSwingUtils.java - Added `isHovered()` method for convenience
- SystemUtils.java, SystemType.java - Replaced short OS name with an appropriate enumeration usage
- FieldEditorKit.java - Removed as redundant

Demo
- JToolBarExample.java, language.xml - Added basic `JToolBar` component examples
- WebStyledLabelExample.java - Added some text styling into example
- ExamplesFrame.java - Changed scrollpane style to remove redundant border
- ExamplesTree.java - Now properly updates its nodes on language change
- MagnifierToggleTool.java - Added toggle to switch cursor display on/off
- extension.xml - Updated padding and margin for filter fields
- language.xml - Added missing translations
- Updated some of examples according to internal library changes

JavaDoc
- Multiple changes and improvements added across modified classes
- Removed all unnecessary `Throwable` catch cases
- WebSyntaxArea.java - Replaced outdated UI methods with newer implementations
DocumentPane
- PaneData.java - CTRL+W hotkey won't close non-closeable tabs anymore
PluginManager
- PluginManager.java - Fixed dependency check for detected plugins
- PluginManager.java - Added appropriate check for available plugins within parent managers
- PluginManager.java - Added proper synchronization for direct `Plugin` instances registration
- PluginManager.java - Added appropriate synchronization for all minor methods where it was missing
- PluginManager.java - Improved performance of some methods
WebDateField
- WebDateFieldUI.java - Fixed NPE which might occur upon uninstallation if popup was never opened
…end base ones

Styling
- AbstractComponentDescriptor.java - Now properly preserves custom UIs that extend base ones
- ComponentDescriptor.java - Updated JavaDoc
WebAsyncTree
- WebAsyncTree.java - Moved sorting update on node editing into separate EDT invoke
Slider
- SliderPainter.java - Fix for cached sizes not being updated properly
- SliderPainter.java - Minor code refactoring
Slider
- SliderLabels.java - Replacement for default `JSlider.SmartHashtable` which contains a few issues
- slider.xml, StyleId.java - Added basic style for slider labels

Project
- intellij-idea-code-style.xml - Updated IntelliJ Idea code style settings
- .gitignore - Updated ignore settings
General
- WebLookAndFeel.java - Added `JSlider` properties
[Styling] Request of code updates for item #419
Utilities
- TextUtils.java - Added additional methods to check texts
WebPopup
- WebPopup.java - Replaced `transferFocus()` call with an appropriate focus transfer implementation
- WebPopup.java - Removed redundant `resizeDirectives` field
- SliderLabels.java - Fixed possible issue with endless loop upon creation
- SliderLabels.java - Added extra constructor for convenience
- WebSplitPaneUI.java - Fix for some layout and performance issues in complex cases [ #468 ]
mgarin and others added 28 commits December 4, 2018 11:29
- ArrayListAggregator.java - Simple aggregator for convenient `ArrayList` creation
- ArrayListAggregator.java - Typo fix
- WebLookAndFeel.java - Added option for even stricter EDT checks
- StrictEventThreadListeners.java - Mix of listeners checking that events are thrown on EDT
- AbstractPainter.java - Added EDT checkers installation call in case they are enabled
- Clone.java - Added predefined `adaptive` clone algorithm similar to `deep` one but that also honors `Object.clone()` API
- CloneableCloneBehavior.java - Separated into two behaviors - `CloneableCloneBehavior` and `RedefinedCloneBehavior` for usage convenience
- RedefinedCloneBehavior.java - Clone behavior handling `CloneBehavior` implementations
- PluginManager.java - Changed warnings to info/error types instead to clarify the cases
- PluginManager.java - Simplified detected plugins handling to properly output information on missing dependencies
- WebRootPaneUI.java - Fixed title component replacement to properly add it to the frame
- WebRootPaneLayout.java - Minor refactoring
- WebRootPaneUI.java - Fixed window title replacement
- AlignLayout.java - Fixed center alignment to take insets into account properly
- AbstractLayoutManager.java - Minor refactoring
- WebScrollPaneUI.java - Fixed an issue appearing when adding a view component that doesn't have a UI [ #505 ]
- WebScrollPaneUI.java - Minor code refactoring
- WebListCellRenderer.java - Fixed horizontal alignment value application when coming from according method
- CollectionCloneBehavior.java - Fixed `Collections.SingletonList` copy issue
- TextUtils.java - Added `requireNonEmpty(...)` methods for checking `String` values
- CoreSwingUtils.java - Fixed issue with screen being identified incorrectly for components that have large off screen areas
- Adjusted all classes using modified utility accordingly
- DocumentTransferHandler.java - Fixed possible multiple stack traces upon dragging various data above document pane
- WebPopup.java, PopOverPainter.java - Fixed positioning method usage
- NativeFonts.java - Fixed native font retrieval for JDK 8 updates 211 and higher

Utilities
- SystemUtils.java - Added simplified method for JDK version check
- SystemUtils.java - Refactored JDK version comparison methods
- CoreSwingUtils.java - Added method for checking actual component visibility
- WebAsyncTree.java - Added scrolling to selected node when selection is requested
- WebAsyncTree.java - Added missing generics to expansion listener
- WebViewportLayout.java - Added missing viewport size adjustments and fixed calculations order
- WebScrollPaneLayout.java - Added missing hovering setting checks in minimum size calculations and slightly refactored code
- WebCollapsiblePane.java - Completely revamped to provide full styling support, moved into its own package
- CollapsiblePaneLayout.java - New layout implementation that uses animation framework to transition between states
- collapsiblepane.xml - New `WebCollapsiblePane` style that contains a better structure of all included elements

Accordion
- WebAccordion.java - Completely revamped to provide full styling support, moved into its own package
- AccordionPane.java - New class representing a single content pane within `WebAccordion` replacing previously used `WebCollapsiblePane`
- AccordionModel.java - API for any `WebAccordion` model that should handle pane selections and content management
- WebAccordionModel.java - Default `AccordionModel` implementation that should suffice for most use cases
- AccordionLayout.java - New layout implementation that supports animated transition between states
- AccordionSettingsProcessor.java, AccordionState.java, AccordionPaneState.java - New `WebAccordion` state saving implementation
- accordion.xml - New `WebAccordion` style that contains a better structure of all included elements

MultiSplitPane
- WebMultiSplitPane.java - Added layout change check to avoid potential issues
- WebMultiSplitPaneModel.java - Removed redundant check

Combobox
- WebComboBoxUI.java, StyleId.java, combobox.xml - Added `popup` style for popup menu
- WebComboBoxUI.java, StyleId.java, combobox.xml - Renamed `popup` styles to `scrollpane` and `list` for convenience
- combobox.xml - Added a fix for extremely-wide values not being correctly displayed and trimmed within popup list
- combobox.xml - Hidden separator for editable & `hover`-styled combobox, added todo for future improvements
- languagechooser.xml - Adjusted according to `combobox` style changes

Image
- StyleId.java, image.xml - Added a simple portrait style for `WebImage`

Tooltips
- ToolTipProvider.java - Removed redundant value provision in interface methods, it can be retrieved from `ComponentArea` instead
- AbstractToolTipProvider.java - Removed redundant value retrieval, value caching can be done within `ComponentArea` if needed

Styling
- WebUI.java - Added `installUI` and `uninstallUI` methods with appropriate JavaDoc

Animation
- Easing.java - Made serializable and cloneable for usage convenience
- Adjusted all `Easing` implementations according to API changes

Language
- Moved all language updates to appropriate component packages for usage & modification convenience
- Moved language updater -related classes into base language package

Annotations
- NotNull.java, Nullable.java - Added for code writing convenience, will be replaced once implemented in used JDK version
- Added `@NotNull` and `@Nullable` annotations to some of the updated classes, more will be added in future updates

Behaviors
- ParentChangeBehavior.java - New behavior for tracking component parent changes

DarkSkin
- slider.xml, colorchooserfield.xml, filechooserfield.xml, filedrop.xml - New dark version style files
- componentpane.xml - Temporary placeholder for the dark style
- skin.xml - Dark skin doesn't depend on light skin anymore, it's loading should be twice faster now

Utilities
- LafUtils.java - Fixed missing UI exception for some rare cases of `getShape` method call
- SwingUtils.java - Adjusted for component changes, removed redundant conditions
- LafLookup.java - Removed redundant conditions
- NoOpMouseListener.java - Renamed from `EmptyMouseAdapter`
- DescriptiveFileFilter.java - Renamed from `AbstractFileFilterAdapter`

Demo
- WebCollapsiblePaneExample.java, WebAccordionExample.java - Rewritten for new `WebCollapsiblePane` and `WebAccordion` implementations
- ComboboxesGroup.java, JComboBoxExample.java, WebComboBoxExample.java - New examples for `JComboBox` and `WebComboBox`
- LanguageChooserExample.java - New example for `LanguageChooser` component that can change current application language
- ListTooltipExample.java, TableTooltipExample.java, TreeTooltipExample.java - Fixed some generics and adjusted tooltip provider usage

Tests
- ComponentInstantiationTest.java - New advanced test for components instantiation
- image.xml, language.xml - Some sample resources for new test

General
- Refactored multiple classes and updated JavaDoc
@mgarin mgarin merged commit 4faefd1 into master Aug 2, 2019
@mgarin mgarin deleted the styling branch August 2, 2019 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants