Exemplo n.º 1
0
        /// <summary>
        /// Determines whether the specified index is selected.
        /// </summary>
        /// <param name="controlHandle">The control handle.</param>
        /// <param name="index">The zero-based index of the tab to select.</param>
        /// <returns>
        ///   <c>true</c> if the specified index is selected; otherwise, <c>false</c>.
        /// </returns>
        ///<exception cref="ProdOperationException">Examine inner exception</exception>
        public static bool TabIsSelected(IntPtr controlHandle, int index)
        {
            bool ret;

            try
            {
                AutomationElement   control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle);
                AutomationElement[] element = SelectionPatternHelper.GetSelection(control);
                int retVal = SelectionItemPatternHelper.FindIndexByItem(control, element[0].Current.Name);

                ret = (retVal == index);
                LogController.ReceiveLogMessage(new LogMessage(ret.ToString()));
                return(ret);
            }
            catch (InvalidOperationException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
            catch (ElementNotAvailableException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
            catch (ArgumentException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
        }
        public static Collection <object> GetSelectedIndexes(IntPtr controlHandle)
        {
            if (!CanSelectMultiple(controlHandle))
            {
                return(null);
            }

            try
            {
                AutomationElement control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle);

                AutomationElement[] selectedItems = SelectionPatternHelper.GetSelection(control);
                Collection <object> retList       = new Collection <object>(selectedItems);

                LogController.ReceiveLogMessage(new LogMessage("List selected items: ", retList));

                return(retList);
            }
            catch (InvalidOperationException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
            catch (ElementNotAvailableException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
            catch (ArgumentException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
        }
        public static AutomationElement GetSelectedItem(IntPtr controlHandle)
        {
            try
            {
                AutomationElement   control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle);
                AutomationElement[] retVal  = SelectionPatternHelper.GetSelection(control);

                AutomationElement ret = retVal[0];
                if (ret == null)
                {
                    throw new ProdOperationException("Unable to select Item");
                }

                LogController.ReceiveLogMessage(new LogMessage(control.Current.Name));
                return(ret);
            }
            catch (InvalidOperationException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
            catch (ElementNotAvailableException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
            catch (ArgumentException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
        }
 public static int GetSelectedIndex(IntPtr controlHandle)
 {
     try
     {
         AutomationElement   control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle);
         AutomationElement[] element = SelectionPatternHelper.GetSelection(control);
         int ret = SelectionItemPatternHelper.FindIndexByItem(control, element[0].Current.Name);
         if (ret == -1)
         {
             /* Call native function */
             ret = ProdListBoxNative.GetSelectedIndexNative(controlHandle);
         }
         LogController.ReceiveLogMessage(new LogMessage(ret.ToString(CultureInfo.InvariantCulture)));
         return(ret);
     }
     catch (InvalidOperationException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
     catch (ElementNotAvailableException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
     catch (ArgumentException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
 }
        private static int UiaSelectedIndex(BaseProdControl control)
        {
            AutomationElement[] element = SelectionPatternHelper.SelectedItems(control.UIAElement);
            int retVal = SelectionItemPatternHelper.FindIndexByItem(control.UIAElement, element[0].Current.Name);

            LogController.ReceiveLogMessage(new LogMessage(retVal.ToString(CultureInfo.CurrentCulture)));
            return(retVal);
        }
        private static Collection <object> UiaGetItems(BaseProdControl control)
        {
            AutomationElementCollection convRet = SelectionPatternHelper.GetListItems(control.UIAElement);

            Collection <object> retVal = InternalUtilities.AutomationCollToObjectList(convRet);

            LogController.ReceiveLogMessage(new LogMessage("List Items: ", retVal));
            return(retVal);
        }
 private static int UiaGetSelectedItemCount(BaseProdControl control)
 {
     if (!UiaCanSelectMultiple(control))
     {
         throw new ProdOperationException("Does not support multiple selection");
     }
     AutomationElement[] selectedItems = SelectionPatternHelper.SelectedItems(control.UIAElement);
     LogController.ReceiveLogMessage(new LogMessage("Count: " + selectedItems.Length));
     return(selectedItems.Length);
 }
        private static void UiaSelectAll(BaseProdControl control)
        {
            if (!UiaCanSelectMultiple(control))
            {
                throw new ProdOperationException("Does not support multiple selection");
            }

            foreach (AutomationElement item in SelectionPatternHelper.GetListItems(control.UIAElement))
            {
                SelectionItemPatternHelper.AddToSelection(item);
            }
        }
Exemplo n.º 9
0
        public void SelectNode(string itemText)
        {
            LogText = "Item: " + itemText;

            try
            {
                RegisterEvent(SelectionItemPattern.ElementSelectedEvent);
                AutomationElement control = SelectionPatternHelper.FindItemByText(UIAElement, itemText);
                SelectionPatternHelper.Select(control);
            }
            catch (ProdOperationException err)
            {
                throw;
            }
        }
Exemplo n.º 10
0
        public void SelectNode(int index)
        {
            LogText = "Index: " + index;

            try
            {
                RegisterEvent(SelectionItemPattern.ElementSelectedEvent);
                AutomationElement indexedItem = SelectionPatternHelper.FindItemByIndex(UIAElement, index);
                SelectionPatternHelper.Select(indexedItem);
            }
            catch (ProdOperationException err)
            {
                throw;
            }
        }
Exemplo n.º 11
0
        public AutomationElement GetSelectedNode()
        {
            try
            {
                AutomationElement[] retVal = SelectionPatternHelper.GetSelection(UIAElement);

                LogText = retVal[0].Current.AutomationId;
                LogMessage();

                return(retVal[0]);
            }
            catch (ProdOperationException err)
            {
                throw;
            }
        }
        private static Collection <string> UiaGetSelectedItems(BaseProdControl control)
        {
            if (!UiaCanSelectMultiple(control))
            {
                throw new ProdOperationException("Does not support multiple selection");
            }
            AutomationElement[] selectedItems = SelectionPatternHelper.SelectedItems(control.UIAElement);
            Collection <string> retList       = new Collection <string>();

            foreach (AutomationElement item in selectedItems)
            {
                retList.Add(item.Current.Name);
            }

            LogController.ReceiveLogMessage(new LogMessage("Selected Items", new Collection <object>(selectedItems)));
            return(retList);
        }
        /// <summary>
        /// Gets the selected indexes using UIA
        /// </summary>
        /// <param name="control">The base ProdUI control</param>
        /// <returns>
        /// A List of all the indexes of currently selected list items.
        /// </returns>
        private static Collection <int> UiaGetSelectedIndexes(BaseProdControl control)
        {
            if (!UiaCanSelectMultiple(control))
            {
                throw new ProdOperationException("Does not support multiple selection");
            }

            AutomationElement[] selectedItems = SelectionPatternHelper.SelectedItems(control.UIAElement);
            Collection <object> retList       = new Collection <object> {
                (selectedItems)
            };
            Collection <int> selectedIndexes = new Collection <int>();

            foreach (AutomationElement item in selectedItems)
            {
                selectedIndexes.Add(SelectionItemPatternHelper.FindIndexByItem(control.UIAElement, item.Current.Name));
            }
            LogController.ReceiveLogMessage(new LogMessage("Selected Indexes", retList));
            return(selectedIndexes);
        }
Exemplo n.º 14
0
 public static bool CanSelectMultiple(ProdWindow prodwindow, string automationId)
 {
     try
     {
         AutomationElement control = InternalUtilities.GetHandlelessElement(prodwindow, automationId);
         return(SelectionPatternHelper.CanSelectMultiple(control));
     }
     catch (InvalidOperationException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
     catch (ElementNotAvailableException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
     catch (ArgumentException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
 }
Exemplo n.º 15
0
        public static int SelectedItemCount(IntPtr controlHandle)
        {
            try
            {
                AutomationElement control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle);
                if (!SelectionPatternHelper.CanSelectMultiple(control))
                {
                    return(-1);
                }

                AutomationElement[] selectedItems = SelectionPatternHelper.GetSelection(control);

                if (selectedItems == null)
                {
                    if (CanSelectMultiple(controlHandle))
                    {
                        /* Call native function */
                        return(ProdListBoxNative.GetSelectedItemCountNative(controlHandle));
                    }
                }

                if (selectedItems == null)
                {
                    return(-1);
                }
                LogController.ReceiveLogMessage(new LogMessage("List selection count: " + selectedItems.Length));
                return(selectedItems.Length);
            }
            catch (InvalidOperationException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
            catch (ElementNotAvailableException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
            catch (ArgumentException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
        }
Exemplo n.º 16
0
        public int GetSelectedNodeIndex()
        {
            try
            {
                AutomationElement[] element = SelectionPatternHelper.GetSelection(UIAElement);
                int retVal = SelectionPatternHelper.FindIndexByItem(UIAElement, element[0].Current.Name);

                LogText = retVal.ToString(CultureInfo.CurrentCulture);
                LogMessage();

                return(retVal);
            }
            catch (InvalidOperationException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
            catch (ElementNotAvailableException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
        }
Exemplo n.º 17
0
 public static bool CanSelectMultiple(IntPtr controlHandle)
 {
     try
     {
         AutomationElement control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle);
         LogController.ReceiveLogMessage(new LogMessage(control.Current.Name));
         return(SelectionPatternHelper.CanSelectMultiple(control));
     }
     catch (InvalidOperationException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
     catch (ElementNotAvailableException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
     catch (ArgumentException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
 }
Exemplo n.º 18
0
 /// <summary>
 /// Determines whether the specified item text is selected.
 /// </summary>
 /// <param name="controlHandle">The control handle.</param>
 /// <param name="itemText">The item text.</param>
 /// <returns>
 ///   <c>true</c> if the specified item text is selected; otherwise, <c>false</c>.
 /// </returns>
 /// <exception cref="ProdOperationException">Examine inner exception</exception>
 public static bool TabIsSelected(IntPtr controlHandle, string itemText)
 {
     try
     {
         AutomationElement   control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle);
         AutomationElement[] element = SelectionPatternHelper.GetSelection(control);
         bool retVal = (SelectionItemPatternHelper.FindItemByText(control, itemText).Current.FrameworkId == element[0].Current.FrameworkId);
         LogController.ReceiveLogMessage(new LogMessage(retVal.ToString()));
         return(retVal);
     }
     catch (InvalidOperationException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
     catch (ElementNotAvailableException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
     catch (ArgumentException err)
     {
         throw new ProdOperationException(err.Message, err);
     }
 }
 private static bool UiaCanSelectMultiple(BaseProdControl control)
 {
     return(SelectionPatternHelper.CanSelectMultiple(control.UIAElement));
 }
 private static AutomationElement UiaGetSelectedItem(BaseProdControl control)
 {
     AutomationElement[] retVal = SelectionPatternHelper.SelectedItems(control.UIAElement);
     LogController.ReceiveLogMessage(new LogMessage("Item " + retVal[0]));
     return(retVal[0]);
 }