]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkpaned.c
Test for window == NULL in a number of cases.
[~andy/gtk] / gtk / gtkpaned.c
index 483084702b5b0873ff8c692e41b739663cd0a7e7..17f02860b619849b7bf37caff556a0f3f63a403c 100644 (file)
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
  */
 
+#include "gtkintl.h"
 #include "gtkpaned.h"
 
 enum {
   ARG_0,
-  ARG_HANDLE_SIZE
 };
 
 static void    gtk_paned_class_init (GtkPanedClass  *klass);
@@ -110,8 +110,14 @@ gtk_paned_class_init (GtkPanedClass *class)
   container_class->forall = gtk_paned_forall;
   container_class->child_type = gtk_paned_child_type;
 
-  gtk_object_add_arg_type("GtkPaned::handle_size", GTK_TYPE_UINT,
-                         GTK_ARG_READWRITE, ARG_HANDLE_SIZE);
+  gtk_widget_class_install_style_property (widget_class,
+                                          g_param_spec_int ("handle_size",
+                                                            _("Handle Size"),
+                                                            _("Width of handle"),
+                                                            0,
+                                                            G_MAXINT,
+                                                            5,
+                                                            G_PARAM_READABLE));
 }
 
 static GtkType
@@ -136,7 +142,6 @@ gtk_paned_init (GtkPaned *paned)
   
   paned->handle_width = 5;
   paned->handle_height = 5;
-  paned->handle_size = 5;
   paned->position_set = FALSE;
   paned->last_allocation = -1;
   paned->in_drag = FALSE;
@@ -150,13 +155,8 @@ gtk_paned_set_arg (GtkObject *object,
                   GtkArg    *arg,
                   guint      arg_id)
 {
-  GtkPaned *paned = GTK_PANED (object);
-  
   switch (arg_id)
     {
-    case ARG_HANDLE_SIZE:
-      gtk_paned_set_handle_size (paned, GTK_VALUE_UINT (*arg));
-      break;
     default:
       break;
     }
@@ -167,13 +167,8 @@ gtk_paned_get_arg (GtkObject *object,
                   GtkArg    *arg,
                   guint      arg_id)
 {
-  GtkPaned *paned = GTK_PANED (object);
-
   switch (arg_id)
     {
-    case ARG_HANDLE_SIZE:
-      GTK_VALUE_UINT (*arg) = paned->handle_size;
-      break;
     default:
       arg->type = GTK_TYPE_INVALID;
       break;
@@ -302,7 +297,6 @@ gtk_paned_expose (GtkWidget      *widget,
                  GdkEventExpose *event)
 {
   GtkPaned *paned;
-  GdkEventExpose child_event;
 
   g_return_val_if_fail (widget != NULL, FALSE);
   g_return_val_if_fail (GTK_IS_PANED (widget), FALSE);
@@ -313,19 +307,7 @@ gtk_paned_expose (GtkWidget      *widget,
       paned = GTK_PANED (widget);
 
       if (event->window != paned->handle)
-       {
-         child_event = *event;
-
-         if (paned->child1 &&
-             GTK_WIDGET_NO_WINDOW (paned->child1) &&
-             gtk_widget_intersect (paned->child1, &event->area, &child_event.area))
-           gtk_widget_event (paned->child1, (GdkEvent *) &child_event);
-
-         if (paned->child2 &&
-             GTK_WIDGET_NO_WINDOW (paned->child2) &&
-             gtk_widget_intersect (paned->child2, &event->area, &child_event.area))
-           gtk_widget_event (paned->child2, (GdkEvent *) &child_event);
-       }
+       (* GTK_WIDGET_CLASS (parent_class)->expose_event) (widget, event);
     }
 
   return FALSE;
@@ -480,6 +462,14 @@ gtk_paned_forall (GtkContainer *container,
     (*callback) (paned->child2, callback_data);
 }
 
+/**
+ * gtk_paned_get_position:
+ * @paned: a #GtkPaned widget
+ * 
+ * Obtains the position of the divider between the two panes.
+ * 
+ * Return value: position of the divider
+ **/
 gint
 gtk_paned_get_position (GtkPaned  *paned)
 {
@@ -489,6 +479,13 @@ gtk_paned_get_position (GtkPaned  *paned)
   return paned->child1_size;
 }
 
+/**
+ * gtk_paned_set_position:
+ * @paned: a #GtkPaned widget
+ * @position: pixel position of divider
+ * 
+ * Sets the position of the divider between the two panes.
+ **/
 void
 gtk_paned_set_position (GtkPaned *paned,
                        gint      position)
@@ -515,18 +512,6 @@ gtk_paned_set_position (GtkPaned *paned,
   gtk_widget_queue_resize (GTK_WIDGET (paned));
 }
 
-void
-gtk_paned_set_handle_size (GtkPaned *paned,
-                          guint16   size)
-{
-  g_return_if_fail (paned != NULL);
-  g_return_if_fail (GTK_IS_PANED (paned));
-
-  gtk_widget_queue_resize (GTK_WIDGET (paned));
-
-  paned->handle_size = size;
-}
-
 void
 gtk_paned_compute_position(GtkPaned *paned,
                           gint      allocation,