commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/gnuef ChangeLog NEWS README TODO samples/t...


From: James Thompson
Subject: gnue/gnuef ChangeLog NEWS README TODO samples/t...
Date: Thu, 18 Jan 2001 05:26:37 -0800

CVSROOT:        /cvs
Module name:    gnue
Changes by:     James Thompson <address@hidden> 01/01/18 05:26:37

Modified files:
        gnuef          : ChangeLog NEWS README TODO 
        gnuef/samples/track: tracking.gfd 
        gnuef/samples/zipcode: states.gfd 
        gnuef/src      : GFForm.py GFObjects.py UIcurses.py 

Log message:
        Updated log files to rflect upcomming release
        Hack to improve master/detail support
        UIcurses changes: support for hidden fields, reverse video status bars
        cursor positioning code still broke in UIcurses

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/ChangeLog.diff?r1=1.9&r2=1.10
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/NEWS.diff?r1=1.6&r2=1.7
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/README.diff?r1=1.12&r2=1.13
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/TODO.diff?r1=1.39&r2=1.40
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/track/tracking.gfd.diff?r1=1.2&r2=1.3
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/zipcode/states.gfd.diff?r1=1.9&r2=1.10
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFForm.py.diff?r1=1.61&r2=1.62
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFObjects.py.diff?r1=1.54&r2=1.55
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIcurses.py.diff?r1=1.3&r2=1.4

Patches:
Index: gnue/gnuef/ChangeLog
diff -u gnue/gnuef/ChangeLog:1.9 gnue/gnuef/ChangeLog:1.10
--- gnue/gnuef/ChangeLog:1.9    Sun Nov 19 14:46:05 2000
+++ gnue/gnuef/ChangeLog        Thu Jan 18 05:26:36 2001
@@ -1,239 +1,757 @@
-2000-11-15 17:50  jamest
+2001-01-14 22:19  jamest
 
-       * TODO, src/GFObjects.py: Remove debug code Updated TODO 
+       * src/UIcurses.py: Converted from python 2.0 curses to python 1.5.2
+       (should still work on 2.0) Fixed cursor positioning bug
 
-2000-11-15 16:57  jamest
+2001-01-14 17:32  jamest
 
