feat: cleanup event passing
This commit is contained in:
@@ -87,7 +87,16 @@ void Network::deleteEdge(QGraphicsItem* edge)
|
||||
// delete edge;
|
||||
}
|
||||
|
||||
void Network::leftMousePress(QMouseEvent *event)
|
||||
void Network::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
if( event->buttons() & Qt::LeftButton)
|
||||
{
|
||||
leftMousePressed(event);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Network::leftMousePressed(QMouseEvent *event)
|
||||
{
|
||||
Qt::KeyboardModifiers mods = event->modifiers();
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ public:
|
||||
Network(QWidget* parent = nullptr);
|
||||
void socketClicked(SocketGraphic* socket, QMouseEvent *event);
|
||||
void mouseMoved(QMouseEvent *event);
|
||||
void leftMousePress(QMouseEvent *event);
|
||||
private:
|
||||
QLayout* mainLayout_;
|
||||
NetworkGraphicsScene* scene_;
|
||||
@@ -38,6 +37,7 @@ private:
|
||||
void deleteEdge(QGraphicsItem* edge);
|
||||
|
||||
void highlightEdge(QGraphicsItem* edge, bool state);
|
||||
void leftMousePressed(QMouseEvent* event);
|
||||
|
||||
template<typename T>
|
||||
bool isType(QGraphicsItem* item)
|
||||
@@ -63,4 +63,5 @@ private:
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
void mouseReleaseEvent(QMouseEvent *event) override;
|
||||
void mousePressEvent(QMouseEvent *event) override;
|
||||
};
|
||||
|
||||
@@ -54,10 +54,6 @@ void NetworkGraphicsView::mouseReleaseEvent(QMouseEvent *event) {
|
||||
|
||||
void NetworkGraphicsView::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
if( event->buttons() & Qt::LeftButton)
|
||||
{
|
||||
leftMousePress(event);
|
||||
}
|
||||
if(
|
||||
event->button() == Qt::MiddleButton
|
||||
)
|
||||
@@ -67,22 +63,26 @@ void NetworkGraphicsView::mousePressEvent(QMouseEvent *event)
|
||||
return;
|
||||
}
|
||||
|
||||
// pass event to parent
|
||||
QGraphicsView::mouseReleaseEvent(event);
|
||||
if (parentWidget()) {
|
||||
QMouseEvent *eventCopy = new QMouseEvent(
|
||||
event->type(),
|
||||
event->position(),
|
||||
event->scenePosition(),
|
||||
event->globalPosition(),
|
||||
event->button(),
|
||||
event->buttons(),
|
||||
event->modifiers()
|
||||
);
|
||||
QCoreApplication::postEvent(parentWidget(), eventCopy);
|
||||
}
|
||||
|
||||
|
||||
QGraphicsView::mousePressEvent(event);
|
||||
}
|
||||
|
||||
|
||||
void NetworkGraphicsView::leftMousePress(QMouseEvent *event)
|
||||
{
|
||||
network_->leftMousePress(event);
|
||||
// QGraphicsItem* itemClicked = itemAt(event->pos());
|
||||
// bool isSocket = itemClicked && typeid(*itemClicked)==typeid(SocketGraphic);
|
||||
// if(isSocket)
|
||||
// {
|
||||
// std::cout << "SOCKET!\n";
|
||||
// network_->socketClicked(static_cast<SocketGraphic*>(itemClicked), event);
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
// void NetworkView::mouseReleaseEvent(QMouseEvent *event)
|
||||
// {
|
||||
|
||||
@@ -21,7 +21,6 @@ protected:
|
||||
void mouseMoveEvent(QMouseEvent *mouseEvent) override;
|
||||
void mousePressEvent(QMouseEvent *event) override;
|
||||
void mouseReleaseEvent(QMouseEvent *event) override;
|
||||
void leftMousePress(QMouseEvent *event);
|
||||
QGraphicsItem* getItemAtClick(QMouseEvent *event);
|
||||
void wheelEvent(QWheelEvent *event) override;
|
||||
// void mouseReleaseEvent(QMouseEvent *event) override;
|
||||
|
||||
Reference in New Issue
Block a user