]> Pileus Git - ~andy/gtk/commitdiff
( From: James Henstridge <james@daa.com.au> )
authorOwen Taylor <owt1@cornell.edu>
Wed, 18 Mar 1998 21:11:04 +0000 (21:11 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Wed, 18 Mar 1998 21:11:04 +0000 (21:11 +0000)
Wed Mar 18 11:09:10 1998  Owen Taylor  <owt1@cornell.edu>
( From: James Henstridge <james@daa.com.au> )

* gtk/gtkclist.c: Don't remove, then destroy labels in
  gtk_clist_set_column_[*], just remove them.

* gtk/gtkmain.c (gtk_invoke_timeout_function): call
  marshal when appropriate, not function.

Tue Mar 17 14:15:07 1998  Owen Taylor  <owt1@cornell.edu>

* gtk/testgtk.c (create_main_window): Alphabetize tests

* gtk/gtk[hv]paned.c: Change division on resize if
  necessary to keep handle visible.

* gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into
  _init() functions.

* gtk/gtkscrolledwindow.c: Added missing _construct()
  functions.

22 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
glib/ChangeLog
gtk/gtkclist.c
gtk/gtkcurve.c
gtk/gtkgamma.c
gtk/gtkhpaned.c
gtk/gtkradiobutton.c
gtk/gtkradiobutton.h
gtk/gtkscrolledwindow.c
gtk/gtkscrolledwindow.h
gtk/gtktext.c
gtk/gtkvpaned.c
gtk/testgtk.c
gtk/testselection.c
tests/testgtk.c
tests/testselection.c

index 38da73f95ad0abd9c2bd4e0b2090053c72716318..46f8796c566bce7d0719ea74604e3338b1853d4d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+Wed Mar 18 11:09:10 1998  Owen Taylor  <owt1@cornell.edu>
+       ( From: James Henstridge <james@daa.com.au> )
+
+       * gtk/gtkclist.c: Don't remove, then destroy labels in
+         gtk_clist_set_column_[*], just remove them.
+       
+       * gtk/gtkmain.c (gtk_invoke_timeout_function): call
+         marshal when appropriate, not function.
+
+Tue Mar 17 14:15:07 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/testgtk.c (create_main_window): Alphabetize tests
+
+       * gtk/gtk[hv]paned.c: Change division on resize if
+         necessary to keep handle visible.
+
+       * gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into 
+         _init() functions.
+
+       * gtk/gtkscrolledwindow.c: Added missing _construct()
+         functions.
 
 Wed Mar 18 17:38:25 CET 1998   Paolo Molaro <lupus@debian.org>
 
@@ -12,11 +33,6 @@ Wed Mar 18 02:06:52 1998  Tim Janik  <timj@gtk.org>
        setting certain arguments, so they actually take affect.
        (gtk_window_set_policy): likewise.
 
-Tue Mar 17 15:51:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-       * glib.h: gboolean type changed to int
-       * garray.c: complete redo by Josh MacDonald
-
 Tue Mar 17 22:45:39 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.c (gtk_widget_get_arg): return real boolean values
index 38da73f95ad0abd9c2bd4e0b2090053c72716318..46f8796c566bce7d0719ea74604e3338b1853d4d 100644 (file)
@@ -1,3 +1,24 @@
+Wed Mar 18 11:09:10 1998  Owen Taylor  <owt1@cornell.edu>
+       ( From: James Henstridge <james@daa.com.au> )
+
+       * gtk/gtkclist.c: Don't remove, then destroy labels in
+         gtk_clist_set_column_[*], just remove them.
+       
+       * gtk/gtkmain.c (gtk_invoke_timeout_function): call
+         marshal when appropriate, not function.
+
+Tue Mar 17 14:15:07 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/testgtk.c (create_main_window): Alphabetize tests
+
+       * gtk/gtk[hv]paned.c: Change division on resize if
+         necessary to keep handle visible.
+
+       * gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into 
+         _init() functions.
+
+       * gtk/gtkscrolledwindow.c: Added missing _construct()
+         functions.
 
 Wed Mar 18 17:38:25 CET 1998   Paolo Molaro <lupus@debian.org>
 
@@ -12,11 +33,6 @@ Wed Mar 18 02:06:52 1998  Tim Janik  <timj@gtk.org>
        setting certain arguments, so they actually take affect.
        (gtk_window_set_policy): likewise.
 
-Tue Mar 17 15:51:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-       * glib.h: gboolean type changed to int
-       * garray.c: complete redo by Josh MacDonald
-
 Tue Mar 17 22:45:39 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.c (gtk_widget_get_arg): return real boolean values
index 38da73f95ad0abd9c2bd4e0b2090053c72716318..46f8796c566bce7d0719ea74604e3338b1853d4d 100644 (file)
@@ -1,3 +1,24 @@
+Wed Mar 18 11:09:10 1998  Owen Taylor  <owt1@cornell.edu>
+       ( From: James Henstridge <james@daa.com.au> )
+
+       * gtk/gtkclist.c: Don't remove, then destroy labels in
+         gtk_clist_set_column_[*], just remove them.
+       
+       * gtk/gtkmain.c (gtk_invoke_timeout_function): call
+         marshal when appropriate, not function.
+
+Tue Mar 17 14:15:07 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/testgtk.c (create_main_window): Alphabetize tests
+
+       * gtk/gtk[hv]paned.c: Change division on resize if
+         necessary to keep handle visible.
+
+       * gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into 
+         _init() functions.
+
+       * gtk/gtkscrolledwindow.c: Added missing _construct()
+         functions.
 
 Wed Mar 18 17:38:25 CET 1998   Paolo Molaro <lupus@debian.org>
 
@@ -12,11 +33,6 @@ Wed Mar 18 02:06:52 1998  Tim Janik  <timj@gtk.org>
        setting certain arguments, so they actually take affect.
        (gtk_window_set_policy): likewise.
 
-Tue Mar 17 15:51:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-       * glib.h: gboolean type changed to int
-       * garray.c: complete redo by Josh MacDonald
-
 Tue Mar 17 22:45:39 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.c (gtk_widget_get_arg): return real boolean values
index 38da73f95ad0abd9c2bd4e0b2090053c72716318..46f8796c566bce7d0719ea74604e3338b1853d4d 100644 (file)
@@ -1,3 +1,24 @@
+Wed Mar 18 11:09:10 1998  Owen Taylor  <owt1@cornell.edu>
+       ( From: James Henstridge <james@daa.com.au> )
+
+       * gtk/gtkclist.c: Don't remove, then destroy labels in
+         gtk_clist_set_column_[*], just remove them.
+       
+       * gtk/gtkmain.c (gtk_invoke_timeout_function): call
+         marshal when appropriate, not function.
+
+Tue Mar 17 14:15:07 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/testgtk.c (create_main_window): Alphabetize tests
+
+       * gtk/gtk[hv]paned.c: Change division on resize if
+         necessary to keep handle visible.
+
+       * gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into 
+         _init() functions.
+
+       * gtk/gtkscrolledwindow.c: Added missing _construct()
+         functions.
 
 Wed Mar 18 17:38:25 CET 1998   Paolo Molaro <lupus@debian.org>
 
@@ -12,11 +33,6 @@ Wed Mar 18 02:06:52 1998  Tim Janik  <timj@gtk.org>
        setting certain arguments, so they actually take affect.
        (gtk_window_set_policy): likewise.
 
-Tue Mar 17 15:51:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-       * glib.h: gboolean type changed to int
-       * garray.c: complete redo by Josh MacDonald
-
 Tue Mar 17 22:45:39 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.c (gtk_widget_get_arg): return real boolean values
index 38da73f95ad0abd9c2bd4e0b2090053c72716318..46f8796c566bce7d0719ea74604e3338b1853d4d 100644 (file)
@@ -1,3 +1,24 @@
+Wed Mar 18 11:09:10 1998  Owen Taylor  <owt1@cornell.edu>
+       ( From: James Henstridge <james@daa.com.au> )
+
+       * gtk/gtkclist.c: Don't remove, then destroy labels in
+         gtk_clist_set_column_[*], just remove them.
+       
+       * gtk/gtkmain.c (gtk_invoke_timeout_function): call
+         marshal when appropriate, not function.
+
+Tue Mar 17 14:15:07 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/testgtk.c (create_main_window): Alphabetize tests
+
+       * gtk/gtk[hv]paned.c: Change division on resize if
+         necessary to keep handle visible.
+
+       * gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into 
+         _init() functions.
+
+       * gtk/gtkscrolledwindow.c: Added missing _construct()
+         functions.
 
 Wed Mar 18 17:38:25 CET 1998   Paolo Molaro <lupus@debian.org>
 
@@ -12,11 +33,6 @@ Wed Mar 18 02:06:52 1998  Tim Janik  <timj@gtk.org>
        setting certain arguments, so they actually take affect.
        (gtk_window_set_policy): likewise.
 
-Tue Mar 17 15:51:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-       * glib.h: gboolean type changed to int
-       * garray.c: complete redo by Josh MacDonald
-
 Tue Mar 17 22:45:39 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.c (gtk_widget_get_arg): return real boolean values
index 38da73f95ad0abd9c2bd4e0b2090053c72716318..46f8796c566bce7d0719ea74604e3338b1853d4d 100644 (file)
@@ -1,3 +1,24 @@
+Wed Mar 18 11:09:10 1998  Owen Taylor  <owt1@cornell.edu>
+       ( From: James Henstridge <james@daa.com.au> )
+
+       * gtk/gtkclist.c: Don't remove, then destroy labels in
+         gtk_clist_set_column_[*], just remove them.
+       
+       * gtk/gtkmain.c (gtk_invoke_timeout_function): call
+         marshal when appropriate, not function.
+
+Tue Mar 17 14:15:07 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/testgtk.c (create_main_window): Alphabetize tests
+
+       * gtk/gtk[hv]paned.c: Change division on resize if
+         necessary to keep handle visible.
+
+       * gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into 
+         _init() functions.
+
+       * gtk/gtkscrolledwindow.c: Added missing _construct()
+         functions.
 
 Wed Mar 18 17:38:25 CET 1998   Paolo Molaro <lupus@debian.org>
 
@@ -12,11 +33,6 @@ Wed Mar 18 02:06:52 1998  Tim Janik  <timj@gtk.org>
        setting certain arguments, so they actually take affect.
        (gtk_window_set_policy): likewise.
 
-Tue Mar 17 15:51:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-       * glib.h: gboolean type changed to int
-       * garray.c: complete redo by Josh MacDonald
-
 Tue Mar 17 22:45:39 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.c (gtk_widget_get_arg): return real boolean values
index 38da73f95ad0abd9c2bd4e0b2090053c72716318..46f8796c566bce7d0719ea74604e3338b1853d4d 100644 (file)
@@ -1,3 +1,24 @@
+Wed Mar 18 11:09:10 1998  Owen Taylor  <owt1@cornell.edu>
+       ( From: James Henstridge <james@daa.com.au> )
+
+       * gtk/gtkclist.c: Don't remove, then destroy labels in
+         gtk_clist_set_column_[*], just remove them.
+       
+       * gtk/gtkmain.c (gtk_invoke_timeout_function): call
+         marshal when appropriate, not function.
+
+Tue Mar 17 14:15:07 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/testgtk.c (create_main_window): Alphabetize tests
+
+       * gtk/gtk[hv]paned.c: Change division on resize if
+         necessary to keep handle visible.
+
+       * gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into 
+         _init() functions.
+
+       * gtk/gtkscrolledwindow.c: Added missing _construct()
+         functions.
 
 Wed Mar 18 17:38:25 CET 1998   Paolo Molaro <lupus@debian.org>
 
@@ -12,11 +33,6 @@ Wed Mar 18 02:06:52 1998  Tim Janik  <timj@gtk.org>
        setting certain arguments, so they actually take affect.
        (gtk_window_set_policy): likewise.
 
-Tue Mar 17 15:51:30 PST 1998 Manish Singh <yosh@gimp.org>
-
-       * glib.h: gboolean type changed to int
-       * garray.c: complete redo by Josh MacDonald
-
 Tue Mar 17 22:45:39 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.c (gtk_widget_get_arg): return real boolean values
index 1ce32dbf4cc97ac98cee43bb7dc511fb4ca52eac..2673bcdde13713fdc050ac9069047d507d6de9f9 100644 (file)
@@ -1,3 +1,8 @@
+Tue Mar 17 15:51:30 PST 1998 Manish Singh <yosh@gimp.org>
+
+       * glib.h: gboolean type changed to int
+       * garray.c: complete redo by Josh MacDonald
+
 Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
 
        * gutils.c: changed *_handler variables to be named glib_*_handler,
index 1c5e4c3813611990c9d3e7caeacb666396f854ae..9392948b6469e3633f5f44b1f8e36bc8056cde02 100644 (file)
@@ -679,10 +679,7 @@ gtk_clist_set_column_title (GtkCList * clist,
   /* remove and destroy the old widget */
   old_widget = GTK_BUTTON (clist->column[column].button)->child;
   if (old_widget)
-    {
-      gtk_container_remove (GTK_CONTAINER (clist->column[column].button), old_widget);
-      gtk_widget_destroy (old_widget);
-    }
+    gtk_container_remove (GTK_CONTAINER (clist->column[column].button), old_widget);
 
   /* create new alignment based no column justification */
   switch (clist->column[column].justification)
@@ -742,10 +739,7 @@ gtk_clist_set_column_widget (GtkCList * clist,
   /* remove and destroy the old widget */
   old_widget = GTK_BUTTON (clist->column[column].button)->child;
   if (old_widget)
-    {
-      gtk_container_remove (GTK_CONTAINER (clist->column[column].button), old_widget);
-      gtk_widget_destroy (old_widget);
-    }
+    gtk_container_remove (GTK_CONTAINER (clist->column[column].button), old_widget);
 
   /* add and show the widget */
   if (widget)
index 0790917f6371d6d1aae044d96a49bca33b2bfd7f..e10389cb69294e8b437da1b3e0586dee8e523919 100644 (file)
@@ -43,10 +43,13 @@ static guint curve_type_changed_signal = 0;
 
 
 /* forward declarations: */
-static void gtk_curve_class_init (GtkCurveClass *class);
-static void gtk_curve_init (GtkCurve *curve);
-static void gtk_curve_finalize (GtkObject *object);
-
+static void gtk_curve_class_init   (GtkCurveClass *class);
+static void gtk_curve_init         (GtkCurve      *curve);
+static void gtk_curve_finalize     (GtkObject     *object);
+static gint gtk_curve_graph_events (GtkWidget     *widget, 
+                                   GdkEvent      *event, 
+                                   GtkCurve      *c);
+static void gtk_curve_size_graph   (GtkCurve      *curve);
 
 guint
 gtk_curve_get_type (void)
@@ -92,6 +95,8 @@ gtk_curve_class_init (GtkCurveClass *class)
 static void
 gtk_curve_init (GtkCurve *curve)
 {
+  gint old_mask;
+
   curve->cursor_type = GDK_TOP_LEFT_ARROW;
   curve->pixmap = NULL;
   curve->curve_type = GTK_CURVE_TYPE_SPLINE;
@@ -103,6 +108,17 @@ gtk_curve_init (GtkCurve *curve)
 
   curve->num_ctlpoints = 0;
   curve->ctlpoint = NULL;
+
+  curve->min_x = 0.0;
+  curve->max_x = 1.0;
+  curve->min_y = 0.0;
+  curve->max_y = 1.0;
+
+  old_mask = gtk_widget_get_events (GTK_WIDGET (curve));
+  gtk_widget_set_events (GTK_WIDGET (curve), old_mask | GRAPH_MASK);
+  gtk_signal_connect (GTK_OBJECT (curve), "event",
+                     (GtkSignalFunc) gtk_curve_graph_events, curve);
+  gtk_curve_size_graph (curve);
 }
 
 static int
@@ -823,22 +839,7 @@ gtk_curve_get_vector (GtkCurve *c, int veclen, gfloat vector[])
 GtkWidget*
 gtk_curve_new (void)
 {
-  GtkCurve *curve;
-  gint old_mask;
-
-  curve = gtk_type_new (gtk_curve_get_type ());
-  curve->min_x = 0.0;
-  curve->max_x = 1.0;
-  curve->min_y = 0.0;
-  curve->max_y = 1.0;
-
-  old_mask = gtk_widget_get_events (GTK_WIDGET (curve));
-  gtk_widget_set_events (GTK_WIDGET (curve), old_mask | GRAPH_MASK);
-  gtk_signal_connect (GTK_OBJECT (curve), "event",
-                     (GtkSignalFunc) gtk_curve_graph_events, curve);
-  gtk_curve_size_graph (curve);
-
-  return GTK_WIDGET (curve);
+  return gtk_type_new (gtk_curve_get_type ());
 }
 
 static void
index cfad6cc8b8b873f7830482cff4f60894417d6c10..db4b903fd2b61eff385b285e5edef16ad2898be5 100644 (file)
@@ -42,6 +42,11 @@ static void gtk_gamma_curve_class_init (GtkGammaCurveClass *class);
 static void gtk_gamma_curve_init (GtkGammaCurve *curve);
 static void gtk_gamma_curve_destroy (GtkObject *object);
 
+static void curve_type_changed_callback (GtkWidget *w, gpointer data);
+static void button_realize_callback     (GtkWidget *w);
+static void button_toggled_callback     (GtkWidget *w, gpointer data);
+static void button_clicked_callback     (GtkWidget *w, gpointer data);
+
 enum
   {
     LINEAR = 0,
@@ -234,7 +239,54 @@ gtk_gamma_curve_class_init (GtkGammaCurveClass *class)
 static void
 gtk_gamma_curve_init (GtkGammaCurve *curve)
 {
+  GtkWidget *vbox;
+  int i;
+
   curve->gamma = 1.0;
+
+  curve->table = gtk_table_new (1, 2, FALSE);
+  gtk_table_set_col_spacings (GTK_TABLE (curve->table), 3);
+  gtk_container_add (GTK_CONTAINER (curve), curve->table);
+
+  curve->curve = gtk_curve_new ();
+  gtk_signal_connect (GTK_OBJECT (curve->curve), "curve_type_changed",
+                     (GtkSignalFunc) curve_type_changed_callback, curve);
+  gtk_table_attach_defaults (GTK_TABLE (curve->table), curve->curve, 0, 1, 0, 1);
+
+  vbox = gtk_vbox_new (/* homogeneous */ FALSE, /* spacing */ 3);
+  gtk_table_attach (GTK_TABLE (curve->table), vbox, 1, 2, 0, 1, 0, 0, 0, 0);
+
+  /* toggle buttons: */
+  for (i = 0; i < 3; ++i)
+    {
+      curve->button[i] = gtk_toggle_button_new ();
+      gtk_object_set_data (GTK_OBJECT (curve->button[i]), "_GtkGammaCurveIndex",
+                          (gpointer) (long) i);
+      gtk_container_add (GTK_CONTAINER (vbox), curve->button[i]);
+      gtk_signal_connect (GTK_OBJECT (curve->button[i]), "realize",
+                         (GtkSignalFunc) button_realize_callback, 0);
+      gtk_signal_connect (GTK_OBJECT (curve->button[i]), "toggled",
+                         (GtkSignalFunc) button_toggled_callback, curve);
+      gtk_widget_show (curve->button[i]);
+    }
+
+  /* push buttons: */
+  for (i = 3; i < 5; ++i)
+    {
+      curve->button[i] = gtk_button_new ();
+      gtk_object_set_data (GTK_OBJECT (curve->button[i]), "_GtkGammaCurveIndex",
+                          (gpointer) (long) i);
+      gtk_container_add (GTK_CONTAINER (vbox), curve->button[i]);
+      gtk_signal_connect (GTK_OBJECT (curve->button[i]), "realize",
+                         (GtkSignalFunc) button_realize_callback, 0);
+      gtk_signal_connect (GTK_OBJECT (curve->button[i]), "clicked",
+                         (GtkSignalFunc) button_clicked_callback, curve);
+      gtk_widget_show (curve->button[i]);
+    }
+
+  gtk_widget_show (vbox);
+  gtk_widget_show (curve->table);
+  gtk_widget_show (curve->curve);
 }
 
 static void
@@ -395,57 +447,7 @@ curve_type_changed_callback (GtkWidget *w, gpointer data)
 GtkWidget*
 gtk_gamma_curve_new (void)
 {
-  GtkGammaCurve *c;
-  GtkWidget *vbox;
-  int i;
-
-  c = gtk_type_new (gtk_gamma_curve_get_type ());
-
-  c->table = gtk_table_new (1, 2, FALSE);
-  gtk_table_set_col_spacings (GTK_TABLE (c->table), 3);
-  gtk_container_add (GTK_CONTAINER (c), c->table);
-
-  c->curve = gtk_curve_new ();
-  gtk_signal_connect (GTK_OBJECT (c->curve), "curve_type_changed",
-                     (GtkSignalFunc) curve_type_changed_callback, c);
-  gtk_table_attach_defaults (GTK_TABLE (c->table), c->curve, 0, 1, 0, 1);
-
-  vbox = gtk_vbox_new (/* homogeneous */ FALSE, /* spacing */ 3);
-  gtk_table_attach (GTK_TABLE (c->table), vbox, 1, 2, 0, 1, 0, 0, 0, 0);
-
-  /* toggle buttons: */
-  for (i = 0; i < 3; ++i)
-    {
-      c->button[i] = gtk_toggle_button_new ();
-      gtk_object_set_data (GTK_OBJECT (c->button[i]), "_GtkGammaCurveIndex",
-                          (gpointer) (long) i);
-      gtk_container_add (GTK_CONTAINER (vbox), c->button[i]);
-      gtk_signal_connect (GTK_OBJECT (c->button[i]), "realize",
-                         (GtkSignalFunc) button_realize_callback, 0);
-      gtk_signal_connect (GTK_OBJECT (c->button[i]), "toggled",
-                         (GtkSignalFunc) button_toggled_callback, c);
-      gtk_widget_show (c->button[i]);
-    }
-
-  /* push buttons: */
-  for (i = 3; i < 5; ++i)
-    {
-      c->button[i] = gtk_button_new ();
-      gtk_object_set_data (GTK_OBJECT (c->button[i]), "_GtkGammaCurveIndex",
-                          (gpointer) (long) i);
-      gtk_container_add (GTK_CONTAINER (vbox), c->button[i]);
-      gtk_signal_connect (GTK_OBJECT (c->button[i]), "realize",
-                         (GtkSignalFunc) button_realize_callback, 0);
-      gtk_signal_connect (GTK_OBJECT (c->button[i]), "clicked",
-                         (GtkSignalFunc) button_clicked_callback, c);
-      gtk_widget_show (c->button[i]);
-    }
-
-  gtk_widget_show (vbox);
-  gtk_widget_show (c->table);
-  gtk_widget_show (c->curve);
-
-  return GTK_WIDGET (c);
+  return gtk_type_new (gtk_gamma_curve_get_type ());
 }
 
 static void
index d89e00827b4d8dc7f7a9c6e23dc92dfe67a90bce..9ef2ff0952aeb3148c582dc4662a4f5f2c640d11 100644 (file)
@@ -149,6 +149,10 @@ gtk_hpaned_size_allocate (GtkWidget     *widget,
       else
        paned->child1_size = 0;
     }
+  else
+    paned->child1_size = CLAMP (paned->child1_size, 0,
+                               allocation->width - paned->gutter_size
+                               - 2 * GTK_CONTAINER (paned)->border_width);
 
   /* Move the handle before the children so we don't get extra expose events */
 
index 17b98002779d69fbb32e9e4969d840fb39d015da..774d916d807c3db629a1a447add8c5639988fa0f 100644 (file)
@@ -84,17 +84,29 @@ gtk_radio_button_init (GtkRadioButton *radio_button)
   radio_button->group = NULL;
 }
 
-GtkWidget*
-gtk_radio_button_new (GSList *group)
+void
+gtk_radio_button_set_group (GtkRadioButton *radio_button,
+                           GSList *group)
 {
-  GtkRadioButton *radio_button;
-  GtkRadioButton *tmp_button;
   GSList *tmp_list;
+  GtkRadioButton *tmp_button;
 
-  radio_button = gtk_type_new (gtk_radio_button_get_type ());
+  if (radio_button->group)
+    {
+      radio_button->group = g_slist_remove (radio_button->group, radio_button);
+      
+      tmp_list = radio_button->group;
+      while (tmp_list)
+       {
+         tmp_button = tmp_list->data;
+         tmp_list = tmp_list->next;
+         
+         tmp_button->group = radio_button->group;
+       }
+    }
 
-  tmp_list = group;
   radio_button->group = g_slist_prepend (group, radio_button);
+  tmp_list = group;
 
   if (tmp_list)
     {
@@ -111,6 +123,16 @@ gtk_radio_button_new (GSList *group)
       GTK_TOGGLE_BUTTON (radio_button)->active = TRUE;
       gtk_widget_set_state (GTK_WIDGET (radio_button), GTK_STATE_ACTIVE);
     }
+}
+
+GtkWidget*
+gtk_radio_button_new (GSList *group)
+{
+  GtkRadioButton *radio_button;
+
+  radio_button = gtk_type_new (gtk_radio_button_get_type ());
+
+  gtk_radio_button_set_group (radio_button, group);
 
   return GTK_WIDGET (radio_button);
 }
index 468e5b7eba634d1789e216bab5a38fe93b8797a8..5c872ab2784abede9a1d9b59dd9791073e53b7b7 100644 (file)
@@ -55,6 +55,8 @@ GtkWidget*  gtk_radio_button_new_from_widget (GtkRadioButton *group);
 GtkWidget*  gtk_radio_button_new_with_label  (GSList         *group,
                                              const gchar    *label);
 GSList*     gtk_radio_button_group           (GtkRadioButton *radio_button);
+void        gtk_radio_button_set_group       (GtkRadioButton *radio_button,
+                                             GSList         *group);
 
 
 #ifdef __cplusplus
index f0cd16c6079bb7e731a91b411feb98cacddbac8d..9b3488e6752733f072b7318536ca5e014975fe45 100644 (file)
@@ -122,6 +122,18 @@ gtk_scrolled_window_new (GtkAdjustment *hadjustment,
 
   scrolled_window = gtk_type_new (gtk_scrolled_window_get_type ());
 
+  gtk_scrolled_window_construct (scrolled_window, hadjustment, vadjustment);
+  
+  return GTK_WIDGET (scrolled_window);
+}
+
+void
+gtk_scrolled_window_construct (GtkScrolledWindow *scrolled_window,
+                              GtkAdjustment     *hadjustment,
+                              GtkAdjustment     *vadjustment)
+{
+  scrolled_window = gtk_type_new (gtk_scrolled_window_get_type ());
+
   scrolled_window->viewport = gtk_viewport_new (hadjustment, vadjustment);
   hadjustment = gtk_viewport_get_hadjustment (GTK_VIEWPORT (scrolled_window->viewport));
   vadjustment = gtk_viewport_get_vadjustment (GTK_VIEWPORT (scrolled_window->viewport));
@@ -147,8 +159,6 @@ gtk_scrolled_window_new (GtkAdjustment *hadjustment,
   gtk_widget_ref (scrolled_window->viewport);
   gtk_widget_ref (scrolled_window->hscrollbar);
   gtk_widget_ref (scrolled_window->vscrollbar);
-  
-  return GTK_WIDGET (scrolled_window);
 }
 
 GtkAdjustment*
index 54ed5637e78282c3f25f8aeac641e04f85535d06..140fcc50e616a83047da50d0be979ec3d10ba3e1 100644 (file)
@@ -61,6 +61,9 @@ struct _GtkScrolledWindowClass
 guint          gtk_scrolled_window_get_type        (void);
 GtkWidget*     gtk_scrolled_window_new             (GtkAdjustment     *hadjustment,
                                                    GtkAdjustment     *vadjustment);
+void           gtk_scrolled_window_construct      (GtkScrolledWindow *scrolled_window,
+                                                   GtkAdjustment     *hadjustment,
+                                                   GtkAdjustment     *vadjustment);
 GtkAdjustment* gtk_scrolled_window_get_hadjustment (GtkScrolledWindow *scrolled_window);
 GtkAdjustment* gtk_scrolled_window_get_vadjustment (GtkScrolledWindow *scrolled_window);
 void           gtk_scrolled_window_set_policy      (GtkScrolledWindow *scrolled_window,
index f8b4b4f97b937a1f22b72c7f07a6cfd8a84359b0..3b77f44a82d2e20cfbf94883989126d4b6562495 100644 (file)
@@ -1734,12 +1734,16 @@ gtk_text_key_press (GtkWidget   *widget,
          break;
        case GDK_Tab:
          gtk_text_insert_1_at_point (text, '\t');
+         gtk_editable_changed (editable);
          break;
        case GDK_Return:
          if (event->state & GDK_CONTROL_MASK)
            gtk_signal_emit_by_name (GTK_OBJECT (text), "activate");
          else
-           gtk_text_insert_1_at_point (text, '\n');
+           {
+             gtk_text_insert_1_at_point (text, '\n');
+             gtk_editable_changed (editable);
+           }
          break;
        case GDK_Escape:
          /* Don't insert literally */
index 6db823ff6002cc04ecf5498c050caa3eba44eb34..3672b670443025c58104f740e855297bd75cf7db 100644 (file)
@@ -149,6 +149,10 @@ gtk_vpaned_size_allocate (GtkWidget     *widget,
       else
        paned->child1_size = 0;
     }
+  else
+    paned->child1_size = CLAMP (paned->child1_size, 0,
+                               allocation->height - paned->gutter_size
+                               - 2 * GTK_CONTAINER (paned)->border_width);
 
   /* Move the handle before the children so we don't get extra expose events */
 
index 59702102bc6ff1da01bf103e5522bc103fade4a2..83c2da51d9b4346fb12811d4643e5bcf01559d02 100644 (file)
@@ -1276,6 +1276,13 @@ cb_create_tree(GtkWidget* w)
   nb_item = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(sTreeSampleSelection.nb_item_spinner));
   recursion_level = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(sTreeSampleSelection.recursion_spinner));
 
+  if (pow (nb_item, recursion_level) > 10000)
+    {
+      g_print ("%g total items? That will take a very long time. Try less\n",
+              pow (nb_item, recursion_level));
+      return;
+    }
+
   create_tree_sample(selection_mode, draw_line, view_line, no_root_item, nb_item, recursion_level);
 }
 
@@ -4100,6 +4107,7 @@ create_panes ()
   GtkWidget *frame;
   GtkWidget *hpaned;
   GtkWidget *vpaned;
+  GtkWidget *button;
 
   if (!window)
     {
@@ -4125,6 +4133,10 @@ create_panes ()
       gtk_widget_set_usize (frame, 60, 60);
       gtk_paned_add1 (GTK_PANED (hpaned), frame);
       gtk_widget_show (frame);
+      
+      button = gtk_button_new_with_label ("Hi there");
+      gtk_container_add (GTK_CONTAINER(frame), button);
+      gtk_widget_show (button);
 
       frame = gtk_frame_new (NULL);
       gtk_frame_set_shadow_type (GTK_FRAME(frame), GTK_SHADOW_IN);
@@ -5486,46 +5498,46 @@ create_main_window ()
     void (*func) ();
   } buttons[] =
     {
+      { "button box", create_button_box },
       { "buttons", create_buttons },
-      { "toggle buttons", create_toggle_buttons },
       { "check buttons", create_check_buttons },
-      { "radio buttons", create_radio_buttons },
-      { "button box", create_button_box },
-      { "toolbar", create_toolbar },
-      { "handle box", create_handle_box },
-      { "statusbar", create_statusbar },
-      { "reparent", create_reparent },
-      { "pixmap", create_pixmap },
-      { "tooltips", create_tooltips },
-      { "menus", create_menus },
-      { "scrolled windows", create_scrolled_windows },
-      { "cursors", create_cursors },
-      { "entry", create_entry },
-      { "spinbutton", create_spins },
-      { "list", create_list },
       { "clist", create_clist},
-      { "tree", create_tree_mode_window},
       { "color selection", create_color_selection },
-      { "file selection", create_file_selection },
+      { "cursors", create_cursors },
       { "dialog", create_dialog },
+      { "dnd", create_dnd },
+      { "entry", create_entry },
+      { "file selection", create_file_selection },
+      { "gamma curve", create_gamma_curve },
+      { "handle box", create_handle_box },
+      { "list", create_list },
+      { "menus", create_menus },
       { "miscellaneous", NULL },
-      { "range controls", create_range_controls },
-      { "rulers", create_rulers },
-      { "text", create_text },
       { "notebook", create_notebook },
       { "panes", create_panes },
-      { "shapes", create_shapes },
-      { "dnd", create_dnd },
-      { "WM hints", create_wmhints },
-      { "progress bar", create_progress_bar },
+      { "pixmap", create_pixmap },
       { "preview color", create_color_preview },
       { "preview gray", create_gray_preview },
-      { "gamma curve", create_gamma_curve },
+      { "progress bar", create_progress_bar },
+      { "radio buttons", create_radio_buttons },
+      { "range controls", create_range_controls },
+      { "reparent", create_reparent },
+      { "rulers", create_rulers },
+      { "scrolled windows", create_scrolled_windows },
+      { "shapes", create_shapes },
+      { "spinbutton", create_spins },
+      { "statusbar", create_statusbar },
+      { "test idle", create_idle_test },
+      { "test mainloop", create_test },
       { "test scrolling", create_scroll_test },
       { "test selection", create_selection_test },
       { "test timeout", create_timeout_test },
-      { "test idle", create_idle_test },
-      { "test", create_test },
+      { "text", create_text },
+      { "toggle buttons", create_toggle_buttons },
+      { "toolbar", create_toolbar },
+      { "tooltips", create_tooltips },
+      { "tree", create_tree_mode_window},
+      { "WM hints", create_wmhints },
     };
   int nbuttons = sizeof (buttons) / sizeof (buttons[0]);
   GtkWidget *window;
index 6a05929131e2768a2fc8bcf7ccf0d00a218abfcd..66311183811cabcaac07f9b675bc0057106e35fb 100644 (file)
@@ -163,7 +163,7 @@ selection_handle (GtkWidget *widget,
     }      
   else
     {
-      buffer = selection_string->str;
+      buffer = (guchar *)selection_string->str;
       len = selection_string->len;
     }
   
index 59702102bc6ff1da01bf103e5522bc103fade4a2..83c2da51d9b4346fb12811d4643e5bcf01559d02 100644 (file)
@@ -1276,6 +1276,13 @@ cb_create_tree(GtkWidget* w)
   nb_item = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(sTreeSampleSelection.nb_item_spinner));
   recursion_level = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(sTreeSampleSelection.recursion_spinner));
 
+  if (pow (nb_item, recursion_level) > 10000)
+    {
+      g_print ("%g total items? That will take a very long time. Try less\n",
+              pow (nb_item, recursion_level));
+      return;
+    }
+
   create_tree_sample(selection_mode, draw_line, view_line, no_root_item, nb_item, recursion_level);
 }
 
@@ -4100,6 +4107,7 @@ create_panes ()
   GtkWidget *frame;
   GtkWidget *hpaned;
   GtkWidget *vpaned;
+  GtkWidget *button;
 
   if (!window)
     {
@@ -4125,6 +4133,10 @@ create_panes ()
       gtk_widget_set_usize (frame, 60, 60);
       gtk_paned_add1 (GTK_PANED (hpaned), frame);
       gtk_widget_show (frame);
+      
+      button = gtk_button_new_with_label ("Hi there");
+      gtk_container_add (GTK_CONTAINER(frame), button);
+      gtk_widget_show (button);
 
       frame = gtk_frame_new (NULL);
       gtk_frame_set_shadow_type (GTK_FRAME(frame), GTK_SHADOW_IN);
@@ -5486,46 +5498,46 @@ create_main_window ()
     void (*func) ();
   } buttons[] =
     {
+      { "button box", create_button_box },
       { "buttons", create_buttons },
-      { "toggle buttons", create_toggle_buttons },
       { "check buttons", create_check_buttons },
-      { "radio buttons", create_radio_buttons },
-      { "button box", create_button_box },
-      { "toolbar", create_toolbar },
-      { "handle box", create_handle_box },
-      { "statusbar", create_statusbar },
-      { "reparent", create_reparent },
-      { "pixmap", create_pixmap },
-      { "tooltips", create_tooltips },
-      { "menus", create_menus },
-      { "scrolled windows", create_scrolled_windows },
-      { "cursors", create_cursors },
-      { "entry", create_entry },
-      { "spinbutton", create_spins },
-      { "list", create_list },
       { "clist", create_clist},
-      { "tree", create_tree_mode_window},
       { "color selection", create_color_selection },
-      { "file selection", create_file_selection },
+      { "cursors", create_cursors },
       { "dialog", create_dialog },
+      { "dnd", create_dnd },
+      { "entry", create_entry },
+      { "file selection", create_file_selection },
+      { "gamma curve", create_gamma_curve },
+      { "handle box", create_handle_box },
+      { "list", create_list },
+      { "menus", create_menus },
       { "miscellaneous", NULL },
-      { "range controls", create_range_controls },
-      { "rulers", create_rulers },
-      { "text", create_text },
       { "notebook", create_notebook },
       { "panes", create_panes },
-      { "shapes", create_shapes },
-      { "dnd", create_dnd },
-      { "WM hints", create_wmhints },
-      { "progress bar", create_progress_bar },
+      { "pixmap", create_pixmap },
       { "preview color", create_color_preview },
       { "preview gray", create_gray_preview },
-      { "gamma curve", create_gamma_curve },
+      { "progress bar", create_progress_bar },
+      { "radio buttons", create_radio_buttons },
+      { "range controls", create_range_controls },
+      { "reparent", create_reparent },
+      { "rulers", create_rulers },
+      { "scrolled windows", create_scrolled_windows },
+      { "shapes", create_shapes },
+      { "spinbutton", create_spins },
+      { "statusbar", create_statusbar },
+      { "test idle", create_idle_test },
+      { "test mainloop", create_test },
       { "test scrolling", create_scroll_test },
       { "test selection", create_selection_test },
       { "test timeout", create_timeout_test },
-      { "test idle", create_idle_test },
-      { "test", create_test },
+      { "text", create_text },
+      { "toggle buttons", create_toggle_buttons },
+      { "toolbar", create_toolbar },
+      { "tooltips", create_tooltips },
+      { "tree", create_tree_mode_window},
+      { "WM hints", create_wmhints },
     };
   int nbuttons = sizeof (buttons) / sizeof (buttons[0]);
   GtkWidget *window;
index 6a05929131e2768a2fc8bcf7ccf0d00a218abfcd..66311183811cabcaac07f9b675bc0057106e35fb 100644 (file)
@@ -163,7 +163,7 @@ selection_handle (GtkWidget *widget,
     }      
   else
     {
-      buffer = selection_string->str;
+      buffer = (guchar *)selection_string->str;
       len = selection_string->len;
     }