]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkvseparator.c
Add _gtk_toggle_action_set_active() internal function
[~andy/gtk] / gtk / gtkvseparator.c
index 15798991d78f4d997650eb104de3b2b0946b35d8..f2dcf81b70c49c943fa76df2946391d580a2eac7 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 "gtkvseparator.h"
-#include "gtkalias.h"
-
-
-static void gtk_vseparator_class_init (GtkVSeparatorClass *klass);
-static void gtk_vseparator_init       (GtkVSeparator      *vseparator);
-static gint gtk_vseparator_expose     (GtkWidget          *widget,
-                                      GdkEventExpose     *event);
+#include "config.h"
 
+#include "gtkorientable.h"
+#include "gtkvseparator.h"
 
-GType
-gtk_vseparator_get_type (void)
-{
-  static GType vseparator_type = 0;
-
-  if (!vseparator_type)
-    {
-      static const GTypeInfo vseparator_info =
-      {
-       sizeof (GtkVSeparatorClass),
-       NULL,           /* base_init */
-       NULL,           /* base_finalize */
-       (GClassInitFunc) gtk_vseparator_class_init,
-       NULL,           /* class_finalize */
-       NULL,           /* class_init */
-       sizeof (GtkVSeparator),
-       0,              /* n_preallocs */
-       (GInstanceInitFunc) gtk_vseparator_init,
-      };
 
-      vseparator_type =
-       g_type_register_static (GTK_TYPE_SEPARATOR, "GtkVSeparator",
-                               &vseparator_info, 0);
-    }
+/**
+ * SECTION:gtkvseparator
+ * @Short_description: A vertical separator
+ * @Title: GtkVSeparator
+ * @See_also: #GtkHSeparator
+ *
+ * The #GtkVSeparator widget is a vertical separator, used to group the
+ * widgets within a window. It displays a vertical line with a shadow to
+ * make it appear sunken into the interface.
+ */
 
-  return vseparator_type;
-}
+G_DEFINE_TYPE (GtkVSeparator, gtk_vseparator, GTK_TYPE_SEPARATOR)
 
 static void
 gtk_vseparator_class_init (GtkVSeparatorClass *klass)
 {
-  GtkWidgetClass *widget_class;
-
-  widget_class = (GtkWidgetClass*) klass;
-
-  widget_class->expose_event = gtk_vseparator_expose;
 }
 
 static void
 gtk_vseparator_init (GtkVSeparator *vseparator)
 {
-  GTK_WIDGET (vseparator)->requisition.width = GTK_WIDGET (vseparator)->style->xthickness;
-  GTK_WIDGET (vseparator)->requisition.height = 1;
+  gtk_orientable_set_orientation (GTK_ORIENTABLE (vseparator),
+                                  GTK_ORIENTATION_VERTICAL);
 }
 
-GtkWidget*
+/**
+ * gtk_vseparator_new:
+ *
+ * Creates a new #GtkVSeparator.
+ *
+ * Returns: a new #GtkVSeparator.
+ */
+GtkWidget *
 gtk_vseparator_new (void)
 {
   return g_object_new (GTK_TYPE_VSEPARATOR, NULL);
 }
-
-
-static gint
-gtk_vseparator_expose (GtkWidget      *widget,
-                      GdkEventExpose *event)
-{
-  if (GTK_WIDGET_DRAWABLE (widget))
-    gtk_paint_vline (widget->style, widget->window, GTK_WIDGET_STATE (widget),
-                    &event->area, widget, "vseparator",
-                    widget->allocation.y,
-                    widget->allocation.y + widget->allocation.height - 1,
-                    widget->allocation.x + (widget->allocation.width -
-                                            widget->style->xthickness) / 2);
-
-  return FALSE;
-}
-
-#define __GTK_VSEPARATOR_C__
-#include "gtkaliasdef.c"