irrGUIEditor

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki

irrGUIEditor

Postby lug » Fri Jan 05, 2007 2:37 am

Image

Yes, it's me lug once more. I've been working on a gui editor for irrlicht. Yes, I know there are several already available. But this one is different. It has a preview render window of irrlicht (far left in screen shot). This window shows what the control looks like rendered in irrlicht engine.

The intent is whenever you move, resize, change property of a control in the gui designer tab (center in the screen shot), it will display the equivalent irrlicht gui control in the irrlicht render window in real time.

Once you get the gui in the position, size you like, you can preview the source code via the "code view" tab (for copy and paste into your project). Click generate button and the tool will produce .h and .cpp files with the relevant gui functionality in code.

You can change the gui in the gui designer using the property of the gui element via the property in the lower right corner of the screen.

Anyway, I figured I use what I've learned on my previous projects like irrDemoBrowser and irrShowMesh and make a GUI editor with all the features that I want in it. This project is just that. Also, it's an excuse for me to learn Visual C# (yes, the render winodw is being powered by irrlicht .net in it's very own thread separate from the gui). :P

Update:

Here's another shot showing the code view layout:

Image

Update 2:

Here's a pic showing the property in action (for selected button):

Image

Update 3:

BlindSide -- hey, thanks. lug is not a professional gui designer. lug just likes minimalist design. :)

The irrlicht button and the gui designer button now syncs with one another.

Image

If you resize the button in the designer, you'll see the button in the irrlicht render window resizes too. If you change the text of the button in the gui designer, the text in the irrlicht button will change too. It's hard to see it without a video showing the button resizing in real time. Oh, well. I'll put one up once I get some more done. The sync functionality isn't very smooth yet (result of communication between two threads). :(

I couldn't figure out how to resize the irrlicht button after creation. So, each time the gui designer button is resize/updated, the old button is destroyed. Then the button is recreated in the irrlicht renderer window with the new gui designer size/text. :wink:

Update 4:

After many attempts, lug try and try but cannot find a good side-to-side layout that works. The app layout becomes unweldly and difficult to size. Lug did get the sync better between the designer and the renderer but lug just could not make the dual layout work. If one uses 640x480 res, the control can be made offscreen and resizing it inside the designer makes it all wierd. :? lug tried 320x240 res but the two control takes up too much app space. :cry:

So lug will put screen top and bottom like the Nintendo DS layout. :) It will be fixed for now. lug will add a "maximize" preview window to allow user to view in larger resolution than 320x240 res. So, designer will be fixed at 320x240 res, then when code generated/preview screen maximized, user can pick another resolution like 800x600 and irrGUIEditor will generate code that position the controls to match that resolution. :P

Well, for now lug will make it like DS layout. When lug figures out the best way to layout the render screen and designer, lug will post update. :oops:

Update 5:

Image

Update 6:

Fixed a nasty resize sync issue. Whenever resizing the button, the x2 and y2 values decreased to negative values which makes the irrlicht rendered button disappear. That took several days to figure out. :(

Update 7:

Image

Image

Image

Update 8:

My oh my. Hiding properties using the propertygrid is a pain. I had to use the browseable(false) hack on every single properites that's in a button control (20+) in a derived button class.

So, for each one, one has to provide a default return value for the get (if it has one). When you consider each property has a different return type, the amount of work adds up really fast. :cry:

And that's just for the button control. I would have to do one for each of the equivalent irrlicht controls. Hrmph. :evil:

Update 9:

I'm currently rewriting the threading support. The background worker thread is too restrictive for what I wanted to do. So, I'm scrapping it and handling threading manually. I think in the long run, it will prove much more flexible and easier to managed. Thank you all for the show of interest. :D
Last edited by lug on Thu Feb 15, 2007 3:10 pm, edited 7 times in total.
lug
 
Posts: 79
Joined: Tue May 02, 2006 5:15 am

Postby 3ddev » Fri Jan 05, 2007 7:02 am

This is great! I like the Irrlicht Rendered Window! Nice use of .NET, too! :wink:
3ddev
 
Posts: 169
Joined: Tue Sep 19, 2006 6:51 am

Postby bitplane » Fri Jan 05, 2007 12:03 pm

as of 1.3 you'll be able to use guienv->saveGUI and loadGUI like you can with scenes at the moment. it would be cool if your GUI editor makes use of save/loadGUI and the attribute approach to editing data, so you can use it to position and edit IGUIElements which you know nothing about.
its a shame about the work duplication really, as i've started a gui editor myself which can be found in svn. it's not finished yet because i still want to add more things to the IAttribues implementation, and make a generic attribute editor element.
Submit bugs/patches to the tracker!
Need help right now? Visit the chat room
User avatar
bitplane
Admin
 
Posts: 3204
Joined: Mon Mar 28, 2005 3:45 am
Location: England

Postby lug » Fri Jan 05, 2007 3:06 pm

bitplane wrote:as of 1.3 you'll be able to use guienv->saveGUI and loadGUI like you can with scenes at the moment. it would be cool if your GUI editor makes use of save/loadGUI and the attribute approach to editing data, so you can use it to position and edit IGUIElements which you know nothing about.
its a shame about the work duplication really, as i've started a gui editor myself which can be found in svn. it's not finished yet because i still want to add more things to the IAttribues implementation, and make a generic attribute editor element.


Cool. I didn't know about that. Thanks, bitplane. About the duplication, it's not bad to duplicate. It gives the user more options on which tool to use. And besides, I'm doing this one to learn visual csharp. So, it's not a wasted effort. I'm looking forward to seeing your gui editor. :)

I can rename mine to something else if you've already used the "irrGUIEditor" or want to use it as the name.
lug
 
Posts: 79
Joined: Tue May 02, 2006 5:15 am

Postby BlindSide » Fri Jan 05, 2007 3:16 pm

Lug your work is always very proffesional looking, this is no exception! Good work! :D
BlindSide
Admin
 
Posts: 2797
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Postby Solver » Mon Jan 22, 2007 9:03 pm

Any chance the current build could be posted somewhere? I am dissatisfied by the other editors I looked at, they lack the ability to, for example, assign images to buttons.
Solver
 
Posts: 6
Joined: Tue Nov 21, 2006 6:30 pm

Postby arnir » Mon Jan 22, 2007 9:29 pm

screens is very nice :)
arnir
Competition winner
 
