Ejemplo n.º 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));
}
Ejemplo n.º 2
0
void
image_tweenlist_populate(void)
{
   Eina_List *tweens, *l;
   Etk_Tree_Col *col;

   if (!etk_string_length_get(Cur.state)) return;
   if (!etk_string_length_get(Cur.part)) return;

   col = etk_tree_nth_col_get(ETK_TREE(UI_ImageTweenList), 0);

   etk_tree_clear(ETK_TREE(UI_ImageTweenList));

   tweens = l = edje_edit_state_tweens_list_get(edje_o, Cur.part->string, Cur.state->string);
   while (l)
   {
      //printf("RET: %s (id: %d)\n", l->data, edje_edit_image_id_get(edje_o, l->data));
      //snprintf(buf, sizeof(buf), "images/%d", edje_edit_image_id_get(edje_o, l->data)); TODO: find a way to append image directly from the edje file.
      etk_tree_row_append(ETK_TREE(UI_ImageTweenList), NULL,
                          col, NULL, NULL, l->data,
                          NULL);
      l = l->next;
   }
   edje_edit_string_list_free(tweens);
}
Ejemplo n.º 3
0
void
gradient_spectra_combo_populate(void)
{
   Eina_List *spectrums, *l;
   Etk_Widget *parent;

   //Block signal propagation
   etk_signal_block("item-activated", ETK_OBJECT(UI_GradientSpectraComboBox),
                    ETK_CALLBACK(_gradient_spectra_combo_activated_cb), NULL);

   etk_combobox_clear(ETK_COMBOBOX(UI_GradientSpectraComboBox));

   parent = ETK_WIDGET(ETK_COMBOBOX(UI_GradientSpectraComboBox)->window);
   spectrums = l = edje_edit_spectrum_list_get(edje_o);
   while(l)
   {
      etk_combobox_item_append(ETK_COMBOBOX(UI_GradientSpectraComboBox),
                               spectra_thumb_create(parent, (char*)l->data),
                               (char*)l->data);
      l = l->next;
   }
   edje_edit_string_list_free(spectrums);

   //Reenable signal propagation
   etk_signal_unblock("item-activated", ETK_OBJECT(UI_GradientSpectraComboBox),
                    ETK_CALLBACK(_gradient_spectra_combo_activated_cb), NULL);
}
Ejemplo n.º 4
0
void
data_window_populate(void)
{
   Eina_List *l, *datas;
   Etk_Tree_Col *col1, *col2;
   // FIXME type of data ?
   char *data;

   col1 = etk_tree_nth_col_get(ETK_TREE(UI_DataList), 0);
   col2 = etk_tree_nth_col_get(ETK_TREE(UI_DataList), 1);

   etk_tree_freeze(ETK_TREE(UI_DataList));
   etk_tree_clear(ETK_TREE(UI_DataList));

   datas = edje_edit_data_list_get(edje_o);
   EINA_LIST_FOREACH(datas, l , data)
   {
      const char *val;

      val = edje_edit_data_value_get(edje_o, data);
      etk_tree_row_append(ETK_TREE(UI_DataList), NULL,
                    col1, data,
                    col2, val,
                    NULL);
      edje_edit_string_free(val);
   }
   edje_edit_string_list_free(datas);

   etk_tree_thaw(ETK_TREE(UI_DataList));
   
   etk_widget_disabled_set(UI_DataApplyButton, ETK_TRUE);
   etk_entry_text_set(ETK_ENTRY(UI_DataNameEntry), "");
   etk_entry_text_set(ETK_ENTRY(UI_DataValueEntry), "");
}
Ejemplo n.º 5
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;
}
Ejemplo n.º 6
0
static void
group_details(Evas_Object *ed)
{
   int w, h;

   if (detail < 1) return;

   if (machine) puts("GROUP-DETAILS-BEGIN");

   w = edje_edit_group_min_w_get(ed);
   h = edje_edit_group_min_h_get(ed);
   if (machine) printf("MIN-W: %d\nMIN-H: %d\n", w, h);
   else if ((w > 0) || (h > 0)) printf(INDENT "min: %d %d;\n", w, h);

   w = edje_edit_group_max_w_get(ed);
   h = edje_edit_group_max_h_get(ed);
   if (machine) printf("MAX-W: %d\nMAX-H: %d\n", w, h);
   else if ((w > 0) || (h > 0)) printf(INDENT "max: %d %d;\n", w, h);

   if (detail > 1)
     {
        Eina_List *dl;
        dl = edje_edit_group_data_list_get(ed);
        if (dl)
          {
             Eina_List *l;
             const char *k;
             if (machine) puts(INDENT "GROUP-DETAILS-DATA-BEGIN");
             else puts(INDENT "data {");

             EINA_LIST_FOREACH(dl, l, k)
               {
                  const char *v = edje_edit_group_data_value_get(ed, k);
                  if (machine) printf("ITEM: \"%s\" \"%s\"\n", k, v);
                  else printf(INDENT2 "item: \"%s\" \"%s\";\n", k, v);
               }

             edje_edit_string_list_free(dl);

             if (machine) puts(INDENT "GROUP-DETAILS-DATA-END");
             else puts(INDENT "}");
          }
     }
Ejemplo n.º 7
0
void
image_browser_populate(void)
{
   Eina_List *l, *images;
   char buf[4096];

   etk_iconbox_clear(ETK_ICONBOX(UI_ImageBrowserIconbox));

   etk_iconbox_freeze(ETK_ICONBOX(UI_ImageBrowserIconbox));
   images = l = edje_edit_images_list_get(edje_o);
   while (l)
   {
      snprintf(buf,4096,"images/%d",edje_edit_image_id_get(edje_o, (char*)l->data));
      etk_iconbox_append(ETK_ICONBOX(UI_ImageBrowserIconbox),
                         Cur.edj_temp_name->string, buf, (char*)l->data);
      l = l->next;
   }
   edje_edit_string_list_free(images);
   etk_iconbox_thaw(ETK_ICONBOX(UI_ImageBrowserIconbox));
}
Ejemplo n.º 8
0
static Eina_Bool
_programs_parse(Evas_Object *ed)
{
   Eina_Bool ret = EINA_TRUE;
   Eina_List *programs, *l;
   const char *name, *source = NULL, *sig = NULL, *description;
   char *apiname;
   Edje_Action_Type type;

   programs = edje_edit_programs_list_get(ed);
   EINA_LIST_FOREACH(programs, l, name)
     {
	if (!(apiname = _program_api_name_get(ed, name)))
	  {
	     DBG("filter out program '%s': not API.", name);
	     continue;
	  }

	description = edje_edit_program_api_description_get(ed, name);
	type = edje_edit_program_action_get(ed, name);
	if (type == EDJE_ACTION_TYPE_SIGNAL_EMIT)
	  {
	     const char *str, *str2;
	     str = edje_edit_program_state_get(ed, name);
	     str2 = edje_edit_program_state2_get(ed, name);

	     if (!_program_add_write(apiname, str2, str, description))
	       {
		  ret = EINA_FALSE;
		  edje_edit_string_free(str);
		  edje_edit_string_free(str2);
		  break;
	       }

	     edje_edit_string_free(str);
	     edje_edit_string_free(str2);
	  }

	sig = edje_edit_program_signal_get(ed, name);
	if (!sig) sig = eina_stringshare_add("");

	source = edje_edit_program_source_get(ed, name);
	if (!source) source = eina_stringshare_add("");

	if (strlen (sig))
	  {
	     if (!_program_emit_write(apiname, source, sig, description))
	       {
		  ret = EINA_FALSE;
		  break;
	       }
	  }

	edje_edit_string_free(description);
	edje_edit_string_free(sig);
	edje_edit_string_free(source);
	free(apiname);
     }

   edje_edit_string_list_free(programs);
   if (!ret)
     {
	edje_edit_string_free(description);
	edje_edit_string_free(sig);
	edje_edit_string_free(source);
	free(apiname);
     }

   return ret;
}