-------------------- Changes in 2.0 -------------------- - LICENSING TERMS HAVE CHANGED. Kiwi is now free for non-commercial use under the terms of the GNU General Public License (GPL). For commercial licensing, contact the author. - Added kiwi.ui.FileChooserField. - kiwi.ui.KTreModelTreeCellRenderer now uses the correct highlight background color, rather than the hardcoded dark blue. - Concurrency fixes in kiwi.ui.ScrollbackView. - Plugin objects may now take a PluginContext as an argument. - Added removeAllButtons() to kiwi.ui.ButtonPanel - Added OrderedListModel and MutableListModel to kiwi.ui.model. - Removed kiwi.util.ReplacementClassLoader. - Removed kiwi.io.TCPRelay. - increment() and decrement() methods in kiwi.util.Counter now return the new value of the counter. - Added kiwi.util.RefSet. - Modified kiwi.ui.ColoredCellRenderer to handle multi-line text. - Added stackTraceToString() to kiwi.util.KiwiUtils. - Fixed a focus problem in kiwi.ui.WizardView. - Fixed kiwi.ui.dialog.WizardDialog to properly fire DialogDismissEvents. - Bug fix to kiwi.ui.DateChooser submitted by Robert Heitzmann. - Added kiwi.ui.ListEditor. - Added installDialogUI() to kiwi.ui.dialog.ComponentDialog, and added new form of setComment() method that takes an icon. - kiwi.ui.dialog.LoginDialog now transfers focus back to the username field after the "login failed" dialog is dismissed by the user. - Cosmetic fixes in kiwi.ui.HeaderCellRenderer. - Modified kiwi.ui.KTextArea to word-wrap text by default. - Modified kiwi.ui.SimpleEditor to use a JToolBar; also, don't allow clicks on toolbar buttons to steal focus from the text area. - kiwi.ui.StatusIconCellRenderer now recognizes value objects of type Integer and IntegerHolder. - Added setFont() method to kiwi.ui.KFrame and kiwi.ui.dialog.KDialog. - kiwi.io.FileAcceptor renamed to FileConsumer. - Near-complete rewrite of the kiwi.ui.model package, as well as corresponding changes in kiwi.event. Changes include extensive simplification and more flexibility. See the API documentation for more details. - Renamed the SGML* classes in kiwi.text to XML*. - Removed Thermometer class from kiwi.ui and modified StatusBar to use a JProgressBar instead. - Added randomInt() to kiwi.util.KiwiUtils. - The Assert and AssertionException classes were removed from kiwi.util; they are obsoleted by the 'assert' keyword in the Java language. - Added BasicDataSample to kiwi.ui.graph. - Rewrite of kiwi.ui.DateChooser to use toggle buttons rather than drawn-in buttons. Added setCellSize() so that button size can be adjusted. Also added setCellSize() to kiwi.ui.dialog.DateChooserDialog. - TableSorter now supports the sorting of any type of object that implements Comparable. The fallback strategy remains comparing the string representations of objects. - Comparator, HashCodeComparator, and StringComparator were removed from kiwi.util. These are obsoleted by the Java collections framework. - HolderObject was renamed ValueHolder. It and all subclasses were modified to implement java.lang.Comparable. - kiwi.util.VectorUtils was replaced by KCollections. - MergeSort was eliminated. It is obsoleted by the Java collections framework. - ListModel*Adapter classes were modified to include default constructors and setListModel()/getListModel() methods, so that the model can be changed at any time. The code was also made more robust: if no model is set, calls to the model implementation methods won't throw NullPointerExceptions. - New configureColumn() and isSelectionClearing() methods in kiwi.ui.KTable. - Enhanced FilesystemDataSource to display date/time in separate columns, to be properly internationalized, and to support multiple filesystem roots. - Removed kiwi.ui.dialog.PropertyEditorDialog. This has been replaced by the classes in the kiwi.ui.propeditor package. - Removed kiwi.ui.theme package. - Added kiwi.ui.KTextArea. - Added new constructor for kiwi.ui.model.KDocument. - Added kiwi.ui.KTreeTable and kiwi.ui.model.TreeModelTreeTableAdapter. These classes replace the old TreeTable and TreeModelTableAdapter classes. KTreeTable is a true tree-table component and is more flexible and feature-complete than TreeTable was. - ListItemMouseAdapter, TableRowMouseAdapter, and TreeNodeMouseAdapter now pass the mouse button number to handler methods. - DateTableCellRenderer and NumericTableCellRenderer now display "--" for invalid values instead of "???" - Added kiwi.util.BitString. - Renamed method LocaleManager.getDefaultLocaleManager() to getDefault(). - Removed deprecated ToolTipManager classes. - Added StatusIconCellRenderer and ToggleCellRenderer to kiwi.ui. - Added support for multi-selection in kiwi.ui.dialog.KFileChooserDialog, and added setFileSelectionMode() method. - Several new methods added to kiwi.ui.dialog.DialogSet. - Added kiwi.ui.URLField. - Added kiwi.ui.KTabbedPane. - Major rewrite of kiwi.util.plugin classes, to allow for more than one instance of a given plugin to exist. Also added ability to "reload" plugins by creating a new class loader for each plugin instance. Eliminated PluginCustomizer interface. - Moved StreamUtils from kiwi.util to kiwi.io. - Added BackupFileOutputStream and BackupFileWriter to kiwi.io package. - Added kiwi.ui.dialog.ExceptionDialog. - Moved isCancelled(), doCancel(), setCancelled(), canCancel(), accept(), and doAccept() from ComponentDialog to KDialog. Modified KFileChooserDialog to properly use this base logic. - Refactored kiwi.ui.ConsoleFrame into ConsoleFrame and ConsolePanel. ConsolePanel logic was rewritten to use a JTextPane rather than a JList. As a result, ColoredString and ColoredCellRenderer were no longer needed and were removed. - Multiple NullPointerException fixes in ListModelTableAdapter and ListModelListAdapter. - Added PluginReloadEvent and PluginReloadListener to kiwi.event. - Added getWindowForComponent() to kiwi.util.KiwiUtils. - Added wordBreak() to kiwi.util.StringUtils. - Removed Sequence, VectorSequence, and ArraySequence from kiwi.util. These were long ago made obsolete by iterators. - Send "Host:" header in HTTPRequest. Bug fix to status response parsing. - Added kiwi.event.TableRowMouseAdapter. - Added new XDR classes to kiwi.io. - Fixed numerous javadoc warnings/typos. - Added missing constructor to KScrollPane. - Added kiwi.ui.SubImageIcon class. - Added new constructor and protected method to kiwi.ui.WizardView. - Added getObject() and putObject() to kiwi.util.Config. - Added AbstractCellRenderer class. Refactored ColorSwatchCellRenderer and BooleanCellRenderer in terms of this new class. - Package was converted to use Autoconf/Automake. -------------------- Changes in 1.4.3 -------------------- - Added kiwi.ui.StateIndicator. - Added setDefaultLookAndFeel() & setNativeLookAndFeel() to KiwiUtils. - Added setDrawsLabels()/getDrawsLabels() to PieChart3D. - Added setPointSpacing()/getPointSpacing(), setPointRadius()/ getPointRadius() to LineChart. - Added kiwi.ui.KCheckBox. - Added setFonts() to KiwiUtils. - Bug fix in kiwi.io.HTTPRequest. -------------------- Changes in 1.4.2 -------------------- - Added kiwi.ui.applet package. These classes allow JApplets to run inside a standalone Java application. - Modified kiwi.ui.model.DomainObjectTableModel to fire appropriate TableModelEvents, and added an updateObjectAt() method. - Removed unnecessary pack() call in kiwi.ui.dialog.ComponentDialog. - Added default frame icon property to UIChangeManager. Modified KFrame to use this icon. -------------------- Changes in 1.4.1 -------------------- - Removed references to MetalLookAndFeel from KTable and DateChooser. (Thanks to Max Andersen for reporting this problem.) - Modified LocaleManager to not change the default locale when it's not necessary to do so. (Thanks to David Deuchert for reporting this problem.) - Corrected an ArrayIndexOutOfBounds exception in kiwi.ui.ScrollbackView. - Fixed a few javadoc typos. -------------------- Changes in 1.4 -------------------- - Modified KTable and TableSorter to properly render sort order icons and to toggle forward/reverse sort on mouse click. - Added DateField and DateChooserField classes to the kiwi.ui package. - Added getShortDateFormat() method to kiwi.util.LocaleManager. - Modified kiwi.util.ResourceManager methods to throw IllegalArgumentException if null or "" is passed in as the resource name. - Added ListItemMouseAdapter class to the kiwi.ui.event package. - Added KFileChooser class to the kiwi.ui package and KFileChooserDialog to the kiwi.ui.dialog package. - Modified ItemChooserDialog to respond to double-click mouse events. Double- clicking on an item now automatically selects that item and dismisses the dialog. - Removed deprecated methods from kiwi.io.OutputLoop. - Added doAccept() and doCancel() methods to kiwi.ui.dialog.ComponentDialog. These were previously private methods named _accept() and _cancel(). They are now protected to allow subclasses to call them. - Added new constructors to DateChooserDialog, DirectorySelectorDialog, ItemChooserDialog, KInputDialog, KMessageDialog, KQuestionDialog, and ProgressDialog that take a parent dialog. - Added some new icon resources. - The native library and the jniext package have been eliminated. - Made various javadoc updates and added some missing component snapshots. - Replaced instances of JScrollPane with KScrollPane. - Deprecated kiwi.ui.ToolTipManager. -------------------- Changes in 1.3.4 -------------------- - Completed and added DateTableCellRenderer to the kiwi.ui package. - Added kiwi.ui.WebBrowser class. I bet this one will be popular. ;-) - Added resource path setters in ResourceManager. - Added kiwi.util.ComponentPrinter class. Thanks to John Kostaras for submitting the code. - Renamed kiwi.util.Assert.assert() to _assert() since in JDK 1.4 `assert' is a keyword. - Added kiwi.ui.KRadioButton class. - Fixed some javadoc errors and typos. - Removed kiwi.ui.RepeaterButton. It is obsoleted by Swing. -------------------- Changes in 1.3.3 -------------------- - Do not return null in PluginLocator if manifest entry not found; throw an exception instead. - Bug fix in KiwiUtils.paintImmediately() - Added setPasswordPromptText() and setUsernamePromptText() methods to LoginDialog - Deprecated the kiwi.jniext package - Modified KFrame, adding setMenuBar() and setStatusBar() methods, to simplify common layout. Using setMenuBar() rather than the inherited setJMenuBar() allows you to have a transparent menubar. - Modified KScrollPane to make scrollbars transparent - Added jfc_patches/ directory containing patched JFC classes to provide transparent JScrollBar, JComboBox, and JSplitPane divider for the Metal PLAF. -------------------- Changes in 1.3.2 -------------------- - Made NumericTableCellRenderer more adaptive to types and formats. - Added new constructor to kiwi.util.Config. - Added setImage() and getImage() to kiwi.ui.ImagePanel -------------------- Changes in 1.3.1 -------------------- - Finished implementation of FastListModel in kiwi.ui.ScrollbackView - Added setDisplayAvailable() method to PluginLocator to allow it to be used in text-based applications (no display). - Fixes to some resource decoder and plugin classes to fix situations where access to Toolkit is attempted when no graphical display is available. - Split out stream methods from KiwiUtils into new StreamUtils class. This makes it possible to use these methods from non-GUI code. -------------------- Changes in 1.3 -------------------- - Fixes to header construction code in kiwi.ui.KTable. - Added buildContentPanel() method to kiwi.ui.AboutFrame. - Added getVariables() method to kiwi.text.TemplateFormat. - Added kiwi.ui.KScrollPane class. - Added getVariables() method to kiwi.text.TemplateFormat. - Fixed ResourceManager to throw exception if theme not found, and added getStream() method. - LocaleManager is no longer a singleton. Also added a getLocale() method. Constructor is now public. - LocaleData no longer extends PropertyResourceBundle. Furthermore it can now be constructed from a Dictionary, in addition to an InputStream. The ResourceNotFoundException is now thrown in the getMessage*() methods rather than MissingResourceException. - Added toString() method to kiwi.util.TaggedObject. - Removed kiwi.util.CompressedResourceLoader. - Removed dead code/variables/classes, reformatted some source files, added EOF comments and corrected email address, removed @version tags, and fixed some JavaDoc formatting and typos. - Forced default foreground in SplashScreen to black. - Renamed KLabel to KLabelArea, and added KLabel. Changed appropriate classes to use KLabel/KLabelArea rather than JLabel/KLabel. - Removed obsolescent kiwi.ui.ImmutableCellEditor. - Moved model and event classes out of kiwi.ui.graph into kiwi.ui.model and kiwi.ui.event. - Fixed bug in IntervalTimer.resume() - Added ListModelListAdapter, ListModelTableAdapter, and ListModelComboBoxAdapter to kiwi.ui.model. - Added IListModel, BasicListModel to kiwi.ui.model. - Overloaded setMinValue() and setMaxValue() in NumericField to take int values. - Broke out decoding logic from kiwi.util.ResourceLoader into kiwi.util.ResourceDecoder. - Added kiwi.util.plugin package. - Modified Config object to be a true bean with PropertyChangeSupport. - Added default constructors for NotImplementedException, FormattingException. -------------------- Changes in 1.2.3 -------------------- - Added KTable.stopEditing(). -------------------- Changes in 1.2.2 -------------------- - Modified ComponentDialog and KDialog to allow a dialog to have a dialog as a parent (before only frames could own dialogs). -------------------- Changes in 1.2.1 -------------------- - Bug fix in kiwi.db.DomainObject - Fixed off-by-1 painting bug in kiwi.ui.graph.BarChart3D -------------------- Changes in 1.2 -------------------- - Modified centerWindow() and cascadeWindow() methods in kiwi.util.KiwiUtils to ensure that the repositioned window is not partially off-screen. - Renamed the Windows DLL to the correct name. - Integrated some fixes for kiwi.ui.DateChooser from Daniel Santos : added action event commands and fixed mouse listener. - Added kiwi.ui.graph package; this is the MVC chart/graph framework. BarChart3D.java Chart.java ChartLegend.java ChartModel.java ChartModelEvent.java ChartModelListener.java ChartValue.java ChartView.java ClusteredBarChart3D.java DataSample.java LineChart.java PieChart3D.java StackedBarChart3D.java DefaultChartModel.java - Added ColorSwatch.java, ColorSwatchCellRenderer.java, and ColorSwatchCellEditor.java to kiwi.ui - Made color array in kiwi.text.ColorFormatter public. - Added setAutoScrollsOnAdd() to kiwi.ui.ScrollbackView. - Fixed implementation of canCancel() in kiwi.ui.dialog.ComponentDialog, added _accept() method, fixed window closing logic for case where there is no cancel button (window close = accept in this case). - Fixed kiwi.ui.ButtonPanel to work with AbstractButtons rather than JButtons; this lets us add JToggleButtons and other derived types to the panel, not just JButtons. - Added kiwi.ui.KToggleButton. - Reversed the order of the CHANGES file, so latest changes appear first. -------------------- Changes in 1.1.10 -------------------- - Minor GUI-related fixes in DocumentBrowserView.java and DocumentDataSource.java - API fixes in WizardPanel.java, WizardPanelSequence.java, and WizardView.java, to make it easier to enable/disable forward/backward navigation. -------------------- Changes in 1.1.9 -------------------- - Added Collator instance and getCollator() method to LocaleManager.java - Modified TableSorter to use Collator to compare strings. - Modified StringHolder to user Collator to compare strings. -------------------- Changes in 1.1.8 -------------------- - Minor tweaks to Makefile. - Added logic to LocaleManager to specifically set time zone on date formatter objects. - Added French message bundle. - Internationalized WorkspaceManager.java and WorkspaceEditor.java. (Thanks to David Bernard for these last two items.) -------------------- Changes in 1.1.7 -------------------- - Fixed a benign NullPointerException in kiwi.ui.AboutFrame. - Added a getButton() method to kiwi.ui.ButtonPanel - Internalized the actionPerformed() method in kiwi.ui.WizardView and added addButton() and removeButton() methods. -------------------- Changes in 1.1.6 -------------------- - Made some of the static members in KiwiUtils private and provided accessors that lazy-init their values. - Bug fix to kiwi.ui.Thermometer. Thanks to Neal Sanche. - Parsing loop fix in kiwi.text.TemplateFormat. Thanks to Neal Sanche. - Fixes to all classes that referred to members in KiwiUtils that are now accessible only by accessors. -------------------- Changes in 1.1.5 -------------------- - Made DataField concrete, and implemented checkInput() as a no-op. - Fixed an event listener exception in DataField. - API changes to kiwi.io.OutputLoop. - Added new constructor and logic to AboutFrame to make the Home button optional. - Various javadoc documentation corrections. -------------------- Changes in 1.1.4 -------------------- - Yet another bug fix in DateChooser. - Fixed the event handling & timer code in kiwi.ui.RepeaterButton. -------------------- Changes in 1.1.3c -------------------- - Bug fix in DateChooser. - Added support for column sizes in DomainObjectFieldAdapter and DomainObjectTableModel. - Implemented some of the methods of ContentPanel as empty no-op methods. -------------------- Changes in 1.1.3b -------------------- - Minor typo corrections, etc. - Redid layout logic once again in ButtonPanel. - Cleaned up the API in DomainObject. - Added KiwiUtils.printWindow() method. - Minor fix to DateChooser, and added accessors for highlight color. -------------------- Changes in 1.1.3a -------------------- - Added DateTableCellRenderer. (on hold) - Bug fixes and typo corrections. - Added some methods to DateChooserDialog. - Removed debug println's from PersistentObjectPool. - Removed debug println from DateChooser. -------------------- Changes in 1.1.3 -------------------- - Added isModified() and clearModified() methods to DomainObjectTableModel. - Added another constructor to all Holder classes for passing subtype. - Renamed AccessorException to MutatorException. - Added getColumnClass(), setExceptionHandler(), and getExceptionHandler() to DomainObjectTableModel. - Added kiwi.util.ExceptionHandler interface. - Added isFieldEditable() and getFieldClass() methods to DomainObjectFieldAdapter. - Added getDateFormatSymbols() to LocaleManager. - Added kiwi.ui.DateRangeHelper class. - Extensive changes to DateChooser to add support for constrained selection range, fixed painting code to be more consistent with Metal PLAF, and made the component fully locale-aware (internationalized). Please note that the APIs in DateChooser for date range selection have been removed; the preferred way to allow for the input of a date range is to use two DateChoosers in tandem, one for choosing the start date, and one for choosing the end date. The old API did not provide a means of selecting a date range that crossed month and/or year boundaries. The DateRangeHelper utility class may be used to facilitate date range input and validation. Also added ActionEvent support. - Minor bug fixes and enhancements to NumericCellEditor and NumericField. - Minor internal fixes to TableMap and TableSorter. - Added kiwi.ui.KTable. This is an unfinished class, so use it at your own risk. - Added setGrouping()/getGrouping() to NumericField. - Added some layout logic to ButtonPanel. - Fixed a NullPointerException problem in LocaleManager. - Added kiwi.ui.model.KDocument. - Added setMaximumLength() and getMaximumLength() methods to DataField, and modified DataField to use KDocument. -------------------- Changes in 1.1.2 -------------------- - Fixed UIChangeManager, KFrame, KInternalFrame, and KDialog, so that all frames and dialogs are automatically repainted when the default texture is changed. - Added NumericCellEditor and NumericTableCellRenderer to kiwi.ui. - Added getDecimals() and getType() to NumericField. - Added isFieldEditable() to kiwi.db.DomainObjectFieldAdapter. - Added kiwi.ui.model.DomainObjectTableModel. - Added kiwi.util.HolderObject base class for Holders, with compareTo() method for cardinal ordering, and a subtype field. - Added kiwi.util.DateHolder object. - Added support for Holder classes to TableSorter. - Removed debug messages from TemplateFormat. - Modified KQuestionDialog to support multi-line messages. - Fixed event dispatching problem in DataField. - Added final setText() method to DataField. - Fixed date sorting bug in TableSorter and DateHolder. - Added sanity check in KiwiUtils.centerWindow() to prevent a window from appearing partially off-screen. - Set default subtype of DateHolder to FormatConstants.DATE_FORMAT. - Simplified HolderObject support code in TableSorter. - Fixed several problems with property change notification for KFrame, KDialog, and KInternalFrame. Also renamed dispose() in these classes to destroy(), as dispose() gets called when a window is made invisible, and this would erroneously detach the property change listener. - Added startFocus() method and setVisible() methods to KFrame and KInternalFrame. -------------------- Changes in 1.1.1 -------------------- - Disabled sorting in tables if the table is not enabled. - Added methods to modify selection in UIElementChooser. - Fixed KLabel to not be focus traversable. - Added setBusyCursor() convenience method to KFrame, KDialog, KInternalFrame. - Made some fixes to rendering in BooleanCellRenderer. - Broke NumericField into NumericField and abstract DataField, added some event support. -------------------- Changes in 1.1.0 -------------------- - Added Font constants to KiwiUtils, and fixed StatusBar and KLabel to use these. Also added 'origin' Point constant. - Added more sophisticated parsing capability in LocaleManager, notably for dates and times. - New form of getMessage() in LocaleData that accepts a single argument. - Added kiwi.ui.NumericField class; this class is a specialization of JTextField for entering and displaying formatted data. It is closely tied to LocaleManager. - Added kiwi.text.FormatConstants class. - Internationalized AboutFrame, ItemChooserDialog, PropertyEditorDialog, and PathEditor in kiwi.ui; and DomainObject in kiwi.db. This completes the I18N of Kiwi. - Minor cosmetic fixes to javadoc and Makefile. - Added getAllEditors() method to WorkspaceManager. This should satisfy the requirements of Thierry Legrain, who requested methods: public WorkspaceEditor[] getEditors() public WorkspaceEditor[] getVisibleEditors() Creating the arrays is wasteful if they aren't needed, so the enumeration is a better way to get a handle on all of the editors. You can then walk through the enumeration and pick out the editors of interest. - Made minor fixes in ParsingException. - Added kiwi.text.TemplateFormat. -------------------- Changes in 1.1 RC 7 -------------------- - Rewrote KLabel to extend JTextArea. - Added canCancel() method to ComponentDialog, and canClose() methods to KFrame and KInternalFrame. - Added startFocus() method to KDialog. - Added UIElement, UIElementViewer, TextureViewer, AudioClipViewer, and UIElementChooser. - Added kiwi.ui.KInternalFrame. - Added kiwi.io.HTTPRequest. - Added StringUtils.getClassName() - Added kiwi.util.VectorUtils. - Added Comparator, StringComparator, and HashCodeComparator to kiwi.util. - Eliminated StringMergeSort. Made MergeSort a concrete class that accepts a Comparator; this eliminates the need to subclass MergeSort to deal with new methods of object comparison. - Fixed kiwi.ui.model.FilesystemDataSource to use new MergeSort object. - Added NotificationEvent, NotificationSupport, and NotificationListener classes to kiwi.event. - Added missing 'kiwi.button.edit' message to KiwiDialogs.msg. - Added many new formatting and parsing methods to LocaleManager. - Added setFont() method to FilesystemTreeView, FilesystemListView, and FilesystemTableView; and changed the corresponding Model*CellRenderer classes to inherit the font appopriately. Thanks to Rachel Jones for finding this deficiency. - Added methods in DialogSet and KQuestionDialog to support Yes/No dialogs. -------------------- Changes in 1.1 RC 6 -------------------- - Added ResourcePool, Resource, TimerPool, and IntervalTimer classes to kiwi.util. - Added LocaleChooser, LookAndFeelChooser, ToggleIndicator, and BooleanCellRenderer classes to kiwi.ui. - Fixed KPanel, KFrame, KDialog, and UIChangeManager to allow these components to have solid backgrounds rather than textures. - Added rudimentary focus order control to KPanel. - Added convenience method to UIChangeManager for setting color themes. - Added Perl script to auto-build resource indices. - Added logic to handle leap year in DateChooser. - Modified TableSorter so that the highlighted rows remain synced during a sort. That is, if a row that was highlighted moves to a different position, the highlight will follow the row instead of staying in the same place. -------------------- Changes in 1.1 RC 5 -------------------- - Added some convenient Insets constants to kiwi.util.KiwiUtils. - Added internationalization support in the form of LocaleData and LocaleManager objects in kiwi.util. Modified ResourceManager to return instances of LocaleData rather than PropertyResourceBundle; the former is a subclass of the latter that adds some convenience methods. Also added caching of resource bundles and methods in ResourceManager to clear the caches. - Added locale/ subdirectory with resource bundles for all Kiwi messages. - Internationalized some classes that had hardcoded English display text. The remaining classes that need I18N are: kiwi.ui.AboutFrame kiwi.ui.dialog.PropertyEditorDialog kiwi.ui.PathEditor kiwi.ui.dialog.ItemChooserDialog - Added new forms of many of the dialog constructors that don't require a title parameter; a default title is supplied. - Added new forms of constructors for some of the dialogs in kiwi.ui.dialog that don't require a window title. - Added getName() & setName() methods to AudioClip; useful when AudioClip objects are being added directly to a JList or JComboBox. - Removed kiwi.text.PatternMatch, PatternMatcher classes. These relied on a 3rd party library. If you need regexp support, try the GNU regexp java library. - Added message expiration to StatusBar, and the ability to add components to the status bar. - Added kiwi.ui.dialog.ItemChooserDialog. - Added kiwi.text.FontFormatter, and added getFont() and putFont() methods to kiwi.util.Config. - Added kiwi.ui.theme package; most of this stuff is lifted from the Swing MetalWorks demo, but I rewrote the PropertiesMetalTheme class from scratch and renamed it CustomTheme. This package is not complete and largely undocumented; but that will be fixed shortly. - Fixes to Makefile to prevent the inclusion of extraneous stuff in the library jar. -------------------- Changes in 1.1 RC 4 -------------------- - Made some small fixes to the Wizard* classes. - Added a TreeNodeMouseAdapter to simplifly listening on single- and double- clicks in a JTree. - Added the kiwi.db package with some persistence-layer support classes. - Added package kiwi.jniext with platform-specific extensions. - Added yet another form of cascadeWindow() to KiwiUtils. -------------------- Changes in 1.1 RC 3 -------------------- - Cleaned website stuff out of distribution. - Added LoggingMux class. - Fixed ConsoleFrame dismiss button to not dispose the window. - Made setComment() in ComponentDialog public, instead of protected. - Added toString() method to all Holder objects. - Softened up the border on StatusBar. - Added a dispose() method to StaticTreeModel. Without such a method, it is not possible to disassociate a model from the domain objects that represent the underlying hierarchical structure. This can cause some very weird results when events are firing to listeners that shouldn't be there! - Added flush() call to FileLoggingEndpoint; this way, lines written to a file are immediately available, which is useful when someone is `tail'ing the file. - Fixed some problems in the tree model stuff; see RCS log entries in event/HierarchicalAssocationSupport.java, model/StaticTreeModel.java, model/TreeModelTreeAdapter.java, and model/ITreeNode.java. - Added kiwi.ui.ContentPanel class. - Added yet another form of centerWindow() to KiwiUtils. - Added alignment property to ButtonPanel. -------------------- Changes in 1.1 RC 2 -------------------- - Distrib is now a jar file as opposed to tar.gz - Added SCALE_SMOOTH to hints in call to getScaledImage() in ImageView. - Fixed a bug in WorkspaceManager that caused it to confirm a save twice. - Placed source under RCS. Added GPL header to all source files. - Incorporated David Croy's (croy@crewercs.com) enhancements into DateChooser and modified DateChooserDialog accordingly. - Removed all command line parsing classes from kiwi.util; if you need this functionality, use the gnu.getopt package. - Modified Makefile to create jar archive as opposed to .tar.gz; archive now includes its own top-level directory. - Added ResourceBundle support to ResourceManager. - Fixed StringMergeSort to sort arbitrary Objects. -------------------- Changes in 1.1 RC 1 -------------------- - Added KLabel to kiwi.ui. - Documentation fixes. - Added 'synchronized' keywords to appropriate methods in classes in kiwi.util. - Modified KMessageDialog to use KLabel for display of message; this avoids the JTextArea opacity problem. -------------------- Changes in 1.1 beta 9 -------------------- - Made JSPlitPane transparent in DocumentBrowserView. - More documentation cleanup. - Added kiwi.util.TaggedObject - Expanded kiwi.util.DirectoryPath - TreeModelTableAdapter.findItem() renamed to getRowForNode() and made public. - TreeModelListAdapter.findItem() renamed getIndexForNode() and made public. - It's been determined that the KiwiUtils.busyOn() and busyOff() methods do not work consistently due to an AWT bug. The bug ID is 4160080. - Fixes in Config and ConfigFile to fire a ChangeEvent on a load(). - Add forms of addButton() and removeButton() to ButtonPanel that take a position argument. - Added a cancel() method to ComponentDialog. - Modified LoginDialog to extend ComponentDialog instead of KDialog. Also internalized the actionPerformed() method. - Moved setAcceptButtonText() and setCancelButtonText() out of KQuestionDialog into ComponentDialog. - Added addButton() and removeButton() methods to ComponentDialog. - Changed PropertyEditor into a PropertyEditorDialog. Fixed numerous bugs. - Added getButtonCount() method to ButtonPanel. -------------------- Changes in 1.1 beta 8 -------------------- - Added dispose() methods to TreeModel*Adapter classes. - Fixed listener leak in Filesystem*View classes. - Added getSelectedFile() and getSelectedFiles() methods to Filesystem*View classes; the former replaces getSelectedObject(). - Added setMultipleSelectionsAllowed() method to Filesystem*View classes. - Added kiwi.ui.ButtonPanel and updated many ui and dialog classes to utilize it. - Method TreeModelTreeAdapter.pathForNode() renamed to getPathForNode() and made public. - API changes to DocumentDataSource, DocumentBrowserView, and DocumentBrowserFrame. Documentation also updated. - kiwi.event.ChangeSupport class added. - SequenceView and SequenceDialog renamed to WizardView and WizardDialog - Added WizardPanel and WizardPanelSequence to kiwi.ui. - Added split() and join() to StringUtils. Made class final. - In Config, changed all put*() methods to return old value of property. Also added methods and support for property change event firing. - Renamed TexturedPanel to KPanel, added getComponentByName() method. Updated all code to use KPanel. - Renamed TexturedDialog and TexturedFrame to KDialog and KFrame, respectively. Updated code appropriately. - Added BooleanHolder, FloatHolder, DoubleHolder, and StringHolder to kiwi.util. - Added remove() and clear() methods to Config. Both fire ChangeEvents if they change the contents of the Config object. - Replaced StatusBar's busyOn() and busyOff() with a single setBusy() method, renamed setStatus() method to setText(), and removed redundant setOpaque() method. - Replaced deprecated Thread methods in Thermometer, and corrected some layout and painting problems. Added new constructor that takes a Color arg. - PropertyChangeSource moved from kiwi.util to kiwi.event. - Added filesystemRoot field to KiwiUtils. - Updated FilesystemDataSource to return a locked folder icon for non-readable directories. Fixed constructor that self-creates the root. - Renamed OutputLoop.finalize() to dispose(). - Miscellaneous documentation corrections. - Renamed create*() methods in WorkspaceEditorFactory to get*(). - Add setters to ColoredString. - Internalized event handler method in ConsoleFrame, ImageView. - Renamed ToolTipManager.finalize() to dispose(), and added call to clear out vector and null thread reference. - WorkspaceEditor.getComment() renamed setComment(). - Added ability to pass in base path to DocumentDataSource(). -------------------- Changes in 1.1 beta 7 -------------------- - Massive API cleanup. - Documentation regenerated in JDK 1.2 format. - Missing snapshots restored.