Chaos Project

Featured Projects => Advanced RPG Creator => ARC Welder => Topic started by: Ryex on May 14, 2011, 01:29:34 am

Title: Laying out the interface
Post by: Ryex on May 14, 2011, 01:29:34 am
The interface for the editor will be very modular in that each part that can be separated out from the rest of a panel will be. we need to comup with a layout for the most important panels that we will be making.

there exists a very useful tool called wxFormBuilder that can be uses to very quickly build mock ups of panels. you can find it here (http://www.wxformbuilder.org)

My plan  is to get people to make mock ups of the important panels namely the ones in the database and later use the form builder to generate to generate the python form code. the code will take a bit of touching up but overall it is much better than writing it by hand. the forms can be interfaced later but at least we will have layouts which are just about half the work.

this requires NO coding experience what so ever so you CAN do this G_G as long as you get used to having to lay things out with sizers it will be easy.

I'm not thinking that this needs to be a task right now. tasks like the actions framework need to be finished in order for the form interfacing to be possible and this won't need to be done until then. but considering that G_G feels incapable of the other tasks and seems to be too lazy to try to learn and see if he really can't do it *hint*hint*  I thought I should get this out there. (if you do feel like doing this now G_G I'mm make a task out of this).

but I think that it would be a good Idea to at least get a generic layout lined up that these panels would work on. for example the database RMXP had a tabbed window that is shown model so that the rest of the editor can;t be used. this can easily be rectified by changing the window into a panel that in displayed in the editor main window use the AUI system. But could we not take this further? we could separate each tab out of the window for example so that multiple types of database data could be modified/viewed at once but are there other ways this could be done?

this kind of thing needs to be thought through so that the work flow of the editor will be flowing and far more accessible to the user.

that is the main point of the topic. non developers feel free to offer your input.

how should we set up the interface for th database?  use mock ups no matter how crude so that we can see what your talking about. things like this are too hard to understand without images.

Title: Re: Laying out the interface
Post by: ForeverZer0 on May 14, 2011, 02:04:51 am
I would say not to use modal windows for any part of the editor that need not be. That has been a great annoyance of mine in RMXP, especially since there is no reason it had to be that way. I would say leave the entire editor one big MIDI container, where the user can choose what windows are open and not, and where they are located. I know it will likely be hard, but give the editor a Visual Studio type interface where any window can be tabbed, pinned, or docked in any location. That may be shooting a little far, but that would be my ideal editor. The trick would be to have a user-friendly and quick way to open the various windows without the need to scroll through menu options and what not. Possibly use a couple of rows of buttons. I don't know, I;m just throwing idea out there. I may make a quick example with dummy windows to show you what I mean tomorrow or something.
Title: Re: Laying out the interface
Post by: Ryex on May 14, 2011, 02:40:20 am
you odiously not up to speed with how far along I am in that respect. the only modal window that will be shows over that main window would be thing like the new project dialog and things like file windows. I already have the visual studio interface in place. any panel can be dragged around and placed anywhere. what I need Ideas on is that "user friendly way to open the window they need". we could a LONG toolbar full of buttons that open each tab of the database separately or we could have one button and open the database like it exists in RMXP except as a panel that can be docked anywhere ect. or we could have the databastr button open a panel with button that open the panels of the data base or... and the list goes on with how we could do it. but not all of the ideas are good ones or easy to use.

put it this way. in the IDE (Integrated Development environmental ie. Visual Studio layout) type layout. what would be the best way to lay out the database ect. so that it is user friendly and quick to access and use?
Title: Re: Laying out the interface
Post by: ForeverZer0 on May 14, 2011, 02:45:26 am
You don't need one big long row of buttons. What's wrong with 2-3 shorter ones, so long as they are organized in a sensible manner. Or for that matter, just create a default setting and allow the user to change the button setup as they see fit as well.
I understand we'll still need to come up with a good layout, but that is a good option.
Title: Re: Laying out the interface
Post by: Blizzard on May 14, 2011, 07:37:59 am
I think this approach here for the whole interface would be the best.

