bool ProjectContentComponent::perform (const InvocationInfo& info) { switch (info.commandID) { case CommandIDs::saveProject: case CommandIDs::closeProject: case CommandIDs::saveDocument: case CommandIDs::saveDocumentAs: case CommandIDs::closeDocument: case CommandIDs::goToPreviousDoc: case CommandIDs::goToNextDoc: case CommandIDs::goToCounterpart: case CommandIDs::saveAndOpenInIDE: if (reinvokeCommandAfterCancellingModalComps (info)) { grabKeyboardFocus(); // to force any open labels to close their text editors return true; } break; default: break; } if (isCurrentlyBlockedByAnotherModalComponent()) return false; switch (info.commandID) { case CommandIDs::saveProject: saveProject(); break; case CommandIDs::closeProject: closeProject(); break; case CommandIDs::saveDocument: saveDocument(); break; case CommandIDs::saveDocumentAs: saveAs(); break; case CommandIDs::closeDocument: closeDocument(); break; case CommandIDs::goToPreviousDoc: goToPreviousFile(); break; case CommandIDs::goToNextDoc: goToNextFile(); break; case CommandIDs::goToCounterpart: goToCounterpart(); break; case CommandIDs::showFilePanel: showFilesTab(); break; case CommandIDs::showConfigPanel: showConfigTab(); break; case CommandIDs::showProjectSettings: showProjectSettings(); break; case CommandIDs::showProjectModules: showModules(); break; case CommandIDs::openInIDE: openInIDE (false); break; case CommandIDs::saveAndOpenInIDE: openInIDE (true); break; case CommandIDs::createNewExporter: showNewExporterMenu(); break; case CommandIDs::deleteSelectedItem: deleteSelectedTreeItems(); break; case CommandIDs::showTranslationTool: showTranslationTool(); break; default: return false; } return true; }
void CCmdCenter::onGetUserInput(std::string strInput ) { std::vector<std::string> vecSplit ; std::string strCur ; for ( char n : strInput ) { if ( n != ' ' && n != '\t' ) { strCur.push_back(n); } else { if ( strCur.empty() == false ) { vecSplit.push_back(strCur) ; } strCur.clear() ; } } if ( strCur.empty() == false ) { vecSplit.push_back(strCur) ; } strCur.clear() ; if ( vecSplit.empty() ) { printf("parse input error , str = %s\n",strInput.c_str() ) ; return ; } // if is help commond if ( "help" == vecSplit[0] ) { vecSplit.erase(vecSplit.begin()) ; if ( vecSplit.empty() ) { showModules(); return; } if ( vecSplit.size() == 1 ) { ShowModule(vecSplit[0]) ; return; } showCmd(vecSplit[0],vecSplit[1]) ; return ; } auto pcmd = getCmdByName(vecSplit[0]); if ( pcmd == nullptr ) { printf("can not find cmd name = %s\n",vecSplit[0].c_str()) ; return ; } vecSplit.erase(vecSplit.begin()) ; stBufferItem * p = new stBufferItem(pcmd,vecSplit); m_tBufferLock.Lock() ; m_vWillSendBuffer.push_back(p) ; m_tBufferLock.Unlock() ; }