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)); } }
public void ClearSelection() { CheckStatus(); ButtonGroup changes = Status.ClearSelection(); if (!changes.IsEmpty()) { RaiseStatusChangeEvent(new StatusChangeEventArgs(changes)); } }
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)); } }