Skip to content

Commit

Permalink
*** empty log message ***
Browse files Browse the repository at this point in the history
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2056 57a11ea4-9604-0410-9ed3-97b8803252fd
  • Loading branch information
jdavisp3 committed Mar 6, 2000
1 parent b2f2293 commit 845714f
Show file tree
Hide file tree
Showing 11 changed files with 97 additions and 44 deletions.
35 changes: 35 additions & 0 deletions ChangeLog
@@ -1,3 +1,38 @@
2000-03-05 Rob Browning <rlb@cs.utexas.edu>

* src/scm/report/transaction-report.scm: add support for depend
mechanism.

* src/scm/report/hello-world.scm: add support for depend
mechanism.

* src/scm/report/folio.scm: add support for depend mechanism.

* src/scm/report/balance-and-pnl.scm: add support for depend
mechanism.

* src/scm/report/average-balance.scm: add support for depend
mechanism.

* src/scm/report.scm (gnc:report-menu-setup): fixed minor
non-r5rsism (defines must be at the beginning of a <body>).

* src/scm/report/report-list.scm: new file. This is where all of
the reports that should be loaded at startup should be listed.

* src/scm/main.scm (gnc:startup): don't autoscan/load from the
report dir anymore. Use the depend mechanism instead. This isn't
as convenient, but it's safer.

* src/scm/hooks.scm (gnc:hook-run-danglers): added a little
debugging code.

* src/scm/extensions.scm (gnc:extensions-menu-setup): fixed minor
non-r5rsism (nested defines must be at the beginning of a <body>).

* make-gnucash-patch: allow the user to override the default
locations with environment variables.

2000-03-04 Dave Peticolas <peticola@cs.ucdavis.edu>

* src/guile/gnucash.c (main): load the locale from the environment
Expand Down
15 changes: 14 additions & 1 deletion make-gnucash-patch
Expand Up @@ -24,11 +24,24 @@ my $new = 'gnucash';
# The directory where the above two directories reside
my $gnc_home = '/usr/src/misc/gnc';


###########################################################
# This section should not need to be modified. #
###########################################################

# Allow the user to override the defaults with evnt vars.

if($ENV{'GNC_MAKEPATCH_OLD_DIR'}) {
$old = $ENV{'GNC_MAKEPATCH_OLD_DIR'};
}

if($ENV{'GNC_MAKEPATCH_NEW_DIR'}) {
$new = $ENV{'GNC_MAKEPATCH_NEW_DIR'};
}

if($ENV{'GNC_MAKEPATCH_HOME_DIR'}) {
$gnc_home = $ENV{'GNC_MAKEPATCH_HOME_DIR'};
}

# Switch to the home directory
chdir $gnc_home or die "Can't cd!\n";

Expand Down
6 changes: 5 additions & 1 deletion src/scm/hooks.scm
Expand Up @@ -31,7 +31,11 @@

(define (gnc:hook-run-danglers hook . args)
(gnc:debug "Running functions on hook " (gnc:hook-name-get hook))
(for-each (lambda (dangler) (apply dangler args))
(for-each (lambda (dangler)
(if (gnc:debugging?)
(begin
(display " ") (display dangler) (newline)))
(apply dangler args))
(gnc:hook-danglers-get hook)))

;;; Public
Expand Down
22 changes: 1 addition & 21 deletions src/scm/main.scm
Expand Up @@ -17,27 +17,7 @@
(gnc:depend "text-export.scm")
(gnc:depend "importqif.scm")
(gnc:depend "report.scm")

;; FIXME: These do not belong here, but for now, we're putting them
;; here. Later we need a generalization of gnc:load that takes a
;; path specifier, and then we should have a gnc:*report-path* that
;; determines where we look to load report files. For now, though,
;; I just want to get things going...
;;
;; Just load these since we might want to redefine them on the fly
;; and we're going to change this mechanism anyway...
(let
((repdir
(opendir (string-append gnc:_share-dir-default_ "/scm/report"))))
(while (let ((cf (readdir repdir)))
(if (string? cf)
(if (and
(not (directory? cf))
(> (string-length cf) 4))
(if (string=? (substring cf (- (string-length cf) 4)
(string-length cf)) ".scm")
(gnc:load (string-append "report/" cf)))))
(string? cf)) ()))
(gnc:depend "report/report-list.scm")

;; Load the system configs
(if (not (gnc:load-system-config-if-needed))
Expand Down
42 changes: 22 additions & 20 deletions src/scm/report.scm
Expand Up @@ -48,27 +48,29 @@

(define menu (gnc:make-menu "_Reports" (list "_Settings")))
(define menu-namer (gnc:new-menu-namer))

(gnc:add-extension menu)

(hash-for-each
(lambda (name report)
(if (gnc:debugging?)
(let ((options (false-if-exception (gnc:report-new-options report))))
(if options
(gnc:options-register-translatable-strings options))))
(define item
(gnc:make-menu-item
((menu-namer 'add-name) name)
(string-append "Display the " name " report.")
(list "_Reports" "")
(lambda ()
(define (add-report-menu-item name report)
(let ((item #f))
(if (gnc:debugging?)
(let ((options (false-if-exception (gnc:report-new-options report))))
(gnc:report-window (string-append "Report: " name)
(lambda () (gnc:run-report name options))
options)))))
(gnc:add-extension item))
*gnc:_report-info_*))
(if options
(gnc:options-register-translatable-strings options))))

(set! item
(gnc:make-menu-item
((menu-namer 'add-name) name)
(string-append "Display the " name " report.")
(list "_Reports" "")
(lambda ()
(let ((options (false-if-exception
(gnc:report-new-options report))))
(gnc:report-window (string-append "Report: " name)
(lambda () (gnc:run-report name options))
options)))))
(gnc:add-extension item)))

(gnc:add-extension menu)

(hash-for-each add-report-menu-item *gnc:_report-info_*))

(define (gnc:define-report version name option-generator rendering-thunk)
;; For now the version is ignored, but in the future it'll let us
Expand Down
4 changes: 3 additions & 1 deletion src/scm/report/average-balance.scm
Expand Up @@ -7,13 +7,15 @@
;; these calculations and accepts no responsibility for direct
;; or indirect losses incurred as a result of using this software.
;;
;; Note that this code uses functions defined in "transaction-report.scm"
;; Matt Martin <matt.martin@ieee.org>

(gnc:support "report/average-balance.scm")

(use-modules (ice-9 regex))
(require 'hash-table)

(gnc:depend "structure.scm")
(gnc:depend "report/transaction-report.scm")

;; Modify a date
(define (moddate op adate delta)
Expand Down
2 changes: 2 additions & 0 deletions src/scm/report/balance-and-pnl.scm
@@ -1,5 +1,7 @@
;; -*-scheme-*-

(gnc:support "report/balance-and-pnl.scm")

(gnc:depend "text-export.scm")

(let ()
Expand Down
2 changes: 2 additions & 0 deletions src/scm/report/folio.scm
@@ -1,4 +1,6 @@

(gnc:support "report/folio.scm")

;; I haven't finished converting this yet...

;(gnc:define-report
Expand Down
2 changes: 2 additions & 0 deletions src/scm/report/hello-world.scm
Expand Up @@ -4,6 +4,8 @@
;; It illustrates the basic techniques used to create
;; new reports for GnuCash.

(gnc:support "report/hello-world.scm")

;; Putting your functions in a (let ()) block hides them
;; from the rest of guile.
(let ()
Expand Down
9 changes: 9 additions & 0 deletions src/scm/report/report-list.scm
@@ -0,0 +1,9 @@
;; Index file to load all of the releavant reports.

(gnc:support "report/report-list.scm")

(gnc:depend "report/average-balance.scm")
(gnc:depend "report/balance-and-pnl.scm")
(gnc:depend "report/folio.scm")
(gnc:depend "report/hello-world.scm")
(gnc:depend "report/transaction-report.scm")
2 changes: 2 additions & 0 deletions src/scm/report/transaction-report.scm
Expand Up @@ -3,6 +3,8 @@
;; Report on all transactions in an account
;; Robert Merkel (rgmerk@mira.net)

(gnc:support "report/transaction-report.scm")

(require 'sort)

;hack alert - is this line necessary?
Expand Down

0 comments on commit 845714f

Please sign in to comment.