LibreOffice Module sc (master) 1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
XclObj Class Reference

#include <xcl97rec.hxx>

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

Public Member Functions

virtual ~XclObj () override
 
sal_uInt16 GetObjType () const
 
void SetId (sal_uInt16 nId)
 
void SetTab (SCTAB nScTab)
 
SCTAB GetTab () const
 
void SetLocked (bool b)
 
void SetPrintable (bool b)
 
void SetAutoFill (bool b)
 
void SetAutoLine (bool b)
 
void SetGrBit (bool b, int f)
 
void SetEscherShapeType (sal_uInt16 nType)
 
void SetEscherShapeTypeGroup ()
 
bool IsOwnEscher () const
 If set to true, this object has created its own escher data. More...
 
void SetText (const XclExpRoot &rRoot, const SdrTextObj &rObj)
 actually writes ESCHER_ClientTextbox More...
 
virtual void Save (XclExpStream &rStrm) override
 Writes the record header and calls WriteBody(). More...
 
- Public Member Functions inherited from XclExpRecord
 XclExpRecord (sal_uInt16 nRecId=EXC_ID_UNKNOWN, std::size_t nRecSize=0)
 
 XclExpRecord (XclExpRecord const &)=default
 
virtual ~XclExpRecord () override
 
sal_uInt16 GetRecId () const
 Returns the current record ID. More...
 
std::size_t GetRecSize () const
 Returns the current record size prediction. More...
 
void SetRecId (sal_uInt16 nRecId)
 Sets a new record ID. More...
 
void SetRecSize (std::size_t nRecSize)
 Sets a new record size prediction. More...
 
void AddRecSize (std::size_t nRecSize)
 Adds a size value to the record size prediction. More...
 
void SetRecHeader (sal_uInt16 nRecId, std::size_t nRecSize)
 Sets record ID and size with one call. More...
 
virtual void Save (XclExpStream &rStrm) override
 Writes the record header and calls WriteBody(). More...
 
- Public Member Functions inherited from XclExpRecordBase
 XclExpRecordBase ()
 
 XclExpRecordBase (XclExpRecordBase const &)
 
 XclExpRecordBase (XclExpRecordBase &&)
 
XclExpRecordBaseoperator= (XclExpRecordBase const &)
 
XclExpRecordBaseoperator= (XclExpRecordBase &&) noexcept
 
virtual ~XclExpRecordBase ()
 
virtual void Save (XclExpStream &rStrm)
 Overwrite this method to do any operation while saving the record. More...
 
virtual void SaveXml (XclExpXmlStream &rStrm)
 
- Public Member Functions inherited from salhelper::SimpleReferenceObject
 SimpleReferenceObject ()
 
void acquire ()
 
void release ()
 

Protected Member Functions

 XclObj (XclExpObjectManager &rObjMgr, sal_uInt16 nObjType, bool bOwnEscher=false)
 true = Escher part created on the fly. More...
 
void ImplWriteAnchor (const SdrObject *pSdrObj, const tools::Rectangle *pChildAnchor)
 
virtual void WriteBody (XclExpStream &rStrm) override
 Writes the body of the record (without record header). More...
 
virtual void WriteSubRecs (XclExpStream &rStrm)
 
void SaveTextRecs (XclExpStream &rStrm)
 
virtual void WriteBody (XclExpStream &rStrm)
 Writes the body of the record (without record header). More...
 
- Protected Member Functions inherited from salhelper::SimpleReferenceObject
virtual ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE
 

Protected Attributes

XclEscherExmrEscherEx
 
XclExpMsoDrawingpMsodrawing
 
std::unique_ptr< XclExpMsoDrawingpClientTextbox
 
std::unique_ptr< XclTxopTxo
 
sal_uInt16 mnObjType
 
sal_uInt16 nObjId
 
sal_uInt16 nGrbit
 
SCTAB mnScTab
 
bool bFirstOnSheet
 
bool mbOwnEscher
 
- Protected Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount
 

Additional Inherited Members

- Static Public Member Functions inherited from salhelper::SimpleReferenceObject
static void * operator new (std::size_t nSize)
 
static void * operator new (std::size_t nSize, std::nothrow_t const &rNothrow)
 
static void operator delete (void *pPtr)
 
static void operator delete (void *pPtr, std::nothrow_t const &rNothrow)
 

Detailed Description

Definition at line 96 of file xcl97rec.hxx.

Constructor & Destructor Documentation

◆ XclObj()

XclObj::XclObj ( XclExpObjectManager rObjMgr,
sal_uInt16  nObjType,
bool  bOwnEscher = false 
)
explicitprotected

true = Escher part created on the fly.

Parameters
bOwnEscherIf set to true, this object will create its escher data. See SetOwnEscher() for details.

first object continues the first MSODRAWING record

Definition at line 383 of file xcl97rec.cxx.

References bFirstOnSheet, XclExpObjectManager::GetMsodrawingPerSheet(), mrEscherEx, and pMsodrawing.

◆ ~XclObj()

XclObj::~XclObj ( )
overridevirtual

Definition at line 400 of file xcl97rec.cxx.

References bFirstOnSheet, pClientTextbox, pMsodrawing, and pTxo.

Member Function Documentation

◆ GetObjType()

sal_uInt16 XclObj::GetObjType ( ) const
inline

Definition at line 125 of file xcl97rec.hxx.

References mnObjType.

Referenced by XclExpTbxControlObj::SaveVml().

◆ GetTab()

SCTAB XclObj::GetTab ( ) const
inline

◆ ImplWriteAnchor()

