From e12c9f5886150adacd75320d1ce5eebe929690ef Mon Sep 17 00:00:00 2001 From: Ludovic Hussonnois <ludovic.hussonnois@c-s.fr> Date: Tue, 25 Apr 2017 17:54:08 +0100 Subject: [PATCH] ENH: Connect Signal/Slot to edit projection reference zoom level. --- .../Monteverdi/src/mvdMainWindow.cxx | 25 ++++++++----------- .../include/mvdProjectionBarWidget.h | 3 +++ .../src/mvdProjectionBarWidget.cxx | 13 ++++++++++ 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx b/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx index 656587c0ad..136343a139 100644 --- a/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx +++ b/Modules/Visualization/Monteverdi/src/mvdMainWindow.cxx @@ -107,7 +107,6 @@ namespace mvd /* CONSTANTS */ #define REFERENCE_LAYER_COMBOBOX_NAME "referenceLayerComboBox" -#define REFERENCE_PROJECTION_ZOOM_LINE_EDIT "ProjZoomLineEdit" #define FORCE_NO_GLSL ( ( defined( OTB_DEBUG ) && 0 ) || 0 ) @@ -142,9 +141,9 @@ MainWindow #endif // USE_TABBED_VIEW m_StatusBarWidget( NULL ), m_ShaderWidget( NULL ), - m_ProjectionBarWidget( NULL ), m_FilenameDragAndDropEventFilter( NULL ), m_KeymapDialog( NULL ), + m_ProjectionBarWidget( NULL ), m_GLSL140( -2 ), m_isGLSLAvailable( false ), m_ForceNoGLSL( false ) @@ -639,23 +638,21 @@ MainWindow assert( m_ProjectionBarWidget!=NULL ); assert( m_ImageView!=NULL ); -/* QObject::connect( - m_ImageView, - SIGNAL( ScaleChanged( double, double ) ), - // to: - m_ProjectionBarWidget, - SLOT( SetProjectionScale( double, double ) ) + m_ImageView, + SIGNAL( ScaleChanged( double, double ) ), + // to: + m_ProjectionBarWidget, + SLOT( SetProjectionScale( double, double ) ) ); QObject::connect( - m_ProjectionBarWidget, - SIGNAL( ProjectionScaleChanged( double ) ), - // to: - m_ImageView->GetManipulator(), - SLOT( ZoomTo( double ) ) + m_ProjectionBarWidget, + SIGNAL( ProjectionScaleChanged( double ) ), + // to: + m_ImageView->GetManipulator(), + SLOT( ZoomTo( double ) ) ); - */ } diff --git a/Modules/Visualization/MonteverdiGui/include/mvdProjectionBarWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdProjectionBarWidget.h index 658487758c..5a2d40ee79 100644 --- a/Modules/Visualization/MonteverdiGui/include/mvdProjectionBarWidget.h +++ b/Modules/Visualization/MonteverdiGui/include/mvdProjectionBarWidget.h @@ -84,6 +84,9 @@ public: /** \brief Destructor. */ ~ProjectionBarWidget() ITK_OVERRIDE; +public slots: + void SetProjectionScale(double scale_x, double scale_y); + private: /** diff --git a/Modules/Visualization/MonteverdiGui/src/mvdProjectionBarWidget.cxx b/Modules/Visualization/MonteverdiGui/src/mvdProjectionBarWidget.cxx index dde1b582d8..0e74ba6632 100644 --- a/Modules/Visualization/MonteverdiGui/src/mvdProjectionBarWidget.cxx +++ b/Modules/Visualization/MonteverdiGui/src/mvdProjectionBarWidget.cxx @@ -37,6 +37,19 @@ ProjectionBarWidget::~ProjectionBarWidget() m_UI = NULL; } +void ProjectionBarWidget::SetProjectionScale(double scale_x, double scale_y) +{ + QString text = "1:1"; + + if( scale_x>1.0 ) + text = QString( "%1:1" ).arg( scale_x ); + + else if( scale_x<1.0 ) + text = QString( "1:%1" ).arg( 1.0 / scale_x ); + + m_UI->projectionScaleLineEdit->setText(text); +} + void ProjectionBarWidget::on_projectionScaleLineEdit_returnPressed() { ChangeScale(); -- GitLab