GnuCash  5.6-150-g038405b370+
gnc-window.h
Go to the documentation of this file.
1 /*
2  * gnc-window.h -- structure which represents a GnuCash window.
3  *
4  * Copyright (C) 2003 Jan Arne Petersen <jpetersen@uni-bonn.de>
5  * Copyright (C) 2003 David Hampton <hampton@employees.org>
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License as
9  * published by the Free Software Foundation; either version 2 of
10  * the License, or (at your option) any later version.
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 General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, contact:
19  *
20  * Free Software Foundation Voice: +1-617-542-5942
21  * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652
22  * Boston, MA 02110-1301, USA gnu@gnu.org
23  */
24 
41 #ifndef __GNC_WINDOW_H
42 #define __GNC_WINDOW_H
43 
44 #include <gtk/gtk.h>
45 #include "gnc-plugin-page.h"
46 
47 G_BEGIN_DECLS
48 
49 /* type macros */
50 #define GNC_TYPE_WINDOW (gnc_window_get_type ())
51 G_DECLARE_INTERFACE (GncWindow, gnc_window, GNC, WINDOW, GObject)
52 
53 /* typedefs & structures */
55 {
56  GTypeInterface parent;
57 
58  /* Virtual Table */
59  GtkWindow * (* get_gtk_window) (GncWindow *window);
60  GtkWidget * (* get_statusbar) (GncWindow *window);
61  GtkWidget * (* get_progressbar) (GncWindow *window);
62  GtkWidget * (* get_menubar) (GncWindow *window);
63  GtkWidget * (* get_toolbar) (GncWindow *window);
64  GMenuModel * (* get_menubar_model) (GncWindow *window);
65  GtkAccelGroup * (* get_accel_group) (GncWindow *window);
66  void (* ui_set_sensitive) (GncWindow *window, gboolean sensitive);
67 };
68 
69 /* function prototypes */
70 GtkWindow *gnc_window_get_gtk_window (GncWindow *window);
71 
72 void gnc_window_update_status (GncWindow *window, GncPluginPage *page);
73 void gnc_window_set_status (GncWindow *window, GncPluginPage *page, const gchar *message);
74 
75 void gnc_window_set_progressbar_window (GncWindow *window);
76 GncWindow *gnc_window_get_progressbar_window (void);
77 GtkWidget *gnc_window_get_progressbar (GncWindow *window);
78 void gnc_window_show_progress (const char *message, double percentage);
79 GtkWidget *gnc_window_get_menubar (GncWindow *window);
80 GtkWidget *gnc_window_get_toolbar (GncWindow *window);
81 GtkWidget *gnc_window_get_statusbar (GncWindow *window);
82 GMenuModel *gnc_window_get_menubar_model (GncWindow *window);
83 GtkAccelGroup *gnc_window_get_accel_group (GncWindow *window);
84 
85 G_END_DECLS
86 
87 #endif /* __GNC_WINDOW_H */
88 
The instance data structure for a content plugin.
Functions for adding plugins to a GnuCash window.