Client Utility & Framework :: v.2.0.8 :: 2017-03-06  
  CUF - a basic framework for Java/Swing, Java/JavaFX and .NET/WinForms applications
CUF 2.0.8 is released. This is a medium feature release (for Java only) with the following changes:
  • fixed: a lot of minor bugs (MultiSelectionTableModelAdapter firing only once, JMenu insertion with negative index, EDT exception handling, ..)
  • improved: implemented generics for request handling (Request, Response), AspectAdapter and MultiSelectionInList
  • changed: switch Intellij to .idea format to make sharing the config simpler (only relevant for CUF core development, not relevant for use)
  • changed: NewTableSorter.clearSortingState() is now public so we can force a re-sorting when the data changes during a callback
  • added: better list/table/etc. handling:
    • the SwingListSelectionState now also supperts a reverse index
    • the SwingTableModelFillState and SwingTreeModelFillState now allow to change the threshold via setCompareContent()
    • listSelection now supports handing over the index (or the reverse index) in the ref2 attribute
    • listFill, tableFill and treeFill now supports handing over the threshold as a integer in the ref2 attribute
    • a new MinMaxState
    • an opaque attribute to switch a component to opaque when it is disabled
    • optional implementation of the TableFilterPlugin, to enable filtering
    • extUpdRef attribute to the XML description of value models to notify another value model via signalExternalUpdate() if our own value changed. Useful to update 'grandparents' about changes in a aspect adapter or simular down the road.
  • updated: dependencies (Junit, jdom2)
  • improved: better serialize support for MultiSelectionInList
  • improved: better re-use of glasspane
  • improved: made constructor of DialogManager public to allow external usage of the dialog manager
This will be most likely the last Java 7 CUF release, with Java 8 we can greatly improve the callback handling by utilizing lambdas/method references.
CUF 2.0.0 is released. This is a API breaking release with the following changes:
  • changed: switched to Java 7
  • changed: switched to Maven build system and delivery
  • changed: switch to JDOM 2.0.5, JGoodies Looks 2.5.3, JGoodies Forms 1.7.2
  • changed: new package prefix
    • from com.sdm.util.ui.fw/com.sdm.util.ui.fw2 to net.sf.cuf.fw/net.sf.cuf.fw2 for the framework stuff
    • from com.sdm.util to net.sf.cuf for all other stuff
  • changed: the Dispatcher class was removed, use the Dispatch interface and the SwingDispatcher or JavaFXDispatcher class instead
  • changed: the start() and stop() Methods in Application where renamed to doStart() and doStop() to solve the conflict with the JavaFX Application class
  • added: FilteringListModelAdapter including XML Support
  • added: JavaFX Support
  • fixed: TableLayout2 support now works also with Java7
  • fixed: possible NPE in NewTableSorter
  • changed: Switch to Intellij 13 (only relevant for CUF core development, not relevant for use)
CUF 1.16 is released. This is a licence release with the following changes:
  • added: Apache License, Version 2.0
  • changed: Switch to Intellij 11 (only relevant for CUF core development, not relevant for use)
NOTE: CUF 1.16 will be the last version using the com.sdm.util package prefix, CUF 2.0 will switch to net.sf.cuf
CUF 1.15 is released. This is a medium feature release (for Java only) with the following changes:
  • changed: switched to Java 6
  • changed: switch to JDOM 1.1.1, JGoodies Looks 2.4.0, JGoodies Forms 1.4.0 and therefore JGoodies Commmon 1.1.1
  • added: support for single-start applications
  • changed: generiefied a lot, most (if not all) stuff should be backwards compatible
  • added: CsvView test app
  • changed: Dispatcher is now deprecated, and can be replaced with the Dispatch interface and the DefaultDispatcher implementation
  • changed: switched to UTF-8 encoding
  • changed: Switch to Intellij 10 (only relevant for CUF core development, not relevant for use)
  • added: final to parameters to avoid local assignment bugs
  • changed: improved javadoc comments for member variables
NOTE: CUF 1.15 will be the last version using the com.sdm.util package prefix, CUF 2.0 will switch to net.sf.cuf
CUF 1.14 is released. This is a medium feature release (for Java only) with the following changes:
  • improved: performance of the sorting table (thanks, Michael!)
  • added: utility for having only one instance of an application
  • added: decorator support for JPanel borders
  • added: three new tags (minsize, maxsize, prefsize) which are allowed inside all elements derived from JComponent
  • added: DialogDescription now provides a general purpose map for parameters
  • added: added MSIL support to DataBindingBuilderDelegate and improved some exception messages
  • added: allow configurable error reporting for the EDTExceptionUtil
  • bugfix: various MultiSelectionInList and SelectionInList bug fixes
  • bugfix: menu management for existing menu entry
  • changed: new tags require xml2swing-1.8.dtd
  • changed: glass pane usage
  • changed: switched to Intellij 8 (only relevant for CUF core development, not relevant for use)
  • changed: switched to a Mac as the development environment, various changes due to UTF-8 problems
