[Gnucash-changes] Add method for retrieving the GtkWindow
associated with a GncWindow.
David Hampton
hampton at cvs.gnucash.org
Tue Aug 2 22:19:33 EDT 2005
Log Message:
-----------
Add method for retrieving the GtkWindow associated with a GncWindow.
Tags:
----
gnucash-gnome2-dev
Modified Files:
--------------
gnucash/src/gnome-utils:
gnc-embedded-window.c
gnc-main-window.c
gnc-window.c
gnc-window.h
Revision Data
-------------
Index: gnc-window.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/Attic/gnc-window.h,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -Lsrc/gnome-utils/gnc-window.h -Lsrc/gnome-utils/gnc-window.h -u -r1.1.2.3 -r1.1.2.4
--- src/gnome-utils/gnc-window.h
+++ src/gnome-utils/gnc-window.h
@@ -61,6 +61,7 @@
GTypeInterface parent;
/* Virtual Table */
+ GtkWindow * (* get_gtk_window) (GncWindow *window);
GtkWidget * (* get_statusbar) (GncWindow *window);
GtkWidget * (* get_progressbar) (GncWindow *window);
} GncWindowIface;
@@ -68,6 +69,8 @@
/* function prototypes */
GType gnc_window_get_type (void);
+GtkWindow *gnc_window_get_gtk_window (GncWindow *window);
+
void gnc_window_update_status (GncWindow *window, GncPluginPage *page);
void gnc_window_set_status (GncWindow *window, GncPluginPage *page, const gchar *message);
Index: gnc-embedded-window.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/Attic/gnc-embedded-window.c,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -Lsrc/gnome-utils/gnc-embedded-window.c -Lsrc/gnome-utils/gnc-embedded-window.c -u -r1.1.2.3 -r1.1.2.4
--- src/gnome-utils/gnc-embedded-window.c
+++ src/gnome-utils/gnc-embedded-window.c
@@ -294,6 +294,8 @@
/* Determine the full pathname of the ui file */
ui_fullname = gnc_gnome_locate_ui_file(ui_filename);
+ priv->parent_window = enclosing_win;
+
/* Create menu and toolbar information */
priv->action_group = gtk_action_group_new (action_group_name);
gtk_action_group_add_actions (priv->action_group, action_entries,
@@ -324,6 +326,17 @@
return window;
}
+static GtkWindow *
+gnc_embedded_window_get_gtk_window (GncWindow *window_in)
+{
+ GncEmbeddedWindow *window;
+
+ g_return_val_if_fail (GNC_IS_EMBEDDED_WINDOW (window_in), NULL);
+
+ window = GNC_EMBEDDED_WINDOW(window_in);
+ return GTK_WINDOW(window->priv->parent_window);
+}
+
static GtkWidget *
gnc_embedded_window_get_statusbar (GncWindow *window_in)
{
@@ -340,5 +353,6 @@
static void
gnc_window_embedded_window_init (GncWindowIface *iface)
{
+ iface->get_gtk_window = gnc_embedded_window_get_gtk_window;
iface->get_statusbar = gnc_embedded_window_get_statusbar;
}
Index: gnc-main-window.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/Attic/gnc-main-window.c,v
retrieving revision 1.1.2.16
retrieving revision 1.1.2.17
diff -Lsrc/gnome-utils/gnc-main-window.c -Lsrc/gnome-utils/gnc-main-window.c -u -r1.1.2.16 -r1.1.2.17
--- src/gnome-utils/gnc-main-window.c
+++ src/gnome-utils/gnc-main-window.c
@@ -1906,6 +1906,13 @@
return NULL;
}
+static GtkWindow *
+gnc_main_window_get_gtk_window (GncWindow *window)
+{
+ g_return_val_if_fail (GNC_IS_MAIN_WINDOW (window), NULL);
+ return GTK_WINDOW(window);
+}
+
static GtkWidget *
gnc_main_window_get_statusbar (GncWindow *window_in)
{
@@ -1935,6 +1942,7 @@
static void
gnc_window_main_window_init (GncWindowIface *iface)
{
+ iface->get_gtk_window = gnc_main_window_get_gtk_window;
iface->get_statusbar = gnc_main_window_get_statusbar;
iface->get_progressbar = gnc_main_window_get_progressbar;
}
Index: gnc-window.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/Attic/gnc-window.c,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -Lsrc/gnome-utils/gnc-window.c -Lsrc/gnome-utils/gnc-window.c -u -r1.1.2.5 -r1.1.2.6
--- src/gnome-utils/gnc-window.c
+++ src/gnome-utils/gnc-window.c
@@ -63,6 +63,17 @@
* Interface access functions *
************************************************************/
+GtkWindow *
+gnc_window_get_gtk_window (GncWindow *window)
+{
+ g_return_val_if_fail(GNC_WINDOW (window), NULL);
+
+ /* mandatory */
+ g_return_val_if_fail(GNC_WINDOW_GET_IFACE (window)->get_gtk_window, NULL);
+
+ return GNC_WINDOW_GET_IFACE (window)->get_gtk_window (window);
+}
+
static GtkWidget *
gnc_window_get_statusbar (GncWindow *window)
{
More information about the gnucash-changes
mailing list