I develop a small number of plugins for N++. But their GUI is poor. They only work from plugins menu and have some modal dialogs. That's why I'm very interested, is there something like a manual for docking dialogs feature (maybe smth like NppInsertPlugin)?
Best Regards
Alexey Eliseev
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Currently there is no detailed information how to develope a dockable plugin. In fact you need seven files to integrate docking (see e.g. in Explorer plugin).
- Docking.h
Here are a struct, typedefs and defines to interact with Notepad docking.
- DockingDlgInterface.h
An inherit class of StaticDialog. With it you could easy handle the initialization of your new dockable dialog.
- StaticDialog.cpp
- StaticDialog.h
- SysMsg.cpp
- SysMsg.h
- Window.h
Thats for any dialog, it doesn't matter if it's dockable or not. Some help functions to get client size and so on.
To register a dockable dialog see e.g. in ExplorerDialog.cpp in function:
ExplorerDialog::doDialog()
_data is a type of struct defined in Docking.h. For more information see in it.
The messages to interact with Notepad's docking manager (defined in PluginInterface.h):
WM_DMM_REGASDCKDLG // Registers your dialog at docking manager of Notepad++
//void WM_DMM_REGASDCKDLG(0, &tTbData)
WM_DMM_SHOW // Shows your registerd dockable dialog
WM_DMM_HIDE // Hides your registerd dockable dialog
WM_DMM_UPDATEDISPINFO // Updates the dockable dialog and his caption
//void WM_DMM_xxx(0, tTbData->hClient)
WM_DMM_VIEWOTHERTAB // If you registered two dockable dialogs within one dll, you can switch between them ;). For later use there will be an additional message to get other plugin handles.
//void WM_DMM_VIEWOTHERTAB(0, tTbData->hClient)
Best Regards
Jens
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello.
I develop a small number of plugins for N++. But their GUI is poor. They only work from plugins menu and have some modal dialogs. That's why I'm very interested, is there something like a manual for docking dialogs feature (maybe smth like NppInsertPlugin)?
Best Regards
Alexey Eliseev
Currently there is no detailed information how to develope a dockable plugin. In fact you need seven files to integrate docking (see e.g. in Explorer plugin).
- Docking.h
Here are a struct, typedefs and defines to interact with Notepad docking.
- DockingDlgInterface.h
An inherit class of StaticDialog. With it you could easy handle the initialization of your new dockable dialog.
- StaticDialog.cpp
- StaticDialog.h
- SysMsg.cpp
- SysMsg.h
- Window.h
Thats for any dialog, it doesn't matter if it's dockable or not. Some help functions to get client size and so on.
To register a dockable dialog see e.g. in ExplorerDialog.cpp in function:
ExplorerDialog::doDialog()
_data is a type of struct defined in Docking.h. For more information see in it.
The messages to interact with Notepad's docking manager (defined in PluginInterface.h):
WM_DMM_REGASDCKDLG // Registers your dialog at docking manager of Notepad++
//void WM_DMM_REGASDCKDLG(0, &tTbData)
WM_DMM_SHOW // Shows your registerd dockable dialog
WM_DMM_HIDE // Hides your registerd dockable dialog
WM_DMM_UPDATEDISPINFO // Updates the dockable dialog and his caption
//void WM_DMM_xxx(0, tTbData->hClient)
WM_DMM_VIEWOTHERTAB // If you registered two dockable dialogs within one dll, you can switch between them ;). For later use there will be an additional message to get other plugin handles.
//void WM_DMM_VIEWOTHERTAB(0, tTbData->hClient)
Best Regards
Jens