Version 1.0.4

I’ve put up version 1.0.4.
Version 1.0.4 contains only small changes, mostly features that user requested:

Lazy initialisation of Dockables when using DockFontend or CControl
Up until now, Dockables/SingleCDockables had to be added to a DockFrontend/CControl before loading a layout (for example by reading a file).

Now so called “backup factories” can be used to create missing elements while loading a layout.
[ul]
[li]DockFrontend: uses DockFactory as backup factory, call the method “registerBackupFactory” to add a new factory. Elements that are created by the backup factory will be added to DockFrontend, much the same as if “add(Dockable,String)” would be called. One factory can create many dockables.[/li][li]CControl: uses the SingleCDockableBackupFactory. It can be added through the method “addSingleBackupFactory”. The factory takes the place of a SingleCDockable and each factory creates its dockable only once.[/li][/ul]

Exchange titlebars
Dockables can now exchange their DockTitles at any time. “Common” makes use of that new feature by allowing to hide and show titles at any time. The method “setTitleShown” of “AbstractCDockable” can be used to toggle the visibility.

Exchange predefined actions in common
[Edit: bug fixed]
In common some actions appear all the time: close, maximize, minimize… Previously they were created by the framework and clients could not interact with them. Now they can be replaced using the “putAction”-method of AbstractCDockable. The different keys for this method are defined in CDockable. Clients which just want to make an action invisible should put a “CBlank” into the map:

dockable.putAction( CDockable.ACTION_KEY_MINIMIZE, CBlank.BLANK );```
It goes without saying, that the replacing action should do something similar than the original one...

There are also a few new actions, "CCloseAction", "CMaximizeAction", ... which can be used to add a close, maximize, ... action at any place the client would like to have one.

**Content of buttons on a FlapDockStation**
The contents of the buttons on a FlapDockStation (or minimize-area) are normally determined by the DockTheme. It is now possible to set a property that tells the theme to do something else:
```CControl control = ...
control.putProperty( FlapDockStation.BUTTON_CONTENT, FlapDockStation.ButtonContent.TEXT_ONLY );```

**More flexibility in the layout when using Common**
Up until now, one was forced to use a CContentArea when using Common. There are now additional areas, and clients could even use their own DockStations if they want to do that (but it might not be very easy to integrate them).
For example a layout with one center-grid, and two minimize-areas at the east and west.
```JFrame frame = ...
CControl control = ...

CMinimizeArea west = control.createMinimizeArea( "west" );
CMinimizeArea east = control.createMinimizeArea( "east" );
CGridArea center = control.createGridArea( "center" );

west.setDirection( FlapDockStation.Direction.EAST );
east.setDirection( FlapDockStation.Direction.WEST );

// if using...
// CLocation.minimized( west ).index( 2 )
// ... then new dockables would be opened in the west at position 2
control.setDefaultLocation( west.getStationLocation() );

frame.add( west, BorderLayout.WEST );
frame.add( east, BorderLayout.EAST );
frame.add( center.getComponent(), BorderLayout.CENTER );```

That’s great… Thanks


Regards
Parag