aboutsummaryrefslogtreecommitdiff
path: root/parrot_zik/indicator/gtk_wrapping.py
blob: 6d4a5a8ff311663d1a0b03f14d9e72979813a8b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import gtk

from parrot_zik.indicator.base import MenuItemBase


class GTKMenu(object):
    def __init__(self):
        self.gtk_menu = gtk.Menu()

    def append(self, menu_item):
        self.gtk_menu.append(menu_item.base_item)

    def reposition(self):
        self.gtk_menu.reposition()

    def popup(self, *args, **kwargs):
        self.gtk_menu.popup(*args, **kwargs)

    def poVpdown(self, *args, **kwargs):
        pass


class GTKMenuItem(MenuItemBase):
    def __init__(self, name, action, sensitive=True, checkitem=False, visible=True):
        if checkitem:
            gtk_item = gtk.CheckMenuItem(name)
        else:
            gtk_item = gtk.MenuItem(name)
        if action:
            gtk_item.connect("activate", action)
        super(GTKMenuItem, self).__init__(gtk_item, sensitive, visible)

    def set_sensitive(self, option):
        return self.base_item.set_sensitive(option)

    def set_active(self, option):
        return self.base_item.set_active(option)

    def get_active(self):
        return self.base_item.get_active()

    def set_label(self, option):
        return self.base_item.set_label(option)

    def set_submenu(self, menu):
        self.base_item.set_submenu(menu.gtk_menu)