LibreOffice Module svx (master) 1
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
SdrVirtObj Class Reference

FIXME: The virtual object is not yet fully implemented and tested. More...

#include <svdovirt.hxx>

Inheritance diagram for SdrVirtObj:
[legend]
Collaboration diagram for SdrVirtObj:
[legend]

Public Member Functions

virtual sdr::properties::BasePropertiesGetProperties () const override
 
 SdrVirtObj (SdrModel &rSdrModel, SdrObject &rNewObj)
 
 SdrVirtObj (SdrModel &rSdrModel, SdrVirtObj const &rSource)
 
SdrObjectReferencedObj ()
 
const SdrObjectGetReferencedObj () const
 
virtual void NbcSetAnchorPos (const Point &rAnchorPos) override
 
virtual void TakeObjInfo (SdrObjTransformInfoRec &rInfo) const override
 
virtual SdrInventor GetObjInventor () const override
 
virtual SdrObjKind GetObjIdentifier () const override
 
virtual SdrObjListGetSubList () const override
 
virtual const tools::RectangleGetCurrentBoundRect () const override
 
virtual const tools::RectangleGetLastBoundRect () const override
 
virtual void RecalcBoundRect () override
 
virtual rtl::Reference< SdrObjectCloneSdrObject (SdrModel &rTargetModel) const override
 
virtual OUString TakeObjNameSingul () const override
 
virtual OUString TakeObjNamePlural () const override
 
virtual bool HasLimitedRotation () const override
 
virtual basegfx::B2DPolyPolygon TakeXorPoly () const override
 The Xor-Polygon is required by the View to drag the object. More...
 
virtual sal_uInt32 GetHdlCount () const override
 Via GetHdlCount the number of Handles can be retrieved. More...
 
virtual void AddToPlusHdlList (SdrHdlList &rHdlList, SdrHdl &rHdl) const override
 
virtual void AddToHdlList (SdrHdlList &rHdlList) const override
 
virtual bool hasSpecialDrag () const override
 The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPoly(),...). More...
 
virtual bool beginSpecialDrag (SdrDragStat &rDrag) const override
 
virtual bool applySpecialDrag (SdrDragStat &rDrag) override
 
virtual OUString getSpecialDragComment (const SdrDragStat &rDrag) const override
 
virtual basegfx::B2DPolyPolygon getSpecialDragPoly (const SdrDragStat &rDrag) const override
 
virtual bool supportsFullDrag () const override
 
virtual rtl::Reference< SdrObjectgetFullDragClone () const override
 
virtual bool BegCreate (SdrDragStat &rStat) override
 Every object must be able to create itself interactively. More...
 
virtual bool MovCreate (SdrDragStat &rStat) override
 
virtual bool EndCreate (SdrDragStat &rStat, SdrCreateCmd eCmd) override
 
virtual bool BckCreate (SdrDragStat &rStat) override
 
virtual void BrkCreate (SdrDragStat &rStat) override
 
virtual basegfx::B2DPolyPolygon TakeCreatePoly (const SdrDragStat &rDrag) const override
 Polygon dragged by the user when creating the object. More...
 
virtual void NbcMove (const Size &rSiz) override
 The methods Move, Resize, Rotate, Mirror, Shear, SetSnapRect and SetLogicRect call the corresponding Nbc-methods, send a Repaint broadcast and set the Modified state on the Model. More...
 
virtual void NbcResize (const Point &rRef, const Fraction &xFact, const Fraction &yFact) override
 
virtual void NbcRotate (const Point &rRef, Degree100 nAngle, double sn, double cs) override
 
virtual void NbcMirror (const Point &rRef1, const Point &rRef2) override
 
virtual void NbcShear (const Point &rRef, Degree100 nAngle, double tn, bool bVShear) override
 
virtual void Move (const Size &rSiz) override
 
virtual void Resize (const Point &rRef, const Fraction &xFact, const Fraction &yFact, bool bUnsetRelative=true) override
 
virtual void Rotate (const Point &rRef, Degree100 nAngle, double sn, double cs) override
 
virtual void Mirror (const Point &rRef1, const Point &rRef2) override
 
virtual void Shear (const Point &rRef, Degree100 nAngle, double tn, bool bVShear) override
 