+       * TODO, samples/inventory/README,
+       samples/inventory/forms/company.gfd, samples/location/README,
+       samples/trigger/trigger.gfd, samples/zipcode/states.gfd,
+       src/GFForm.py, src/GFObjects.py, src/GFParser.py, src/GFTrigger.py:
+       Added access to datasources to triggers Added a sample of using
+       that to query values from a db Clean up and a few more comments
+       fixed rollback causing UI corruption fixed mouse and shift-tab to
+       hidden or readonly fields
+
+2001-01-14 16:00  dneighbors
+
+       * samples/inventory/forms/company.gfd: company data entry screen.
+
+2001-01-14 15:12  dneighbors
+
+       * samples/inventory/sql/create_company.sql: changed some of the
+       names and datatypes.
+
+2001-01-14 14:00  dneighbors
+
+       * samples/inventory/README: Explanation about the madness of
+       inventory.
+
+2001-01-14 13:14  dneighbors
+
+       * samples/inventory/sql/: add_group_inventory.sql,
+       create_all_tables.sql, create_company.sql, create_inventory.sql,
+       create_unit_description.sql, drop_all_tables.sql, drop_company.sql,
+       drop_inventory.sql, drop_unit_description.sql,
+       insert_unit_description.sql, inventory.sql,
+       remove_group_inventory.sql: Modularized sql scripts instead of just
+       one big file.
+
+2001-01-14 12:48  jamest
+
+       * TODO, src/GFForm.py, src/GFObjects.py: Fixed deleted records not
+       really deleting bug Tab doesn't navigate into readonly fields
+       anymore
+
+2001-01-14 11:28  dneighbors
+
+       * samples/inventory/forms/sc_inv_cycle_count.gfd: Cycle count
+       management for inventory.
+
+2001-01-13 17:24  jamest
+
+       * TODO, samples/zipcode/states.gfd, src/GFForm.py,
+       src/GFObjects.py, src/GFOptions.py, src/UIwxpython.py: Fixed system
+       to properly pick up modifications immediately instead of at  
+       record switch.  Fixed bug in record status checking during exit
+       Altered UIwxpython status bar to maximize screen space available
+       for tips   wx tooltips not supported via wxpython yet Fixed up
+       UIwxpythons <box> support Altered Datasources to correctly reset on
+       empty queries Clean up here and there
+
+2001-01-12 00:08  jamest
+
+       * TODO, samples/trigger/trigger.gfd, src/GFController.py,
+       src/GFForm.py, src/GFObjects.py, src/GFOptions.py,
+       src/GFTrigger.py, src/UIwxpython.py: Rewrote internal objects to be
+       less dependent upon events (speed up) Added enhannced About box
+       Added support for label alignemnts Hack for rollback errors (see
+       comments for more info) Misc bug fixing and code cleanup Clean up
+
+2001-01-11 18:29  jamest
+
+       * samples/: location/forms/country_maint.gfd,
+       location/forms/county_maint.gfd, location/forms/state_maint.gfd,
+       location/forms/zip_coords_maint.gfd,
+       location/forms/zipcode_maint.gfd, location/sql/create_locale.sql,
+       vendor/forms/vendor_maint.gfd: Added some more samples
+
+2001-01-10 08:53  dneighbors
+
+       * TODO: ** Add some masta vision
+
+2001-01-10 00:14  jamest
+
+       * samples/inventory/: forms/inv_maintenance.gfd, sql/inventory.sql:
+       Added very basic start of inventory screen
+
+2001-01-08 19:55  jamest
+
+       * TODO, samples/track/create_track.sql, samples/track/tracking.gfd,
+       src/GFEvent.py, src/GFForm.py, src/GFObjects.py, src/GFOptions.py,
+       src/UIwxpython.py: More master/detail changes Fixed a bug involving
+       hidden fields messing up the visibleCount on other fields in the
+       same block Odds and ends
+
+2001-01-08 01:36  dneighbors
+
+       * samples/po/sc_po_entry.gfd: ** Added trigger to calculate qty *
+       price = amount ** Added trigger to calculate subtotal + tax1 + tax2
+       + shippping = total
+
+2000-12-30 04:25  cspence
+
+       * src/UIcurses.py: More progress on removing pyncurses dep
+
+2000-12-24 15:07  dneighbors
+
+       * samples/po/sc_po_entry.gfd: Last of the mohicians to be converted
+       to char based.
+
+2000-12-22 17:14  dneighbors
+
+       * TODO, samples/contact.gfd, samples/login.gfd,
+       samples/geas/customer.gfd, samples/history/first.gfd,
+       samples/history/myform.gfd, samples/po/sc_po_entry2.gfd,
+       samples/simple/form.gfd, samples/tests/placement.gfd,
+       samples/track/staff.gfd, samples/trigger/trigger.gfd,
+       samples/zipcode/states.gfd, samples/zipcode/zipcode.gfd: update of
+       samples so they work for 0.0.5 release.  i fixed up sc_po_entry.gfd
+       very nicely and then rm it on accident trying to eliminate
+       sc_po_entery2.gfd. I am very pissed at myself.
+
+2000-12-22 17:05  jamest
+
+       * MANIFEST.in, src/GFForm.py, src/GFObjects.py: added samples to
+       sdist distrobutions some m/d stuff misc stuff I've forgotten :)
+
+2000-12-22 12:55  jmeskill
+
+       * setup.py: updated to include odbc
+
+2000-12-22 12:44  jmeskill
+
+       * src/drivers/: geas/DBdriver.py, odbc/.cvsignore,
+       odbc/DBdriver.py, odbc/__init__.py: Added ODBC driver (has been
+       tested only with MyODBC so far) Updated geas driver to keep objects
+       in memory (still not tested)
+
+2000-12-22 12:03  jmeskill
+
+       * src/DBfactory.py: Enhanced in preperation for ODBC driver support
+
+2000-12-22 11:54  jmeskill
+
+       * src/drivers/mysql/DBdriver.py: removed print debugging code
+
+2000-12-21 15:15  cspence
+
+       * src/UIcurses.py: missed this last checkin
+
+2000-12-21 15:14  cspence
+
+       * client/gfclient: Added _incomplete_ python curses support use
+       gfclient -u newtext to see progress so far
+
+2000-12-19 21:28  dneighbors
+
+       * client/gfclient: Switched from globals to class vars.
+
+2000-12-19 16:49  jmeskill
+
+       * src/drivers/mysql/DBdriver.py: MySQL driver is now fully
+       functional
+
+2000-12-19 10:51  jamest
+
+       * client/gfclient, src/UIwxpython.py: Quick fix for windows UI
+       support Put about menu back in
+
+2000-12-18 21:27  dneighbors
+
+       * client/gfclient, src/GFGetOpt.py: Moved options out of .run() to
+       allow for -p profiling switch.
+
+2000-12-18 20:52  dneighbors
+
+       * client/gfclient: Fixed -h option.
+
+2000-12-18 20:45  jamest
+
+       * client/gfclient: Fixed error in gfclient preventing -v from
+       working properly
+
+2000-12-18 20:32  dneighbors
+
+       * samples/helloworld2.gfd: switched to char based and added to
+       sample assigning value of one field into another!
+
+2000-12-18 18:27  jamest
+
+       * TODO, client/gfclient, src/GFForm.py, src/GFOptions.py,
+       src/UIpyncurses.py, src/UIwxpython.py: Fixed bug allowing hidden
+       fields to get focus on startup Fixed _version bug Updated master
+       field dropdown now updates the detail block as well Added support
+       for execution of symlink to gfclient loaded similar named   file
+       from a global form directory Small debug level change Dropdowns now
+       sorted by description value
+
+2000-12-18 13:59  cspence
+
+       * client/gfclient, samples/trigger/trigger.gfd, src/GFDebug.py,
+       src/GFEvent.py, src/GFForm.py, src/GFGetOpt.py, src/GFObjects.py,
+       src/GFOptions.py, src/GFParser.py, src/UIbase.py,
+       src/UIpyncurses.py, src/UIwxpython.py: Added improved support for
+       debug levels, logging etc.
+
+2000-12-16 16:15  dneighbors
+
+       * samples/track/: create_track.sql, drop_track.sql, staff.gfd,
+       tracking.gfd: Simple Masta Tracking sample to test master/detail.
+
+2000-12-16 15:32  jamest
+
+       * samples/zipcode/states.gfd, src/GFForm.py, src/GFObjects.py,
+       src/drivers/postgresql/DBdriver.py: Updated master/detail example
+       More master/detail support
+
+2000-12-15 21:32  jamest
+
+       * TODO, images/bmp/gnue-splash.bmp, images/bmp/gnuef-splash.bmp,
+       src/GFController.py, src/GFEvent.py, src/GFForm.py,
+       src/GFObjects.py, src/GFParser.py, src/GFTrigger.py, src/UIbase.py,
+       src/UIpyncurses.py, src/UIwxpython.py,
+       src/drivers/mysql/DBdriver.py, src/drivers/postgresql/DBdriver.py:
+       Primary key postgresql fix Missing status bar fix Moved picture to
+       proper name Updated copyright
+
+2000-12-15 11:37  jmeskill
+
+       * src/: gnue-splash.bmp, gnue.bmp: Moved to gnuef/images
+
+2000-12-15 11:36  jmeskill
+
+       * images/: bmp/gnue-splash.bmp, bmp/gnue.bmp, xcf/gnue-splash.xcf:
+       Moved images to images subdir
+
+2000-12-14 15:02  cspence
+
+       * src/GFForm.py: Temporary fix for annoying stack trace which
+       occurs on key press when forms/pages have no entries or no entry
+       selected.
+
+2000-12-14 14:55  cspence
+
+       * src/UIpyncurses.py: pagehandling is now supposed to work properly
+       in pyncurses
+
+2000-12-14 13:18  jamest
+
+       * src/: GFOptions.py, UIwxpython.py: More placement edits
+
+2000-12-14 10:50  jamest
+
+       * src/: GFOptions.py, UIwxpython.py: Char placement code
+       alterations
+
+2000-12-13 17:00  jamest
+
+       * src/UIpyncurses.py: Small change to make prev/next block work w/
+       page flip (both as next block only)
+
+2000-12-13 16:25  cspence
+
+       * src/UIpyncurses.py: bug fix
+
+2000-12-13 16:12  cspence
+
+       * src/UIpyncurses.py: added curses support for GFBox
+
+2000-12-13 15:19  jamest
+
+       * src/UIpyncurses.py: A little of the page handler update
+       (untested)
+
+2000-12-13 11:47  jamest
+
+       * designer/GFDesigner.py: Altered the name of datasources? via
+       derek's instructions Made defaults actually work :) Security fix:
+       block password from displaying on screen
+
+2000-12-13 10:02  jamest
+
+       * designer/GFDesigner.py, src/GFOptions.py: Quick hack to make
+       designer do char based placement also added auto generated <tip>s
+       to it's output
+
+2000-12-13 08:28  jamest
+
+       * src/: GFOptions.py, UIwxpython.py: Minor change to UIwxpython to
+       make widget placement easier to manipulate during development
+
+2000-12-13 00:35  jamest
+
+       * INSTALL, TODO, client/gfclient, samples/simple/form.gfd,
+       src/GFForm.py, src/GFObjects.py, src/GFOptions.py, src/GFParser.py,
+       src/UIbase.py, src/UIwxpython.py: ficed dropdowns not clearing on
+       datasource clear fixed hidden fields not working for entry widgets
+       implement sloppyFocus GFEntry option added GFBox object for visual
+       seperators (not implemented in any UI yet) Visible indicator for
+       multiple pages GUI rolls to test login if DISPLAY var isn't set
+       converted the samples/simple/form.gfd to char x/y system
+
+2000-12-12 12:11  cspence
+
+       * src/: GFForm.py, UIpyncurses.py, UIwxpython.py: Curses now
+       supports comboboxes and things!
+
+2000-12-11 21:54  dneighbors
+
+       * src/GFOptions.py: Changed location to be gnue-splash.bmp instead
+       of gnuef-spash.bmp (as this matches the faq).
+
+2000-12-11 16:33  jamest
+
+       * src/: GFForm.py, UIwxpython.py, drivers/postgresql/DBdriver.py:
+       minor UI adjustments quick hack to make login failures more
+       friendly
+
+2000-12-11 15:14  cspence
+
+       * src/UIpyncurses.py: slightly cleaned up code + preliminary (ie.
+       not working :) ) support for comboboxed in pyncurses
+
+2000-12-11 10:58  jamest
+
+       * AUTHORS, FAQ, INSTALL, README, README.developers,
+       README.wxwindows, TODO, src/GFOptions.py, src/UIwxpython.py:
+       Updated docs Moved the .bmp hard coding from UIwxpython to
+       GFOptions.py Switched form width/height to char based 2nd attempt
+       at good char based placement in UIwxpython  should fix themes
+       screwing up pixel based form placement bug (we'll miss you)
+
+2000-12-09 15:59  jamest
+
+       * samples/tests/placement.gfd, samples/zipcode/zipcode.gfd,
+       src/GFObjects.py, src/GFOptions.py, src/UIpyncurses.py,
+       src/UIwxpython.py: Altered char based placement removing scaling
+       (it's messed up) Switched the forms height/widget from pixel to
+       char based Added support for a default entry height set via
+       GFOptions.py UIpyncurses.py version check modified to work on
+       python 1.5.2
+
+2000-12-09 06:55  cspence
+
+       * src/UIpyncurses.py: Cleaned up wxpython code so it now exits
+       cleanly.  Some improvements to widget handling Still much work to
+       be done
+
+2000-12-08 19:02  jamest
+
+       * samples/tests/placement.gfd, src/GFForm.py, src/UIwxpython.py:
+       Added a little spacer support for char based placement
+
+2000-12-08 15:49  cspence
+
+       * README.curses, client/gfclient, samples/zipcode/zipcode.gfd,
+       src/GFController.py, src/GFEvent.py, src/GFForm.py, src/UIbase.py,
+       src/UIpyncurses.py, src/UIwxpython.py, src/gnue-splash.bmp: merged
+       guilogin branch with main tree
+
+2000-12-08 15:30  cspence
+
+       * src/: GFForm.py, UIpyncurses.py: last commit before branch merge
+
+2000-12-08 00:35  jamest
+
+       * samples/zipcode/zipcode.gfd, src/UIwxpython.py: Initial
+       transition from pixel based attributes to char based
+
+2000-12-07 14:33  cspence
+
+       * src/: UIbase.py, UIpyncurses.py: pyncurses support almost working
+
+2000-12-07 10:40  cspence
+
+       * client/gfclient, src/UIpyncurses.py: started to convert
+       UIpyncurses
+
+2000-12-07 07:03  cspence
+
+       * src/: GFForm.py, UIwxpython.py: First working version of the
+       gnuef graphical login.
+       
+       We really need a new event model to handle this properly
+
+2000-12-07 05:24  cspence
+
+       * src/: GFController.py, UIwxpython.py, gnue-splash.bmp: bug fixes
+
+2000-12-06 17:02  cspence
+
+       * src/gnue-splash.bmp: file gnue-splash.bmp was initially added on
+       branch guilogin-unstable-0-1-0.
+
+2000-12-06 17:02  cspence
+
+       * client/gfclient, src/GFController.py, src/GFEvent.py,
+       src/GFForm.py, src/UIbase.py, src/UIwxpython.py,
+       src/gnue-splash.bmp: Branch with proposed gui login screen
+
+2000-12-06 14:23  jamest
+
+       * TODO: Updated TODO
+
+2000-12-06 11:03  jamest
+
+       * TODO, src/GFForm.py: update TODO moved data not saved alert from
+       status bar to dialog
+
+2000-12-05 22:42  jamest
+
+       * INSTALL, README.wxwindows, samples/zipcode/states.gfd,
+       src/GFForm.py, src/GFObjects.py, src/UIwxpython.py: fixed numeric
+       attribute bug fixed marked record for deletion via the menu bug
+       fixed master/detail example (the code worked the example was borked
+       :)
+
+2000-12-04 18:27  jmeskill
+
+       * TODO: Added sample todo to test cvs-commit mail
+
+2000-12-04 16:34  jamest
+
+       * src/UIwxpython.py: python 2.0 bug fix
+
+2000-12-04 12:33  cspence
+
+       * samples/trigger/trigger.gfd, src/GFForm.py, src/GFObjects.py,
+       src/GFTrigger.py, src/UIwxpython.py: Added support for message
+       boxes and fixed parser to strip whitespace from triggers.
+
+2000-12-04 06:40  dneighbors
+
+       * doc/containers.dia: Form stuff added.
+
+2000-12-03 13:18  dneighbors
+
+       * doc/: components.dia, containers.dia, database.dia, drivers.dia:
+       New UML diagrams explaining GNUe Forms from Ian.
+       
+       drivers.dia replaced by database.dia
+
+2000-11-28 09:02  jamest
+
+       * src/: DBfactory.py, UIwxpython.py: Code now works under python
+       2.0
+
+2000-11-27 10:54  jmeskill
+
+       * Makefile.am, acinclude.m4, autogen.sh, configure.in,
+       setup_cvs_devel.sh, client/Makefile.am, doc/Makefile.am,
+       old/Makefile.am, samples/Makefile.am, samples/geas/Makefile.am,
+       samples/po/Makefile.am, samples/zipcode/Makefile.am,
+       src/Makefile.am, src/drivers/Makefile.am,
+       src/drivers/geas/Makefile.am, src/drivers/mysql/Makefile.am,
+       src/drivers/postgresql/Makefile.am: Removed autotools files since
+       they are no longer needed Moved script that allows us to test in
+       CVS to setup_cvs_devel.sh
+
+2000-11-26 22:56  dneighbors
+
+       * doc/drivers.dia: Ian Stewart driver representation diagram.
+
+2000-11-24 22:04  dneighbors
+
+       * NEWS: v0.0.4
+
+2000-11-22 12:15  jmeskill
+
+       * MANIFEST.in: Added files that get skipped by bdist_rpm
+
+2000-11-22 10:55  jmeskill
+
+       * __init__.py, configure.in, src/__init__.py, src/__init__.py.in:
+       Hopefully removed last bastion of autotools dependencies
+
+2000-11-22 10:53  jmeskill
+
+       * src/.cvsignore: Unignore __init__.py :)
+
+2000-11-20 23:30  jmeskill
+
+       * setup.py, debian/changelog, debian/control, debian/dirs,
+       debian/files, debian/postinst, debian/postinst.debhelper,
+       debian/prerm.debhelper, debian/rules: cleaned up deb support
+       removed gnue python package since it is now in python-gnue-base
+
+2000-11-20 14:26  jmeskill
+
+       * debian/rules, src/DBfactory.py, src/GFObjects.py: Simple changes
+       to make initializing db drivers better
+
+2000-11-20 00:55  jmeskill
+
+       * configure.in, setup.py, src/drivers/geas/DBdriver.py,
+       src/drivers/geas/idldir.py.in: Added support for new geas python
+       stuff
+
+2000-11-19 23:08  jmeskill
+
+       * samples/Makefile.am: Updated makefile to fix missing file issues
+
+2000-11-19 16:49  dneighbors
+
+       * setup.py: Minor changes to verbiage and prep for 0.0.4
+
+2000-11-19 16:46  dneighbors
+
+       * ChangeLog, NEWS, samples/po/sc_po_entry.gfd: v0.0.4 stuff
+
+2000-11-15 11:50  jamest
+
+       * TODO, src/GFObjects.py: Remove debug code Updated TODO
+
+2000-11-15 10:57  jamest
+
        * AUTHORS, INSTALL, src/UIwxpython.py: Performance changes Added
-       Georg Lehner's detailed INSTALL doc Clean up 
+       Georg Lehner's detailed INSTALL doc Clean up
 
-2000-11-15 16:32  jamest
+2000-11-15 10:32  jamest
 
-       * src/GFObjects.py: [no log message] 
+       * src/GFObjects.py: [no log message]
 
-2000-11-15 04:08  jamest
+2000-11-14 22:08  jamest
 
        * TODO: A little more partial checkin of the valid updates from my
-       broken stuff 
+       broken stuff
 
-2000-11-15 04:07  jamest
+2000-11-14 22:07  jamest
 
        * samples/: form.gfd, form2.gfd, helloworld.gfd, myform.gfd,
-       zipcode/zipcode.gfd: A little bit of samples cleanup 
+       history/first.gfd, history/myform.gfd, simple/form.gfd,
+       trigger/trigger.gfd, zipcode/zipcode.gfd: A little bit of samples
+       cleanup
 
-2000-11-15 04:04  jamest
+2000-11-14 22:04  jamest
 
        * client/gfclient, src/GFEvent.py, src/GFForm.py, src/GFOptions.py,
        src/UIwxpython.py: Moved an error text to GFOptions.py Fixed bug
        where mouse click on a label generated a block error Minor speed
-       enhancements (the ones that didn't break everything :) 
+       enhancements (the ones that didn't break everything :)
 
-2000-11-10 19:48  cspence
+2000-11-10 13:48  cspence
 
        * samples/helloworld2.gfd, src/GFForm.py, src/GFObjects.py,
        src/GFParser.py, src/GFTrigger.py: Added preliminary support for
        named triggers.  Introduced more flexible helper classes for
-       building namespaces in GFTrigger.py Breaks some triggers that worked
-       with old model as prevents direct access to block properties so far
-       can only access block values.  
+       building namespaces in GFTrigger.py    Breaks some triggers that
+       worked with old model as prevents direct access    to block
+       properties so far can only access block values.
 
-2000-11-10 03:23  jamest
+2000-11-09 21:23  jamest
 
        * TODO, client/gfclient, src/GFForm.py, src/GFObjects.py: fixed
-       validator bugs performance improvements 
+       validator bugs performance improvements
 
-2000-11-09 23:50  jamest
+2000-11-09 17:50  jamest
 
        * TODO, samples/helloworld.gfd, samples/zipcode/states.gfd,
        src/GFForm.py, src/GFObjects.py, src/UIwxpython.py: Added still
-       faulty rollback code to allow you to abort changes to a form 
-       ToDo's completed: 
-       Moving the focus from entry in one block to a different block does 
-       not result in the currentBlock switching to the new block 
-       creating a new record and marking for delete prior to any commit 
-       still causes record to commit 
-       mouse click out of field then F8 results in block error 
-       Autocreate a datasource for block that don't specify one 
+       faulty rollback code to allow you to abort changes to a form
+       
+       ToDo's completed:
+       
+       Moving the focus from entry in one block to a different block does
+       not result in the currentBlock switching to the new block
+       
+       creating a new record and marking for delete prior to any commit
+       still causes record to commit
+       
+       mouse click out of field then F8 results in block error
+       
+       Autocreate a datasource for block that don't specify one
 
-2000-11-09 20:52  jamest
+2000-11-09 14:52  jamest
 
        * src/: GFForm.py, GFObjects.py, UIwxpython.py: fixed cursor
        positioning bug fixed duplication of the requestDELETE event for
-       records and characters 
+       records and characters
 
-2000-11-09 20:31  jamest
+2000-11-09 14:31  jamest
 
        * src/: GFForm.py, GFObjects.py: Modifed system to base UI updates
-       on entry value changes instead of via GFForm control.  
+       on entry value changes instead of via GFForm control.
 
-2000-11-09 20:17  cspence
+2000-11-09 14:17  cspence
 
-       * samples/helloworld2.gfd: Another helloworld type test 
+       * samples/helloworld2.gfd: Another helloworld type test
 
-2000-11-09 19:56  jamest
+2000-11-09 13:56  jamest
 
        * samples/helloworld.gfd, src/GFForm.py, src/GFObjects.py,
-       src/GFParser.py: added support for triggers to reference values via 
-       blockname.fields.fieldname Note: UI does not update code cleanup 
+       src/GFParser.py: added support for triggers to reference values via
+         blockname.fields.fieldname Note: UI does not update code cleanup
 
-2000-11-08 06:29  jmeskill
+2000-11-08 00:29  jmeskill
 
-       * src/drivers/geas/DBdriver.py: fixed semi-on-purpose type-o :) 
+       * src/drivers/geas/DBdriver.py: fixed semi-on-purpose type-o :)
 
-2000-11-08 05:10  dneighbors
+2000-11-07 23:10  dneighbors
 
        * samples/: login.gfd, myform.gfd: Updated to work with newest
-       versions.  
+       versions.
 
-2000-11-08 05:02  dneighbors
+2000-11-07 23:02  dneighbors
 
-       * samples/helloworld.gfd: Updated to work with newest version.  
+       * samples/helloworld.gfd: Updated to work with newest version.
 
-2000-11-08 05:00  jamest
+2000-11-07 23:00  jamest
 
        * TODO, samples/zipcode/states.gfd, src/GFForm.py,
        src/GFObjects.py, src/UIwxpython.py: Fixed bug causing null db
        fields to appear as None Fixed switching records not updating tip &
        recordCount Focus should now shift to first field in block upon
        entry speed: started cleaning up events and code to reduce
-       function/event calls 
+       function/event calls
 
-2000-11-08 04:56  dneighbors
+2000-11-07 22:56  dneighbors
 
-       * samples/form2.gfd: Our first ever sample is growing up.  
+       * samples/form2.gfd: Our first ever sample is growing up.
 
-2000-11-08 04:42  dneighbors
+2000-11-07 22:42  dneighbors
 
-       * samples/contact.gfd: redone to handle nil datasource and work 
+       * samples/contact.gfd: redone to handle nil datasource and work
 
-2000-11-08 04:30  dneighbors
+2000-11-07 22:30  dneighbors
 
-       * samples/form.gfd: fixed spacing on sample for text boxes 
+       * samples/form.gfd: fixed spacing on sample for text boxes
 
-2000-11-08 00:18  jmeskill
+2000-11-07 18:18  jmeskill
 
-       * TODO: moved packages to DONE for 0.1.0 
+       * TODO: moved packages to DONE for 0.1.0
 
-2000-11-08 00:00  jmeskill
+2000-11-07 18:00  jmeskill
 
-       * src/drivers/geas/DBdriver.py: Added better error handling 
+       * src/drivers/geas/DBdriver.py: Added better error handling
 
-2000-11-07 23:19  jmeskill
+2000-11-07 17:19  jmeskill
 
        * src/drivers/geas/DBdriver.py: Added support for geas
-       authentication 
+       authentication
 
-2000-11-07 19:14  jmeskill
+2000-11-07 13:14  jmeskill
 
        * debian/: README.Debian, changelog, control, copyright, dirs,
        docs, files, postinst, postinst.debhelper, prerm, prerm.debhelper,
-       rules: Added debian support 
+       rules: Added debian support
 
-2000-11-07 05:47  jmeskill
+2000-11-06 23:47  jmeskill
 
-       * samples/zipcode/Makefile.am: zip_code.gfd changed to zipcode.gfd 
+       * samples/zipcode/Makefile.am: zip_code.gfd changed to zipcode.gfd
 
-2000-11-07 04:31  jamest
+2000-11-06 22:31  jamest
 
        * README, pg.py.patch, client/gfclient,
        samples/zipcode/zip_code.gfd, samples/zipcode/zipcode.gfd,
        src/UIwxpython.py: README updates renamed zip_code.gfd to
-       zipcode.gfd removed profiler code partial addition of new login form
-       (not active in this code checkin) 
+       zipcode.gfd removed profiler code partial addition of new login
+       form (not active in this code checkin)
 
-2000-11-07 02:21  dneighbors
+2000-11-06 20:21  dneighbors
 
-       * samples/form.gfd: quick get it back to working hack.  
+       * samples/form.gfd: quick get it back to working hack.
 
-2000-11-05 04:15  jamest
+2000-11-04 22:15  jamest
 
-       * src/gnue.bmp: added missing gnue.bmp file to repository 
+       * src/gnue.bmp: added missing gnue.bmp file to repository
 
-2000-11-05 04:14  jamest
+2000-11-04 22:14  jamest
 
        * TODO, client/gfclient, src/GFForm.py, src/GFObjects.py,
        src/UIwxpython.py: status bar speedups added support for checking
-       that data is saved prior to query/exit (moved exit approval from UI
-       to GFForm) start of a GUI login box (currently visible via
-       help->about) 
+       that data is saved prior to query/exit   (moved exit approval from
+       UI to GFForm) start of a GUI login box (currently visible via
+       help->about)
 
-2000-11-04 05:03  dneighbors
+2000-11-03 23:03  dneighbors
 
        * ChangeLog, NEWS: Updating information to get a handle on 0.0.4
-       status.  
+       status.
 
-2000-11-03 05:18  jamest
+2000-11-02 23:18  jamest
 
        * TODO, samples/zipcode/pg_zip_code.sql,
        samples/zipcode/states.gfd, samples/zipcode/zip_code.gfd,
        src/GFForm.py, src/GFObjects.py, src/drivers/geas/DBdriver.py,
-       src/drivers/postgresql/DBdriver.py: added order_by to datasources 
+       src/drivers/postgresql/DBdriver.py: added order_by to datasources  
        (added dummy arg to geas driver - untested) fixed - if tip not
        defined on entry then previous tip still shown tried to improve
        status bar speed master/detail alterations (.gfd has changed) new
-       zipcode demo w/ a state.gfd to show master/detail 
+       zipcode demo w/ a state.gfd to show master/detail
 
-2000-11-02 02:57  jamest
+2000-11-01 20:57  jamest
 
        * TODO, src/GFForm.py, src/GFObjects.py, src/UIwxpython.py,
        src/drivers/postgresql/DBdriver.py: Hack to prevent UI corruption
        after commit Fixed bug that causes empty queries to corrupt record
        index Removed some print lines Tinkered w/ login dialog ideas TODO
-       updates 
+       updates
 
-2000-11-01 16:25  jmeskill
+2000-11-01 10:25  jmeskill
 
-       * setup.py: Set scripts back to correct value 
+       * setup.py: Set scripts back to correct value
 
-2000-11-01 06:13  jamest
+2000-11-01 00:13  jamest
 
-       * TODO: CVS Cleanup work 
+       * TODO: CVS Cleanup work
 
-2000-11-01 05:06  jamest
+2000-10-31 23:06  jamest
 
        * README, TODO, samples/zipcode/pg_zip_code.sql,
        samples/zipcode/zip_code.gfd, src/GFForm.py, src/GFObjects.py,
        src/UIwxpython.py: Enhanced menu Datasources now purge deleted
        records on delete Updated zipcode example database to use primary
-       keys Updated README Updated TODO 
+       keys Updated README Updated TODO
 
-2000-10-31 19:05  jmeskill
+2000-10-31 13:05  jmeskill
 
        * __init__.py, setup.py, src/drivers/__init__.py: Changes to use
-       distutils 
+       distutils
 
-2000-10-31 04:47  jmeskill
+2000-10-30 22:47  jmeskill
 
        * src/drivers/geas/idldir.py.in: This is now needed to make geas
-       driver work with --with-idldir=/path/to/idl/files 
+       driver work with --with-idldir=/path/to/idl/files
 
-2000-10-31 04:46  jmeskill
+2000-10-30 22:46  jmeskill
 
        * samples/geas/: Makefile.am, customer.gfd: Added a sample that
-       conforms to geas sample tables 
+       conforms to geas sample tables
 
-2000-10-31 04:43  jmeskill
+2000-10-30 22:43  jmeskill
 
-       * configure.in, src/Makefile.am, src/drivers/geas/DBdriver.py: 
-       Added changes to make geas work again 
+       * configure.in, src/Makefile.am, src/drivers/geas/DBdriver.py:
+       Added changes to make geas work again
 
-2000-10-28 03:46  jamest
+2000-10-27 22:46  jamest
 
-       * autogen.sh: fixed symlinks pointing to wrong things 
+       * autogen.sh: fixed symlinks pointing to wrong things
 
-2000-10-27 20:09  jmeskill
+2000-10-27 15:09  jmeskill
 
-       * Makefile.am: Fixed stray tab 
+       * Makefile.am: Fixed stray tab
 
-2000-10-27 20:02  jmeskill
+2000-10-27 15:02  jmeskill
 
-       * Makefile.am: include README.developers 
+       * Makefile.am: include README.developers
 
-2000-10-27 20:00  jmeskill
+2000-10-27 15:00  jmeskill
 
-       * src/Makefile.am: GFClient.py no longer exists here 
+       * src/Makefile.am: GFClient.py no longer exists here
 
-2000-10-27 19:59  jmeskill
+2000-10-27 14:59  jmeskill
 
        * INSTALL, Makefile.am, README, README.developers, TODO,
        autogen.sh, configure.in, client/.cvsignore, client/Makefile.am,
@@ -246,190 +764,198 @@
        src/drivers/mysql/DBdriver.py, src/drivers/mysql/Makefile.am,
        src/drivers/postgresql/DBdriver.py,
        src/drivers/postgresql/Makefile.am: Made a TON of changes so we can
-       make install properly 
-       gnue-forms now installs into (pythonlibdir)/site-packages/gnue/forms
-       so to access forms you can use import gnue.forms 
-       Added README.developers so we can include hints for developers 
-       Moved src/GFClient.py to client/gfclient and made it executable 
-       Made source changes to support gnue.forms paradigm 
-       Updated related documentation 
+       make install properly
+       
+       gnue-forms now installs into
+       (pythonlibdir)/site-packages/gnue/forms so to access forms you can
+       use import gnue.forms
+       
+       Added README.developers so we can include hints for developers
+       
+       Moved src/GFClient.py to client/gfclient and made it executable
+       
+       Made source changes to support gnue.forms paradigm
+       
+       Updated related documentation
 
-2000-10-27 16:08  jmeskill
+2000-10-27 11:08  jmeskill
 
-       * acinclude.m4: Change python detection script 
+       * acinclude.m4: Change python detection script
 
-2000-10-26 21:59  jamest
+2000-10-26 16:59  jamest
 
        * samples/zipcode/zip_code.gfd, src/GFForm.py, src/GFObjects.py,
-       src/UIbase.py, src/UIwxpython.py: Status bar now has usefull info 
-       Form alert events misc clean up 
+       src/UIbase.py, src/UIwxpython.py: Status bar now has usefull info
+       Form alert events misc clean up
 
-2000-10-26 19:30  jamest
+2000-10-26 14:30  jamest
 
        * TODO, samples/zipcode/zip_code.gfd, src/GFForm.py,
        src/GFObjects.py, src/UIbase.py, src/UIwxpython.py: Working
-       dropdowns Fixed bug in value validation against foreign block keys 
+       dropdowns Fixed bug in value validation against foreign block keys
 
-2000-10-26 17:03  reinhard
+2000-10-26 12:03  reinhard
 
        * README, README.wxwindows: Modified README to complete dependency
-       list 
+       list
 
-2000-10-26 16:47  jamest
+2000-10-26 11:47  jamest
 
-       * samples/zipcode/zip_code.gfd, src/GFForm.py, src/UIwxpython.py: 
+       * samples/zipcode/zip_code.gfd, src/GFForm.py, src/UIwxpython.py:
        Mouse support for multiVisible widget navigation Almost usable
-       combobox support 
+       combobox support
 
-2000-10-25 03:35  dneighbors
+2000-10-24 22:35  dneighbors
 
        * samples/zipcode/states.gfd: Form built in about 10 seconds with
-       designer to maintain states database.  
+       designer to maintain states database.
 
-2000-10-25 03:27  dneighbors
+2000-10-24 22:27  dneighbors
 
        * samples/zipcode/pg_zip_code.sql: Added statements to
        automagically enter all state abbrev's plus descriptions and our
-       little half states like puerto rico, virgin islands, etc...  
+       little half states like puerto rico, virgin islands, etc...
 
-2000-10-25 03:22  jamest
+2000-10-24 22:22  jamest
 
-       * src/: GFForm.py, UIwxpython.py: Very start of menu in UIwxpython 
-       Added support for .'s in numeric values 
+       * src/: GFForm.py, UIwxpython.py: Very start of menu in UIwxpython
+       Added support for .'s in numeric values
 
-2000-10-25 01:46  jamest
+2000-10-24 20:46  jamest
 
        * designer/GFDesigner.py, src/GFForm.py, src/GFObjects.py,
        src/UIwxpython.py: Fixed typecast problem w/ non string values on
        query/commit Misc stuff dealing w/ dropdown box support (still not
-       fully, full on, functional) 
+       fully, full on, functional)
 
