GnuCash  2.6.99
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
gnc-general-select.h
1 /*
2  * gnc-general-select.h -- General Selection Widget
3  *
4  * Copyright (C) 2001 Free Software Foundation
5  * All rights reserved.
6  *
7  * Derek Atkins <[email protected]>
8  *
9  * GnuCash is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU Library General Public License as
11  * published by the Free Software Foundation; either version 2 of
12  * the License, or (at your option) any later version.
13  *
14  * Gnucash is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Library General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, contact:
21  *
22  * Free Software Foundation Voice: +1-617-542-5942
23  * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652
24  * Boston, MA 02110-1301, USA [email protected]
25  *
26  */
27 /*
28  @NOTATION@
29  */
30 
31 #ifndef GNC_GENERAL_SELECT_H
32 #define GNC_GENERAL_SELECT_H
33 
34 #define GNC_TYPE_GENERAL_SELECT (gnc_general_select_get_type ())
35 #define GNC_GENERAL_SELECT(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, gnc_general_select_get_type(), GNCGeneralSelect)
36 #define GNC_GENERAL_SELECT_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, gnc_general_select_get_type(), \ GNCGeneralSelectClass)
37 #define GNC_IS_GENERAL_SELECT(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, gnc_general_select_get_type ())
38 
39 typedef const char * (*GNCGeneralSelectGetStringCB) (gpointer);
40 typedef gpointer (*GNCGeneralSelectNewSelectCB) (gpointer cbarg, gpointer default_selection, GtkWidget *parent);
41 
42 typedef enum
43 {
44  GNC_GENERAL_SELECT_TYPE_SELECT = 1,
45  GNC_GENERAL_SELECT_TYPE_EDIT = 2,
46  GNC_GENERAL_SELECT_TYPE_VIEW = 3
47 } GNCGeneralSelectType;
48 
49 typedef struct
50 {
51  GtkHBox hbox;
52 
53  GtkWidget *entry; /* display of selection name */
54  GtkWidget *button; /* button for popping up selection window */
55 
56  gpointer selected_item;
57 
58  GNCGeneralSelectGetStringCB get_string;
59  GNCGeneralSelectNewSelectCB new_select;
60  gpointer cb_arg;
61 
62  int disposed; /* private */
64 
65 typedef struct
66 {
67  GtkHBoxClass parent_class;
68 
69  void (*changed) (GNCGeneralSelect *edit);
71 
72 
73 GtkWidget *gnc_general_select_new (GNCGeneralSelectType type,
74  GNCGeneralSelectGetStringCB get_string,
75  GNCGeneralSelectNewSelectCB new_select,
76  gpointer cb_arg);
77 void gnc_general_select_set_selected (GNCGeneralSelect *gsl,
78  gpointer selected);
79 gpointer gnc_general_select_get_selected (GNCGeneralSelect *gsl);
80 const char *gnc_general_select_get_printname (GNCGeneralSelect *gsl,
81  gpointer selection);
82 GType gnc_general_select_get_type (void);
83 
84 void gnc_general_select_make_mnemonic_target (GNCGeneralSelect *gsl, GtkWidget *label);
85 
86 #endif
87