本文整理汇总了C++中CGUISpinControlEx类的典型用法代码示例。如果您正苦于以下问题:C++ CGUISpinControlEx类的具体用法?C++ CGUISpinControlEx怎么用?C++ CGUISpinControlEx使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CGUISpinControlEx类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateGenreSpin
void CGUIDialogPVRGuideSearch::UpdateGenreSpin(void)
{
CGUISpinControlEx *pSpin = (CGUISpinControlEx *)GetControl(CONTROL_SPIN_GENRE);
if (!pSpin)
return;
pSpin->Clear();
pSpin->AddLabel(g_localizeStrings.Get(593), EPG_SEARCH_UNSET);
pSpin->AddLabel(g_localizeStrings.Get(19500), EPG_EVENT_CONTENTMASK_MOVIEDRAMA);
pSpin->AddLabel(g_localizeStrings.Get(19516), EPG_EVENT_CONTENTMASK_NEWSCURRENTAFFAIRS);
pSpin->AddLabel(g_localizeStrings.Get(19532), EPG_EVENT_CONTENTMASK_SHOW);
pSpin->AddLabel(g_localizeStrings.Get(19548), EPG_EVENT_CONTENTMASK_SPORTS);
pSpin->AddLabel(g_localizeStrings.Get(19564), EPG_EVENT_CONTENTMASK_CHILDRENYOUTH);
pSpin->AddLabel(g_localizeStrings.Get(19580), EPG_EVENT_CONTENTMASK_MUSICBALLETDANCE);
pSpin->AddLabel(g_localizeStrings.Get(19596), EPG_EVENT_CONTENTMASK_ARTSCULTURE);
pSpin->AddLabel(g_localizeStrings.Get(19612), EPG_EVENT_CONTENTMASK_SOCIALPOLITICALECONOMICS);
pSpin->AddLabel(g_localizeStrings.Get(19628), EPG_EVENT_CONTENTMASK_EDUCATIONALSCIENCE);
pSpin->AddLabel(g_localizeStrings.Get(19644), EPG_EVENT_CONTENTMASK_LEISUREHOBBIES);
pSpin->AddLabel(g_localizeStrings.Get(19660), EPG_EVENT_CONTENTMASK_SPECIAL);
pSpin->AddLabel(g_localizeStrings.Get(19499), EPG_EVENT_CONTENTMASK_USERDEFINED);
pSpin->SetValue(m_searchFilter->m_iGenreType);
}
示例2: OnSearch
void CGUIDialogPVRGuideSearch::OnSearch()
{
CStdString strTmp;
CGUISpinControlEx *pSpin;
CGUIEditControl *pEdit;
CGUIRadioButtonControl *pRadioButton;
if (!m_searchFilter)
return;
pEdit = (CGUIEditControl *)GetControl(CONTROL_EDIT_SEARCH);
if (pEdit) m_searchFilter->m_strSearchTerm = pEdit->GetLabel2();
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_INC_DESC);
if (pRadioButton) m_searchFilter->m_bSearchInDescription = pRadioButton->IsSelected();
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_CASE_SENS);
if (pRadioButton) m_searchFilter->m_bIsCaseSensitive = pRadioButton->IsSelected();
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_FTA_ONLY);
if (pRadioButton) m_searchFilter->m_bFTAOnly = pRadioButton->IsSelected();
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_UNK_GENRE);
if (pRadioButton) m_searchFilter->m_bIncludeUnknownGenres = pRadioButton->IsSelected();
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_IGNORE_REC);
if (pRadioButton) m_searchFilter->m_bIgnorePresentRecordings = pRadioButton->IsSelected();
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_IGNORE_TMR);
if (pRadioButton) m_searchFilter->m_bIgnorePresentTimers = pRadioButton->IsSelected();
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_SPIN_NO_REPEATS);
if (pRadioButton) m_searchFilter->m_bPreventRepeats = pRadioButton->IsSelected();
pSpin = (CGUISpinControlEx *)GetControl(CONTROL_SPIN_GENRE);
if (pSpin) m_searchFilter->m_iGenreType = pSpin->GetValue();
pSpin = (CGUISpinControlEx *)GetControl(CONTROL_SPIN_MIN_DURATION);
if (pSpin) m_searchFilter->m_iMinimumDuration = pSpin->GetValue();
pSpin = (CGUISpinControlEx *)GetControl(CONTROL_SPIN_MAX_DURATION);
if (pSpin) m_searchFilter->m_iMaximumDuration = pSpin->GetValue();
pSpin = (CGUISpinControlEx *)GetControl(CONTROL_SPIN_CHANNELS);
if (pSpin) m_searchFilter->m_iChannelNumber = pSpin->GetValue();
pSpin = (CGUISpinControlEx *)GetControl(CONTROL_SPIN_GROUPS);
if (pSpin) m_searchFilter->m_iChannelGroup = pSpin->GetValue();
pEdit = (CGUIEditControl *)GetControl(CONTROL_EDIT_START_TIME);
if (pEdit) strTmp = pEdit->GetLabel2();
pEdit = (CGUIEditControl *)GetControl(CONTROL_EDIT_START_DATE);
if (pEdit) ReadDateTime(pEdit->GetLabel2(), strTmp, m_searchFilter->m_startDateTime);
strTmp.clear();
pEdit = (CGUIEditControl *)GetControl(CONTROL_EDIT_STOP_TIME);
if (pEdit) strTmp = pEdit->GetLabel2();
pEdit = (CGUIEditControl *)GetControl(CONTROL_EDIT_STOP_DATE);
if (pEdit) ReadDateTime(pEdit->GetLabel2(), strTmp, m_searchFilter->m_endDateTime);
}
示例3: atoi
void CGUIDialogPVRGuideSearch::Update()
{
CGUISpinControlEx *pSpin;
CGUIEditControl *pEdit;
CGUIRadioButtonControl *pRadioButton;
if (!m_searchfilter)
return;
pEdit = (CGUIEditControl *)GetControl(CONTROL_EDIT_SEARCH);
if (pEdit)
{
pEdit->SetLabel2(m_searchfilter->m_strSearchTerm);
pEdit->SetInputType(CGUIEditControl::INPUT_TYPE_TEXT, 16017);
}
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_CASE_SENS);
if (pRadioButton) pRadioButton->SetSelected(m_searchfilter->m_bIsCaseSensitive);
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_INC_DESC);
if (pRadioButton) pRadioButton->SetSelected(m_searchfilter->m_bSearchInDescription);
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_FTA_ONLY);
if (pRadioButton) pRadioButton->SetSelected(m_searchfilter->m_bFTAOnly);
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_UNK_GENRE);
if (pRadioButton) pRadioButton->SetSelected(m_searchfilter->m_bIncludeUnknownGenres);
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_IGNORE_REC);
if (pRadioButton) pRadioButton->SetSelected(m_searchfilter->m_bIgnorePresentRecordings);
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_BTN_IGNORE_TMR);
if (pRadioButton) pRadioButton->SetSelected(m_searchfilter->m_bIgnorePresentTimers);
pRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_SPIN_NO_REPEATS);
if (pRadioButton) pRadioButton->SetSelected(m_searchfilter->m_bPreventRepeats);
/* Set duration list spin */
pSpin = (CGUISpinControlEx *)GetControl(CONTROL_SPIN_MIN_DURATION);
if (pSpin)
{
pSpin->Clear();
pSpin->AddLabel("-", -1);
for (int i = 1; i < 12*60/5; i++)
{
CStdString string;
string.Format(g_localizeStrings.Get(14044),i*5);
pSpin->AddLabel(string, i*5);
}
pSpin->SetValue(m_searchfilter->m_iMinimumDuration);
}
pSpin = (CGUISpinControlEx *)GetControl(CONTROL_SPIN_MAX_DURATION);
if (pSpin)
{
pSpin->Clear();
pSpin->AddLabel("-", -1);
for (int i = 1; i < 12*60/5; i++)
{
CStdString string;
string.Format(g_localizeStrings.Get(14044),i*5);
pSpin->AddLabel(string, i*5);
}
pSpin->SetValue(m_searchfilter->m_iMaximumDuration);
}
/* Set time fields */
pEdit = (CGUIEditControl *)GetControl(CONTROL_EDIT_START_TIME);
if (pEdit)
{
CDateTime time = m_searchfilter->m_startTime;
pEdit->SetLabel2(time.GetAsLocalizedTime("", false));
pEdit->SetInputType(CGUIEditControl::INPUT_TYPE_TIME, 14066);
}
pEdit = (CGUIEditControl *)GetControl(CONTROL_EDIT_STOP_TIME);
if (pEdit)
{
CDateTime time = m_searchfilter->m_endTime;
pEdit->SetLabel2(time.GetAsLocalizedTime("", false));
pEdit->SetInputType(CGUIEditControl::INPUT_TYPE_TIME, 14066);
}
pEdit = (CGUIEditControl *)GetControl(CONTROL_EDIT_START_DATE);
if (pEdit)
{
CDateTime date = m_searchfilter->m_startDate;
pEdit->SetLabel2(date.GetAsDBDate());
pEdit->SetInputType(CGUIEditControl::INPUT_TYPE_DATE, 14067);
}
pEdit = (CGUIEditControl *)GetControl(CONTROL_EDIT_STOP_DATE);
if (pEdit)
{
CDateTime date = m_searchfilter->m_endDate;
pEdit->SetLabel2(date.GetAsDBDate());
pEdit->SetInputType(CGUIEditControl::INPUT_TYPE_DATE, 14067);
}
/* Set Channel list spin */
pSpin = (CGUISpinControlEx *)GetControl(CONTROL_SPIN_CHANNELS);
if (pSpin)
{
//.........这里部分代码省略.........
示例4: switch
bool CGUIDialogPVRGuideSearch::OnMessage(CGUIMessage& message)
{
CGUIDialog::OnMessage(message);
switch (message.GetMessage())
{
case GUI_MSG_WINDOW_INIT:
{
m_bConfirmed = false;
m_bCanceled = false;
}
break;
case GUI_MSG_CLICKED:
{
int iControl = message.GetSenderId();
if (iControl == CONTROL_BTN_SEARCH)
{
OnSearch();
m_bCanceled = false;
Close();
return true;
}
else if (iControl == CONTROL_BTN_CANCEL)
{
Close();
m_bCanceled = true;
return true;
}
else if (iControl == CONTROL_BTN_DEFAULTS)
{
if (m_searchfilter)
{
m_searchfilter->Reset();
Update();
}
return true;
}
else if (iControl == CONTROL_SPIN_GROUPS)
{
/* Set Channel list spin */
CGUISpinControlEx *pSpin = (CGUISpinControlEx *)GetControl(CONTROL_SPIN_CHANNELS);
if (pSpin)
{
CFileItemList channelslist_tv;
PVRChannelsTV.GetChannels(&channelslist_tv, m_searchfilter->m_iChannelGroup);
pSpin->Clear();
pSpin->AddLabel(g_localizeStrings.Get(19140), -1);
pSpin->AddLabel(g_localizeStrings.Get(19023), -2);
pSpin->AddLabel(g_localizeStrings.Get(19024), -3);
for (int i = 0; i < channelslist_tv.Size(); i++)
{
int chanNumber = channelslist_tv[i]->GetPVRChannelInfoTag()->ChannelNumber();
CStdString string;
string.Format("%i %s", chanNumber, channelslist_tv[i]->GetPVRChannelInfoTag()->ChannelName().c_str());
pSpin->AddLabel(string, chanNumber);
}
}
return true;
}
}
break;
}
return false;
}
示例5: OnOkay
void CGUIDialogSettings::OnClick(int iID)
{
if (iID == CONTROL_OKAY_BUTTON)
{
OnOkay();
Close();
return;
}
if (iID == CONTROL_CANCEL_BUTTON)
{
OnCancel();
Close();
return;
}
unsigned int settingNum = iID - CONTROL_START;
if (settingNum >= m_settings.size()) return;
SettingInfo &setting = m_settings.at(settingNum);
if (setting.type == SettingInfo::SPIN)
{
CGUISpinControlEx *pControl = (CGUISpinControlEx *)GetControl(iID);
if (setting.data) *(int *)setting.data = pControl->GetValue();
}
else if (setting.type == SettingInfo::BUTTON_DIALOG)
{
CGUIButtonControl *pControl = (CGUIButtonControl *)GetControl(iID);
if (setting.data) *(CStdString *)setting.data = pControl->GetLabel2();
}
else if (setting.type == SettingInfo::EDIT)
{
CGUIEditControl *pControl = (CGUIEditControl *)GetControl(iID);
if (setting.data) *(CStdString *)setting.data = pControl->GetLabel2();
}
else if (setting.type == SettingInfo::EDIT_NUM)
{
CGUIEditControl *pControl = (CGUIEditControl *)GetControl(iID);
if (setting.data) {
CStdString strIndex = pControl->GetLabel2();
*(int *)setting.data = atol(strIndex.c_str());
}
}
else if (setting.type == SettingInfo::CHECK)
{
CGUIRadioButtonControl *pControl = (CGUIRadioButtonControl *)GetControl(iID);
if (setting.data) *(bool *)setting.data = pControl->IsSelected();
}
else if (setting.type == SettingInfo::CHECK_UCHAR)
{
CGUIRadioButtonControl *pControl = (CGUIRadioButtonControl *)GetControl(iID);
if (setting.data) *(unsigned char*)setting.data = pControl->IsSelected() ? 1 : 0;
}
else if (setting.type == SettingInfo::SLIDER)
{
CGUISettingsSliderControl *pControl = (CGUISettingsSliderControl *)GetControl(iID);
if (setting.data) *(float *)setting.data = pControl->GetFloatValue();
if (setting.formatFunction) pControl->SetTextValue(setting.formatFunction(pControl->GetFloatValue(), setting.interval));
}
else if (setting.type == SettingInfo::BUTTON && m_usePopupSliders && setting.data)
{ // we're using popup sliders
CGUIDialogSlider::ShowAndGetInput(setting.name, *(float *)setting.data, setting.min, setting.interval, setting.max, this, &setting);
if (setting.formatFunction)
SET_CONTROL_LABEL2(iID, setting.formatFunction(*(float *)setting.data, setting.interval));
}
else if (setting.type == SettingInfo::STRING)
{
CGUIKeyboardFactory::ShowAndGetInput(*(CStdString *) setting.data, true);
string strNewValue = string(*(CStdString *)setting.data);
if (strNewValue.empty())
strNewValue = "-";
SET_CONTROL_LABEL2(iID, strNewValue);
}
OnSettingChanged(setting);
}
示例6: UpdateSetting
void CGUIDialogSettings::UpdateSetting(unsigned int id)
{
unsigned int settingNum = (unsigned int)-1;
for (unsigned int i = 0; i < m_settings.size(); i++)
{
if (m_settings[i].id == id)
{
settingNum = i;
break;
}
}
if(settingNum == (unsigned int)-1)
return;
SettingInfo &setting = m_settings.at(settingNum);
unsigned int controlID = settingNum + CONTROL_START;
if (setting.type == SettingInfo::SPIN)
{
CGUISpinControlEx *pControl = (CGUISpinControlEx *)GetControl(controlID);
if (pControl && setting.data) pControl->SetValue(*(int *)setting.data);
}
else if (setting.type == SettingInfo::CHECK)
{
CGUIRadioButtonControl *pControl = (CGUIRadioButtonControl *)GetControl(controlID);
if (pControl && setting.data) pControl->SetSelected(*(bool *)setting.data);
}
else if (setting.type == SettingInfo::CHECK_UCHAR)
{
CGUIRadioButtonControl *pControl = (CGUIRadioButtonControl *)GetControl(controlID);
if (pControl && setting.data) pControl->SetSelected(*(unsigned char*)setting.data ? true : false);
}
else if (setting.type == SettingInfo::SLIDER)
{
CGUISettingsSliderControl *pControl = (CGUISettingsSliderControl *)GetControl(controlID);
if (pControl && setting.data)
{
float value = *(float *)setting.data;
pControl->SetFloatValue(value);
if (setting.formatFunction) pControl->SetTextValue(setting.formatFunction(value, setting.interval));
}
}
else if (setting.type == SettingInfo::BUTTON_DIALOG)
{
SET_CONTROL_LABEL(controlID,setting.name);
CGUIButtonControl *pControl = (CGUIButtonControl *)GetControl(controlID);
if (pControl && setting.data) pControl->SetLabel2(*(CStdString *)setting.data);
}
else if (setting.type == SettingInfo::EDIT)
{
CGUIEditControl *pControl = (CGUIEditControl *)GetControl(controlID);
if (pControl && setting.data) pControl->SetLabel2(*(CStdString *)setting.data);
}
else if (setting.type == SettingInfo::EDIT_NUM)
{
CGUIEditControl *pControl = (CGUIEditControl *)GetControl(controlID);
if (pControl && setting.data) {
CStdString strIndex;
strIndex.Format("%i", *(int *)setting.data);
pControl->SetLabel2(strIndex);
}
}
else if (setting.type == SettingInfo::STRING)
{
SET_CONTROL_LABEL(controlID, setting.name);
string strNewValue = string(*(CStdString *)setting.data);
if (strNewValue.empty())
strNewValue = "-";
SET_CONTROL_LABEL2(controlID, strNewValue);
}
if (setting.enabled)
{
CONTROL_ENABLE(controlID);
}
else
{
CONTROL_DISABLE(controlID);
}
}
示例7: FreeControls
void CGUIDialogAddonSettings::CreateControls()
{
FreeControls();
CGUISpinControlEx *pOriginalSpin = dynamic_cast<CGUISpinControlEx*>(GetControl(CONTROL_DEFAULT_SPIN));
CGUIRadioButtonControl *pOriginalRadioButton = dynamic_cast<CGUIRadioButtonControl *>(GetControl(CONTROL_DEFAULT_RADIOBUTTON));
CGUIButtonControl *pOriginalButton = dynamic_cast<CGUIButtonControl *>(GetControl(CONTROL_DEFAULT_BUTTON));
CGUIImage *pOriginalImage = dynamic_cast<CGUIImage *>(GetControl(CONTROL_DEFAULT_SEPARATOR));
CGUILabelControl *pOriginalLabel = dynamic_cast<CGUILabelControl *>(GetControl(CONTROL_DEFAULT_LABEL_SEPARATOR));
CGUISettingsSliderControl *pOriginalSlider = dynamic_cast<CGUISettingsSliderControl *>(GetControl(CONTROL_DEFAULT_SLIDER));
if (!m_addon || !pOriginalSpin || !pOriginalRadioButton || !pOriginalButton || !pOriginalImage
|| !pOriginalLabel || !pOriginalSlider)
return;
pOriginalSpin->SetVisible(false);
pOriginalRadioButton->SetVisible(false);
pOriginalButton->SetVisible(false);
pOriginalImage->SetVisible(false);
pOriginalLabel->SetVisible(false);
pOriginalSlider->SetVisible(false);
CGUIControlGroupList *group = dynamic_cast<CGUIControlGroupList *>(GetControl(CONTROL_SETTINGS_AREA));
if (!group)
return;
// set our dialog heading
SET_CONTROL_LABEL(CONTROL_HEADING_LABEL, m_strHeading);
CGUIControl* pControl = NULL;
int controlId = CONTROL_START_SETTING;
const TiXmlElement *setting = GetFirstSetting();
while (setting)
{
const std::string type = XMLUtils::GetAttribute(setting, "type");
const std::string id = XMLUtils::GetAttribute(setting, "id");
const std::string values = XMLUtils::GetAttribute(setting, "values");
const std::string lvalues = XMLUtils::GetAttribute(setting, "lvalues");
const std::string entries = XMLUtils::GetAttribute(setting, "entries");
const std::string defaultVal = XMLUtils::GetAttribute(setting, "default");
const std::string subsetting = XMLUtils::GetAttribute(setting, "subsetting");
const std::string label = GetString(setting->Attribute("label"), subsetting == "true");
bool bSort = XMLUtils::GetAttribute(setting, "sort") == "yes";
if (!type.empty())
{
bool isAddonSetting = false;
if (type == "text" || type == "ipaddress"
|| type == "number" || type == "video"
|| type == "audio" || type == "image"
|| type == "folder" || type == "executable"
|| type == "file" || type == "action"
|| type == "date" || type == "time"
|| type == "select" || (isAddonSetting = type == "addon"))
{
pControl = new CGUIButtonControl(*pOriginalButton);
if (!pControl) return;
((CGUIButtonControl *)pControl)->SetLabel(label);
if (!id.empty())
{
std::string value = m_settings[id];
m_buttonValues[id] = value;
// get any option to test for hidden
const std::string option = XMLUtils::GetAttribute(setting, "option");
if (option == "urlencoded")
value = CURL::Decode(value);
else if (option == "hidden")
{
std::string hiddenText;
hiddenText.append(value.size(), L'*');
((CGUIButtonControl *)pControl)->SetLabel2(hiddenText);
}
else
{
if (isAddonSetting)
((CGUIButtonControl *)pControl)->SetLabel2(GetAddonNames(value));
else if (type == "select" && !lvalues.empty())
{
vector<string> valuesVec = StringUtils::Split(lvalues, '|');
int selected = atoi(value.c_str());
if (selected >= 0 && selected < (int)valuesVec.size())
{
std::string label = m_addon->GetString(atoi(valuesVec[selected].c_str()));
if (label.empty())
label = g_localizeStrings.Get(atoi(valuesVec[selected].c_str()));
((CGUIButtonControl *)pControl)->SetLabel2(label);
}
}
else
((CGUIButtonControl *)pControl)->SetLabel2(value);
}
}
else
((CGUIButtonControl *)pControl)->SetLabel2(defaultVal);
}
else if (type == "bool" && !id.empty())
{
pControl = new CGUIRadioButtonControl(*pOriginalRadioButton);
if (!pControl) return;
((CGUIRadioButtonControl *)pControl)->SetLabel(label);
//.........这里部分代码省略.........
示例8: ChangeButtonToEdit
void CGUIDialogNetworkSetup::OnInitWindow()
{
// replace our buttons with edits
ChangeButtonToEdit(CONTROL_SERVER_ADDRESS);
ChangeButtonToEdit(CONTROL_REMOTE_PATH);
ChangeButtonToEdit(CONTROL_USERNAME);
ChangeButtonToEdit(CONTROL_PORT_NUMBER);
ChangeButtonToEdit(CONTROL_PASSWORD);
// start as unconfirmed
m_confirmed = false;
CGUIDialog::OnInitWindow();
// Add our protocols
CGUISpinControlEx *pSpin = (CGUISpinControlEx *)GetControl(CONTROL_PROTOCOL);
if (!pSpin)
return;
pSpin->Clear();
#ifdef HAS_FILESYSTEM_SMB
pSpin->AddLabel(g_localizeStrings.Get(20171), NET_PROTOCOL_SMB);
#endif
pSpin->AddLabel(g_localizeStrings.Get(20256), NET_PROTOCOL_HTSP);
pSpin->AddLabel(g_localizeStrings.Get(20257), NET_PROTOCOL_VTP);
pSpin->AddLabel(g_localizeStrings.Get(20258), NET_PROTOCOL_MYTH);
pSpin->AddLabel(g_localizeStrings.Get(21331), NET_PROTOCOL_TUXBOX);
pSpin->AddLabel(g_localizeStrings.Get(20301), NET_PROTOCOL_HTTPS);
pSpin->AddLabel(g_localizeStrings.Get(20300), NET_PROTOCOL_HTTP);
pSpin->AddLabel(g_localizeStrings.Get(20254), NET_PROTOCOL_DAVS);
pSpin->AddLabel(g_localizeStrings.Get(20253), NET_PROTOCOL_DAV);
pSpin->AddLabel(g_localizeStrings.Get(20173), NET_PROTOCOL_FTP);
pSpin->AddLabel(g_localizeStrings.Get(20174), NET_PROTOCOL_DAAP);
pSpin->AddLabel(g_localizeStrings.Get(20175), NET_PROTOCOL_UPNP);
pSpin->AddLabel(g_localizeStrings.Get(20304), NET_PROTOCOL_RSS);
#ifdef HAS_FILESYSTEM_NFS
pSpin->AddLabel(g_localizeStrings.Get(20259), NET_PROTOCOL_NFS);
#endif
#ifdef HAS_FILESYSTEM_SFTP
pSpin->AddLabel(g_localizeStrings.Get(20260), NET_PROTOCOL_SFTP);
#endif
#ifdef HAS_FILESYSTEM_AFP
pSpin->AddLabel(g_localizeStrings.Get(20261), NET_PROTOCOL_AFP);
#endif
pSpin->SetValue(m_protocol);
OnProtocolChange();
}
示例9: SET_CONTROL_LABEL
void CGUIDialogPluginSettings::CreateControls()
{
CGUISpinControlEx *pOriginalSpin = (CGUISpinControlEx*)GetControl(CONTROL_DEFAULT_SPIN);
CGUIRadioButtonControl *pOriginalRadioButton = (CGUIRadioButtonControl *)GetControl(CONTROL_DEFAULT_RADIOBUTTON);
CGUIButtonControl *pOriginalButton = (CGUIButtonControl *)GetControl(CONTROL_DEFAULT_BUTTON);
CGUIImage *pOriginalImage = (CGUIImage *)GetControl(CONTROL_DEFAULT_SEPARATOR);
CGUILabelControl *pOriginalLabel = (CGUILabelControl *)GetControl(CONTROL_DEFAULT_LABEL_SEPARATOR);
if (!pOriginalSpin || !pOriginalRadioButton || !pOriginalButton || !pOriginalImage)
return;
pOriginalSpin->SetVisible(false);
pOriginalRadioButton->SetVisible(false);
pOriginalButton->SetVisible(false);
pOriginalImage->SetVisible(false);
if (pOriginalLabel)
pOriginalLabel->SetVisible(false);
// clear the category group
CGUIControlGroupList *group = (CGUIControlGroupList *)GetControl(CONTROL_AREA);
if (!group)
return;
// set our dialog heading
SET_CONTROL_LABEL(CONTROL_HEADING_LABEL, m_strHeading);
// Create our base path, used for type "fileenum" settings
CStdString basepath = "Q:\\plugins\\";
CUtil::AddFileToFolder(basepath, m_url.GetHostName(), basepath);
CUtil::AddFileToFolder(basepath, m_url.GetFileName(), basepath);
CGUIControl* pControl = NULL;
int controlId = CONTROL_START_CONTROL;
TiXmlElement *setting = m_settings.GetPluginRoot()->FirstChildElement("setting");
while (setting)
{
const char *type = setting->Attribute("type");
const char *id = setting->Attribute("id");
CStdString values;
if (setting->Attribute("values"))
values = setting->Attribute("values");
CStdString lvalues;
if (setting->Attribute("lvalues"))
lvalues = setting->Attribute("lvalues");
CStdString entries;
if (setting->Attribute("entries"))
entries = setting->Attribute("entries");
CStdString label;
if (setting->Attribute("label") && atoi(setting->Attribute("label")) > 0)
label.Format("$LOCALIZE[%s]", setting->Attribute("label"));
else
label = setting->Attribute("label");
if (type)
{
if (strcmpi(type, "text") == 0 || strcmpi(type, "ipaddress") == 0 ||
strcmpi(type, "integer") == 0 || strcmpi(type, "video") == 0 ||
strcmpi(type, "music") == 0 || strcmpi(type, "pictures") == 0 ||
strcmpi(type, "folder") == 0 || strcmpi(type, "programs") == 0 ||
strcmpi(type, "files") == 0 || strcmpi(type, "action") == 0)
{
pControl = new CGUIButtonControl(*pOriginalButton);
if (!pControl) return;
((CGUIButtonControl *)pControl)->SettingsCategorySetTextAlign(XBFONT_CENTER_Y);
((CGUIButtonControl *)pControl)->SetLabel(label);
if (id)
((CGUIButtonControl *)pControl)->SetLabel2(m_settings.Get(id));
}
else if (strcmpi(type, "bool") == 0)
{
pControl = new CGUIRadioButtonControl(*pOriginalRadioButton);
if (!pControl) return;
((CGUIRadioButtonControl *)pControl)->SetLabel(label);
((CGUIRadioButtonControl *)pControl)->SetSelected(m_settings.Get(id) == "true");
}
else if (strcmpi(type, "enum") == 0 || strcmpi(type, "labelenum") == 0)
{
vector<CStdString> valuesVec;
vector<CStdString> entryVec;
pControl = new CGUISpinControlEx(*pOriginalSpin);
if (!pControl) return;
((CGUISpinControlEx *)pControl)->SetText(label);
if (!lvalues.IsEmpty())
CUtil::Tokenize(lvalues, valuesVec, "|");
else
CUtil::Tokenize(values, valuesVec, "|");
if (!entries.IsEmpty())
CUtil::Tokenize(entries, entryVec, "|");
for (unsigned int i = 0; i < valuesVec.size(); i++)
{
int iAdd = i;
if (entryVec.size() > i)
iAdd = atoi(entryVec[i]);
if (!lvalues.IsEmpty())
{
CStdString replace = g_localizeStringsTemp.Get(atoi(valuesVec[i]));
if (replace.IsEmpty())
replace = g_localizeStrings.Get(atoi(valuesVec[i]));
//.........这里部分代码省略.........