Skip to content
Snippets Groups Projects
Commit 4d07dbe9 authored by Matthias Puchner's avatar Matthias Puchner
Browse files

concretize type in request for RealSpace

parent 6247a642
No related branches found
No related tags found
1 merge request!570remove SessionModel/Item from SampleModel and all related items
......@@ -35,6 +35,8 @@ public:
//! #baMigration only for migration; remove after finished SampleModel migration
SampleItem(SessionItem* item);
template <typename T> SampleItem(T* item) : base(item) {}
//! Short version to get a contained pointer (the std::get_if would return pointer-to-pointer)
template <typename T> T get_if()
{
......
......@@ -37,7 +37,7 @@ public:
void setCurrentSample(MultiLayerItem* multiLayerItem);
signals:
void requestViewInRealSpace(SessionItem* itemToShow);
void requestViewInRealSpace(SampleItem itemToShow);
void requestCreateNewSample();
void aboutToRemoveItem(SampleItem item);
void modified();
......
......@@ -108,7 +108,7 @@ public:
void onStoppedToMoveLayer(QWidget* widgetToMove, QWidget* moveAboveThisWidget);
signals:
void requestViewInRealSpace(SessionItem* itemToShow);
void requestViewInRealSpace(SampleItem item);
void aboutToRemoveItem(SampleItem item);
void modified();
......
......@@ -111,19 +111,16 @@ void SampleView::updateSingleSampleMode()
m_docks->setDockVisible(SAMPLE_LIST, !m_document->singleSampleMode());
}
void SampleView::onRequestViewInRealSpace(SessionItem* itemToView)
void SampleView::onRequestViewInRealSpace(SampleItem itemToView)
{
if (!itemToView)
return;
RealSpaceCanvas::ItemForRealSpace itemForRealSpace;
if (auto* p = dynamic_cast<MultiLayerItem*>(itemToView))
if (auto* p = itemToView.get_if<MultiLayerItem*>())
itemForRealSpace = p;
else if (auto* p = dynamic_cast<LayerItem*>(itemToView))
else if (auto* p = itemToView.get_if<LayerItem*>())
itemForRealSpace = p;
else if (auto* p = dynamic_cast<ParticleLayoutItem*>(itemToView))
else if (auto* p = itemToView.get_if<ParticleLayoutItem*>())
itemForRealSpace = p;
else if (auto* p = dynamic_cast<ItemWithParticles*>(itemToView))
else if (auto* p = itemToView.get_if<ItemWithParticles*>())
itemForRealSpace = p;
else
return;
......
......@@ -41,7 +41,7 @@ private:
//! Show the item in the real space view
//!
//! If the real space view is not visible at the moment, it will be shown.
void onRequestViewInRealSpace(SessionItem* itemToView);
void onRequestViewInRealSpace(SampleItem itemToView);
void onAboutToRemoveItem(SampleItem item);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment