tahoma2d/toonz/sources/toonzlib/logger.cpp

39 lines
849 B
C++
Raw Normal View History

2016-03-19 06:57:51 +13:00
#include "toonz/logger.h"
2016-06-15 18:43:10 +12:00
Logger::Logger() {}
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
Logger *Logger::instance() {
static Logger _instance;
return &_instance;
2016-03-19 06:57:51 +13:00
}
2016-06-15 18:43:10 +12:00
void Logger::add(std::wstring s) {
m_rows.push_back(s);
for (int i = 0; i < (int)m_listeners.size(); i++) m_listeners[i]->onAdd();
2016-03-19 06:57:51 +13:00
}
2016-06-15 18:43:10 +12:00
void Logger::clear() { m_rows.clear(); }
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
int Logger::getRowCount() const { return m_rows.size(); }
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
std::wstring Logger::getRow(int i) const {
if (0 <= i && i < (int)m_rows.size())
return m_rows[i];
else
return L"";
2016-03-19 06:57:51 +13:00
}
2016-06-15 18:43:10 +12:00
void Logger::addListener(Listener *listener) {
if (std::find(m_listeners.begin(), m_listeners.end(), listener) ==
m_listeners.end())
m_listeners.push_back(listener);
2016-03-19 06:57:51 +13:00
}
2016-06-15 18:43:10 +12:00
void Logger::removeListener(Listener *listener) {
m_listeners.erase(
std::remove(m_listeners.begin(), m_listeners.end(), listener),
m_listeners.end());
2016-03-19 06:57:51 +13:00
}