]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkvscrollbar.c
Document gtk_xscrollbar.new
[~andy/gtk] / gtk / gtkvscrollbar.c
index 714add7a80e8afee11752a7be64b5a9b0a5e3c8e..a5f34e169517818fa32d9c396ae9ba0ab73b9ae6 100644 (file)
  * 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)
@@ -71,23 +43,27 @@ 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__