mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Add nascent design documentation.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2589 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
2
configure
vendored
2
configure
vendored
@@ -5962,6 +5962,7 @@ trap 'rm -fr `echo " Makefile
|
||||
src/Makefile
|
||||
src/calculation/Makefile
|
||||
src/doc/Makefile
|
||||
src/doc/design/Makefile
|
||||
src/engine/Makefile
|
||||
src/engine/sql/Makefile
|
||||
src/experimental/Makefile
|
||||
@@ -6152,6 +6153,7 @@ CONFIG_FILES=\${CONFIG_FILES-"Makefile
|
||||
src/Makefile
|
||||
src/calculation/Makefile
|
||||
src/doc/Makefile
|
||||
src/doc/design/Makefile
|
||||
src/engine/Makefile
|
||||
src/engine/sql/Makefile
|
||||
src/experimental/Makefile
|
||||
|
||||
@@ -420,6 +420,7 @@ AC_OUTPUT(
|
||||
src/Makefile
|
||||
src/calculation/Makefile
|
||||
src/doc/Makefile
|
||||
src/doc/design/Makefile
|
||||
src/engine/Makefile
|
||||
src/engine/sql/Makefile
|
||||
src/experimental/Makefile
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
SUBDIRS = \
|
||||
design
|
||||
|
||||
EXTRA_DIST = \
|
||||
architecture.txt \
|
||||
backup.txt \
|
||||
|
||||
@@ -115,6 +115,9 @@ USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
l = @l@
|
||||
|
||||
SUBDIRS = design
|
||||
|
||||
|
||||
EXTRA_DIST = architecture.txt backup.txt budget.txt coding-style.txt plugin.txt tax.txt
|
||||
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
@@ -136,9 +139,95 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
all-recursive install-data-recursive install-exec-recursive \
|
||||
installdirs-recursive install-recursive uninstall-recursive \
|
||||
check-recursive installcheck-recursive info-recursive dvi-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||
maintainer-clean-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
dot_seen=no; \
|
||||
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
rev="$$subdir $$rev"; \
|
||||
test "$$subdir" = "." && dot_seen=yes; \
|
||||
done; \
|
||||
test "$$dot_seen" = "no" && rev=". $$rev"; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
here=`pwd` && cd $(srcdir) \
|
||||
&& mkid -f$$here/ID $$unique $(LISP)
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
clean-tags:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
maintainer-clean-tags:
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
|
||||
@@ -160,30 +249,41 @@ distdir: $(DISTFILES)
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
for subdir in $(SUBDIRS); do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d $(distdir)/$$subdir \
|
||||
|| mkdir $(distdir)/$$subdir \
|
||||
|| exit 1; \
|
||||
chmod 777 $(distdir)/$$subdir; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
info-am:
|
||||
info: info-am
|
||||
info: info-recursive
|
||||
dvi-am:
|
||||
dvi: dvi-am
|
||||
dvi: dvi-recursive
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
check: check-recursive
|
||||
installcheck-am:
|
||||
installcheck: installcheck-am
|
||||
installcheck: installcheck-recursive
|
||||
install-exec-am:
|
||||
install-exec: install-exec-am
|
||||
install-exec: install-exec-recursive
|
||||
|
||||
install-data-am:
|
||||
install-data: install-data-am
|
||||
install-data: install-data-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-am
|
||||
install: install-recursive
|
||||
uninstall-am:
|
||||
uninstall: uninstall-am
|
||||
uninstall: uninstall-recursive
|
||||
all-am: Makefile
|
||||
all-redirect: all-am
|
||||
all-redirect: all-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs:
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
@@ -195,31 +295,38 @@ distclean-generic:
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
mostlyclean-am: mostlyclean-tags mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
clean-am: clean-tags clean-generic mostlyclean-am
|
||||
|
||||
clean: clean-am
|
||||
clean: clean-recursive
|
||||
|
||||
distclean-am: distclean-generic clean-am
|
||||
distclean-am: distclean-tags distclean-generic clean-am
|
||||
-rm -f libtool
|
||||
|
||||
distclean: distclean-am
|
||||
distclean: distclean-recursive
|
||||
|
||||
maintainer-clean-am: maintainer-clean-generic distclean-am
|
||||
maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
|
||||
distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
|
||||
.PHONY: tags distdir info-am info dvi-am dvi check check-am \
|
||||
installcheck-am installcheck install-exec-am install-exec \
|
||||
install-data-am install-data install-am install uninstall-am uninstall \
|
||||
all-redirect all-am all installdirs mostlyclean-generic \
|
||||
distclean-generic clean-generic maintainer-clean-generic clean \
|
||||
mostlyclean distclean maintainer-clean
|
||||
.PHONY: install-data-recursive uninstall-data-recursive \
|
||||
install-exec-recursive uninstall-exec-recursive installdirs-recursive \
|
||||
uninstalldirs-recursive all-recursive check-recursive \
|
||||
installcheck-recursive info-recursive dvi-recursive \
|
||||
mostlyclean-recursive distclean-recursive clean-recursive \
|
||||
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
|
||||
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
|
||||
dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
|
||||
install-exec install-data-am install-data install-am install \
|
||||
uninstall-am uninstall all-redirect all-am all installdirs-am \
|
||||
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
|
||||
4
src/doc/design/.cvsignore
Normal file
4
src/doc/design/.cvsignore
Normal file
@@ -0,0 +1,4 @@
|
||||
Makefile
|
||||
version.texi
|
||||
stamp-vti
|
||||
*.info
|
||||
8
src/doc/design/Makefile.am
Normal file
8
src/doc/design/Makefile.am
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
info_TEXINFOS = gnucash-design.texinfo
|
||||
gnucash_design_TEXINFOS = concept-index.texinfo \
|
||||
engine.texinfo \
|
||||
intro.texinfo \
|
||||
register.texinfo \
|
||||
reports.texinfo \
|
||||
top-level.texinfo
|
||||
382
src/doc/design/Makefile.in
Normal file
382
src/doc/design/Makefile.in
Normal file
@@ -0,0 +1,382 @@
|
||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ../../..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AS = @AS@
|
||||
CATALOGS = @CATALOGS@
|
||||
CATOBJEXT = @CATOBJEXT@
|
||||
CC = @CC@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
GENCAT = @GENCAT@
|
||||
GLIB_CFLAGS = @GLIB_CFLAGS@
|
||||
GLIB_CONFIG_BIN = @GLIB_CONFIG_BIN@
|
||||
GLIB_LIBS = @GLIB_LIBS@
|
||||
GMOFILES = @GMOFILES@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GNC_CONFIGDIR = @GNC_CONFIGDIR@
|
||||
GNC_DOC_INSTALL_DIR = @GNC_DOC_INSTALL_DIR@
|
||||
GNC_LIBDIR = @GNC_LIBDIR@
|
||||
GNC_SCM_INSTALL_DIR = @GNC_SCM_INSTALL_DIR@
|
||||
GNC_SHAREDIR = @GNC_SHAREDIR@
|
||||
GNOME_CFLAGS = @GNOME_CFLAGS@
|
||||
GNOME_CONFIG_BIN = @GNOME_CONFIG_BIN@
|
||||
GNOME_LIBS = @GNOME_LIBS@
|
||||
GNOME_STATIC_TARGET = @GNOME_STATIC_TARGET@
|
||||
GNOME_TARGET = @GNOME_TARGET@
|
||||
GT_NO = @GT_NO@
|
||||
GT_YES = @GT_YES@
|
||||
GUILE = @GUILE@
|
||||
GUILE_COMPILE_ARGS = @GUILE_COMPILE_ARGS@
|
||||
GUILE_CONFIG = @GUILE_CONFIG@
|
||||
GUILE_LINK_ARGS = @GUILE_LINK_ARGS@
|
||||
G_WRAP = @G_WRAP@
|
||||
G_WRAP_COMPILE_ARGS = @G_WRAP_COMPILE_ARGS@
|
||||
G_WRAP_CONFIG = @G_WRAP_CONFIG@
|
||||
G_WRAP_LINK_ARGS = @G_WRAP_LINK_ARGS@
|
||||
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
|
||||
INSTOBJEXT = @INSTOBJEXT@
|
||||
INTLDEPS = @INTLDEPS@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LOCALE_DIR = @LOCALE_DIR@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
PACKAGE = @PACKAGE@
|
||||
PERL = @PERL@
|
||||
PERLINCL = @PERLINCL@
|
||||
POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
RANLIB = @RANLIB@
|
||||
SWIG = @SWIG@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
l = @l@
|
||||
|
||||
info_TEXINFOS = gnucash-design.texinfo
|
||||
gnucash_design_TEXINFOS = concept-index.texinfo engine.texinfo intro.texinfo register.texinfo reports.texinfo top-level.texinfo
|
||||
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = ../../../config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
TEXI2DVI = texi2dvi
|
||||
INFO_DEPS = gnucash-design.info
|
||||
DVIS = gnucash-design.dvi
|
||||
TEXINFOS = gnucash-design.texinfo
|
||||
DIST_COMMON = $(gnucash_design_TEXINFOS) Makefile.am Makefile.in \
|
||||
mdate-sh stamp-vti texinfo.tex version.texi
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .dvi .info .ps .texi .texinfo .txi
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --gnu src/doc/design/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
|
||||
$(srcdir)/version.texi: stamp-vti
|
||||
@:
|
||||
|
||||
$(srcdir)/stamp-vti: gnucash-design.texinfo $(top_srcdir)/configure.in
|
||||
@echo "@set UPDATED `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/gnucash-design.texinfo`" > vti.tmp
|
||||
@echo "@set EDITION $(VERSION)" >> vti.tmp
|
||||
@echo "@set VERSION $(VERSION)" >> vti.tmp
|
||||
@cmp -s vti.tmp $(srcdir)/version.texi \
|
||||
|| (echo "Updating $(srcdir)/version.texi"; \
|
||||
cp vti.tmp $(srcdir)/version.texi)
|
||||
-@rm -f vti.tmp
|
||||
@cp $(srcdir)/version.texi $@
|
||||
|
||||
mostlyclean-vti:
|
||||
-rm -f vti.tmp
|
||||
|
||||
clean-vti:
|
||||
|
||||
distclean-vti:
|
||||
|
||||
maintainer-clean-vti:
|
||||
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
|
||||
|
||||
gnucash-design.info: gnucash-design.texinfo version.texi $(gnucash_design_TEXINFOS)
|
||||
gnucash-design.dvi: gnucash-design.texinfo version.texi $(gnucash_design_TEXINFOS)
|
||||
|
||||
|
||||
DVIPS = dvips
|
||||
|
||||
.texi.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texi.dvi:
|
||||
TEXINPUTS=.:$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
|
||||
.texi:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.dvi:
|
||||
TEXINPUTS=.:$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
|
||||
.txi.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.txi.dvi:
|
||||
TEXINPUTS=.:$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
|
||||
.txi:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
.dvi.ps:
|
||||
$(DVIPS) $< -o $@
|
||||
|
||||
install-info-am: $(INFO_DEPS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||
@list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
d=$(srcdir); \
|
||||
for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
|
||||
if test -f $$d/$$ifile; then \
|
||||
echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
|
||||
$(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
|
||||
else : ; fi; \
|
||||
done; \
|
||||
done
|
||||
@$(POST_INSTALL)
|
||||
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
|
||||
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
|
||||
done; \
|
||||
else : ; fi
|
||||
|
||||
uninstall-info:
|
||||
$(PRE_UNINSTALL)
|
||||
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
|
||||
ii=yes; \
|
||||
else ii=; fi; \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
test -z "$ii" \
|
||||
|| install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
|
||||
done
|
||||
@$(NORMAL_UNINSTALL)
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
(cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
|
||||
done
|
||||
|
||||
dist-info: $(INFO_DEPS)
|
||||
list='$(INFO_DEPS)'; \
|
||||
for base in $$list; do \
|
||||
d=$(srcdir); \
|
||||
for file in `cd $$d && eval echo $$base*`; do \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file; \
|
||||
done; \
|
||||
done
|
||||
|
||||
mostlyclean-aminfo:
|
||||
-rm -f gnucash-design.aux gnucash-design.cp gnucash-design.cps \
|
||||
gnucash-design.dvi gnucash-design.fn gnucash-design.fns \
|
||||
gnucash-design.ky gnucash-design.kys gnucash-design.ps \
|
||||
gnucash-design.log gnucash-design.pg gnucash-design.toc \
|
||||
gnucash-design.tp gnucash-design.tps gnucash-design.vr \
|
||||
gnucash-design.vrs gnucash-design.op gnucash-design.tr \
|
||||
gnucash-design.cv gnucash-design.cn
|
||||
|
||||
clean-aminfo:
|
||||
|
||||
distclean-aminfo:
|
||||
|
||||
maintainer-clean-aminfo:
|
||||
cd $(srcdir) && for i in $(INFO_DEPS); do \
|
||||
rm -f $$i; \
|
||||
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
|
||||
rm -f $$i-[0-9]*; \
|
||||
fi; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
|
||||
subdir = src/doc/design
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
here=`cd $(top_builddir) && pwd`; \
|
||||
top_distdir=`cd $(top_distdir) && pwd`; \
|
||||
distdir=`cd $(distdir) && pwd`; \
|
||||
cd $(top_srcdir) \
|
||||
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/doc/design/Makefile
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$d/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
$(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
|
||||
info-am: $(INFO_DEPS)
|
||||
info: info-am
|
||||
dvi-am: $(DVIS)
|
||||
dvi: dvi-am
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
installcheck-am:
|
||||
installcheck: installcheck-am
|
||||
install-exec-am:
|
||||
install-exec: install-exec-am
|
||||
|
||||
install-data-am: install-info-am
|
||||
install-data: install-data-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-am
|
||||
uninstall-am: uninstall-info
|
||||
uninstall: uninstall-am
|
||||
all-am: Makefile $(INFO_DEPS)
|
||||
all-redirect: all-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-vti mostlyclean-aminfo mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
clean-am: clean-vti clean-aminfo clean-generic mostlyclean-am
|
||||
|
||||
clean: clean-am
|
||||
|
||||
distclean-am: distclean-vti distclean-aminfo distclean-generic clean-am
|
||||
-rm -f libtool
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
maintainer-clean-am: maintainer-clean-vti maintainer-clean-aminfo \
|
||||
maintainer-clean-generic distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
.PHONY: mostlyclean-vti distclean-vti clean-vti maintainer-clean-vti \
|
||||
install-info-am uninstall-info mostlyclean-aminfo distclean-aminfo \
|
||||
clean-aminfo maintainer-clean-aminfo tags distdir info-am info dvi-am \
|
||||
dvi check check-am installcheck-am installcheck install-exec-am \
|
||||
install-exec install-data-am install-data install-am install \
|
||||
uninstall-am uninstall all-redirect all-am all installdirs \
|
||||
mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
4
src/doc/design/concept-index.texinfo
Normal file
4
src/doc/design/concept-index.texinfo
Normal file
@@ -0,0 +1,4 @@
|
||||
@node Concept Index, , Reports, Top
|
||||
@unnumbered Concept Index
|
||||
|
||||
@printindex cp
|
||||
2
src/doc/design/engine.texinfo
Normal file
2
src/doc/design/engine.texinfo
Normal file
@@ -0,0 +1,2 @@
|
||||
@node Engine, Register, Top Level, Top
|
||||
@chapter Engine
|
||||
112
src/doc/design/gnucash-design.texinfo
Normal file
112
src/doc/design/gnucash-design.texinfo
Normal file
@@ -0,0 +1,112 @@
|
||||
\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
|
||||
This file documents the design of the GnuCash program.
|
||||
|
||||
Copyright 2000 Linas Vepstas
|
||||
|
||||
This is Edition @value{EDITION}, last updated @value{UPDATED},
|
||||
of the @cite{GnuCash Design Document}, version @value{VERSION}.
|
||||
|
||||
Permission is granted to make and distribute verbatim
|
||||
copies of this manual provided the copyright notice and
|
||||
this permission notice are preserved on all copies.
|
||||
|
||||
@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
|
||||
|
||||
Permission is granted to copy and distribute modified
|
||||
versions of this manual under the conditions for
|
||||
verbatim copying, provided also that the sections
|
||||
entitled ``Copying'' and ``GNU General Public License''
|
||||
are included exactly as in the original, and provided
|
||||
that the entire resulting derived work is distributed
|
||||
under the terms of a permission notice identical to this
|
||||
one.
|
||||
|
||||
Permission is granted to copy and distribute
|
||||
translations of this manual into another language,
|
||||
under the above conditions for modified versions,
|
||||
except that this permission notice may be stated in a
|
||||
translation approved by the Free Software Foundation.
|
||||
@end ifinfo
|
||||
|
||||
@titlepage
|
||||
@title GnuCash Design Document
|
||||
@subtitle Edition @value{EDITION} for Version @value{VERSION}
|
||||
@author Rob Browning
|
||||
@author Bill Gribble
|
||||
@author Dave Peticolas
|
||||
@author Linas Vepstas
|
||||
@page
|
||||
@vskip 0pt plus 1filll
|
||||
@copyright{} 2000 Linas Vepstas
|
||||
|
||||
Permission is granted to make and distribute verbatim
|
||||
copies of this manual provided the copyright notice and
|
||||
this permission notice are preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified
|
||||
versions of this manual under the conditions for
|
||||
verbatim copying, provided also that the sections
|
||||
entitled ``Copying'' and ``GNU General Public License''
|
||||
are included exactly as in the original, and provided
|
||||
that the entire resulting derived work is distributed
|
||||
under the terms of a permission notice identical to this
|
||||
one.
|
||||
|
||||
Permission is granted to copy and distribute
|
||||
translations of this manual into another language,
|
||||
under the above conditions for modified versions,
|
||||
except that this permission notice may be stated in a
|
||||
translation approved by the Free Software Foundation.
|
||||
@end titlepage
|
||||
|
||||
@ifinfo
|
||||
@node Top, Introduction, (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 ifinfo
|
||||
|
||||
@menu
|
||||
* Introduction::
|
||||
* Top Level::
|
||||
* Engine::
|
||||
* Register::
|
||||
* Reports::
|
||||
* Concept Index::
|
||||
|
||||
@detailmenu --- The Detailed Node Listing ---
|
||||
|
||||
Register
|
||||
|
||||
* Cells::
|
||||
|
||||
@end detailmenu
|
||||
@end menu
|
||||
|
||||
@include intro.texinfo
|
||||
@include top-level.texinfo
|
||||
@include engine.texinfo
|
||||
@include register.texinfo
|
||||
@include reports.texinfo
|
||||
@include concept-index.texinfo
|
||||
|
||||
@summarycontents
|
||||
@contents
|
||||
|
||||
@bye
|
||||
44
src/doc/design/intro.texinfo
Normal file
44
src/doc/design/intro.texinfo
Normal file
@@ -0,0 +1,44 @@
|
||||
@node Introduction, Top Level, Top, Top
|
||||
@unnumbered Introduction
|
||||
|
||||
This document defines the design and architecture of the GnuCash
|
||||
program, an application for tracking finances. GnuCash is composed
|
||||
of several subsystems or modules. This document describes each module,
|
||||
specifying its interface and, where appropriate, its implementation,
|
||||
as well as describing the interactions between each module.
|
||||
|
||||
@unnumberedsec Who Should Read This Document?
|
||||
|
||||
Anyone who plans on making a significant change or addition to GnuCash's
|
||||
functionality should read this document. By adhering to the structure
|
||||
presented here, your contribution will be more likely to work correctly
|
||||
with existing and future features.
|
||||
|
||||
@unnumberedsec Goals
|
||||
|
||||
GnuCash is intended to be a finance and accounting program for
|
||||
individuals and small businesses. As such, it should have the
|
||||
following primary features:
|
||||
|
||||
@itemize
|
||||
|
||||
@item
|
||||
A sound underlying model for financial entities such as currencies,
|
||||
transactions, and accounts.
|
||||
|
||||
@item
|
||||
A user interface which provides an efficient way to accomplish
|
||||
common tasks, such as transaction entry, account reconciliation,
|
||||
etc.
|
||||
|
||||
@item
|
||||
The ability to generate and print standard financial reports
|
||||
such as Income Statements, Balance Sheets, etc.
|
||||
|
||||
@item
|
||||
The ability to generate and print graphs of financial information.
|
||||
|
||||
@end itemize
|
||||
|
||||
A more comprehensive list of current and planned features for GnuCash
|
||||
is at @uref{http://cvs.gnucash.org/linux/gnucash/projects.html}.
|
||||
92
src/doc/design/mdate-sh
Executable file
92
src/doc/design/mdate-sh
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/bin/sh
|
||||
# Get modification time of a file or directory and pretty-print it.
|
||||
# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
# Prevent date giving response in another language.
|
||||
LANG=C
|
||||
export LANG
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
LC_TIME=C
|
||||
export LC_TIME
|
||||
|
||||
# Get the extended ls output of the file or directory.
|
||||
# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
|
||||
if ls -L /dev/null 1>/dev/null 2>&1; then
|
||||
set - x`ls -L -l -d $1`
|
||||
else
|
||||
set - x`ls -l -d $1`
|
||||
fi
|
||||
# The month is at least the fourth argument
|
||||
# (3 shifts here, the next inside the loop).
|
||||
shift
|
||||
shift
|
||||
shift
|
||||
|
||||
# Find the month. Next argument is day, followed by the year or time.
|
||||
month=
|
||||
until test $month
|
||||
do
|
||||
shift
|
||||
case $1 in
|
||||
Jan) month=January; nummonth=1;;
|
||||
Feb) month=February; nummonth=2;;
|
||||
Mar) month=March; nummonth=3;;
|
||||
Apr) month=April; nummonth=4;;
|
||||
May) month=May; nummonth=5;;
|
||||
Jun) month=June; nummonth=6;;
|
||||
Jul) month=July; nummonth=7;;
|
||||
Aug) month=August; nummonth=8;;
|
||||
Sep) month=September; nummonth=9;;
|
||||
Oct) month=October; nummonth=10;;
|
||||
Nov) month=November; nummonth=11;;
|
||||
Dec) month=December; nummonth=12;;
|
||||
esac
|
||||
done
|
||||
|
||||
day=$2
|
||||
|
||||
# Here we have to deal with the problem that the ls output gives either
|
||||
# the time of day or the year.
|
||||
case $3 in
|
||||
*:*) set `date`; eval year=\$$#
|
||||
case $2 in
|
||||
Jan) nummonthtod=1;;
|
||||
Feb) nummonthtod=2;;
|
||||
Mar) nummonthtod=3;;
|
||||
Apr) nummonthtod=4;;
|
||||
May) nummonthtod=5;;
|
||||
Jun) nummonthtod=6;;
|
||||
Jul) nummonthtod=7;;
|
||||
Aug) nummonthtod=8;;
|
||||
Sep) nummonthtod=9;;
|
||||
Oct) nummonthtod=10;;
|
||||
Nov) nummonthtod=11;;
|
||||
Dec) nummonthtod=12;;
|
||||
esac
|
||||
# For the first six month of the year the time notation can also
|
||||
# be used for files modified in the last year.
|
||||
if (expr $nummonth \> $nummonthtod) > /dev/null;
|
||||
then
|
||||
year=`expr $year - 1`
|
||||
fi;;
|
||||
*) year=$3;;
|
||||
esac
|
||||
|
||||
# The result.
|
||||
echo $day $month $year
|
||||
41
src/doc/design/register.texinfo
Normal file
41
src/doc/design/register.texinfo
Normal file
@@ -0,0 +1,41 @@
|
||||
@node Register, Reports, Engine, Top
|
||||
@chapter Register
|
||||
|
||||
The register is an infrastructure for building a modular matrix of cells
|
||||
in which each cell may be specialized to perform a particular function,
|
||||
e.g., to read dates, numerical amounts, or text. The register 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
|
||||
spread-sheets.
|
||||
|
||||
The register object should not have any 'knowledge' of the accounting
|
||||
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 severl types of components: Cells,
|
||||
Cellblocks, Cursors, the Table, and the Split Register.
|
||||
|
||||
@menu
|
||||
* Cells::
|
||||
@end menu
|
||||
|
||||
@node Cells, , Register, Register
|
||||
@section Cells
|
||||
|
||||
A @dfn{Cell} is an active object which is designed to read a specific
|
||||
kind of user input. A Cell object has callbacks that are called when
|
||||
the user enters the cell (e.g. by mouse-clicking on a cell in a table,
|
||||
or tabbing into it), when the user attempts to modify text in the cell
|
||||
(e.g. by typing in it), and when the user leaves the cell (e.g. by
|
||||
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.
|
||||
|
||||
Cells implementations may or may not contain GUI code. Cells which
|
||||
require only that text be displayed are completely "GUI-independent",
|
||||
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).
|
||||
2
src/doc/design/reports.texinfo
Normal file
2
src/doc/design/reports.texinfo
Normal file
@@ -0,0 +1,2 @@
|
||||
@node Reports, Concept Index, Register, Top
|
||||
@chapter Reports
|
||||
0
src/doc/design/texinfo.tex
Normal file
0
src/doc/design/texinfo.tex
Normal file
78
src/doc/design/top-level.texinfo
Normal file
78
src/doc/design/top-level.texinfo
Normal file
@@ -0,0 +1,78 @@
|
||||
@node Top Level, Engine, Introduction, Top
|
||||
@chapter Top Level Design
|
||||
|
||||
GnuCash currently consists of the following modules.
|
||||
|
||||
@section The Engine
|
||||
|
||||
The @dfn{Engine} (located under the src/engine directory in the GnuCash
|
||||
codebase) provides an interface for creating, manipulating, and
|
||||
destroying three basic financial entities: Accounts, Transactions (known
|
||||
as Journal Entries in accounting practice), and Splits (known as Ledger
|
||||
Entries). These three entities are the central data structures of the
|
||||
GnuCash financial data model.
|
||||
|
||||
The Engine code contains no GUI code whatsoever, and is essentially
|
||||
OS-neutral.
|
||||
|
||||
|
||||
@section The Register
|
||||
|
||||
The @dfn{Register} (located under src/register) implements a ledger-like
|
||||
GUI that allows the user to dynamically enter dates, prices, memos
|
||||
descriptions, etc. in an 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), and
|
||||
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.
|
||||
|
||||
|
||||
@section Reports
|
||||
|
||||
The @dfn{Reports} module (src/reports) is a scheme (guile) based system
|
||||
to create balance sheets, profit & loss statements, etc. by using the
|
||||
engine API's to fetch and display data.
|
||||
|
||||
|
||||
@section Quotes
|
||||
|
||||
The @dfn{Quotes} module (src/quotes) is a perl system to fetch stock
|
||||
price data off the Internet and insert it into the GnuCash Engine. This
|
||||
is now a separate project called Finance::Quote available at
|
||||
SourceForge.
|
||||
|
||||
|
||||
@section Options
|
||||
|
||||
The @dfn{Options} module (src/scm/options.scm) provides an
|
||||
infrastructure for defining both user-configurable and internal options
|
||||
or 'preferences'. User-configurable options are 'implemented' by
|
||||
providing a GUI which allows the user to see and change option values.
|
||||
|
||||
@section GnuCash
|
||||
|
||||
The GnuCash module (src/gnome, src/register/gnome and src/*.[ch]) 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. There
|
||||
is an obsolete Motif interface which is not maintained. The Qt code
|
||||
won't compile, and most/all functions are missing.
|
||||
Reference in New Issue
Block a user