static E_Widget * _e_widget_image_handle(Enhance *en, EXML_Node *node) { E_Widget *img; char *id; id = ecore_hash_get(node->attributes, "id"); if(!id) return NULL; img = _e_widget_new(en, node, etk_image_new(), id); return img; }
Entrance_Widget ew_image_new(int w, int h) { Entrance_Widget ew = ew_new(); if(ew) { ew->owner = etk_image_new(); ew->box = NULL; etk_widget_size_request_set(ETK_WIDGET(ew->owner), w, h); } return ew; }
/* Initialized the cairo widget */ static void _etk_cairo_constructor(Etk_Cairo *cairo) { Etk_Widget *widget; if (!(widget = ETK_WIDGET(cairo))) return; cairo->cairo.cr = NULL; cairo->cairo.surface = NULL; cairo->min_size.w = 0; cairo->min_size.h = 0; cairo->image = etk_image_new(); etk_widget_internal_set(cairo->image, ETK_TRUE); etk_widget_parent_set(cairo->image, widget); etk_widget_show(cairo->image); widget->size_allocate = _etk_cairo_size_allocate; cairo->redraw_required_handler = _etk_cairo_redraw_required_handler; etk_signal_connect("size-requested", ETK_OBJECT(cairo), ETK_CALLBACK(_etk_cairo_size_requested_cb), NULL); }
Ex_Tab * _ex_tab_new(Exhibit *e, char *dir) { Ex_Tab *tab; Etk_Tree_Model *imodel; char *file; file = NULL; tab = calloc(1, sizeof(Ex_Tab)); //tab->num = eina_list_count(e->tabs); tab->dirs = NULL; if (!dir) { D(("NO DIR\n")); exit(-1); } D(("Creating new tab with %s\n", dir)); if (e->options->default_view == EX_IMAGE_FIT_TO_WINDOW) { tab->fit_window = ETK_TRUE; D(("Setting EX_IMAGE_FIT_TO_WINDOW\n")); } else tab->fit_window = ETK_FALSE; tab->comment.visible = ETK_FALSE; tab->image_loaded = ETK_FALSE; tab->dtree = etk_tree_new(); etk_widget_size_request_set(tab->dtree, 180, 120); etk_signal_connect("row-clicked", ETK_OBJECT(tab->dtree), ETK_CALLBACK(_ex_tab_dtree_item_clicked_cb), e); tab->dcol = etk_tree_col_new(ETK_TREE(tab->dtree), "Directories", 10, 0.0); etk_tree_col_model_add(tab->dcol, etk_tree_model_image_new()); etk_tree_col_model_add(tab->dcol, etk_tree_model_text_new()); etk_tree_headers_visible_set(ETK_TREE(tab->dtree), 0); etk_scrolled_view_policy_set(etk_tree_scrolled_view_get(ETK_TREE(tab->dtree)), ETK_POLICY_AUTO, ETK_POLICY_SHOW); etk_tree_build(ETK_TREE(tab->dtree)); tab->itree = etk_tree_new(); etk_scrolled_view_dragable_set(ETK_SCROLLED_VIEW(etk_tree_scrolled_view_get(ETK_TREE(tab->itree))), ETK_TRUE); etk_scrolled_view_drag_bouncy_set(ETK_SCROLLED_VIEW(etk_tree_scrolled_view_get(ETK_TREE(tab->itree))), ETK_FALSE); etk_scrolled_view_drag_damping_set(ETK_SCROLLED_VIEW(etk_tree_scrolled_view_get(ETK_TREE(tab->itree))), 300); etk_widget_dnd_source_set(ETK_WIDGET(tab->itree), ETK_TRUE); // etk_signal_connect("drag_begin", ETK_OBJECT(tab->itree), ETK_CALLBACK(_ex_tab_tree_drag_begin_cb), tab); etk_widget_size_request_set(tab->itree, 180, 220); etk_tree_multiple_select_set(ETK_TREE(tab->itree), ETK_TRUE); etk_signal_connect("row-selected", ETK_OBJECT(tab->itree), ETK_CALLBACK(_ex_tab_itree_item_clicked_cb), e); etk_signal_connect("key-down", ETK_OBJECT(tab->itree), ETK_CALLBACK(_ex_tab_itree_key_down_cb), e); imodel = etk_tree_model_wobbly_new(); tab->imodel = imodel; //etk_tree_model_image_width_set(imodel, 80, 0.0); tab->icol = etk_tree_col_new(ETK_TREE(tab->itree), "Files", 10, 0.0); etk_tree_col_model_add(tab->icol, imodel); etk_tree_col_model_add(tab->icol, etk_tree_model_text_new()); etk_tree_headers_visible_set(ETK_TREE(tab->itree), 0); etk_tree_rows_height_set(ETK_TREE(tab->itree), 60); etk_scrolled_view_policy_set(etk_tree_scrolled_view_get(ETK_TREE(tab->itree)), ETK_POLICY_AUTO, ETK_POLICY_SHOW); etk_tree_build(ETK_TREE(tab->itree)); tab->dir = _ex_path_normalize(ecore_file_realpath(dir)); tab->alignment = etk_alignment_new(0.5, 0.5, 1.0, 1.0); tab->image = etk_image_new(); etk_widget_theme_file_set(tab->image, PACKAGE_DATA_DIR"/gui.edj"); etk_widget_theme_group_set(tab->image, "image_bg"); etk_signal_connect("mouse-down", ETK_OBJECT(tab->image), ETK_CALLBACK(_ex_image_mouse_down), e); etk_signal_connect("mouse-up", ETK_OBJECT(tab->image), ETK_CALLBACK(_ex_image_mouse_up), e); etk_signal_connect("mouse-move", ETK_OBJECT(tab->image), ETK_CALLBACK(_ex_image_mouse_move), e); etk_signal_connect("mouse-wheel", ETK_OBJECT(tab->image), ETK_CALLBACK(_ex_image_mouse_wheel), e); etk_image_keep_aspect_set(ETK_IMAGE(tab->image), ETK_TRUE); etk_container_add(ETK_CONTAINER(tab->alignment), tab->image); tab->scrolled_view = etk_scrolled_view_new(); etk_scrolled_view_policy_set(ETK_SCROLLED_VIEW(tab->scrolled_view), ETK_POLICY_HIDE, ETK_POLICY_HIDE); etk_scrolled_view_dragable_set(ETK_SCROLLED_VIEW(tab->scrolled_view), ETK_TRUE); etk_scrolled_view_drag_bouncy_set((ETK_SCROLLED_VIEW(tab->scrolled_view)), ETK_FALSE); etk_scrolled_view_add_with_viewport(ETK_SCROLLED_VIEW(tab->scrolled_view), tab->alignment); etk_widget_has_event_object_set(tab->scrolled_view, ETK_TRUE); etk_signal_connect("mouse-wheel", ETK_OBJECT(tab->scrolled_view), ETK_CALLBACK(_ex_image_mouse_wheel), e); return tab; }