I'll try to do a trace later today. --Vincent On Tue, Jul 4, 2023 at 7:59 AM Geert Janssens <geert.gnuc...@kobaltwit.be> wrote:
> Any error messages in gnucash.trace when the loading fails ? > > Regards, > > Geert > > Op dinsdag 4 juli 2023 03:57:17 CEST schreef Vincent Dawans: > > > HI Robert: > > > > > > Here are a few things you need to change: > > > > > > That very last statement (gnc:make-html-style-sheet "DWS_Stylesheet" (N_ > > > "DWS Stylesheet")) the first parameter is actually the template name > > > defined just above, so it should be "DWS Stylesheet" without the > > > underscore. The second parameter is the name of the default stylesheet > > > created based on that template. You can use the same name as the template > > > or you could call your Template "DWS Template" both here and above, as > in: > > > > > > (gnc:define-html-style-sheet > > > 'version 3.0 > > > 'name (N_ "DWS Template") > > > 'renderer dws-renderer > > > 'options-generator dws-options) > > > > > > (gnc:make-html-style-sheet "DWS Template" (N_ "DWS Stylesheet")) > > > > > > I would also advise you put your code in a separate scm file, for > instance > > > dws.scm, then store it in the USER_DATA directory .local/share/gnucash > and > > > load it from config-user.scm by adding > > > > > > (load (gnc-build-userdata-path "dws.scm")) > > > > > > Finally, possibly you are hitting a bug with the inability to save or > there > > > is something I don't know about loading the template because I have the > > > same problem. Actually it's saving fine, you can see it in > > > local/share/gnucash/stylesheets-2.0. It's the loading that's not > working. I > > > am wondering if it's not trying to load the saved stylesheet before > running > > > config-user.scm and therefore not finding it or something like that. But > if > > > I put the scm file directly in the main template directory under gnucash > > > then it works, it's loading the saved settings, so that's a work-around. > > > You don't load it in config-user.scm; instead you copy the file to > > > > > > <gnucash install > > > dir>/gnucash/share/guile/site/2.2/gnucash/report/stylesheets/ > > > > > > Sincerely, > > > > > > Vincent Dawans > > > > > > Then it saves fine for me. > > > > > > On Mon, Jul 3, 2023 at 7:17 AM Robert Heller <hel...@deepsoft.com> > wrote: > > > > I have written a style sheet module and it *seems* to be loading now, > but > > > > things are wonky any I don't know why. > > > > > > > > What I am *trying to go: > > > > > > > > 1) Put my company letterhead across the top of the invoice > > > > 2) Put a "button image" (Payments by PayPal) under the invoice table. > > > > > > > > My custom stylesheet code adds two options: the button image and some > > > > (optional) text to put under the button image (typically the e-mail > > > > address to > > > > use as the payment target). > > > > > > > > Several things are not working: > > > > > > > > If I use the Edit->Style Sheets options and create a new stylesheet > from > > > > my > > > > template, the addition options are not available (why?) If I just edit > the > > > > template itselt (with Edit->Style Sheets) I can set the header image > and > > > > the > > > > button image, and the header image shows up, but not the button image > > > > (why?), > > > > and the options not saved across runs (why?). > > > > > > > > This code used to work just fine with V 2.6. What has changed? What > do I > > > > need to change? The attached code was copied and modified from the > V4.14 > > > > source tree (footer.scm), but obviously something is wrong somewhere. > > > > > > > > > > > > > ;;************************************************************************ > > > > ***** ;; > > > > ;; System : > > > > ;; Module : > > > > ;; Object Name : $RCSfile$ > > > > ;; Revision : $Revision$ > > > > ;; Date : $Date$ > > > > ;; Author : $Author$ > > > > ;; Created By : Robert Heller > > > > ;; Created : Sun Jul 2 15:09:23 2023 > > > > ;; Last Modified : <230703.1014> > > > > ;; > > > > ;; Description > > > > ;; > > > > ;; Notes > > > > ;; > > > > ;; History > > > > ;; > > > > > > > > > ;;************************************************************************ > > > > ***** ;;# @copyright > > > > ;; Copyright (C) 2023 Robert Heller D/B/A Deepwoods Software > > > > ;; 51 Locke Hill Road > > > > ;; Wendell, MA 01379-9728 > > > > ;; > > > > ;; This program is free software; you can redistribute it and/or > modify > > > > ;; it under the terms of the GNU General Public License as > published by > > > > ;; the Free Software Foundation; either version 2 of the License, or > > > > ;; (at your option) any later version. > > > > ;; > > > > ;; This program is distributed in the hope that it will be useful, > > > > ;; but WITHOUT ANY WARRANTY; without even the implied warranty of > > > > ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > > > ;; GNU General Public License for more details. > > > > ;; > > > > ;; You should have received a copy of the GNU General Public License > > > > ;; along with this program; if not, write to the Free Software > > > > ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. > > > > ;; @file dws-stylesheet.scm > > > > ;; @author Robert Heller > > > > ;; @date Sun Jul 2 15:09:23 2023 > > > > ;; > > > > ;; > > > > > > > > > ;;************************************************************************ > > > > ***** > > > > > > > > (define-module (gnucash report stylesheets DWS)) > > > > > > > > (use-modules (gnucash engine)) > > > > (use-modules (gnucash utilities)) > > > > (use-modules (gnucash core-utils)) > > > > (use-modules (gnucash app-utils)) > > > > (use-modules (gnucash report)) > > > > (use-modules (gnucash html)) > > > > > > > > (define (dws-options) > > > > > > > > (let* ((options (gnc:new-options)) > > > > > > > > (opt-register > > > > > > > > (lambda (opt) > > > > > > > > (gnc:register-option options opt)))) > > > > > > > > (opt-register > > > > > > > > (gnc:make-string-option > > > > > > > > (N_ "General") > > > > (N_ "Preparer") "a" > > > > (N_ "Name of person preparing the report.") > > > > "")) > > > > > > > > (opt-register > > > > > > > > (gnc:make-string-option > > > > > > > > (N_ "General") > > > > (N_ "Prepared for") "b" > > > > (N_ "Name of organization or company prepared for.") > > > > "")) > > > > > > > > (opt-register > > > > > > > > (gnc:make-simple-boolean-option > > > > > > > > (N_ "General") > > > > (N_ "Show preparer info") "c" > > > > (N_ "Name of organization or company.") > > > > #f)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-simple-boolean-option > > > > > > > > (N_ "General") > > > > (N_ "Enable Links") "d" > > > > (N_ "Enable hyperlinks in reports.") > > > > #t)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-text-option > > > > > > > > (N_ "General") > > > > (N_ "Footer") "e" > > > > (N_ "String to be placed as a footer.") > > > > "")) > > > > > > > > (opt-register > > > > > > > > (gnc:make-pixmap-option > > > > > > > > (N_ "Images") > > > > (N_ "Background Tile") "a" (N_ "Background tile for reports.") > > > > "")) > > > > > > > > (opt-register > > > > > > > > (gnc:make-pixmap-option > > > > > > > > (N_ "Images") > > > > > > > > ;;; Translators: Banner is an image like Logo. > > > > > > > > (N_ "Heading Banner") "b" (N_ "Banner for top of report.") > > > > "")) > > > > > > > > (opt-register > > > > > > > > (gnc:make-multichoice-option > > > > > > > > (N_ "Images") > > > > (N_ "Heading Alignment") "c" (N_ "Banner for top of report.") > > > > 'left > > > > (list (vector 'left (N_ "Left")) > > > > > > > > (vector 'center (N_ "Center")) > > > > (vector 'right (N_ "Right"))))) > > > > > > > > (opt-register > > > > > > > > (gnc:make-pixmap-option > > > > > > > > (N_ "Images") > > > > (N_ "Logo") "d" (N_ "Company logo image.") > > > > "")) > > > > > > > > ;; RPH Mon Oct 8 10:46:26 2007 > > > > ;; Button image and associated text options > > > > (opt-register > > > > > > > > (gnc:make-pixmap-option > > > > > > > > (N_ "Images") > > > > (N_ "Button Image") "e" (N_ "Button image.") > > > > > > > > "")) > > > > > > > > (opt-register > > > > > > > > (gnc:make-string-option > > > > > > > > (N_ "Images") > > > > (N_ "Button Image Text") "f" (N_ "Text to place under Button > > > > > > > > Image.") > > > > > > > > "")) > > > > > > > > (opt-register > > > > > > > > (gnc:make-color-option > > > > > > > > (N_ "Colors") > > > > (N_ "Background Color") "a" (N_ "General background color for > > > > > > > > report.") > > > > > > > > (list #xff #xff #xff #xff) > > > > 255 #f)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-color-option > > > > > > > > (N_ "Colors") > > > > (N_ "Text Color") "b" (N_ "Normal body text color.") > > > > (list #x00 #x00 #x00 #xff) > > > > 255 #f)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-color-option > > > > > > > > (N_ "Colors") > > > > (N_ "Link Color") "c" (N_ "Link text color.") > > > > (list #xb2 #x22 #x22 #xff) > > > > 255 #f)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-color-option > > > > > > > > (N_ "Colors") > > > > (N_ "Table Cell Color") "c" (N_ "Default background for table > > > > > > > > cells.") > > > > > > > > (list #xff #xff #xff #xff) > > > > 255 #f)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-color-option > > > > > > > > (N_ "Colors") > > > > (N_ "Alternate Table Cell Color") "d" > > > > (N_ "Default alternate background for table cells.") > > > > (list #xff #xff #xff #xff) > > > > 255 #f)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-color-option > > > > > > > > (N_ "Colors") > > > > (N_ "Subheading/Subtotal Cell Color") "e" > > > > (N_ "Default color for subtotal rows.") > > > > (list #xee #xe8 #xaa #xff) > > > > 255 #f)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-color-option > > > > > > > > (N_ "Colors") > > > > (N_ "Sub-subheading/total Cell Color") "f" > > > > (N_ "Color for subsubtotals.") > > > > (list #xfa #xfa #xd2 #xff) > > > > 255 #f)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-color-option > > > > > > > > (N_ "Colors") > > > > (N_ "Grand Total Cell Color") "g" > > > > (N_ "Color for grand totals.") > > > > (list #xff #xff #x00 #xff) > > > > 255 #f)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-number-range-option > > > > > > > > (N_ "Tables") > > > > (N_ "Table cell spacing") "a" (N_ "Space between table cells.") > > > > 1 0 20 0 1)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-number-range-option > > > > > > > > (N_ "Tables") > > > > (N_ "Table cell padding") "b" (N_ "Space between table cell edge > and > > > > > > > > content.") > > > > > > > > 1 0 20 0 1)) > > > > > > > > (opt-register > > > > > > > > (gnc:make-number-range-option > > > > > > > > (N_ "Tables") > > > > (N_ "Table border width") "c" (N_ "Bevel depth on tables.") > > > > 1 0 20 0 1)) > > > > > > > > (register-font-options options) > > > > > > > > options)) > > > > > > > > (define (dws-renderer options doc) > > > > > > > > (let* ((ssdoc (gnc:make-html-document)) > > > > > > > > (opt-val > > > > > > > > (lambda (section name) > > > > > > > > (gnc:option-value > > > > > > > > (gnc:lookup-option options section name)))) > > > > > > > > (color-val > > > > > > > > (lambda (section name) > > > > > > > > (gnc:color-option->html > > > > > > > > (gnc:lookup-option options section name)))) > > > > > > > > (preparer (opt-val "General" "Preparer")) > > > > (prepared-for (opt-val "General" "Prepared for")) > > > > (show-preparer? (opt-val "General" "Show preparer info")) > > > > (links? (opt-val "General" "Enable Links")) > > > > (footer-text (opt-val "General" "Footer")) > > > > (bgcolor (color-val "Colors" "Background Color")) > > > > (textcolor (color-val "Colors" "Text Color")) > > > > (linkcolor (color-val "Colors" "Link Color")) > > > > (normal-row-color (color-val "Colors" "Table Cell Color")) > > > > (alternate-row-color (color-val "Colors" "Alternate Table Cell > > > > > > > > Color")) > > > > > > > > (primary-subheading-color > > > > > > > > (color-val "Colors" "Subheading/Subtotal Cell Color")) > > > > > > > > (secondary-subheading-color > > > > > > > > (color-val "Colors" "Sub-subheading/total Cell Color")) > > > > > > > > (grand-total-color (color-val "Colors" "Grand Total Cell > Color")) > > > > (bgpixmap (opt-val "Images" "Background Tile")) > > > > (headpixmap (opt-val "Images" "Heading Banner")) > > > > (logopixmap (opt-val "Images" "Logo")) > > > > ;; Fetch Button image options > > > > (buttonpixmap (opt-val (N_ "Images") (N_ "Button Image"))) > > > > (buttontext (opt-val (N_ "Images") (N_ "Button Image Text"))) > > > > (align (gnc:value->string (opt-val "Images" "Heading > > > > Alignment"))) > > > > (spacing (opt-val "Tables" "Table cell spacing")) > > > > (padding (opt-val "Tables" "Table cell padding")) > > > > (border (opt-val "Tables" "Table border width"))) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "body" > > > > 'attribute (list "bgcolor" bgcolor) > > > > 'attribute (list "text" textcolor) > > > > 'attribute (list "link" linkcolor)) > > > > > > > > ;;;; > > > > ;;;; > > > > ;;;; > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "column-heading-left" > > > > 'tag "th" > > > > 'attribute (list "class" "column-heading-left")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "column-heading-center" > > > > 'tag "th" > > > > 'attribute (list "class" "column-heading-center")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "column-heading-right" > > > > 'tag "th" > > > > 'attribute (list "class" "column-heading-right")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "date-cell" > > > > 'tag "td" > > > > 'attribute (list "class" "date-cell")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "anchor-cell" > > > > 'tag "td" > > > > 'attribute (list "class" "anchor-cell")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "number-cell" > > > > 'tag "td" > > > > 'attribute (list "class" "number-cell")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "number-cell-neg" > > > > 'tag "td" > > > > 'attribute (list "class" "number-cell neg")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "number-header" > > > > 'tag "th" > > > > 'attribute (list "class" "number-header")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "text-cell" > > > > 'tag "td" > > > > 'attribute (list "class" "text-cell")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "total-number-cell" > > > > 'tag '("td") > > > > 'attribute (list "class" "total-number-cell")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "total-number-cell-neg" > > > > 'tag '("td") > > > > 'attribute (list "class" "total-number-cell neg")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "total-label-cell" > > > > 'tag '("td") > > > > 'attribute (list "class" "total-label-cell")) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "centered-label-cell" > > > > 'tag '("td") > > > > 'attribute (list "class" "centered-label-cell")) > > > > > > > > (if (and bgpixmap > > > > > > > > (not (string=? bgpixmap ""))) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "body" > > > > 'attribute (list "background" (make-file-url bgpixmap)))) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "table" > > > > 'attribute (list "border" border) > > > > 'attribute (list "cellspacing" spacing) > > > > 'attribute (list "cellpadding" padding)) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "normal-row" > > > > 'attribute (list "bgcolor" normal-row-color) > > > > 'tag "tr") > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "alternate-row" > > > > 'attribute (list "bgcolor" alternate-row-color) > > > > 'tag "tr") > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "primary-subheading" > > > > 'attribute (list "bgcolor" primary-subheading-color) > > > > 'tag "tr") > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "secondary-subheading" > > > > 'attribute (list "bgcolor" secondary-subheading-color) > > > > 'tag "tr") > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "grand-total" > > > > 'attribute (list "bgcolor" grand-total-color) > > > > 'tag "tr") > > > > > > > > ;; don't surround marked-up links with <a> </a> > > > > (if (not links?) > > > > > > > > (gnc:html-document-set-style! > > > > > > > > ssdoc "a" 'tag "")) > > > > > > > > (add-css-information-to-doc options ssdoc doc) > > > > > > > > (let ((t (gnc:make-html-table)) > > > > > > > > ;; set the header column to be the 2nd when we have a logo > > > > ;; do this so that when logo is not present, the document is > > > > ;; perfectly centered > > > > (headcolumn (if (and logopixmap (> (string-length logopixmap) > > > > 0)) > > > > > > > > 1 0))) > > > > > > > > ;; we don't want a bevel for this table, but we don't want > > > > ;; that to propagate > > > > (gnc:html-table-set-style! > > > > > > > > t "table" > > > > 'attribute (list "border" 0) > > > > 'attribute (list "style" "margin-left:auto; margin-right:auto") > > > > 'inheritable? #f) > > > > > > > > (let* ((headline (or (gnc:html-document-headline doc) > > > > > > > > (gnc:html-document-title doc)))) > > > > > > > > (gnc:html-table-set-cell! > > > > > > > > t 1 headcolumn > > > > (if show-preparer? > > > > > > > > ;; title plus preparer info > > > > (gnc:make-html-text > > > > > > > > (gnc:html-markup-h3 headline) > > > > (gnc:html-markup-br) > > > > (G_ "Prepared by: ") > > > > (gnc:html-markup-b preparer) > > > > (gnc:html-markup-br) > > > > (G_ "Prepared for: ") > > > > (gnc:html-markup-b prepared-for) > > > > (gnc:html-markup-br) > > > > (G_ "Date: ") > > > > (qof-print-date > > > > > > > > (current-time))) > > > > > > > > ;; title only > > > > (gnc:make-html-text > > > > > > > > (gnc:html-markup-h3 headline))))) > > > > > > > > ;; only setup an image if we specified one > > > > (if (and logopixmap (> (string-length logopixmap) 0)) > > > > > > > > (gnc:html-table-set-cell! > > > > > > > > t 0 0 > > > > (gnc:make-html-text > > > > > > > > (gnc:html-markup-img (make-file-url logopixmap))))) > > > > > > > > (display "*** headpixmap is ")(display headpixmap)(newline) > > > > (if (and headpixmap (> (string-length headpixmap) 0)) > > > > > > > > (let* ((div (gnc:html-markup-img (make-file-url headpixmap))) > > > > > > > > (cell (gnc:make-html-table-cell (gnc:make-html-text > > > > > > > > div)))) > > > > > > > > (gnc:html-table-cell-set-style! cell "td" 'attribute > `("align" > > > > > > > > ,align)) > > > > > > > > (gnc:html-table-set-cell! t 0 headcolumn cell)) > > > > > > > > (gnc:html-table-set-cell! t 0 headcolumn (gnc:make-html-text > " > > > > > > > > "))) > > > > > > > > (apply > > > > > > > > gnc:html-table-set-cell! > > > > t 2 headcolumn > > > > (gnc:html-document-objects doc)) > > > > > > > > (display "*** buttonpixmap is ")(display buttonpixmap)(newline) > > > > (display "*** buttontext is ")(display buttontext)(newline) > > > > (if (and buttonpixmap > > > > > > > > (not (string=? buttonpixmap ""))) > > > > > > > > (gnc:html-table-set-cell! > > > > > > > > t 0 headcolumn > > > > (gnc:make-html-text > > > > > > > > (gnc:html-markup-img (make-file-url buttonpixmap)) > > > > ;; Include additional text (typically E-Mail address used > > > > for > > > > ;; PayPal payments. > > > > (if (and buttontext (not (string=? buttontext ""))) > > > > > > > > (string-append "<BR>" buttontext "<BR>") ) )) ) > > > > > > > > (gnc:html-document-add-object! ssdoc t) > > > > > > > > (gnc:html-table-set-cell! > > > > > > > > t 3 headcolumn > > > > (gnc:make-html-text footer-text))) > > > > > > > > ssdoc)) > > > > > > > > (gnc:define-html-style-sheet > > > > > > > > 'version 3.0 > > > > 'name (N_ "DWS Stylesheet") > > > > 'renderer dws-renderer > > > > 'options-generator dws-options) > > > > > > > > (gnc:make-html-style-sheet "DWS_Stylesheet" (N_ "DWS Stylesheet")) > > > > > > > > > > > > > > > > -- > > > > Robert Heller -- Cell: 413-658-7953 GV: 978-633-5364 > > > > Deepwoods Software -- Custom Software Services > > > > http://www.deepsoft.com/ -- Linux Administration Services > > > > hel...@deepsoft.com -- Webhosting Services > > > > > > > > _______________________________________________ > > > > gnucash-user mailing list > > > > gnucash-user@gnucash.org > > > > To update your subscription preferences or to unsubscribe: > > > > https://lists.gnucash.org/mailman/listinfo/gnucash-user > > > > ----- > > > > Please remember to CC this list on all your replies. > > > > You can do this by using Reply-To-List or Reply-All. > > > > > > _______________________________________________ > > > gnucash-user mailing list > > > gnucash-user@gnucash.org > > > To update your subscription preferences or to unsubscribe: > > > https://lists.gnucash.org/mailman/listinfo/gnucash-user > > > ----- > > > Please remember to CC this list on all your replies. > > > You can do this by using Reply-To-List or Reply-All. > > > _______________________________________________ gnucash-user mailing list gnucash-user@gnucash.org To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.