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

Revision 14482, 4.4 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/* GTK - The GIMP Toolkit
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3 *
4 * GtkSpinButton widget for GTK+
5 * Copyright (C) 1998 Lars Hamann and Stefan Jeske
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 * Library General Public License for more details.
16 *
17 * You should have received a copy of the GNU Library General Public
18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
21 */
22
23/*
24 * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
25 * file for a list of people on the GTK+ Team.  See the ChangeLog
26 * files for a list of changes.  These files are distributed with
27 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
28 */
29
30#ifndef __GTK_SPIN_BUTTON_H__
31#define __GTK_SPIN_BUTTON_H__
32
33
34#include <gdk/gdk.h>
35#include <gtk/gtkentry.h>
36#include <gtk/gtkadjustment.h>
37
38
39#ifdef __cplusplus
40extern "C" {
41#endif /* __cplusplus */
42
43
44#define GTK_TYPE_SPIN_BUTTON                  (gtk_spin_button_get_type ())
45#define GTK_SPIN_BUTTON(obj)                  (GTK_CHECK_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
46#define GTK_SPIN_BUTTON_CLASS(klass)          (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_SPIN_BUTTON, GtkSpinButtonClass))
47#define GTK_IS_SPIN_BUTTON(obj)               (GTK_CHECK_TYPE ((obj), GTK_TYPE_SPIN_BUTTON))
48#define GTK_IS_SPIN_BUTTON_CLASS(klass)       (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SPIN_BUTTON))
49
50
51typedef enum
52{
53  GTK_UPDATE_ALWAYS,
54  GTK_UPDATE_IF_VALID
55} GtkSpinButtonUpdatePolicy;
56
57typedef enum
58{
59  GTK_SPIN_STEP_FORWARD,
60  GTK_SPIN_STEP_BACKWARD,
61  GTK_SPIN_PAGE_FORWARD,
62  GTK_SPIN_PAGE_BACKWARD,
63  GTK_SPIN_HOME,
64  GTK_SPIN_END,
65  GTK_SPIN_USER_DEFINED
66} GtkSpinType;
67
68
69typedef struct _GtkSpinButton       GtkSpinButton;
70typedef struct _GtkSpinButtonClass  GtkSpinButtonClass;
71
72
73struct _GtkSpinButton
74{
75  GtkEntry entry;
76 
77  GtkAdjustment *adjustment;
78 
79  GdkWindow *panel;
80  GtkShadowType shadow_type;
81 
82  guint32 timer;
83  guint32 ev_time;
84 
85  gfloat climb_rate;
86  gfloat timer_step;
87 
88  GtkSpinButtonUpdatePolicy update_policy;
89 
90  guint in_child : 2;
91  guint click_child : 2;
92  guint button : 2;
93  guint need_timer : 1;
94  guint timer_calls : 3;
95  guint digits : 3;
96  guint numeric : 1;
97  guint wrap : 1;
98  guint snap_to_ticks : 1;
99};
100
101struct _GtkSpinButtonClass
102{
103  GtkEntryClass parent_class;
104};
105
106
107GtkType         gtk_spin_button_get_type           (void);
108
109void            gtk_spin_button_configure          (GtkSpinButton  *spin_button,
110                                                    GtkAdjustment  *adjustment,
111                                                    gfloat          climb_rate,
112                                                    guint           digits);
113
114GtkWidget*      gtk_spin_button_new                (GtkAdjustment  *adjustment,
115                                                    gfloat          climb_rate,
116                                                    guint           digits);
117
118void            gtk_spin_button_set_adjustment     (GtkSpinButton  *spin_button,
119                                                    GtkAdjustment  *adjustment);
120
121GtkAdjustment*  gtk_spin_button_get_adjustment     (GtkSpinButton  *spin_button);
122
123void            gtk_spin_button_set_digits         (GtkSpinButton  *spin_button,
124                                                    guint           digits);
125
126gfloat          gtk_spin_button_get_value_as_float (GtkSpinButton  *spin_button);
127
128gint            gtk_spin_button_get_value_as_int   (GtkSpinButton  *spin_button);
129
130void            gtk_spin_button_set_value          (GtkSpinButton  *spin_button,
131                                                    gfloat          value);
132
133void            gtk_spin_button_set_update_policy  (GtkSpinButton  *spin_button,
134                                                    GtkSpinButtonUpdatePolicy  policy);
135
136void            gtk_spin_button_set_numeric        (GtkSpinButton  *spin_button,
137                                                    gboolean        numeric);
138
139void            gtk_spin_button_spin               (GtkSpinButton  *spin_button,
140                                                    GtkSpinType     direction,
141                                                    gfloat          increment);
142
143void            gtk_spin_button_set_wrap           (GtkSpinButton  *spin_button,
144                                                    gboolean        wrap);
145
146void            gtk_spin_button_set_shadow_type    (GtkSpinButton  *spin_button,
147                                                    GtkShadowType   shadow_type);
148
149void            gtk_spin_button_set_snap_to_ticks  (GtkSpinButton  *spin_button,
150                                                    gboolean        snap_to_ticks);
151void            gtk_spin_button_update             (GtkSpinButton  *spin_button);
152
153
154
155#ifdef __cplusplus
156}
157#endif /* __cplusplus */
158
159
160#endif /* __GTK_SPIN_BUTTON_H__ */
Note: See TracBrowser for help on using the repository browser.