]> Pileus Git - ~andy/gtk/blobdiff - demos/gtk-demo/colorsel.c
gtk: remove "gboolean homogeneous" from gtk_box_new()
[~andy/gtk] / demos / gtk-demo / colorsel.c
index e0571c916551445d074d8d642d8cdd4e21c66e75..eacfa17d38158f6161d3555f407bbbb8944a56d9 100644 (file)
@@ -15,20 +15,16 @@ static GtkWidget *frame;
 /* Expose callback for the drawing area
  */
 static gboolean
-expose_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data)
+draw_callback (GtkWidget *widget, 
+               cairo_t   *cr,
+               gpointer   data)
 {
-  if (widget->window)
-    {
-      GtkStyle *style;
+  GtkStyle *style;
 
-      style = gtk_widget_get_style (widget);
+  style = gtk_widget_get_style (widget);
 
-      gdk_draw_rectangle (widget->window,
-                          style->bg_gc[GTK_STATE_NORMAL],
-                          TRUE,
-                          event->area.x, event->area.y,
-                          event->area.width, event->area.height);
-    }
+  gdk_cairo_set_source_color (cr, &style->bg[GTK_STATE_NORMAL]);
+  cairo_paint (cr);
 
   return TRUE;
 }
@@ -39,13 +35,15 @@ change_color_callback (GtkWidget *button,
 {
   GtkWidget *dialog;
   GtkColorSelection *colorsel;
+  GtkColorSelectionDialog *selection_dialog;
   gint response;
   
   dialog = gtk_color_selection_dialog_new ("Changing color");
 
   gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (window));
-  
-  colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (dialog)->colorsel);
+
+  selection_dialog = GTK_COLOR_SELECTION_DIALOG (dialog);
+  colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (selection_dialog));
 
   gtk_color_selection_set_previous_color (colorsel, &color);
   gtk_color_selection_set_current_color (colorsel, &color);
@@ -87,7 +85,7 @@ do_colorsel (GtkWidget *do_widget)
 
       gtk_container_set_border_width (GTK_CONTAINER (window), 8);
 
-      vbox = gtk_vbox_new (FALSE, 8);
+      vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
       gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
       gtk_container_add (GTK_CONTAINER (window), vbox);
 
@@ -102,8 +100,8 @@ do_colorsel (GtkWidget *do_widget)
 
       da = gtk_drawing_area_new ();
 
-      g_signal_connect (da, "expose_event",
-                       G_CALLBACK (expose_event_callback), NULL);
+      g_signal_connect (da, "draw",
+                       G_CALLBACK (draw_callback), NULL);
 
       /* set a minimum size */
       gtk_widget_set_size_request (da, 200, 200);
@@ -123,7 +121,7 @@ do_colorsel (GtkWidget *do_widget)
                        G_CALLBACK (change_color_callback), NULL);
     }
 
-  if (!GTK_WIDGET_VISIBLE (window))
+  if (!gtk_widget_get_visible (window))
     {
       gtk_widget_show_all (window);
     }