diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2008-09-05 20:41:05 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2008-09-05 20:41:05 +0000 |
| commit | b81f5bffa2772eb9bd3c67fb35485ab1ee2d96e7 (patch) | |
| tree | 6609f31b1635d948cf7a216c7fea72cfb3c905a0 /pokemodr/ValidationDialog.cpp | |
| parent | b99ffef4aa68dd5f0af64de9aec0f610e267d8cc (diff) | |
| download | sigen-b81f5bffa2772eb9bd3c67fb35485ab1ee2d96e7.tar.gz sigen-b81f5bffa2772eb9bd3c67fb35485ab1ee2d96e7.tar.xz sigen-b81f5bffa2772eb9bd3c67fb35485ab1ee2d96e7.zip | |
[FIX] Moving stuff for the move to the new name, Sigma Game Engine (sigen for short)
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@249 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/ValidationDialog.cpp')
| -rw-r--r-- | pokemodr/ValidationDialog.cpp | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/pokemodr/ValidationDialog.cpp b/pokemodr/ValidationDialog.cpp deleted file mode 100644 index f2b765ec..00000000 --- a/pokemodr/ValidationDialog.cpp +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright 2008 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" - -// Pokemod includes -#include "../pokemod/Object.h" - -// Qt includes -#include <QtGui/QLabel> -#include <QtGui/QTreeWidget> -#include <QtGui/QVBoxLayout> - -// KDE includes -#include <KColorScheme> -#include <KMessageBox> -#include <KProgressDialog> - -Pokemodr::ValidationDialog::ValidationDialog(Pokemod::Object* object, QWidget* parent) : - QWidget(parent), - m_processed(false), - m_object(object), - m_valTree(new QTreeWidget) -{ - m_valTree->setHeaderHidden(true); - connect(m_object, SIGNAL(changed()), this, SLOT(objectChanged())); -} - -int Pokemodr::ValidationDialog::errors() const -{ - return m_errors; -} - -int Pokemodr::ValidationDialog::warnings() const -{ - return m_warnings; -} - -void Pokemodr::ValidationDialog::process() -{ - if (!m_processed) - { - m_errors = 0; - m_warnings = 0; - m_valTree->clear(); - 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 Pokemodr::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(this); - QVBoxLayout* layout = new QVBoxLayout(widget); - layout->addWidget(new QLabel(QString("Warnings: %1\nErrors: %2").arg(m_warnings).arg(m_errors), widget)); - layout->addWidget(m_valTree); - dialog->setMainWidget(widget); - dialog->exec(); - delete dialog; - } - else - KMessageBox::information(this, "No messages", "Validation"); -} - -void Pokemodr::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 Pokemodr::ValidationDialog::addMessage(const QString& msg) -{ - if (msg.startsWith("++")) - m_parents.push(ObjectErrorCount(new QTreeWidgetItem(QStringList(msg.mid(2))), 0)); - else if (msg.startsWith("--")) - { - 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 Pokemodr::ValidationDialog::addError(const QString& msg) -{ - insertMessage(msg, KStatefulBrush(KColorScheme::View, KColorScheme::NegativeBackground).brush(QPalette::Normal)); - ++m_errors; -} - -void Pokemodr::ValidationDialog::addWarning(const QString& msg) -{ - insertMessage(msg, KStatefulBrush(KColorScheme::View, KColorScheme::NeutralBackground).brush(QPalette::Normal)); - ++m_warnings; -} - -void Pokemodr::ValidationDialog::objectChanged() -{ - m_processed = false; -} |
