EAPI void
e_widget_button_icon_set(Evas_Object *obj, Evas_Object *icon)
{
   E_Widget_Data *wd;
   int mw, mh;

   wd = e_widget_data_get(obj);
   if (wd->o_icon)
     {
	e_widget_sub_object_del(obj, wd->o_icon);
	evas_object_hide(wd->o_icon);
	edje_object_part_unswallow(wd->o_button, wd->o_icon);
	evas_object_del(wd->o_icon);
	wd->o_icon = NULL;
     }
   if (icon)
     {
	wd->o_icon = icon;
	edje_object_part_swallow(wd->o_button, "e.swallow.icon", icon);
	evas_object_pass_events_set(icon, 1);
	evas_object_show(icon);
	e_widget_sub_object_add(obj, icon);
	wd->type |= E_WIDGET_BUTTON_ICON;
     }
   else
     wd->type = ~(wd->type & E_WIDGET_BUTTON_ICON);
   _e_wid_button_state_send(wd);
   edje_object_size_min_calc(wd->o_button, &mw, &mh);
   e_widget_size_min_set(obj, mw, mh);
}
/* externally accessible functions */
EAPI Evas_Object *
e_widget_label_add(Evas *evas, const char *label)
{
   Evas_Object *obj, *o;
   Evas_Coord mw, mh;
   E_Widget_Data *wd;
   
   obj = e_widget_add(evas);
   e_widget_del_hook_set(obj, _e_wid_del_hook);
   e_widget_disable_hook_set(obj, _e_wid_disable_hook);
   wd = calloc(1, sizeof(E_Widget_Data));
   e_widget_data_set(obj, wd);

   o = edje_object_add(evas);
   e_theme_edje_object_set(o, "base/theme/widgets",
			   "e/widgets/label");
   wd->text = o;
   edje_object_part_text_set(o, "e.text.label", label);
   evas_object_show(o);
   edje_object_size_min_calc(o, &mw, &mh);
   e_widget_can_focus_set(obj, 0);
   e_widget_size_min_set(obj, mw, mh);
   e_widget_sub_object_add(obj, o);
   e_widget_resize_object_set(obj, o);
      
   return obj;
}
/* Updates the text of the text object of the editable object 
 * (it fills it with '*' if the editable is in password mode)
 * It does not update the position of the text */
