mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Add documentation
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9990 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
270cd08498
commit
7709758d5a
@ -215,7 +215,9 @@ gnc_quickfill_get_unique_len_match (QuickFill *qf, int *length)
|
|||||||
count = g_hash_table_size (qf->matches);
|
count = g_hash_table_size (qf->matches);
|
||||||
|
|
||||||
if (count != 1)
|
if (count != 1)
|
||||||
|
{
|
||||||
return qf;
|
return qf;
|
||||||
|
}
|
||||||
|
|
||||||
g_hash_table_foreach (qf->matches, unique_len_helper, &qf);
|
g_hash_table_foreach (qf->matches, unique_len_helper, &qf);
|
||||||
|
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
* QuickFill.h -- the quickfill tree data structure *
|
* QuickFill.h -- the quickfill tree data structure *
|
||||||
* Copyright (C) 1997 Robin D. Clark *
|
|
||||||
* Copyright (C) 1998 Linas Vepstas *
|
|
||||||
* Copyright (C) 2000 Dave Peticolas *
|
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
@ -31,6 +28,23 @@
|
|||||||
#include <gdk/gdk.h>
|
#include <gdk/gdk.h>
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file QuickFill.h
|
||||||
|
* @breif Quickfill is used to auto-complete typed user entries.
|
||||||
|
* @author Copyright (C) 1997 Robin D. Clark
|
||||||
|
* @author Copyright (C) 1998,2004 Linas Vepstas <linas@linas.org>
|
||||||
|
* @author Copyright (C) 2000 Dave Peticolas
|
||||||
|
*
|
||||||
|
* QuickFill is meant to be used to quickly auto-complete typed
|
||||||
|
* user input. Quickfill is implemented as a heirarchical tree
|
||||||
|
* of partial matching strings. The root of the tree contains
|
||||||
|
* all of the strings that user input should be matched to.
|
||||||
|
* Then, given a short string segment, quickfill will return
|
||||||
|
* a subtree containing only those strings that start with desired
|
||||||
|
* substring. As additional letters are added to the substring,
|
||||||
|
* Quickfill will thus narrow down to the unique matching string
|
||||||
|
* (or to nothing if no match).
|
||||||
|
*/
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
@ -46,22 +60,60 @@ typedef struct _QuickFill QuickFill;
|
|||||||
QuickFill * gnc_quickfill_new (void);
|
QuickFill * gnc_quickfill_new (void);
|
||||||
void gnc_quickfill_destroy (QuickFill *qf);
|
void gnc_quickfill_destroy (QuickFill *qf);
|
||||||
|
|
||||||
|
/** For the given node 'qf', return the best-guess matching string.
|
||||||
|
*/
|
||||||
const char * gnc_quickfill_string (QuickFill *qf);
|
const char * gnc_quickfill_string (QuickFill *qf);
|
||||||
|
|
||||||
|
/** Return the subnode of the tree whose strings all hold 'wc' as
|
||||||
|
* the next letter. That is, if 'qf' holds all strings starting
|
||||||
|
* with the letter 'a', and we ask for the letter 'b', then this
|
||||||
|
* routine will return the node holding all strings that start
|
||||||
|
* with "ab".
|
||||||
|
*
|
||||||
|
* The best-guess matching string can be retreived with
|
||||||
|
* gnc_quickfill_string().
|
||||||
|
*/
|
||||||
QuickFill * gnc_quickfill_get_char_match (QuickFill *qf, GdkWChar wc);
|
QuickFill * gnc_quickfill_get_char_match (QuickFill *qf, GdkWChar wc);
|
||||||
|
|
||||||
|
/** Return a subnode in the tree whose strings all match the
|
||||||
|
* string 'str' as the next substring. Thus, for example, if
|
||||||
|
* the argument 'qf' holds strings that start with "abc", and
|
||||||
|
* this routine is called with "def", then the returned node
|
||||||
|
* will hold strings that start with "abcdef".
|
||||||
|
*
|
||||||
|
* The best-guess matching string can be retreived with
|
||||||
|
* gnc_quickfill_string().
|
||||||
|
*
|
||||||
|
* To convert a plain C-locale char * string to GdkWChar *,
|
||||||
|
* use the gnc_mbstowcs() routine.
|
||||||
|
*/
|
||||||
QuickFill * gnc_quickfill_get_string_match (QuickFill *qf,
|
QuickFill * gnc_quickfill_get_string_match (QuickFill *qf,
|
||||||
const GdkWChar *str);
|
const GdkWChar *str);
|
||||||
|
|
||||||
QuickFill * gnc_quickfill_get_string_len_match (QuickFill *qf,
|
QuickFill * gnc_quickfill_get_string_len_match (QuickFill *qf,
|
||||||
const GdkWChar *str, int len);
|
const GdkWChar *str, int len);
|
||||||
|
|
||||||
|
/** Walk a 'unique' part of the quickfill tree. This routine is
|
||||||
|
* typically used to assist in the tab-completion of strings.
|
||||||
|
* If the inital portion of the string is unique, but some later
|
||||||
|
* portion is not, this routine will advance to the first non-unique
|
||||||
|
* part of the string. If len is non-NULL, then *len will be set
|
||||||
|
* to the length of the unique portion of the string.
|
||||||
|
*
|
||||||
|
* Thus, for example, if the root node contains the strings
|
||||||
|
* "The Book" and "The Movie", then the returned len will be 4,
|
||||||
|
* and the returned node will distinguish "Book" and "Movie".
|
||||||
|
* Thus, for example, gnc_quickfill_get_char_match(.., 'B') on
|
||||||
|
* the result will identify "The Book".
|
||||||
|
*/
|
||||||
QuickFill * gnc_quickfill_get_unique_len_match (QuickFill *qf, int *len);
|
QuickFill * gnc_quickfill_get_unique_len_match (QuickFill *qf, int *len);
|
||||||
|
|
||||||
void gnc_quickfill_insert (QuickFill *qf, const char *text,
|
/** Add the string "text" to the collection of searchable strings. */
|
||||||
|
void gnc_quickfill_insert (QuickFill *root, const char *text,
|
||||||
QuickFillSort sort_code);
|
QuickFillSort sort_code);
|
||||||
|
|
||||||
void gnc_quickfill_insert_wc (QuickFill *qf, const GdkWChar *text,
|
/** Add the string "text" to the collection of searchable strings. */
|
||||||
|
void gnc_quickfill_insert_wc (QuickFill *root, const GdkWChar *text,
|
||||||
QuickFillSort sort_code);
|
QuickFillSort sort_code);
|
||||||
|
|
||||||
#endif /* QUICKFILL_H */
|
#endif /* QUICKFILL_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user