コード例 #1
0
void
tabpanel_item_del(Tabpanel_Item *item)
{
   if (!item->signal)
   {
      elm_pager_content_pop(item->tab->panels);
      evas_object_del(item->content);
   }
   if (item->tab->items) tabpanel_item_select(
                                              eina_list_data_get(
                                                                 item->tab->items));

   elm_toolbar_item_del(item->item_tb);

   if (item->tab->from_edje && eina_list_count(item->tab->items) <= 2) edje_object_signal_emit(
                                                                                               item->tab->parent,
                                                                                               "toolbar,hide",
                                                                                               "");

   item->tab->items = eina_list_remove(item->tab->items, item);
   free(item);
}
コード例 #2
0
List_Left *
list_left_new(Evas_Object *edje)
{
   Evas_Object *gl, *bt;
   Tabpanel_Item *tp_item;
   List_Left *list_left = calloc(1, sizeof(List_Left));

   //
   list_left->tb_liste_map
            = tabpanel_add_with_edje(
                                     edje,
                                     edje_object_part_external_object_get(edje,
                                                                          "object.menu.lvl1"));

   list_left->panels_map = tabpanel_panels_obj_get(list_left->tb_liste_map);
   evas_object_size_hint_weight_set(list_left->panels_map, 1.0, 1.0);
   evas_object_size_hint_align_set(list_left->panels_map, -1.0, -1.0);
   evas_object_show(list_left->panels_map);
   //

   //
   list_left->tabpanel
            = tabpanel_add_with_edje(
                                     edje,
                                     edje_object_part_external_object_get(edje,
                                                                          "object.menu.lvl2"));
   //

   itc_album.item_style = "default";
   itc_album.func.text_get = _gl_text_get;
   itc_album.func.content_get = NULL;
   itc_album.func.state_get = NULL;
   itc_album.func.del = NULL;

   itc_col.item_style = "default";
   itc_col.func.text_get = _gl_col_text_get;
   itc_col.func.content_get = NULL;
   itc_col.func.state_get = NULL;
   itc_col.func.del = NULL;

   itc_col_album.item_style = "default";
   itc_col_album.func.text_get = _gl_col_album_text_get;
   itc_col_album.func.content_get = NULL;
   itc_col_album.func.state_get = NULL;
   itc_col_album.func.del = NULL;

   itc_tag.item_style = "default";
   itc_tag.func.text_get = _gl_tag_text_get;
   itc_tag.func.content_get = NULL;
   itc_tag.func.state_get = NULL;
   itc_tag.func.del = NULL;

   //
   if (list_left->tabpanel)
   {
      tp_item = tabpanel_item_add_with_signal(list_left->tabpanel,
                                              D_("Albums"), edje,
                                              "list_left,albums,show",
                                              _tabpanel_album_select_cb,
                                              list_left);
      tabpanel_item_add_with_signal(list_left->tabpanel, D_("Collections"),
                                    edje, "list_left,collections,show",
                                    _tabpanel_collection_select_cb, list_left);
      tabpanel_item_add_with_signal(list_left->tabpanel, D_("Tags"), edje,
                                    "list_left,tags,show",
                                    _tabpanel_tag_select_cb, list_left);
      tabpanel_item_select(tp_item);
   }
   //

   gl = edje_object_part_external_object_get(edje, "object.list.tree");
   if (gl)
   {
      evas_object_smart_callback_add(gl, "expanded", _gl_col_exp, gl);
      evas_object_smart_callback_add(gl, "contracted", _gl_col_con, gl);
      evas_object_smart_callback_add(gl, "expand,request", _gl_col_exp_req, gl);
      evas_object_smart_callback_add(gl, "contract,request", _gl_col_con_req,
                                     gl);
      list_left->gl_albums = gl;
      list_left->gl_collections = gl;
      list_left->gl_tags = gl;
   }
   else
   {

      gl = edje_object_part_external_object_get(edje, "object.list.albums");
      list_left->gl_albums = gl;

      gl
               = edje_object_part_external_object_get(edje,
                                                      "object.list.collections");
      list_left->gl_collections = gl;
      evas_object_smart_callback_add(gl, "expanded", _gl_col_exp, gl);
      evas_object_smart_callback_add(gl, "contracted", _gl_col_con, gl);
      evas_object_smart_callback_add(gl, "expand,request", _gl_col_exp_req, gl);
      evas_object_smart_callback_add(gl, "contract,request", _gl_col_con_req,
                                     gl);

      gl = edje_object_part_external_object_get(edje, "object.list.tags");
      list_left->gl_tags = gl;
   }

   //delete library
   bt = edje_object_part_external_object_get(edje, "object.library.delete");
   evas_object_smart_callback_add(bt, "clicked", _library_delete_cb, NULL);
   //

   return list_left;
}