--- /dev/null
+#ifndef __cpBaseQtApplication__Pipeline__EventFilter__h__\r
+#define __cpBaseQtApplication__Pipeline__EventFilter__h__\r
+\r
+#include <cpBaseQtApplication_Export.h>\r
+#include <QObject>\r
+#include <QPointF>\r
+\r
+class QGraphicsScene;\r
+class QGraphicsSceneMouseEvent;\r
+class QGraphicsItem;\r
+class QGraphicsSceneContextMenuEvent;\r
+class QGraphicsSceneDragDropEvent;\r
+class QGraphicsSceneHelpEvent;\r
+class QGraphicsSceneHoverEvent;\r
+class QGraphicsSceneMouseEvent;\r
+class QGraphicsSceneMoveEvent;\r
+class QGraphicsSceneResizeEvent;\r
+class QGraphicsSceneWheelEvent;\r
+\r
+// -------------------------------------------------------------------------\r
+#define cpBaseQtApplicationPipelineEventFilterCallbackDCL( E ) \\r
+ void _##E##_cbk( QGraphicsScene##E##Event* e );\r
+\r
+namespace cpBaseQtApplication\r
+{\r
+ namespace Pipeline\r
+ {\r
+ class Canvas;\r
+\r
+ /**\r
+ */\r
+ class cpBaseQtApplication_EXPORT EventFilter\r
+ : public QObject\r
+ {\r
+ Q_OBJECT;\r
+\r
+ public:\r
+ typedef EventFilter Self;\r
+ typedef QObject Superclass;\r
+\r
+ public:\r
+ explicit EventFilter( QObject* parent = 0 );\r
+ virtual ~EventFilter( );\r
+\r
+ Canvas* canvas( );\r
+ const Canvas* canvas( ) const;\r
+ void setCanvas( Canvas* c );\r
+\r
+ void install( QGraphicsScene* s );\r
+ bool eventFilter( QObject* o, QEvent* e );\r
+\r
+ private:\r
+ QGraphicsItem* itemAt( const QPointF& pos );\r
+\r
+ protected:\r
+ typedef QGraphicsSceneDragDropEvent QGraphicsSceneDragEnterEvent;\r
+ typedef QGraphicsSceneDragDropEvent QGraphicsSceneDragLeaveEvent;\r
+ typedef QGraphicsSceneDragDropEvent QGraphicsSceneDragMoveEvent;\r
+ typedef QGraphicsSceneDragDropEvent QGraphicsSceneDropEvent;\r
+ typedef QGraphicsSceneHoverEvent QGraphicsSceneHoverEnterEvent;\r
+ typedef QGraphicsSceneHoverEvent QGraphicsSceneHoverMoveEvent;\r
+ typedef QGraphicsSceneHoverEvent QGraphicsSceneHoverLeaveEvent;\r
+ typedef QGraphicsSceneMouseEvent QGraphicsSceneMouseDoubleClickEvent;\r
+ typedef QGraphicsSceneMouseEvent QGraphicsSceneMouseMoveEvent;\r
+ typedef QGraphicsSceneMouseEvent QGraphicsSceneMousePressEvent;\r
+ typedef QGraphicsSceneMouseEvent QGraphicsSceneMouseReleaseEvent;\r
+\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( ContextMenu );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( DragEnter );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( DragLeave );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( DragMove );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( Drop );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( Help );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( HoverEnter );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( HoverLeave );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( HoverMove );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( MouseDoubleClick );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( MouseMove );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( MousePress );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( MouseRelease );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( Move );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( Resize );\r
+ cpBaseQtApplicationPipelineEventFilterCallbackDCL( Wheel );\r
+\r
+ private:\r
+ QGraphicsScene* m_Scene;\r
+ Canvas* m_Canvas;\r
+ };\r
+\r
+ } // ecapseman\r
+\r
+} // ecapseman\r
+\r
+#endif // __cpBaseQtApplication__Pipeline__EventFilter__h__\r
+\r
+// eof - $RCSfile$\r