From: Sells, F. <fr...@ad...> - 2005-04-25 12:30:07
|
I am a PythonCard beginner, having developed a single-window simple app that is going into production. I previously developed a dragon-droppings gui builder for motif in the 90's. Many of my comments are based on that. However some core differences between Motif and wxWindows may make those comments invalid. I concur with Kevin's ideas and deleted his text where I have nothing to add for brevity. A. Pythoncard runtime support. 4. Event hierarchy.=20 Possible alternative: widget property has event-name <=3D> user-defined-name pair. Only events specified here are available to the application. All events go to a central handler which provides a great debug node and not all that much overhead. The application registers for named events with a call like PyCardEventHandler.registerForEvent(user-defined-name, python-callable). Benefits include: same method can handle multiple, similar events, fewer methods=3D=3Dcleaner code. A pretty-print routine can show all widgets that generate events. There can be multiple registrants for one event (calling order needs to be deterministic, i.e. in order registered) 5. Additional compound widget. - a static text "label" and a text field=20 good idea; most common use is label:control so you need some way to define the default spacing so a bunch can be placed in a column with the labels and data entry fields properly lined up. Anticipate need for one label and several data entry fields on a single row like city-state-zip. B. Geometry managements (aka sizers, resizing, etc.) We had a simple grid (default to 100x100) with "attachment properties" on each widget. If both right and left edge of widget were attached, it would move and resize with window resize, etc. To simplify the use of attachement, we had an attachment dialog that had 4 sets of identical "attaching controls" arranged at North, South, East, West. Combined with multiple widget select, you could attache left and right sides of a bunch at once, then go back and individually set top,bottom. It was not as elegant as most UI builders, but it was easy (the product was, after all, "ezX") New Feature Request: Need to be able to specify containers either in same file or different file to control multiple widgets at once. Handy for a "mode change" where one set of controls vanishes and another appears. Valuable to define this stuff in a different file/window and then import (perhaps only at runtime, use space holder in resource editor) so gui is more modular. New Feature Request: Need to be able to "invoke" PythonCard GUI from standard Python code, rather than subclass. Gives much greater flexibility to developer. --------------------------------------------------------------------------- The information contained in this message may be privileged and / or confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and deleting the material from any computer. --------------------------------------------------------------------------- |