4#include <Wt/WFontMetrics.h>
7#include <Wt/WTransform.h>
17#include <unordered_map>
27 WtNodeGeometry(std::unique_ptr<WtNodeDataModel>
const& dataModel, Wt::WPaintDevice* paintDevice);
71 unsigned int nSinks()
const;
101 std::string
strFormat(std::string str)
const;
122 Wt::WPointF
const scenePoint,
123 Wt::WTransform
const& sceneTransform,
126 Wt::WFontMetrics
const& metrics)
const;
129 Wt::WPointF
const scenePoint,
130 Wt::WTransform
const& sceneTransform,
134 bool checkHitHotKey0(Wt::WPointF point, Wt::WTransform
const& t = Wt::WTransform())
const;
136 bool checkHitHotKey1(Wt::WPointF point, Wt::WTransform
const& t = Wt::WTransform())
const;
197 WtNodeState(std::unique_ptr<WtNodeDataModel>
const& model);
252 WtNode(std::unique_ptr<WtNodeDataModel>&& dataModel, Wt::WPaintDevice* paintDevice);
266 Wt::WPointF
const& scenePoint);
unsigned int _hotkeyOffset
unsigned int captionHeightSpacing() const
WtNodeGeometry(std::unique_ptr< WtNodeDataModel > const &dataModel, Wt::WPaintDevice *paintDevice)
unsigned int _entryHeight
void HidePortTips() const
PortIndex hoverHitScenePoint(PortType portType, Wt::WPointF point, Wt::WTransform const &t=Wt::WTransform()) const
unsigned int captionHeight() const
void setHotkeyIncline(unsigned int inc)
unsigned int captionWidth() const
unsigned int nSinks() const
void setDraggingPosition(Wt::WPointF const &pos)
Wt::WPointF portScenePosition(PortIndex index, PortType portType, Wt::WTransform const &t=Wt::WTransform()) const
Wt::WPointF widgetPosition() const
PortIndex hoverHitPortArea(PortType portType, Wt::WPointF const scenePoint, Wt::WTransform const &sceneTransform, WtNodeGeometry const &geom, WtNodeDataModel const *mode, Wt::WFontMetrics const &metrics) const
unsigned int entryWidth() const
void setSpacing(unsigned int s)
unsigned int hotkeyIncline() const
bool checkHitHotKey1(Wt::WPointF point, Wt::WTransform const &t=Wt::WTransform()) const
Wt::WFontMetrics _fontMetrics
Wt::WRectF resizeRect() const
void setWidth(unsigned int w)
void recalculateSize() const
unsigned int portWidth(PortType portType) const
unsigned int width() const
void setHotkeyWidth(unsigned int w)
unsigned int spacing() const
unsigned int _hotkeyIncline
unsigned int hotkeyWidth() const
unsigned int height() const
bool getPortTipsState() const
std::unique_ptr< WtNodeDataModel > const & _dataModel
void ShowPortTips() const
void setHotkeyOffset(unsigned int offset)
Wt::WRectF boundingRect() const
double calculateWidth(std::string) const
unsigned int _hotkeyWidth
void setHeight(unsigned int h)
void setHovered(unsigned int h)
void setEntryHeight(unsigned int h)
unsigned int validationHeight() const
unsigned int hotkeyOffset() const
PortIndex checkHitScenePoint(PortType portType, Wt::WPointF point, Wt::WTransform const &t=Wt::WTransform()) const
void setEntryWidth(unsigned int w)
Wt::WPointF const & draggingPos() const
unsigned int _captionHeightSpacing
unsigned int _inputPortWidth
unsigned int _outputPortWidth
unsigned int entryHeight() const
PortIndex findHitPort(PortType portType, Wt::WPointF const scenePoint, Wt::WTransform const &sceneTransform, WtNodeGeometry const &geom, WtNodeDataModel const *model) const
int equivalentWidgetHeight() const
std::string strFormat(std::string str) const
unsigned int nSources() const
unsigned int validationWidth() const
bool checkHitHotKey0(Wt::WPointF point, Wt::WTransform const &t=Wt::WTransform()) const
Wt::WRectF entryBoundingRect() const
std::unique_ptr< WtNodeDataModel > _nodeDataModel
std::map< PortIndex, std::shared_ptr< WtConnection > > _portConnection
WtNodeDataModel * nodeDataModel() const
void setNode(std::shared_ptr< dyno::Node > node)
void reactToPossibleConnection(PortType, NodeDataType const &, Wt::WPointF const &scenePoint)
std::unique_ptr< WtNodeGraphicsObject > _nodeGraphicsObject
WtFlowNodeData _flowNodeData
void setModule(std::shared_ptr< dyno::Module > module)
void setGraphicsObject(std::unique_ptr< WtNodeGraphicsObject > &&graphics)
std::shared_ptr< dyno::Module > getModule()
WtFlowNodeData & flowNodeData()
void onDataUpdated(PortIndex index)
WtNodeGraphicsObject const & nodeGraphicsObject() const
void addConnection(PortIndex portIndex, std::shared_ptr< WtConnection > connection)
std::shared_ptr< dyno::Node > mNode
WtNodeGeometry _nodeGeometry
WtNode(std::unique_ptr< WtNodeDataModel > &&dataModel, Wt::WPaintDevice *paintDevice)
std::shared_ptr< dyno::Node > getNode()
void resetReactionToConnection()
void propagateData(std::shared_ptr< WtNodeData > nodeData, PortIndex inPortIndex) const
Propagates incoming data to the underlying model.
std::shared_ptr< dyno::Module > mModule
WtNodeState const & nodeState() const
WtNodeGeometry & nodeGeometry()
void onNodeSizeUpdated()
update the graphic part if the size of the embeddedwidget changes
std::shared_ptr< WtConnection > getIndexConnection(PortIndex portIndex)
std::vector< ConnectionPtrSet > _outConnections
std::unordered_map< Wt::Guid, WtConnection * > ConnectionPtrSet
WtNodeState(std::unique_ptr< WtNodeDataModel > const &model)
std::vector< ConnectionPtrSet > _inConnections
std::vector< ConnectionPtrSet > const & getEntries(PortType) const
PortType reactingPortType() const
ReactToConnectionState reaction() const
NodeDataType _reactingDataType
ConnectionPtrSet connections(PortType portType, PortIndex portIndex) const
PortType _reactingPortType
void eraseConnection(PortType portType, PortIndex portIndex, Wt::Guid id)
ReactToConnectionState _reaction
void setConnection(PortType portType, PortIndex portIndex, WtConnection &connection)
void setReaction(ReactToConnectionState reaction, PortType reactingPortType=PortType::None, NodeDataType reactingDataType=NodeDataType())
void setResizing(bool resizing)
NodeDataType reactingDataType() const