logmodel.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 LOGMODEL_H
00028 #define LOGMODEL_H
00029
00030
00031 #include <graphics/X11/X_enter.h>
00032 #include <QAbstractItemModel>
00033 #include <QModelIndex>
00034 #include <QVariant>
00035 #include <QTextStream>
00036 #include <graphics/X11/X_exit.h>
00037
00038 namespace casa {
00039
00040 class LogItem;
00041
00042 class LogModel : public QAbstractItemModel
00043 {
00044 Q_OBJECT
00045
00046 public:
00047 LogModel(const QString &data, QObject *parent = 0);
00048 ~LogModel();
00049
00050 QVariant data(const QModelIndex &index, int role) const;
00051 Qt::ItemFlags flags(const QModelIndex &index) const;
00052 QVariant headerData(int section, Qt::Orientation orientation,
00053 int role = Qt::DisplayRole) const;
00054 QModelIndex index(int row, int column,
00055 const QModelIndex &parent = QModelIndex()) const;
00056 QModelIndex parent(const QModelIndex &index) const;
00057 int rowCount(const QModelIndex &parent = QModelIndex()) const;
00058 int columnCount(const QModelIndex &parent = QModelIndex()) const;
00059
00060 void writeData(QTextStream &os);
00061 QString stringData();
00062 QString stringData(int row);
00063 bool insert(int, const QString&);
00064 virtual bool removeRows (int row, int count,
00065 const QModelIndex & parent = QModelIndex());
00066 virtual bool insertRows (int row, int count,
00067 const QModelIndex & parent = QModelIndex());
00068 void appendData(const QString &data);
00069 void changeFont(int);
00070 int getFontSize();
00071
00072 private:
00073 void setupModelData(const QString &lines, LogItem *parent);
00074 LogItem *insertItem;
00075 LogItem *rootItem;
00076 QString searchKey;
00077 int fontSize;
00078
00079 public slots:
00080 void searchKeyChanged(const QString &key = "");
00081 };
00082
00083 }
00084 #endif