WebLaF v1.28

@mgarin mgarin released this Jun 26, 2014 · 274 commits to master since this release

Release Notes

Starting with this release all release notes will be included into a big update posts which will be added on WebLaF official site the same day or on the next day after the release.

Release notes v1.28

Project

  • WebLaF sources separated into three modules: core, ui and demo
  • WebLaF ANT build script redesigned for new structure and improved with more options
  • StyleEditor moved into extended package
  • Array utilities moved into a separate class

Libraries

  • Slf4j and its simple implementation libraries added
  • XStream library updated to newest version
  • XStream deprecated dependencies removed

Features

Improvements

  • Additional switch to enable per-pixel window transparency on Linux systems [ #126 ]
  • PopupManager modal methods improvements [ #122 ]
  • PopupManager exceptions improvements [ #125 ]
  • WebCollapsiblePane focus improvements [ #124 ]
  • ReflectUtils major improvements [ #122 ]
  • Ignored properties can now be included in component/ui/painter properties lists [ #110 ]
  • WebNotificationPopup default icon position changed to center
  • Tree multiselector bounds limitation added
  • Major performance improvements for ReflectUtils methods
  • StyleEditor visual representation slightly improved
  • SizeMethods is now implemented by WebToolBar
  • WebTextArea input prompt text support added
  • Improved WebComboBox.getSelectedIndex method so it now properly handles model null value
  • Removed unnecessary CompareUtils methods
  • WebAsyncTree node structure update methods added
  • Additional CollectionUtils methods added
  • VerticalFlowLayout minor improvement
  • PreferredCardLayout added
  • WebTimer additional repeat methods added
  • Language keys can now be used as WebOptionPane option strings and will be translated properly
  • Clicks to edit added into AbstractListCellEditor
  • WebDockableFrame language updater added
  • Language switch method added to allow switching between supported languages
  • PopOverListener added to enable some of pop-over events listening
  • WebProgressBarUI visual improvements for indeterminate state

Bug fixes

  • Combobox rendering for null and empty values fixed [ #136 ]
  • setCurrentFile now properly sets selected file even if that file doesn't exist [ #135 ]
  • Hotkey tooltips display style fixed [ #127 ]
  • WebPopOver dialog-like decoration with laf-decorated frame fixed [ #126 ]
  • Directional WebPopOver location fixes [ #116 ]
  • WebButtonPopup font copy fix [ #124 ]
  • FileUtils.getDiskRoots() method fix [ #121 ]
  • Minor style reference issue fix [ #119 ]
  • JSpinner issue workaround added [ #118 ]
  • WebFileDrop visual and functional fixes [ #86 ]
  • Window transparency fix for Mac OS X for JDK 7 and 8 [ #79 ]
  • WebCollapsiblePane content update fix (thanks to Roc Zhao)
  • A few critical bugfixes and improvements for StyleManager skin behavior made
  • WebColorChooserField pipette popup location update fix
  • Major AsyncTreeTransferHandler fixes for some drop operations
  • WebPopupMenu XML skin fix

Demo application

  • WebDocumentPane example added into demo application
  • WebDynamicMenu example added into demo application

Downloads

WebLaF v1.27

@mgarin mgarin released this Apr 3, 2014 · 335 commits to master since this release

Release Notes

It might seem that not a lot of work was done in the last few months, but its not true. I have completed the hardest part of components styling - I was able to solve all the problems I have encountered without making any "stinky" workarounds in the code. So in the end - there will be a few styling layers for each component and you can modify each of them to alter component's view.

So this update introduces first beta version of StyleManager and affects a lot of aspects of WebLaF library. Be aware that it might make your projects non-compilable as some of deprecated features were removed or replaced with their updated versions. Such changes might occur a few times more until the final stable release. To make things clear i have posted a large separate guide about new styling system and included features: https://github.com/mgarin/weblaf/wiki/How-to-use-StyleManager

This update does not provide a fully-functional StyleManager version but gives you a brief preview of WebLaF styling system and helps you to prepare for upcoming changes. In next few updates i am going to release all of the rest specific Painter implementations for Swing and WebLaF components to complete StyleManager, so WebLaF will finally become fully stylable and flexible. Futher updates will include the rest of the features everyone requested a lot of times like Dark theme and additional components.

So hold tight and be ready for more exciting updates!

Features

  • StyleManager core functionality added
  • Skins (aka themes) support added
  • Default WebLaF skin added
  • Alpha version of StyleEditor tool added
  • NinePatchEditor image rotation features added

Improvements

  • WebInternalFrame buttons made non-focusable [ #90 ]
  • WebScrollPane method to hide scroll bar buttons added [ #95 ]
  • WebButtonGroup style updates and component add improvements [ #96 ]
  • WebButton decoration improvements for WebButtonGroup [ #105 ]
  • JScrollBarSettingsProcessor added for JScrollBar value auto-save possibility
  • All default painters are now custom and moved into separate skin package
  • Redundant PainterMethods interface removed
  • All specific style settings are now contained inside painters only
  • Text representation for UniqueNode improved

Bug fixes

  • Option "OptionPane.isYesLast" is now set to true for Mac OS X [ #55 ]
  • PainterSupport and FocusManager memory leak fixed [ #80 ]
  • WebCalendar month/year switch for last days of month fixed [ #82 ]
  • Focus tracking issues for various component fixed [ #83 ]
  • Maximize function for decorated windows fixed [ #85 ]
  • WebFileDrop settings and selected files fixed [ #86 ]
  • WebPopupPainter fixed for zero shadeWidth/round case [ #87 ]
  • WebPopupMenuUI NullPointerException fixed [ #91 ](thanks to @Sciss)
  • WebPopupPainter bottom side corner fixed [ #93 ]
  • Checkbox animation can now be disabled by default [ #99 ](thanks to @jordeu)
  • Fixed window transparency update for later versions of JDK 7 [ #72 #79 #104 ]
  • WebDirectoryChooser roots filtering and display fixed [ #107 ]
  • Checkbox state is now updated when checkbox model is changed (thanks to @jordeu)
  • Popup menu margin properly used within PopupMenuPainter to draw corner fill now
  • NinePatchIcon painting within custom bounds fixed
  • WebScrollBarUI preferred size fixed
  • WebAsyncTree root sorting/filtering exception fixed
  • WebButtonUI margin for hidden sides fixed
  • NinePatchIcon cache initialization fixed
  • WebListUI rollover cell highlight fixed
  • Default SettingsProcessors a few minor issues fixed

Demo application

  • Improvements made to some demo examples affected by StyleManager
  • Heavy animation switch fixed

Downloads

WebLaF v1.26

@mgarin mgarin released this Jan 29, 2014 · 345 commits to master since this release

Release Notes

Within next few updates i will add a lot of custom component painters and other StyleManager-related stuff (including the StyleManager itself) as this is the most requested feature so far and i will try to finish it as fast as it is possible. With this update first full custom painters support was added into WebPopupMenuUI and WebScrollBarUI classes.

Features

  • WebPopOver dialog added
  • WebSplitButton component added
  • WebTreeUI drop location painting added
  • AsyncTreeTransferHandler added for quick DnD implementation in async trees
  • Full painter support implemented for WebScrollBarUI and WebPopupMenuUI
  • ShapeCache added to simplify Shape objects caching depending on shape settings
  • PainterShapeProvider interface added to allow painters provide their base shape
  • InnerShadePainter added
  • FormLayout added
  • SingleAlignPanel added
  • WebPopupMenuSeparator component added
  • DoubleMap added

Improvements

  • Improved support for runtime LaF switching [ #77 ]
  • Added property to honor non-UIResource component borders ( thanks to @bobbylight )
  • Precomputed OS name and type added into SystemUtils ( thanks to @ianp )
  • Major improvements made to Painter interface
  • Disabled icons caching added to improve performance
  • Empty title and max title width added into WebRootPaneUI style settings
  • Supported languages can now be read from dictionary and record
  • Enumeration list->string and string->list conversion methods added into TextUtils
  • JTabbedPane language updater added
  • WebCollapsiblePane language updater added
  • ProxyManager proxy autodetection is now disabled by default
  • WebCheckBoxList checked elements retrieval method added
  • WebPanel provideShape method can now provide painter shape if one specified
  • WebPopup shape is now determined by mouse events and properly handled
  • WebAsyncTreeCellRenderer failed state icon generation simplified
  • PopupMenuAdapter added to simplify PopupMenuListener usage
  • WebAsyncTree nodes can now be retrieved using their ID
  • Massive nodes removal method added into WebAsyncTree
  • AsyncTreeModel improvements made for asynchronous data update
  • WebTree multiply/single selection switch method added
  • WebTreeUI selection behavior improved for full-line selection mode
  • TableLayout constructors and methods improved
  • TableLayout class moved to com.alee.extended.layout package
  • File name length limit added into WebFileChooserPanel history list
  • FocusManager thread-safe trackers iteration

Bug fixes

  • WebRootPaneUI decoration with empty title fixed [ #70 ]
  • Notification display with no focused window fixed [ #66 ]
  • WebComboBoxUI wheel scrolling through choices fixed
  • Window "resizable" property changes are now properly listened in WebRootPaneUI
  • ReflectUtils type check for null arguments fix
  • LanguageManager keys caching fixed
  • WindowSettingsProcessor settings load fixed
  • AbstractLayoutManager default behavior fixed
  • WebDateField null date value case fixed
  • WebListUI rollover cell update fixed
  • WebImage disabled state fixed
  • FocusManager focus tracking fixed
  • WebTreeUI selection now properly uses tree border insets
  • WebTreeUI horizontal and vertical lines repainting fixed
  • WebAsyncTree sorter and filter update right on initialization fixed
  • WebAsyncTree listeners removal method fixed
  • AsyncTreeModel listeners removal method fixed
  • AsyncTreeModel now properly stops tree editing on node reload
  • AsyncTreeModel child reload fixed
  • AsyncTreeModel child requests threading fixed
  • WebToolBarUI incorrect buttons border updates fixed
  • WebFileTreeCellRenderer icon fixed

Demo application

  • WebSplitButton demo examples added
  • WebPopOver demo examples added

Downloads

WebLaF v1.25

@mgarin mgarin released this Oct 28, 2013 · 380 commits to master since this release

Features

  • Tree data can now be provided asynchronously inside AsyncTreeDataProvider
  • Child nodes load failed state added into async tree structure
  • WebCheckBoxTree check state change listener added
  • DataRunnable interface added

Improvements

  • ProxyManager proxy auto-detection can now be switched off
  • Cell editor listener can now be set directly into the tree
  • AsyncUniqueNode memory usage improvements
  • Optimized checked nodes list retrieval method added
  • FileUtils writeStringToFile method added

Bug fixes

  • WebFileChooser size issue with empty initial folder fixed [ #49 ]
  • ImageTransition without effects NullPointerException fix
  • Small French translation fixes
  • Default language initialization fix
  • HotkeysManager concurrent modification fixes
  • WebMemoryBar tooltip position fix
  • AlignLayout vertical alignment fix
  • MenuBarStyle class file name fix
  • LanguageManager setLanguage method fix

Downloads

WebLaF v1.24

@mgarin mgarin released this Oct 15, 2013 · 406 commits to master since this release

Features

  • Each WebCheckBoxTree checkbox can now be hidden and disabled separately
  • WebCheckBoxTree recursive checking option added
  • Painter and margin support added for WebSliderUI
  • Painters are able to force component updates now
  • CustomFileFilter class added to simplify new filters creation

Improvements

  • WebAsyncTreeFilterField translation added
  • DefaultTreeCheckingModel performance improved
  • Default check and radio menu item icons added
  • Check and radio menu item checked background can now be disabled
  • Demo application code links highlight improvements
  • RSyntaxTextArea library updated to 2.5.0 version

Bug fixes

  • WebFileChooserUI filters and hidden files display fixed [ #46 ]
  • WebFileChooserUI initial orientation fixed
  • WebTreeUI.java initial orientation fixed
  • WebLinkLabel url/email/file link types fixed
  • Popup menu dropdown corner position fix for RTL orientation
  • File filter description display fixed
  • Language dictionaries merging fixed
  • DefaultFileFilter renamed to AbstractFileFilter

Downloads

WebLaF v1.23

@mgarin mgarin released this Oct 8, 2013 · 422 commits to master since this release

  • Major UI improvements for menu elements
  • WebAsyncTreeFilterField and AsyncTreeNodesFilter added
  • Multiply nodes check/uncheck methods added into WebCheckBoxTree and TreeCheckingModel
  • JMenu vertical text alignment fixed [ #8 #40 ]
  • Menu items with non-16-px icons are now properly rendered [ #9 ]
  • JComboBox popup is now properly opened for the first time with RTL orientation [ #25 ]
  • Menu items selection color scheme improved [ #28 ]
  • All RTL-orientated menus are now properly rendered [ #33 ]
  • Incorrect editor appearance in some rare cases fixed [ #44 ]
  • WebFileChooserPanel orientation and focus change fixes
  • Class debug information is now stored within binary artifacts
  • Minor library translation changes

Downloads

WebLaF v1.22

@mgarin mgarin released this Oct 1, 2013 · 425 commits to master since this release

  • WebTristateCheckBox component added [ #41 ]
  • WebCheckBoxTree component added [ #31 ]
  • Null settings value save case fixed
  • Custom dialog icon can now be set into WebFileChooser
  • WebLaF frame decoration icon update fix
  • WebAccordion collapse behavior improvements
  • Fix for popups in non-opaque windows on JDK7
  • Minor French language fixes (thanks to @FabuGrammer)
  • Transition panel animation fixes
  • Initial image can now be passed as an argument into 9-patch editor
  • Multiply components display methods added into TestFrame

Downloads

WebLaF v1.21

@mgarin mgarin released this Sep 16, 2013 · 442 commits to master since this release

  • Major focus tracking system fixes
  • Major settings XML file refactoring, old XML format can still be read
  • WindowMethods interface introduced
  • Various fixes and methods improvements for WebList and WebListModel
  • IntTextDocument added for integer fields
  • LanguageManager variables initialization changes
  • WebProgressBarUI border spacing fix
  • Fix for text field leading and trailing components [ #39 ]

Downloads

WebLaF v1.20

@mgarin mgarin released this Sep 9, 2013 · 464 commits to master since this release

  • Fix for Non-ASCII characters rendering in text components
  • WebOptionPaneUI fix for input dialog result [ #22 ]
  • WebDateField and WebCalendar refactoring and date selection fixes [ #24 ]
  • Fix for layer/glasspane retrieval for Java applets [ #38 ]

Downloads

WebLaF v1.19

@mgarin mgarin released this Sep 2, 2013 · 476 commits to master since this release

  • NotificationManager and WebNotificationPopup added
  • Custom WebLaF layout managers reformatting made
  • AbstractLayoutManager added to simplify layouts creation
  • MultiLayout which allows multiply layouts support for single container added
  • French translation fixed [ #20, #21 ] [ thanks to @duffydake ]
  • File chooser hotkeys triggering fixed [ #16 ]

Downloads