예제 #1
0
 /// <summary>
 /// Toggle whether the given item view is selected
 /// </summary>
 virtual protected void ToggleSelection(UIListItemViewBase <ItemModel> view)
 {
     if (view.IsSelected)
     {
         int index = selectedViews.IndexOf(view as ItemView);
         Assert.IsTrue(index >= 0, "Tried to deselect an item not currently selected by this selection manager");
         DeselectAt(index);
     }
     else
     {
         SelectView(view);
     }
 }
예제 #2
0
        /// <summary>
        /// Select the given view
        /// </summary>
        /// <param name="view"></param>
        virtual protected void SelectView(UIListItemViewBase <ItemModel> view)
        {
            if (selectedViews.Count >= maxSelectedItems && selectionFullBehaviour == SelectionFullBehavior.DeselectOldest)
            {
                DeselectAt(0);
            }

            if (selectedViews.Count < maxSelectedItems)
            {
                view.IsSelected = true;
                selectedViews.Add(view as ItemView);
                selectedModels.Add(view.Model);
                selectedItemEvent.Invoke(view.Model);

                selectionChangedEvent.Invoke();
            }
        }