public override void Trigger(EditableView.ClickPosition.Sources source, EditableView pnlView, Transaction transaction) { if (Editor.MovingPalette != null) { Editor.CompletePaletteMove(); } Control over = GUIUtilities.YoungestChildUnderMouse(Editor); if (source == EditableView.ClickPosition.Sources.Pad) { over = pnlView; // if triggered by mouse in control pad, target must be drawing area, not living back to the control pad! } if (over == pnlView) { pnlView.TriggerVerb(Codes.Choose, source); } else if (over is Button) { ((Button)over).PerformClick(); } else if (over is IInvokeable) { ((IInvokeable)over).PerformClick(); } }