Computer Assisted Medical Intervention Tool Kit  version 5.2
 
Loading...
Searching...
No Matches
camitk::ConsoleStream Class Reference

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

#include <ConsoleStream.h>

Public Member Functions

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

Protected Member Functions

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

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
Provides a console windows, within the CamiTK application.
Definition ConsoleStream.h:71

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().

◆ 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().

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().

◆ 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().

◆ 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().

◆ setTextEdit()

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

set the log QTextEdit

Referenced by init().

◆ 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: