Exemple #1
0
        private AccessibleObject GetRuleFromMousePosition(Point mousePoint, C1RulesManager rulesManager)
        {
            var controlChildren = rulesManager.Controls;

            if (controlChildren == null)
            {
                return(null);
            }

            var controlChildrenCount = controlChildren.Count;

            if (controlChildrenCount == 0)
            {
                return(null);
            }

            var xView = controlChildren[0];

            if (xView == null)
            {
                return(null);
            }

            var rulesManagerPanelAccessibilityObject = xView.AccessibilityObject;

            if (rulesManagerPanelAccessibilityObject == null)
            {
                return(null);
            }

            var accessibilityObjectChildrenCount = rulesManagerPanelAccessibilityObject.GetChildCount();

            if (accessibilityObjectChildrenCount == 0)
            {
                return(null);
            }

            var rulesListAccessibilityObject = rulesManagerPanelAccessibilityObject.GetChild(0);

            if (rulesListAccessibilityObject == null)
            {
                return(null);
            }

            var rulesListAccessibilityObjectChildrenCount = rulesListAccessibilityObject.GetChildCount();

            if (rulesListAccessibilityObjectChildrenCount == 0)
            {
                return(null);
            }

            for (var childIndex = 0; childIndex < rulesListAccessibilityObjectChildrenCount; childIndex++)
            {
                var ruleAccessibilityObject = rulesListAccessibilityObject.GetChild(childIndex);
                if (ruleAccessibilityObject != null &&
                    ruleAccessibilityObject.Name == "Rule" &&
                    ruleAccessibilityObject.Bounds.Contains(mousePoint))
                {
                    return(ruleAccessibilityObject);
                }
            }

            return(null);
        }