Currently, up to three windows pop up during the game:
- a main window showing the navigation on the server and other features (game map etc.)
- a window showing the registered players on the server
- a chat window
These should be combined into a single window consisting of multiple panels. Ideally, we want to have dockable components for maximum flexibility.
Study MigLayout. It should have dockable components. If it does not have them, look for other libraries to easily access dockable components or at least user-resizable components. Use DockingFrames
- Modify the single gui.window.WindowBuilders such that they have fewer requirements on their size. Ideally, they should work with any size, no matter how stupid.
Ideally, the WindowBuilders also use MigLayout for simplicity.
- Convert the three windows popping up during a game into separate dockable components.
- Further cleanup that arises naturally as we have these flexible dockable components (e.g., more components, remove uninteresting components, but add a menu to show them again, ...)
MigLayout parts moved to resurrected ticket [#21]
Diff:
Tested several frameworks. Haven't looked at the code and how to implement yet.
One I like the most and that is 'Docking Frames', which is still in developement. It has real docking frames. The user can change the panels according his preference. Like in eclipse.
The other one is MigLayout which is also still in development. Although the website / forum don't mention this new version 5.1. This has docking, but the panels cannot be changed by the user. It is more an allround simple to use layoutmanager.
MigLayout
http://miglayout.com/
newest: https://oss.sonatype.org/content/repositories/snapshots/com/miglayout/
Swing, SWT, JavaFX2
28-11-2016: version 5.1-snapshot
BSD or GPL License
Website refers to old version 4.0. So are the demo
Docking Frames
http://www.docking-frames.org/
swing
21-10-2016: Version 1.1.2 Preview 18a
LGPL 2.1
Looks very good, has my preference.
MyDoggy
http://mydoggy.sourceforge.net/
swing
1-12-2010: version 1.5.0 (Beta 1)
LGPL Licensing
Looks ok, but is a little buggy, don't think it is maintained anymore
FlexDock
https://forge.scilab.org/index.php/p/flexdock/
swing
5-8-2013: version 1.2.4
used in SciLab which is active
open source, MIT license
Looks rather simple compared to others
To start: java -classpath flexdock-1.2.4.jar -jar flexdock-demo-1.2.4.jar
Commercial: with dual licensing systems
InfoNode Docking Windows
http://www.infonode.net/
swing
24-2-2009: version 1.6.1
GPL License for open source
Very good demo
SanaWare Java Docking
http://www.javadocking.com/
swing
30-11-2011: version 1.5.0
GPL License for open source
Very good demo
JIDE Docking Framework
http://www.jidesoft.com/products/dock.htm
swing
30-9-2016: version 1.4
Open source project developers can obtain free single developer licenses, allowing them to use JIDE products in their projects. Please contact sales department
Very good documentation, I find it not that good as InfoNode and SanaWare. Has lots of exceptions on my pc
Last edit: Arno Kemner 2016-12-03
Chat summary:
Related
Tickets: #21
Diff:
Diff:
Related
Tickets: #21
Implemented Docking Frames when the client is connected to the server. The first 2 windows (splashwindow and connection window) remain normal windows
First picture is an example of a simple setup after starting:
The other pictures are examples after changing the layout online.
At this moment these changed made by the user are not saved. If this is wanted a new ticket has to be made.