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)
|
||||
{
|
||||
if (m_rimAnnotation.isNull()) return;
|
||||
if (!m_rimAnnotation->isActive()) return;
|
||||
|
||||
if (!validateAnnotation(m_rimAnnotation)) return;
|
||||
|
||||
buildParts(displayXf, false, 0.0);
|
||||
|
@ -155,6 +155,8 @@ void RivTextAnnotationPartMgr::appendDynamicGeometryPartsToModel(cvf::ModelBasic
|
||||
const caf::DisplayCoordTransform * displayXf)
|
||||
{
|
||||
if (m_rimAnnotation.isNull()) return;
|
||||
if (!m_rimAnnotation->isActive()) return;
|
||||
|
||||
if (!validateAnnotation(m_rimAnnotation)) return;
|
||||
|
||||
buildParts(displayXf, false, 0.0);
|
||||
|
@ -33,6 +33,9 @@ RimLineBasedAnnotation::RimLineBasedAnnotation()
|
||||
m_appearance = new RimAnnotationLineAppearance();
|
||||
m_appearance.uiCapability()->setUiTreeHidden(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;
|
||||
}
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimLineBasedAnnotation::isActive()
|
||||
{
|
||||
return m_isActive();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::PdmFieldHandle* RimLineBasedAnnotation::objectToggleField()
|
||||
{
|
||||
return &m_isActive;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "cafPdmObject.h"
|
||||
|
||||
#include "cafPdmChildField.h"
|
||||
#include "cafPdmField.h"
|
||||
|
||||
class RimGridView;
|
||||
class RimAnnotationLineAppearance;
|
||||
@ -37,6 +38,14 @@ public:
|
||||
RimLineBasedAnnotation();
|
||||
RimAnnotationLineAppearance* appearance() const;
|
||||
|
||||
bool isActive();
|
||||
|
||||
protected:
|
||||
virtual caf::PdmFieldHandle* objectToggleField() override;
|
||||
|
||||
private:
|
||||
caf::PdmField<bool> m_isActive;
|
||||
|
||||
private:
|
||||
caf::PdmChildField<RimAnnotationLineAppearance*> m_appearance;
|
||||
};
|
||||
|
@ -35,9 +35,6 @@ RimPolylinesAnnotation::RimPolylinesAnnotation()
|
||||
{
|
||||
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();
|
||||
|
||||
bool isActive();
|
||||
|
||||
virtual cvf::ref<RigPolyLinesData> polyLinesData() = 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_InitFieldNoDefault(&m_polyLinesFileName, "PolyLineFilePath", "File Path", "", "", "");
|
||||
m_polyLinesFileName.uiCapability()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
|
||||
CAF_PDM_InitFieldNoDefault(&m_polyLinesFileName, "PolyLineFilePath", "File", "", "", "");
|
||||
CAF_PDM_InitField(&m_userDescription, "PolyLineDescription", QString(""), "Name", "", "", "");
|
||||
|
||||
}
|
||||
|
@ -101,23 +101,3 @@ caf::PdmFieldHandle* RimReachCircleAnnotation::userDescriptionField()
|
||||
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;
|
||||
caf::PdmFieldHandle* userDescriptionField() override;
|
||||
|
||||
private:
|
||||
std::vector<RimGridView*> gridViewsContainingAnnotations() const;
|
||||
|
||||
private:
|
||||
caf::PdmField<Vec3d> m_centerPointXyd;
|
||||
caf::PdmField<double> m_radius;
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "RimAnnotationInViewCollection.h"
|
||||
#include "RimGridView.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimAnnotationCollection.h"
|
||||
|
||||
|
||||
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_labelPointXyd, "LabelPointXyd", Vec3d::ZERO, "Label Point", "", "", "");
|
||||
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& newValue)
|
||||
{
|
||||
auto views = gridViewsContainingAnnotations();
|
||||
if (!views.empty())
|
||||
{
|
||||
if (changedField == &m_text || changedField == &m_anchorPointXyd || changedField == &m_labelPointXyd)
|
||||
{
|
||||
for (auto& view : views)
|
||||
{
|
||||
view->scheduleCreateDisplayModelAndRedraw();
|
||||
}
|
||||
}
|
||||
}
|
||||
RimAnnotationCollection* annColl = nullptr;
|
||||
this->firstAncestorOrThisOfTypeAsserted(annColl);
|
||||
|
||||
annColl->scheduleRedrawOfRelevantViews();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -117,20 +123,18 @@ caf::PdmFieldHandle* RimTextAnnotation::userDescriptionField()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<RimGridView*> RimTextAnnotation::gridViewsContainingAnnotations() const
|
||||
bool RimTextAnnotation::isActive()
|
||||
{
|
||||
std::vector<RimGridView*> views;
|
||||
RimProject* project = nullptr;
|
||||
this->firstAncestorOrThisOfType(project);
|
||||
return m_isActive();
|
||||
}
|
||||
|
||||
if (!project) return views;
|
||||
|
||||
std::vector<RimGridView*> visibleGridViews;
|
||||
project->allVisibleGridViews(visibleGridViews);
|
||||
|
||||
for (auto& gridView : visibleGridViews)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::PdmFieldHandle* RimTextAnnotation::objectToggleField()
|
||||
{
|
||||
if (gridView->annotationCollection()->isActive()) views.push_back(gridView);
|
||||
}
|
||||
return views;
|
||||
return &m_isActive;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -51,23 +51,25 @@ class RimTextAnnotation : public caf::PdmObject
|
||||
|
||||
public:
|
||||
RimTextAnnotation();
|
||||
~RimTextAnnotation();
|
||||
|
||||
Vec3d anchorPoint() const;
|
||||
Vec3d labelPoint() const;
|
||||
void setText(const QString& text);
|
||||
const QString& text() const;
|
||||
bool isActive();
|
||||
|
||||
protected:
|
||||
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||
caf::PdmFieldHandle* userDescriptionField() override;
|
||||
|
||||
private:
|
||||
std::vector<RimGridView*> gridViewsContainingAnnotations() const;
|
||||
virtual caf::PdmFieldHandle* objectToggleField() override;
|
||||
|
||||
private:
|
||||
caf::PdmField<Vec3d> m_anchorPointXyd;
|
||||
caf::PdmField<Vec3d> m_labelPointXyd;
|
||||
caf::PdmField<QString> m_text;
|
||||
caf::PdmField<bool> m_isActive;
|
||||
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user