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 <QtGui/QWidget>
00025
00026 #include "global.h"
00027 #include "GeoDataCoordinates.h"
00028
00029
00037 class QByteArray;
00038 class QModelIndex;
00039 class QAbstractItemModel;
00040 class QStandardItemModel;
00041
00042 namespace Marble
00043 {
00044
00045 class GeoDataDocument;
00046 class MarbleWidget;
00047 class MarbleControlBoxPrivate;
00048 class MarblePlacemarkModel;
00049
00079 class MARBLE_EXPORT MarbleControlBox : public QWidget
00080 {
00081 Q_OBJECT
00082
00083 public:
00088 explicit MarbleControlBox(QWidget *parent = 0);
00089 ~MarbleControlBox();
00090
00100 void addMarbleWidget( MarbleWidget *widget );
00101
00111 void setLocations(QAbstractItemModel* locations);
00112
00117 int minimumZoom() const;
00118
00119 void setMapThemeModel( QStandardItemModel *mapThemeModel );
00120
00121 Q_SIGNALS:
00125 void goHome();
00129 void zoomIn();
00133 void zoomOut();
00138 void zoomChanged( int zoom );
00139
00143 void moveLeft();
00147 void moveRight();
00151 void moveUp();
00155 void moveDown();
00166 void centerOn( const QModelIndex&, bool );
00167
00168 void selectMapTheme( const QString& );
00169
00170 void projectionSelected( Projection );
00171
00172 void gpsInputDisabled( bool );
00173 void gpsPositionChanged( qreal lat, qreal lon);
00174 void updateGps();
00175
00176 public Q_SLOTS:
00177
00178 void selectTheme( const QString & );
00179
00180 void selectProjection( Projection projection );
00181
00191 void changeZoom(int zoom);
00192 void disableGpsInput( bool );
00193 void receiveGpsCoordinates( qreal, qreal, GeoDataCoordinates::Unit );
00194 void enableFileViewActions();
00195
00200 void setNavigationTabShown( bool show );
00205 void setLegendTabShown( bool show );
00210 void setMapViewTabShown( bool show );
00215 void setCurrentLocationTabShown( bool show );
00220 void setFileViewTabShown( bool show );
00221
00222 void projectionSelected( int projectionIndex );
00223
00224 private Q_SLOTS:
00225
00226 void updateMapThemeView();
00227
00229 void searchLineChanged(const QString &search);
00230
00232 void searchReturnPressed();
00233
00235 void search();
00236
00238 void runnerModelChanged( MarblePlacemarkModel *newmodel );
00239
00240 void updateButtons( int );
00241 void mapCenterOnSignal( const QModelIndex & );
00242
00243 void adjustForAnimation();
00244 void adjustForStill();
00245
00246 private:
00247 void setupGpsOption();
00248 void setWidgetTabShown( QWidget * widget, int insertIndex,
00249 bool show, QString &text );
00250
00251 protected:
00259 void resizeEvent ( QResizeEvent * );
00260
00261 private:
00262 Q_DISABLE_COPY( MarbleControlBox )
00263 MarbleControlBoxPrivate * const d;
00264 };
00265
00266 }
00267
00268 #endif // MARBLECONTROLBOX_H