aboutsummaryrefslogtreecommitdiffstats
path: root/gui
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2018-10-21 14:46:31 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2018-10-24 19:03:25 +0200
commitc2dfe6ef8e566271c4ce4f93f7cc7d666d210b00 (patch)
tree1cc43d027813325ab9ac1b68cebe489690260601 /gui
parent36920e68ed429a5187ba9703b5d2789e77d687c1 (diff)
downloadnextpnr-c2dfe6ef8e566271c4ce4f93f7cc7d666d210b00.tar.gz
nextpnr-c2dfe6ef8e566271c4ce4f93f7cc7d666d210b00.tar.bz2
nextpnr-c2dfe6ef8e566271c4ce4f93f7cc7d666d210b00.zip
Fix propagating events
Diffstat (limited to 'gui')
-rw-r--r--gui/fpgaviewwidget.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/gui/fpgaviewwidget.cc b/gui/fpgaviewwidget.cc
index faecee8f..c03b7049 100644
--- a/gui/fpgaviewwidget.cc
+++ b/gui/fpgaviewwidget.cc
@@ -648,6 +648,9 @@ boost::optional<FPGAViewWidget::PickedElement> FPGAViewWidget::pickElement(float
void FPGAViewWidget::mousePressEvent(QMouseEvent *event)
{
+ ImGuiIO &io = ImGui::GetIO();
+ if (io.WantCaptureMouse) return;
+
if (event->buttons() & Qt::RightButton || event->buttons() & Qt::MidButton) {
lastDragPos_ = event->pos();
}
@@ -681,6 +684,9 @@ void FPGAViewWidget::mousePressEvent(QMouseEvent *event)
void FPGAViewWidget::mouseMoveEvent(QMouseEvent *event)
{
+ ImGuiIO &io = ImGui::GetIO();
+ if (io.WantCaptureMouse) return;
+
if (event->buttons() & Qt::RightButton || event->buttons() & Qt::MidButton) {
const int dx = event->x() - lastDragPos_.x();
const int dy = event->y() - lastDragPos_.y();
@@ -717,6 +723,8 @@ void FPGAViewWidget::mouseMoveEvent(QMouseEvent *event)
rendererArgs_->hintText = std::string("WIRE\n") + ctx_->getWireName(closest.wire).c_str(ctx_);
} else if (closest.type == ElementType::PIP) {
rendererArgs_->hintText = std::string("PIP\n") + ctx_->getPipName(closest.pip).c_str(ctx_);
+ } else if (closest.type == ElementType::GROUP) {
+ rendererArgs_->hintText = std::string("GROUP\n") + ctx_->getGroupName(closest.group).c_str(ctx_);
} else rendererArgs_->hintText = "";
pokeRenderer();
@@ -767,6 +775,9 @@ QVector4D FPGAViewWidget::mouseToWorldDimensions(float x, float y)
void FPGAViewWidget::wheelEvent(QWheelEvent *event)
{
+ ImGuiIO &io = ImGui::GetIO();
+ if (io.WantCaptureMouse) return;
+
QPoint degree = event->angleDelta() / 8;
if (!degree.isNull())