[ANN] Dabo 0.4.2 released!

Ed Leafe ed at leafe.com
Sat Oct 8 17:45:26 CEST 2005

     We are pleased to announce the 0.4.2 release of Dabo, the 3-tier  
application framework for Python.

     The primary focus of our work for this release has been a  
tightening up of the various properties of many of the UI controls to  
create a more consistent interface. Since these controls were  
developed one at a time as needed, they had some subtle but  
significant differences in the way they worked. This release  
addresses a lot of those concerns.

     We've also added auto-binding of methods to events. For example,  
if you want to have your code react to MouseEnter event, all you need  
to do is add a method named onMouseEnter(), and Dabo will bind it to  
that event. Thanks to the PythonCard folks for this idea!

     Work on the Report Writer continues to proceed; it now supports  
groups and report variables. These improvements have been integrated  
it into the wizard-generated apps, too.

     Needless to say, there have also been a few bug fixes. A list of  
all the changes follows my sig. You can grab the latest, as always,  
from http://dabodev.com/download.

-- Ed Leafe
-- http://leafe.com
-- http://dabodev.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Dabo-0.4.2 (2005-10-07) (Revision 1418):
Added PrimaryBizobj property to dForm, which can replace calls to  

Added Accepted property to dOkCancelDialog, which gets set  
automatically if the
user pressed "OK".

Added AutoSQL, UserSQL, CurrentSQL, LastSQL properties to dCursor and  
When time to requery, the SQL will come from UserSQL if set, or  
AutoSQL will
be regenerated.

Fixed a bug that kept changes to a new record from getting committed.

Added DefaultValues property to bizobj.

Added ListSelection and ListDeselection events to dListControl. Added  
MultipleSelect, HitIndex, LastSelectedIndex, HeaderVisible,  
and VerticalRules. Changed the behavior of both dListControl and  
dListBox so that merely selecting an item doesn't raise the Hit  
event; instead, it raises a ListSelection event, and if another item  
had been previously selected, it raises a ListDeselection event. Hit  
is only raised from double-clicking on an item, or by pressing Enter.

Added new property to dTextBox: StrictDateEntry. Changed the code for
interpreting dates entered by the user to allow for some less explicit
formats (YYYYMMDD, YYMMDD, and MMDD). If StrictDateEntry is False (the
default), these other formats will be used when interpreting dates
entered by the user.

Added field-level validation to the framework.

Improved support for decimal.Decimal, both at the database level and in

Added new auto event binding, which automatically binds events based  
on any
defined callback functions. For example, if you have a method  
defined, the dEvents.MouseEnter will automatically be bound to that  
Inspired by PythonCard.

Added RegID property to forms, that allows for object registration
with the form. Not all objects require RegIDs, but if they have one,
they must be unique among all objects in a form. A reference to that
object can then be gotten from any other object by calling

Linked RegID to the auto event binding, so that if a form has a method
of onHit_cmdOK(), and has a button with a RegID of 'cmdOK', the
cmdOk's Hit will get bound to the form's callback, automatically.

Improved dGrid and dColumn. Many properties added, and you are now in  
finer control over the display of grid column headers, grid cell  
grid cell editors and renderers, and the grid itself.

Began work of allowing case-insensitive property values for  
properties that
take string values, and for properties that take a limited number of  
where the first letter is unique, you can set the property by just  
using the
first letter. dTextBox.Alignment = "c" sets the property to "Center",  

Modified dBizobj, dCursorMixin, and dBackend so that the user can  
the Unicode Encoding to use. Changed the default encoding from  
latin-1 to

Added feature to optionally draw sizer outlines on any form that uses  
This is currently accessible via an option in the View menu when the  
menu bar is in use, or you can turn it on/off programatically.

Grids now remember the column that is sorted, and resort when next  

Added support in dReportWriter for report groups and report  
variables, and
dynamic band heights (based on the height of contained objects).  
Added showExpr,
which is an expression that evaluates at runtime and if true, shows  
the object
in the report, and not if false.

Improved the automatic print preview report format in datanav. It now:

     + prints column headers

     + mirrors the font size, column width, cell vertical and horizontal
       alignment, and column height of the grid

     + mirrors the font size, header height, vertical and horizontal
       alignment of the grid headers

     + automatically reorients to landscape if the detail flows  
beyond the width
       of portrait

     + stops printing more columns if doing so would result in  
overflowing the
       right margin

Key bindings are now case-insensitive.

Improved docstrings and API documentation.

More information about the Python-list mailing list