本文整理汇总了C++中CGUIDialogContextMenu::GetHeight方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUIDialogContextMenu::GetHeight方法的具体用法?C++ CGUIDialogContextMenu::GetHeight怎么用?C++ CGUIDialogContextMenu::GetHeight使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGUIDialogContextMenu
的用法示例。
在下文中一共展示了CGUIDialogContextMenu::GetHeight方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ShowAndGetChoice
int CGUIDialogContextMenu::ShowAndGetChoice(const vector<CStdString> &choices, const CPoint &pos)
{
// no choices??
if (choices.size() == 0)
return 0;
// popup the context menu
CGUIDialogContextMenu *pMenu = (CGUIDialogContextMenu *)m_gWindowManager.GetWindow(WINDOW_DIALOG_CONTEXT_MENU);
if (pMenu)
{
// load our menu
pMenu->Initialize();
for (unsigned int i = 0; i < choices.size(); i++)
pMenu->AddButton(choices[i]);
// position it correctly
pMenu->SetPosition(pos.x - pMenu->GetWidth() / 2, pos.y - pMenu->GetHeight() / 2);
pMenu->DoModal();
if (pMenu->GetButton() > 0)
return pMenu->GetButton();
}
return 0;
}
示例2: SelectPlayerDialog
EPLAYERCORES CPlayerCoreFactory::SelectPlayerDialog(VECPLAYERCORES &vecCores, float posX, float posY)
{
CGUIDialogContextMenu *pMenu = (CGUIDialogContextMenu *)m_gWindowManager.GetWindow(WINDOW_DIALOG_CONTEXT_MENU);
// Reset menu
pMenu->Initialize();
// Add all possible players
auto_aptr<int> btn_Cores(NULL);
if( vecCores.size() > 0 )
{
btn_Cores = new int[ vecCores.size() ];
btn_Cores[0] = 0;
CStdString strCaption;
//Add default player
strCaption = CPlayerCoreFactory::GetPlayerName(vecCores[0]);
strCaption += " (";
strCaption += g_localizeStrings.Get(13278);
strCaption += ")";
btn_Cores[0] = pMenu->AddButton(strCaption);
//Add all other players
for( unsigned int i = 1; i < vecCores.size(); i++ )
{
strCaption = CPlayerCoreFactory::GetPlayerName(vecCores[i]);
btn_Cores[i] = pMenu->AddButton(strCaption);
}
}
// Display menu
if (posX && posY)
pMenu->SetPosition(posX - pMenu->GetWidth() / 2, posY - pMenu->GetHeight() / 2);
else
pMenu->CenterWindow();
pMenu->DoModal();
//Check what player we selected
int btnid = pMenu->GetButton();
for( unsigned int i = 0; i < vecCores.size(); i++ )
{
if( btnid == btn_Cores[i] )
{
return vecCores[i];
}
}
return EPC_NONE;
}
示例3: OnPopupMenu
bool CGUIMediaWindow::OnPopupMenu(int iItem)
{
// popup the context menu
// grab our context menu
CContextButtons buttons;
GetContextButtons(iItem, buttons);
if (buttons.size())
{
// mark the item
if (iItem >= 0 && iItem < m_vecItems->Size())
m_vecItems->Get(iItem)->Select(true);
CGUIDialogContextMenu *pMenu = (CGUIDialogContextMenu *)m_gWindowManager.GetWindow(WINDOW_DIALOG_CONTEXT_MENU);
if (!pMenu) return false;
// load our menu
pMenu->Initialize();
// add the buttons and execute it
for (CContextButtons::iterator it = buttons.begin(); it != buttons.end(); it++)
pMenu->AddButton((*it).second);
// position it correctly
float posX = 200;
float posY = 100;
const CGUIControl *pList = GetControl(CONTROL_VIEW_START);
if (pList)
{
posX = pList->GetXPosition() + pList->GetWidth() / 2;
posY = pList->GetYPosition() + pList->GetHeight() / 2;
}
pMenu->SetPosition(posX - pMenu->GetWidth() / 2, posY - pMenu->GetHeight() / 2);
pMenu->DoModal();
// translate our button press
CONTEXT_BUTTON btn = CONTEXT_BUTTON_CANCELLED;
if (pMenu->GetButton() > 0 && pMenu->GetButton() <= (int)buttons.size())
btn = buttons[pMenu->GetButton() - 1].first;
// deselect our item
if (iItem >= 0 && iItem < m_vecItems->Size())
m_vecItems->Get(iItem)->Select(false);
if (btn != CONTEXT_BUTTON_CANCELLED)
return OnContextButton(iItem, btn);
}
return false;
}
示例4: OnPopupMenu
void CGUIDialogFavourites::OnPopupMenu(int item)
{
if (item < 0 || item >= m_favourites->Size())
return;
CGUIDialogContextMenu *pMenu = (CGUIDialogContextMenu *)m_gWindowManager.GetWindow(WINDOW_DIALOG_CONTEXT_MENU);
if (pMenu)
{
// highlight the item
(*m_favourites)[item]->Select(true);
// initialize the positioning
float posX = 0;
float posY = 0;
const CGUIControl *pList = GetControl(FAVOURITES_LIST);
if (pList)
{
posX = pList->GetXPosition() + pList->GetWidth() / 2;
posY = pList->GetYPosition() + pList->GetHeight() / 2;
}
pMenu->Initialize();
int btn_MoveUp = m_favourites->Size() > 1 ? pMenu->AddButton(13332) : 0;
int btn_MoveDown = m_favourites->Size() > 1 ? pMenu->AddButton(13333) : 0;
int btn_Remove = pMenu->AddButton(15015);
int btn_Rename = pMenu->AddButton(118);
pMenu->SetPosition(GetPosX() + posX - pMenu->GetWidth() / 2, GetPosY() + posY - pMenu->GetHeight() / 2);
pMenu->DoModal(GetID());
int button = pMenu->GetButton();
// unhighlight the item
(*m_favourites)[item]->Select(false);
if (button == btn_MoveUp)
OnMoveItem(item, -1);
else if (button == btn_MoveDown)
OnMoveItem(item, 1);
else if (button == btn_Remove)
OnDelete(item);
else if (button == btn_Rename)
OnRename(item);
}
}
示例5: SourcesMenu
bool CGUIDialogContextMenu::SourcesMenu(const CStdString &strType, const CFileItem *item, float posX, float posY)
{
// TODO: This should be callable even if we don't have any valid items
if (!item)
return false;
// Get the share object from our file object
CMediaSource *share = GetShare(strType, item);
// popup the context menu
CGUIDialogContextMenu *pMenu = (CGUIDialogContextMenu *)m_gWindowManager.GetWindow(WINDOW_DIALOG_CONTEXT_MENU);
if (pMenu)
{
// load our menu
pMenu->Initialize();
// grab our context menu
CContextButtons buttons;
GetContextButtons(strType, share, buttons);
// add the buttons and execute it
for (CContextButtons::iterator it = buttons.begin(); it != buttons.end(); it++)
pMenu->AddButton((*it).second);
// position it correctly
pMenu->SetPosition(posX - pMenu->GetWidth() / 2, posY - pMenu->GetHeight() / 2);
pMenu->DoModal();
// translate our button press
CONTEXT_BUTTON btn = CONTEXT_BUTTON_CANCELLED;
if (pMenu->GetButton() > 0 && pMenu->GetButton() <= (int)buttons.size())
btn = buttons[pMenu->GetButton() - 1].first;
if (btn != CONTEXT_BUTTON_CANCELLED)
return OnContextButton(strType, share, btn);
}
return false;
}
示例6: OnPopupMenu
bool CGUIWindowLoginScreen::OnPopupMenu(int iItem)
{
if ( iItem < 0 || iItem >= m_vecItems->Size() ) return false;
// calculate our position
float posX = 200, posY = 100;
const CGUIControl *pList = GetControl(CONTROL_BIG_LIST);
if (pList)
{
posX = pList->GetXPosition() + pList->GetWidth() / 2;
posY = pList->GetYPosition() + pList->GetHeight() / 2;
}
bool bSelect = m_vecItems->Get(iItem)->IsSelected();
// mark the item
m_vecItems->Get(iItem)->Select(true);
// popup the context menu
CGUIDialogContextMenu *pMenu = (CGUIDialogContextMenu *)m_gWindowManager.GetWindow(WINDOW_DIALOG_CONTEXT_MENU);
if (!pMenu) return false;
// initialize the menu (loaded on demand)
pMenu->Initialize();
int btn_EditProfile = pMenu->AddButton(20067);
int btn_DeleteProfile = 0;
int btn_ResetLock = 0;
/* if (m_viewControl.GetSelectedItem() != 0) // no deleting the default profile
btn_DeleteProfile = pMenu->AddButton(117); */
if (iItem == 0 && g_passwordManager.iMasterLockRetriesLeft == 0)
btn_ResetLock = pMenu->AddButton(12334);
// position it correctly
pMenu->SetPosition(posX - pMenu->GetWidth() / 2, posY - pMenu->GetHeight() / 2);
pMenu->DoModal();
int btnid = pMenu->GetButton();
if (btnid > 0)
{
if (btnid == btn_ResetLock)
{
if (g_passwordManager.CheckLock(g_settings.m_vecProfiles[0].getLockMode(),g_settings.m_vecProfiles[0].getLockCode(),20075))
g_passwordManager.iMasterLockRetriesLeft = g_guiSettings.GetInt("masterlock.maxretries");
else // be inconvenient
g_application.getApplicationMessenger().Shutdown();
return true;
}
if (!g_passwordManager.IsMasterLockUnlocked(true))
return false;
if (btnid == btn_EditProfile)
CGUIDialogProfileSettings::ShowForProfile(m_viewControl.GetSelectedItem());
if (btnid == btn_DeleteProfile)
{
int iDelete = m_viewControl.GetSelectedItem();
m_viewControl.Clear();
g_settings.DeleteProfile(iDelete);
Update();
m_viewControl.SetSelectedItem(0);
}
}
//NOTE: this can potentially (de)select the wrong item if the filelisting has changed because of an action above.
if (iItem < (int)g_settings.m_vecProfiles.size())
m_vecItems->Get(iItem)->Select(bSelect);
return (btnid > 0);
}
示例7: OnPopupMenu
void CGUIWindowSettingsProfile::OnPopupMenu(int iItem)
{
// calculate our position
float posX = 200;
float posY = 100;
const CGUIControl *pList = GetControl(CONTROL_PROFILES);
if (pList)
{
posX = pList->GetXPosition() + pList->GetWidth() / 2;
posY = pList->GetYPosition() + pList->GetHeight() / 2;
}
// popup the context menu
CGUIDialogContextMenu *pMenu = (CGUIDialogContextMenu *)m_gWindowManager.GetWindow(WINDOW_DIALOG_CONTEXT_MENU);
if (!pMenu) return ;
// load our menu
pMenu->Initialize();
if (iItem == (int)g_settings.m_vecProfiles.size())
return;
// add the needed buttons
int btnLoad = pMenu->AddButton(20092); // load profile
int btnDelete=0;
if (iItem > 0)
btnDelete = pMenu->AddButton(117); // Delete
// position it correctly
pMenu->SetPosition(posX - pMenu->GetWidth() / 2, posY - pMenu->GetHeight() / 2);
pMenu->DoModal();
int iButton = pMenu->GetButton();
if (iButton == btnLoad)
{
unsigned iCtrlID = GetFocusedControlID();
g_application.StopPlaying();
CGUIMessage msg2(GUI_MSG_ITEM_SELECTED, m_gWindowManager.GetActiveWindow(), iCtrlID);
g_graphicsContext.SendMessage(msg2);
g_application.getNetwork().NetworkMessage(CNetwork::SERVICES_DOWN,1);
#ifdef HAS_XBOX_NETWORK
g_network.Deinitialize();
#endif
bool bOldMaster = g_passwordManager.bMasterUser;
g_passwordManager.bMasterUser = true;
g_settings.LoadProfile(iItem);
g_application.StartEventServer(); // event server could be needed in some situations
g_settings.m_vecProfiles[g_settings.m_iLastLoadedProfileIndex].setDate();
g_settings.SaveProfiles(PROFILES_FILE); // to set last loaded
g_passwordManager.bMasterUser = bOldMaster;
#ifdef HAS_XBOX_NETWORK
g_network.Initialize(g_guiSettings.GetInt("network.assignment"),
g_guiSettings.GetString("network.ipaddress").c_str(),
g_guiSettings.GetString("network.subnet").c_str(),
g_guiSettings.GetString("network.gateway").c_str(),
g_guiSettings.GetString("network.dns").c_str());
#endif
CGUIMessage msg3(GUI_MSG_SETFOCUS, m_gWindowManager.GetActiveWindow(), iCtrlID, 0);
OnMessage(msg3);
CGUIMessage msgSelect(GUI_MSG_ITEM_SELECT, m_gWindowManager.GetActiveWindow(), iCtrlID, msg2.GetParam1(), msg2.GetParam2());
OnMessage(msgSelect);
g_weatherManager.Refresh();
}
if (iButton == btnDelete)
{
if (g_settings.DeleteProfile(iItem))
iItem--;
}
LoadList();
CGUIMessage msg(GUI_MSG_ITEM_SELECT, GetID(),CONTROL_PROFILES,iItem);
OnMessage(msg);
}