Kaydet (Commit) d70f6df9 authored tarafından Noel Power's avatar Noel Power

Fix Excel still complains about exported MorphData controls

seems that writing property values that same as file defaults can cause
problems ( this behaviour doesn't seem to be consistent but... ) Fix
up some instances of properties that I've seen make Excel complain

Change-Id: Iacf6789906f07dc35aa5dbe3e7b62f4d2090e20a
üst 45ccaf41
...@@ -1496,23 +1496,27 @@ bool AxMorphDataModelBase::importBinaryModel( BinaryInputStream& rInStrm ) ...@@ -1496,23 +1496,27 @@ bool AxMorphDataModelBase::importBinaryModel( BinaryInputStream& rInStrm )
void AxMorphDataModelBase::exportBinaryModel( BinaryOutputStream& rOutStrm ) void AxMorphDataModelBase::exportBinaryModel( BinaryOutputStream& rOutStrm )
{ {
AxBinaryPropertyWriter aWriter( rOutStrm, true ); AxBinaryPropertyWriter aWriter( rOutStrm, true );
aWriter.writeIntProperty< sal_uInt32 >( mnFlags ); if ( mnFlags != AX_MORPHDATA_DEFFLAGS )
aWriter.writeIntProperty< sal_uInt32 >( mnFlags );
else
aWriter.skipProperty(); //mnFlags
aWriter.writeIntProperty< sal_uInt32 >( mnBackColor ); aWriter.writeIntProperty< sal_uInt32 >( mnBackColor );
aWriter.writeIntProperty< sal_uInt32 >( mnTextColor ); aWriter.writeIntProperty< sal_uInt32 >( mnTextColor );
if ( ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_COMBOBOX ) )
// only write if different from default
if ( ( ( mnDisplayStyle == AX_DISPLAYSTYLE_TEXT ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_COMBOBOX ) ) && mnMaxLength != 0 )
aWriter.writeIntProperty< sal_Int32 >( mnMaxLength ); aWriter.writeIntProperty< sal_Int32 >( mnMaxLength );
else else
aWriter.skipProperty(); //mnMaxLength aWriter.skipProperty(); //mnMaxLength
if ( ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_TEXT ) ) if ( ( ( mnDisplayStyle == AX_DISPLAYSTYLE_COMBOBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_TEXT ) ) && mnBorderStyle != AX_BORDERSTYLE_NONE )
{
aWriter.writeIntProperty< sal_uInt8 >( mnBorderStyle ); aWriter.writeIntProperty< sal_uInt8 >( mnBorderStyle );
aWriter.writeIntProperty< sal_uInt8 >( mnScrollBars );
}
else else
{
aWriter.skipProperty(); //mnBorderStyle aWriter.skipProperty(); //mnBorderStyle
if ( ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX || mnDisplayStyle == AX_DISPLAYSTYLE_TEXT ) && mnScrollBars != AX_SCROLLBAR_NONE )
aWriter.writeIntProperty< sal_uInt8 >( mnScrollBars );
else
aWriter.skipProperty(); //mnScrollBars aWriter.skipProperty(); //mnScrollBars
}
aWriter.writeIntProperty< sal_uInt8 >( mnDisplayStyle ); aWriter.writeIntProperty< sal_uInt8 >( mnDisplayStyle );
aWriter.skipProperty(); // mouse pointer aWriter.skipProperty(); // mouse pointer
aWriter.writePairProperty( maSize ); aWriter.writePairProperty( maSize );
...@@ -1531,7 +1535,7 @@ void AxMorphDataModelBase::exportBinaryModel( BinaryOutputStream& rOutStrm ) ...@@ -1531,7 +1535,7 @@ void AxMorphDataModelBase::exportBinaryModel( BinaryOutputStream& rOutStrm )
aWriter.skipProperty(); // mnShowDropButton ); aWriter.skipProperty(); // mnShowDropButton );
aWriter.skipProperty(); aWriter.skipProperty();
aWriter.skipProperty(); // drop down style aWriter.skipProperty(); // drop down style
if ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX ) if ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX && mnMultiSelect != AX_SELCTION_SINGLE )
aWriter.writeIntProperty< sal_uInt8 >( mnMultiSelect ); aWriter.writeIntProperty< sal_uInt8 >( mnMultiSelect );
// although CheckBox, ListBox, OptionButton, ToggleButton are also supported // although CheckBox, ListBox, OptionButton, ToggleButton are also supported
// they can only have the fileformat default // they can only have the fileformat default
...@@ -1544,11 +1548,14 @@ void AxMorphDataModelBase::exportBinaryModel( BinaryOutputStream& rOutStrm ) ...@@ -1544,11 +1548,14 @@ void AxMorphDataModelBase::exportBinaryModel( BinaryOutputStream& rOutStrm )
else else
aWriter.skipProperty(); // mnCaption aWriter.skipProperty(); // mnCaption
aWriter.skipProperty(); // mnPicturePos ); aWriter.skipProperty(); // mnPicturePos );
if ( ( mnDisplayStyle == AX_DISPLAYSTYLE_COMBOBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_TEXT ) ) if ( ( mnDisplayStyle == AX_DISPLAYSTYLE_COMBOBOX || mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX || mnDisplayStyle == AX_DISPLAYSTYLE_TEXT ) && mnBorderColor != AX_SYSCOLOR_WINDOWFRAME )
aWriter.writeIntProperty< sal_uInt32 >( mnBorderColor ); aWriter.writeIntProperty< sal_uInt32 >( mnBorderColor );
else else
aWriter.skipProperty(); // mnBorderColor aWriter.skipProperty(); // mnBorderColor
aWriter.writeIntProperty< sal_uInt32 >( mnSpecialEffect ); if ( mnSpecialEffect != AX_SPECIALEFFECT_SUNKEN )
aWriter.writeIntProperty< sal_uInt32 >( mnSpecialEffect );
else
aWriter.skipProperty(); //mnSpecialEffect
aWriter.skipProperty(); // mouse icon aWriter.skipProperty(); // mouse icon
aWriter.skipProperty(); // maPictureData aWriter.skipProperty(); // maPictureData
aWriter.skipProperty(); // accelerator aWriter.skipProperty(); // accelerator
...@@ -1964,6 +1971,7 @@ void AxListBoxModel::exportCompObj( BinaryOutputStream& rOutStream ) ...@@ -1964,6 +1971,7 @@ void AxListBoxModel::exportCompObj( BinaryOutputStream& rOutStream )
AxComboBoxModel::AxComboBoxModel() AxComboBoxModel::AxComboBoxModel()
{ {
mnDisplayStyle = AX_DISPLAYSTYLE_COMBOBOX; mnDisplayStyle = AX_DISPLAYSTYLE_COMBOBOX;
mnFlags = 0x2c80481b;
} }
ApiControlType AxComboBoxModel::getControlType() const ApiControlType AxComboBoxModel::getControlType() const
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment