update:添加mouse事件
This commit is contained in:
parent
6e0edbcbee
commit
4b04982fc9
|
|
@ -18,8 +18,8 @@ MapPresent::MapPresent(QWidget* parent /*= nullptr*/)
|
|||
|
||||
auto delegate = new BasicUnitDelegate(this);
|
||||
_type_present_delegate[delegate->unitType()] = delegate;
|
||||
connect(this, &MapPresent::mouseOut, delegate, &BasicUnitDelegate::hotClear);
|
||||
connect(this, &MapPresent::mouseHover, delegate, &BasicUnitDelegate::hotIndexSet);
|
||||
connect(this, &MapPresent::mouseOutNotify, delegate, &BasicUnitDelegate::hotClear);
|
||||
connect(this, &MapPresent::mouseHoverNotify, delegate, &BasicUnitDelegate::hotIndexSet);
|
||||
connect(delegate, &BasicUnitDelegate::updateRequest, [=](const PresentIndex& idx) {
|
||||
if (idx.isValid() && !_updated_units.contains(idx)) {
|
||||
_updated_units.append(idx);
|
||||
|
|
@ -137,7 +137,7 @@ void MapPresent::mouseMoveEvent(QMouseEvent* event)
|
|||
event->accept();
|
||||
|
||||
auto index = indexGet(event->pos());
|
||||
emit mouseHover(index);
|
||||
emit mouseHoverNotify(index);
|
||||
}
|
||||
|
||||
void MapPresent::enterEvent(QEvent* event)
|
||||
|
|
@ -145,7 +145,7 @@ void MapPresent::enterEvent(QEvent* event)
|
|||
QWidget::enterEvent(event);
|
||||
event->accept();
|
||||
|
||||
emit mouseIn();
|
||||
emit mouseInNotify();
|
||||
}
|
||||
|
||||
void MapPresent::leaveEvent(QEvent* event)
|
||||
|
|
@ -153,7 +153,19 @@ void MapPresent::leaveEvent(QEvent* event)
|
|||
QWidget::leaveEvent(event);
|
||||
event->accept();
|
||||
|
||||
emit mouseOut();
|
||||
emit mouseOutNotify();
|
||||
}
|
||||
|
||||
void MapPresent::mousePressEvent(QMouseEvent* ev)
|
||||
{
|
||||
QWidget::mousePressEvent(ev);
|
||||
emit this->mousePressNotify(ev);
|
||||
}
|
||||
|
||||
void MapPresent::mouseReleaseEvent(QMouseEvent* ev)
|
||||
{
|
||||
QWidget::mouseReleaseEvent(ev);
|
||||
emit this->mouseReleaseNotify(ev);
|
||||
}
|
||||
|
||||
PresentOption AssumeOpt(PresentIndex index, QRectF rf) {
|
||||
|
|
|
|||
|
|
@ -151,9 +151,11 @@ public:
|
|||
QList<PresentIndex> siblingsGet(const PresentIndex& center, uint16_t dist = 1) const;
|
||||
|
||||
signals:
|
||||
void mouseIn();
|
||||
void mouseOut();
|
||||
void mouseHover(const PresentIndex& unit_index);
|
||||
void mouseInNotify();
|
||||
void mouseOutNotify();
|
||||
void mouseHoverNotify(const PresentIndex& unit_index);
|
||||
void mousePressNotify(QMouseEvent* ev);
|
||||
void mouseReleaseNotify(QMouseEvent* ev);
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent* ev) override;
|
||||
|
|
@ -162,5 +164,6 @@ protected:
|
|||
void mouseMoveEvent(QMouseEvent* event) override;
|
||||
void enterEvent(QEvent* event) override;
|
||||
void leaveEvent(QEvent* event) override;
|
||||
|
||||
void mousePressEvent(QMouseEvent* ev) override;
|
||||
void mouseReleaseEvent(QMouseEvent* ev) override;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue