Yagb

yet another GUI builder

Yagb is a free GUI builder program for Lesstif .With it you can visually construct your user interface and theprogram will automatically generate the source code for that GUI.This makes the process of developing a GUI much simpler, although you still need to understand a fairbit about the widget set you are using.

Features

The current releaselimitations

Instructions


The code :
yagb-0_1h_tar.gz

Previous release code :


Anycomments, suggestions are very welcome:
rich_gooding@yahoo.com

Future Plans

Release Notes

3/6/2001 - 0.1h (fixes + minor enhancements)

28/12/1999 - 0.1g (fixes +new features)

Btn1

select widget / clear selection

Btn1 + shift

toggle selection of widget

Btn1 + control

select widget & all children

Btn1 + control + shift

toggle select widget & all children

17/11/1999 - 0.1f (bugfix)

31/8/1999 - 0.1e(compatibility + minor fixes)

23/8/1999 - 0.1d (fixes +minor enhancements)

19/8/1999 - 0.1c (fixes +minor enhancements)

17/8/1999 - 0.1b (minorfixes)

15/8/1999 - 0.1a

Inside Yagb

Yagb uses some X11 functionality to try and minimize its dependence on Motif specific knowledge :

  1. Widget  Creation: Yagb examins the widget hierarchy before and after widget  creation to work out which widgets are created by any given function  call.   Widgets created by a single call are treated as a group  throughout the program.  Deleting any widget in a group deletes the  whole group (since the same code used to create the widgets is used in Yagb and the programs it generates) - likewise cut / copy / paste.  It has to be done this  way because the code generation uses the same creation call to  generate the widgets.  This works fine in most cases - even for  complex widgets such as a file selection dialog. Problems: widget  creation is sometimes context sensitive - eg in Lesstif cascade  buttons on a menu bar share a single XmPopupShell - only the first pulldown menu will create the Popup shell , later menus will share the firstone - fine unless you ever delete the first one ! .. And the are otherexamples...

  2. Yagb uses XtGetResourceList and XtGetConstraintResouce list. Again lots of useful information here allowing viewing of values. Problems : information such as whether resources are CSG (create, set or get see XmCore man pages) is not present. Default valuescan be context sensitive. Some resources work in groups eg the Form constraint resources - where widgets can be specified and another resource indicates how to use that widget.

  3. Resource type conversions. Lots of these are provided by default and can be used to get and set resources - as the basis for resource editing.


Counter

last update 3 June 2001

1