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