static void
_e_editable_text_update(Evas_Object *editable)
{
   E_Editable_Smart_Data *sd;
   Evas_Coord minw, minh;

   if ((!editable) || (!(sd = evas_object_smart_data_get(editable))))
     return;

   if (sd->password_mode)
     {
        char *text;

        text = malloc((sd->unicode_length + 1) * sizeof(char));
        memset(text, '*', sd->unicode_length * sizeof(char));
        text[sd->unicode_length] = '\0';
        edje_object_part_text_set(sd->text_object, "e.text.text", text);
        free(text);
     }
   else
     edje_object_part_text_set(sd->text_object, "e.text.text", sd->text);

   edje_object_size_min_calc(sd->text_object, &minw, &minh);
   evas_object_resize(sd->text_object, minw, minh);
}
Beispiel #4
0
static void
_elm_label_smart_sizing_eval(Evas_Object *obj)
{
   Evas_Coord minw = -1, minh = -1;
   Evas_Coord resw, resh;

   ELM_LABEL_DATA_GET(obj, sd);

   if (sd->linewrap)
     {
        evas_object_geometry_get
          (ELM_WIDGET_DATA(sd)->resize_obj, NULL, NULL, &resw, &resh);
        if (resw == sd->lastw) return;
        sd->lastw = resw;
        _recalc(obj);
     }
   else
     {
        evas_event_freeze(evas_object_evas_get(obj));
        evas_object_geometry_get
          (ELM_WIDGET_DATA(sd)->resize_obj, NULL, NULL, &resw, &resh);
        edje_object_size_min_calc
          (ELM_WIDGET_DATA(sd)->resize_obj, &minw, &minh);
        if (sd->wrap_w > 0 && minw > sd->wrap_w) minw = sd->wrap_w;
        evas_object_size_hint_min_set(obj, minw, minh);
        evas_event_thaw(evas_object_evas_get(obj));
        evas_event_thaw_eval(evas_object_evas_get(obj));
     }
}
Beispiel #5
0
/* externally accessible functions */
EAPI Evas_Object *
e_widget_frametable_add(Evas *evas, const char *label, int homogenous)
{
   Evas_Object *obj, *o;
   E_Widget_Data *wd;
   Evas_Coord mw, mh;

   obj = e_widget_add(evas);

   e_widget_del_hook_set(obj, _e_wid_del_hook);
   e_widget_disable_hook_set(obj, _e_wid_disable_hook);
   wd = calloc(1, sizeof(E_Widget_Data));
   e_widget_data_set(obj, wd);

   o = edje_object_add(evas);
   wd->o_frame = o;
   e_theme_edje_object_set(o, "base/theme/widgets",
                           "e/widgets/frame");
   edje_object_part_text_set(o, "e.text.label", label);
   evas_object_show(o);
   e_widget_sub_object_add(obj, o);
   e_widget_resize_object_set(obj, o);

   o = e_table_add(evas);
   wd->o_table = o;
   e_table_homogenous_set(o, homogenous);
   edje_object_part_swallow(wd->o_frame, "e.swallow.content", o);
   e_widget_sub_object_add(obj, o);
   evas_object_show(o);

   edje_object_size_min_calc(wd->o_frame, &mw, &mh);
   e_widget_size_min_set(obj, mw, mh);

   return obj;
}
Beispiel #6
0
EAPI void
e_widget_frametable_object_append(Evas_Object *obj, Evas_Object *sobj, int col, int row, int colspan, int rowspan, int fill_w, int fill_h, int expand_w, int expand_h)
{
   E_Widget_Data *wd;
   Evas_Coord mw = 0, mh = 0;

   wd = e_widget_data_get(obj);

   e_table_pack(wd->o_table, sobj, col, row, colspan, rowspan);
   e_widget_size_min_get(sobj, &mw, &mh);
   e_table_pack_options_set(sobj,
                            fill_w, fill_h, /* fill */
                            expand_w, expand_h, /* expand */
                            0.5, 0.5, /* align */
                            mw, mh, /* min */
                            99999, 99999 /* max */
                            );
   e_table_size_min_get(wd->o_table, &mw, &mh);
   edje_extern_object_min_size_set(wd->o_table, mw, mh);
   edje_object_part_swallow(wd->o_frame, "e.swallow.content", wd->o_table);
   edje_object_size_min_calc(wd->o_frame, &mw, &mh);
   e_widget_size_min_set(obj, mw, mh);
   e_widget_sub_object_add(obj, sobj);
   evas_object_show(sobj);
}
Beispiel #7
0
PREFIX value ml_edje_object_size_min_calc(value v_obj)
{
        int w, h;
        edje_object_size_min_calc((Evas_Object*) v_obj, &w, &h);
        value v = caml_alloc(2, 0);
        Store_field(v, 0, Val_int(w));
        Store_field(v, 1, Val_int(h));
        return v;
}
Beispiel #8
0
Evas_Object *
e_widget_spectrum_add(Evas *evas, E_Color_Component mode, E_Color *cv)
{
    Evas_Object *obj, *o;
    E_Widget_Data *wd;
    Evas_Coord mw, mh;

    obj = e_widget_add(evas);

    e_widget_del_hook_set(obj, _e_wid_del_hook);
    e_widget_focus_hook_set(obj, _e_wid_focus_hook);
    e_widget_disable_hook_set(obj, _e_wid_disable_hook);

    wd = calloc(1, sizeof(E_Widget_Data));
    e_widget_data_set(obj, wd);

    wd->cv = cv;
    wd->mode = mode;

    o = edje_object_add(evas);
    wd->o_edje = o;
    e_theme_edje_object_set(o, "base/theme/widgets",
                            "e/widgets/spectrum");

    evas_object_show(o);
    edje_object_size_min_calc(o, &mw, &mh);
    e_widget_size_min_set(obj, mw, mh);

    e_widget_sub_object_add(obj, o);
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_focus_steal, obj);
    e_widget_resize_object_set(obj, o);
    evas_object_intercept_resize_callback_add(o, _e_wid_resize, wd);
    evas_object_intercept_move_callback_add(o, _e_wid_move, wd);

    o = e_spectrum_add(evas);
    e_spectrum_color_value_set(o, cv);
    e_spectrum_mode_set(o, mode);
    e_widget_sub_object_add(obj, o);
    evas_object_show(o);
    wd->o_spectrum = o;
    edje_object_part_swallow(wd->o_edje, "e.swallow.content", o);

    o = evas_object_rectangle_add(evas);
    evas_object_repeat_events_set(o, EINA_TRUE);
    evas_object_color_set(o, 0, 0, 0, 0);
    e_widget_sub_object_add(obj, o);
    evas_object_show(o);
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_cb_down, obj);
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_MOVE, _e_wid_cb_move, obj);
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP, _e_wid_cb_up, obj);
    wd->o_event = o;

    e_widget_spectrum_update(obj, 0);

    return obj;
}
Beispiel #9
0
static void
_sizing_eval(Evas_Object * obj)
{
	Widget_Data *wd = elm_widget_data_get(obj);
	Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;

	edje_object_size_min_calc(wd->keypad, &minw, &minh);
	evas_object_size_hint_min_set(obj, minw, minh);
	evas_object_size_hint_max_set(obj, maxw, maxh);
}
static void
_gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient)
{
   Instance *inst;
   Evas_Coord mw;

   if (!(inst = gcc->data)) return;
   edje_object_size_min_calc(inst->tclock, &mw, NULL);
   e_gadcon_client_min_size_set(gcc, mw, 16);
}
Beispiel #11
0
static void
_gc_orient (E_Gadcon_Client * gcc, E_Gadcon_Orient orient)
{
   Instance *inst;
   Evas_Coord mw, mh;

   inst = gcc->data;
   edje_object_size_min_calc (inst->empris, &mw, &mh);
   e_gadcon_client_min_size_set (gcc, mw, mh);
}
Beispiel #12
0
/* Text: width_get() */
static int _text_width_get(Etk_Tree_Model *model, void *cell_data, Evas_Object *cell_objects[ETK_TREE_MAX_OBJECTS_PER_MODEL])
{
   int w;

   if (!cell_objects[0])
      return 0;

   edje_object_size_min_calc(cell_objects[0], &w, NULL);
   return w;
}
/* externally accessible functions */
EAPI Evas_Object *
e_widget_button_add(Evas *evas, const char *label, const char *icon, void (*func) (void *data, void *data2), void *data, void *data2)
{
   Evas_Object *obj, *o;
   E_Widget_Data *wd;
   Evas_Coord mw, mh;

   obj = e_widget_add(evas);

   e_widget_del_hook_set(obj, _e_wid_del_hook);
   e_widget_focus_hook_set(obj, _e_wid_focus_hook);
   e_widget_activate_hook_set(obj, _e_wid_activate_hook);
   e_widget_disable_hook_set(obj, _e_wid_disable_hook);
   wd = calloc(1, sizeof(E_Widget_Data));
   wd->func = func;
   wd->data = data;
   wd->data2 = data2;
   e_widget_data_set(obj, wd);

   o = edje_object_add(evas);
   wd->o_button = o;
   e_theme_edje_object_set(o, "base/theme/widgets",
			   "e/widgets/button");
   edje_object_signal_callback_add(o, "e,action,click", "", 
				   _e_wid_signal_cb1, obj);
   if ((label) && (label[0] != 0))
     {
	edje_object_part_text_set(o, "e.text.label", label);
	wd->type |= E_WIDGET_BUTTON_TEXT;
     }

   e_widget_sub_object_add(obj, o);
   evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, 
				  _e_wid_focus_steal, obj);
   e_widget_resize_object_set(obj, o);
   evas_object_show(o);

   if (icon)
     {
	o = e_icon_add(evas);
	wd->o_icon = o;
	e_util_icon_theme_set(o, icon);
	edje_object_part_swallow(wd->o_button, "e.swallow.icon", o);
	e_widget_sub_object_add(obj, o);
	evas_object_show(o);
	wd->type |= E_WIDGET_BUTTON_ICON;
     }

   _e_wid_button_state_send(wd);
   edje_object_size_min_calc(wd->o_button, &mw, &mh);
   e_widget_size_min_set(obj, mw, mh);

   return obj;
}
static void
_size_changed_cb(void *data, Evas_Object *layout, const char *emission, const char *source)
{
   Evas_Object *edje;
   Evas_Coord w, h;

   elm_layout_sizing_eval(layout);
   edje = elm_layout_edje_get(layout);
   edje_object_size_min_calc(edje, &w, &h);
   printf("Minimum size for this theme: %dx%d\n", w, h);
}
EAPI void
e_widget_label_text_set(Evas_Object *obj, const char *text)
{
   E_Widget_Data *wd;
   Evas_Coord mw, mh;

   wd = e_widget_data_get(obj);
   edje_object_part_text_set(wd->text, "e.text.label", text);
   edje_object_size_min_calc(wd->text, &mw, &mh);
   edje_extern_object_min_size_set(wd->text, mw, mh);
}
E_API void
e_widget_preview_size_set(Evas_Object *obj, int minw, int minh)
{
   E_Widget_Data *wd;
   int mw, mh;

   wd = e_widget_data_get(obj);
   e_livethumb_vsize_set(wd->img, minw * 2, minh * 2);
   evas_object_size_hint_min_set(wd->img, minw, minh);
   edje_object_size_min_calc(wd->o_frame, &mw, &mh);
   e_widget_size_min_set(obj, mw, mh);
}
static void
_gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient EINA_UNUSED)
{
   Evas_Coord mw, mh;

   edje_object_size_min_get(gcc->o_base, &mw, &mh);
   if ((mw < 1) || (mh < 1))
     edje_object_size_min_calc(gcc->o_base, &mw, &mh);
   if (mw < 4) mw = 4;
   if (mh < 4) mh = 4;
   e_gadcon_client_aspect_set(gcc, mw, mh);
   e_gadcon_client_min_size_set(gcc, mw, mh);
}
static void
_sizing_eval(Evas_Object *obj)
{
   Widget_Data *wd = elm_widget_data_get(obj);
   Evas_Coord minw = -1, minh = -1;
   Evas_Coord cminw = -1, cminh = -1;
   if (!wd) return;
   edje_object_size_min_calc(wd->frm, &minw, &minh);
   evas_object_size_hint_min_get(obj, &cminw, &cminh);
   if ((minw == cminw) && (minh == cminh)) return;
   evas_object_size_hint_min_set(obj, minw, minh);
   evas_object_size_hint_max_set(obj, -1, -1);
}
Beispiel #19
0
static void
_populate(app_t *app)
{
    FILE *fp;

    if (app->infile) {
        fp = fopen(app->infile, "r");
        if (fp == NULL) {
            fprintf(stderr, "Could not open file for reading \"%s\": %s\n",
                    app->infile, strerror(errno));
            return;
        }
    } else {
        fprintf(stderr, "No input file provided, reading from stdin.\n");
        fp = stdin;
    }

    while (!feof(fp)) {
        Evas_Object *obj;
        Evas_Coord w, h;
        char *line;
        unsigned n;
        int i;

        n = 0;
        line = NULL;
        i = getline(&line, &n, fp);
        if (i < 0)
            break;

        if (i == 0) {
            free(line);
            continue;
        }
        line[i - 1] = '\0';

        obj = _new_list_item(app, line);
        e_box_pack_end(app->e_box, obj);
        edje_object_size_min_calc(obj, &w, &h);
        e_box_pack_options_set(obj, 1, 1, 1, 0, 0.0, 0.5, w, h, 9999, h);
        evas_object_show(obj);

        free(line);
    }

    if (fp != stdin)
        fclose(fp);

    e_box_align_set(app->e_box, 0.0, 1.0);
    app->current = 0;
}
Beispiel #20
0
//Calculate the size of the menu, resize it and display the arrows if needed
static void _eclair_menu_recalc(Eclair_Menu *menu)
{
   Eina_List *l;
   Eclair_Menu_Item *item;
   int w = 0, h = 0, item_w;
   int display_arrows = 0, display_icons = 0;

   if (!menu)
      return;

   //First we show/hide the arrows/icons
   for (l = menu->items; l; l = l->next)
   {
      if (!(item = l->data))
         continue;

      display_arrows |= (item->child != NULL);
      display_icons |= (item->type != ECLAIR_MENU_ITEM_NORMAL_ITEM && item->type != ECLAIR_MENU_ITEM_SEPARATOR_ITEM);
   }
   for (l = menu->items; l; l = l->next)
   {
      if (!(item = l->data))
         continue;

      if (!display_arrows)
         edje_object_signal_emit(item->edje_object, "signal_arrow_invisible", "eclair_bin");
      else if (item->child)
         edje_object_signal_emit(item->edje_object, "signal_arrow_visible", "eclair_bin");
      else
         edje_object_signal_emit(item->edje_object, "signal_arrow_spacer", "eclair_bin");

      if (display_icons)
         edje_object_signal_emit(item->edje_object, "signal_icon_visible", "eclair_bin");
      else
         edje_object_signal_emit(item->edje_object, "signal_icon_invisible", "eclair_bin");
   }

   //Then we resize the menu
   for (l = menu->items; l; l = l->next)
   {
      if (!(item = l->data))
         continue;

      edje_object_size_min_calc(item->edje_object, &item_w, &item->height);
      if (w < item_w)
         w = item_w;
      h += item->height;
   }
   ecore_evas_resize(menu->window, w, h);
}
Beispiel #21
0
/* Text: render() */
static Etk_Bool _text_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)
{
   char **text_data;
   int th;

   if (!(text_data = cell_data) || !cell_objects[0])
      return ETK_FALSE;

   edje_object_part_text_set(cell_objects[0], "etk.text.label", *text_data);
   edje_object_size_min_calc(cell_objects[0], NULL, &th);
   evas_object_move(cell_objects[0], geometry.x, geometry.y + ((geometry.h - th) / 2));
   evas_object_resize(cell_objects[0], geometry.w, geometry.h);
   evas_object_show(cell_objects[0]);

   return ETK_FALSE;
}
EAPI void
e_widget_button_label_set(Evas_Object *obj, const char *label)
{
   E_Widget_Data *wd;
   int mw, mh;

   wd = e_widget_data_get(obj);
   edje_object_part_text_set(wd->o_button, "e.text.label", label);
   if ((label) && (label[0] != 0))
     wd->type |= E_WIDGET_BUTTON_TEXT;
   else
     wd->type = ~(wd->type & E_WIDGET_BUTTON_TEXT);
   _e_wid_button_state_send(wd);
   edje_object_size_min_calc(wd->o_button, &mw, &mh);
   e_widget_size_min_set(obj, mw, mh);
}
Beispiel #23
0
static void
_empris_popup_create (Instance * inst, const char *dir)
{
   Evas *evas;
   Evas_Object *o_popup;
   char buf[4096];
  
   if (inst->ci->show_popup)
     {
	inst->popup = e_gadcon_popup_new (inst->gcc);
	evas = inst->popup->win->evas;
	o_popup = edje_object_add (evas);
	if (!e_theme_edje_object_set
	    (o_popup, "base/theme/modules/empris", "modules/empris/popup"))
	  {
	     if (dir)
	       {
		  edje_object_file_set (o_popup, dir, "modules/empris/popup");
	       }
	     else
	       {
		  snprintf(buf, sizeof(buf), "%s/empris.edj",
			   e_module_dir_get(empris_config->module));
		  edje_object_file_set(o_popup, buf, "modules/empris/popup");
	       }
	  }
	evas_object_show (o_popup);
	e_gadcon_popup_content_set (inst->popup, o_popup);
	edje_object_size_min_calc (o_popup, NULL, NULL);
	inst->o_popup = o_popup;
	edje_object_signal_callback_add (o_popup, "empris,play", "",
					 _empris_cb_play, inst);
	edje_object_signal_callback_add (o_popup, "empris,stop", "",
					 _empris_cb_stop, inst);
	edje_object_signal_callback_add (o_popup, "empris,pause", "",
					 _empris_cb_pause, inst);
	edje_object_signal_callback_add (o_popup, "empris,next", "",
					 _empris_cb_next, inst);
	edje_object_signal_callback_add (o_popup, "empris,previous", "",
					 _empris_cb_previous, inst);
     }
   else
     {
	inst->popup = NULL;
	inst->o_popup = NULL;
     }
}
Beispiel #24
0
EAPI void
e_icon_size_get(const Evas_Object *obj, int *w, int *h)
{
   E_Smart_Data *sd;

   if (evas_object_smart_smart_get(obj) != _e_smart) SMARTERRNR();
   if (!(sd = evas_object_smart_data_get(obj)))
     {
        if (w) *w = 0;
        if (h) *h = 0;
        return;
     }
   if (sd->edje)
     edje_object_size_min_calc(sd->obj, w, h);
   else
     evas_object_image_size_get(sd->obj, w, h);
}
Beispiel #25
0
/* Double: render() */
static Etk_Bool _double_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)
{
   double *double_data;
   char string[256];
   int th;

   if (!(double_data = cell_data) || !model || !cell_objects[0])
      return ETK_FALSE;

   snprintf(string, 255, "%.2f", *double_data);
   edje_object_part_text_set(cell_objects[0], "etk.text.label", string);
   edje_object_size_min_calc(cell_objects[0], NULL, &th);
   evas_object_move(cell_objects[0], geometry.x, geometry.y + ((geometry.h - th) / 2));
   evas_object_resize(cell_objects[0], geometry.w, geometry.h);
   evas_object_show(cell_objects[0]);

   return ETK_FALSE;
}
static void
_gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient EINA_UNUSED)
{
   Instance *inst;
   Evas_Coord mw, mh, mxw, mxh;

   inst = gcc->data;
   mw = 0, mh = 0;
   edje_object_size_min_get(inst->o_battery, &mw, &mh);
   edje_object_size_max_get(inst->o_battery, &mxw, &mxh);
   if ((mw < 1) || (mh < 1))
     edje_object_size_min_calc(inst->o_battery, &mw, &mh);
   if (mw < 4) mw = 4;
   if (mh < 4) mh = 4;
   if ((mxw > 0) && (mxh > 0))
     e_gadcon_client_aspect_set(gcc, mxw, mxh);
   e_gadcon_client_min_size_set(gcc, mw, mh);
}
Beispiel #27
0
/* Private Functions */
static void 
_e_toolbar_smart_add(Evas_Object *obj) 
{
   Evas *evas;
   E_Toolbar_Smart_Data *sd;
   Evas_Object *o;
   char buf[4096];
   
   if ((!obj) || !(evas = evas_object_evas_get(obj))) return;
   
   sd = malloc(sizeof(E_Toolbar_Smart_Data));
   if (!sd) return;
   sd->valign = 0.0;
   sd->path = NULL;
   
   evas_object_smart_data_set(obj, sd);

   snprintf(buf, sizeof(buf), "%s/fileman.edj", e_module_dir_get(conf_module));
   
   o = edje_object_add(evas);
   sd->o_base = o;
   if (!e_theme_edje_object_set(o, "base/theme/modules/fileman", 
				"modules/fileman/toolbar"))
     edje_object_file_set(o, buf, "modules/fileman/toolbar");
   evas_object_smart_member_add(o, obj);
   edje_object_size_min_calc(o, &sd->w, &sd->h);

   o = e_widget_button_add(evas, _("Up"), "widget/up_dir", 
			   _e_toolbar_btn_cb, obj, NULL);
   sd->o_btn = o;
   edje_object_part_swallow(sd->o_base, "e.swallow.button", o);
   evas_object_show(o);
   
   edje_object_part_text_set(sd->o_base, "e.text.location", _("Location:"));

   o = e_widget_entry_add(evas, &(sd->path), NULL, NULL, NULL);
   sd->o_entry = o;
   edje_object_part_swallow(sd->o_base, "e.swallow.entry", o);
   evas_object_show(o);
   
   evas_object_smart_callback_add(sd->o_entry, "key_down", 
				  _e_toolbar_key_down_cb, obj);
}
Beispiel #28
0
static void
_e_gadcon_popup_size_recalc(E_Gadcon_Popup *pop, Evas_Object *obj)
{
   Evas_Coord w = 0, h = 0;

   e_widget_size_min_get(obj, &w, &h);
   if ((!w) || (!h)) evas_object_size_hint_min_get(obj, &w, &h);
   if ((!w) || (!h))
     {
        edje_object_size_min_get(obj, &w, &h);
        edje_object_size_min_restricted_calc(obj, &w, &h, w, h);
     }
   edje_extern_object_min_size_set(obj, w, h);
   edje_object_size_min_calc(pop->o_bg, &pop->w, &pop->h);
   evas_object_resize(pop->o_bg, pop->w, pop->h);

   if (pop->win->visible)
     _e_gadcon_popup_position(pop);
}
Beispiel #29
0
EAPI void
e_widget_frametable_object_append_full(Evas_Object *obj, Evas_Object *sobj, int col, int row, int colspan, int rowspan, int fill_w, int fill_h, int expand_w, int expand_h, double align_x, double align_y, Evas_Coord min_w, Evas_Coord min_h, Evas_Coord max_w, Evas_Coord max_h)
{
   E_Widget_Data *wd = e_widget_data_get(obj);
   Evas_Coord mw = 0, mh = 0;

   e_table_pack(wd->o_table, sobj, col, row, colspan, rowspan);
   e_table_pack_options_set(sobj,
                            fill_w, fill_h,
                            expand_w, expand_h,
                            align_x, align_y,
                            min_w, min_h,
                            max_w, max_h
                            );
   e_table_size_min_get(wd->o_table, &mw, &mh);
   edje_extern_object_min_size_set(wd->o_table, mw, mh);
   edje_object_part_swallow(wd->o_frame, "e.swallow.content", wd->o_table);
   edje_object_size_min_calc(wd->o_frame, &mw, &mh);
   e_widget_size_min_set(obj, mw, mh);
   e_widget_sub_object_add(obj, sobj);
   evas_object_show(sobj);
}
Beispiel #30
0
/* externally accessible functions */
EAPI Evas_Object *
e_widget_preview_add(Evas *evas, int minw, int minh)
{
   Evas_Object *obj;
   E_Widget_Data *wd;
   Evas_Coord mw, mh;

   obj = e_widget_add(evas);
   e_widget_del_hook_set(obj, _e_wid_del_hook);

   wd = E_NEW(E_Widget_Data, 1);
   if (!wd) return NULL;

   wd->obj = obj;

   wd->o_frame = edje_object_add(evas);
   e_theme_edje_object_set(wd->o_frame, "base/theme/widgets",
                           "e/widgets/preview");
   evas_object_show(wd->o_frame);
   e_widget_sub_object_add(obj, wd->o_frame);
   e_widget_resize_object_set(obj, wd->o_frame);

   wd->img = e_livethumb_add(evas);
   e_livethumb_vsize_set(wd->img, minw * 2, minh * 2);
   edje_extern_object_min_size_set(wd->img, minw, minh);
   /* Why do we set max size? This prevents from being nicely resized. */
   /* edje_extern_object_max_size_set(o, minw, minh); */
//   evas_object_show(wd->img);
   edje_object_part_swallow(wd->o_frame, "e.swallow.content", wd->img);
   e_widget_sub_object_add(obj, wd->img);

   e_widget_data_set(obj, wd);
   e_widget_can_focus_set(obj, 0);
   edje_object_size_min_calc(wd->o_frame, &mw, &mh);
   e_widget_size_min_set(obj, mw, mh);

   return obj;
}