Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
slash_2_2000
Beginner


Joined: 27 Jul 2005
Posts: 20

PostPosted: Wed Oct 10, 2007 1:02 pm   

Possible to return to a more zMUD-esque package editor?
 
Having just downloaded the latest CMUD beta (2.05), the first thing I notice in the 'Package Editor' is the shying away from the 'classic' interface, where it would have in the... main area... Columns of the classes/aliases/triggers/etc that could be clicked on and edited. Now, I find myself faced with a tree view which is ridiculous to navigate.

Where previously (in zMUD) I could simply click on a class and have a column list presented to me which I could scroll through horizontally in a moment, I have a massive list which I must scroll through vertically. Clicking on a class is useless - it simply has a grey screen with a few tickboxes on it.

If I am not mistaken one of the touted features of CMUD is the more efficient package editor... I am curious about two things.

1) Why would the interface be changed to require scrolling dozens of times through a massive vertical list rather than horizontally perhaps once or twice?

2) Is there any way to return to a more 'classic' package editing interface in this regard? (I know there will be at least one wise guy who will say 'Use zMUD', but please don't)

I am absolutely loving every feature in CMUD besides this one and it seems to me a very critical UI component. Truly, this is the only thing stopping me from purchasing CMUD nigh on immediately. Is anybody able to inform or assist, please?
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: Wed Oct 10, 2007 1:26 pm   
 
Zugg will be the final and official answer on this but I'm pretty sure sure there won't be a return to a more 'classic' zMUD interface. I personally love the new interface, and Zugg has spent a lot of time on the new package editor.

I don't have the long lists you speak of but you can try using the search feature ( Ctrl+F ) to quickly find a class, or the 'Show Only This Class' option to narrow the lists.

I think Zugg also mentioned that this brings the package editor more in line with modern UI standards. The only other suggestion I can make is to try greater logical groupings of modules, packages etc. Personally I think it's worth it and that you'll grow to appreciate the new package editor so I say make the leap and buy it. Very Happy
_________________
Asati di tempari!
Reply with quote
Fang Xianfu
GURU


Joined: 26 Jan 2004
Posts: 5155
Location: United Kingdom

PostPosted: Wed Oct 10, 2007 2:54 pm   
 
You shouldn't have a "massive list" to scroll through. Expanding and contracting classes allows you to only see what's on the path to the current class. Unless you have many settings in few classes (which would've been just as hard to navigate in zMUD) or few settings in many classes (which should be improved by the treeview) anyway. There's still a search filter to help you find a specific setting quickly. I'd imagine that there's almost zero chance that the old layout will come back exactly how it used to be.

With that said, though, viewing the contents of a class in the old format is a feature that's requested quite often. Would, say, having the old view present when you select a class (which currently have a lot of empty space) help any?
_________________
Rorso's syntax colouriser.

- Happy bunny is happy! (1/25)
Reply with quote
slash_2_2000
Beginner


Joined: 27 Jul 2005
Posts: 20

PostPosted: Wed Oct 10, 2007 2:58 pm   
 
Fang Xianfu wrote:
With that said, though, viewing the contents of a class in the old format is a feature that's requested quite often. Would, say, having the old view present when you select a class (which currently have a lot of empty space) help any?


Hmm. It would help some, though it would be a lot more useful to have it interactive as the old one was. Perhaps able to scroll to it and such but when you click on the item to be edited it edits the same as if you clicked on the tree view? Otherwise, anything would be better than just a big grey screen.
Reply with quote
Guinn
Wizard


Joined: 03 Mar 2001
Posts: 1127
Location: London

PostPosted: Wed Oct 10, 2007 3:27 pm   
 
I like most of the new UI, but being able to see a more standard 'Windows Explorer' style view would be preferable, with the contents of a class/folder being shown in the right pane when the class/folder is selected in the left, and you'd not have all that dead grey space. It'd also be nice to be able to navigate through the tree using keys more easily (again, in a more 'Windows Explorer' style) - pressing left for example would take you to the parent folder if the current one is already collapsed, pressing right takes you one level down if the parent is expanded etc. I think the problem with doing that though was that it's in a 3rd party component.
_________________
CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;)
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Thu Oct 11, 2007 12:00 am   
 
You can also make tabs for the classes you are working with most frequently allowing you switch rapidly between them. It is either done from the right-click in the tree view or by dragging the class up to the tabs area. Possibly even both, and it should also work for all manner of settings not just classes. I just can't remember if I ever tested it for that.
_________________
The only good questions are the ones we have never answered before.
Search the Forums
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Oct 11, 2007 7:32 pm   
 
So here is a question for you...

It would be relatively easy for me to add a list of the items within a class to the panel on the right (the panel that you said had all of the grey space on it). However, if you double-clicked a setting within the list to edit, then the right panel would be replaced with the editor panel for the setting you double-clicked.

In other words, the way the current settings editor works is that you have a hierarchical tree-view of all settings on the left, and the right panel is the editor for the currently selected setting. Whenever you select a setting, the right panel changes to edit that setting.

Since a "Class" setting doesn't have many options, the editor panel is mostly grey as you noticed. I can add the list of settings within the class to the editor panel for the class, but that list would only be shown when editing a class. When editing a trigger, for example, you'd still see the full editor panel for the trigger and you wouldn't see the class list anymore.

The "Windows Explorer" user interface model doesn't really work for the Settings Editor because the purpose of the Settings Editor is to edit the contents of each setting. It would be like adding a file editor panel to Windows Explorer, allowing you to edit a file by clicking on it. The user interface model that is more appropriate is the 3-pane Email UI model. It has folders (classes) in one pane, the messages within the folder (settings within the class) in a second pane, and then the selected message (selected setting) in a 3rd pane. I've played with this UI model, but you really need a larger editor pane for settings. I've even played with the 3 column view that newer versions of Outlook use, and that still takes up too much space. It's still something I'm always thinking about, but it's pretty low on the priority list since the current Settings Editor works pretty well and has a lot of ways it can be customized as people have already pointed out.

Anyway, if adding that list of settings to the class editor panel would be useful, let me know.
Reply with quote
slash_2_2000
Beginner


Joined: 27 Jul 2005
Posts: 20

PostPosted: Thu Oct 11, 2007 7:38 pm   
 
Zugg wrote:
...

Since a "Class" setting doesn't have many options, the editor panel is mostly grey as you noticed. I can add the list of settings within the class to the editor panel for the class, but that list would only be shown when editing a class. When editing a trigger, for example, you'd still see the full editor panel for the trigger and you wouldn't see the class list anymore.

...

Anyway, if adding that list of settings to the class editor panel would be useful, let me know.


Yes, it really would be. It would certainly help with efficiency, in my books. I know that once you left the 'class' view and went to the 'editing' view, you would lose the class view, however I wonder if it would also be possible to code a way to quickly return to the class view? That is to say, once I have finished editing say... a trigger... in a class, would it be possible for a button or key combination to return me to the class editing window? It would seem very efficient that way.
Reply with quote
forren
Novice


Joined: 26 Apr 2007
Posts: 44

PostPosted: Thu Oct 11, 2007 8:13 pm   
 
Some of us really like the view of the Cmud editor..
Reply with quote
Fang Xianfu
GURU


Joined: 26 Jan 2004
Posts: 5155
Location: United Kingdom

PostPosted: Thu Oct 11, 2007 8:26 pm   
 
Luckily, this method leaves the editor as it is mostly intact. It just adds more information for those that want it, to an area that's unused.
_________________
Rorso's syntax colouriser.

- Happy bunny is happy! (1/25)
Reply with quote
Seb
Wizard


Joined: 14 Aug 2004
Posts: 1269

PostPosted: Thu Oct 11, 2007 9:47 pm   
 
slash_2_2000 wrote:
I know that once you left the 'class' view and went to the 'editing' view, you would lose the class view, however I wonder if it would also be possible to code a way to quickly return to the class view? That is to say, once I have finished editing say... a trigger... in a class, would it be possible for a button or key combination to return me to the class editing window? It would seem very efficient that way.

Like, say, either a "Back" button, or just a memory that before editing the trigger, you were in the class view, and that therefore after pressing Save or Cancel, you should be returned to the class view.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Oct 11, 2007 10:24 pm   
 
A "history" of edited settings is on my (long) to-do list. So that would give a "Back" and "Forward" button like in a web browser. I've wanted this already when I double-click on an alias or variable in the script editor to view it, and then want to go back. So this will definitely get done. Probably not in 2.06, but soon.

In the later future, what I want to do with the Settings Editor is to make the various panels "dockable". So the TreeView and the Editor panel on the right would be separate dockable panels. When this is done, I can add a 3rd dockable panel (invisible by default) that shows the settings in the currently selected class. Then you'll be able to rearrange the panels however you want. For example, on a dual-monitor system, you could put the TreeView/ClassView docked on the left, and have the Editor panel be fullscreen on the right, or anything like that. This would be the most flexible way to handle the Settings Editor UI.

No timescale on any of this though.
Reply with quote
Guinn
Wizard


Joined: 03 Mar 2001
Posts: 1127
Location: London

PostPosted: Thu Oct 11, 2007 11:41 pm   
 
I was thinking that instead of the class panel taking up so much space (and 95% of it being empty grey space) that it would shift up to occupy as little space as possible at the top and you get the settings within that class visible below in an easy to see scrollable details style view.
If you wanted to edit the setting you would double-click and it'd then open that setting in the same way as if you'd picked it from the left hand pane.
_________________
CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;)
Reply with quote
Wink-
Newbie


