Laying out the interface

Started by Ryex, May 14, 2011, 01:29:34 am

Previous topic - Next topic

Ryex

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

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.

I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

ForeverZer0

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.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Ryex

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?
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

ForeverZer0

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.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Blizzard

May 14, 2011, 07:37:59 am #4 Last Edit: May 14, 2011, 07:40:52 am by Scorpion
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.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Ryex

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.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Blizzard

May 14, 2011, 11:40:11 am #6 Last Edit: May 14, 2011, 11:55:57 am by Scorpion
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


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).
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

MikePjr

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.

Blizzard

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.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

MikePjr

Ahh okay, that's good to know, thankyou.