Edward Diener wrote: > It looks as if traits is an attempt to create a "property" in the > component terminology which I originally specified. I will take a look > at it.
Traits is frighteningly similar to the requirements that you laid out in your post (the example for Skip), including delegates! I would like to point out, however, that traits is a *general* component framework for python that facilitates implementing the observer pattern and a higher level of introspection. It can be used to build applications that have no visual interfaces at all, but wish to benefit from the "reactive programming" style that componentized, event-based programming encourages. (induces?) Traits UI, which Robert only alluded to, is actually very much the sort of RAD environment you have described. It builds upon the component model, and uses introspection to automagically create nice widgets for your model, but adds mechanisms for specifying controllers, customizing behavior, and generically composing complicated forms from simpler ones. There is even a visual "builder" tool for it called VET that closely resembles Delphi/C++ Builder. (The VET itself is, of course, written using Traits UI.) Envisage, the plugin application framework, can use the traits component models and the TraitsUI interfaces to roll out very dynamic applications, whose underlying models are all live components that can be scripted, twiddled with from an embedded Python shell, etc. > Already subscribed. Thanks ! Please contribute ideas or ask conceptual questions! Oh, and disclaimer: I also work at enthought. :) -peter -- http://mail.python.org/mailman/listinfo/python-list