-2000-10-25 00:28  jmeskill
+2000-10-24 19:28  jmeskill
 
-       * AUTHORS: Added Database driver abstraction to my name 
+       * AUTHORS: Added Database driver abstraction to my name
 
-2000-10-23 02:36  jamest
+2000-10-22 21:36  jamest
 
        * samples/zipcode/zip_code.gfd, src/GFForm.py, src/GFObjects.py,
        src/UIbase.py, src/UIwxpython.py: Blocks now support foreign key
        input validation against a datasource Dropdown listbox supported in
-       UIwxpython.  Still needs event links to/from the form 
+       UIwxpython.  Still needs event links to/from the form
 
-2000-10-22 23:26  jamest
+2000-10-22 18:26  jamest
 
        * TODO, samples/zipcode/zip_code.gfd, src/GFForm.py, src/UIbase.py,
-       src/UIwxpython.py: Added entry support for hidden, readonly,
-       uppercase, lowercase, numeric, and max_length attributes 
+       src/UIwxpython.py: Added entry support for   hidden, readonly,
+       uppercase, lowercase, numeric, and max_length attributes
 
-2000-10-21 16:06  jamest
+2000-10-21 11:06  jamest
 
        * README, samples/zipcode/zip_code.gfd, src/GFForm.py,
        src/GFObjects.py: More keybindings for UIwxpython in README Fixed
        multiVisible entry indexing on query Started work on the commit
