Add HildonAppMenu::changed signal
[hildon] / hildon / hildon-app-menu.h
1 /*
2  * This file is a part of hildon
3  *
4  * Copyright (C) 2008 Nokia Corporation, all rights reserved.
5  *
6  * Contact: Rodrigo Novo <rodrigo.novo@nokia.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser Public License as published by
10  * the Free Software Foundation; version 2 of the license.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU Lesser Public License for more details.
16  *
17  */
18
19 #ifndef                                         __HILDON_APP_MENU_H__
20 #define                                         __HILDON_APP_MENU_H__
21
22 #include <gtk/gtk.h>
23
24 G_BEGIN_DECLS
25
26 #define                                         HILDON_TYPE_APP_MENU \
27                                                 (hildon_app_menu_get_type())
28
29 #define                                         HILDON_APP_MENU(obj) \
30                                                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
31                                                 HILDON_TYPE_APP_MENU, HildonAppMenu))
32
33 #define                                         HILDON_APP_MENU_CLASS(klass) \
34                                                 (G_TYPE_CHECK_CLASS_CAST ((klass), \
35                                                 HILDON_TYPE_APP_MENU, HildonAppMenuClass))
36
37 #define                                         HILDON_IS_APP_MENU(obj) \
38                                                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), HILDON_TYPE_APP_MENU))
39
40 #define                                         HILDON_IS_APP_MENU_CLASS(klass) \
41                                                 (G_TYPE_CHECK_CLASS_TYPE ((klass), HILDON_TYPE_APP_MENU))
42
43 #define                                         HILDON_APP_MENU_GET_CLASS(obj) \
44                                                 (G_TYPE_INSTANCE_GET_CLASS ((obj), \
45                                                 HILDON_TYPE_APP_MENU, HildonAppMenuClass))
46
47 typedef struct                                  _HildonAppMenu HildonAppMenu;
48
49 typedef struct                                  _HildonAppMenuClass HildonAppMenuClass;
50
51 typedef struct                                  _HildonAppMenuPrivate HildonAppMenuPrivate;
52
53 struct                                          _HildonAppMenuClass
54 {
55     GtkWindowClass parent_class;
56 };
57
58 struct                                          _HildonAppMenu
59 {
60     GtkWindow parent;
61 };
62
63 GType
64 hildon_app_menu_get_type                        (void) G_GNUC_CONST;
65
66 GtkWidget *
67 hildon_app_menu_new                             (void);
68
69 void
70 hildon_app_menu_append                          (HildonAppMenu *menu,
71                                                  GtkButton     *item);
72
73 void
74 hildon_app_menu_prepend                         (HildonAppMenu *menu,
75                                                  GtkButton     *item);
76
77 void
78 hildon_app_menu_insert                          (HildonAppMenu *menu,
79                                                  GtkButton     *item,
80                                                  gint           position);
81
82 void
83 hildon_app_menu_reorder_child                   (HildonAppMenu *menu,
84                                                  GtkButton     *item,
85                                                  gint           position);
86
87 void
88 hildon_app_menu_add_filter                      (HildonAppMenu *menu,
89                                                  GtkButton     *filter);
90
91 void
92 hildon_app_menu_popup                           (HildonAppMenu *menu,
93                                                  GtkWindow     *parent_window);
94
95 GList *
96 hildon_app_menu_get_items                       (HildonAppMenu *menu);
97
98 GList *
99 hildon_app_menu_get_filters                     (HildonAppMenu *menu);
100
101 G_END_DECLS
102
103 #endif /* __HILDON_APP_MENU_H__ */