Computer Assisted Medical Intervention Tool Kit  version 5.2
camitk::ConsoleStream Class Reference

Provides a console windows, within the CamiTK application. More...

#include <ConsoleStream.h>

+ Inheritance diagram for camitk::ConsoleStream:
+ Collaboration diagram for camitk::ConsoleStream:

Public Member Functions

 ConsoleStream ()
 default constructor, init(..) have to be called later, before first use More...
 
 ConsoleStream (std::ostream *stream, QTextEdit *textEdit)
 constructor to use when you are sure about both paramaters More...
 
void free ()
 reset the state as it was before (stream use the old buffer again) More...
 
void init (std::ostream *stream, QTextEdit *textEdit)
 initialize ConsoleStream using both input stream and output text edit More...
 
void setStream (std::ostream *stream)
 set the value for the buffer to be replaced by the ConsoleStream More...
 
void setTextEdit (QTextEdit *text_edit)
 set the log QTextEdit More...
 
 ~ConsoleStream ()
 destructor: use free() to restore previous stream output buffer More...
 

Protected Member Functions

int_type overflow (int_type v)
 rewriting of the inherited method overflow More...
 
std::streamsize xsputn (const char *p, std::streamsize n)
 rewriting of the inherited method xsputn More...
 

Detailed Description

Provides a console windows, within the CamiTK application.

The console widget.

Usage:

#include <ConsoleStream.h>
...
// create your application
QApplication app(argc, argv);
// these redirect both cout/cerr
ConsoleStream cout(std::cout);
ConsoleStream cerr(std::cerr);
// now start using cout and cerr normally
std::cerr << "Oops"; // this goes to your debugger output
ConsoleStream()
default constructor, init(..) have to be called later, before first use
Definition: ConsoleStream.h:79

Potential problem on windows (see thread)

  • std::string::clear() and std::string::push_back(...) don't exist, but myString.clear() can be substituted by myString.erase(myString.begin(), myString.end()) and myString.push_back(v) can be replaced by myString += v.
  • The usage of int_type seems to require a using std::ios::int_type statement.

Constructor & Destructor Documentation

◆ ConsoleStream() [1/2]

camitk::ConsoleStream::ConsoleStream ( std::ostream *  stream,
QTextEdit *  textEdit 
)
inline

constructor to use when you are sure about both paramaters

References init().

+ Here is the call graph for this function:

◆ ConsoleStream() [2/2]

camitk::ConsoleStream::ConsoleStream ( )
inline

default constructor, init(..) have to be called later, before first use

◆ ~ConsoleStream()

camitk::ConsoleStream::~ConsoleStream ( )
inline

destructor: use free() to restore previous stream output buffer

References free().

+ Here is the call graph for this function:

Member Function Documentation

◆ free()

void camitk::ConsoleStream::free ( )
inline

reset the state as it was before (stream use the old buffer again)

Referenced by camitk::MainWindow::redirectToConsole(), setStream(), and ~ConsoleStream().

+ Here is the caller graph for this function:

◆ init()

void camitk::ConsoleStream::init ( std::ostream *  stream,
QTextEdit *  textEdit 
)
inline

initialize ConsoleStream using both input stream and output text edit

References setStream(), and setTextEdit().

Referenced by ConsoleStream(), and camitk::MainWindow::redirectToConsole().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ overflow()

int_type camitk::ConsoleStream::overflow ( int_type  v)
inlineprotected

rewriting of the inherited method overflow

◆ setStream()

void camitk::ConsoleStream::setStream ( std::ostream *  stream)
inline

set the value for the buffer to be replaced by the ConsoleStream

References free().

Referenced by init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTextEdit()

void camitk::ConsoleStream::setTextEdit ( QTextEdit *  text_edit)
inline

set the log QTextEdit

Referenced by init().

+ Here is the caller graph for this function:

◆ xsputn()

std::streamsize camitk::ConsoleStream::xsputn ( const char *  p,
std::streamsize  n 
)
inlineprotected

rewriting of the inherited method xsputn


The documentation for this class was generated from the following file: