[Vimoutliner] Possible form entry executable
Steve Litt
slitt at troubleshooters.com
Sun Feb 3 21:14:07 EST 2008
Hi all,
Some of you know that for about 2 years I've been trying to figure ways to
built real apps with full user interface (menus, picklists and forms) using
separate small executables. You might know that years ago I created UMENU,
which serves as the menu, and a month ago I created filepicker and
recordpicker executables, which serve their respective purposes. I created an
executable called "persist", which stores key/value pairs on disk (no big
challenge there).
As you'll read in the February 2008 Linux Productivity Magazine, I now have
ways to spawn arbitrary executables and control them from other processes. I
can kill them, and I can find out if they've ended.
What I'm missing, and what's quite a challenge, is a form executable. I just
don't have time to make it right now, and nobody else has stepped forward to
make it. Stuff made from the dialog program just won't cut it for various
reasons.
While taking a shower I though of something. Remember that I can easily spawn
a Vim command with a proper filename (probably created with mktemp).
What if I used VO as the form interface? Visualize this. The top of the form
is all comments until a line saying :::STARTOFDATA:::
From then on, by level:
Level 0 are rows, named by a human meaningful string, or if not then
defaulting to the primary key.
Level 1 are columns, in whatever order the field constructing program decides
to put them in. The fields' names look like this:
fieldname:::comment:::
Where :::comment::: is something like (0-5) or Text or List
Level 2 is the contents of the field. If the field contents are expected to be
short, it's just a single regular line. If the field is expected to be long,
level 2 starts with colon and space, so that VO wordwraps it. If for some
reason the field contents are expected to be a list (probably a single table
is caring for what in the database is two different tables like orders and
items), level 2 is multiple lines, and it's up to the program that parses it
to put those in the right places in the database.
One cool thing about this is screen real estate would never be a problem.
One bad thing about it is it can't be used by those without VO knowledge
(AFAIK only VO has body text).
If I do this I'd like to have it spawned by an executable with a name
like "exeform" so that when I get a real form executable it can plug replace
the VO thing.
Comments? Ideas?
Thanks
SteveT
Steve Litt
Author: Universal Troubleshooting Process books and courseware
http://www.troubleshooters.com/
More information about the VimOutliner
mailing list