コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: HostEvh.cs プロジェクト: ramon-mendes/OmniIon
 public void Host_InspectElement(SciterValue[] args) => Inspecting.UserPageElemInspect(new SciterElement(args[0]));