void EditorLevelChoice::ProcessEvents(SDL_Event const & event) { if (event.type == SDL_QUIT) { SetDone(); } if (event.type == SDL_KEYDOWN) { SDLKey key = event.key.keysym.sym; if (key == SDLK_ESCAPE) { SetNextAppState(AppStatePtr(new MainMenu)); SetDone(); } else if (key == SDLK_LEFT) { } else if (key == SDLK_RIGHT) { } else if (key == SDLK_UP) { m_level_list->SelectPrev(); } else if (key == SDLK_DOWN) { m_level_list->SelectNext(); } else if (key == SDLK_RETURN && m_level_list->HasSelection()) { if (m_level_list->SelectedId() == 0) { /* * TODO: Before we open the editor, we should ask for level's name. */ std::string level_name = "new"; EditLevel(level_name); } else { EditLevel(m_levels.at(m_level_list->SelectedId())); } } } }
int CMMDesktop::Keyboard(UINT ch, UINT state) { if(MMmode==1){ if (KRKAL->IsPaused()) { SAFE_DELETE(levelIntro); KRKAL->ResumeGame(); } else { switch(ch) { case VK_ESCAPE: SAFE_DELETE(KerMain); ShowMainMenu(); if(KerErrorFiles) if(KerErrorFiles->WasError) KerErrorFiles->ShowAllLogs(0,0,640,480); break; case VK_F4: mainGUI->Exit(); break; } } }else{ switch(ch) { case VK_F1: // GetSelectedLevel(); mainGUI->StartScriptEditor(); break; case VK_F2: EditLevel(); break; case VK_F4: mainGUI->Exit(); break; case 'L': if(mainGUI->key_ctrl) KerErrorFiles->ShowAllLogs(0,40,640,200); break; case 'C': if(mainGUI->key_ctrl) #ifdef FILE_TO_COMPILE compiler->TestComp(FILE_TO_COMPILE); #else compiler->TestComp("test_0001_FFFF_0001_0001.kc"); #endif break; case 'R': if(mainGUI->key_ctrl) { CGUIFileBrowser* fb = new CGUIFileBrowser(0,0,300,400);//,"$KRKAL$","Krkal:"); fb->AddRootItem("$KRKAL$","Krkal:"); fb->AddRootItem("$SCRIPTS$","Skriptíky:"); fb->AddRootItem("$LEVELS$","Levlíky:"); fb->UpdateTree(); desktop->AddBackElem(fb); fb->FocusMe(); DefaultHandler->regbrow = fb->GetID(); fb->AcceptEvent(DefaultHandler->GetID(),ETree); } break; case 'A': if(mainGUI->key_ctrl) ShowCredits(); break; case 'H': if(mainGUI->key_ctrl) ShowHelp(); break; case VK_RETURN: /* if(mainGUI->key_ctrl) //restart { if(levelsel->GetSelectedItem()) PlayLevel(levelsel->GetSelectedItem()->GetID(),1); }*/ break; } } return 1; }