#4801 Prefix WBS-las export and capitalize file name

This commit is contained in:
Gaute Lindkvist
2019-09-30 11:59:51 +02:00
parent 7f4869f37c
commit 288acda703
7 changed files with 44 additions and 8 deletions

View File

@@ -68,6 +68,12 @@ void RicExportToLasFileFeature::onActionTriggered( bool isChecked )
RicExportToLasFileResampleUi featureUi;
featureUi.exportFolder = defaultDir;
if ( RicWellLogPlotCurveFeatureImpl::parentWellBoreStabilityPlot() )
{
featureUi.filePrefix = "WBS_";
featureUi.capitalizeFileName = true;
}
{
std::vector<QString> wellNames;
std::vector<double> rkbDiffs;
@@ -101,7 +107,7 @@ void RicExportToLasFileFeature::onActionTriggered( bool isChecked )
lasExporter.setRkbDiffs( wellNames, userDefRkbDiff );
}
lasExporter.writeToFolder( featureUi.exportFolder() );
lasExporter.writeToFolder( featureUi.exportFolder(), featureUi.filePrefix(), featureUi.capitalizeFileName() );
// Remember the path to next time
RiaApplication::instance()->setLastUsedDialogDirectory( "WELL_LOGS_DIR", featureUi.exportFolder() );

View File

@@ -47,6 +47,8 @@ RicExportToLasFileResampleUi::RicExportToLasFileResampleUi( void )
CAF_PDM_InitField( &exportFolder, "ExportFolder", QString(), "Export Folder", "", "", "" );
exportFolder.uiCapability()->setUiEditorTypeName( caf::PdmUiFilePathEditor::uiEditorTypeName() );
CAF_PDM_InitField( &filePrefix, "FilePrefix", QString( "" ), "File Prefix", "", "", "" );
CAF_PDM_InitField( &capitalizeFileName, "CapitalizeFileName", false, "Capitalize File Name", "", "", "" );
CAF_PDM_InitField( &activateResample, "ActivateResample", false, "Resample Curve Data", "", "", "" );
activateResample.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
@@ -168,7 +170,8 @@ void RicExportToLasFileResampleUi::updateFieldVisibility()
void RicExportToLasFileResampleUi::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{
uiOrdering.add( &exportFolder );
uiOrdering.add( &filePrefix );
uiOrdering.add( &capitalizeFileName );
{
caf::PdmUiGroup* group = uiOrdering.addNewGroup( "Resampling" );

View File

@@ -47,6 +47,8 @@ public:
~RicExportToLasFileResampleUi() override;
caf::PdmField<QString> exportFolder;
caf::PdmField<QString> filePrefix;
caf::PdmField<bool> capitalizeFileName;
caf::PdmField<bool> activateResample;
caf::PdmField<double> resampleInterval;

View File

@@ -22,6 +22,7 @@
#include "RiaColorTables.h"
#include "RimWellAllocationPlot.h"
#include "RimWellBoreStabilityPlot.h"
#include "RimWellLogCurve.h"
#include "RimWellRftPlot.h"
@@ -102,3 +103,18 @@ RimWellRftPlot* RicWellLogPlotCurveFeatureImpl::parentWellRftPlot()
return wellRftPlot;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimWellBoreStabilityPlot* RicWellLogPlotCurveFeatureImpl::parentWellBoreStabilityPlot()
{
caf::PdmObjectHandle* destinationObject = dynamic_cast<caf::PdmObjectHandle*>(
caf::SelectionManager::instance()->selectedItem() );
if ( !destinationObject ) return nullptr;
RimWellBoreStabilityPlot* wbsPlot = nullptr;
destinationObject->firstAncestorOrThisOfType( wbsPlot );
return wbsPlot;
}

View File

@@ -21,6 +21,7 @@
#include "cafPdmFieldCvfColor.h"
class RimWellBoreStabilityPlot;
class RimWellLogCurve;
class RimWellAllocationPlot;
class RimWellRftPlot;
@@ -35,4 +36,5 @@ public:
static std::vector<RimWellLogCurve*> selectedWellLogCurves();
static RimWellAllocationPlot* parentWellAllocationPlot();
static RimWellRftPlot* parentWellRftPlot();
static RimWellBoreStabilityPlot* parentWellBoreStabilityPlot();
};

View File

@@ -374,7 +374,9 @@ void RigLasFileExporter::setRkbDiffs( const std::vector<QString>& wellNames, con
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RigLasFileExporter::writeToFolder( const QString& exportFolder )
bool RigLasFileExporter::writeToFolder( const QString& exportFolder,
const QString& filePrefix /*= ""*/,
bool capitalizeFileName /*= false*/ )
{
std::vector<SingleLasFileMetaData> lasFileDescriptions = createLasFileDescriptions( m_curves );
@@ -392,10 +394,15 @@ bool RigLasFileExporter::writeToFolder( const QString& exportFolder )
}
QDir dir( exportFolder );
QString fileName = dir.absoluteFilePath( QString::fromStdString( lasFileDescr.generateFilename() ) );
if ( caf::Utils::fileExists( fileName ) )
QString fileName = filePrefix + QString::fromStdString( lasFileDescr.generateFilename() );
if ( capitalizeFileName )
{
QString txt = QString( "File %1 exists.\n\nDo you want to overwrite the file?" ).arg( fileName );
fileName = fileName.toUpper();
}
QString fullPathName = dir.absoluteFilePath( fileName );
if ( caf::Utils::fileExists( fullPathName ) )
{
QString txt = QString( "File %1 exists.\n\nDo you want to overwrite the file?" ).arg( fullPathName );
int ret = QMessageBox::question( nullptr,
"LAS File Export",
txt,
@@ -406,7 +413,7 @@ bool RigLasFileExporter::writeToFolder( const QString& exportFolder )
}
std::vector<std::string> commentHeader;
lasFile.WriteToFile( fileName.toStdString(), commentHeader );
lasFile.WriteToFile( fullPathName.toStdString(), commentHeader );
}
return true;

View File

@@ -38,7 +38,7 @@ public:
void wellPathsAndRkbDiff( std::vector<QString>* wellNames, std::vector<double>* rkbDiffs );
void setRkbDiffs( const std::vector<QString>& wellNames, const std::vector<double>& rkbDiffs );
bool writeToFolder( const QString& exportFolder );
bool writeToFolder( const QString& exportFolder, const QString& filePrefix = "", bool capitalizeFileName = false );
private:
std::vector<SingleLasFileMetaData> createLasFileDescriptions( const std::vector<RimWellLogCurve*>& curves );