protected override bool OnMouse(SciterElement se, SciterXBehaviors.MOUSE_PARAMS prms) { #if OSX bool control_shift = AppKit.NSEvent.CurrentModifierFlags == (AppKit.NSEventModifierMask.ShiftKeyMask | AppKit.NSEventModifierMask.CommandKeyMask); #else bool control_shift = prms.alt_state == (SciterXBehaviors.KEYBOARD_STATES.CONTROL_KEY_PRESSED | SciterXBehaviors.KEYBOARD_STATES.SHIFT_KEY_PRESSED); #endif int cmd = ((int)SciterXBehaviors.MOUSE_EVENTS.MOUSE_DOWN) | ((int)SciterXBehaviors.PHASE_MASK.SINKING); if ((int)prms.cmd == cmd && control_shift && prms.button_state == 1) { SciterElement target = new SciterElement(prms.target); Inspecting.UserPageElemInspect(target); if (target.Parent != null) // BUG workaround for <text> elements { App.AppHost.CallFunction("Extern_InspectElement", Inspecting.g_el_inspected.ExpandoValue); } _wasCtrlShiftMouseDown = true; return(true); } bool sinking = prms.cmd.HasFlag((SciterXBehaviors.MOUSE_EVENTS)SciterXBehaviors.PHASE_MASK.SINKING); if (_wasCtrlShiftMouseDown && sinking) { if (prms.cmd.HasFlag(SciterXBehaviors.MOUSE_EVENTS.MOUSE_UP) || prms.cmd.HasFlag(SciterXBehaviors.MOUSE_EVENTS.MOUSE_LEAVE)) { App.AppHost.InvokePost(() => _wasCtrlShiftMouseDown = false); } return(true); } /*if(prms.cmd == SciterXBehaviors.MOUSE_EVENTS.MOUSE_DOWN && prms.button_state == (uint)SciterXBehaviors.MOUSE_BUTTONS.PROP_MOUSE_BUTTON)// right-click + MOUSE_DOWN on bubbling * { * // user disabled? * SciterValue sv = App.AppHost.EvalScript("View.omnidata.right_inspect_disable"); * if(sv.Get(false)) * return true; * * SciterElement target = new SciterElement(prms.target); * Inspecting.UserPageElemInspect(target); * if(target.Parent != null)// BUG workaround for <text> elements * App.AppHost.CallFunction("Extern_InspectElement", target.ExpandoValue); * * return true; * }*/ return(false); }
public void Host_InspectElement(SciterValue[] args) => Inspecting.UserPageElemInspect(new SciterElement(args[0]));