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__ */