int CGUIWindowFileManager::GetSelectedItem(int iControl) { if (iControl < 0 || iControl > 1) return -1; CGUIListContainer *pControl = (CGUIListContainer *)GetControl(iControl + CONTROL_LEFT_LIST); if (!pControl || !m_vecItems[iControl]->Size()) return -1; return pControl->GetSelectedItem(); }
bool CGUIDialogVisualisationPresetList::OnMessage(CGUIMessage &message) { switch (message.GetMessage()) { case GUI_MSG_CLICKED: { if (message.GetSenderId() == CONTROL_LIST && (message.GetParam1() == ACTION_SELECT_ITEM || message.GetParam1() == ACTION_MOUSE_LEFT_CLICK)) { //clicked - ask for the preset to be changed to the new one CGUIListContainer *pList = (CGUIListContainer *)GetControl(CONTROL_LIST); if (pList) { int iItem = pList->GetSelectedItem(); if (m_viz) m_viz->OnAction(VIS_ACTION_LOAD_PRESET, (void *)&iItem); } return true; } } break; case GUI_MSG_WINDOW_INIT: { CGUIDialog::OnMessage(message); CGUIMessage msg(GUI_MSG_GET_VISUALISATION, 0, 0); g_windowManager.SendMessage(msg); SetVisualisation((CVisualisation*)msg.GetPointer()); return true; } break; case GUI_MSG_WINDOW_DEINIT: case GUI_MSG_VISUALISATION_UNLOADING: { m_viz = NULL; CGUIMessage msg(GUI_MSG_LABEL_RESET, GetID(), CONTROL_LIST); OnMessage(msg); Update(); } break; case GUI_MSG_VISUALISATION_LOADED: { SetVisualisation((CVisualisation*)message.GetPointer()); } break; } return CGUIDialog::OnMessage(message); }