static inline int _smart_slider_value_flush(Evas_Object *o) { smart_slider_t *priv = evas_object_smart_data_get(o); // calculate exact value float new_value = priv->min + priv->drag * priv->diff; double drag_x; if(priv->integer) { new_value = round(new_value); drag_x = (new_value - priv->min) * priv->scale; } else drag_x = priv->drag; // has value changed? if(new_value != priv->value) { priv->value = new_value; edje_object_part_drag_size_set(priv->theme, "drag", drag_x, 1.f); char label [64]; sprintf(label, priv->format, priv->value, priv->unit); edje_object_part_text_set(priv->theme, "label", label); return 1; } return 0; }
static void _mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { UI *ui = data; Evas_Event_Mouse_Down *ev = event_info; float x, z, w; _get_pos(ui, &ev->canvas, &x, &z, &w); Evas_Object *edj = elm_layout_edje_get(ui->theme); edje_object_part_drag_value_set(edj, "magnet", x, 0.0); edje_object_part_drag_size_set(edj, "magnet", w, z); chimaera_event_t *cev = &ui->cev; cev->state = CHIMAERA_STATE_ON; cev->sid += 1; cev->gid = 0; cev->pid = ev->button == 1 ? 128 : 256; cev->x = x; cev->z = z; cev->X = 0.f; cev->Z = 0.f; _write_event(ui, cev); cev->state = CHIMAERA_STATE_SET; }
void _resize_cb(Ecore_Evas * ee) { int w, h; evas_output_size_get(evas, &w, &h); evas_object_move(preview, barwidth, 0); evas_object_resize(preview, w - barwidth , h ); evas_object_show(preview); evas_object_resize(preview_clip, w - barwidth , h ); evas_object_move(background, 0, 0); evas_object_resize(background, barwidth, h); evas_object_show(background); evas_object_resize(container_outer, barwidth, h - 100); int length = (int) esmart_container_elements_length_get(container); double size; size = (double)(h - 100) / (double)length; edje_object_part_drag_size_set(container_outer, "vbar_bar", 1.0, size); if (length > h - 100) edje_object_signal_emit(container_outer, "vbar", "show"); else edje_object_signal_emit(container_outer, "vbar", "hide"); evas_object_move(b_default, 0, h - 100 + 10); evas_object_move(b_apply, 0, h - 100 + 40); evas_object_move(b_exit, 0, h - 100 + 60); }
static inline void _smart_toggle_value_flush(Evas_Object *o) { smart_toggle_t *priv = evas_object_smart_data_get(o); float size_x = priv->value; edje_object_part_drag_size_set(priv->theme, "drag", size_x, 1.f); }
static void _smart_toggle_smart_init(Evas_Object *o) { smart_toggle_t *priv = evas_object_smart_data_get(o); priv->value = 0; priv->disabled = 0; edje_object_part_drag_size_set(priv->theme, "drag", 0.f, 1.f); edje_object_part_drag_value_set(priv->theme, "drag", 0.f, 0.f); }
/* Progressbar: render() */ static Etk_Bool _progress_bar_render(Etk_Tree_Model *model, Etk_Tree_Row *row, Etk_Geometry geometry, void *cell_data, Evas_Object *cell_objects[ETK_TREE_MAX_OBJECTS_PER_MODEL], Evas *evas) { Etk_Tree_Model_Progressbar_Data *pbar_data; int w, h; if (!(pbar_data = cell_data) || !cell_objects[0]) return ETK_FALSE; edje_object_part_text_set(cell_objects[0], "etk.text.text", pbar_data->text ? pbar_data->text : ""); evas_object_data_set(cell_objects[0], "_Etk_Tree_Model_Progressbar::Row", row); edje_object_size_min_get(cell_objects[0], &w, &h); evas_object_move(cell_objects[0], geometry.x, geometry.y + ((geometry.h - h) / 2)); evas_object_resize(cell_objects[0], w > geometry.w ? w : geometry.w, h); edje_object_part_drag_value_set(cell_objects[0], "etk.dragable.filler", 0.0, 0.0); edje_object_part_drag_size_set(cell_objects[0], "etk.dragable.filler", pbar_data->fraction, 0.0); evas_object_show(cell_objects[0]); return ETK_FALSE; }
static void _mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info) { UI *ui = data; Evas_Event_Mouse_Move *ev = event_info; float x, z, w; _get_pos(ui, &ev->cur.canvas, &x, &z, &w); Evas_Object *edj = elm_layout_edje_get(ui->theme); edje_object_part_drag_value_set(edj, "magnet", x, 0.0); edje_object_part_drag_size_set(edj, "magnet", w, z); chimaera_event_t *cev = &ui->cev; if(cev->state == CHIMAERA_STATE_SET) { cev->x = x; cev->z = z; _write_event(ui, cev); } }
static void _opinfo_op_registry_listener(void *data, const E_Fm2_Op_Registry_Entry *ere) { Evas_Object *o = data; char *total, buf[4096]; Edje_Message_Float msg; int mw, mh; if (!o || !ere) return; // Don't show if the operation keep less than 1 second if (!ere->needs_attention && (ere->start_time + 1.0 > ecore_loop_time_get())) return; // Update icon switch (ere->op) { case E_FM_OP_COPY: edje_object_signal_emit(o, "e,action,icon,copy", "e"); break; case E_FM_OP_MOVE: edje_object_signal_emit(o, "e,action,icon,move", "e"); break; case E_FM_OP_REMOVE: edje_object_signal_emit(o, "e,action,icon,delete", "e"); break; case E_FM_OP_SECURE_REMOVE: edje_object_signal_emit(o, "e,action,icon,secure_delete", "e"); break; default: edje_object_signal_emit(o, "e,action,icon,unknown", "e"); } // Update information text switch (ere->status) { case E_FM2_OP_STATUS_ABORTED: switch (ere->op) { case E_FM_OP_COPY: snprintf(buf, sizeof(buf), _("Copying is aborted")); break; case E_FM_OP_MOVE: snprintf(buf, sizeof(buf), _("Moving is aborted")); break; case E_FM_OP_REMOVE: snprintf(buf, sizeof(buf), _("Deleting is aborted")); break; case E_FM_OP_SECURE_REMOVE: snprintf(buf, sizeof(buf), _("Secure deletion is aborted")); break; default: snprintf(buf, sizeof(buf), _("Unknown operation from slave is aborted")); } break; default: total = e_util_size_string_get(ere->total); switch (ere->op) { case E_FM_OP_COPY: if (ere->finished) snprintf(buf, sizeof(buf), _("Copy of %s done"), total); else snprintf(buf, sizeof(buf), _("Copying %s (eta: %s)"), total, e_util_time_str_get(ere->eta)); break; case E_FM_OP_MOVE: if (ere->finished) snprintf(buf, sizeof(buf), _("Move of %s done"), total); else snprintf(buf, sizeof(buf), _("Moving %s (eta: %s)"), total, e_util_time_str_get(ere->eta)); break; case E_FM_OP_REMOVE: if (ere->finished) snprintf(buf, sizeof(buf), _("Delete done")); else snprintf(buf, sizeof(buf), _("Deleting files...")); break; case E_FM_OP_SECURE_REMOVE: if (ere->finished) snprintf(buf, sizeof(buf), _("Secure delete done")); else snprintf(buf, sizeof(buf), _("Securely deleting files...")); break; default: snprintf(buf, sizeof(buf), _("Unknown operation from slave %d"), ere->id); } E_FREE(total); } edje_object_part_text_set(o, "e.text.info", buf); // Update spinner wheel if ((ere->finished) || (ere->status == E_FM2_OP_STATUS_ABORTED)) { if (!evas_object_data_get(o, "stopped")) { evas_object_data_set(o, "stopped", o); edje_object_signal_emit(o, "e,state,busy,stop", "e"); } } if (ere->percent > 0) { if (!evas_object_data_get(o, "started")) { evas_object_data_set(o, "started", o); edje_object_signal_emit(o, "e,state,busy,start", "e"); } } // Show/hide the red attention led if (ere->needs_attention) { if (!evas_object_data_get(o, "attention_started")) { evas_object_data_set(o, "attention_started", o); edje_object_signal_emit(o, "e,state,attention,start", "e"); if (evas_object_data_get(o, "attention_stopped")) evas_object_data_del(o, "attention_stopped"); } } else { if (!evas_object_data_get(o, "attention_stopped")) { evas_object_data_set(o, "attention_stopped", o); edje_object_signal_emit(o, "e,state,attention,stop", "e"); if (evas_object_data_get(o, "attention_started")) evas_object_data_del(o, "attention_started"); } } // Update gauge edje_object_part_drag_size_set(o, "e.gauge.bar", ((double)(ere->percent)) / 100.0, 1.0); msg.val = ((double)(ere->percent)) / 100.0; edje_object_message_send(o, EDJE_MESSAGE_FLOAT, 1, &msg); // resize element to fit the box edje_object_size_min_calc(o, &mw, &mh); e_box_pack_options_set(o, 1, 0, 1, 0, 0.0, 0.0, mw, mh, 9999, mh); evas_object_show(o); }