NOTE: CUF 1.14 will be the last version using JDK 1.4, the next CUF Version will require Java 5.
CUF 1.13 is released (CUF 1.12 was an internal beta). This is a medium feature release (for Java only) with the following changes:
  • changed: Switch to Intellij 6 (only relevant for CUF core development, not relevant for use)
  • changed: switch to JDOM 1.1, JGoodies Forms 1.1.0, JGoodies Looks 2.1.4
  • changed: ValueModel is now more tolerant regarding null in the conversion methods like booleanValue()
  • added: Equalstate
  • added: RegExpConverter allows the write through of invalid data, useful if only the sync status does matter
  • added: much better dispose support
  • added: enhanced XML setvalue
  • added: multiselectioninlist for multiple selection support
  • added: NewTableSorter tries harder to maintain the selection
  • added: fail fast for aspect adapter with given source class
  • added: ValueState supports a meaning for null values instead of "not initialized"
  • added: RegExpState to bind the match of a regular expression to a observable state
  • added: support for constant objects in the SwingXMLBuilder
  • added: TableSelectionModel now also supports "is" and "has" method prefix
  • added: MultiSelectionTableModelAdapter
  • added: ListFilterConverter filters a list and offers the result as a value model
  • added: Collection2ListConverter makes a list out of a collection
  • bugfix: AbstractTypeConverter honors mPropagateFailedConversions on getValue
  • bugfix: shift-cursor selection was not detected
  • bugfix: LOVAdapter did not update selected VM
  • bugfix: SelectionInList respects the list size
  • bugfix: TableSelectionModel notifies SelectionInList when a value is changed in the table
  • bugfix: CloseEvent status was not updated
CUF 1.11 is released. This is a medium feature release (for Java only) with the following changes:
  • switch to Subversion
  • various bug fixes (MapAccessAdapter, IndexedAdapter, ComboBoxModelAdapter, ListModelAdapter, RadioButtonAdapter, AbstractValueModel, ListTableMapperBase)
  • slightly more tolerant handling of SelectionInList.getValue() if the value model is disposed
  • better support for validation in the TypeConverter ValueModel's
  • states can now be disposed and queried for their listeners
  • the AspectAdapter now always uses the MixedAccessAdapter by default
  • the "get" and "set" prefix for getter and setter can be configured in an AspectAdapter
  • the IntegerStringConverter (and others) can now handle a specific null substitute
  • new converters: BigDecimalStringConverter, DoubleStringConverter, LongStringConverter, NumberFormatConverter
  • the FormatConverter now supports inverse parsing/formatting
  • DialogManager implements now Disposable
  • SpinnerModelAdapter now adapts between a Swing SpinnerModel and a CUF ValueModel
  • LOVAdapter, including the <lovadapter> tag to adapt between a display list, a keys list, a selected key and a either a JComboBox, a JList or a radio button group
  • support for adding/removing multiple menus in a MenuToolbarEvent
  • the CUF XML now also supports importing names of "any" components, to easy integration of external GUI Builders (like the excellent JFormDesigner)
  • JGoodies forms updated from 1.0.5 to 1.0.7
  • JGoodies looks updated from 1.3.1 to 2.0.2
CUF 1.10 is released. This is a small feature release with the following changes:
  • various bug fixes
  • the new SwingXMLBuilder.getComponentByAnyName() is used throughout the builder to get widgets
  • only one ChangeEvent is used for all callbacks of a AbstractValueModel/AbstractState
  • the AspectAdapter now uses a strategy pattern to suppert multiple access stragies to get/set the attributes, this allows that any java.util.Map can be used as a container
  • the MixedAccesAdapter strategy allows very late (and changing-at-runtime) binding for the aspcets of a AspectAdapter
  • the DTD is now referenced via a PUBLIC doctype
  • a adapter to bind a value model to a tooltip was added
  • the SwingBackgroundAdapter and the SwingBorderAdapter can be decorated in XML with a color or border element
  • the SwingEnabledAdapter now supports deep enable/disable
  • the ListModelAdapter now also supports a JComboBox
  • the <textfield> tag now als suports dateFormat and numberFormat
  • the new LOVMapper adapter supports list-of-values
  • all finalize methods were removed
CUF 1.9 is released. This is a maintainance release with the following changes:
  • various bug fixes
  • SwingMapping and SwingXMLBuilder now support getByShortName to get widgets by their (non-uniq) short name
  • the Java XML binding now also supports callback action for ValueModel's as well as a direct access of the various ValueModel's of a SelectionInList
  • various small Java tweaks that "speed up" Swing apps, see for details
  • Update to JGoodies Looks 1.3.1
  • more "C#" feeling for IDialogCallback
  • the .NET dispatcher now supports asynchronous calls with the callback in the GUI Thread
  • a NAnt build skript for .NET
The initial version of CUF is 1.8, even though it is the first public version
           © 2004-2014 by Jürgen Zeller  •