Pages: 1
  Print  
Author Topic: Advanced Code-Based Object Editor  (Read 8430 times)
Offline (Female) IsmAvatar
Posted on: November 30, 2011, 05:04:52 pm

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 877

View Profile Email
One of the popular proposed changes for LGM has been to get rid of DND for the more advanced users, and replace it with a quick-and-easy code editor. I'm a big fan of this myself, and while designing the Object Editor, I consciously added an extra area of code for dealing with said 'advanced mode' once a design was fleshed out.

The reason it hasn't happened yet is primarily just that - a design has yet to be fleshed out. Hence the purpose of this topic. I'd like to summon the community forth to discuss and design the new Advanced Object Editor.

So open up your MS/Kolour Paints, your GIMPs, and your InkScapes, and put forth some ideas. Include multiple images to demonstrate any non-obvious content that hides (e.g. if you are going to keep the DND panel, but just hide it until they press a button, indicate how it would look with and without the button pressed, and how that would interact with the code editor).



Currently, as a reminder to you guys of a somewhat hidden feature, if you double-click in the ActionsList (the third panel, between Events and DND Pane), a Piece of Code DND action will be added, and the editor for that is shown. This is nice, but it would be nicer if this could be entirely built in for advanced users.

My first thought was to just replace the DND pane and Actions List, but the Properties and Events panes (1st and 2nd panes, respectively) restrict horizontal space.

Idea 1: Combine the Properties and Events pane? (tabs maybe?)

Idea 2: Combine the properties and events into a Toolbar? This could be too cluttered.

Idea 3: Events could use a combo dropdown box, although that might be a step down from what it is now.

Idea 4: Have buttons to show/hide the properties/events. Properties could even potentially be made into an additional dialog box.

Just throwing some ideas out there to get you started.
Logged
Offline (Unknown gender) luiscubal
Reply #1 Posted on: November 30, 2011, 05:37:34 pm
Member
Joined: Jun 2009
Posts: 452

View Profile Email
I have a thought. This is an idea I have since the G-Creator ages.
inline code editor. Just like there are normal actions, the "code" action could appear in the action list itself, inside the action block. Maybe with an expand/collapse button to revert to the old mode.
Maybe not as good as a complete code-based editor, but 100% backwards-compatible with GM, pretty cool and good enough for most advanced users.

Logged
Offline (Male) Rusky
Reply #2 Posted on: November 30, 2011, 10:38:30 pm

Resident Troll
Joined: Feb 2008
Posts: 954
MSN Messenger - rpjohnst@gmail.com
View Profile WWW Email
Keep the event pane at a fixed size (it currently scales horizontally with the object window), and make the D&D list collapsible (like the Office ribbon, clicking a tab in its minimized state would behave click-wise like opening a drop-down/context menu). Then inline actions (like I've described here) to put code in the actions pane, and add an option to add a single code block by default.

The less modes and modal dialogs there are, the better.
Logged
Offline (Female) IsmAvatar
Reply #3 Posted on: December 01, 2011, 12:24:36 am

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 877

View Profile Email
The idea behind the Advanced Code Editor is to quickly drop the user into a code editor so they can type their code right away. Adding a code block by default won't achieve that unless it also either opens the dialog (somewhat annoying) or shows an in-line code area like luis described (which would end up either being tiny, or would force the Object Frame to be huge)

The D&D-tabs-expand-their-panels idea is a good idea, but only useful if you actually use D&D (which is usually not the case for people who wish to switch to the Advanced Editor). As for idea 4, I was thinking *either* dialog box *or* show/hide panel.
Logged
Offline (Unknown gender) TheExDeus
Reply #4 Posted on: December 01, 2011, 06:04:14 am

Developer
Joined: Apr 2008
Posts: 1860

View Profile
Remove the D&D panel and leave that the double click adds a code block + opens the code editor. And if the user double clicks the event then code editors opens the first code block.
Logged
Offline (Male) polygone
Reply #5 Posted on: December 01, 2011, 06:37:23 am

Contributor
Location: England
Joined: Mar 2009
Posts: 794

View Profile
Leave the event list and left side properties as they are, just don't adjust their size with the object window like Rusky mentioned. Instead make them both manually resizeable/collapsible inside the object window (like a pane split).

Then I suggest killing all of D&D when you go into advanced mode. Convert all existing D&D into it's equivalent code and place into a single script and automatically embed the code editor into the right side area. Advanced users will then not have to deal with D&D at all and existing games/examples muddled with D&D will actually be usable.

There is a possible issue which could arise from this though. If someone switches to advanced mode then decides they want to switch back to basic mode all their D&D will remain converted into a code block. So you will have to add a warning to users about this when they go into advanced mode, but I doubt it will be too much of an issue.
« Last Edit: December 01, 2011, 07:20:22 am by polygone » Logged
I honestly don't know wtf I'm talking about but hopefully I can muddle my way through.
Offline (Unknown gender) luiscubal
Reply #6 Posted on: December 01, 2011, 08:32:23 am
Member
Joined: Jun 2009
Posts: 452

View Profile Email
Regarding my suggestion - I'd like to add one edge case:
If the code editor is the only action, then it should expand to fill almost completely the action pane(with only some little space to allow drag&drop to add other actions to before or after the code). This is to ensure that code-only users would have maximum text area.

Or alternatively, the action editor would be exactly as big as necessary. e.g. adding new lines at the end would increase the size, removing those lines would decrease the size. The only scrollbar would be the global action pane scrollbar. I think this might be the best.
Logged
Offline (Male) Rusky
Reply #7 Posted on: December 01, 2011, 11:08:51 am

Resident Troll
Joined: Feb 2008
Posts: 954
MSN Messenger - rpjohnst@gmail.com
View Profile WWW Email
The idea behind the Advanced Code Editor is to quickly drop the user into a code editor so they can type their code right away. Adding a code block by default won't achieve that unless it also either opens the dialog (somewhat annoying) or shows an in-line code area like luis described (which would end up either being tiny, or would force the Object Frame to be huge)
The idea would be an inline code area, as described by luis but also my (linked in my above post) suggestion of inlining all actions. I don't see the problem with a huge object frame, as you need *some* huge frame for the code and putting it in any separate, modal dialog is just as horrible as it is now.

The D&D-tabs-expand-their-panels idea is a good idea, but only useful if you actually use D&D (which is usually not the case for people who wish to switch to the Advanced Editor). As for idea 4, I was thinking *either* dialog box *or* show/hide panel.
The idea is not to have any modes to switch to. That just makes things more complicated for both the programmer and the user, and is less flexible (see polygone's post). Minimizing the D&D tabs is useful because you don't have to go enable or disable a mode, you just click a button that's already there.
Logged
Offline (Female) IsmAvatar
Reply #8 Posted on: December 01, 2011, 01:24:33 pm

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 877

View Profile Email
polygone: That's kinda what I was leaning towards/hinting at with my Idea # points. I'd still consider adding a toolbar, though, with buttons to quickly hide/collapse/show/expand the properties/events panels, since pinpointing those little expansion arrows on the splitter can be a pain.

luis: duly noted

Rusky: I don't think you do need a huge frame, if you can collapse/hide all the other panels, so that it looks very similar to the Script Editor. When expanding/showing the collapsed/hidden panels, they could 1) overlap the code editor (like an in-built dialog), 2) compress the code editor, 3) be a dialog (annoying), or 4) resize the frame (kinda a pain)
Logged
Post made December 01, 2011, 05:15:52 pm was deleted at the author's request.
Offline (Female) IsmAvatar
Reply #10 Posted on: December 01, 2011, 07:28:58 pm

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 877

View Profile Email
This is an Advanced editor that would only replace the normal object editor if you choose so from the (currently non-existant) settings pane (or elsewhere, if there's a consensus for that). You can just as easily switch back to the one we're all familiar with by going to the settings pane again and turning it off. Additionally, the original non-advanced one will be the default.

I'm not sure if that answers your question?
Logged
Post made December 02, 2011, 05:55:52 am was deleted at the author's request.
Pages: 1
  Print