void label_linebreak_modes_cb(void *data, Evas_Object *obj, void *event_info) { Evas_Object *scroller, *layout_inner, *layout; Evas_Object *nf = data; scroller = create_scroller(nf); layout = elm_layout_add(scroller); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_layout_file_set(layout, ELM_DEMO_EDJ, "white_bg_layout"); layout_inner = create_labels(nf); elm_object_part_content_set(layout, "elm.swallow.content", layout_inner); elm_object_content_set(scroller, layout); elm_naviframe_item_push(nf, "Linebreakmodes", NULL, NULL, scroller, NULL); }
int show_gui(int *argc, char ***argv) { gtk_init(argc, argv); init_attr_list(); GtkWidget *wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(wnd), "AppLauncher"); g_signal_connect(wnd, "destroy", G_CALLBACK(destroy), 0); GtkTable *table = GTK_TABLE(gtk_table_new(cmd_count(), 2, FALSE)); gtk_container_add(GTK_CONTAINER(wnd), GTK_WIDGET(table)); labels = malloc(cmd_count() * sizeof (entry)); for (int i = 0; i < cmd_count(); i++) { create_labels(nth_command(i), labels + i); gtk_table_attach(table, labels[i].shortcut_label, 0, 1, i, i + 1, GTK_EXPAND, GTK_EXPAND, 2, 0); gtk_table_attach(table, labels[i].name_label, 1, 2, i, i + 1, GTK_EXPAND, GTK_EXPAND, 2, 0); } g_signal_connect(wnd, "key-press-event", G_CALLBACK(key_pressed), 0); gtk_window_position(GTK_WINDOW(wnd), GTK_WIN_POS_CENTER); gtk_widget_show_all(wnd); if (get_time() > 0) g_timeout_add_seconds(get_time(), timer_exit, 0); gtk_main(); free(labels); return 0; }
// ------------------------------------------------------------------- // window to display spells available in mage guild // ------------------------------------------------------------------- t_mage_guild_window::t_mage_guild_window( t_town const* town, t_army const* adjacent_army, t_window* parent ) : t_window( k_completely_transparent, parent ) { t_screen_rect rect; t_screen_rect parent_rect; m_current_page = 0; // load bitmaps m_town = town; m_adjacent_army = adjacent_army; m_book_bitmaps = k_book_bitmaps.get(); m_frame_bitmaps = k_frame_bitmaps.get(); t_bitmap_layer const * layer; t_window * window; t_screen_point origin(0,0); t_screen_point book_origin(0,0); parent_rect = get_parent()->get_client_rect(); if( parent_rect.width() >= 1024 ) { int ndx = town->get_type() * 2; if( parent_rect.width() > 1024 ) ++ndx; assert( ndx < ELEMENTS_OF(k_background_bitmaps) ); m_background_bitmaps = k_background_bitmaps[ndx].get(); rect = m_background_bitmaps->get_rect(); rect += (parent_rect.size() - rect.size()) / 2; // create background layer = m_background_bitmaps->find( "top" ); window = new t_bitmap_layer_window( layer, origin, this ); layer = m_background_bitmaps->find( "left" ); window = new t_bitmap_layer_window( layer, origin, this ); layer = m_background_bitmaps->find( "bottom" ); window = new t_bitmap_layer_window( layer, origin, this ); layer = m_background_bitmaps->find( "right" ); window = new t_bitmap_layer_window( layer, origin, this ); book_origin = m_background_bitmaps->find( "book_pages" )->get_rect().top_left(); } else rect = parent_rect; init( rect ); // create book t_window* book; layer = m_book_bitmaps->find( "book_pages" ); book = new t_bitmap_layer_window( layer, book_origin, this ); rect = book->get_client_rect(); m_index_window = new t_window( rect, k_completely_transparent, book ); m_detail_window = new t_window( rect, k_completely_transparent, book ); m_detail_window->set_visible( false ); // create and sort spell list int i; t_guild_spell_list const& spells = m_town->get_spells(); for (i = 0; i < spells.size(); i++) { if (spells[i].available) m_spells.push_back( spells[i].spell ); } std::sort( m_spells.begin(), m_spells.end(), t_sort_spells()); create_buttons( book_origin ); create_spell_icons(); create_labels(); create_detail_page(); create_hero_icons(); // set up initial spell set visibility m_current_page = 1; change_spell_set_visibility( false ); m_current_page = 0; change_spell_set_visibility( true ); // set whether page buttons are visible or not if( m_icon_list[1].size() == 0 ) { m_last_page_button->set_visible(false); m_next_page_button->set_visible(false); } }