mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#8859 Add drop target for calculation variables
This commit is contained in:
@@ -37,6 +37,7 @@
|
||||
#include "RiuExpressionContextMenuManager.h"
|
||||
|
||||
#include "cafPdmUiLineEditor.h"
|
||||
#include "cafPdmUiTableViewEditor.h"
|
||||
#include "cafPdmUiTextEditor.h"
|
||||
|
||||
#include <algorithm>
|
||||
@@ -465,6 +466,14 @@ void RimSummaryCalculation::defineEditorAttribute( const caf::PdmFieldHandle* fi
|
||||
myAttr->heightHint = -1;
|
||||
}
|
||||
}
|
||||
else if ( field == &m_variables )
|
||||
{
|
||||
auto* myAttr = dynamic_cast<caf::PdmUiTableViewEditorAttribute*>( attribute );
|
||||
if ( myAttr )
|
||||
{
|
||||
myAttr->enableDropTarget = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
#include "RiaApplication.h"
|
||||
#include "RiaSummaryCurveDefinition.h"
|
||||
#include "RiaSummaryTools.h"
|
||||
|
||||
#include "RifEclipseSummaryAddressQMetaType.h"
|
||||
|
||||
@@ -29,6 +30,7 @@
|
||||
#include "RimSummaryCase.h"
|
||||
#include "RimSummaryCurve.h"
|
||||
|
||||
#include "RiuDragDrop.h"
|
||||
#include "RiuSummaryVectorSelectionDialog.h"
|
||||
|
||||
#include "cafPdmUiPushButtonEditor.h"
|
||||
@@ -153,6 +155,33 @@ RimSummaryAddress* RimSummaryCalculationVariable::summaryAddress()
|
||||
return m_summaryAddress();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCalculationVariable::setSummaryAddress( const RimSummaryAddress& address )
|
||||
{
|
||||
m_summaryAddress()->setAddress( address.address() );
|
||||
|
||||
auto summaryCase = RiaSummaryTools::summaryCaseById( address.caseId() );
|
||||
|
||||
if ( summaryCase ) m_case = summaryCase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCalculationVariable::handleDroppedMimeData( const QMimeData* data,
|
||||
Qt::DropAction action,
|
||||
caf::PdmFieldHandle* destinationField )
|
||||
{
|
||||
auto objects = RiuDragDrop::convertToObjects( data );
|
||||
if ( !objects.empty() )
|
||||
{
|
||||
auto address = dynamic_cast<RimSummaryAddress*>( objects.front() );
|
||||
if ( address ) setSummaryAddress( *address );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -49,6 +49,10 @@ public:
|
||||
RimSummaryCase* summaryCase();
|
||||
RimSummaryAddress* summaryAddress();
|
||||
|
||||
void setSummaryAddress( const RimSummaryAddress& address );
|
||||
|
||||
void handleDroppedMimeData( const QMimeData* data, Qt::DropAction action, caf::PdmFieldHandle* destinationField ) override;
|
||||
|
||||
private:
|
||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||
|
||||
@@ -138,7 +138,7 @@ void RimSummaryAddress::setAddress( const RifEclipseSummaryAddress& addr )
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RifEclipseSummaryAddress RimSummaryAddress::address()
|
||||
RifEclipseSummaryAddress RimSummaryAddress::address() const
|
||||
{
|
||||
return RifEclipseSummaryAddress( m_category(),
|
||||
m_quantityName().toStdString(),
|
||||
|
||||
@@ -48,7 +48,7 @@ public:
|
||||
wrapFileReaderAddress( const RifEclipseSummaryAddress& addr, int caseId = -1, int ensembleId = -1 );
|
||||
|
||||
void setAddress( const RifEclipseSummaryAddress& addr );
|
||||
RifEclipseSummaryAddress address();
|
||||
RifEclipseSummaryAddress address() const;
|
||||
|
||||
void setCaseId( int caseId );
|
||||
int caseId() const;
|
||||
|
||||
Reference in New Issue
Block a user