crunch@well.UUCP (John Draper) (06/06/86)
The Programmers Network Gadget Editor Project
=============================================
I have finally finished the "primitive phase" of the gadget editor
and should be showing up in the Fish disks. This is a very primitive
First Draft. Below is a list of the current features, and I'm making
a list of the intended features we should include. I will have diskettes
at the BADGE meeting.
USING THE GADGET EDITOR
-----------------------
The gadget editor allows the creation of Intuition Gadgets by "Drawing"
them in the appropriate places on the screen. You can then use the
"Add Gadgets" option in the "Utility" menu to add the gadgets in your
"working window". You can re-size and re-locate them even after they
have been "Added".
Suppose you want to add a "BOOLEAN" type gadget for some application
program, you pull down the "Gadget Types" menu and select "BOOLEAN"
on the menu. Now, lets assume you want to gadget to "Toggle" on and
off with each "Press" of the mouse. Go to the "Activation" menu, and
select the "TOGGLESELECT" menu option. You can have any combination of
flags that are clearly marked in the menu. Now, you are ready to draw
them on the screen. The drawing doesn't actually add the gadgets yet,
it only allows you to draw the "Outline" where they are to be positioned.
You CAN if you want just add the gadgets immediately as you draw them,
but because the PROTECTION features haven't been inplemented, it's
wise to add them later. I usually want to draw several types, So
if I need 4 booleans, 3 strings, and 6 proportionals, I set the gadget
types and appropriate flags FIRST, draw as many as I need of a
particular type, them Add them. Next, I select the next type, and
repeat. The RIGHT mouse button is used to "Draw and move" the gadgets
and the LEFT button is reserved for Intuition to diddle with.
The program "as it stands" has a lot of bugs, however, as volunteers
work on different SECTIONS of it, they will eventually go away.
Currently, This is what it does:
1. Selects a gadget type, Allows interactive "diddling" of the gadget
on the screen.
2. Once the gadgets are added, it allows the user to change their
locations, Flag settings, and other parameters. Once the desired
effect is created:
3. It then prints out the "source code" of structure initializations
and links them up into something "Compilable". Currently this
I/O is sent through the serial port, but just replace the "kprints's"
into fprintf's into your favorite file.
THE MENUS
---------
FILE:
----
New gadgets file - Select this to "clean the slate" and select a new
file (Not implemented yet).
Get Gadgets file - Get a previous gadget from a file (Not implemented
yet.
Save Gadgets - Save gadgets to a file in "raw" form (Not yet)
Save as Source - Saves gadgets as source (Through serial port now)
Quit program - Exits
Gadget type
-----------
Boolean Gadget - Select BOOLEAN gadget type
Prop Gadget - Proportional Gadget
String gadget - String gadget
Activation
----------
Clear all flag - Clears any flags previously set
RELVERIFY - (Rest explained in Intuition manual)
FOLLOWMOUSE
GADGIMMEDIATE
ENDGADGET
TOGGLESELECT
ENDGADGET
LONGINT
RIGHTBORDER
LEFTBORDER
TOPBORDER
BOTTOMBORDER
STRINGCENTER
STRINGRIGHT
ALTKEYMAP
Gadget Flags
------------
Clear all flags - Clears all flags
GADGHCOMP
GADGHBOX
GADGHIMAGE
GADIMAGE
GRELBOTTOM
GRELRIGHT
GRELWIDTH
GRELHEIGHT
SELECTED
GADGDISABLED
Utilities
---------
Add new gadget - Adds the actual gadget to the working window.
Deletes last Gadget - Deletes the last gadget or selected gadget
Gadget selection is done by pressing RIGHT button while within
the rectangle ( Not implemented yet)
Set Gadget Name - Sets the gadget name so it gets printed in the
source ( not yet )
Add Intuitext - Adds textual names to gadget ( Not yet)
Set Image/border - Makes Image or Border ( Borders implemented always)
Selected Image/border - Makes SelectRender Image or Border ( not yet).
Change gadget size - (oops!! Dont need this item now )
Change gadget location - ( nor this one )
Set Mutual Exclude - ( not yet)
Add UserID - (not yet)
Set Prop info - (oops !! Don't need this anymore )
PropInfo flags
--------------
Clear flags
AUTOKNOB
FREEHORIZ
FREEVERT
PROPBORDERLESS
KNOBHIT
THATS JUST ABOUT IT
-------------------
Just as it stands it can save developers a lot of agonizing time and
mistakes, but it can be improved a LOT!! This is where YOU come in, and
help out. There is a lot of improvements that can be done. A list of
proposed improvements is planned. If you see one that YOU are interested
in doing, Please don't hesitate to mail me at the following net address
and let me know. I have a few "Takers" already. Thanks folks!!
THE OFFICIAL LIST OF FEATURES TO BE ADDED
-----------------------------------------
1. EDITING OF IMAGES - Somehow permit the user to "Draw a rectangle"
which becomes an arbitrary Bit image size, then edit an image
in "FAT BITS" mode.
2. Allow the capability of saving the gadget data to disk and routines
that can be added for programs to call the "Read them in". Sorta
like the Macintosh Resource concept. PLUS keeping the ability
of generating SOURCE CODE so programmers can keep their program
in ONE FILE.
3. Addition of IntuiText. Working out an "easy to use" interactive
way of adding "Text" to the gadgets, Perhaps allowing "centering"
of the text within the borders.
I'm sure there is a LOT that can be added, but Don't let ME stop you
(smile). I will be keeping the Source on the WELL in the Programmers
Network and on Compuserve and Delphi. This is kept in a special section
and is accessable to only those people wanting to help out. If anyone
wants access to the source, and wants to help out, Please mail me at the
mailbox below. If anyone wants or needs it, I can put them on Fred
Fish's disks in executable form for those just needing the "Primitive"
version, as it is definately useful as it is now. I suspect, we will
be providing "Updates" in executable form for those just wanting to use it.
The sources will be updated constantly. Remember!! ONLY available
to those people wanting to help out.
Thanx for everyone's support folks!! We are gonna make the Amiga fly
Yet!! dispite all this bad karma that's been floating about, and because
I have a full time position with a top software company, I can now
devote more time to the Programmers Network projects.
Regards: John Draper - The Programmers Network
"The place where we all live and Learn"
"The Global Village"
WELL: crunch
BIX: crunch
DELPHI: CRUNCH
UUCP: ...ihnp4!ptsfa!well!crunch
CIS: 73557,1176