15 #include <QTextStream> 20 IStatus::Severity MultiStatus::GetMaxSeverity(
const QList<IStatus::Pointer>& children)
const 23 for (
int i = 0; i < children.size(); i++)
25 Q_ASSERT(children[i]);
26 Severity severity = children[i]->GetSeverity();
27 if (severity > maxSeverity)
28 maxSeverity = severity;
34 const QList<IStatus::Pointer>& newChildren,
36 :
Status(
OK_TYPE, pluginId, code, message, sl), children(newChildren)
42 const QList<IStatus::Pointer>& newChildren,
43 const QString& message,
const ctkException& exception,
45 :
Status(
OK_TYPE, pluginId, code, message, exception, sl), children(newChildren)
57 const QString& message,
const ctkException& exception,
66 children.push_back(status);
67 Severity newSev = status->GetSeverity();
77 QList<IStatus::Pointer> statuses(status->GetChildren());
78 for (
int i = 0; i < statuses.size(); i++)
80 this->
Add(statuses[i]);
97 if (!status->IsMultiStatus())
110 QTextStream buf(&str);
112 for (
int i = 0; i < children.size(); i++)
118 buf << children[i]->ToString();
bool IsMultiStatus() const override
QString ToString() const override
Implements transparent reference counting.
QString ToString() const override
virtual void SetSeverity(const Severity &severity)
Severity GetSeverity() const override
void AddAll(IStatus::Pointer status)
MultiStatus(const QString &pluginId, int code, const QList< IStatus::Pointer > &newChildren, const QString &message, const SourceLocation &sl)
void Add(IStatus::Pointer status)
QList< IStatus::Pointer > GetChildren() const override
void Merge(const IStatus::Pointer &status)