Exemplo n.º 1
0
        protected void OnMouseChange(Object sender, MouseChangeEventArgs e)
        {
            logger.Trace("OnMouseChange() received...");
            CheckStatus();
            CheckMouseChangeEvent(e);

            ButtonGroup changes = new ButtonGroup();

            // for this event it's pretty likely that one argument is empty, so check first

            if (!e.MouseOver.IsEmpty())
            {
                Status.UpdateStatus(e.MouseOver, StatusFlags.MouseOver, true);
                changes.Add(e.MouseOver);
            }

            if (!e.MouseOut.IsEmpty())
            {
                Status.UpdateStatus(e.MouseOut, StatusFlags.MouseOver, false);
                changes.Add(e.MouseOut);
            }

            if (!changes.IsEmpty())
            {
                changes.Seal();
                RaiseStatusChangeEvent(new StatusChangeEventArgs(changes));
            }
        }
Exemplo n.º 2
0
        public void ClearSelection()
        {
            CheckStatus();

            ButtonGroup changes = Status.ClearSelection();

            if (!changes.IsEmpty())
            {
                RaiseStatusChangeEvent(new StatusChangeEventArgs(changes));
            }
        }
Exemplo n.º 3
0
        public void OnSelection(Object sender, SelectionEventArgs e)
        {
            logger.Trace("OnSelection() received...");
            CheckStatus();

            ButtonGroup changes = new ButtonGroup();

            // handle unselected first, because of selection race, or in other words: selection is trump
            Status.UpdateStatus(e.Unselected, StatusFlags.Selected, false);
            changes.Add(e.Unselected);

            Status.UpdateStatus(e.Selected, StatusFlags.Selected, true);
            changes.Add(e.Selected);

            if (!changes.IsEmpty())
            {
                changes.Seal();
                RaiseStatusChangeEvent(new StatusChangeEventArgs(changes));
            }
        }