EML Script Issues
I've been spoiled by GUI builders that allowed for WYSIWYG dynamic
building of dialogs, and for code that automatically does The Right
Thing ™ when the dialog is, say, resized. I've always
said, "The computer should work for you, not the other way
round." Unfortunately EML makes it difficult to quickly craft
GUIs as you end up doing a lot of work the computer should be doing
instead. For example, it's damned near
impossible to just say "this widget should go above this one, and the
other should be to the left of that and, no, I'm going to let YOU
figure out the exact geometry for everything." Yes, there are LEFT
and RIGHT
EML keywords, but they have deprecation warnings in the EML
documentation; moreover, they don't
behave well in practice. It seems that EML really, really, really wants you to use GEOMETRY
statements all over the place. Having to go through the edit, review,
re-edit cycle for placing widgets went out with the 20th century, so
I'm irritated having to do it now.
I did write a simple EML script for a
sample application for ImagineObjects that doesn't use any GEOMETRY
statements, but it took a bit of trial an error to find the right
combination, and I use some of those supposedly deprecated dreaded
keywords. Here's what I learned to get there:
- it's impossible to use such commands as
BOTTOM to
get the coordinate of a framepart to dynamically size another
- the top-most frame needs a
GEOMETRY or MINIMUMSIZE
to insure that all constituent parts are properly laid out
MINIMUMSIZE appears to be in units of characters
rather in pixels; moreover, its notion of character dimensions seem to
be out of whack likely due to monitor DPI miscalculations