draw user edit layout 79/42279/1
authorSoohye Shin <soohye.shin@samsung.com>
Thu, 25 Jun 2015 07:53:56 +0000 (16:53 +0900)
committerSoohye Shin <soohye.shin@samsung.com>
Thu, 25 Jun 2015 07:54:52 +0000 (16:54 +0900)
Change-Id: I74792810bd5ee67ac3557892f94654610aafe944
Signed-off-by: Soohye Shin <soohye.shin@samsung.com>
src/view/view_user_edit.c

index 89de84c..d5262e6 100644 (file)
 #include "datamgr.h"
 #include "utils.h"
 
+#define MESSAGE_BTN_DONE "Done"
+#define MESSAGE_BTN_CANCEL "Cancel"
+#define MESSAGE_ADD_USER "Add user"
+#define MESSAGE_EDIT_USER "Edit user"
+#define MESSAGE_ENTRY_NAME "User Name"
+#define MESSAGE_ENTRY_ACCOUNT "sample@tizen.com"
+#define MESSAGE_ENTRY_PIN "Pin code"
+
 struct _priv {
        Evas_Object *win;
        Evas_Object *base;
+       Evas_Object *ly;
+       Evas_Object *photo;
+       Evas_Object *name;
+       Evas_Object *account;
+       Evas_Object *pin;
+       Evas_Object *lock;
+       Evas_Object *icon;
 
        struct datamgr *dm;
 };
 
+static bool _add_btns(Evas_Object *base)
+{
+       Evas_Object *btn;
+
+       btn = utils_add_button(base, MESSAGE_BTN_DONE, PART_USER_EDIT_BTN_DONE);
+       if (!btn) {
+               _ERR("failed to add done btn");
+               return false;
+       }
+
+       btn = utils_add_button(base, MESSAGE_BTN_CANCEL,
+                       PART_USER_EDIT_BTN_CANCEL);
+       if (!btn) {
+               _ERR("failed to add cancel btn");
+               return false;
+       }
+
+       return true;
+}
+
+static Evas_Object *_add_layout(struct _priv *priv)
+{
+       Evas_Object *ly, *photo, *name, *pin, *account, *lock;
+
+       ly = utils_add_layout(priv->base, GRP_USER_EDIT_CONTENTS, false,
+                       PART_USER_EDIT_CONTENTS);
+       if (!ly) {
+               _ERR("failed to add layout");
+               return NULL;
+       }
+
+       photo = utils_add_layout(ly, GRP_USER_EDIT_PHOTO, true,
+                       PART_USER_EDIT_CONTENTS_PHOTO);
+       if (!photo)
+               goto err;
+
+       name = utils_add_entry(ly, MESSAGE_ENTRY_NAME, false,
+                       PART_USER_EDIT_CONTENTS_NAME);
+       if (!name)
+               goto err;
+
+       pin = utils_add_entry(ly, MESSAGE_ENTRY_PIN, false,
+                       PART_USER_EDIT_CONTENTS_PIN);
+       if (!pin)
+               goto err;
+
+       account = utils_add_entry(ly, MESSAGE_ENTRY_ACCOUNT, false,
+                       PART_USER_EDIT_CONTENTS_ACCOUNT);
+       if (!account)
+               goto err;
+
+       lock = utils_add_layout(ly, GRP_USER_EDIT_SWITCH, true,
+                       PART_USER_EDIT_CONTENTS_LOCK);
+       if (!lock)
+               goto err;
+
+       priv->photo = photo;
+       priv->name = name;
+       priv->account = account;
+       priv->pin = pin;
+       priv->lock = lock;
+
+       return ly;
+err:
+       _ERR("failed to add layout");
+       evas_object_del(ly);
+       return NULL;
+}
+
+static bool _add_user_edit(struct _priv *priv)
+{
+       Evas_Object *ly;
+
+       ly = _add_layout(priv);
+       if (!ly) {
+               _ERR("failed to add edit layout");
+               return false;
+       }
+
+       if (!_add_btns(priv->base)) {
+               _ERR("failed to add buttons");
+               evas_object_del(ly);
+               return false;
+       }
+
+       /* It should be implemented later about function btn */
+
+       priv->ly = ly;
+
+       return true;
+}
+
 static Evas_Object *_create(Evas_Object *win, void *data)
 {
        struct _priv *priv;
@@ -54,18 +161,42 @@ static Evas_Object *_create(Evas_Object *win, void *data)
                free(priv);
                return NULL;
        }
-       evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
        elm_win_resize_object_add(win, base);
 
        priv->win = win;
        priv->base = base;
        priv->dm = data;
 
+       if (!_add_user_edit(priv)) {
+               _ERR("failed to add user edit layout");
+               evas_object_del(base);
+               free(priv);
+               return NULL;
+       }
+
        viewmgr_set_view_data(VIEW_USER_EDIT, priv);
 
        return base;
 }
 
+static void _load_user_edit(struct _priv *priv)
+{
+       Evas_Object *icon;
+
+       /* check state of user edit */
+
+       elm_object_part_text_set(priv->base, PART_USER_EDIT_TITLE,
+                       MESSAGE_ADD_USER);
+       icon = utils_add_icon(priv->photo, IMAGE_USER_CURRENT_DEFAULT,
+                       PART_USER_EDIT_PHOTO);
+       if (!icon)
+               _ERR("failed to add icon");
+
+       priv->icon = icon;
+}
+
 static void _show(void *data)
 {
        struct _priv *priv;
@@ -78,6 +209,8 @@ static void _show(void *data)
        priv = data;
 
        evas_object_show(priv->base);
+
+       _load_user_edit(priv);
 }
 
 static void _hide(void *data)