// Clone may be to another model and thus another ItemPool. // SfxItemSet supports that thus we are able to Clone all // SfxItemState::SET items to the target pool.
moItemSet.emplace(rProps.moItemSet->CloneAsValue( true,
&rObj.getSdrModelFromSdrObject().GetItemPool()));
// React on ModelChange: If metric has changed, scale items. // As seen above, clone is supported, but scale is not included, // thus: TTTT maybe add scale to SfxItemSet::Clone() (?) // tdf#117707 correct ModelChange detection constbool bModelChange(&rObj.getSdrModelFromSdrObject() != &rProps.GetSdrObject().getSdrModelFromSdrObject());
// do not keep parent info, this may be changed by later constructors. // This class just copies the ItemSet, ignore parent. if(moItemSet && moItemSet->GetParent())
{
moItemSet->SetParent(nullptr);
}
}
void DefaultProperties::SetObjectItemSet(const SfxItemSet& rSet, bool bAdjustTextFrameWidthAndHeight)
{ if (rSet.HasItem(XATTR_FILLBITMAP))
{ const XFillBitmapItem* pItem = rSet.GetItem(XATTR_FILLBITMAP); const std::shared_ptr<VectorGraphicData>& pVectorData
= pItem->GetGraphicObject().GetGraphic().getVectorGraphicData(); if (pVectorData)
{ // Shape is filled by a vector graphic: tell it our size as a hint.
basegfx::B2DTuple aSizeHint;
aSizeHint.setX(GetSdrObject().GetSnapRect().getOpenWidth());
aSizeHint.setY(GetSdrObject().GetSnapRect().getOpenHeight());
pVectorData->setSizeHint(aSizeHint);
}
}
SfxWhichIter aWhichIter(rSet);
sal_uInt16 nWhich(aWhichIter.FirstWhich());
std::vector< const SfxPoolItem * > aPostItemChangeList; // give a hint to STL_Vector
aPostItemChangeList.reserve(rSet.Count());
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.