本文整理汇总了C++中CGUIDialog::Open方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUIDialog::Open方法的具体用法?C++ CGUIDialog::Open怎么用?C++ CGUIDialog::Open使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGUIDialog
的用法示例。
在下文中一共展示了CGUIDialog::Open方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnSettingAction
void CPVRActionListener::OnSettingAction(const CSetting *setting)
{
if (setting == nullptr)
return;
const std::string &settingId = setting->GetId();
if (settingId == CSettings::SETTING_PVRMANAGER_RESETDB)
{
CServiceBroker::GetPVRManager().GUIActions()->ResetPVRDatabase(false);
}
else if (settingId == CSettings::SETTING_EPG_RESETEPG)
{
CServiceBroker::GetPVRManager().GUIActions()->ResetPVRDatabase(true);
}
else if (settingId == CSettings::SETTING_PVRMANAGER_CHANNELMANAGER)
{
if (CServiceBroker::GetPVRManager().IsStarted())
{
CGUIDialog *dialog = g_windowManager.GetDialog(WINDOW_DIALOG_PVR_CHANNEL_MANAGER);
if (dialog)
dialog->Open();
}
}
else if (settingId == CSettings::SETTING_PVRMANAGER_GROUPMANAGER)
{
if (CServiceBroker::GetPVRManager().IsStarted())
{
CGUIDialog *dialog = g_windowManager.GetDialog(WINDOW_DIALOG_PVR_GROUP_MANAGER);
if (dialog)
dialog->Open();
}
}
else if (settingId == CSettings::SETTING_PVRMANAGER_CHANNELSCAN)
{
CServiceBroker::GetPVRManager().GUIActions()->StartChannelScan();
}
else if (settingId == CSettings::SETTING_PVRMENU_SEARCHICONS)
{
CServiceBroker::GetPVRManager().TriggerSearchMissingChannelIcons();
}
else if (settingId == CSettings::SETTING_PVRCLIENT_MENUHOOK)
{
CServiceBroker::GetPVRManager().GUIActions()->ProcessMenuHooks(CFileItemPtr());
}
}
示例2: TriggerOSD
void CGameWindowFullScreen::TriggerOSD()
{
CGUIDialog *pOSD = GetOSD();
if (pOSD != nullptr)
{
if (!pOSD->IsDialogRunning())
pOSD->Open();
}
}
示例3: ToggleOSD
void CGameWindowFullScreen::ToggleOSD()
{
CGUIDialog *pOSD = GetOSD();
if (pOSD != nullptr)
{
if (pOSD->IsDialogRunning())
pOSD->Close();
else
pOSD->Open();
}
MarkDirtyRegion();
}
示例4: OnMouseEvent
EVENT_RESULT CGUIWindowVisualisation::OnMouseEvent(const CPoint &point, const CMouseEvent &event)
{
if (event.m_id == ACTION_MOUSE_RIGHT_CLICK)
{ // no control found to absorb this click - go back to GUI
OnAction(CAction(ACTION_SHOW_GUI));
return EVENT_RESULT_HANDLED;
}
if (event.m_id == ACTION_GESTURE_NOTIFY)
return EVENT_RESULT_UNHANDLED;
if (event.m_id != ACTION_MOUSE_MOVE || event.m_offsetX || event.m_offsetY)
{ // some other mouse action has occurred - bring up the OSD
CGUIDialog *pOSD = CServiceBroker::GetGUI()->GetWindowManager().GetDialog(WINDOW_DIALOG_MUSIC_OSD);
if (pOSD)
{
pOSD->SetAutoClose(3000);
pOSD->Open();
}
return EVENT_RESULT_HANDLED;
}
return EVENT_RESULT_UNHANDLED;
}
示例5: OnApplicationMessage
void CGUIWindowManager::OnApplicationMessage(ThreadMessage* pMsg)
{
switch (pMsg->dwMessage)
{
case TMSG_GUI_DIALOG_OPEN:
{
if (pMsg->lpVoid)
static_cast<CGUIDialog*>(pMsg->lpVoid)->Open(pMsg->strParam);
else
{
CGUIDialog* pDialog = static_cast<CGUIDialog*>(GetWindow(pMsg->param1));
if (pDialog)
pDialog->Open(pMsg->strParam);
}
}
break;
case TMSG_GUI_WINDOW_CLOSE:
{
CGUIWindow *window = static_cast<CGUIWindow *>(pMsg->lpVoid);
if (window)
window->Close((pMsg->param1 & 0x1) ? true : false, pMsg->param1, (pMsg->param1 & 0x2) ? true : false);
}
break;
case TMSG_GUI_ACTIVATE_WINDOW:
{
ActivateWindow(pMsg->param1, pMsg->params, pMsg->param2 > 0);
}
break;
case TMSG_GUI_ADDON_DIALOG:
{
if (pMsg->lpVoid)
{ // TODO: This is ugly - really these python dialogs should just be normal XBMC dialogs
static_cast<ADDON::CGUIAddonWindowDialog *>(pMsg->lpVoid)->Show_Internal(pMsg->param2 > 0);
}
}
break;
#ifdef HAS_PYTHON
case TMSG_GUI_PYTHON_DIALOG:
{
// This hack is not much better but at least I don't need to make ApplicationMessenger
// know about Addon (Python) specific classes.
CAction caction(pMsg->param1);
static_cast<CGUIWindow*>(pMsg->lpVoid)->OnAction(caction);
}
break;
#endif
case TMSG_GUI_ACTION:
{
if (pMsg->lpVoid)
{
CAction *action = static_cast<CAction *>(pMsg->lpVoid);
if (pMsg->param1 == WINDOW_INVALID)
g_application.OnAction(*action);
else
{
CGUIWindow *pWindow = GetWindow(pMsg->param1);
if (pWindow)
pWindow->OnAction(*action);
else
CLog::Log(LOGWARNING, "Failed to get window with ID %i to send an action to", pMsg->param1);
}
delete action;
}
}
break;
case TMSG_GUI_MESSAGE:
if (pMsg->lpVoid)
{
CGUIMessage *message = static_cast<CGUIMessage *>(pMsg->lpVoid);
SendMessage(*message, pMsg->param1);
delete message;
}
break;
case TMSG_GUI_DIALOG_YESNO:
if (!pMsg->lpVoid && pMsg->param1 < 0 && pMsg->param2 < 0)
return;
auto dialog = static_cast<CGUIDialogYesNo*>(GetWindow(WINDOW_DIALOG_YES_NO));
if (!dialog)
return;
if (pMsg->lpVoid)
pMsg->SetResult(dialog->ShowAndGetInput(*static_cast<HELPERS::DialogYesNoMessage*>(pMsg->lpVoid)));
else
{
HELPERS::DialogYesNoMessage options;
options.heading = pMsg->param1;
options.text = pMsg->param2;
pMsg->SetResult(dialog->ShowAndGetInput(options));
}
break;
}
//.........这里部分代码省略.........
示例6: OnApplicationMessage
void CGUIWindowManager::OnApplicationMessage(ThreadMessage* pMsg)
{
switch (pMsg->dwMessage)
{
case TMSG_GUI_DIALOG_OPEN:
{
if (pMsg->lpVoid)
static_cast<CGUIDialog*>(pMsg->lpVoid)->Open();
else
{
CGUIDialog* pDialog = static_cast<CGUIDialog*>(GetWindow(pMsg->param1));
if (pDialog)
pDialog->Open();
}
}
break;
case TMSG_GUI_WINDOW_CLOSE:
{
CGUIWindow *window = static_cast<CGUIWindow *>(pMsg->lpVoid);
if (window)
window->Close(pMsg->param1 & 0x1 ? true : false, pMsg->param1, pMsg->param1 & 0x2 ? true : false);
}
break;
case TMSG_GUI_ACTIVATE_WINDOW:
{
ActivateWindow(pMsg->param1, pMsg->params, pMsg->param2 > 0);
}
break;
case TMSG_GUI_ADDON_DIALOG:
{
if (pMsg->lpVoid)
{ // TODO: This is ugly - really these python dialogs should just be normal XBMC dialogs
static_cast<ADDON::CGUIAddonWindowDialog *>(pMsg->lpVoid)->Show_Internal(pMsg->param2 > 0);
}
}
break;
#ifdef HAS_PYTHON
case TMSG_GUI_PYTHON_DIALOG:
{
// This hack is not much better but at least I don't need to make ApplicationMessenger
// know about Addon (Python) specific classes.
CAction caction(pMsg->param1);
static_cast<CGUIWindow*>(pMsg->lpVoid)->OnAction(caction);
}
break;
#endif
case TMSG_GUI_ACTION:
{
if (pMsg->lpVoid)
{
CAction *action = static_cast<CAction *>(pMsg->lpVoid);
if (pMsg->param1 == WINDOW_INVALID)
g_application.OnAction(*action);
else
{
CGUIWindow *pWindow = GetWindow(pMsg->param1);
if (pWindow)
pWindow->OnAction(*action);
else
CLog::Log(LOGWARNING, "Failed to get window with ID %i to send an action to", pMsg->param1);
}
delete action;
}
}
break;
case TMSG_GUI_MESSAGE:
{
if (pMsg->lpVoid)
{
CGUIMessage *message = static_cast<CGUIMessage *>(pMsg->lpVoid);
SendMessage(*message, pMsg->param1);
delete message;
}
}
break;
}
}