Go to the documentation of this file.00001 #ifndef DATALOAD_TEMPLATE_H
00002 #define DATALOAD_TEMPLATE_H
00003
00004 #include <QtPlugin>
00005 #include <QMenu>
00006 #include <QFile>
00007 #include <functional>
00008 #include "PlotJuggler/plotdata.h"
00009
00010 class DataLoader{
00011
00012 public:
00013
00014 virtual const std::vector<const char*>& compatibleFileExtensions() const = 0;
00015
00016 virtual PlotDataMap readDataFromFile(const QString& file_name,
00017 QString& default_configuration ) = 0;
00018
00019 virtual const char* name() const = 0;
00020
00021 virtual ~DataLoader() {}
00022
00023 virtual bool isDebugPlugin() { return false; }
00024
00025 virtual void setParentMenu(QMenu* menu) { _menu = menu; }
00026
00027 virtual QWidget* embeddedWidget() { return nullptr; }
00028
00029 protected:
00030 QMenu* _menu;
00031 };
00032
00033 QT_BEGIN_NAMESPACE
00034
00035 #define DataRead_iid "com.icarustechnology.PlotJuggler.DataLoader"
00036
00037 Q_DECLARE_INTERFACE(DataLoader, DataRead_iid)
00038
00039 QT_END_NAMESPACE
00040
00041
00042 #endif
00043