Hello,
I'm writing a Gnome applet using PyGTK, and I have a problem changing
applet's contextual menu dynamically.
The problem is that I'm trying to hide or show a menu's entry using
"set_prop()" method as you can see bellow, but it doesn't change the
menu. I have tried to change "sensitive" property instead of "hidden"
with the same luck.
Thank you in advance.
Regards,
[1] Applet's menu XML:
------------------------------------------------------------------------
<Root>
<popups>
<popup name="button3">
<menuitem name="start_tf" verb="start_tf" _label="_Start
tracking" />
<menuitem name="stop_tf" verb="stop_tf" _label="_Stop
tracking" />
<menuitem name="upload_data" verb="upload_data"
_label="_Upload data now" />
<separator/>
<menuitem name="preferences" verb="preferences"
_label="_Preferences" pixtype="stock" pixname="gtk-preferences" />
<menuitem name="about" verb="about" _label="_About"
pixtype="stock" pixname="gtk-about" />
</popup>
</popups>
</Root>
------------------------------------------------------------------------
[2] Code I'm trying to use to change menu:
------------------------------------------------------------------------
def __init__ (self, applet):
self.applet = applet
# Unrelated stuff
self.applet.setup_menu_from_file (os.path.join (config.DATA_DIR, \
"detras-applet"), \
"DetrasApplet.xml", \
None, \
[("about", self.about_cb), \
("preferences", self.prefs_cb), \
("upload_data", self.upload_data_cb), \
("toggle_tf", self.toggle_tf_cb)])
self.update_menu ("start_tf", 0)
def update_menu (self, menu_verb, value):
popup = self.applet.get_popup_component()
val = {False: "0", True: "1"}[value]
popup.set_prop("/commands/"+menu_verb, "hidden", val)
------------------------------------------------------------------------
--
Edmundo Álvarez Jiménez <[email protected]>
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/