[Gnucash-changes] Reports are now opened in the window where the menu was selected.

David Hampton hampton at cvs.gnucash.org
Sun Jun 5 03:28:00 EDT 2005


Log Message:
-----------
Reports are now opened in the window where the menu was
selected. Other updates for recent changes.

Tags:
----
gnucash-gnome2-dev

Modified Files:
--------------
    gnucash/src/business/business-gnome:
        business-gnome.scm
    gnucash/src/report/report-gnome:
        Makefile.am
        gnc-plugin-page-report.c
        gnc-plugin-page-report.h
        gw-report-gnome-spec.scm
        report-gnome.scm
    gnucash/src/report/report-system:
        report.scm

Revision Data
-------------
Index: business-gnome.scm
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-gnome/business-gnome.scm,v
retrieving revision 1.47.4.5
retrieving revision 1.47.4.6
diff -Lsrc/business/business-gnome/business-gnome.scm -Lsrc/business/business-gnome/business-gnome.scm -u -r1.47.4.5 -r1.47.4.6
--- src/business/business-gnome/business-gnome.scm
+++ src/business/business-gnome/business-gnome.scm
@@ -14,7 +14,6 @@
 (use-modules (gnucash report business-reports))
 (use-modules (gnucash main))		;for gnc:debug
 
-(define main-window gnc:window-name-main)
 (define top-level (N_ "_Business"))
 (define new-label (N_ "New"))
 (define find-label (N_ "Find"))
@@ -34,7 +33,7 @@
 (define (business-report-function)
   (gnc:add-extension
    (gnc:make-menu gnc:menuname-business-reports
-		  (list "Main" gnc:menuname-reports))))
+		  (list gnc:menuname-reports))))
 
 (define (business-book-opened session)
   (remind-bills-due session))
Index: gw-report-gnome-spec.scm
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/report-gnome/gw-report-gnome-spec.scm,v
retrieving revision 1.5.4.1
retrieving revision 1.5.4.2
diff -Lsrc/report/report-gnome/gw-report-gnome-spec.scm -Lsrc/report/report-gnome/gw-report-gnome-spec.scm -u -r1.5.4.1 -r1.5.4.2
--- src/report/report-gnome/gw-report-gnome-spec.scm
+++ src/report/report-gnome/gw-report-gnome-spec.scm
@@ -9,6 +9,7 @@
 (use-modules (g-wrap gw-wct-spec))
 (use-modules (g-wrap gw-glib-spec))
 
+(use-modules (g-wrapped gw-gnc-spec))
 (use-modules (g-wrapped gw-engine-spec))
 (use-modules (g-wrapped gw-gnome-utils-spec))
 
@@ -18,6 +19,7 @@
   (gw:wrapset-depends-on ws "gw-wct")
   (gw:wrapset-depends-on ws "gw-glib")
 
+  (gw:wrapset-depends-on ws "gw-gnc")
   (gw:wrapset-depends-on ws "gw-engine")
   (gw:wrapset-depends-on ws "gw-gnome-utils")
 
@@ -29,12 +31,9 @@
      (list
       "#include <dialog-column-view.h>\n"
       "#include <dialog-style-sheet.h>\n"
+      "#include <gnc-plugin-page-report.h>\n"
       "#include <window-report.h>\n")))
 