-       system May have tinkered w/ master/detail some (don't recall) 
+       system May have tinkered w/ master/detail some (don't recall)
 
-2000-10-21 15:30  dneighbors
+2000-10-21 10:30  dneighbors
 
-       * samples/contact.gfd: another test 
+       * samples/contact.gfd: another test
 
-2000-10-21 15:05  dneighbors
+2000-10-21 10:05  dneighbors
 
-       * samples/contact.gfd: testing 
+       * samples/contact.gfd: testing
 
-2000-10-21 14:46  dneighbors
+2000-10-21 09:46  dneighbors
 
-       * samples/zipcode/zip_code.gfd: This is a cvs test.  
+       * samples/zipcode/zip_code.gfd: This is a cvs test.
 
-2000-10-21 03:19  jamest
+2000-10-20 22:19  jamest
 
        * TODO, samples/zipcode/zip_code.gfd, src/GFObjects.py,
-       src/UIwxpython.py: Functional visibleCount (88.8% bug free) (maybe) 
+       src/UIwxpython.py: Functional visibleCount (88.8% bug free) (maybe)
 
-2000-10-21 00:29  jamest
+2000-10-20 19:29  jamest
 
        * src/: GFForm.py, UIwxpython.py: less buggy visibleCount support
-       in widgets 
+       in widgets
 
-2000-10-20 05:56  jamest
+2000-10-20 00:56  jamest
 
        * acinclude.m4, samples/zipcode/pg_zip_code.sql,
        samples/zipcode/zip_code.gfd, src/GFForm.py, src/GFObjects.py,
        src/UIbase.py, src/UIwxpython.py: Parital (buggy) visibleCount on
-       entries 
+       entries
 
-2000-10-20 03:08  dneighbors
+2000-10-19 22:08  dneighbors
 
        * designer/GFDesigner.py: First REALLY lame version of a tool to
-       auto build forms.  
+       auto build forms.
 
-2000-10-20 02:57  dneighbors
+2000-10-19 21:57  dneighbors
 
        * samples/login.gfd: Added blank datasource and fields so this
-       sample wouldnt bomb any longer.  
+       sample wouldnt bomb any longer.
 
-2000-10-20 02:56  dneighbors
+2000-10-19 21:56  dneighbors
 
        * README: Added commands to navigate forms as well as how to
-       install pg.py.  
+       install pg.py.
 
-2000-10-19 23:17  jamest
+2000-10-19 18:17  jamest
 
        * src/: GFForm.py, UIbase.py, UIwxpython.py,
        drivers/postgresql/DBdriver.py: Postgresql driver fix New formToUI
-       cross ref structure (for upcomming updates) 
+       cross ref structure (for upcomming updates)
 
-2000-10-19 23:10  jmeskill
+2000-10-19 18:10  jmeskill
 
        * src/: GFObjects.py, drivers/geas/DBdriver.py,
        drivers/postgresql/DBdriver.py: Updated GFObjects to use new
        uniqueKey scheme to allow us to support geas and other databases
-       that don't use oid 
-       Updated postgresql driver to use uniqueKey 
+       that don't use oid
+       
+       Updated postgresql driver to use uniqueKey
+       
        Update geas driver to use uniqueKey and support delete, insert,
-       updates using objectID from geas 
+       updates using objectID from geas
 
-2000-10-19 17:15  jmeskill
+2000-10-19 12:15  jmeskill
 
        * src/drivers/geas/DBdriver.py: GEAS driver can now connect, query,
-       and insert records into the database 
+       and insert records into the database
 
-2000-10-18 23:06  jamest
+2000-10-18 18:06  jamest
 
        * src/: GFForm.py, GFObjects.py, UIwxpython.py: Bug fixes Crude
-       readonly form support 
+       readonly form support
 
-2000-10-18 16:17  jmeskill
+2000-10-18 11:17  jmeskill
 
        * src/GFObjects.py: Added fix for master/detail problem If master
-       was empty, detail would still try to load 
+       was empty, detail would still try to load
 
-2000-10-18 01:10  jmeskill
+2000-10-17 20:10  jmeskill
 
-       * configure.in: Added python checks 
+       * configure.in: Added python checks
 
-2000-10-18 00:33  jmeskill
+2000-10-17 19:33  jmeskill
 
-       * acinclude.m4: python macros 
+       * acinclude.m4: python macros
 
-2000-10-12 01:57  jamest
+2000-10-11 20:57  jamest
 
        * TODO, samples/zipcode/zip_code.gfd, src/UIbase.py,
-       src/UIwxpython.py: First piece of multientry entry widgets 
+       src/UIwxpython.py: First piece of multientry entry widgets
 
-2000-10-12 00:41  jamest
+2000-10-11 19:41  jamest
 
        * samples/zipcode/zip_code.gfd, src/GFObjects.py: Very simple
-       master/detail system added 
+       master/detail system added
 
-2000-10-11 22:25  jmeskill
+2000-10-11 17:25  jmeskill
 
-       * src/Makefile.am: removed old deleted files and added DBfactory.py 
+       * src/Makefile.am: removed old deleted files and added DBfactory.py
 
-2000-10-11 22:23  jmeskill
+2000-10-11 17:23  jmeskill
 
-       * configure.in: Added new drivers makefiles 
+       * configure.in: Added new drivers makefiles
 
-2000-10-11 21:50  jmeskill
+2000-10-11 16:50  jmeskill
 
        * src/: DBfactory.py, DBgeas.py, DBobjectserver.py,
        DBpostgresql.py, GFObjects.py, Makefile.am, drivers/.cvsignore,
@@ -439,483 +965,490 @@
        drivers/mysql/DBdriver.py, drivers/mysql/Makefile.am,
        drivers/mysql/__init__.py, drivers/postgresql/.cvsignore,
        drivers/postgresql/DBdriver.py, drivers/postgresql/Makefile.am,
-       drivers/postgresql/__init__.py: Added new database driver method 
+       drivers/postgresql/__init__.py: Added new database driver method
        You can now place a driver in the drivers directory (mirroring an
        example driver setup) and be able to use it from a form without
-       having to modify gnue forms source code 
+       having to modify gnue forms source code
 
-2000-10-11 12:22  jamest
+2000-10-11 07:22  jamest
 
        * TODO, src/DBgeas.py, src/DBpostgresql.py, src/GFForm.py,
        src/GFObjects.py, src/UIwxpython.py: Added the ability to delete
-       
-       (F5) Start of GEAS driver added 
+       (F5) Start of GEAS driver added
 
-2000-10-09 17:52  cspence
+2000-10-09 12:52  cspence
 
-       * src/GFTrigger.py: Added simple exception handling to GFTrigger 
+       * src/GFTrigger.py: Added simple exception handling to GFTrigger
 
-2000-10-09 13:23  cspence
+2000-10-09 08:23  cspence
 
-       * samples/helloworld.gfd: Simple gfd file to test trigger handling 
+       * samples/helloworld.gfd: Simple gfd file to test trigger handling
 
-2000-10-09 13:21  cspence
+2000-10-09 08:21  cspence
 
        * src/: GFForm.py, GFObjects.py, GFParser.py, GFTrigger.py: 
        Have updated the trigger code so it now lives in GFTrigger.  Have
        had to temporarily move GFTriggerAware into GFObjects to prevent
-       circular dependencies.  Renamed __del__ methods in GFParser to
+       circular dependencies.  Renamed __del__ methods in GFParser to
        destroy so exeption handling works better.  Have put in a simple
-       mechanism for dealing with the trigger namespace in GFForm.py 
+       mechanism for dealing with the trigger namespace in GFForm.py
 
-2000-10-08 20:08  dneighbors
+2000-10-08 15:08  dneighbors
 
-       * configure.in: updated to version 0.0.3 for release.  
+       * configure.in: updated to version 0.0.3 for release.
 
-2000-10-08 07:27  jamest
+2000-10-08 02:27  jamest
 
-       * src/Makefile.am: Fixed automake bugs preventing make dist 
+       * src/Makefile.am: Fixed automake bugs preventing make dist
 
-2000-10-08 07:09  dneighbors
+2000-10-08 02:09  dneighbors
 
-       * ChangeLog, NEWS: updated for 0.0.3 release. :) 
+       * ChangeLog, NEWS: updated for 0.0.3 release. :)
 
-2000-10-08 06:13  dneighbors
+2000-10-08 01:13  dneighbors
 
-       * TODO: added master/detail and some forms stuff 
+       * TODO: added master/detail and some forms stuff
 
-2000-10-08 05:37  jamest
+2000-10-08 00:37  jamest
 
        * TODO, src/DBobjectserver.py, src/DBpostgresql.py,
        src/GFClient.py, src/GFController.py, src/GFEvent.py,
        src/GFForm.py, src/GFGetOpt.py, src/GFObjects.py, src/UIbase.py,
-       src/UIwxpython.py, src/stack.py: Clean up of some of the code base 
+       src/UIwxpython.py, src/stack.py: Clean up of some of the code base
        Added code comments Fixed null object in formToUI bug Removed
-       unneeded files Updated TODO 
+       unneeded files Updated TODO
 
-2000-10-08 00:27  dneighbors
+2000-10-07 19:27  dneighbors
 
-       * samples/zipcode/zip_code.gfd: fixed syntax 
+       * samples/zipcode/zip_code.gfd: fixed syntax
 
-2000-10-08 00:03  jamest
+2000-10-07 19:03  jamest
 
        * TODO, samples/sc_po_entry.gfd, samples/zip_code.gfd,
        samples/zipcode/Makefile.am, samples/zipcode/README,
        samples/zipcode/pg_zip_code.sql, src/DBpostgresql.py,
        src/GFObjects.py: Added sql file to create zip_code database for
        postgresql servers Fixed the new record/commit/update/commit record
-       duplication bug 
+       duplication bug
 
-2000-10-07 22:11  jamest
+2000-10-07 17:11  jamest
 
        * TODO, configure.in, samples/Makefile.am, samples/contact.gfd,
        samples/zip_code.gfd, samples/po/Makefile.am,
        samples/po/sc_po_entry.gfd, samples/po/sc_po_entry2.gfd,
        samples/zipcode/Makefile.am, samples/zipcode/zip_code.gfd,
        src/DBpostgresql.py, src/GFForm.py, src/GFObjects.py,
-       src/GFParser.py, src/UIwxpython.py: Moved samples to own dirs 
-       Insert, query (with sql wildcards), update all functional Added F8 =
-       Init query, F9 = execute query, F6 = commit to UIwxpython 
+       src/GFParser.py, src/UIwxpython.py: Moved samples to own dirs
+       Insert, query (with sql wildcards), update all functional Added F8
+       = Init query, F9 = execute query, F6 = commit to UIwxpython
 
-2000-10-07 02:07  jamest
+2000-10-06 21:07  jamest
 
-       * README, pg.py.patch: Added patch info to readme 
+       * README, pg.py.patch: Added patch info to readme
 
-2000-10-07 02:02  jamest
+2000-10-06 21:02  jamest
 
        * samples/contact.gfd, samples/zip_code.gfd, src/DBobjectserver.py,
        src/DBpostgresql.py, src/DSobjectServer.py, src/DSpostgresql.py,
-       src/GFEvent.py, src/GFForm.py, src/GFObjects.py, src/Makefile.am: 
-       Partially functional query system 
+       src/GFEvent.py, src/GFForm.py, src/GFObjects.py, src/Makefile.am:
+       Partially functional query system
 
-2000-10-06 05:25  jamest
+2000-10-06 00:25  jamest
 
        * samples/contact.gfd, src/DSpostgresql.py, src/GFForm.py,
-       src/GFObjects.py, src/UIwxpython.py: More database related changes 
+       src/GFObjects.py, src/UIwxpython.py: More database related changes
 
