/* * Handler for changing the view source type */ static void _cb_source_type(void *data, Evas_Object *obj, void *event_info) { E_Config_Dialog_Data *cfdata; cfdata = data; // If the source type is another planet, populate the list with // planets and disable the viewing position stuff. if (cfdata->local_xplanet.source_type == SOURCE_ORIGIN) { if (e_widget_ilist_count(cfdata->gui.o_source_ilist) > 0) cfdata->local_xplanet.projection = eina_stringshare_add(e_widget_ilist_selected_value_get( cfdata->gui.o_source_ilist)); _fill_planet_ilist(cfdata->gui.o_source_ilist, cfdata->local_xplanet.origin, _cb_source, cfdata, &(cfdata->source_item)); e_widget_disabled_set(cfdata->gui.o_viewpos_default, 1); e_widget_disabled_set(cfdata->gui.o_viewpos_latlon, 1); e_widget_disabled_set(cfdata->gui.o_viewpos_random, 1); e_widget_disabled_set(cfdata->gui.o_viewpos_lat_label, 1); e_widget_disabled_set(cfdata->gui.o_viewpos_lat, 1); e_widget_disabled_set(cfdata->gui.o_viewpos_lon_label, 1); e_widget_disabled_set(cfdata->gui.o_viewpos_lon, 1); e_widget_disabled_set(cfdata->gui.o_viewpos_file, 1); e_widget_disabled_set(cfdata->gui.o_viewpos_file_val, 1); e_widget_disabled_set(cfdata->gui.o_viewpos_file_button, 1); e_widget_disabled_set(cfdata->gui.o_use_localtime, 1); e_widget_disabled_set(cfdata->gui.o_localtime, 1); } else { // Populate the list with projections and enable the viewing position stuff. if (e_widget_ilist_count(cfdata->gui.o_source_ilist) > 0) cfdata->local_xplanet.origin = eina_stringshare_add(e_widget_ilist_selected_value_get( cfdata->gui.o_source_ilist)); _fill_projection_ilist(cfdata->gui.o_source_ilist, cfdata->local_xplanet.projection, cfdata, &(cfdata->source_item)); e_widget_disabled_set(cfdata->gui.o_viewpos_latlon, 0); e_widget_disabled_set(cfdata->gui.o_viewpos_random, 0); e_widget_disabled_set(cfdata->gui.o_viewpos_file, 0); _cb_viewpos(cfdata, NULL, NULL); e_widget_disabled_set(cfdata->gui.o_use_localtime, 0); e_widget_disabled_set(cfdata->gui.o_localtime, 0); } _select_list_items(cfdata); }
static void _eco_match_add(void *data, void *data2) { Eco_Option *opt; e_widget_ilist_append(o_matches, NULL, default_match, _eco_match_click_cb, NULL, NULL); opt = eco_config_option_list_add(cfg_screen, str_matches); opt->stringValue = strdup(default_match); opt = eco_config_option_list_add(cfg_screen, str_effects); opt->intValue = 11; opt = eco_config_option_list_add(cfg_screen, str_durations); opt->intValue = 300; e_widget_slider_value_int_set(o_duration, opt->intValue); opt = eco_config_option_list_add(cfg_screen, str_randoms); /* opt = eco_config_option_list_add(cfg_screen, str_options); */ e_widget_disabled_set(o_duration, 0); e_widget_ilist_selected_set(o_matches, e_widget_ilist_count(o_matches)); }
EAPI int e_widget_config_list_count(Evas_Object *obj) { E_Widget_Data *wd; wd = e_widget_data_get(obj); return e_widget_ilist_count(wd->gui.list); }
EAPI void e_widget_config_list_append(Evas_Object *obj, const char *entry) { E_Widget_Data *wd; int count; wd = e_widget_data_get(obj); e_widget_ilist_append(wd->gui.list, NULL, entry, NULL, NULL, NULL); e_widget_ilist_go(wd->gui.list); count = e_widget_ilist_count(wd->gui.list); e_widget_ilist_selected_set(wd->gui.list, count - 1); }
static void _eco_match_add(void *data, void *data2) { Eco_Option *match, *value; e_widget_ilist_append(o_matches, NULL, "class=XTerm", _eco_match_click_cb, NULL, NULL); match = eco_config_option_list_add(cfg_screen, "opacity_matches"); match->stringValue = eina_stringshare_add("class=XTerm"); value = eco_config_option_list_add(cfg_screen, "opacity_values"); value->intValue = 100; e_widget_slider_value_int_set(o_opacity, value->intValue); e_widget_disabled_set(o_opacity, 0); e_widget_ilist_selected_set(o_matches, e_widget_ilist_count(o_matches)); }
/* Page creation functions */ static void eco_config_animation_page(void *data) { int val = 0; int max = 6; selected = -1; ECO_PAGE_BEGIN("animation"); ECO_PAGE_TABLE(_("Window Match")); ECO_CREATE_LIST_MATCH(0, str_matches, 0, 0); /* to remember previously selected item */ if (e_widget_ilist_count(o_matches) > 0) selected = 0; ECO_PAGE_TABLE_END; ECO_PAGE_TABLE(_("Animation duration")); o = e_widget_label_add(cfdata->evas, _("Duration")); e_widget_frametable_object_append(ta, o, 0, 0, 1, 1, 1, 0, 0, 0); o_duration = e_widget_slider_add(cfdata->evas, 1, 0, "%1.0f ms", 50, 2000, 1.0, 0, NULL, &duration, 0); e_widget_disabled_set(o_duration, 1); \ e_widget_frametable_object_append(ta, o_duration, 1, 0, 1, 1, 1, 0, 1, 0); opt = eco_config_option_list_nth(cfg_screen, str_durations, 0); if (opt) { e_widget_slider_value_int_set(o_duration, opt->intValue); e_widget_disabled_set(o_duration, 0); } ECO_PAGE_TABLE_END; ECO_PAGE_TABLE( _("Animation for selected match")); opt = eco_config_option_list_nth(cfg_screen, str_effects, 0); if (opt) effect = opt->intValue; group = e_widget_radio_group_new(&effect); for (i = 0; i < effect_cnt; i++) { o_effect[i] = e_widget_radio_add(cfdata->evas, effect_names[i], i, group); e_widget_frametable_object_append(ta, o_effect[i], (i/max), (i%max), 1, 1, 1, 0, 1, 0); if (effect == i) e_widget_radio_toggle_set(o_effect[i], 1); } ECO_PAGE_TABLE_END; ECO_PAGE_TABLE( _("Animation random pool")); opt = eco_config_option_get(cfg_screen, str_randoms); for (i = 0; i < effect_cnt; i++) random_effect[i] = 0; for (l = opt->listValue; l; l = l->next) { item = l->data; random_effect[item->intValue] = 1; } for (i = 0; i < effect_cnt; i++) { o = e_widget_check_add(cfdata->evas, effect_names[i], &random_effect[i]); e_widget_frametable_object_append(ta, o, (i/max), (i%max), 1, 1, 1, 0, 1, 0); } ECO_PAGE_TABLE_END; ECO_PAGE_END; }