]> git.sur5r.net Git - glabels/blob - src/window.h
Imported Upstream version 3.0.0
[glabels] / src / window.h
1 /*
2  *  window.h
3  *  Copyright (C) 2002-2009  Jim Evins <evins@snaught.com>.
4  *
5  *  This file is part of gLabels.
6  *
7  *  gLabels is free software: you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License as published by
9  *  the Free Software Foundation, either version 3 of the License, or
10  *  (at your option) any later version.
11  *
12  *  gLabels 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 General Public License for more details.
16  *
17  *  You should have received a copy of the GNU General Public License
18  *  along with gLabels.  If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #ifndef __WINDOW_H__
22 #define __WINDOW_H__
23
24 #include <gtk/gtk.h>
25
26 #include "view.h"
27 #include "label.h"
28 #include "ui-property-bar.h"
29 #include "ui-sidebar.h"
30 #include "print-op.h"
31 #include "merge-properties-dialog.h"
32
33 G_BEGIN_DECLS
34
35 #define GL_TYPE_WINDOW (gl_window_get_type ())
36 #define GL_WINDOW(obj) \
37         (G_TYPE_CHECK_INSTANCE_CAST((obj), GL_TYPE_WINDOW, glWindow ))
38 #define GL_WINDOW_CLASS(klass) \
39         (G_TYPE_CHECK_CLASS_CAST ((klass), GL_TYPE_WINDOW, glWindowClass))
40 #define GL_IS_WINDOW(obj) \
41         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GL_TYPE_WINDOW))
42 #define GL_IS_WINDOW_CLASS(klass) \
43         (G_TYPE_CHECK_CLASS_TYPE ((klass), GL_TYPE_WINDOW))
44
45 typedef struct _glWindow      glWindow;
46 typedef struct _glWindowClass glWindowClass;
47
48 struct _glWindow {
49         GtkWindow               parent_widget;
50
51         GtkUIManager            *ui;
52
53         GtkWidget               *hbox;
54
55         glLabel                 *label;
56
57         GtkWidget               *view;
58         glUIPropertyBar         *property_bar;
59         glUISidebar             *sidebar;
60
61         GtkWidget               *status_bar;
62         GtkWidget               *cursor_info;
63         GtkWidget               *cursor_info_frame;
64         GtkWidget               *zoom_info;
65         GtkWidget               *zoom_info_frame;
66
67         guint                    menu_tips_context_id;
68
69         glPrintOpSettings       *print_settings;
70         glMergePropertiesDialog *merge_dialog;
71         GtkMenu                 *context_menu;
72         GtkMenu                 *empty_selection_context_menu;
73 };
74
75 struct _glWindowClass {
76         GtkWindowClass          parent_class;
77 };
78
79 GType        gl_window_get_type          (void) G_GNUC_CONST;
80
81 GtkWidget   *gl_window_new               (void);
82
83 GtkWidget   *gl_window_new_from_file     (const gchar *filename);
84
85 GtkWidget   *gl_window_new_from_label    (glLabel     *label);
86
87 gboolean     gl_window_is_empty          (glWindow    *window);
88
89 void         gl_window_set_label         (glWindow    *window,
90                                           glLabel     *label);
91
92 const GList *gl_window_get_window_list   (void);
93
94 G_END_DECLS
95
96 #endif /* __WINDOW_H__ */
97
98
99
100 /*
101  * Local Variables:       -- emacs
102  * mode: C                -- emacs
103  * c-basic-offset: 8      -- emacs
104  * tab-width: 8           -- emacs
105  * indent-tabs-mode: nil  -- emacs
106  * End:                   -- emacs
107  */