X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=examples%2Fhildon-app-menu-example.c;h=469d1dfbc29c4bed9dc86046507fbbaa0b2d75f0;hb=a7dd49bcc8d139b20a1760c6d634dfcdce44d8dc;hp=4a4d3499d9c204ecf60904f53d6ec81be9dfa16c;hpb=7e5df20cd26c515d095a8fb0c5fd4b17d284bce6;p=hildon diff --git a/examples/hildon-app-menu-example.c b/examples/hildon-app-menu-example.c index 4a4d349..469d1df 100644 --- a/examples/hildon-app-menu-example.c +++ b/examples/hildon-app-menu-example.c @@ -23,6 +23,7 @@ */ #include +#include #include static void @@ -30,7 +31,7 @@ menu_button_clicked (GtkButton *button, GtkLabel *label) { const char *buttontext = gtk_button_get_label (button); - char *text = g_strdup_printf("Last button clicked:\n%s", buttontext); + char *text = g_strdup_printf("Last option selected:\n%s", buttontext); gtk_label_set_text (label, text); g_free (text); } @@ -39,7 +40,6 @@ static HildonAppMenu * create_menu (GtkWidget *label) { GtkWidget *button; - GtkWidget *group; HildonAppMenu *menu = HILDON_APP_MENU (hildon_app_menu_new ()); /* Options */ @@ -64,47 +64,24 @@ create_menu (GtkWidget *label) hildon_app_menu_append (menu, GTK_BUTTON (button)); /* Filters */ - button = gtk_toggle_button_new_with_label ("filter one"); + button = gtk_radio_button_new_with_label (NULL, "filter one"); g_signal_connect (button, "clicked", G_CALLBACK (menu_button_clicked), label); - hildon_app_menu_add_filter (menu, GTK_BUTTON (button), NULL); - - button = gtk_radio_button_new_with_label (NULL, "filter two"); - g_signal_connect (button, "clicked", G_CALLBACK (menu_button_clicked), label); - group = hildon_app_menu_add_filter (menu, GTK_BUTTON (button), NULL); + hildon_app_menu_add_filter (menu, GTK_BUTTON (button)); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE); - button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "filter three"); + button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "filter two"); g_signal_connect (button, "clicked", G_CALLBACK (menu_button_clicked), label); - hildon_app_menu_add_filter (menu, GTK_BUTTON (button), group); + hildon_app_menu_add_filter (menu, GTK_BUTTON (button)); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE); - gtk_container_set_border_width (GTK_CONTAINER (menu), 30); - return menu; } -static void -button_clicked (GtkButton *button, - HildonAppMenu *menu) -{ - hildon_app_menu_popup (menu); -} - -static void -close_app (GtkWidget *widget, - GdkEvent *event, - GtkWidget *menu) -{ - gtk_widget_destroy (GTK_WIDGET (menu)); - gtk_main_quit (); -} - int main (int argc, char **argv) { GtkWidget *win; - GtkWidget *button; GtkWidget *label; GtkWidget *label2; GtkBox *vbox; @@ -117,23 +94,27 @@ main (int argc, "}\n" "class \"HildonAppMenu\" style \"default\"\n"); - button = gtk_button_new_with_label ("Press me"); - label = gtk_label_new ("This is an example of the\nHildonAppMenu widget"); - label2 = gtk_label_new ("No button has been clicked"); + label = gtk_label_new ("This is an example of the\nHildonAppMenu widget.\n\n" + "Click on the titlebar\nto pop up the menu."); + label2 = gtk_label_new ("No menu option has been selected yet."); + + gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_CENTER); + gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_CENTER); + vbox = GTK_BOX (gtk_vbox_new (FALSE, 10)); - win = gtk_window_new (GTK_WINDOW_TOPLEVEL); + win = hildon_stackable_window_new (); menu = create_menu (label2); + hildon_stackable_window_set_main_menu (HILDON_STACKABLE_WINDOW (win), menu); + gtk_box_pack_start (vbox, label, TRUE, TRUE, 0); - gtk_box_pack_start (vbox, button, TRUE, TRUE, 0); gtk_box_pack_start (vbox, label2, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (win), 20); gtk_container_add (GTK_CONTAINER (win), GTK_WIDGET (vbox)); - g_signal_connect (button, "clicked", G_CALLBACK(button_clicked), menu); - g_signal_connect (win, "delete_event", G_CALLBACK(close_app), menu); + g_signal_connect (win, "delete_event", G_CALLBACK (gtk_main_quit), NULL); gtk_widget_show_all (win);