Kaydet (Commit) 42172ea6 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Let GetObjectItemPool return a reference

Change-Id: Ibbcfa3452afcf88dbb6050765e081a1be2381334
üst af28a777
...@@ -467,7 +467,7 @@ public: ...@@ -467,7 +467,7 @@ public:
virtual void SetModel(SdrModel* pNewModel); virtual void SetModel(SdrModel* pNewModel);
SdrModel* GetModel() const { return pModel;} SdrModel* GetModel() const { return pModel;}
SfxItemPool* GetObjectItemPool() const; SfxItemPool & GetObjectItemPool() const;
void AddListener(SfxListener& rListener); void AddListener(SfxListener& rListener);
void RemoveListener(SfxListener& rListener); void RemoveListener(SfxListener& rListener);
......
...@@ -44,9 +44,9 @@ MorphDlg::MorphDlg( ::Window* pParent, const SdrObject* pObj1, const SdrObject* ...@@ -44,9 +44,9 @@ MorphDlg::MorphDlg( ::Window* pParent, const SdrObject* pObj1, const SdrObject*
LoadSettings(); LoadSettings();
SfxItemPool* pPool = (SfxItemPool*) pObj1->GetObjectItemPool(); SfxItemPool & pPool = pObj1->GetObjectItemPool();
SfxItemSet aSet1( *pPool ); SfxItemSet aSet1( pPool );
SfxItemSet aSet2( *pPool ); SfxItemSet aSet2( pPool );
aSet1.Put(pObj1->GetMergedItemSet()); aSet1.Put(pObj1->GetMergedItemSet());
aSet2.Put(pObj2->GetMergedItemSet()); aSet2.Put(pObj2->GetMergedItemSet());
......
...@@ -342,8 +342,8 @@ void FuMorph::ImpInsertPolygons( ...@@ -342,8 +342,8 @@ void FuMorph::ImpInsertPolygons(
long nStartLineWidth = 0; long nStartLineWidth = 0;
long nEndLineWidth = 0; long nEndLineWidth = 0;
SdrPageView* pPageView = mpView->GetSdrPageView(); SdrPageView* pPageView = mpView->GetSdrPageView();
SfxItemPool* pPool = pObj1->GetObjectItemPool(); SfxItemPool & pPool = pObj1->GetObjectItemPool();
SfxItemSet aSet1( *pPool,SDRATTR_START,SDRATTR_NOTPERSIST_FIRST-1,EE_ITEMS_START,EE_ITEMS_END,0 ); SfxItemSet aSet1( pPool,SDRATTR_START,SDRATTR_NOTPERSIST_FIRST-1,EE_ITEMS_START,EE_ITEMS_END,0 );
SfxItemSet aSet2( aSet1 ); SfxItemSet aSet2( aSet1 );
bool bLineColor = false; bool bLineColor = false;
bool bFillColor = false; bool bFillColor = false;
......
...@@ -109,7 +109,7 @@ namespace sdr ...@@ -109,7 +109,7 @@ namespace sdr
TextProperties::ClearObjectItemDirect( nWhich2 ); TextProperties::ClearObjectItemDirect( nWhich2 );
nWhich2 = aIter.NextWhich(); nWhich2 = aIter.NextWhich();
} }
SfxItemSet aSet((SfxItemPool&)(*GetSdrObject().GetObjectItemPool())); SfxItemSet aSet(GetSdrObject().GetObjectItemPool());
ItemSetChanged(aSet); ItemSetChanged(aSet);
} }
else else
......
...@@ -81,7 +81,7 @@ namespace sdr ...@@ -81,7 +81,7 @@ namespace sdr
{ {
if(!mpItemSet) if(!mpItemSet)
{ {
((DefaultProperties*)this)->mpItemSet = &(((DefaultProperties*)this)->CreateObjectSpecificItemSet(*GetSdrObject().GetObjectItemPool())); ((DefaultProperties*)this)->mpItemSet = &(((DefaultProperties*)this)->CreateObjectSpecificItemSet(GetSdrObject().GetObjectItemPool()));
((DefaultProperties*)this)->ForceDefaultAttributes(); ((DefaultProperties*)this)->ForceDefaultAttributes();
} }
...@@ -99,7 +99,7 @@ namespace sdr ...@@ -99,7 +99,7 @@ namespace sdr
ItemChange(nWhichID, &rItem); ItemChange(nWhichID, &rItem);
PostItemChange(nWhichID); PostItemChange(nWhichID);
SfxItemSet aSet(*GetSdrObject().GetObjectItemPool(), nWhichID, nWhichID); SfxItemSet aSet(GetSdrObject().GetObjectItemPool(), nWhichID, nWhichID);
aSet.Put(rItem); aSet.Put(rItem);
ItemSetChanged(aSet); ItemSetChanged(aSet);
} }
...@@ -124,7 +124,7 @@ namespace sdr ...@@ -124,7 +124,7 @@ namespace sdr
if(nWhich) if(nWhich)
{ {
SfxItemSet aSet(*GetSdrObject().GetObjectItemPool(), nWhich, nWhich, 0, 0); SfxItemSet aSet(GetSdrObject().GetObjectItemPool(), nWhich, nWhich, 0, 0);
ItemSetChanged(aSet); ItemSetChanged(aSet);
} }
} }
...@@ -145,7 +145,7 @@ namespace sdr ...@@ -145,7 +145,7 @@ namespace sdr
const SfxPoolItem *pPoolItem; const SfxPoolItem *pPoolItem;
std::vector< sal_uInt16 > aPostItemChangeList; std::vector< sal_uInt16 > aPostItemChangeList;
bool bDidChange(false); bool bDidChange(false);
SfxItemSet aSet(*GetSdrObject().GetObjectItemPool(), SDRATTR_START, EE_ITEMS_END); SfxItemSet aSet(GetSdrObject().GetObjectItemPool(), SDRATTR_START, EE_ITEMS_END);
// give a hint to STL_Vector // give a hint to STL_Vector
aPostItemChangeList.reserve(rSet.Count()); aPostItemChangeList.reserve(rSet.Count());
......
...@@ -71,7 +71,7 @@ namespace sdr ...@@ -71,7 +71,7 @@ namespace sdr
{ {
if(!mpEmptyItemSet) if(!mpEmptyItemSet)
{ {
((EmptyProperties*)this)->mpEmptyItemSet = &(((EmptyProperties*)this)->CreateObjectSpecificItemSet(*GetSdrObject().GetObjectItemPool())); ((EmptyProperties*)this)->mpEmptyItemSet = &(((EmptyProperties*)this)->CreateObjectSpecificItemSet(GetSdrObject().GetObjectItemPool()));
} }
DBG_ASSERT(mpEmptyItemSet, "Could not create an SfxItemSet(!)"); DBG_ASSERT(mpEmptyItemSet, "Could not create an SfxItemSet(!)");
......
...@@ -60,7 +60,7 @@ namespace sdr ...@@ -60,7 +60,7 @@ namespace sdr
{ {
if(!mpEmptyItemSet) if(!mpEmptyItemSet)
{ {
((PageProperties*)this)->mpEmptyItemSet = &(((PageProperties*)this)->CreateObjectSpecificItemSet(*GetSdrObject().GetObjectItemPool())); ((PageProperties*)this)->mpEmptyItemSet = &(((PageProperties*)this)->CreateObjectSpecificItemSet(GetSdrObject().GetObjectItemPool()));
} }
DBG_ASSERT(mpEmptyItemSet, "Could not create an SfxItemSet(!)"); DBG_ASSERT(mpEmptyItemSet, "Could not create an SfxItemSet(!)");
......
...@@ -107,9 +107,9 @@ void SdrAttrObj::SetModel(SdrModel* pNewModel) ...@@ -107,9 +107,9 @@ void SdrAttrObj::SetModel(SdrModel* pNewModel)
SdrModel* pOldModel = pModel; SdrModel* pOldModel = pModel;
// test for correct pool in ItemSet; move to new pool if necessary // test for correct pool in ItemSet; move to new pool if necessary
if(pNewModel && GetObjectItemPool() && GetObjectItemPool() != &pNewModel->GetItemPool()) if(pNewModel && &GetObjectItemPool() != &pNewModel->GetItemPool())
{ {
MigrateItemPool(GetObjectItemPool(), &pNewModel->GetItemPool(), pNewModel); MigrateItemPool(&GetObjectItemPool(), &pNewModel->GetItemPool(), pNewModel);
} }
// call parent // call parent
......
...@@ -614,13 +614,13 @@ SdrItemPool& SdrObject::GetGlobalDrawObjectItemPool() ...@@ -614,13 +614,13 @@ SdrItemPool& SdrObject::GetGlobalDrawObjectItemPool()
return *mpGlobalItemPool; return *mpGlobalItemPool;
} }
SfxItemPool* SdrObject::GetObjectItemPool() const SfxItemPool & SdrObject::GetObjectItemPool() const
{ {
if(pModel) if(pModel)
return &pModel->GetItemPool(); return pModel->GetItemPool();
// use a static global default pool // use a static global default pool
return &SdrObject::GetGlobalDrawObjectItemPool(); return SdrObject::GetGlobalDrawObjectItemPool();
} }
sal_uInt32 SdrObject::GetObjInventor() const sal_uInt32 SdrObject::GetObjInventor() const
...@@ -1214,7 +1214,7 @@ basegfx::B2DPolyPolygon SdrObject::TakeContour() const ...@@ -1214,7 +1214,7 @@ basegfx::B2DPolyPolygon SdrObject::TakeContour() const
} }
} }
SfxItemSet aNewSet(*GetObjectItemPool()); SfxItemSet aNewSet(GetObjectItemPool());
// #i101980# ignore LineWidth; that's what the old implementation // #i101980# ignore LineWidth; that's what the old implementation
// did. With line width, the result may be huge due to fat/thick // did. With line width, the result may be huge due to fat/thick
...@@ -2093,19 +2093,7 @@ const SfxPoolItem& SdrObject::GetObjectItem(const sal_uInt16 nWhich) const ...@@ -2093,19 +2093,7 @@ const SfxPoolItem& SdrObject::GetObjectItem(const sal_uInt16 nWhich) const
SfxMapUnit SdrObject::GetObjectMapUnit() const SfxMapUnit SdrObject::GetObjectMapUnit() const
{ {
SfxMapUnit aRetval(SFX_MAPUNIT_100TH_MM); return GetObjectItemPool().GetMetric(0);
SfxItemPool* pPool = GetObjectItemPool();
if(pPool)
{
aRetval = pPool->GetMetric(0);
}
else
{
OSL_ENSURE(pPool, "SdrObjects always need a pool (!)");
}
return aRetval;
} }
const SfxPoolItem& SdrObject::GetMergedItem(const sal_uInt16 nWhich) const const SfxPoolItem& SdrObject::GetMergedItem(const sal_uInt16 nWhich) const
......
...@@ -200,9 +200,9 @@ void SdrObjGroup::SetModel(SdrModel* pNewModel) ...@@ -200,9 +200,9 @@ void SdrObjGroup::SetModel(SdrModel* pNewModel)
SdrModel* pOldModel = pModel; SdrModel* pOldModel = pModel;
// test for correct pool in ItemSet; move to new pool if necessary // test for correct pool in ItemSet; move to new pool if necessary
if(pNewModel && GetObjectItemPool() && GetObjectItemPool() != &pNewModel->GetItemPool()) if(pNewModel && &GetObjectItemPool() != &pNewModel->GetItemPool())
{ {
MigrateItemPool(GetObjectItemPool(), &pNewModel->GetItemPool(), pNewModel); MigrateItemPool(&GetObjectItemPool(), &pNewModel->GetItemPool(), pNewModel);
} }
// call parent // call parent
......
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