virtual void RecalcSnapRect () override
 Snap is not done on the BoundRect but if possible on logic coordinates (i.e. More...
 
virtual const tools::RectangleGetSnapRect () const override
 
virtual void SetSnapRect (const tools::Rectangle &rRect) override
 
virtual void NbcSetSnapRect (const tools::Rectangle &rRect) override
 
virtual const tools::RectangleGetLogicRect () const override
 
virtual void SetLogicRect (const tools::Rectangle &rRect) override
 
virtual void NbcSetLogicRect (const tools::Rectangle &rRect) override
 
virtual Degree100 GetRotateAngle () const override
 
virtual Degree100 GetShearAngle (bool bVertical=false) const override
 
virtual sal_uInt32 GetSnapPointCount () const override
 snap to special points of an Object (polygon points, center of circle) More...
 
virtual Point GetSnapPoint (sal_uInt32 i) const override
 
virtual bool IsPolyObj () const override
 
virtual sal_uInt32 GetPointCount () const override
 
virtual Point GetPoint (sal_uInt32 i) const override
 
virtual void NbcSetPoint (const Point &rPnt, sal_uInt32 i) override
 
virtual std::unique_ptr< SdrObjGeoDataGetGeoData () const override
 
virtual void SetGeoData (const SdrObjGeoData &rGeo) override
 
virtual void NbcReformatText () override
 
virtual bool HasMacro () const override
 
virtual SdrObjectCheckMacroHit (const SdrObjMacroHitRec &rRec) const override
 
virtual PointerStyle GetMacroPointer (const SdrObjMacroHitRec &rRec) const override
 
virtual void PaintMacro (OutputDevice &rOut, const tools::Rectangle &rDirtyRect, const SdrObjMacroHitRec &rRec) const override
 
virtual bool DoMacro (const SdrObjMacroHitRec &rRec) override
 
virtual Point GetOffset () const
 
- Public Member Functions inherited from SdrObject
virtual const std::shared_ptr< svx::diagram::IDiagramHelper > & getDiagramHelper () const
 
bool isDiagram () const
 
const SdrObjectgetFillGeometryDefiningShape () const
 
 SdrObject (SdrModel &rSdrModel)
 
 SdrObject (SdrModel &rSdrModel, SdrObject const &rSource)
 
virtual void SAL_CALL acquire () noexcept override final
 
virtual void SAL_CALL release () noexcept override final
 
SdrPagegetSdrPageFromSdrObject () const
 
SdrModelgetSdrModelFromSdrObject () const
 
virtual SdrObjListgetChildrenOfSdrObject () const
 
SdrObjListgetParentSdrObjListFromSdrObject () const
 
SdrObjectgetParentSdrObjectFromSdrObject () const
 
virtual void handlePageChange (SdrPage *pOldPage, SdrPage *pNewPage)
 
void AddObjectUser (sdr::ObjectUser &rNewUser)
 
void RemoveObjectUser (sdr::ObjectUser &rOldUser)
 
sdr::contact::ViewContactGetViewContact () const
 
virtual sdr::properties::BasePropertiesGetProperties () const
 
void ActionChanged () const
 
void SetRelativeWidth (double nValue)
 
void SetRelativeWidthRelation (sal_Int16 eValue)
 
void SetRelativeHeight (double nValue)
 
void SetRelativeHeightRelation (sal_Int16 eValue)
 
const double * GetRelativeWidth () const
 
sal_Int16 GetRelativeWidthRelation () const
 
const double * GetRelativeHeight () const
 
sal_Int16 GetRelativeHeightRelation () const
 
virtual void SetBoundAndSnapRectsDirty (bool bNotMyself=false, bool bRecursive=true)
 
virtual void SetBoundRectDirty ()
 
SfxItemPoolGetObjectItemPool () const
 
void AddListener (SfxListener &rListener)
 
void RemoveListener (SfxListener &rListener)
 
void AddReference (SdrVirtObj &rVrtObj)
 
void DelReference (SdrVirtObj &rVrtObj)
 
virtual SdrInventor GetObjInventor () const
 
virtual SdrObjKind GetObjIdentifier () const
 
virtual void TakeObjInfo (SdrObjTransformInfoRec &rInfo) const
 
virtual SdrLayerID GetLayer () const
 
virtual void NbcSetLayer (SdrLayerID nLayer)
 
virtual void SetLayer (SdrLayerID nLayer)
 
void getMergedHierarchySdrLayerIDSet (SdrLayerIDSet &rSet) const
 
void SendUserCall (SdrUserCallType eUserCall, const tools::Rectangle &rBoundRect) const
 
void SetName (const OUString &rStr, const bool bSetChanged=true)
 
const OUString & GetName () const
 
void MakeNameUnique ()
 
void MakeNameUnique (std::unordered_set< OUString > &rNameSet)
 
void SetTitle (const OUString &rStr)
 
OUString GetTitle () const
 
void SetDescription (const OUString &rStr)
 
OUString GetDescription () const
 
bool IsGroupObject () const
 
virtual SdrObjListGetSubList () const
 
sal_uInt32 GetOrdNum () const
 The order number (aka ZOrder, aka z-index) determines whether a SdrObject is located above or below another. More...
 
void SetOrdNum (sal_uInt32 nNum)
 
void GetGrabBagItem (css::uno::Any &rVal) const
 
virtual void SetGrabBagItem (const css::uno::Any &rVal)
 
sal_uInt32 GetNavigationPosition () const
 
virtual const tools::RectangleGetCurrentBoundRect () const
 
virtual const tools::RectangleGetLastBoundRect () const
 
virtual void RecalcBoundRect ()
 
void BroadcastObjectChange () const
 
const SfxBroadcasterGetBroadcaster () const
 
virtual void SetChanged ()
 
void SingleObjectPainter (OutputDevice &rOut) const
 
bool LineGeometryUsageIsNecessary () const
 
virtual bool HasLimitedRotation () const
 
virtual rtl::Reference< SdrObjectCloneSdrObject (SdrModel &rTargetModel) const
 
SdrObjectoperator= (const SdrObject &rObj)=delete
 
SdrObjectoperator= (SdrObject &&rObj)=delete
 
virtual OUString TakeObjNameSingul () const
 
virtual OUString TakeObjNamePlural () const
 
virtual basegfx::B2DPolyPolygon TakeXorPoly () const
 The Xor-Polygon is required by the View to drag the object. More...
 
virtual basegfx::B2DPolyPolygon TakeContour () const
 contour for TextToContour More...
 
virtual sal_uInt32 GetHdlCount () const
 Via GetHdlCount the number of Handles can be retrieved. More...
 
virtual void AddToPlusHdlList (SdrHdlList &rHdlList, SdrHdl &rHdl) const
 
virtual void AddToHdlList (SdrHdlList &rHdlList) const
 
virtual void addCropHandles (SdrHdlList &rTarget) const
 
virtual bool hasSpecialDrag () const
 The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPoly(),...). More...
 
virtual bool beginSpecialDrag (SdrDragStat &rDrag) const
 
virtual bool applySpecialDrag (SdrDragStat &rDrag)
 
virtual OUString getSpecialDragComment (const SdrDragStat &rDrag) const
 
virtual basegfx::B2DPolyPolygon getSpecialDragPoly (const SdrDragStat &rDrag) const
 
virtual bool supportsFullDrag () const
 
virtual rtl::Reference< SdrObjectgetFullDragClone () const
 
virtual bool BegCreate (SdrDragStat &rStat)
 Every object must be able to create itself interactively. More...
 
virtual bool MovCreate (SdrDragStat &rStat)
 
virtual bool EndCreate (SdrDragStat &rStat, SdrCreateCmd eCmd)
 
