summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>1998-03-23 03:31:11 +0000
committerTim Janik <timj@src.gnome.org>1998-03-23 03:31:11 +0000
commit6b411f4b47b59e809488351edca82ed42bc9529e (patch)
tree913dd5b912aaec7ec6cc1e230509b87d1c07f0b1 /tests
parentb78286eab5d9872527c956d328abc38e8b5a94b9 (diff)
downloadgtk+-6b411f4b47b59e809488351edca82ed42bc9529e.tar.gz
leave container_class->add and container_class->remove untouched if we
Mon Mar 23 01:08:30 1998 Tim Janik <timj@gtk.org> * gtk/gtkclist.c (gtk_clist_class_init): leave container_class->add and container_class->remove untouched if we don't implement them. * gtk/gtkcontainer.c (gtk_container_class_init): add missing NULL initialization for the class method (*foreach). implement a default handler to output a warning for (*add) and (*remove).
Diffstat (limited to 'tests')
-rw-r--r--tests/testgtk.c34
1 files changed, 32 insertions, 2 deletions
diff --git a/tests/testgtk.c b/tests/testgtk.c
index 3d6bd8f14d..c18bf26e6a 100644
--- a/tests/testgtk.c
+++ b/tests/testgtk.c
@@ -3019,7 +3019,7 @@ unselect_clist (GtkWidget *widget,
clist_selected_row = row;
}
-void
+static void
insert_row_clist (GtkWidget *widget, gpointer data)
{
static char *text[] =
@@ -3037,7 +3037,27 @@ insert_row_clist (GtkWidget *widget, gpointer data)
clist_rows++;
}
-void
+static void
+clist_warning_test (GtkWidget *button,
+ GtkWidget *clist)
+{
+ GtkWidget *child;
+ static gboolean add_remove = FALSE;
+
+ add_remove = !add_remove;
+ child = gtk_label_new ("Test");
+ if (add_remove)
+ gtk_container_add (GTK_CONTAINER (clist), child);
+ else
+ {
+ child->parent = clist;
+ gtk_container_remove (GTK_CONTAINER (clist), child);
+ child->parent = NULL;
+ }
+ gtk_widget_destroy (child);
+}
+
+static void
create_clist ()
{
gint i;
@@ -3169,6 +3189,16 @@ create_clist ()
gtk_widget_show (button);
+ button = gtk_button_new_with_label ("Warning Test");
+ gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
+
+ gtk_signal_connect (GTK_OBJECT (button),
+ "clicked",
+ (GtkSignalFunc) clist_warning_test,
+ (gpointer) clist);
+
+ gtk_widget_show (button);
+
/* vbox for the list itself */
box2 = gtk_vbox_new (FALSE, 10);
gtk_container_border_width (GTK_CONTAINER (box2), 10);