Add support for toggle links
[gregoa/zavai.git] / vala / app_debug.vala
1 /*
2  * app_debug - zavai debug menus
3  *
4  * Copyright (C) 2009  Enrico Zini <enrico@enricozini.org>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 namespace zavai {
22 namespace ui {
23 namespace debug {
24
25 public class Useless : Applet
26 {
27     public Useless()
28     {
29         _label = "Useless";
30         pack_start(new Gtk.Label("This has no use"), false, false, 0);
31     }
32 }
33
34 public class UselessService : Service
35 {
36 }
37
38 public class Quitter : Applet
39 {
40     public Quitter()
41     {
42         _label = "Quit";
43     }
44
45         public override void start()
46     {
47         Gtk.main_quit();
48     }
49 }
50
51 /*
52 class Quitter(gtk.Action):
53     def __init__(self, **kw):
54         super(Quitter, self).__init__("menu.main.debug.quit", _("Quit"), None, None)
55
56         self.connect("activate", gtk.main_quit)
57 */
58
59 void init()
60 {
61     // Apps
62     var useless = new Useless();
63     var quitter = new Quitter();
64     var useless_service = new UselessService();
65     zavai.registry.register_applet("app.debug.useless", useless);
66     zavai.registry.register_service("app.debug.useless_service", useless_service);
67     zavai.registry.register_applet("app.debug.quit", quitter);
68
69     // Menus
70     var menu_debug = new zavai.Menu("Debug");
71     menu_debug.add_applet("app.debug.useless");
72     menu_debug.add_service_toggle("app.debug.useless_service", "Start useless service", "Stop useless service");
73     menu_debug.add_applet("app.debug.quit");
74
75     zavai.registry.register_menu("menu.debug", menu_debug);
76     zavai.registry.getmenu("menu.main").add_applet("menu.debug");
77 }
78
79
80 }
81 }
82 }