//
// C++ Interface: junctionflownode
//
// Description:
//
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef JUNCTIONFLOWNODE_H
#define JUNCTIONFLOWNODE_H

#include <fpnode.h>

/**
    A FlowNode which serves as a junction between connectors
*/
class JunctionFlowNode : public FPNode
{
public:
    JunctionFlowNode(ICNDocument *_icnView, int dir, const QPoint &pos, QString *id = nullptr);

    ~JunctionFlowNode() override;

    /**
     * Returns true if the node can accept input connections. This will depend
     * on the node type and number of input / output connections.
     */
    bool acceptInput() const override;
    /**
     * Returns true if the node can accept output connections. This will depend
     * on the node type and number of input / output connections.
     */
    bool acceptOutput() const override;
public slots:
    /**
     * what is this?
     */
    void checkForRemoval(Connector *connector) override;
    /**
     * Draw shape. Note that this has to remain public.
     */
    void drawShape(QPainter &p) override;

protected:
    void initPoints() override;
};

#endif
