]> Creatis software - cpPlugins.git/blobdiff - appli/PipelineEditor/PipelineEditor.h
...
[cpPlugins.git] / appli / PipelineEditor / PipelineEditor.h
index ffeeafdfae61ff88f10d0d1b6f32e9f593dc3bd0..81a6d3dc1b9109952783088a418fe6b7dd6b4e3f 100644 (file)
@@ -2,10 +2,35 @@
 #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 ) override;
+};
+
+/*
+  class PipelineEditor;
+  struct PipelineEditor_Application
+  {
+  QApplication           Application;
+  PipelineEditor         Window;
+  PipelineEditor_Blocker Blocker;
+  PipelineEditor_Application( int argc, char* argv[] );
+  void Show( );
+  int Exec( );
+  void Block( );
+  void UnBlock( );
+  };
+*/
+
 // -------------------------------------------------------------------------
 namespace Ui
 {
@@ -21,18 +46,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 +73,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__