I am a student working on a college engineering project team.
Our software subteam is looking to create a modular GUI that allows for real time reconfiguration through snapping panels that the user can shuffle around and detach from the GUI (popular programs that feature this type of GUI: Adobe Production Studio, Eclipse, Visual Studio, most major "design" programs).
Can anyone suggest a framework for developing such a GUI? Ideally, we are striving for compatibility throughout major PC platforms (Linux, Mac, Windows). Any popular language is acceptable.
I have looked through examples of wxWidgets, GTK+, and Java Swing GUIs. I am sure it is possible to develop such a GUI with any of these, but it would be preferable if we could take advantage of some sort of existing framework or library. Any tips / tricks would be appreciated.
Thanks.
In wxWidgets there is the wxAUI library which is designed exactly for dockable panels and toolbars. There is quite an extensive sample in the samples/aui folder of your wxWidgets installation.
I'm not an expert, but, it sounds like you're talking about "docking" widgets (or controls or whatever you want to call GUI components). While many of the major GUI players do this well, I have seen very few outside of Java which do this well cross-platform. If docking is critical to your project, you may even want to build simple little test applications in each of the major GUI toolkits before deciding on one.
wxWidgets uses the underlying native libraries and, at least to my knowledge, does not have a docking library.
GTK+ has gdl (GNOME docking library) but I don't think it will work in Windows. I've used this often and it works great in GNOME.
Qt has a Dock Widget but I'm not a Qt developer so I can't give you any more than that.
Java/Swing has a lot of docking libraries. You'll have to Google that one--too many for me to list. I don't do too much Java either.
As much as I typically do not like Java applications, Java may be your best bet if it really needs to run consistently across multiple platforms.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With