20#ifndef XMLLOADEROBJECT_H
21#define XMLLOADEROBJECT_H
23#include "kptproject.h"
25#include <tqdatetime.h>
27#include <tqstringlist.h>
32class XMLLoaderObject {
34 enum Severity { None=0, Errors=1, Warnings=2, Diagnostics=3, Debug=4 };
39 m_logLevel(Diagnostics),
44 void setProject(Project *proj) { m_project = proj; }
45 Project &project() const { return *m_project; }
49 m_starttime = TQDateTime::currentDateTime();
50 m_errors = m_warnings = 0;
52 addMsg(TQString( "Loading started at %1").arg(m_starttime.toString()));
55 m_elapsed = m_timer.elapsed();
56 addMsg(TQString( "Loading finished at %1, took %2").arg(TQDateTime::currentDateTime().toString()).arg(formatElapsed()));
58 TQDateTime lastLoaded() const { return m_starttime; }
59 int elapsed() const { return m_elapsed; }
60 TQString formatElapsed() { return TQString( "%1 seconds").arg(( double)m_elapsed/1000); }
62 void setLogLevel(Severity sev) { m_logLevel = sev; }
63 const TQStringList &log() const { return m_log; }
64 void addMsg( int sev, TQString msg) {
66 if (m_logLevel < sev) return;
68 if (sev == Errors) s = "ERROR";
69 else if (sev == Warnings) s = "WARNING";
70 else if (sev == Diagnostics) s = "Diagnostic";
71 else if (sev == Debug) s = "Debug";
73 m_log<<TQString( "%1: %2").arg(s, 13).arg(msg);
75 void addMsg(TQString msg) { m_log<<msg; }
76 void increment( int sev) {
77 if (sev == Errors) { incErrors(); return; }
78 if (sev == Warnings) { incWarnings(); return; }
80 void incErrors() { ++m_errors; }
81 int errors() const { return m_errors; }
82 bool error() const { return m_errors > 0; }
83 void incWarnings() { ++m_warnings; }
84 int warnings() const { return m_warnings; }
85 bool warning() const { return m_warnings > 0; }
93 TQDateTime m_starttime;
|