\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename gnucash-design.info @settitle GnuCash Design Document @c %**end of header @comment 'version.texi' is a magic filename that, when included, @comment will be auto-generated courtesy of automake. @include version.texi @ifinfo @format @dircategory Programming @direntry * gnucash: (gnucash-design). Design of the GnuCash program @end direntry @end format @end ifinfo @ifinfo This file documents the design of the GnuCash program. Copyright 2000 Gnumatic Incorporated This is Edition @value{EDITION}, last updated @value{UPDATED}, of the @cite{GnuCash Design Document}, version @value{VERSION}. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License". @ignore Permission is granted to process this file through TeX and print the results, provided the printed document carries a copying permission notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual). @end ignore @end ifinfo @titlepage @title GnuCash Design Document @subtitle Edition @value{EDITION} for Version @value{VERSION} @author Rob Browning @author Bill Gribble @author Robert Merkel @author Dave Peticolas @author Linas Vepstas @page @vskip 0pt plus 1filll @copyright{} 2000 Gnumatic Incorporated Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License". @end titlepage @ifnottex @node Top, GNU Free Documentation License, (dir), (dir) @top GnuCash Design Document This is Edition @value{EDITION}, last updated @value{UPDATED}, of the @cite{GnuCash Design Document}, version @value{VERSION}. @end ifnottex @menu * GNU Free Documentation License:: * Introduction:: * Top Level:: * Engine:: * Component Manager:: * Register:: * Reports:: * User Preferences:: * Function Index:: * Data Type Index:: * Concept Index:: @detailmenu --- The Detailed Node Listing --- Engine * Engine Introduction:: * Using and Extending the Engine API:: * Globally Unique Identifiers:: * Numeric Library:: * Key-Value Pair Frames:: * Events:: * Commodities:: * Commodity Tables:: * Prices:: * Price Databases:: * Splits:: * Transactions:: * Accounts:: * Account Groups:: * GNCBooks:: * Scrub:: Globally Unique Identifiers * When to use GUIDs:: * GUID Types:: * How to use GUIDs:: * GUIDs and GnuCash Entities:: * The GUID Generator:: Numeric Library * Standard Numeric Arguments:: * Creating Numeric Objects:: * Basic Arithmetic Operations:: * Numeric Comparisons and Predicates:: * Numeric Denominator Conversion:: * Numeric Floating Point Conversion:: * Numeric String Conversion:: * Numeric Error Handling :: * Numeric Example:: Key-Value Pair Frames * Key-Value Policy:: * kvp_frame:: * KvpValue:: * kvp_list:: Events * Event API:: Commodities * General Commodity API:: * Commodity Getters:: * Commodity Setters:: Commodity Tables * General Commodity Table API:: * Commodity Table Access API:: * Commodity Table Modification API:: Prices * Price Implementation Details:: * General Price API:: * Price Getters:: * Price Setters:: Price Databases * Price Lists:: * General Price Database API:: Splits * General Split API:: * Split Getters:: * Split Setters:: Transactions * General Transaction API:: * Transaction Getters:: * Transaction Setters:: Accounts * Account Types:: * General Account API:: * Account Type API:: * Account Getters:: Account Groups * General Account Group API:: * Account Group Account API:: GNCBooks * GNCBook API:: Component Manager * Component Manager Introduction:: Register * Cells:: * Cellblocks:: * Table:: * Split Register:: Cells * BasicCell:: Reports * Creating a Report:: User Preferences * Option Databases:: * Option Types:: * Option Creation:: * Option Values:: @end detailmenu @end menu @include fdl.texi @include intro.texi @include top-level.texi @include engine.texi @include component-manager.texi @include register.texi @include reports.texi @include user-preferences.texi @include function-index.texi @include type-index.texi @include concept-index.texi @summarycontents @contents @bye