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...
 
- 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

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 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 102 of file xcl97rec.hxx.

Constructor & Destructor Documentation

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

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

XclObj::~XclObj ( )
overridevirtual

Definition at line 395 of file xcl97rec.cxx.

References bFirstOnSheet, pClientTextbox, pMsodrawing, and pTxo.

Member Function Documentation

sal_uInt16 XclObj::GetObjType ( ) const
inline

Definition at line 131 of file xcl97rec.hxx.

References mnObjType.

SCTAB XclObj::GetTab ( ) const
inline

Definition at line 136 of file xcl97rec.hxx.

References mnScTab.

Referenced by XclExpChartObj::SaveXml(), and XclObjAny::WriteFromTo().

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

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 163 of file xcl97rec.hxx.

References mbOwnEscher.

Referenced by XclEscherEx::EndShape().

void XclObj::Save ( XclExpStream rStrm)
overridevirtual

Writes the record header and calls WriteBody().

Reimplemented from XclExpRecord.

Reimplemented in XclExpChartObj, XclObjAny, XclObjOle, and XclObjComment.

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

Definition at line 520 of file xcl97rec.cxx.

References pClientTextbox, and pTxo.

Referenced by Save().

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

Definition at line 152 of file xcl97rec.hxx.

References EXC_OBJTYPE_GROUP.

Referenced by XclEscherEx::EndShape().

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

Definition at line 142 of file xcl97rec.hxx.

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

void XclObj::SetId ( sal_uInt16  nId)
inline

Definition at line 133 of file xcl97rec.hxx.

Referenced by XclEscherEx::StartShape().

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

Definition at line 135 of file xcl97rec.hxx.

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

actually writes ESCHER_ClientTextbox

Definition at line 445 of file xcl97rec.cxx.

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

Referenced by XclEscherClientTextbox::WriteData().

void XclObj::WriteBody ( XclExpStream rStrm)
overrideprotectedvirtual

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

Usually this method will be overwritten by derived classes.

Reimplemented from XclExpRecord.

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

Member Data Documentation

bool XclObj::bFirstOnSheet
protected

Definition at line 113 of file xcl97rec.hxx.

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

bool XclObj::mbOwnEscher
protected

Definition at line 115 of file xcl97rec.hxx.

Referenced by IsOwnEscher().

sal_uInt16 XclObj::mnObjType
protected
SCTAB XclObj::mnScTab
protected

Definition at line 112 of file xcl97rec.hxx.

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

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

Definition at line 110 of file xcl97rec.hxx.

Referenced by WriteBody().

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

Definition at line 106 of file xcl97rec.hxx.

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

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

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