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)); } }
/// <summary> /// Clears selection flag for all selected buttons and returns them. /// </summary> public ButtonGroup ClearSelection() { ButtonGroup changes = new ButtonGroup(); foreach (var entry in statusDict) { if (entry.Value.Selected) { entry.Value.Update(ButtonStatus.Flags.Selected, false); changes.Add(entry.Key); } } changes.Seal(); return(changes); }
public ButtonGroup GetButtonsForCol(int x) { CheckColArgument(x); ButtonGroup group = new ButtonGroup(); for (int y = 0; y < Rows; y++) { if (buttonGrid[x, y] != null) { group.Add(buttonGrid[x, y].Id); } } group.Seal(); return(group); }
public ButtonGroup GetButtonsForRow(int y) { CheckRowArgument(y); ButtonGroup group = new ButtonGroup(); for (int x = 0; x < Cols; x++) { if (buttonGrid[x, y] != null) { group.Add(buttonGrid[x, y].Id); } } group.Seal(); return(group); }
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)); } }