00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _STELSKYLAYERMGR_HPP_
00020 #define _STELSKYLAYERMGR_HPP_
00021
00022 #include <QString>
00023 #include <QStringList>
00024 #include <QMap>
00025
00026 #include "StelModule.hpp"
00027 #include "StelSkyLayer.hpp"
00028
00029 class StelCore;
00030 class StelSkyImageTile;
00031 class QProgressBar;
00032
00034 class StelSkyLayerMgr : public StelModule
00035 {
00036 Q_OBJECT
00037
00038 public:
00039 StelSkyLayerMgr();
00040 ~StelSkyLayerMgr();
00041
00043
00045 virtual void init();
00046
00048 virtual void draw(StelCore* core);
00049
00051 virtual void update(double deltaTime) {;}
00052
00054 virtual void updateI18n() {;}
00055
00057 virtual double getCallOrder(StelModuleActionName actionName) const;
00058
00060
00064 QString insertSkyLayer(StelSkyLayerP l, const QString& keyHint=QString(), bool show=true);
00065
00067 void removeSkyLayer(StelSkyLayerP l);
00068
00070 QMap<QString, StelSkyLayerP> getAllSkyLayers() const;
00071
00072 StelSkyLayerP getSkyLayer(const QString& key) const;
00073
00074 public slots:
00076
00078 void setFlagShow(bool b) {flagShow = b;}
00080 bool getFlagShow() const {return flagShow;}
00081
00099 bool loadSkyImage(const QString& id, const QString& filename,
00100 double ra0, double dec0,
00101 double ra1, double dec1,
00102 double ra2, double dec2,
00103 double ra3, double dec3,
00104 double minRes, double maxBright, bool visible);
00105
00111 void showLayer(const QString& id, bool b);
00117 bool getShowLayer(const QString& id) const;
00118
00120
00127 QString insertSkyImage(const QString& uri, const QString& keyHint=QString(), bool show=true);
00128
00134 void removeSkyLayer(const QString& key);
00135
00137 QStringList getAllKeys() const {return allSkyLayers.keys();}
00138
00139 private slots:
00142 void loadingStateChanged(bool b);
00143
00146 void percentLoadedChanged(int percentage);
00147
00148 private:
00149
00151 class SkyLayerElem
00152 {
00153 public:
00154 SkyLayerElem(StelSkyLayerP t, bool show=true);
00155 ~SkyLayerElem();
00156 StelSkyLayerP layer;
00157 QProgressBar* progressBar;
00158 bool show;
00159 };
00160
00161 SkyLayerElem* skyLayerElemForLayer(const StelSkyLayer*);
00162
00163 QString keyForLayer(const StelSkyLayer*);
00164
00166 QMap<QString, SkyLayerElem*> allSkyLayers;
00167
00168
00169 bool flagShow;
00170 };
00171
00172 #endif // _STELSKYLAYERMGR_HPP_