Editor GUI

Started by
1 comment, last by Jason Z 14 years, 9 months ago
Hello, What should I use to create the editor GUI? Should I hook up GTK+ or WxWidgets, or should I write something myself? Just pop the GUI in a separate thread and communicate with messages? What's the way it's usually done ?
Advertisement
My first advice would be to write anything GUI-related using C# (or any .NET language), and enjoy the luxury of Windows Forms. If you don't want to take that route, then I highly recommend using a pre-made GUI library, such as Qt, wxWidgets or MFC. What you decide to choose depends on your requirements; all of these libraries comes with their pros and cons. Licensing, cross-platform support, needing of a "framework" to be installed on the end user's machine, etc. I for one didn't like Qt's GPL/LGPL license, and therefore chose not to use it. The Windows API is not really pleasant to work with, so I wouldn't advise you to use it. If it's a small editor then I guess it could work, though.

It all depends on your requirements, as does threading. I doubt that you actually need to use threads for this (they tend to complicate things), but I can't tell because you've given so little information.
It also depends on how much you are going to do with the editor. If you are just doing a few small UI components, then you might be able to roll your own within your rendering framework. However, projects like this usually leads to more requirements later on, forcing you to build more GUI objects than you really want to.

You can use the DXUT library if you are using D3D. It's a basic framework, but the GUI is actually pretty good - it's worth at least reviewing the architecture to see how it works.

If you want to use a pre-built library, I tend to lean towards MFC just because I have used it the most in the past. However, many people seem to dislike MFC and choose wxWidgets instead (it is structurally similar to MFC without as many complicating factors...).

Really, as Heptagonal mentioned, it really depends on what you are trying to do with it...

This topic is closed to new replies.

Advertisement