2000-07-17 03:26:56 -05:00
|
|
|
\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.
|
2000-07-25 02:04:37 -05:00
|
|
|
@include version.texi
|
2000-07-17 03:26:56 -05:00
|
|
|
|
2001-08-09 19:09:07 -05:00
|
|
|
@ifinfo
|
|
|
|
@format
|
|
|
|
|
|
|
|
@dircategory Programming
|
|
|
|
|
|
|
|
@direntry
|
|
|
|
* gnucash: (gnucash-design). Design of the GnuCash program
|
|
|
|
@end direntry
|
|
|
|
|
|
|
|
@end format
|
|
|
|
@end ifinfo
|
|
|
|
|
2000-07-17 03:26:56 -05:00
|
|
|
@ifinfo
|
|
|
|
This file documents the design of the GnuCash program.
|
|
|
|
|
2000-09-01 00:14:59 -05:00
|
|
|
Copyright 2000 Gnumatic Incorporated
|
2000-07-17 03:26:56 -05:00
|
|
|
|
|
|
|
This is Edition @value{EDITION}, last updated @value{UPDATED},
|
|
|
|
of the @cite{GnuCash Design Document}, version @value{VERSION}.
|
|
|
|
|
2000-09-01 00:14:59 -05:00
|
|
|
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".
|
2000-07-17 03:26:56 -05:00
|
|
|
|
|
|
|
@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
|
2000-09-05 01:55:43 -05:00
|
|
|
@author Robert Merkel
|
2000-07-17 03:26:56 -05:00
|
|
|
@author Dave Peticolas
|
|
|
|
@author Linas Vepstas
|
|
|
|
@page
|
|
|
|
@vskip 0pt plus 1filll
|
2000-09-01 00:14:59 -05:00
|
|
|
@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".
|
2000-07-17 03:26:56 -05:00
|
|
|
@end titlepage
|
|
|
|
|
2000-08-11 16:58:20 -05:00
|
|
|
@ifnottex
|
2000-09-01 00:14:59 -05:00
|
|
|
@node Top, GNU Free Documentation License, (dir), (dir)
|
2000-07-17 03:26:56 -05:00
|
|
|
@top GnuCash Design Document
|
|
|
|
This is Edition @value{EDITION}, last updated @value{UPDATED},
|
|
|
|
of the @cite{GnuCash Design Document}, version @value{VERSION}.
|
2000-08-11 16:58:20 -05:00
|
|
|
@end ifnottex
|
2000-07-17 03:26:56 -05:00
|
|
|
|
|
|
|
@menu
|
2000-09-01 00:14:59 -05:00
|
|
|
* GNU Free Documentation License::
|
2000-07-17 03:26:56 -05:00
|
|
|
* Introduction::
|
|
|
|
* Top Level::
|
|
|
|
* Engine::
|
2001-01-11 04:38:55 -06:00
|
|
|
* Component Manager::
|
2000-07-17 03:26:56 -05:00
|
|
|
* Register::
|
|
|
|
* Reports::
|
2000-09-05 01:55:43 -05:00
|
|
|
* User Preferences::
|
2000-08-25 20:05:09 -05:00
|
|
|
* Function Index::
|
2000-08-26 02:52:05 -05:00
|
|
|
* Data Type Index::
|
|
|
|
* Concept Index::
|
2000-07-17 03:26:56 -05:00
|
|
|
|
2001-01-11 04:38:55 -06:00
|
|
|
|
2000-11-17 03:02:07 -06:00
|
|
|
@detailmenu
|
|
|
|
--- The Detailed Node Listing ---
|
2000-07-17 03:26:56 -05:00
|
|
|
|
2000-08-23 23:34:03 -05:00
|
|
|
Engine
|
|
|
|
|
2000-08-31 03:50:20 -05:00
|
|
|
* Engine Introduction::
|
2000-09-07 02:52:37 -05:00
|
|
|
* Using and Extending the Engine API::
|
2000-08-23 23:34:03 -05:00
|
|
|
* Globally Unique Identifiers::
|
2000-12-01 04:44:55 -06:00
|
|
|
* Numeric Library::
|
2000-08-23 23:34:03 -05:00
|
|
|
* Key-Value Pair Frames::
|
2001-01-04 04:23:58 -06:00
|
|
|
* Events::
|
2001-05-31 03:36:56 -05:00
|
|
|
* Commodities::
|
2001-06-01 02:37:03 -05:00
|
|
|
* Commodity Tables::
|
2001-06-06 03:00:18 -05:00
|
|
|
* Prices::
|
2001-06-07 03:22:52 -05:00
|
|
|
* Price Databases::
|
2000-08-24 16:59:38 -05:00
|
|
|
* Splits::
|
2000-08-31 03:50:20 -05:00
|
|
|
* Transactions::
|
|
|
|
* Accounts::
|
|
|
|
* Account Groups::
|
2000-11-17 03:02:07 -06:00
|
|
|
* GNCBooks::
|
2001-01-11 04:38:55 -06:00
|
|
|
* Scrub::
|
2000-08-23 23:34:03 -05:00
|
|
|
|
2000-09-02 02:43:05 -05:00
|
|
|
Globally Unique Identifiers
|
|
|
|
|
|
|
|
* When to use GUIDs::
|
2000-09-05 04:18:22 -05:00
|
|
|
* GUID Types::
|
2000-09-06 03:12:40 -05:00
|
|
|
* How to use GUIDs::
|
|
|
|
* GUIDs and GnuCash Entities::
|
2000-09-05 04:18:22 -05:00
|
|
|
* The GUID Generator::
|
2000-09-02 02:43:05 -05:00
|
|
|
|
2000-12-01 04:44:55 -06:00
|
|
|
Numeric Library
|
|
|
|
|
2001-01-11 04:38:55 -06:00
|
|
|
* Standard Numeric Arguments::
|
2000-12-01 04:44:55 -06:00
|
|
|
* Creating Numeric Objects::
|
|
|
|
* Basic Arithmetic Operations::
|
|
|
|
* Numeric Comparisons and Predicates::
|
|
|
|
* Numeric Denominator Conversion::
|
|
|
|
* Numeric Floating Point Conversion::
|
|
|
|
* Numeric String Conversion::
|
|
|
|
* Numeric Error Handling ::
|
2001-01-11 04:38:55 -06:00
|
|
|
* Numeric Example::
|
2000-12-01 04:44:55 -06:00
|
|
|
|
2000-08-25 20:05:09 -05:00
|
|
|
Key-Value Pair Frames
|
|
|
|
|
2000-09-02 02:43:05 -05:00
|
|
|
* Key-Value Policy::
|
2000-08-25 20:05:09 -05:00
|
|
|
* kvp_frame::
|
2014-09-21 17:37:01 -05:00
|
|
|
* KvpValue::
|
2000-08-26 02:52:05 -05:00
|
|
|
* kvp_list::
|
2000-08-25 20:05:09 -05:00
|
|
|
|
2001-01-04 04:23:58 -06:00
|
|
|
Events
|
|
|
|
|
|
|
|
* Event API::
|
|
|
|
|
2001-05-31 03:36:56 -05:00
|
|
|
Commodities
|
|
|
|
|
|
|
|
* General Commodity API::
|
|
|
|
* Commodity Getters::
|
|
|
|
* Commodity Setters::
|
|
|
|
|
2001-06-01 02:37:03 -05:00
|
|
|
Commodity Tables
|
|
|
|
|
|
|
|
* General Commodity Table API::
|
|
|
|
* Commodity Table Access API::
|
|
|
|
* Commodity Table Modification API::
|
|
|
|
|
2001-06-06 03:00:18 -05:00
|
|
|
Prices
|
|
|
|
|
|
|
|
* Price Implementation Details::
|
|
|
|
* General Price API::
|
|
|
|
* Price Getters::
|
|
|
|
* Price Setters::
|
|
|
|
|
2001-06-07 03:22:52 -05:00
|
|
|
Price Databases
|
|
|
|
|
|
|
|
* Price Lists::
|
2001-06-08 03:22:32 -05:00
|
|
|
* General Price Database API::
|
2001-06-07 03:22:52 -05:00
|
|
|
|
2000-09-07 02:52:37 -05:00
|
|
|
Splits
|
|
|
|
|
|
|
|
* General Split API::
|
|
|
|
* Split Getters::
|
2000-09-11 02:48:46 -05:00
|
|
|
* Split Setters::
|
2000-09-07 02:52:37 -05:00
|
|
|
|
2001-05-16 04:33:33 -05:00
|
|
|
Transactions
|
2000-09-12 04:48:42 -05:00
|
|
|
|
|
|
|
* General Transaction API::
|
2000-09-17 03:41:07 -05:00
|
|
|
* Transaction Getters::
|
2000-09-17 18:54:25 -05:00
|
|
|
* Transaction Setters::
|
2000-09-12 04:48:42 -05:00
|
|
|
|
2001-05-16 04:33:33 -05:00
|
|
|
Accounts
|
|
|
|
|
|
|
|
* Account Types::
|
|
|
|
* General Account API::
|
2001-05-17 05:18:48 -05:00
|
|
|
* Account Type API::
|
|
|
|
* Account Getters::
|
2001-05-16 04:33:33 -05:00
|
|
|
|
2001-05-23 04:42:34 -05:00
|
|
|
Account Groups
|
|
|
|
|
|
|
|
* General Account Group API::
|
|
|
|
* Account Group Account API::
|
|
|
|
|
2000-11-17 03:02:07 -06:00
|
|
|
GNCBooks
|
|
|
|
|
|
|
|
* GNCBook API::
|
|
|
|
|
2001-01-11 04:38:55 -06:00
|
|
|
Component Manager
|
|
|
|
|
|
|
|
* Component Manager Introduction::
|
|
|
|
|
2000-07-17 03:26:56 -05:00
|
|
|
Register
|
|
|
|
|
|
|
|
* Cells::
|
2000-07-18 03:44:57 -05:00
|
|
|
* Cellblocks::
|
|
|
|
* Table::
|
|
|
|
* Split Register::
|
2000-07-17 03:26:56 -05:00
|
|
|
|
2000-07-25 02:04:37 -05:00
|
|
|
Cells
|
|
|
|
|
|
|
|
* BasicCell::
|
|
|
|
|
2001-05-09 03:55:39 -05:00
|
|
|
Reports
|
|
|
|
|
|
|
|
* Creating a Report::
|
|
|
|
|
2000-09-05 01:55:43 -05:00
|
|
|
User Preferences
|
|
|
|
|
|
|
|
* Option Databases::
|
|
|
|
* Option Types::
|
|
|
|
* Option Creation::
|
|
|
|
* Option Values::
|
|
|
|
|
2000-07-17 03:26:56 -05:00
|
|
|
@end detailmenu
|
|
|
|
@end menu
|
|
|
|
|
2013-10-27 20:02:53 -05:00
|
|
|
@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
|
2000-07-17 03:26:56 -05:00
|
|
|
|
|
|
|
@summarycontents
|
|
|
|
@contents
|
|
|
|
|
|
|
|
@bye
|