mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3814 Annotations. Multiline text annotation support
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
|
||||
#include "AnnotationCommands/RicTextAnnotation3dEditor.h"
|
||||
|
||||
#include "cafPdmUiTextEditor.h"
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimTextAnnotation, "RimTextAnnotation");
|
||||
|
||||
@@ -43,12 +44,19 @@ 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", "", "", "");
|
||||
m_text.uiCapability()->setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
|
||||
|
||||
CAF_PDM_InitField(&m_isActive, "IsActive", true, "Is Active", "", "", "");
|
||||
m_isActive.uiCapability()->setUiHidden(true);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_textAppearance, "TextAppearance", "Text Appearance", "", "", "");
|
||||
m_textAppearance = new RimAnnotationTextAppearance();
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_nameProxy, "NameProxy", "Name Proxy", "", "", "");
|
||||
m_nameProxy.registerGetMethod(this, &RimTextAnnotation::extractNameFromText);
|
||||
m_nameProxy.uiCapability()->setUiReadOnly(true);
|
||||
m_nameProxy.xmlCapability()->disableIO();
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -146,7 +154,7 @@ void RimTextAnnotation::fieldChangedByUi(const caf::PdmFieldHandle* changedField
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::PdmFieldHandle* RimTextAnnotation::userDescriptionField()
|
||||
{
|
||||
return &m_text;
|
||||
return &m_nameProxy;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -187,5 +195,12 @@ caf::PdmFieldHandle* RimTextAnnotation::objectToggleField()
|
||||
return &m_isActive;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimTextAnnotation::extractNameFromText() const
|
||||
{
|
||||
return m_text().split("\n").front();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "cafPdmFieldCvfColor.h"
|
||||
#include "cafPdmChildField.h"
|
||||
#include "cafPdmFieldCvfVec3d.h"
|
||||
#include "cafPdmProxyValueField.h"
|
||||
|
||||
#include "cvfObject.h"
|
||||
#include "cvfVector3.h"
|
||||
@@ -73,7 +74,9 @@ protected:
|
||||
virtual caf::PdmFieldHandle* objectToggleField() override;
|
||||
|
||||
private:
|
||||
friend class RicTextAnnotation3dEditor;
|
||||
friend class RicTextAnnotation3dEditor;
|
||||
|
||||
QString extractNameFromText() const;
|
||||
|
||||
caf::PdmField<Vec3d> m_anchorPointXyd;
|
||||
caf::PdmField<Vec3d> m_labelPointXyd;
|
||||
@@ -81,5 +84,7 @@ friend class RicTextAnnotation3dEditor;
|
||||
caf::PdmField<bool> m_isActive;
|
||||
|
||||
caf::PdmChildField<RimAnnotationTextAppearance*> m_textAppearance;
|
||||
|
||||
caf::PdmProxyValueField<QString> m_nameProxy;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user