File indexing completed on 2024-06-09 13:46:35

0001 //
0002 // C++ Interface: junctionflownode
0003 //
0004 // Description:
0005 //
0006 //
0007 // Copyright: See COPYING file that comes with this distribution
0008 //
0009 //
0010 #ifndef JUNCTIONFLOWNODE_H
0011 #define JUNCTIONFLOWNODE_H
0012 
0013 #include <fpnode.h>
0014 
0015 /**
0016     A FlowNode which serves as a junction between connectors
0017 */
0018 class JunctionFlowNode : public FPNode
0019 {
0020 public:
0021     JunctionFlowNode(ICNDocument *_icnView, int dir, const QPoint &pos, QString *id = nullptr);
0022 
0023     ~JunctionFlowNode() override;
0024 
0025     /**
0026      * Returns true if the node can accept input connections. This will depend
0027      * on the node type and number of input / output connections.
0028      */
0029     bool acceptInput() const override;
0030     /**
0031      * Returns true if the node can accept output connections. This will depend
0032      * on the node type and number of input / output connections.
0033      */
0034     bool acceptOutput() const override;
0035 public slots:
0036     /**
0037      * what is this?
0038      */
0039     void checkForRemoval(Connector *connector) override;
0040     /**
0041      * Draw shape. Note that this has to remain public.
0042      */
0043     void drawShape(QPainter &p) override;
0044 
0045 protected:
0046     void initPoints() override;
0047 };
0048 
0049 #endif