GnuCash
5.6-150-g038405b370+
|
An infrastructure for building a modular matrix of cells like a spreadsheet or checkbook register. More...
Modules | |
Cell | |
A "Cell" is an active object which is designed to read a specific kind of user input. | |
Cellblock | |
A "Cellblock" is an array of active cells. | |
Table | |
The "Table" is a displayed matrix. | |
Files | |
file | register-common.h |
Common declarations for the register core. | |
Data Structures | |
struct | VirtualCellLocation |
The VirtualCellLocation structure contains the virtual location of a virtual cell. More... | |
struct | VirtualLocation |
The VirtualLocation structure contains the virtual location of a physical cell. More... | |
Variables | |
char * | BasicCell::cell_name |
gchar * | BasicCell::cell_type_name |
char * | BasicCell::value |
guint | BasicCell::value_chars |
current value | |
gboolean | BasicCell::changed |
number of characters in value | |
gboolean | BasicCell::conditionally_changed |
true if value modified | |
CellSetValueFunc | BasicCell::set_value |
true if value modified conditionally | |
CellDestroyFunc | BasicCell::destroy |
CellEnterFunc | BasicCell::enter_cell |
CellModifyVerifyFunc | BasicCell::modify_verify |
CellDirectUpdateFunc | BasicCell::direct_update |
CellLeaveFunc | BasicCell::leave_cell |
CellRealizeFunc | BasicCell::gui_realize |
CellMoveFunc | BasicCell::gui_move |
CellDestroyFunc | BasicCell::gui_destroy |
char * | BasicCell::sample_text |
CellAlignment | BasicCell::alignment |
sample text for sizing purposes | |
gboolean | BasicCell::expandable |
horizontal alignment in column | |
gboolean | BasicCell::span |
can fill with extra space | |
gboolean | BasicCell::is_popup |
can span multiple columns | |
gpointer | BasicCell::gui_private |
is a popup widget | |
An infrastructure for building a modular matrix of cells like a spreadsheet or checkbook register.
Each cell may be specialized to perform a particular function, e.g. to read dates, numerical amounts, or text. The register core has been designed to be easy to extend, modular, easy to maintain, and memory efficient. It is intended to be used for building financial apps and spreadsheets.
The register core is built from several types of components: Cells, Cellblocks, Cursors, and the Table.
The register core should not have any 'knowledge' of the accounting model of GnuCash or of the workings of the main application. It should not be specific to a particular GUI (such as Gnome/GTK). It should be possible to use the register core in a stand-alone fashion.
For information on the GnuCash-specific register implementation that has been built atop this core, see Split Register.