Esempio n. 1
0
        private void OnBeforeContextMenu(object sender, CfxOnBeforeContextMenuEventArgs e)
        {
            var model = e.Model;

            for (var index = model.Count - 1; index >= 0; index--)
            {
                if (!CfxContextMenu.IsEdition(model.GetCommandIdAt(index)))
                {
                    model.RemoveAt(index);
                }
            }

            if (model.Count != 0)
            {
                return;
            }

            var rank = (int)ContextMenuId.MENU_ID_USER_FIRST;

            _Commands.ForEach(command =>
            {
                model.AddItem(rank, command.Name);
                model.SetEnabled(rank++, command.Enabled);
            });
            _MenuSeparatorIndex.ForEach(index => model.InsertSeparatorAt(index));
        }
Esempio n. 2
0
        internal static void on_before_context_menu(IntPtr gcHandlePtr, IntPtr browser, out int browser_release, IntPtr frame, out int frame_release, IntPtr parameters, out int params_release, IntPtr model, out int model_release)
        {
            var self = (CfxContextMenuHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null || self.CallbacksDisabled)
            {
                browser_release = 1;
                frame_release   = 1;
                params_release  = 1;
                model_release   = 1;
                return;
            }
            var e = new CfxOnBeforeContextMenuEventArgs();

            e.m_browser = browser;
            e.m_frame   = frame;
            e.m_params  = parameters;
            e.m_model   = model;
            self.m_OnBeforeContextMenu?.Invoke(self, e);
            e.m_isInvalid   = true;
            browser_release = e.m_browser_wrapped == null? 1 : 0;
            frame_release   = e.m_frame_wrapped == null? 1 : 0;
            params_release  = e.m_params_wrapped == null? 1 : 0;
            model_release   = e.m_model_wrapped == null? 1 : 0;
        }
        internal static void on_before_context_menu(IntPtr gcHandlePtr, IntPtr browser, IntPtr frame, IntPtr parameters, IntPtr model)
        {
            var self = (CfxContextMenuHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null)
            {
                return;
            }
            var e            = new CfxOnBeforeContextMenuEventArgs(browser, frame, parameters, model);
            var eventHandler = self.m_OnBeforeContextMenu;

            if (eventHandler != null)
            {
                eventHandler(self, e);
            }
            e.m_isInvalid = true;
            if (e.m_browser_wrapped == null)
            {
                CfxApi.cfx_release(e.m_browser);
            }
            if (e.m_frame_wrapped == null)
            {
                CfxApi.cfx_release(e.m_frame);
            }
            if (e.m_params_wrapped == null)
            {
                CfxApi.cfx_release(e.m_params);
            }
            if (e.m_model_wrapped == null)
            {
                CfxApi.cfx_release(e.m_model);
            }
        }
        private void RaiseOnBeforeContextMenu(object sender, CfxOnBeforeContextMenuEventArgs e)
        {
            var handler = m_OnBeforeContextMenu;

            if (handler != null)
            {
                InvokeCallback(() => { handler(this, e); });
            }
        }
Esempio n. 5
0
 void ContextMenuHandler_OnBeforeContextMenu(object sender, CfxOnBeforeContextMenuEventArgs e)
 {
     if (e.Model.Clear())
     {
         LogWriteLine("Context Menu cleared.");
     }
     else
     {
         LogWriteLine("Context Menu not cleared.");
     }
 }
Esempio n. 6
0
 private void OnBeforeContextMenu(object sender, CfxOnBeforeContextMenuEventArgs e)
 {
     e.Model.Clear();
 }
Esempio n. 7
0
 private void RaiseOnBeforeContextMenu(object sender, CfxOnBeforeContextMenuEventArgs e)
 {
     var handler = m_OnBeforeContextMenu;
     if (handler != null)
     {
         InvokeCallback(() => { handler(this, e); });
     }
 }
 private void OnBeforeContextMenu(object sender, CfxOnBeforeContextMenuEventArgs e) 
 {
     e.Model.Clear();
 }