#include <gtk/gtkwidget.h>
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
#define GTK_TYPE_RANGE (gtk_range_get_type ())
-#define GTK_RANGE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_RANGE, GtkRange))
-#define GTK_RANGE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_RANGE, GtkRangeClass))
-#define GTK_IS_RANGE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_RANGE))
-#define GTK_IS_RANGE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RANGE))
-#define GTK_RANGE_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_RANGE, GtkRangeClass))
+#define GTK_RANGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RANGE, GtkRange))
+#define GTK_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_RANGE, GtkRangeClass))
+#define GTK_IS_RANGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RANGE))
+#define GTK_IS_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RANGE))
+#define GTK_RANGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_RANGE, GtkRangeClass))
/* These two are private/opaque types, ignore */
typedef struct _GtkRangeLayout GtkRangeLayout;
gint slide_initial_slider_position;
gint slide_initial_coordinate;
guint update_timeout_id;
+ GdkWindow *event_window;
};
struct _GtkRangeClass
gchar *stepper_detail;
void (* value_changed) (GtkRange *range);
+ void (* adjust_bounds) (GtkRange *range,
+ gdouble new_value);
/* action signals for keybindings */
void (* move_slider) (GtkRange *range,
/* Virtual functions */
void (* get_range_border) (GtkRange *range,
- GtkBorder *border);
+ GtkBorder *border_);
+
+ gboolean (* change_value) (GtkRange *range,
+ GtkScrollType scroll,
+ gdouble new_value);
+
+ /* Padding for future expansion */
+ void (*_gtk_reserved1) (void);
+ void (*_gtk_reserved2) (void);
+ void (*_gtk_reserved3) (void);
};
-GtkType gtk_range_get_type (void) G_GNUC_CONST;
-
-void gtk_range_set_update_policy (GtkRange *range,
- GtkUpdateType policy);
-GtkUpdateType gtk_range_get_update_policy (GtkRange *range);
-void gtk_range_set_adjustment (GtkRange *range,
- GtkAdjustment *adjustment);
-GtkAdjustment* gtk_range_get_adjustment (GtkRange *range);
-void gtk_range_set_inverted (GtkRange *range,
- gboolean setting);
-gboolean gtk_range_get_inverted (GtkRange *range);
-void gtk_range_set_increments (GtkRange *range,
- gdouble step,
- gdouble page);
-void gtk_range_set_range (GtkRange *range,
- gdouble min,
- gdouble max);
-void gtk_range_set_value (GtkRange *range,
- gdouble value);
-gdouble gtk_range_get_value (GtkRange *range);
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+GType gtk_range_get_type (void) G_GNUC_CONST;
+
+void gtk_range_set_update_policy (GtkRange *range,
+ GtkUpdateType policy);
+GtkUpdateType gtk_range_get_update_policy (GtkRange *range);
+
+void gtk_range_set_adjustment (GtkRange *range,
+ GtkAdjustment *adjustment);
+GtkAdjustment* gtk_range_get_adjustment (GtkRange *range);
+
+void gtk_range_set_inverted (GtkRange *range,
+ gboolean setting);
+gboolean gtk_range_get_inverted (GtkRange *range);
+
+void gtk_range_set_lower_stepper_sensitivity (GtkRange *range,
+ GtkSensitivityType sensitivity);
+GtkSensitivityType gtk_range_get_lower_stepper_sensitivity (GtkRange *range);
+void gtk_range_set_upper_stepper_sensitivity (GtkRange *range,
+ GtkSensitivityType sensitivity);
+GtkSensitivityType gtk_range_get_upper_stepper_sensitivity (GtkRange *range);
+
+void gtk_range_set_increments (GtkRange *range,
+ gdouble step,
+ gdouble page);
+void gtk_range_set_range (GtkRange *range,
+ gdouble min,
+ gdouble max);
+void gtk_range_set_value (GtkRange *range,
+ gdouble value);
+gdouble gtk_range_get_value (GtkRange *range);
+
+gdouble _gtk_range_get_wheel_delta (GtkRange *range,
+ GdkScrollDirection direction);
+
+
+G_END_DECLS
#endif /* __GTK_RANGE_H__ */