Kaydet (Commit) f9fef3b5 authored tarafından Xisco Fauli's avatar Xisco Fauli Kaydeden (comit) Xisco Faulí

Re-arrange the conditions to avoid the dynamic_cast

Similar to 88be8aa1

Change-Id: Ia6f725fd6c6cee3135191a998ea43c1e6f90fc23
Reviewed-on: https://gerrit.libreoffice.org/71287Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: 's avatarXisco Faulí <xiscofauli@libreoffice.org>
üst a0edb53e
......@@ -176,7 +176,13 @@ void adjustAnchoredPosition(const SdrHint& rHint, const ScDocument& rDoc, SCTAB
void ScDrawView::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
{
if (dynamic_cast<const ScTabDeletedHint*>(&rHint)) // Sheet has been deleted
if (rHint.GetId() == SfxHintId::ThisIsAnSdrHint)
{
const SdrHint* pSdrHint = static_cast<const SdrHint*>( &rHint );
adjustAnchoredPosition(*pSdrHint, *pDoc, nTab);
FmFormView::Notify( rBC,rHint );
}
else if (dynamic_cast<const ScTabDeletedHint*>(&rHint)) // Sheet has been deleted
{
SCTAB nDelTab = static_cast<const ScTabDeletedHint&>(rHint).GetTab();
if (ValidTab(nDelTab))
......@@ -191,12 +197,6 @@ void ScDrawView::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
if ( nTab == static_cast<const ScTabSizeChangedHint&>(rHint).GetTab() )
UpdateWorkArea();
}
else if (rHint.GetId() == SfxHintId::ThisIsAnSdrHint)
{
const SdrHint* pSdrHint = static_cast<const SdrHint*>( &rHint );
adjustAnchoredPosition(*pSdrHint, *pDoc, nTab);
FmFormView::Notify( rBC,rHint );
}
else
FmFormView::Notify( rBC,rHint );
}
......
......@@ -30,7 +30,14 @@ void ScPreviewShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
{
bool bDataChanged = false;
if (const ScPaintHint* pPaintHint = dynamic_cast<const ScPaintHint*>(&rHint))
if (rHint.GetId() == SfxHintId::ThisIsAnSdrHint)
{
const SdrHint* pSdrHint = static_cast<const SdrHint*>(&rHint);
// SdrHints are no longer used for invalidating, thus react on objectchange instead
if(SdrHintKind::ObjectChange == pSdrHint->GetKind())
bDataChanged = true;
}
else if (const ScPaintHint* pPaintHint = dynamic_cast<const ScPaintHint*>(&rHint))
{
if ( pPaintHint->GetPrintFlag() )
{
......@@ -39,13 +46,6 @@ void ScPreviewShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
bDataChanged = true;
}
}
else if (rHint.GetId() == SfxHintId::ThisIsAnSdrHint)
{
const SdrHint* pSdrHint = static_cast<const SdrHint*>(&rHint);
// SdrHints are no longer used for invalidating, thus react on objectchange instead
if(SdrHintKind::ObjectChange == pSdrHint->GetKind())
bDataChanged = true;
}
else
{
switch ( rHint.GetId() )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment