LibreOffice Module oox (master)  1
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
oox::ole::AxBinaryPropertyWriter Class Reference

Export helper to write simple and complex ActiveX form control properties to a binary input stream. More...

#include <axbinarywriter.hxx>

Collaboration diagram for oox::ole::AxBinaryPropertyWriter:
[legend]

Classes

struct  ComplexProperty
 Base class for complex properties such as string, point, size, GUID, picture. More...
 
struct  PairProperty
 Complex property for a 32-bit value pair, e.g. More...
 
struct  PictureProperty
 Stream property for a picture or mouse icon. More...
 
struct  StringProperty
 Complex property for a string value. More...
 

Public Member Functions

 AxBinaryPropertyWriter (BinaryOutputStream &rOutStrm, bool b64BitPropFlags=false)
 
template<typename StreamType , typename DataType >
void writeIntProperty (DataType ornValue)
 Write an integer property value to the stream, the respective flag in the property mask is set. More...
 
void writeBoolProperty (bool orbValue)
 Write a boolean property value to the stream, the respective flag in the property mask is set. More...
 
void writePairProperty (AxPairData &orPairData)
 Write a pair property the stream, the respective flag in the property mask is set. More...
 
void writeStringProperty (OUString &orValue)
 Write a string property to the stream, the respective flag in the property mask is set. More...
 
void skipProperty ()
 Skips the next property clears the respective flag in the property mask. More...
 
void finalizeExport ()
 Final processing, write contents of all complex properties, writes record size. More...
 

Private Types

typedef RefVector< ComplexPropertyComplexPropVector
 

Private Member Functions

bool ensureValid ()
 
void startNextProperty (bool bSkip=false)
 

Private Attributes

AxAlignedOutputStream maOutStrm
 The input stream to read from. More...
 
ComplexPropVector maLargeProps
 Stores info for all used large properties. More...
 
ComplexPropVector maStreamProps
 Stores info for all used stream data properties. More...
 
sal_Int16 mnBlockSize
 
sal_Int64 mnPropFlagsStart
 pos of Prop flags More...
 
sal_Int64 mnPropFlags
 Flags specifying existing properties. More...
 
sal_Int64 mnNextProp
 Next property to read. More...
 
bool mbValid
 True = stream still valid. More...
 
bool mb64BitPropFlags
 

Detailed Description

Export helper to write simple and complex ActiveX form control properties to a binary input stream.

Definition at line 79 of file axbinarywriter.hxx.

Member Typedef Documentation

Definition at line 145 of file axbinarywriter.hxx.

Constructor & Destructor Documentation

oox::ole::AxBinaryPropertyWriter::AxBinaryPropertyWriter ( BinaryOutputStream rOutStrm,
bool  b64BitPropFlags = false 
)
explicit

Member Function Documentation

bool oox::ole::AxBinaryPropertyWriter::ensureValid ( )
private

Definition at line 186 of file axbinarywriter.cxx.

References oox::BinaryStreamBase::isEof(), maOutStrm, and mbValid.

Referenced by finalizeExport().

void oox::ole::AxBinaryPropertyWriter::finalizeExport ( )
void oox::ole::AxBinaryPropertyWriter::skipProperty ( )
inline
void oox::ole::AxBinaryPropertyWriter::startNextProperty ( bool  bSkip = false)
private
void oox::ole::AxBinaryPropertyWriter::writeBoolProperty ( bool  orbValue)

Write a boolean property value to the stream, the respective flag in the property mask is set.

Definition at line 130 of file axbinarywriter.cxx.

References startNextProperty().

Referenced by oox::ole::AxCommandButtonModel::exportBinaryModel(), oox::ole::AxImageModel::exportBinaryModel(), and oox::ole::AxMorphDataModelBase::exportBinaryModel().

template<typename StreamType , typename DataType >
void oox::ole::AxBinaryPropertyWriter::writeIntProperty ( DataType  ornValue)
inline
void oox::ole::AxBinaryPropertyWriter::writePairProperty ( AxPairData orPairData)
void oox::ole::AxBinaryPropertyWriter::writeStringProperty ( OUString &  orValue)

Member Data Documentation

ComplexPropVector oox::ole::AxBinaryPropertyWriter::maLargeProps
private

Stores info for all used large properties.

Definition at line 149 of file axbinarywriter.hxx.

Referenced by finalizeExport(), writePairProperty(), and writeStringProperty().

AxAlignedOutputStream oox::ole::AxBinaryPropertyWriter::maOutStrm
private

The input stream to read from.

Definition at line 148 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), ensureValid(), finalizeExport(), writeIntProperty(), and writeStringProperty().

ComplexPropVector oox::ole::AxBinaryPropertyWriter::maStreamProps
private

Stores info for all used stream data properties.

Definition at line 150 of file axbinarywriter.hxx.

Referenced by finalizeExport().

bool oox::ole::AxBinaryPropertyWriter::mb64BitPropFlags
private

Definition at line 156 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), and finalizeExport().

bool oox::ole::AxBinaryPropertyWriter::mbValid
private

True = stream still valid.

Definition at line 155 of file axbinarywriter.hxx.

Referenced by ensureValid().

sal_Int16 oox::ole::AxBinaryPropertyWriter::mnBlockSize
private

Definition at line 151 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), and finalizeExport().

sal_Int64 oox::ole::AxBinaryPropertyWriter::mnNextProp
private

Next property to read.

Definition at line 154 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), and startNextProperty().

sal_Int64 oox::ole::AxBinaryPropertyWriter::mnPropFlags
private

Flags specifying existing properties.

Definition at line 153 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), finalizeExport(), and startNextProperty().

sal_Int64 oox::ole::AxBinaryPropertyWriter::mnPropFlagsStart
private

pos of Prop flags

Definition at line 152 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), and finalizeExport().


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