]> Pileus Git - ~andy/gtk/blobdiff - tests/testadjustsize.c
wayland: Use GDK_NOTE for logging event debug messages
[~andy/gtk] / tests / testadjustsize.c
index c13d9d8c73e4d045507c57bf691910e1ede967e5..c45522ad33eeb8762ed25d95684e86df09421995 100644 (file)
@@ -67,25 +67,12 @@ create_button (void)
 }
 
 static gboolean
-on_expose_alignment (GtkWidget      *widget,
-                     GdkEventExpose *event,
-                     void           *data)
+on_draw_alignment (GtkWidget      *widget,
+                   cairo_t        *cr,
+                   void           *data)
 {
-  cairo_t *cr;
-  GtkAllocation allocation;
-
-  cr = gdk_cairo_create (event->window);
-
   cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-  gtk_widget_get_allocation (widget, &allocation);
-  cairo_rectangle (cr,
-                   allocation.x,
-                   allocation.y,
-                   allocation.width,
-                   allocation.height);
-  cairo_fill (cr);
-
-  cairo_destroy (cr);
+  cairo_paint (cr);
 
   return FALSE;
 }
@@ -100,8 +87,8 @@ create_alignment (void)
   /* make the alignment visible */
   gtk_widget_set_redraw_on_allocate (alignment, TRUE);
   g_signal_connect (G_OBJECT (alignment),
-                    "expose-event",
-                    G_CALLBACK (on_expose_alignment),
+                    "draw",
+                    G_CALLBACK (on_draw_alignment),
                     NULL);
 
   return alignment;
@@ -212,7 +199,7 @@ open_control_window (void)
   g_signal_connect (window, "delete-event",
                     G_CALLBACK (gtk_main_quit), window);
 
-  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);
+  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   gtk_container_add (GTK_CONTAINER (window), box);
 
   toggle =
@@ -249,23 +236,23 @@ create_widget_visible_border (const char *text)
   GtkWidget *inner_box;
   GtkWidget *test_widget;
   GtkWidget *label;
-  GdkColor color;
+  GdkRGBA color;
 
   outer_box = gtk_event_box_new ();
-  gdk_color_parse ("black", &color);
-  gtk_widget_modify_bg (outer_box, GTK_STATE_NORMAL, &color);
+  gdk_rgba_parse (&color, "black");
+  gtk_widget_override_background_color (outer_box, 0, &color);
 
   inner_box = gtk_event_box_new ();
   gtk_container_set_border_width (GTK_CONTAINER (inner_box), 5);
-  gdk_color_parse ("blue", &color);
-  gtk_widget_modify_bg (inner_box, GTK_STATE_NORMAL, &color);
+  gdk_rgba_parse (&color, "blue");
+  gtk_widget_override_background_color (inner_box, 0, &color);
 
   gtk_container_add (GTK_CONTAINER (outer_box), inner_box);
 
 
   test_widget = gtk_event_box_new ();
-  gdk_color_parse ("red", &color);
-  gtk_widget_modify_bg (test_widget, GTK_STATE_NORMAL, &color);
+  gdk_rgba_parse (&color, "red");
+  gtk_widget_override_background_color (test_widget, 0, &color);
 
   gtk_container_add (GTK_CONTAINER (inner_box), test_widget);
 
@@ -407,6 +394,43 @@ open_margin_window (void)
   gtk_widget_show_all (test_window);
 }
 
+static void
+open_valigned_label_window (void)
+{
+  GtkWidget *window, *box, *label, *frame;
+
+  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+
+  g_signal_connect (test_window, "delete-event",
+                    G_CALLBACK (gtk_main_quit), test_window);
+
+  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+  gtk_widget_show (box);
+  gtk_container_add (GTK_CONTAINER (window), box);
+
+  label = gtk_label_new ("Both labels expand");
+  gtk_widget_show (label);
+  gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0);
+
+  label = gtk_label_new ("Some wrapping text with width-chars = 15 and max-width-chars = 35");
+  gtk_label_set_line_wrap  (GTK_LABEL (label), TRUE);
+  gtk_label_set_width_chars  (GTK_LABEL (label), 15);
+  gtk_label_set_max_width_chars  (GTK_LABEL (label), 35);
+
+  gtk_widget_show (label);
+
+  frame  = gtk_frame_new (NULL);
+  gtk_widget_show (frame);
+  gtk_container_add (GTK_CONTAINER (frame), label);
+
+  gtk_widget_set_valign (frame, GTK_ALIGN_CENTER);
+  gtk_widget_set_halign (frame, GTK_ALIGN_CENTER);
+
+  gtk_box_pack_start (GTK_BOX (box), frame, TRUE, TRUE, 0);
+
+  gtk_window_present (GTK_WINDOW (window));
+}
+
 int
 main (int argc, char *argv[])
 {
@@ -416,6 +440,7 @@ main (int argc, char *argv[])
   open_control_window ();
   open_alignment_window ();
   open_margin_window ();
+  open_valigned_label_window ();
 
   gtk_main ();