summaryrefslogtreecommitdiff
path: root/src/lib/edje/edje_smart.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/edje/edje_smart.c')
-rw-r--r--src/lib/edje/edje_smart.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index 2e905bf2ac..31d761f462 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -350,6 +350,62 @@ _edje_object_evas_object_smart_calculate(Eo *obj EINA_UNUSED, Edje *ed)
_edje_recalc_do(ed);
}
+EOLIAN static void
+_edje_object_part_file_get(Eo *obj EINA_UNUSED, Edje *ed,
+ const char *part,
+ const char **file,
+ const char **group)
+{
+ unsigned int i;
+
+ for (i = 0; i < ed->table_parts_size; i++)
+ {
+ if (!strcmp(ed->table_parts[i]->part->name, part))
+ {
+ if ((ed->table_parts[i]->part->type == EDJE_PART_TYPE_GROUP) &&
+ (ed->table_parts[i]->type == EDJE_RP_TYPE_SWALLOW) &&
+ (ed->table_parts[i]->typedata.swallow) &&
+ (ed->table_parts[i]->typedata.swallow->swallowed_object))
+ {
+ efl_file_get(ed->table_parts[i]->typedata.swallow->swallowed_object,
+ file, group);
+ return;
+ }
+ break;
+ }
+ }
+
+ if (file) *file = NULL;
+ if (group) *group = NULL;
+}
+
+EOLIAN static Eina_Bool
+_edje_object_part_file_set(Eo *obj EINA_UNUSED, Edje *ed,
+ const char *part,
+ const char *file,
+ const char *group)
+{
+ unsigned int i;
+
+ for (i = 0; i < ed->table_parts_size; i++)
+ {
+ if (!strcmp(ed->table_parts[i]->part->name, part))
+ {
+ if ((ed->table_parts[i]->part->type == EDJE_PART_TYPE_GROUP) &&
+ (ed->table_parts[i]->type == EDJE_RP_TYPE_SWALLOW) &&
+ (ed->table_parts[i]->typedata.swallow) &&
+ (ed->table_parts[i]->typedata.swallow->swallowed_object))
+ {
+ return efl_file_set(ed->table_parts[i]->typedata.swallow->swallowed_object,
+ file, group);
+ }
+ break;
+ }
+ }
+
+ return EINA_FALSE;
+}
+
EOLIAN static Eina_Bool
_edje_object_efl_file_file_set(Eo *obj, Edje *ed, const char *file, const char *group)
{