Refactoring. RimViewWindow.loadDataAndUpdate -> onLoadDataAndUpdate

This commit is contained in:
Bjørn Erik Jensen 2017-10-31 12:49:14 +01:00
parent 6aaa8f7606
commit ae20e1af10
23 changed files with 46 additions and 52 deletions

View File

@ -140,7 +140,7 @@ void RimFlowCharacteristicsPlot::setFromFlowSolution(RimFlowDiagSolution* flowSo
m_flowDiagSolution = flowSolution; m_flowDiagSolution = flowSolution;
m_showWindow = true; m_showWindow = true;
loadDataAndUpdate(); onLoadDataAndUpdate();
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -168,7 +168,7 @@ void RimFlowCharacteristicsPlot::updateCurrentTimeStep()
if (m_currentlyPlottedTimeSteps == calculatedTimesteps) return; if (m_currentlyPlottedTimeSteps == calculatedTimesteps) return;
this->loadDataAndUpdate(); this->onLoadDataAndUpdate();
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -526,7 +526,7 @@ void RimFlowCharacteristicsPlot::fieldChangedByUi(const caf::PdmFieldHandle* cha
// All fields update plot // All fields update plot
this->loadDataAndUpdate(); this->onLoadDataAndUpdate();
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -548,7 +548,7 @@ QImage RimFlowCharacteristicsPlot::snapshotWindowContent()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimFlowCharacteristicsPlot::loadDataAndUpdate() void RimFlowCharacteristicsPlot::onLoadDataAndUpdate()
{ {
updateMdiWindowVisibility(); updateMdiWindowVisibility();
@ -652,7 +652,7 @@ void RimFlowCharacteristicsPlot::viewGeometryUpdated()
if (m_cellFilter() == RigFlowDiagResults::CELLS_VISIBLE) if (m_cellFilter() == RigFlowDiagResults::CELLS_VISIBLE)
{ {
// Only need to reload data if cell filtering is based on visible cells in view. // Only need to reload data if cell filtering is based on visible cells in view.
loadDataAndUpdate(); onLoadDataAndUpdate();
} }
} }

View File

@ -65,8 +65,6 @@ public:
virtual void zoomAll() override; virtual void zoomAll() override;
virtual QWidget* createViewWidget(QWidget* mainWindowParent) override; virtual QWidget* createViewWidget(QWidget* mainWindowParent) override;
virtual void deleteViewWidget() override; virtual void deleteViewWidget() override;
virtual void loadDataAndUpdate() override;
void viewGeometryUpdated(); void viewGeometryUpdated();
enum TimeSelectionType enum TimeSelectionType
@ -85,6 +83,7 @@ protected:
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) override; virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) override;
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
virtual void defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute ); virtual void defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute );
virtual void onLoadDataAndUpdate() override;
private: private:

View File