Joined: 29 Aug 2005
Posts: 5

PostPosted: Thu Oct 11, 2007 11:49 pm   
 
I really think an undelete feature would be nice if you accidentally deleted the wrong one, kind of like undo.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Fri Oct 12, 2007 2:21 am   
 
Quote:
that it would shift up to occupy as little space as possible at the top and you get the settings within that class visible below

Well, that works for Classes, but not for any other settings. Most of the other settings have a Script attached to them, so it needs to take up the entire vertical space for the script editor. That's why I said that the list of settings would only be visible when viewing a class.
Quote:
I really think an undelete feature would be nice if you accidentally deleted the wrong one, kind of like undo.

Sorry, but there isn't any way to implement that in the current CMUD design. The basic CMUD design is that your Settings are all stored in a Database. This database is shared between the Settings Editor and the rest of CMUD, which is what allows your scripts in the background to continue to work while you are editing the settings (it's sort of like 2 users accessing a shared database). The database design also prevents data corruption and lost settings. Once you make a change to a setting, the change is stored within the database. It is very hard to "undo" a change to a database without implementing a full transaction buffer, and that would take a lot of extra memory.

CMUD currently has a small transaction buffer, but as soon as the background thread saves your settings to the *.PKG file, this buffer is reset. So I could allow you to "undelete" something as long as the memory database hasn't been written to the *.PKG file, but once it has been written to the file, then there is no way to undelete it. And since the background saving is supposed to run transparently every few minutes, the chances of having your deleted setting still in memory is pretty small.

