diff options
Diffstat (limited to 'plugins/!NotAdopted/HistoryStats/optionsctrlimpl_radio.cpp')
-rw-r--r-- | plugins/!NotAdopted/HistoryStats/optionsctrlimpl_radio.cpp | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/plugins/!NotAdopted/HistoryStats/optionsctrlimpl_radio.cpp b/plugins/!NotAdopted/HistoryStats/optionsctrlimpl_radio.cpp deleted file mode 100644 index 75491192af..0000000000 --- a/plugins/!NotAdopted/HistoryStats/optionsctrlimpl_radio.cpp +++ /dev/null @@ -1,125 +0,0 @@ -#include "_globals.h"
-#include "optionsctrlimpl.h"
-
-/*
- * OptionsCtrlImpl::RadioSiblings
- */
-
-int OptionsCtrlImpl::RadioSiblings::join(Radio* pRadio)
-{
- m_Radios.push_back(pRadio);
- ++m_nRadios;
-
- return m_nRadios - 1;
-}
-
-bool OptionsCtrlImpl::RadioSiblings::leave(int nRadio)
-{
- assert(nRadio >= 0 && nRadio < m_Radios.size() && m_Radios[nRadio]);
-
- m_Radios[nRadio] = NULL;
- --m_nRadios;
-
- return (m_nRadios == 0);
-}
-
-void OptionsCtrlImpl::RadioSiblings::setChecked(int nRadio)
-{
- if (nRadio == m_nChecked)
- {
- return;
- }
-
- if (nRadio < 0 || nRadio >= m_Radios.size())
- {
- return;
- }
-
- if (m_nChecked != -1)
- {
- assert(m_Radios[m_nChecked]);
-
- int nOldChecked = m_nChecked;
-
- m_nChecked = -1;
- m_Radios[nOldChecked]->updateItem();
- }
-
- assert(m_Radios[nRadio]);
-
- m_nChecked = nRadio;
- m_Radios[m_nChecked]->updateItem();
-}
-
-/*
- * OptionsCtrlImpl::Radio
- */
-
-bool OptionsCtrlImpl::Radio::getChildEnable(bool bChecked)
-{
- return
- !m_bDisableChildsOnUncheck && m_bDisableChilds && m_bEnabled ||
- m_bDisableChildsOnUncheck && bChecked && (!m_bDisableChilds || m_bEnabled);
-}
-
-void OptionsCtrlImpl::Radio::updateItem()
-{
- bool bChecked = isChecked();
-
- m_pCtrl->setStateImage(m_hItem, m_bEnabled ? (bChecked ? siRadioC : siRadioU) : (bChecked ? siRadioCG : siRadioUG));
-
- if (m_bDisableChilds || m_bDisableChildsOnUncheck)
- {
- enableChilds(getChildEnable(bChecked));
- }
-}
-
-OptionsCtrlImpl::Radio::Radio(OptionsCtrlImpl* pCtrl, Item* pParent, Radio* pSibling, const mu_text* szLabel, DWORD dwFlags, DWORD dwData)
- : Item(pCtrl, itRadio, szLabel, dwFlags, dwData)
-{
- m_bDisableChildsOnUncheck = bool_(dwFlags & OCF_DISABLECHILDSONUNCHECK);
-
- pCtrl->insertItem(pParent, this, szLabel, dwFlags, siRadioU);
-
- m_pSiblings = pSibling ? pSibling->m_pSiblings : new RadioSiblings();
- m_nIndex = m_pSiblings->join(this);
-
- if (dwFlags & OCF_CHECKED)
- {
- m_pSiblings->setChecked(m_nIndex);
- }
- else
- {
- updateItem();
- }
-
- if (pParent)
- {
- pParent->childAdded(this);
- }
-}
-
-OptionsCtrlImpl::Radio::~Radio()
-{
- if (m_pSiblings->leave(m_nIndex))
- {
- delete m_pSiblings;
- }
-}
-
-void OptionsCtrlImpl::Radio::onToggle()
-{
- if (m_bEnabled && !isChecked())
- {
- setChecked();
- m_pCtrl->setModified(this);
- }
-}
-
-void OptionsCtrlImpl::Radio::childAdded(Item* pChild)
-{
- if (m_bDisableChilds || m_bDisableChildsOnUncheck)
- {
- pChild->setEnabled(getChildEnable(isChecked()));
- }
-}
|