dirmodel.qo.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef DIRMODEL_H
00028 #define DIRMODEL_H
00029
00030
00031 #include <graphics/X11/X_enter.h>
00032 #include <QAbstractItemModel>
00033 #include <QModelIndex>
00034 #include <QVariant>
00035 #include <QTextStream>
00036 #include <QDir>
00037 #include <QStringList>
00038 #include <graphics/X11/X_exit.h>
00039
00040 namespace casa {
00041
00042 class DirItem;
00043
00044 class DirModel : public QAbstractItemModel
00045 {
00046 Q_OBJECT
00047
00048 public:
00049 DirModel(QDir *data, QObject *parent = 0);
00050 ~DirModel();
00051
00052 const static QStringList cols;
00053 const static QColor colors[24];
00054
00055 QVariant data(const QModelIndex &index, int role) const;
00056 Qt::ItemFlags flags(const QModelIndex &index) const;
00057 QVariant headerData(int section, Qt::Orientation orientation,
00058 int role = Qt::DisplayRole) const;
00059 QModelIndex index(int row, int column,
00060 const QModelIndex &parent = QModelIndex()) const;
00061 QModelIndex parent(const QModelIndex &index) const;
00062 int rowCount(const QModelIndex &parent = QModelIndex()) const;
00063 int columnCount(const QModelIndex &parent = QModelIndex()) const;
00064
00065 void writeData(QTextStream &os);
00066 QString stringData();
00067 QString stringData(int row);
00068 bool insert(int, const QString&);
00069 virtual bool removeRows (int row, int count,
00070 const QModelIndex & parent = QModelIndex());
00071 virtual bool insertRows (int row, int count,
00072 const QModelIndex & parent = QModelIndex());
00073 void appendData(const QString &lines);
00074 QStringList fileType(const QString pathname);
00075 void goTo(QDir *);
00076 private:
00077 QColor itemColor(const DirItem *);
00078 void setupModelData(QDir *lines, DirItem *parent);
00079 DirItem *insertItem;
00080 DirItem *rootItem;
00081 QString searchKey;
00082
00083 public slots:
00084 void searchKeyChanged(const QString &key = "");
00085 };
00086
00087 }
00088 #endif