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:
virtual void SetModel(SdrModel* pNewModel);
SdrModel* GetModel() const { return pModel;}
SfxItemPool* GetObjectItemPool() const;
SfxItemPool & GetObjectItemPool() const;
void AddListener(SfxListener& rListener);
void RemoveListener(SfxListener& rListener);
......
......@@ -44,9 +44,9 @@ MorphDlg::MorphDlg( ::Window* pParent, const SdrObject* pObj1, const SdrObject*
LoadSettings();
SfxItemPool* pPool = (SfxItemPool*) pObj1->GetObjectItemPool();
SfxItemSet aSet1( *pPool );
SfxItemSet aSet2( *pPool );
SfxItemPool & pPool = pObj1->GetObjectItemPool();
SfxItemSet aSet1( pPool );
SfxItemSet aSet2( pPool );
aSet1.Put(pObj1->GetMergedItemSet());
aSet2.Put(pObj2->GetMergedItemSet());
......
......@@ -342,8 +342,8 @@ void FuMorph::ImpInsertPolygons(
long nStartLineWidth = 0;
long nEndLineWidth = 0;
SdrPageView* pPageView = mpView->GetSdrPageView();
SfxItemPool* pPool = pObj1->GetObjectItemPool();
SfxItemSet aSet1( *pPool,SDRATTR_START,SDRATTR_NOTPERSIST_FIRST-1,EE_ITEMS_START,EE_ITEMS_END,0 );
SfxItemPool & pPool = pObj1->GetObjectItemPool();
SfxItemSet aSet1( pPool,SDRATTR_START,SDRATTR_NOTPERSIST_FIRST-1,EE_ITEMS_START,EE_ITEMS_END,0 );
SfxItemSet aSet2( aSet1 );
bool bLineColor = false;
bool bFillColor = false;
......
......@@ -109,7 +109,7 @@ namespace sdr
TextProperties::ClearObjectItemDirect( nWhich2 );
nWhich2 = aIter.NextWhich();
}
SfxItemSet aSet((SfxItemPool&)(*GetSdrObject().GetObjectItemPool()));
SfxItemSet aSet(GetSdrObject().GetObjectItemPool());
ItemSetChanged(aSet);
}
else
......
......@@ -81,7 +81,7 @@ namespace sdr
{
if(!mpItemSet)
{
((DefaultProperties*)this)->mpItemSet = &(((DefaultProperties*)this)->CreateObjectSpecificItemSet(*GetSdrObject().GetObjectItemPool()));
((DefaultProperties*)this)->mpItemSet = &(((DefaultProperties*)this)->CreateObjectSpecificItemSet(GetSdrObject().GetObjectItemPool()));
((DefaultProperties*)this)->ForceDefaultAttributes();
}
......@@ -99,7 +99,7 @@ namespace sdr
ItemChange(nWhichID, &rItem);
PostItemChange(nWhichID);
SfxItemSet aSet(*GetSdrObject().GetObjectItemPool(), nWhichID, nWhichID);
SfxItemSet aSet(GetSdrObject().GetObjectItemPool(), nWhichID, nWhichID);
aSet.Put(rItem);
ItemSetChanged(aSet);
}
......@@ -124,7 +124,7 @@ namespace sdr
if(nWhich)
{
SfxItemSet aSet(*GetSdrObject().GetObjectItemPool(), nWhich, nWhich, 0, 0);
SfxItemSet aSet(GetSdrObject().GetObjectItemPool(), nWhich, nWhich, 0, 0);
ItemSetChanged(aSet);
}
}
......@@ -145,7 +145,7 @@ namespace sdr
const SfxPoolItem *pPoolItem;
std::vector< sal_uInt16 > aPostItemChangeList;
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
aPostItemChangeList.reserve(rSet.Count());
......
......@@ -71,7 +71,7 @@ namespace sdr
{
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(!)");
......
......@@ -60,7 +60,7 @@ namespace sdr
{
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(!)");
......
......@@ -107,9 +107,9 @@ void SdrAttrObj::SetModel(SdrModel* pNewModel)
SdrModel* pOldModel = pModel;
// 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
......
......@@ -614,13 +614,13 @@ SdrItemPool& SdrObject::GetGlobalDrawObjectItemPool()
return *mpGlobalItemPool;
}
SfxItemPool* SdrObject::GetObjectItemPool() const
SfxItemPool & SdrObject::GetObjectItemPool() const
{
if(pModel)
return &pModel->GetItemPool();
return pModel->GetItemPool();
// use a static global default pool
return &SdrObject::GetGlobalDrawObjectItemPool();
return SdrObject::GetGlobalDrawObjectItemPool();
}
sal_uInt32 SdrObject::GetObjInventor() 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
// 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
SfxMapUnit SdrObject::GetObjectMapUnit() const
{
SfxMapUnit aRetval(SFX_MAPUNIT_100TH_MM);
SfxItemPool* pPool = GetObjectItemPool();
if(pPool)
{
aRetval = pPool->GetMetric(0);
}
else
{
OSL_ENSURE(pPool, "SdrObjects always need a pool (!)");
}
return aRetval;
return GetObjectItemPool().GetMetric(0);
}
const SfxPoolItem& SdrObject::GetMergedItem(const sal_uInt16 nWhich) const
......
......@@ -200,9 +200,9 @@ void SdrObjGroup::SetModel(SdrModel* pNewModel)
SdrModel* pOldModel = pModel;
// 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
......
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