[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