Attached you will find the next version (v0.01) of my GUI Builder
(gb).

  Be warned - it is far from perfect.

  Many Thanks to Aldo for his Graphics Code and it's support for mouse
  events.


  What's new (over what Aldo released):

    - More Objects supported
(Radiobutton,Checkbox,Groupbox,Combobox,Listbox
                              and Progressbar are new)
    - Objects can now be sized by eight grabbers instead of one
    - Unlimited Undo
    - Object(s) can be Copied and Pasted
    - Autosave feature saves current design every x seconds
    - Can use button clicks to size and move object(s) by given amount
    - Align groups of objects
    - Adjust width and/or height of group of objects
    - Set Spacing between groups of objects
    - Design can be saved and reloaded
    - Basic properties for Window and Objects can be changed through
         Popup Dialog window


  My Environment:

     Two PCs   : 200Mhz, 64Meg Pentium - Win95
                 333Mhz, 64Meg PentiumII - Win95
     Perl      : Activestate Build 518
     Win32::GUI: Build 434
     Note: Need to make change to GUI.pm file to support submenus (See
           "GUI.pm Change" below).


  Basic Setup and Use:

     Install Win32::API (if you haven't already)

     Unzip 'zip' file in an empty directory.  Open a DOS Window and
type:

            perl gb

     The "GUI Builder" window should come to life.

     Click File->New In the "Window Properties" Window change what you
like
     then click "OK".  The "Name:" field contain the variable associated
     with the window (ie. $Win).
     When you click "OK" a blank design window appears.
     Click on one of the objects from the toolbar and it's related
property
     window will appear.  Fill in the text when appropriate and click
OK.
     Move the mouse over into the design area to place the object.
     Right Clicking the object will bring up a menu.

     Working with a group of objects:

       Left click and hold down in an open area to the top left of a
group
       of objects.  Drag the mouse down to the bottom right of the group
of
       objects - a red box will appear around the objects.  There are
now
       several things you can do with the objects by right clicking in
the
       red box.  If you left click, hold down and drag in the red box,
you
       can move the objects around on the screen.  Clicking outside the
red
       box cancels the select mode.

  Known Bugs:

     Black Draw - After a period of time or a number of objects/clicks,
the
     screen will draw lines and objects in a thick black color.  The
design
     can be saved at this point (File->Save) so you won't loose
anything.
     After saving, shutdown, restart gb and reload your design.  I don't
     know if this the fault of 'gb' or Win32::GUI.

     Click of Death - Occasionally clicking in the design area will
cause
     gb do die completely (make sure the autosave feature is turned on).

     Font and Color settings don't work - haven't put much effort into
     getting them working right - next version.

     Objects can be sized smaller than related text making them look
     strange - I'll fix this in the next version.

     A started playing with a list of recently opened files to appear
under
     the 'File' menu, but I haven't finished the code so it may not work
     remember all the files that it should.

  GUI.pm Change:

     To support Sub-menus, change GUI.pm, line 451 (for build 434)
     --- from -----
      $M->{$parent}->SetMenuItemInfo(
                    -submenu => $M->{$parent."_SubmenuButton"}
                   );
     --- to -------
      $M->{$parent}->Change(
                    -submenu => $M->{$parent."_SubmenuButton"}
                   );
     --------------

  Need Help With:

     (most important)
     Length of Text is not being calculated correctly.  Result: text on
     objects like buttons is not centered and width of objects like
label
     are longer than they need to be.

     Full support for Tabs (I anticipate many options under
     File->Preferences which I would need to group under different
tabs).

     Would like to know how I can put graphics on a button (for the
buttons
     in the 'Sizing' and 'Movement' groupboxes).

     Support for Keyboard events (Key pressed, Key released, etc)

     Better Rendering of the Radiobutton.  I need the 'arc' function to
     do a better job of drawing the radio button.  If anybody wants to
     send me the code for drawing a better radio button or if Aldo has
     time to implement the arc function that would be good.

   Please send comments or questions back to this mailing list.

   Enjoy - David Hiltz

gb0.01.zip

begin:vcard 
n:hiltz;david
x-mozilla-html:FALSE
adr:;;;;;;
version:2.1
email;internet:[EMAIL PROTECTED]
title:whatever
x-mozilla-cpt:;0
fn:david hiltz
end:vcard

Reply via email to