Contains() public method

Indicates if the specified cell is selected
public Contains ( Position p_Cell ) : bool
p_Cell Position
return bool
Ejemplo n.º 1
0
        /// <summary>
        /// Prende un range che è già stato filtrato con solo le celle non presenti nell'attuale range
        /// </summary>
        /// <param name="pRange"></param>
        /// <returns></returns>
        private bool InternalAdd(RangeRegion pRange)
        {
            if (Contains(pRange))
            {
                return(true);
            }

            if (pRange.Contains(this))             //change all the contents with the new range
            {
                RangeRegion existingRange = new RangeRegion(this);

                m_RangeCollection.Clear();
                m_RangeCollection.AddRange(pRange.m_RangeCollection);

                pRange = pRange.Exclude(existingRange);
            }
            else
            {
                pRange = pRange.Exclude(this);
                if (pRange.IsEmpty())
                {
                    return(true);                    //il range è vuoto
                }
                pRange.m_bValidated = true;

                RangeRegionCancelEventArgs e = new RangeRegionCancelEventArgs(pRange);
                OnAddingRange(e);                 //calling this method the range can change
                if (e.Cancel)
                {
                    return(false);
                }

                if (pRange.m_bValidated == false)
                {
                    pRange = pRange.Exclude(this);
                    if (pRange.IsEmpty())
                    {
                        return(true);                        //il range è vuoto
                    }
                }

                for (int rToAdd = 0; rToAdd < pRange.m_RangeCollection.Count; rToAdd++)
                {
                    Range rangeToAdd = pRange.m_RangeCollection[rToAdd];
                    m_RangeCollection.Add(rangeToAdd);
                }
            }

            OnAddedRange(new RangeRegionCancelEventArgs(pRange));

            m_bValidated = false;

            return(true);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Check if the positions saved are still valid, for example if all the selected cells are still valid positions, if not the selection are removed without calling any other methods.
        /// </summary>
        public virtual void CheckPositions()
        {
            Range complete = CompleteRange;

            if (m_MouseCellPosition.IsEmpty() == false &&
                CompleteRange.Contains(m_MouseCellPosition) == false)
                m_MouseCellPosition = Position.Empty;

            if (m_MouseDownPosition.IsEmpty() == false &&
                CompleteRange.Contains(m_MouseDownPosition) == false)
                m_MouseDownPosition = Position.Empty;

            if (mDragCellPosition.IsEmpty() == false &&
                CompleteRange.Contains(mDragCellPosition) == false)
                mDragCellPosition = Position.Empty;

            //If the selection contains some invalid cells reset the selection state.
            RangeRegion completeRegion = new RangeRegion(complete);
            if (
                (Selection.ActivePosition.IsEmpty() == false && complete.Contains(Selection.ActivePosition) == false) ||
                (Selection.IsEmpty() == false && completeRegion.Contains(Selection.GetSelectionRegion()) == false)
                )
                Selection.ResetSelection(false);
        }
Ejemplo n.º 3
0
		/// <summary>
		/// Check if the positions saved are still valid, for example if all the selected cells are still valid positions, if not the selection are removed without calling any other methods.
		/// </summary>
		public virtual void CheckPositions()
		{
			Range complete = CompleteRange;

			if (m_MouseCellPosition.IsEmpty() == false &&
			    CompleteRange.Contains(m_MouseCellPosition) == false)
				m_MouseCellPosition = Position.Empty;

			if (m_MouseDownPosition.IsEmpty() == false &&
			    CompleteRange.Contains(m_MouseDownPosition) == false)
				m_MouseDownPosition = Position.Empty;

			if (mDragCellPosition.IsEmpty() == false &&
			    CompleteRange.Contains(mDragCellPosition) == false)
				mDragCellPosition = Position.Empty;

			//If the selection contains some invalid cells reset the selection state.
			RangeRegion completeRegion = new RangeRegion(complete);
			if (
				(Selection.ActivePosition.IsEmpty() == false && complete.Contains(Selection.ActivePosition) == false) ||
				(Selection.IsEmpty() == false && completeRegion.Contains(Selection.GetSelectionRegion()) == false)
			)
                // AlanP: Sep 2013.  This gets called when we delete rows (eg FPreviouslySelectedDetailRow.Delete())
                //  so we want to suppress selection_changed at this point because we will call SelectRowInGrid next
				Selection.ResetSelection(false, true);
		}
Ejemplo n.º 4
0
        /// <summary>
        /// Prende un range che è già stato filtrato con solo le celle non presenti nell'attuale range
        /// </summary>
        /// <param name="pRange"></param>
        /// <returns></returns>
        private bool InternalAdd(RangeRegion pRange)
        {
            if (Contains(pRange))
                return true;

            if (pRange.Contains(this)) //change all the contents with the new range
            {
                m_RangeCollection.Clear();
                m_RangeCollection.AddRange(pRange.m_RangeCollection);

                pRange = pRange.Exclude(this);
            }
            else
            {
                pRange = pRange.Exclude(this);
                if (pRange.IsEmpty())
                    return true; //il range è vuoto
                pRange.m_bValidated = true;

                RangeRegionCancelEventArgs e = new RangeRegionCancelEventArgs(pRange);
                OnAddingRange(e); //calling this method the range can change
                if (e.Cancel)
                    return false;

                if (pRange.m_bValidated == false)
                {
                    pRange = pRange.Exclude(this);
                    if (pRange.IsEmpty())
                        return true; //il range è vuoto
                }

                for (int rToAdd = 0; rToAdd < pRange.m_RangeCollection.Count; rToAdd++)
                {
                    Range rangeToAdd = pRange.m_RangeCollection[rToAdd];
                    m_RangeCollection.Add(rangeToAdd);
                }
            }

            OnAddedRange(new RangeRegionCancelEventArgs(pRange));

            m_bValidated = false;

            return true;
        }