Updraft
1.0
Open source glider flight visualisation tool.
|
00001 #ifndef UPDRAFT_SRC_CORE_COREIMPLEMENTATION_H_ 00002 #define UPDRAFT_SRC_CORE_COREIMPLEMENTATION_H_ 00003 00004 #include "../coreinterface.h" 00005 00006 namespace Updraft { 00007 00008 namespace Util { 00009 class Ellipsoid; 00010 } 00011 00012 class PluginBase; 00013 00014 namespace Core { 00015 00018 class CoreImplementation : public CoreInterface { 00019 public: 00020 explicit CoreImplementation(PluginBase *pl); 00021 00022 QMainWindow* getMainWindow(); 00023 00024 MenuInterface* createMenu(QString title); 00025 MenuInterface* getSystemMenu(SystemMenu menu); 00026 00027 const Util::Ellipsoid* getEllipsoid() const; 00028 00029 MapLayerGroupInterface* createMapLayerGroup(const QString &title); 00030 00031 TabInterface* createTab(QWidget* content, QString title); 00032 void removeTab(TabInterface* tab); 00033 00034 void registerFiletype(const FileRegistration ®istration); 00035 00036 QDir getDataDirectory(); 00037 QDir getResourcesDirectory(); 00038 00039 void addSettingsGroup( 00040 const QString& groupId, 00041 const QString& description, 00042 SettingsGroupType type, 00043 const QString& icon); 00044 00045 SettingInterface* addSetting( 00046 const QString& settingId, 00047 const QString& description, 00048 QVariant initValue, 00049 SettingsGroupType type); 00050 00051 osg::Group* getSimpleGroup(); 00052 00053 void registerOsgNode(osg::Node* node, MapObject* mapObject); 00054 00055 osgEarth::Util::ElevationManager* getElevationManager(); 00056 00057 const osg::EllipsoidModel* getCurrentMapEllipsoid(); 00058 00059 private: 00060 PluginBase* plugin; 00061 }; 00062 00063 } // End namespace Core 00064 } // End namespace Updraft 00065 00066 #endif // UPDRAFT_SRC_CORE_COREIMPLEMENTATION_H_ 00067