+++ /dev/null
-#include <cpBaseQtApplication/Pipeline/EventFilter.h>\r
-#include <cpBaseQtApplication/Pipeline/Canvas.h>\r
-\r
-#include <QGraphicsScene>\r
-#include <QEvent>\r
-#include <QGraphicsItem>\r
-#include <QGraphicsSceneContextMenuEvent>\r
-#include <QGraphicsSceneDragDropEvent>\r
-#include <QGraphicsSceneHelpEvent>\r
-#include <QGraphicsSceneHoverEvent>\r
-#include <QGraphicsSceneMouseEvent>\r
-#include <QGraphicsSceneMoveEvent>\r
-#include <QGraphicsSceneResizeEvent>\r
-#include <QGraphicsSceneWheelEvent>\r
-#include <QGraphicsView>\r
-#include <QInputDialog>\r
-#include <QMessageBox>\r
-\r
-// -------------------------------------------------------------------------\r
-#define cpBaseQtApplicationPipelineEventFilterCbckSWITCH( E, e ) \\r
- case QEvent::GraphicsScene##E: \\r
- { \\r
- QGraphicsScene##E##Event* evt = \\r
- dynamic_cast< QGraphicsScene##E##Event* >( e ); \\r
- if( evt != NULL ) \\r
- this->_##E##_cbk( evt ); \\r
- } \\r
- break;\r
-\r
-// -------------------------------------------------------------------------\r
-#define cpBaseQtApplicationPipelineEventFilterCallbackCODE( E ) \\r
- void cpBaseQtApplication::Pipeline::EventFilter:: \\r
- _##E##_cbk( QGraphicsScene##E##Event* evt )\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplication::Pipeline::EventFilter::\r
-EventFilter( QObject* parent )\r
- : Superclass( parent ),\r
- m_Scene( NULL ),\r
- m_Canvas( NULL )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplication::Pipeline::EventFilter::\r
-~EventFilter( )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplication::Pipeline::Canvas*\r
-cpBaseQtApplication::Pipeline::EventFilter::\r
-canvas( )\r
-{\r
- return( this->m_Canvas );\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-const cpBaseQtApplication::Pipeline::Canvas*\r
-cpBaseQtApplication::Pipeline::EventFilter::\r
-canvas( ) const\r
-{\r
- return( this->m_Canvas );\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-void cpBaseQtApplication::Pipeline::EventFilter::\r
-setCanvas( cpBaseQtApplication::Pipeline::Canvas* c )\r
-{\r
- this->m_Canvas = c;\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-void cpBaseQtApplication::Pipeline::EventFilter::\r
-install( QGraphicsScene* s )\r
-{\r
- s->installEventFilter( this );\r
- this->m_Scene = s;\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-bool cpBaseQtApplication::Pipeline::EventFilter::\r
-eventFilter( QObject* o, QEvent* e )\r
-{\r
- // Event type\r
- switch( int( e->type( ) ) )\r
- {\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( ContextMenu, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( DragEnter, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( DragLeave, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( DragMove, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( Drop, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( Help, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( HoverEnter, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( HoverLeave, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( HoverMove, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( MouseDoubleClick, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( MouseMove, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( MousePress, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( MouseRelease, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( Move, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( Resize, e );\r
- cpBaseQtApplicationPipelineEventFilterCbckSWITCH( Wheel, e );\r
- default:\r
- break;\r
- } // hctiws\r
- return( this->Superclass::eventFilter( o, e ) );\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-QGraphicsItem* cpBaseQtApplication::Pipeline::EventFilter::\r
-itemAt( const QPointF& pos )\r
-{\r
- QList< QGraphicsItem* > items =\r
- this->m_Scene->items( QRectF( pos - QPointF( 1, 1 ), QSize( 3, 3 ) ) );\r
- QGraphicsItem* ret = NULL;\r
- foreach( QGraphicsItem* item, items )\r
- if( item->type( ) > QGraphicsItem::UserType )\r
- ret = item;\r
- return( ret );\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( ContextMenu )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( DragEnter )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( DragLeave )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( DragMove )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( Drop )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( Help )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( HoverEnter )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( HoverLeave )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( HoverMove )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( MouseDoubleClick )\r
-{\r
- // Get clicked item\r
- QGraphicsItem* item = this->itemAt( evt->scenePos( ) );\r
- if( item == NULL )\r
- return;\r
-\r
- if( evt->button( ) == Qt::LeftButton )\r
- {\r
- if( evt->modifiers( ) == Qt::NoModifier )\r
- this->m_Canvas->rename( item );\r
- else if( evt->modifiers( ) == Qt::ControlModifier )\r
- this->m_Canvas->exposePort( item );\r
-\r
- } // fi\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( MouseMove )\r
-{\r
- this->m_Canvas->moveConnection( evt->scenePos( ) );\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( MousePress )\r
-{\r
- switch( evt->button( ) )\r
- {\r
- case Qt::LeftButton: this->m_Canvas->grab( evt->scenePos( ) ); break;\r
- default: break;\r
- } // hctiws\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( MouseRelease )\r
-{\r
- switch( evt->button( ) )\r
- {\r
- case Qt::LeftButton: this->m_Canvas->release( evt->scenePos( ) ); break;\r
- default: break;\r
- } // hctiws\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( Move )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( Resize )\r
-{\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplicationPipelineEventFilterCallbackCODE( Wheel )\r
-{\r
-}\r
-\r
-// eof - $RCSfile$\r