4.06.2013 - Version 0.3.4 - PIOBJECT() macro, ethernet improvement, documentation based on Doxygen
This commit is contained in:
@@ -35,25 +35,38 @@ typedef void (*KBFunc)(char, void * );
|
||||
/// handlers:
|
||||
/// void enableExitCapture(char key = 'Q')
|
||||
/// void setActive(bool yes = true)
|
||||
class PIKbdListener: public PIThread {
|
||||
class PIP_EXPORT PIKbdListener: public PIThread
|
||||
{
|
||||
PIOBJECT(PIKbdListener)
|
||||
friend class PIConsole;
|
||||
public:
|
||||
enum SpecialSymbol {
|
||||
UpArrow = -1,
|
||||
DownArrow = -2,
|
||||
RightArrow = -3,
|
||||
LeftArrow = -4,
|
||||
CtrlUpArrow = -5,
|
||||
CtrlDownArrow = -6,
|
||||
CtrlRightArrow = -7,
|
||||
CtrlLeftArrow = -8
|
||||
};
|
||||
|
||||
// slot is any function format "void <func>(char, void * )"
|
||||
PIKbdListener(KBFunc slot = 0, void * data = 0);
|
||||
~PIKbdListener() {terminate(); end();}
|
||||
|
||||
void setData(void * data_) {data = data_;}
|
||||
void setSlot(KBFunc slot_) {ret_func = slot_;}
|
||||
EVENT_HANDLER(PIKbdListener, void, enableExitCapture) {enableExitCapture('Q');}
|
||||
EVENT_HANDLER1(PIKbdListener, void, enableExitCapture, char, key) {exit_enabled = true; exit_key = key;}
|
||||
EVENT_HANDLER( void, enableExitCapture) {enableExitCapture('Q');}
|
||||
EVENT_HANDLER1(void, enableExitCapture, char, key) {exit_enabled = true; exit_key = key;}
|
||||
void disableExitCapture() {exit_enabled = false;}
|
||||
bool exitCaptured() const {return exit_enabled;}
|
||||
char exitKey() const {return exit_key;}
|
||||
bool isActive() {return is_active;}
|
||||
EVENT_HANDLER(PIKbdListener, void, setActive) {setActive(true);}
|
||||
EVENT_HANDLER1(PIKbdListener, void, setActive, bool, yes);
|
||||
EVENT_HANDLER(void, setActive) {setActive(true);}
|
||||
EVENT_HANDLER1(void, setActive, bool, yes);
|
||||
|
||||
EVENT2(PIKbdListener, keyPressed, char, key, void * , data)
|
||||
EVENT2(keyPressed, char, key, void * , data)
|
||||
|
||||
static bool exiting;
|
||||
|
||||
@@ -61,6 +74,8 @@ private:
|
||||
void begin();
|
||||
void run();
|
||||
void end();
|
||||
|
||||
void raiseSpecial();
|
||||
|
||||
KBFunc ret_func;
|
||||
char exit_key;
|
||||
@@ -71,7 +86,7 @@ private:
|
||||
void * hIn;
|
||||
DWORD smode, tmode;
|
||||
#else
|
||||
char rc;
|
||||
int rc;
|
||||
int ret;
|
||||
struct termios sterm, tterm;
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user