Stef Mientki wrote:
> I want to automate the generation of my form menu:
good idea -- I think generating GUIS in code is often an
excellent
solution. Peter gave you a sample, but I have a few
comments:
> def generate_menu ( form, menus ) :
> # Prepare the menu bar
> menuBar = wx.MenuBar()
>
> for menu in menus:
> menu_top = wx.Menu ()
> for item in menus [ menu ] :
> menu_item = menu_top.Append ( wx.ID_ANY, item[0]
)
> line = 'ID_' + item[1] + ' = menu_item.GetId()'
> exec line
I'd recommend against this. exec is ugly and dangerous, and
hardly ever
(never? ) necessary in Python. And why do you need to store
an ID like
that? You probably don't need to store the ID at all, but if
you do,
store it in a dict.
> Now I have 2 problems:
> 1- where the arrow points, generates an error, because
the method
> "self.OnMenu_..." doesn't yet exists
> Of course I need to create it myself sometimes, but for
the moment I
> want a dummy procedure,
What do you mean -- for the moment? of you mean while you
are testing
the code, then it's easy to create one method, and bind all
the menu
events to that. If you want to have a dummy method when this
code runs,
and fill it in with the real one later, then I think you'll
need to run
the binding code later, when you want the menus bound (or
re-bound)
> which will gray the related menu item.
> 2- how can I create the above mentioned dummy
procedure, so it will
> become a normal method of the form ?
You can add methods to a class object later with setattr()
> Maybe I'm asking too much,
> but I have the feeling that these kinds of automations
(I've few others
> in my head),
> should be possible in Python.
Those and more -- Python is wonderful for this kind of
thing.
-Chris
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker noaa.gov
------------------------------------------------------------
---------
To unsubscribe, e-mail: wxPython-users-unsubscribe lists.wxwidgets.org
For additional commands, e-mail: wxPython-users-help lists.wxwidgets.org
|