public static void SetAnimeListAdapter(this LinearLayout listView, Context context,
                                               IList <AnimeItemViewModel> items,
                                               AnimeListDisplayModes mode, Action <AnimeItemViewModel> onClick = null)
        {
            switch (mode)
            {
            case AnimeListDisplayModes.IndefiniteList:
                listView.SetAdapter(items.GetAdapter((i, model, arg3) =>
                {
                    var view = new AnimeListItem(context, onClick);
                    view.BindModel(model, false);
                    return(view);
                })
                                    );
                break;

            case AnimeListDisplayModes.IndefiniteGrid:
                listView.SetAdapter(items.GetAdapter((i, model, arg3) =>
                {
                    var view = new AnimeGridItem(context, false, onClick);
                    view.BindModel(model, false);
                    return(view);
                })
                                    );
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(mode), mode,
                                                      "SetAnimeListAdapter, do we want compact now?");
            }
        }
Esempio n. 2
0
        public void ResetSelectionForMode(AnimeListDisplayModes currMode)
        {
            try
            {
                switch (currMode)
                {
                case AnimeListDisplayModes.IndefiniteList:
                    AnimesItemsIndefinite.SelectedItem = null;
                    break;

                case AnimeListDisplayModes.IndefiniteGrid:
                    AnimesGridIndefinite.SelectedItem = null;
                    break;

                case AnimeListDisplayModes.IndefiniteCompactList:
                    AnimeCompactItemsIndefinite.SelectedItem = null;
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(currMode), currMode, null);
                }
            }
            catch (Exception e)
            {
            }
        }
 public AnimeListPageNavigationArgs(SortOptions sort, int status, bool desc,
     AnimeListWorkModes seasonal, string source, AnimeSeason season, AnimeListDisplayModes dispMode)
 {
     SortOption = sort;
     Status = status;
     Descending = desc;
     WorkMode = seasonal;
     ListSource = source;
     NavArgs = true;
     CurrSeason = season;
     DisplayMode = dispMode;
 }
        public static void InjectAnimeListAdapterWithFooter(this AbsListView listView, Context context,
                                                            IList <AnimeItemViewModel> items,
                                                            AnimeListDisplayModes mode, View footer, Action <AnimeItemViewModel> onClick = null, bool allowGridItemSwipe = true, bool skipBugFix = false)
        {
            switch (mode)
            {
            case AnimeListDisplayModes.IndefiniteList:
                listView.InjectFlingAdapter(items, (view, i, model) =>
                {
                    ((AnimeListItem)view).BindModel(model, false);
                },
                                            (view, i, model) =>
                {
                    ((AnimeListItem)view).BindModel(model, true);
                },
                                            i => new AnimeListItem(context, onClick)
                                            , null, footer);
                break;

            case AnimeListDisplayModes.IndefiniteGrid:
                listView.InjectFlingAdapter(items, (view, i, model) =>
                {
                    ((AnimeGridItem)view).BindModel(model, false);
                },
                                            (view, i, model) =>
                {
                    ((AnimeGridItem)view).BindModel(model, true);
                },
                                            i => new AnimeGridItem(context, allowGridItemSwipe, onClick)
                                            , null, footer, skipBugFix);
                break;

            case AnimeListDisplayModes.IndefiniteCompactList:
                listView.InjectFlingAdapter(items, (view, i, model) =>
                {
                    var item      = (AnimeCompactItem)view;
                    item.Position = i;
                    item.BindModel(model, false);
                },
                                            (view, i, model) =>
                {
                    var item      = (AnimeCompactItem)view;
                    item.Position = i;
                    item.BindModel(model, true);
                },
                                            i => new AnimeCompactItem(context, i, onClick)
                                            , null, footer);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(mode), mode, null);
            }
        }
Esempio n. 5
0
 public AnimeListPageNavigationArgs(SortOptions sort, int status, bool desc,
                                    AnimeListWorkModes seasonal, string source, AnimeSeason season, AnimeListDisplayModes dispMode)
 {
     SortOption  = sort;
     Status      = status;
     Descending  = desc;
     WorkMode    = seasonal;
     ListSource  = source;
     NavArgs     = true;
     CurrSeason  = season;
     DisplayMode = dispMode;
 }
Esempio n. 6
0
 private void ResetSelectionForMode(AnimeListDisplayModes currMode)
 {
     try
     {
         AnimesItemsIndefinite.SelectedItem       = null;
         AnimesGridIndefinite.SelectedItem        = null;
         AnimeCompactItemsIndefinite.SelectedItem = null;
     }
     catch (Exception)
     {
         //
     }
 }
        public static DroppyMenuPopup BuildForAnimeListDisplayModeSelection(Context context, View parent, IEnumerable <Tuple <AnimeListDisplayModes, string> > items,
                                                                            Action <AnimeListDisplayModes> callback, AnimeListDisplayModes currentMode)
        {
            ParamRelativeLayout = new ViewGroup.LayoutParams(DimensionsHelper.DpToPx(150), DimensionsHelper.DpToPx(38));

            var droppyBuilder = new DroppyMenuPopup.Builder(context, parent);

            InjectAnimation(droppyBuilder);


            var listener = new Action <int>(i => callback.Invoke((AnimeListDisplayModes)i));

            foreach (var item in items)
            {
                if (item.Item1 == currentMode)
                {
                    droppyBuilder.AddMenuItem(
                        new DroppyMenuCustomItem(BuildItem(context, item.Item2, listener, (int)item.Item1,
                                                           ResourceExtension.BrushSelectedDialogItem, ResourceExtension.AccentColour)));
                }
                else //highlighted
                {
                    droppyBuilder.AddMenuItem(
                        new DroppyMenuCustomItem(BuildItem(context, item.Item2, listener, (int)item.Item1)));
                }
            }

            droppyBuilder.SetYOffset(DimensionsHelper.DpToPx(30));

            return(droppyBuilder.Build());
        }
 private void OnDisplayModeSelectionChanged(AnimeListDisplayModes animeListDisplayModes)
 {
     ViewModel.CurrentlySelectedDisplayMode = new Tuple<AnimeListDisplayModes, string>(animeListDisplayModes,"");
     _displayMenu.Dismiss(true);
     _displayMenu = null;
 }
 private void OnDisplayModeSelectionChanged(AnimeListDisplayModes animeListDisplayModes)
 {
     ViewModel.CurrentlySelectedDisplayMode = new Tuple <AnimeListDisplayModes, string>(animeListDisplayModes, "");
     _displayMenu.Dismiss(true);
     _displayMenu = null;
 }