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

JInternalFrame, JDesktopPane and JDesktopIcon UI revamp #523

Closed
mgarin opened this issue Aug 15, 2019 · 1 comment
Closed

JInternalFrame, JDesktopPane and JDesktopIcon UI revamp #523

mgarin opened this issue Aug 15, 2019 · 1 comment
Assignees
Projects

Comments

@mgarin
Copy link
Owner

mgarin commented Aug 15, 2019

There is a pretty annoying issue "baked" into BasicInternalFrameUI implementation - #461 - that cannot be fixed unless whole UI is replaced. This is what I am going to do since it is planned anyway - #476 - along with some other minor improvements.

This should not change functionality of JInternalFrame, JDesktopPane and JDesktopIcon in any way except for fixing the issue and making the code actually readable and maintainable.

@mgarin mgarin added this to the v1.2.10 milestone Aug 15, 2019
@mgarin mgarin self-assigned this Aug 15, 2019
@mgarin mgarin added this to Planned in v1.2.10 via automation Aug 15, 2019
@mgarin mgarin moved this from Planned to In progress in v1.2.10 Aug 15, 2019
mgarin added a commit that referenced this issue Aug 27, 2019
- WInternalFrameUI.java, WInternalFrameInputListener.java - Added to replace `BasicInternalFrameUI` class and fix some of it's issues
- WInternalFrameInputListener.java - Added `MouseEvent` filter for double-click on title pane for left mouse button only
- InternalFrameInputListener.java - New interface for distinct internal frame UI input listeners
- WDesktopPaneUI.java, WDesktopPaneInputListener.java - Added to replace `BasicDesktopPaneUI` class
- DesktopPaneInputListener.java - New interface for distinct desktop pane UI input listener
- WDesktopIconUI.java, WDesktopIconInputListener.java - Added to replace `BasicDesktopIconUI` class
- DesktopIconInputListener.java - New interface for distinct desktop icon UI input listener
- Updated all related painters and descriptors

Button
- ButtonInputListener.java - New interface for distinct button UI input listeners
- AbstractButtonPainter.java - Fixed possible NPE

Tree
- TreePainter.java - Fixed possible NPE

SplitPane
- SplitPaneInputListener.java - New interface for distinct split pane UI input listeners

LanguageManager
- LanguageManager.java - Added methods for registering component-related listeners
- Dictionary.java - Replaced junky part of the code that detected supported locales
- Refactored some outdated classes and APIs, added missing JavaDoc and annotations

NinePatchEditor
- NinePatchEditorStyles.java - Moved editor-related styles here from `StyleId`
- NinePatchEditorPanel.java - Replaced `StyleId` references with `NinePatchEditorStyles` ones
- extension.xml - Removed unused style

General
- Added multiple `@NotNull` and `@Nullable` annotation across modified classes
- Fixed multiple possible NPEs that could have been caused by incorrect API usage
- Refactored multiple methods to have single exit point, including void methods

Utilities
- WeakComponentDataList.java - Removed unnecessary data list copy operations
- WeakComponentData.java, WeakComponentDataList.java - Fixed multiple possible NPEs
- PainterSupport.java - Passed `ComponentUI` as an additional parameter to avoid retrieving it through Reflection

Project
- CONTRIBUTING.md - Some guidelines for contributing to WebLaF project
- intellij-idea-inspections.xml - Updated inspection settings
- .gitignore - Added some ignores for local files
@mgarin
Copy link
Owner Author

mgarin commented Aug 27, 2019

JDesktopPane, JInternalFrame and JDesktopIcon revamps have been pushed into master branch and will be available in v1.2.10 update.

@mgarin mgarin closed this as completed Aug 27, 2019
v1.2.10 automation moved this from In progress to Completed Aug 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
v1.2.10
  
Completed
Development

No branches or pull requests

1 participant