[Beta v1.0.0] - [Beta v1.0.1] - Bugfix: popup menu of a DockTitle did not open on right click under Windows XP - Bugfix: Connection between DockableDisplayer and Dockable was not broken automatically (memory leak) - Bugfix: Connection between MultiDockActionSource and its children was not broken automatically (memory leak) - Bugfix: FullScreenListener was not removed from Map (memory leak) - API: StackDockStation now reads a StackDockComponentFactory out of the DockProperties, and changes its StackDockComponent according to the factory. DockThemes no longer have to exchange the components manually. - Layout: Left-click on AbstractDockTitle will open a popup menu more often - Bugfix: SplitDockStation did not properly remove the front-dockable when requested - Layout: FlapDockStation now changes the selected child when the mouse is released, not when the mouse is pressed. - Layout: The DockTitles shown as Buttons for FlapDockStation have additional behavior when the mouse is pressed. - Bugfix: added some dirty hacks to ensure that the title-drag-window will close itself when the first event was ignored. That happend when the Window was not visible when dispose was called. - Bugfix: PopupController did not calculate the correct position of the mouse - Bugfix: AbstractDockTitle did not calculate the correct position and size of its icon when explicitly asked - Bugfix: NPE thrown by SecureFlapWindow when closing the window a second time - API: delete some subclasses of Combiner which are no longer needed (Bubble/FlatCombiner) - Layout: BasicStationPaint now uses the highlight-background color of TextField to paint. That should look better with different look and feels. - Bugfix: SplitDockStation's compare-method now ensures that the station does not overlap other, smaller stations - Layout: New "Eclipse Theme", written by Janni Kovacs - API: DockableDisplayer now tells whether a point lies inside its title or not. The drag n drop gets more flexibel this way - Bugfix: SecureScreenDockDialog throws NPE when closing - API: DockActionSource has now to implement Iterable - API: New DockActionSource "FilteredDockActionSource" - Bugfix: EclipseStackDockComponent now shows all DockActions - API: New DockHierarchyListener gets informed when the path to a Dockable changes - API: New HierarchyDockActionSource, lists all actions of a Dockable even when the hierarchy changes - API: No rebind of DockTitles after a drag&drop event, the DockHierarchyListener can be used by the titles which need change - API: Dockable now offers a "local" and a "global" DockActionSource. The global source always contains all available actions - Layout, API: MenuableButtonPanel, allows to use menus when there is no space for buttons. Automatically used by AbstractDockTitle - API: DockableDisplayer is now an interface - API, Bugfix: replaced every occurence of "binded" by "bound", thanks Uwe for correcting me - API: When adding a Dockable to a DockStation, the station will ensure that no cycles are built into the dock-tree, and that the Dockable is properly removed from its former parent - Layout: StackDockStation tries to paint the insertion-line now between its tabs - API: ScreenDockDialog should always stay in the screen in which it has been created, this feature is not tested [Release 1.0 - v1.0.2] - API: new DoubleClickController, allows handling double clicks on a global scale. Makes the FullScreenClickableListener obsolete. - Layout: double click on shaped- or rect-tabs in EclipseTheme has now the same effects a double click on a title. - Bugfix: DockHierarchyEvents were not properly dispatched by the SplitDockStation - Bugfix: ShapedGradientPainter did not recognize MouseEvents properly - Layout, API: the TabPainter of the EclipseTheme now determines the border of some components - Bugfix: Some DockHierarchyEvents were lost - API: KeyEvents are caught by the KeyBoardController. Some DockActions can now be triggered by a KeyEvent. - API: DockAction has additional method "trigger" which results in the execution of a default-action. - API: all create*-methods of DockController moved into a new interface DockControllerFactory - API: new DockRelocatorMode, changes behaviour of drag&drop operations subject to the pressed keys on the keyboard. - API: DockController can tell which Component is child (in the logic of the dock-tree) of which Dockable. Scheme can be influenced by clients through DockController#putRepresentative. - Layout, API: DockStations have to decide whether a child can be accepted or not, the DockRelocator no longer does this. That gives more flexibility. - API: MovingTitleGetter replaced by DockableMovingImageFactory, gives more flexibility - Layout: FlatTheme now shows a screencapture of the Dockable that is moved by the user instead of the DockTitle - Bugfix: The method "drop" on many DockStations did not ensure that the tree gets no cycles - Bugfix: MultiDockActionSource added the wrong listener to its children, the effect was that some updates were lost - Bugfix: SplitDockStation: full-screen elements not properly removed on drag-operation. - API: new SplitDockPathProperty, allows to store the location of a child of a SplitDockStation. Replaces SplitDockProperty whenever possible, but the SplitDockProperty remains a valid way to describe the boundaries of a Dockable. - Bugfix: DockUtilities.isAnchestor failed when the ancestor was a ScreenDockStation - Bugfix: Memoryleak in ButtonPanel - Bugfix: ButtonPanel did not show all visualisations if a DockAction occurred more than once in the DockActionSource - Bugfix: MenuMenuHandler could create a memoryleak by not properly unbinding the visualization of a DockAction - API: ComponentHierarchyObserver collects all Components which are used in the realm of a specific DockController - Bugfix: empty SplitDockStation could throw NullPointerException during drag&drop operation - API: removed the necessity to create GlassedPane's in a restricted environment manually - API: extensive reorganisation of packages in order to let the important classes/interfaces be in the top-level packages ! API: OverpaintablePanel, using a "base" and a "content"-pane, calls to "setContentPane" now have to be replaced by "setBasePane" - Bugfix: ScreencaupterMovingImageFactory could throw IllegalArgumentException, thanks Peter for finding that bug - Bugfix: DockController.ensureFocusSet could throw NPE - API, Bugfix: AbstractDockable, changing the "action-offers" through "setActionOffers" will immediately be visible anywhere. - Bugfix: DockFrontend.clean could be stuck in an infinite loop - API: DockFrontendListener.showed renamed to shown - API: DockFrontendListener.shown/hidden is now called for every Dockable, even if the Dockable was not shown or hidden through the methods of DockFrontend. - API: The SingleParentRemover of DockController can now be exchanged, the property "singleParentRemove" has been deleted: if a remover is present, it is used. Otherwise the feature is disabled. - API: DockControllerListener replaced by several smaller listeners that handle only one kind of events. - API: New property ScreenDockStation.BOUNDARY_RESTRICTION: allows to put restrictions on size and location of children of a ScreenDockStation. - Bugfix: FlapDockStationFactory did not read layout correctly when Dockables were missing - API: Many factories divided in two parts. Part 1 is the factory, part 2 is the "layout". A layout is snapshot of some data. Factories can read and write layouts from/to streams and xml files. Factories can convert layouts into the original data. - API: Support for xml, intended for debugging purposes. - Bugfix: SplitDockStation fired dockableAdding/Added-Event to often. [v1.0.3] - API: DefaultkeyBoardController renamed to DefaultKeyboardController - Doc: Correction for GlassedPane and OverpaintablePanel - Bugfix: SingleCDockableListMenuPiece did not hide non-CommonDockables - Bugfix: DockFrontend did not fire show/hide events properly when loading a new set of properties. - API: DefaultDockable and DefaultCDockable now have BorderLayout set as default LayoutManager - Bugfix: unique id of MultipleCDockables was not always created correctly, so unique ids were not always unique - Bugfix: Several bugs in the Common project concerning the transition of modes of children of CWorkingAreas. - Bugfix: SingleParentRemover removed DockStations when DockUI updated DockTheme - API: The tree of a SplitDockStation is now accessible and modifiable from outside - API: New SplitLayoutManager calculates where to drop, and how to divide, elements of a SplitDockStation - API: CDockables can now try to lock their size during resize ! API: CDockableListener divided into CDockableStateListener and CDockablePropertyListener - API: FlapDockStation uses now a FlapLayoutManager to arrange its children ! API: Streamed FlapDockLayout broken compared to previous version. - API: The size and hold-property of a minimized CDockable are now stored and remain on different FlapDockStations - API: Many graphical elements now use the ColorManager and the ColorSchemes - API: CDockables have a ColorMap that is used to change the color of tabs and titles - API: Common uses its own set of DockThemes - Bugfix: EclipseTheme Shaped/RectGradientPaint did not do "doLayout" correct, the effect was that some buttons got too small - API: LookAndFeel changes noted by DockController and forwarded to all UIListeners - Bugfix: Memoryleak in FlatTab and BubbleStackDockComponent - Bugfix: StateManager did not store the old location of a Dockable that was maximized, but not registered, when working with XML files - API: new buttons for the EclipseTheme ! API: XElement now extends XContainer, and no longer XAttribute. XAttribute extends XContainer as well. - Layout: New set of icons for EclipseTheme - Layout: Icons of BubbleTheme replaced by LGPL 2.1 compatible images - API: CDockables can now request a size they would like to have, and in most environments they will get this size ! API: DockFactories can now create any Object they want, and are no longer required to create DockLayouts. DockLayout has been converted into a class that wraps the Object that was created by a DockFactory