nodeeditor_doxy
src/Core/NodeItemGraphicsBase.h
Go to the documentation of this file.
00001 //dw
00002 #ifndef NodeItemGraphicsBase_H
00003 #define NodeItemGraphicsBase_H
00004 
00005 
00006 class NodeItemBase;
00007 class NodeConnectorBase;
00008 
00010 //template <class NodeConnectorClass>
00011 class NodeItemGraphicsBase
00012 {
00013 
00014 public:
00015         virtual GraphicsItem* graphicsItem() = 0;
00016 
00017 protected:
00018         NodeItemBase* mpParentNodeItem;
00019         virtual setNodeItemParent(NodeItemBase* parent) {
00020                 mpParentNodeItem = parent;
00021         }
00022 
00023         virtual void updateNodeConnectorPosition() {
00024                 foreach(NodeConnectorBase* nc: mpParentNodeItem->connectors()) {
00025                         //nc->nodeItemGraphics()->updateConnectorTransform();
00026                         //nc->nodeConnectorGraphcis()->updateConnectorPosition(preferedNodeConnectorPosition());
00027                         //nc->nodeConnectorGraphics()->updateConnectorPosition();
00028                         nc->nodeConnectorGraphcis()->updateConnectorPosition(preferedNodeConnectorPosition(nc));
00029                 }
00030         };
00031 
00032         virtual QPointF preferedNodeConnectorPosition(NodeConnectorBase* nc)) {
00033                 QPointF prefPos;
00034                 if (nc->widgetToConnect()) {
00035                         prefPos = nc->widgetToConnect()->pos();
00036                 }
00037                 return prefPos;
00038         };
00039 };
00040 
00041 #endif