1
/*
2
 * This file is a part of hildon
3
 *
4
 * Copyright (C) 2006 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_WINDOW_PRIVATE_H__
26
#define                                         __HILDON_WINDOW_PRIVATE_H__
27
28
#include                                        "hildon-program.h"
29
30
#include                                        <X11/Xlib.h>
31
32
G_BEGIN_DECLS
33
34
typedef struct                                  _HildonWindowPrivate HildonWindowPrivate;
35
36
struct                                          _HildonWindowPrivate
37
{
38
    GtkMenu *menu;
39
    HildonAppMenu *app_menu;
40
    GtkWidget *vbox;
41
    GtkWidget *edit_toolbar;
42
43
    GtkBorder *borders;
44
    GtkBorder *toolbar_borders;
45
46
    GtkAllocation allocation;
47
48
    gchar *markup;
49
50
    guint fullscreen;
51
    guint is_topmost;
52
    guint escape_timeout;
53
    gint visible_toolbars;
54
    gint previous_vbox_y;
55
56
    HildonProgram *program;
57
};
58
59
#define                                         HILDON_WINDOW_GET_PRIVATE(obj) \
60
                                                (G_TYPE_INSTANCE_GET_PRIVATE ((obj),\
61
                                                HILDON_TYPE_WINDOW, HildonWindowPrivate))
62
63
void G_GNUC_INTERNAL
64
hildon_window_set_program                       (HildonWindow *self, 
65
                                                 GObject *program);
66
67
void G_GNUC_INTERNAL
68
hildon_window_unset_program                     (HildonWindow *self);
69
70
void G_GNUC_INTERNAL
71
hildon_window_set_can_hibernate_property        (HildonWindow *self, 
72
                                                 gpointer can_hibernate);
73
74
void G_GNUC_INTERNAL
75
hildon_window_take_common_toolbar               (HildonWindow *self);
76
77
void G_GNUC_INTERNAL
78
hildon_window_update_topmost                    (HildonWindow *self, 
79
                                                 Window window_id);
80
81
Window G_GNUC_INTERNAL
82
hildon_window_get_active_window                 (void);
83
84
void G_GNUC_INTERNAL
85
hildon_window_update_title                      (HildonWindow *window);
86
87
void G_GNUC_INTERNAL
88
hildon_window_set_menu_flag                     (HildonWindow *window,
89
                                                 gboolean   has_menu);
90
G_END_DECLS
91
92
#endif                                          /* __HILDON_WINDOW_PRIVATE_H__ */