~inkscape.dev/inkscape-devlibs/devlibs-gtk3

« back to all changes in this revision

Viewing changes to include/gtk-2.0/gtk/gtkcombo.h

  • Committer: JazzyNico
  • Date: 2013-01-21 10:11:05 UTC
  • Revision ID: nicoduf@yahoo.fr-20130121101105-i8d8slkq9ng4olx8
Adding gtk2 libraries.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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 Lesser 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
 * Lesser General Public License for more details.
 
13
 *
 
14
 * You should have received a copy of the GNU Lesser 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-2000.  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_DISABLE_DEPRECATED
 
28
 
 
29
#ifndef __GTK_SMART_COMBO_H__
 
30
#define __GTK_SMART_COMBO_H__
 
31
 
 
32
#include <gtk/gtk.h>
 
33
 
 
34
 
 
35
G_BEGIN_DECLS
 
36
 
 
37
#define GTK_TYPE_COMBO              (gtk_combo_get_type ())
 
38
#define GTK_COMBO(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO, GtkCombo))
 
39
#define GTK_COMBO_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_COMBO, GtkComboClass))
 
40
#define GTK_IS_COMBO(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_COMBO))
 
41
#define GTK_IS_COMBO_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_COMBO))
 
42
#define GTK_COMBO_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_COMBO, GtkComboClass))
 
43
 
 
44
 
 
45
typedef struct _GtkCombo        GtkCombo;
 
46
typedef struct _GtkComboClass   GtkComboClass;
 
47
 
 
48
/* you should access only the entry and list fields directly */
 
49
struct _GtkCombo {
 
50
        GtkHBox hbox;
 
51
  
 
52
        /*< public >*/
 
53
        GtkWidget *entry;
 
54
        
 
55
        /*< private >*/
 
56
        GtkWidget *button;
 
57
        GtkWidget *popup;
 
58
        GtkWidget *popwin;
 
59
        
 
60
        /*< public >*/
 
61
        GtkWidget *list;
 
62
 
 
63
        /*< private >*/
 
64
        guint entry_change_id;
 
65
        guint list_change_id;   /* unused */
 
66
 
 
67
        guint value_in_list:1;
 
68
        guint ok_if_empty:1;
 
69
        guint case_sensitive:1;
 
70
        guint use_arrows:1;
 
71
        guint use_arrows_always:1;
 
72
 
 
73
        guint16 current_button;
 
74
        guint activate_id;
 
75
};
 
76
 
 
77
struct _GtkComboClass {
 
78
        GtkHBoxClass parent_class;
 
79
 
 
80
        /* Padding for future expansion */
 
81
        void (*_gtk_reserved1) (void);
 
82
        void (*_gtk_reserved2) (void);
 
83
        void (*_gtk_reserved3) (void);
 
84
        void (*_gtk_reserved4) (void);
 
85
};
 
86
 
 
87
GType      gtk_combo_get_type              (void) G_GNUC_CONST;
 
88
 
 
89
GtkWidget* gtk_combo_new                   (void);
 
90
/* the text in the entry must be or not be in the list */
 
91
void       gtk_combo_set_value_in_list     (GtkCombo*    combo, 
 
92
                                            gboolean     val,
 
93
                                            gboolean     ok_if_empty);
 
94
/* set/unset arrows working for changing the value (can be annoying) */
 
95
void       gtk_combo_set_use_arrows        (GtkCombo*    combo, 
 
96
                                            gboolean     val);
 
97
/* up/down arrows change value if current value not in list */
 
98
void       gtk_combo_set_use_arrows_always (GtkCombo*    combo, 
 
99
                                            gboolean     val);
 
100
/* perform case-sensitive compares */
 
101
void       gtk_combo_set_case_sensitive    (GtkCombo*    combo, 
 
102
                                            gboolean     val);
 
103
/* call this function on an item if it isn't a label or you
 
104
   want it to have a different value to be displayed in the entry */
 
105
void       gtk_combo_set_item_string       (GtkCombo*    combo,
 
106
                                            GtkItem*     item,
 
107
                                            const gchar* item_value);
 
108
/* simple interface */
 
109
void       gtk_combo_set_popdown_strings   (GtkCombo*    combo, 
 
110
                                            GList        *strings);
 
111
 
 
112
void       gtk_combo_disable_activate      (GtkCombo*    combo);
 
113
 
 
114
G_END_DECLS
 
115
 
 
116
#endif /* __GTK_SMART_COMBO_H__ */
 
117
 
 
118
#endif /* GTK_DISABLE_DEPRECATED */