ELVE  1
ELVE Logic Visualization Explorer
/home/travis/build/stdgregwar/elve/Core/interfaces/FileExporterPlugin.h
00001 #ifndef FILEEXPORTER_H
00002 #define FILEEXPORTER_H
00003 
00004 #include <QGenericPlugin>
00005 #include "Plugin.h"
00006 #include <ExtendedGraph.h>
00007 
00008 #define ExporterPlugin_iid "ch.epfl.lap.elfe.LayoutPlugin"
00009 
00010 namespace Elve {
00011 
00019 class FileExporterPlugin : public QObject, public Plugin
00020 {
00021     Q_OBJECT
00022 public:
00026     FileExporterPlugin();
00027 
00035     virtual void exportGraph(const QString& filename, const SharedEGraph& eg) = 0;
00036 
00042     QGraphicsScene* sceneForGraph(const SharedEGraph& eg);
00043 
00051     virtual QString formatName() = 0;
00052 
00060     virtual QString fileFilter() = 0;
00061 
00069     virtual std::string cliName() = 0;
00070 };
00071 
00072 }
00073 Q_DECLARE_INTERFACE(Elve::FileExporterPlugin,ExporterPlugin_iid)
00074 
00075 
00076 
00077 #define ELVE_EXPORTER(Exporter,full_name,filter,cli_name)\
00078  public:\
00079     inline QString formatName() override {return (full_name);}\
00080     inline QString fileFilter() override {return filter;}\
00081     inline std::string cliName() override {return (cli_name);}
00082 
00083 #endif // FILEEXPORTER_H
 All Classes Functions