public Slider(IRawElementProviderSimple provider) : base(provider) { Role = Atk.Role.Slider; rangeValueProvider = (IRangeValueProvider)provider.GetPatternProvider(RangeValuePatternIdentifiers.Pattern.Id); textExpert = TextImplementorFactory.GetImplementor(this, provider); oldText = textExpert.Text; }
public EditableTextImplementorHelper (Adapter adapter, Atk.ITextImplementor textImplementor, ITextImplementor textExpert) { this.adapter = adapter; valueProvider = adapter.Provider.GetPatternProvider (ValuePatternIdentifiers.Pattern.Id) as IValueProvider; this.textExpert = textExpert; if (valueProvider != null) editable = !valueProvider.IsReadOnly; insertDeleteProvider = adapter.Provider.GetPatternProvider (InsertDeleteTextPatternIdentifiers.Pattern.Id) as IInsertDeleteTextProvider; oldText = textExpert.Text; ClipboardProvider = adapter.Provider.GetPatternProvider (ClipboardPatternIdentifiers.Pattern.Id) as IClipboardProvider; // We are keeping a private caret reference to validate the change // of value caretProvider = adapter.Provider.GetPatternProvider (CaretPatternIdentifiers.Pattern.Id) as ICaretProvider; caretOffset = (caretProvider != null ? caretProvider.CaretOffset : textExpert.Length); RefreshEditable (); }
public Slider (IRawElementProviderSimple provider) : base (provider) { Role = Atk.Role.Slider; rangeValueProvider = (IRangeValueProvider)provider.GetPatternProvider (RangeValuePatternIdentifiers.Pattern.Id); textExpert = TextImplementorFactory.GetImplementor (this, provider); oldText = textExpert.Text; }
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 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 TextBoxEntryView(IRawElementProviderSimple provider) : base(provider) { if (IsTableCell) { Role = Atk.Role.TableCell; } else { Role = Atk.Role.Text; } if (provider.GetPatternProvider(TextPatternIdentifiers.Pattern.Id) == null && provider.GetPatternProvider(ValuePatternIdentifiers.Pattern.Id) == null) { throw new ArgumentException("Provider for TextBox should either implement IValue or IText"); } textExpert = TextImplementorFactory.GetImplementor(this, provider); if ((int)provider.GetPropertyValue(AutomationElementIdentifiers.ControlTypeProperty.Id) == ControlType.Document.Id) { multiLine = true; } editableTextExpert = new EditableTextImplementorHelper(this, this, textExpert); }
public ListItem(IRawElementProviderSimple provider) : base(provider) { invokeProvider = (IInvokeProvider)provider.GetPatternProvider(InvokePatternIdentifiers.Pattern.Id); selectionItemProvider = (ISelectionItemProvider)provider.GetPatternProvider(SelectionItemPatternIdentifiers.Pattern.Id); if (selectionItemProvider == null) { throw new ArgumentException("ListItem should always implement ISelectionItemProvider"); } toggleProvider = (IToggleProvider)provider.GetPatternProvider(TogglePatternIdentifiers.Pattern.Id); textExpert = TextImplementorFactory.GetImplementor(this, provider); imageExpert = new ImageImplementorHelper(this); actionExpert = new ActionImplementorHelper(); editableTextExpert = new EditableTextImplementorHelper(this, this, textExpert); // 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); } Role = (toggleProvider != null? Atk.Role.CheckBox: Atk.Role.ListItem); }
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 Hyperlink (IRawElementProviderSimple provider) : base (provider) { invokeProvider = (IInvokeProvider)provider.GetPatternProvider (InvokePatternIdentifiers.Pattern.Id); hypertext = (IHypertext)invokeProvider; links = new List<HyperlinkObject> (); Role = Atk.Role.Label; textExpert = TextImplementorFactory.GetImplementor (this, provider); }
public Hyperlink(IRawElementProviderSimple provider) : base(provider) { invokeProvider = (IInvokeProvider)provider.GetPatternProvider(InvokePatternIdentifiers.Pattern.Id); hypertext = (IHypertext)invokeProvider; links = new List <HyperlinkObject> (); Role = Atk.Role.Label; textExpert = TextImplementorFactory.GetImplementor(this, provider); }
static void GetCharacterExtents_cb(IntPtr inst, int offset, out int x, out int y, out int width, out int height, int coords) { try { ITextImplementor __obj = GLib.Object.GetObject(inst, false) as ITextImplementor; __obj.GetCharacterExtents(offset, out x, out y, out width, out height, (Atk.CoordType)coords); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException(e, true); // NOTREACHED: above call does not return. throw e; } }
public TextAdapter(ITextImplementor implementor) { if (implementor == null) { throw new ArgumentNullException("implementor"); } else if (!(implementor is GLib.Object)) { throw new ArgumentException("implementor must be a subclass of GLib.Object"); } this.implementor = implementor as GLib.Object; }
public Spinner(IRawElementProviderSimple provider) : base(provider) { Role = Atk.Role.SpinButton; rangeValueProvider = (IRangeValueProvider)provider.GetPatternProvider(RangeValuePatternIdentifiers.Pattern.Id); editableRange = provider.GetPatternProvider(EditableRangePatternIdentifiers.Pattern.Id) as IEditableRangeProvider; valueProvider = (IValueProvider)provider.GetPatternProvider(ValuePatternIdentifiers.Pattern.Id); textExpert = TextImplementorFactory.GetImplementor(this, provider); oldText = textExpert.Text; }
public Spinner (IRawElementProviderSimple provider) : base (provider) { Role = Atk.Role.SpinButton; rangeValueProvider = (IRangeValueProvider)provider.GetPatternProvider (RangeValuePatternIdentifiers.Pattern.Id); editableRange = provider.GetPatternProvider (EditableRangePatternIdentifiers.Pattern.Id) as IEditableRangeProvider; valueProvider = (IValueProvider)provider.GetPatternProvider (ValuePatternIdentifiers.Pattern.Id); textExpert = TextImplementorFactory.GetImplementor (this, provider); oldText = textExpert.Text; }
static IntPtr GetBoundedRanges_cb(IntPtr inst, IntPtr rect, int coord_type, int x_clip_type, int y_clip_type) { try { ITextImplementor __obj = GLib.Object.GetObject(inst, false) as ITextImplementor; Atk.TextRange __result; __result = __obj.GetBoundedRanges(Atk.TextRectangle.New(rect), (Atk.CoordType)coord_type, (Atk.TextClipType)x_clip_type, (Atk.TextClipType)y_clip_type); return(GLib.Marshaller.StructureToPtrAlloc(__result)); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException(e, true); // NOTREACHED: above call does not return. throw e; } }
static bool SetCaretOffset_cb(IntPtr inst, int offset) { try { ITextImplementor __obj = GLib.Object.GetObject(inst, false) as ITextImplementor; bool __result; __result = __obj.SetCaretOffset(offset); return(__result); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException(e, true); // NOTREACHED: above call does not return. throw e; } }
static int GetOffsetAtPoint_cb(IntPtr inst, int x, int y, int coords) { try { ITextImplementor __obj = GLib.Object.GetObject(inst, false) as ITextImplementor; int __result; __result = __obj.GetOffsetAtPoint(x, y, (Atk.CoordType)coords); return(__result); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException(e, true); // NOTREACHED: above call does not return. throw e; } }
static int GetNSelections_cb(IntPtr inst) { try { ITextImplementor __obj = GLib.Object.GetObject(inst, false) as ITextImplementor; int __result; __result = __obj.NSelections; return(__result); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException(e, true); // NOTREACHED: above call does not return. throw e; } }
static IntPtr GetDefaultAttributes_cb(IntPtr inst) { try { ITextImplementor __obj = GLib.Object.GetObject(inst, false) as ITextImplementor; Atk.Attribute[] __result; __result = __obj.DefaultAttributes; return(new GLib.SList(__result, typeof(Atk.Attribute), false, false) == null ? IntPtr.Zero : new GLib.SList(__result, typeof(Atk.Attribute), false, false).Handle); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException(e, true); // NOTREACHED: above call does not return. throw e; } }
static uint GetCharacterAtOffset_cb(IntPtr inst, int offset) { try { ITextImplementor __obj = GLib.Object.GetObject(inst, false) as ITextImplementor; char __result; __result = __obj.GetCharacterAtOffset(offset); return(GLib.Marshaller.CharToGUnichar(__result)); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException(e, true); // NOTREACHED: above call does not return. throw e; } }
static IntPtr GetTextAfterOffset_cb(IntPtr inst, int offset, int boundary_type, out int start_offset, out int end_offset) { try { ITextImplementor __obj = GLib.Object.GetObject(inst, false) as ITextImplementor; string __result; __result = __obj.GetTextAfterOffset(offset, (Atk.TextBoundary)boundary_type, out start_offset, out end_offset); return(GLib.Marshaller.StringToPtrGStrdup(__result)); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException(e, true); // NOTREACHED: above call does not return. throw e; } }
// UI Automation Properties supported // AutomationElementIdentifiers.AcceleratorKeyProperty.Id // AutomationIdProperty() ? // AutomationElementIdentifiers.BoundingRectangleProperty.Id // AutomationElementIdentifiers.ClickablePointProperty.Id // AutomationElementIdentifiers.ControlTypeProperty.Id // AutomationElementIdentifiers.HelpTextProperty.Id // AutomationElementIdentifiers.IsContentElementProperty.Id // AutomationElementIdentifiers.IsControlElementProperty.Id // AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id // AutomationElementIdentifiers.LabeledByProperty.Id // AutomationElementIdentifiers.LocalizedControlTypeProperty.Id // AutomationElementIdentifiers.NameProperty.Id public Button (IRawElementProviderSimple provider) : base (provider) { invokeProvider = (IInvokeProvider)provider.GetPatternProvider(InvokePatternIdentifiers.Pattern.Id); imageImplementor = new ImageImplementorHelper (this); InitializeAdditionalProviders (); if (invokeProvider != null) { //it seems the default description should be null actionName = default_invoke_name; Role = Atk.Role.PushButton; } textExpert = TextImplementorFactory.GetImplementor (this, provider); }
// UI Automation Properties supported // AutomationElementIdentifiers.AcceleratorKeyProperty.Id // AutomationIdProperty() ? // AutomationElementIdentifiers.BoundingRectangleProperty.Id // AutomationElementIdentifiers.ClickablePointProperty.Id // AutomationElementIdentifiers.ControlTypeProperty.Id // AutomationElementIdentifiers.HelpTextProperty.Id // AutomationElementIdentifiers.IsContentElementProperty.Id // AutomationElementIdentifiers.IsControlElementProperty.Id // AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id // AutomationElementIdentifiers.LabeledByProperty.Id // AutomationElementIdentifiers.LocalizedControlTypeProperty.Id // AutomationElementIdentifiers.NameProperty.Id public Button(IRawElementProviderSimple provider) : base(provider) { invokeProvider = (IInvokeProvider)provider.GetPatternProvider(InvokePatternIdentifiers.Pattern.Id); imageImplementor = new ImageImplementorHelper(this); InitializeAdditionalProviders(); if (invokeProvider != null) { //it seems the default description should be null actionName = default_invoke_name; Role = Atk.Role.PushButton; } textExpert = TextImplementorFactory.GetImplementor(this, provider); }
public ListWithEditableText(IRawElementProviderFragmentRoot provider) : base(provider) { IValueProvider value_prov = provider.GetPatternProvider(ValuePatternIdentifiers.Pattern.Id) as IValueProvider; if (value_prov == null) { throw new ArgumentException("Provider does not implement IValue"); } text_helper = TextImplementorFactory.GetImplementor(this, provider); editableTextExpert = new EditableTextImplementorHelper(this, this, text_helper); }
static void GetRangeExtents_cb(IntPtr inst, int start_offset, int end_offset, int coord_type, IntPtr rect) { try { ITextImplementor __obj = GLib.Object.GetObject(inst, false) as ITextImplementor; Atk.TextRectangle myrect; __obj.GetRangeExtents(start_offset, end_offset, (Atk.CoordType)coord_type, out myrect); if (rect != IntPtr.Zero) { System.Runtime.InteropServices.Marshal.StructureToPtr(myrect, rect, false); } } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException(e, true); // NOTREACHED: above call does not return. throw e; } }
public ComboBoxItem (IRawElementProviderSimple provider) : base (provider) { int controlType = (int) provider.GetPropertyValue (AutomationElementIdentifiers.ControlTypeProperty.Id); selectionItemProvider = (ISelectionItemProvider)provider.GetPatternProvider ( SelectionItemPatternIdentifiers.Pattern.Id); if (selectionItemProvider == null) throw new ArgumentException ( String.Format ("Provider for ComboBoxItem (control type {0}) should implement ISelectionItemProvider", controlType)); textExpert = TextImplementorFactory.GetImplementor (this, provider); //FIXME: take in account ComboBox style changes at runtime if (ParentIsSimple ()) Role = Atk.Role.TableCell; else Role = Atk.Role.MenuItem; }
public TextBoxEntryView (IRawElementProviderSimple provider) : base (provider) { if (IsTableCell) Role = Atk.Role.TableCell; else Role = Atk.Role.Text; if (provider.GetPatternProvider (TextPatternIdentifiers.Pattern.Id) == null && provider.GetPatternProvider (ValuePatternIdentifiers.Pattern.Id) == null) throw new ArgumentException ("Provider for TextBox should either implement IValue or IText"); textExpert = TextImplementorFactory.GetImplementor (this, provider); if ((int) provider.GetPropertyValue (AutomationElementIdentifiers.ControlTypeProperty.Id) == ControlType.Document.Id) multiLine = true; editableTextExpert = new EditableTextImplementorHelper (this, this, textExpert); }
public ListItem (IRawElementProviderSimple provider) : base (provider) { invokeProvider = (IInvokeProvider)provider.GetPatternProvider(InvokePatternIdentifiers.Pattern.Id); selectionItemProvider = (ISelectionItemProvider)provider.GetPatternProvider(SelectionItemPatternIdentifiers.Pattern.Id); if (selectionItemProvider == null) throw new ArgumentException ("ListItem should always implement ISelectionItemProvider"); toggleProvider = (IToggleProvider) provider.GetPatternProvider (TogglePatternIdentifiers.Pattern.Id); textExpert = TextImplementorFactory.GetImplementor (this, provider); imageExpert = new ImageImplementorHelper (this); actionExpert = new ActionImplementorHelper (); editableTextExpert = new EditableTextImplementorHelper (this, this, textExpert); // 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); Role = (toggleProvider != null? Atk.Role.CheckBox: Atk.Role.ListItem); }
public ComboBoxItem(IRawElementProviderSimple provider) : base(provider) { int controlType = (int)provider.GetPropertyValue(AutomationElementIdentifiers.ControlTypeProperty.Id); selectionItemProvider = (ISelectionItemProvider)provider.GetPatternProvider( SelectionItemPatternIdentifiers.Pattern.Id); if (selectionItemProvider == null) { throw new ArgumentException( String.Format("Provider for ComboBoxItem (control type {0}) should implement ISelectionItemProvider", controlType)); } textExpert = TextImplementorFactory.GetImplementor(this, provider); //FIXME: take in account ComboBox style changes at runtime if (ParentIsSimple()) { Role = Atk.Role.TableCell; } else { Role = Atk.Role.MenuItem; } }
public TextContainer(IRawElementProviderSimple provider) : base(provider) { Role = Atk.Role.Statusbar; textExpert = TextImplementorFactory.GetImplementor(this, provider); }
public EditableTextImplementorHelper(Adapter adapter, Atk.ITextImplementor textImplementor, ITextImplementor textExpert) { this.adapter = adapter; valueProvider = adapter.Provider.GetPatternProvider(ValuePatternIdentifiers.Pattern.Id) as IValueProvider; this.textExpert = textExpert; if (valueProvider != null) { editable = !valueProvider.IsReadOnly; } insertDeleteProvider = adapter.Provider.GetPatternProvider(InsertDeleteTextPatternIdentifiers.Pattern.Id) as IInsertDeleteTextProvider; oldText = textExpert.Text; ClipboardProvider = adapter.Provider.GetPatternProvider(ClipboardPatternIdentifiers.Pattern.Id) as IClipboardProvider; // We are keeping a private caret reference to validate the change // of value caretProvider = adapter.Provider.GetPatternProvider(CaretPatternIdentifiers.Pattern.Id) as ICaretProvider; caretOffset = (caretProvider != null ? caretProvider.CaretOffset : textExpert.Length); RefreshEditable(); }
public TextLabel(IRawElementProviderSimple provider) : base(provider) { Role = Atk.Role.Label; textExpert = TextImplementorFactory.GetImplementor(this, provider); }
public TextAdapter (ITextImplementor implementor) { if (implementor == null) throw new ArgumentNullException ("implementor"); else if (!(implementor is GLib.Object)) throw new ArgumentException ("implementor must be a subclass of GLib.Object"); this.implementor = implementor as GLib.Object; }
public ListWithEditableText (IRawElementProviderFragmentRoot provider) : base (provider) { IValueProvider value_prov = provider.GetPatternProvider (ValuePatternIdentifiers.Pattern.Id) as IValueProvider; if (value_prov == null) { throw new ArgumentException ("Provider does not implement IValue"); } text_helper = TextImplementorFactory.GetImplementor (this, provider); editableTextExpert = new EditableTextImplementorHelper (this, this, text_helper); }
public TextLabel (IRawElementProviderSimple provider) : base (provider) { Role = Atk.Role.Label; textExpert = TextImplementorFactory.GetImplementor (this, provider); }