1 /* GTK - The GIMP Toolkit
2 * Copyright (C) 2005 Ronald S. Bultje
3 * Copyright (C) 2006, 2007 Christian Persch
4 * Copyright (C) 2006 Jan Arne Petersen
5 * Copyright (C) 2007 Red Hat, Inc.
8 * - Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9 * - Bastien Nocera <bnocera@redhat.com>
10 * - Jan Arne Petersen <jpetersen@jpetersen.org>
11 * - Christian Persch <chpe@svn.gnome.org>
13 * This library is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU Lesser General Public
15 * License as published by the Free Software Foundation; either
16 * version 2 of the License, or (at your option) any later version.
18 * This library is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * Lesser General Public License for more details.
23 * You should have received a copy of the GNU Lesser General Public
24 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
28 * Modified by the GTK+ Team and others 2007. See the AUTHORS
29 * file for a list of people on the GTK+ Team. See the ChangeLog
30 * files for a list of changes. These files are distributed with
31 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
34 #ifndef __GTK_SCALE_BUTTON_H__
35 #define __GTK_SCALE_BUTTON_H__
37 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
38 #error "Only <gtk/gtk.h> can be included directly."
41 #include <gtk/gtkbutton.h>
45 #define GTK_TYPE_SCALE_BUTTON (gtk_scale_button_get_type ())
46 #define GTK_SCALE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCALE_BUTTON, GtkScaleButton))
47 #define GTK_SCALE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCALE_BUTTON, GtkScaleButtonClass))
48 #define GTK_IS_SCALE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCALE_BUTTON))
49 #define GTK_IS_SCALE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCALE_BUTTON))
50 #define GTK_SCALE_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SCALE_BUTTON, GtkScaleButtonClass))
52 typedef struct _GtkScaleButton GtkScaleButton;
53 typedef struct _GtkScaleButtonClass GtkScaleButtonClass;
54 typedef struct _GtkScaleButtonPrivate GtkScaleButtonPrivate;
56 struct _GtkScaleButton
61 GtkScaleButtonPrivate *priv;
64 struct _GtkScaleButtonClass
66 GtkButtonClass parent_class;
69 void (* value_changed) (GtkScaleButton *button,
72 /* Padding for future expansion */
73 void (*_gtk_reserved1) (void);
74 void (*_gtk_reserved2) (void);
75 void (*_gtk_reserved3) (void);
76 void (*_gtk_reserved4) (void);
79 GType gtk_scale_button_get_type (void) G_GNUC_CONST;
80 GtkWidget * gtk_scale_button_new (GtkIconSize size,
85 void gtk_scale_button_set_icons (GtkScaleButton *button,
87 gdouble gtk_scale_button_get_value (GtkScaleButton *button);
88 void gtk_scale_button_set_value (GtkScaleButton *button,
90 GtkAdjustment * gtk_scale_button_get_adjustment (GtkScaleButton *button);
91 void gtk_scale_button_set_adjustment (GtkScaleButton *button,
92 GtkAdjustment *adjustment);
93 GtkWidget * gtk_scale_button_get_plus_button (GtkScaleButton *button);
94 GtkWidget * gtk_scale_button_get_minus_button (GtkScaleButton *button);
95 GtkWidget * gtk_scale_button_get_popup (GtkScaleButton *button);
99 #endif /* __GTK_SCALE_BUTTON_H__ */