Alternatives to DirectGUI?

Hi everybody! I’m making a scene editor for my Panda-based game development kit, and I’m looking for GUI toolkits. Not something like wxWidgets, a toolkit that embeds it widgets directly in the Panda window.

  • DirectGUI was (of course) my first candidate toolkit, but it has some shortcomings, mainly the fact that I need a file browser widget (it doesn’t have one, and I currently need a really turn-key solution), and I’d like an easier-to-use GUI (windows and panels/menubars come to mind).

  • treeform’s TreeGUI toolkit was the next option I investigated. It’s a lot better (IMHO) than DirectGUI, but it isn’t maintained (or at least in hasn’t been updated in years), and I need an button that can use an image/icon (which was one of DirectGUI’s strong points).

  • morgul has a Python binding to CEGUI (if no alternative options appear, I’m going with this), and I liked it, but I’d prefer a pure Python GUI system, as my GDK needs to run on 3 (soon to be 4-5) different platforms, and I only have access to a Linux box.

There are other options available:

Both of these are extremely portable, as they all pure Python “all the way down”, i.e, even their dependencies are pure Python.

The primary problem with both of those options is that they would require a wrapper so they could inter-operate with Panda. And, they would both be OpenGL-only (Pyglet itself is a ctypes-based wrapper around OpenGL). Plus, I’ve seen that the second option (SimplUI) has some very bad bugs. Another problem is that neither of these toolkits are maintained right now.

Sooooo, does anyone else have any alternatives?

CEGUI will soon have full integration, community made branch which needs to be integrated in main dev branch.

Interesting. Where is the repo? Or are you saying that morgul/nik’s CEGUI wrapper will be integrated into Panda’s CVS repo?

That would be excellent, but I need a solution that works (without using the buildbot) inside the next few weeks, so using the buildbot to fetch the new Panda, even if it did have proper CEGUI integration, is out of the question.

Can I ask, out of curiosity, why you don’t want to use GTK/Qt/Wx, and instead want to go with something that works inside the Panda window? I’m currently in the process of making a scene editor for myself (seems to be one of the most common activities for Panda users xD) and I found GTK a good companion for this journey. At least so far.

As far as DirectGUI is concerned, I found it at least good for game interface, but for an editor it really is a no-go. Even thought I have built windows, menus, icons, folder view and so on with it (although, I’m not releasing it, because it’s very limited in functionality to only the stuff I really need).

I don’t think you can find anything better, closer to OOTB, than CEGUI. Especially now that full integration is right around the corner.

The main reason I don’t want to stick the scene editor’s GUI outside the Panda window is that I’d eventually like my editor to work on mobile devices, and putting the GUI inside the Panda window makes it easier to port (for example, wx doesn’t work on Android, and neither does GTK, but a pure OpenGL approach, like CEGUI, or SimplUI, would).

Does anyone else have any other alternatives?

Here’s another alternative: FLTK/PyFLTK. I haven’t tested either of these out (and they’re OpenGL only), but it looks like they should work.