   I've never developed tools before... were to start?
  OK so I'm thinking of making a simple tool to create objects for a game I'm working on. Up to now I've always done things by editing text files.I use C++ and directX, what's the easiest or at least smoothest way to get started making tools that represent common editors. I want to be able to hit a button and it will bring up a browser tree to find a file to load, or hit a button and it will change the cursor so I add a quad to the object.I understand how to load files and ad the quads to the object, I just don't know how to create the buttons and make them interact able, I'm sure I could create my own buttons but that's reinventing the wheel and alot of time to do it. Basically I just want some advice on how to make interface controls like buttons and file browsers and how to interact with them.   
  Check out wxWidgets, it does exactly what you want, and is pretty simple to use (:It also works with C++.  Some other people may suggest you use something like C# to make your tools, but i recommend C++/wxWidgets so that you can render things in your editor the same way they are rendered in game.Otherwise you'll have issues where things in your editor don't look like they do in game, which is annoying and makes it hard to use the tools (:   ;  Unless your already familiar with UI programming in C++ which is a big task in itself, your better served using C# and using its built in widget builder and application framework. From talking with tools guys in the past they rave about C# and how easy it makes tool creation, so I would suggest going with that. C# isn't so different from C++ that u can't pick up the basics in a day or so.Good Luck!-ddn   ;Quote:Original post by Atrix256Check out wxWidgets, it does exactly what you want, and is pretty simple to use (:It also works with C++.  Some other people may suggest you use something like C# to make your tools, but i recommend C++/wxWidgets so that you can render things in your editor the same way they are rendered in game.Otherwise you'll have issues where things in your editor don't look like they do in game, which is annoying and makes it hard to use the tools (:Well most people who use C# for their tools will have the tool use the native C++ renderer to avoid the problem you speak of. However managed/native interop is a terribly complex and not-well-understood topic, so it still wouldn't be something I'd recommend for someone starting out on their own.;  I like using XNA (and so C#) for tools. C# is great for the GUI while XNA is more then capable to produce images that look more or less like your engine.I don't think it's important that the editor looks like the engine.Yes it should be more or less the same and you should have a button to check it directly inside the engine.But a tool shouldn't be using 100% of your GPU/CPU and it doesn't need to have perfect shadows/reflections/lighting/...So C#/XNA is my preferred option :)   ;Quote:Original post by Atrix256Check out wxWidgets, it does exactly what you want, and is pretty simple to use (:People who recommend wxWidgets have either never used it for complex apps, or they have sadomasochistic tendencies.Wx is outdated, extremely clunky to use, scales very badly, and nightmareish for cross platform development. If you want to maintain some level of sanity, use Qt or Windows.Forms.   ;  qt, the full stack. Quite nicely. After using wxWidgets and gtk and MSVC thingy, Qt is the best thing that happened to me for tool-stuff.Bindings available for multiple languages.Personal Killer Features:* WebKit* OpenGL integration (can also render widgets into OpenGL surfaces)* Rich set of mighty widgets and mighty API in general (e.g. I have integrated that spectral color picker into the PropertyTree on the left)* can use C++ directly (with some extensions, but that's still better than any proprietary vendor lock-in)* CSS like style-Sheets* extensible* I consider QtCreator way nicer than MSVC (e.g. there's a search box in the toolbox)* great debugger integration* very, very active development* last not least: it is FLOSS   ;Quote:Original post by phresnelqt, the full stack. Quite nicely. After using wxWidgets and gtk and MSVC thingy, Qt is the best thing that happened to me for tool-stuff.Bindings available for multiple languages.Personal Killer Features:* WebKit* OpenGL integration (can also render widgets into OpenGL surfaces)* Rich set of mighty widgets and mighty API in general (e.g. I have integrated that spectral color picker into the PropertyTree on the left)* can use C++ directly (with some extensions, but that's still better than any proprietary vendor lock-in)* CSS like style-Sheets* extensible* I consider QtCreator way nicer than MSVC (e.g. there's a search box in the toolbox)* great debugger integration* very, very active development* last not least: it is FLOSSCurious for your opinion, would you recommend Qt for tools for game engines using OpenGL and something else for engines using DirectX? Or is there any way to get DirectX to play nicely with Qt easily?;  Qt only works with OpenGL as they intend to have a portable library. But it really is nice to work with. Unless you already have a very advanced engine in DirectX, this is definitely worth looking at.   ;Quote:Qt only works with OpenGL as they intend to have a portable library.I don't think that's true at all. Qt builds in support for OpenGL only, but you can certainly use DirectX on your own. winid() gets you an HWND on Windows, which is all you need...If you are going to program tools in C++, Qt works out well, I think. It's preferable to raw Win32 API. I have to agree with the comment on wxWidgets as well. If I were writing tools, I would consider Qt and FLTK first.   