protected override object GetProviderPropertyValue (int propertyId)
{
if (propertyId == AEIds.ControlTypeProperty.Id)
return ControlType.TreeItem.Id;
else if (propertyId == AEIds.NameProperty.Id)
return node.Text;
else if (propertyId == AEIds.LabeledByProperty.Id)
return null;
else if (propertyId == AEIds.IsOffscreenProperty.Id) {
return !node.IsVisible;
} else if (propertyId == AEIds.IsEnabledProperty.Id)
return treeView.Enabled;
else if (propertyId == AEIds.HasKeyboardFocusProperty.Id)
return node.IsSelected && treeView.Focused;
else if (propertyId == AEIds.IsKeyboardFocusableProperty.Id)
return treeView.CanFocus && AreAllParentsExpanded ();
return base.GetProviderPropertyValue (propertyId);
}