krogenth / G2DataGUI

A tool for modifying the Anniversary/HD Remaster of Grandia 2.
MIT License
4 stars 5 forks source link

Investigate possible GUI libraries #6

Closed krogenth closed 2 years ago

krogenth commented 2 years ago

While ImGui is quick to setup, it is not quite as user-friendly as desired. Therefore, investigation of possible GUI libraries that can be used in place of ImGui to provide a more user friendly layout is required.

Possible leads would include:

Other possibilities can be found here: https://old.reddit.com/r/cpp/comments/babfl5/a_pretty_big_list_of_c_gui_libraries/ Ideally we would want standard library conforming, with minimal code requirements so it's easier for others to pick up work.

Guernouille commented 2 years ago

I have a bit of experience with Qt 5, but I didn't work with it since early 2019, and I didn't follow any tutorial so I don't know the good practices with it. I may still be able to help though :q

krogenth commented 2 years ago

I am not that familiar with any of the GUI libraries/frameworks, so any help in any regards would be much appreciated.

krogenth commented 2 years ago

After looking into some of the available libraries, I am slightly interested in sciter and ultralight. Both would allow for using html/css/js for rendering the ui, which would be very flexible for design decisions. However, the dependencies(at least sciter) are a bit bloated, and may not be the easiest in terms of compiling.

krogenth commented 2 years ago

After looking through the ultralight documentation and samples, I'm removing that from the list of potential frameworks.

krogenth commented 2 years ago

It took a while, but after looking through and trying some example code from a variety of GUI libraries and frameworks, I think, Qt will end up being the best possible option for this. I'd prefer targeting the latest version, but if it's quicker to get an older version to get moving, that's where things can start. The only slight concern I can see if the issue of names/descriptions being fixed length strings, but hopefully that won't be too difficult to handle.