[ANN] Dabo 0.4.2 released!
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,
-- Ed Leafe
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
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
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
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
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
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
dynamic band heights (based on the height of contained objects).
which is an expression that evaluates at runtime and if true, shows
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
+ stops printing more columns if doing so would result in
Key bindings are now case-insensitive.
Improved docstrings and API documentation.
More information about the Python-list