From: Soohye Shin Date: Thu, 25 Jun 2015 07:53:56 +0000 (+0900) Subject: draw user edit layout X-Git-Tag: accepted/tizen/tv/20150728.070602~43 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a513fa0f5f6ac91fda3dd1c1c0c1c475a3d3e82a;p=profile%2Ftv%2Fapps%2Fnative%2Fair_home.git draw user edit layout Change-Id: I74792810bd5ee67ac3557892f94654610aafe944 Signed-off-by: Soohye Shin --- diff --git a/src/view/view_user_edit.c b/src/view/view_user_edit.c index 89de84c..d5262e6 100644 --- a/src/view/view_user_edit.c +++ b/src/view/view_user_edit.c @@ -25,13 +25,120 @@ #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)