static void single_code_window_load(Window *window) { window_set_click_config_provider(single_code_main_window, (ClickConfigProvider) window_config_provider); Layer *window_layer = window_get_root_layer(single_code_main_window); display_bounds = layer_get_frame(window_layer); Layer *countdown_layer = layer_create(display_bounds); layer_add_child(window_layer, countdown_layer); //add_countdown_layer(s_layer); start_managing_countdown_layer(countdown_layer); text_label_rect = single_text_label_rect; GRect text_label_start = text_label_rect; text_label_start.origin.x = display_bounds.size.w; text_label_layer = text_layer_create(text_label_start); text_layer_set_background_color(text_label_layer, GColorClear); text_layer_set_text_alignment(text_label_layer, single_text_label_alignment); text_layer_set_overflow_mode(text_label_layer, GTextOverflowModeWordWrap); text_layer_set_text(text_label_layer, label_text); layer_add_child(window_layer, text_layer_get_layer(text_label_layer)); text_pin_rect = single_text_pin_rect; GRect text_pin_start = text_pin_rect; text_pin_start.origin.x = display_bounds.size.w; text_pin_layer = text_layer_create(text_pin_start); text_layer_set_background_color(text_pin_layer, GColorClear); text_layer_set_text_alignment(text_pin_layer, GTextAlignmentCenter); text_layer_set_text(text_pin_layer, pin_text); layer_add_child(window_layer, text_layer_get_layer(text_pin_layer)); apply_display_colors(); set_fonts(); loading_complete = true; }
void animation_control(void) { if (animation_count > 0) { animation_count--; return; } switch (animation_state) { case 0: // initial launch, animate the code and label on screen animation_state = 10; if (fonts_changed) set_fonts(); animate_code_on(); animate_label_on(); show_countdown_layer(); break; case 20: // animate the code off screen animation_state = 30; animation_direction = DOWN; animate_code_off(); break; case 30: // animate the code on screen animation_state = 10; animation_direction = LEFT; animate_code_on(); break; case 40: // animate the code and label off screen animation_state = 0; animation_count = 1; animate_code_off(); animate_label_off(); break; case 50: // animate the code and label and second counter off screen animation_state = 60; animation_unschedule_all(); animation_count = 1; animation_direction = RIGHT; hide_countdown_layer(); animate_code_off(); animate_label_off(); break; case 60: // animate the swipe layer on screen using the background color animation_state = 70; GRect start = GRect(0, display_bounds.size.h*-1, display_bounds.size.w, display_bounds.size.h); swipe_layer = text_layer_create(start); text_layer_set_background_color(swipe_layer, bg_color); Layer *window_layer = window_get_root_layer(single_code_main_window); layer_add_child(window_layer, text_layer_get_layer(swipe_layer)); animate_layer(text_layer_get_layer(swipe_layer), AnimationCurveEaseInOut, &start, &display_bounds, 500, on_animation_stopped_callback); break; case 70: // set the new colors and clear the swipe layer apply_display_colors(); text_layer_destroy(swipe_layer); animation_state = 0; animation_control(); break; } }
WindowCheckKeyterms::WindowCheckKeyterms(GtkWidget * parent_layout, GtkAccelGroup *accelerator_group, bool startup): FloatingWindow(parent_layout, widCheckKeyterms, _("Check keyterms"), startup) // Window for checking keyterms. { // Save / initialize variables. keyword_id = 0; text_changed_event_id = 0; my_editor = NULL; // Build gui. vbox = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox); gtk_container_add(GTK_CONTAINER(vbox_client), vbox); // Produce the signal to be given on a new reference. signal = gtk_button_new(); gtk_box_pack_start(GTK_BOX(vbox), signal, FALSE, FALSE, 0); hbox_collection = gtk_hbox_new (FALSE, 5); gtk_widget_show (hbox_collection); gtk_box_pack_start (GTK_BOX (vbox), hbox_collection, FALSE, FALSE, 0); label_collection = gtk_label_new_with_mnemonic (_("_Collection")); gtk_widget_show (label_collection); gtk_box_pack_start (GTK_BOX (hbox_collection), label_collection, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label_collection), 0, 0.5); combobox_collection = gtk_combo_box_new_text (); gtk_widget_show (combobox_collection); gtk_box_pack_start (GTK_BOX (hbox_collection), combobox_collection, TRUE, TRUE, 0); connect_focus_signals (combobox_collection); label_list = gtk_label_new_with_mnemonic (_("_List")); gtk_widget_show (label_list); gtk_box_pack_start (GTK_BOX (vbox), label_list, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label_list), 0, 0.5); scrolledwindow_terms = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow_terms); gtk_box_pack_start (GTK_BOX (vbox), scrolledwindow_terms, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow_terms), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow_terms), GTK_SHADOW_IN); webview_terms = webkit_web_view_new(); gtk_widget_show (webview_terms); gtk_container_add (GTK_CONTAINER (scrolledwindow_terms), webview_terms); connect_focus_signals (webview_terms); // Store for the renderings. treestore_renderings = gtk_tree_store_new(4, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_BOOLEAN); treeview_renderings = gtk_tree_view_new_with_model(GTK_TREE_MODEL(treestore_renderings)); gtk_widget_show(treeview_renderings); gtk_box_pack_start(GTK_BOX(vbox), treeview_renderings, false, false, 0); connect_focus_signals (treeview_renderings); // Renderer, column and selection. GtkCellRenderer *renderer_renderings = gtk_cell_renderer_toggle_new(); g_signal_connect(renderer_renderings, "toggled", G_CALLBACK(keyterm_whole_word_toggled), gpointer(this)); GtkTreeViewColumn *column = gtk_tree_view_column_new_with_attributes("Whole\nword", renderer_renderings, "active", 0, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview_renderings), column); renderer_renderings = gtk_cell_renderer_toggle_new(); g_signal_connect(renderer_renderings, "toggled", G_CALLBACK(keyterm_case_sensitive_toggled), gpointer(this)); column = gtk_tree_view_column_new_with_attributes(_("Case\nsensitive"), renderer_renderings, "active", 1, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview_renderings), column); renderer_renderings = gtk_cell_renderer_text_new(); g_signal_connect(renderer_renderings, "edited", G_CALLBACK(cell_edited), gpointer(this)); column = gtk_tree_view_column_new_with_attributes(_("Rendering"), renderer_renderings, "text", 2, "editable", 3, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview_renderings), column); treeselect_renderings = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview_renderings)); gtk_tree_selection_set_mode(treeselect_renderings, GTK_SELECTION_SINGLE); g_signal_connect((gpointer) webview_terms, "navigation-policy-decision-requested", G_CALLBACK(on_navigation_policy_decision_requested), gpointer(this)); g_signal_connect((gpointer) combobox_collection, "changed", G_CALLBACK(on_combobox_keyterm_collection_changed), gpointer(this)); gtk_label_set_mnemonic_widget(GTK_LABEL(label_collection), combobox_collection); gtk_label_set_mnemonic_widget(GTK_LABEL(label_list), webview_terms); // Load the categories. reload_collections (); // Load the keyterms. on_combobox_keyterm_collection (); // Main focused widget. last_focused_widget = combobox_collection; gtk_widget_grab_focus (last_focused_widget); set_fonts (); }