summaryrefslogtreecommitdiff
path: root/gtk/gtkscrollbar.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkscrollbar.c')
-rw-r--r--gtk/gtkscrollbar.c28
1 files changed, 27 insertions, 1 deletions
diff --git a/gtk/gtkscrollbar.c b/gtk/gtkscrollbar.c
index cd81b8ba10..4c69983817 100644
--- a/gtk/gtkscrollbar.c
+++ b/gtk/gtkscrollbar.c
@@ -35,7 +35,7 @@
static void gtk_scrollbar_style_set (GtkWidget *widget,
GtkStyle *previous);
-G_DEFINE_ABSTRACT_TYPE (GtkScrollbar, gtk_scrollbar, GTK_TYPE_RANGE)
+G_DEFINE_TYPE (GtkScrollbar, gtk_scrollbar, GTK_TYPE_RANGE)
static void
gtk_scrollbar_class_init (GtkScrollbarClass *class)
@@ -44,6 +44,8 @@ gtk_scrollbar_class_init (GtkScrollbarClass *class)
widget_class->style_set = gtk_scrollbar_style_set;
+ GTK_RANGE_CLASS (class)->stepper_detail = "Xscrollbar";
+
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("min-slider-length",
P_("Minimum Slider Length"),
@@ -123,5 +125,29 @@ gtk_scrollbar_style_set (GtkWidget *widget,
GTK_WIDGET_CLASS (gtk_scrollbar_parent_class)->style_set (widget, previous);
}
+/**
+ * gtk_scrollbar_new:
+ * @orientation: the scrollbar's orientation.
+ * @adjustment: the #GtkAdjustment to use, or %NULL to create a new adjustment.
+ *
+ * Creates a new scrollbar with the given orientation.
+ *
+ * Return value: the new #GtkScrollbar.
+ *
+ * Since: 2.16
+ **/
+GtkWidget *
+gtk_scrollbar_new (GtkOrientation orientation,
+ GtkAdjustment *adjustment)
+{
+ g_return_val_if_fail (adjustment == NULL || GTK_IS_ADJUSTMENT (adjustment),
+ NULL);
+
+ return g_object_new (GTK_TYPE_SCROLLBAR,
+ "orientation", orientation,
+ "adjustment", adjustment,
+ NULL);
+}
+
#define __GTK_SCROLLBAR_C__
#include "gtkaliasdef.c"