* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
-#include <config.h>
+#include "config.h"
+
+#include "gtkorientable.h"
#include "gtkvscrollbar.h"
-#include "gdk/gdkkeysyms.h"
#include "gtkintl.h"
#include "gtkalias.h"
-static void gtk_vscrollbar_class_init (GtkVScrollbarClass *klass);
-static void gtk_vscrollbar_init (GtkVScrollbar *vscrollbar);
-
-GType
-gtk_vscrollbar_get_type (void)
-{
- static GType vscrollbar_type = 0;
-
- if (!vscrollbar_type)
- {
- static const GTypeInfo vscrollbar_info =
- {
- sizeof (GtkVScrollbarClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gtk_vscrollbar_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkVScrollbar),
- 0, /* n_preallocs */
- (GInstanceInitFunc) gtk_vscrollbar_init,
- };
-
- vscrollbar_type =
- g_type_register_static (GTK_TYPE_SCROLLBAR, "GtkVScrollbar",
- &vscrollbar_info, 0);
- }
-
- return vscrollbar_type;
-}
+G_DEFINE_TYPE (GtkVScrollbar, gtk_vscrollbar, GTK_TYPE_SCROLLBAR)
static void
gtk_vscrollbar_class_init (GtkVScrollbarClass *class)
static void
gtk_vscrollbar_init (GtkVScrollbar *vscrollbar)
{
- GtkRange *range;
-
- range = GTK_RANGE (vscrollbar);
-
- range->orientation = GTK_ORIENTATION_VERTICAL;
+ gtk_orientable_set_orientation (GTK_ORIENTABLE (vscrollbar),
+ GTK_ORIENTATION_VERTICAL);
}
-GtkWidget*
+/**
+ * gtk_vscrollbar_new:
+ * @adjustment: the #GtkAdjustment to use, or %NULL to create a new adjustment
+ *
+ * Creates a new vertical scrollbar.
+ *
+ * Returns: the new #GtkVScrollbar
+ */
+GtkWidget *
gtk_vscrollbar_new (GtkAdjustment *adjustment)
{
- GtkWidget *vscrollbar;
-
- vscrollbar = g_object_new (GTK_TYPE_VSCROLLBAR,
- "adjustment", adjustment,
- NULL);
-
- return vscrollbar;
+ g_return_val_if_fail (adjustment == NULL || GTK_IS_ADJUSTMENT (adjustment),
+ NULL);
+
+ return g_object_new (GTK_TYPE_VSCROLLBAR,
+ "adjustment", adjustment,
+ NULL);
}
#define __GTK_VSCROLLBAR_C__