RE: [Boa Constr] Boa: first impressions
Status: Beta
Brought to you by:
riaan
From: Riaan B. <ri...@tb...> - 2002-12-01 17:28:20
|
Hi Carlos, > > Well, I've just downloaded a CVS snapshot of Boa (version 0.1.3, > I think). I > would like to contribute with my first impressions. Some personal info > first... I have a *lot* of experience with Delphi (since the first betas, > pre-1.0). > > - Boa is really nice and well structured. But documentation is lacking; I > could not access any help information. I assume some doc is already > available, but I don't know how to download it from CVS. As Chris said, the docs are part of the 0.1.0 release. > > - For people used to popular two-way RAD GUI tools (such as > Delphi and VB), > the 'commit'/'cancel' nature of the Frame Designer looks strange > at first. > [In Delphi, the source code is automatically updated when you drop a > component on the designer view]. But it works nicely, and it does not > seriously affect productivity - it's just a matter of adaptation. > > - The Frame Designer has a few problems, though. Some components proved > difficult to select once put onto the designer., specially static > text boxes. > I tried clicking the mouse on some locations, but could not > select it. Moving > an edit box (the one called 'wxTextBox') was also difficult, but > I managed to > make it. The Frame Designer is at the mercy of how well controls behave to the standard mouse click/motion events. When a control passes the event through to it's parent, Boa also detects this and selects/moves such children automatically. Unfortunately some control don't generate these events and don't pass the unhandled events to their parents, so there is nothing more I can do. To select such controls, select them in the Inspector's 'Objs' page. > > - I could not select more than one component at a time. Is it a > 'feature', or > is it going to be fixed? Should work the same as in Delphi, hold down shift and click on the controls. Like in Delphi, only controls on the same containment level can be multi selected. > - Changing the structure of the form also proved to be a little > bit difficult. > For example, I would like to put some components that were > designed into the > form inside a panel (I forgot to add the panel first :-) I know how to > convince Delphi to let me do just that; not only cut & paste > works fine in > Delphi for multiple component selection, you can easily edit the form > description, which sometimes is better than the visual form > designer for some > changes. Should be a breeze with multi-select. > - I took a look at the code generated by Boa. I guess that the code was > intended for processing by Boa alone, but it would not hurt if > the code was > formatted a little bit better. Breaking the long lines would help > a lot for > us to read and understand what's going on. It's on the todo list. > - Probably, my main gripe is with the lack of online > documentation for the > wxWindows library. I have heard how good wxWindows is, but a better > documentation is really needed. I sincerely don't know where to > start, and > please bear in mind that I'm no novice in this stuff. Same as the Boa core docs, it's part of the 0.1.0 download. > - Last but not least, I could not debug my first app and I have > no idea why. I > just clicked on the 'debug app' button, the mouse cursor went > clocking, and > Boa just froze - no redraws, no response to any command. Had to > kill -9 it. There is a problem with wxPython 2.3.3's process stream reading. I think this has already been fixed in the CVS version of wxPython. > > - Back to the textual description of the form, as available in > Delphi... and > to the code generated by Boa. I think that it would be interesting to > describe the components using a dictionary, and then feeding this > dictionary > to a initialization procedure that would create the window using the > information. It would make reading/editing the properties of the visual > components a little bit easier. Form creation could be slowed > down a little > bit though. I assume that this topic was already discussed on the list > before, could someone give me a few pointers? Sorry code generation was chosen and so it will stay. Read the Philosophy page in the Boa documentation. > - Back to the wxWindows documentations issues: one of the main > problems with > GUI libraries is that it's not enough to know the library > functions; one has > to understand how things do fit together, how do they interact. > I'll give one > example. > > I know that wxWindows has some layout classes. The application that I am > designing now calls for relatively complex windows, with panels > with grids > and buttons to act on particular records shown on those grids. The basic > point here is that the window has to be structured the right way. > In Delphi, > I developed my own way to make it work - I make extensive use of > panels as > containers for rows of buttons, pseudo-title-bars for sections of > the form, > etc. The question is, is this the correct technique for wxWindows? Probably not. I also missed the *simple* panel alignment layout of delphi. Boa does not support Sizers yet, but it does support Anchors which work almost like in Delphi. > Many thanks for the dev guys for Boa - it's already in a pretty > usable state, > and it will help me to write my new Python app very, very quickly. Great! > > Carlos Ribeiro > InfTec Cheers, Riaan. |