5 remove_buttons (GtkWidget *widget, GtkWidget *other_button)
7 gtk_widget_destroy (other_button);
8 gtk_widget_destroy (widget);
12 blink_cb (gpointer data)
14 GtkWidget *widget = data;
16 gtk_widget_show (widget);
17 g_object_set_data (G_OBJECT (widget), "blink", GPOINTER_TO_UINT (0));
23 blink (GtkWidget *widget,
26 guint blink_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (window), "blink"));
30 blink_timeout = g_timeout_add (1000, blink_cb, window);
31 gtk_widget_hide (window);
33 g_object_set_data (G_OBJECT (window), "blink", GUINT_TO_POINTER (blink_timeout));
38 local_destroy (GtkWidget *window)
40 guint blink_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (window), "blink"));
42 g_source_remove (blink_timeout);
46 remote_destroy (GtkWidget *window)
48 local_destroy (window);
53 add_buttons (GtkWidget *widget, GtkWidget *box)
55 GtkWidget *add_button;
56 GtkWidget *remove_button;
58 add_button = gtk_button_new_with_mnemonic ("_Add");
59 gtk_box_pack_start (GTK_BOX (box), add_button, TRUE, TRUE, 0);
60 gtk_widget_show (add_button);
62 gtk_signal_connect (GTK_OBJECT (add_button), "clicked",
63 GTK_SIGNAL_FUNC (add_buttons),
66 remove_button = gtk_button_new_with_mnemonic ("_Remove");
67 gtk_box_pack_start (GTK_BOX (box), remove_button, TRUE, TRUE, 0);
68 gtk_widget_show (remove_button);
70 gtk_signal_connect (GTK_OBJECT (remove_button), "clicked",
71 GTK_SIGNAL_FUNC (remove_buttons),
76 create_child_plug (guint32 xid,
85 window = gtk_plug_new (xid);
87 gtk_signal_connect (GTK_OBJECT (window), "destroy",
88 local ? GTK_SIGNAL_FUNC (local_destroy) : GTK_SIGNAL_FUNC (remote_destroy),
90 gtk_container_set_border_width (GTK_CONTAINER (window), 0);
92 hbox = gtk_hbox_new (FALSE, 0);
93 gtk_container_add (GTK_CONTAINER (window), hbox);
95 label = gtk_label_new (local ? "Local:" : "Remote:");
96 gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
98 entry = gtk_entry_new ();
99 gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
101 button = gtk_button_new_with_mnemonic ("_Close");
102 gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
104 gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
105 GTK_SIGNAL_FUNC (gtk_widget_destroy),
106 GTK_OBJECT (window));
108 button = gtk_button_new_with_mnemonic ("_Blink");
109 gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
111 gtk_signal_connect (GTK_OBJECT (button), "clicked",
112 GTK_SIGNAL_FUNC (blink),
113 GTK_OBJECT (window));
115 add_buttons (NULL, hbox);
117 gtk_widget_show_all (window);
119 if (GTK_WIDGET_REALIZED (window))
120 return GDK_WINDOW_XID (window->window);