LibreOffice Module svx (master) 1
|
#include <svdpage.hxx>
Public Member Functions | |
virtual SdrPage * | getSdrPageFromSdrObjList () const |
virtual SdrObject * | getSdrObjectFromSdrObjList () const |
void | CopyObjects (const SdrObjList &rSrcList) |
void | ClearSdrObjList () |
void | RecalcObjOrdNums () |
recalculate order numbers / ZIndex More... | |
bool | IsObjOrdNumsDirty () const |
virtual void | NbcInsertObject (SdrObject *pObj, size_t nPos=SAL_MAX_SIZE) |
virtual void | InsertObject (SdrObject *pObj, size_t nPos=SAL_MAX_SIZE) |
void | sort (std::vector< sal_Int32 > &sortOrder) |
void | InsertObjectThenMakeNameUnique (SdrObject *pObj) |
void | InsertObjectThenMakeNameUnique (SdrObject *pObj, std::unordered_set< rtl::OUString > &rNameSet, size_t nPos=SAL_MAX_SIZE) |
virtual rtl::Reference< SdrObject > | NbcRemoveObject (size_t nObjNum) |
remove from list without delete More... | |
virtual rtl::Reference< SdrObject > | RemoveObject (size_t nObjNum) |
virtual rtl::Reference< SdrObject > | ReplaceObject (SdrObject *pNewObj, size_t nObjNum) |
Replace existing object by different one. More... | |
virtual SdrObject * | SetObjectOrdNum (size_t nOldObjNum, size_t nNewObjNum) |
Modify ZOrder of an SdrObject. More... | |
void | SetExistingObjectOrdNum (SdrObject *pExistingObj, size_t nNewObjNum) |
Modify ZOrder of an SdrObject, object must already be in the list. More... | |
void | SetSdrObjListRectsDirty () |
const tools::Rectangle & | GetAllObjSnapRect () const |
const tools::Rectangle & | GetAllObjBoundRect () const |
void | NbcReformatAllTextObjects () |
reformat all text objects, e.g. when changing printer More... | |
void | ReformatAllTextObjects () |
void | ReformatAllEdgeObjects () |
#103122# reformats all edge objects that are connected to other objects More... | |
void | BurnInStyleSheetAttributes () |
convert attributes of the style to hard formatting More... | |
size_t | GetObjCount () const |
SdrObject * | GetObj (size_t nNum) const |
SdrObject * | GetObjByName (std::u16string_view sName) const |
virtual bool | IsReadOnly () const |
linked page or linked group object More... | |
void | FlattenGroups () |
Makes the object list flat, i.e. More... | |
void | UnGroupObj (size_t nObjNum) |
Ungroup the object at the given index. More... | |
bool | HasObjectNavigationOrder () const |
Return whether there is an explicit, user defined, object navigation order. More... | |
void | SetObjectNavigationPosition (SdrObject &rObject, const sal_uInt32 nNewNavigationPosition) |
Set the navigation position of the given object to the specified value. More... | |
SdrObject * | GetObjectForNavigationPosition (const sal_uInt32 nNavigationPosition) const |
Return the object for the given navigation position. More... | |
void | ClearObjectNavigationOrder () |
Restore the navigation order to that defined by the z-order. More... | |
bool | RecalcNavigationPositions () |
Set the navigation position of all SdrObjects to their position in the mxNavigationOrder list. More... | |
void | SetNavigationOrder (const css::uno::Reference< css::container::XIndexAccess > &rxOrder) |
Set the navigation order to the one defined by the given list of XShape objects. More... | |
virtual void | dumpAsXml (xmlTextWriterPtr pWriter) const |
Protected Member Functions | |
void | RecalcRects () |
SdrObjList () | |
virtual | ~SdrObjList () |
Private Member Functions | |
SdrObjList (const SdrObjList &rSrcList)=delete | |
SdrObjList & | operator= (const SdrObjList &rSrcList)=delete |
void | impClearSdrObjList (bool bBroadcast) |
void | InsertObjectIntoContainer (SdrObject &rObject, const sal_uInt32 nInsertPosition) |
Insert an SdrObject into maList. More... | |
void | ReplaceObjectInContainer (SdrObject &rObject, const sal_uInt32 nObjectPosition) |
Replace an object in the object list. More... | |
void | RemoveObjectFromContainer (const sal_uInt32 nObjectPosition) |
Remove an object from the object list. More... | |
void | ImplReformatAllEdgeObjects (const SdrObjList &) |
Static Private Member Functions | |
static void | impChildInserted (SdrObject const &rChild) |
simple ActionChildInserted forwarder to have it on a central place More... | |
Private Attributes | |
tools::Rectangle | maSdrObjListOutRect |
tools::Rectangle | maSdrObjListSnapRect |
std::deque< rtl::Reference< SdrObject > > | maList |
std::optional< std::vector< unotools::WeakReference< SdrObject > > > | mxNavigationOrder |
This list, if it exists, defines the navigation order. More... | |
bool | mbObjOrdNumsDirty |
bool | mbRectsDirty |
bool | mbIsNavigationOrderDirty |
This flag is <TRUE> when the mpNavigation list has been changed but the indices of the referenced SdrObjects still have their old values. More... | |
Friends | |
class | SdrObjListIter |
class | SdrEditView |
Definition at line 61 of file svdpage.hxx.
|
privatedelete |
|
protected |
Definition at line 67 of file svdpage.cxx.
|
protectedvirtual |
Definition at line 115 of file svdpage.cxx.
References maList.
void SdrObjList::BurnInStyleSheetAttributes | ( | ) |
convert attributes of the style to hard formatting
Definition at line 771 of file svdpage.cxx.
References a, SdrObject::BurnInStyleSheetAttributes(), GetObj(), and GetObjCount().
Referenced by SdrModel::BurnInStyleSheetAttributes().
void SdrObjList::ClearObjectNavigationOrder | ( | ) |
Restore the navigation order to that defined by the z-order.
Definition at line 944 of file svdpage.cxx.
References mbIsNavigationOrderDirty, and mxNavigationOrder.
Referenced by SetNavigationOrder().
void SdrObjList::ClearSdrObjList | ( | ) |
Definition at line 109 of file svdpage.cxx.
References impClearSdrObjList().
Referenced by CopyObjects(), IMapWindow::ReplaceImageMap(), and ContourWindow::SetPolyPolygon().
void SdrObjList::CopyObjects | ( | const SdrObjList & | rSrcList | ) |
Definition at line 134 of file svdpage.cxx.
References CloneList::AddPair(), aStr, ClearSdrObjList(), SdrObject::CloneSdrObject(), CloneList::CopyConnections(), GetObj(), GetObjCount(), getSdrObjectFromSdrObjList(), getSdrPageFromSdrObjList(), mbObjOrdNumsDirty, mbRectsDirty, NbcInsertObject(), and nCount.
Referenced by E3dScene::E3dScene(), SdrPage::lateInit(), and SdrObjGroup::SdrObjGroup().
|
virtual |
Reimplemented in SdrObjGroup, and SdrPage.
Definition at line 1088 of file svdpage.cxx.
References GetObj(), GetObjCount(), i, and pObject.
Referenced by SdrObjGroup::dumpAsXml(), and SdrPage::dumpAsXml().
void SdrObjList::FlattenGroups | ( | ) |
Makes the object list flat, i.e.
the object list content are then tree leaves
This method travels recursively over all group objects in this list, extracts the content, inserts it flat to the list and removes the group object afterwards.
Definition at line 823 of file svdpage.cxx.
References GetObjCount(), i, and UnGroupObj().
Referenced by SdrGrafObj::DoConvertToPolyObj(), and UnGroupObj().
const tools::Rectangle & SdrObjList::GetAllObjBoundRect | ( | ) | const |
Definition at line 703 of file svdpage.cxx.
References tools::Rectangle::IsEmpty(), maSdrObjListOutRect, mbRectsDirty, and RecalcRects().
Referenced by SgaObjectSvDraw::CreateThumb(), SdrObjGroup::GetCurrentBoundRect(), and E3dView::Paste().
const tools::Rectangle & SdrObjList::GetAllObjSnapRect | ( | ) | const |
Definition at line 694 of file svdpage.cxx.
References maSdrObjListSnapRect, mbRectsDirty, and RecalcRects().
Referenced by SdrObjGroup::GetSnapRect(), and SdrExchangeView::Paste().
SdrObject * SdrObjList::GetObj | ( | size_t | nNum | ) | const |
Definition at line 785 of file svdpage.cxx.
References maList.
Referenced by CloneList::AddPair(), svx::ThemeColorChanger::apply(), BurnInStyleSheetAttributes(), SdrMarkView::CheckSingleSdrObjectHit(), sdr::properties::E3dSceneProperties::ClearMergedItem(), sdr::properties::GroupProperties::ClearMergedItem(), sdr::properties::GroupProperties::ClearObjectItem(), SdrObject::ConvertToContourObj(), CopyObjects(), CreateIMapGraphic(), E3dView::CreateMarkedObjModel(), SdrEditView::DeleteLayer(), SvxShape::dispose(), SdrObjGroup::DoConvertToPolyObj(), SdrEditView::DoImportMarkedMtf(), sdr::contact::ObjectContactOfPageView::DoProcessDisplay(), dumpAsXml(), SdrMarkView::dumpGluePointsToJSON(), SdrPageView::EnterGroup(), sdr::properties::GroupProperties::ForceStyleToHardAttributes(), SvxDrawPage::getByIndex(), SvxShapeGroup::getByIndex(), Svx3DSceneObject::getByIndex(), svx::GetGeometryForCustomShape(), accessibility::AccessibleShape::getGroupPosition(), IMapWindow::GetHitSdrObj(), IMapWindow::GetImageMap(), SdrObjGroup::GetLayer(), sdr::properties::E3dSceneProperties::GetMergedItemSet(), sdr::properties::GroupProperties::GetMergedItemSet(), GetObjByName(), svx::sidebar::SelectionAnalyzer::GetObjectTypeFromGroup(), ContourWindow::GetPolyPolygon(), SdrObjGroup::GetRotateAngle(), SvxGraphCtrlAccessibleContext::getSdrObject(), SdrObjGroup::GetShearAngle(), sdr::properties::E3dSceneProperties::GetStyleSheet(), sdr::properties::GroupProperties::GetStyleSheet(), sdr::contact::ViewContactOfSdrObj::GetViewContact(), sdr::contact::ViewContactOfMasterPageDescriptor::GetViewContact(), sdr::contact::ViewContactOfPageHierarchy::GetViewContact(), SdrPaintView::GlueInvalidate(), SdrEditView::GroupMarked(), E3dScene::handlePageChange(), SdrObjGroup::handlePageChange(), Imp3DDepthRemapper::Imp3DDepthRemapper(), Imp_E3dView_InorderRun3DObjects(), E3dView::ImpCloneAll3DObjectsToDestScene(), SdrEditView::ImpDelLayerCheck(), SdrEditView::ImpDelLayerDelObjs(), SdrEdgeObj::ImpFindConnector(), ImpGetObjByName(), SdrObjListIter::ImpProcessObjectList(), svxform::NavigatorTreeModel::InsertFormComponent(), SdrMarkList::InsertPageView(), svx::FontWorkGalleryDialog::insertSelectedFontwork(), ContourWindow::IsContourChanged(), SdrPageView::IsObjMarkable(), SdrObject::isVisibleOnAnyOfTheseLayers(), SdrObject::MakeNameUnique(), SdrPage::MakePageObjectsNamesUnique(), SdrMarkView::MarkableObjectsExceed(), SdrMarkView::MarkNextObj(), SdrMarkView::MarkObj(), SdrObjGroup::Mirror(), SdrObjGroup::Move(), SdrEditView::MovMarkedToBtm(), SdrEditView::MovMarkedToTop(), SdrObjGroup::NbcMirror(), SdrObjGroup::NbcMove(), NbcReformatAllTextObjects(), SdrObjGroup::NbcResize(), SdrObjGroup::NbcRotate(), SdrObjGroup::NbcSetAnchorPos(), E3dScene::NbcSetLayer(), SdrObjGroup::NbcSetLayer(), SdrObjGroup::NbcShear(), SdrExchangeView::Paste(), E3dView::Paste(), sdr::table::SvxTableController::PasteObjModel(), E3dScene::RecalcBoundVolume(), RecalcRects(), E3dScene::RecalcSnapRect(), SvxDrawPage::remove(), SvxShapeGroup::remove(), Svx3DSceneObject::remove(), E3dScene::removeAllNonSelectedObjects(), SdrObjGroup::Resize(), SdrObjGroup::Rotate(), SdrObjListPrimitiveHit(), SdrUndoAttrObj::SdrUndoAttrObj(), SdrUndoGeoObj::SdrUndoGeoObj(), SdrObjGroup::SetAnchorPos(), E3dScene::SetBoundAndSnapRectsDirty(), sdr::properties::E3dSceneProperties::SetMergedItem(), sdr::properties::GroupProperties::SetMergedItem(), sdr::properties::E3dSceneProperties::SetMergedItemSet(), sdr::properties::GroupProperties::SetMergedItemSet(), E3dScene::SetSelected(), sdr::properties::E3dSceneProperties::SetStyleSheet(), sdr::properties::GroupProperties::SetStyleSheet(), E3dScene::SetTransformChanged(), SdrObjGroup::Shear(), SdrObjGroup::TakeObjInfo(), SdrObjGroup::TakeXorPoly(), SdrEditView::UnGroupMarked(), and UnGroupObj().
SdrObject * SdrObjList::GetObjByName | ( | std::u16string_view | sName | ) | const |
Definition at line 793 of file svdpage.cxx.
References SdrObject::GetName(), GetObj(), GetObjCount(), i, and sName.
size_t SdrObjList::GetObjCount | ( | ) | const |
Definition at line 779 of file svdpage.cxx.
References maList.
Referenced by CloneList::AddPair(), svx::ThemeColorChanger::apply(), BurnInStyleSheetAttributes(), SdrMarkView::CheckSingleSdrObjectHit(), sdr::properties::E3dSceneProperties::ClearMergedItem(), sdr::properties::GroupProperties::ClearMergedItem(), sdr::properties::GroupProperties::ClearObjectItem(), SdrObject::ConvertToContourObj(), CopyObjects(), CreateIMapGraphic(), E3dView::CreateMarkedObjModel(), SdrEditView::DeleteLayer(), SdrEditView::DeleteMarkedObj(), SvxShape::dispose(), SdrUndoSort::Do(), SdrObjGroup::DoConvertToPolyObj(), E3dView::DoDepthArrange(), ImpSdrGDIMetaFileImport::DoImport(), ImpSdrPdfImport::DoImport(), sdr::contact::ObjectContactOfPageView::DoProcessDisplay(), dumpAsXml(), SdrMarkView::dumpGluePointsToJSON(), SdrPageView::EnterGroup(), FlattenGroups(), sdr::properties::GroupProperties::ForceStyleToHardAttributes(), SvxGraphCtrlAccessibleContext::getAccessibleChildCount(), getAllHit3DObjectsSortedFrontToBack(), SvxDrawPage::getByIndex(), SvxDrawPage::getCount(), SvxShapeGroup::getCount(), Svx3DSceneObject::getCount(), SdrObjGroup::GetCurrentBoundRect(), accessibility::AccessibleShape::getGroupPosition(), IMapWindow::GetHitSdrObj(), IMapWindow::GetImageMap(), SdrObjGroup::GetLayer(), sdr::properties::E3dSceneProperties::GetMergedItemSet(), sdr::properties::GroupProperties::GetMergedItemSet(), GetObjByName(), sdr::contact::ViewContactOfSdrObj::GetObjectCount(), sdr::contact::ViewContactOfMasterPageDescriptor::GetObjectCount(), sdr::contact::ViewContactOfPageHierarchy::GetObjectCount(), svx::sidebar::SelectionAnalyzer::GetObjectTypeFromGroup(), ContourWindow::GetPolyPolygon(), SdrObjGroup::GetRotateAngle(), SvxGraphCtrlAccessibleContext::getSdrObject(), SdrObjGroup::GetShearAngle(), SdrObjGroup::GetSnapRect(), sdr::properties::E3dSceneProperties::GetStyleSheet(), sdr::properties::GroupProperties::GetStyleSheet(), SdrPaintView::GlueInvalidate(), SdrEditView::GroupMarked(), E3dScene::handlePageChange(), SdrObjGroup::handlePageChange(), SvxDrawPage::hasElements(), SvxShapeGroup::hasElements(), Svx3DSceneObject::hasElements(), Imp3DDepthRemapper::Imp3DDepthRemapper(), Imp_E3dView_InorderRun3DObjects(), SdrEditView::ImpCheckToTopBtmPossible(), SdrTextObj::ImpConvertContainedTextToSdrPathObjs(), SdrEditView::ImpDelLayerCheck(), SdrEditView::ImpDelLayerDelObjs(), SdrEdgeObj::ImpFindConnector(), ImpGetObjByName(), ImplReformatAllEdgeObjects(), SdrObjListIter::ImpProcessObjectList(), svxform::NavigatorTreeModel::InsertFormComponent(), SdrMarkList::InsertPageView(), svx::FontWorkGalleryDialog::insertSelectedFontwork(), ContourWindow::IsContourChanged(), SdrPageView::IsObjMarkable(), SdrObject::isVisibleOnAnyOfTheseLayers(), SdrPage::lateInit(), SdrPage::MakePageObjectsNamesUnique(), SdrMarkView::MarkableObjectsExceed(), SdrMarkView::MarkNextObj(), SdrMarkView::MarkObj(), SdrObjGroup::Mirror(), SdrObjGroup::Move(), SdrEditView::MovMarkedToTop(), NbcInsertObject(), SdrObjGroup::NbcMirror(), SdrObjGroup::NbcMove(), NbcReformatAllTextObjects(), NbcRemoveObject(), SdrObjGroup::NbcResize(), SdrObjGroup::NbcRotate(), SdrObjGroup::NbcSetAnchorPos(), E3dScene::NbcSetLayer(), SdrObjGroup::NbcSetLayer(), SdrObjGroup::NbcShear(), SdrExchangeView::Paste(), E3dView::Paste(), sdr::table::SvxTableController::PasteObjModel(), SdrEditView::PutMarkedInFrontOfObj(), E3dScene::RecalcBoundVolume(), RecalcRects(), E3dScene::RecalcSnapRect(), E3dScene::RemapOrdNum(), SvxDrawPage::remove(), SvxShapeGroup::remove(), Svx3DSceneObject::remove(), E3dScene::removeAllNonSelectedObjects(), RemoveObject(), SdrObjGroup::Resize(), SdrObjGroup::Rotate(), SdrObjectPrimitiveHit(), SdrObjListPrimitiveHit(), SdrUndoAttrObj::SdrUndoAttrObj(), SdrUndoGeoObj::SdrUndoGeoObj(), SdrObjGroup::SetAnchorPos(), E3dScene::SetBoundAndSnapRectsDirty(), sdr::properties::E3dSceneProperties::SetMergedItem(), sdr::properties::GroupProperties::SetMergedItem(), sdr::properties::E3dSceneProperties::SetMergedItemSet(), sdr::properties::GroupProperties::SetMergedItemSet(), E3dScene::SetSelected(), sdr::properties::E3dSceneProperties::SetStyleSheet(), sdr::properties::GroupProperties::SetStyleSheet(), E3dScene::SetTransformChanged(), SdrObjGroup::Shear(), SdrObjGroup::TakeObjInfo(), SdrObjGroup::TakeObjNamePlural(), SdrObjGroup::TakeObjNameSingul(), SdrObjGroup::TakeXorPoly(), SdrEditView::UnGroupMarked(), and UnGroupObj().
SdrObject * SdrObjList::GetObjectForNavigationPosition | ( | const sal_uInt32 | nNavigationPosition | ) | const |
Return the object for the given navigation position.
When there is a user defined navigation order, i.e. mxNavigationOrder is not NULL, then that is used to look up the object. Otherwise the z-order is used by looking up the object in maList.
nNavigationPosition | Valid values include 0 and are smaller than the number of objects as returned by GetObjCount(). |
Definition at line 916 of file svdpage.cxx.
References HasObjectNavigationOrder(), maList, mxNavigationOrder, and size.
Referenced by ImplReformatAllEdgeObjects(), SdrObjListIter::ImpProcessObjectList(), and SdrMarkView::MarkNextObj().
|
virtual |
Reimplemented in E3dScene, and SdrObjGroup.
Definition at line 128 of file svdpage.cxx.
Referenced by SdrMarkView::CheckSingleSdrObjectHit(), CopyObjects(), sdr::contact::ObjectContactOfPageView::getActiveViewContact(), SvxShape::getParent(), sdr::contact::ViewContactOfSdrObj::GetParentContact(), SdrObject::getParentSdrObjectFromSdrObject(), InsertObject(), IsReadOnly(), E3dView::Paste(), SdrUndoInsertObj::Redo(), RemoveObject(), SetSdrObjListRectsDirty(), and SdrUndoRemoveObj::Undo().
|
virtual |
Reimplemented in E3dScene, SdrObjGroup, and SdrPage.
Definition at line 122 of file svdpage.cxx.
Referenced by CopyObjects(), sdr::contact::ObjectContactOfPageView::getActiveViewContact(), SvxShape::getParent(), impClearSdrObjList(), SdrExchangeView::ImpGetPasteLayer(), SdrExchangeView::Paste(), and sort().
bool SdrObjList::HasObjectNavigationOrder | ( | ) | const |
Return whether there is an explicit, user defined, object navigation order.
When there is one this method returns <TRUE> and the GetObjectForNavigationPosition() and SdrObject::GetNavigationPosition() methods will return values different from those returned by SdrObject::GetOrdNum() and GetObj().
Definition at line 865 of file svdpage.cxx.
References mxNavigationOrder.
Referenced by GetObjectForNavigationPosition(), InsertObjectIntoContainer(), RemoveObjectFromContainer(), ReplaceObjectInContainer(), SdrObjListIter::SdrObjListIter(), and SetExistingObjectOrdNum().
|
staticprivate |
simple ActionChildInserted forwarder to have it on a central place
Definition at line 234 of file svdpage.cxx.
References sdr::contact::ViewContact::ActionChildInserted(), sdr::contact::ViewContact::GetParentContact(), and SdrObject::GetViewContact().
Referenced by NbcInsertObject(), and ReplaceObject().
|
private |
Definition at line 74 of file svdpage.cxx.
References getSdrPageFromSdrObjList(), maList, ObjectRemoved, RemoveObjectFromContainer(), and SdrModel::SetChanged().
Referenced by ClearSdrObjList().
|
private |
Definition at line 748 of file svdpage.cxx.
References Edge, SdrObject::getChildrenOfSdrObject(), GetObjCount(), GetObjectForNavigationPosition(), SdrObject::GetObjIdentifier(), ImplReformatAllEdgeObjects(), nCount, and SdrEdgeObj::Reformat().
Referenced by ImplReformatAllEdgeObjects(), and ReformatAllEdgeObjects().
|
virtual |
Reimplemented in FmFormPage, and E3dScene.
Definition at line 295 of file svdpage.cxx.
References SdrObject::ActionChanged(), SfxBroadcaster::Broadcast(), DBG_ASSERT, SdrObject::GetAnchorPos(), SdrObject::getSdrModelFromSdrObject(), getSdrObjectFromSdrObjList(), SdrObject::getSdrPageFromSdrObject(), SdrModel::isLocked(), NbcInsertObject(), SdrObject::NbcSetAnchorPos(), nPos, ObjectInserted, SdrModel::SetChanged(), Point::X(), and Point::Y().
Referenced by SvxDrawPage::add(), SvxDrawPage::addBottom(), SvxShapeGroup::addShape(), SdrEditView::CombineMarkedObjects(), SdrEditView::ForceMarkedObjToAnotherPage(), SdrEditView::GroupMarked(), SdrTextObj::ImpConvertAddText(), SdrTextObj::ImpConvertContainedTextToSdrPathObjs(), SdrEditView::ImpDismantleOneObject(), FmXFormView::implCreateFieldControl(), FmXFormView::implCreateXFormsControl(), SdrExchangeView::ImpPasteObject(), FmFormPage::InsertObject(), E3dScene::InsertObject(), SdrEditView::InsertObjectAtView(), GalleryTheme::InsertTransferable(), SdrEditView::MergeMarkedObjects(), E3dScene::NbcInsertObject(), SdrUndoInsertObj::Redo(), IMapWindow::ReplaceImageMap(), SdrPolyEditView::RipUpAtMarkedPoints(), ContourWindow::SetPolyPolygon(), SdrUndoRemoveObj::Undo(), SdrEditView::UnGroupMarked(), and UnGroupObj().
|
private |
Insert an SdrObject into maList.
Do not modify the maList member directly.
rObject | The object to insert into the object list. |
nInsertPosition | The given object is inserted before the object at this position. Valid values include 0 (the object is inserted at the head of the list) and the number of objects in the list as returned by GetObjCount() (the object is inserted at the end of the list.) |
Definition at line 1001 of file svdpage.cxx.
References HasObjectNavigationOrder(), maList, mbObjOrdNumsDirty, mxNavigationOrder, and SdrObject::SetNavigationPosition().
Referenced by NbcInsertObject(), and SetObjectOrdNum().
void SdrObjList::InsertObjectThenMakeNameUnique | ( | SdrObject * | pObj | ) |
Definition at line 269 of file svdpage.cxx.
References InsertObjectThenMakeNameUnique().
Referenced by SdrEditView::CopyMarkedObj(), InsertObjectThenMakeNameUnique(), and SdrExchangeView::Paste().
void SdrObjList::InsertObjectThenMakeNameUnique | ( | SdrObject * | pObj, |
std::unordered_set< rtl::OUString > & | rNameSet, | ||
size_t | nPos = SAL_MAX_SIZE |
||
) |
References IsReadOnly().
|
inline |
Definition at line 104 of file svdpage.hxx.
Referenced by SdrEditView::GroupMarked().
|
virtual |
linked page or linked group object
Definition at line 805 of file svdpage.cxx.
References getSdrObjectFromSdrObjList(), SdrObject::getSdrPageFromSdrObject(), and IsReadOnly().
Referenced by IsReadOnly().
|
virtual |
Reimplemented in E3dScene.
Definition at line 244 of file svdpage.cxx.
References DBG_ASSERT, GetObjCount(), impChildInserted(), SdrObject::InsertedStateChange(), InsertObjectIntoContainer(), SdrObject::IsInserted(), mbObjOrdNumsDirty, mbRectsDirty, nCount, nPos, SdrObject::SetOrdNum(), and SdrObject::setParentOfSdrObject().
Referenced by Svx3DSceneObject::add(), Svx3DSceneObject::addShape(), CopyObjects(), ImpSdrGDIMetaFileImport::DoImport(), ImpSdrPdfImport::DoImport(), InsertObject(), and E3dScene::NbcInsertObject().
void SdrObjList::NbcReformatAllTextObjects | ( | ) |
reformat all text objects, e.g. when changing printer
Definition at line 718 of file svdpage.cxx.
References GetObj(), GetObjCount(), SdrObject::NbcReformatText(), and nCount.
Referenced by SdrObjGroup::NbcReformatText(), and ReformatAllTextObjects().
|
virtual |
remove from list without delete
Reimplemented in E3dScene.
Definition at line 334 of file svdpage.cxx.
References DBG_ASSERT, GetObjCount(), maList, mbObjOrdNumsDirty, nCount, RemoveObjectFromContainer(), and SetSdrObjListRectsDirty().
Referenced by E3dScene::NbcRemoveObject(), SvxShapeGroup::remove(), and Svx3DSceneObject::remove().
|
privatedelete |
bool SdrObjList::RecalcNavigationPositions | ( | ) |
Set the navigation position of all SdrObjects to their position in the mxNavigationOrder list.
This method returns immediately when no update is necessary.
Definition at line 951 of file svdpage.cxx.
References mbIsNavigationOrderDirty, mxNavigationOrder, and nIndex.
void SdrObjList::RecalcObjOrdNums | ( | ) |
recalculate order numbers / ZIndex
Definition at line 198 of file svdpage.cxx.
References maList, and mbObjOrdNumsDirty.
Referenced by SdrEditView::GroupMarked().
|
protected |
Definition at line 206 of file svdpage.cxx.
References SdrObject::GetCurrentBoundRect(), GetObj(), GetObjCount(), SdrObject::GetSnapRect(), i, maSdrObjListOutRect, maSdrObjListSnapRect, nCount, and tools::Rectangle::Union().
Referenced by GetAllObjBoundRect(), and GetAllObjSnapRect().
void SdrObjList::ReformatAllEdgeObjects | ( | ) |
#103122# reformats all edge objects that are connected to other objects
steps over all available objects and reformats all edge objects that are connected to other objects so that they may reposition themselves.
Definition at line 743 of file svdpage.cxx.
References ImplReformatAllEdgeObjects().
Referenced by SdrModel::ImpReformatAllEdgeObjects().
void SdrObjList::ReformatAllTextObjects | ( | ) |
Definition at line 734 of file svdpage.cxx.
References NbcReformatAllTextObjects().
Referenced by SdrModel::ImpReformatAllTextObjects().
|
virtual |
Reimplemented in FmFormPage, and E3dScene.
Definition at line 373 of file svdpage.cxx.
References SdrObject::ActionChanged(), DBG_ASSERT, GetObjCount(), getSdrObjectFromSdrObjList(), maList, mbObjOrdNumsDirty, nCount, ObjectRemoved, RemoveObjectFromContainer(), and SetSdrObjListRectsDirty().
Referenced by SdrEditView::DeleteLayer(), SdrEditView::DeleteMarkedList(), SdrPolyEditView::DeleteMarkedPoints(), SdrEditView::DismantleMarkedObjects(), SvxShape::dispose(), SdrEditView::DoImportMarkedMtf(), SdrEditView::ForceMarkedObjToAnotherPage(), SdrEditView::GroupMarked(), SdrTextObj::ImpConvertContainedTextToSdrPathObjs(), SdrEditView::ImpDelLayerDelObjs(), SdrUndoRemoveObj::Redo(), SvxDrawPage::remove(), FmFormPage::RemoveObject(), E3dScene::RemoveObject(), SdrUndoInsertObj::Undo(), SdrEditView::UnGroupMarked(), and UnGroupObj().
|
private |
Remove an object from the object list.
The object list has to contain at least one element.
nObjectPosition | The object at this position is removed from the object list. Valid values include 0 and are smaller than the number of objects in the list. |
Definition at line 1062 of file svdpage.cxx.
References HasObjectNavigationOrder(), maList, mbIsNavigationOrderDirty, mbObjOrdNumsDirty, and mxNavigationOrder.
Referenced by impClearSdrObjList(), NbcRemoveObject(), RemoveObject(), and SetObjectOrdNum().
|
virtual |
Replace existing object by different one.
Same as Remove(old)+Insert(new) but faster because the order numbers do not have to be set dirty.
Definition at line 429 of file svdpage.cxx.
References SfxBroadcaster::Broadcast(), DBG_ASSERT, SdrObject::getSdrModelFromSdrObject(), SdrObject::getSdrPageFromSdrObject(), impChildInserted(), SdrObject::InsertedStateChange(), maList, ObjectInserted, ObjectRemoved, ReplaceObjectInContainer(), SdrModel::SetChanged(), SdrObject::SetOrdNum(), SdrObject::setParentOfSdrObject(), and SetSdrObjListRectsDirty().
Referenced by SdrEditView::ImpConvertOneObj(), SdrUndoReplaceObj::Redo(), SdrEditView::ReplaceObjectAtView(), and SdrUndoReplaceObj::Undo().
|
private |
Replace an object in the object list.
rObject | The new object that replaces the one in the list at the specified position. |
nObjectPosition | The object at this position in the object list is replaced by the given object. Valid values include 0 and are smaller than the number of objects in the list. |
Definition at line 1027 of file svdpage.cxx.
References get(), HasObjectNavigationOrder(), maList, mbIsNavigationOrderDirty, mbObjOrdNumsDirty, and mxNavigationOrder.
Referenced by ReplaceObject().
void SdrObjList::SetExistingObjectOrdNum | ( | SdrObject * | pExistingObj, |
size_t | nNewObjNum | ||
) |
Modify ZOrder of an SdrObject, object must already be in the list.
Definition at line 525 of file svdpage.cxx.
References SdrObject::ActionChanged(), SfxBroadcaster::Broadcast(), SdrObject::getSdrModelFromSdrObject(), SdrObject::getSdrPageFromSdrObject(), HasObjectNavigationOrder(), SdrObject::IsInserted(), SdrObject::m_nOrdNum, maList, mbIsNavigationOrderDirty, mbObjOrdNumsDirty, mxNavigationOrder, ObjectChange, SdrModel::SetChanged(), SdrObject::SetNavigationPosition(), and SdrObject::SetOrdNum().
Referenced by SvxShape::setPropertyValueImpl().
void SdrObjList::SetNavigationOrder | ( | const css::uno::Reference< css::container::XIndexAccess > & | rxOrder | ) |
Set the navigation order to the one defined by the given list of XShape objects.
rxOrder | When this is an empty reference then the navigation order is reset to the z-order. The preferred way to do this, however, is to call ClearObjectNavigationOrder(). Otherwise this list is expected to contain all the shapes in the called SdrObjList. |
Definition at line 972 of file svdpage.cxx.
References ClearObjectNavigationOrder(), SdrObject::getSdrObjectFromXShape(), maList, mbIsNavigationOrderDirty, mxNavigationOrder, nCount, nIndex, and pObject.
void SdrObjList::SetObjectNavigationPosition | ( | SdrObject & | rObject, |
const sal_uInt32 | nNewNavigationPosition | ||
) |
Set the navigation position of the given object to the specified value.
Note that this changes the navigation position for all objects on or following the old or new position.
Definition at line 867 of file svdpage.cxx.
References SdrObject::getSdrModelFromSdrObject(), maList, mbIsNavigationOrderDirty, mxNavigationOrder, and SdrModel::SetChanged().
|
virtual |
Modify ZOrder of an SdrObject.
Definition at line 493 of file svdpage.cxx.
References DBG_ASSERT, InsertObjectIntoContainer(), maList, mbObjOrdNumsDirty, ObjectChange, and RemoveObjectFromContainer().
Referenced by SdrEditView::MovMarkedToBtm(), SdrEditView::MovMarkedToTop(), SdrEditView::PutMarkedBehindObj(), SdrEditView::PutMarkedInFrontOfObj(), SdrUndoObjOrdNum::Redo(), SdrEditView::ReverseOrderOfMarked(), and SdrUndoObjOrdNum::Undo().
void SdrObjList::SetSdrObjListRectsDirty | ( | ) |
Definition at line 223 of file svdpage.cxx.
References getSdrObjectFromSdrObjList(), mbRectsDirty, and SdrObject::SetBoundAndSnapRectsDirty().
Referenced by NbcRemoveObject(), RemoveObject(), ReplaceObject(), and SdrObject::SetBoundAndSnapRectsDirty().
void SdrObjList::sort | ( | std::vector< sal_Int32 > & | sortOrder | ) |
Definition at line 581 of file svdpage.cxx.
References SdrModel::AddUndo(), SdrUndoFactory::CreateUndoSort(), getSdrPageFromSdrObjList(), i, idx, SdrModel::IsUndoEnabled(), and maList.
Referenced by SdrUndoSort::Do(), and SvxDrawPage::sort().
void SdrObjList::UnGroupObj | ( | size_t | nObjNum | ) |
Ungroup the object at the given index.
This method ungroups the content of the group object at the given index, i.e. the content is put flat into the object list (if the object at the given index is no group, this method is a no-op). If the group itself contains group objects, the operation is performed recursively, such that the content of the given object contains no groups afterwards.
Definition at line 830 of file svdpage.cxx.
References FlattenGroups(), GetObj(), GetObjCount(), SdrObject::GetSubList(), i, InsertObject(), nCount, and RemoveObject().
Referenced by FlattenGroups().
|
friend |
Definition at line 64 of file svdpage.hxx.
|
friend |
Definition at line 63 of file svdpage.hxx.
|
private |
Definition at line 231 of file svdpage.hxx.
Referenced by GetObj(), GetObjCount(), GetObjectForNavigationPosition(), impClearSdrObjList(), InsertObjectIntoContainer(), NbcRemoveObject(), RecalcObjOrdNums(), RemoveObject(), RemoveObjectFromContainer(), ReplaceObject(), ReplaceObjectInContainer(), SetExistingObjectOrdNum(), SetNavigationOrder(), SetObjectNavigationPosition(), SetObjectOrdNum(), sort(), and ~SdrObjList().
|
private |
Definition at line 229 of file svdpage.hxx.
Referenced by GetAllObjBoundRect(), and RecalcRects().
|
private |
Definition at line 230 of file svdpage.hxx.
Referenced by GetAllObjSnapRect(), and RecalcRects().
|
private |
This flag is <TRUE> when the mpNavigation list has been changed but the indices of the referenced SdrObjects still have their old values.
Definition at line 239 of file svdpage.hxx.
Referenced by ClearObjectNavigationOrder(), RecalcNavigationPositions(), RemoveObjectFromContainer(), ReplaceObjectInContainer(), SetExistingObjectOrdNum(), SetNavigationOrder(), and SetObjectNavigationPosition().
|
private |
Definition at line 235 of file svdpage.hxx.
Referenced by CopyObjects(), InsertObjectIntoContainer(), NbcInsertObject(), NbcRemoveObject(), RecalcObjOrdNums(), RemoveObject(), RemoveObjectFromContainer(), ReplaceObjectInContainer(), SetExistingObjectOrdNum(), and SetObjectOrdNum().
|
private |
Definition at line 236 of file svdpage.hxx.
Referenced by CopyObjects(), GetAllObjBoundRect(), GetAllObjSnapRect(), NbcInsertObject(), and SetSdrObjListRectsDirty().
|
private |
This list, if it exists, defines the navigation order.
If it does not exist then maList defines the navigation order.
Definition at line 234 of file svdpage.hxx.
Referenced by ClearObjectNavigationOrder(), GetObjectForNavigationPosition(), HasObjectNavigationOrder(), InsertObjectIntoContainer(), RecalcNavigationPositions(), RemoveObjectFromContainer(), ReplaceObjectInContainer(), SetExistingObjectOrdNum(), SetNavigationOrder(), and SetObjectNavigationPosition().