static void _elm_code_widget_undo_change(Evas_Object *widget, Elm_Code_Widget_Change_Info *info) { Elm_Code_Widget_Data *pd; unsigned int textlen, position, row, col, newrow, remainlen; short nllen; char *content; Elm_Code_Line *line; pd = efl_data_scope_get(widget, ELM_CODE_WIDGET_CLASS); if (info->insert) { elm_code_widget_selection_start(widget, info->start_line, info->start_col); elm_code_widget_selection_end(widget, info->end_line, info->end_col); _elm_code_widget_selection_delete_no_undo(widget); } else { newrow = info->start_line; content = info->content; remainlen = info->length; elm_code_widget_selection_clear(widget); elm_code_widget_cursor_position_set(widget, info->start_line, info->start_col); while (newrow <= info->end_line) { line = elm_code_file_line_get(pd->code->file, newrow); if (newrow != info->end_line) { textlen = remainlen; textlen = elm_code_text_newlinenpos(content, remainlen, &nllen); remainlen -= textlen + nllen; _elm_code_widget_text_at_cursor_insert_no_undo(widget, content, textlen); elm_obj_code_widget_cursor_position_get(widget, &row, &col); position = elm_code_widget_line_text_position_for_column_get(widget, line, col); elm_code_line_split_at(line, position); elm_code_widget_cursor_position_set(widget, newrow + 1, 1); content += textlen + nllen; } else { _elm_code_widget_text_at_cursor_insert_no_undo(widget, content, strlen(content)); } newrow++; } elm_code_widget_cursor_position_set(widget, info->end_line, info->end_col + 1); } efl_event_callback_legacy_call(widget, ELM_OBJ_CODE_WIDGET_EVENT_CHANGED_USER, NULL); }
static Eina_Bool _on_clock_val_up(void *data) { ELM_CLOCK_DATA_GET(data, sd); if (!sd->edit) goto clock_val_up_cancel; if (!sd->sel_obj) goto clock_val_up_cancel; if (sd->sel_obj == sd->digit[0]) { sd->hrs = sd->hrs + 12; if (sd->hrs >= 24) sd->hrs -= 24; } if (sd->sel_obj == sd->digit[1]) { sd->hrs = sd->hrs + 1; if (sd->hrs >= 24) sd->hrs -= 24; } if (sd->sel_obj == sd->digit[2]) { sd->min = sd->min + 10; if (sd->min >= 60) sd->min -= 60; } if (sd->sel_obj == sd->digit[3]) { sd->min = sd->min + 1; if (sd->min >= 60) sd->min -= 60; } if (sd->sel_obj == sd->digit[4]) { sd->sec = sd->sec + 10; if (sd->sec >= 60) sd->sec -= 60; } if (sd->sel_obj == sd->digit[5]) { sd->sec = sd->sec + 1; if (sd->sec >= 60) sd->sec -= 60; } if (sd->sel_obj == sd->am_pm_obj) { sd->hrs = sd->hrs + 12; if (sd->hrs > 23) sd->hrs -= 24; } sd->interval = sd->interval / 1.05; ecore_timer_interval_set(sd->spin, sd->interval); _time_update(data, EINA_FALSE); efl_event_callback_legacy_call(data, ELM_CLOCK_EVENT_CHANGED, NULL); return ECORE_CALLBACK_RENEW; clock_val_up_cancel: sd->spin = NULL; return ECORE_CALLBACK_CANCEL; }
void _efl_ui_slider_interval_val_fetch(Evas_Object *obj, Efl_Ui_Slider_Interval_Data *pd, Eina_Bool user_event) { double posx = 0.0, posy = 0.0, pos = 0.0, val; double posx2 = 0.0, posy2 = 0.0, pos2 = 0.0, val2; EFL_UI_SLIDER_DATA_GET(obj, sd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); if (elm_widget_is_legacy(obj)) efl_ui_drag_value_get(efl_part(wd->resize_obj, "elm.dragable.slider"), &posx, &posy); else efl_ui_drag_value_get(efl_part(wd->resize_obj, "efl.dragable.slider"), &posx, &posy); if (efl_ui_dir_is_horizontal(sd->dir, EINA_TRUE)) pos = posx; else pos = posy; if (elm_widget_is_legacy(obj)) efl_ui_drag_value_get(efl_part(wd->resize_obj, "elm.dragable2.slider"), &posx2, &posy2); else efl_ui_drag_value_get(efl_part(wd->resize_obj, "efl.dragable2.slider"), &posx2, &posy2); if (efl_ui_dir_is_horizontal(sd->dir, EINA_TRUE)) pos2 = posx2; else pos2 = posy2; val = (pos * (sd->val_max - sd->val_min)) + sd->val_min; val2 = (pos2 * (sd->val_max - sd->val_min)) + sd->val_min; if (val > pd->intvl_to) { val = pd->intvl_to; efl_ui_slider_val_set(obj); } else if (val2 < pd->intvl_from) { val2 = pd->intvl_from; efl_ui_slider_val_set(obj); } if (fabs(val - pd->intvl_from) > DBL_EPSILON) { sd->val = val; pd->intvl_from = val; if (user_event) { efl_event_callback_call(obj, EFL_UI_SLIDER_EVENT_CHANGED, NULL); efl_event_callback_legacy_call(obj, EFL_UI_SLIDER_EVENT_CHANGED, NULL); ecore_timer_del(pd->delay); pd->delay = ecore_timer_add(SLIDER_DELAY_CHANGED_INTERVAL, _delay_change, obj); } } if (fabs(val2 - pd->intvl_to) > DBL_EPSILON) { pd->intvl_to = val2; if (user_event) { efl_event_callback_call(obj, EFL_UI_SLIDER_EVENT_CHANGED, NULL); efl_event_callback_legacy_call(obj, EFL_UI_SLIDER_EVENT_CHANGED, NULL); ecore_timer_del(pd->delay); pd->delay = ecore_timer_add(SLIDER_DELAY_CHANGED_INTERVAL, _delay_change, obj); } } }