PIP  0.5.0_alpha
Platform-Independent Primitives
PIScreen Class Reference

Console output class. More...

Inheritance diagram for PIScreen:

Public Member Functions

 PIScreen (bool startNow=true, PIKbdListener::KBFunc slot=0)
 Constructs PIScreen with key handler "slot" and if "startNow" start it.
 
void enableExitCapture (int key= 'Q')
 Directly call function from PIKbdListener.
 
void disableExitCapture ()
 Directly call function from PIKbdListener.
 
bool exitCaptured () const
 Directly call function from PIKbdListener.
 
int exitKey () const
 Directly call function from PIKbdListener.
 
- Public Member Functions inherited from PIThread
 PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1)
 Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay".
 
 PIThread (bool startNow=false, int loop_delay=-1)
 Contructs thread with main loop delay "loop_delay".
 
void setData (void *d)
 Set common data passed to external function.
 
void setSlot (ThreadFunc func)
 Set external function that will be executed after every run()
 
void setPriority (PIThread::Priority prior)
 Set priority of thread.
 
void * data () const
 Returns common data passed to external function.
 
PIThread::Priority priority () const
 Return priority of thread.
 
bool isRunning () const
 Return true if thread is running.
 
void needLockRun (bool need)
 Set necessity of lock every run with internal mutex.
 
PIMutexmutex ()
 Return internal mutex.
 
bool start (int timer_delay)
 Start thread. More...
 
bool start (ThreadFunc func, int timer_delay)
 Start thread. More...
 
bool startOnce ()
 Start thread without internal loop. More...
 
bool startOnce (ThreadFunc func)
 Start thread without internal loop. More...
 
void stop (bool wait)
 Stop thread. More...
 
void terminate ()
 Strongly stop thread. More...
 
bool waitForStart (int timeout_msecs)
 Wait for thread start. More...
 
bool waitForFinish (int timeout_msecs)
 Wait for thread finish. More...
 
void lock ()
 Lock internal mutex.
 
void unlock ()
 Unlock internal mutex.
 
void started ()
 Raise on thread start.
 
void stopped ()
 Raise on thread stop.
 
- Public Member Functions inherited from PIObject
 PIObject (const PIString &name=PIString())
 Contructs PIObject with name "name".
 
PIString name () const
 Returns object name.
 
virtual const char * className () const
 Returns object class name.
 
virtual const char * superClassName () const
 Returns object superclass name.
 
bool debug () const
 Return if debug of this object is active.
 
void setName (const PIString &name)
 Set object name.
 
void setDebug (bool debug)
 Set object debug active.
 
const PIMap< PIString, PIVariant > & properties () const
 Returns properties of the object.
 
int propertiesCount () const
 Returns properties count of the object.
 
PIVariant property (const PIString &name) const
 Returns property with name "name".
 
void setProperty (const PIString &name, const PIVariant &value)
 Set property with name "name" to "value". If there is no such property in object it will be added.
 
bool isPropertyExists (const PIString &name) const
 Returns if property with name "name" exists.
 

Handlers

void waitForFinish ()
 block until finished (exit key will be pressed)
 
void start (bool wait)
 Start console output and if "wait" block until finished (exit key will be pressed)
 
void stop (bool clear)
 Stop console output and if "clear" clear the screen.
 

Events

void keyPressed (PIKbdListener::KeyEvent key, void *data)
 Raise on key "key" pressed, "data" is pointer to PIConsole object.
 
void tileEvent (PIScreenTile *tile, PIScreenTypes::TileEvent e)
 Raise on some event "e" from tile "tile".
 

Additional Inherited Members

- Public Types inherited from PIThread
enum  Priority {
  piLowerst, piLow, piNormal, piHigh,
  piHighest
}
 Priority of thread. More...
 
- Static Public Member Functions inherited from PIObject
static void piDisconnect (PIObject *src, const PIString &sig)
 Disconnect object "src" from all connections with event name "sig".
 
static void piDisconnect (PIObject *src)
 Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter.
 
static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
- Protected Member Functions inherited from PIObject
PIObjectemitter () const
 Returns PIObject* which has raised an event. This value is correct only in definition of some event handler.
 
virtual void propertyChanged (const PIString &name)
 Virtual function executes after property with name "name" has been changed.
 
void deleted ()
 Raise before object delete. More...
 

Detailed Description

Console output class.

Synopsis

This class provides output to console with automatic alignment and update. It supports tabs, keyboard listening, formats and colors.

Layout

PIScreen works with variable pointers. You should add your variables with functions addVariable() which receives label name, pointer to variable and optional column and format. Columns count is dynamically increased if new column used. E.g. if you add variable to empty tab to column 3, columns count will be increased to 3, but two firsts columns will be empty. Each column filled from top to bottom, but you can add just string with function addString() or add empty line with function addEmptyLine(). Layout scheme:

piconsole_layout.png

Keyboard usage

PIScreen should to be single in application. PIScreen aggregate PIKbdListener which grab keyboard and automatic switch tabs by theirs bind keys. If there is no tab binded to pressed key external function "slot" will be called