void _icon_editor_gui_update() { char *tmp; Evas_Object *im_obj; void *im_data = NULL; int im_w = 0, im_h = 0; tmp = icon_editor_exec_get(); ewl_entry_text_set(EWL_ENTRY(editor->exec.entry), tmp); free(tmp); /* FIXME: set the name */ im_obj = EWL_IMAGE(editor->icon_image)->image; icon_editor_image_data_get(&im_data, &im_w, &im_h); if (!im_data) return; evas_object_image_size_set(im_obj, im_w, im_h); evas_object_image_data_copy_set(im_obj, im_data); evas_object_image_alpha_set(im_obj, 1); evas_object_image_data_update_add(im_obj, 0, 0, im_w, im_h); evas_object_image_fill_set(im_obj, 0, 0, im_w, im_h); printf("wxh: %d x %d\n", im_w, im_h); ewl_object_size_request(EWL_OBJECT(editor->icon_image), im_w, im_h); ewl_object_maximum_size_set(EWL_OBJECT(editor->icon_image), im_w, im_h); ewl_object_minimum_size_set(EWL_OBJECT(editor->icon_image), im_w, im_h); }
/** * @param d: dialog to change the icon * @param theme_icon: the name of the theme icon * @return Returns no value. * @brief Changes the icon of the dialog. * * Changes the icon to the given string. @p theme_icon can be any icon that * is defined in the ewl_theme_icon.h file. If @p theme_icon is @c NULL * no icon will be create or an existing icon will be destroyed. */ void ewl_icondialog_icon_set(Ewl_Icondialog *d, const char *theme_icon) { const char *image; int size; DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(d); DCHECK_TYPE(d, EWL_ICONDIALOG_TYPE); /* * if there is no icon destroy the existing one and we are done */ if (!theme_icon) { if (d->icon) ewl_widget_destroy(d->icon); DRETURN(DLEVEL_STABLE); } /* get the size from the theme or set a default value */ size = ewl_theme_data_int_get(EWL_WIDGET(d), "icon_size"); if (!size) size = 64; /* get the file for the image */ image = ewl_icon_theme_icon_path_get(theme_icon, size); if (!image) DRETURN(DLEVEL_STABLE); /* and finally create the icon */ d->icon = ewl_image_new(); ewl_image_file_set(EWL_IMAGE(d->icon), image, NULL); ewl_object_minimum_size_set(EWL_OBJECT(d->icon), size, size); /* we need to reset the container redirect before we can add the icon */ ewl_container_redirect_set(EWL_CONTAINER(d->dialog.vbox), NULL); ewl_container_child_prepend(EWL_CONTAINER(d->dialog.vbox), d->icon); ewl_container_redirect_set(EWL_CONTAINER(d->dialog.vbox), EWL_CONTAINER(d->vbox)); ewl_widget_show(d->icon); DLEAVE_FUNCTION(DLEVEL_STABLE); }
void mime_add_dialog_show(char* type, char* exe) { Ewl_Widget* layout_box = ewl_vbox_new(); Ewl_Widget* window = ewl_window_new(); Ewl_Widget* hbox; Ewl_Widget* label; Ewl_Widget* button; ewl_widget_show(layout_box); ewl_object_minimum_size_set(EWL_OBJECT(window), 400, 150); ewl_container_child_append(EWL_CONTAINER(window), layout_box); /*---*/ hbox = ewl_hbox_new(); ewl_widget_show(hbox); ewl_container_child_append(EWL_CONTAINER(layout_box), hbox); label = ewl_label_new(); ewl_label_text_set(EWL_LABEL(label), "MIME Type"); ewl_widget_show(label); ewl_container_child_append(EWL_CONTAINER(hbox), label); entry_type = ewl_entry_new(); if (type) ewl_text_text_set(EWL_TEXT(entry_type), type); ewl_container_child_append(EWL_CONTAINER(hbox), entry_type); ewl_widget_show(entry_type); /*---*/ /*---*/ hbox = ewl_hbox_new(); ewl_widget_show(hbox); ewl_container_child_append(EWL_CONTAINER(layout_box), hbox); label = ewl_label_new(); ewl_label_text_set(EWL_LABEL(label), "Action"); ewl_widget_show(label); ewl_container_child_append(EWL_CONTAINER(hbox), label); entry_action = ewl_entry_new(); if (exe) ewl_text_text_set(EWL_TEXT(entry_action), exe); ewl_container_child_append(EWL_CONTAINER(hbox), entry_action); ewl_widget_show(entry_action); /*---*/ hbox = ewl_hbox_new(); ewl_widget_show(hbox); ewl_container_child_append(EWL_CONTAINER(layout_box), hbox); button = ewl_button_new(); ewl_button_label_set(EWL_BUTTON(button), "Add"); ewl_object_maximum_h_set(EWL_OBJECT(button), 15); ewl_callback_append(button, EWL_CALLBACK_CLICKED, mime_add_cb, window); ewl_container_child_append(EWL_CONTAINER(hbox), button); ewl_widget_show(button); button = ewl_button_new(); ewl_button_label_set(EWL_BUTTON(button), "Cancel"); ewl_object_maximum_h_set(EWL_OBJECT(button), 15); ewl_callback_append(button, EWL_CALLBACK_CLICKED, window_dismiss_cb, window); ewl_container_child_append(EWL_CONTAINER(hbox), button); ewl_widget_show(button); ewl_widget_show(window); }
void entropy_ewl_mime_dialog_display() { Ewl_Widget* window = ewl_window_new(); Ewl_Widget* box = ewl_vbox_new(); Ewl_Widget* button = ewl_button_new(); Ewl_Widget* hbox; entropy_core* core = entropy_core_get_core(); char* entries[3]; char* key; entropy_mime_action* action; Ecore_List* keys; last_select_text = NULL; /*Init the mime tree*/ mime_tree = ewl_tree_new(2); ewl_tree_mode_set(EWL_TREE(mime_tree), EWL_SELECTION_MODE_SINGLE); ewl_object_minimum_size_set(EWL_OBJECT(window), 530, 400); ewl_window_title_set(EWL_WINDOW(window), "Edit MIME Actions.."); ewl_container_child_append(EWL_CONTAINER(window), box); ewl_container_child_append(EWL_CONTAINER(box), mime_tree); ewl_widget_show(box); keys = ecore_hash_keys(core->mime_action_hint); while ((key = ecore_list_first_remove(keys))) { Ewl_Widget* row; entries[0] = key; entries[1] = ((entropy_mime_action*)ecore_hash_get(core->mime_action_hint, key))->executable; entries[2] = NULL; row = ewl_tree_text_row_add(EWL_TREE(mime_tree), NULL,entries); ewl_widget_color_set(row,0,0,0,255); ewl_callback_append(row, EWL_CALLBACK_MOUSE_DOWN, mime_row_click_cb, key); } ecore_list_destroy(keys); hbox = ewl_hbox_new(); ewl_container_child_append(EWL_CONTAINER(box), hbox); ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_SHRINK); ewl_widget_show(hbox); /*Add Button*/ ewl_button_label_set(EWL_BUTTON(button), "Add MIME Action"); ewl_object_maximum_h_set(EWL_OBJECT(button), 15); ewl_callback_append(button, EWL_CALLBACK_CLICKED, entropy_ewl_mime_add_display_cb, NULL); ewl_container_child_append(EWL_CONTAINER(hbox), button); ewl_widget_show(button); /*OK Button*/ button = ewl_button_new(); ewl_button_label_set(EWL_BUTTON(button), "Close"); ewl_object_maximum_h_set(EWL_OBJECT(button), 15); ewl_callback_append(button, EWL_CALLBACK_CLICKED, window_dismiss_cb, window); ewl_container_child_append(EWL_CONTAINER(hbox), button); ewl_widget_show(button); ewl_widget_show(window); ewl_widget_show(mime_tree); }
static EWL_CALLBACK_DEFN(fg_mouse_move) { Ewler_Widget *ewler_w = user_data; Ewl_Embed *embed; Ewl_Event_Mouse_Move *ev = ev_data; if( ewler_w->mouse.state & EWLER_WIDGET_MOUSE_DOWN && ewler_w->mouse.button == 1 ) { int dx = ev->x - ewler_w->mouse.state_x; int dy = ev->y - ewler_w->mouse.state_y; if( ewler_w->source ) { int *x, *y, *u, *v; x = &ewler_w->corners.x; y = &ewler_w->corners.y; u = &ewler_w->corners.u; v = &ewler_w->corners.v; if( strstr( ewler_w->source, "left" ) ) *x += dx; if( strstr( ewler_w->source, "right" ) ) *u += dx; if( strstr( ewler_w->source, "top" ) ) { if( ev->modifiers & EWL_KEY_MODIFIER_CTRL ) *y = *v - *u + *x; else *y += dy; } if( strstr( ewler_w->source, "bottom" ) ) { if( ev->modifiers & EWL_KEY_MODIFIER_CTRL ) *v = *y + *u - *x; else *v += dy; } if( *u < *x ) *u = *x; if( *v < *y ) *v = *y; ewl_object_preferred_inner_size_set(EWL_OBJECT(ewler_w->fg), *u - *x, *v - *y); ewl_object_minimum_size_set(EWL_OBJECT(ewler_w->fg), *u - *x, *v - *y); ewl_object_geometry_request(EWL_OBJECT(ewler_w->fg), *x, *y, *u - *x, *v - *y); ewl_object_preferred_inner_size_set(EWL_OBJECT(ewler_w->bg), *u - *x, *v - *y); ewl_object_minimum_size_set(EWL_OBJECT(ewler_w->fg), *u - *x, *v - *y); ewl_object_geometry_request(EWL_OBJECT(ewler_w->fg), *x, *y, *u - *x, *v - *y); ewl_object_preferred_inner_size_set(EWL_OBJECT(ewler_w->w), *u - *x, *v - *y); ewl_object_minimum_size_set(EWL_OBJECT(ewler_w->w), *u - *x, *v - *y); ewl_object_geometry_request(EWL_OBJECT(ewler_w->w), *x, *y, *u - *x, *v - *y); ewler_w->mouse.state_x = ev->x; ewler_w->mouse.state_y = ev->y; } else { Ecore_List *selected; selected = form_selected(); if( selected ) { ecore_list_first_goto(selected); while( (ewler_w = ecore_list_next(selected)) ) { ewl_object_position_request(EWL_OBJECT(ewler_w->bg), CURRENT_X(ewler_w->bg) + dx, CURRENT_Y(ewler_w->bg) + dy); ewl_object_position_request(EWL_OBJECT(ewler_w->fg), CURRENT_X(ewler_w->fg) + dx, CURRENT_Y(ewler_w->fg) + dy); ewl_object_position_request(EWL_OBJECT(ewler_w->w), CURRENT_X(ewler_w->w) + dx, CURRENT_Y(ewler_w->w) + dy); ewler_w->mouse.state_x = ev->x; ewler_w->mouse.state_y = ev->y; } } } } embed = ewl_embed_widget_find(w); if( embed ) evas_event_feed_mouse_move(embed->evas, ev->x, ev->y, 0, NULL); }