mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3883 Annotations. Validate line thickness
This commit is contained in:
parent
024aa8af51
commit
a2e2907e41
@ -19,6 +19,29 @@
|
|||||||
#include "RimAnnotationLineAppearance.h"
|
#include "RimAnnotationLineAppearance.h"
|
||||||
#include "RimAnnotationCollection.h"
|
#include "RimAnnotationCollection.h"
|
||||||
|
|
||||||
|
#include "RiaStdStringTools.h"
|
||||||
|
|
||||||
|
#include "QValidator.h"
|
||||||
|
|
||||||
|
#include "cafPdmUiLineEditor.h"
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
class ThicknessValidator : public QValidator
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
State validate(QString &input, int &pos) const override
|
||||||
|
{
|
||||||
|
if (input.isEmpty()) return State::Intermediate;
|
||||||
|
|
||||||
|
int val = RiaStdStringTools::toInt(input.toStdString());
|
||||||
|
if (val > 0 && val < 8) return State::Acceptable;
|
||||||
|
else return State::Invalid;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
namespace caf
|
namespace caf
|
||||||
{
|
{
|
||||||
template<>
|
template<>
|
||||||
@ -108,6 +131,23 @@ void RimAnnotationLineAppearance::fieldChangedByUi(const caf::PdmFieldHandle* ch
|
|||||||
annColl->scheduleRedrawOfRelevantViews();
|
annColl->scheduleRedrawOfRelevantViews();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimAnnotationLineAppearance::defineEditorAttribute(const caf::PdmFieldHandle* field,
|
||||||
|
QString uiConfigName,
|
||||||
|
caf::PdmUiEditorAttribute* attribute)
|
||||||
|
{
|
||||||
|
if (field == &m_thickness)
|
||||||
|
{
|
||||||
|
auto myAttr = dynamic_cast<caf::PdmUiLineEditorAttribute*>(attribute);
|
||||||
|
if (myAttr)
|
||||||
|
{
|
||||||
|
myAttr->validator = new ThicknessValidator();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT(RimPolylineAppearance, "RimPolylineAppearance");
|
CAF_PDM_SOURCE_INIT(RimPolylineAppearance, "RimPolylineAppearance");
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -52,6 +52,9 @@ public:
|
|||||||
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;
|
||||||
|
void defineEditorAttribute(const caf::PdmFieldHandle* field,
|
||||||
|
QString uiConfigName,
|
||||||
|
caf::PdmUiEditorAttribute* attribute) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<cvf::Color3f> m_color;
|
caf::PdmField<cvf::Color3f> m_color;
|
||||||
|
Loading…
Reference in New Issue
Block a user