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_FILE_SCHEME_H
00020 #define RQT_MULTIPLOT_FILE_SCHEME_H
00021
00022 #include <QDir>
00023 #include <QFileSystemModel>
00024
00025 #include <rqt_multiplot/UrlScheme.h>
00026
00027 namespace rqt_multiplot {
00028 class FileScheme :
00029 public UrlScheme {
00030 Q_OBJECT
00031 public:
00032 FileScheme(QObject* parent = 0, const QString& prefix = "file", const
00033 QString& rootPath = "/", QDir::Filters filter = QDir::NoFilter);
00034 virtual ~FileScheme();
00035
00036 void setRootPath(const QString& rootPath);
00037 QString getRootPath() const;
00038 void setFilter(QDir::Filters filter);
00039 QDir::Filters getFilter() const;
00040
00041 size_t getNumHosts() const;
00042 QModelIndex getHostIndex(size_t row) const;
00043 QVariant getHostData(const QModelIndex& index, int role) const;
00044
00045 size_t getNumPaths(const QModelIndex& hostIndex, const QModelIndex&
00046 parent) const;
00047 QModelIndex getPathIndex(const QModelIndex& hostIndex, size_t row,
00048 const QModelIndex& parent = QModelIndex()) const;
00049 QVariant getPathData(const QModelIndex& index, int role) const;
00050
00051 QString getHost(const QModelIndex& hostIndex) const;
00052 QString getPath(const QModelIndex& hostIndex, const QModelIndex&
00053 pathIndex) const;
00054
00055 QString getFilePath(const QModelIndex& hostIndex, const QModelIndex&
00056 pathIndex) const;
00057 QString getFilePath(const QString& host, const QString& path) const;
00058
00059 private:
00060 QFileSystemModel* model_;
00061
00062 private slots:
00063 void modelDirectoryLoaded(const QString& path);
00064 };
00065 };
00066
00067 #endif