From: Michael R. <vim...@ya...> - 2001-10-19 18:06:32
|
(Boa 0.0.13, wx2.3, win2k) Sorry for the large list of issues: I've been saving up trying to figure things out... I tried posting originally the the BOA "open discussion" forum, but apparently that's pretty dead. (1) I'm looking for instructions on using some of the container objects from BOA. I figured out how to create a notebook, add pages, and put controls on the pages, but I can't figure out how to do it with the splitter, sashes, etc - I can't seem to get the designer to show the actual split-areas for child containment. It's not clear to me what Boa really supports in this area - kindof have to feel your way around, I guess. (2) How do I add menus from the Designer? Says something about a data view, but I can't find one... (3) My biggest problem is how to create reusable GUI elements any way at all. The idea is that I want to get my app working using top-level frames containing all my panels for now, and then experiment with using multiple different layouts (splitters/sash, notebooks, etc) at some other point. I want to be able to play with the interal layout and event logic in the panels, without changing the client frame code that uses them, and continue to modify this and see the results in the fancy layouts. My first thought was to create a wxPanel with controls in it as a seperate entity and include it later, but the wxApp and wxFrame seem to be the only file-encapsulated objects. My next thought was just to use a wxFrame and turn the border off - but I guess a wxFrame is only-top level. Next I tried creating a dummy wxFrame file with the panel in it, and figured I'd just develop it there and cut&paste into where it should go as I need to. The problem here is that the ID's aren't re-created when I paste, (easy enough to change them all to "4242"...) and the paste "flattens" or "de-encapsulates" everything making all child controls of the panel child controls of the current frame (peer of the panel), and this doesn't maintain the event code, etc. What can I do? This brings up a point I still can't figure out - why does boa/wxPython even bother using/exposing control ID's at all?? This seems a useless feature that just creates clutter. This is Python, and we should be able to just use object references. Most of the time you have references to the objects you need, and if you don't Python has a plethora of ways to look things up: dictionaries, lists, etc. (Or you could enumerate children, etc.) If wxWin insists on these, wxPython could easily provide a obj->id mapping. Sorry if I'm missing something... (Minor Issues) - BOA seems really great in many ways - probably one of the best python solutions around, no contest for wx. An issue for for me is the "multiple top-level windows on the desktop" design - hard to manage/control with other apps, and to get the layout you want w/o messing with multiple (possible overlayed in z-order) windows. Is there an option for having a top-level cotainer window that would allow simpler app (de)activation and mangement of Boa sub-windows? - Would be nice if status bars were at the bottom in the designer. Also, why doesn't Boa add "self.SetStatusBar()"? - File stuff: The file open/save dialog seems to start up in the boa directly instead the last place I was. Multiple-selection works in the dialog, but Boa only opens one of them. An auto-save would be nice, rather than it complaining. Being able to run unsaved files would be nice for quick tests. Will there be a Boa "project" metaphor so I can load all the state I need to in order to work on someting quickly? I'm having some crashing bugs (mostly when deleting, either from the designer or the collections editor), but Boa at least doesn't seem to trash any permanent state (I guess one advantage of no project file), and I can always start my session back up. thanks, mike _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |