]> Pileus Git - ~andy/gtk/blobdiff - tests/testsocket.c
stylecontext: Do invalidation on first resize container
[~andy/gtk] / tests / testsocket.c
index b4ef47658166d14e32d2041e0b077f592af905f2..c1b59c1ef2f89d8a152fe7c2245d96eb8e6afc34 100644 (file)
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "config.h"
 #include <gtk/gtk.h>
+#include <gtk/gtkx.h>
 
 #include <string.h>
 #include <stdlib.h>
@@ -97,7 +96,7 @@ create_socket (void)
   
   Socket *socket = g_new (Socket, 1);
   
-  socket->box = gtk_vbox_new (FALSE, 0);
+  socket->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
 
   socket->socket = gtk_socket_new ();
   
@@ -249,7 +248,7 @@ void
 add_local_passive_child (GtkWidget *window)
 {
   Socket *socket;
-  GdkNativeWindow xid;
+  Window xid;
 
   socket = create_socket ();
   gtk_box_pack_start (GTK_BOX (box), socket->box, TRUE, TRUE, 0);
@@ -281,13 +280,22 @@ static void
 grab_window_toggled (GtkToggleButton *button,
                     GtkWidget       *widget)
 {
+  GdkDevice *device = gtk_get_current_event_device ();
+
+  if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD)
+    device = gdk_device_get_associated_device (device);
 
   if (gtk_toggle_button_get_active (button))
     {
       int status;
 
-      status = gdk_keyboard_grab (gtk_widget_get_window (widget),
-                                  FALSE, GDK_CURRENT_TIME);
+      status = gdk_device_grab (device,
+                                gtk_widget_get_window (widget),
+                                GDK_OWNERSHIP_NONE,
+                                FALSE,
+                                GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
+                                NULL,
+                                GDK_CURRENT_TIME);
 
       if (status != GDK_GRAB_SUCCESS)
        g_warning ("Could not grab keyboard!  (%s)", grab_string (status));
@@ -295,7 +303,7 @@ grab_window_toggled (GtkToggleButton *button,
     } 
   else 
     {
-      gdk_keyboard_ungrab (GDK_CURRENT_TIME);
+      gdk_device_ungrab (device, GDK_CURRENT_TIME);
     }
 }
 
@@ -321,17 +329,18 @@ main (int argc, char *argv[])
   gtk_window_set_title (GTK_WINDOW (window), "Socket Test");
   gtk_container_set_border_width (GTK_CONTAINER (window), 0);
 
-  vbox = gtk_vbox_new (FALSE, 0);
+  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   gtk_container_add (GTK_CONTAINER (window), vbox);
 
   menubar = gtk_menu_bar_new ();
   menuitem = gtk_menu_item_new_with_mnemonic ("_File");
+  gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
+
   menu = gtk_menu_new ();
   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu);
   menuitem = gtk_menu_item_new_with_mnemonic ("_Quit");
   g_signal_connect (menuitem, "activate", G_CALLBACK (quit_cb), window);
   gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
-  gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
 
   accel_group = gtk_accel_group_new ();
   gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
@@ -374,13 +383,13 @@ main (int argc, char *argv[])
                    G_CALLBACK (grab_window_toggled),
                    window);
 
-  hbox = gtk_hbox_new (FALSE, 0);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
   gtk_box_pack_start (GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
 
   entry = gtk_entry_new ();
   gtk_box_pack_start (GTK_BOX(hbox), entry, FALSE, FALSE, 0);
 
-  hbox = gtk_hbox_new (FALSE, 0);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
   gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
 
   box = hbox;