Similar to Visual Studio (and other IDEs), you would have a few panels that you can move around and toggle visible and invisible (list of scripts, list of maps, resource manager, sound manager, properties panel etc.). One panel would be special as it would be the main panel and be able to have tabs, similar like the one for files in VS. Now the thing is that you can open anything here. You can open a database category (e.g. actors) or you can open a script to edit or you can open a map. We just have to make sure the same thing cannot be opened twice.

From reading your posts I didn't get the idea that it would be like this (though it would be similar or maybe I just misread your posts) so I thought I'd write out this whole idea. I've had this idea since I had the idea for StoRM. So the concept is that everything is either a panel that you can dock anywhere you want and toggle visible or something opened in a tab in the main panel to work with.

There's just one small special thing that I would like to explain better and that is the properties panel. I thought of a panel similar to VS's properties panel. The idea is that you can change the properties of the currently open tab or select object in other panels. e.g. If you select a map or have a map open, in the properties panel you change the map properties easily. If you have selected a script or have a script panel open, it would show the properties such as author, version, whether it's active and so on.

Again, I think this approach might be one of the hardest to code, but it would give the editor a feeling of an actual IDE.
If you look realistically at it, ARCed will actually be an IDE, it will just not have a shitload of features like e.g. VS or CodeLite or Eclipse does.
Title: Re: Laying out the interface
Post by: Ryex on May 14, 2011, 09:32:29 am
I like your idea for a properties window. the system is going to work exactly as your describing but I was having septate panels for everything properties. your Idea helps centralize everything. the panel could easily be coded as a generic panel with an embedded panel that changes based on the last clicked/active panel. ie clicking on the map editor would mad that panel active and it would open up a properties panel that had options for the map names and tileset ect. the properties panel could also have a sub panel that would changes bases on that last action taken in the active tab. for example in the map editor the sub panel could display options for the active paint tool. or if the event layer was active it could display properties for the currently selected map space with details on the even that was located in that position ect.

but I'm most concerned about right now is how people will access the various panels that could be opened in the main area. the map editor could be open from the map list panel but what about the panels for the various database tabs? do we just have a toolbar button for each tab or panel that could be opened there? that just doesn't seems accessible to me. having to search through 10+ buttons on a toolbar to find the one for the type of data I wanted to edit seems... clunky I want the users to have an easy and clear way to open tabs form the database. I was a use to be able to find that actions they want without having to look at all if possible.
Title: Re: Laying out the interface
Post by: Blizzard on May 14, 2011, 11:40:11 am
Why not just make another of those generic panels like for the script list or map list? Just call it database and add all categories in there. I think it would be even useful if we had a menu item on top for some of them. Database could have a menu item on top (where the submenu would be simply all database categories such as actors, classes, etc.).

I'll make a mock-up, then you will understand what I mean.

EDIT. Like this:

Spoiler: ShowHide
(http://img19.imageshack.us/img19/3204/snap680.png)


Basically with 2 clicks you can get everything you want. We can also make a toolbar for "Database" where each button opens the given category right away (1 click instead of two at the price of losing a bit of screen because the toolbar takes up space).
Title: Re: Laying out the interface
Post by: MikePjr on July 24, 2011, 04:17:15 pm
I only wanted to mention something, after reading this post.. i was wondering how cumbersome it is going to be for people like me using the editor on a CRT monitor, i'm not using a wide screen display yet.
If the interface is made for a wide screen, i'm screwed.
Title: Re: Laying out the interface
Post by: Blizzard on July 24, 2011, 04:33:50 pm
The interface will be made so it works for any kind of screen. If you don't have a wide screen, you will just have less space. That is all. It will be very similar to RMXP in that regard.
Title: Re: Laying out the interface
Post by: MikePjr on July 24, 2011, 04:50:22 pm
Ahh okay, that's good to know, thankyou.