Refactored InputView layout using spacers. 45/77645/2
authorEugene Kurzberg <i.kurtsberg@samsung.com>
Thu, 16 Jun 2016 08:29:39 +0000 (11:29 +0300)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Fri, 1 Jul 2016 08:37:17 +0000 (01:37 -0700)
Change-Id: Id8c2dcaf02675d41765796e8126bef9727d84113
Signed-off-by: Eugene Kurzberg <i.kurtsberg@samsung.com>
lib-contacts/res/input/edje/InputItemLayout.h
lib-contacts/res/input/edje/InputItemLayoutMetrics.h
lib-contacts/res/input/edje/input-item-layout.edc
lib-contacts/src/Contacts/Input/ContactCompoundFieldItem.cpp
lib-contacts/src/Contacts/Input/ContactFieldItem.cpp
lib-contacts/src/Contacts/Input/ContactFieldSubItem.cpp
lib-contacts/src/Contacts/Input/ContactRingtoneFieldItem.cpp
lib-contacts/src/Contacts/Input/ContactTypedFieldItem.cpp

index 49f4679..f8aeb7b 100644 (file)
@@ -25,9 +25,9 @@
 #define INPUT_REL_ITEM_STYLE     "input_rel_item"
 #define INPUT_BUTTONS_ITEM_STYLE "input_buttons_item"
 
-#define PART_LEFT                "swallow.left"
-#define PART_MIDDLE              "swallow.middle"
-#define PART_RIGHT               "swallow.right"
+#define PART_TYPE                "swallow.type"
+#define PART_VALUE               "swallow.value"
+#define PART_BUTTON              "swallow.button"
 #define PART_REL_ICON            "swallow.rel_icon"
 
 #define GROUP_ICON_EXPAND        "icon_expand"
index 343d73d..299ae35 100644 (file)
 #ifndef INPUT_ITEM_LAYOUT_METRICS_H
 #define INPUT_ITEM_LAYOUT_METRICS_H
 
-#define ITEM_W 720
 #define ITEM_H 120
 
-#define ITEM_PADDING_Y 20
+#define TYPE_L 32
+#define TYPE_W 180
 
-#define ITEM_LEFT_W 154
-#define ITEM_LEFT_X1 32
-#define ITEM_LEFT_X2 32
+#define BUTTON_R 10
+#define BUTTON_WH 80
 
-#define ITEM_RIGHT_W 75
-#define ITEM_RIGHT_X1 2
-#define ITEM_RIGHT_X2 10
-
-#define IMAGE_SIZE 240
-#define IMAGE_ITEM_PADDING_Y 44
-#define IMAGE_ITEM_H (IMAGE_SIZE+IMAGE_ITEM_PADDING_Y*2)
-
-#define RELATIONSHIP_ICON_SIZE 80 80
+#define IMAGE_TB 44
+#define IMAGE_WH 240
+#define IMAGE_ITEM_H (IMAGE_WH+IMAGE_TB*2)
 
 #define BUTTONS_ITEM_H 247
-#define BUTTONS_ITEM_PADDING_Y 22
+#define BUTTONS_ITEM_T 22
 
 #endif /* INPUT_ITEM_LAYOUT_METRICS_H */
index 64f895f..f13015b 100644 (file)
@@ -37,52 +37,70 @@ collections
                alias: "elm/genlist/tree_compress/"INPUT_ITEM_STYLE"/default";
 
                data.item: "banded_bg_area" "swallow.bg";
