static GtkWidget * create_app_menu (GtkWidget *win, GCallback installed_db_cb, GCallback custom_db_cb, GCallback about_cb) { GtkWidget *menu; GtkWidget *use_installed_btn; GtkWidget *use_custom_btn; GtkWidget *about_btn; menu = hildon_app_menu_new (); use_installed_btn = append_menu_button (menu, "Use installed DB"); use_custom_btn = append_menu_button (menu, "Use custom DB"); about_btn = append_menu_button (menu, "About"); g_signal_connect (G_OBJECT (use_installed_btn), "clicked", G_CALLBACK (installed_db_cb), win); g_signal_connect (G_OBJECT (use_custom_btn), "clicked", G_CALLBACK (custom_db_cb), win); g_signal_connect (G_OBJECT (about_btn), "clicked", G_CALLBACK (about_cb), win); gtk_widget_show_all (GTK_WIDGET (menu)); return menu; }
static void add_menu(EomDetailWindow *window) { HildonAppMenu *appmenu; GtkWidget *button; appmenu = HILDON_APP_MENU(hildon_app_menu_new()); button = hildon_gtk_button_new(HILDON_SIZE_AUTO); gtk_button_set_label(GTK_BUTTON(button), "Edit..."); g_signal_connect_after(button, "clicked", G_CALLBACK(on_edit), window); hildon_app_menu_append(appmenu, GTK_BUTTON(button)); button = hildon_gtk_button_new(HILDON_SIZE_AUTO); gtk_button_set_label(GTK_BUTTON(button), "Delete..."); g_signal_connect_after(button, "clicked", G_CALLBACK(on_delete), (gpointer)window); hildon_app_menu_append(appmenu, GTK_BUTTON(button)); gtk_widget_show_all(GTK_WIDGET(appmenu)); hildon_stackable_window_set_main_menu( HILDON_STACKABLE_WINDOW(window), appmenu ); }
static HildonAppMenu * create_menu (GtkWidget *label, GtkAccelGroup *accel) { GtkWidget *button; HildonSizeType buttonsize = HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH; HildonAppMenu *menu = HILDON_APP_MENU (hildon_app_menu_new ()); /* Options */ button = hildon_gtk_button_new (buttonsize); gtk_button_set_label (GTK_BUTTON (button), "Menu command one"); g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label); hildon_app_menu_append (menu, GTK_BUTTON (button)); gtk_widget_add_accelerator (button, "activate", accel, GDK_r, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); button = hildon_gtk_button_new (buttonsize); gtk_button_set_label (GTK_BUTTON (button), "Menu command two"); g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label); hildon_app_menu_append (menu, GTK_BUTTON (button)); button = hildon_gtk_button_new (buttonsize); gtk_button_set_label (GTK_BUTTON (button), "Menu command three"); g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label); hildon_app_menu_append (menu, GTK_BUTTON (button)); button = hildon_gtk_button_new (buttonsize); gtk_button_set_label (GTK_BUTTON (button), "Menu command four"); g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label); hildon_app_menu_append (menu, GTK_BUTTON (button)); button = hildon_gtk_button_new (buttonsize); gtk_button_set_label (GTK_BUTTON (button), "Menu command five"); g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label); hildon_app_menu_append (menu, GTK_BUTTON (button)); /* Filters */ button = hildon_gtk_radio_button_new (buttonsize, NULL); gtk_button_set_label (GTK_BUTTON (button), "filter one"); g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label); hildon_app_menu_add_filter (menu, GTK_BUTTON (button)); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE); button = hildon_gtk_radio_button_new_from_widget (buttonsize, GTK_RADIO_BUTTON (button)); gtk_button_set_label (GTK_BUTTON (button), "filter two"); g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label); hildon_app_menu_add_filter (menu, GTK_BUTTON (button)); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE); gtk_widget_show_all (GTK_WIDGET (menu)); return menu; }
static void aw_window_add_tree_view (GtkContainer *container, GtkWidget *child) { GtkWidget *alignment, *pa; GSList *filters, *items; HildonAppMenu *menu; gtk_widget_push_composite_child (); alignment = gtk_alignment_new (0.5, 0.5, 1.0, 1.0); gtk_container_add (container, alignment); pa = hildon_pannable_area_new (); gtk_container_add (GTK_CONTAINER (alignment), pa); g_object_set (pa, "hscrollbar-policy", GTK_POLICY_NEVER, "vscrollbar-policy", GTK_POLICY_AUTOMATIC, "mov-mode", HILDON_MOVEMENT_MODE_VERT, NULL); g_signal_connect (hildon_pannable_area_get_vadjustment (HILDON_PANNABLE_AREA (pa)), "changed", G_CALLBACK (aw_window_vadjustment_changed_cb), alignment); gtk_widget_pop_composite_child (); gtk_container_add (GTK_CONTAINER (pa), child); filters = aw_tree_view_get_filters (AW_TREE_VIEW (child)); items = aw_tree_view_get_menu_items (AW_TREE_VIEW (child)); if (filters || items) { menu = HILDON_APP_MENU (hildon_app_menu_new ()); while (filters) { hildon_app_menu_add_filter (menu, filters->data); filters = filters->next; } while (items) { hildon_app_menu_append (menu, items->data); items = items->next; } hildon_window_set_app_menu (HILDON_WINDOW (container), menu); } }
ZLGtkApplicationWindow::ZLGtkApplicationWindow(ZLApplication *application) : ZLApplicationWindow(application), KeyActionOnReleaseNotOnPressOption(ZLCategoryKey::CONFIG, "KeyAction", "OnRelease", false), myFullScreen(false) { myProgram = HILDON_PROGRAM(hildon_program_get_instance()); g_set_application_name(""); myWindow = HILDON_WINDOW(hildon_stackable_window_new()); ((ZLMaemoCommunicationManager&)ZLCommunicationManager::Instance()).init(); myMenu = HILDON_APP_MENU(hildon_app_menu_new()); hildon_window_set_app_menu(myWindow, myMenu); hildon_program_add_window(myProgram, myWindow); gtk_widget_show_all(GTK_WIDGET(myWindow)); myViewWidget = 0; ZLGtkSignalUtil::connectSignal(GTK_OBJECT(myWindow), "delete_event", GTK_SIGNAL_FUNC(applicationQuit), this); ZLGtkSignalUtil::connectSignal(GTK_OBJECT(myWindow), "key_press_event", GTK_SIGNAL_FUNC(handleKeyPress), this); ZLGtkSignalUtil::connectSignal(GTK_OBJECT(myWindow), "key_release_event", GTK_SIGNAL_FUNC(handleKeyRelease), this); }