#2218 observed data. Save ascii parse options to project file and use settings on project load

This commit is contained in:
Bjørn Erik Jensen 2017-12-04 11:48:59 +01:00
parent 8ab70887c3
commit 2a32760132
3 changed files with 19 additions and 12 deletions

View File

@ -38,6 +38,11 @@ RimCsvUserData::RimCsvUserData()
{
CAF_PDM_InitObject("Observed CSV Data File", ":/Default.png", "", "");
m_summaryHeaderFilename.uiCapability()->setUiName("File");
CAF_PDM_InitFieldNoDefault(&m_parseOptions, "ParseOptions", "", "", "", "");
m_parseOptions = new RicPasteAsciiDataToSummaryPlotFeatureUi();
m_parseOptions->uiCapability()->setUiHidden(true);
m_parseOptions->uiCapability()->setUiTreeHidden(true);
}
//--------------------------------------------------------------------------------------------------
@ -58,7 +63,7 @@ void RimCsvUserData::createSummaryReaderInterface()
if (caf::Utils::fileExists(this->summaryHeaderFilename()))
{
RifCsvUserData* csvUserData = new RifCsvUserData();
if (csvUserData->parse(this->summaryHeaderFilename(), m_parseOptions, &m_errorText))
if (csvUserData->parse(this->summaryHeaderFilename(), m_parseOptions->parseOptions() , &m_errorText))
{
m_summaryReader = csvUserData;
}
@ -88,7 +93,7 @@ QString RimCsvUserData::errorMessagesFromReader()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimCsvUserData::setParseOptions(const AsciiDataParseOptions &parseOptions)
RicPasteAsciiDataToSummaryPlotFeatureUi* RimCsvUserData::parseOptions() const
{
m_parseOptions = parseOptions;
return m_parseOptions();
}

View File

@ -24,6 +24,7 @@
#include "cafPdmObject.h"
#include "cafPdmField.h"
#include "cafPdmChildField.h"
#include "cvfObject.h"
class RifSummaryReaderInterface;
@ -44,10 +45,10 @@ public:
virtual QString errorMessagesFromReader() override;
void setParseOptions(const AsciiDataParseOptions &parseOptions);
RicPasteAsciiDataToSummaryPlotFeatureUi* parseOptions() const;
private:
caf::PdmChildField<RicPasteAsciiDataToSummaryPlotFeatureUi*> m_parseOptions;
cvf::ref<RifSummaryReaderInterface> m_summaryReader;
QString m_errorText;
AsciiDataParseOptions m_parseOptions;
};

View File

@ -150,23 +150,24 @@ RimObservedData* RimObservedDataCollection::createAndAddCvsObservedDataFromFile(
RimObservedData* observedData = nullptr;
bool parseOk = false;
RicPasteAsciiDataToSummaryPlotFeatureUi parseOptionsUi;
RimCsvUserData* userData = new RimCsvUserData();
RicPasteAsciiDataToSummaryPlotFeatureUi* parseOptions = userData->parseOptions();
if (useSavedFieldsValuesInDialog)
{
caf::PdmSettings::readFieldsFromApplicationStore(&parseOptionsUi);
caf::PdmSettings::readFieldsFromApplicationStore(parseOptions);
}
parseOptionsUi.setUiModeImport(fileName);
parseOptions->setUiModeImport(fileName);
caf::PdmUiPropertyViewDialog propertyDialog(NULL, &parseOptionsUi, "CSV Import Options", "");
caf::PdmUiPropertyViewDialog propertyDialog(NULL, parseOptions, "CSV Import Options", "");
if (propertyDialog.exec() != QDialog::Accepted)
{
return nullptr;
}
caf::PdmSettings::writeFieldsToApplicationStore(&parseOptionsUi);
caf::PdmSettings::writeFieldsToApplicationStore(parseOptions);
RimCsvUserData* userData = new RimCsvUserData();
userData->setParseOptions(parseOptionsUi.parseOptions());
//userData->setParseOptions(parseOptionsUi.parseOptions());
userData->setSummaryHeaderFileName(fileName);
userData->createSummaryReaderInterface();
userData->updateMetaData();