Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals  

Quickfill Account Names

Create an account-name quick-fill. More...

Typedefs

typedef gboolean(* AccountBoolCB )(Account *, gpointer)

Functions

QuickFill * gnc_get_shared_account_name_quickfill (AccountGroup *group, const char *key, AccountBoolCB skip_cb, gpointer cb_data)

Detailed Description

Create an account-name quick-fill.

For systems with a large number of accounts (>500), the creation of the account name quickfill can take a significant amount of time (tens of seconds in bad cases). This routine will build a cache of account names that can be shared by all registers, thus dramatically improving the performance of opening a new register.

@file account-quickfill.h

Author:
Copyright (C) 2004 Linas Vepstas <linas@linas.org>

Function Documentation

QuickFill* gnc_get_shared_account_name_quickfill AccountGroup *    group,
const char *    key,
AccountBoolCB    skip_cb,
gpointer    cb_data
 

Create/fetch a quickfill of account names.

The quickfill is created out of all of the subaccounts the the account group, filtered by the 'skip_cb' callback. If 'skip_cb' is not NULL, and if it returns TRUE when passed a particular account, then that account won't be included in the quickfill. The 'cb_data' is passed to the callback.

The quickfill is created only once; it is then stored with the QofBook that is the parent of the AccountGroup. It is automatically destroyed when the QofBook is destroyed.

Multiple, distinct quickfills, for different uses, are allowed. Each is identified with the 'key'. Be sure to use distinct, unique keys that don't conflict with other users of QofBook.

This code listens to account creation events, and automatically adds new accounts to the quickfill list (assuming skip_cb allows it). This code does not currently listen to account-destroy events.


Generated on Mon Dec 13 00:41:58 2004 for GnuCash by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002