[CLEAN_UP] (Author : Jocelyn Legault) Initialize correctly the DockingDlgInterface. Clean up the docking manager's code.

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@613 f5eea248-9336-0410-98b8-ebc06183d4e3
remotes/x64
Don Ho 2010-02-17 00:18:22 +00:00
parent ccbdf7c210
commit be8d467e91
5 changed files with 29 additions and 31 deletions

View File

@ -149,7 +149,7 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
NppGUI & nppGUI = (NppGUI &)pNppParam->getNppGUI();
// Menu
_mainMenuHandle = ::GetMenu(_hSelf);
_mainMenuHandle = ::GetMenu(hwnd);
int langPos2BeRemoved = MENUINDEX_LANGUAGE+1;
if (nppGUI._isLangMenuCompact)
langPos2BeRemoved = MENUINDEX_LANGUAGE;
@ -202,8 +202,8 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
::SendMessage(hwnd, NPPM_INTERNAL_SETCARETWIDTH, 0, 0);
::SendMessage(hwnd, NPPM_INTERNAL_SETCARETBLINKRATE, 0, 0);
_configStyleDlg.init(_hInst, _hSelf);
_preference.init(_hInst, _hSelf);
_configStyleDlg.init(_hInst, hwnd);
_preference.init(_hInst, hwnd);
//Marker Margin config
_mainEditView.setMakerStyle(svp1._folderStyle);
@ -275,7 +275,7 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
//--Splitter Section--//
bool isVertical = (nppGUI._splitterPos == POS_VERTICAL);
_subSplitter.init(_hInst, _hSelf);
_subSplitter.init(_hInst, hwnd);
_subSplitter.create(&_mainDocTab, &_subDocTab, 8, DYNAMIC, 50, isVertical);
//--Status Bar Section--//
@ -293,13 +293,13 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
_dockingManager.init(_hInst, hwnd, &_pMainWindow);
if (nppGUI._isMinimizedToTray && _pTrayIco == NULL)
_pTrayIco = new trayIconControler(_hSelf, IDI_M30ICON, IDC_MINIMIZED_TRAY, ::LoadIcon(_hInst, MAKEINTRESOURCE(IDI_M30ICON)), TEXT(""));
_pTrayIco = new trayIconControler(hwnd, IDI_M30ICON, IDC_MINIMIZED_TRAY, ::LoadIcon(_hInst, MAKEINTRESOURCE(IDI_M30ICON)), TEXT(""));
checkSyncState();
// Plugin Manager
NppData nppData;
nppData._nppHandle = _hSelf;
nppData._nppHandle = hwnd;
nppData._scintillaMainHandle = _mainEditView.getHSelf();
nppData._scintillaSecondHandle = _subEditView.getHSelf();
@ -310,7 +310,7 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
if (appDataNpp[0])
_pluginsManager.loadPlugins(appDataNpp);
_restoreButton.init(_hInst, _hSelf);
_restoreButton.init(_hInst, hwnd);
// ------------ //
@ -379,7 +379,7 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
nppGUI._excludedLangList[i]._cmdID = cmdID;
nppGUI._excludedLangList[i]._langName = itemName;
::DeleteMenu(hLangMenu, cmdID, MF_BYCOMMAND);
DrawMenuBar(_hSelf);
DrawMenuBar(hwnd);
}
}
@ -464,19 +464,19 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
pNppParam->reloadPluginCmds();
// Shortcut Accelerator : should be the last one since it will capture all the shortcuts
_accelerator.init(_mainMenuHandle, _hSelf);
_accelerator.init(_mainMenuHandle, hwnd);
pNppParam->setAccelerator(&_accelerator);
// Scintilla key accelerator
vector<HWND> scints;
scints.push_back(_mainEditView.getHSelf());
scints.push_back(_subEditView.getHSelf());
_scintaccelerator.init(&scints, _mainMenuHandle, _hSelf);
_scintaccelerator.init(&scints, _mainMenuHandle, hwnd);
pNppParam->setScintillaAccelerator(&_scintaccelerator);
_scintaccelerator.updateKeys();
::DrawMenuBar(_hSelf);
::DrawMenuBar(hwnd);
//-- Tool Bar Section --//
@ -486,7 +486,7 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
// To notify plugins that toolbar icons can be registered
SCNotification scnN;
scnN.nmhdr.code = NPPN_TBMODIFICATION;
scnN.nmhdr.hwndFrom = _hSelf;
scnN.nmhdr.hwndFrom = hwnd;
scnN.nmhdr.idFrom = 0;
_pluginsManager.notify(&scnN);

View File

@ -31,16 +31,18 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
class DockingDlgInterface : public StaticDialog
{
public:
DockingDlgInterface(): StaticDialog() {};
DockingDlgInterface(int dlgID): StaticDialog(), _dlgID(dlgID), _isFloating(TRUE), _iDockedPos(0) {};
DockingDlgInterface(): StaticDialog(), _HSource(NULL), _data(NULL),\
_dlgID(-1), _isFloating(TRUE), _iDockedPos(0), _pluginName(TEXT("")) {};
DockingDlgInterface(int dlgID): StaticDialog(), _HSource(NULL), _data(NULL),\
_dlgID(dlgID), _isFloating(TRUE), _iDockedPos(0), _pluginName(TEXT("")) {};
virtual void init(HINSTANCE hInst, HWND parent)
{
virtual void init(HINSTANCE hInst, HWND parent) {
StaticDialog::init(hInst, parent);
TCHAR temp[MAX_PATH];
::GetModuleFileName((HMODULE)hInst, temp, MAX_PATH);
_moduleName = PathFindFileName(temp);
}
};
void create(tTbData * data, bool isRTL = false){
StaticDialog::create(_dlgID, isRTL);

View File

@ -231,20 +231,20 @@ LRESULT DockingManager::runProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM l
}
case WM_DESTROY:
{
/* unregister window event hooking BEFORE EVERYTHING ELSE */
// unregister window event hooking BEFORE EVERYTHING ELSE
if (hWndServer == hwnd) {
UnhookWindowsHookEx(gWinCallHook);
gWinCallHook = NULL;
hWndServer = NULL;
}
/* destroy imagelist if it exists */
// destroy imagelist if it exists
if (_hImageList != NULL)
{
::ImageList_Destroy(_hImageList);
}
/* destroy containers */
// destroy containers
for (int i = _vContainer.size(); i > 0; i--)
{
_vContainer[i-1]->destroy();
@ -265,13 +265,15 @@ LRESULT DockingManager::runProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM l
}
return TRUE;
}
case DMM_MOVE:
{
Gripper* pGripper = new Gripper;
Gripper *pGripper = new Gripper;
pGripper->init(_hInst, _hParent);
pGripper->startGrip((DockingCont*)lParam, this, pGripper);
pGripper->startGrip((DockingCont*)lParam, this);
break;
}
case DMM_MOVE_SPLITTER:
{
INT offset = (INT)wParam;

View File

@ -104,11 +104,10 @@ Gripper::Gripper()
}
void Gripper::startGrip(DockingCont* pCont, DockingManager* pDockMgr, void* pRes)
void Gripper::startGrip(DockingCont* pCont, DockingManager* pDockMgr)
{
_pDockMgr = pDockMgr;
_pCont = pCont;
_pRes = pRes;
_pDockMgr->getDockInfo(&_dockData);
@ -201,9 +200,7 @@ LRESULT Gripper::runProc(UINT message, WPARAM wParam, LPARAM lParam)
hookMouse = NULL;
hookKeyboard = NULL;
}
onButtonUp();
::DestroyWindow(_hSelf);
return TRUE;
}
@ -230,7 +227,7 @@ LRESULT Gripper::runProc(UINT message, WPARAM wParam, LPARAM lParam)
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
::SetWindowPos(_hParent, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
_pCont->focusClient();
delete _pRes;
delete this;
break;
}
default:

View File

@ -50,7 +50,7 @@ public:
_hParent = hParent;
};
void startGrip(DockingCont* pCont, DockingManager* pDockMgr, void* pRes);
void startGrip(DockingCont* pCont, DockingManager* pDockMgr);
~Gripper() {
if (_hdc) {
@ -128,9 +128,6 @@ private:
RECT _rcItem;
TCITEM _tcItem;
// resource pointer of THIS class
void *_pRes;
HDC _hdc;
HBITMAP _hbm;
HBRUSH _hbrush;