ggranger@nro.cs.athabascau.ca (Greg Granger) (02/19/91)
FormDoIt! version 1.0
by Dan Wilga
Copyright = 1991, Gribnif Software. All Rights reserved.
This program may be distributed freely, provided that this text file is
present
and that it and the program file are unmodified.
This program replaces one part of GEM that has always been in need of
improvement: the dialog manager, sometimes known as form_do(). This is
the part
of GEM that handles the boxes that appear in most programs in order to
ask for
options or settings. FormDoIt adds a number of features to this
all-important
aspect of the operating system. It is loosely based upon a program that
appeared as part of the Professional GEM Series, by Tim Oren.
Installation:
------------
FORMDOIT.PRG may be copied to the AUTO folder or run directly from the
desktop
of your choice.
Editable Fields
---------------
An editable field is a string within a dialog box that has a vertical
line
cursor so that you can modify it with the keyboard. FormDoIt emulates the
normal GEM dialog functions:
o The Tab and down-arrow keys move to the next editable field.
o The up-arrow key moves to the previous editable field.
o The left- and right-arrow keys move within a field.
o The Esc key clears an editable field.
o Backspace and Delete delete characters before and after the cursor.
o The mouse can be used to select an editable field for the cursor.
It also adds a number of extensions:
o Tab and down-arrow will move the cursor to the first editable field
in a
dialog box if it is already at the last one.
o Up-arrow will also wrap, from the first field to the last.
o Shift-left-arrow will move the cursor to the leftmost character in
the
field, and Shift-right-arrow will move all the way to the right.
o If a dialog box does not have a "default" button (of the type that
gets
selected if the Return key is pressed), then the Return key will
automatically advance the cursor to the next editable field.
o The mouse will position the cursor to the character closest to where
the
mouse button is pressed, not just to the end of the line.
o There are two ways that any character in the ST's character set can
be
entered:
1. Press the Insert key. This opens a box that contains the entire
character set. Click with the mouse on the character to use. You
can
click anywhere outside the box or press a key to remove the box
if you
decide not to use it.
2. If you know the ASCII value of a particular character, you can
hold
down the Alternate key and type it, in decimal, using the
keypad. A
character is generated as soon as the Alternate key is no longer
being
held down, or three digits have been pressed. For example, to
enter an
"A" (ASCII 65), you would do the following:
Hold down the Alternate key
Press 6 on the keypad
Press 5 on the keypad
Release the Alternate key
Please note that not every character is valid for all editable
strings;
Just as certain keypresses may be ignored because they are not the
right
type, characters selected with either of these two methods may also
be
ignored.
o If you have TOS 1.0, you may have run into the "underscore bug"
before;
typing an underscore ("_") character with certain types of editable
fields
can cause GEM to crash. FormDoIt will prevent this crash from
happening, if
you type an underscore by accident, but the only way it can do this
is by
ignoring the character, so you won't see it appear.
Buttons:
-------
Normally if you press Return in a GEM dialog, the "default" exit button
is
selected. This button can usually be identified by the fact that it has
a
very thick border.
FormDoIt also adds a way to select the most common type of button that
is not
normally the default, that is, the "Cancel" button. If you press the
Undo
key, then the dialog will be searched for a string that is either
"Cancel",
"Quit", "Exit", or "Abort". If it finds one, then the button is
selected.
Probably the most valuable feature that FormDoIt provides is keyboard
equivalents for buttons other than the defaults in dialogs. When it
takes
control, FormDoIt scans all of the buttons in the dialog box and
assigns
keyboard equivalents in such a way that each button has a unique one.
When the
dialog box appears, it will look different because there will be short
lines
underneath characters in most of the buttons. If you hold down the
Alternate
key and press the character that is underlined, the button will be
selected.
Up to 20 buttons in a dialog can have Alternate key assignments.
Alert Boxes:
-----------
FormDoIt also affects the way alert boxes work; these are the pre-made
GEM
dialogs that usually have a Stop sign, a question mark, or an
exclamation
point icon in them. In addition to providing keyboard equivalents for
the
buttons in alerts, FormDoIt will also let you redefine what the icons
in
the alerts look like.
If a file called FORMDOIT.BL3 is in the same directory as FORMDOIT.PRG
when
it runs, then the icons contained in this file are used in place of the
default ones in FormDoIt. Included with this program are three files:
BORING.BL3, DEFAULT.BL3, and INVERSE.BL3. The first contains the normal
GEM
alert icons, the second has the default icons that will be used if
there
is no file called FORMDOIT.BL3 (kind of redundant), and the third has
yet
another set of icons in it. To use one of these files, simply rename it
to
FORMDOIT.BL3 and run FORMDOIT.PRG.
The icon files are in Degas Elite block fomat. They can be edited and
re-saved using Degas, but if you do edit them you must be very careful
to
make sure that the new file you save is a block that is exactly 32 x
96.
The "Snap" feature in Degas is helpful for this purpose.
Disabling FormDoIt:
------------------
If, for some bizarre reason or other, you would like to temporarily
disable
FormDoIt, you can do so by holding down both Shift keys and pressing
the
Delete key. To turn FormDoIt back on, press the same keys again. Both
of
these actions will cause a short sound effect.
Compatibility:
-------------
While every effort has been made to assure that this program works with
other
programs, there are a few things worth mentioning:
Some programs use their own dialog manager and therefore will not
benefit from
FormDoIt at all. Some examples of this are Tempus II, K Resource, and
two
programs which only use their own dialogs part of the time, Aladdin and
Superbase. The GEM desktop will also not be affected by FormDoIt
because it
calls the dialog manager internally and there is no way for this to be
intercepted in such a way as to work with all ROM versions. The system
also
has several "canned" error messages that will not be affected by
FormDoIt
for the same reason, such as "Please insert disk B into drive A:" and
"Data on this disk may be damaged."
FormDoIt will work with the Universal Item Selector, with the exception
that
UIS' own keyboard equivalents prevent the Undo feature of FormDoIt from
working.
While FormDoIt does work with CodeKeys from CodeHead Software, any
mouse
button presses that occur while FormDoIt is handling a dialog box will
not be
recorded by CodeKeys. A macro which has been recorded without FormDoIt
active
can, however, be played back when FormDoIt is active, and it should
work as
expected. See "Disabling FormDoIt."
FormDoIt has more strict error checking for alerts than GEM does.
Consequently, you may find one or two programs which use more than 30
characters per line in the alert text or more than 10 characters in a
button. For these, FormDoIt will chopped-off the remainder (unlike GEM,
which can produce some very odd-looking alerts!)
The one bug I know of relates to programs which call form_do() once
and,
depending on which button is pressed, change the contents of one or
more
of the buttons in the dialog and then call form_do() again. This can
cause
the keyboard equivalent underlines to appear under more than one
character
in the same button, though it just means that the ones from the first
call
were not removed. I could prevent this by always undrawing the
underlines,
but this is such a rare case that the slowdown is really not worth it.
About "Colaware":
----------------
You've heard of public domain, you've heard of shareware. This program,
however, is Colaware: if you like it, you are encouraged to send
copious
quantities of highly caffeinated beverages (Coke, Jolt, etc.) to the
address below (via U.S. Mail, please; UPS won't deliver to a P.O. Box)
so that I can continue to create more products like this one.
Dan Wilga
Gribnif Software
P.O. Box 350
Hadley, MA 01035
Internet: Dan.Wilga@saturn.ucc.umass.edu
GEnie: GRIBNIFekrimen@ecst.csuchico.edu (Ed Krimen) (02/20/91)
I downloaded this file last night and must say that it's great! I won't
use all of it features, but the ones which lets you control editing fields
in dialog boxes will come in handy.
Now, I'm one to go goo-goo over system enhancements and FORMDOIT is one
of them. You saw all the stuff in my AUTO folder. FORMDOIT isn't like
MAGIC or FLY_EX, but it's useful unlike the others.
If you use GEM a lot, I highly recommend you download the program.
Dan will be getting his Jolt money from me.
--
Ed Krimen ...............................................
||| Video Production Major, California State University, Chico
||| INTERNET: ekrimen@ecst.csuchico.edu FREENET: al661
/ | \ SysOp, Fuji BBS: 916-894-1261 FIDONET: 1:119/4.0heavy@zip.eecs.umich.edu (Richard Scott Hall) (02/20/91)
In article <65iLX5w163w@ersys.uucp> ersys!ggranger@nro.cs.athabascau.ca (Greg Granger) writes: > [stuff deleted] >It also adds a number of extensions: > > o Tab and down-arrow will move the cursor to the first editable field >in a > dialog box if it is already at the last one. > o Up-arrow will also wrap, from the first field to the last. [stuff deleted] > o If a dialog box does not have a "default" button (of the type that >gets > selected if the Return key is pressed), then the Return key will > automatically advance the cursor to the next editable field. It is funny, I just spent all weekend writing code for a form_do that these type of features. Of course my code did not have all the features mentioned here, nor was it an autoprogram, it was just intended for me to link in with my programs. The features I added: o Up/Down/Tab keys all wrap around, no more stopping at the top or bottom. o The RETURN key will always advance you to the next field unless you are at the last field then it will exit the dialog box. Very convenient for entering text into forms. o The ENTER key will exit you like the normal RETURN key. o And the real clincher for the program I am working on, the form_do will also look at the serial port to see if anything is there, and if there is anything, it will enter it into the current text field as if it were typed from the keyboard. I wrote it in Lattice C v.5 and it seems to work pretty good for my programming purposes. Richard Hall University of Michigan -- Standard disclaimer: I am not me, I am who you think you are... so don't blame me.
andre@cix.compulink.co.uk (Andre Willey) (02/21/91)
Now that you've told us all about Dan Wilga's wonderous sounding program,
how about someone uploading it to comp.binaries.atari.st fairly pronto...
Some of us don't have FTP access, and I think there might just be a few
people interested in this utility :-)
(Oh, and I'm assuming it works on a TT...? NeoDesk does, so I guess it's
fairly likely)
Andre
Andre Willey | Email: andre@cix.compulink.co.uk
7 Oaklands Road, Sutton Coldfield, | andre%cix.UUCP@ukc.ac.uk
West Midlands, B74 2TB, England. | ...{mcsun}!ukc!cix!andre
Phone: (UK) 021-308-5251 | "Il est mort, Jean Luc..."heavy@cairo.eecs.umich.edu (Richard Scott Hall) (02/21/91)
In article <memo.81486@cix.compulink.co.uk> andre@cix.compulink.co.uk (Andre Willey) writes: [stuff deleted] > >(Oh, and I'm assuming it works on a TT...? NeoDesk does, so I guess it's >fairly likely) > >Andre > I can tell you that it doesn't work with HotWire! At least not on my system, it crashes massively on boot-up, thank God for DeskManager. Without HotWire! it runs, but it is kind of flakey. It has a field day with Maxifile trying to assign keyboard equivs to every file name; it is kind of funny actually. Also it doesn't really work in Maxifile because ATL is a special key in Maxifile so it is screwy. I got all excited about this, and now I can't use it...especially since I would have to give up HotWire! Richard Hall University of Michigan -- Standard disclaimer: I am not me, I am who you think you are... so don't blame me.
d_alvear@jhunix.HCF.JHU.EDU (Domingo Alvear) (02/22/91)
In article <1991Feb19.175447.19230@ecst.csuchico.edu> ekrimen@ecst.csuchico.edu (Ed Krimen) writes: >[stuff deleted] >MAGIC or FLY_EX, but it's useful unlike the others. ^^^^^ ^^^^^^ Just out of curiosity, what are these? Dom Alvear >[more stuff deleted] > Ed Krimen ............................................... > ||| Video Production Major, California State University, Chico > ||| INTERNET: ekrimen@ecst.csuchico.edu FREENET: al661 > / | \ SysOp, Fuji BBS: 916-894-1261 FIDONET: 1:119/4.0
andre@cix.compulink.co.uk (Andre Willey) (02/23/91)
Could someone do me a favour and e-mail me a copy of this wonderful
sounding utility? Perhaps the person who was commenting on the problems
using it with Hotwire, etc? I only use Neodesk 3 on my TT (apart from the usual
Control Panel, Laser Driver, Cache100, Mouse Accelerator, etc which are
usually no problem at all with anything else)
I'd love to try it out for myself, so if you could ARC and UUE a copy and
e-mail it to me I'd be very grateful. Colaware, eh? I wonder how well cola
travels by air-mail :-)
Thanks,
Andre
(Sits back to wait for 100 copies to arrive, dreading the "3.3 pence per
kilobyte" e-mail bill I will get for incoming mail from our system admin
folks...!)
Andre Willey | Email: andre@cix.compulink.co.uk
7 Oaklands Road, Sutton Coldfield, | andre%cix.UUCP@ukc.ac.uk
West Midlands, B74 2TB, England. | ...{mcsun}!ukc!cix!andre
Phone: (UK) 021-308-5251 | "Il est mort, Jean Luc..."ekrimen@ecst.csuchico.edu (Ed Krimen) (03/01/91)
- >MAGIC or FLY_EX, but it's useful unlike the others.
- ^^^^^ ^^^^^^
- Just out of curiosity, what are these?
Someone already answered the FLY_EX one, so I'll get the other. By
the same author, it creates Disney-like stars when you move your
mouse. It's at atari.archive in MAGIC.LZH or GIMMICKS.LZH. The
latter has two other fun programs.
--
Ed Krimen ...............................................
||| Video Production Major, California State University, Chico
||| INTERNET: ekrimen@ecst.csuchico.edu FREENET: al661
/ | \ SysOp, Fuji BBS: 916-894-1261 FIDONET: 1:119/4.0