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 #ifndef RQT_MULTIPLOT_URL_ITEM_MODEL_H
00020 #define RQT_MULTIPLOT_URL_ITEM_MODEL_H
00021
00022 #include <QAbstractItemModel>
00023 #include <QList>
00024
00025 #include <rqt_multiplot/UrlItem.h>
00026 #include <rqt_multiplot/UrlScheme.h>
00027
00028 namespace rqt_multiplot {
00029 class UrlItemModel :
00030 public QAbstractItemModel {
00031 Q_OBJECT
00032 public:
00033 UrlItemModel(QObject* parent = 0);
00034 virtual ~UrlItemModel();
00035
00036 QString getUrl(const QModelIndex& index) const;
00037 QString getFilePath(const QModelIndex& index) const;
00038 QString getFilePath(const QString& url) const;
00039 UrlScheme* getScheme(const QModelIndex& index) const;
00040
00041 void addScheme(UrlScheme* scheme);
00042
00043 int rowCount(const QModelIndex& parent) const;
00044 int columnCount(const QModelIndex& parent) const;
00045 QVariant data(const QModelIndex& index, int role) const;
00046 QModelIndex index(int row, int column, const QModelIndex& parent) const;
00047 QModelIndex parent(const QModelIndex& index) const;
00048
00049 signals:
00050 void urlLoaded(const QString& url);
00051
00052 private:
00053 QList<UrlScheme*> schemes_;
00054 QList<UrlItem*> schemeItems_;
00055
00056 private slots:
00057 void schemeResetStarted();
00058 void schemeResetFinished();
00059 void schemePathLoaded(const QString& host, const QString& path);
00060 };
00061 };
00062
00063 #endif