mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Statistics case User interface and behaviour working.
p4#: 21171
This commit is contained in:
parent
c6f2b52216
commit
1c65fe7e2c
@ -76,7 +76,7 @@ void RiaPreferences::defineEditorAttribute(const caf::PdmFieldHandle* field, QSt
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiaPreferences::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const
|
||||
void RiaPreferences::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
uiOrdering.add(&navigationPolicy);
|
||||
|
||||
|
@ -51,5 +51,5 @@ public: // Pdm Fields
|
||||
protected:
|
||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute);
|
||||
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const;
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) ;
|
||||
};
|
||||
|
@ -90,6 +90,14 @@ const RigCaseData* RimCase::reservoirData() const
|
||||
return m_rigEclipseCase.p();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimCase::removeReservoirData()
|
||||
{
|
||||
this->setReservoirData(NULL);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -110,17 +118,6 @@ void RimCase::initAfterRead()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimReservoirView* RimCase::createAndAddReservoirView()
|
||||
{
|
||||
// If parent is collection, and number of views is zero, make sure rig is set to NULL to initiate normal case loading
|
||||
if (parentCaseCollection() != NULL && reservoirViews().size() == 0)
|
||||
{
|
||||
if (this->reservoirData())
|
||||
{
|
||||
CVF_ASSERT(this->reservoirData()->refCount() == 1);
|
||||
}
|
||||
|
||||
this->setReservoirData( NULL );
|
||||
}
|
||||
|
||||
RimReservoirView* riv = new RimReservoirView();
|
||||
riv->setEclipseCase(this);
|
||||
|
||||
@ -293,6 +290,23 @@ RimCaseCollection* RimCase::parentCaseCollection()
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimIdenticalGridCaseGroup* RimCase::parentGridCaseGroup()
|
||||
{
|
||||
RimCaseCollection* caseColl = parentCaseCollection();
|
||||
if (caseColl)
|
||||
{
|
||||
return caseColl->parentCaseGroup();
|
||||
}
|
||||
else
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -327,4 +341,3 @@ RimReservoirCellResultsStorage* RimCase::results(RifReaderInterface::PorosityMod
|
||||
|
||||
return m_fractureModelResults();
|
||||
}
|
||||
|
||||
|
@ -31,6 +31,7 @@ class RigCaseData;
|
||||
class RigGridBase;
|
||||
class RimReservoirView;
|
||||
class RimCaseCollection;
|
||||
class RimIdenticalGridCaseGroup;
|
||||
//class RimReservoirCellResultsCacher;
|
||||
|
||||
//==================================================================================================
|
||||
@ -52,8 +53,9 @@ public:
|
||||
|
||||
virtual bool openEclipseGridFile() { return false;}; // Should be pure virtual but PDM does not allow that.
|
||||
|
||||
RigCaseData* reservoirData();
|
||||
const RigCaseData* reservoirData() const;
|
||||
RigCaseData* reservoirData();
|
||||
const RigCaseData* reservoirData() const;
|
||||
void removeReservoirData();
|
||||
|
||||
RimReservoirCellResultsStorage* results(RifReaderInterface::PorosityModelResultType porosityModel);
|
||||
|
||||
@ -66,7 +68,8 @@ public:
|
||||
virtual void updateFilePathsFromProjectPath(const QString& projectPath) { };
|
||||
|
||||
RimCaseCollection* parentCaseCollection();
|
||||
|
||||
RimIdenticalGridCaseGroup* parentGridCaseGroup();
|
||||
|
||||
|
||||
// Overridden methods from PdmObject
|
||||
public:
|
||||
|
@ -163,7 +163,7 @@ void RimCellPropertyFilter::setDefaultValues()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimCellPropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const
|
||||
void RimCellPropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
// Fields declared in RimCellFilter
|
||||
uiOrdering.add(&name);
|
||||
|
@ -72,7 +72,7 @@ public:
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly );
|
||||
|
||||
protected:
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const;
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) ;
|
||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute);
|
||||
|
||||
private:
|
||||
|
@ -73,7 +73,7 @@ RimStatisticsCase::RimStatisticsCase()
|
||||
m_editingAllowed.setIOWritable(false);
|
||||
m_editingAllowed.setIOReadable(false);
|
||||
m_editingAllowed.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
||||
m_editingAllowed = "UNLOCK";
|
||||
m_editingAllowed = false;
|
||||
|
||||
CAF_PDM_InitField(&m_selectionSummary, "SelectionSummary", QString(""), "Selected Properties", "", "", "");
|
||||
m_selectionSummary.setIOWritable(false);
|
||||
@ -113,10 +113,6 @@ RimStatisticsCase::RimStatisticsCase()
|
||||
CAF_PDM_InitField(&m_lowPercentile, "LowPercentile", 10.0, "Low", "", "", "");
|
||||
CAF_PDM_InitField(&m_midPercentile, "MidPercentile", 50.0, "Mid", "", "", "");
|
||||
CAF_PDM_InitField(&m_highPercentile, "HighPercentile", 90.0, "High", "", "", "");
|
||||
|
||||
updateSelectionListVisibilities();
|
||||
updateSelectionSummaryLabel();
|
||||
updatePercentileUiVisibility();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -280,9 +276,8 @@ void RimStatisticsCase::computeStatistics()
|
||||
reservoirView->createDisplayModelAndRedraw();
|
||||
}
|
||||
|
||||
m_calculationStatus = CALCULATED;
|
||||
m_calculationStatus.updateConnectedEditors();
|
||||
m_editingAllowed = "UNLOCK";
|
||||
|
||||
this->updateConnectedEditors();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -323,8 +318,14 @@ RimIdenticalGridCaseGroup* RimStatisticsCase::caseGroup()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimStatisticsCase::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const
|
||||
void RimStatisticsCase::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
|
||||
updateSelectionSummaryLabel();
|
||||
updateSelectionListVisibilities();
|
||||
updatePercentileUiVisibility();
|
||||
updateUnlockUiVisibility();
|
||||
|
||||
uiOrdering.add(&caseName);
|
||||
uiOrdering.add(&m_calculationStatus);
|
||||
uiOrdering.add(&m_editingAllowed);
|
||||
@ -343,6 +344,7 @@ void RimStatisticsCase::defineUiOrdering(QString uiConfigName, caf::PdmUiOrderin
|
||||
group->add(&m_selectedFractureInputProperties);
|
||||
|
||||
group = uiOrdering.addNewGroup("Percentiles");
|
||||
group->setUiHidden(hasComputedStatistics());
|
||||
group->add(&m_calculatePercentiles);
|
||||
group->add(&m_percentileCalculationType);
|
||||
group->add(&m_lowPercentile);
|
||||
@ -428,34 +430,13 @@ void RimStatisticsCase::fieldChangedByUi(const caf::PdmFieldHandle* changedField
|
||||
{
|
||||
if (&m_resultType == changedField || &m_porosityModel == changedField)
|
||||
{
|
||||
updateSelectionListVisibilities();
|
||||
}
|
||||
|
||||
if (&m_editingAllowed == changedField)
|
||||
{
|
||||
clearComputedStatistics();
|
||||
m_calculationStatus = NOT_CALCULATED;
|
||||
m_editingAllowed.setUiHidden(true);
|
||||
m_editingAllowed = false;
|
||||
}
|
||||
|
||||
updateSelectionSummaryLabel();
|
||||
updatePercentileUiVisibility();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimStatisticsCase::updateSelectionListVisibilities()
|
||||
{
|
||||
m_selectedDynamicProperties.setUiHidden( !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
|
||||
m_selectedStaticProperties.setUiHidden( !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
|
||||
m_selectedGeneratedProperties.setUiHidden( !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::GENERATED));
|
||||
m_selectedInputProperties.setUiHidden( !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
|
||||
|
||||
m_selectedFractureDynamicProperties.setUiHidden( !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
|
||||
m_selectedFractureStaticProperties.setUiHidden( !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
|
||||
m_selectedFractureGeneratedProperties.setUiHidden( !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::GENERATED));
|
||||
m_selectedFractureInputProperties.setUiHidden( !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -521,6 +502,31 @@ void RimStatisticsCase::defineEditorAttribute(const caf::PdmFieldHandle* field,
|
||||
textEditAttrib->textMode = caf::PdmUiTextEditorAttribute::HTML;
|
||||
}
|
||||
|
||||
if (&m_editingAllowed == field)
|
||||
{
|
||||
caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*> (attribute);
|
||||
attrib->m_buttonText = hasComputedStatistics() ? "UNLOCK": "Unlocked";
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimStatisticsCase::updateSelectionListVisibilities()
|
||||
{
|
||||
bool isLocked = hasComputedStatistics();
|
||||
m_resultType.setUiHidden(isLocked);
|
||||
m_porosityModel.setUiHidden(isLocked ); // || !caseGroup()->mainCase()->reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->resultCount()
|
||||
|
||||
m_selectedDynamicProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
|
||||
m_selectedStaticProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
|
||||
m_selectedGeneratedProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::GENERATED));
|
||||
m_selectedInputProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
|
||||
|
||||
m_selectedFractureDynamicProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
|
||||
m_selectedFractureStaticProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
|
||||
m_selectedFractureGeneratedProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::GENERATED));
|
||||
m_selectedFractureInputProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -528,19 +534,40 @@ void RimStatisticsCase::defineEditorAttribute(const caf::PdmFieldHandle* field,
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimStatisticsCase::updatePercentileUiVisibility()
|
||||
{
|
||||
m_percentileCalculationType.setUiHidden( !m_calculatePercentiles());
|
||||
m_lowPercentile .setUiHidden( !m_calculatePercentiles());
|
||||
m_midPercentile .setUiHidden( !m_calculatePercentiles());
|
||||
m_highPercentile.setUiHidden( !m_calculatePercentiles());
|
||||
bool isLocked = hasComputedStatistics();
|
||||
m_calculatePercentiles.setUiHidden(isLocked);
|
||||
m_percentileCalculationType.setUiHidden( isLocked || !m_calculatePercentiles());
|
||||
m_lowPercentile .setUiHidden(isLocked || !m_calculatePercentiles());
|
||||
m_midPercentile .setUiHidden(isLocked || !m_calculatePercentiles());
|
||||
m_highPercentile.setUiHidden(isLocked || !m_calculatePercentiles());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimStatisticsCase::hasComputedStatistics()
|
||||
void RimStatisticsCase::updateUnlockUiVisibility()
|
||||
{
|
||||
if ( reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)->resultCount()
|
||||
|| reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->resultCount())
|
||||
bool isLocked = hasComputedStatistics();
|
||||
if (isLocked)
|
||||
{
|
||||
m_calculationStatus = CALCULATED;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_calculationStatus = NOT_CALCULATED;
|
||||
}
|
||||
|
||||
m_editingAllowed.setUiHidden(!isLocked );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimStatisticsCase::hasComputedStatistics() const
|
||||
{
|
||||
if ( reservoirData()
|
||||
&& ( reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)->resultCount()
|
||||
|| reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->resultCount()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -557,5 +584,6 @@ void RimStatisticsCase::clearComputedStatistics()
|
||||
{
|
||||
reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)->clearAllResults();
|
||||
reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->clearAllResults();
|
||||
}
|
||||
|
||||
this->updateConnectedEditors();
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ public:
|
||||
void setMainGrid(RigMainGrid* mainGrid);
|
||||
|
||||
void computeStatistics();
|
||||
bool hasComputedStatistics();
|
||||
bool hasComputedStatistics() const;
|
||||
void clearComputedStatistics();
|
||||
|
||||
virtual bool openEclipseGridFile();
|
||||
@ -74,9 +74,10 @@ private:
|
||||
void updateSelectionListVisibilities();
|
||||
void updateSelectionSummaryLabel();
|
||||
void updatePercentileUiVisibility();
|
||||
void updateUnlockUiVisibility();
|
||||
|
||||
// Pdm system overrides
|
||||
virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) const;
|
||||
virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) ;
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly );
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||
|
||||
@ -84,7 +85,7 @@ private:
|
||||
|
||||
// Fields
|
||||
caf::PdmField< caf::AppEnum< CalculationStatus > > m_calculationStatus;
|
||||
caf::PdmField< QString > m_editingAllowed;
|
||||
caf::PdmField< bool > m_editingAllowed;
|
||||
|
||||
caf::PdmField< caf::AppEnum< RimDefines::ResultCatType > > m_resultType;
|
||||
caf::PdmField< caf::AppEnum< RimDefines::PorosityModelType > > m_porosityModel;
|
||||
|
@ -38,6 +38,8 @@
|
||||
#include "RimStatisticsCase.h"
|
||||
#include "RimResultCase.h"
|
||||
#include "RigGridManager.h"
|
||||
#include "RimCase.h"
|
||||
#include "RigCaseData.h"
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@ -218,32 +220,32 @@ void RimUiTreeModelPdm::deleteReservoir(RimCase* reservoir)
|
||||
{
|
||||
if (reservoir->parentCaseCollection())
|
||||
{
|
||||
RimCaseCollection* caseCollection = reservoir->parentCaseCollection();
|
||||
QModelIndex caseCollectionModelIndex = getModelIndexFromPdmObject(caseCollection);
|
||||
if (!caseCollectionModelIndex.isValid()) return;
|
||||
RimCaseCollection* caseCollection = reservoir->parentCaseCollection();
|
||||
QModelIndex caseCollectionModelIndex = getModelIndexFromPdmObject(caseCollection);
|
||||
if (!caseCollectionModelIndex.isValid()) return;
|
||||
|
||||
QModelIndex mi = getModelIndexFromPdmObjectRecursive(caseCollectionModelIndex, reservoir);
|
||||
if (mi.isValid())
|
||||
{
|
||||
caf::PdmUiTreeItem* uiItem = getTreeItemFromIndex(mi);
|
||||
CVF_ASSERT(uiItem);
|
||||
QModelIndex mi = getModelIndexFromPdmObjectRecursive(caseCollectionModelIndex, reservoir);
|
||||
if (mi.isValid())
|
||||
{
|
||||
caf::PdmUiTreeItem* uiItem = getTreeItemFromIndex(mi);
|
||||
CVF_ASSERT(uiItem);
|
||||
|
||||
// Remove Ui items pointing at the pdm object to delete
|
||||
removeRows_special(mi.row(), 1, mi.parent());
|
||||
}
|
||||
// Remove Ui items pointing at the pdm object to delete
|
||||
removeRows_special(mi.row(), 1, mi.parent());
|
||||
}
|
||||
|
||||
if (RimIdenticalGridCaseGroup::isStatisticsCaseCollection(caseCollection))
|
||||
{
|
||||
RimIdenticalGridCaseGroup* caseGroup = caseCollection->parentCaseGroup();
|
||||
CVF_ASSERT(caseGroup);
|
||||
if (RimIdenticalGridCaseGroup::isStatisticsCaseCollection(caseCollection))
|
||||
{
|
||||
RimIdenticalGridCaseGroup* caseGroup = caseCollection->parentCaseGroup();
|
||||
CVF_ASSERT(caseGroup);
|
||||
|
||||
caseGroup->statisticsCaseCollection()->reservoirs.removeChildObject(reservoir);
|
||||
}
|
||||
else
|
||||
{
|
||||
RimProject* proj = RiaApplication::instance()->project();
|
||||
proj->removeCaseFromAllGroups(reservoir);
|
||||
}
|
||||
caseGroup->statisticsCaseCollection()->reservoirs.removeChildObject(reservoir);
|
||||
}
|
||||
else
|
||||
{
|
||||
RimProject* proj = RiaApplication::instance()->project();
|
||||
proj->removeCaseFromAllGroups(reservoir);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -383,6 +385,23 @@ RimReservoirView* RimUiTreeModelPdm::addReservoirView(const QModelIndex& itemInd
|
||||
if (collectionItem)
|
||||
{
|
||||
RimCase* rimReservoir = dynamic_cast<RimCase*>(collectionItem->dataObject().p());
|
||||
|
||||
// If the case is one of the source cases in a CaseGroup, but not the main case, we need to
|
||||
// trigger a complete load of the case, if the new view is the first on the case.
|
||||
|
||||
if (rimReservoir && rimReservoir->parentGridCaseGroup()
|
||||
&& rimReservoir->parentGridCaseGroup()->contains(rimReservoir)
|
||||
&& !(rimReservoir == rimReservoir->parentGridCaseGroup()->mainCase())
|
||||
&& rimReservoir->reservoirViews().size() == 0)
|
||||
{
|
||||
if (rimReservoir->reservoirData())
|
||||
{
|
||||
CVF_ASSERT(rimReservoir->reservoirData()->refCount() == 1);
|
||||
}
|
||||
|
||||
rimReservoir->removeReservoirData();
|
||||
}
|
||||
|
||||
RimReservoirView* insertedView = rimReservoir->createAndAddReservoirView();
|
||||
|
||||
int viewCount = rowCount(collectionIndex);
|
||||
@ -599,16 +618,16 @@ void RimUiTreeModelPdm::addObjects(const QModelIndex& itemIndex, caf::PdmObjectG
|
||||
pdmObjects.createCopyByType(&typedObjects);
|
||||
|
||||
if (typedObjects.size() == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
RimResultCase* mainResultCase = NULL;
|
||||
std::vector< std::vector<int> > mainCaseGridDimensions;
|
||||
|
||||
// Read out main grid and main grid dimensions if present in case group
|
||||
if (gridCaseGroup->mainCase())
|
||||
{
|
||||
{
|
||||
mainResultCase = dynamic_cast<RimResultCase*>(gridCaseGroup->mainCase());
|
||||
CVF_ASSERT(mainResultCase);
|
||||
|
||||
@ -806,7 +825,7 @@ bool RimUiTreeModelPdm::dropMimeData(const QMimeData *data, Qt::DropAction actio
|
||||
|
||||
if (action == Qt::CopyAction)
|
||||
{
|
||||
addObjects(parent, pog);
|
||||
addObjects(parent, pog);
|
||||
}
|
||||
else if (action == Qt::MoveAction)
|
||||
{
|
||||
|
@ -55,6 +55,8 @@ void PdmUiPushButtonEditor::configureAndUpdateUi(const QString& uiConfigName)
|
||||
m_label->setText(field()->uiName(uiConfigName));
|
||||
}
|
||||
|
||||
m_pushButton->setCheckable(true);
|
||||
|
||||
//m_label->setEnabled(!field()->isUiReadOnly(uiConfigName));
|
||||
m_pushButton->setEnabled(!field()->isUiReadOnly(uiConfigName));
|
||||
|
||||
@ -67,6 +69,10 @@ void PdmUiPushButtonEditor::configureAndUpdateUi(const QString& uiConfigName)
|
||||
{
|
||||
m_pushButton->setIcon(attributes.m_buttonIcon);
|
||||
}
|
||||
else if (!attributes.m_buttonText.isEmpty())
|
||||
{
|
||||
m_pushButton->setText(attributes.m_buttonText);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (variantFieldValue.type() == QVariant::Bool)
|
||||
@ -119,11 +125,7 @@ void PdmUiPushButtonEditor::slotClicked(bool checked)
|
||||
v = checked;
|
||||
this->setValueToField(v);
|
||||
}
|
||||
else
|
||||
{
|
||||
QVariant v = m_pushButton->text();
|
||||
this->setValueToField(v);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -36,6 +36,7 @@ class PdmUiPushButtonEditorAttribute : public PdmUiEditorAttribute
|
||||
{
|
||||
public:
|
||||
QIcon m_buttonIcon;
|
||||
QString m_buttonText;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user