/usr/include/codeblocks/loggers.h is in codeblocks-dev 10.05-2.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | /*
* This file is part of the Code::Blocks IDE and licensed under the GNU Lesser General Public License, version 3
* http://www.gnu.org/licenses/lgpl-3.0.html
*/
#ifndef LOGGERS_H
#define LOGGERS_H
#include "logger.h"
#include <wx/colour.h>
#include <wx/font.h>
#include <wx/ffile.h>
#include <wx/textctrl.h>
class wxListCtrl;
class DLLIMPORT StdoutLogger : public Logger
{
public:
virtual void Append(const wxString& msg, Logger::level lv)
{
fputs(wxSafeConvertWX2MB(msg), lv < error ? stdout : stderr);
fputs(::newline_string.mb_str(), lv < error ? stdout : stderr);
}
};
class DLLIMPORT FileLogger : public Logger
{
protected:
wxFFile f;
public:
FileLogger(const wxString& filename) : f(filename, _T("wb")) {};
FileLogger() {};
virtual void Append(const wxString& msg, Logger::level lv)
{
fputs(wxSafeConvertWX2MB(msg), f.fp());
fputs(::newline_string.mb_str(), f.fp());
};
virtual void Open(const wxString& filename) { Close(); f.Open(filename, _T("wb")); };
virtual void Close(){ if(f.IsOpened()) f.Close(); };
};
struct CSS
{
wxString caption;
wxString info;
wxString warning;
wxString success;
wxString error;
wxString critical;
wxString failure;
wxString pagetitle;
wxString spacer;
wxString asterisk;
CSS();
operator wxString();
};
class DLLIMPORT HTMLFileLogger : public FileLogger
{
CSS css;
public:
HTMLFileLogger(const wxString& filename);
void SetCSS(const CSS& in_css) { css = in_css; };
virtual void Append(const wxString& msg, Logger::level lv);
virtual void Open(const wxString& filename);
virtual void Close();
};
class DLLIMPORT TextCtrlLogger : public Logger
{
protected:
wxTextCtrl* control;
bool fixed;
wxTextAttr style[num_levels];
public:
TextCtrlLogger(bool fixedPitchFont = false);
virtual void CopyContentsToClipboard(bool selectionOnly = false);
virtual void UpdateSettings();
virtual void Append(const wxString& msg, Logger::level lv = info);
virtual void Clear();
virtual wxWindow* CreateControl(wxWindow* parent);
};
class DLLIMPORT TimestampTextCtrlLogger : public TextCtrlLogger
{
public:
virtual void Append(const wxString& msg, Logger::level lv = info);
};
class DLLIMPORT ListCtrlLogger : public Logger
{
protected:
wxListCtrl* control;
bool fixed;
wxArrayString titles;
wxArrayInt widths;
struct ListStyles
{
wxFont font;
wxColour colour;
};
ListStyles style[num_levels];
wxString GetItemAsText(long item) const;
public:
ListCtrlLogger(const wxArrayString& titles, const wxArrayInt& widths, bool fixedPitchFont = false);
virtual void CopyContentsToClipboard(bool selectionOnly = false);
virtual void UpdateSettings();
virtual void Append(const wxString& msg, Logger::level lv = info);
virtual void Append(const wxArrayString& colValues, Logger::level lv = info);
virtual size_t GetItemsCount() const;
virtual void Clear();
virtual wxWindow* CreateControl(wxWindow* parent);
};
#endif // LOGGERS_H
|