-               data.item: "contents" PART_LEFT" "PART_MIDDLE" "PART_RIGHT;
-               data.item: "states" PART_LEFT;
+               data.item: "contents" PART_TYPE" "PART_VALUE" "PART_BUTTON;
+               data.item: "states" PART_TYPE;
 
                parts {
                        swallow { "swallow.bg"; }
-                       swallow { PART_LEFT;
+                       spacer { "spacer.left"; scale;
                                desc { "default";
+                                       align: 0.0 0.5;
                                        rel1.relative: 0.0 0.0;
-                                       rel2.relative: 0.0 0.0;
+                                       rel2.relative: 0.0 1.0;
                                }
                                desc { "visible";
-                                       rel1.relative: (ITEM_LEFT_X1/ITEM_W) (ITEM_PADDING_Y/ITEM_H);
-                                       rel2.relative: ((ITEM_LEFT_X1+ITEM_LEFT_W+ITEM_LEFT_X2)/ITEM_W) (1.0-ITEM_PADDING_Y/ITEM_H);
+                                       inherit: "default";
+                                       min: TYPE_L 0;
                                }
                        }
-                       swallow { PART_MIDDLE;
+                       swallow { PART_TYPE; scale;
                                desc { "default";
-                                       rel1 {
-                                               relative: 1.0 0.0;
-                                               to_x: PART_LEFT;
-                                       }
-                                       rel2 {
-                                               relative: 0.0 1.0;
-                                               to_x: PART_RIGHT;
-                                       }
+                                       align: 0.0 0.5;
+                                       rel1 { relative: 1.0 0.5; to_x: "spacer.left"; }
+                                       rel2 { relative: 1.0 0.5; to_x: "spacer.left"; }
+                               }
+                               desc { "visible";
+                                       inherit: "default";
+                                       min: TYPE_W 0;
+                               }
+                       }
+                       swallow { PART_VALUE; scale;
+                               desc { "default";
+                                       align: 0.0 0.5;
+                                       rel1 { relative: 1.0 0.0; to_x: PART_TYPE; }
+                                       rel2 { relative: 0.0 1.0; to_x: PART_BUTTON; }
+                               }
+                       }
+                       swallow { PART_BUTTON; scale;
+                               desc { "default";
+                                       align: 1.0 0.5;
+                                       rel1 { relative: 0.0 0.5; to_x: "spacer.right"; }
+                                       rel2 { relative: 0.0 0.5; to_x: "spacer.right"; }
                                }
                        }
-                       swallow { PART_RIGHT;
+                       spacer { "spacer.right"; scale;
                                desc { "default";
-                                       rel1.relative: (1.0-(ITEM_RIGHT_W+ITEM_RIGHT_X2)/ITEM_W) (ITEM_PADDING_Y/ITEM_H);
-                                       rel2.relative: (1.0-ITEM_RIGHT_X2/ITEM_W) (1.0-ITEM_PADDING_Y/ITEM_H);
+                                       align: 1.0 0.5;
+                                       min: BUTTON_R 0;
+                                       rel1.relative: 1.0 0.0;
+                                       rel2.relative: 1.0 1.0;
                                }
                        }
                }
                programs {
                        program {
-                               signal: "elm,state,"PART_LEFT",active";
+                               signal: "elm,state,"PART_TYPE",active";
                                source: "elm";
                                action: STATE_SET "visible" 0.0;
-                               target: PART_LEFT;
+                               target: PART_TYPE;
+                               target: "spacer.left";
                        }
                        program {
-                               signal: "elm,state,"PART_LEFT",passive";
+                               signal: "elm,state,"PART_TYPE",passive";
                                source: "elm";
                                action: STATE_SET "default" 0.0;
-                               target: PART_LEFT;
+                               target: PART_TYPE;
+                               target: "spacer.left";
                        }
                }
        }
@@ -94,26 +112,20 @@ collections
                alias: "elm/genlist/tree_compress/"INPUT_REL_ITEM_STYLE"/default";
                inherit: "elm/genlist/item/"INPUT_ITEM_STYLE"/default";
 
-               data.item: "contents" PART_LEFT" "PART_MIDDLE" "PART_RIGHT" "PART_REL_ICON;
+               data.item: "contents" PART_TYPE" "PART_VALUE" "PART_BUTTON" "PART_REL_ICON;
 
                parts {
-                       swallow { PART_MIDDLE;
+                       swallow { PART_VALUE; scale;
                                desc { "default";
-                                       rel2 {
-                                               relative: 0.0 1.0;
-                                               to_x: PART_REL_ICON;
-                                       }
+                                       rel2 { relative: 0.0 1.0; to_x: PART_REL_ICON; }
                                }
                        }
                        swallow { PART_REL_ICON; scale;
                                desc { "default";
-                                       min: RELATIONSHIP_ICON_SIZE;
-                                       max: RELATIONSHIP_ICON_SIZE;
                                        align: 1.0 0.5;
-                                       rel2 {
-                                               relative: 0.0 1.0;
-                                               to_x: PART_RIGHT;
-                                       }
+                                       min: BUTTON_WH BUTTON_WH;
+                                       rel1 { relative: 0.0 0.5; to_x: PART_BUTTON; }
+                                       rel2 { relative: 0.0 0.5; to_x: PART_BUTTON; }
                                }
                        }
                }
@@ -128,7 +140,7 @@ collections
                data.item: "contents" "swallow.content";
 
                parts {
-                       rect { "rect.bg";
+                       rect { "rect.bg"; scale;
                                desc { "default";
                                        color_class: "title_bg";
                                }
@@ -140,7 +152,9 @@ collections
                        }
                        swallow { "swallow.content"; scale;
                                desc { "default";
-                                       max: IMAGE_SIZE IMAGE_SIZE;
+                                       min: IMAGE_WH IMAGE_WH;
+                                       rel1.relative: 0.5 0.5;
+                                       rel2.relative: 0.5 0.5;
                                }
                        }
                }
@@ -160,9 +174,26 @@ collections
                                        min: 0 BUTTONS_ITEM_H;
                                }
                        }
-                       swallow { "swallow.content";
+                       spacer { "spacer.top"; scale;
+                               desc { "default";
+                                       align: 0.5 0.0;
+                                       min: 0 BUTTONS_ITEM_T;
+                                       rel1.relative: 0.0 0.0;
+                                       rel2.relative: 1.0 0.0;
+                               }
+                       }
+                       spacer { "spacer.content"; scale;
+                               desc { "default";
+                                       align: 0.0 0.0;
+                                       rel1 { relative: 0.0 1.0; to_y: "spacer.top"; }
+                                       rel2 { relative: 1.0 1.0; }
+                               }
+                       }
+                       swallow { "swallow.content"; scale;
                                desc { "default";
-                                       rel1.relative: 0.0 BUTTONS_ITEM_PADDING_Y/BUTTONS_ITEM_H;
+                                       align: 0.5 0.5;
+                                       rel1 { relative: 0.0 0.5; to: "spacer.content"; }
+                                       rel2 { relative: 1.0 0.5; to: "spacer.content"; }
                                }
                        }
                }
index 549fb6f..ca10ae8 100644 (file)
@@ -40,9 +40,9 @@ ContactCompoundFieldItem::ContactCompoundFieldItem(Model::ContactObject &object)
 
 Evas_Object *ContactCompoundFieldItem::getContent(Evas_Object *parent, const char *part)
 {
-       if (strcmp(part, PART_RIGHT) == 0) {
+       if (strcmp(part, PART_BUTTON) == 0) {
                return createExpandButton(parent);
-       } else if (strcmp(part, PART_MIDDLE) == 0) {
+       } else if (strcmp(part, PART_VALUE) == 0) {
                auto control = new ContactCompoundFieldControl(this, getObject().cast<ContactCompoundObject>());
                control->create(parent);
                control->setCompoundMode(!isExpanded());
@@ -87,7 +87,7 @@ Evas_Object *ContactCompoundFieldItem::createExpandButton(Evas_Object *parent)
 
 void ContactCompoundFieldItem::updateExpandIcon(bool isExpanded) const
 {
-       Evas_Object *button = elm_object_item_part_content_get(getObjectItem(), PART_RIGHT);
+       Evas_Object *button = elm_object_item_part_content_get(getObjectItem(), PART_BUTTON);
        Evas_Object *icon = elm_object_part_content_get(button, "elm.swallow.content");
        elm_image_file_set(icon, layoutPath.c_str(),
                        isExpanded ? GROUP_ICON_CONTRACT : GROUP_ICON_EXPAND);
index 6f5a6ab..67f8300 100644 (file)
@@ -67,7 +67,7 @@ Elm_Genlist_Item_Class *ContactFieldItem::getItemClass() const
 
 Evas_Object *ContactFieldItem::getContent(Evas_Object *parent, const char *part)
 {
-       if (strcmp(part, PART_RIGHT) == 0) {
+       if (strcmp(part, PART_BUTTON) == 0) {
                return createRemoveButton(parent);
        } else {
                return ContactFieldSubItem::getContent(parent, part);
index 11c20b6..c7cad82 100644 (file)
@@ -39,7 +39,7 @@ ContactField &ContactFieldSubItem::getField() const
 
 Ui::Control *ContactFieldSubItem::getFieldControl() const
 {
-       Evas_Object *content = elm_object_item_part_content_get(getObjectItem(), PART_MIDDLE);
+       Evas_Object *content = elm_object_item_part_content_get(getObjectItem(), PART_VALUE);
        return Ui::Control::getControl(content);
 }
 
@@ -71,7 +71,7 @@ Elm_Genlist_Item_Class *ContactFieldSubItem::getItemClass() const
 Evas_Object *ContactFieldSubItem::getContent(Evas_Object *parent, const char *part)
 {
        Ui::Control *control = nullptr;
-       if (strcmp(part, PART_MIDDLE) == 0) {
+       if (strcmp(part, PART_VALUE) == 0) {
                switch (m_Field.getType()) {
                        case TypeText:
                                control = new ContactTextFieldControl(this, m_Field.cast<ContactTextField>());
index 1968f9e..22e98e1 100644 (file)
@@ -61,7 +61,7 @@ char *ContactRingtoneFieldItem::getText(Evas_Object *parent, const char *part)
 Evas_Object *ContactRingtoneFieldItem::getContent(Evas_Object *parent, const char *part)
 {
        if (strcmp(part, "elm.swallow.end") == 0) {
-               return ContactFieldItem::getContent(parent, PART_RIGHT);
+               return ContactFieldItem::getContent(parent, PART_BUTTON);
        }
 
        return nullptr;
index d24f0f7..4d6d4ef 100644 (file)
@@ -38,7 +38,7 @@ const ContactTypedObject &ContactTypedFieldItem::getTypedObject() const
 
 Evas_Object *ContactTypedFieldItem::getContent(Evas_Object *parent, const char *part)
 {
-       if (strcmp(part, PART_LEFT) == 0) {
+       if (strcmp(part, PART_TYPE) == 0) {
                Ui::Control *control = new ContactTypedFieldControl(m_TypeField, m_LabelField);
                return control->create(parent);
        } else {
@@ -48,7 +48,7 @@ Evas_Object *ContactTypedFieldItem::getContent(Evas_Object *parent, const char *
 
 Eina_Bool ContactTypedFieldItem::getState(Evas_Object *parent, const char *part)
 {
-       if (strcmp(part, PART_LEFT) == 0) {
+       if (strcmp(part, PART_TYPE) == 0) {
                return EINA_TRUE;
        }