]> Creatis software - cpPlugins.git/blobdiff - appli/PipelineEditor/PipelineEditor.h
...
[cpPlugins.git] / appli / PipelineEditor / PipelineEditor.h
index ffeeafdfae61ff88f10d0d1b6f32e9f593dc3bd0..c5f12612fca2d41a95afbc6cd64f569258dec357 100644 (file)
@@ -2,10 +2,20 @@
 #define __PIPELINEEDITOR__H__
 
 // Qt stuff
+#include <QApplication>
 #include <QMainWindow>
 #include <cpPlugins/Interface.h>
 #include <cpPlugins/Workspace.h>
 
+/**
+ */
+class PipelineEditor_Blocker
+  : public QObject
+{
+protected:
+  virtual bool eventFilter( QObject* obj, QEvent* event ) ITK_OVERRIDE;
+};
+
 // -------------------------------------------------------------------------
 namespace Ui
 {
@@ -21,18 +31,21 @@ class PipelineEditor
 
 public:
   typedef PipelineEditor Self;
-  typedef QMainWindow      Superclass;
+  typedef QMainWindow    Superclass;
 
 public:
   explicit PipelineEditor(
     int argc, char* argv[],
-    QWidget* parent = 0
+    QApplication* app,
+    QWidget* parent = NULL
     );
   virtual ~PipelineEditor( );
 
 protected:
   void _LoadPluginsFromPath( const std::string& path );
   void _UpdateLoadedPlugins( );
+  void _Block( );
+  void _UnBlock( );
 
 protected slots:
   void _ButtonLoadPluginsFile( );
@@ -45,10 +58,12 @@ protected slots:
     );
 
 private:
-  Ui::PipelineEditor*   m_UI;
-  cpPlugins::Workspace* m_Workspace;
-  cpPlugins::Interface  m_Interface;
-  std::string           m_PluginsPath;
+  Ui::PipelineEditor*    m_UI;
+  QApplication*          m_Application;
+  PipelineEditor_Blocker m_Blocker;
+  cpPlugins::Workspace*  m_Workspace;
+  cpPlugins::Interface   m_Interface;
+  std::string            m_PluginsPath;
 };
 
 #endif // __CPPIPELINEEDITOR__H__