-2000-10-04 05:25  dneighbors
+2000-10-04 00:25  dneighbors
 
-       * samples/sc_po_entry.gfd: Closed datasource tags.  
+       * samples/sc_po_entry.gfd: Closed datasource tags.
 
-2000-10-04 05:04  jamest
+2000-10-04 00:04  jamest
 
        * doc/just, samples/contact.gfd, samples/sc_po_entry.gfd,
        src/DSpostgresql.py, src/GFClient.py, src/GFEvent.py,
        src/GFForm.py, src/GFObjects.py, src/GFOptions.py, src/GFParser.py,
-       src/GFTrigger.py, src/GFView.py, src/UIbase.py: More database stuff 
+       src/GFTrigger.py, src/GFView.py, src/UIbase.py: More database stuff
        Modied sc_po_entry.gfd to do triggers and database stuff Global
        debug level support Cleaned up some crap (old code and files not
-       needed anymore) 
+       needed anymore)
 
-2000-10-04 01:19  jamest
+2000-10-03 20:19  jamest
 
        * src/: DPyGetOpt.py, DSpostgresql.py, GFClient.py,
        GFCursesPanel.py, GFCursesView.py, GFForm.py, GFObjects.py,
        GFParser.py, GFTrigger.py, UIbase.py, UIwxpython.py: Added Chris
        Trigger Code Removed files no longer in use Start of data access in
-       place 
+       place
 
-2000-10-03 14:38  dneighbors
+2000-10-03 09:38  dneighbors
 
        * samples/sc_po_entry.gfd: Initial Checkin of REALLY SIMPLE
-       Purchase Order.  
+       Purchase Order.
 
-2000-09-29 22:31  dneighbors
+2000-09-29 17:31  dneighbors
 
        * src/GFClient.py: Ripped out dependency on DPyGetOpt replaced with
        GFGetOpt.py.  Error handling on passing invalid arguments still
-       needs to be done as the getopt module doesnt do this.  
+       needs to be done as the getopt module doesnt do this.
 
-2000-09-29 22:30  dneighbors
+2000-09-29 17:30  dneighbors
 
        * src/GFGetOpt.py: Replacement to DPyGetOpt.py for licensing and
-       standardization reasons.  
+       standardization reasons.
 
-2000-09-29 17:15  dneighbors
+2000-09-29 12:15  dneighbors
 
        * src/UIwxpython.py: def stdHandler(self): Added logic for password
        option on GFEntry.  I am thinking this isnt proper place for it
-       exactly but its a start.  
+       exactly but its a start.
 
-2000-09-29 06:05  dneighbors
+2000-09-29 01:05  dneighbors
 
-       * src/GFParser.py: classXMLOElement:StartTag()- 
+       * src/GFParser.py: classXMLOElement:StartTag()-
+       
        I found old .gfd files had option vs. options and it crashed.  I
        didnt have time to fully investigate.  For stop gap trap error on
        this code and throw tag name that is barfing.  This needs to be
        handled correctly this is just to prevent people from freaking if
        they are using old .gfd file. (i know i am dreaming that there is a
-       user base to worry about. :)) 
+       user base to worry about. :))
 
-2000-09-29 05:53  dneighbors
+2000-09-29 00:53  dneighbors
 
-       * NEWS: Added things from ChangeLog to feature set.  
+       * NEWS: Added things from ChangeLog to feature set.
 
-2000-09-29 05:24  dneighbors
+2000-09-29 00:24  dneighbors
 
        * src/GFClient.py: load file error trapping has always been
-       incorrect just noticed.  
+       incorrect just noticed.
+       
        GFForm(fp) called regardless so any errors in it are deemed as cant
-       find file. :)  This is fixed.  
+       find file. :)  This is fixed.
 
-2000-09-29 04:05  jamest
+2000-09-28 23:05  jamest
 
        * src/: GFClient.py, GFForm.py, GFObjects.py: Ripped out the code I
        added yesterday that dealt with in memory records Added event based
        replacement code for same feature Added URL gfd support back into
-       gnuef 
+       gnuef
 
-2000-09-28 04:09  jamest
+2000-09-27 23:09  jamest
 
        * src/: GFForm.py, GFObjects.py, UIwxpython.py: Initial support for
        multiple records in form memory New Records added via F12 key typo
-       in gedi.conf 
+       in gedi.conf
 
-2000-09-26 22:26  jamest
+2000-09-26 17:26  jamest
 
        * AUTHORS, samples/contact.gfd, samples/form.gfd,
        samples/form2.gfd, samples/login.gfd, samples/myform.gfd,
        src/GFForm.py, src/GFParser.py: Added Chris Spence's Parser to
-       gnuef various corrections to sample forms to ensure they all work 
+       gnuef various corrections to sample forms to ensure they all work
 
-2000-09-26 02:57  jamest
+2000-09-25 21:57  jamest
 
-       * samples/contact.gfd: Minor alterations to runtime file locations 
+       * samples/contact.gfd: Minor alterations to runtime file locations
 
-2000-09-26 02:55  jamest
+2000-09-25 21:55  jamest
 
-       * src/: DSobjectServer.py, GFClient.py, GFForm.py, GFObjects.py: 
-       Start of code for data sources Very ugly and broken Ignore it - it's
-       so andrew can play too :) 
+       * src/: DSobjectServer.py, GFClient.py, GFForm.py, GFObjects.py:
+       Start of code for data sources Very ugly and broken Ignore it -
+       it's so andrew can play too :)
 
-2000-09-24 08:21  dneighbors
+2000-09-24 03:21  dneighbors
 
-       * ChangeLog: This is how its to be done.  
+       * ChangeLog: This is how its to be done.
 
-2000-09-24 07:59  dneighbors
+2000-09-24 02:59  dneighbors
 
        * ChangeLog: Brought some history over.  Really need to have
        ChangeLog created off of CVS.. What changelog currently looks like
-       should really probably be more the NEWS file.  
+       should really probably be more the NEWS file.
 
-2000-09-23 08:19  dneighbors
+2000-09-23 03:19  dneighbors
 
-       * ChangeLog: Password Support Added.  
+       * ChangeLog: Password Support Added.
 
-2000-09-23 08:17  dneighbors
+2000-09-23 03:17  dneighbors
 
        * src/GFClient.py: Added password attribute.  Its not mandatory. 
        Defaults to false.  To make an entry a password simply add
-       password="true" attrib to entry tag.  Look at login.gfd for sample.  
+       password="true" attrib to entry tag.  Look at login.gfd for sample.
 
-2000-09-23 08:16  dneighbors
+2000-09-23 03:16  dneighbors
 
        * samples/login.gfd: Sample REALLY BASIC login screen.. Test for
-       password box...  
+       password box...
 
-2000-09-23 04:22  dneighbors
+2000-09-22 23:22  dneighbors
 
        * samples/form.gfd: Changed the defualt attribute to value and
-       updated look and feel slightly.  
+       updated look and feel slightly.
 
-2000-09-23 04:21  dneighbors
+2000-09-22 23:21  dneighbors
 
-       * ChangeLog: Added line about new and updated samples 
+       * ChangeLog: Added line about new and updated samples
 
-2000-09-23 03:23  dneighbors
+2000-09-22 22:23  dneighbors
 
-       * ChangeLog: added focus note 
+       * ChangeLog: added focus note
 
-2000-09-23 03:16  dneighbors
+2000-09-22 22:16  dneighbors
 
        * configure.in: bumped to version 0.0.2.. is there a way to make
-       this read from GFClient.py?  I changed there first but it didnt pick
-       up so I manually changed here.  
+       this read from GFClient.py?  I changed there first but it didnt
+       pick up so I manually changed here.
 
-2000-09-23 02:55  dneighbors
+2000-09-22 21:55  dneighbors
 
        * README: Changed syntax on how to launch as gui= is now -u= Also
        added ref to README.wxwindows and fact no attribute checking takes
-       place DTD at somepoint will probably handle.  
+       place DTD at somepoint will probably handle.
+       
        These changes prompted by feedback from user last week how had
-       issues with broken samples and questions about validation.  
+       issues with broken samples and questions about validation.
 
-2000-09-23 02:41  dneighbors
+2000-09-22 21:41  dneighbors
 
-       * AUTHORS: added jade as autoconf support.  
+       * AUTHORS: added jade as autoconf support.
+       
        masta says: boyz if you touch code get your name in the authors
-       file. :) 
+       file. :)
 
-2000-09-23 02:38  dneighbors
+2000-09-22 21:38  dneighbors
 
        * autogen.sh: Changed project name from gedi to gnu_enterprise and
-       package name from gedi to gnue_forms.  
-       Mainly because at end it said now type make to compile gedi. :) 
+       package name from gedi to gnue_forms.
+       
+       Mainly because at end it said now type make to compile gedi. :)
 
-2000-09-21 23:52  jmeskill
+2000-09-21 18:52  jmeskill
 
        * .cvsignore, Makefile.am, autogen.sh, configure.in,
        doc/.cvsignore, doc/Makefile.am, old/.cvsignore, old/GFDom.pyc,
        old/GFUI.pyc, old/Makefile.am, old/gf.py.bak, samples/.cvsignore,
        samples/Makefile.am, src/.cvsignore, src/Makefile.am: Added
-       .cvsignore where necessary Added Makefile.am for dist building Added
-       configure.in to help Makefiles Added autogen.sh to build configure 
-       Removed .pyc and .bak files 
+       .cvsignore where necessary Added Makefile.am for dist building
+       Added configure.in to help Makefiles Added autogen.sh to build
+       configure Removed .pyc and .bak files
 
-2000-09-21 23:13  jamest
+2000-09-21 18:13  jamest
 
        * src/GFClient.py: Quick mod to GFClient.py to remove hardcoded
-       python location 
+       python location
 
-2000-09-20 01:34  jamest
+2000-09-19 20:34  jamest
 
-       * TODO, samples/contact.gfd, src/GFForm.py, src/UIwxpython.py: 
-       Added support for Previous/Next block navigation w/ auto page view
-       adjustment Previous Entry navigation Insert/Overwrite mode Altered
-       the sample/contact.gdf to demo multi-block per page behaviour 
-       Partial update to TODO list Broke GEDI config - Ignore it as all
-       code is being replaced later tonight 
+       * TODO, samples/contact.gfd, src/GFForm.py, src/UIwxpython.py:
+       Added support for   Previous/Next block navigation w/ auto page
+       view adjustment   Previous Entry navigation   Insert/Overwrite mode
+         Altered the sample/contact.gdf to demo multi-block per page
+       behaviour   Partial update to TODO list   Broke GEDI config -
+       Ignore it as all code is being replaced later tonight
 
-2000-08-28 18:40  jamest
+2000-08-28 13:40  jamest
 
-       * src/GFTrigger.py: Added missing GFTrigger.py module 
+       * src/GFTrigger.py: Added missing GFTrigger.py module
 
-2000-08-28 18:39  jamest
+2000-08-28 13:39  jamest
 
        * src/: GFForm.py, GFObjects.py: Added the start of the internal
-       trigger system 
+       trigger system
 
-2000-08-28 03:06  jamest
+2000-08-27 22:06  jamest
 
        * README.wxwindows, samples/contact.gfd, src/GFClient.py,
        src/GFController.py, src/GFCursesView.py, src/GFEvent.py,
        src/GFForm.py, src/GFObjects.py, src/UIbase.py, src/UIpyncurses.py,
        src/UIwxpython.py: Internal event system functional Added support
        for data entry/basic cursor control into form and UIwxpython Added
-       the start of mouse support in UIwxpython (focus switching only) More
-       features in UIbase Started conversion of UIpyncurses to support
-       UIbase and other new features Cleaned up base objects 
+       the start of mouse support in UIwxpython (focus switching only)
+       More features in UIbase Started conversion of UIpyncurses to
+       support UIbase and other new features Cleaned up base objects
 
-2000-08-24 03:35  dneighbors
+2000-08-23 22:35  dneighbors
 
-       * src/DPyGetOpt.py: Class file for parsing command line.  
+       * src/DPyGetOpt.py: Class file for parsing command line.
 
-2000-08-24 03:34  dneighbors
+2000-08-23 22:34  dneighbors
 
-       * src/GFClient.py: Add support for command line options such as: 
-       -v : version -d : debug -u : ui -h : help 
-       $python GFClient.py -h will tell you a lot.  
+       * src/GFClient.py: Add support for command line options such as:
+       
+       -v : version -d : debug -u : ui -h : help
+       
+       $python GFClient.py -h will tell you a lot.
+       
        Also added some error handling so it complains if you give it bad
        arguments and validates that form definition file exists before
        trying to load it.  Its ugly and my first real python look, but I
-       like python. :) 
+       like python. :)
 
-2000-08-23 21:33  dneighbors
+2000-08-23 16:33  dneighbors
 
-       * src/GFClient.py: Created graceful exit on no passed parameters.  
+       * src/GFClient.py: Created graceful exit on no passed parameters.
 
-2000-08-19 22:56  dneighbors
+2000-08-19 17:56  dneighbors
 
