Exemplo n.º 1
0
        private void HandleSetPopupMenu(CrawlerSetViewModel item, CrawlerSetHolder holder)
        {
            var menuBuilder = new MenuBuilder(Activity);

            menuBuilder.Add(0, 0, 0, AppResources.Generic_Delete).SetIcon(Resource.Drawable.icon_delete);
            if (item.IsFavourite)
            {
                menuBuilder.Add(0, 1, 0, AppResources.Item_CrawlerSet_Unfavourite).SetIcon(Resource.Drawable.icon_star_off);
            }
            else
            {
                menuBuilder.Add(0, 2, 0, AppResources.Item_CrawlerSet_Favourite).SetIcon(Resource.Drawable.icon_star);
            }

            menuBuilder.SetCallback(new MenuCallback((sender, menuItem) =>
            {
                if (menuItem.ItemId == 0)
                {
                    ViewModel.RemoveSet(item);
                }
                else if (menuItem.ItemId == 1)
                {
                    item.IsFavourite = false;
                }
                else if (menuItem.ItemId == 2)
                {
                    item.IsFavourite = true;
                }
            }));
            var menuPopupHelper = new MenuPopupHelper(Context, menuBuilder);

            menuPopupHelper.SetAnchorView(holder.MoreButton);
            menuPopupHelper.SetForceShowIcon(true);
            menuPopupHelper.Show();
        }
Exemplo n.º 2
0
        private void DataTemplate(CrawlerSetViewModel item, CrawlerSetHolder holder, int position)
        {
            holder.Title.Text = item.BackingModel.Name;
            holder.IndexIcon.SetImageResource(Util.IndexToIconResource(position + 1));
            holder.FavouriteIndicator.Visibility = BindingConverters.BoolToVisibility(item.IsFavourite);
            if (item.BackingModel.Descriptors?.Any() ?? false)
            {
                holder.EmptyNotice.Visibility = ViewStates.Gone;
                holder.CrawlerSummaryRecyclerView.Visibility = ViewStates.Visible;
                holder.CrawlerSummaryRecyclerView.SetAdapter(
                    new ObservableRecyclerAdapter <CrawlerDescriptor, CrawlerSetSummaryEntryHolder>(
                        item.BackingModel.Descriptors,
                        CrawlerSummaryEntryDataTemplate,
                        LayoutInflater,
                        Resource.Layout.item_crawler_set_summary)
                {
                    StretchContentHorizonatally = true
                });
            }
            else
            {
                holder.EmptyNotice.Visibility = ViewStates.Visible;
                holder.CrawlerSummaryRecyclerView.Visibility = ViewStates.Gone;
            }

            holder.ClickSurface.SetOnClickCommand(ViewModel.NavigateSetCommand, item);
            holder.MoreButton.SetOnClickListener(new OnClickListener(view => { HandleSetPopupMenu(item, holder); }));
        }
Exemplo n.º 3
0
 public void RemoveSet(CrawlerSetViewModel set)
 {
     Sets.Remove(set);
     _userDataProvider.RemoveSet(set.BackingModel);
 }