summaryrefslogtreecommitdiff
path: root/svx/source/form
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2014-08-27 16:57:21 +0200
committerNorbert Thiebaud <nthiebaud@gmail.com>2014-09-06 15:47:44 -0500
commit5bce32904091ffe28884fd5c0f4801ee82bad101 (patch)
treefc2573078a858de456a0dc7b7810176d433241c7 /svx/source/form
parent10143717834d8401d85fdf9564e782a58b9983ec (diff)
SfxHint: convert home-grown RTTI to normal C++ RTTI
Also note that I fixed a bug in SvxFontMenuControl::Notify where the if statement had the check the wrong way around. Change-Id: I611e8929c65818191e36bd80f2b985820ada4411 Reviewed-on: https://gerrit.libreoffice.org/11147 Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com> Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
Diffstat (limited to 'svx/source/form')
-rw-r--r--svx/source/form/filtnav.cxx30
-rw-r--r--svx/source/form/fmexpl.cxx19
-rw-r--r--svx/source/form/fmshell.cxx3
-rw-r--r--svx/source/form/fmundo.cxx12
-rw-r--r--svx/source/form/fmvwimp.cxx5
-rw-r--r--svx/source/form/navigatortree.cxx22
-rw-r--r--svx/source/form/navigatortreemodel.cxx10
7 files changed, 33 insertions, 68 deletions
diff --git a/svx/source/form/filtnav.cxx b/svx/source/form/filtnav.cxx
index 4b1b2dd5b30e..828acb1ac2ba 100644
--- a/svx/source/form/filtnav.cxx
+++ b/svx/source/form/filtnav.cxx
@@ -231,11 +231,9 @@ class FmFilterHint : public SfxHint
FmFilterData* m_pData;
public:
- TYPEINFO_OVERRIDE();
FmFilterHint(FmFilterData* pData):m_pData(pData){}
FmFilterData* GetData() const { return m_pData; }
};
-TYPEINIT1( FmFilterHint, SfxHint );
class FmFilterInsertedHint : public FmFilterHint
@@ -243,54 +241,42 @@ class FmFilterInsertedHint : public FmFilterHint
sal_uLong m_nPos; // Position relative to the parent of the data
public:
- TYPEINFO_OVERRIDE();
FmFilterInsertedHint(FmFilterData* pData, sal_uLong nRelPos)
:FmFilterHint(pData)
,m_nPos(nRelPos){}
sal_uLong GetPos() const { return m_nPos; }
};
-TYPEINIT1( FmFilterInsertedHint, FmFilterHint );
class FmFilterRemovedHint : public FmFilterHint
{
public:
- TYPEINFO_OVERRIDE();
FmFilterRemovedHint(FmFilterData* pData)
:FmFilterHint(pData){}
-
};
-TYPEINIT1( FmFilterRemovedHint, FmFilterHint );
class FmFilterTextChangedHint : public FmFilterHint
{
public:
- TYPEINFO_OVERRIDE();
FmFilterTextChangedHint(FmFilterData* pData)
:FmFilterHint(pData){}
-
};
-TYPEINIT1( FmFilterTextChangedHint, FmFilterHint );
class FilterClearingHint : public SfxHint
{
public:
- TYPEINFO_OVERRIDE();
FilterClearingHint(){}
};
-TYPEINIT1( FilterClearingHint, SfxHint );
class FmFilterCurrentChangedHint : public SfxHint
{
public:
- TYPEINFO_OVERRIDE();
FmFilterCurrentChangedHint(){}
};
-TYPEINIT1( FmFilterCurrentChangedHint, SfxHint );
// class FmFilterAdapter, Listener an den FilterControls
@@ -1483,28 +1469,28 @@ bool FmFilterNavigator::Select( SvTreeListEntry* pEntry, bool bSelect )
void FmFilterNavigator::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
{
- if (rHint.ISA(FmFilterInsertedHint))
+ if ( dynamic_cast<const FmFilterInsertedHint*>(&rHint) )
{
- FmFilterInsertedHint* pHint = (FmFilterInsertedHint*)&rHint;
+ const FmFilterInsertedHint* pHint = dynamic_cast<const FmFilterInsertedHint*>(&rHint);
Insert(pHint->GetData(), pHint->GetPos());
}
- else if( rHint.ISA(FilterClearingHint) )
+ else if( dynamic_cast<const FilterClearingHint*>(&rHint) )
{
SvTreeListBox::Clear();
}
- else if( rHint.ISA(FmFilterRemovedHint) )
+ else if( dynamic_cast<const FmFilterRemovedHint*>(&rHint) )
{
- FmFilterRemovedHint* pHint = (FmFilterRemovedHint*)&rHint;
+ const FmFilterRemovedHint* pHint = dynamic_cast<const FmFilterRemovedHint*>(&rHint);
Remove(pHint->GetData());
}
- else if( rHint.ISA(FmFilterTextChangedHint) )
+ else if( dynamic_cast<const FmFilterTextChangedHint*>(&rHint) )
{
- FmFilterTextChangedHint* pHint = (FmFilterTextChangedHint*)&rHint;
+ const FmFilterTextChangedHint* pHint = dynamic_cast<const FmFilterTextChangedHint*>(&rHint);
SvTreeListEntry* pEntry = FindEntry(pHint->GetData());
if (pEntry)
SetEntryText( pEntry, pHint->GetData()->GetText());
}
- else if( rHint.ISA(FmFilterCurrentChangedHint) )
+ else if( dynamic_cast<const FmFilterCurrentChangedHint*>(&rHint) )
{
// invalidate the entries
for (SvTreeListEntry* pEntry = First(); pEntry != NULL;
diff --git a/svx/source/form/fmexpl.cxx b/svx/source/form/fmexpl.cxx
index ca585ae128d8..4c24ad1c73cc 100644
--- a/svx/source/form/fmexpl.cxx
+++ b/svx/source/form/fmexpl.cxx
@@ -69,8 +69,6 @@ using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::container;
-TYPEINIT1( FmNavInsertedHint, SfxHint );
-
FmNavInsertedHint::FmNavInsertedHint( FmEntryData* pInsertedEntryData, sal_uInt32 nRelPos )
:pEntryData( pInsertedEntryData )
,nPos( nRelPos )
@@ -87,8 +85,6 @@ FmNavInsertedHint::~FmNavInsertedHint()
// class FmNavInsertedHint
-TYPEINIT1( FmNavModelReplacedHint, SfxHint );
-
FmNavModelReplacedHint::FmNavModelReplacedHint( FmEntryData* pAffectedEntryData )
:pEntryData( pAffectedEntryData )
{
@@ -99,8 +95,6 @@ FmNavModelReplacedHint::~FmNavModelReplacedHint()
{
}
-TYPEINIT1( FmNavRemovedHint, SfxHint );
-
FmNavRemovedHint::FmNavRemovedHint( FmEntryData* pRemovedEntryData )
:pEntryData( pRemovedEntryData )
{
@@ -111,8 +105,6 @@ FmNavRemovedHint::~FmNavRemovedHint()
{
}
-TYPEINIT1( FmNavNameChangedHint, SfxHint );
-
FmNavNameChangedHint::FmNavNameChangedHint( FmEntryData* pData, const OUString& rNewName )
:pEntryData( pData )
,aNewName( rNewName )
@@ -124,8 +116,6 @@ FmNavNameChangedHint::~FmNavNameChangedHint()
{
}
-TYPEINIT1( FmNavClearedHint, SfxHint );
-
FmNavClearedHint::FmNavClearedHint()
{
}
@@ -136,15 +126,6 @@ FmNavClearedHint::~FmNavClearedHint()
}
-// class FmNavRequestSelectHint
-
-TYPEINIT1(FmNavRequestSelectHint, SfxHint);
-
-
-// class FmNavViewMarksChanged
-
-TYPEINIT1(FmNavViewMarksChanged, SfxHint);
-
FmEntryDataList::FmEntryDataList()
{
}
diff --git a/svx/source/form/fmshell.cxx b/svx/source/form/fmshell.cxx
index 80fc7441674e..36671195d898 100644
--- a/svx/source/form/fmshell.cxx
+++ b/svx/source/form/fmshell.cxx
@@ -144,9 +144,6 @@ using namespace ::com::sun::star::form::runtime;
using namespace ::com::sun::star::frame;
using namespace ::svxform;
-TYPEINIT1( FmDesignModeChangedHint, SfxHint );
-
-
FmDesignModeChangedHint::FmDesignModeChangedHint( bool bDesMode )
:m_bDesignMode( bDesMode )
{
diff --git a/svx/source/form/fmundo.cxx b/svx/source/form/fmundo.cxx
index 11487c780f28..6d0e16747ebd 100644
--- a/svx/source/form/fmundo.cxx
+++ b/svx/source/form/fmundo.cxx
@@ -287,9 +287,9 @@ void FmXUndoEnvironment::ModeChanged()
void FmXUndoEnvironment::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
{
- if (rHint.ISA(SdrHint))
+ const SdrHint* pSdrHint = dynamic_cast<const SdrHint*>(&rHint);
+ if (pSdrHint)
{
- SdrHint* pSdrHint = (SdrHint*)&rHint;
switch( pSdrHint->GetKind() )
{
case HINT_OBJINSERTED:
@@ -307,9 +307,9 @@ void FmXUndoEnvironment::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
break;
}
}
- else if (rHint.ISA(SfxSimpleHint))
+ else if (dynamic_cast<const SfxSimpleHint*>(&rHint))
{
- switch ( ((SfxSimpleHint&)rHint).GetId() )
+ switch ( static_cast<const SfxSimpleHint*>(&rHint)->GetId() )
{
case SFX_HINT_DYING:
dispose();
@@ -320,9 +320,9 @@ void FmXUndoEnvironment::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
break;
}
}
- else if (rHint.ISA(SfxEventHint))
+ else if (dynamic_cast<const SfxEventHint*>(&rHint))
{
- switch (((SfxEventHint&)rHint).GetEventId())
+ switch ( static_cast<const SfxEventHint*>(&rHint)->GetEventId() )
{
case SFX_EVENT_CREATEDOC:
case SFX_EVENT_OPENDOC:
diff --git a/svx/source/form/fmvwimp.cxx b/svx/source/form/fmvwimp.cxx
index 850eda9f15e3..c9b1b60e7cb6 100644
--- a/svx/source/form/fmvwimp.cxx
+++ b/svx/source/form/fmvwimp.cxx
@@ -1675,8 +1675,9 @@ FmXFormView::ObjectRemoveListener::ObjectRemoveListener( FmXFormView* pParent )
void FmXFormView::ObjectRemoveListener::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
{
- if (rHint.ISA(SdrHint) && (((SdrHint&)rHint).GetKind() == HINT_OBJREMOVED))
- m_pParent->ObjectRemovedInAliveMode(((SdrHint&)rHint).GetObject());
+ const SdrHint* pSdrHint = dynamic_cast<const SdrHint*>(&rHint);
+ if (pSdrHint && pSdrHint->GetKind() == HINT_OBJREMOVED)
+ m_pParent->ObjectRemovedInAliveMode(pSdrHint->GetObject());
}
diff --git a/svx/source/form/navigatortree.cxx b/svx/source/form/navigatortree.cxx
index 187a1cb7af17..262d00afa15d 100644
--- a/svx/source/form/navigatortree.cxx
+++ b/svx/source/form/navigatortree.cxx
@@ -549,24 +549,24 @@ namespace svxform
void NavigatorTree::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
{
- if( rHint.ISA(FmNavRemovedHint) )
+ if( dynamic_cast<const FmNavRemovedHint*>(&rHint) )
{
- FmNavRemovedHint* pRemovedHint = (FmNavRemovedHint*)&rHint;
+ const FmNavRemovedHint* pRemovedHint = static_cast<const FmNavRemovedHint*>(&rHint);
FmEntryData* pEntryData = pRemovedHint->GetEntryData();
Remove( pEntryData );
}
- else if( rHint.ISA(FmNavInsertedHint) )
+ else if( dynamic_cast<const FmNavInsertedHint*>(&rHint) )
{
- FmNavInsertedHint* pInsertedHint = (FmNavInsertedHint*)&rHint;
+ const FmNavInsertedHint* pInsertedHint = static_cast<const FmNavInsertedHint*>(&rHint);
FmEntryData* pEntryData = pInsertedHint->GetEntryData();
sal_uInt32 nRelPos = pInsertedHint->GetRelPos();
Insert( pEntryData, nRelPos );
}
- else if( rHint.ISA(FmNavModelReplacedHint) )
+ else if( dynamic_cast<const FmNavModelReplacedHint*>(&rHint) )
{
- FmEntryData* pData = ((FmNavModelReplacedHint*)&rHint)->GetEntryData();
+ FmEntryData* pData = static_cast<const FmNavModelReplacedHint*>(&rHint)->GetEntryData();
SvTreeListEntry* pEntry = FindEntry( pData );
if (pEntry)
{ // das Image neu setzen
@@ -575,14 +575,14 @@ namespace svxform
}
}
- else if( rHint.ISA(FmNavNameChangedHint) )
+ else if( dynamic_cast<const FmNavNameChangedHint*>(&rHint) )
{
- FmNavNameChangedHint* pNameChangedHint = (FmNavNameChangedHint*)&rHint;
+ const FmNavNameChangedHint* pNameChangedHint = static_cast<const FmNavNameChangedHint*>(&rHint);
SvTreeListEntry* pEntry = FindEntry( pNameChangedHint->GetEntryData() );
SetEntryText( pEntry, pNameChangedHint->GetNewName() );
}
- else if( rHint.ISA(FmNavClearedHint) )
+ else if( dynamic_cast<const FmNavClearedHint*>(&rHint) )
{
SvTreeListBox::Clear();
@@ -592,10 +592,10 @@ namespace svxform
m_pRootEntry = InsertEntry( SVX_RESSTR(RID_STR_FORMS), aRootImage, aRootImage,
NULL, false, 0, NULL );
}
- else if (!m_bMarkingObjects && rHint.ISA(FmNavRequestSelectHint))
+ else if (!m_bMarkingObjects && dynamic_cast<const FmNavRequestSelectHint*>(&rHint))
{ // wenn m_bMarkingObjects sal_True ist, markiere ich gerade selber Objekte, und da der ganze Mechanismus dahinter synchron ist,
// ist das genau der Hint, der durch mein Markieren ausgeloest wird, also kann ich ihn ignorieren
- FmNavRequestSelectHint* pershHint = (FmNavRequestSelectHint*)&rHint;
+ FmNavRequestSelectHint* pershHint = const_cast<FmNavRequestSelectHint*>(static_cast<const FmNavRequestSelectHint*>(&rHint));
FmEntryDataArray& arredToSelect = pershHint->GetItems();
SynchronizeSelection(arredToSelect);
diff --git a/svx/source/form/navigatortreemodel.cxx b/svx/source/form/navigatortreemodel.cxx
index 672692eef518..215060641680 100644
--- a/svx/source/form/navigatortreemodel.cxx
+++ b/svx/source/form/navigatortreemodel.cxx
@@ -691,9 +691,9 @@ namespace svxform
void NavigatorTreeModel::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
{
- if( rHint.ISA(SdrHint) )
+ const SdrHint* pSdrHint = dynamic_cast<const SdrHint*>(&rHint);
+ if( pSdrHint )
{
- SdrHint* pSdrHint = (SdrHint*)&rHint;
switch( pSdrHint->GetKind() )
{
case HINT_OBJINSERTED:
@@ -707,13 +707,13 @@ namespace svxform
}
}
// hat sich die shell verabschiedet?
- else if ( rHint.ISA(SfxSimpleHint) && ((SfxSimpleHint&)rHint).GetId() == SFX_HINT_DYING)
+ else if ( dynamic_cast<const SfxSimpleHint*>(&rHint) && static_cast<const SfxSimpleHint*>(&rHint)->GetId() == SFX_HINT_DYING)
UpdateContent((FmFormShell*)NULL);
// hat sich die Markierung der Controls veraendert ?
- else if (rHint.ISA(FmNavViewMarksChanged))
+ else if (dynamic_cast<const FmNavViewMarksChanged*>(&rHint))
{
- FmNavViewMarksChanged* pvmcHint = (FmNavViewMarksChanged*)&rHint;
+ const FmNavViewMarksChanged* pvmcHint = static_cast<const FmNavViewMarksChanged*>(&rHint);
BroadcastMarkedObjects( pvmcHint->GetAffectedView()->GetMarkedObjectList() );
}
}