@ -85,7 +85,7 @@ void RimTofAccumulatedPhaseFractionsPlot::deleteViewWidget()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimTofAccumulatedPhaseFractionsPlot::reloadFromWell() void RimTofAccumulatedPhaseFractionsPlot::reloadFromWell()
{ {
loadDataAndUpdate(); onLoadDataAndUpdate();
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -151,7 +151,7 @@ void RimTofAccumulatedPhaseFractionsPlot::fieldChangedByUi(const caf::PdmFieldHa
} }
else if (changedField == &m_maxTof) else if (changedField == &m_maxTof)
{ {
loadDataAndUpdate(); onLoadDataAndUpdate();
} }
} }
@ -189,7 +189,7 @@ QString RimTofAccumulatedPhaseFractionsPlot::description() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimTofAccumulatedPhaseFractionsPlot::loadDataAndUpdate() void RimTofAccumulatedPhaseFractionsPlot::onLoadDataAndUpdate()
{ {
updateMdiWindowVisibility(); updateMdiWindowVisibility();

View File

@ -74,7 +74,7 @@ public:
protected: protected:
// RimViewWindow overrides // RimViewWindow overrides
virtual void loadDataAndUpdate() override; virtual void onLoadDataAndUpdate() override;
virtual QImage snapshotWindowContent() override; virtual QImage snapshotWindowContent() override;
// Overridden PDM methods // Overridden PDM methods

View File

@ -189,7 +189,7 @@ void RimTotalWellAllocationPlot::clearSlices()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimTotalWellAllocationPlot::loadDataAndUpdate() void RimTotalWellAllocationPlot::onLoadDataAndUpdate()
{ {
updateMdiWindowVisibility(); updateMdiWindowVisibility();

View File

@ -70,7 +70,7 @@ public:
protected: protected:
// RimViewWindow overrides // RimViewWindow overrides
virtual void loadDataAndUpdate() override; virtual void onLoadDataAndUpdate() override;
virtual QImage snapshotWindowContent() override; virtual QImage snapshotWindowContent() override;
// Overridden PDM methods // Overridden PDM methods

View File

@ -145,7 +145,7 @@ void RimWellAllocationPlot::setFromSimulationWell(RimSimWellInView* simWell)
m_flowDiagSolution = m_case->defaultFlowDiagSolution(); m_flowDiagSolution = m_case->defaultFlowDiagSolution();
} }
loadDataAndUpdate(); onLoadDataAndUpdate();
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -697,7 +697,7 @@ void RimWellAllocationPlot::fieldChangedByUi(const caf::PdmFieldHandle* changedF
if (!sortedWellNames.size()) m_wellName = ""; if (!sortedWellNames.size()) m_wellName = "";
else if ( sortedWellNames.count(m_wellName()) == 0 ){ m_wellName = *sortedWellNames.begin();} else if ( sortedWellNames.count(m_wellName()) == 0 ){ m_wellName = *sortedWellNames.begin();}
loadDataAndUpdate(); onLoadDataAndUpdate();
} }
else if ( changedField == &m_wellName else if ( changedField == &m_wellName
|| changedField == &m_timeStep || changedField == &m_timeStep
@ -706,7 +706,7 @@ void RimWellAllocationPlot::fieldChangedByUi(const caf::PdmFieldHandle* changedF
|| changedField == &m_smallContributionsThreshold || changedField == &m_smallContributionsThreshold
|| changedField == &m_flowType ) || changedField == &m_flowType )
{ {
loadDataAndUpdate(); onLoadDataAndUpdate();
} }
} }
@ -787,7 +787,7 @@ QString RimWellAllocationPlot::description() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimWellAllocationPlot::loadDataAndUpdate() void RimWellAllocationPlot::onLoadDataAndUpdate()
{ {
updateMdiWindowVisibility(); updateMdiWindowVisibility();
updateFromWell(); updateFromWell();

View File

@ -66,8 +66,6 @@ public:
void setDescription(const QString& description); void setDescription(const QString& description);
QString description() const; QString description() const;
virtual void loadDataAndUpdate() override;
virtual QWidget* viewWidget() override; virtual QWidget* viewWidget() override;
virtual void zoomAll() override; virtual void zoomAll() override;
@ -96,6 +94,7 @@ protected:
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
virtual void onLoadDataAndUpdate() override;
private: private:
void updateFromWell(); void updateFromWell();

View File

@ -412,16 +412,6 @@ void RimWellPltPlot::updateWidgetTitleWindowTitle()
} }
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellPltPlot::syncCurvesFromUiSelection()
{
RimWellLogTrack* plotTrack = m_wellLogPlot->trackByIndex(0);
const std::set<std::pair<RifWellRftAddress, QDateTime>>& curveDefs = selectedCurveDefs();
updateCurvesInPlot(curveDefs);
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -803,9 +793,10 @@ std::pair<RifWellRftAddress, QDateTime> RimWellPltPlot::curveDefFromCurve(const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimWellPltPlot::updateCurvesInPlot(const std::set<std::pair<RifWellRftAddress, QDateTime>>& curveDefs) void RimWellPltPlot::syncCurvesFromUiSelection()
{ {
RimWellLogTrack* const plotTrack = m_wellLogPlot->trackByIndex(0); RimWellLogTrack* plotTrack = m_wellLogPlot->trackByIndex(0);
const std::set<std::pair<RifWellRftAddress, QDateTime>>& curveDefs = selectedCurveDefs();
setPlotXAxisTitles(plotTrack); setPlotXAxisTitles(plotTrack);
@ -1497,7 +1488,7 @@ QString RimWellPltPlot::description() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimWellPltPlot::loadDataAndUpdate() void RimWellPltPlot::onLoadDataAndUpdate()
{ {
if (m_doInitAfterLoad) if (m_doInitAfterLoad)
{ {

View File

@ -84,8 +84,6 @@ public:
void setDescription(const QString& description); void setDescription(const QString& description);
QString description() const; QString description() const;
virtual void loadDataAndUpdate() override;
virtual QWidget* viewWidget() override; virtual QWidget* viewWidget() override;
virtual void zoomAll() override; virtual void zoomAll() override;
@ -114,6 +112,7 @@ protected:
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute);
virtual void onLoadDataAndUpdate() override;
virtual void initAfterRead() override; virtual void initAfterRead() override;
virtual void setupBeforeSave() override; virtual void setupBeforeSave() override;
@ -149,7 +148,6 @@ private:
std::set<std::pair<RifWellRftAddress, QDateTime>> selectedCurveDefs() const; std::set<std::pair<RifWellRftAddress, QDateTime>> selectedCurveDefs() const;
std::set<std::pair<RifWellRftAddress, QDateTime>> curveDefsFromCurves() const; std::set<std::pair<RifWellRftAddress, QDateTime>> curveDefsFromCurves() const;
std::pair<RifWellRftAddress, QDateTime> curveDefFromCurve(const RimWellLogCurve* curve) const; std::pair<RifWellRftAddress, QDateTime> curveDefFromCurve(const RimWellLogCurve* curve) const;
void updateCurvesInPlot(const std::set<std::pair<RifWellRftAddress, QDateTime>>& curveDefs);
void addStackedCurve(const QString& tracerName, void addStackedCurve(const QString& tracerName,
const std::vector<double>& depthValues, const std::vector<double>& depthValues,
const std::vector<double>& accFlow, const std::vector<double>& accFlow,

View File

@ -1313,7 +1313,7 @@ QString RimWellRftPlot::description() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimWellRftPlot::loadDataAndUpdate() void RimWellRftPlot::onLoadDataAndUpdate()
{ {
updateMdiWindowVisibility(); updateMdiWindowVisibility();
m_wellLogPlot->loadDataAndUpdate(); m_wellLogPlot->loadDataAndUpdate();

View File

@ -71,8 +71,6 @@ public:
void setDescription(const QString& description); void setDescription(const QString& description);
QString description() const; QString description() const;
virtual void loadDataAndUpdate() override;
virtual QWidget* viewWidget() override; virtual QWidget* viewWidget() override;
virtual void zoomAll() override; virtual void zoomAll() override;
@ -100,6 +98,7 @@ protected:
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
virtual void onLoadDataAndUpdate() override;
private: private:
static void addTimeStepToMap(std::map<QDateTime, std::set<RifWellRftAddress>>& destMap, static void addTimeStepToMap(std::map<QDateTime, std::set<RifWellRftAddress>>& destMap,

View File

@ -736,7 +736,7 @@ void RimEclipseView::updateCurrentTimeStep()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEclipseView::loadDataAndUpdate() void RimEclipseView::onLoadDataAndUpdate()
{ {
updateScaleTransform(); updateScaleTransform();

View File

@ -125,7 +125,6 @@ public:
// Display model generation // Display model generation
virtual void loadDataAndUpdate() override;
bool isTimeStepDependentDataVisible() const; bool isTimeStepDependentDataVisible() const;
virtual void scheduleGeometryRegen(RivCellSetEnum geometryType) override; virtual void scheduleGeometryRegen(RivCellSetEnum geometryType) override;
@ -154,6 +153,7 @@ protected:
virtual void initAfterRead() override; virtual void initAfterRead() override;
virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override; virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "") override; virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "") override;
virtual void onLoadDataAndUpdate() override;
virtual void createPartCollectionFromSelection(cvf::Collection<cvf::Part>* parts) override; virtual void createPartCollectionFromSelection(cvf::Collection<cvf::Part>* parts) override;
virtual bool showActiveCellsOnly() override; virtual bool showActiveCellsOnly() override;

View File

@ -103,7 +103,7 @@ RimGeoMechView::~RimGeoMechView(void)
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimGeoMechView::loadDataAndUpdate() void RimGeoMechView::onLoadDataAndUpdate()
{ {
caf::ProgressInfo progress(7, ""); caf::ProgressInfo progress(7, "");
progress.setNextProgressIncrement(5); progress.setNextProgressIncrement(5);

View File

@ -63,8 +63,6 @@ public:
RimGeoMechCase* geoMechCase(); RimGeoMechCase* geoMechCase();
virtual RimCase* ownerCase() const override; virtual RimCase* ownerCase() const override;
virtual void loadDataAndUpdate() override;
caf::PdmChildField<RimGeoMechCellColors*> cellResult; caf::PdmChildField<RimGeoMechCellColors*> cellResult;
RimGeoMechResultDefinition* cellResultResultDefinition(); RimGeoMechResultDefinition* cellResultResultDefinition();
@ -88,6 +86,7 @@ public:
protected: protected:
virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "") override; virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "") override;
virtual void onLoadDataAndUpdate() override;
virtual void createPartCollectionFromSelection(cvf::Collection<cvf::Part>* parts) override; virtual void createPartCollectionFromSelection(cvf::Collection<cvf::Part>* parts) override;

View File

@ -170,7 +170,6 @@ public:
void forceShowWindowOn(); void forceShowWindowOn();
public: public:
virtual void loadDataAndUpdate() = 0;
void updateGridBoxData(); void updateGridBoxData();
virtual RimCase* ownerCase() const = 0; virtual RimCase* ownerCase() const = 0;
@ -205,6 +204,8 @@ protected:
virtual void resetLegendsInViewer() = 0; virtual void resetLegendsInViewer() = 0;
virtual void calculateCurrentTotalCellVisibility(cvf::UByteArray* totalVisibility, int timeStep) = 0; virtual void calculateCurrentTotalCellVisibility(cvf::UByteArray* totalVisibility, int timeStep) = 0;
virtual void onLoadDataAndUpdate() = 0;
RimWellPathCollection* wellPathsPartManager(); RimWellPathCollection* wellPathsPartManager();
QPointer<RiuViewer> m_viewer; QPointer<RiuViewer> m_viewer;

View File

@ -49,6 +49,14 @@ RimViewWindow::~RimViewWindow(void)
if ( m_windowController() ) delete m_windowController() ; if ( m_windowController() ) delete m_windowController() ;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimViewWindow::loadDataAndUpdate()
{
onLoadDataAndUpdate();
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -143,7 +151,7 @@ void RimViewWindow::fieldChangedByUi(const caf::PdmFieldHandle* changedField, co
{ {
if (m_showWindow) if (m_showWindow)
{ {
loadDataAndUpdate(); onLoadDataAndUpdate();
} }
else else
{ {

View File

@ -47,6 +47,7 @@ public:
RimViewWindow(void); RimViewWindow(void);
virtual ~RimViewWindow(void); virtual ~RimViewWindow(void);
void loadDataAndUpdate();
void handleMdiWindowClosed(); void handleMdiWindowClosed();
void setAs3DViewMdiWindow() { setAsMdiWindow(0); } void setAs3DViewMdiWindow() { setAsMdiWindow(0); }
@ -72,7 +73,7 @@ protected:
virtual void updateViewWidgetAfterCreation() {}; virtual void updateViewWidgetAfterCreation() {};
virtual void updateMdiWindowTitle(); // Has real default implementation virtual void updateMdiWindowTitle(); // Has real default implementation
virtual void deleteViewWidget() = 0; virtual void deleteViewWidget() = 0;
virtual void loadDataAndUpdate() = 0; virtual void onLoadDataAndUpdate() = 0;
////////// //////////
// Derived classes are not supposed to override this function. The intention is to always use m_showWindow // Derived classes are not supposed to override this function. The intention is to always use m_showWindow

View File

@ -562,7 +562,7 @@ void RimWellLogPlot::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering&
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimWellLogPlot::loadDataAndUpdate() void RimWellLogPlot::onLoadDataAndUpdate()
{ {
updateMdiWindowVisibility(); updateMdiWindowVisibility();
updateTracks(); updateTracks();

View File

@ -84,7 +84,6 @@ public:
RimWellLogTrack* trackByIndex(size_t index); RimWellLogTrack* trackByIndex(size_t index);
virtual void loadDataAndUpdate() override;
void updateTracks(); void updateTracks();
void updateTrackNames(); void updateTrackNames();
@ -115,6 +114,7 @@ protected:
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering);
virtual caf::PdmFieldHandle* userDescriptionField() { return &m_userName; } virtual caf::PdmFieldHandle* userDescriptionField() { return &m_userName; }
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) override; virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) override;
virtual void onLoadDataAndUpdate() override;
virtual QImage snapshotWindowContent() override; virtual QImage snapshotWindowContent() override;

View File

@ -1029,7 +1029,7 @@ void RimSummaryPlot::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimSummaryPlot::loadDataAndUpdate() void RimSummaryPlot::onLoadDataAndUpdate()
{ {
updateMdiWindowVisibility(); updateMdiWindowVisibility();

View File

@ -72,8 +72,6 @@ public:
caf::PdmObject* findRimCurveFromQwtCurve(const QwtPlotCurve* curve) const; caf::PdmObject* findRimCurveFromQwtCurve(const QwtPlotCurve* curve) const;
size_t curveCount() const; size_t curveCount() const;
virtual void loadDataAndUpdate() override;
void detachAllCurves(); void detachAllCurves();
void updateCaseNameHasChanged(); void updateCaseNameHasChanged();
@ -118,6 +116,7 @@ protected:
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "") override; virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "") override;
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute);
virtual void onLoadDataAndUpdate() override;
virtual QImage snapshotWindowContent() override; virtual QImage snapshotWindowContent() override;