GnuCash 2.4.99
QuickFill.h
Go to the documentation of this file.
00001 /********************************************************************\
00002  * QuickFill.h -- the quickfill tree data structure                 *
00003  *                                                                  *
00004  * This program is free software; you can redistribute it and/or    *
00005  * modify it under the terms of the GNU General Public License as   *
00006  * published by the Free Software Foundation; either version 2 of   *
00007  * the License, or (at your option) any later version.              *
00008  *                                                                  *
00009  * This program is distributed in the hope that it will be useful,  *
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of   *
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    *
00012  * GNU General Public License for more details.                     *
00013  *                                                                  *
00014  * You should have received a copy of the GNU General Public License*
00015  * along with this program; if not, contact:                        *
00016  *                                                                  *
00017  * Free Software Foundation           Voice:  +1-617-542-5942       *
00018  * 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652       *
00019  * Boston, MA  02110-1301,  USA       gnu@gnu.org                   *
00020  *                                                                  *
00021 \********************************************************************/
00050 #ifndef QUICKFILL_H
00051 #define QUICKFILL_H
00052 
00053 #include <glib.h>
00054 
00055 typedef enum
00056 {
00057     QUICKFILL_LIFO,
00058     QUICKFILL_ALPHA
00059 } QuickFillSort;
00060 
00061 typedef struct _QuickFill QuickFill;
00062 
00063 
00064 /* PROTOTYPES ******************************************************/
00065 
00066 QuickFill *  gnc_quickfill_new (void);
00067 void         gnc_quickfill_destroy (QuickFill *qf);
00068 void         gnc_quickfill_purge (QuickFill *qf);
00069 
00072 const char * gnc_quickfill_string (QuickFill *qf);
00073 
00083 QuickFill *  gnc_quickfill_get_char_match (QuickFill *qf, gunichar c);
00084 
00097 QuickFill *  gnc_quickfill_get_string_match (QuickFill *qf,
00098         const char *str);
00099 
00103 QuickFill *  gnc_quickfill_get_string_len_match (QuickFill *qf,
00104         const char *str, int len);
00105 
00119 QuickFill *  gnc_quickfill_get_unique_len_match (QuickFill *qf, int *len);
00120 
00122 void         gnc_quickfill_insert (QuickFill *root, const char *text,
00123                                    QuickFillSort sort_code);
00124 
00125 void         gnc_quickfill_remove (QuickFill *root, const gchar *text,
00126                                    QuickFillSort sort_code);
00127 
00130 #endif /* QUICKFILL_H */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines