From 22e476853fb051df53a932749085f486ee36a930 Mon Sep 17 00:00:00 2001 From: Dave Peticolas Date: Tue, 25 Jul 2000 07:04:37 +0000 Subject: [PATCH] Add more register documentation. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2616 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/doc/design/concept-index.texinfo | 2 +- src/doc/design/gnucash-design.texinfo | 8 +++- src/doc/design/register.texinfo | 66 ++++++++++++++++++++++++++- src/doc/design/reports.texinfo | 2 +- src/doc/design/type-index.texinfo | 4 ++ 5 files changed, 77 insertions(+), 5 deletions(-) create mode 100644 src/doc/design/type-index.texinfo diff --git a/src/doc/design/concept-index.texinfo b/src/doc/design/concept-index.texinfo index 024fc17497..fcf9204c62 100644 --- a/src/doc/design/concept-index.texinfo +++ b/src/doc/design/concept-index.texinfo @@ -1,4 +1,4 @@ -@node Concept Index, , Reports, Top +@node Concept Index, , Data Type Index, Top @unnumbered Concept Index @printindex cp diff --git a/src/doc/design/gnucash-design.texinfo b/src/doc/design/gnucash-design.texinfo index 9b261597d2..2c8bf7adbd 100644 --- a/src/doc/design/gnucash-design.texinfo +++ b/src/doc/design/gnucash-design.texinfo @@ -6,7 +6,7 @@ @comment 'version.texi' is a magic filename that, when included, @comment will be auto-generated courtesy of automake. -@c @include version.texi +@include version.texi @ifinfo This file documents the design of the GnuCash program. @@ -88,6 +88,7 @@ of the @cite{GnuCash Design Document}, version @value{VERSION}. * Engine:: * Register:: * Reports:: +* Data Type Index:: * Concept Index:: @detailmenu --- The Detailed Node Listing --- @@ -99,6 +100,10 @@ Register * Table:: * Split Register:: +Cells + +* BasicCell:: + @end detailmenu @end menu @@ -107,6 +112,7 @@ Register @include engine.texinfo @include register.texinfo @include reports.texinfo +@include type-index.texinfo @include concept-index.texinfo @summarycontents diff --git a/src/doc/design/register.texinfo b/src/doc/design/register.texinfo index 841aa86e9b..b25b06bd2e 100644 --- a/src/doc/design/register.texinfo +++ b/src/doc/design/register.texinfo @@ -13,7 +13,7 @@ model of GnuCash or of the workings of the main application. The register should not be specific to a particular GUI (such as Gnome/GTK). It should be possible to use the register in a stand-alone fashion. -The register is built from sever types of components: Cells, +The register is built from several types of components: Cells, Cellblocks, Cursors, the Table, and the Split Register. @menu @@ -23,6 +23,7 @@ Cellblocks, Cursors, the Table, and the Split Register. * Split Register:: @end menu + @node Cells, Cellblocks, Register, Register @section Cells @@ -35,7 +36,8 @@ mouse-clicking elsewhere, or tabbing away). Special-purpose cells can be created by "inheriting" from the basic cell object. Thus, there are special-purpose cells for handling dates, -pull-down menus, text fields, monetary amounts, etc. +pull-down menus, text fields with auto-completion from a list of +alternatives, monetary amounts, etc. Cells implementations may or may not contain GUI code. Cells which require only that text be displayed are completely "GUI-independent", @@ -43,6 +45,66 @@ that is, they depend on the underlying table to display the text. Cells which require additional GUI elements (such as pull-down menus) must implement the proper GUI handling on their own (using, e.g., GTK). +@menu +* BasicCell:: +@end menu + + +@node BasicCell, , Cells, Cells +@subsection BasicCell +@tindex BasicCell + +The @dfn{BasicCell} interface defines the core functionality that all +cells must implement. A BasicCell contains the following data members. + +@table @code + +@item char *value +The 'value' of the cell stored as a character string. + +@item char input_output +This is a bit field used for storing flag values. The following flag +values are defined. + + @table @code + + @item XACC_CELL_ALLOW_INPUT + If set, the cell will may accept keyboard and mouse input from the + user. Otherwise, the cell is for display only. + + @item XACC_CELL_ALLOW_SHADOW + If set, the cell will 'shadow' the contents of the register which it + is contained in. In other words, as the cell is moved to new locations, + the value of the register at that location will be copied into the cell. + + @item XACC_CELL_ALLOW_EXACT_ONLY + If set, the cell may only be entered by 'exact' indication of the + user. Currently, this means the user must click on the cell with the + mouse. This flag will prevent the cell from being tabbed into. + + @end table + +@item guint32 changed +This member is set to have all 1-bits (2^32 - 1) to indicate the +cell contents have been changed from the register value. + +@item char * blank_help +This member is a text string which may be used by a GUI implementation +to display an informative help string when the value of a cell is empty +(perhaps prompting the user to enter a particular kind of value). + +@item guint32 bg_color +@itemx guint32 fg_color +An RGB value indicating the background (foreground) color to render the +cell with. + +@item gboolean use_bg_color +@itemx gboolean use_fg_color +A boolean value indicating whether to use the @code{bg_color} +(@code{fg_color}) member. + +@end table + @node Cellblocks, Table, Cells, Register @section Cellblocks diff --git a/src/doc/design/reports.texinfo b/src/doc/design/reports.texinfo index e23190eb41..6d72db0a0f 100644 --- a/src/doc/design/reports.texinfo +++ b/src/doc/design/reports.texinfo @@ -1,2 +1,2 @@ -@node Reports, Concept Index, Register, Top +@node Reports, Data Type Index, Register, Top @chapter Reports diff --git a/src/doc/design/type-index.texinfo b/src/doc/design/type-index.texinfo new file mode 100644 index 0000000000..ecf9b21e65 --- /dev/null +++ b/src/doc/design/type-index.texinfo @@ -0,0 +1,4 @@ +@node Data Type Index, Concept Index, Reports, Top +@unnumbered Date Type Index + +@printindex tp