[goocanvas] removed deprecated GTK+ calls.



commit a4b99ba8a7f02a6aba0e32bc729ee44b78fbe4e0
Author: Damon Chaplin <Damon A Chaplin gmail com>
Date:   Tue Dec 13 13:20:50 2016 +0000

    removed deprecated GTK+ calls.

 ChangeLog                       |    4 +++
 demo/demo-arrowhead.c           |   15 ++++++----
 demo/demo-events.c              |   13 +++++----
 demo/demo-features.c            |   12 ++++----
 demo/demo-fifteen.c             |   12 ++++----
 demo/demo-grabs.c               |   58 +++++++++++++++++++++++++-------------
 demo/demo-scalability.c         |   22 ++-------------
 demo/demo.c                     |   14 +++++----
 demo/generic-position-demo.c    |    5 ++-
 demo/mv-demo-arrowhead.c        |   15 ++++++----
 demo/mv-demo-events.c           |   13 +++++----
 demo/mv-demo-features.c         |   12 ++++----
 demo/mv-demo-fifteen.c          |   12 ++++----
 demo/mv-demo-grabs.c            |   58 +++++++++++++++++++++++++--------------
 demo/mv-demo-scalability.c      |   21 ++------------
 demo/mv-demo.c                  |   14 +++++----
 demo/mv-generic-position-demo.c |   12 +++-----
 demo/mv-scalability-demo.c      |   14 +++------
 demo/scalability-demo.c         |   14 +++------
 19 files changed, 175 insertions(+), 165 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 0016700..44e3df6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2016-12-13  Damon Chaplin  <damon localhost lan>
+
+       * demo/*.c: remove deprecated GTK+ calls.
+
 2013-11-02  Damon Chaplin  <damon gnome org>
 
        * demo/*.c: use gtk_box_pack_start() rather than gtk_container_add(),
diff --git a/demo/demo-arrowhead.c b/demo/demo-arrowhead.c
index 2a47a0a..148d7c7 100644
--- a/demo/demo-arrowhead.c
+++ b/demo/demo-arrowhead.c
@@ -280,10 +280,12 @@ on_button_press (GooCanvasItem *item,
                 gpointer data)
 {
   GooCanvas *canvas;
+  GdkDisplay *display;
   GdkCursor *fleur;
 
-  fleur = gdk_cursor_new (GDK_FLEUR);
   canvas = goo_canvas_item_get_canvas (item);
+  display = gtk_widget_get_display (GTK_WIDGET (canvas));
+  fleur = gdk_cursor_new_for_display (display, GDK_FLEUR);
   goo_canvas_pointer_grab (canvas, item,
                           GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_RELEASE_MASK,
                           fleur,
@@ -421,15 +423,16 @@ create_canvas_arrowhead (void)
        gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 0);
        gtk_widget_show (w);
 
-       w = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
-       gtk_box_pack_start (GTK_BOX (vbox), w, TRUE, TRUE, 0);
-       gtk_widget_show (w);
-
        frame = gtk_frame_new (NULL);
        gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-       gtk_container_add (GTK_CONTAINER (w), frame);
+       gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
        gtk_widget_show (frame);
 
+       g_object_set (frame,
+                     "halign", GTK_ALIGN_CENTER,
+                     "valign", GTK_ALIGN_CENTER,
+                     NULL);
+
        canvas = goo_canvas_new ();
        root = goo_canvas_get_root_item (GOO_CANVAS (canvas));
 
diff --git a/demo/demo-events.c b/demo/demo-events.c
index 9a7d68d..3714c44 100644
--- a/demo/demo-events.c
+++ b/demo/demo-events.c
@@ -127,7 +127,7 @@ create_events_area (GtkWidget              *canvas,
 GtkWidget *
 create_events_page (void)
 {
-  GtkWidget *vbox, *alignment, *frame, *label, *canvas;
+  GtkWidget *vbox, *frame, *label, *canvas;
 
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4);
   gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
@@ -141,15 +141,16 @@ create_events_page (void)
 
   /* Frame and canvas */
 
-  alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
-  gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0);
-  gtk_widget_show (alignment);
-
   frame = gtk_frame_new (NULL);
   gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-  gtk_container_add (GTK_CONTAINER (alignment), frame);
+  gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
   gtk_widget_show (frame);
 
+  g_object_set (frame,
+               "halign", GTK_ALIGN_CENTER,
+               "valign", GTK_ALIGN_CENTER,
+               NULL);
+
   canvas = goo_canvas_new ();
 
   gtk_widget_set_size_request (canvas, 600, 450);
diff --git a/demo/demo-features.c b/demo/demo-features.c
index 4a30d47..d738df4 100644
--- a/demo/demo-features.c
+++ b/demo/demo-features.c
@@ -44,7 +44,6 @@ create_canvas_features (void)
 {
        GtkWidget *vbox;
        GtkWidget *w;
-       GtkWidget *alignment;
        GtkWidget *frame;
        GtkWidget *canvas;
        GooCanvasItem *root, *item;
@@ -64,15 +63,16 @@ create_canvas_features (void)
 
        /* Frame and canvas */
 
-       alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
-       gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0);
-       gtk_widget_show (alignment);
-
        frame = gtk_frame_new (NULL);
        gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-       gtk_container_add (GTK_CONTAINER (alignment), frame);
