Files
ResInsight/ApplicationLibCode/ProjectDataModel/WellPath/RimFileWellPath.h
T
Magne Sjaastad 0e27709fe3 #13963 Well path: Migrate legacy SSIHUB cache file path to m_filePath
Restore m_filePathInCache_OBSOLETE as a read-only field (write disabled)
so existing projects that stored the well path in WellPathFilePathInCache
can still be loaded. In initAfterRead, look up the cache file in the
current project's cache directory and copy the path into m_filePath.
2026-05-07 12:57:05 +02:00

59 lines
2.2 KiB
C++

/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2018- 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 <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#pragma once
#include "RimWellPath.h"
class RimFileWellPath : public RimWellPath
{
CAF_PDM_HEADER_INIT;
public:
RimFileWellPath();
~RimFileWellPath() override;
QString filePath() const;
void setFilepath( const QString& path );
bool readWellPathFile( QString* errorMessage, RifWellPathImporter* wellPathImporter, bool setWellNameForExport );
int wellPathIndexInFile() const; // -1 means none.
void setWellPathIndexInFile( int index );
protected:
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
void initAfterRead() override;
private:
QString surveyType() { return m_surveyType; }
void setSurveyType( QString surveyType );
void ensureWellPathStartAtSeaLevel( RigWellPath* wellPath );
caf::PdmField<caf::FilePath> m_filePath;
caf::PdmField<caf::FilePath> m_filePathInCache_OBSOLETE; // Legacy SSIHUB cache path, read-only for migration
caf::PdmField<int> m_wellPathIndexInFile; // -1 means none.
caf::PdmField<QString> id;
caf::PdmField<QString> sourceSystem;
caf::PdmField<QString> utmZone;
caf::PdmField<QString> updateDate;
caf::PdmField<QString> updateUser;
caf::PdmField<QString> m_surveyType;
caf::PdmField<bool> m_useAutoGeneratedPointAtSeaLevel;
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
};