示例#1
0
文件: Value.cs 项目: ABEMBARKA/monoUI
 public override void OnRefStateSet(ref Atk.StateSet states)
 {
     if (valueProvider.IsReadOnly)
     {
         states.RemoveState(Atk.StateType.Editable);
     }
     else
     {
         states.AddState(Atk.StateType.Editable);
     }
 }
示例#2
0
        public override void OnRefStateSet(ref Atk.StateSet states)
        {
            states.AddState(Atk.StateType.Selectable);

            ISelectionItemProvider selectionItem
                = peer.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;

            if (selectionItem.IsSelected)
            {
                states.AddState(Atk.StateType.Selected);
            }
            else
            {
                states.RemoveState(Atk.StateType.Selected);
            }
        }
示例#3
0
        public override void OnRefStateSet(ref Atk.StateSet states)
        {
            IExpandCollapseProvider expandCollapse
                = peer.GetPattern(PatternInterface.ExpandCollapse)
                  as IExpandCollapseProvider;

            if (expandCollapse != null)
            {
                var state = expandCollapse.ExpandCollapseState;

                // If it's not a leaf, it can be expanded
                if (state != ExpandCollapseState.LeafNode)
                {
                    states.AddState(Atk.StateType.Expandable);
                }

                if (state == ExpandCollapseState.Expanded ||
                    state == ExpandCollapseState.PartiallyExpanded)
                {
                    states.AddState(Atk.StateType.Expanded);
                }
                else
                {
                    states.RemoveState(Atk.StateType.Expanded);
                }
            }

            IToggleProvider toggle
                = peer.GetPattern(PatternInterface.Toggle)
                  as IToggleProvider;

            if (toggle != null)
            {
                states.RemoveState(Atk.StateType.Checked);
                states.RemoveState(Atk.StateType.Indeterminate);

                var state = toggle.ToggleState;
                if (state == ToggleState.On)
                {
                    states.AddState(Atk.StateType.Checked);
                }
                else if (state == ToggleState.Indeterminate)
                {
                    states.AddState(Atk.StateType.Indeterminate);
                }
            }
        }
示例#4
0
        public override void OnRefStateSet(ref Atk.StateSet states)
        {
            bool?isSelected = IsSelected;

            if (!isSelected.HasValue)
            {
                return;
            }

            states.AddState(Atk.StateType.Selectable);

            if (isSelected.Value)
            {
                states.AddState(Atk.StateType.Selected);
            }
            else
            {
                states.RemoveState(Atk.StateType.Selected);
            }
        }
		private static void AddStateIf (StateSet s, bool condition, StateType t)
		{
			if (condition) {
				s.AddState (t);
			}
		}
示例#6
0
 public virtual void OnRefStateSet(ref Atk.StateSet states)
 {
 }
示例#7
0
        protected override Atk.StateSet OnRefStateSet()
        {
            Atk.StateSet states = base.OnRefStateSet();
            // Clearing inherited states to remove assumptions in specific
            // interface implementations.
            states.ClearStates();

            DynamicAdapterFactory.Instance.MarkExternalReference(states);

            if (disposed)
            {
                states.AddState(Atk.StateType.Defunct);
                return(states);
            }

            if (Peer == null)
            {
                return(states);
            }

            if (!Peer.IsOffscreen())
            {
                states.AddState(Atk.StateType.Showing);
                states.AddState(Atk.StateType.Visible);
            }
            else
            {
                states.RemoveState(Atk.StateType.Showing);
                states.RemoveState(Atk.StateType.Visible);
            }

            if (Peer.IsEnabled())
            {
                states.AddState(Atk.StateType.Sensitive);
                states.AddState(Atk.StateType.Enabled);
            }
            else
            {
                states.RemoveState(Atk.StateType.Sensitive);
                states.RemoveState(Atk.StateType.Enabled);
            }

            if (Peer.IsKeyboardFocusable())
            {
                states.AddState(Atk.StateType.Focusable);
            }
            else
            {
                states.RemoveState(Atk.StateType.Focusable);
            }

            if (Peer.HasKeyboardFocus())
            {
                states.AddState(Atk.StateType.Focused);
            }
            else
            {
                states.RemoveState(Atk.StateType.Focused);
            }

            var orientation = Peer.GetOrientation();

            if (orientation == AutomationOrientation.Horizontal)
            {
                states.AddState(Atk.StateType.Horizontal);
            }
            else
            {
                states.RemoveState(Atk.StateType.Horizontal);
            }

            if (orientation == AutomationOrientation.Vertical)
            {
                states.AddState(Atk.StateType.Vertical);
            }
            else
            {
                states.RemoveState(Atk.StateType.Vertical);
            }

            foreach (BasePatternImplementor impl in PatternImplementors)
            {
                impl.OnRefStateSet(ref states);
            }

            return(states);
        }