-/*=========================================================================
-
+/*=========================================================================
Program: bbtk
Module: $RCSfile: bbtkWxStreamRedirector.h,v $
Language: C++
- Date: $Date: 2008/03/18 12:51:27 $
- Version: $Revision: 1.1 $
-
- Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
- l'Image). All rights reserved. See Doc/License.txt or
- http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
-
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the above copyright notices for more information.
-
-=========================================================================*//**
+ Date: $Date: 2010/01/14 13:17:27 $
+ Version: $Revision: 1.4 $
+=========================================================================*/
+
+/* ---------------------------------------------------------------------
+
+* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
+* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
+*
+* This software is governed by the CeCILL-B license under French law and
+* abiding by the rules of distribution of free software. You can use,
+* modify and/ or redistribute the software under the terms of the CeCILL-B
+* license as circulated by CEA, CNRS and INRIA at the following URL
+* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+* or in the file LICENSE.txt.
+*
+* As a counterpart to the access to the source code and rights to copy,
+* modify and redistribute granted by the license, users are provided only
+* with a limited warranty and the software's author, the holder of the
+* economic rights, and the successive licensors have only limited
+* liability.
+*
+* The fact that you are presently reading this means that you have had
+* knowledge of the CeCILL-B license and that you accept its terms.
+* ------------------------------------------------------------------------ */
+
+
+/**
* \brief Short description in one line
*
* Long description which
*/
-#ifdef _USE_WXWIDGETS_
+#ifdef USE_WXWIDGETS
#ifndef __bbtkWxStreamRedirector_h__
/// Redirects std::cout to a wxTextCtrl and optionally to printf also
class WxStreamRedirector : public std::streambuf
{
-
+
public:
-
-
+
WxStreamRedirector(std::ostream& redirect,
wxTextCtrl *text,
const wxColour& colour = *wxBLACK,
delete[] pbase();
m_ostr.rdbuf(m_sbufOld);
}
-
+
virtual void writeString(const std::string &str)
{
const wxTextAttr& style = mText->GetDefaultStyle();
printf("%s",str.c_str());
}
}
-
-
+
private:
wxTextCtrl* mText;
//
std::streambuf *m_sbufOld;
//
wxColour mColour;
-
+
private:
int overflow(int c)
{
return 0;
}
-
+
int sync()
{
if (pbase() != pptr())
return 0;
}
};
- //================================================================
-
+ //================================================================
} // namespace bbtk
-
#endif // __bbtkWxStreamRedirector_h__
-#endif //_USE_WXWIDGETS_
+#endif //USE_WXWIDGETS