rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=9261f7a48684e17bd66169437589ca2d2700562b

commit 9261f7a48684e17bd66169437589ca2d2700562b
Author: Vitalii Vorobiov <[email protected]>
Date:   Wed Nov 4 14:13:51 2015 +0200

    property_image: fill content into property
---
 src/bin/ui/property_image.c | 117 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 114 insertions(+), 3 deletions(-)

diff --git a/src/bin/ui/property_image.c b/src/bin/ui/property_image.c
index 51f82ee..850f30f 100644
--- a/src/bin/ui/property_image.c
+++ b/src/bin/ui/property_image.c
@@ -50,13 +50,84 @@ struct _Image_Prop_Data
    Evas_Object *name;
    Evas_Object *location;
    Evas_Object *type;
-   Evas_Object *compression;
-   Evas_Object *quality;
-   Evas_Object *size;
+   Evas_Object *compression_type;
+   Evas_Object *compression_quality;
+   Evas_Object *size_width;
+   Evas_Object *size_height;
    Evas_Object *usage_list;
+
+   Eina_Stringshare *selected_image;
 };
 typedef struct _Image_Prop_Data Image_Prop_Data;
 
+/* accroding to Edje_Edit.h */
+static const char *edje_image_compression[] = { N_("RAW"),
+                                                N_("USER"),
+                                                N_("COMP"),
+                                                N_("LOSSY"),
+                                                N_("LOSSY_ETC1"),
+                                                N_("LOSSY_ETC2"),
+                                                NULL};
+
+static Evas_Object *
+prop_image_editor_compression_type_add(Evas_Object *property, Image_Prop_Data 
*pd);
+
+static Evas_Object *
+prop_item_label_add(Evas_Object *parent,
+                    Evas_Object **label,
+                    const char *lab_text,
+                    const char *text)
+{
+   assert(parent != NULL);
+   assert(label != NULL);
+
+   PROPERTY_ITEM_ADD(parent, lab_text, "1swallow")
+   LABEL_ADD(item, *label, text)
+   elm_object_part_content_set(item, "elm.swallow.content", *label);
+   return item;
+}
+
+/* TODO this is not implemented yet, please remake it!!! */
+static Evas_Object *
+prop_image_editor_compression_quality_add(Evas_Object *parent,
+                                          Image_Prop_Data *pd)
+{
+   PROPERTY_ITEM_ADD(parent, _("compression quality/rate"), "2swallow")
+   SPINNER_ADD(item, pd->compression_quality, 0, 100, 1, false)
+   elm_layout_content_set(item, "swallow.content1", pd->compression_quality);
+   elm_object_disabled_set(pd->compression_quality, true);
+   elm_spinner_value_set(pd->compression_quality, 0);
+   return item;
+}
+static void
+_on_image_compression_type_change(void *data,
+                                  Evas_Object *obj __UNUSED__,
+                                  void *event_info)
+{
+   Image_Prop_Data *pd = (Image_Prop_Data *)data;
+   Ewe_Combobox_Item *item = (Ewe_Combobox_Item *)event_info;
+   if (!edje_edit_image_compression_type_set(ap.project->global_object, 
pd->selected_image, (int)item->index))
+     {
+        ERR("Cann't apply value '%s' for image.", item->title);
+        abort();
+     }
+}
+static Evas_Object *
+prop_image_editor_compression_type_add(Evas_Object *parent, Image_Prop_Data 
*pd)
+{
+   int i;
+   PROPERTY_ITEM_ADD(parent, _("image compression type"), "1swallow");
+   EWE_COMBOBOX_ADD(parent, pd->compression_type);
+   /* disable for now */
+   elm_object_disabled_set(pd->compression_type, true);
+   for (i = 0; edje_image_compression[i]; 
ewe_combobox_item_add(pd->compression_type, edje_image_compression[i]), i++);
+
+   evas_object_smart_callback_add(pd->compression_type, "selected", 
_on_image_compression_type_change, pd);
+   elm_layout_content_set(item, "elm.swallow.content", pd->compression_type);
+
+   return item;
+}
+
 static void
 _on_image_selected(void *data __UNUSED__,
                    Evas_Object *obj __UNUSED__,
@@ -68,6 +139,7 @@ Evas_Object *
 ui_property_image_add(Evas_Object *parent)
 {
    Image_Prop_Data *pd;
+   Evas_Object *item;
 
    assert(parent != NULL);
 
@@ -87,6 +159,45 @@ ui_property_image_add(Evas_Object *parent)
 
    evas_object_data_set(pd->box, IMAGE_PROP_DATA, pd);
 
+   item = prop_item_label_add(pd->box, &pd->name, _("name"), _(" - "));
+   elm_box_pack_end(pd->box, item);
+   item = prop_item_label_add(pd->box, &pd->location, _("location"), _(" - "));
+   elm_box_pack_end(pd->box, item);
+   item = prop_item_label_add(pd->box, &pd->type, _("type"), _(" - "));
+   elm_box_pack_end(pd->box, item);
+   item = prop_image_editor_compression_type_add(pd->box, pd);
+   elm_box_pack_end(pd->box, item);
+   item = prop_image_editor_compression_quality_add(pd->box, pd);
+   elm_box_pack_end(pd->box, item);
+
+   item = prop_item_label_add(pd->box, &pd->size_width, _("image width"), _(" 
- "));
+   elm_box_pack_end(pd->box, item);
+
+   item = prop_item_label_add(pd->box, &pd->size_height, _("image height"), 
_(" - "));
+   elm_box_pack_end(pd->box, item);
+
+/*********************************/
+/*   ENTRY_ADD(layout, img_edit->image_data_fields.file_name, true);
+   elm_entry_editable_set(img_edit->image_data_fields.file_name, false);
+   elm_object_part_content_set(layout, "eflete.swallow.image_info.name",
+                               img_edit->image_data_fields.file_name);
+
+   EWE_COMBOBOX_ADD(layout, img_edit->image_data_fields.comp);
+   ewe_combobox_item_add(img_edit->image_data_fields.comp, "NONE");
+   ewe_combobox_item_add(img_edit->image_data_fields.comp, "RAW");
+   ewe_combobox_item_add(img_edit->image_data_fields.comp, "USER");
+   ewe_combobox_item_add(img_edit->image_data_fields.comp, "COMP");
+   ewe_combobox_item_add(img_edit->image_data_fields.comp, "LOSSY");
+   elm_object_disabled_set(img_edit->image_data_fields.comp, true);
+   elm_object_part_content_set(layout, "eflete.swallow.compression_type",
+                               img_edit->image_data_fields.comp);
+
+   SPINNER_ADD(layout, img_edit->image_data_fields.quality, 0, 100, 1, false);
+   elm_object_disabled_set(img_edit->image_data_fields.quality, true);
+   elm_object_part_content_set(layout, "eflete.swallow.compression_quality",
+                               img_edit->image_data_fields.quality); */
+/********************************/
+
    evas_object_smart_callback_add(ap.win, SIGNAL_IMAGE_SELECTED, 
_on_image_selected, pd->box);
 
    return pd->box;

-- 


Reply via email to