]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
QMenu signals triggered, hovered added for log purposes
authorapl <apl@opencascade.com>
Mon, 26 Dec 2011 09:51:58 +0000 (09:51 +0000)
committerapl <apl@opencascade.com>
Mon, 26 Dec 2011 09:51:58 +0000 (09:51 +0000)
src/Qtx/QtxActionMenuMgr.cxx
src/Qtx/QtxActionMenuMgr.h

index 94368536e86a25f684f2e5d2ea2e0625490529ed..4ed236fcfe4f108a5bbb2ce8993538bcc7829e0d 100644 (file)
@@ -335,6 +335,8 @@ int QtxActionMenuMgr::insert( const QString& title, const int pId, const int gro
 
   connect( ma->menu(), SIGNAL( aboutToShow() ), this, SLOT( onAboutToShow() ) );
   connect( ma->menu(), SIGNAL( aboutToHide() ), this, SLOT( onAboutToHide() ) );
+  connect( ma->menu(), SIGNAL( triggered( QAction* ) ), this, SLOT( onTriggered( QAction* ) ) );
+  connect( ma->menu(), SIGNAL( hovered( QAction* ) ), this, SLOT( onHovered( QAction* ) ) );
 
   MenuNode* node = new MenuNode( pNode, myMenus.insert( gid, ma ).key(), idx, group );
 
@@ -586,6 +588,30 @@ void QtxActionMenuMgr::onAboutToHide()
     emit menuAboutToHide( m );
 }
 
+/*!
+  \brief Called when the action in menu is triggered
+  
+  Emits the signal menuTriggered(QMenu*, QAction*).
+*/
+void QtxActionMenuMgr::onTriggered( QAction* theAction )
+{
+  QMenu* m = ::qobject_cast<QMenu*>( sender() );
+  if( m )
+    emit menuTriggered( m, theAction );
+}
+
+/*!
+  \brief Called when a menu action is highlighted
+  
+  Emits the signal menuHovered(QMenu*, QAction*).
+*/
+void QtxActionMenuMgr::onHovered( QAction* theAction )
+{
+  QMenu* m = ::qobject_cast<QMenu*>( sender() );
+  if( m )
+    emit menuHovered( m, theAction );
+}
+
 /*!
   \brief Called when the corresponding menu object is destroyed.
 
index 6ee27cf6100cb579579537728edaa09517ed3f75..d55626443df9a8825525dd4488eec5bb83d92242 100644 (file)
@@ -102,11 +102,15 @@ public:
 private slots:
   void         onAboutToShow();
   void         onAboutToHide();
+  void         onTriggered( QAction* );
+  void         onHovered( QAction* );
   void         onDestroyed( QObject* );
 
 signals:
   void         menuAboutToShow( QMenu* );
   void         menuAboutToHide( QMenu* );
+  void         menuTriggered( QMenu*, QAction* );
+  void         menuHovered( QMenu*, QAction* );
 
 protected:
   void         setMenuWidget( QWidget* );