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 -- http://mail.python.org/mailman/listinfo/python-list