-       * AUTHORS, COPYING, ChangeLog, INSTALL, NEWS: more FSF stuff..  
+       * AUTHORS, COPYING, ChangeLog, INSTALL, NEWS: more FSF stuff..
 
-2000-08-14 02:47  jamest
+2000-08-13 21:47  jamest
 
        * AUTHORS, README, TODO, src/GFClient.py, src/GFController.py,
        src/GFEvent.py, src/UIbase.py, src/UIpyncurses.py,
        src/UIwxpython.py: Removed the need to call seperate programs for
-       different UIs GFClient takes a command line switch to choose UI Some
-       code cleanup (more needed) Start of new event system, controller 
-       Start of UIbase to make building UImodules easier 
+       different UIs GFClient takes a command line switch to choose UI
+       Some code cleanup (more needed) Start of new event system,
+       controller Start of UIbase to make building UImodules easier
 
-2000-07-24 06:09  dneighbors
+2000-07-24 01:09  dneighbors
 
        * doc/gnuef.idl: Here's a minor update to gnuef.idl.  It removes
-       handleEvent() from the Controller interface (which is now redundant,
-       with the existance of a method of the same name in TriggerOwner,
-       which Controller extends; this should have been done in rev 1.7, but
-       just got missed), and adds a new readonly attribute 'parent' to the
-       Controller interface IOT facilitate focus navigation via
-       ControllerContainer.traversibleComponents 
-
-2000-07-24 06:08  dneighbors
-
-       * doc/gnuef.idl: Here's the new IDL def.  Changes since v. 1.6: 
-       * added new enum EventKind 
-       * added new interface Event 
-       * added new interface TriggerOwner 
-       * moved event/trigger handling from Object to TriggerOwner 
-       * Object is now a sub-interface of TriggerOwner 
-       * Controller is now a sub-interface of TriggerOwner 
-       Note, my event types are slightly different from jamest's.  Where is
-       his are action-based ('nextPage', 'nextEntry', etc), mine are
+       handleEvent() from the Controller interface (which is now
+       redundant, with the existance of a method of the same name in
+       TriggerOwner, which Controller extends; this should have been done
+       in rev 1.7, but just got missed), and adds a new readonly attribute
+       'parent' to the Controller interface IOT facilitate focus
+       navigation via ControllerContainer.traversibleComponents
+
+2000-07-24 01:08  dneighbors
+
+       * doc/gnuef.idl: Here's the new IDL def.  Changes since v. 1.6:  *
+       added new enum EventKind  * added new interface Event  * added new
+       interface TriggerOwner  * moved event/trigger handling from Object
+       to TriggerOwner  * Object is now a sub-interface of TriggerOwner  *
+       Controller is now a sub-interface of TriggerOwner
+       
+       Note, my event types are slightly different from jamest's.  Where
+       is his are action-based ('nextPage', 'nextEntry', etc), mine are
        oriented around changes in state (blur, focus, etc).  At some point
-       (probably soon), we'll need to hash out these differences.  
+       (probably soon), we'll need to hash out these differences.
+       
        Also, right now the Event interface is used to represent both UI
-       events 
-       (blur, focus, keypress, etc) and DataSource events (commit,
+       events (blur, focus, keypress, etc) and DataSource events (commit,
        rollback, etc).  At some point we'll probably want to provide
        sub-interfaces of Event in order to represent data specific to one
-       type or another.  
+       type or another.
 
-2000-07-17 00:09  jamest
+2000-07-16 19:09  jamest
 
        * src/: GFController.py, GFForm.py: Fixed bug in the gfNEXTENTRY
-       form event 
+       form event
 
-2000-07-16 23:08  jamest
+2000-07-16 18:08  jamest
 
        * README, src/GFController.py, src/GFEvent.py, src/GFForm.py,
-       src/GFView.py: Updated README to include the pyXML dependency info 
-       Added start of internal events to GForms 
-       This is the first code that updates the UI based upon actions in the
-       GFForm object and not the UI widgets.  
-       This is very, very messy code.  I forsee the GFController becomming
+       src/GFView.py: Updated README to include the pyXML dependency info
+       Added start of internal events to GForms
+       
+       This is the first code that updates the UI based upon actions in
+       the GFForm object and not the UI widgets.
+       
+       This is very, very messy code.  I forsee the GFController becomming
        the application with GFController disappearing.  The event system
-       will moved into an inherited class instead of tacked on top.  
-       Now to start cleaning up :) 
+       will moved into an inherited class instead of tacked on top.
+       
+       Now to start cleaning up :)
 
-2000-07-15 22:18  dneighbors
+2000-07-15 17:18  dneighbors
 
        * doc/gnuef.idl: In an effort to combine like efforts and make a
        real push towards enterprise applications I am asking that you
-       please check out GNU Enterprise, a Free Software Foundation project.
-       We have about 150 list members currently and about 6 core
+       please check out GNU Enterprise, a Free Software Foundation
+       project.  We have about 150 list members currently and about 6 core
        developers.  The Just a minor update, fine-tuning the Form
+       interface:
        
-       interface: 
+        * made attribute 'title' readonly
+        * changed attribute type of 'width' from 'long' to 'unsigned long'
+        * changed attribute type of 'height' from 'long' to 'unsigned
+       long'
        
-       * made attribute 'title' readonly 
-       * changed attribute type of 'width' from 'long' to 'unsigned long' 
-       * changed attribute type of 'height' from 'long' to 'unsigned long' 
-       
-       Regards, Ian 
+       Regards, Ian
 
-2000-07-13 06:59  dneighbors
+2000-07-13 01:59  dneighbors
 
        * doc/gnuef.idl: This version implements some of the ideas JamesT
-       put forth in the Jul 06 IRC chat.  
+       put forth in the Jul 06 IRC chat.
+       
+       Specifically:  * added new interface Controller, with the following
+       attributes/methods:  * added new interface ContainerController,
+       which extends Controller  * added new enumeration DirectionKind,
+       for use with Controller->transferFocus()
        
-       Specifically: 
-       * added new interface Controller, with the following 
-       attributes/methods: 
-       * added new interface ContainerController, which extends Controller 
-       * added new enumeration DirectionKind, for use with 
-       Controller->transferFocus() 
        We still need some way to specify a focus cycle root object (unless
        the Form is always focus cycle root).  Here's what I'm talking
+       about:
        
-       about: 
-       Suppose you have the following GFD document: 
-       <FORM> <PAGE> <BLOCK> <LABEL> <ENTRY> <LABEL> <ENTRY> <LABEL> 
-       <ENTRY> </BLOCK> <BLOCK> <LABEL> <ENTRY> </BLOCK> </PAGE> </FORM> 
-       If you call transferFocus(dk_forward) on the Controller for the last 
-       ENTRY in the first BLOCK, should focus go to the first ENTRY of the 
-       second BLOCK (assuming traversibleComponents does not include
-       LABELs) or the first ENTRY of the first BLOCK? 
-
-2000-07-13 06:58  dneighbors
-
-       * doc/gnuef.idl: This version contains the following changes: 
-       * created new type ValueList 
-       * added readonly attribute 'widgets' to the Block interface 
-       * added new attributes to interface Label (all read/write) 
-       * x 
-       * y 
-       * added new attributes to interface Entry (all read/write) 
-       * x 
-       * y 
-       * width 
-       * height 
-       * defaultValue 
-
-2000-07-13 06:57  dneighbors
-
-       * doc/gnuef.idl: Here's an update to the GNUe Forms IDL def.  
-       Here's a summary of the changes: 
-       
-       * created new type 'BlockList' 
-       * created new type 'PageList' 
-       * added readonly attribute 'pages' to Form interface 
-       * added readonly attribute 'blocks' to Page interface 
-       * added read/write attribute 'title' to Block interface 
-       This last change allows for the creation of "Group Boxes" or "Titled 
-       Panes".  
-
-2000-07-13 06:56  dneighbors
-
-       * doc/gnuef.idl: This version adds the attributes "title", "width"
-       and "height" to the Form interface (extrapolated from sample GFD
-       documents), as well as two convenience methods, resizeTo() and
-       resizeBy().  
+       Suppose you have the following GFD document:
+       
+       <FORM>   <PAGE>     <BLOCK>       <LABEL>       <ENTRY>      
+       <LABEL>       <ENTRY>       <LABEL>       <ENTRY>     </BLOCK>    
+       <BLOCK>       <LABEL>       <ENTRY>     </BLOCK>   </PAGE> </FORM>
+       
+       If you call transferFocus(dk_forward) on the Controller for the
+       last ENTRY in the first BLOCK, should focus go to the first ENTRY
+       of the second BLOCK (assuming traversibleComponents does not
+       include LABELs) or the first ENTRY of the first BLOCK?
+
+2000-07-13 01:58  dneighbors
+
+       * doc/gnuef.idl: This version contains the following changes:  *
+       created new type ValueList  * added readonly attribute 'widgets' to
+       the Block interface  * added new attributes to interface Label (all
+       read/write)     * x     * y  * added new attributes to interface
+       Entry (all read/write)     * x     * y     * width     * height    
+       * defaultValue
+
+2000-07-13 01:57  dneighbors
+
+       * doc/gnuef.idl: Here's an update to the GNUe Forms IDL def.
+       
+       Here's a summary of the changes:
+       
+        * created new type 'BlockList'
+        * created new type 'PageList'
+        * added readonly attribute 'pages' to Form interface
+        * added readonly attribute 'blocks' to Page interface
+        * added read/write attribute 'title' to Block interface
+       
+       This last change allows for the creation of "Group Boxes" or
+       "Titled Panes".
+
+2000-07-13 01:56  dneighbors
+
+       * doc/gnuef.idl:  This version adds the
+       attributes "title", "width" and "height" to the Form interface
+       (extrapolated from sample GFD documents), as well as two
+       convenience methods, resizeTo() and resizeBy().
 
-2000-07-13 06:54  dneighbors
+2000-07-13 01:54  dneighbors
 
        * doc/gnuef.idl: IDL def of GNUe Forms Object Model.  Note, it does
        not include information on views (which I feel should be client
-       specific), and event handling still needs to be fleshed out.  - Ian 
+       specific), and event handling still needs to be fleshed out.  - Ian
 
-2000-07-06 23:34  jamest
+2000-07-06 18:34  jamest
 
-       * src/GFCursesPanel.py: removed import of missing GFUiEvent 
+       * src/GFCursesPanel.py: removed import of missing GFUiEvent
 
-2000-07-06 20:05  arno
+2000-07-06 15:05  arno
 
        * src/: GFCursesPanel.py, GFCursesView.py: GFCursesPanel.py
-       GFCursesView.py: initial versions 
+       GFCursesView.py: initial versions
 
-2000-07-06 16:05  jamest
+2000-07-06 11:05  jamest
 
-       * layout, src/GFForm.pyc, src/GFObjects.pyc, src/GFView.pyc: 
-       Removed files that didn't belong in CVS 
+       * layout, src/GFForm.pyc, src/GFObjects.pyc, src/GFView.pyc:
+       Removed files that didn't belong in CVS
 
-2000-07-06 04:28  jamest
+2000-07-05 23:28  jamest
 
        * TODO, samples/contact.gfd, src/GFForm.pyc, src/GFObjects.pyc,
-       src/GFView.pyc: Added more to TODO file Added missing sample form 
+       src/GFView.pyc: Added more to TODO file Added missing sample form
        Just noticed the .pyc files in the repository, they need pulled out
-       next update 
+       next update
 
-2000-07-06 02:44  jamest
+2000-07-05 21:44  jamest
 
        * GFApp.py, GFClient.py, GFController.py, GFDom.py, GFForm.py,
        GFLabel.py, GFObjects.py, GFUI.py, GFView.py, README,
@@ -929,16 +1462,16 @@
        samples/form2.gfd, src/GFController.py, src/GFForm.py,
        src/GFForm.pyc, src/GFObjects.py, src/GFObjects.pyc, src/GFView.py,
        src/GFView.pyc, src/stack.py: Re-organized gnuef directory
-       structure Added dynamic size of main and title to <form> element 
+       structure Added dynamic size of main and title to <form> element
        Added comments in code and some documentation Added generic object
-       handler to GFView Added stack.py (not implemented in code yet) 
-       Removed unneeded imports from .py files 
+       handler to GFView Added stack.py (not implemented in code yet)
+       Removed unneeded imports from .py files
 
-2000-07-05 16:50  jamest
+2000-07-05 11:50  jamest
 
        * GFApp.py, GFClient.py, GFController.py, GFDom.py, GFForm.py,
        GFLabel.py, GFObjects.py, GFUI.py, GFView.py,
        README.ObjectHierarchy, client-objects.dia, client.py, form.gfd,
        form2.gfd, gf.py, gf.py.bak, just, layout, simple_app.py, stack.py,
-       temp2.py: The first check in of GNUE Forms stuff.  
+       temp2.py: The first check in of GNUE Forms stuff.
 
