diff options
| author | Robert Bieber <robby@bieberphoto.com> | 2010-06-09 07:51:22 +0000 |
|---|---|---|
| committer | Robert Bieber <robby@bieberphoto.com> | 2010-06-09 07:51:22 +0000 |
| commit | ceddd2f1e87fd884d9a9af59b20e47353085dff5 (patch) | |
| tree | 9033568d130dc138cc18bad7907c181a05725acc /utils/themeeditor/projectmodel.h | |
| parent | 6efc8d5bc16fd2a73731ba17c7f6a03cf2b9b582 (diff) | |
| download | rockbox-ceddd2f1e87fd884d9a9af59b20e47353085dff5.zip rockbox-ceddd2f1e87fd884d9a9af59b20e47353085dff5.tar.gz rockbox-ceddd2f1e87fd884d9a9af59b20e47353085dff5.tar.bz2 rockbox-ceddd2f1e87fd884d9a9af59b20e47353085dff5.tar.xz | |
Theme Editor: Working on the project viewer infrastructure
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26714 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor/projectmodel.h')
| -rw-r--r-- | utils/themeeditor/projectmodel.h | 42 |
1 files changed, 37 insertions, 5 deletions
diff --git a/utils/themeeditor/projectmodel.h b/utils/themeeditor/projectmodel.h index e3bf93d..62cf008 100644 --- a/utils/themeeditor/projectmodel.h +++ b/utils/themeeditor/projectmodel.h @@ -32,7 +32,12 @@ Q_OBJECT public: static const int numColumns = 1; - ProjectModel(QObject *parent = 0); + static QString fileFilter() + { + return QObject::tr("Project Files (*.cfg);;All Files (*.*)"); + } + + ProjectModel(QString config, QObject *parent = 0); virtual ~ProjectModel(); QModelIndex index(int row, int column, const QModelIndex& parent) const; @@ -51,7 +56,6 @@ public slots: private: ProjectNode* root; - }; /* A simple abstract class required for categories */ @@ -63,10 +67,38 @@ public: virtual int numChildren() const = 0; virtual int row() const = 0; virtual QVariant data(int column) const = 0; - virtual QString title() const = 0; - virtual Qt::ItemFlags flags(const QModelIndex& index) const = 0; - virtual void activated(const QModelIndex& index) = 0; + virtual Qt::ItemFlags flags(int column) const = 0; + virtual void activated() = 0; + + int indexOf(ProjectNode* child){ return children.indexOf(child); } + +protected: + QList<ProjectNode*> children; }; +/* A simple implementation of ProjectNode for the root */ +class ProjectRoot : public ProjectNode +{ +public: + ProjectRoot(QString config); + virtual ~ProjectRoot(); + + virtual ProjectNode* parent() const{ return 0; } + virtual ProjectNode* child(int row) const + { + if(row >= 0 && row < children.count()) + return children[row]; + else + return 0; + } + virtual int numChildren() const{ return children.count(); } + virtual int row() const{ return 0; } + virtual QVariant data(int column) const{ return QVariant(); } + virtual Qt::ItemFlags flags(int column) const{ return 0; } + virtual void activated(){ } + +}; + + #endif // PROJECTMODEL_H |