Posts: 134
Joined: Sat Jan 20, 2007 4:36 pm
Location: Czech Republic

Postby lug » Mon Jan 22, 2007 9:37 pm

Solver -- it's not ready yet. the only gui it can create is a button (working on checkbox next). i hadn't anticipated the need to disable the huge amount of properties for the control. so, it's taking me much longer to add and debug than i originally thought. so, if you need gui stuff now, i would not wait on irrguieditor -- just use one of the other gui editor. sorry.

arnir -- it looks better in motion (when it's ready that is). :)
lug
 
Posts: 79
Joined: Tue May 02, 2006 5:15 am

Postby Solver » Mon Jan 22, 2007 9:42 pm

Ahh, understood. Well, good luck continuing work on this, I'll certainly be downloading once there's a usable build. I'd be happy to use Irrgi for now, but its source code isn't available so I can't modify it to suit my needs...
Solver
 
Posts: 6
Joined: Tue Nov 21, 2006 6:30 pm

Neat

Postby Athlon_Jedi » Sun Feb 11, 2007 6:14 pm

ok where can we find this handy dandy tool?
Athlon_Jedi
 
Posts: 156
Joined: Wed Jul 21, 2004 4:29 am
Location: Mishawaka, In

Postby RadiationBeta » Mon Feb 12, 2007 10:10 am

Indeed. I would like to gve this a try it looks very promising.
RadiationBeta
 
Posts: 2
Joined: Sat Feb 10, 2007 7:53 pm

Postby stodge » Tue Feb 13, 2007 5:36 pm

The preview window takes up too much real estate and detracts from editing the GUI.
What does the debugger tell you? You did use the debugger, didn't you?
stodge
 
Posts: 216
Joined: Fri Dec 05, 2003 5:57 pm

Postby Rambus » Wed Feb 14, 2007 3:55 am


The preview window takes up too much real estate and detracts from editing the GUI.



Actually, I think the preview window is this gui editors best asset. There are tons of irrlicht gui editors for what ever reason- and they all seem to lack this absolutly necisary feature.

If the window is really that annoying, perhaps have an option for it to be a pop out tool window instead?

Project is looking good, keep it up!
Rambus
 
Posts: 96
Joined: Thu Nov 24, 2005 4:56 pm
Location: Canada

Postby christianclavet » Fri Sep 14, 2007 4:54 pm

Hi, Lug.

Any update on your project?
User avatar
christianclavet
 
Posts: 1383
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA

irrPreSetting

Postby R » Sun Feb 24, 2008 11:16 am

Since the original thread is long dead, I'm posting here in order to catch lug's attention :)

All binaries posted on Megaupload for irrPreSetting have been removed.
If you still have the sources floating around, could you upload or paste them on the original thread?
I'm interested in the "pure" version, but both are tragically MIA.
Thanks in advance, R
R
 
Posts: 3
Joined: Sun Feb 24, 2008 11:06 am

Next

Return to Project Announcements

Who is online

Users browsing this forum: No registered users and 1 guest