summaryrefslogtreecommitdiff
path: root/plugins/!NotAdopted/HistoryStats/optionsctrlimpl_item.cpp
blob: e46a1546299527be6c26c40cd866ac9c859b8ed9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "_globals.h"
#include "optionsctrlimpl.h"

/*
 * OptionsCtrlImpl::Item
 */

OptionsCtrlImpl::Item::Item(OptionsCtrlImpl* pCtrl, ItemType ItemType, const mu_text* szLabel, DWORD dwFlags, DWORD dwData)
	: m_pCtrl(pCtrl), m_hItem(NULL), m_nRef(1), m_ItemType(ItemType), m_strLabel(szLabel), m_dwData(dwData)
{
	m_bEnabled       = !(dwFlags & OCF_DISABLED);
	m_bDisableChilds = !(dwFlags & OCF_NODISABLECHILDS);
}

void OptionsCtrlImpl::Item::enableChilds(bool bEnable)
{
	HTREEITEM hChild = TreeView_GetChild(m_pCtrl->m_hTree, m_hItem);

	while (hChild)
	{
		Item* pItem = m_pCtrl->getItem(hChild);

		if (pItem)
		{
			pItem->setEnabled(bEnable);
		}

		hChild = TreeView_GetNextSibling(m_pCtrl->m_hTree, hChild);
	}
}

void OptionsCtrlImpl::Item::setLabel(const mu_text* szLabel)
{
	m_strLabel = szLabel;

	m_pCtrl->setNodeText(m_hItem, m_strLabel.c_str());
}