mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3776 Add toggle to text and reach circles annotations
This commit is contained in:
parent
30b34bbe67
commit
04754d394f
@ -124,6 +124,8 @@ void RivReachCircleAnnotationPartMgr::appendDynamicGeometryPartsToModel(cvf::Mod
|
|||||||
const caf::DisplayCoordTransform* displayXf)
|
const caf::DisplayCoordTransform* displayXf)
|
||||||
{
|
{
|
||||||
if (m_rimAnnotation.isNull()) return;
|
if (m_rimAnnotation.isNull()) return;
|
||||||
|
if (!m_rimAnnotation->isActive()) return;
|
||||||
|
|
||||||
if (!validateAnnotation(m_rimAnnotation)) return;
|
if (!validateAnnotation(m_rimAnnotation)) return;
|
||||||
|
|
||||||
buildParts(displayXf, false, 0.0);
|
buildParts(displayXf, false, 0.0);
|
||||||
|
@ -155,6 +155,8 @@ void RivTextAnnotationPartMgr::appendDynamicGeometryPartsToModel(cvf::ModelBasic
|
|||||||
const caf::DisplayCoordTransform * displayXf)
|
const caf::DisplayCoordTransform * displayXf)
|
||||||
{
|
{
|
||||||
if (m_rimAnnotation.isNull()) return;
|
if (m_rimAnnotation.isNull()) return;
|
||||||
|
if (!m_rimAnnotation->isActive()) return;
|
||||||
|
|
||||||
if (!validateAnnotation(m_rimAnnotation)) return;
|
if (!validateAnnotation(m_rimAnnotation)) return;
|
||||||
|
|
||||||
buildParts(displayXf, false, 0.0);
|
buildParts(displayXf, false, 0.0);
|
||||||
|
@ -33,6 +33,9 @@ RimLineBasedAnnotation::RimLineBasedAnnotation()
|
|||||||
m_appearance = new RimAnnotationLineAppearance();
|
m_appearance = new RimAnnotationLineAppearance();
|
||||||
m_appearance.uiCapability()->setUiTreeHidden(true);
|
m_appearance.uiCapability()->setUiTreeHidden(true);
|
||||||
m_appearance.uiCapability()->setUiTreeChildrenHidden(true);
|
m_appearance.uiCapability()->setUiTreeChildrenHidden(true);
|
||||||
|
CAF_PDM_InitField(&m_isActive, "IsActive", true, "Is Active", "", "", "");
|
||||||
|
m_isActive.uiCapability()->setUiHidden(true);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,3 +46,21 @@ RimAnnotationLineAppearance* RimLineBasedAnnotation::appearance() const
|
|||||||
{
|
{
|
||||||
return m_appearance;
|
return m_appearance;
|
||||||
}
|
}
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
bool RimLineBasedAnnotation::isActive()
|
||||||
|
{
|
||||||
|
return m_isActive();
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
caf::PdmFieldHandle* RimLineBasedAnnotation::objectToggleField()
|
||||||
|
{
|
||||||
|
return &m_isActive;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#include "cafPdmObject.h"
|
#include "cafPdmObject.h"
|
||||||
|
|
||||||
#include "cafPdmChildField.h"
|
#include "cafPdmChildField.h"
|
||||||
|
#include "cafPdmField.h"
|
||||||
|
|
||||||
class RimGridView;
|
class RimGridView;
|
||||||
class RimAnnotationLineAppearance;
|
class RimAnnotationLineAppearance;
|
||||||
@ -37,6 +38,14 @@ public:
|
|||||||
RimLineBasedAnnotation();
|
RimLineBasedAnnotation();
|
||||||
RimAnnotationLineAppearance* appearance() const;
|
RimAnnotationLineAppearance* appearance() const;
|
||||||
|
|
||||||
|
bool isActive();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual caf::PdmFieldHandle* objectToggleField() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
caf::PdmField<bool> m_isActive;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmChildField<RimAnnotationLineAppearance*> m_appearance;
|
caf::PdmChildField<RimAnnotationLineAppearance*> m_appearance;
|
||||||
};
|
};
|
||||||
|
@ -35,9 +35,6 @@ RimPolylinesAnnotation::RimPolylinesAnnotation()
|
|||||||
{
|
{
|
||||||
CAF_PDM_InitObject("PolylineAnnotation", ":/WellCollection.png", "", "");
|
CAF_PDM_InitObject("PolylineAnnotation", ":/WellCollection.png", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_isActive, "IsActive", true, "Is Active", "", "", "");
|
|
||||||
m_isActive.uiCapability()->setUiHidden(true);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -48,12 +45,3 @@ RimPolylinesAnnotation::~RimPolylinesAnnotation()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
bool RimPolylinesAnnotation::isActive()
|
|
||||||
{
|
|
||||||
return m_isActive();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,11 +39,8 @@ public:
|
|||||||
RimPolylinesAnnotation();
|
RimPolylinesAnnotation();
|
||||||
~RimPolylinesAnnotation();
|
~RimPolylinesAnnotation();
|
||||||
|
|
||||||
bool isActive();
|
|
||||||
|
|
||||||
virtual cvf::ref<RigPolyLinesData> polyLinesData() = 0;
|
virtual cvf::ref<RigPolyLinesData> polyLinesData() = 0;
|
||||||
virtual bool isEmpty() = 0;
|
virtual bool isEmpty() = 0;
|
||||||
|
|
||||||
private:
|
|
||||||
caf::PdmField<bool> m_isActive;
|
|
||||||
};
|
};
|
||||||
|
@ -37,8 +37,7 @@ RimPolylinesFromFileAnnotation::RimPolylinesFromFileAnnotation()
|
|||||||
{
|
{
|
||||||
CAF_PDM_InitObject("PolyLines Annotation", ":/WellCollection.png", "", "");
|
CAF_PDM_InitObject("PolyLines Annotation", ":/WellCollection.png", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_polyLinesFileName, "PolyLineFilePath", "File Path", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_polyLinesFileName, "PolyLineFilePath", "File", "", "", "");
|
||||||
m_polyLinesFileName.uiCapability()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
|
|
||||||
CAF_PDM_InitField(&m_userDescription, "PolyLineDescription", QString(""), "Name", "", "", "");
|
CAF_PDM_InitField(&m_userDescription, "PolyLineDescription", QString(""), "Name", "", "", "");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -101,23 +101,3 @@ caf::PdmFieldHandle* RimReachCircleAnnotation::userDescriptionField()
|
|||||||
return &m_name;
|
return &m_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
std::vector<RimGridView*> RimReachCircleAnnotation::gridViewsContainingAnnotations() const
|
|
||||||
{
|
|
||||||
std::vector<RimGridView*> views;
|
|
||||||
RimProject* project = nullptr;
|
|
||||||
this->firstAncestorOrThisOfType(project);
|
|
||||||
|
|
||||||
if (!project) return views;
|
|
||||||
|
|
||||||
std::vector<RimGridView*> visibleGridViews;
|
|
||||||
project->allVisibleGridViews(visibleGridViews);
|
|
||||||
|
|
||||||
for (auto& gridView : visibleGridViews)
|
|
||||||
{
|
|
||||||
if (gridView->annotationCollection()->isActive()) views.push_back(gridView);
|
|
||||||
}
|
|
||||||
return views;
|
|
||||||
}
|
|
||||||
|
@ -64,9 +64,6 @@ protected:
|
|||||||
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||||
caf::PdmFieldHandle* userDescriptionField() override;
|
caf::PdmFieldHandle* userDescriptionField() override;
|
||||||
|
|
||||||
private:
|
|
||||||
std::vector<RimGridView*> gridViewsContainingAnnotations() const;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<Vec3d> m_centerPointXyd;
|
caf::PdmField<Vec3d> m_centerPointXyd;
|
||||||
caf::PdmField<double> m_radius;
|
caf::PdmField<double> m_radius;
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#include "RimAnnotationInViewCollection.h"
|
#include "RimAnnotationInViewCollection.h"
|
||||||
#include "RimGridView.h"
|
#include "RimGridView.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
|
#include "RimAnnotationCollection.h"
|
||||||
|
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT(RimTextAnnotation, "RimTextAnnotation");
|
CAF_PDM_SOURCE_INIT(RimTextAnnotation, "RimTextAnnotation");
|
||||||
@ -36,6 +37,18 @@ RimTextAnnotation::RimTextAnnotation()
|
|||||||
CAF_PDM_InitField(&m_anchorPointXyd, "AnchorPointXyd", Vec3d::ZERO, "Anchor Point", "", "", "");
|
CAF_PDM_InitField(&m_anchorPointXyd, "AnchorPointXyd", Vec3d::ZERO, "Anchor Point", "", "", "");
|
||||||
CAF_PDM_InitField(&m_labelPointXyd, "LabelPointXyd", Vec3d::ZERO, "Label Point", "", "", "");
|
CAF_PDM_InitField(&m_labelPointXyd, "LabelPointXyd", Vec3d::ZERO, "Label Point", "", "", "");
|
||||||
CAF_PDM_InitField(&m_text, "Text", QString("(New text)"), "Text", "", "", "");
|
CAF_PDM_InitField(&m_text, "Text", QString("(New text)"), "Text", "", "", "");
|
||||||
|
|
||||||
|
CAF_PDM_InitField(&m_isActive, "IsActive", true, "Is Active", "", "", "");
|
||||||
|
m_isActive.uiCapability()->setUiHidden(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
RimTextAnnotation::~RimTextAnnotation()
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -93,17 +106,10 @@ void RimTextAnnotation::fieldChangedByUi(const caf::PdmFieldHandle* changedField
|
|||||||
const QVariant& oldValue,
|
const QVariant& oldValue,
|
||||||
const QVariant& newValue)
|
const QVariant& newValue)
|
||||||
{
|
{
|
||||||
auto views = gridViewsContainingAnnotations();
|
RimAnnotationCollection* annColl = nullptr;
|
||||||
if (!views.empty())
|
this->firstAncestorOrThisOfTypeAsserted(annColl);
|
||||||
{
|
|
||||||
if (changedField == &m_text || changedField == &m_anchorPointXyd || changedField == &m_labelPointXyd)
|
annColl->scheduleRedrawOfRelevantViews();
|
||||||
{
|
|
||||||
for (auto& view : views)
|
|
||||||
{
|
|
||||||
view->scheduleCreateDisplayModelAndRedraw();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -115,22 +121,20 @@ caf::PdmFieldHandle* RimTextAnnotation::userDescriptionField()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
std::vector<RimGridView*> RimTextAnnotation::gridViewsContainingAnnotations() const
|
bool RimTextAnnotation::isActive()
|
||||||
{
|
{
|
||||||
std::vector<RimGridView*> views;
|
return m_isActive();
|
||||||
RimProject* project = nullptr;
|
|
||||||
this->firstAncestorOrThisOfType(project);
|
|
||||||
|
|
||||||
if (!project) return views;
|
|
||||||
|
|
||||||
std::vector<RimGridView*> visibleGridViews;
|
|
||||||
project->allVisibleGridViews(visibleGridViews);
|
|
||||||
|
|
||||||
for (auto& gridView : visibleGridViews)
|
|
||||||
{
|
|
||||||
if (gridView->annotationCollection()->isActive()) views.push_back(gridView);
|
|
||||||
}
|
|
||||||
return views;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
caf::PdmFieldHandle* RimTextAnnotation::objectToggleField()
|
||||||
|
{
|
||||||
|
return &m_isActive;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,23 +51,25 @@ class RimTextAnnotation : public caf::PdmObject
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
RimTextAnnotation();
|
RimTextAnnotation();
|
||||||
|
~RimTextAnnotation();
|
||||||
|
|
||||||
Vec3d anchorPoint() const;
|
Vec3d anchorPoint() const;
|
||||||
Vec3d labelPoint() const;
|
Vec3d labelPoint() const;
|
||||||
void setText(const QString& text);
|
void setText(const QString& text);
|
||||||
const QString& text() const;
|
const QString& text() const;
|
||||||
|
bool isActive();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||||
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||||
caf::PdmFieldHandle* userDescriptionField() override;
|
caf::PdmFieldHandle* userDescriptionField() override;
|
||||||
|
virtual caf::PdmFieldHandle* objectToggleField() override;
|
||||||
private:
|
|
||||||
std::vector<RimGridView*> gridViewsContainingAnnotations() const;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<Vec3d> m_anchorPointXyd;
|
caf::PdmField<Vec3d> m_anchorPointXyd;
|
||||||
caf::PdmField<Vec3d> m_labelPointXyd;
|
caf::PdmField<Vec3d> m_labelPointXyd;
|
||||||
caf::PdmField<QString> m_text;
|
caf::PdmField<QString> m_text;
|
||||||
|
caf::PdmField<bool> m_isActive;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user