Exemple #1
0
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Gets the sequence of selected possibilities
		/// </summary>
		/// <param name="listToUpdate">Sequence of possibilities. All possibilities that may be in
		/// this list get deleted and the new ones added.</param>
		/// <returns>True if the sequence was changed, false otherwise</returns>
		/// ------------------------------------------------------------------------------------
		public bool GetPossibilities(IFdoReferenceSequence<ICmPossibility> listToUpdate)
		{
			CheckDisposed();

			Debug.Assert(listToUpdate != null);
			Guid[] origGuids = listToUpdate.ToGuidArray();

			// Clear the list first.
			listToUpdate.Clear();

			bool fAllItemsAreTheSame = true;
			int i = 0;
			foreach (ICmPossibility newPoss in tvPossibilities.SelectedPossibilities)
			{
				listToUpdate.Add(newPoss);
				fAllItemsAreTheSame &= (i < origGuids.Length && origGuids[i++] != newPoss.Guid);
			}

			return (!fAllItemsAreTheSame || i != origGuids.Length);
		}