virtual bool BckCreate (SdrDragStat &rStat)
 
virtual void BrkCreate (SdrDragStat &rStat)
 
virtual PointerStyle GetCreatePointer () const
 get the cursor/pointer that signals creating this object More...
 
virtual basegfx::B2DPolyPolygon TakeCreatePoly (const SdrDragStat &rDrag) const
 Polygon dragged by the user when creating the object. More...
 
virtual void NbcMove (const Size &rSiz)
 The methods Move, Resize, Rotate, Mirror, Shear, SetSnapRect and SetLogicRect call the corresponding Nbc-methods, send a Repaint broadcast and set the Modified state on the Model. More...
 
virtual void NbcResize (const Point &rRef, const Fraction &xFact, const Fraction &yFact)
 
virtual void NbcCrop (const basegfx::B2DPoint &rRef, double fxFact, double fyFact)
 
virtual void NbcRotate (const Point &rRef, Degree100 nAngle, double sn, double cs)
 
void NbcRotate (const Point &rRef, Degree100 nAngle)
 
virtual void NbcMirror (const Point &rRef1, const Point &rRef2)
 
virtual void NbcShear (const Point &rRef, Degree100 nAngle, double tn, bool bVShear)
 
virtual void Move (const Size &rSiz)
 
virtual void Resize (const Point &rRef, const Fraction &xFact, const Fraction &yFact, bool bUnsetRelative=true)
 
virtual void Crop (const basegfx::B2DPoint &rRef, double fxFact, double fyFact)
 
virtual void Rotate (const Point &rRef, Degree100 nAngle, double sn, double cs)
 
virtual void Mirror (const Point &rRef1, const Point &rRef2)
 
virtual void Shear (const Point &rRef, Degree100 nAngle, double tn, bool bVShear)
 
virtual void NbcSetRelativePos (const Point &rPnt)
 The relative position of a SdrObject is the distance of the upper left corner of the logic bounding rectangle (SnapRect) to the anchor. More...
 
virtual void SetRelativePos (const Point &rPnt)
 
virtual Point GetRelativePos () const
 
void ImpSetAnchorPos (const Point &rPnt)
 
virtual void NbcSetAnchorPos (const Point &rPnt)
 
virtual void SetAnchorPos (const Point &rPnt)
 
virtual void RecalcSnapRect ()
 Snap is not done on the BoundRect but if possible on logic coordinates (i.e. More...
 
virtual const tools::RectangleGetSnapRect () const
 
virtual void SetSnapRect (const tools::Rectangle &rRect)
 
virtual void NbcSetSnapRect (const tools::Rectangle &rRect)
 
virtual const tools::RectangleGetLogicRect () const
 
virtual void SetLogicRect (const tools::Rectangle &rRect)
 
virtual void NbcSetLogicRect (const tools::Rectangle &rRect)
 
virtual void AdjustToMaxRect (const tools::Rectangle &rMaxRect, bool bShrinkOnly=false)
 
virtual Degree100 GetRotateAngle () const
 
virtual Degree100 GetShearAngle (bool bVertical=false) const
 
virtual sal_uInt32 GetSnapPointCount () const
 snap to special points of an Object (polygon points, center of circle) More...
 
virtual Point GetSnapPoint (sal_uInt32 i) const
 
virtual bool IsPolyObj () const
 
virtual sal_uInt32 GetPointCount () const
 
virtual Point GetPoint (sal_uInt32 i) const
 
void SetPoint (const Point &rPnt, sal_uInt32 i)
 
virtual void NbcSetPoint (const Point &rPnt, sal_uInt32 i)
 
virtual std::unique_ptr< SdrObjGeoDataGetGeoData () const
 
virtual void SetGeoData (const SdrObjGeoData &rGeo)
 
const SfxItemSetGetMergedItemSet () const
 
void SetMergedItem (const SfxPoolItem &rItem)
 
void ClearMergedItem (const sal_uInt16 nWhich=0)
 
void SetMergedItemSet (const SfxItemSet &rSet, bool bClearAllItems=false)
 
const SfxPoolItemGetMergedItem (const sal_uInt16 nWhich) const
 
template<class T >
const T & GetMergedItem (TypedWhichId< T > nWhich) const
 
void SetMergedItemSetAndBroadcast (const SfxItemSet &rSet, bool bClearAllItems=false)
 
void TakeNotPersistAttr (SfxItemSet &rAttr) const
 
void ApplyNotPersistAttr (const SfxItemSet &rAttr)
 
void NbcApplyNotPersistAttr (const SfxItemSet &rAttr)
 
void SetStyleSheet (SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr)
 
void NbcSetStyleSheet (SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr)
 
SfxStyleSheetGetStyleSheet () const
 
virtual bool HasTextEdit () const
 
void SetOutlinerParaObject (std::optional< OutlinerParaObject > pTextObject)
 
virtual void NbcSetOutlinerParaObject (std::optional< OutlinerParaObject > pTextObject)
 
virtual OutlinerParaObjectGetOutlinerParaObject () const
 
virtual void NbcReformatText ()
 
void BurnInStyleSheetAttributes ()
 
virtual bool HasMacro () const
 
virtual SdrObjectCheckMacroHit (const SdrObjMacroHitRec &rRec) const
 
virtual PointerStyle GetMacroPointer (const SdrObjMacroHitRec &rRec) const
 
virtual void PaintMacro (OutputDevice &rOut, const tools::Rectangle &rDirtyRect, const SdrObjMacroHitRec &rRec) const
 
virtual bool DoMacro (const SdrObjMacroHitRec &rRec)
 
bool IsMacroHit (const SdrObjMacroHitRec &rRec) const
 
virtual SdrGluePoint GetVertexGluePoint (sal_uInt16 nNum) const
 
virtual SdrGluePoint GetCornerGluePoint (sal_uInt16 nNum) const
 
virtual const SdrGluePointListGetGluePointList () const
 
virtual SdrGluePointListForceGluePointList ()
 
void SetGlueReallyAbsolute (bool bOn)
 
void NbcRotateGluePoints (const Point &rRef, Degree100 nAngle, double sn, double cs)
 
void NbcMirrorGluePoints (const Point &rRef1, const Point &rRef2)
 
void NbcShearGluePoints (const Point &rRef, double tn, bool bVShear)
 
virtual void ConnectToNode (bool bTail1, SdrObject *pObj)
 
virtual void DisconnectFromNode (bool bTail1)
 
virtual SdrObjectGetConnectedNode (bool bTail1) const
 
virtual void SetContextWritingMode (const sal_Int16 _nContextWritingMode)
 
virtual rtl::Reference< SdrObjectDoConvertToPolyObj (bool bBezier, bool bAddText) const
 
rtl::Reference< SdrObjectConvertToPolyObj (bool bBezier, bool bLineToArea) const
 
rtl::Reference< SdrObjectConvertToContourObj (SdrObject *pRet, bool bForceLineDash=false) const
 
bool IsVirtualObj () const
 
bool IsClosedObj () const
 
void InsertedStateChange ()
 
bool IsInserted () const
 
bool IsEdgeObj () const
 
bool Is3DObj () const
 
bool IsUnoObj () const
 
void SetMoveProtect (bool bProt)
 
bool IsMoveProtect () const
 
void SetResizeProtect (bool bProt)
 
bool IsResizeProtect () const
 
void SetPrintable (bool bPrn)
 
bool IsPrintable () const
 
void SetVisible (bool bVisible)
 
bool IsVisible () const
 
void SetMarkProtect (bool bProt)
 
bool IsMarkProtect () const
 
virtual bool IsSdrTextObj () const
 
virtual bool shouldKeepAspectRatio () const
 Whether the aspect ratio should be kept by default when resizing. More...
 
sal_uInt16 GetUserDataCount () const
 
SdrObjUserDataGetUserData (sal_uInt16 nNum) const
 
void AppendUserData (std::unique_ptr< SdrObjUserData > pData)
 
void DeleteUserData (sal_uInt16 nNum)
 
virtual css::uno::Reference< css::drawing::XShape > getUnoShape ()
 
svx::PropertyChangeNotifiergetShapePropertyChangeNotifier ()
 
void notifyShapePropertyChange (const svx::ShapePropertyProviderId _eProperty) const
 
virtual bool TRGetBaseGeometry (basegfx::B2DHomMatrix &rMatrix, basegfx::B2DPolyPolygon &rPolyPolygon) const
 
virtual void TRSetBaseGeometry (const basegfx::B2DHomMatrix &rMatrix, const basegfx::B2DPolyPolygon &rPolyPolygon)
 
bool IsInDestruction () const
 
bool HasFillStyle () const
 
bool HasLineStyle () const
 
const tools::RectangleGetBLIPSizeRectangle () const
 
void SetBLIPSizeRectangle (const tools::Rectangle &aRect)
 
virtual bool HasText () const
 
bool Equals (const SdrObject &) const
 
virtual void dumpAsXml (xmlTextWriterPtr pWriter) const
 
virtual bool IsTextBox () const
 Is this a textbox of a drawinglayer shape? More...
 
void SetEmptyPresObj (bool bEpt)
 
bool IsEmptyPresObj () const
 
void SetNotVisibleAsMaster (bool bFlg)
 
bool IsNotVisibleAsMaster () const
 
void SetUserCall (SdrObjUserCall *pUser)
 
SdrObjUserCallGetUserCall () const
 
void SetDoNotInsertIntoPageAutomatically (bool bSet)
 
bool IsDoNotInsertIntoPageAutomatically () const
 
sal_uInt32 GetOrdNumDirect () const
 
bool DoesSupportTextIndentingOnLineWidthChange () const
 
const PointGetAnchorPos () const
 
bool LineIsOutsideGeometry () const
 
void SetNavigationPosition (const sal_uInt32 nPosition)
 
virtual void setUnoShape (const css::uno::Reference< css::drawing::XShape > &_rxUnoShape)
 Sets a new UNO representation of the shape. More...
 
const css::uno::WeakReference< css::drawing::XShape > & getWeakUnoShape () const
 
bool setSuitableOutlinerBg (Outliner &rOutliner) const
 
const GraphicgetFillGraphic () const
 
const OUString & getHyperlink () const
 
void setHyperlink (const OUString &sHyperlink)
 
void ForceMetricToItemPoolMetric (basegfx::B2DPolyPolygon &rPolyPolygon) const noexcept
 
- Public Member Functions inherited from SfxListener
 SfxListener ()
 
 SfxListener (const SfxListener &rCopy)
 
virtual ~SfxListener () COVERITY_NOEXCEPT_FALSE
 
void StartListening (SfxBroadcaster &rBroadcaster, DuplicateHandling eDuplicateHanding=DuplicateHandling::Unexpected)
 
void EndListening (SfxBroadcaster &rBroadcaster, bool bRemoveAllDuplicates=false)
 
void EndListeningAll ()
 
bool IsListening (SfxBroadcaster &rBroadcaster) const
 
sal_uInt16 GetBroadcasterCount () const
 
SfxBroadcasterGetBroadcasterJOE (sal_uInt16 nNo) const
 
virtual void Notify (SfxBroadcaster &rBC, const SfxHint &rHint)
 
void RemoveBroadcaster_Impl (SfxBroadcaster &rBC)
 
virtual bool IsSdrView () const
 
- Public Member Functions inherited from cppu::OWeakObject
 OWeakObject ()
 
 OWeakObject (const OWeakObject &)
 
OWeakObject &SAL_CALL operator= (const OWeakObject &)
 
virtual css::uno::Any SAL_CALL queryInterface (const css::uno::Type &rType) SAL_OVERRIDE
 
virtual void SAL_CALL acquire () SAL_NOEXCEPT SAL_OVERRIDE
 
virtual void SAL_CALL release () SAL_NOEXCEPT SAL_OVERRIDE
 
virtual css::uno::Reference< css::uno::XAdapter > SAL_CALL queryAdapter () SAL_OVERRIDE
 
SAL_CALL operator css::uno::Reference< css::uno::XInterface > ()
 

Protected Member Functions

virtual std::unique_ptr< sdr::contact::ViewContactCreateObjectSpecificViewContact () override
 
virtual void Notify (SfxBroadcaster &rBC, const SfxHint &rHint) override
 
virtual std::unique_ptr< SdrObjGeoDataNewGeoData () const override
 A derived class must override these 3 methods if it has own geometric data that must be saved for Undo. More...
 
virtual void SaveGeoData (SdrObjGeoData &rGeo) const override
 
virtual void RestoreGeoData (const SdrObjGeoData &rGeo) override
 
virtual ~SdrVirtObj () override
 
- Protected Member Functions inherited from SdrObject
const tools::RectanglegetOutRectangle () const
 
void setOutRectangleConst (tools::Rectangle const &rRectangle) const
 
void setOutRectangle (tools::Rectangle const &rRectangle)
 
void resetOutRectangle ()
 
void moveOutRectangle (sal_Int32 nXDelta, sal_Int32 nYDelta)
 
virtual ~SdrObject () override
 
virtual std::unique_ptr< sdr::properties::BasePropertiesCreateObjectSpecificProperties ()
 
virtual std::unique_ptr< sdr::contact::ViewContactCreateObjectSpecificViewContact ()
 
tools::Rectangle ImpDragCalcRect (const SdrDragStat &rDrag) const
 
OUString ImpGetDescriptionStr (TranslateId pStrCacheID) const
 
void ImpForcePlusData ()
 
OUString GetMetrStr (tools::Long nVal) const
 
virtual std::unique_ptr< SdrObjGeoDataNewGeoData () const
 A derived class must override these 3 methods if it has own geometric data that must be saved for Undo. More...
 
virtual void SaveGeoData (SdrObjGeoData &rGeo) const
 
virtual void RestoreGeoData (const SdrObjGeoData &rGeo)
 
const SfxItemSetGetObjectItemSet () const
 
void SetObjectItem (const SfxPoolItem &rItem)
 
void SetObjectItemSet (const SfxItemSet &rSet)
 
const SfxPoolItemGetObjectItem (const sal_uInt16 nWhich) const
 
template<class T >
const T & GetObjectItem (TypedWhichId< T > nWhich) const
 
const SfxItemSetgetBackgroundFillSet () const
 
virtual void InternalSetStyleSheet (SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr, bool bBroadcast)
 
- Protected Member Functions inherited from cppu::OWeakObject
virtual ~OWeakObject () COVERITY_NOEXCEPT_FALSE
 
void disposeWeakConnectionPoint ()
 

Protected Attributes

rtl::Reference< SdrObjectmxRefObj
 
tools::Rectangle aSnapRect
 
- Protected Attributes inherited from SdrObject
tools::Rectangle m_aOutRect
 
Point m_aAnchor
 
SdrObjUserCallm_pUserCall
 
std::unique_ptr< SdrObjPlusDatam_pPlusData
 
bool m_bVirtObj: 1
 
bool m_bSnapRectDirty: 1
 
bool m_bMovProt: 1
 
bool m_bSizProt: 1
 
bool m_bEmptyPresObj: 1
 
bool m_bNotVisibleAsMaster: 1
 
bool m_bClosedObj: 1
 
bool m_bIsEdge: 1
 
bool m_bIs3DObj: 1
 
bool m_bIsUnoObj: 1
 
bool mbLineIsOutsideGeometry: 1
 
bool mbSupportTextIndentingOnLineWidthChange: 1
 
- Protected Attributes inherited from cppu::OWeakObject
oslInterlockedCount m_refCount
 

Private Member Functions

 SdrVirtObj (const SdrVirtObj &)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from SdrObject
static SdrItemPoolGetGlobalDrawObjectItemPool ()
 
template<class T >
static rtl::Reference< T > Clone (T const &rObj, SdrModel &rTargetModel)
 
static SdrObjectgetSdrObjectFromXShape (const css::uno::Reference< css::uno::XInterface > &xInt)
 

Detailed Description

FIXME: The virtual object is not yet fully implemented and tested.

At the moment we only use it in a derived class in Writer.

Definition at line 29 of file svdovirt.hxx.

Constructor & Destructor Documentation

◆ SdrVirtObj() [1/3]

SdrVirtObj::SdrVirtObj ( const SdrVirtObj )
privatedelete

◆ ~SdrVirtObj()

SdrVirtObj::~SdrVirtObj ( )
overrideprotectedvirtual

Definition at line 65 of file svdovirt.cxx.

References mxRefObj.

◆ SdrVirtObj() [2/3]

SdrVirtObj::SdrVirtObj ( SdrModel rSdrModel,
SdrObject rNewObj 
)

Definition at line 40 of file svdovirt.cxx.

References SdrObject::m_bClosedObj, SdrObject::m_bVirtObj, and mxRefObj.

◆ SdrVirtObj() [3/3]

SdrVirtObj::SdrVirtObj ( SdrModel rSdrModel,
SdrVirtObj const &  rSource 
)

Member Function Documentation

◆ AddToHdlList()

void SdrVirtObj::AddToHdlList ( SdrHdlList rHdlList) const
overridevirtual

◆ AddToPlusHdlList()

void SdrVirtObj::AddToPlusHdlList ( SdrHdlList rHdlList,
SdrHdl rHdl 
) const
overridevirtual

◆ applySpecialDrag()

bool SdrVirtObj::applySpecialDrag ( SdrDragStat rDrag)
overridevirtual

Reimplemented from SdrObject.

Definition at line 238 of file svdovirt.cxx.

References mxRefObj.

◆ BckCreate()

bool SdrVirtObj::BckCreate ( SdrDragStat rStat)
overridevirtual

Reimplemented from SdrObject.

Definition at line 270 of file svdovirt.cxx.

References mxRefObj.

◆ BegCreate()

bool SdrVirtObj::BegCreate ( SdrDragStat rStat)
overridevirtual

Every object must be able to create itself interactively.

On MouseDown first an object is created, and its BegCreate() method is called. On every MouseMove, MovCreate() is called. BrkCreate() is called if the user cancels the interactive object creation. EndCreate() is called on the MouseUp event. If EndCreate() returns true, the creation is finished; the object is inserted into the corresponding list. Otherwise it is assumed that further points are necessary to create the object (Polygon, ...). The parameter eCmd contains the number of mouse clicks (if the application provides it). BckCreate() will undo the previous EndCreate(), e.g. to delete the last point of the Polygon. If BckCreate() returns false, creation is cancelled.

Reimplemented from SdrObject.

Definition at line 255 of file svdovirt.cxx.

References mxRefObj.

◆ beginSpecialDrag()

bool SdrVirtObj::beginSpecialDrag ( SdrDragStat rDrag) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 233 of file svdovirt.cxx.

References mxRefObj.

◆ BrkCreate()

void SdrVirtObj::BrkCreate ( SdrDragStat rStat)
overridevirtual

Reimplemented from SdrObject.

Definition at line 275 of file svdovirt.cxx.

References mxRefObj.

◆ CheckMacroHit()

SdrObject * SdrVirtObj::CheckMacroHit ( const SdrObjMacroHitRec rRec) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 514 of file svdovirt.cxx.

References mxRefObj.

◆ CloneSdrObject()

rtl::Reference< SdrObject > SdrVirtObj::CloneSdrObject ( SdrModel rTargetModel) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 137 of file svdovirt.cxx.

References SdrObject::SdrVirtObj.

◆ CreateObjectSpecificViewContact()

std::unique_ptr< sdr::contact::ViewContact > SdrVirtObj::CreateObjectSpecificViewContact ( )
overrideprotectedvirtual

Reimplemented from SdrObject.

Definition at line 35 of file svdovirt.cxx.

◆ DoMacro()

bool SdrVirtObj::DoMacro ( const SdrObjMacroHitRec rRec)
overridevirtual

Reimplemented from SdrObject.

Definition at line 529 of file svdovirt.cxx.

References mxRefObj.

◆ EndCreate()

bool SdrVirtObj::EndCreate ( SdrDragStat rStat,
SdrCreateCmd  eCmd 
)
overridevirtual

Reimplemented from SdrObject.

Definition at line 265 of file svdovirt.cxx.

References mxRefObj.

◆ GetCurrentBoundRect()

const tools::Rectangle & SdrVirtObj::GetCurrentBoundRect ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 114 of file svdovirt.cxx.

References SdrObject::m_aAnchor, SdrObject::m_aOutRect, mxRefObj, and SdrObject::setOutRectangleConst().

◆ getFullDragClone()

rtl::Reference< SdrObject > SdrVirtObj::getFullDragClone ( ) const
overridevirtual

◆ GetGeoData()

std::unique_ptr< SdrObjGeoData > SdrVirtObj::GetGeoData ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 490 of file svdovirt.cxx.

References mxRefObj.

◆ GetHdlCount()

sal_uInt32 SdrVirtObj::GetHdlCount ( ) const
overridevirtual

Via GetHdlCount the number of Handles can be retrieved.

Normally 8, if it's a line 2. For Polygon objects (Polygon/Spline/Bezier) the number may be much larger. Polygon objects are also allowed to select a point of a selected object. The handle of that point will then be replaced by a new set of handles (PlusHdl). For a Polygon this would be a simple selection Handle, for a Bezier curve this may be up to 3 Handles (including Weights). GetHdl() and GetPlusHdl() must create Handle instances with new! An object that returns true from HasSpacialDrag() must provide these methods (incl. FillHdlList()).

Reimplemented from SdrObject.

Definition at line 183 of file svdovirt.cxx.

References mxRefObj.

◆ GetLastBoundRect()

const tools::Rectangle & SdrVirtObj::GetLastBoundRect ( ) const
overridevirtual

◆ GetLogicRect()

const tools::Rectangle & SdrVirtObj::GetLogicRect ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 400 of file svdovirt.cxx.

References aSnapRect, SdrObject::m_aAnchor, and mxRefObj.

Referenced by getFullDragClone().

◆ GetMacroPointer()

PointerStyle SdrVirtObj::GetMacroPointer ( const SdrObjMacroHitRec rRec) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 519 of file svdovirt.cxx.

References mxRefObj.

◆ GetObjIdentifier()

SdrObjKind SdrVirtObj::GetObjIdentifier ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 104 of file svdovirt.cxx.

References mxRefObj.

◆ GetObjInventor()

SdrInventor SdrVirtObj::GetObjInventor ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 99 of file svdovirt.cxx.

References mxRefObj.

◆ GetOffset()

Point SdrVirtObj::GetOffset ( ) const
virtual

Definition at line 534 of file svdovirt.cxx.

References SdrObject::m_aAnchor, and Point.

◆ GetPoint()

Point SdrVirtObj::GetPoint ( sal_uInt32  i) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 459 of file svdovirt.cxx.

References i, SdrObject::m_aAnchor, mxRefObj, and Point.

◆ GetPointCount()

sal_uInt32 SdrVirtObj::GetPointCount ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 454 of file svdovirt.cxx.

References mxRefObj.

◆ GetProperties()

sdr::properties::BaseProperties & SdrVirtObj::GetProperties ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 28 of file svdovirt.cxx.

References mxRefObj.

◆ GetReferencedObj()

const SdrObject & SdrVirtObj::GetReferencedObj ( ) const

◆ GetRotateAngle()

Degree100 SdrVirtObj::GetRotateAngle ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 426 of file svdovirt.cxx.

References mxRefObj.

◆ GetShearAngle()

Degree100 SdrVirtObj::GetShearAngle ( bool  bVertical = false) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 431 of file svdovirt.cxx.

References mxRefObj.

◆ GetSnapPoint()

Point SdrVirtObj::GetSnapPoint ( sal_uInt32  i) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 442 of file svdovirt.cxx.

References i, SdrObject::m_aAnchor, mxRefObj, and Point.

◆ GetSnapPointCount()

sal_uInt32 SdrVirtObj::GetSnapPointCount ( ) const
overridevirtual

snap to special points of an Object (polygon points, center of circle)

Reimplemented from SdrObject.

Definition at line 437 of file svdovirt.cxx.

References mxRefObj.

◆ GetSnapRect()

const tools::Rectangle & SdrVirtObj::GetSnapRect ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 374 of file svdovirt.cxx.

References aSnapRect, SdrObject::m_aAnchor, and mxRefObj.

◆ getSpecialDragComment()

OUString SdrVirtObj::getSpecialDragComment ( const SdrDragStat rDrag) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 249 of file svdovirt.cxx.

References mxRefObj.

◆ getSpecialDragPoly()

basegfx::B2DPolyPolygon SdrVirtObj::getSpecialDragPoly ( const SdrDragStat rDrag) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 243 of file svdovirt.cxx.

References mxRefObj.

◆ GetSubList()

SdrObjList * SdrVirtObj::GetSubList ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 109 of file svdovirt.cxx.

References mxRefObj.

◆ HasLimitedRotation()

bool SdrVirtObj::HasLimitedRotation ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 164 of file svdovirt.cxx.

References mxRefObj.

◆ HasMacro()

bool SdrVirtObj::HasMacro ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 509 of file svdovirt.cxx.

References mxRefObj.

◆ hasSpecialDrag()

bool SdrVirtObj::hasSpecialDrag ( ) const
overridevirtual

The standard transformations (Move,Resize,Rotate,Mirror,Shear) are taken over by the View (TakeXorPoly(),...).

Object type specific dragging like corner radius of Rectangle, control points of Splines, weights of Bezier curves, pointer of Label objects must be handled by the object itself. To keep the Model free of state, the state is kept in the View and then passed to the object. EndDrag usually returns true for success, false may be returned if the dragging did not modify the object, where the View already handles the case that the pointer was not moved at all.

Reimplemented from SdrObject.

Definition at line 214 of file svdovirt.cxx.

References mxRefObj.

◆ IsPolyObj()

bool SdrVirtObj::IsPolyObj ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 449 of file svdovirt.cxx.

References mxRefObj.

◆ Mirror()

void SdrVirtObj::Mirror ( const Point rRef1,
const Point rRef2 
)
overridevirtual

◆ MovCreate()

bool SdrVirtObj::MovCreate ( SdrDragStat rStat)
overridevirtual

Reimplemented from SdrObject.

Definition at line 260 of file svdovirt.cxx.

References mxRefObj.

◆ Move()

void SdrVirtObj::Move ( const Size rSiz)
overridevirtual

◆ NbcMirror()

void SdrVirtObj::NbcMirror ( const Point rRef1,
const Point rRef2 
)
overridevirtual

Reimplemented from SdrObject.

Definition at line 305 of file svdovirt.cxx.

References SdrObject::m_aAnchor, mxRefObj, and SdrObject::SetBoundAndSnapRectsDirty().

◆ NbcMove()

void SdrVirtObj::NbcMove ( const Size rSiz)
overridevirtual

The methods Move, Resize, Rotate, Mirror, Shear, SetSnapRect and SetLogicRect call the corresponding Nbc-methods, send a Repaint broadcast and set the Modified state on the Model.

Derived classes should usually only override the Nbc methods. Nbc means "no broadcast".

Reimplemented from SdrObject.

Definition at line 287 of file svdovirt.cxx.

References SdrObject::m_aAnchor, and SdrObject::SetBoundAndSnapRectsDirty().

Referenced by Move().

◆ NbcReformatText()

void SdrVirtObj::NbcReformatText ( )
overridevirtual

Reimplemented from SdrObject.

Definition at line 504 of file svdovirt.cxx.

References mxRefObj.

◆ NbcResize()

void SdrVirtObj::NbcResize ( const Point rRef,
const Fraction xFact,
const Fraction yFact 
)
overridevirtual

Reimplemented from SdrObject.

Definition at line 293 of file svdovirt.cxx.

References SdrObject::m_aAnchor, mxRefObj, and SdrObject::SetBoundAndSnapRectsDirty().

◆ NbcRotate()

void SdrVirtObj::NbcRotate ( const Point rRef,
Degree100  nAngle,
double  sn,
double  cs 
)
overridevirtual

Reimplemented from SdrObject.

Definition at line 299 of file svdovirt.cxx.

References SdrObject::m_aAnchor, mxRefObj, and SdrObject::SetBoundAndSnapRectsDirty().

◆ NbcSetAnchorPos()

void SdrVirtObj::NbcSetAnchorPos ( const Point rAnchorPos)
overridevirtual

Reimplemented from SdrObject.

Definition at line 89 of file svdovirt.cxx.

References SdrObject::m_aAnchor.

◆ NbcSetLogicRect()

void SdrVirtObj::NbcSetLogicRect ( const tools::Rectangle rRect)
overridevirtual

Reimplemented from SdrObject.

Definition at line 417 of file svdovirt.cxx.

References SdrObject::m_aAnchor, mxRefObj, and SdrObject::SetBoundAndSnapRectsDirty().

◆ NbcSetPoint()

void SdrVirtObj::NbcSetPoint ( const Point rPnt,
sal_uInt32  i 
)
overridevirtual

Reimplemented from SdrObject.

Definition at line 464 of file svdovirt.cxx.

References i, SdrObject::m_aAnchor, mxRefObj, Point, and SdrObject::SetBoundAndSnapRectsDirty().

◆ NbcSetSnapRect()

void SdrVirtObj::NbcSetSnapRect ( const tools::Rectangle rRect)
overridevirtual

Reimplemented from SdrObject.

Definition at line 391 of file svdovirt.cxx.

References SdrObject::m_aAnchor, mxRefObj, and SdrObject::SetBoundAndSnapRectsDirty().

◆ NbcShear()

void SdrVirtObj::NbcShear ( const Point rRef,
Degree100  nAngle,
double  tn,
bool  bVShear 
)
overridevirtual

Reimplemented from SdrObject.

Definition at line 311 of file svdovirt.cxx.

References SdrObject::m_aAnchor, mxRefObj, and SdrObject::SetBoundAndSnapRectsDirty().

◆ NewGeoData()

std::unique_ptr< SdrObjGeoData > SdrVirtObj::NewGeoData ( ) const
overrideprotectedvirtual

A derived class must override these 3 methods if it has own geometric data that must be saved for Undo.

NewGeoData() creates an empty instance of a class derived from SdrObjGeoData.

Reimplemented from SdrObject.

Definition at line 473 of file svdovirt.cxx.

References mxRefObj.

◆ Notify()

void SdrVirtObj::Notify ( SfxBroadcaster rBC,
const SfxHint rHint 
)
overrideprotectedvirtual

◆ PaintMacro()

void SdrVirtObj::PaintMacro ( OutputDevice rOut,
const tools::Rectangle rDirtyRect,
const SdrObjMacroHitRec rRec 
) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 524 of file svdovirt.cxx.

References mxRefObj.

◆ RecalcBoundRect()

void SdrVirtObj::RecalcBoundRect ( )
overridevirtual

Reimplemented from SdrObject.

Definition at line 130 of file svdovirt.cxx.

References SdrObject::m_aAnchor, mxRefObj, and SdrObject::setOutRectangle().

◆ RecalcSnapRect()

void SdrVirtObj::RecalcSnapRect ( )
overridevirtual

Snap is not done on the BoundRect but if possible on logic coordinates (i.e.

without considering stroke width, ...) SetSnapRect() tries to size the Object so that it fits into the passed Rect (without stroke width, ...)

Reimplemented from SdrObject.

Definition at line 368 of file svdovirt.cxx.

References aSnapRect, SdrObject::m_aAnchor, and mxRefObj.

◆ ReferencedObj()

SdrObject & SdrVirtObj::ReferencedObj ( )

Definition at line 75 of file svdovirt.cxx.

References mxRefObj.

Referenced by getFullDragClone().

◆ Resize()

void SdrVirtObj::Resize ( const Point rRef,
const Fraction xFact,
const Fraction yFact,
bool  bUnsetRelative = true 
)
overridevirtual

◆ RestoreGeoData()

void SdrVirtObj::RestoreGeoData ( const SdrObjGeoData rGeo)
overrideprotectedvirtual

Reimplemented from SdrObject.

Definition at line 483 of file svdovirt.cxx.

References mxRefObj, and SdrObject::SetBoundAndSnapRectsDirty().

◆ Rotate()

void SdrVirtObj::Rotate ( const Point rRef,
Degree100  nAngle,
double  sn,
double  cs 
)
overridevirtual

◆ SaveGeoData()

void SdrVirtObj::SaveGeoData ( SdrObjGeoData rGeo) const
overrideprotectedvirtual

Reimplemented from SdrObject.

Definition at line 478 of file svdovirt.cxx.

References mxRefObj.

◆ SetGeoData()

void SdrVirtObj::SetGeoData ( const SdrObjGeoData rGeo)
overridevirtual

◆ SetLogicRect()

void SdrVirtObj::SetLogicRect ( const tools::Rectangle rRect)
overridevirtual

◆ SetSnapRect()

void SdrVirtObj::SetSnapRect ( const tools::Rectangle rRect)
overridevirtual

◆ Shear()

void SdrVirtObj::Shear ( const Point rRef,
Degree100  nAngle,
double  tn,
bool  bVShear 
)
overridevirtual

◆ supportsFullDrag()

bool SdrVirtObj::supportsFullDrag ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 219 of file svdovirt.cxx.

◆ TakeCreatePoly()

basegfx::B2DPolyPolygon SdrVirtObj::TakeCreatePoly ( const SdrDragStat rDrag) const
overridevirtual

Polygon dragged by the user when creating the object.

Reimplemented from SdrObject.

Definition at line 280 of file svdovirt.cxx.

References mxRefObj.

◆ TakeObjInfo()

void SdrVirtObj::TakeObjInfo ( SdrObjTransformInfoRec rInfo) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 94 of file svdovirt.cxx.

References mxRefObj.

◆ TakeObjNamePlural()

OUString SdrVirtObj::TakeObjNamePlural ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 159 of file svdovirt.cxx.

References mxRefObj.

◆ TakeObjNameSingul()

OUString SdrVirtObj::TakeObjNameSingul ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 148 of file svdovirt.cxx.

References aName, SdrObject::GetName(), mxRefObj, and sName.

◆ TakeXorPoly()

basegfx::B2DPolyPolygon SdrVirtObj::TakeXorPoly ( ) const
overridevirtual

The Xor-Polygon is required by the View to drag the object.

All polygons within the PolyPolygon are interpreted as PolyLine. To get a closed Polygon, close it explicitly.

Reimplemented from SdrObject.

Definition at line 170 of file svdovirt.cxx.

References basegfx::utils::createTranslateB2DHomMatrix(), SdrObject::m_aAnchor, mxRefObj, and basegfx::B2DPolyPolygon::transform().

Member Data Documentation

◆ aSnapRect

tools::Rectangle SdrVirtObj::aSnapRect
protected

Definition at line 40 of file svdovirt.hxx.

Referenced by GetLogicRect(), GetSnapRect(), RecalcSnapRect(), and SdrVirtObj().

◆ mxRefObj

rtl::Reference<SdrObject> SdrVirtObj::mxRefObj
protected

The documentation for this class was generated from the following files: