///////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2021 Equinor ASA // // ResInsight is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. // // See the GNU General Public License at // for more details. // ///////////////////////////////////////////////////////////////////////////////// #include "RifFaultRAXmlWriter.h" #include "RimFaultRASettings.h" #include "RimGenericParameter.h" #include #include RifFaultRAXmlWriter::RifFaultRAXmlWriter( RimFaultRASettings* settings ) : m_settings( settings ) { } RifFaultRAXmlWriter::~RifFaultRAXmlWriter() { } bool RifFaultRAXmlWriter::writeCalculateFile( QString filename, int faultID, QString& outErrorText ) { std::list paramlist = m_settings->basicParameters( faultID ); return writeParametersToXML( filename, paramlist, outErrorText ); } bool RifFaultRAXmlWriter::writeCalibrateFile( QString filename, int faultID, QString& outErrorText ) { std::list paramlist = m_settings->advancedParameters( faultID ); return writeParametersToXML( filename, paramlist, outErrorText ); } bool RifFaultRAXmlWriter::writeParametersToXML( QString filename, std::list& params, QString& outErrorText ) { bool bResult = false; outErrorText = "Unable to write to file \"" + filename + "\" - "; QFile file( filename ); if ( file.open( QIODevice::ReadWrite ) ) { QTextStream stream( &file ); stream << "" << endl; stream << "" << endl; for ( auto& p : params ) { QString tmpStr = QString( "<%1>%2" ).arg( p->name(), p->stringValue() ); stream << tmpStr << endl; } stream << "" << endl; bResult = true; } else { outErrorText += "Could not open file."; } if ( bResult ) outErrorText = ""; return bResult; }