public TreeItem (IRawElementProviderSimple provider) : base (provider) { invokeProvider = (IInvokeProvider)provider.GetPatternProvider(InvokePatternIdentifiers.Pattern.Id); selectionItemProvider = (ISelectionItemProvider)provider.GetPatternProvider(SelectionItemPatternIdentifiers.Pattern.Id); expandCollapseProvider = provider.GetPatternProvider ( ExpandCollapsePatternIdentifiers.Pattern.Id) as IExpandCollapseProvider; textExpert = TextImplementorFactory.GetImplementor (this, provider); actionExpert = new ActionImplementorHelper (); // TODO: Localize the name?s actionExpert.Add ("click", "click", null, DoClick); if (ToggleProvider != null) actionExpert.Add ("toggle", "toggle", null, DoToggle); if (invokeProvider != null) actionExpert.Add ("invoke", "invoke", null, DoInvoke); IRawElementProviderFragment fragment = Provider as IRawElementProviderFragment; if (fragment != null && fragment.Navigate (NavigateDirection.FirstChild) != null) AddExpandContractAction (); Role = (ToggleProvider != null? Atk.Role.CheckBox: Atk.Role.TableCell); imageExpert = new ImageImplementorHelper (this); editableTextExpert = new EditableTextImplementorHelper (this, this, textExpert); }
public MenuItem(IRawElementProviderSimple provider) : base(provider) { if (provider == null) { throw new ArgumentNullException("provider"); } if ((provider as IRawElementProviderFragment) == null) { throw new ArgumentException("Provider for ParentMenu should be IRawElementProviderFragment"); } textExpert = TextImplementorFactory.GetImplementor(this, provider); Role = Atk.Role.MenuItem; string name = (string)provider.GetPropertyValue(AutomationElementIdentifiers.NameProperty.Id); if (!String.IsNullOrEmpty(name)) { Name = name; } invokeProvider = (IInvokeProvider) provider.GetPatternProvider(InvokePatternIdentifiers.Pattern.Id); toggleProvider = (IToggleProvider) provider.GetPatternProvider(TogglePatternIdentifiers.Pattern.Id); selectionItemProvider = (ISelectionItemProvider) provider.GetPatternProvider(SelectionItemPatternIdentifiers.Pattern.Id); expandCollapseProvider = (IExpandCollapseProvider) provider.GetPatternProvider(ExpandCollapsePatternIdentifiers.Pattern.Id); actionExpert.Add("click", "click", null, DoClick); }
public void TestHasKeyboardFocusAfterPattern() { StackPanel panel = new StackPanel(); ComboBox fe = CreateConcreteFrameworkElement() as ComboBox; fe.Items.Add("Item 0"); fe.Items.Add("Item 1"); Button button = new Button() { Content = "Button" }; panel.Children.Add(fe); panel.Children.Add(button); AutomationPeer buttonPeer = FrameworkElementAutomationPeer.CreatePeerForElement(button); AutomationPeer peer = FrameworkElementAutomationPeer.CreatePeerForElement(fe); IExpandCollapseProvider provider = null; CreateAsyncTest(panel, () => { provider = (IExpandCollapseProvider)peer.GetPattern(PatternInterface.ExpandCollapse); Assert.IsNotNull(provider, "#1"); }, () => provider.Expand(), () => Assert.IsTrue(peer.HasKeyboardFocus(), "#2"), () => button.Focus(), () => Assert.IsTrue(buttonPeer.HasKeyboardFocus(), "#3"), () => provider.Collapse(), () => Assert.IsTrue(peer.HasKeyboardFocus(), "#4") ); }
public MenuItem (IRawElementProviderSimple provider) : base (provider) { if (provider == null) throw new ArgumentNullException ("provider"); if ((provider as IRawElementProviderFragment) == null) throw new ArgumentException ("Provider for ParentMenu should be IRawElementProviderFragment"); textExpert = TextImplementorFactory.GetImplementor (this, provider); Role = Atk.Role.MenuItem; string name = (string) provider.GetPropertyValue (AutomationElementIdentifiers.NameProperty.Id); if (!String.IsNullOrEmpty (name)) Name = name; invokeProvider = (IInvokeProvider) provider.GetPatternProvider (InvokePatternIdentifiers.Pattern.Id); toggleProvider = (IToggleProvider) provider.GetPatternProvider (TogglePatternIdentifiers.Pattern.Id); selectionItemProvider = (ISelectionItemProvider) provider.GetPatternProvider (SelectionItemPatternIdentifiers.Pattern.Id); expandCollapseProvider = (IExpandCollapseProvider) provider.GetPatternProvider (ExpandCollapsePatternIdentifiers.Pattern.Id); actionExpert.Add ("click", "click", null, DoClick); }
public static void SetWidthFromItems(this ComboBox comboBox) { double comboBoxWidth = 19; ComboBoxAutomationPeer peer = new ComboBoxAutomationPeer(comboBox); IExpandCollapseProvider provider = (IExpandCollapseProvider)peer.GetPattern(PatternInterface.ExpandCollapse); EventHandler eventHandler = null; eventHandler = new EventHandler(delegate { if (comboBox.IsDropDownOpen && comboBox.ItemContainerGenerator.Status == GeneratorStatus.ContainersGenerated) { double width = 0; foreach (var item in comboBox.Items) { ComboBoxItem comboBoxItem = comboBox.ItemContainerGenerator.ContainerFromItem(item) as ComboBoxItem; comboBoxItem.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); if (comboBoxItem.DesiredSize.Width > width) { width = comboBoxItem.DesiredSize.Width; } } comboBox.Width = comboBoxWidth + width; comboBox.ItemContainerGenerator.StatusChanged -= eventHandler; comboBox.DropDownOpened -= eventHandler; provider.Collapse(); } }); comboBox.ItemContainerGenerator.StatusChanged += eventHandler; comboBox.DropDownOpened += eventHandler; provider.Expand(); }
public TreeItem(IRawElementProviderSimple provider) : base(provider) { invokeProvider = (IInvokeProvider)provider.GetPatternProvider(InvokePatternIdentifiers.Pattern.Id); selectionItemProvider = (ISelectionItemProvider)provider.GetPatternProvider(SelectionItemPatternIdentifiers.Pattern.Id); expandCollapseProvider = provider.GetPatternProvider( ExpandCollapsePatternIdentifiers.Pattern.Id) as IExpandCollapseProvider; textExpert = TextImplementorFactory.GetImplementor(this, provider); actionExpert = new ActionImplementorHelper(); // TODO: Localize the name?s actionExpert.Add("click", "click", null, DoClick); if (ToggleProvider != null) { actionExpert.Add("toggle", "toggle", null, DoToggle); } if (invokeProvider != null) { actionExpert.Add("invoke", "invoke", null, DoInvoke); } IRawElementProviderFragment fragment = Provider as IRawElementProviderFragment; if (fragment != null && fragment.Navigate(NavigateDirection.FirstChild) != null) { AddExpandContractAction(); } Role = (ToggleProvider != null? Atk.Role.CheckBox: Atk.Role.TableCell); imageExpert = new ImageImplementorHelper(this); editableTextExpert = new EditableTextImplementorHelper(this, this, textExpert); }
private readonly ITextProvider2 publicITextProvider2; // AccessibleObject as ITextProvider2 /// <summary> /// Create a new wrapper. /// </summary> internal InternalAccessibleObject(AccessibleObject accessibleImplemention) { // Get all the casts done here to catch any issues early publicIAccessible = (IAccessible)accessibleImplemention; publicIEnumVariant = (Oleaut32.IEnumVariant)accessibleImplemention; publicIOleWindow = (Ole32.IOleWindow)accessibleImplemention; publicIReflect = (IReflect)accessibleImplemention; publicIServiceProvider = (Ole32.IServiceProvider)accessibleImplemention; publicIAccessibleEx = (IAccessibleEx)accessibleImplemention; publicIRawElementProviderSimple = (IRawElementProviderSimple)accessibleImplemention; publicIRawElementProviderFragment = (IRawElementProviderFragment)accessibleImplemention; publicIRawElementProviderFragmentRoot = (IRawElementProviderFragmentRoot)accessibleImplemention; publicIInvokeProvider = (IInvokeProvider)accessibleImplemention; publicIValueProvider = (IValueProvider)accessibleImplemention; publicIRangeValueProvider = (IRangeValueProvider)accessibleImplemention; publicIExpandCollapseProvider = (IExpandCollapseProvider)accessibleImplemention; publicIToggleProvider = (IToggleProvider)accessibleImplemention; publicITableProvider = (ITableProvider)accessibleImplemention; publicITableItemProvider = (ITableItemProvider)accessibleImplemention; publicIGridProvider = (IGridProvider)accessibleImplemention; publicIGridItemProvider = (IGridItemProvider)accessibleImplemention; publicILegacyIAccessibleProvider = (ILegacyIAccessibleProvider)accessibleImplemention; publicISelectionProvider = (ISelectionProvider)accessibleImplemention; publicISelectionItemProvider = (ISelectionItemProvider)accessibleImplemention; publicIScrollItemProvider = (IScrollItemProvider)accessibleImplemention; publicIRawElementProviderHwndOverride = (IRawElementProviderHwndOverride)accessibleImplemention; publicIMultiViewProvider = (IMultipleViewProvider)accessibleImplemention; publicITextProvider = (ITextProvider)accessibleImplemention; publicITextProvider2 = (ITextProvider2)accessibleImplemention; // Note: Deliberately not holding onto AccessibleObject to enforce all access through the interfaces }
static void ShowNextItem(TreeViewItem item) { var peer = new TreeViewItemAutomationPeer(item); IExpandCollapseProvider expander = peer; expander.Expand(); InvokeUtility.DoEvents(); }
public ComboBoxDropDown (IRawElementProviderSimple provider) : base (provider) { this.provider = provider as IRawElementProviderFragmentRoot; if (this.provider == null) throw new ArgumentException ("Provider should be IRawElementProviderFragmentRoot"); expandCollapseProvider = (IExpandCollapseProvider)provider.GetPatternProvider (ExpandCollapsePatternIdentifiers.Pattern.Id); }
internal ExpandCollapsePattern (IExpandCollapseProvider source, AutomationElement element, bool cached) { this.element = element; this.cached = cached; this.Source = source; currentInfo = new ExpandCollapsePatternInformation (this, false); if (cached) cachedInfo = new ExpandCollapsePatternInformation (this, true); }
public ComboBoxDropDown(IRawElementProviderSimple provider) : base(provider) { this.provider = provider as IRawElementProviderFragmentRoot; if (this.provider == null) { throw new ArgumentException("Provider should be IRawElementProviderFragmentRoot"); } expandCollapseProvider = (IExpandCollapseProvider)provider.GetPatternProvider(ExpandCollapsePatternIdentifiers.Pattern.Id); }
public virtual void ExpanderPeerIsIExpandCollapseProvider() { Expander item = new Expander(); IExpandCollapseProvider provider = null; TestAsync( item, () => provider = FrameworkElementAutomationPeer.CreatePeerForElement(item) as IExpandCollapseProvider, () => Assert.IsNotNull(provider, "ExpanderAutomationPeer should implement IExpandCollapseProvider!")); }
private static void HandleExpandCollapseStateProperty(ProxySimple el, IntPtr hwnd, int eventId) { IExpandCollapseProvider expandCollapse = el.GetPatternProvider(ExpandCollapsePattern.Pattern) as IExpandCollapseProvider; if (expandCollapse == null) { return; } RaisePropertyChangedEvent(el, ExpandCollapsePattern.ExpandCollapseStateProperty, expandCollapse.ExpandCollapseState); }
internal ExpandCollapsePattern(IExpandCollapseProvider source, AutomationElement element, bool cached) { this.element = element; this.cached = cached; this.Source = source; currentInfo = new ExpandCollapsePatternInformation(this, false); if (cached) { cachedInfo = new ExpandCollapsePatternInformation(this, true); } }
public virtual void TreeViewItemPeerCollapsingNoItems() { TreeViewItem item = new TreeViewItem(); TreeViewItemAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as TreeViewItemAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => provider.Collapse()); }
public virtual void AccordionItemPeerExpandStateNoItems() { AccordionItem item = new AccordionItem(); AccordionItemAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as AccordionItemAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => Assert.AreEqual(ExpandCollapseState.Collapsed, provider.ExpandCollapseState, "Unexpected ExpandCollapseState!")); }
/// <summary>Hides all nodes, controls, or content that are descendants of the control.</summary> // Token: 0x06002873 RID: 10355 RVA: 0x000BC6D8 File Offset: 0x000BA8D8 void IExpandCollapseProvider.Collapse() { TreeViewItemAutomationPeer treeViewItemAutomationPeer = this.GetWrapperPeer() as TreeViewItemAutomationPeer; if (treeViewItemAutomationPeer != null) { IExpandCollapseProvider expandCollapseProvider = treeViewItemAutomationPeer; expandCollapseProvider.Collapse(); return; } base.ThrowElementNotAvailableException(); }
public virtual void ExpanderPeerSupportsExpandCollapse() { Expander item = new Expander(); ExpanderAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as ExpanderAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => Assert.IsNotNull(provider, "IExpandCollapseProvider peer should not be null!")); }
public virtual void ExpanderPeerExpandStateCollapsed() { Expander item = new Expander(); ExpanderAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as ExpanderAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => Assert.AreEqual(ExpandCollapseState.Collapsed, provider.ExpandCollapseState, "Unexpected ExpandCollapseState!")); }
private IExpandCollapseProvider GetExpandCollapseProvider(FrameworkElement element) { AutomationPeer peer = FrameworkElementAutomationPeer.CreatePeerForElement(element); Assert.IsNotNull(peer, "CreatePeerForElement #0"); IExpandCollapseProvider expandCollapse = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider; Assert.IsNotNull(expandCollapse, "ExpandCollapseProvider #0"); return(expandCollapse); }
public virtual void AccordionItemPeerExpands() { AccordionItem item = new AccordionItem(); AccordionItemAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as AccordionItemAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => provider.Expand(), () => Assert.IsTrue(item.IsSelected, "Item should be expanded!")); }
public virtual void PickerPeerCollapseCollapsed() { Picker item = PickerInstance; PickerAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as PickerAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => provider.Collapse(), () => Assert.IsFalse(item.IsDropDownOpen, "Item should be collapsed!")); }
public virtual void ExpanderPeerCollapseCollapsed() { Expander item = new Expander(); ExpanderAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as ExpanderAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => provider.Collapse(), () => Assert.IsFalse(item.IsExpanded, "Item should be collapsed!")); }
public virtual void TreeViewItemPeerExpandStateExpanded() { TreeViewItem item = new TreeViewItem { IsExpanded = true, ItemsSource = new int[] { 1, 2, 3 } }; TreeViewItemAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as TreeViewItemAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => Assert.AreEqual(ExpandCollapseState.Expanded, provider.ExpandCollapseState, "Unexpected ExpandCollapseState!")); }
public virtual void ExpanderPeerCollapseDisabled() { Expander item = new Expander { IsEnabled = false }; ExpanderAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as ExpanderAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => provider.Collapse()); }
// Token: 0x0600276E RID: 10094 RVA: 0x000B9FD8 File Offset: 0x000B81D8 internal override void RealizeCore() { ComboBox comboBox = base.ItemsControlAutomationPeer.Owner as ComboBox; if (comboBox != null) { IExpandCollapseProvider expandCollapseProvider = ((IExpandCollapseProvider)UIElementAutomationPeer.FromElement(comboBox)) as ComboBoxAutomationPeer; if (expandCollapseProvider.ExpandCollapseState != ExpandCollapseState.Expanded) { expandCollapseProvider.Expand(); } } base.RealizeCore(); }
public virtual void PickerPeerExpandDisabled() { Picker item = PickerInstance; item.IsEnabled = false; PickerAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as PickerAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => provider.Expand()); }
/// void IExpandCollapseProvider.Collapse() { TreeViewItemAutomationPeer wrapperPeer = GetWrapperPeer() as TreeViewItemAutomationPeer; if (wrapperPeer != null) { IExpandCollapseProvider iExpandCollapseProvider = wrapperPeer as IExpandCollapseProvider; iExpandCollapseProvider.Collapse(); } else { ThrowElementNotAvailableException(); } }
///For ComboBoxItem for which peer is this element only, scrolling should happen when the pop-up is expanded. internal override void RealizeCore() { ComboBox parent = ItemsControlAutomationPeer.Owner as ComboBox; if (parent != null) { IExpandCollapseProvider iecp = (IExpandCollapseProvider)UIElementAutomationPeer.FromElement(parent) as ComboBoxAutomationPeer; if (iecp.ExpandCollapseState != ExpandCollapseState.Expanded) { iecp.Expand(); } } base.RealizeCore(); }
public virtual void AccordionItemPeerExpandDisabled() { AccordionItem item = new AccordionItem { IsEnabled = false }; AccordionItemAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as AccordionItemAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => provider.Expand()); }
public virtual void PickerPeerExpandStateExpanded() { Picker item = PickerInstance; item.IsDropDownOpen = true; PickerAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as PickerAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => Assert.AreEqual(ExpandCollapseState.Expanded, provider.ExpandCollapseState, "Unexpected ExpandCollapseState!")); }
public virtual void TreeViewItemPeerCollapseCollapsed() { TreeViewItem item = new TreeViewItem { ItemsSource = new int[] { 1, 2, 3 } }; TreeViewItemAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as TreeViewItemAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => provider.Collapse(), () => Assert.IsFalse(item.IsExpanded, "Item should be collapsed!")); }
public virtual void AccordionItemPeerCollapse() { AccordionItem item = new AccordionItem { IsSelected = true }; AccordionItemAutomationPeer peer = null; IExpandCollapseProvider provider = null; TestAsync( item, () => peer = FrameworkElementAutomationPeer.CreatePeerForElement(item) as AccordionItemAutomationPeer, () => provider = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider, () => provider.Collapse(), () => Thread.Sleep(40), () => Assert.IsFalse(item.IsSelected, "Item should be collapsed!")); }
public override void OnRefStateSet(ref Atk.StateSet states) { IExpandCollapseProvider expandCollapse = peer.GetPattern(PatternInterface.ExpandCollapse) as IExpandCollapseProvider; if (expandCollapse != null) { var state = expandCollapse.ExpandCollapseState; // If it's not a leaf, it can be expanded if (state != ExpandCollapseState.LeafNode) { states.AddState(Atk.StateType.Expandable); } if (state == ExpandCollapseState.Expanded || state == ExpandCollapseState.PartiallyExpanded) { states.AddState(Atk.StateType.Expanded); } else { states.RemoveState(Atk.StateType.Expanded); } } IToggleProvider toggle = peer.GetPattern(PatternInterface.Toggle) as IToggleProvider; if (toggle != null) { states.RemoveState(Atk.StateType.Checked); states.RemoveState(Atk.StateType.Indeterminate); var state = toggle.ToggleState; if (state == ToggleState.On) { states.AddState(Atk.StateType.Checked); } else if (state == ToggleState.Indeterminate) { states.AddState(Atk.StateType.Indeterminate); } } }
//----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors private ExpandCollapseProviderWrapper( AutomationPeer peer, IExpandCollapseProvider iface ) { _peer = peer; _iface = iface; }
public override void RaiseAutomationPropertyChangedEvent (AutomationPropertyChangedEventArgs e) { if (e.Property.Id == AutomationElementIdentifiers.IsOffscreenProperty.Id) { selected = (bool) e.NewValue ? false : selected; NotifyStateChange (Atk.StateType.Showing); } else if (e.Property.Id == AutomationElementIdentifiers.HasKeyboardFocusProperty.Id) { NotifyStateChange (Atk.StateType.Selected, (bool) e.NewValue); base.RaiseAutomationPropertyChangedEvent (e); } else if (e.Property == AutomationElementIdentifiers.IsTogglePatternAvailableProperty) { toggleProvider = (IToggleProvider) Provider.GetPatternProvider (TogglePatternIdentifiers.Pattern.Id); NotifyStateChange (Atk.StateType.Checked, Checked); } else if (e.Property == AutomationElementIdentifiers.IsInvokePatternAvailableProperty) { invokeProvider = (IInvokeProvider) Provider.GetPatternProvider (InvokePatternIdentifiers.Pattern.Id); } else if (e.Property == AutomationElementIdentifiers.IsExpandCollapsePatternAvailableProperty) { expandCollapseProvider = (IExpandCollapseProvider) Provider.GetPatternProvider (ExpandCollapsePatternIdentifiers.Pattern.Id); } else if (e.Property == AutomationElementIdentifiers.IsSelectionItemPatternAvailableProperty) { selectionItemProvider = (ISelectionItemProvider) Provider.GetPatternProvider (SelectionItemPatternIdentifiers.Pattern.Id); NotifyStateChange (Atk.StateType.Checked, SelectionItemSelected); } else { base.RaiseAutomationPropertyChangedEvent (e); } }