#ifndef SKELETON_EDIT_NODE_ITEM_H #define SKELETON_EDIT_NODE_ITEM_H #include #include #include #include class SkeletonEditEdgeItem; class SkeletonEditNodeItem : public QGraphicsEllipseItem { public: SkeletonEditNodeItem(const QRectF &rect, QGraphicsItem *parent = 0); QPointF origin(); void setOrigin(QPointF point); float radius(); void setRadius(float radius); bool hovered(); void setHovered(bool hovered); bool checked(); void setChecked(bool checked); void markAsBranch(bool isBranch); bool isBranch(); SkeletonEditNodeItem *nextSidePair(); void setNextSidePair(SkeletonEditNodeItem *nodeItem); const QColor &sideColor(); QColor nextSideColor(); const QString &sideColorName(); QString nextSideColorName(); void setSideColorName(const QString &name); private: bool m_hovered; bool m_checked; SkeletonEditNodeItem *m_nextSidePair; QColor m_sideColor; QString m_sideColorName; bool m_isBranch; private: void updateAppearance(); }; #endif