From 4d051b8b32dc4fc85f5921013a559335e7593a9f Mon Sep 17 00:00:00 2001 From: Marco Hugentobler Date: Thu, 30 Jun 2011 16:30:50 +0200 Subject: [PATCH] Emit signal when showing / hiding composer --- python/gui/qgscomposerview.sip | 5 +++++ src/gui/qgscomposerview.cpp | 13 +++++++++++++ src/gui/qgscomposerview.h | 7 +++++++ 3 files changed, 25 insertions(+) diff --git a/python/gui/qgscomposerview.sip b/python/gui/qgscomposerview.sip index c6cca531e29..62709dfd984 100644 --- a/python/gui/qgscomposerview.sip +++ b/python/gui/qgscomposerview.sip @@ -107,4 +107,9 @@ class QgsComposerView: QGraphicsView /**Current action (e.g. adding composer map) has been finished. The purpose of this signal is that QgsComposer may set the selection tool again*/ void actionFinished(); + + /**Emitted before composerview is shown*/ + void composerViewShow( QgsComposerView* ); + /**Emitted before composerview is hidden*/ + void composerViewHide( QgsComposerView* ); }; diff --git a/src/gui/qgscomposerview.cpp b/src/gui/qgscomposerview.cpp index 5df7b0d4b7a..d717509260f 100644 --- a/src/gui/qgscomposerview.cpp +++ b/src/gui/qgscomposerview.cpp @@ -29,6 +29,7 @@ #include "qgscomposerscalebar.h" #include "qgscomposershape.h" #include "qgscomposerattributetable.h" +#include "qgslogger.h" QgsComposerView::QgsComposerView( QWidget* parent, const char* name, Qt::WFlags f ) : QGraphicsView( parent ) @@ -499,6 +500,18 @@ void QgsComposerView::paintEvent( QPaintEvent* event ) } } +void QgsComposerView::hideEvent( QHideEvent* e ) +{ + emit( composerViewShow( this ) ); + e->ignore(); +} + +void QgsComposerView::showEvent( QShowEvent* e ) +{ + emit( composerViewHide( this ) ); + e->ignore(); +} + void QgsComposerView::setComposition( QgsComposition* c ) { setScene( c ); diff --git a/src/gui/qgscomposerview.h b/src/gui/qgscomposerview.h index 83a0b9eb5f5..80fad5726d8 100644 --- a/src/gui/qgscomposerview.h +++ b/src/gui/qgscomposerview.h @@ -117,6 +117,8 @@ class GUI_EXPORT QgsComposerView: public QGraphicsView void paintEvent( QPaintEvent* event ); + void hideEvent( QHideEvent* e ); + void showEvent( QShowEvent* e ); private: /**Status of shift key (used for multiple selection)*/ @@ -167,6 +169,11 @@ class GUI_EXPORT QgsComposerView: public QGraphicsView /**Current action (e.g. adding composer map) has been finished. The purpose of this signal is that QgsComposer may set the selection tool again*/ void actionFinished(); + + /**Emitted before composerview is shown*/ + void composerViewShow( QgsComposerView* ); + /**Emitted before composerview is hidden*/ + void composerViewHide( QgsComposerView* ); }; #endif