#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;
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;
priv = data;
evas_object_show(priv->base);
+
+ _load_user_edit(priv);
}
static void _hide(void *data)