]> Pileus Git - ~andy/gtk/blobdiff - tests/testselection.c
gtk: remove "gboolean homogeneous" from gtk_box_new()
[~andy/gtk] / tests / testselection.c
index 53935b580ad4d4d397e795e39957f052edbbc0fe..b6b79d3a2f6ff84bc8b74e8dc055e46a7a1d19ba 100644 (file)
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
  */
 
-#undef GTK_DISABLE_DEPRECATED
 
-#include <config.h>
+#include "config.h"
 #include <stdio.h>
 #include <string.h>
-#define GTK_ENABLE_BROKEN
 #include "gtk/gtk.h"
 
 typedef enum {
@@ -142,7 +140,7 @@ init_atoms (void)
 void
 selection_toggled (GtkWidget *widget)
 {
-  if (GTK_TOGGLE_BUTTON(widget)->active)
+  if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
     {
       have_selection = gtk_selection_owner_set (selection_widget,
                                                GDK_SELECTION_PRIMARY,
@@ -154,7 +152,7 @@ selection_toggled (GtkWidget *widget)
     {
       if (have_selection)
        {
-         if (gdk_selection_owner_get (GDK_SELECTION_PRIMARY) == widget->window)
+          if (gdk_selection_owner_get (GDK_SELECTION_PRIMARY) == gtk_widget_get_window (widget))
            gtk_selection_owner_set (NULL, GDK_SELECTION_PRIMARY,
                                     GDK_CURRENT_TIME);
          have_selection = FALSE;
@@ -273,6 +271,7 @@ selection_received (GtkWidget *widget, GtkSelectionData *data)
   int i;
   SelType seltype;
   char *str;
+  GtkTextBuffer *buffer;
   
   if (data->length < 0)
     {
@@ -303,10 +302,8 @@ selection_received (GtkWidget *widget, GtkSelectionData *data)
 
   selection_string = g_string_new (NULL);
 
-  gtk_text_freeze (GTK_TEXT (selection_text));
-  gtk_text_set_point (GTK_TEXT (selection_text), 0);
-  gtk_text_forward_delete (GTK_TEXT (selection_text), 
-                          gtk_text_get_length (GTK_TEXT (selection_text)));
+  buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (selection_text));
+  gtk_text_buffer_set_text (buffer, "", -1);
 
   position = 0;
   while (position < data->length)
@@ -344,16 +341,11 @@ selection_received (GtkWidget *widget, GtkSelectionData *data)
            continue;
          }
        }
-      gtk_text_insert (GTK_TEXT (selection_text), NULL, 
-                      &selection_text->style->black, 
-                      NULL, str, -1);
-      gtk_text_insert (GTK_TEXT (selection_text), NULL, 
-                      &selection_text->style->black, 
-                      NULL, "\n", -1);
+      gtk_text_buffer_insert_at_cursor (buffer, str, -1);
+      gtk_text_buffer_insert_at_cursor (buffer, "\n", -1);
       g_string_append (selection_string, str);
       g_free (str);
     }
-  gtk_text_thaw (GTK_TEXT (selection_text));
 }
 
 void
@@ -378,20 +370,20 @@ paste (GtkWidget *widget, GtkWidget *entry)
 void
 quit (void)
 {
-  gtk_exit (0);
+  gtk_main_quit ();
 }
 
 int
 main (int argc, char *argv[])
 {
+  GtkWidget *action_area, *content_area;
   GtkWidget *dialog;
   GtkWidget *button;
   GtkWidget *table;
   GtkWidget *label;
   GtkWidget *entry;
-  GtkWidget *hscrollbar;
-  GtkWidget *vscrollbar;
   GtkWidget *hbox;
+  GtkWidget *scrolled;
 
   static GtkTargetEntry targetlist[] = {
     { "STRING",        0, STRING },
@@ -413,6 +405,9 @@ main (int argc, char *argv[])
   g_signal_connect (dialog, "destroy",
                    G_CALLBACK (quit), NULL);
 
+  content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+  action_area = gtk_dialog_get_action_area (GTK_DIALOG (dialog));
+
   table = gtk_table_new (4, 2, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER(table), 10);
 
@@ -420,8 +415,7 @@ main (int argc, char *argv[])
   gtk_table_set_row_spacing (GTK_TABLE (table), 1, 2);
   gtk_table_set_row_spacing (GTK_TABLE (table), 2, 2);
   gtk_table_set_col_spacing (GTK_TABLE (table), 0, 2);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->vbox), 
-                     table, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (content_area), table, TRUE, TRUE, 0);
   gtk_widget_show (table);
   
   selection_button = gtk_toggle_button_new_with_label ("Claim Selection");
@@ -442,21 +436,13 @@ main (int argc, char *argv[])
   g_signal_connect (selection_widget, "selection_get",
                    G_CALLBACK (selection_get), NULL);
 
-  selection_text = gtk_text_new (NULL, NULL);
-  gtk_table_attach_defaults (GTK_TABLE (table), selection_text, 0, 1, 1, 2);
+  selection_text = gtk_text_view_new ();
+  scrolled = gtk_scrolled_window_new (NULL, NULL);
+  gtk_container_add (GTK_CONTAINER (scrolled), selection_text);
+  gtk_table_attach_defaults (GTK_TABLE (table), scrolled, 0, 1, 1, 2);
   gtk_widget_show (selection_text);
-  
-  hscrollbar = gtk_hscrollbar_new (GTK_TEXT (selection_text)->hadj);
-  gtk_table_attach (GTK_TABLE (table), hscrollbar, 0, 1, 2, 3,
-                   GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-  gtk_widget_show (hscrollbar);
-  
-  vscrollbar = gtk_vscrollbar_new (GTK_TEXT (selection_text)->vadj);
-  gtk_table_attach (GTK_TABLE (table), vscrollbar, 1, 2, 1, 2,
-                   GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-  gtk_widget_show (vscrollbar);
 
-  hbox = gtk_hbox_new (FALSE, 2);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
   gtk_table_attach (GTK_TABLE (table), hbox, 0, 2, 3, 4,
                    GTK_EXPAND | GTK_FILL, 0, 0, 0);
   gtk_widget_show (hbox);
@@ -471,15 +457,13 @@ main (int argc, char *argv[])
 
   /* .. And create some buttons */
   button = gtk_button_new_with_label ("Paste");
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->action_area), 
-                     button, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (action_area), button, TRUE, TRUE, 0);
   g_signal_connect (button, "clicked",
                    G_CALLBACK (paste), entry);
   gtk_widget_show (button);
 
   button = gtk_button_new_with_label ("Quit");
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->action_area), 
-                     button, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (action_area), button, TRUE, TRUE, 0);
 
   g_signal_connect_swapped (button, "clicked",
                            G_CALLBACK (gtk_widget_destroy), dialog);