summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorMathias Bauer <mba@openoffice.org>2011-01-25 18:35:57 +0100
committerMathias Bauer <mba@openoffice.org>2011-01-25 18:35:57 +0100
commit9fa0a785088feeaf3cf4bb502ef8f2e4ec1b1152 (patch)
treec2c38071b41c9d03c6e49599f86950e1a19969c5 /xmloff
parent80fa6e0c97fc50fee714f3a7dc75d11d2180877b (diff)
parentd646413d464dc5d6518f87daa8538cd0c600797f (diff)
CWS gnumake3: resync to m98
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/Library_xo.mk15
-rw-r--r--xmloff/Library_xof.mk15
-rw-r--r--xmloff/source/chart/SchXMLExport.cxx15
-rw-r--r--xmloff/source/chart/SchXMLTableContext.cxx30
-rw-r--r--xmloff/source/chart/transporttypes.hxx5
5 files changed, 74 insertions, 6 deletions
diff --git a/xmloff/Library_xo.mk b/xmloff/Library_xo.mk
index 6d8bef0df7b0..be5eb92215d0 100644
--- a/xmloff/Library_xo.mk
+++ b/xmloff/Library_xo.mk
@@ -390,6 +390,20 @@ $(eval $(call gb_Library_add_linked_libs,xo,\
endif
ifeq ($(OS),WNT)
+ifneq ($(USE_MINGW),)
+$(eval $(call gb_Library_add_linked_libs,xo,\
+ mingwthrd \
+ $(gb_MINGW_LIBSTDCPP) \
+ mingw32 \
+ $(gb_MINGW_LIBGCC) \
+ uwinapi \
+ moldname \
+ mingwex \
+ kernel32 \
+ msvcrt \
+ user32 \
+))
+else
$(eval $(call gb_Library_add_linked_libs,xo,\
kernel32 \
msvcrt \
@@ -398,4 +412,5 @@ $(eval $(call gb_Library_add_linked_libs,xo,\
uwinapi \
))
endif
+endif
# vim: set noet ts=4 sw=4:
diff --git a/xmloff/Library_xof.mk b/xmloff/Library_xof.mk
index 40b48a0ba4af..4ce6132743e0 100644
--- a/xmloff/Library_xof.mk
+++ b/xmloff/Library_xof.mk
@@ -101,6 +101,20 @@ $(eval $(call gb_Library_add_linked_libs,xof,\
endif
ifeq ($(OS),WNT)
+ifneq ($(USE_MINGW),)
+$(eval $(call gb_Library_add_linked_libs,xof,\
+ mingwthrd \
+ $(gb_MINGW_LIBSTDCPP) \
+ mingw32 \
+ $(gb_MINGW_LIBGCC) \
+ uwinapi \
+ moldname \
+ mingwex \
+ kernel32 \
+ msvcrt \
+ user32 \
+))
+else
$(eval $(call gb_Library_add_linked_libs,xof,\
kernel32 \
msvcrt \
@@ -109,4 +123,5 @@ $(eval $(call gb_Library_add_linked_libs,xof,\
uwinapi \
))
endif
+endif
# vim: set noet ts=4 sw=4:
diff --git a/xmloff/source/chart/SchXMLExport.cxx b/xmloff/source/chart/SchXMLExport.cxx
index 358cb023199c..3b28fb4839bd 100644
--- a/xmloff/source/chart/SchXMLExport.cxx
+++ b/xmloff/source/chart/SchXMLExport.cxx
@@ -1598,6 +1598,21 @@ void SchXMLExportHelper_Impl::exportTable()
// table element
// -------------
mrExport.AddAttribute( XML_NAMESPACE_TABLE, XML_NAME, msTableName );
+
+ try
+ {
+ bool bProtected = false;
+ Reference< beans::XPropertySet > xProps( mrExport.GetModel(), uno::UNO_QUERY_THROW );
+ if ( ( xProps->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "DisableDataTableDialog" ) ) ) >>= bProtected ) &&
+ bProtected )
+ {
+ mrExport.AddAttribute( XML_NAMESPACE_TABLE, XML_PROTECTED, XML_TRUE );
+ }
+ }
+ catch ( uno::Exception& )
+ {
+ }
+
SvXMLElementExport aTable( mrExport, XML_NAMESPACE_TABLE, XML_TABLE, sal_True, sal_True );
bool bHasOwnData = false;
diff --git a/xmloff/source/chart/SchXMLTableContext.cxx b/xmloff/source/chart/SchXMLTableContext.cxx
index cc01a7d1c050..8f584bb5d6ac 100644
--- a/xmloff/source/chart/SchXMLTableContext.cxx
+++ b/xmloff/source/chart/SchXMLTableContext.cxx
@@ -375,12 +375,19 @@ void SchXMLTableContext::StartElement( const uno::Reference< xml::sax::XAttribut
rtl::OUString sAttrName = xAttrList->getNameByIndex( i );
rtl::OUString aLocalName;
USHORT nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
-
- if( nPrefix == XML_NAMESPACE_TABLE &&
- IsXMLToken( aLocalName, XML_NAME ) )
+ if ( nPrefix == XML_NAMESPACE_TABLE )
{
- mrTable.aTableNameOfFile = xAttrList->getValueByIndex( i );
- break; // we only need this attribute
+ if ( IsXMLToken( aLocalName, XML_NAME ) )
+ {
+ mrTable.aTableNameOfFile = xAttrList->getValueByIndex( i );
+ }
+ else if ( IsXMLToken( aLocalName, XML_PROTECTED ) )
+ {
+ if ( IsXMLToken( xAttrList->getValueByIndex( i ), XML_TRUE ) )
+ {
+ mrTable.bProtected = true;
+ }
+ }
}
}
}
@@ -928,6 +935,19 @@ void SchXMLTableHelper::applyTableToInternalDataProvider(
xDataAccess->setComplexRowDescriptions( aComplexRowDescriptions );
if( rTable.bHasHeaderRow )
xDataAccess->setComplexColumnDescriptions( aComplexColumnDescriptions );
+
+ if ( rTable.bProtected )
+ {
+ try
+ {
+ Reference< beans::XPropertySet > xProps( xChartDoc, uno::UNO_QUERY_THROW );
+ xProps->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "DisableDataTableDialog" ) ), uno::makeAny( sal_True ) );
+ xProps->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "DisableComplexChartTypes" ) ), uno::makeAny( sal_True ) );
+ }
+ catch ( uno::Exception& )
+ {
+ }
+ }
}
void SchXMLTableHelper::switchRangesFromOuterToInternalIfNecessary(
diff --git a/xmloff/source/chart/transporttypes.hxx b/xmloff/source/chart/transporttypes.hxx
index 27c8850e2b81..599741dfe273 100644
--- a/xmloff/source/chart/transporttypes.hxx
+++ b/xmloff/source/chart/transporttypes.hxx
@@ -87,12 +87,15 @@ struct SchXMLTable
::std::vector< sal_Int32 > aHiddenColumns;
+ bool bProtected;
+
SchXMLTable() : nRowIndex( -1 ),
nColumnIndex( -1 ),
nMaxColumnIndex( -1 ),
nNumberOfColsEstimate( 0 ),
bHasHeaderRow( false ),
- bHasHeaderColumn( false )
+ bHasHeaderColumn( false ),
+ bProtected( false )
{}
};