Anyway, I know it's a technical issue, but without some major redesign, you just aren't going to get any sort of Undelete or Undo function in the Settings Editor, sorry.
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: Fri Oct 12, 2007 8:25 am   
 
Another possibility is to maintain a history table and have some way to access that. It would be easier to do but it will still require significant redesign.
_________________
Asati di tempari!
Reply with quote
Guinn
Wizard


Joined: 03 Mar 2001
Posts: 1127
Location: London

PostPosted: Fri Oct 12, 2007 9:55 am   
 
Quote:
Well, that works for Classes, but not for any other settings. Most of the other settings have a Script attached to them, so it needs to take up the entire vertical space for the script editor. That's why I said that the list of settings would only be visible when viewing a class.

Sounds good, just classes would be fine, when you select any other setting then losing the list would be fine.
_________________
CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;)
Reply with quote
Seb
Wizard


Joined: 14 Aug 2004
Posts: 1269

PostPosted: Fri Oct 12, 2007 10:55 am   
 
Some databases natively support Undo even after commiting the transaction, and possibly lots more transactions after that, but the Undo will only work if a later transaction hasn't changed any of the objects that were in the transaction that you want to undo. So undoing a specific transaction is not guaranteed to work. (But undoing a whole bunch in reverse order would be OK.) Anyway, this requires keeping a transaction log, or Tech's suggestion, and I suspect this is all more work than Zugg wants to do right now. Actually, SQLite say:
Quote:
Temporary triggers can be added to the database to record all changes into a (temporary) undo/redo log table. These changes can then be played back when the user presses the Undo and Redo buttons. Using this technique, a unlimited depth undo/redo implementation can be written in surprising little code
Reply with quote
Seb
Wizard


Joined: 14 Aug 2004
Posts: 1269

PostPosted: Fri Oct 12, 2007 11:05 am   
 
Actually, that only works for fairly simple transactions, but I reckon CMUD probably only uses very simple ones anyway...
Reply with quote
slash_2_2000
Beginner


Joined: 27 Jul 2005
Posts: 20

PostPosted: Fri Oct 12, 2007 2:13 pm   
 
Zugg wrote:
A "history" of edited settings is on my (long) to-do list. So that would give a "Back" and "Forward" button like in a web browser. I've wanted this already when I double-click on an alias or variable in the script editor to view it, and then want to go back. So this will definitely get done. Probably not in 2.06, but soon.


I was thinking more along the lines of a command that takes me back to the root class, rather than an actual back button, but that works too!
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Fri Oct 12, 2007 5:48 pm   
 
Quote:
I was thinking more along the lines of a command that takes me back to the root class

I could do that too. There is already a button in the toolbar to take you to the parent class (above the current class), so something similar to take you to the current class record would be pretty easy. I'll add that to the list.
Quote:
Some databases natively support Undo

True, but also remember that CMUD deals with 2 databases. The disk-based *.PKG database is SQLite 2.8, but there is also the internal database cache, which is the kbmMemTable. It can be very tricky to keep those two data structure in synch (as we have seen already with various problems in the settings editor tree view). So I'm certainly not going to make this even more complicated until the current system is completely stable.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net