LibreOffice Module oox (master) 1
|
Export helper to write simple and complex ActiveX form control properties to a binary input stream. More...
#include <axbinarywriter.hxx>
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< ComplexProperty > | ComplexPropVector |
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 |
Export helper to write simple and complex ActiveX form control properties to a binary input stream.
Definition at line 79 of file axbinarywriter.hxx.
|
private |
Definition at line 148 of file axbinarywriter.hxx.
|
explicit |
Definition at line 110 of file axbinarywriter.cxx.
References maOutStrm, mb64BitPropFlags, mnBlockSize, mnNextProp, mnPropFlags, mnPropFlagsStart, nId, oox::ole::AxAlignedOutputStream::tell(), oox::BinaryOutputStream::WriteInt64(), oox::BinaryOutputStream::WriteUInt16(), and oox::BinaryOutputStream::WriteUInt32().
|
private |
Definition at line 186 of file axbinarywriter.cxx.
References oox::BinaryStreamBase::isEof(), maOutStrm, and mbValid.
Referenced by finalizeExport().
void oox::ole::AxBinaryPropertyWriter::finalizeExport | ( | ) |
Final processing, write contents of all complex properties, writes record size.
Definition at line 151 of file axbinarywriter.cxx.
References oox::ole::AxAlignedOutputStream::align(), ensureValid(), maLargeProps, maOutStrm, maStreamProps, mb64BitPropFlags, mnBlockSize, mnPropFlags, mnPropFlagsStart, nPos, oox::ole::AxAlignedOutputStream::seek(), oox::ole::AxAlignedOutputStream::tell(), oox::BinaryOutputStream::WriteInt16(), oox::BinaryOutputStream::WriteInt64(), and oox::BinaryOutputStream::WriteUInt32().
Referenced by oox::ole::AxFontData::exportBinaryModel(), oox::ole::AxCommandButtonModel::exportBinaryModel(), oox::ole::AxLabelModel::exportBinaryModel(), oox::ole::AxImageModel::exportBinaryModel(), oox::ole::AxMorphDataModelBase::exportBinaryModel(), oox::ole::AxSpinButtonModel::exportBinaryModel(), and oox::ole::AxScrollBarModel::exportBinaryModel().
|
inline |
Skips the next property clears the respective flag in the property mask.
Definition at line 101 of file axbinarywriter.hxx.
References startNextProperty().
Referenced by oox::ole::AxFontData::exportBinaryModel(), oox::ole::AxCommandButtonModel::exportBinaryModel(), oox::ole::AxLabelModel::exportBinaryModel(), oox::ole::AxImageModel::exportBinaryModel(), oox::ole::AxMorphDataModelBase::exportBinaryModel(), oox::ole::AxSpinButtonModel::exportBinaryModel(), and oox::ole::AxScrollBarModel::exportBinaryModel().
|
private |
Definition at line 192 of file axbinarywriter.cxx.
References mnNextProp, mnPropFlags, and oox::setFlag().
Referenced by skipProperty(), writeBoolProperty(), writeIntProperty(), writePairProperty(), and writeStringProperty().
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().
|
inline |
Write an integer property value to the stream, the respective flag in the property mask is set.
Definition at line 87 of file axbinarywriter.hxx.
References maOutStrm, startNextProperty(), and oox::ole::AxAlignedOutputStream::writeAligned().
Referenced by oox::ole::AxFontData::exportBinaryModel(), oox::ole::AxCommandButtonModel::exportBinaryModel(), oox::ole::AxLabelModel::exportBinaryModel(), oox::ole::AxImageModel::exportBinaryModel(), oox::ole::AxMorphDataModelBase::exportBinaryModel(), oox::ole::AxSpinButtonModel::exportBinaryModel(), and oox::ole::AxScrollBarModel::exportBinaryModel().
void oox::ole::AxBinaryPropertyWriter::writePairProperty | ( | AxPairData & | orPairData | ) |
Write a pair property the stream, the respective flag in the property mask is set.
Definition at line 136 of file axbinarywriter.cxx.
References maLargeProps, and startNextProperty().
Referenced by oox::ole::AxCommandButtonModel::exportBinaryModel(), oox::ole::AxLabelModel::exportBinaryModel(), oox::ole::AxImageModel::exportBinaryModel(), oox::ole::AxMorphDataModelBase::exportBinaryModel(), oox::ole::AxSpinButtonModel::exportBinaryModel(), and oox::ole::AxScrollBarModel::exportBinaryModel().
void oox::ole::AxBinaryPropertyWriter::writeStringProperty | ( | OUString & | orValue | ) |
Write a string property to the stream, the respective flag in the property mask is set.
Definition at line 142 of file axbinarywriter.cxx.
References maLargeProps, maOutStrm, oox::setFlag(), startNextProperty(), and oox::ole::AxAlignedOutputStream::writeAligned().
Referenced by oox::ole::AxFontData::exportBinaryModel(), oox::ole::AxCommandButtonModel::exportBinaryModel(), oox::ole::AxLabelModel::exportBinaryModel(), and oox::ole::AxMorphDataModelBase::exportBinaryModel().
|
private |
Stores info for all used large properties.
Definition at line 152 of file axbinarywriter.hxx.
Referenced by finalizeExport(), writePairProperty(), and writeStringProperty().
|
private |
The input stream to read from.
Definition at line 151 of file axbinarywriter.hxx.
Referenced by AxBinaryPropertyWriter(), ensureValid(), finalizeExport(), writeIntProperty(), and writeStringProperty().
|
private |
Stores info for all used stream data properties.
Definition at line 153 of file axbinarywriter.hxx.
Referenced by finalizeExport().
|
private |
Definition at line 159 of file axbinarywriter.hxx.
Referenced by AxBinaryPropertyWriter(), and finalizeExport().
|
private |
True = stream still valid.
Definition at line 158 of file axbinarywriter.hxx.
Referenced by ensureValid().
|
private |
Definition at line 154 of file axbinarywriter.hxx.
Referenced by AxBinaryPropertyWriter(), and finalizeExport().
|
private |
Next property to read.
Definition at line 157 of file axbinarywriter.hxx.
Referenced by AxBinaryPropertyWriter(), and startNextProperty().
|
private |
Flags specifying existing properties.
Definition at line 156 of file axbinarywriter.hxx.
Referenced by AxBinaryPropertyWriter(), finalizeExport(), and startNextProperty().
|
private |
pos of Prop flags
Definition at line 155 of file axbinarywriter.hxx.
Referenced by AxBinaryPropertyWriter(), and finalizeExport().