source: trunk/third/gtk/gtk/gtkcombo.h @ 14482

Revision 14482, 3.5 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14481, which included commits to RCS files with non-trunk default branches.
Line 
1/* gtkcombo - combo widget for gtk+
2 * Copyright 1997 Paolo Molaro
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
18 */
19
20/*
21 * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
22 * file for a list of people on the GTK+ Team.  See the ChangeLog
23 * files for a list of changes.  These files are distributed with
24 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
25 */
26
27#ifndef __GTK_SMART_COMBO_H__
28#define __GTK_SMART_COMBO_H__
29
30#include <gtk/gtkhbox.h>
31#include <gtk/gtkitem.h>
32
33#ifdef __cplusplus
34extern "C" {
35#endif /* __cplusplus */
36
37#define GTK_COMBO(obj)                  GTK_CHECK_CAST (obj, gtk_combo_get_type (), GtkCombo)
38#define GTK_COMBO_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, gtk_combo_get_type (), GtkComboClass)
39#define GTK_IS_COMBO(obj)       GTK_CHECK_TYPE (obj, gtk_combo_get_type ())
40
41typedef struct _GtkCombo                GtkCombo;
42typedef struct _GtkComboClass   GtkComboClass;
43
44/* you should access only the entry and list fields directly */
45struct _GtkCombo {
46        GtkHBox hbox;
47        GtkWidget *entry;
48        GtkWidget *button;
49        GtkWidget *popup;
50        GtkWidget *popwin;
51        GtkWidget *list;
52
53        guint entry_change_id;
54        guint list_change_id;
55
56        guint value_in_list:1;
57        guint ok_if_empty:1;
58        guint case_sensitive:1;
59        guint use_arrows:1;
60        guint use_arrows_always:1;
61
62        guint16 current_button;
63        guint activate_id;
64};
65
66struct _GtkComboClass {
67        GtkHBoxClass parent_class;
68};
69
70guint      gtk_combo_get_type              (void);
71
72GtkWidget *gtk_combo_new                   (void);
73/* the text in the entry must be or not be in the list */
74void       gtk_combo_set_value_in_list     (GtkCombo*    combo,
75                                            gint         val,
76                                            gint         ok_if_empty);
77/* set/unset arrows working for changing the value (can be annoying */
78void       gtk_combo_set_use_arrows        (GtkCombo*    combo,
79                                            gint         val);
80/* up/down arrows change value if current value not in list */
81void       gtk_combo_set_use_arrows_always (GtkCombo*    combo,
82                                            gint         val);
83/* perform case-sensitive compares */
84void       gtk_combo_set_case_sensitive    (GtkCombo*    combo,
85                                            gint         val);
86/* call this function on an item if it isn't a label or you
87   want it to have a different value to be displayed in the entry */
88void       gtk_combo_set_item_string       (GtkCombo*    combo,
89                                            GtkItem*     item,
90                                            const gchar* item_value);
91/* simple interface */
92void       gtk_combo_set_popdown_strings   (GtkCombo*    combo,
93                                            GList        *strings);
94
95void       gtk_combo_disable_activate      (GtkCombo*    combo);
96
97#ifdef __cplusplus
98}
99#endif /* __cplusplus */
100
101#endif /* __GTK_SMART_COMBO_H__ */
102
103
Note: See TracBrowser for help on using the repository browser.