[ENHANCEMENT] Enhance doc map.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@883 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
671e7b1b4d
commit
989a970dd2
@ -4793,19 +4793,8 @@ void Notepad_plus::launchDocMap()
|
|||||||
// in this case is DOCKABLE_DEMO_INDEX
|
// in this case is DOCKABLE_DEMO_INDEX
|
||||||
// In the case of Notepad++ internal function, it'll be the command ID which triggers this dialog
|
// In the case of Notepad++ internal function, it'll be the command ID which triggers this dialog
|
||||||
data.dlgID = IDM_VIEW_DOC_MAP;
|
data.dlgID = IDM_VIEW_DOC_MAP;
|
||||||
::SendMessage(_pPublicInterface->getHSelf(), NPPM_DMMREGASDCKDLG, 0, (LPARAM)&data);
|
|
||||||
|
|
||||||
//_pDocMap->setMainEditorWrap(_pEditView->isWrap());
|
::SendMessage(_pPublicInterface->getHSelf(), NPPM_DMMREGASDCKDLG, 0, (LPARAM)&data);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
// Disable wrap text
|
|
||||||
if (!_pDocMap->isVisible())
|
|
||||||
{
|
|
||||||
_pDocMap->setMainEditorWrap(_pEditView->isWrap());
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_pDocMap->initWrapMap();
|
_pDocMap->initWrapMap();
|
||||||
|
@ -421,7 +421,7 @@ LRESULT Notepad_plus::process(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
|
|||||||
|
|
||||||
if (_pDocMap)
|
if (_pDocMap)
|
||||||
{
|
{
|
||||||
//_pDocMap->doMove();
|
_pDocMap->doMove();
|
||||||
_pDocMap->reloadMap();
|
_pDocMap->reloadMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
this file is part of notepad++
|
this file is part of notepad++
|
||||||
Copyright (C)2011 Don HO <donho@altern.org>
|
Copyright (C)2012 Don HO <donho@altern.org>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or
|
This program is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU General Public License
|
modify it under the terms of the GNU General Public License
|
||||||
@ -196,14 +196,13 @@ void DocumentMap::doMove()
|
|||||||
{
|
{
|
||||||
RECT rc;
|
RECT rc;
|
||||||
POINT pt = {0,0};
|
POINT pt = {0,0};
|
||||||
::ClientToScreen(_pScintillaEditView->getHSelf(), &pt);
|
::ClientToScreen(_hSelf, &pt);
|
||||||
getClientRect(rc);
|
getClientRect(rc);
|
||||||
::MoveWindow(_vzDlg.getHSelf(), pt.x, pt.y, (rc.right - rc.left), (rc.bottom - rc.top), TRUE);
|
::MoveWindow(_vzDlg.getHSelf(), pt.x, pt.y, (rc.right - rc.left), (rc.bottom - rc.top), TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DocumentMap::fold(int line, bool foldOrNot)
|
void DocumentMap::fold(int line, bool foldOrNot)
|
||||||
{
|
{
|
||||||
//bool isExpanded = _pScintillaEditView->execute(SCI_GETFOLDEXPANDED, line) != 0;
|
|
||||||
_pScintillaEditView->fold(line, foldOrNot);
|
_pScintillaEditView->fold(line, foldOrNot);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -237,7 +236,6 @@ BOOL CALLBACK DocumentMap::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPara
|
|||||||
{
|
{
|
||||||
case WM_INITDIALOG :
|
case WM_INITDIALOG :
|
||||||
{
|
{
|
||||||
//_glassHandle = ::GetDlgItem(_hSelf, IDC_GLASS);
|
|
||||||
HWND hwndScintilla = (HWND)::SendMessage(_hParent, NPPM_CREATESCINTILLAHANDLE, 0, (LPARAM)_hSelf);
|
HWND hwndScintilla = (HWND)::SendMessage(_hParent, NPPM_CREATESCINTILLAHANDLE, 0, (LPARAM)_hSelf);
|
||||||
_pScintillaEditView = (ScintillaEditView *)::SendMessage(_hParent, NPPM_INTERNAL_GETSCINTEDTVIEW, 0, (LPARAM)hwndScintilla);
|
_pScintillaEditView = (ScintillaEditView *)::SendMessage(_hParent, NPPM_INTERNAL_GETSCINTEDTVIEW, 0, (LPARAM)hwndScintilla);
|
||||||
::SendMessage(_pScintillaEditView->getHSelf(), SCI_SETZOOM, (WPARAM)-10, 0);
|
::SendMessage(_pScintillaEditView->getHSelf(), SCI_SETZOOM, (WPARAM)-10, 0);
|
||||||
@ -276,8 +274,11 @@ BOOL CALLBACK DocumentMap::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPara
|
|||||||
if (_vzDlg.isCreated())
|
if (_vzDlg.isCreated())
|
||||||
{
|
{
|
||||||
POINT pt = {0,0};
|
POINT pt = {0,0};
|
||||||
::ClientToScreen(_pScintillaEditView->getHSelf(), &pt);
|
::ClientToScreen(_hSelf, &pt);
|
||||||
::MoveWindow(_vzDlg.getHSelf(), pt.x, pt.y, width-4, height-4, TRUE);
|
if (!_pScintillaEditView->isWrap())
|
||||||
|
::MoveWindow(_pScintillaEditView->getHSelf(), 0, 0, width, height, TRUE);
|
||||||
|
|
||||||
|
::MoveWindow(_vzDlg.getHSelf(), pt.x, pt.y, width, height, TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -313,10 +314,14 @@ BOOL CALLBACK DocumentMap::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPara
|
|||||||
int width = rc.right - rc.left;
|
int width = rc.right - rc.left;
|
||||||
int height = rc.bottom - rc.top;
|
int height = rc.bottom - rc.top;
|
||||||
|
|
||||||
POINT pt = {0,0};
|
//RECT scinrc;
|
||||||
::ClientToScreen(_pScintillaEditView->getHSelf(), &pt);
|
//_pScintillaEditView->getClientRect(scinrc);
|
||||||
::MoveWindow(_vzDlg.getHSelf(), pt.x, pt.y, width-4, height-4, TRUE);
|
//int scinrcWidth = scinrc.right - scinrc.left;
|
||||||
|
//::MoveWindow(_pScintillaEditView->getHSelf(), 0, 0, scinrcWidth, height, TRUE);
|
||||||
|
|
||||||
|
POINT pt = {0,0};
|
||||||
|
::ClientToScreen(_hSelf, &pt);
|
||||||
|
::MoveWindow(_vzDlg.getHSelf(), pt.x, pt.y, width, height, TRUE);
|
||||||
scrollMap();
|
scrollMap();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -380,7 +385,6 @@ BOOL CALLBACK DocumentMap::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPara
|
|||||||
|
|
||||||
case DOCUMENTMAP_MOUSEWHEEL:
|
case DOCUMENTMAP_MOUSEWHEEL:
|
||||||
{
|
{
|
||||||
//::SendMessage((*_ppEditView)->getHSelf(), WM_MOUSEWHEEL, wParam, lParam);
|
|
||||||
(*_ppEditView)->mouseWheel(wParam, lParam);
|
(*_ppEditView)->mouseWheel(wParam, lParam);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -397,11 +401,7 @@ void ViewZoneDlg::drawPreviewZone(DRAWITEMSTRUCT *pdis)
|
|||||||
{
|
{
|
||||||
RECT rc = pdis->rcItem;
|
RECT rc = pdis->rcItem;
|
||||||
|
|
||||||
//const COLORREF red = RGB(0xFF, 0x00, 0x00);
|
|
||||||
//const COLORREF yellow = RGB(0xFF, 0xFF, 0);
|
|
||||||
//const COLORREF grey = RGB(128, 128, 128);
|
|
||||||
const COLORREF orange = RGB(0xFF, 0x80, 0x00);
|
const COLORREF orange = RGB(0xFF, 0x80, 0x00);
|
||||||
//const COLORREF liteGrey = RGB(192, 192, 192);
|
|
||||||
const COLORREF white = RGB(0xFF, 0xFF, 0xFF);
|
const COLORREF white = RGB(0xFF, 0xFF, 0xFF);
|
||||||
HBRUSH hbrushFg = CreateSolidBrush(orange);
|
HBRUSH hbrushFg = CreateSolidBrush(orange);
|
||||||
HBRUSH hbrushBg = CreateSolidBrush(white);
|
HBRUSH hbrushBg = CreateSolidBrush(white);
|
||||||
@ -463,32 +463,9 @@ BOOL CALLBACK ViewZoneDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPara
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case WM_COMMAND :
|
|
||||||
{/*
|
|
||||||
switch (wParam)
|
|
||||||
{
|
|
||||||
case IDCANCEL :
|
|
||||||
case IDOK :
|
|
||||||
display(false);
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
default :
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
case WM_MOUSEWHEEL :
|
case WM_MOUSEWHEEL :
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
if (LOWORD(wParam) & MK_RBUTTON)
|
|
||||||
{
|
|
||||||
::SendMessage(_hParent, Message, wParam, lParam);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
//Have to perform the scroll first, because the first/last line do not get updated untill after the scroll has been parsed
|
//Have to perform the scroll first, because the first/last line do not get updated untill after the scroll has been parsed
|
||||||
::SendMessage(_hParent, DOCUMENTMAP_MOUSEWHEEL, wParam, lParam);
|
::SendMessage(_hParent, DOCUMENTMAP_MOUSEWHEEL, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
this file is part of notepad++
|
this file is part of notepad++
|
||||||
Copyright (C)2003 Don HO ( donho@altern.org )
|
Copyright (C)2012 Don HO <donho@altern.org>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or
|
This program is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU General Public License
|
modify it under the terms of the GNU General Public License
|
||||||
@ -99,8 +99,6 @@ public:
|
|||||||
_hParent = parent2set;
|
_hParent = parent2set;
|
||||||
};
|
};
|
||||||
|
|
||||||
//void wrapScintilla(bool doWrap);
|
|
||||||
|
|
||||||
void reloadMap();
|
void reloadMap();
|
||||||
void wrapMap();
|
void wrapMap();
|
||||||
void initWrapMap();
|
void initWrapMap();
|
||||||
@ -108,14 +106,6 @@ public:
|
|||||||
void scrollMap(bool direction, moveMode whichMode);
|
void scrollMap(bool direction, moveMode whichMode);
|
||||||
void doMove();
|
void doMove();
|
||||||
void fold(int line, bool foldOrNot);
|
void fold(int line, bool foldOrNot);
|
||||||
/*
|
|
||||||
void setMainEditorWrap(bool isWrap) {
|
|
||||||
_isMainEditorWrap = isWrap;
|
|
||||||
};
|
|
||||||
bool isMainEditorWrap() const {
|
|
||||||
return _isMainEditorWrap;
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual BOOL CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
|
virtual BOOL CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
|
||||||
@ -125,15 +115,11 @@ protected:
|
|||||||
private:
|
private:
|
||||||
ScintillaEditView **_ppEditView;
|
ScintillaEditView **_ppEditView;
|
||||||
ScintillaEditView *_pScintillaEditView;
|
ScintillaEditView *_pScintillaEditView;
|
||||||
//HWND _glassHandle;
|
|
||||||
ViewZoneDlg _vzDlg;
|
ViewZoneDlg _vzDlg;
|
||||||
//bool _isMainEditorWrap;
|
|
||||||
//bool _wrapUnwrapTriggered;
|
|
||||||
|
|
||||||
// for needToRecomputeWith function
|
// for needToRecomputeWith function
|
||||||
int _displayZoom;
|
int _displayZoom;
|
||||||
int _displayWidth;
|
int _displayWidth;
|
||||||
//int _displayHeight;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user