*/
#include <string.h>
-
#include "edje_private.h"
-
+typedef struct _Edje_Box_Layout Edje_Box_Layout;
struct _Edje_Box_Layout
{
- EINA_RBTREE;
- Evas_Object_Box_Layout func;
- void *(*layout_data_get)(void *);
- void (*layout_data_free)(void *);
- void *data;
- void (*free_data)(void *);
- char name[];
+ EINA_RBTREE;
+ Evas_Object_Box_Layout func;
+ void *(*layout_data_get)(void *);
+ void (*layout_data_free)(void *);
+ void *data;
+ void (*free_data)(void *);
+ char name[];
};
-typedef struct _Edje_Box_Layout Edje_Box_Layout;
-
static Eina_Hash *_edje_color_class_hash = NULL;
static Eina_Hash *_edje_color_class_member_hash = NULL;
int _edje_freeze_calc_count = 0;
typedef struct _Edje_List_Foreach_Data Edje_List_Foreach_Data;
-
struct _Edje_List_Foreach_Data
{
Eina_List *list;
/************************** API Routines **************************/
-/* FIXDOC: These all need to be looked over, Verified/Expanded upon. I just got lazy and stopped putting FIXDOC next to each function in this file. */
+/* FIXDOC: These all need to be looked over, Verified/Expanded upon.
+ I just got lazy and stopped putting FIXDOC next to each function in this file. */
//#define FASTFREEZE 1
edje_thaw(void)
{
Evas_Object *data;
+
#ifdef FASTFREEZE
_edje_freeze_val--;
printf("fr -- ->%i\n", _edje_freeze_val);
for (i = 0; i < ed->table_parts_size; i++)
{
Edje_Real_Part *rp;
+
rp = ed->table_parts[i];
if (rp->part->type == EDJE_PART_TYPE_GROUP && rp->swallowed_object)
edje_object_thaw(rp->swallowed_object);
free(cc);
return;
}
- if (!_edje_color_class_hash) _edje_color_class_hash = eina_hash_string_superfast_new(NULL);
+ if (!_edje_color_class_hash)
+ _edje_color_class_hash = eina_hash_string_superfast_new(NULL);
eina_hash_add(_edje_color_class_hash, color_class, cc);
}
for (i = 0; i < ed->table_parts_size; i++)
{
Edje_Real_Part *rp;
+
rp = ed->table_parts[i];
if (rp->part->type == EDJE_PART_TYPE_GROUP && rp->swallowed_object)
- edje_object_color_class_set(rp->swallowed_object, color_class, r, g, b, a, r2, g2, b2, a2, r3, g3, b3, a3);
+ edje_object_color_class_set(rp->swallowed_object, color_class,
+ r, g, b, a, r2, g2, b2, a2, r3, g3, b3,
+ a3);
}
_edje_recalc(ed);
for (i = 0; i < ed->table_parts_size; i++)
{
Edje_Real_Part *rp;
+
rp = ed->table_parts[i];
if (rp->part->type == EDJE_PART_TYPE_GROUP && rp->swallowed_object)
edje_object_color_class_del(rp->swallowed_object, color_class);
memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
eina_hash_foreach(_edje_text_class_member_hash,
_edje_text_class_list_foreach, &fdata);
-
return fdata.list;
}
for (i = 0; i < ed->table_parts_size; i++)
{
Edje_Real_Part *rp;
+
rp = ed->table_parts[i];
if (rp->part->type == EDJE_PART_TYPE_GROUP && rp->swallowed_object)
- edje_object_text_class_set(rp->swallowed_object, text_class, font, size);
+ edje_object_text_class_set(rp->swallowed_object, text_class,
+ font, size);
}
/* Add to edje's text class list */
for (i = 0; i < ed->table_parts_size; i++)
{
Edje_Real_Part *rp;
+
rp = ed->table_parts[i];
if (rp->part->type == EDJE_PART_TYPE_GROUP && rp->swallowed_object)
edje_object_text_change_cb_set(rp->swallowed_object, func, data);
{
size_t len;
const char *str;
+
if (last)
{
len = text - last;
size_t len;
const char *str = evas_textblock_escape_string_range_get
(escape_start, text);
+
if (str)
len = strlen(str);
else
else if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
{
char *text = _edje_text_escape(text_to_escape);
+
_edje_object_part_text_raw_set(obj, rp, part, text);
free(text);
}
return NULL;
}
-
/** Returns the selection text of the object part
* @param obj A valid Evas_Object handle
* @param part The part name
void
_edje_box_init(void)
{
+
}
void
_edje_box_child_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *child __UNUSED__, void *einfo __UNUSED__)
{
Edje_Real_Part *rp = data;
+
rp->edje->dirty = 1;
_edje_recalc(rp->edje);
}
_edje_real_part_box_remove_all(Edje_Real_Part *rp, Eina_Bool clear)
{
Eina_List *children;
- int i;
+ int i = 0;
- i = 0;
children = evas_object_box_children_get(rp->object);
while (children)
{
_edje_table_child_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *child __UNUSED__, void *einfo __UNUSED__)
{
Edje_Real_Part *rp = data;
+
rp->edje->dirty = 1;
_edje_recalc(rp->edje);
}
Eina_Bool
_edje_real_part_table_pack(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
{
- Eina_Bool ret = evas_object_table_pack(rp->object, child_obj, col, row, colspan, rowspan);
+ Eina_Bool ret =
+ evas_object_table_pack(rp->object, child_obj, col, row, colspan, rowspan);
_edje_table_child_add(rp, child_obj);
while (children)
{
Evas_Object *child_obj = children->data;
+
_edje_table_child_remove(rp, child_obj);
if (!evas_object_data_get(child_obj, "\377 edje.table_item"))
{
{
Edje_Real_Part *rp;
char **path;
+
path = ecore_str_split(part, EDJE_PART_PATH_SEPARATOR_STRING, 0);
if (!path) return NULL;
_edje_real_part_recursive_get_helper(Edje *ed, char **path)
{
Edje_Real_Part *rp;
+
//printf(" lookup: %s on %s\n", path[0], ed->parent ? ed->parent : "-");
rp = _edje_real_part_get(ed, path[0]);
if (path[1] == NULL) return rp;
if ((!ed) || (!color_class)) return;
members = eina_hash_find(_edje_color_class_member_hash, color_class);
if (members)
- {
- eina_hash_del(_edje_color_class_member_hash, color_class, members);
- }
+ eina_hash_del(_edje_color_class_member_hash, color_class, members);
members = eina_list_prepend(members, ed);
if (!_edje_color_class_member_hash) _edje_color_class_member_hash = eina_hash_string_superfast_new(NULL);
eina_hash_del(_edje_color_class_member_hash, color_class, members);
members = eina_list_remove(members, ed);
if (members)
- {
- eina_hash_add(_edje_color_class_member_hash, color_class, members);
- }
+ eina_hash_add(_edje_color_class_member_hash, color_class, members);
}
/**
/* Remove members list */
if (members)
- {
- eina_hash_del(_edje_text_class_member_hash, text_class, members);
- }
+ eina_hash_del(_edje_text_class_member_hash, text_class, members);
/* Update the member list */
members = eina_list_prepend(members, ed);
/* Add the member list back */
- if (!_edje_text_class_member_hash) _edje_text_class_member_hash = eina_hash_string_superfast_new(NULL);
+ if (!_edje_text_class_member_hash)
+ _edje_text_class_member_hash = eina_hash_string_superfast_new(NULL);
eina_hash_add(_edje_text_class_member_hash, text_class, members);
}
members = eina_list_remove(members, ed);
if (members)
- {
- eina_hash_add(_edje_text_class_member_hash, text_class, members);
- }
+ eina_hash_add(_edje_text_class_member_hash, text_class, members);
}
void
_edje_unblock(Edje *ed)
{
int ret = 0;
+
if (!ed) return ret;
ed->block--;
rp->edje->obj);
type = (char *)evas_object_type_get(obj_swallow);
rp->swallow_params.min.w = 0;
- rp->swallow_params.min.w = 0;
+ rp->swallow_params.min.h = 0;
rp->swallow_params.max.w = -1;
rp->swallow_params.max.h = -1;
if ((type) && (!strcmp(type, "edje")))
if (h2 > 0) rp->swallow_params.max.h = h2;
switch (am)
{
- case EVAS_ASPECT_CONTROL_NONE: rp->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_NONE; break;
- case EVAS_ASPECT_CONTROL_NEITHER: rp->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_NEITHER; break;
- case EVAS_ASPECT_CONTROL_HORIZONTAL: rp->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_HORIZONTAL; break;
- case EVAS_ASPECT_CONTROL_VERTICAL: rp->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_VERTICAL; break;
- case EVAS_ASPECT_CONTROL_BOTH: rp->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_BOTH; break;
- default: break;
+ case EVAS_ASPECT_CONTROL_NONE:
+ rp->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_NONE;
+ break;
+ case EVAS_ASPECT_CONTROL_NEITHER:
+ rp->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_NEITHER;
+ break;
+ case EVAS_ASPECT_CONTROL_HORIZONTAL:
+ rp->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_HORIZONTAL;
+ break;
+ case EVAS_ASPECT_CONTROL_VERTICAL:
+ rp->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_VERTICAL;
+ break;
+ case EVAS_ASPECT_CONTROL_BOTH:
+ rp->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_BOTH;
+ break;
+ default:
+ break;
}
rp->swallow_params.aspect.w = aw;
rp->swallow_params.aspect.h = ah;