-  (gw:wrap-as-wct ws
-                  '<gnc:report-window*>
-                  "gnc_report_window*" "const gnc_report_window*")
-
   (gw:wrap-function
    ws
    'gnc:report-window
@@ -45,22 +44,6 @@
 
   (gw:wrap-function
    ws
-   'gnc:report-window-reload
-   '<gw:void>
-   "gnc_report_window_reload"
-   '((<gnc:report-window*> wind))
-   "Force reload of a report window")
-
-  (gw:wrap-function
-   ws
-   'gnc:report-window-add-edited-report
-   '<gw:void>
-   "gnc_report_window_add_edited_report"
-   '((<gnc:report-window*> wind) (<gw:scm> report))
-   "Add a report to the list of reports with open editors")
-
-  (gw:wrap-function
-   ws
    'gnc:print-report
    '<gw:void>
    "gnc_print_report"
@@ -80,7 +63,7 @@
    'gnc:main-window-open-report
    '<gw:void>
    "gnc_main_window_open_report"
-   '((<gw:int> report-id) (<gw:bool> top-level))
+   '((<gw:int> report-id) (<gnc:MainWindow*> window))
    "Show report window")
 
   (gw:wrap-function
Index: gnc-plugin-page-report.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/report-gnome/Attic/gnc-plugin-page-report.h,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -Lsrc/report/report-gnome/gnc-plugin-page-report.h -Lsrc/report/report-gnome/gnc-plugin-page-report.h -u -r1.1.2.3 -r1.1.2.4
--- src/report/report-gnome/gnc-plugin-page-report.h
+++ src/report/report-gnome/gnc-plugin-page-report.h
@@ -35,7 +35,7 @@
 #define __GNC_PLUGIN_PAGE_REPORT_H
 
 #include <gtk/gtkwindow.h>
-#include "gnc-plugin-page.h"
+#include "gnc-plugin.h"
 
 G_BEGIN_DECLS
 
@@ -82,6 +82,11 @@
  */
 GncPluginPage *gnc_plugin_page_report_new( int reportId );
 
+// entry-point from scm menu-extension callback [gnc:menu-extension].
+void       gnc_main_window_open_report (int report_id, GncMainWindow *window);
+// directly called through from above
+void       gnc_main_window_open_report_url (const char * url, GncMainWindow *window);
+
 G_END_DECLS
 
 #endif /* __GNC_PLUGIN_PAGE_REPORT_H */
Index: gnc-plugin-page-report.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/report-gnome/Attic/gnc-plugin-page-report.c,v
retrieving revision 1.1.2.8
retrieving revision 1.1.2.9
diff -Lsrc/report/report-gnome/gnc-plugin-page-report.c -Lsrc/report/report-gnome/gnc-plugin-page-report.c -u -r1.1.2.8 -r1.1.2.9
--- src/report/report-gnome/gnc-plugin-page-report.c
+++ src/report/report-gnome/gnc-plugin-page-report.c
@@ -1047,3 +1047,34 @@
 {
         gnc_html_print(report->priv->html);
 }
+
+/********************************************************************
+ * gnc_main_window_open_report()
+ * open an report in a top level window from an ID number 
+ ********************************************************************/
+
+void
+gnc_main_window_open_report(int report_id, GncMainWindow *window)
+{
+  GncPluginPage *reportPage;
+
+  if (window)
+    g_return_if_fail(GNC_IS_MAIN_WINDOW(window));
+
+  reportPage = gnc_plugin_page_report_new( report_id );
+  gnc_main_window_open_page( window, reportPage );
+}
+
+void
+gnc_main_window_open_report_url(const char * url, GncMainWindow *window)
+{
+  GncPluginPage *reportPage;
+
+  printf( "report url: [%s]\n", url );
+
+  if (window)
+    g_return_if_fail(GNC_IS_MAIN_WINDOW(window));
+
+  reportPage = gnc_plugin_page_report_new( 42 /* url? */ );
+  gnc_main_window_open_page( window, reportPage );
+}
Index: Makefile.am
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/report-gnome/Makefile.am,v
retrieving revision 1.14.4.7
retrieving revision 1.14.4.8
diff -Lsrc/report/report-gnome/Makefile.am -Lsrc/report/report-gnome/Makefile.am -u -r1.14.4.7 -r1.14.4.8
--- src/report/report-gnome/Makefile.am
+++ src/report/report-gnome/Makefile.am
@@ -105,6 +105,7 @@
 	  (set! %load-path (cons \"${top_builddir}/src/engine\" %load-path)) \
 	  (set! %load-path (cons \"${top_builddir}/src/app-utils\" %load-path)) \
 	  (set! %load-path (cons \"${top_builddir}/src/gnome-utils\" %load-path)) \
+	  (set! %load-path (cons \"${top_builddir}/src/gnome\" %load-path)) \
 	  (primitive-load \"./gw-report-gnome-spec.scm\") \
 	  (gw:generate-wrapset \"gw-report-gnome\")"
 
Index: report-gnome.scm
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/report-gnome/report-gnome.scm,v
retrieving revision 1.9.4.4
retrieving revision 1.9.4.5
diff -Lsrc/report/report-gnome/report-gnome.scm -Lsrc/report/report-gnome/report-gnome.scm -u -r1.9.4.4 -r1.9.4.5
--- src/report/report-gnome/report-gnome.scm
+++ src/report/report-gnome/report-gnome.scm
@@ -59,7 +59,7 @@
           (if (not menu-path)
               (set! menu-path '()))
 
-          (set! menu-path (append (list gnc:window-name-main gnc:menuname-reports) menu-path))
+          (set! menu-path (append (list gnc:menuname-reports) menu-path))
 
           (if (not menu-tip)
               (set! menu-tip
@@ -70,10 +70,10 @@
                  ((menu-namer 'add-name) name)
                  menu-tip
                  menu-path
-                 (lambda ()
+                 (lambda (window)
                    (let ((report (gnc:make-report
                                   (gnc:report-template-name template))))
-                     (gnc:main-window-open-report report #f)))))
+                     (gnc:main-window-open-report report window)))))
           (gnc:add-extension item))))
 
   (define (add-template name template)
@@ -91,29 +91,19 @@
    (sort *template-items* sort-templates)))
 
 (define (gnc:report-menu-setup)
-  ;; since this menu gets added to every child window, we say it 
-  ;; comes after the "_Actions" menu;
-  (define menu (gnc:make-menu gnc:menuname-reports
-			      (list gnc:window-name-main)))
   (define menu-namer (gnc:new-menu-namer))
   (define asset-liability-menu
-    (gnc:make-menu gnc:menuname-asset-liability
-                   (list gnc:window-name-main gnc:menuname-reports)))
+    (gnc:make-menu gnc:menuname-asset-liability (list gnc:menuname-reports)))
   (define income-expense-menu
-    (gnc:make-menu gnc:menuname-income-expense
-                   (list gnc:window-name-main gnc:menuname-reports)))
+    (gnc:make-menu gnc:menuname-income-expense (list gnc:menuname-reports)))
   (define utility-menu
-    (gnc:make-menu gnc:menuname-utility
-                   (list gnc:window-name-main gnc:menuname-reports)))
+    (gnc:make-menu gnc:menuname-utility (list gnc:menuname-reports)))
   (define custom-menu
-    (gnc:make-menu gnc:menuname-custom
-                   (list gnc:window-name-main gnc:menuname-reports)))
+    (gnc:make-menu gnc:menuname-custom (list gnc:menuname-reports)))
   (define tax-menu 
-    (gnc:make-menu gnc:menuname-taxes
-		   (list gnc:window-name-main gnc:menuname-reports)))
+    (gnc:make-menu gnc:menuname-taxes (list gnc:menuname-reports)))
 
   (gnc:warn "report-menu-setup")
-  (gnc:add-extension menu)
 
   ;; (gnc:add-extension tax-menu)
   (gnc:add-extension income-expense-menu)
Index: report.scm
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/report/report-system/report.scm,v
retrieving revision 1.12.4.2
retrieving revision 1.12.4.3
diff -Lsrc/report/report-system/report.scm -Lsrc/report/report-system/report.scm -u -r1.12.4.2 -r1.12.4.3
--- src/report/report-system/report.scm
+++ src/report/report-system/report.scm
@@ -36,7 +36,7 @@
 (define *gnc:_report-next-serial_* 0)
 
 ;; Define those strings here to make changes easier and avoid typos.
-(define gnc:menuname-reports (N_ "_Reports"))
+(define gnc:menuname-reports "Reports")
 (define gnc:menuname-asset-liability (N_ "_Assets & Liabilities"))
 (define gnc:menuname-income-expense (N_ "_Income & Expense"))
 (define gnc:menuname-taxes (N_ "_Taxes"))


More information about the gnucash-changes mailing list