#882 Enable export LAS command for Tracks, Plots and Well Logs Folder

This commit is contained in:
Magne Sjaastad 2016-09-21 13:04:34 +02:00
parent 59afd14339
commit 86dcc29bce
3 changed files with 37 additions and 9 deletions

View File

@ -39,7 +39,7 @@ CAF_CMD_SOURCE_INIT(RicExportToLasFileFeature, "RicExportToLasFileFeature");
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RicExportToLasFileFeature::isCommandEnabled() bool RicExportToLasFileFeature::isCommandEnabled()
{ {
return selectedWellLogPlotCurves().size() > 0; return selectedWellLogCurves().size() > 0;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -47,7 +47,7 @@ bool RicExportToLasFileFeature::isCommandEnabled()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicExportToLasFileFeature::onActionTriggered(bool isChecked) void RicExportToLasFileFeature::onActionTriggered(bool isChecked)
{ {
std::vector<RimWellLogCurve*> curves = selectedWellLogPlotCurves(); std::vector<RimWellLogCurve*> curves = selectedWellLogCurves();
if (curves.size() == 0) return; if (curves.size() == 0) return;
RiaApplication* app = RiaApplication::instance(); RiaApplication* app = RiaApplication::instance();
@ -82,17 +82,42 @@ void RicExportToLasFileFeature::onActionTriggered(bool isChecked)
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicExportToLasFileFeature::setupActionLook(QAction* actionToSetup) void RicExportToLasFileFeature::setupActionLook(QAction* actionToSetup)
{ {
actionToSetup->setText("Export To LAS File..."); actionToSetup->setText("Export To LAS Files...");
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
std::vector<RimWellLogCurve*> RicExportToLasFileFeature::selectedWellLogPlotCurves() const std::vector<RimWellLogCurve*> RicExportToLasFileFeature::selectedWellLogCurves() const
{ {
std::vector<RimWellLogCurve*> selection; std::set<RimWellLogCurve*> curveSet;
caf::SelectionManager::instance()->objectsByType(&selection);
return selection; {
std::vector<caf::PdmUiItem*> selectedItems;
caf::SelectionManager::instance()->selectedItems(selectedItems);
for (auto selectedItem : selectedItems)
{
caf::PdmObjectHandle* objHandle = dynamic_cast<caf::PdmObjectHandle*>(selectedItem);
if (objHandle)
{
std::vector<RimWellLogCurve*> childCurves;
objHandle->descendantsIncludingThisOfType(childCurves);
for (auto curve : childCurves)
{
curveSet.insert(curve);
}
}
}
}
std::vector<RimWellLogCurve*> allCurves;
for (auto curve : curveSet)
{
allCurves.push_back(curve);
}
return allCurves;
} }

View File

@ -39,6 +39,6 @@ protected:
virtual void setupActionLook( QAction* actionToSetup ); virtual void setupActionLook( QAction* actionToSetup );
private: private:
std::vector<RimWellLogCurve*> selectedWellLogPlotCurves() const; std::vector<RimWellLogCurve*> selectedWellLogCurves() const;
}; };

View File

@ -351,7 +351,10 @@ QStringList RimContextCommandBuilder::commandsFromSelection()
{ {
commandIds << "RicExecuteScriptForCasesFeature"; commandIds << "RicExecuteScriptForCasesFeature";
} }
else if (dynamic_cast<RimWellLogCurve*>(uiItem)) else if (dynamic_cast<RimWellLogCurve*>(uiItem) ||
dynamic_cast<RimWellLogTrack*>(uiItem) ||
dynamic_cast<RimWellLogPlot*>(uiItem) ||
dynamic_cast<RimWellLogPlotCollection*>(uiItem))
{ {
commandIds << "RicExportToLasFileFeature"; commandIds << "RicExportToLasFileFeature";
} }