本文整理汇总了C++中CGUIButtonControl::SetEnabled方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUIButtonControl::SetEnabled方法的具体用法?C++ CGUIButtonControl::SetEnabled怎么用?C++ CGUIButtonControl::SetEnabled使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGUIButtonControl
的用法示例。
在下文中一共展示了CGUIButtonControl::SetEnabled方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnContextButton
bool CGUIDialogAudioDSPManager::OnContextButton(int itemNumber, CONTEXT_BUTTON button, int listType)
{
CFileItemPtr pItem;
int listSize = 0;
if (listType == LIST_ACTIVE)
{
pItem = m_activeItems[m_iCurrentType]->Get(itemNumber);
listSize = m_activeItems[m_iCurrentType]->Size();
}
else if (listType == LIST_AVAILABLE)
{
pItem = m_availableItems[m_iCurrentType]->Get(itemNumber);
listSize = m_availableItems[m_iCurrentType]->Size();
}
/* Check file item is in list range and get his pointer */
if (!pItem || itemNumber < 0 || itemNumber >= listSize)
{
return false;
}
if (button == CONTEXT_BUTTON_ACTIVATE)
{
/*!
* Deactivate selected processing mode
*/
if (pItem->GetProperty("ActiveMode").asBoolean())
{
// remove mode from active mode list and add it to available mode list
CFileItemPtr newItem(dynamic_cast<CFileItem*>(pItem->Clone()));
newItem->SetProperty("ActiveMode", false);
newItem->SetProperty("Changed", true);
m_activeItems[m_iCurrentType]->Remove(itemNumber);
m_availableItems[m_iCurrentType]->Add(newItem);
}
else
{
/*!
* Activate selected processing mode
*/
if ((m_iCurrentType == AE_DSP_MODE_TYPE_INPUT_RESAMPLE || m_iCurrentType == AE_DSP_MODE_TYPE_OUTPUT_RESAMPLE) && m_activeItems[m_iCurrentType]->Size() > 0)
{ // if there is already an active resampler, now we remove it
CFileItemPtr activeResampler = m_activeItems[m_iCurrentType]->Get(0);
if (activeResampler)
{
CFileItemPtr newItem(dynamic_cast<CFileItem*>(activeResampler->Clone()));
newItem->SetProperty("ActiveMode", false);
newItem->SetProperty("Changed", true);
m_availableItems[m_iCurrentType]->Add(newItem);
// clear active list, because only one active resampling mode is supported by ActiveAEDSP
m_activeItems[m_iCurrentType]->Clear();
}
}
// remove mode from available mode list and add it to active mode list
CFileItemPtr newItem(dynamic_cast<CFileItem*>(pItem->Clone()));
newItem->SetProperty("Number", (int)m_activeItems[m_iCurrentType]->Size() +1);
newItem->SetProperty("Changed", true);
newItem->SetProperty("ActiveMode", true);
m_availableItems[m_iCurrentType]->Remove(itemNumber);
m_activeItems[m_iCurrentType]->Add(newItem);
}
m_bContainsChanges = true;
if (m_bContinuousSaving)
{
SaveList();
}
// reorder available mode list, so that the mode order is always consistent
m_availableItems[m_iCurrentType]->ClearSortState();
m_availableItems[m_iCurrentType]->Sort(SortByLabel, SortOrderAscending);
// update active and available mode list
Renumber();
m_availableViewControl.SetItems(*m_availableItems[m_iCurrentType]);
m_activeViewControl.SetItems(*m_activeItems[m_iCurrentType]);
}
else if (button == CONTEXT_BUTTON_MOVE)
{
m_bMovingMode = true;
pItem->Select(true);
CGUIListContainer *modeList = dynamic_cast<CGUIListContainer*>(GetControl(CONTROL_LIST_MODE_SELECTION));
CGUIButtonControl *applyButton = dynamic_cast<CGUIButtonControl*>(GetControl(CONTROL_BUTTON_APPLY_CHANGES));
CGUIButtonControl *clearActiveModesButton = dynamic_cast<CGUIButtonControl*>(GetControl(CONTROL_BUTTON_CLEAR_ACTIVE_MODES));
if (!modeList || !applyButton || !clearActiveModesButton)
{
helper_LogError(__FUNCTION__);
return false;
}
// if we are in MovingMode all buttons and mode selection list will be disabled!
modeList->SetEnabled(false);
clearActiveModesButton->SetEnabled(false);
if (!m_bContinuousSaving)
{
//.........这里部分代码省略.........