]> Creatis software - cpPlugins.git/blobdiff - lib/cpBaseQtApplication/Block.cxx
PolyLine updated.
[cpPlugins.git] / lib / cpBaseQtApplication / Block.cxx
index 36b579fb0eb208405a20470fbddc1b02658afdf3..5ee8f08776a639c1c3b8ea217207a9926a8b0465 100644 (file)
@@ -13,6 +13,7 @@
 #include <cpBaseQtApplication/Port.h>\r
 #include <cpBaseQtApplication/Connection.h>\r
 #include <cpBaseQtApplication/Editor.h>\r
+#include <cpPlugins/BaseObjects/Widget.h>\r
 \r
 // -------------------------------------------------------------------------\r
 cpBaseQtApplication::Block::\r
@@ -296,14 +297,27 @@ contextMenuEvent( QGraphicsSceneContextMenuEvent* evt )
   QMenu menu;\r
   QAction* configureAction = menu.addAction( "Configure" );\r
   QAction* updateAction = menu.addAction( "Update" );\r
-  QAction* selectedAction = menu.exec( evt->screenPos( ) );\r
+  auto widget =\r
+    dynamic_cast< cpPlugins::BaseObjects::Widget* >(\r
+      this->m_Filter.GetPointer( )\r
+      );\r
+  QAction* enableAction = NULL;\r
+  if( widget != NULL )\r
+    enableAction =\r
+      menu.addAction( ( widget->GetEnabled( ) )? "Disable": "Enable" );\r
 \r
+  QAction* selectedAction = menu.exec( evt->screenPos( ) );\r
   if( selectedAction == configureAction )\r
   {\r
     auto dlg = this->m_Filter->CreateQDialog( );\r
     if( dlg != NULL )\r
       dlg->exec( );\r
   }\r
+  else if( selectedAction == enableAction )\r
+  {\r
+    if( widget != NULL )\r
+      widget->SetEnabled( !( widget->GetEnabled( ) ) );\r
+  }\r
   else if( selectedAction == updateAction )\r
     this->m_Editor->updateFilter( this->namePort( ).toStdString( ) );\r
 }\r