void XclObj::ImplWriteAnchor ( const SdrObject pSdrObj,
const tools::Rectangle pChildAnchor 
)
protected

◆ IsOwnEscher()

bool XclObj::IsOwnEscher ( ) const
inline

If set to true, this object has created its own escher data.

@descr This causes the function EscherEx::EndShape() to not post process this object. This is used i.e. for form controls. They are not handled in the svx base code, so the XclExpEscherOcxCtrl c'tor creates the escher data itself. The svx base code does not receive the correct shape ID after the EscherEx::StartShape() call, which would result in deleting the object in EscherEx::EndShape(). Returns true, if the object has created the escher data itself. @descr See SetOwnEscher() for details.

Definition at line 157 of file xcl97rec.hxx.

References mbOwnEscher.

Referenced by XclEscherEx::EndShape().

◆ Save()

void XclObj::Save ( XclExpStream rStrm)
overridevirtual

Writes the record header and calls WriteBody().

Reimplemented from XclExpRecord.

Reimplemented in XclObjComment, XclObjOle, XclObjAny, and XclExpChartObj.

Definition at line 490 of file xcl97rec.cxx.

References bFirstOnSheet, pMsodrawing, rStrm, XclExpRecord::Save(), and SaveTextRecs().

Referenced by XclObjComment::Save(), XclObjOle::Save(), XclObjAny::Save(), and XclExpChartObj::Save().

◆ SaveTextRecs()

void XclObj::SaveTextRecs ( XclExpStream rStrm)
protected

Definition at line 525 of file xcl97rec.cxx.

References pClientTextbox, pTxo, and rStrm.

Referenced by Save().

◆ SetAutoFill()

void XclObj::SetAutoFill ( bool  b)
inline

◆ SetAutoLine()

void XclObj::SetAutoLine ( bool  b)
inline

◆ SetEscherShapeType()

void XclObj::SetEscherShapeType ( sal_uInt16  nType)

◆ SetEscherShapeTypeGroup()

void XclObj::SetEscherShapeTypeGroup ( )
inline

Definition at line 146 of file xcl97rec.hxx.

References EXC_OBJTYPE_GROUP, and mnObjType.

Referenced by XclEscherEx::EndShape().

◆ SetGrBit()

void XclObj::SetGrBit ( bool  b,
int  f 
)
inline

Definition at line 136 of file xcl97rec.hxx.

References nGrbit.

Referenced by SetAutoFill(), SetAutoLine(), SetLocked(), and SetPrintable().

◆ SetId()

void XclObj::SetId ( sal_uInt16  nId)
inline

Definition at line 127 of file xcl97rec.hxx.

References nId, and nObjId.

Referenced by XclEscherEx::StartShape().

◆ SetLocked()

void XclObj::SetLocked ( bool  b)
inline

◆ SetPrintable()

void XclObj::SetPrintable ( bool  b)
inline

◆ SetTab()

void XclObj::SetTab ( SCTAB  nScTab)
inline

Definition at line 129 of file xcl97rec.hxx.

References mnScTab.

◆ SetText()

void XclObj::SetText ( const XclExpRoot rRoot,
const SdrTextObj rObj 
)

actually writes ESCHER_ClientTextbox

Definition at line 450 of file xcl97rec.cxx.

References EscherEx::AddAtom(), ESCHER_ClientTextbox, mrEscherEx, pClientTextbox, pTxo, and XclEscherEx::UpdateDffFragmentEnd().

Referenced by XclEscherClientTextbox::WriteData().

◆ WriteBody()

void XclObj::WriteBody ( XclExpStream rStrm)
overrideprotectedvirtual

Writes the body of the record (without record header).

@descr Usually this method will be overwritten by derived classes.

Reimplemented from XclExpRecord.

Definition at line 463 of file xcl97rec.cxx.

References EXC_ID_OBJCMO, EXC_ID_OBJEND, EXC_OBJTYPE_UNKNOWN, mnObjType, nGrbit, nObjId, rStrm, SvStream::Seek(), and WriteSubRecs().

◆ WriteSubRecs()

void XclObj::WriteSubRecs ( XclExpStream rStrm)
protectedvirtual

Member Data Documentation

◆ bFirstOnSheet

bool XclObj::bFirstOnSheet
protected

Definition at line 107 of file xcl97rec.hxx.

Referenced by Save(), XclObj(), and ~XclObj().

◆ mbOwnEscher

bool XclObj::mbOwnEscher
protected

Definition at line 109 of file xcl97rec.hxx.

Referenced by IsOwnEscher().

◆ mnObjType

sal_uInt16 XclObj::mnObjType
protected

◆ mnScTab

SCTAB XclObj::mnScTab
protected

Definition at line 106 of file xcl97rec.hxx.

Referenced by GetTab(), XclObjAny::SaveXml(), and SetTab().

◆ mrEscherEx

XclEscherEx& XclObj::mrEscherEx
protected

◆ nGrbit

sal_uInt16 XclObj::nGrbit
protected

◆ nObjId

sal_uInt16 XclObj::nObjId
protected

Definition at line 104 of file xcl97rec.hxx.

Referenced by SetId(), and WriteBody().

◆ pClientTextbox

std::unique_ptr<XclExpMsoDrawing> XclObj::pClientTextbox
protected

◆ pMsodrawing

XclExpMsoDrawing* XclObj::pMsodrawing
protected

Definition at line 100 of file xcl97rec.hxx.

Referenced by Save(), XclObj(), and ~XclObj().

◆ pTxo

std::unique_ptr<XclTxo> XclObj::pTxo
protected

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