mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
AppFwk: 3D editor system: Replace pointer to caf::Viewer with generic QWidget, as it is not neccessary to know the viewer explicitly.
This commit is contained in:
parent
b4572fd9a2
commit
b9b1646576
@ -590,11 +590,10 @@ PdmUi3dObjectEditorHandle::~PdmUi3dObjectEditorHandle()
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
/// Not allowed to change viewer. Should be constructor argument, but makes factory stuff difficult.
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUi3dObjectEditorHandle::setViewer(caf::Viewer* ownerViewer)
|
||||
void PdmUi3dObjectEditorHandle::setViewer(QWidget* ownerViewer)
|
||||
{
|
||||
// Not allowed to change viewer. Should be constructor argument, but makes factory stuff difficult.
|
||||
CAF_ASSERT(m_ownerViewer.isNull());
|
||||
m_ownerViewer = ownerViewer;
|
||||
}
|
||||
@ -614,7 +613,7 @@ namespace caf
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmUiSelection3dEditorVisualizer::PdmUiSelection3dEditorVisualizer(caf::Viewer* ownerViewer)
|
||||
PdmUiSelection3dEditorVisualizer::PdmUiSelection3dEditorVisualizer(QWidget* ownerViewer)
|
||||
: m_ownerViewer(ownerViewer)
|
||||
{
|
||||
this->setParent(ownerViewer); // Makes this owned by the viewer.
|
||||
@ -741,7 +740,7 @@ void RicWellPathGeometry3dEditor::configureAndUpdateUi(const QString& uiConfigNa
|
||||
for (auto target: targets)
|
||||
{
|
||||
auto targetEditor = new RicWellTarget3dEditor;
|
||||
targetEditor->setViewer(m_ownerViewer);
|
||||
targetEditor->setViewer(ownerViewer());
|
||||
targetEditor->setPdmObject(target);
|
||||
m_targetEditors.push_back(targetEditor);
|
||||
targetEditor->updateUi();
|
||||
@ -776,10 +775,13 @@ RicWellTarget3dEditor::RicWellTarget3dEditor()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RicWellTarget3dEditor::~RicWellTarget3dEditor()
|
||||
{
|
||||
if (m_cvfModel.notNull() && m_ownerViewer)
|
||||
RiuViewer* ownerRiuViewer = dynamic_cast<RiuViewer*>(ownerViewer());
|
||||
|
||||
if (m_cvfModel.notNull() && ownerRiuViewer)
|
||||
{
|
||||
|
||||
// Could result in some circularities ....
|
||||
m_ownerViewer->removeStaticModel(m_cvfModel.p());
|
||||
ownerRiuViewer->removeStaticModel(m_cvfModel.p());
|
||||
}
|
||||
|
||||
RimWellPathTarget* oldTarget = dynamic_cast<RimWellPathTarget*>(this->pdmObject());
|
||||
@ -800,6 +802,7 @@ RicWellTarget3dEditor::~RicWellTarget3dEditor()
|
||||
void RicWellTarget3dEditor::configureAndUpdateUi(const QString& uiConfigName)
|
||||
{
|
||||
RimWellPathTarget* target = dynamic_cast<RimWellPathTarget*>(this->pdmObject());
|
||||
RiuViewer* ownerRiuViewer = dynamic_cast<RiuViewer*>(ownerViewer());
|
||||
|
||||
if ( !target || !target->isEnabled())
|
||||
{
|
||||
@ -817,7 +820,7 @@ void RicWellTarget3dEditor::configureAndUpdateUi(const QString& uiConfigName)
|
||||
|
||||
if (m_manipulator.isNull())
|
||||
{
|
||||
m_manipulator = new RicPointTangentManipulator(m_ownerViewer);
|
||||
m_manipulator = new RicPointTangentManipulator(ownerRiuViewer);
|
||||
QObject::connect(m_manipulator,
|
||||
SIGNAL( notifyUpdate(const cvf::Vec3d& , const cvf::Vec3d& ) ),
|
||||
this,
|
||||
@ -831,15 +834,14 @@ void RicWellTarget3dEditor::configureAndUpdateUi(const QString& uiConfigName)
|
||||
this,
|
||||
SLOT( slotDragFinished() ) );
|
||||
m_cvfModel = new cvf::ModelBasicList;
|
||||
m_ownerViewer->addStaticModelOnce(m_cvfModel.p());
|
||||
ownerRiuViewer->addStaticModelOnce(m_cvfModel.p());
|
||||
}
|
||||
|
||||
cvf::ref<caf::DisplayCoordTransform> dispXf;
|
||||
double handleSize = 1.0;
|
||||
{
|
||||
RiuViewer* viewer = dynamic_cast<RiuViewer*>(m_ownerViewer.data());
|
||||
dispXf = viewer->ownerReservoirView()->displayCoordTransform();
|
||||
Rim3dView* view = dynamic_cast<Rim3dView*>(viewer->ownerReservoirView());
|
||||
dispXf = ownerRiuViewer->ownerReservoirView()->displayCoordTransform();
|
||||
Rim3dView* view = dynamic_cast<Rim3dView*>(ownerRiuViewer->ownerReservoirView());
|
||||
handleSize = 0.7 * view->ownerCase()->characteristicCellSize();
|
||||
}
|
||||
|
||||
@ -881,7 +883,7 @@ void RicWellTarget3dEditor::slotUpdated(const cvf::Vec3d& origin, const cvf::Vec
|
||||
|
||||
cvf::ref<caf::DisplayCoordTransform> dispXf;
|
||||
{
|
||||
RiuViewer* viewer = dynamic_cast<RiuViewer*>(m_ownerViewer.data());
|
||||
RiuViewer* viewer = dynamic_cast<RiuViewer*>(ownerViewer());
|
||||
dispXf = viewer->ownerReservoirView()->displayCoordTransform();
|
||||
}
|
||||
|
||||
|
@ -206,13 +206,17 @@ public:
|
||||
PdmUi3dObjectEditorHandle();
|
||||
~PdmUi3dObjectEditorHandle() override;
|
||||
|
||||
void setViewer(caf::Viewer* ownerViewer);
|
||||
void setViewer(QWidget* ownerViewer);
|
||||
|
||||
protected:
|
||||
QWidget* ownerViewer() { return m_ownerViewer;}
|
||||
|
||||
// To be removed when splitting the PdmUiObjectEditorHandle
|
||||
QWidget* createWidget(QWidget* parent) override { return nullptr;}
|
||||
|
||||
QPointer<caf::Viewer> m_ownerViewer;
|
||||
private:
|
||||
|
||||
QPointer<QWidget> m_ownerViewer;
|
||||
};
|
||||
|
||||
//==================================================================================================
|
||||
@ -227,17 +231,18 @@ class PdmUiSelection3dEditorVisualizer : public QObject, caf::SelectionChangedRe
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
PdmUiSelection3dEditorVisualizer(caf::Viewer* ownerViewer);
|
||||
PdmUiSelection3dEditorVisualizer(QWidget* ownerViewer);
|
||||
~PdmUiSelection3dEditorVisualizer() override;
|
||||
|
||||
void setConfigName(const QString& configName) { m_configName = configName; }
|
||||
|
||||
void updateVisibleEditors();
|
||||
protected:
|
||||
|
||||
private:
|
||||
void onSelectionManagerSelectionChanged( const std::set<int>& changedSelectionLevels ) override;
|
||||
|
||||
std::vector< QPointer<PdmUi3dObjectEditorHandle> > m_active3DEditors;
|
||||
QPointer<caf::Viewer> m_ownerViewer;
|
||||
QPointer<QWidget> m_ownerViewer;
|
||||
QString m_configName;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user