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 library is free software; you can redistribute it and/or
9
 * modify it under the terms of the GNU Lesser General Public License
10
 * as published by the Free Software Foundation; version 2.1 of
11
 * the License, or (at your option) any later version.
12
 *
13
 * This library is distributed in the hope that it will be useful, but
14
 * WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
 * Lesser General Public License for more details.
17
 *
18
 * You should have received a copy of the GNU Lesser General Public
19
 * License along with this library; if not, write to the Free Software
20
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21
 * 02110-1301 USA
22
 *
23
 */
24
25
#ifndef                                         __HILDON_STACKABLE_WINDOW_H__
26
#define                                         __HILDON_STACKABLE_WINDOW_H__
27
28
#include                                        "hildon-window.h"
29
#include                                        "hildon-app-menu.h"
30
31
G_BEGIN_DECLS
32
33
#define                                         HILDON_TYPE_STACKABLE_WINDOW \
34
                                                (hildon_stackable_window_get_type())
35
36
#define                                         HILDON_STACKABLE_WINDOW(obj) \
37
                                                (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
38
                                                HILDON_TYPE_STACKABLE_WINDOW, \
39
                                                HildonStackableWindow))
40
41
#define                                         HILDON_STACKABLE_WINDOW_CLASS(klass) \
42
                                                (G_TYPE_CHECK_CLASS_CAST ((klass), \
43
                                                HILDON_TYPE_STACKABLE_WINDOW, \
44
                                                HildonStackableWindowClass))
45
46
#define                                         HILDON_IS_STACKABLE_WINDOW(obj) \
47
                                                (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
48
                                                HILDON_TYPE_STACKABLE_WINDOW))
49
50
#define                                         HILDON_IS_STACKABLE_WINDOW_CLASS(klass) \
51
                                                (G_TYPE_CHECK_CLASS_TYPE ((klass), \
52
                                                HILDON_TYPE_STACKABLE_WINDOW))
53
54
#define                                         HILDON_STACKABLE_WINDOW_GET_CLASS(obj) \
55
                                                (G_TYPE_INSTANCE_GET_CLASS ((obj), \
56
                                                HILDON_TYPE_STACKABLE_WINDOW, \
57
                                                HildonStackableWindowClass))
58
59
#ifndef _TYPEDEF_HILDON_WINDOW_STACK_
60
#define _TYPEDEF_HILDON_WINDOW_STACK_
61
typedef struct                                  _HildonWindowStack HildonWindowStack;
62
#endif
63
64
typedef struct                                  _HildonStackableWindow HildonStackableWindow;
65
typedef struct                                  _HildonStackableWindowClass HildonStackableWindowClass;
66
67
struct                                          _HildonStackableWindowClass
68
{
69
    HildonWindowClass parent_class;
70
71
    /* Padding for future extension */
72
    void (*_hildon_reserved1)(void);
73
    void (*_hildon_reserved2)(void);
74
    void (*_hildon_reserved3)(void);
75
    void (*_hildon_reserved4)(void);
76
};
77
78
struct                                          _HildonStackableWindow
79
{
80
    HildonWindow parent;
81
};
82
83
GType
84
hildon_stackable_window_get_type                (void) G_GNUC_CONST;
85
86
GtkWidget*
87
hildon_stackable_window_new                     (void);
88
89
#ifndef HILDON_DISABLE_DEPRECATED
90
void
91
hildon_stackable_window_set_main_menu           (HildonStackableWindow *self,
92
                                                 HildonAppMenu *menu);
93
#endif
94
95
HildonWindowStack *
96
hildon_stackable_window_get_stack               (HildonStackableWindow *self);
97
98
G_END_DECLS
99
100
#endif                                 /* __HILDON_STACKABLE_WINDOW_H__ */