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 SdrVirtObjCloneSdrObject (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 SdrObjectUniquePtr getFullDragClone () 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
const SdrObjectgetFillGeometryDefiningShape () const
 
 SdrObject (SdrModel &rSdrModel)
 
 SdrObject (SdrModel &rSdrModel, SdrObject const &rSource)
 
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
 
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
 
void SetDiagramData (std::shared_ptr< DiagramDataInterface > pDiagramData)
 
const std::shared_ptr< DiagramDataInterface > & GetDiagramData () 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 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)
 
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
 
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
 
void SetGrabBagItem (const css::uno::Any &rVal)
 
sal_uInt32 GetNavigationPosition () const
 
void BroadcastObjectChange () const
 
const SfxBroadcasterGetBroadcaster () const
 
virtual void SetChanged ()
 
void SingleObjectPainter (OutputDevice &rOut) const
 
bool LineGeometryUsageIsNecessary () const
 
SdrObjectoperator= (const SdrObject &rObj)=delete
 
SdrObjectoperator= (SdrObject &&rObj)=delete
 
virtual basegfx::B2DPolyPolygon TakeContour () const
 contour for TextToContour More...
 
virtual void addCropHandles (SdrHdlList &rTarget) const
 
virtual PointerStyle GetCreatePointer () const
 get the cursor/pointer that signals creating this object More...
 
virtual void NbcCrop (const basegfx::B2DPoint &rRef, double fxFact, double fyFact)
 
void NbcRotate (const Point &rRef, Degree100 nAngle)
 
virtual void Crop (const basegfx::B2DPoint &rRef, double fxFact, double fyFact)
 
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 SetAnchorPos (const Point &rPnt)
 
virtual void AdjustToMaxRect (const tools::Rectangle &rMaxRect, bool bShrinkOnly=false)
 
void SetPoint (const Point &rPnt, sal_uInt32 i)
 
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)
 
virtual 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
 
void BurnInStyleSheetAttributes ()
 
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 SdrObjectUniquePtr DoConvertToPolyObj (bool bBezier, bool bAddText) const
 
SdrObjectUniquePtr ConvertToPolyObj (bool bBezier, bool bLineToArea) const
 
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 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::uno::XInterface > getUnoShape ()
 
svx::PropertyChangeNotifiergetShapePropertyChangeNotifier ()
 
void notifyShapePropertyChange (const svx::ShapeProperty _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)
 
void setUnoShape (const css::uno::Reference< css::uno::XInterface > &_rxUnoShape)
 
const css::uno::WeakReference< css::uno::XInterface > & getWeakUnoShape () const
 
void setSuitableOutlinerBg (Outliner &rOutliner) const
 
const GraphicgetFillGraphic () const
 
const OUString & getHyperlink () const
 
void setHyperlink (const OUString &sHyperlink)
 
- 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
 
void RemoveBroadcaster_Impl (SfxBroadcaster &rBC)
 
- Public Member Functions inherited from tools::WeakBase
 WeakBase ()
 
virtual ~WeakBase ()
 
void clearWeak ()
 

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
virtual ~SdrObject () override
 
virtual std::unique_ptr< sdr::properties::BasePropertiesCreateObjectSpecificProperties ()
 
tools::Rectangle ImpDragCalcRect (const SdrDragStat &rDrag) const
 
OUString ImpGetDescriptionStr (TranslateId pStrCacheID) const
 
void ImpForcePlusData ()
 
OUString GetMetrStr (tools::Long nVal) const
 
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
 
virtual void impl_setUnoShape (const css::uno::Reference< css::uno::XInterface > &_rxUnoShape)
 Sets a new UNO shape. More...
 
const SfxItemSetgetBackgroundFillSet () const
 

Protected Attributes

SdrObjectrRefObj
 
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
 

Private Member Functions

 SdrVirtObj (const SdrVirtObj &)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from SdrObject
static SdrItemPoolGetGlobalDrawObjectItemPool ()
 
static void Free (SdrObject *&_rpObject)
 
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::SdrVirtObj ( const SdrVirtObj )
privatedelete

Referenced by CloneSdrObject().

SdrVirtObj::~SdrVirtObj ( )
overrideprotectedvirtual

Definition at line 66 of file svdovirt.cxx.

References SdrObject::DelReference(), and rRefObj.

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

Member Function Documentation

void SdrVirtObj::AddToHdlList ( SdrHdlList rHdlList) const
overridevirtual
void SdrVirtObj::AddToPlusHdlList ( SdrHdlList rHdlList,
SdrHdl rHdl 
) const
overridevirtual
bool SdrVirtObj::applySpecialDrag ( SdrDragStat rDrag)
overridevirtual

Reimplemented from SdrObject.

Definition at line 236 of file svdovirt.cxx.

References SdrObject::applySpecialDrag(), and rRefObj.

bool SdrVirtObj::BckCreate ( SdrDragStat rStat)
overridevirtual

Reimplemented from SdrObject.

Definition at line 268 of file svdovirt.cxx.

References SdrObject::BckCreate(), and rRefObj.

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 253 of file svdovirt.cxx.

References SdrObject::BegCreate(), and rRefObj.

bool SdrVirtObj::beginSpecialDrag ( SdrDragStat rDrag) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 231 of file svdovirt.cxx.

References SdrObject::beginSpecialDrag(), and rRefObj.

void SdrVirtObj::BrkCreate ( SdrDragStat rStat)
overridevirtual

Reimplemented from SdrObject.

Definition at line 273 of file svdovirt.cxx.

References SdrObject::BrkCreate(), and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 512 of file svdovirt.cxx.

References SdrObject::CheckMacroHit(), and rRefObj.

SdrVirtObj * SdrVirtObj::CloneSdrObject ( SdrModel rTargetModel) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 135 of file svdovirt.cxx.

References SdrVirtObj().

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

Reimplemented from SdrObject.

Definition at line 36 of file svdovirt.cxx.

bool SdrVirtObj::DoMacro ( const SdrObjMacroHitRec rRec)
overridevirtual

Reimplemented from SdrObject.

Definition at line 527 of file svdovirt.cxx.

References SdrObject::DoMacro(), and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 263 of file svdovirt.cxx.

References SdrObject::EndCreate(), and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 115 of file svdovirt.cxx.

References SdrObject::GetCurrentBoundRect(), SdrObject::m_aAnchor, SdrObject::m_aOutRect, and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 488 of file svdovirt.cxx.

References SdrObject::GetGeoData(), and rRefObj.

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 181 of file svdovirt.cxx.

References SdrObject::GetHdlCount(), and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 398 of file svdovirt.cxx.

References aSnapRect, SdrObject::GetLogicRect(), SdrObject::m_aAnchor, and rRefObj.

Referenced by getFullDragClone().

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

Reimplemented from SdrObject.

Definition at line 517 of file svdovirt.cxx.

References SdrObject::GetMacroPointer(), and rRefObj.

SdrObjKind SdrVirtObj::GetObjIdentifier ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 105 of file svdovirt.cxx.

References SdrObject::GetObjIdentifier(), and rRefObj.

SdrInventor SdrVirtObj::GetObjInventor ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 100 of file svdovirt.cxx.

References SdrObject::GetObjInventor(), and rRefObj.

Point SdrVirtObj::GetOffset ( ) const
virtual

Definition at line 532 of file svdovirt.cxx.

References SdrObject::m_aAnchor, and Point.

Point SdrVirtObj::GetPoint ( sal_uInt32  i) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 457 of file svdovirt.cxx.

References SdrObject::GetPoint(), SdrObject::m_aAnchor, Point, and rRefObj.

sal_uInt32 SdrVirtObj::GetPointCount ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 452 of file svdovirt.cxx.

References SdrObject::GetPointCount(), and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 29 of file svdovirt.cxx.

References SdrObject::GetProperties(), and rRefObj.

const SdrObject & SdrVirtObj::GetReferencedObj ( ) const

Definition at line 71 of file svdovirt.cxx.

References rRefObj.

Degree100 SdrVirtObj::GetRotateAngle ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 424 of file svdovirt.cxx.

References SdrObject::GetRotateAngle(), and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 429 of file svdovirt.cxx.

References SdrObject::GetShearAngle(), and rRefObj.

Point SdrVirtObj::GetSnapPoint ( sal_uInt32  i) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 440 of file svdovirt.cxx.

References SdrObject::GetSnapPoint(), SdrObject::m_aAnchor, Point, and rRefObj.

sal_uInt32 SdrVirtObj::GetSnapPointCount ( ) const
overridevirtual

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

Reimplemented from SdrObject.

Definition at line 435 of file svdovirt.cxx.

References SdrObject::GetSnapPointCount(), and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 372 of file svdovirt.cxx.

References aSnapRect, SdrObject::GetSnapRect(), SdrObject::m_aAnchor, and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 247 of file svdovirt.cxx.

References SdrObject::getSpecialDragComment(), and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 241 of file svdovirt.cxx.

References SdrObject::getSpecialDragPoly(), and rRefObj.

SdrObjList * SdrVirtObj::GetSubList ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 110 of file svdovirt.cxx.

References SdrObject::GetSubList(), and rRefObj.

bool SdrVirtObj::HasLimitedRotation ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 162 of file svdovirt.cxx.

References SdrObject::HasLimitedRotation(), and rRefObj.

bool SdrVirtObj::HasMacro ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 507 of file svdovirt.cxx.

References SdrObject::HasMacro(), and rRefObj.

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 212 of file svdovirt.cxx.

References SdrObject::hasSpecialDrag(), and rRefObj.

bool SdrVirtObj::IsPolyObj ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 447 of file svdovirt.cxx.

