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:
Collaboration diagram for XclObj:

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

std::unique_ptr< XclExpMsoDrawingpClientTextbox
std::unique_ptr< XclTxopTxo
sal_uInt16 mnObjType
sal_uInt16 nObjId
sal_uInt16 nGrbit
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 

true = Escher part created on the fly.

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 405 of file xcl97rec.cxx.

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

◆ ~XclObj()

XclObj::~XclObj ( )

Definition at line 422 of file xcl97rec.cxx.

References bFirstOnSheet, pClientTextbox, pMsodrawing, and pTxo.

Member Function Documentation

◆ GetObjType()

sal_uInt16 XclObj::GetObjType ( ) const

Definition at line 125 of file xcl97rec.hxx.

References mnObjType.

Referenced by XclExpTbxControlObj::SaveVml().

◆ GetTab()

SCTAB XclObj::GetTab ( ) const

◆ ImplWriteAnchor()

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

◆ IsOwnEscher()

bool XclObj::IsOwnEscher ( ) const

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)

Writes the record header and calls WriteBody().

Reimplemented from XclExpRecord.

Reimplemented in XclObjComment, XclObjOle, XclObjAny, and XclExpChartObj.

Definition at line 512 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)

Definition at line 547 of file xcl97rec.cxx.

References pClientTextbox, pTxo, and rStrm.

Referenced by Save().

◆ SetAutoFill()

void XclObj::SetAutoFill ( bool  b)

◆ SetAutoLine()

void XclObj::SetAutoLine ( bool  b)

◆ SetEscherShapeType()

void XclObj::SetEscherShapeType ( sal_uInt16  nType)

◆ SetEscherShapeTypeGroup()

void XclObj::SetEscherShapeTypeGroup ( )

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 

Definition at line 136 of file xcl97rec.hxx.

References nGrbit.

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

◆ SetId()

void XclObj::SetId ( sal_uInt16  nId)

Definition at line 127 of file xcl97rec.hxx.

References nId, and nObjId.

Referenced by XclEscherEx::StartShape().

◆ SetLocked()

void XclObj::SetLocked ( bool  b)

◆ SetPrintable()

void XclObj::SetPrintable ( bool  b)

◆ SetTab()

void XclObj::SetTab ( SCTAB  nScTab)

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 472 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)

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 485 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)

Member Data Documentation

◆ bFirstOnSheet

bool XclObj::bFirstOnSheet

Definition at line 107 of file xcl97rec.hxx.

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

◆ mbOwnEscher

bool XclObj::mbOwnEscher

Definition at line 109 of file xcl97rec.hxx.

Referenced by IsOwnEscher().

◆ mnObjType

sal_uInt16 XclObj::mnObjType

◆ mnScTab

SCTAB XclObj::mnScTab

Definition at line 106 of file xcl97rec.hxx.

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

◆ mrEscherEx

XclEscherEx& XclObj::mrEscherEx

◆ nGrbit

sal_uInt16 XclObj::nGrbit

◆ nObjId

sal_uInt16 XclObj::nObjId

Definition at line 104 of file xcl97rec.hxx.

Referenced by SetId(), and WriteBody().

◆ pClientTextbox

std::unique_ptr<XclExpMsoDrawing> XclObj::pClientTextbox

◆ pMsodrawing

XclExpMsoDrawing* XclObj::pMsodrawing

Definition at line 100 of file xcl97rec.hxx.

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

◆ pTxo

std::unique_ptr<XclTxo> XclObj::pTxo

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