[NEW_FEATURE] enhance Project manager (in progress).
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@803 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
4a2f689453
commit
de6036b575
|
@ -35,116 +35,13 @@ BOOL CALLBACK ProjectPanel::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPar
|
||||||
openProject(TEXT("C:\\sources\\Notepad++\\trunk\\PowerEditor\\src\\WinControls\\ProjectPanel\\demo.xml"));
|
openProject(TEXT("C:\\sources\\Notepad++\\trunk\\PowerEditor\\src\\WinControls\\ProjectPanel\\demo.xml"));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
case WM_NOTIFY:
|
case WM_NOTIFY:
|
||||||
{
|
{
|
||||||
switch (((LPNMHDR)lParam)->code)
|
notified((LPNMTREEVIEW)lParam);
|
||||||
{
|
|
||||||
case NM_DBLCLK:
|
|
||||||
{
|
|
||||||
LPNMITEMACTIVATE lpnmitem = (LPNMITEMACTIVATE) lParam;
|
|
||||||
int i = lpnmitem->iItem;
|
|
||||||
|
|
||||||
if (i == -1)
|
|
||||||
{
|
|
||||||
//::MessageBoxA(NULL, "oh yeh","",MB_OK);
|
|
||||||
::SendMessage(_hParent, WM_COMMAND, IDM_FILE_NEW, 0);
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
case NM_CLICK:
|
|
||||||
{
|
|
||||||
LPNMITEMACTIVATE lpnmitem = (LPNMITEMACTIVATE) lParam;
|
|
||||||
int i = lpnmitem->iItem;
|
|
||||||
|
|
||||||
if (i == -1)
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
LVITEM item;
|
|
||||||
item.mask = LVIF_PARAM;
|
|
||||||
item.iItem = i;
|
|
||||||
ListView_GetItem(((LPNMHDR)lParam)->hwndFrom, &item);
|
|
||||||
TaskLstFnStatus *tlfs = (TaskLstFnStatus *)item.lParam;
|
|
||||||
|
|
||||||
activateDoc(tlfs);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
case NM_RCLICK :
|
|
||||||
{
|
|
||||||
// Switch to the right document
|
|
||||||
LPNMITEMACTIVATE lpnmitem = (LPNMITEMACTIVATE) lParam;
|
|
||||||
int i = lpnmitem->iItem;
|
|
||||||
if (i == -1)
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
LVITEM item;
|
|
||||||
item.mask = LVIF_PARAM;
|
|
||||||
item.iItem = i;
|
|
||||||
ListView_GetItem(((LPNMHDR)lParam)->hwndFrom, &item);
|
|
||||||
TaskLstFnStatus *tlfs = (TaskLstFnStatus *)item.lParam;
|
|
||||||
|
|
||||||
activateDoc(tlfs);
|
|
||||||
|
|
||||||
// Redirect NM_RCLICK message to Notepad_plus handle
|
|
||||||
NMHDR nmhdr;
|
|
||||||
nmhdr.code = NM_RCLICK;
|
|
||||||
nmhdr.hwndFrom = _hSelf;
|
|
||||||
nmhdr.idFrom = ::GetDlgCtrlID(nmhdr.hwndFrom);
|
|
||||||
::SendMessage(_hParent, WM_NOTIFY, nmhdr.idFrom, (LPARAM)&nmhdr);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
case LVN_GETINFOTIP:
|
|
||||||
{
|
|
||||||
LPNMLVGETINFOTIP pGetInfoTip = (LPNMLVGETINFOTIP)lParam;
|
|
||||||
int i = pGetInfoTip->iItem;
|
|
||||||
if (i == -1)
|
|
||||||
return TRUE;
|
|
||||||
generic_string fn = getFullFilePath((size_t)i);
|
|
||||||
lstrcpyn(pGetInfoTip->pszText, fn.c_str(), pGetInfoTip->cchTextMax);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
case LVN_COLUMNCLICK:
|
|
||||||
{
|
|
||||||
LPNMLISTVIEW pnmLV = (LPNMLISTVIEW)lParam;
|
|
||||||
setHeaderOrder(pnmLV);
|
|
||||||
ListView_SortItemsEx(pnmLV->hdr.hwndFrom, ListViewCompareProc,(LPARAM)pnmLV);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
case LVN_KEYDOWN:
|
|
||||||
{
|
|
||||||
switch (((LPNMLVKEYDOWN)lParam)->wVKey)
|
|
||||||
{
|
|
||||||
case VK_RETURN:
|
|
||||||
{
|
|
||||||
int i = ListView_GetSelectionMark(_fileListView.getHSelf());
|
|
||||||
|
|
||||||
if (i == -1)
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
LVITEM item;
|
|
||||||
item.mask = LVIF_PARAM;
|
|
||||||
item.iItem = i;
|
|
||||||
ListView_GetItem(((LPNMHDR)lParam)->hwndFrom, &item);
|
|
||||||
TaskLstFnStatus *tlfs = (TaskLstFnStatus *)item.lParam;
|
|
||||||
activateDoc(tlfs);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
*/
|
|
||||||
case WM_SIZE:
|
case WM_SIZE:
|
||||||
{
|
{
|
||||||
int width = LOWORD(lParam);
|
int width = LOWORD(lParam);
|
||||||
|
@ -215,3 +112,28 @@ bool ProjectPanel::buildTreeFrom(TiXmlNode *projectRoot, HTREEITEM hParentItem)
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ProjectPanel::notified(LPNMTREEVIEW notification)
|
||||||
|
{
|
||||||
|
TVITEM tv_item;
|
||||||
|
TCHAR text_buffer[MAX_PATH];
|
||||||
|
|
||||||
|
if((notification->hdr).hwndFrom == _treeView.getHSelf())
|
||||||
|
{
|
||||||
|
if((notification->hdr).code == TVN_SELCHANGED)
|
||||||
|
{
|
||||||
|
tv_item.hItem = notification->itemNew.hItem;
|
||||||
|
tv_item.mask = TVIF_TEXT | TVIF_PARAM;
|
||||||
|
tv_item.pszText = text_buffer;
|
||||||
|
tv_item.cchTextMax = MAX_PATH;
|
||||||
|
SendMessage(_treeView.getHSelf(), TVM_GETITEM, 0,(LPARAM)&tv_item);
|
||||||
|
|
||||||
|
/*
|
||||||
|
if(tv_item.lParam==DOMAIN_LEVEL)
|
||||||
|
ShowDomainContent(tv_item.pszText);
|
||||||
|
else if(tv_item.lParam==SERVER_LEVEL)
|
||||||
|
ShowServerContent(tv_item.pszText);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -52,6 +52,7 @@ protected:
|
||||||
TreeView _treeView;
|
TreeView _treeView;
|
||||||
virtual BOOL CALLBACK ProjectPanel::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
|
virtual BOOL CALLBACK ProjectPanel::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
|
||||||
bool buildTreeFrom(TiXmlNode *projectRoot, HTREEITEM hParentItem);
|
bool buildTreeFrom(TiXmlNode *projectRoot, HTREEITEM hParentItem);
|
||||||
|
void notified(LPNMTREEVIEW notification);
|
||||||
|
|
||||||
};
|
};
|
||||||
#endif // PROJECTPANEL_H
|
#endif // PROJECTPANEL_H
|
||||||
|
|
Loading…
Reference in New Issue