feat: cleanup event passing

This commit is contained in:
parker
2025-06-23 16:02:27 +01:00
parent 9bddf401f4
commit 73a0529e30
4 changed files with 28 additions and 19 deletions

View File

@@ -87,7 +87,16 @@ void Network::deleteEdge(QGraphicsItem* edge)
// delete 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(); Qt::KeyboardModifiers mods = event->modifiers();

View File

@@ -18,7 +18,6 @@ public:
Network(QWidget* parent = nullptr); Network(QWidget* parent = nullptr);
void socketClicked(SocketGraphic* socket, QMouseEvent *event); void socketClicked(SocketGraphic* socket, QMouseEvent *event);
void mouseMoved(QMouseEvent *event); void mouseMoved(QMouseEvent *event);
void leftMousePress(QMouseEvent *event);
private: private:
QLayout* mainLayout_; QLayout* mainLayout_;
NetworkGraphicsScene* scene_; NetworkGraphicsScene* scene_;
@@ -38,6 +37,7 @@ private:
void deleteEdge(QGraphicsItem* edge); void deleteEdge(QGraphicsItem* edge);
void highlightEdge(QGraphicsItem* edge, bool state); void highlightEdge(QGraphicsItem* edge, bool state);
void leftMousePressed(QMouseEvent* event);
template<typename T> template<typename T>
bool isType(QGraphicsItem* item) bool isType(QGraphicsItem* item)
@@ -63,4 +63,5 @@ private:
protected: protected:
void resizeEvent(QResizeEvent *event) override; void resizeEvent(QResizeEvent *event) override;
void mouseReleaseEvent(QMouseEvent *event) override; void mouseReleaseEvent(QMouseEvent *event) override;
void mousePressEvent(QMouseEvent *event) override;
}; };

View File

@@ -54,10 +54,6 @@ void NetworkGraphicsView::mouseReleaseEvent(QMouseEvent *event) {
void NetworkGraphicsView::mousePressEvent(QMouseEvent *event) void NetworkGraphicsView::mousePressEvent(QMouseEvent *event)
{ {
if( event->buttons() & Qt::LeftButton)
{
leftMousePress(event);
}
if( if(
event->button() == Qt::MiddleButton event->button() == Qt::MiddleButton
) )
@@ -67,22 +63,26 @@ void NetworkGraphicsView::mousePressEvent(QMouseEvent *event)
return; 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); 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) // void NetworkView::mouseReleaseEvent(QMouseEvent *event)
// { // {

View File

@@ -21,7 +21,6 @@ protected:
void mouseMoveEvent(QMouseEvent *mouseEvent) override; void mouseMoveEvent(QMouseEvent *mouseEvent) override;
void mousePressEvent(QMouseEvent *event) override; void mousePressEvent(QMouseEvent *event) override;
void mouseReleaseEvent(QMouseEvent *event) override; void mouseReleaseEvent(QMouseEvent *event) override;
void leftMousePress(QMouseEvent *event);
QGraphicsItem* getItemAtClick(QMouseEvent *event); QGraphicsItem* getItemAtClick(QMouseEvent *event);
void wheelEvent(QWheelEvent *event) override; void wheelEvent(QWheelEvent *event) override;
// void mouseReleaseEvent(QMouseEvent *event) override; // void mouseReleaseEvent(QMouseEvent *event) override;