本文整理汇总了C++中CGUIListContainer::SetSingleSelectedItem方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUIListContainer::SetSingleSelectedItem方法的具体用法?C++ CGUIListContainer::SetSingleSelectedItem怎么用?C++ CGUIListContainer::SetSingleSelectedItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGUIListContainer
的用法示例。
在下文中一共展示了CGUIListContainer::SetSingleSelectedItem方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnAction
bool CGUIWindowBoxeeWizardNetwork::OnAction(const CAction &action)
{
int iControl = GetFocusedControlID();
if (action.wID == ACTION_PREVIOUS_MENU || (action.wID == ACTION_SELECT_ITEM && iControl == CONTROL_BACK))
{
Close();
}
else if (action.wID == ACTION_SELECT_ITEM && iControl == CONTROL_INTERFACES)
{
ShowWirelessNetworksIfNeeded();
CGUIListContainer *pList = (CGUIListContainer *)GetControl(CONTROL_INTERFACES);
if (pList)
pList->SetSingleSelectedItem();
return true;
}
else if (action.wID == ACTION_MOVE_LEFT && iControl == CONTROL_WIRELESS)
{
ShowInterfaces();
SET_CONTROL_FOCUS(CONTROL_INTERFACES, 0);
CGUIListContainer *pList = (CGUIListContainer *)GetControl(CONTROL_WIRELESS);
if (pList)
pList->SetSingleSelectedItem();
return true;
}
else if (action.wID == ACTION_SELECT_ITEM && iControl == CONTROL_WIRELESS)
{
ShowPasswordIfNeeded();
CGUIListContainer *pList = (CGUIListContainer *)GetControl(CONTROL_WIRELESS);
if (pList)
pList->SetSingleSelectedItem();
return true;
}
else if (action.wID == ACTION_SELECT_ITEM && iControl == CONTROL_PASSWORD)
{
CGUIButtonControl* passwordButton = (CGUIButtonControl*) GetControl(iControl);
CStdString password = passwordButton->GetLabel();
if (CGUIDialogKeyboard::ShowAndGetInput(password, g_localizeStrings.Get(789), false))
{
passwordButton->SetLabel(password);
CONTROL_ENABLE(CONTROL_NEXT);
SET_CONTROL_FOCUS(CONTROL_NEXT, 0);
}
return true;
}
else if (action.wID == ACTION_SELECT_ITEM && iControl == CONTROL_ENC)
{
CGUIButtonControl* encSelectionButton = (CGUIButtonControl*) GetControl(CONTROL_ENC_SELECTION);
CGUIMessage msg(GUI_MSG_ITEM_SELECTED, GetID(), CONTROL_ENC);
OnMessage(msg);
int iItem = msg.GetParam1();
encSelectionButton->SetLabel(ENC_LABELS[iItem]);
SET_CONTROL_HIDDEN(CONTROL_ENC);
if (iItem == ENC_NONE)
{
SET_CONTROL_HIDDEN(CONTROL_PASSWORD_GROUP);
SET_CONTROL_FOCUS(CONTROL_NEXT, 0);
}
else
{
SET_CONTROL_FOCUS(CONTROL_PASSWORD, 0);
}
return true;
}
else if (action.wID == ACTION_MOVE_LEFT && (iControl == CONTROL_ENC_SELECTION || iControl == CONTROL_PASSWORD))
{
SET_CONTROL_HIDDEN(CONTROL_ENC_GROUP);
SET_CONTROL_HIDDEN(CONTROL_PASSWORD_GROUP);
SET_CONTROL_FOCUS(CONTROL_WIRELESS, 0);
return true;
}
else if (action.wID == ACTION_MOVE_DOWN && iControl == CONTROL_ENC_SELECTION)
{
if (GetControl(CONTROL_PASSWORD_GROUP)->IsVisible())
{
SET_CONTROL_FOCUS(CONTROL_PASSWORD, 0);
}
else if (!GetControl(CONTROL_NEXT)->IsDisabled())
{
SET_CONTROL_FOCUS(CONTROL_NEXT, 0);
}
return true;
}
else if (action.wID == ACTION_MOVE_UP && (iControl == CONTROL_NEXT || iControl == CONTROL_BACK))
{
if (GetControl(CONTROL_PASSWORD_GROUP)->IsVisible())
{
SET_CONTROL_FOCUS(CONTROL_PASSWORD, 0);
}
else if (GetControl(CONTROL_ENC_GROUP)->IsVisible())
{
SET_CONTROL_FOCUS(CONTROL_ENC_SELECTION, 0);
}
else
{
//.........这里部分代码省略.........
示例2: ShowResolutionsList
void CGUIWindowBoxeeWizardResolution::ShowResolutionsList(bool HD, XMode* selectedMode)
{
// Set either HD/SD according to the selected mode
if (selectedMode != NULL)
{
CGUIMessage msg(GUI_MSG_ITEM_SELECT, GetID(), CONTROL_SD_HD, IsResolutionHD(*selectedMode) ? VALUE_HD : VALUE_SD);
OnMessage(msg);
}
SET_CONTROL_VISIBLE(CONTROL_RESOLUTIONS);
// Clear the list first
CGUIMessage msgReset(GUI_MSG_LABEL_RESET, GetID(), CONTROL_RESOLUTIONS);
OnMessage(msgReset);
for (unsigned int i = 0; i < m_resolutions.size(); i++)
delete m_resolutions[i];
m_resolutions.clear();
m_resolutionNames.clear();
// Go over all the resolutions and display them
int iSelectedItem = 0;
XOutput output = GetCurrentOutput();
for (unsigned int i = 0; i < output.modes.size(); i++)
{
// skip modes with similar names (but different Hz)
//if (i > 0 && output.modes[i].name == output.modes[i-1].name)
// continue;
if (IsResolutionHD(output.modes[i]) && IsResolutionValid(output.modes[i]))
{
CStdString name;
name.Format("%s / %.0fHz", output.modes[i].name.c_str(), output.modes[i].hz);
CFileItem *item = new CFileItem(name);
item->SetProperty("resolutionName", output.modes[i].name);
item->SetProperty("resolutionHz", (int) output.modes[i].hz);
CGUIMessage msg(GUI_MSG_LABEL_ADD, GetID(), CONTROL_RESOLUTIONS, 0, 0, item);
OnMessage(msg);
m_resolutions.push_back(item);
CStdString resolutionName;
resolutionName.Format("%s: %s @ %.2fHz", output.name.c_str(), output.modes[i].name, output.modes[i].hz);
m_resolutionNames.push_back(resolutionName);
CStdString modeHz;
modeHz.Format("%.2f", output.modes[i].hz);
CStdString selectedHz;
selectedHz.Format("%.2f", selectedMode->hz);
if (selectedMode != NULL && output.modes[i].name == selectedMode->name && modeHz == selectedHz)
iSelectedItem = m_resolutions.size() - 1;
}
}
CGUIMessage msg(GUI_MSG_ITEM_SELECT, GetID(), CONTROL_RESOLUTIONS, iSelectedItem);
OnMessage(msg);
CGUIListContainer *pList = (CGUIListContainer *)GetControl(CONTROL_RESOLUTIONS);
if (pList)
pList->SetSingleSelectedItem();
SET_CONTROL_FOCUS(CONTROL_RESOLUTIONS, 0);
}
示例3: OnInitWindow
void CGUIWindowBoxeeWizardResolution::OnInitWindow()
{
CGUIWindow::OnInitWindow();
delete m_xrandr;
m_xrandr = new CXRandR();
if (!m_wizardCompletedOnce)
{
CONTROL_DISABLE(CONTROL_NEXT);
}
if (m_afterResolutionChange)
{
CGUIListContainer *pList = (CGUIListContainer *)GetControl(CONTROL_SD_HD);
if (pList)
pList->SetSingleSelectedItem();
ShowResolutionsList(IsResolutionHD(m_newResolution), &m_newResolution);
CStdString origHz;
origHz.Format("%.2f", m_originalResolution.hz);
CStdString newHz;
newHz.Format("%.2f", m_newResolution.hz);
if (m_newResolution.name != m_originalResolution.name || origHz != newHz)
{
CGUIDialogYesNo *pDlgYesNo = (CGUIDialogYesNo*)m_gWindowManager.GetWindow(WINDOW_DIALOG_YES_NO);
pDlgYesNo->SetHeading("Resolution Change");
pDlgYesNo->SetLine(0, "Do you want to keep this resolution");
pDlgYesNo->SetLine(1, "(will revert automatically in 6 seconds)");
pDlgYesNo->SetLine(2, "");
pDlgYesNo->SetLine(3, "");
pDlgYesNo->SetChoice(0, "Revert");
pDlgYesNo->SetChoice(1, "Keep");
pDlgYesNo->SetDefaultChoice(0);
pDlgYesNo->SetAutoClose(6000);
pDlgYesNo->DoModal();
if (!pDlgYesNo->IsConfirmed())
{
m_afterResolutionChange = false;
// Set the requested resolution
g_graphicsContext.SetVideoResolution(m_originalResolutionId, TRUE);
// Reload the fonts to they will scale correctly
g_fontManager.ReloadTTFFonts();
// Close the dialog and restart it so it will re-set the size of the labels to
// fit for the new resolutions
Close();
m_gWindowManager.ActivateWindow(WINDOW_BOXEE_WIZARD_RESOLUTION);
}
else
{
int xbmcResolutionId = GetXBMCResolutionId();
if (xbmcResolutionId != -1)
{
g_guiSettings.SetInt("videoscreen.resolution", xbmcResolutionId);
g_guiSettings.SetInt("videoplayer.displayresolution", xbmcResolutionId);
g_guiSettings.SetInt("pictures.displayresolution", xbmcResolutionId);
g_settings.Save();
delete m_xrandr;
m_xrandr = new CXRandR();
}
m_wizardCompletedOnce = true;
CONTROL_ENABLE(CONTROL_NEXT);
SET_CONTROL_FOCUS(CONTROL_NEXT, 0);
}
}
else
{
m_wizardCompletedOnce = true;
CONTROL_ENABLE(CONTROL_NEXT);
SET_CONTROL_FOCUS(CONTROL_NEXT, 0);
}
}
else if (m_resolutionChangedOnce || m_wizardCompletedOnce)
{
XOutput output = GetCurrentOutput();
XMode currentResolution = m_xrandr->GetCurrentMode(output.name);
ShowResolutionsList(IsResolutionHD(currentResolution), ¤tResolution);
}
else
{
XOutput output = GetCurrentOutput();
XMode currentResolution = m_xrandr->GetCurrentMode(output.name);
CGUIMessage msg(GUI_MSG_ITEM_SELECT, GetID(), CONTROL_SD_HD, IsResolutionHD(currentResolution) ? VALUE_HD : VALUE_SD);
OnMessage(msg);
}
}
示例4: OnAction
bool CGUIWindowBoxeeWizardResolution::OnAction(const CAction &action)
{
int iControl = GetFocusedControlID();
if (action.wID == ACTION_PREVIOUS_MENU || (action.wID == ACTION_SELECT_ITEM && iControl == CONTROL_BACK))
{
Close();
return true;
}
else if (action.wID == ACTION_MOVE_LEFT && iControl == CONTROL_RESOLUTIONS)
{
SET_CONTROL_HIDDEN(CONTROL_RESOLUTIONS);
SET_CONTROL_FOCUS(CONTROL_SD_HD, 0);
return true;
}
else if (action.wID == ACTION_SELECT_ITEM && iControl == CONTROL_SD_HD)
{
SET_CONTROL_VISIBLE(CONTROL_RESOLUTIONS);
CGUIMessage msg(GUI_MSG_ITEM_SELECTED, GetID(), CONTROL_SD_HD);
OnMessage(msg);
int iItem = msg.GetParam1();
CGUIListContainer *pList = (CGUIListContainer *)GetControl(CONTROL_SD_HD);
if (pList)
pList->SetSingleSelectedItem();
XOutput output = GetCurrentOutput();
XMode currentResolution = m_xrandr->GetCurrentMode(output.name);
ShowResolutionsList(iItem == VALUE_HD, ¤tResolution);
return true;
}
else if (action.wID == ACTION_SELECT_ITEM && iControl == CONTROL_RESOLUTIONS)
{
CGUIMessage msg(GUI_MSG_ITEM_SELECTED, GetID(), CONTROL_RESOLUTIONS);
OnMessage(msg);
int iItem = msg.GetParam1();
CGUIListContainer *pList = (CGUIListContainer *)GetControl(CONTROL_RESOLUTIONS);
if (pList)
pList->SetSingleSelectedItem();
XOutput output = GetCurrentOutput();
m_originalResolution = m_xrandr->GetCurrentMode(output.name);
m_originalResolutionId = g_graphicsContext.GetVideoResolution();
for (unsigned int i = 0; i < output.modes.size(); i++)
{
if (output.modes[i].name == m_resolutions[iItem]->GetProperty("resolutionName") &&
(int)output.modes[i].hz == m_resolutions[iItem]->GetPropertyInt("resolutionHz"))
{
m_newResolution = output.modes[i];
CStdString origHz;
origHz.Format("%.2f", m_originalResolution.hz);
CStdString newHz;
newHz.Format("%.2f", m_newResolution.hz);
if (m_newResolution.name != m_originalResolution.name || newHz != origHz)
{
// Set the requested resolution
RESOLUTION res = (RESOLUTION) GetXBMCResolutionId();
g_graphicsContext.SetVideoResolution(res, TRUE);
// Reload the fonts to they will scale correctly
g_fontManager.ReloadTTFFonts();
}
m_afterResolutionChange = true;
m_resolutionChangedOnce = true;
// Close the dialog and restart it so it will re-set the size of the labels to
// fit for the new resolutions
Close();
m_gWindowManager.ActivateWindow(WINDOW_BOXEE_WIZARD_RESOLUTION);
break;
}
}
return true;
}
else if (action.wID == ACTION_MOVE_UP && (iControl == CONTROL_NEXT || iControl == CONTROL_BACK))
{
if (GetControl(CONTROL_RESOLUTIONS)->IsVisible())
{
SET_CONTROL_FOCUS(CONTROL_RESOLUTIONS, 0);
}
else
{
SET_CONTROL_FOCUS(CONTROL_SD_HD, 0);
}
return true;
}
return CGUIWindow::OnAction(action);
}