1/*
2 * Copyright © 2011 Canonical Limited
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the licence, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Author: Ryan Lortie <desrt@desrt.ca>
18 */
19
20#ifndef __GTK_APPLICATION_WINDOW_H__
21#define __GTK_APPLICATION_WINDOW_H__
22
23#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
24#error "Only <gtk/gtk.h> can be included directly."
25#endif
26
27#include <gtk/gtkwindow.h>
28#include <gtk/gtkshortcutswindow.h>
29
30G_BEGIN_DECLS
31
32#define GTK_TYPE_APPLICATION_WINDOW (gtk_application_window_get_type ())
33#define GTK_APPLICATION_WINDOW(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
34 GTK_TYPE_APPLICATION_WINDOW, GtkApplicationWindow))
35#define GTK_APPLICATION_WINDOW_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
36 GTK_TYPE_APPLICATION_WINDOW, GtkApplicationWindowClass))
37#define GTK_IS_APPLICATION_WINDOW(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
38 GTK_TYPE_APPLICATION_WINDOW))
39#define GTK_IS_APPLICATION_WINDOW_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
40 GTK_TYPE_APPLICATION_WINDOW))
41#define GTK_APPLICATION_WINDOW_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \
42 GTK_TYPE_APPLICATION_WINDOW, GtkApplicationWindowClass))
43
44typedef struct _GtkApplicationWindowPrivate GtkApplicationWindowPrivate;
45typedef struct _GtkApplicationWindowClass GtkApplicationWindowClass;
46typedef struct _GtkApplicationWindow GtkApplicationWindow;
47
48struct _GtkApplicationWindow
49{
50 GtkWindow parent_instance;
51
52 /*< private >*/
53 GtkApplicationWindowPrivate *priv;
54};
55
56/**
57 * GtkApplicationWindowClass:
58 * @parent_class: The parent class.
59 */
60struct _GtkApplicationWindowClass
61{
62 GtkWindowClass parent_class;
63
64 /*< private >*/
65 gpointer padding[14];
66};
67
68GDK_AVAILABLE_IN_3_4
69GType gtk_application_window_get_type (void) G_GNUC_CONST;
70GDK_AVAILABLE_IN_3_4
71GtkWidget * gtk_application_window_new (GtkApplication *application);
72
73GDK_AVAILABLE_IN_3_4
74void gtk_application_window_set_show_menubar (GtkApplicationWindow *window,
75 gboolean show_menubar);
76GDK_AVAILABLE_IN_3_4
77gboolean gtk_application_window_get_show_menubar (GtkApplicationWindow *window);
78
79GDK_AVAILABLE_IN_3_6
80guint gtk_application_window_get_id (GtkApplicationWindow *window);
81
82GDK_AVAILABLE_IN_3_20
83void gtk_application_window_set_help_overlay (GtkApplicationWindow *window,
84 GtkShortcutsWindow *help_overlay);
85GDK_AVAILABLE_IN_3_20
86GtkShortcutsWindow *
87 gtk_application_window_get_help_overlay (GtkApplicationWindow *window);
88
89G_END_DECLS
90
91#endif /* __GTK_APPLICATION_WINDOW_H__ */
92