Menu

Docking Dialog Manual

2007-04-07
2013-05-21
  • Nobody/Anonymous

    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

     
    • Jens Lorenz

      Jens Lorenz - 2007-04-11

      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

       

Log in to post a comment.