Jump to content
  • entries
    941
  • comments
    5,894
  • views
    867,983

Properties Dialog


Josh

2,332 views

 Share

After putting together a pretty complete model of how the logic editor would work, I found myself unsatisfied with the properties dialog. I originally intended to make a standard properties dialog that opened in a separate window, with "OK", "Cancel", and "Apply" buttons. However, the logic editor and properties dialog were both being opened in separate windows that were a child of the main window, with no strict draw order between the two of them. I found it confusing to select an entity in the logic editor, and then have to go to a separate window to modify its properties.

 

I tried moving the properties dialog into the scene browser panel, in the side panel on the right. There was a nice big empty space for it, and it looks appropriate.

blogentry-1-0-90818000-1337725391_thumb.jpg

 

Normally I do not like interfaces like this because it means the data has to be continuously synced even when you are just editing in the viewports. However, with some clever coding that keeps performance in mind, I think I can get around this problem. It certainly feels a lot simpler to work with. With this many features in the editor, I want to be careful to retain the intuitiveness of programs like 3D World Studio,

 

Property groups are separated by tabs, which I find to be a lot easier to use than a big vertical stack of properties as high as the screen. It also makes editing faster because I only have to fill in the values of the currently visible properties tab.

 

I think it also makes sense to open assets in their own window, while modifying object properties in the property dialog embedded in the main window. You will spend more time modifying object properties while editing. Assets are something that only need to be adjusted once in a while, because they should be left alone and reused many times.

 

The whole properties interface is a class that lets you build an interface, without actually knowing what each control does. The editor entity class has functions to get and set property strings, which can include position, rotation, and other basic stuff. It's quite nice because it allows me to add lots of new properties without having to hard-code any dialogs.

 Share

4 Comments


Recommended Comments

The PropertyGrid control in .NET is really nice. Not sure if BMax has anything like that but it's very visual studio looking for properties so it's familiar to a lot of people.

Link to comment

I'm trying to stay away from anything that isn't cross-platform (especially given that MS thinks all windowed programs are now "legacy apps"). The future of Windows looks very uncertain, and now more than ever I would avoid becoming dependent on any one desktop OS.

 

Just read this article to get an idea of what they are thinking:

http://blogs.msdn.co...experience.aspx

Link to comment

Yeah, sorry I didn't mean that same exact .NET control, just wasn't sure if BMax had a similar control out there because it's really easy and and you really have to do is give it an object and it'll automatically show public fields as settings in the window. Thought maybe someone in BMax land might have tried to make a similar control.

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...