Пример #1
0
Файл: Npp.cs Проект: niandy/3P
        /// <summary>
        /// Helper to add a clickable icon in the toolbar
        /// </summary>
        /// <param name="image"></param>
        /// <param name="pluginId"></param>
        public static void SetToolbarImage(Bitmap image, int pluginId)
        {
            var tbIcons = new toolbarIcons {
                hToolbarBmp = image.GetHbitmap()
            };
            var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));

            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32Api.SendMessage(Handle, NppMsg.NPPM_ADDTOOLBARICON, UnmanagedExports.NppFuncItems.Items[pluginId]._cmdID, pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);
        }
        public void SetToolBarIcon()
        {
            toolbarIcons tbIcons = new toolbarIcons();

            tbIcons.hToolbarBmp = Properties.Resources.markdown_16x16_solid.GetHbitmap();
            IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));

            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_ADDTOOLBARICON, PluginBase._funcItems.Items[idMyDlg]._cmdID, pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);
        }
Пример #3
0
        internal static void SetToolBarIcon()
        {
            toolbarIcons tbIcons = new toolbarIcons();

            tbIcons.hToolbarBmp = tbBmp.GetHbitmap();
            IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));

            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(PluginBase.nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, PluginBase._funcItems.Items[idMyDlg]._cmdID, pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);
        }
Пример #4
0
        static public void SetToolbarImage(Bitmap image, int pluginId)
        {
            var tbIcons = new toolbarIcons();

            tbIcons.hToolbarBmp = image.GetHbitmap();
            IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));

            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(NppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, FuncItems.Items[pluginId]._cmdID, pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);
        }
Пример #5
0
        private void SetToolBarIcon()
        {
            toolbarIcons tbIcons = new toolbarIcons();

            tbIcons.hToolbarBmp = _gitBitmap.GetHbitmap();
            IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));

            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, _funcItems.Items[_idCommandShowGitGui]._cmdID, pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);
        }
Пример #6
0
        internal static void SetToolBarIcon()
        {
            var tbIcons = new toolbarIcons();

            tbIcons.hToolbarBmp = Resources.Resources.jsparsericon.GetHbitmap();
            var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));

            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON,
                              _funcItems.Items[idMenuItemParserUi]._cmdID, pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);
        }
Пример #7
0
        internal static void SetToolBarIcon()
        {
            // TODO: Maybe check out https://docs.microsoft.com/en-us/windows/desktop/controls/embed-nonbutton-controls-in-toolbars to create counter within toolbar as alternative?
            toolbarIcons tbIcons = new toolbarIcons();

            tbIcons.hToolbarBmp = tbBmp.GetHbitmap();
            IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));

            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_ADDTOOLBARICON, PluginBase._funcItems.Items[idMyDlg]._cmdID, pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);
        }
Пример #8
0
        internal static void SetToolBarIcon()
        {
            var tbIcons = new toolbarIcons
            {
                hToolbarBmp = TbBmp.GetHbitmap()
            };
            var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));

            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_ADDTOOLBARICON, PluginBase._funcItems.Items[_idConfigWindow]._cmdID, pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);
        }
        internal static void SetToolBarIcon()
        {
            toolbarIcons tbIcons = new toolbarIcons();

            tbIcons.hToolbarBmp = new Bitmap(@"plugins\Config\Decide.bmp").GetHbitmap();
            IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));

            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(
                PluginBase.nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON,
                PluginBase._funcItems.Items[IndexOfTheCommandThatGetsTheToolBarIcon]._cmdID, pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);
        }
Пример #10
0
        private void SetToolBarIcons()
        {
            var toolBarItems = GetToolbarButtons();

            foreach (var button in toolBarItems)
            {
                var tbIcons = new toolbarIcons();
                tbIcons.hToolbarBmp = button.Image.GetHbitmap();
                var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));
                Marshal.StructureToPtr(tbIcons, pTbIcons, false);
                Win32.SendMessage(_nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, _funcItems.Items[button.Id]._cmdID, pTbIcons);
                Marshal.FreeHGlobal(pTbIcons);
            }
        }