+       gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
        gtk_widget_show (frame);
 
+       g_object_set (frame,
+                     "halign", GTK_ALIGN_CENTER,
+                     "valign", GTK_ALIGN_CENTER,
+                     NULL);
+
        canvas = goo_canvas_new ();
        root = goo_canvas_get_root_item (GOO_CANVAS (canvas));
 
diff --git a/demo/demo-fifteen.c b/demo/demo-fifteen.c
index 52e53c9..3c68deb 100644
--- a/demo/demo-fifteen.c
+++ b/demo/demo-fifteen.c
@@ -234,7 +234,6 @@ GtkWidget *
 create_canvas_fifteen (void)
 {
        GtkWidget *vbox;
-       GtkWidget *alignment;
        GtkWidget *frame;
        GtkWidget *canvas;
        GtkWidget *button;
@@ -247,15 +246,16 @@ create_canvas_fifteen (void)
        gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
        gtk_widget_show (vbox);
 
-       alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
-       gtk_box_pack_start (GTK_BOX (vbox), alignment, TRUE, TRUE, 0);
-       gtk_widget_show (alignment);
-
        frame = gtk_frame_new (NULL);
        gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-       gtk_container_add (GTK_CONTAINER (alignment), frame);
+       gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
        gtk_widget_show (frame);
 
+       g_object_set (frame,
+                     "halign", GTK_ALIGN_CENTER,
+                     "valign", GTK_ALIGN_CENTER,
+                     NULL);
+
        /* Create the canvas and board */
 
        canvas = goo_canvas_new ();
diff --git a/demo/demo-grabs.c b/demo/demo-grabs.c
index a9813fe..7c177b0 100644
--- a/demo/demo-grabs.c
+++ b/demo/demo-grabs.c
@@ -72,6 +72,13 @@ on_widget_button_press (GtkWidget *widget,
   if (device && strstr (item_id, "explicit"))
     {
       GdkGrabStatus status;
+
+#if GTK_CHECK_VERSION(3,20,0)
+      status = gdk_seat_grab (gdk_device_get_seat (device),
+                             gtk_widget_get_window (widget),
+                             GDK_SEAT_CAPABILITY_ALL_POINTING,
+                             FALSE, NULL, (GdkEvent*) event, NULL, NULL);
+#else
       GdkEventMask mask = GDK_BUTTON_PRESS_MASK
        | GDK_BUTTON_RELEASE_MASK
        | GDK_POINTER_MOTION_MASK
@@ -82,6 +89,8 @@ on_widget_button_press (GtkWidget *widget,
       status = gdk_device_grab (device, gtk_widget_get_window (widget),
                                GDK_OWNERSHIP_NONE, FALSE, mask,
                                NULL, event->time);
+#endif
+
       if (status == GDK_GRAB_SUCCESS)
        g_print ("grabbed pointer\n");
       else
@@ -103,7 +112,11 @@ on_widget_button_release (GtkWidget *widget,
 
   if (device && strstr (item_id, "explicit"))
     {
+#if GTK_CHECK_VERSION(3,20,0)
+      gdk_seat_ungrab (gdk_device_get_seat (device));
+#else
       gdk_device_ungrab (device, event->time);
+#endif
       g_print ("released pointer grab\n");
     }
 
@@ -209,14 +222,13 @@ on_button_release (GooCanvasItem *item,
 
 
 static void
-create_fixed (GtkTable *table, gint row, gchar *text, gchar *id)
+create_fixed (GtkGrid *grid, gint row, gchar *text, gchar *id)
 {
   GtkWidget *label, *fixed, *drawing_area;
   char *view_id;
 
   label = gtk_label_new (text);
-  gtk_table_attach (table, label, 0, 1, row, row + 1,
-                   0, 0, 0, 0);
+  gtk_grid_attach (grid, label, 0, row, 1, 1);
   gtk_widget_show (label);
 
   fixed = gtk_fixed_new ();
@@ -233,8 +245,8 @@ create_fixed (GtkTable *table, gint row, gchar *text, gchar *id)
                         | GDK_LEAVE_NOTIFY_MASK
                         | GDK_FOCUS_CHANGE_MASK);
   gtk_widget_set_size_request (fixed, 200, 100);
-  gtk_table_attach (GTK_TABLE (table), fixed, 1, 2, row, row + 1,
-                   0, 0, 0, 0);
+  gtk_grid_attach (GTK_GRID (grid), fixed, 1, row, 1, 1);
+  g_object_set (fixed, "expand", FALSE, NULL);
   gtk_widget_show (fixed);
 
   view_id = g_strdup_printf ("%s-background", id);
@@ -337,21 +349,21 @@ setup_item_signals (GooCanvasItem *item)
 
 
 static void
-create_canvas (GtkTable *table, gint row, gchar *text, gchar *id)
+create_canvas (GtkGrid *grid, gint row, gchar *text, gchar *id)
 {
   GtkWidget *label, *canvas;
   GooCanvasItem *root, *rect;
   char *view_id;
 
   label = gtk_label_new (text);
-  gtk_table_attach (table, label, 0, 1, row, row + 1, 0, 0, 0, 0);
+  gtk_grid_attach (grid, label, 0, row, 1, 1);
   gtk_widget_show (label);
 
   canvas = goo_canvas_new ();
 
   gtk_widget_set_size_request (canvas, 200, 100);
   goo_canvas_set_bounds (GOO_CANVAS (canvas), 0, 0, 200, 100);
-  gtk_table_attach (table, canvas, 1, 2, row, row + 1, 0, 0, 0, 0);
+  gtk_grid_attach (grid, canvas, 1, row, 1, 1);
   gtk_widget_show (canvas);
 
   root = goo_canvas_get_root_item (GOO_CANVAS (canvas));
@@ -385,37 +397,43 @@ create_canvas (GtkTable *table, gint row, gchar *text, gchar *id)
 GtkWidget *
 create_grabs_page (void)
 {
-  GtkWidget *table, *label;
+  GtkWidget *vbox, *grid, *label;
 
-  table = gtk_table_new (5, 2, FALSE);
-  gtk_container_set_border_width (GTK_CONTAINER (table), 12);
-  gtk_table_set_row_spacings (GTK_TABLE (table), 12);
-  gtk_table_set_col_spacings (GTK_TABLE (table), 12);
-  gtk_widget_show (table);
+  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4);
+  gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
+  gtk_widget_show (vbox);
 
   label = gtk_label_new ("Move the mouse over the widgets and canvas items on the right to see what events 
they receive.\nClick buttons to start explicit or implicit pointer grabs and see what events they receive 
now.\n(They should all receive the same events.)");
-  gtk_table_attach (GTK_TABLE (table), label, 0, 2, 0, 1, 0, 0, 0, 0);
+  gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
   gtk_widget_show (label);
 
+  grid = gtk_grid_new ();
+  gtk_container_set_border_width (GTK_CONTAINER (grid), 12);
+  gtk_grid_set_row_spacing (GTK_GRID (grid), 12);
+  gtk_grid_set_column_spacing (GTK_GRID (grid), 12);
+  gtk_box_pack_start (GTK_BOX (vbox), grid, FALSE, FALSE, 0);
+  g_object_set (grid, "halign", GTK_ALIGN_CENTER, NULL);
+  gtk_widget_show (grid);
+
   /* Drawing area with explicit grabs. */
-  create_fixed (GTK_TABLE (table), 1,
+  create_fixed (GTK_GRID (grid), 1,
                "Widget with Explicit Grabs:",
                "widget-explicit");
 
   /* Drawing area with implicit grabs. */
-  create_fixed (GTK_TABLE (table), 2,
+  create_fixed (GTK_GRID (grid), 2,
                "Widget with Implicit Grabs:",
                "widget-implicit");
 
   /* Canvas with explicit grabs. */
-  create_canvas (GTK_TABLE (table), 3,
+  create_canvas (GTK_GRID (grid), 3,
                 "Canvas with Explicit Grabs:",
                 "canvas-explicit");
 
   /* Canvas with implicit grabs. */
-  create_canvas (GTK_TABLE (table), 4,
+  create_canvas (GTK_GRID (grid), 4,
                 "Canvas with Implicit Grabs:",
                 "canvas-implicit");
 
-  return table;
+  return vbox;
 }
diff --git a/demo/demo-scalability.c b/demo/demo-scalability.c
index a6bbe71..383962d 100644
--- a/demo/demo-scalability.c
+++ b/demo/demo-scalability.c
@@ -16,9 +16,7 @@ GtkWidget *
 create_canvas_scalability (void)
 {
        GtkWidget *vbox;
-       GtkWidget *frame;
        GtkWidget *scrolled_win, *canvas;
-       GtkWidget *table;
        GdkPixbuf *pixbuf;
        GooCanvasItem *root, *item G_GNUC_UNUSED;
        int i, j, width, height;
@@ -27,21 +25,6 @@ create_canvas_scalability (void)
        gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
        gtk_widget_show (vbox);
 
-       table = gtk_table_new (2, 2, FALSE);
-       gtk_table_set_row_spacings (GTK_TABLE (table), 4);
-       gtk_table_set_col_spacings (GTK_TABLE (table), 4);
-       gtk_box_pack_start (GTK_BOX (vbox), table, TRUE, TRUE, 0);
-       gtk_widget_show (table);
-       
-       frame = gtk_frame_new (NULL);
-       gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-       gtk_table_attach (GTK_TABLE (table), frame,
-                         0, 1, 0, 1,
-                         GTK_EXPAND | GTK_FILL | GTK_SHRINK,
-                         GTK_EXPAND | GTK_FILL | GTK_SHRINK,
-                         0, 0);
-       gtk_widget_show (frame);
-
        /* Create the canvas and board */
 
        pixbuf = gdk_pixbuf_new_from_file("toroid.png", NULL);
@@ -65,9 +48,10 @@ create_canvas_scalability (void)
 
 
        scrolled_win = gtk_scrolled_window_new (NULL, NULL);
+       gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_win),
+                                            GTK_SHADOW_IN);
        gtk_widget_show (scrolled_win);
-       gtk_container_add (GTK_CONTAINER (frame), scrolled_win);
-
+       gtk_box_pack_start (GTK_BOX (vbox), scrolled_win, TRUE, TRUE, 0);
        gtk_container_add (GTK_CONTAINER (scrolled_win), canvas);
 
 
diff --git a/demo/demo.c b/demo/demo.c
index 8321165..e5bae6f 100644
--- a/demo/demo.c
+++ b/demo/demo.c
@@ -332,6 +332,7 @@ on_button_press (GooCanvasItem *item,
                 gpointer data)
 {
   GooCanvas *canvas;
+  GdkDisplay *display;
   GdkCursor *fleur;
   GList *items, *elem;
 
@@ -359,7 +360,8 @@ on_button_press (GooCanvasItem *item,
          drag_x = event->x;
          drag_y = event->y;
 
-         fleur = gdk_cursor_new (GDK_FLEUR);
+         display = gtk_widget_get_display (GTK_WIDGET (canvas));
+         fleur = gdk_cursor_new_for_display (display, GDK_FLEUR);
          goo_canvas_pointer_grab (canvas, item,
                                   GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_RELEASE_MASK,
                                   fleur,
@@ -825,12 +827,12 @@ create_stipple (const char *color_name, guchar stipple_data[16])
 {
   cairo_surface_t *surface;
   cairo_pattern_t *pattern;
-  GdkColor color;
+  GdkRGBA color;
 
-  gdk_color_parse (color_name, &color);
-  stipple_data[2] = stipple_data[14] = color.red >> 8;
-  stipple_data[1] = stipple_data[13] = color.green >> 8;
-  stipple_data[0] = stipple_data[12] = color.blue >> 8;
+  gdk_rgba_parse (&color, color_name);
+  stipple_data[2] = stipple_data[14] = color.red * 255;
+  stipple_data[1] = stipple_data[13] = color.green * 255;
+  stipple_data[0] = stipple_data[12] = color.blue * 255;
   surface = cairo_image_surface_create_for_data (stipple_data,
                                                 CAIRO_FORMAT_ARGB32,
                                                 2, 2, 8);
diff --git a/demo/generic-position-demo.c b/demo/generic-position-demo.c
index 55dafb4..3fda125 100644
--- a/demo/generic-position-demo.c
+++ b/demo/generic-position-demo.c
@@ -135,7 +135,8 @@ setup_canvas (GtkWidget *canvas)
   item = goo_canvas_path_new (root, "M20,500 C20,450 100,450 100,500", "stroke-color", "green", 
"line-width", 5.0, NULL);
   setup_dnd_handlers (GOO_CANVAS (canvas), item);
 
-  pixbuf = gtk_widget_render_icon (GTK_WIDGET (canvas), GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG, 
NULL);
+  pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
+                                    "dialog-warning", 48, 0, NULL);
   item = goo_canvas_image_new (root, pixbuf, 150, 450, /*"fill-color", "yellow", */NULL);
   g_object_unref (pixbuf);
   setup_dnd_handlers (GOO_CANVAS (canvas), item);
@@ -190,7 +191,7 @@ main (int argc, char *argv[])
   gtk_container_add (GTK_CONTAINER (window), vbox);
 
   label = gtk_label_new ("Use Ctrl+Left Click to move items or Ctrl+Right Click to resize items");
-  gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
+  g_object_set (label, "halign", GTK_ALIGN_START, NULL);
   gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
   gtk_widget_show (label);
 
diff --git a/demo/mv-demo-arrowhead.c b/demo/mv-demo-arrowhead.c
index 166d73c..ceed936 100644
--- a/demo/mv-demo-arrowhead.c
+++ b/demo/mv-demo-arrowhead.c
@@ -299,10 +299,12 @@ on_button_press (GooCanvasItem *item,
                 gpointer data)
 {
   GooCanvas *canvas;
+  GdkDisplay *display;
   GdkCursor *fleur;
 
-  fleur = gdk_cursor_new (GDK_FLEUR);
   canvas = goo_canvas_item_get_canvas (item);
+  display = gtk_widget_get_display (GTK_WIDGET (canvas));
+  fleur = gdk_cursor_new_for_display (display, GDK_FLEUR);
   goo_canvas_pointer_grab (canvas, item,
                           GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_RELEASE_MASK,
                           fleur,
@@ -436,15 +438,16 @@ create_canvas_arrowhead (void)
        gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 0);
        gtk_widget_show (w);
 
-       w = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
-       gtk_box_pack_start (GTK_BOX (vbox), w, TRUE, TRUE, 0);
-       gtk_widget_show (w);
-
        frame = gtk_frame_new (NULL);
        gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-       gtk_container_add (GTK_CONTAINER (w), frame);
+       gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
        gtk_widget_show (frame);
 
+       g_object_set (frame,
+                     "halign", GTK_ALIGN_CENTER,
+                     "valign", GTK_ALIGN_CENTER,
+                     NULL);
+
        canvas = goo_canvas_new ();
 
        g_signal_connect (canvas, "item_created",
diff --git a/demo/mv-demo-events.c b/demo/mv-demo-events.c
index 812f7ad..6eeac36 100644
--- a/demo/mv-demo-events.c
+++ b/demo/mv-demo-events.c
@@ -128,7 +128,7 @@ create_events_area (GooCanvasItemModel     *root,
 GtkWidget *
 create_events_page (void)
 {
-  GtkWidget *vbox, *alignment, *frame, *label, *canvas;
+  GtkWidget *vbox, *frame, *label, *canvas;
   GooCanvasItemModel *root;
 
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4);
@@ -143,15 +143,16 @@ create_events_page (void)
 
   /* Frame and canvas */
 
-  alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
-  gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0);
-  gtk_widget_show (alignment);
-
   frame = gtk_frame_new (NULL);
   gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-  gtk_container_add (GTK_CONTAINER (alignment), frame);
+  gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
   gtk_widget_show (frame);
 
+  g_object_set (frame,
+               "halign", GTK_ALIGN_CENTER,
+               "valign", GTK_ALIGN_CENTER,
+               NULL);
+
   canvas = goo_canvas_new ();
 
   g_signal_connect (canvas, "item_created",
diff --git a/demo/mv-demo-features.c b/demo/mv-demo-features.c
index 807c18c..221536b 100644
--- a/demo/mv-demo-features.c
+++ b/demo/mv-demo-features.c
@@ -51,7 +51,6 @@ create_canvas_features (void)
 {
        GtkWidget *vbox;
        GtkWidget *w;
-       GtkWidget *alignment;
        GtkWidget *frame;
        GtkWidget *canvas;
        GooCanvasItemModel *root, *item;
@@ -71,15 +70,16 @@ create_canvas_features (void)
 
        /* Frame and canvas */
 
-       alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
-       gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0);
-       gtk_widget_show (alignment);
-
        frame = gtk_frame_new (NULL);
        gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-       gtk_container_add (GTK_CONTAINER (alignment), frame);
+       gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
        gtk_widget_show (frame);
 
+       g_object_set (frame,
+                     "halign", GTK_ALIGN_CENTER,
+                     "valign", GTK_ALIGN_CENTER,
+                     NULL);
+
        canvas = goo_canvas_new ();
 
        g_signal_connect (canvas, "item_created",
diff --git a/demo/mv-demo-fifteen.c b/demo/mv-demo-fifteen.c
index 2774e41..bbc5047 100644
--- a/demo/mv-demo-fifteen.c
+++ b/demo/mv-demo-fifteen.c
@@ -245,7 +245,6 @@ GtkWidget *
 create_canvas_fifteen (void)
 {
        GtkWidget *vbox;
-       GtkWidget *alignment;
        GtkWidget *frame;
        GtkWidget *canvas;
        GtkWidget *button;
@@ -258,15 +257,16 @@ create_canvas_fifteen (void)
        gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
        gtk_widget_show (vbox);
 
-       alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
-       gtk_box_pack_start (GTK_BOX (vbox), alignment, TRUE, TRUE, 0);
-       gtk_widget_show (alignment);
-
        frame = gtk_frame_new (NULL);
        gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-       gtk_container_add (GTK_CONTAINER (alignment), frame);
+       gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
        gtk_widget_show (frame);
 
+       g_object_set (frame,
+                     "halign", GTK_ALIGN_CENTER,
+                     "valign", GTK_ALIGN_CENTER,
+                     NULL);
+
        /* Create the canvas and board */
 
        canvas = goo_canvas_new ();
diff --git a/demo/mv-demo-grabs.c b/demo/mv-demo-grabs.c
index a56f502..5817528 100644
--- a/demo/mv-demo-grabs.c
+++ b/demo/mv-demo-grabs.c
@@ -72,6 +72,13 @@ on_widget_button_press (GtkWidget *widget,
   if (device && strstr (item_id, "explicit"))
     {
       GdkGrabStatus status;
+
+#if GTK_CHECK_VERSION(3,20,0)
+      status = gdk_seat_grab (gdk_device_get_seat (device),
+                             gtk_widget_get_window (widget),
+                             GDK_SEAT_CAPABILITY_ALL_POINTING,
+                             FALSE, NULL, (GdkEvent*) event, NULL, NULL);
+#else
       GdkEventMask mask = GDK_BUTTON_PRESS_MASK
        | GDK_BUTTON_RELEASE_MASK
        | GDK_POINTER_MOTION_MASK
@@ -82,6 +89,8 @@ on_widget_button_press (GtkWidget *widget,
       status = gdk_device_grab (device, gtk_widget_get_window (widget),
                                GDK_OWNERSHIP_NONE, FALSE, mask,
                                NULL, event->time);
+#endif
+
       if (status == GDK_GRAB_SUCCESS)
        g_print ("grabbed pointer\n");
       else
@@ -103,7 +112,11 @@ on_widget_button_release (GtkWidget *widget,
 
   if (device && strstr (item_id, "explicit"))
     {
+#if GTK_CHECK_VERSION(3,20,0)
+      gdk_seat_ungrab (gdk_device_get_seat (device));
+#else
       gdk_device_ungrab (device, event->time);
+#endif
       g_print ("released pointer grab\n");
     }
 
@@ -214,14 +227,13 @@ on_button_release (GooCanvasItem *item,
 
 
 static void
-create_fixed (GtkTable *table, gint row, gchar *text, gchar *id)
+create_fixed (GtkGrid *grid, gint row, gchar *text, gchar *id)
 {
   GtkWidget *label, *fixed, *drawing_area;
   char *view_id;
 
   label = gtk_label_new (text);
-  gtk_table_attach (table, label, 0, 1, row, row + 1,
-                   0, 0, 0, 0);
+  gtk_grid_attach (grid, label, 0, row, 1, 1);
   gtk_widget_show (label);
 
   fixed = gtk_fixed_new ();
@@ -238,8 +250,7 @@ create_fixed (GtkTable *table, gint row, gchar *text, gchar *id)
                         | GDK_LEAVE_NOTIFY_MASK
                         | GDK_FOCUS_CHANGE_MASK);
   gtk_widget_set_size_request (fixed, 200, 100);
-  gtk_table_attach (GTK_TABLE (table), fixed, 1, 2, row, row + 1,
-                   0, 0, 0, 0);
+  gtk_grid_attach (GTK_GRID (grid), fixed, 1, row, 1, 1);
   gtk_widget_show (fixed);
 
   view_id = g_strdup_printf ("%s-background", id);
@@ -348,15 +359,14 @@ on_item_created (GooCanvas          *canvas,
 
 
 static void
-create_canvas (GtkTable *table, gint row, gchar *text, gchar *id)
+create_canvas (GtkGrid *grid, gint row, gchar *text, gchar *id)
 {
   GtkWidget *label, *canvas;
   GooCanvasItemModel *root, *rect;
   char *view_id;
 
   label = gtk_label_new (text);
-  gtk_table_attach (table, label, 0, 1, row, row + 1,
-                   0, 0, 0, 0);
+  gtk_grid_attach (grid, label, 0, row, 1, 1);
   gtk_widget_show (label);
 
   canvas = goo_canvas_new ();
@@ -366,7 +376,7 @@ create_canvas (GtkTable *table, gint row, gchar *text, gchar *id)
 
   gtk_widget_set_size_request (canvas, 200, 100);
   goo_canvas_set_bounds (GOO_CANVAS (canvas), 0, 0, 200, 100);
-  gtk_table_attach (table, canvas, 1, 2, row, row + 1, 0, 0, 0, 0);
+  gtk_grid_attach (grid, canvas, 1, row, 1, 1);
   gtk_widget_show (canvas);
 
   root = goo_canvas_group_model_new (NULL, NULL);
@@ -399,37 +409,43 @@ create_canvas (GtkTable *table, gint row, gchar *text, gchar *id)
 GtkWidget *
 create_grabs_page (void)
 {
-  GtkWidget *table, *label;
+  GtkWidget *vbox, *grid, *label;
 
-  table = gtk_table_new (5, 2, FALSE);
-  gtk_container_set_border_width (GTK_CONTAINER (table), 12);
-  gtk_table_set_row_spacings (GTK_TABLE (table), 12);
-  gtk_table_set_col_spacings (GTK_TABLE (table), 12);
-  gtk_widget_show (table);
+  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4);
+  gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
+  gtk_widget_show (vbox);
 
   label = gtk_label_new ("Move the mouse over the widgets and canvas items on the right to see what events 
they receive.\nClick buttons to start explicit or implicit pointer grabs and see what events they receive 
now.\n(They should all receive the same events.)");
-  gtk_table_attach (GTK_TABLE (table), label, 0, 2, 0, 1, 0, 0, 0, 0);
+  gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
   gtk_widget_show (label);
 
+  grid = gtk_grid_new ();
+  gtk_container_set_border_width (GTK_CONTAINER (grid), 12);
+  gtk_grid_set_row_spacing (GTK_GRID (grid), 12);
+  gtk_grid_set_column_spacing (GTK_GRID (grid), 12);
+  gtk_box_pack_start (GTK_BOX (vbox), grid, FALSE, FALSE, 0);
+  g_object_set (grid, "halign", GTK_ALIGN_CENTER, NULL);
+  gtk_widget_show (grid);
+
   /* Drawing area with explicit grabs. */
-  create_fixed (GTK_TABLE (table), 1,
+  create_fixed (GTK_GRID (grid), 1,
                "Widget with Explicit Grabs:",
                "widget-explicit");
 
   /* Drawing area with implicit grabs. */
-  create_fixed (GTK_TABLE (table), 2,
+  create_fixed (GTK_GRID (grid), 2,
                "Widget with Implicit Grabs:",
                "widget-implicit");
 
   /* Canvas with explicit grabs. */
-  create_canvas (GTK_TABLE (table), 3,
+  create_canvas (GTK_GRID (grid), 3,
                 "Canvas with Explicit Grabs:",
                 "canvas-explicit");
 
   /* Canvas with implicit grabs. */
-  create_canvas (GTK_TABLE (table), 4,
+  create_canvas (GTK_GRID (grid), 4,
                 "Canvas with Implicit Grabs:",
                 "canvas-implicit");
 
-  return table;
+  return vbox;
 }
diff --git a/demo/mv-demo-scalability.c b/demo/mv-demo-scalability.c
index 68f2f44..17b5577 100644
--- a/demo/mv-demo-scalability.c
+++ b/demo/mv-demo-scalability.c
@@ -16,9 +16,7 @@ GtkWidget *
 create_canvas_scalability (void)
 {
        GtkWidget *vbox;
-       GtkWidget *frame;
        GtkWidget *scrolled_win, *canvas;
-       GtkWidget *table;
        GdkPixbuf *pixbuf;
        GooCanvasItemModel *root, *item G_GNUC_UNUSED;
        int i, j, width, height;
@@ -27,21 +25,6 @@ create_canvas_scalability (void)
        gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
        gtk_widget_show (vbox);
 
-       table = gtk_table_new (2, 2, FALSE);
-       gtk_table_set_row_spacings (GTK_TABLE (table), 4);
-       gtk_table_set_col_spacings (GTK_TABLE (table), 4);
-       gtk_box_pack_start (GTK_BOX (vbox), table, TRUE, TRUE, 0);
-       gtk_widget_show (table);
-       
-       frame = gtk_frame_new (NULL);
-       gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-       gtk_table_attach (GTK_TABLE (table), frame,
-                         0, 1, 0, 1,
-                         GTK_EXPAND | GTK_FILL | GTK_SHRINK,
-                         GTK_EXPAND | GTK_FILL | GTK_SHRINK,
-                         0, 0);
-       gtk_widget_show (frame);
-
        /* Create the canvas and board */
 
        pixbuf = gdk_pixbuf_new_from_file("toroid.png", NULL);
@@ -66,8 +49,10 @@ create_canvas_scalability (void)
 
 
        scrolled_win = gtk_scrolled_window_new (NULL, NULL);
+       gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_win),
+                                            GTK_SHADOW_IN);
        gtk_widget_show (scrolled_win);
-       gtk_container_add (GTK_CONTAINER (frame), scrolled_win);
+       gtk_box_pack_start (GTK_BOX (vbox), scrolled_win, TRUE, TRUE, 0);
 
        gtk_container_add (GTK_CONTAINER (scrolled_win), canvas);
 
diff --git a/demo/mv-demo.c b/demo/mv-demo.c
index 434044c..c733a61 100644
--- a/demo/mv-demo.c
+++ b/demo/mv-demo.c
@@ -281,6 +281,7 @@ on_button_press (GooCanvasItem *item,
 {
   GooCanvasItemModel *model = goo_canvas_item_get_model (item);
   GooCanvas *canvas;
+  GdkDisplay *display;
   GdkCursor *fleur;
 
 #if 0
@@ -300,8 +301,9 @@ on_button_press (GooCanvasItem *item,
          drag_x = event->x;
          drag_y = event->y;
 
-         fleur = gdk_cursor_new (GDK_FLEUR);
          canvas = goo_canvas_item_get_canvas (item);
+         display = gtk_widget_get_display (GTK_WIDGET (canvas));
+         fleur = gdk_cursor_new_for_display (display, GDK_FLEUR);
          goo_canvas_pointer_grab (canvas, item,
                                   GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_RELEASE_MASK,
                                   fleur,
@@ -719,12 +721,12 @@ create_stipple (const char *color_name, guchar stipple_data[16])
 {
   cairo_surface_t *surface;
   cairo_pattern_t *pattern;
-  GdkColor color;
+  GdkRGBA color;
 
-  gdk_color_parse (color_name, &color);
-  stipple_data[2] = stipple_data[14] = color.red >> 8;
-  stipple_data[1] = stipple_data[13] = color.green >> 8;
-  stipple_data[0] = stipple_data[12] = color.blue >> 8;
+  gdk_rgba_parse (&color, color_name);
+  stipple_data[2] = stipple_data[14] = color.red * 255;
+  stipple_data[1] = stipple_data[13] = color.green * 255;
+  stipple_data[0] = stipple_data[12] = color.blue * 255;
   surface = cairo_image_surface_create_for_data (stipple_data,
                                                 CAIRO_FORMAT_ARGB32,
                                                 2, 2, 8);
diff --git a/demo/mv-generic-position-demo.c b/demo/mv-generic-position-demo.c
index 461789e..fefc30f 100644
--- a/demo/mv-generic-position-demo.c
+++ b/demo/mv-generic-position-demo.c
@@ -192,7 +192,7 @@ create_window (GooCanvasItemModel *model)
   gtk_container_add (GTK_CONTAINER (window), vbox);
 
   label = gtk_label_new ("Use Ctrl+Left Click to move items or Ctrl+Right Click to resize items");
-  gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
+  g_object_set (label, "halign", GTK_ALIGN_START, NULL);
   gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
   gtk_widget_show (label);
 
@@ -222,23 +222,21 @@ create_window (GooCanvasItemModel *model)
 int
 main (int argc, char *argv[])
 {
-  GtkWidget *window;
   GooCanvasItemModel *model;
   GdkPixbuf *pixbuf;
 
   /* Initialize GTK+. */
   gtk_init (&argc, &argv);
 
-  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  pixbuf = gtk_widget_render_icon (window, GTK_STOCK_DIALOG_WARNING,
-                                  GTK_ICON_SIZE_DIALOG, NULL);
+  pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
+                                    "dialog-warning", 48, 0, NULL);
 
   model = create_model (pixbuf);
 
   /* Create 2 windows to show off multiple views. */
-  window = create_window (model);
+  create_window (model);
 #if 1
-  window = create_window (model);
+  create_window (model);
 #endif
 
   g_object_unref (model);
diff --git a/demo/mv-scalability-demo.c b/demo/mv-scalability-demo.c
index d695f78..d2e4899 100644
--- a/demo/mv-scalability-demo.c
+++ b/demo/mv-scalability-demo.c
@@ -121,7 +121,7 @@ setup_canvas (GtkWidget *canvas)
   GooCanvasItem *item;
   int group_i, group_j, i, j;
   int total_items = 0, id_item_num = 0;;
-  GdkColor color = { 0, 0, 0, 0, };
+  GdkRGBA color = { 0, 0, 0, 0 };
   GooCanvasStyle *style, *style2;
   GValue tmpval = { 0 };
   cairo_matrix_t item_matrix;
@@ -138,20 +138,16 @@ setup_canvas (GtkWidget *canvas)
                    G_CALLBACK (on_motion_notify), NULL);
 
   style = goo_canvas_style_new ();
-  gdk_color_parse ("mediumseagreen", &color);
-  pattern = cairo_pattern_create_rgb (color.red / 65535.0,
-                                     color.green / 65535.0,
-                                     color.blue / 65535.0);
+  gdk_rgba_parse (&color, "mediumseagreen");
+  pattern = cairo_pattern_create_rgb (color.red, color.green, color.blue);
   g_value_init (&tmpval, GOO_TYPE_CAIRO_PATTERN);
   g_value_take_boxed (&tmpval, pattern);
   goo_canvas_style_set_property (style, goo_canvas_style_fill_pattern_id, &tmpval);
   g_value_unset (&tmpval);
 
   style2 = goo_canvas_style_new ();
-  gdk_color_parse ("steelblue", &color);
-  pattern = cairo_pattern_create_rgb (color.red / 65535.0,
-                                     color.green / 65535.0,
-                                     color.blue / 65535.0);
+  gdk_rgba_parse (&color, "steelblue");
+  pattern = cairo_pattern_create_rgb (color.red, color.green, color.blue);
   g_value_init (&tmpval, GOO_TYPE_CAIRO_PATTERN);
   g_value_take_boxed (&tmpval, pattern);
   goo_canvas_style_set_property (style2, goo_canvas_style_fill_pattern_id, &tmpval);
diff --git a/demo/scalability-demo.c b/demo/scalability-demo.c
index e9f564c..c07ec2e 100644
--- a/demo/scalability-demo.c
+++ b/demo/scalability-demo.c
@@ -120,7 +120,7 @@ setup_canvas (GtkWidget *canvas)
   GooCanvasItem *root, *group, *item;
   int group_i, group_j, i, j;
   int total_items = 0, id_item_num = 0;;
-  GdkColor color = { 0, 0, 0, 0, };
+  GdkRGBA color = { 0, 0, 0, 0 };
   GooCanvasStyle *style, *style2;
   GValue tmpval = { 0 };
   cairo_matrix_t item_matrix;
@@ -136,20 +136,16 @@ setup_canvas (GtkWidget *canvas)
                NULL);
 
   style = goo_canvas_style_new ();
-  gdk_color_parse ("mediumseagreen", &color);
-  pattern = cairo_pattern_create_rgb (color.red / 65535.0,
-                                     color.green / 65535.0,
-                                     color.blue / 65535.0);
+  gdk_rgba_parse (&color, "mediumseagreen");
+  pattern = cairo_pattern_create_rgb (color.red, color.green, color.blue);
   g_value_init (&tmpval, GOO_TYPE_CAIRO_PATTERN);
   g_value_take_boxed (&tmpval, pattern);
   goo_canvas_style_set_property (style, goo_canvas_style_fill_pattern_id, &tmpval);
   g_value_unset (&tmpval);
 
   style2 = goo_canvas_style_new ();
-  gdk_color_parse ("steelblue", &color);
-  pattern = cairo_pattern_create_rgb (color.red / 65535.0,
-                                     color.green / 65535.0,
-                                     color.blue / 65535.0);
+  gdk_rgba_parse (&color, "steelblue");
+  pattern = cairo_pattern_create_rgb (color.red, color.green, color.blue);
   g_value_init (&tmpval, GOO_TYPE_CAIRO_PATTERN);
   g_value_take_boxed (&tmpval, pattern);
   goo_canvas_style_set_property (style2, goo_canvas_style_fill_pattern_id, &tmpval);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]