Inheritance: BasePatternImplementor
Ejemplo n.º 1
0
        private static void ClearSelectedItems(SelectionItem exceptSelectionItem)
        {
            Adapter parent = exceptSelectionItem.ParentSelectionContainer;

            if (parent == null)
            {
                return;
            }

            List <SelectionItem> selectedItems = null;

            if (SelectionItem.CachedSelectionItems.TryGetValue(parent,
                                                               out selectedItems))
            {
                foreach (SelectionItem selectionItem in selectedItems)
                {
                    if (selectionItem != exceptSelectionItem)
                    {
                        selectionItem.WasSelected = false;
                        selectionItem.Adapter.NotifyStateChange(Atk.StateType.Selected);
                    }
                }
                selectedItems.Clear();
                selectedItems.Add(exceptSelectionItem);
            }
        }
Ejemplo n.º 2
0
        private static void RemoveSelectedItem(SelectionItem selectionItem)
        {
            Adapter parent = selectionItem.ParentSelectionContainer;

            if (parent == null)
            {
                return;
            }

            List <SelectionItem> selectedItems = null;

            if (SelectionItem.CachedSelectionItems.TryGetValue(parent,
                                                               out selectedItems))
            {
                selectedItems.Remove(selectionItem);
            }
        }
Ejemplo n.º 3
0
        private static void AddSelectedItem(SelectionItem selectionItem)
        {
            Adapter parent = selectionItem.ParentSelectionContainer;

            if (parent == null)
            {
                return;
            }

            List <SelectionItem> selectedItems = null;

            if (!SelectionItem.CachedSelectionItems.TryGetValue(parent,
                                                                out selectedItems))
            {
                selectedItems = new List <SelectionItem> ();
                SelectionItem.CachedSelectionItems [parent] = selectedItems;
            }

            selectedItems.Add(selectionItem);
        }
Ejemplo n.º 4
0
        private void OnAutomationEventRaised(object o, AutomationEventEventArgs args)
        {
            bool notifyStateChanged = false;

            switch (args.Event)
            {
            case AutomationEvents.SelectionItemPatternOnElementSelected:
                // We have to notify that we are the only selected item,
                // we do that by unselecting previous selected items.
                SelectionItem.ClearSelectedItems(this);
                if (!WasSelected)
                {
                    notifyStateChanged = true;
                    SelectionItem.AddSelectedItem(this);
                }
                break;

            case AutomationEvents.SelectionItemPatternOnElementAddedToSelection:
                if (!WasSelected)
                {
                    notifyStateChanged = true;
                    SelectionItem.AddSelectedItem(this);
                }
                break;

            case AutomationEvents.SelectionItemPatternOnElementRemovedFromSelection:
                if (WasSelected)
                {
                    notifyStateChanged = true;
                    SelectionItem.RemoveSelectedItem(this);
                }
                break;
            }

            if (notifyStateChanged)
            {
                WasSelected = !WasSelected;
                adapter.NotifyStateChange(Atk.StateType.Selected);
            }
        }
Ejemplo n.º 5
0
		private static void RemoveSelectedItem (SelectionItem selectionItem)
		{
			Adapter parent = selectionItem.ParentSelectionContainer;
			if (parent == null)
				return;

			List<SelectionItem> selectedItems = null;
			if (SelectionItem.CachedSelectionItems.TryGetValue (parent,
			                                                     out selectedItems))
				selectedItems.Remove (selectionItem);
		}
Ejemplo n.º 6
0
		private static void AddSelectedItem (SelectionItem selectionItem)
		{
			Adapter parent = selectionItem.ParentSelectionContainer;
			if (parent == null)
				return;

			List<SelectionItem> selectedItems = null;
			if (!SelectionItem.CachedSelectionItems.TryGetValue (parent,
			                                                     out selectedItems)) {
				selectedItems = new List<SelectionItem> ();
				SelectionItem.CachedSelectionItems [parent] = selectedItems;
			}

			selectedItems.Add (selectionItem);
		}
Ejemplo n.º 7
0
		private static void ClearSelectedItems (SelectionItem exceptSelectionItem)
		{
			Adapter parent = exceptSelectionItem.ParentSelectionContainer;
			if (parent == null)
				return;

			List<SelectionItem> selectedItems = null;
			if (SelectionItem.CachedSelectionItems.TryGetValue (parent,
			                                                    out selectedItems)) {
				foreach (SelectionItem selectionItem in selectedItems) {
					if (selectionItem != exceptSelectionItem) {
						selectionItem.WasSelected = false;
						selectionItem.Adapter.NotifyStateChange (Atk.StateType.Selected);
					}
				}
				selectedItems.Clear ();
				selectedItems.Add (exceptSelectionItem);
			}
		}