ANN: Dabo 0.5 released!

Ed Leafe ed at leafe.com
Wed Nov 30 16:37:09 EST 2005


We are pleased to announce Dabo 0.5, the fifth 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

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/changed in Dabo 0.5:

Dabo Framework:
----------------
Added a new class, DataSet, which lets you issue SQL queries against  
local Dabo data, not just against the backend. You can query, sort,  
and update individual DataSets, and even join multiple DataSets - all  
without making a call to the backend database server.

Began the work of making an embedded, internal, database engine  
(SQLite). Currently SQLite is an option; starting with future  
releases, it will be an integral part of Dabo.

Automatic binding of events to method code! If you have a button  
class with an onHit method, it will automatically be bound to the  
button's Hit event. Simply by naming your methods 'onBleh()', if  
there is a 'Bleh' event that is raised by the object, the onBleh()  
method will be bound to it. You can still bind manually using  
bindEvent(), of course, but auto-binding of events now works so well  
that it is the default.

Added a basic framework for drawing shapes on any window. Once  
created, the shapes are accessible with an object reference. This  
should make dealing with wx.DC's a thing of the past for most uses.  
Way cool!

Sorted out MDI/SDI issues. By default, dForm on Windows MDI children  
and dFormMain on Windows will be MDI parents. On other platforms,  
both dForm and dFormMain will be SDI by default. The above statement  
is true for datanav applications (ones generated by the AppWizard).  
The pure-Dabo default is for SDI forms. In any case, you may change  
this by setting dabo.MDI.

Improved the datanav Quick Report feature, which can print a list of  
the current records, mimicing the browse page, or a whole page of  
information on one record, mimicing the edit page. Added the ability  
for the user to save the generated report form for editing with the  
Report Designer or editing the rfxml directly.

Improved showContextMenu(), and sorted out the difference between  
MouseRightClick and ContextMenu events.

dCheckBox now supports 3 state mode, (True, False and None).

dForms now know how to read in cdxml files, created by the upcoming  
UI Designer.

Improved the handling of broken database connections.

Added middle button and scroll mouse events.

Added some hooks to datanav.Form that allow developers to control the  
select options for given fields. This would allow you to put, for  
example, a radiogroup with a few choices instead of the default textbox.

Added connection manager to dApp, which maintains a set of open  
database connections that your forms can reference by name. Added  
Connection property to dForm.

Improved report writer's paragraph handling.

And, of course, more bug fixes than we'd like to say!



Dabo Demo:
------------
Added several small programs to the tutorial section. Instead of  
emphasizing actual complex, working apps in Dabo, such as the games,  
these show smaller, bite-sized examples of Dabo code.

Began work on a demo app that mirrors the wxPython demo, which  
includes all of the controls, some sample code for each along with a  
brief explanation of how that control is used. This is the work of  
Adi J. Sieker, who has already added several Dabo controls, and who  
will be adding more as time goes on.

The Bubblet game has been completely re-written to use the new Draw  
objects. This is an excellent way to learn how to control images  
drawn on your UI surfaces.



Dabo IDE:
---------
The AppWizard has been overhauled significantly, and now creates apps  
that are much more easily customized, and scales much better to non- 
trivial applications.

The Class Designer has improved greatly - it now supports extremely  
complex layouts, such as multiply-nested sizers, paged controls  
inside other paged controls, etc. It can save these designs into XML  
files that can then be used to create runtime forms that have the  
same structure as the original design. The next step will be added  
soon: integration of code to bind to events, so that not only will  
you be able to control how your forms look, but also how they behave.

The Report Designer continues to improve: it now has an integrated  
Property Sheet for altering the appearance of objects, as well as  
improved layering. It also supports full 2-way editing: both visual  
and XML editing changes are reflected in the other.


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






More information about the Python-list mailing list