Complete rewrite of special node edit dialog

- Now has space for the additional fields that have been added.
- The dialog text has been updated so that labels, names, etc reflect all (or at least most) changes that have been made to specials so far.
- A lot more fields provide a Choose button than previously. A few of these are still unimplemented though.
- Rect specials have their own button now, instead of being filed under Town specials.
- New help button (not yet implemented)
- You can now cancel when deep into a node chain. You're given a choice of discarding the entire chain or just the current node; choosing the latter is similar to clicking "Go Back", but doesn't save your changes.
- Nodes are no longer saved prior to clicking OK (which saves all the nodes you were working on) or "Go Back" (which saves just the current node). So, choosing the first option when clicking Cancel could lead to a lot lost.
- Incidental change: The arithmetic special nodes now use the message 1 and 2 fields in the standard way.

Supporting dialog engine changes:
- Picture choice dialog now has a way to get the index of the selection, rather than just the picture selected.
- Picture choice dialog no longer sorts the list of pictures. If sorting is desired, the list should be sorted prior to passing it in.
- Picture and string choice dialogs now support attaching a "select handler" to be called when the selected item changes, because the normal way to do this would override the all-important focus handler that the dialog uses to track the currently selected item.
This commit is contained in:
2014-12-26 02:02:56 -05:00
parent d6cc7bae53
commit bdcd2fc67c
31 changed files with 3678 additions and 2271 deletions

View File

@@ -0,0 +1,12 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<?xml-stylesheet href="dialog.xsl" type="text/xsl"?>
<dialog defbtn='save'>
<pict type='dlog' num='16' top='6' left='6'/>
<text top='6' left='49' width='296' height='47'>
If you exit the dialog now, you may lose changes to special nodes you were previously working on.
Do you want to exit so anyway, or just cancel editing the current node and return to the previous one?
</text>
<button name='save' type='large' top='54' left='240'>Forget It</button>
<button name='cancel' type='large' def-key='esc' top='54' left='136'>Cancel All</button>
<button name='revert' type='large' top='54' left='31'>Just One</button>
</dialog>