static Evas_Object * _add_user_list ( Evas_Object *win) { Evas_Object *box = NULL, *main_box, *label, *users_list, *cb; box = elm_box_add (win); evas_object_size_hint_weight_set (box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show (box); elm_win_resize_object_add (win, box); evas_object_size_hint_align_set (box, 0.1, 0.1); label = elm_label_add(win); elm_object_text_set(label, "Switch User"); elm_box_pack_end (box, label); evas_object_show(label); users_list = elm_hoversel_add(win); elm_hoversel_horizontal_set(users_list, EINA_FALSE); elm_object_text_set(users_list, "Select User From the List"); _populate_users (users_list); evas_object_smart_callback_add(users_list, "selected", _on_switch_user_clicked, NULL); elm_box_pack_end (box, users_list); evas_object_show(users_list); main_box = elm_box_add (win); evas_object_size_hint_weight_set (main_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show (main_box); elm_box_horizontal_set (main_box, EINA_TRUE); elm_win_resize_object_add (win, main_box); elm_box_pack_end (main_box, box); cb = _add_checkbox (win); elm_box_pack_end (main_box, cb); return box; }
void users_create_model(Users *us) { GtkListStore *model; // Modelo de listas simples GtkTreeIter iter; model = gtk_list_store_new (UN_COLS, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN ); _populate_users(us); GList *o_users = us->list; while(us->list != NULL) { UsersItem *usr = us->list->data; /* Se inserta en el modelo de datos, la informaciĆ³n con las columnas * definidas anteriormente */ gtk_list_store_append(model, &iter); gtk_list_store_set(model, &iter, UID_COL, usr->uid, UNAME_COL, usr->name, UFULLNAME_COL,usr->fullname, USHELL_COL, usr->shell, UHOMEPATH_COL, usr->home, UISNEW_COL, usr->is_new, -1); /*tree_item_to_string(users->data);*/ us->list = g_list_next(us->list); } /* Se preserva el origen de la lista de usuarios */ us->list = o_users; us->model = GTK_TREE_MODEL(model); }