Updraft
1.0
Open source glider flight visualisation tool.
|
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