22
22
def __init__(self):
23
23
self.menu_item = gtk.MenuItem("Hello World Plugin")
24
24
self.menu_item.connect('activate', self.onTesteMenu)
26
26
self.tb_button = gtk.ToolButton(gtk.STOCK_INFO)
27
27
self.tb_button.set_label("Hello World")
28
28
self.tb_button.connect('clicked', self.onTbButton)
29
self.separator = gtk.SeparatorToolItem()
30
self.task_separator = None
31
self.tb_Taskbutton = None
34
# plugin engine methods
31
# plugin engine methods
35
32
def activate(self, plugin_api):
36
# add a menu item to the menu bar
33
# add a menu item to the menu bar
37
34
plugin_api.add_menu_item(self.menu_item)
39
36
# saves the separator's index to later remove it
40
plugin_api.add_toolbar_item(self.separator)
37
self.separator = plugin_api.add_toolbar_item(gtk.SeparatorToolItem())
41
38
# add a item (button) to the ToolBar
42
39
plugin_api.add_toolbar_item(self.tb_button)
44
41
def onTaskOpened(self, plugin_api):
45
# add a item (button) to the ToolBar
46
tb_Taskbutton = gtk.ToolButton(gtk.STOCK_EXECUTE)
47
tb_Taskbutton.set_label("Hello World")
48
tb_Taskbutton.connect('clicked', self.onTbTaskButton, plugin_api)
49
self.task_separator = plugin_api.add_task_toolbar_item(gtk.SeparatorToolItem())
50
self.tb_Taskbutton = plugin_api.add_task_toolbar_item(tb_Taskbutton)
42
# add a item (button) to the ToolBar
43
self.tb_Taskbutton = gtk.ToolButton(gtk.STOCK_EXECUTE)
44
self.tb_Taskbutton.set_label("Hello World")
45
self.tb_Taskbutton.connect('clicked', self.onTbTaskButton, plugin_api)
46
plugin_api.add_task_toolbar_item(gtk.SeparatorToolItem())
47
plugin_api.add_task_toolbar_item(self.tb_Taskbutton)
52
49
def deactivate(self, plugin_api):
53
50
plugin_api.remove_menu_item(self.menu_item)
54
51
plugin_api.remove_toolbar_item(self.tb_button)
55
plugin_api.remove_toolbar_item(self.separator)
56
#everything should be removed, in case a task is currently opened
57
plugin_api.remove_task_toolbar_item(self.task_separator)
58
plugin_api.remove_task_toolbar_item(self.tb_Taskbutton)
52
plugin_api.remove_toolbar_item(None, self.separator)
60
54
#load a dialog with a String
61
55
def loadDialog(self, msg):
62
56
path = os.path.dirname(os.path.abspath(__file__))
72
66
self.dialog.show_all()
74
68
def close_dialog(self, widget, data=None):
79
73
def onTesteMenu(self, widget):
80
74
self.loadDialog("Hello World! From the MenuBar! :-)")
82
76
def onTbButton(self, widget):
83
77
self.loadDialog("Hello World! From the ToolBar! :-)")
85
79
def onTbTaskButton(self, widget, plugin_api):
86
80
self.loadDialog("Hello World! The tag @hello_world was just added to the end of the task!")
87
81
plugin_api.add_tag("hello_world")