public TileGridAction(MouseButton button, MouseModifier mod, GridAction action, TileGridEventHandler callback = null) { this.button = button; this.mod = mod; this.action = action; this.callback = callback; }
public void RemoveMouseAction(MouseButton button, MouseModifier mod) { for (int i = 0; i < actionList.Count; i++) { var act = actionList[i]; if (act.button == button && act.mod == mod) { actionList.Remove(act); i--; } } }
public bool ModifierMatchesState(Gdk.ModifierType state) { if (mod.HasFlag(MouseModifier.Any)) { return(true); } MouseModifier flags = MouseModifier.None; if (state.HasFlag(Gdk.ModifierType.ControlMask)) { flags |= MouseModifier.Ctrl; } if (state.HasFlag(Gdk.ModifierType.ShiftMask)) { flags |= MouseModifier.Shift; } return(mod == flags); }
public void AddMouseAction(MouseButton button, MouseModifier mod, GridAction action, TileGridEventHandler callback = null) { TileGridAction act; if (action == GridAction.Callback) { if (callback == null) { throw new Exception("Need to specify a callback."); } act = new TileGridAction(button, mod, action, callback); } else { if (callback != null) { throw new Exception("This action doesn't take a callback."); } act = new TileGridAction(button, mod, action); } actionList.Add(act); }