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 <e.alvar...@gmail.com>


_______________________________________________
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to