feat: cleanup event passing
This commit is contained in:
@@ -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();
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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)
|
||||||
// {
|
// {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user