Tekkotsu Homepage | Demos | Overview | Downloads | Dev. Resources | Reference | Credits |
StringInputControl.ccGo to the documentation of this file.00001 #include "StringInputControl.h" 00002 #include "Wireless/Wireless.h" 00003 #include "Motion/MMAccessor.h" 00004 #include "Motion/LedMC.h" 00005 #include "Motion/MotionManager.h" 00006 #include <sstream> 00007 00008 /*ControlBase* StringInputControl::activate(MotionManager::MC_ID disp_id, Socket* gui) { 00009 display_id=disp_id; 00010 gui_comm=gui; 00011 return doReadStdIn(userPrompt); 00012 }*/ 00013 00014 void StringInputControl::refresh() { 00015 ControlBase::refresh(); 00016 doReadStdIn(userPrompt); 00017 } 00018 00019 ControlBase* StringInputControl::doReadStdIn(const std::string& prompt/*=std::string()*/) { 00020 if(gui_comm!=NULL && wireless->isConnected(gui_comm->sock)) { 00021 // cout << "REFRESHING " << getName() << endl; 00022 //try to get it all in one packet for better performance 00023 std::stringstream ss; 00024 ss << "refresh\n" 00025 << getName() << '\n' 00026 << "1\n" 00027 << "0\n" 00028 << "0\n" 00029 << "Waiting for input...\n" 00030 << std::count(userPrompt.begin(),userPrompt.end(),'\n') << '\n' 00031 << userPrompt << "\n"; 00032 gui_comm->write((const byte*)ss.str().c_str(),ss.str().size()); 00033 } 00034 00035 if(prompt.size()==0) 00036 return ControlBase::doReadStdIn(userPrompt); 00037 else 00038 return ControlBase::doReadStdIn(prompt); 00039 } 00040 00041 /*! @file 00042 * @brief Implements StringInputControl, which prompts for and stores a string from the user 00043 * @author ejt (Creator) 00044 * 00045 * $Author: ejt $ 00046 * $Name: tekkotsu-4_0 $ 00047 * $Revision: 1.6 $ 00048 * $State: Exp $ 00049 * $Date: 2007/01/30 22:56:18 $ 00050 */ 00051 |
Tekkotsu v4.0 |
Generated Thu Nov 22 00:54:56 2007 by Doxygen 1.5.4 |