References SdrObject::IsPolyObj(), and rRefObj.

void SdrVirtObj::Mirror ( const Point rRef1,
const Point rRef2 
)
overridevirtual
bool SdrVirtObj::MovCreate ( SdrDragStat rStat)
overridevirtual

Reimplemented from SdrObject.

Definition at line 258 of file svdovirt.cxx.

References SdrObject::MovCreate(), and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 303 of file svdovirt.cxx.

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

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 285 of file svdovirt.cxx.

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

Referenced by Move().

void SdrVirtObj::NbcReformatText ( )
overridevirtual

Reimplemented from SdrObject.

Definition at line 502 of file svdovirt.cxx.

References SdrObject::NbcReformatText(), and rRefObj.

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

Reimplemented from SdrObject.

Definition at line 291 of file svdovirt.cxx.

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

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

Reimplemented from SdrObject.

Definition at line 297 of file svdovirt.cxx.

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

void SdrVirtObj::NbcSetAnchorPos ( const Point rAnchorPos)
overridevirtual

Reimplemented from SdrObject.

Definition at line 90 of file svdovirt.cxx.

References SdrObject::m_aAnchor.

void SdrVirtObj::NbcSetLogicRect ( const tools::Rectangle rRect)
overridevirtual
void SdrVirtObj::NbcSetPoint ( const Point rPnt,
sal_uInt32  i 
)
overridevirtual

Reimplemented from SdrObject.

Definition at line 462 of file svdovirt.cxx.

References SdrObject::m_aAnchor, Point, rRefObj, SdrObject::SetBoundAndSnapRectsDirty(), and SdrObject::SetPoint().

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

Reimplemented from SdrObject.

Definition at line 309 of file svdovirt.cxx.

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

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 471 of file svdovirt.cxx.

References SdrObject::NewGeoData(), and rRefObj.

void SdrVirtObj::Notify ( SfxBroadcaster rBC,
const SfxHint rHint 
)
overrideprotectedvirtual
void SdrVirtObj::PaintMacro ( OutputDevice rOut,
const tools::Rectangle rDirtyRect,
const SdrObjMacroHitRec rRec 
) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 522 of file svdovirt.cxx.

References SdrObject::PaintMacro(), and rRefObj.

void SdrVirtObj::RecalcBoundRect ( )
overridevirtual

Reimplemented from SdrObject.

Definition at line 129 of file svdovirt.cxx.

References SdrObject::GetCurrentBoundRect(), SdrObject::m_aAnchor, SdrObject::m_aOutRect, and rRefObj.

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 366 of file svdovirt.cxx.

References aSnapRect, SdrObject::GetSnapRect(), SdrObject::m_aAnchor, and rRefObj.

SdrObject & SdrVirtObj::ReferencedObj ( )

Definition at line 76 of file svdovirt.cxx.

References rRefObj.

Referenced by getFullDragClone().

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

Reimplemented from SdrObject.

Definition at line 481 of file svdovirt.cxx.

References SdrObject::RestoreGeoData(), rRefObj, and SdrObject::SetBoundAndSnapRectsDirty().

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

Reimplemented from SdrObject.

Definition at line 476 of file svdovirt.cxx.

References rRefObj, and SdrObject::SaveGeoData().

void SdrVirtObj::SetGeoData ( const SdrObjGeoData rGeo)
overridevirtual
void SdrVirtObj::SetLogicRect ( const tools::Rectangle rRect)
overridevirtual
void SdrVirtObj::SetSnapRect ( const tools::Rectangle rRect)
overridevirtual
void SdrVirtObj::Shear ( const Point rRef,
Degree100  nAngle,
double  tn,
bool  bVShear 
)
overridevirtual
bool SdrVirtObj::supportsFullDrag ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 217 of file svdovirt.cxx.

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

Polygon dragged by the user when creating the object.

Reimplemented from SdrObject.

Definition at line 278 of file svdovirt.cxx.

References rRefObj, and SdrObject::TakeCreatePoly().

void SdrVirtObj::TakeObjInfo ( SdrObjTransformInfoRec rInfo) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 95 of file svdovirt.cxx.

References rRefObj, and SdrObject::TakeObjInfo().

OUString SdrVirtObj::TakeObjNamePlural ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 157 of file svdovirt.cxx.

References rRefObj, and SdrObject::TakeObjNamePlural().

OUString SdrVirtObj::TakeObjNameSingul ( ) const
overridevirtual

Reimplemented from SdrObject.

Definition at line 146 of file svdovirt.cxx.

References aName, SdrObject::GetName(), rRefObj, sName, and SdrObject::TakeObjNameSingul().

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 168 of file svdovirt.cxx.

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

Member Data Documentation

tools::Rectangle SdrVirtObj::aSnapRect
protected

Definition at line 40 of file svdovirt.hxx.

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

SdrObject& SdrVirtObj::rRefObj
protected

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