16 void Node::createActions()
19 nodeAction =
new QAction(
this);
20 nodeAction->setText(tr(
"Node"));
22 nodeAction->setEnabled(
true);
25 void Node::createMenus()
28 insertMenu =
new QMenu();
29 insertMenu->setTitle(tr(
"Insert"));
31 insertMenu->addAction(nodeAction);
33 insertMenu->setEnabled(
true);
36 contextMenu =
new QMenu();
37 contextMenu->addMenu(insertMenu);
40 void Node::createConnections()
42 connect(
this, SIGNAL(entityChanged()), SLOT(requestEntityChange()));
43 connect(
this, SIGNAL(entitySelected()), SLOT(requestEntitySelection()));
45 connect(nodeAction, SIGNAL(triggered()), SLOT(performNode()));
48 void Node::requestEntityChange()
50 emit entityChanged(
this);
53 void Node::requestEntitySelection()
55 emit entitySelected(
this);
58 void Node::performNode()
61 entity->setTop(getHeight()/2 - 100/2);
62 entity->setLeft(getWidth()/2 - 100/2);
63 entity->setWidth(100);
64 entity->setHeight(100);
70 addncgGraphicsEntity(entity);
73 void Node::draw(QPainter* painter)
75 painter->setBrush(QBrush(QColor(
"#C1FFC1")));
76 painter->drawRect(4+20/2, 4+20/2, getWidth()-1-20, getHeight()-1-20);
79 painter->setBrush(Qt::NoBrush);
80 painter->setPen(QPen(QBrush(Qt::black), 0));
82 painter->drawRect(getMoveLeft()+4-getLeft(),getMoveTop()+4-getTop(),getWidth()-1,getHeight()-1);
84 }
else if (isResizing()){
85 painter->setBrush(Qt::NoBrush);
86 painter->setPen(QPen(QBrush(Qt::black), 0));
88 painter->drawRect(getResizeLeft()+4-getLeft(),getResizeTop()+4-getTop(),getResizeWidth()-1,getResizeHeight()-1);
92 void Node::delineate(QPainterPath* painter)
const
94 painter->addRect(4+20/2, 4+20/2, getWidth()-20, getHeight()-20);
97 void Node::contextMenuEvent(QGraphicsSceneContextMenuEvent* event)
99 QncgGraphicsNode::contextMenuEvent(event);
101 if (!event->isAccepted())
103 contextMenu->exec(event->screenPos());