예제 #1
0
        private void BindBoolPropertyToAccessibilitySettingFlag(
            IProperty <bool> property,
            IProperty <AccessibilitySettingFlags> flagsProperty,
            AccessibilitySettingFlags flagToBindTo)
        {
            property.Value = flagsProperty.Value.HasFlag(flagToBindTo);

            property.Change.Advise_HasNew(
                _lifetime,
                x => flagsProperty.Value = x.New ? flagsProperty.Value | flagToBindTo : flagsProperty.Value & ~flagToBindTo);
        }
예제 #2
0
        private void AddAccessibilityBoolOption(
            IProperty <AccessibilitySettingFlags> flagsProperty,
            string text,
            AccessibilitySettingFlags accessibilitySettingFlag)
        {
            var optionBoolProperty = new Property <bool>(_lifetime, text);

            BindBoolPropertyToAccessibilitySettingFlag(optionBoolProperty, flagsProperty, accessibilitySettingFlag);

            var boolOption = AddBoolOption(optionBoolProperty, text);

            SetIndent(boolOption, 1);
        }
        public static bool IsAccessibilityConfigured(AccessibilityDomainType accessibility, AccessibilitySettingFlags settingFlags)
        {
            switch (accessibility)
            {
            case AccessibilityDomainType.PUBLIC:
                return(settingFlags.HasFlag(AccessibilitySettingFlags.Public));

            case AccessibilityDomainType.INTERNAL:
                return(settingFlags.HasFlag(AccessibilitySettingFlags.Internal));

            case AccessibilityDomainType.PROTECTED_OR_INTERNAL:
                return(settingFlags.HasFlag(AccessibilitySettingFlags.ProtectedOrInternal));

            // PROTECTED_AND_INTERNAL is used e.g. for protected members/types *within* an internal class.
            case AccessibilityDomainType.PROTECTED_AND_INTERNAL:
                return(settingFlags.HasFlag(AccessibilitySettingFlags.Protected) && settingFlags.HasFlag(AccessibilitySettingFlags.Internal));

            case AccessibilityDomainType.PROTECTED:
                return(settingFlags.HasFlag(AccessibilitySettingFlags.Protected));

            case AccessibilityDomainType.PRIVATE:
                return(settingFlags.HasFlag(AccessibilitySettingFlags.Private));
            }

            return(false);
        }