summaryrefslogtreecommitdiff
path: root/plugins/HistoryStats/src/optionsctrlimpl_item.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/HistoryStats/src/optionsctrlimpl_item.cpp')
-rw-r--r--plugins/HistoryStats/src/optionsctrlimpl_item.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/plugins/HistoryStats/src/optionsctrlimpl_item.cpp b/plugins/HistoryStats/src/optionsctrlimpl_item.cpp
new file mode 100644
index 0000000000..e46a154629
--- /dev/null
+++ b/plugins/HistoryStats/src/optionsctrlimpl_item.cpp
@@ -0,0 +1,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());
+}