On Sun, Nov 25, 2001 at 05:13:37PM -0600, Linas Vepstas was heard to remark: > On Sun, Nov 25, 2001 at 05:17:33PM -0500, Derek Atkins was heard to remark: > > > > The hard part is the your > > is the state machine that walks users through the > > various screens to enter the various (necessary) information into the > > system. > > Lets see if I can cook up an example: > > # here is a list of states > DEFINE STATES "Ordering_process" > STATE "NewOrderForm" > STATE "Approval" > STATE "EditInvoice" > STATE "EditBillOfLading" > STATE "Close" > END DEFINE STATES > > #maybe these are 'groups' not 'users' > DEFINE USERS > USER "Clerk" > USER "Boss_Man" > USER "Loading_Dock_Muscle" > END DEFINE USERS > > # state transition rules. > # I should define separate ACL's for viewing, as opposed to editing. > # "" means 'start here' and * means wildcard. > DEFINE TRANSITIONS > FROM "" TO "NewOrderForm" GUI "MyGladeForm" ALLOW "Clerk", "Boss_Man" > FROM "NewOrderForm" TO "Approval" GUI "GladeApproval" ALLOW "Boss_Man" > FROM "Approval" TO "EditInvoice" GUI "GladeEditInv" ALLOW "Clerk", "BossMan" > FROM "Approval" TO "EditBillOfLading" GUI "GladeLading" ALLOW "Loading_Dock_Muscle" > FROM "Approval" TO "Close" GUI "CancelOrFinishGUI" ALLOW "Clerk" > FROM "EditBillOfLading" TO "Close" GUI "FinishGUI" ALLOW "Loading_Dock_Muscle" > FROM "Close" TO "EditInvoice" GUI "OoopsGUI" ALLOW * > END DEFINE TRANSITIONS
I forgot to mention: although I wrote this as it it were an ASCII config file, it doesn't have to be. It could be just straight C. It would look just like src/register/ledger-core/split-register-layout.c Something that is so regular, so repetitive, so uniform, that its begging to be a config file. Of course, if you implement it as a C file, not a config file, then gnucash would not be 'configurable'. --linas -- pub 1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <[EMAIL PROTECTED]> PGP Key fingerprint = 8305 2521 6000 0B5E 8984 3F54 64A9 9A82 0104 5933 _______________________________________________ gnucash-devel mailing list [EMAIL PROTECTED] http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel