Updraft  1.0
Open source glider flight visualisation tool.
taskdeclaration.h
Go to the documentation of this file.
00001 #ifndef UPDRAFT_SRC_PLUGINS_TASKDECL_TASKDECLARATION_H_
00002 #define UPDRAFT_SRC_PLUGINS_TASKDECL_TASKDECLARATION_H_
00003 
00004 #include <QtGui>
00005 #include "../../pluginbase.h"
00006 #include "../../core/ui/maplayergroup.h"
00007 
00008 #include "tasklayer.h"
00009 
00010 namespace Updraft {
00011 
00012 class MapObject;
00013 
00014 typedef QList<TaskLayer*> TTaskLayerList;
00015 
00017 class Q_DECL_EXPORT TaskDeclaration: public QObject, public PluginBase {
00018   Q_OBJECT
00019   Q_INTERFACES(Updraft::PluginBase)
00020 
00021  public:
00022   TaskDeclaration();
00023 
00024   virtual ~TaskDeclaration();
00025 
00026   QString getName();
00027 
00028   void initialize(CoreInterface *coreInterface);
00029   void deinitialize();
00030 
00031   bool wantsToHandleClick(MapObject* obj);
00032   void handleClick(MapObject* obj, const EventInfo* evt);
00033 
00034   bool fileOpen(const QString &filename, int roleId);
00035   void fileIdentification(QStringList *roles,
00036     QString *importDirectory, const QString &filename);
00037 
00038  public slots:
00040   void createTask();
00041   void saveTask();
00042   void saveTaskAs();
00043 
00044  private:
00045   enum FileRoles {
00046     OPEN_TASK_FILE = 1
00047   };
00048 
00050   TTaskLayerList layers;
00051 
00053   TaskLayer* getActiveLayer();
00054 
00056   MapLayerGroupInterface *mapLayerGroup;
00057 
00059   void unloadFiles();
00060 
00063   void addLayer(TaskFile *file);
00064 
00066   int getIndexForNewTask();
00067 
00068   friend class TaskLayer;
00069 };
00070 
00071 }  // End namespace Updraft
00072 
00073 #endif  // UPDRAFT_SRC_PLUGINS_TASKDECL_TASKDECLARATION_H_
00074 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines