GUI version 1.0
--- ------- ---

This is the readme accompanying GUI, made for Hotpaw Basic.

Contents:
1 - About
2 - System Requirements
3 - Installation
4 - Usage
5 - Contact Information

1.	About

GUI is an application written in Hotpaw Basic that allows the developer to create their own user interfaces, using the built in controls provided by Hotpaw Basic.  Such controls include buttons, checkboxes, text fields, drop down menus, lines, boxes, circles, and labels.  The controls comprise two main groups: dynamic and static.  Dynamic controls are the built in Palm ones, such as buttons, fields etc, they return the result of input by the user.  Static controls are the lines, boxes, etc.  They don't do anything after being drawn.  All of the static controls can be different colours, providing a vibrant interface, with lots of possibilities.  Of course, works in progress can be saved for later use, and once editing is complete, the creator can tap export code to generate the commands that can be copied and pasted into their program for use.

2.	System Requirements

The program will work on any OS that supports Hotpaw Basic, which means OS 3.x/4.x and maybe 5.x (has been tested on Palm 5 simulator).  You will need the latest version of Hotpaw Basic, available at Palmgear.com.  I used v1.3.4 to create GUI, so I assume you will need that version to run it.  Oh, and you'll need a PC to download the program and read this document, but I guess you've already figured that out ;)

3.	Installation

The program offers a couple of installation methods:
i)	If you use PEDIT32, then you will want to install the gui-1-0.pdb document, which allows you to use one file for the program.  This option is recommended since by downloading this program you are obviously a Hotpaw Basic developer, and typically Hotpaw Basic developers should use PEDIT32 to overcome the 32k limit.  Registration is cheap, or free if you look hard enough...aaanyway, simply install the document to your Palm OS device, load PEDIT32, and import the document.  Note:  PEDIT32 may put a header on the top of the file once imported.  This is not necessary, and infact will stop the program from running.  Remove it.  Then head on over to YBasic, select the program and tap run...
ii)	If you do NOT use PEDIT32, then you will need to go through the labourious process of installing each of the little text files on to your Palm.  You better damn well appreciate it since it took me about half an hour to break the existing file into the small pieces for you.  This process involves opening each text file, selecting and copying the text, then pasting it into Palm Desktop.  After syncing, go into YBasic, and run #GUI-1-0.bas...

4.	Usage

The program is really quite easy to use.
It takes 22 seconds to load on my non-clocked m505.  Overclocking could reduce that time, but my Palm works just fine for me.  So after it's loaded, a splash screen will be presented, tap to continue.
You are now looking at a blank screen except for the title: "GUI" and the menu button at the bottom.  When I refer to the menu button, I am referring to this one, NOT the silkscreen menu button (I guess I should have called it something else - oh well).  If you tap the menu button, you will be taken to a separate screen, where you can access some of the core features:

The Menu Screen
---------------
Save Form - This option saves the state of the current form you're making.  It allows you to give it a name and load it in later.
Load Form - This option (obviously) lets you load a saved form, so that you can edit it.
Code From - Tapping this will let you export the code of the form you've created.  Then open the memo in memopad and copy and paste the code into your app, magically the buttons and stuff will appear next time you run your program!!
Exit GUI - Should the need arise, a handy exit button is here for you to quit back to YBasic.  The only reason I put it there was to pad space.  Note: It does not confirm exit, it just kills the program, use it wisely.
Colour Picker - A collection of the most common colours, nobody likes being bewildered with a screen showing all the colours the Palm is capable of each in a 1 pixel square so you can't even click on it, so I chose 16 conservative colours that the typical user will find useful.  Should you want to alter the colours, simply open the program in memopad, and find the initColours procedure, which hardcodes all the colours in RGB format.  I might implement a colour scheme file option in the next version, but for now it's not necessary.
Snap - Those of you who are familiar with Visual Basic will appreciate this, enabling snap will align controls to an 8 by 8 grid, so when drawing, tapping in the same vicinity of another control will pretty much align it to it, thus saving time.
Hide - Hmmm..I'll let you figure that one out yourself.

The Edit Screen
---------------
The edit screen is the main canvas area, where you will see your controls drawn.  Several commands are available to you at this screen, all accessable by the corresponding Graffiti stroke:
a	-	Add Control.  This will pop up a screen with a listing of the available controls.  For performance reasons, you will have to enter the graffiti number of your choice (faster than having to constantly draw 10 buttons).  Then the main canvas will re-appear with the title saying "Tap Location", simply tap where you want the control to go.  With some controls, an input box will pop up prompting you to enter some required variables.  You CAN leave this blank, but you MUST enter some values using the Edit Properties screen before coding the form.
b	-	Send selected control to the bottom of the pile.  This has the effect of drawing the control first, so others will appear above it on the preview screen.  Note:  When coding the form, the objects are coded in bunches, all the buttons, then all the check boxes, etc.  So keep that in mind.  Sending a box to the bottom means it will be the bottom box, not the bottom object.
c	-	Clear the form.  This deletes all the controls from the form, letting you start over.
d	-	Delete selected object.  An object must be selected to do this.
e	-	Edit properties of selected objects.  This brings up a screen where you can manually enter all the properties of an object, such as x,y position, button caption, object name as used in the GUI program.
f	-	Form properties.  Lets you customize the caption on the QUIT button, and the caption on the menu.
m	-	Move selected object.  Using up,down,phone,and todo keys, you can move an object around the screen.  Tap to finish.  An object must be selected to do this.
p	-	Preview Form.  Draws the form roughly as you will see it when your program runs.  Tap the screen to return.
r	-	Resize selected object.  Using the up, down, phone and todo keys, you can resize the selected control.  Not all controls can be resized, such as checkboxes.  An object must be selected to do this.
s	-	Select object.  Presents a screen listing all the objects, select one and click select.
t	-	Bring selected control to the top.  Works just like the "Send to Bottom" command.

5.	Contact Information

I can be contacted at s_nattress@yahoo.com.  I check my eMail pretty regularly, so responses should be within 24 hours.
Alternatively I can be reached on ICQ.  My number is 60521743, I remember it off by heart!!  Aren't I cool?

And that's BASIC-ally all there is to it.  Enjoy!
