diff options
| -rw-r--r-- | sigtools/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | sigtools/ClassModel.cpp | 63 | ||||
| -rw-r--r-- | sigtools/ClassModel.h | 56 | ||||
| -rw-r--r-- | sigtools/PluginModel.cpp | 9 |
4 files changed, 125 insertions, 4 deletions
diff --git a/sigtools/CMakeLists.txt b/sigtools/CMakeLists.txt index f7d56073..d70d0952 100644 --- a/sigtools/CMakeLists.txt +++ b/sigtools/CMakeLists.txt @@ -6,6 +6,7 @@ set(sigtools_HEADERS ) set(sigtools_SRCS BaseModel.cpp + ClassModel.cpp PluginModel.cpp PluginTree.cpp PluginTreeDelegate.cpp diff --git a/sigtools/ClassModel.cpp b/sigtools/ClassModel.cpp new file mode 100644 index 00000000..3bab9b35 --- /dev/null +++ b/sigtools/ClassModel.cpp @@ -0,0 +1,63 @@ +/* + * Copyright 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 "ClassModel.h" + +// Sigtools includes +#include "PluginModel.h" + +// Qt includes +#include <QtCore/QSize> + +using namespace Sigtools; + +ClassModel::ClassModel(const QIcon& icon, const QString& name, const QString& description, PluginModel* parent) : + BaseModel(parent), + m_icon(icon), + m_name(name), + m_description(description) +{ +} + +int ClassModel::rowCount() const +{ + return 0; +} + +Qt::ItemFlags ClassModel::flags() const +{ + return Qt::ItemIsEnabled; +} + +void ClassModel::paint(QPainter* painter, const QStyleOptionViewItem& option) const +{ +} + +QSize ClassModel::sizeHint(const QStyleOptionViewItem& option) const +{ +} + +BaseModel* ClassModel::childItem(const int row) +{ + return NULL; +} + +int ClassModel::findChild(BaseModel* model) const +{ + return -1; +} diff --git a/sigtools/ClassModel.h b/sigtools/ClassModel.h new file mode 100644 index 00000000..d5d0a65c --- /dev/null +++ b/sigtools/ClassModel.h @@ -0,0 +1,56 @@ +/* + * Copyright 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/>. + */ + +#ifndef SIGTOOLS_CLASSMODEL +#define SIGTOOLS_CLASSMODEL + +// Sigtools includes +#include "BaseModel.h" + +// KDE includes +#include <KService> + +namespace Sigtools +{ +// Forward declarations +class PluginModel; + +class SIGTOOLS_NO_EXPORT ClassModel : public BaseModel +{ + Q_OBJECT + + public: + ClassModel(const QIcon& icon, const QString& name, const QString& description, PluginModel* parent); + + int rowCount() const; + + Qt::ItemFlags flags() const; + + void paint(QPainter* painter, const QStyleOptionViewItem& option) const; + QSize sizeHint(const QStyleOptionViewItem& option) const; + + BaseModel* childItem(const int row); + protected: + int findChild(BaseModel* model) const; + + const QIcon& m_icon; + const QString& m_name; + const QString& m_description; +}; +} + +#endif diff --git a/sigtools/PluginModel.cpp b/sigtools/PluginModel.cpp index 92b91569..087618a9 100644 --- a/sigtools/PluginModel.cpp +++ b/sigtools/PluginModel.cpp @@ -19,6 +19,7 @@ #include "PluginModel.h" // Sigtools includes +#include "ClassModel.h" #include "PluginTypeModel.h" // Qt includes @@ -52,12 +53,12 @@ QSize PluginModel::sizeHint(const QStyleOptionViewItem& option) const BaseModel* PluginModel::childItem(const int row) { -// if ((0 <= row) && (row < m_classes.size())) -// return m_classes[row]; -// return NULL; + if ((0 <= row) && (row < m_classes.size())) + return m_classes[row]; + return NULL; } int PluginModel::findChild(BaseModel* model) const { -// return m_classes.indexOf(model); + return m_classes.indexOf(qobject_cast<ClassModel*>(model)); } |
