Esempio n. 1
0
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);
    }
}
Esempio n. 2
0
		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();
			}
		}
Esempio n. 3
0
void TechBot::eventManager(std::string str)
{
    SavePrevevent();
    setEvent(str);

    Saveinput();

    SetInput(str);

    if(!same_event()) 
    {
        selectMatch();
    }

    restore_input();
}