That was quick. Here's a few comments on the experimental
implementation of this concept in version 3.03 (WinXP/ANSI):
- When an element is replaced, the editor view is not updated (you
probably already know this). Changes can be seen using F5 or F6
though. Possibly related to this, the program can crash if I click on
a replaced control in the editor view.
- Some illogical replaces are allowed, e.g. replacing a sizer
(containing children) with a wxButton.
- I'm not sure that the distinction between "Add Element..." and "New
Document..." is needed.
- In the "Add/Replace Element" dialog box, "Spacer" is listed under
both "Sizers" and "Static".
- Sometimes when replacing/adding an element of a certain type (e.g.
making a wxStaticText), the selection in the tree view is not placed
on the new element but rather changes in a somewhat randomish way.
- This context menu thing might be supported identically on both in
the tree view (on the left) and the editor view (on the right).
Similarly, drag/drop and copy/paste operations might be added on the
editor view as well, allowing the user to edit more directly on the
editor view than the tree view. Some comments in that direction were
here ( http://groups.yahoo.com/group/anthemion-devtools/message/2158 ).
- For containers/sizers, it could be useful to support both shallow
and recursive deletes from the context menu. For example, if a sizer
contains a second sizer that contains children, I sometimes want to
delete only the second sizer and reparent the children.
--davidm