]> Creatis software - cpPlugins.git/blob - libs/cpPipelineEditor/Canvas.h
...
[cpPlugins.git] / libs / cpPipelineEditor / Canvas.h
1 // -------------------------------------------------------------------------
2 // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 // -------------------------------------------------------------------------
4
5 #ifndef __cpPipelineEditor__Canvas__h__
6 #define __cpPipelineEditor__Canvas__h__
7
8 #include <cpPipelineEditor_Export.h>
9 #include <QGraphicsView>
10
11 class QGraphicsScene;
12
13 namespace cpPipelineEditor
14 {
15   class Block;
16
17   /**
18    */
19   class Canvas
20     : public QGraphicsView
21   {
22     Q_OBJECT;
23
24   public:
25     typedef Canvas        Self;
26     typedef QGraphicsView Superclass;
27
28   public:
29     Canvas( QWidget* parent = NULL );
30     virtual ~Canvas( );
31
32     Block* createBlock( const std::string& name );
33
34   protected:
35     virtual void dragEnterEvent( QDragEnterEvent* event ) override;
36     virtual void dragLeaveEvent( QDragLeaveEvent* event ) override;
37     virtual void dragMoveEvent( QDragMoveEvent* event ) override;
38     virtual void dropEvent( QDropEvent* event ) override;
39
40   protected:
41     QGraphicsScene* m_Scene;
42     Block* m_DraggedBlock;
43   };
44
45 } // ecapseman
46
47 #endif // __cpPipelineEditor__Canvas__h__
48
49 // eof - $RCSfile$