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

View File

@ -18,6 +18,8 @@
#include "RicPasteAsciiDataToSummaryPlotFeatureUi.h" #include "RicPasteAsciiDataToSummaryPlotFeatureUi.h"
#include "cafPdmUiTextEditor.h"
namespace caf { namespace caf {
template<> template<>
@ -48,8 +50,9 @@ namespace caf {
template<> template<>
void RicPasteAsciiDataToSummaryPlotFeatureUi::CellSeparatorEnum::setUp() void RicPasteAsciiDataToSummaryPlotFeatureUi::CellSeparatorEnum::setUp()
{ {
addItem(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_TAB, "TAB", "Tab"); addItem(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_TAB, "TAB", "Tab");
addItem(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_COMMA, "COMMA", "Comma"); addItem(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_COMMA, "COMMA", "Comma");
addItem(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_SEMICOLON, "SEMICOLON", "Semicolon");
setDefault(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_TAB); setDefault(RicPasteAsciiDataToSummaryPlotFeatureUi::CELL_TAB);
} }
} }
@ -79,6 +82,11 @@ RicPasteAsciiDataToSummaryPlotFeatureUi::RicPasteAsciiDataToSummaryPlotFeatureUi
CAF_PDM_InitField(&m_curveSymbolSkipDistance, "SymbolSkipDinstance", 0.0f, "Symbol Skip Distance", "", "", ""); CAF_PDM_InitField(&m_curveSymbolSkipDistance, "SymbolSkipDinstance", 0.0f, "Symbol Skip Distance", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_cellSeparator, "CellSeparator", "Cell Separator", "", "", ""); 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; 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); appearanceGroup->add(&m_curveSymbolSkipDistance);
} }
{
caf::PdmUiGroup* previewGroup = uiOrdering.addNewGroup("Preview");
previewGroup->add(&m_previewText);
}
uiOrdering.skipRemainingFields(); 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_COMMA,
CELL_TAB, CELL_TAB,
CELL_SEMICOLON
}; };
typedef caf::AppEnum<CellSeparator> CellSeparatorEnum; typedef caf::AppEnum<CellSeparator> CellSeparatorEnum;
@ -81,9 +82,11 @@ public:
float symbolSkipDinstance() const; float symbolSkipDinstance() const;
void createNewPlot(); void createNewPlot();
void setPreviewText(const QString& text);
protected: protected:
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override;
private: private:
caf::PdmField<QString> m_plotTitle; caf::PdmField<QString> m_plotTitle;
@ -100,4 +103,6 @@ private:
caf::PdmField<float> m_curveSymbolSkipDistance; caf::PdmField<float> m_curveSymbolSkipDistance;
bool m_createNewPlot; bool m_createNewPlot;
caf::PdmField<QString> m_previewText;
}; };