This will be very cool and most useful. I look forward to your 1st version!
The easiest way I can state what things would be nice to feature in your program would be to comment about the last SidlWidl program. Everything in that program is structured very well will all the needed pieces to alter a UI. Perhaps draw from that structure but add/alter this... :
~ Use of the cut/paste. For some reason viewing the raw XML in the program does not allow any cut/paste methods.
~ No pop-up windows or advertisements - unless you can turn them off.
~ Able to click on the reference in the xml, click on the drawn wysiwyg window, and be able to move it with the cursor keys. This was a problem in the past because when you clicked on the wysiwyg window, and use your cursor-up/down button, it would go up and down the referenced xml and not the wysiwyg window objects. Having it focus on the window you click is very important.
~ Able to add in templates with ease from default structures or from a personalized template you previously created (ie: you made a Gauge you would like to use in several UI's. Clicking on "Gallery" would give you a list of pieces you made and would drop the needed files into that new mod.
~ Use of right-click menu's over the wysiwyg window as quick items to "insert label" insert graphic" "insert gauge", etc.
~ The use of true/false statements must be in all lowercase. EQ I know has a problem with things being case-sensitive.
~ Color Palette chooser for text/gauge objects.
~ Use of clean formatting and XML structuring. A great program reference on what I mean is from this program
that does just that. Except, it does not like <?xml version="1.0" encoding="us-ascii"?> that EQ XML files have. You would have to edit to be <?xml version="1.0"?> for it to do a clean formatting. Why? I dunno but its a pain.
~ Able to insert an image with ease. Inserts a TGA with automated coding. When you display the TGA in the wysiwyg window, you would be able to draw a selection window around a part of it and have it automate an object of choice - defintely would need a zoom feature for this for pinpointing the exact pixel locations. (view in either Color or Alpha channel)
~ Debug function to tell you exactly what is wrong, but do not crash. - "test mode". (ie: missing end argument for "<label>" in line 320.)
~ When adding in template elements, it would append just before the "<Screen Item=>" area.
~ When viewing a <frames> animation element, would be able to view the graphics related to it, with the images framed out of where it is referencing the images from - with a 1,2,3,4 in the corner stating which is coming 1st. Great for troubleshooting misaligned animations on the fly.
~ There are some references in the EQ XML's that are commented out, such as "<!--<Font>3</Font>-->". When editing the properties of a window element, if you change the font size, it would re-comment that tag back in, and alter it with the new size.
~ Stretching an object should draw it as you drag it - I know the text objects and some graphic buttons went wacky in the sidlwidl program, but went away after you close the window, and reopen it.
~ Undo/Redo functions with a number limiter that can be altered.
~ Backup feature that would autosave every 5 minutes (on/off in options)
~ Optional header code, via options, that would insert a customized header into each XML file you are altering. This way you know who is the author of any xml file.
hmm... what else
I could keep going, but I think Ill stop here for now