mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-11-22 17:06:36 -06:00
Remove 'architecture.txt'. Its content is now in src/doc/design.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2663 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
2ad3281834
commit
30678d470a
@ -3,7 +3,6 @@ SUBDIRS = \
|
||||
design
|
||||
|
||||
EXTRA_DIST = \
|
||||
architecture.txt \
|
||||
backup.txt \
|
||||
budget.txt \
|
||||
coding-style.txt \
|
||||
|
@ -118,7 +118,7 @@ l = @l@
|
||||
SUBDIRS = design
|
||||
|
||||
|
||||
EXTRA_DIST = architecture.txt backup.txt budget.txt coding-style.txt plugin.txt tax.txt
|
||||
EXTRA_DIST = backup.txt budget.txt coding-style.txt plugin.txt tax.txt
|
||||
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = ../../config.h
|
||||
|
@ -1,83 +0,0 @@
|
||||
GnuCash currently consists of six (mostly) independent modules:
|
||||
|
||||
The Engine
|
||||
----------
|
||||
"The Engine" (src/engine) provides an interface for accounts and
|
||||
transactions. An account consists of an account name, a default
|
||||
currency, a stock-ticker symbol (if applicable), notes, some
|
||||
miscellany and a list of "split" transactions. A transaction consists
|
||||
of a list of splits, with each split having a description and memo
|
||||
field, date entered and date reconciled fields, quantity and price
|
||||
fields (price == 1.0 for plain old bank accts), and some misc
|
||||
disposition fields.
|
||||
|
||||
The current implementation is file-format (not SQL) based. It defines
|
||||
a byte stream, for saving to a file or transmitting via pipes/sockets
|
||||
("persistence" and "data migration" -- the byte stream allows the
|
||||
engine objects to be moved/copied/dynamically recreated on any
|
||||
host. ). The API also provides simple concurrency controls, including
|
||||
a session object, and primitives for beginning/committing/rejecting
|
||||
edits. This should be enough to allow SQL-based transactional back
|
||||
ends to be implemented. The GUI uses and respects these primitives,
|
||||
so GnuCash as a whole should "just work" with an SQL back end.
|
||||
|
||||
The engine code contains no GUI code whatsoever, and is essentially
|
||||
OS-neutral. (It might even compile & run under DOS!)
|
||||
|
||||
|
||||
The Register
|
||||
------------
|
||||
"The Register" (src/register) implements a ledger-like GUI that allows
|
||||
the user to dynamically enter dates, prices, memos descriptions,
|
||||
etc. in a natural, intuitive fashion that should be obvious to anyone
|
||||
who's used a checkbook register. The code is highly configurable,
|
||||
allowing the ledger columns and rows to be laid out in any way, with
|
||||
no restrictions on the function, type and number of columns/rows. For
|
||||
example, one can define a ledger with three date fields, one price
|
||||
field, and four memo fields in a straightforward fashion. Cell
|
||||
handling objects support and automatically validate date entry, memo
|
||||
entry (w/auto-completion), prices, combo-boxes (pull-down menus),
|
||||
multi-state check-boxes. Cells can be marked read-write, or
|
||||
output-only. Cells can be assigned unique colors. The currently
|
||||
active ledger row-block can be highlighted with a unique color.
|
||||
|
||||
The register code is completely independent of the engine code, knows
|
||||
nothing about accounting or any of the other GnuCash subsystems. It
|
||||
can be used in independent projects that have nothing to do with
|
||||
accounting.
|
||||
|
||||
Reports
|
||||
-------
|
||||
"Reports" (src/reports) are a scheme (guile) based system to create
|
||||
balance sheets, profit & loss statements, etc. by using the engine
|
||||
API's to fetch and display data. Alpha code, under development.
|
||||
|
||||
Quotes
|
||||
------
|
||||
"Quotes" (src/quotes) is a perl system to fetch stock price data off the net
|
||||
and jam it into the GnuCash engine API. This is now a separate project called
|
||||
Finance::Quote available at SourceForge.
|
||||
|
||||
Scheme
|
||||
------
|
||||
"The Scheme" (src/scm, src/guile) is a scheme based infrastructure
|
||||
meant to provide general extensibility, as well as command-line/resource
|
||||
file processing, user-preferences state management, & other functions.
|
||||
Under development.
|
||||
|
||||
GnuCash
|
||||
-------
|
||||
"GnuCash" (src/gnome) is the main GUI application.
|
||||
It consists of a collection of miscellaneous GUI code to glue together
|
||||
all of the pieces above into a coherent, point-and-click whole. It is
|
||||
meant to be easy to use and intuitive to the novice user without
|
||||
sacrificing the power and flexibility that a professional might
|
||||
expect. When people say that GnuCash is trying to be a "Quicken
|
||||
or MSMoney look/work/act-alike", this is the piece that they are
|
||||
referring to. It really is meant to be a personal-finance manager
|
||||
with enough power for the power user and the ease of use for the
|
||||
beginner.
|
||||
|
||||
Currently, the Gnome interface is the only operational interface. The
|
||||
Motif code no longer compiles and is not being maintained. The Qt code
|
||||
won't compile, most/all functions are missing.
|
Loading…
Reference in New Issue
Block a user