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