Re: Event propagation question, part 2.
- From: Yury Alyaev <mutab0r rambler ru>
- To: gtk-app-devel-list gnome org
- Subject: Re: Event propagation question, part 2.
- Date: Fri, 02 Nov 2012 02:02:32 -0500
Sorry, seems one attachmen is lost. Here is the example code itself:
#include <gtk/gtk.h>
static GtkWidget *thing[2];
static gboolean destroy(void)
{
gtk_main_quit();
return FALSE;
}
static void toggled(GtkToggleButton *b)
{
gboolean state = gtk_toggle_button_get_active(b);
gtk_widget_hide(thing[1 - state]);
gtk_widget_show(thing[state]);
g_print("Toggled\n");
}
static gboolean enter(void)
{
g_print("enter\n");
return FALSE;
}
static gboolean leave(void)
{
g_print("leave\n");
return FALSE;
}
int main (int argc, char *argv[])
{
GtkWidget *window, *button, *vbox;
GError *error = NULL;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(window), 300, 200);
g_signal_connect(window, "delete-event", G_CALLBACK(destroy), NULL);
button = gtk_toggle_button_new();
g_signal_connect(button, "toggled", G_CALLBACK(toggled), NULL);
g_signal_connect(button, "enter-notify-event", G_CALLBACK(enter), NULL);
g_signal_connect(button, "leave-notify-event", G_CALLBACK(leave), NULL);
gtk_container_add(GTK_CONTAINER(window), button);
gtk_widget_show(button);
vbox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(button), vbox);
gtk_widget_show(vbox);
thing[0] = gtk_hsv_new();
gtk_box_pack_start(GTK_BOX(vbox), thing[0], FALSE, TRUE, 0);
gtk_widget_show(thing[0]);
thing[1] = gtk_hsv_new();
gtk_box_pack_start(GTK_BOX(vbox), thing[1], FALSE, TRUE, 0);
gtk_widget_show(window);
gtk_main();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]