void TechBot::answer() { SavePrevresponse(); setEvent("BOT UNDERSTAND**"); if(null_input()) { eventManager("NULL INPUT**"); } else if(null_input_repetition()) { eventManager("NULL INPUT REPETITION**"); } else if(isUserRepeat()) { manageUserRepeat(); } else if(isaskedusername()) { std::cout<<"I THINK IT IS "<<user_name<<std::endl; return; } else { selectMatch(); } if(user_want_to_quit()) { TB_bQuitProgram = 1; eventManager("USER WANTS TO QUIT**"); } else if(TB_Input.find("BYE")!=std::string::npos) return; else if(!isAIunderstand()) { eventManager("BOT DON'T UNDERSTAND**"); // update_unkown_input_list(); } if(RespLISTonse.size() > 0) { chooseOutput(); SaveAI_response(); initPre_response(); if(isAIRepeat()) { manageRepeat(); } Savelog("TechTron"); print_response(); //speak(TB_Response); } }
void sync_list(bool list_to_manager, bool signal_change=true) { // hal::event_log.post(shared_ptr<hal::EventDetail>(new hal::EventDebug(hal::event_logger::info, (hal::wform(L"%1%, %2% %3%") % hal::from_utf8(selected_) % list_to_manager % signal_change).str().c_str()))); if (list_to_manager) { all_selected_.clear(); int itemPos = m_list_.GetSelectionMark(); if (itemPos != -1) { boost::array<wchar_t, MAX_PATH> pathBuffer; m_list_.GetItemText(itemPos, 0, pathBuffer.c_array(), pathBuffer.size()); // Multi-Selected int total = m_list_.GetItemCount(); for (int i=0; i<total; ++i) { UINT flags = m_list_.GetItemState(i, LVIS_SELECTED); if (flags && LVIS_SELECTED) { m_list_.GetItemText(i, 0, pathBuffer.c_array(), pathBuffer.size()); all_selected_.push_back(hal::to_utf8(pathBuffer.data())); } } // Single-Selected string selected = hal::to_utf8(pathBuffer.data()); if (selected_ != selected) { selected_ = selected; if (signal_change) signal(); } } else { selected_ = ""; if (signal_change) signal(); } } else { /* foreach (string name, all_selected_) { selectMatch(name); } */ int itemPos = selectMatch(selected_); // if (itemPos != -1) m_list_.SetSelectionMark(itemPos); if (signal_change) signal(); } }
void TechBot::eventManager(std::string str) { SavePrevevent(); setEvent(str); Saveinput(); SetInput(str); if(!same_event()) { selectMatch(); } restore_input(); }