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...
- Public Member Functions inherited from XclExpRecordBase
 XclExpRecordBase ()
 XclExpRecordBase (XclExpRecordBase const &)
 XclExpRecordBase (XclExpRecordBase &&)
XclExpRecordBaseoperator= (XclExpRecordBase const &)
XclExpRecordBaseoperator= (XclExpRecordBase &&) noexcept
virtual ~XclExpRecordBase ()
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)
- 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 voidoperator new (std::size_t nSize)
static voidoperator 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 ( 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 382 of file xcl97rec.cxx.

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

XclObj::~XclObj ( )

Definition at line 399 of file xcl97rec.cxx.

References bFirstOnSheet, pClientTextbox, pMsodrawing, and pTxo.

Member Function Documentation

sal_uInt16 XclObj::GetObjType ( ) const

Definition at line 125 of file xcl97rec.hxx.

References mnObjType.

Referenced by XclExpTbxControlObj::SaveVml().

SCTAB XclObj::GetTab ( ) const
void XclObj::ImplWriteAnchor ( const SdrObject pSdrObj,
const tools::Rectangle pChildAnchor 
bool XclObj::IsOwnEscher ( ) const

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

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. See SetOwnEscher() for details.

Definition at line 157 of file xcl97rec.hxx.

References mbOwnEscher.

Referenced by XclEscherEx::EndShape().

void XclObj::Save ( XclExpStream rStrm)

Writes the record header and calls WriteBody().

Reimplemented from XclExpRecord.

Reimplemented in XclExpChartObj, XclObjAny, XclObjOle, and XclObjComment.

Definition at line 489 of file xcl97rec.cxx.

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

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

void XclObj::SaveTextRecs ( XclExpStream rStrm)

Definition at line 524 of file xcl97rec.cxx.

References pClientTextbox, and pTxo.

Referenced by Save().

void XclObj::SetAutoFill ( bool  b)
void XclObj::SetAutoLine ( bool  b)
void XclObj::SetEscherShapeType ( sal_uInt16  nType)
void XclObj::SetEscherShapeTypeGroup ( )

Definition at line 146 of file xcl97rec.hxx.


Referenced by XclEscherEx::EndShape().

void XclObj::SetGrBit ( bool  b,
int  f 

Definition at line 136 of file xcl97rec.hxx.

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

void XclObj::SetId ( sal_uInt16  nId)

Definition at line 127 of file xcl97rec.hxx.

Referenced by XclEscherEx::StartShape().

void XclObj::SetLocked ( bool  b)
void XclObj::SetPrintable ( bool  b)
void XclObj::SetTab ( SCTAB  nScTab)

Definition at line 129 of file xcl97rec.hxx.

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

actually writes ESCHER_ClientTextbox

Definition at line 449 of file xcl97rec.cxx.

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

Referenced by XclEscherClientTextbox::WriteData().

void XclObj::WriteBody ( XclExpStream rStrm)

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

Usually this method will be overwritten by derived classes.

Reimplemented from XclExpRecord.

Definition at line 462 of file xcl97rec.cxx.

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

void XclObj::WriteSubRecs ( XclExpStream rStrm)

Member Data Documentation

bool XclObj::bFirstOnSheet

Definition at line 107 of file xcl97rec.hxx.

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

bool XclObj::mbOwnEscher

Definition at line 109 of file xcl97rec.hxx.

Referenced by IsOwnEscher().

sal_uInt16 XclObj::mnObjType
SCTAB XclObj::mnScTab

Definition at line 106 of file xcl97rec.hxx.

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

XclEscherEx& XclObj::mrEscherEx
sal_uInt16 XclObj::nGrbit
sal_uInt16 XclObj::nObjId

Definition at line 104 of file xcl97rec.hxx.

Referenced by WriteBody().

std::unique_ptr<XclExpMsoDrawing> XclObj::pClientTextbox
XclExpMsoDrawing* XclObj::pMsodrawing

Definition at line 100 of file xcl97rec.hxx.

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

std::unique_ptr<XclTxo> XclObj::pTxo

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