I'm currently developing on a tool with some existing large C++ code. I'm currently thinking about using a model-view-controller (MVC) design. The model should contain all the C++ code. The view is what the user sees and the controller is basically the glue between the model and the view.
The features that I'm looking for are:
- Expandable design with MVC
- Textual User Interface (TUI), terminal and Graphical User Interface (GUI) option
- The GUI should load some textual files
- The GUI should use some textual input of the user to run some algorithms and generate some output values
- The GUI should eventually pop-up, save, display some graph with GNU plot for example.
- The C++ code works great in Eclipse (libraries, includes, build options)
- In time new algorithms will be added to the C++ code, this shouldn't become a big problem.
Now I found 3 solutions:
- QT -> QT Creator nearly demands the usage of an IDE that makes it messy to go to from Eclipse despite the advantages of QT. QT also seems to demand a weird structure around the GUI, so i'm confused about how to make a controller. The eclipse plugin is currently dead, I cannot find it on the FTP of QT and Nokia.
- GTKmm -> Comes from C and is sometimes a bit hard to understand why some things are required. I believe I can make this work in a MVC design.
- Java Swing using a shared library (JNI) -> Makes use of Java and C++, which is a bit odd. Using JNI might cost some additional work on the existing C++ code.
I have some experience with Java Swing and nearly no experience with QT and GTKmm.
So what is the best solution for making a GUI when I already have an existing C++ code as an inexperienced UI developer?