The original source files for sodaCAD were written in gtkmm and Glade. I liked the direction that the gtkmm developers were headed and loved the visual look of the widgets. But I’ve been having problems properly connecting the signals in the XML file to the source code. Gtkmm is pretty cutting edge and has a ways to go. Glade is nice but there seem to be bugs either with gtkmm or Glade. I’m not sure. In the end, I would have had to hard code the visual layout instead of using Glade as I had wanted and it would have resulted in a lot of effort. I originally selected it because Inkscape, one of my favorite projects, uses gtkmm. Unfortunately, Inkscape has taken their GUI private and I haven’t been able to decipher it. I also think most of their GUI is hard coded in header and CPP files making it difficult to piece together. I can understand their decision, but it makes it harder to play with the code.
I’m currently studying wxWidgets and I like what I’ve seen so far. wxWidgets has been used by other CAD software, so it may be more powerful, or at least more stable, than other GUI libraries. Switching to wxWidgets means scrapping what I’ve done so far and starting over, which thankfully isn’t too far. In the coming days I will update the Git repository with the changes.
For non-software programming geeks wxWidgets and gtkmm are special code libraries that enable programmers to build a graphical user interface. There are several possibilities in hacker land and the selection depends a lot on the programming language and the preference of the developers.