[ANN] Dabo 0.4 Released

E

Ed Leafe

We are pleased to announce Dabo 0.4, the fourth major release of our data
application framework. The Dabo framework is a true 3-tier design, with data
access and UI code separated from your business logic. And since it's Python,
and uses wxPython for its UI, it is completely cross-platform, having been
tested on Linux, Windows and OS X.

Download from http://dabodev.com/download

This is the first major release of Dabo that doesn't involve major changes to
the way things work; nearly all the changes were bugfixes and
'under-the-hood' tightening up of the code. I suppose that this is a good
sign, and indicates that we have progressed further than a '0.4' version
indicates, but we are being deliberately conservative with our version
numbering. Nearly all the changes involve the UI layer, demonstrating both
the complexity of wrapping a UI toolkit as well as the maturity and stability
of our business object and database layers.

Anyone interested in contributing to Dabo, or who just want to find out what
it is all about is encouraged to join our mailing lists:
dabo-users: for those interested in learning how to work with Dabo to create
applications, and for general help with Dabo.
http://leafe.com/mailman/listinfo/dabo-users
dabo-dev: for those interested in the ongoing development of Dabo. This list
contains lots of lively discussion on design issues, as well as notices of
all commits to the code repository.
http://leafe.com/mailman/listinfo/dabo-dev


Here is a brief summary of what's new in Dabo 0.4:

The dGrid class has been re-written. It allows you to directly work with
Column and Header objects, where setting properties of these objects changes
the appearance and behavior of the grid. It also has several convenience
methods, such as 'buildFromDataSet()', which allows you to pass it a set of
data, and have the grid construct itself to properly display that data. Added
the property 'HeaderBackgroundColor' to the Column class to control the
background color of that column's header.

Added the ability to edit values in a grid, which is toggled by a single
boolean property of the grid named 'Editable'. Created basic renderer and
editor classes for various data types that allow you to control how values
are displayed and edited, respectively.

Created several visual variations of the 'pageframe' object (called a
'Notebook' in wxPython). The standard 'dPageFrame' uses tabs to select the
various pages, but now there are also 'dPageList', which uses a listbox to
select its pages, and 'dPageSelect', which uses a dropdown list. There is
also a new class 'dPageNoTabs', which, as its name suggests, has no visible
means of changing pages. This class is used for those situations where you
only want to change pages programmatically (e.g., a wizard form).

Updated the DataNav framework to take advantage of these pageframe changes.
The Form class has two new attributes: 'pageFrameStyle', which is one of
'Tabs', 'List' or 'Select'; and 'tabPosition', which is one of 'Top',
'Bottom', 'Left' or 'Right'.

Simplified many of the functions that previously required creating instances
of the various dialog types, showing them, and then later destroying them.
Now, instead of going through all that, simply make a call such as
'dabo.ui.getColor("green")', and Dabo will display a Color Selection dialog,
default to the color you specified, and then return the color the user
selected, or None if they canceled. The new functions (all part of dabo.ui)
are: getFont(), getColor(), getString(), getFile(), getSaveAs() and
getFolder(). Also moved the common informational dialogs here: areYourSure(),
info() and stop().

Added the 'fontMetric()' method to the UI module. Specify a string, as well as
the font properties you want to use to display that string, and it returns a
(width, height) tuple for that string in that font.

Added two properties to all controls that allow you to programmatically
interact with the sizers that determine how that control appears:
ControllingSizer and ControllingSizerItem.

Added support for the Decimal class that was added in Python 2.4. Code written
to run in Python 2.3 will still work, though.

Created the dToolBar class for displaying toolbars associated with forms.
We're still working on creating independent floating toolbars.

And, of course, lots of bug fixes and code tweaks!


The Dabo Demo project is largely unchanged, although the demos have been
updated to take advantage of changes to the underlying framework. There are
now three basic demos in the 'tutorial' directory that help to demonstrate
the basics of creating applications in Dabo.


The Dabo IDE project has also been updated to version 0.2, and I feel that
this version number is accurate. We're still exploring the best way to create
Dabo classes visually, and have made some great progress, but this is still
very much an unfinished product.

The Class Designer has progressed to the point where you can lay out a form
using a sizer-centric approach, modify the properties of controls and their
sizers from a simple property sheet, save your design to a file, and then
later re-edit that design from that file. And the nascent Report Designer is
also progressing, but like all early efforts, is still subject to major API
changes.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

Dabo 0.9.4 Released! 0
ANN: Dabo 0.9.3 released 0
ANN: Dabo 0.5 released! 0
Dabo 0.9.0 Released 1
[ANN] Dabo 0.6 released 0
[ANN] Dabo 0.8.2 Released 2
Dabo 0.3 Released 0
ANN: Dabo 0.7 released! 0

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,575
Members
45,053
Latest member
billing-software

Latest Threads

Top