mirror of
https://github.com/OPM/ResInsight.git
synced 2026-09-03 20:53:13 -05:00
#911 Fixed picking on category legend
This commit is contained in:
@@ -720,6 +720,26 @@ caf::PdmObject* RiuViewer::lastPickedObject() const
|
|||||||
return m_viewerCommands->currentPickedObject();
|
return m_viewerCommands->currentPickedObject();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
cvf::OverlayItem* RiuViewer::pickFixedPositionedLegend(int winPosX, int winPosY)
|
||||||
|
{
|
||||||
|
int translatedMousePosX = winPosX;
|
||||||
|
int translatedMousePosY = height() - winPosY;
|
||||||
|
|
||||||
|
for (auto overlayItem : m_visibleLegends)
|
||||||
|
{
|
||||||
|
if (overlayItem->layoutScheme() == cvf::OverlayItem::FIXED_POSITION &&
|
||||||
|
overlayItem->pick(translatedMousePosX, translatedMousePosY, overlayItem->fixedPosition(), overlayItem->sizeHint()))
|
||||||
|
{
|
||||||
|
return overlayItem.p();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -92,6 +92,8 @@ public:
|
|||||||
cvf::Vec3d lastPickPositionInDomainCoords() const;
|
cvf::Vec3d lastPickPositionInDomainCoords() const;
|
||||||
caf::PdmObject* lastPickedObject() const;
|
caf::PdmObject* lastPickedObject() const;
|
||||||
|
|
||||||
|
cvf::OverlayItem* pickFixedPositionedLegend(int winPosX, int winPosY);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
virtual void slotSetCurrentFrame(int frameIndex);
|
virtual void slotSetCurrentFrame(int frameIndex);
|
||||||
virtual void slotEndAnimation();
|
virtual void slotEndAnimation();
|
||||||
|
|||||||
@@ -804,6 +804,11 @@ void RiuViewerCommands::ijkFromCellIndex(size_t gridIdx, size_t cellIndex, size
|
|||||||
bool RiuViewerCommands::handleOverlayItemPicking(int winPosX, int winPosY)
|
bool RiuViewerCommands::handleOverlayItemPicking(int winPosX, int winPosY)
|
||||||
{
|
{
|
||||||
cvf::OverlayItem* pickedOverlayItem = m_viewer->overlayItem(winPosX, winPosY);
|
cvf::OverlayItem* pickedOverlayItem = m_viewer->overlayItem(winPosX, winPosY);
|
||||||
|
if (!pickedOverlayItem)
|
||||||
|
{
|
||||||
|
pickedOverlayItem = m_viewer->pickFixedPositionedLegend(winPosX, winPosY);
|
||||||
|
}
|
||||||
|
|
||||||
if (pickedOverlayItem)
|
if (pickedOverlayItem)
|
||||||
{
|
{
|
||||||
caf::PdmObject* objToSelect = NULL;
|
caf::PdmObject* objToSelect = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user