Enhancements: show notes

This commit is contained in:
zilmar 2021-02-23 20:16:00 +10:30
parent beb5c3e77d
commit 998ff9ea2a
2 changed files with 35 additions and 14 deletions

View File

@ -278,15 +278,15 @@ LRESULT CEnhancementUI::OnEnhancementListRClicked(NMHDR* pNMHDR)
return TRUE;
}
LRESULT CEnhancementUI::OnEnhancementListDClicked(NMHDR* pNMHDR)
LRESULT CEnhancementUI::OnEnhancementListDClicked(NMHDR * lpnmh)
{
uint32_t dwpos = GetMessagePos();
TVHITTESTINFO ht = { 0 };
ht.pt.x = GET_X_LPARAM(dwpos);
ht.pt.y = GET_Y_LPARAM(dwpos);
::MapWindowPoints(HWND_DESKTOP, pNMHDR->hwndFrom, &ht.pt, 1);
::MapWindowPoints(HWND_DESKTOP, lpnmh->hwndFrom, &ht.pt, 1);
TreeView_HitTest(pNMHDR->hwndFrom, &ht);
TreeView_HitTest(lpnmh->hwndFrom, &ht);
if ((ht.flags & TVHT_ONITEMLABEL) == 0 || ht.hItem == 0)
{
@ -305,6 +305,25 @@ LRESULT CEnhancementUI::OnEnhancementListDClicked(NMHDR* pNMHDR)
return 0;
}
LRESULT CEnhancementUI::OnEnhancementListSelChanged(NMHDR * lpnmh)
{
HTREEITEM hItem = m_TreeList.GetSelectedItem();
GetDlgItem(IDC_NOTES).SetWindowText(L"");
if (m_TreeList.GetChildItem(hItem) == nullptr)
{
TVITEM item = { 0 };
item.mask = TVIF_PARAM;
item.hItem = hItem;
m_TreeList.GetItem(&item);
if (item.lParam != NULL)
{
CEnhancement * Enhancement = (CEnhancement *)item.lParam;
GetDlgItem(IDC_NOTES).SetWindowText(stdstr(Enhancement->GetNote()).ToUTF16().c_str());
}
}
return 0;
}
void CEnhancementUI::AddCodeLayers(LPARAM Enhancement, const std::wstring & Name, HTREEITEM hParent, bool Active)
{
TV_INSERTSTRUCT tv;
@ -749,4 +768,4 @@ LRESULT CEditPluginList::OnOkCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*
m_PluginList = PluginList;
EndDialog(wID);
return 0;
}
}

View File

@ -16,12 +16,12 @@ class CEditEnhancement;
class CEnhancementUI :
public CDialogImpl<CEnhancementUI>
{
enum TV_CHECK_STATE
{
TV_STATE_UNKNOWN,
TV_STATE_CLEAR,
TV_STATE_CHECKED,
TV_STATE_INDETERMINATE
enum TV_CHECK_STATE
{
TV_STATE_UNKNOWN,
TV_STATE_CLEAR,
TV_STATE_CHECKED,
TV_STATE_INDETERMINATE
};
public:
@ -34,6 +34,7 @@ public:
NOTIFY_HANDLER_EX(IDC_ENHANCEMENTLIST, NM_CLICK, OnEnhancementListClicked)
NOTIFY_HANDLER_EX(IDC_ENHANCEMENTLIST, NM_RCLICK, OnEnhancementListRClicked)
NOTIFY_HANDLER_EX(IDC_ENHANCEMENTLIST, NM_DBLCLK, OnEnhancementListDClicked)
NOTIFY_HANDLER_EX(IDC_ENHANCEMENTLIST, TVN_SELCHANGED, OnEnhancementListSelChanged)
END_MSG_MAP()
enum { IDD = IDD_Enhancement_Config };
@ -48,14 +49,15 @@ private:
CEnhancementUI(const CEnhancementUI&);
CEnhancementUI& operator=(const CEnhancementUI&);
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled);
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled);
LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled);
LRESULT OnEditEnhancement(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL & bHandled);
LRESULT OnAddEnhancement(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL & bHandled );
LRESULT OnCloseCmd(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL & bHandled);
LRESULT OnEnhancementListClicked(NMHDR* lpnmh);
LRESULT OnEnhancementListRClicked(NMHDR * pNMHDR);
LRESULT OnEnhancementListDClicked(NMHDR * pNMHDR);
LRESULT OnEnhancementListClicked(NMHDR * lpnmh);
LRESULT OnEnhancementListRClicked(NMHDR * lpnmh);
LRESULT OnEnhancementListDClicked(NMHDR * lpnmh);
LRESULT OnEnhancementListSelChanged(NMHDR * lpnmh);
void AddCodeLayers(LPARAM ListID, const std::wstring & Name, HTREEITEM hParent, bool Active);
void ChangeChildrenStatus(HTREEITEM hParent, bool Checked);