diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-02-23 11:20:47 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-02-23 11:20:47 -0500 |
| commit | 7aff48012c3040a675543a0ff3d23af6cb8a8638 (patch) | |
| tree | 6dd17b90d1f1c6ba9b0b7c5ddc40c2a849c25286 /sigmodr/ValidationDialog.cpp | |
| parent | 25ec942048336dde5e1a17e6c75e15e4f8d8290d (diff) | |
| download | sigen-7aff48012c3040a675543a0ff3d23af6cb8a8638.tar.gz sigen-7aff48012c3040a675543a0ff3d23af6cb8a8638.tar.xz sigen-7aff48012c3040a675543a0ff3d23af6cb8a8638.zip | |
Started restructuring how sigmodr is built and moving things into libraries
Diffstat (limited to 'sigmodr/ValidationDialog.cpp')
| -rw-r--r-- | sigmodr/ValidationDialog.cpp | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/sigmodr/ValidationDialog.cpp b/sigmodr/ValidationDialog.cpp deleted file mode 100644 index 8a32486d..00000000 --- a/sigmodr/ValidationDialog.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright 2008-2009 Ben Boeckel <MathStuf@gmail.com> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -// Header include -#include "ValidationDialog.h" - -// Sigmod includes -#include "../sigmod/Object.h" - -// KDE includes -#include <KColorScheme> -#include <KMessageBox> -#include <KProgressDialog> - -// Qt includes -#include <QtGui/QLabel> -#include <QtGui/QTreeWidget> -#include <QtGui/QVBoxLayout> - -Sigmodr::ValidationDialog::ValidationDialog(Sigmod::Object* object, QWidget* parent) : - QWidget(parent), - m_processed(false), - m_object(object), - m_valTree(NULL) -{ - connect(m_object, SIGNAL(changed()), this, SLOT(objectChanged())); -} - -int Sigmodr::ValidationDialog::errors() const -{ - return m_errors; -} - -int Sigmodr::ValidationDialog::warnings() const -{ - return m_warnings; -} - -void Sigmodr::ValidationDialog::process() -{ - if (!m_processed) - { - m_errors = 0; - m_warnings = 0; - m_valTree = new QTreeWidget; - m_valTree->setHeaderHidden(true); - m_parents.clear(); - m_parents.push(ObjectErrorCount(m_valTree->invisibleRootItem(), 0)); - KProgressDialog* progress = new KProgressDialog(this, "Validating", "Please wait"); - progress->progressBar()->setRange(0, 0); - progress->setAllowCancel(false); - progress->setModal(true); - progress->show(); - connect(m_object, SIGNAL(valMessage(QString)), this, SLOT(addMessage(QString))); - connect(m_object, SIGNAL(valWarning(QString)), this, SLOT(addWarning(QString))); - connect(m_object, SIGNAL(valError(QString)), this, SLOT(addError(QString))); - m_object->validate(); - disconnect(m_object, SIGNAL(valMessage(QString)), this, SLOT(addMessage(QString))); - disconnect(m_object, SIGNAL(valWarning(QString)), this, SLOT(addWarning(QString))); - disconnect(m_object, SIGNAL(valError(QString)), this, SLOT(addError(QString))); - delete progress; - m_valTree->addTopLevelItem(m_parents.top().first); - } - m_processed = true; -} - -void Sigmodr::ValidationDialog::show() -{ - if (!m_processed) - process(); - if (m_parents.top().second) - { - KDialog* dialog = new KDialog(this); - dialog->setCaption("Validation Messages"); - dialog->setButtons(KDialog::Ok); - QWidget* widget = new QWidget; - QVBoxLayout* layout = new QVBoxLayout; - layout->addWidget(new QLabel(QString("Warnings: %1\nErrors: %2").arg(m_warnings).arg(m_errors))); - layout->addWidget(m_valTree); - widget->setLayout(layout); - dialog->setMainWidget(widget); - dialog->exec(); - delete dialog; - m_processed = false; - } - else - KMessageBox::information(this, "No messages", "Validation"); -} - -void Sigmodr::ValidationDialog::insertMessage(const QString& msg, const QBrush& brush) -{ - ++m_parents.top().second; - QTreeWidgetItem* item = new QTreeWidgetItem(m_parents.top().first, QStringList(msg)); - item->setBackground(0, brush); -} - -void Sigmodr::ValidationDialog::addMessage(const QString& msg) -{ - if (msg.startsWith(QString("++"))) - m_parents.push(ObjectErrorCount(new QTreeWidgetItem(QStringList(msg.mid(2))), 0)); - else if (msg.startsWith(QString("--"))) - { - ObjectErrorCount count = m_parents.pop(); - if (count.second) - { - m_parents.top().first->addChild(count.first); - ++m_parents.top().second; - } - } - else - insertMessage(msg, KStatefulBrush(KColorScheme::View, KColorScheme::PositiveBackground).brush(QPalette::Normal)); -} - -void Sigmodr::ValidationDialog::addError(const QString& msg) -{ - insertMessage(msg, KStatefulBrush(KColorScheme::View, KColorScheme::NegativeBackground).brush(QPalette::Normal)); - ++m_errors; -} - -void Sigmodr::ValidationDialog::addWarning(const QString& msg) -{ - insertMessage(msg, KStatefulBrush(KColorScheme::View, KColorScheme::NeutralBackground).brush(QPalette::Normal)); - ++m_warnings; -} - -void Sigmodr::ValidationDialog::objectChanged() -{ - m_processed = false; -} |
