Пример #1
0
void 
tree_populate(void)
{
   Eina_List *parts, *pp;
   Eina_List *progs;

   etk_tree_freeze(ETK_TREE(UI_PartsTree));
   etk_tree_clear(ETK_TREE(UI_PartsTree));

   parts = pp = edje_edit_parts_list_get(edje_o);
   while(pp)
   {
      printf("  P: %s\n", (char*)pp->data);
      tree_part_add((char*)pp->data, NULL);
      pp = pp->next;
   }
   edje_edit_string_list_free(parts);

   progs = pp = edje_edit_programs_list_get(edje_o);
   while(pp)
   {
      tree_program_add((char*)pp->data);
      pp = pp->next;
   }
   edje_edit_string_list_free(progs);

   etk_tree_row_select(etk_tree_first_row_get (ETK_TREE(UI_PartsTree)));
   etk_tree_thaw(ETK_TREE(UI_PartsTree));
}
Пример #2
0
static Eina_Bool
_parts_parse(Evas_Object *ed)
{
   Eina_List *parts, *l;
   const char *name, *description;
   char *apiname;
   Edje_Part_Type type;
   Eina_Bool ret = EINA_TRUE;

   parts = edje_edit_parts_list_get(ed);
   EINA_LIST_FOREACH(parts, l, name)
     {
	if (!(apiname = _part_api_name_get(ed, name)))
	  {
	     DBG("filter out part '%s': not API.", name);
	     continue;
	  }

	type = edje_edit_part_type_get(ed, name);
	if ((type != EDJE_PART_TYPE_SWALLOW) &&
	    (type != EDJE_PART_TYPE_TEXT)    &&
	    (type != EDJE_PART_TYPE_BOX)     &&
	    (type != EDJE_PART_TYPE_TABLE))
	  {
	     free(apiname);
	     continue;
	  }

	description = edje_edit_part_api_description_get(ed, name);
	if (!_part_write(apiname, name, description, type))
	  {
	     ret = EINA_FALSE;
	     edje_edit_string_free(description);
	     free(apiname);
	     break;
	  }

	edje_edit_string_free(description);
	free(apiname);
     }

   edje_edit_string_list_free(parts);
   return ret;
}