Пример #11
0
        public override void SetToolBarIcon()
        {
            toolbarIcons tbIcons = new toolbarIcons();

            tbIcons.hToolbarBmp = tbLoad.GetHbitmap();
            IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));

            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(PluginBase.NppData._nppHandle, (uint)NppMsg.NPPM_ADDTOOLBARICON, PluginBase.FuncItems.Items[OpenCommandId]._cmdID, pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);

            tbIcons             = new toolbarIcons();
            tbIcons.hToolbarBmp = tbSave.GetHbitmap();
            pTbIcons            = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));
            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(PluginBase.NppData._nppHandle, (uint)NppMsg.NPPM_ADDTOOLBARICON, PluginBase.FuncItems.Items[SaveCommandId]._cmdID, pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);
        }
Пример #12
0
 private static void SetSingleToolbarIcon(Bitmap bmp, int cmdID)
 {
     try
     {
         toolbarIcons tbIcons = new toolbarIcons();
         tbIcons.hToolbarBmp = bmp.GetHbitmap();
         IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));
         Marshal.StructureToPtr(tbIcons, pTbIcons, false);
         Win32.SendMessage(nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, _funcItems.Items[cmdID - 1]._cmdID, pTbIcons);
         Marshal.FreeHGlobal(pTbIcons);
     }
     catch (Exception e)
     {
         if (log != null)
         {
             log.ErrorFormat("Cannot set toolbar with cmdID={0} due to {1}", cmdID, e.Message);
         }
     }
 }
Пример #13
0
        public static void SetToolBarIcon()
        {
            var icons = new toolbarIcons {
                hToolbarBmp = Resources.cq.GetHbitmap()
            };

            using (var iconPointer = new TemporaryPointer(icons))
            {
                Win32.SendMessage(PluginBase.nppData._nppHandle,
                                  (uint)NppMsg.NPPM_ADDTOOLBARICON,
                                  PluginBase.GetMenuItemId("Toggle query window"),
                                  iconPointer.Pointer);
            }

            //var iconPointer = Marshal.AllocHGlobal(Marshal.SizeOf(icons));
            //Marshal.StructureToPtr(icons, iconPointer, false);
            //Win32.SendMessage(PluginBase.nppData._nppHandle,
            //    (uint)NppMsg.NPPM_ADDTOOLBARICON,
            //    PluginBase.GetMenuItemId("Toggle query window"),
            //    iconPointer);
            //Marshal.FreeHGlobal(iconPointer);
        }
Пример #14
0
        internal static void SetToolBarIcon()
        {
            if (!_showTabBarIcons)
            {
                return;
            }

            var toolbarIconEditIndent = Properties.Resources.edit_indent;
            var tbIcons = new toolbarIcons
            {
                hToolbarBmp = toolbarIconEditIndent.GetHbitmap()
            };
            var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));

            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(
                nppData._nppHandle,
                NppMsg.NPPM_ADDTOOLBARICON,
                _funcItems.Items[(int)CmdIndex.IndentationSettings]._cmdID,
                pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);

            var toolbarIconBinocularPencil = Properties.Resources.binocular_pencil;

            tbIcons = new toolbarIcons
            {
                hToolbarBmp = toolbarIconBinocularPencil.GetHbitmap()
            };
            pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));
            Marshal.StructureToPtr(tbIcons, pTbIcons, false);
            Win32.SendMessage(
                nppData._nppHandle,
                NppMsg.NPPM_ADDTOOLBARICON,
                _funcItems.Items[(int)CmdIndex.FindAndReplace]._cmdID,
                pTbIcons);
            Marshal.FreeHGlobal(pTbIcons);
        }
Пример #15
0
 internal static void SetToolBarIcon()
 {
     var tbIcons = new toolbarIcons { hToolbarBmp = TbBmp.GetHbitmap() };
     var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons));
     Marshal.StructureToPtr(tbIcons, pTbIcons, false);
     Win32.SendMessage(PluginBase.NppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, PluginBase.FuncItems.Items[_idMyDlg]._cmdID, pTbIcons);
     Marshal.FreeHGlobal(pTbIcons);
 }