marble/src
MarbleControlBox.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MARBLECONTROLBOX_H
00019 #define MARBLECONTROLBOX_H
00020
00021
00022 #include "marble_export.h"
00023
00024 #include <QtCore/QAbstractItemModel>
00025 #include <QtGui/QWidget>
00026
00027 #include "GeoDataPoint.h"
00028
00029
00038 class QStandardItemModel;
00039 class MarbleWidget;
00040 class MarbleControlBoxPrivate;
00041
00071 class MARBLE_EXPORT MarbleControlBox : public QWidget
00072 {
00073 Q_OBJECT
00074
00075 public:
00080 MarbleControlBox(QWidget *parent = 0);
00081 ~MarbleControlBox();
00082
00092 void addMarbleWidget( MarbleWidget *widget );
00093
00103 void setLocations(QAbstractItemModel* locations);
00104
00109 int minimumZoom() const;
00110
00117 void updateMapThemes();
00118
00119 Q_SIGNALS:
00123 void goHome();
00127 void zoomIn();
00131 void zoomOut();
00136 void zoomChanged(int zoom);
00137
00141 void moveLeft();
00145 void moveRight();
00149 void moveUp();
00153 void moveDown();
00164 void centerOn(const QModelIndex&);
00165
00166 void selectMapTheme( const QString& );
00167
00168 void projectionSelected( int );
00169
00170 void gpsInputDisabled( bool );
00171 void gpsPositionChanged( double lat, double lon);
00172 void updateGps();
00173
00174 public Q_SLOTS:
00184 void changeZoom(int zoom);
00185 void disableGpsInput( bool );
00186 void receiveGpsCoordinates( double, double, GeoDataPoint::Unit );
00187 void enableFileViewActions();
00188
00193 void setNavigationTabShown( bool show );
00198 void setLegendTabShown( bool show );
00203 void setMapViewTabShown( bool show );
00208 void setCurrentLocationTabShown( bool show );
00213 void setFileViewTabShown( bool show );
00214
00215 private Q_SLOTS:
00217 void searchLineChanged(const QString &search);
00218
00220 void search();
00221
00222 void selectTheme( const QString & );
00223 void selectProjection( int projectionIndex );
00224
00225 void updateButtons( int );
00226 void mapCenterOnSignal( const QModelIndex & );
00227
00228 private:
00229 void setupGpsOption();
00230 void setWidgetTabShown( QWidget * widget, int insertIndex,
00231 bool show, QString &text );
00232
00233 protected:
00241 void resizeEvent ( QResizeEvent * );
00242
00243 private:
00244 MarbleControlBoxPrivate * const d;
00245 };
00246
00247
00248 #endif // MARBLECONTROLBOX_H