Index: gnue/gnuef/NEWS
diff -u gnue/gnuef/NEWS:1.6 gnue/gnuef/NEWS:1.7
--- gnue/gnuef/NEWS:1.6 Fri Nov 24 20:04:11 2000
+++ gnue/gnuef/NEWS     Thu Jan 18 05:26:37 2001
@@ -1,3 +1,20 @@
+New features/changes in version 0.0.5: (1/17/01)
+o Numerous bug fixes
+o Major speed improvment
+o Python 2.0 compatibility
+o Initial ODBC driver support
+o Improved MySQL driver 
+o Improved trigger and master/detail support 
+o UI Enhancements:  Informational Dialogs, About now gives form info, 
+o                   Borders now available on forms, Enhanced status bar,
+o                   UI Login/splashscreen support
+o                   character base placement system
+o Addition of a newtext UI which uses pythons built in curses
+o Better internal debugging support
+o Removed all dependencies on autoconf
+o More documentation and samples provided
+
+
 New features/changes in version 0.0.4: (11/24/00)
 
 o Slight performance enhancements.
Index: gnue/gnuef/README
diff -u gnue/gnuef/README:1.12 gnue/gnuef/README:1.13
--- gnue/gnuef/README:1.12      Mon Dec 11 08:58:07 2000
+++ gnue/gnuef/README   Thu Jan 18 05:26:37 2001
@@ -28,6 +28,8 @@
     (not needed with python 1.6 or newer)
 
     PyXML (http://www.python.org/sigs/xml-sig/files/)
+            - or -
+          (http://sourceforge.net/projects/pyxml)
   
 
   Text Version Requirements:
@@ -50,6 +52,7 @@
        python setup.py build
        su
        python setup.py install
+
 
 To Test:
 
Index: gnue/gnuef/TODO
diff -u gnue/gnuef/TODO:1.39 gnue/gnuef/TODO:1.40
--- gnue/gnuef/TODO:1.39        Sun Jan 14 15:32:37 2001
+++ gnue/gnuef/TODO     Thu Jan 18 05:26:37 2001
@@ -1,60 +1,79 @@
-Tasks that someone is working on have the persons email and/or 
-name in []
+A name inside of [] means that person has taken that task
 
-I've broken msgboxs in triggers
-
-**MUST HAVES for 0.1.0
+**MUST HAVES for 0.0.5
 **  windows support (ODBC?) [jade]
-
-**Like to haves for 0.1.0
-**  Add support for more win/gtk like focus system
-      pgup/pgdown effect page not block
+**  win32 install instructions
 
-  Add layout manager support
+   Bugs 
+    I've broken msgboxs in triggers
 
-  clean up code  [everyone working on the code]
-    provide better seperation of Objects in the Data system
-    restore proper encapsulation in system
+    samples/geas/ needs table creation scripts or needs to instruct to
+      build the tables from geas samples to work properly.
 
-  Speed, speed, speed (it's pretty bad now w/ complex forms)
-    status bar speed is slow
+  Internal Enhancements
+    Speed, speed, speed (it's pretty bad now w/ complex forms)
 
-  need to add default attrib values support
-  
-  Create UI/Form event interactions for 
-    ability for ui/forms to launch other ui/forms
-    lookup dialogs
-  
-  Move things like database init in GFForm out of __init__ and 
-    into a initialize routine that is called via some type of 
-    uiINITIALIZED event so that a UI windows can prompt for things
-    like name/password.  
-
-  move initialize function into the base object and have them
-    call the initializes of their children so we can get rid of 
-    more of the self.walk nonsense
+    clean up code  [everyone working on the code]
+      provide better seperation of Objects in the Data system
+      restore proper encapsulation in system
+
+    Move things like database init in GFForm out of __init__ and 
+      into a initialize routine that is called via some type of 
+      uiINITIALIZED event so that a UI windows can prompt for things
+      like name/password.  
+
+      move initialize function into the base object and have them
+      call the initializes of their children so we can get rid of 
+      more of the self.walk nonsense
  
+    Rewrite the event system to allow greater efficency and flexibility
+
   Data source related
     Make modification of data lock the record in the backend (if supported)
 
-    Transaction support
+    Transaction support (begin and end wrapping block commits)
 
     Database error handling
+
+  Master/Detail
+    
+    Code should have details register w/ masters at startup instead of current 
blind search
 
-  Menu Enhancements
+    Deleting a master should delete all the detail records
+
+  UI Enhancements
   
     user extensible menus
 
+    Look into adding checkbox, button and memo box widgets.
+
     menus should disable options not available via events 
 
     Add toolbar support
+
+    ability for ui/forms to launch other ui/forms
 
-  Entry widget enhancements 
+    Go thru UIwxpython and UIcurses and pull out everything possible
+      that can be put in UIbase.  Maybe adjust UIpython to use NC*style
+      ojbects so that most of the core functionality can be moved to UIbase
 
+    Dropdowns don't allow you to go to next|prev record via up and down arrows
+
+  Entry enhancements 
+
+    need to add default attrib values support
+
     Add support of mouse focus to the charater
 
     taborder support
 
+    Add support for more win/gtk like focus system
+      pgup/pgdown effect page not block
+
+    Add layout manager support
+
+    lookup dialogs
+
   Long term:
 
     Create GNUE Forms: Designer the screen painter
@@ -63,8 +82,6 @@
 
     Possibly allow for pluggable UI implementation
 
-    Rewrite the event system to allow greater efficency and flexibility
-
     Modular .gfd files
 
     Add ENTITY support of localization
@@ -73,10 +90,3 @@
 
     Make other datasources accessible from forms easily
 
-  Nitpicks & bugs
-    Dropdowns don't allow you to go to next|prev record via up and down arrows
-    
-    samples/geas/ needs table creation scripts or needs to instruct to
-      build the tables from geas samples to work properly.
-
-    Add checkbox, button and memo box widgets.
Index: gnue/gnuef/samples/track/tracking.gfd
diff -u gnue/gnuef/samples/track/tracking.gfd:1.2 
gnue/gnuef/samples/track/tracking.gfd:1.3
--- gnue/gnuef/samples/track/tracking.gfd:1.2   Mon Jan  8 17:55:10 2001
+++ gnue/gnuef/samples/track/tracking.gfd       Thu Jan 18 05:26:37 2001
@@ -18,7 +18,8 @@
     <block name="blckdtsrcprogrammer" datasource="dtsrcprogrammer">
       <entry name="id" hidden=""/>
       <label text="Nick Name" x="1" y="1"/>
-      <entry name="ntryirc_handle" field="irc_handle" x="1" y="2" width="15" 
height="1"/>
+      <entry name="ntryirc_handle" field="irc_handle" x="1" y="2" width="15" 
height="1" tip="Person's IRC handle"/>
+
       <label text="Assign." x="18" y="1"/>
       <entry name="ntryassignment_status" field="assignment_status" x="18" 
y="2" width="5" height="1"/>
 
Index: gnue/gnuef/samples/zipcode/states.gfd
diff -u gnue/gnuef/samples/zipcode/states.gfd:1.9 
gnue/gnuef/samples/zipcode/states.gfd:1.10
--- gnue/gnuef/samples/zipcode/states.gfd:1.9   Sun Jan 14 15:32:37 2001
+++ gnue/gnuef/samples/zipcode/states.gfd       Thu Jan 18 05:26:37 2001
@@ -22,15 +22,15 @@
 
 
     <!-- Block of cities -->
-    <block name="cities"  datasource="dscities" master="state.state" 
detail="state_code">
+    <block name="cities"  datasource="dscities" master="state.state" 
detail="state">
       <label text="City" x="2" y="9"/>
       <entry name="city" field="city" x="2" y="10" width="20" visibleCount="5" 
/>
 
       <label text="ST" x="23" y="9"/>
-      <entry name="state" field="state_code" x="23" y="10" width="3" 
visibleCount="5" />
+      <entry name="state" field="state" x="23" y="10" width="3" 
visibleCount="5" />
 
       <label text="Zip" x="27" y="9"/>
-      <entry name="zip" field="zip" x="27" y="10" width="10" visibleCount="5" 
/>
+      <entry name="zip" field="zipcode" x="27" y="10" width="10" 
visibleCount="5" />
 
       <box x="1" y="8" width="37" height="8" label="State Cities"/>
 
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.61 gnue/gnuef/src/GFForm.py:1.62
--- gnue/gnuef/src/GFForm.py:1.61       Sun Jan 14 15:32:38 2001
+++ gnue/gnuef/src/GFForm.py    Thu Jan 18 05:26:37 2001
@@ -227,16 +227,13 @@
   def updateUIEntry(self,entry):
     self.dispatchEvent(GFEvent('updateENTRY',entry));
 
-  # This routine is only used once in GFObjects
-  #
   def findValue(self, blockname, fieldname):
     for block in self.blockList:
       if block.name == blockname:
-        for entry in block.entryList:
-          if entry.name == fieldname:
-            GFDebug.printMesg(2,"block %s with field %s found" % (block.name, 
entry.name))
-            value = entry.value
-            return value
+        value = block.dataSourceLink.getField(block.currentRecord,fieldname)
+        GFDebug.printMesg(2,"block %s with field %s found.  Value is %s" % 
(block.name, fieldname, value))
+        
+        return value
     return None
       
   def toggleInsertMode(self,event):
@@ -332,7 +329,8 @@
   def executeCommit(self, event):
     if not hasattr(self,'readonly'):
       for block in self.blockList:
-        self.currentBlock.processCommit()
+        GFDebug.printMesg(1, "Saving %s"%block.name)
+        block.processCommit()
       self.updateRecordStatus()
       self.updateRecordCounter()
     else:
Index: gnue/gnuef/src/GFObjects.py
diff -u gnue/gnuef/src/GFObjects.py:1.54 gnue/gnuef/src/GFObjects.py:1.55
--- gnue/gnuef/src/GFObjects.py:1.54    Sun Jan 14 15:32:38 2001
+++ gnue/gnuef/src/GFObjects.py Thu Jan 18 05:26:37 2001
@@ -196,7 +196,7 @@
   # processCommit
   #
   def processCommit(self):
-    GFDebug.printMesg(1, "processing commit")
+    GFDebug.printMesg(1, "processing commit on block %s"%self.name)
     self.mode='commit'
 
     # if this is a detail and the key isn't filled from master block then fill 
it
@@ -204,6 +204,7 @@
       masterBlock,masterField = string.split(self.master,'.')
       fieldValue = self.form.findValue(masterBlock, masterField)
       
+      GFDebug.printMesg(2, "Master field value is :%s:"%fieldValue)
       if len(fieldValue) > 0:
         for count in range(self.recordCount+1):
           self.dataSourceLink.setField(count,self.detail,fieldValue, TRUE)
@@ -211,12 +212,12 @@
     self.dataSourceLink.commit()
 
     self.recordCount = self.dataSourceLink.getLastRecordNumber()
-    self.currentRecord = 0
 
     # Switch to first record
-    self.switchRecord(0)
-    self.dispatchEvent(GFEvent('requestPREVRECORD',None))
-    self.dispatchEvent(GFEvent('requestNEXTRECORD',None))
+    # self.currentRecord = 0
+    # self.switchRecord(0)
+    # self.dispatchEvent(GFEvent('requestPREVRECORD',None))
+    # self.dispatchEvent(GFEvent('requestNEXTRECORD',None))
     self.mode='normal'
 
   #
@@ -281,6 +282,8 @@
           self.dataSourceLink.setField(0,self.detail,fieldValue,TRUE)
           self.dataSourceLink.query()
           self.recordCount = self.dataSourceLink.getLastRecordNumber()
+
+          # hack : this needs to reset UI 
                   
         self.switchRecord(0)
 
@@ -503,7 +506,8 @@
 
             for newkey in result.keys():
               self.resultSet[count][newkey] = result[newkey]
-            
+              print newkey, self.resultSet[count][newkey]
+              
       self.dataConnection.commit()
 
       # Clean up record list
Index: gnue/gnuef/src/UIcurses.py
diff -u gnue/gnuef/src/UIcurses.py:1.3 gnue/gnuef/src/UIcurses.py:1.4
--- gnue/gnuef/src/UIcurses.py:1.3      Sun Jan 14 20:19:26 2001
+++ gnue/gnuef/src/UIcurses.py  Thu Jan 18 05:26:37 2001
@@ -17,36 +17,17 @@
 
 import curses
 import string
-#from curses import ascii
-#from curses.wrapper import wrapper
 
-def COLOR_PAIR(pair):
-  return pair<<8
-
-debug=1
-
 class GFCursesPanel:
 
   def __init__(self):
     self.stdscr=None
-##    self.kbdFuncs={
-##      curses.KEY_DC:ncurses.form.REQ_DEL_CHAR,
-##      curses.KEY_BACKSPACE:ncurses.form.REQ_DEL_PREV,
-##      curses.KEY_UP:ncurses.form.REQ_UP_FIELD,
-##      curses.KEY_DOWN:ncurses.form.REQ_DOWN_FIELD,
-##      curses.KEY_RIGHT:ncurses.form.REQ_NEXT_CHAR,
-##      ord('\n'):ncurses.form.REQ_NEXT_FIELD,
-##      curses.KEY_LEFT:ncurses.form.REQ_PREV_CHAR,
-##      curses.KEY_HOME:ncurses.form.REQ_BEG_FIELD,
-##      curses.KEY_END:ncurses.form.REQ_END_FIELD,
-##      curses.KEY_NPAGE:ncurses.form.REQ_NEXT_PAGE,
-##      curses.KEY_PPAGE:ncurses.form.REQ_PREV_PAGE
-##    }
     self.stdscr=curses.initscr()
-    self.stdscr.keypad(1)
+    self.stdscr.keypad(0)
     curses.noecho()
     curses.nonl()
     self.fields=[]
+    self.ncfield = None
     self.exiteventloop=FALSE
     #
     # Ensure program exits cleanly(only supported in Python2.0 and above)
@@ -107,7 +88,9 @@
                       curses.KEY_F9:          GFEvent('executeQUERY'),
                       curses.KEY_F11:         GFEvent('requestROLLBACK'),
                       curses.KEY_F12:         GFEvent('requestNEWRECORD') ,
-                      9:GFEvent('requestNEXTENTRY')
+                      # Hacks for odd mismatch of keycodes returns vs 
curses.KEY_*
+                      9             :         GFEvent('requestNEXTENTRY'),
+                      127           :         GFEvent('requestBACKSPACE'),     
      
                       }
     
     self.incommingEvent.update( {'gotoENTRY'  : self.switchFocus,
@@ -125,18 +108,21 @@
     self.currentPage = -1
     self.buildUI()
 
+
   def mainLoop(self):
     self.doSplashScreen()
     self.onMain()
     self.frame.refresh()
+    self.ncfield.refresh()
     curses.doupdate()
     while not self.exiteventloop:
       ev=self.frame.getInput()
       self.uiEventTrap(ev)
+      self.frame.refresh()
+      self.ncfield.refresh()
 
   def uiEventTrap(self, event):
     try:
-      GFDebug.printMesg(2, "%d"%event)
       action = self.keyEvents[event]
       self.dispatchEvent(action)
     except KeyError:
@@ -145,18 +131,17 @@
         self.dispatchEvent(action)
       else:            
         GFDebug.printMesg(3, "Dude!  Unsupported Event! %s"% event)
+    
+#
+#
+# Handlers used by buildUI to add widgets to the UI
+#
+#
 
-  #
-  # Handlers used by buildUI to add widgets to the UI
-  #
   def formHandler(self):
     object = self.currentObject[0]
-    container = self.currentWidget[0]
-
-    print object.width, object.height
-
-    self.frame = NCMain()
-    
+    container = self.currentWidget[0]    
+    self.frame = NCMain()    
     return self.frame
     
   def pageHandler(self):
@@ -178,36 +163,43 @@
     container = self.currentWidget[0]
 
     widget = []
-    if not hasattr(object,'visibleCount'):
-      object.visibleCount = 1
+    if not hasattr(object,'hidden'):
       
-    count = int(object.visibleCount)
+      if not hasattr(object,'visibleCount'):
+        object.visibleCount = 1
+      
+      count = int(object.visibleCount)
 
-    if hasattr(object,'style'):
-      style = object.style
-    else:
+      if hasattr(object,'style'):
+        style = object.style
+      else:
+        style = 'text'
+ 
+      #
+      #Temp hack until I design choices
+      #
       style = 'text'
-
-#
-#Temp hack until I design choices
-#
-    style = 'text'
-#End Hack
-    for spacer in range(count):
-      spacer = int(spacer)
+      #End Hack
+      
+      for spacer in range(count):
+        spacer = int(spacer)
 
-      if style == 'dropdown':
-        choices = []
-        values = object.allowedValues()
-        for key in values.keys():
-          choices.append(values[key])
-        choices.sort()
-        field = 
self.addChoice(int(object.x),int(object.y)+spacer,int(object.width),
-                                  choices,self.newPage, object)
-      else:
-        field = NCEntry( container, int(object.y)+spacer, int(object.x), 1, 
int(object.width) )
-      self.newPage=0
-      widget.append(field)
+        if style == 'dropdown':
+          choices = []
+          values = object.allowedValues()
+          for key in values.keys():
+            choices.append(values[key])
+          choices.sort()
+          field = 
self.addChoice(int(object.x),int(object.y)+spacer,int(object.width),
+                                    choices,self.newPage, object)
+        else:
+          field = NCEntry( container, int(object.y)+spacer, int(object.x), 1, 
int(object.width) )
+        self.newPage=0
+        widget.append(field)
+
+     
+      if self.ncfield == None:
+        self.ncfield = widget[0]
 
     return widget
 
@@ -220,12 +212,13 @@
     GFDebug.printMesg( 1, "Don't forget to add page handling")
     self.newPage=0
     return label
-      
-  #
-  # Event handlers
-  #
-  # Methods called to deal with incomming events
-  #
+
+#
+# Event handlers
+#
+# Methods called to deal with incomming events
+#
+
   def adjustMultiView(self, event):
     block = event.data.block.form.currentBlock
 
@@ -275,8 +268,6 @@
 
       self.formToUI[entry][1] = index
 
-      #print "adjusted entity index ", self.formToUI[entry][1]
-
   def gotoPage(self, event):
     index = self.formToUI[event.data][1]
     page = self.formToUI[event.data][0][index]
@@ -284,14 +275,14 @@
       each.hide()
     page.show()
     self.form.draw()
-    self.form.refresh()
+    #self.form.refresh()
 
   def switchFocus(self, event):
     index = self.formToUI[event.data][1]
-    ncfield = self.formToUI[event.data][0][index]
-    self.frame.setFocus(ncfield)
-    self.frame.refresh()
-    ncfield.window.refresh()
+    self.ncfield = self.formToUI[event.data][0][index]
+    self.frame.setFocus(self.ncfield)
+    #self.frame.refresh()
+    #self.ncfield.window.refresh()
     curses.doupdate()
     
   def updateEntry(self,event):
@@ -342,12 +333,13 @@
             value = event.data.allowedValues()[value]
         self.formToUI[event.data][0][count].setText(value)
       count = count +1   
-    self.frame.refresh()
+    #self.frame.refresh()
     curses.doupdate()
 
     # move the cursor to where it should be on the screen
     ncfield.window.move(positiony, positionx)
-    ncfield.window.refresh () 
+    #ncfield.window.refresh ()
+    
     curses.doupdate()
     
   def updateStatus(self, event):
@@ -358,6 +350,9 @@
       self.frame.setStatus( str(tip) )
 
     self.frame.draw()
+    #self.frame.refresh()
+    #self.ncfield.window.refresh()
+
     curses.doupdate()
 
   def gotoPage( self, event ):
@@ -442,6 +437,14 @@
     panel.getch()
     panel.erase()
 
+
+#
+#
+#  Custom widgets to implement featuers in curses
+#
+#
+
+
 class NCWidget:
   #
   #A simple base class representing a curses widget
@@ -502,18 +505,29 @@
             pminrow, pmincol = ( 0, 0)
             page.window.nooutrefresh()
             
-    if (self.parent == None):
-      widget = self
-      while (widget.focus != None):
-        widget = widget.focus
-        if widget.infocus:
-          wy, wx = ( widget.cursy, widget.cursx )
-          sy, sx = self.window.getbegyx()
-          cy, cx = widget.window.getbegyx()
-          y = wy + cy - sy
-          x = wx + cx - sx
-          self.window.move( y, x )
-          self.window.refresh()
+##    if (self.parent == None):
+##      widget = self
+##      while (widget.focus != None):
+##        widget = widget.focus
+##        if widget.infocus:
+##          wy, wx = ( widget.cursy, widget.cursx )
+##          sy, sx = self.window.getbegyx()
+##          cy, cx = widget.window.getbegyx()
+##          y = wy + cy - sy
+##          x = wx + cx - sx
+##          self.window.move( y, x )
+##         self.window.refresh()
+    widget = self
+    while (widget.focus != None):
+      widget = widget.focus
+      #if widget.infocus:
+      wy, wx = ( widget.cursy, widget.cursx )
+      sy, sx = self.window.getbegyx()
+      cy, cx = widget.window.getbegyx()
+      y = wy + cy - sy
+      x = wx + cx - sx
+      self.window.move( wy, wx )
+      self.window.refresh()
 
 class NCForm(NCWidget):
   #
@@ -571,10 +585,6 @@
   def __init__(self, parent, line, col, text, attr=curses.A_BOLD):
     NCWidget.__init__(self, parent)
 
-    #print parent.window.getbegyx ()
-    #print parent.window.getmaxyx () 
-    #print 1, len(text), line+ , col
-
     parentY, parentX = parent.window.getbegyx ()
     self.window = parent.window.subwin( 1, len(text), parentY+line, 
parentX+col)
     self.subwin = 1
@@ -632,10 +642,6 @@
       for index in range(len(text)-1,-1,-1):
         self.window.insch(line, 0, ord(text[index]))
 
-      #for character in self.text:
-      #  self.window.insch(line,0, character)
-            
-      #self.window.insstr( line, 0, text)
 
   def setText(self, text):
     self.text = text
@@ -655,67 +661,41 @@
     self.boxes=[]
     self.pages=[]
 
-    topmsg=("GNUe Forms")
+    topmsg=string.ljust("GNUe Forms",cols-4)
 
     bottommsg1=("F5  Delete Record   F6  Commit Record      ")
     bottommsg2=("F8  Enter Query     F9  Run Query          |")
     bottommsg3=("F12 New Record      F11 Rollback           ")
     
-    statusmsg=("Welcome to GNUe Forms!  Would someone please tell us we can 
stop coding?")
+    statusmsg="Welcome to GNUe Forms!  Would someone please tell us we can 
stop coding?"
 
     self.main = NCForm(self, lines - 5, cols, 1, 0)
     
     # A top window for title etc.
     self.top = NCForm(self, 1, cols, 0, 0)
-#    self.top.attrset(curses.A_REVERSE)
-    self.topmsg = NCLabel( self.top, 0, 2, topmsg, attr=curses.A_NORMAL ) 
-#    self.top.chgat(cols, curses.A_REVERSE, 0)
+    self.topmsg = NCLabel( self.top, 0, 2, topmsg, attr=curses.A_REVERSE ) 
 
     # ncurses statusbar
     self.bottom = NCForm( self, 3, cols, lines-4, 0)
-
     self.bottommsg1 = NCLabel(self.bottom, 0, 2, bottommsg1, 
attr=curses.A_NORMAL)
     self.bottommsg2 = NCLabel(self.bottom, 1, 2, bottommsg2, 
attr=curses.A_NORMAL)
     self.bottommsg3 = NCLabel(self.bottom, 2, 2, bottommsg3, 
attr=curses.A_NORMAL)
     
     # GNUef statusbar
     self.status = NCForm( self, 1, cols, lines-1, 0)
-#    self.status.attrset(A_REVERSE)
-    self.statusmesg = NCLabel(self.status, 0, 2, statusmsg, 
attr=curses.A_NORMAL)
-#    self.status.chgat(COLS(), curses.A_REVERSE, 0)
+    self.statusmesg = NCLabel(self.status, 0, 2, 
string.ljust(statusmsg,cols-4), attr=curses.A_REVERSE)
     self.refresh()
 
   def getBook(self):
     return self.main
 
   def setStatus(self, text):
-    self.statusmesg.setText(text)
+    lines, cols = self.window.getmaxyx()
+    self.statusmesg.setText(string.ljust(text,cols-4))
 
   def getInput(self):
     ev = self.window.getch()
     return ev
-##   def handleEvent(self, event):
-##     result = 0
-##     field = self.ncform.current_field()
-##     action = None
-##     if not isinstance(field, ncurses.form.LABEL):
-##       test = field.fld_userptr[0]
-##       object = field.fld_userptr[1]
-##     else:
-##       test = ""
-##     if (test == "choice"):
-##       if ( event==ncurses.curses.KEY_UP ):
-##         error = self.ncform.form_driver( ncurses.form.REQ_PREV_CHOICE )
-##         self.draw()
-##         result = 1
-##       elif ( event==ncurses.curses.KEY_DOWN ):
-##         error = self.ncform.form_driver( ncurses.form.REQ_NEXT_CHOICE )
-##         self.draw()
-##         result = 1
-##       if (result == 1):
-##         eventdata = [object, string.strip(field.field_buffer())]
-##         action = GFEvent('requestREPLACEVALUE', eventdata)
-##     return action
 
   def addBox( self, height, width, x, y ):
     self.boxes.append( (height, width, x, y) )
@@ -727,10 +707,4 @@
       pass
     elif 0: #(focus, NCChoice):
       pass
-
-#    for box in self.boxes:
-#      bheight, bwidth, bx, by = box
-#      subwin = self.subwin(bheight, bwidth, by, bx)
-#      subwin.box(0, 0)
-#      del subwin
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]