#include "errmanager.h"
#include <QTreeWidget>
#include <QTreeWidgetItem>
#include <QPushButton>
#include <QGridLayout>

ErrManager::ErrManager(QWidget *parent) : QDialog(parent)
{
    QGridLayout *glo = new QGridLayout(this);
    QTreeWidget *tree = new QTreeWidget(this);
    QPushButton *bClose = new QPushButton(this);
    bClose->setText("Close");

    connect(bClose, SIGNAL(clicked()), tree, SLOT(clear()));
    connect(bClose, SIGNAL(clicked()), this, SLOT(close()));

    glo->addWidget(tree, 0, 0, 10, 8);
    glo->addWidget(bClose, 10, 6, 1, 1);
    tree->setHeaderLabels(QStringList() << "Origin" << "Message");
}

void ErrManager::addError(const QString &origin, const QString &message)
{
    new QTreeWidgetItem(findChild<QTreeWidget *>(), QStringList() << origin << message);
}

void ErrManager::setErrors(const QString &origin, const QStringList &errors)
{
    foreach(QString e, errors)
        new QTreeWidgetItem(findChild<QTreeWidget *>(), QStringList() << origin << e);
}