Hi - I've posted some of these questions here before,
(some are new) and also tried the Boa users list and SF forum,
but gotten no replies. I'm especially interested
in (3) because I just want to know if I should forego
Boa and just code by hand. (I'd prefer to use a great a tool
like Boa, but it always seems more work to have a tool
do half the work than none of it...) And even if I do it
by hand, I'd like to know the best way.
I'd gladly RTFM if someone points me to more detailed
docs than I've come across.
thanks for any help,
mike
me@mikerobin.com
ยทยทยท
-------------------------------------------------
(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 at design-
time 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,
and it doesn't maintain the event code, etc. Also the way Boa works
is that child controls of the panel are really managed
(& have references maintained by) the current frame (everything but the
frame are peers), which removes a layer of ancestor hierarchy that is really
there
are far as wx is concerned.
It would be nice just to be able to create a new panel as a first-class
file-saveable designer object (like wxframe and wxapp),
so I can put the controls and event logic there, and
then include that panel where I need it - a frame, notebook, etc.
What can I do to reuse/move GUI layout/code that's one level
below the frame-level?
(4) 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.)
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 (sahes, etc.)
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()" to the frame code? (Not that I mind,
once I figured it out.)
- 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.
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com