Exemplo n.º 1
0
        private void ToggleButtonOnValueChanged(object sender, bool value)
        {
            if (sender is IValuedControl <bool> senderControl)
            {
                if (value)
                {
                    CheckedControl = senderControl;

                    ForEachChild(e =>
                    {
                        if (e == sender)
                        {
                            return;
                        }
                        if (e is IValuedControl <bool> boolControl)
                        {
                            boolControl.Value = false;
                        }
                    });
                }
                else
                {
                    if (CheckedControl == senderControl)
                    {
                        CheckedControl = null;
                    }
                }
            }
        }
Exemplo n.º 2
0
        protected override void OnChildRemoved(IGuiElement element)
        {
            if (element is IValuedControl <bool> toggleButton)
            {
                toggleButton.ValueChanged -= ToggleButtonOnValueChanged;
                if (toggleButton.Value && CheckedControl == toggleButton)
                {
                    CheckedControl     = null;
                    toggleButton.Value = false;
                }
            }

            base.OnChildRemoved(element);
        }
Exemplo n.º 3
0
        protected override void OnChildAdded(IGuiElement element)
        {
            if (element is IValuedControl <bool> toggleButton)
            {
                if (toggleButton.Value)
                {
                    if (CheckedControl != null && toggleButton != CheckedControl)
                    {
                        toggleButton.Value = false;
                    }
                    else if (CheckedControl == null)
                    {
                        CheckedControl = toggleButton;
                    }
                }

                toggleButton.ValueChanged += ToggleButtonOnValueChanged;
            }

            base.OnChildAdded(element);
        }