本文整理汇总了C++中CSettingInt::GetOptionsType方法的典型用法代码示例。如果您正苦于以下问题:C++ CSettingInt::GetOptionsType方法的具体用法?C++ CSettingInt::GetOptionsType怎么用?C++ CSettingInt::GetOptionsType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSettingInt
的用法示例。
在下文中一共展示了CSettingInt::GetOptionsType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FillIntegerSettingControl
void CGUIControlSpinExSetting::FillIntegerSettingControl()
{
CSettingInt *pSettingInt = (CSettingInt *)m_pSetting;
switch (pSettingInt->GetOptionsType())
{
case SettingOptionsTypeStatic:
{
const StaticIntegerSettingOptions& options = pSettingInt->GetOptions();
for (StaticIntegerSettingOptions::const_iterator it = options.begin(); it != options.end(); ++it)
m_pSpin->AddLabel(g_localizeStrings.Get(it->first), it->second);
break;
}
case SettingOptionsTypeDynamic:
{
DynamicIntegerSettingOptions options = pSettingInt->UpdateDynamicOptions();
for (DynamicIntegerSettingOptions::const_iterator option = options.begin(); option != options.end(); ++option)
m_pSpin->AddLabel(option->first, option->second);
break;
}
case SettingOptionsTypeNone:
default:
{
std::string strLabel;
int i = pSettingInt->GetMinimum();
const CSettingControlSpinner *control = static_cast<const CSettingControlSpinner*>(pSettingInt->GetControl());
if (control->GetMinimumLabel() > -1)
{
strLabel = g_localizeStrings.Get(control->GetMinimumLabel());
m_pSpin->AddLabel(strLabel, pSettingInt->GetMinimum());
i += pSettingInt->GetStep();
}
for (; i <= pSettingInt->GetMaximum(); i += pSettingInt->GetStep())
{
if (control->GetFormatLabel() > -1)
strLabel = StringUtils::Format(g_localizeStrings.Get(control->GetFormatLabel()).c_str(), i);
else
strLabel = StringUtils::Format(control->GetFormatString().c_str(), i);
m_pSpin->AddLabel(strLabel, i);
}
break;
}
}
m_pSpin->SetValue(pSettingInt->GetValue());
}
示例2: UpdateSettingByDependency
void CSettingsManager::UpdateSettingByDependency(const std::string &settingId, const CSettingDependency &dependency)
{
CSetting *setting = GetSetting(settingId);
if (setting == NULL)
return;
switch (dependency.GetType())
{
case SettingDependencyTypeEnable:
// just trigger the property changed callback and a call to
// CSetting::IsEnabled() will automatically determine the new
// enabled state
OnSettingPropertyChanged(setting, "enabled");
break;
case SettingDependencyTypeUpdate:
{
SettingType type = (SettingType)setting->GetType();
if (type == SettingTypeInteger)
{
CSettingInt *settingInt = ((CSettingInt*)setting);
if (settingInt->GetOptionsType() == SettingOptionsTypeDynamic)
settingInt->UpdateDynamicOptions();
}
else if (type == SettingTypeString)
{
CSettingString *settingString = ((CSettingString*)setting);
if (settingString->GetOptionsType() == SettingOptionsTypeDynamic)
settingString->UpdateDynamicOptions();
}
break;
}
case SettingDependencyTypeVisible:
// just trigger the property changed callback and a call to
// CSetting::IsVisible() will automatically determine the new
// visible state
OnSettingPropertyChanged(setting, "visible");
break;
case SettingDependencyTypeNone:
default:
break;
}
}
示例3: GetIntegerItems
bool CGUIControlListSetting::GetIntegerItems(CSetting *setting, CFileItemList &items)
{
CSettingInt *pSettingInt = (CSettingInt *)setting;
switch (pSettingInt->GetOptionsType())
{
case SettingOptionsTypeStatic:
{
const StaticIntegerSettingOptions& options = pSettingInt->GetOptions();
for (StaticIntegerSettingOptions::const_iterator it = options.begin(); it != options.end(); ++it)
{
CFileItemPtr pItem = GetItem(g_localizeStrings.Get(it->first), it->second);
if (it->second == pSettingInt->GetValue())
pItem->Select(true);
items.Add(pItem);
}
break;
}
case SettingOptionsTypeDynamic:
{
DynamicIntegerSettingOptions options = pSettingInt->UpdateDynamicOptions();
for (DynamicIntegerSettingOptions::const_iterator option = options.begin(); option != options.end(); ++option)
{
CFileItemPtr pItem = GetItem(option->first, option->second);
if (option->second == pSettingInt->GetValue())
pItem->Select(true);
items.Add(pItem);
}
break;
}
case SettingOptionsTypeNone:
default:
return false;
}
return true;
}