Skip to content

Commit

Permalink
Add button to toggle the navigation widget.
Browse files Browse the repository at this point in the history
  • Loading branch information
ismailsunni committed Jun 6, 2019
1 parent f87043d commit 4d9b79d
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/app/3d/qgs3dmapcanvas.cpp
Expand Up @@ -166,3 +166,8 @@ bool Qgs3DMapCanvas::eventFilter( QObject *watched, QEvent *event )
}
return false;
}


void Qgs3DMapCanvas::setOnScreenNavigationVisibility(bool visibility){
mNavigationWidget->setVisible(visibility);
}
2 changes: 2 additions & 0 deletions src/app/3d/qgs3dmapcanvas.h
Expand Up @@ -73,6 +73,8 @@ class Qgs3DMapCanvas : public QWidget
*/
Qgs3DMapTool *mapTool() const { return mMapTool; }

void setOnScreenNavigationVisibility(bool visibility);

signals:
//! Emitted when the 3D map canvas was successfully saved as image
void savedAsImage( QString fileName );
Expand Down
16 changes: 16 additions & 0 deletions src/app/3d/qgs3dmapcanvasdockwidget.cpp
Expand Up @@ -53,6 +53,13 @@ Qgs3DMapCanvasDockWidget::Qgs3DMapCanvasDockWidget( QWidget *parent )
toolBar->addAction( QgsApplication::getThemeIcon( QStringLiteral( "mActionZoomFullExtent.svg" ) ),
tr( "Zoom Full" ), this, &Qgs3DMapCanvasDockWidget::resetView );

QAction *toggleOnScreenNavigation = toolBar->addAction(
QgsApplication::getThemeIcon( QStringLiteral( "mActionZoomFullExtent.svg" ) ),
tr( "Toggle On-Screen Navigation" ), this, &Qgs3DMapCanvasDockWidget::toggleNavigationWidget );

toggleOnScreenNavigation->setCheckable(true);
toggleOnScreenNavigation->setChecked(true);

toolBar->addSeparator();

QAction *actionIdentify = toolBar->addAction( QIcon( QgsApplication::iconPath( "mActionIdentify.svg" ) ),
Expand Down Expand Up @@ -147,6 +154,15 @@ void Qgs3DMapCanvasDockWidget::identify()
mCanvas->setMapTool( action->isChecked() ? mMapToolIdentify : nullptr );
}

void Qgs3DMapCanvasDockWidget::toggleNavigationWidget()
{
QAction *action = qobject_cast<QAction *>( sender() );
if ( !action )
return;

mCanvas->setOnScreenNavigationVisibility( action->isChecked() );
}

void Qgs3DMapCanvasDockWidget::setMapSettings( Qgs3DMapSettings *map )
{
mCanvas->setMap( map );
Expand Down
1 change: 1 addition & 0 deletions src/app/3d/qgs3dmapcanvasdockwidget.h
Expand Up @@ -48,6 +48,7 @@ class Qgs3DMapCanvasDockWidget : public QgsDockWidget
void saveAsImage();
void toggleAnimations();
void identify();
void toggleNavigationWidget();

void onMainCanvasLayersChanged();
void onMainCanvasColorChanged();
Expand Down
1 change: 1 addition & 0 deletions src/app/3d/qgs3dnavigationwidget.cpp
Expand Up @@ -42,6 +42,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget(QWidget *parent) : QWidget(parent)
gridLayout->addWidget(mZoomInButton, 0, 3);
gridLayout->addWidget(mZoomOutButton, 3, 3);
gridLayout->addWidget(mRotateSceneDial, 1, 1, 2, 2);
gridLayout->setAlignment(Qt::AlignTop);

}

Expand Down

0 comments on commit 4d9b79d

Please sign in to comment.