#2018 Ascii data. Add preview text field to ascii paste dialog

This commit is contained in:
Bjørn Erik Jensen 2017-11-21 10:01:43 +01:00
parent bd2f04c13f
commit d7dc304eca
3 changed files with 47 additions and 4 deletions

View File

@ -81,8 +81,11 @@ void RicPasteAsciiDataToSummaryPlotFeature::onActionTriggered(bool isChecked)
RimSummaryPlot* summaryPlot = nullptr;
destinationObject->firstAncestorOrThisOfType(summaryPlot);
QString text = getPastedData();
RicPasteAsciiDataToSummaryPlotFeatureUi pasteOptions;
if (!summaryPlot) pasteOptions.createNewPlot();
pasteOptions.setPreviewText(text);
caf::PdmSettings::readFieldsFromApplicationStore(&pasteOptions);
caf::PdmUiPropertyViewDialog propertyDialog(NULL, &pasteOptions, "Set Paste Options", "");
@ -101,8 +104,6 @@ void RicPasteAsciiDataToSummaryPlotFeature::onActionTriggered(bool isChecked)
caf::PdmSettings::writeFieldsToApplicationStore(&pasteOptions);
QString text = getPastedData();
std::vector<RimAsciiDataCurve*> curves = parseCurves(text, pasteOptions);
for (RimAsciiDataCurve* curve : curves)

View File

@ -18,6 +18,8 @@
#include "RicPasteAsciiDataToSummaryPlotFeatureUi.h"
#include "cafPdmUiTextEditor.h"
namespace caf {
template<>
@ -48,8 +50,9 @@ namespace caf {
template<>
void RicPasteAsciiDataToSummaryPlotFeatureUi::CellSeparatorEnum::setUp()
{
addItem(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_TAB, "TAB", "Tab");
addItem(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_COMMA, "COMMA", "Comma");
addItem(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_TAB, "TAB", "Tab");
addItem(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_COMMA, "COMMA", "Comma");
addItem(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_SEMICOLON, "SEMICOLON", "Semicolon");
setDefault(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_TAB);
}
}
@ -79,6 +82,11 @@ RicPasteAsciiDataToSummaryPlotFeatureUi::RicPasteAsciiDataToSummaryPlotFeatureUi
CAF_PDM_InitField(&m_curveSymbolSkipDistance, "SymbolSkipDinstance", 0.0f, "Symbol Skip Distance", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_cellSeparator, "CellSeparator", "Cell Separator", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_previewText, "PreviewText", "Preview Text", "", "", "");
m_previewText.uiCapability()->setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
m_previewText.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_previewText.uiCapability()->setUiReadOnly(true);
}
//--------------------------------------------------------------------------------------------------
@ -179,6 +187,14 @@ void RicPasteAsciiDataToSummaryPlotFeatureUi::createNewPlot()
m_createNewPlot = true;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicPasteAsciiDataToSummaryPlotFeatureUi::setPreviewText(const QString& previewText)
{
m_previewText = previewText;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -226,5 +242,26 @@ void RicPasteAsciiDataToSummaryPlotFeatureUi::defineUiOrdering(QString uiConfigN
appearanceGroup->add(&m_curveSymbolSkipDistance);
}
{
caf::PdmUiGroup* previewGroup = uiOrdering.addNewGroup("Preview");
previewGroup->add(&m_previewText);
}
uiOrdering.skipRemainingFields();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicPasteAsciiDataToSummaryPlotFeatureUi::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute)
{
if (field == &m_previewText)
{
caf::PdmUiTextEditorAttribute* attrib = dynamic_cast<caf::PdmUiTextEditorAttribute*> (attribute);
if (attrib)
{
attrib->wrapMode = caf::PdmUiTextEditorAttribute::NoWrap;
}
}
}

View File

@ -64,6 +64,7 @@ public:
{
CELL_COMMA,
CELL_TAB,
CELL_SEMICOLON
};
typedef caf::AppEnum<CellSeparator> CellSeparatorEnum;
@ -81,9 +82,11 @@ public:
float symbolSkipDinstance() const;
void createNewPlot();
void setPreviewText(const QString& text);
protected:
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override;
private:
caf::PdmField<QString> m_plotTitle;
@ -100,4 +103,6 @@ private:
caf::PdmField<float> m_curveSymbolSkipDistance;
bool m_createNewPlot;
caf::PdmField<QString> m_previewText;
};