Mono.UIAutomation.Winforms.ComboBoxProvider.ComboBoxListBoxProvider.GetProviderPropertyValue C# (CSharp) Method

GetProviderPropertyValue() protected method

protected GetProviderPropertyValue ( int propertyId ) : object
propertyId int
return object
			protected override object GetProviderPropertyValue (int propertyId)
			{
				if (propertyId == AutomationElementIdentifiers.ControlTypeProperty.Id)
					return ControlType.List.Id;
				else if (propertyId == AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id)
					return true;
				else if (propertyId == AutomationElementIdentifiers.HasKeyboardFocusProperty.Id)
					return true;
				else if (propertyId == AutomationElementIdentifiers.IsScrollPatternAvailableProperty.Id)
					return IsBehaviorEnabled (ScrollPatternIdentifiers.Pattern);
				else if (propertyId == AutomationElementIdentifiers.IsTablePatternAvailableProperty.Id)
					return false;
				else if (propertyId == AutomationElementIdentifiers.IsOffscreenProperty.Id) {
					if (comboboxControl.DropDownStyle == SWF.ComboBoxStyle.Simple)
						return false;
					
					IExpandCollapseProvider pattern 
						= comboboxProvider.GetPatternProvider (ExpandCollapsePatternIdentifiers.Pattern.Id) as IExpandCollapseProvider;
					return pattern != null && pattern.ExpandCollapseState == ExpandCollapseState.Collapsed;
				} else if (propertyId == AutomationElementIdentifiers.NativeWindowHandleProperty.Id)
					//Not like Windows, ComboBox.ListBox is a "real control" and has its own handle.
					//On mono ComboxBox.ListBox dosen't has native window handle.
					return null;
				else
					return base.GetProviderPropertyValue (propertyId);
			}