UI Options

Hi everyone,

I’m new to the forum but I’ve been playing around with Panda3d for a few months now.

I’ve hit a little snag when it comes to UI. DirectGUI doesn’t look like it’s going to meet my needs, but the other available options either seem to be difficult to get working or lacking in documentation (or both).

Right now I’m working on a map editor and in need of a UI option to deal with loading and saving, and also with the choice of textures for brushes and other options like that.
I’ve found this: [Problem with DirectScrolledList in a FileDialog class)
Which kind of works for the saving and loading and I’m sure I could make it do what I want with a bit of effort, but I can’t even figure out how to move and resize the DirectGUI widgets properly and I know it doesn’t really have what I will need for my end project.

What I’m working on is a RTS / Grand Strategy type game. So when I get to the actual game I know I’m going to need all kinds of complicated UI; lists, scroll bars, drop down selections, sliders. Pretty much everything you can think of. CEGUI or rocket seem like good options, but rocket is lacking in documentation (that I could find anyway) and seems to not be updated any more. CEGUI seems great, but a little complicated and while it does integrate with Panda3d that’s not ready or fully documented yet (not that I can see).

So I’m either looking for some info on CEGUI; is it going to do what I need before I put some time into figuring it out? ; is there a version of Panda3d I can download that comes set up to use it? ; is there a good tutorial that shows me what I need to know to use CEGUI with Panda3d?
Or for another solution that can do what I need.

Thanks in advance for any help. I’ve been banging my head against a wall for a few days trying to find something that works.

Another option, if you want to fiddle with html/css/javascript, is use Awesomium or CEF for your ui. I have some tutorials on CEF but not many. It is a heavy dependency as it runs a chromium process.

DirectGUI is not that bad, once you know its quirks you can build any widget with it… but it can be a bottleneck if you have many objects in the gui.

For a editor you could use tkinter if you don’t mind having a toolbar in a new window (Gimp style) like in the sample-demo particle panel… but then you’d have to use tkinter and that’s no fun unless you are a fan of using lambda all over the place.

Thanks for the suggestion, but if it takes any where near as much memory as my chrome tabs do I doubt it would work (for the game anyway, I’ll have a look at it for the map editor). I’m already worried about running out of memory…

Can you suggest a good tutorial for DirectGUI? Because the information in the manual seems a bit sparse and I couldn’t get much from it.

That might be fine for the editor, separate window for tools is a bit annoying but better than nothing. I’m no fan of lambda (can’t say I particularly understand it, problem of being self taught) but if it does the job I’ll work with it.

Thank you both for the suggestions, I’ll look into both of them :slight_smile:

It has been done: mavorsrants.com/2012/11/plan … ngine.html

The memory consumed will depend on what you have going on in the “browser.” Ie the amount of images and javascript. IIRC an empty context is about 80 megs of overhead ram.

Interesting read, thanks for that.
It does look like something I could use.
I’m not very proficient with javascript, but I’ve already learned python so what’s another language?
I’ll give it a try, if it turns out to use too much memory I’ll just have to find something else.