summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Ballach <sab@openoffice.org>2001-03-29 09:49:48 +0000
committerSascha Ballach <sab@openoffice.org>2001-03-29 09:49:48 +0000
commit43605abd2dc0371fd6f84463ea6a27532fc954f7 (patch)
tree336bb42e233e11ac51e7c3940c62163545b5e489
parentd2b80262bc7b982cbe58ad1dabeccae165add6e5 (diff)
add the possibibility only to load and to save the styles in xml
-rw-r--r--sc/inc/xmlwrap.hxx8
-rw-r--r--sc/source/filter/xml/xmlwrap.cxx100
2 files changed, 61 insertions, 47 deletions
diff --git a/sc/inc/xmlwrap.hxx b/sc/inc/xmlwrap.hxx
index 99506e4f6583..f3aab9e62718 100644
--- a/sc/inc/xmlwrap.hxx
+++ b/sc/inc/xmlwrap.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: xmlwrap.hxx,v $
*
- * $Revision: 1.7 $
+ * $Revision: 1.8 $
*
- * last change: $Author: sab $ $Date: 2001-03-02 17:28:24 $
+ * last change: $Author: sab $ $Date: 2001-03-29 10:48:28 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -103,8 +103,8 @@ class ScXMLImportWrapper
public:
ScXMLImportWrapper(ScDocument& rD, SfxMedium* pM, SvStorage* pS);
- BOOL Import();
- BOOL Export();
+ BOOL Import(sal_Bool bStylesOnly);
+ BOOL Export(sal_Bool bStylesOnly);
};
#endif
diff --git a/sc/source/filter/xml/xmlwrap.cxx b/sc/source/filter/xml/xmlwrap.cxx
index 535707c16ea0..c93724d6af12 100644
--- a/sc/source/filter/xml/xmlwrap.cxx
+++ b/sc/source/filter/xml/xmlwrap.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: xmlwrap.cxx,v $
*
- * $Revision: 1.20 $
+ * $Revision: 1.21 $
*
- * last change: $Author: sab $ $Date: 2001-03-22 17:56:54 $
+ * last change: $Author: sab $ $Date: 2001-03-29 10:49:48 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -237,7 +237,7 @@ sal_Bool ScXMLImportWrapper::ImportFromComponent(uno::Reference<lang::XMultiServ
return bRet;
}
-sal_Bool ScXMLImportWrapper::Import()
+sal_Bool ScXMLImportWrapper::Import(sal_Bool bStylesOnly)
{
uno::Reference<lang::XMultiServiceFactory> xServiceFactory =
comphelper::getProcessServiceFactory();
@@ -265,12 +265,15 @@ sal_Bool ScXMLImportWrapper::Import()
rtl::OUString sEmpty;
uno::Reference<frame::XModel> xModel = pObjSh->GetModel();
- uno::Sequence<uno::Any> aMetaArgs(0);
+ if(!bStylesOnly)
+ {
+ uno::Sequence<uno::Any> aMetaArgs(0);
- sal_Bool bMetaRetval = ImportFromComponent(xServiceFactory, xModel, xXMLParser, aParserInput,
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Calc.XMLMetaImporter")),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("meta.xml")),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Meta.xml")), aMetaArgs);
+ sal_Bool bMetaRetval = ImportFromComponent(xServiceFactory, xModel, xXMLParser, aParserInput,
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Calc.XMLMetaImporter")),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("meta.xml")),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Meta.xml")), aMetaArgs);
+ }
uno::Sequence<uno::Any> aStylesArgs(0);
@@ -279,49 +282,58 @@ sal_Bool ScXMLImportWrapper::Import()
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("styles.xml")),
sEmpty, aStylesArgs);
- SvXMLGraphicHelper* pGraphicHelper = NULL;
- uno::Reference< document::XGraphicObjectResolver > xGrfContainer;
-
- uno::Reference< document::XEmbeddedObjectResolver > xObjectResolver;
- SvXMLEmbeddedObjectHelper *pObjectHelper = NULL;
-
- if( pStorage )
+ sal_Bool bDocRetval(sal_False);
+ if (!bStylesOnly)
{
- pGraphicHelper = SvXMLGraphicHelper::Create( *pStorage, GRAPHICHELPER_MODE_READ );
- xGrfContainer = pGraphicHelper;
+ SvXMLGraphicHelper* pGraphicHelper = NULL;
+ uno::Reference< document::XGraphicObjectResolver > xGrfContainer;
- SvPersist *pPersist = pObjSh;
- if( pPersist )
+ uno::Reference< document::XEmbeddedObjectResolver > xObjectResolver;
+ SvXMLEmbeddedObjectHelper *pObjectHelper = NULL;
+
+ if( pStorage )
{
- pObjectHelper = SvXMLEmbeddedObjectHelper::Create(*pStorage, *pPersist, EMBEDDEDOBJECTHELPER_MODE_READ, sal_False );
- xObjectResolver = pObjectHelper;
+ pGraphicHelper = SvXMLGraphicHelper::Create( *pStorage, GRAPHICHELPER_MODE_READ );
+ xGrfContainer = pGraphicHelper;
+
+ SvPersist *pPersist = pObjSh;
+ if( pPersist )
+ {
+ pObjectHelper = SvXMLEmbeddedObjectHelper::Create(*pStorage, *pPersist, EMBEDDEDOBJECTHELPER_MODE_READ, sal_False );
+ xObjectResolver = pObjectHelper;
+ }
}
- }
- uno::Sequence<uno::Any> aDocArgs(3);
- uno::Any* pDocArgs = aDocArgs.getArray();
- pDocArgs[0] <<= xGrfContainer;
- pDocArgs[1] <<= GetStatusIndicator(xModel);
- pDocArgs[2] <<= xObjectResolver;
+ uno::Sequence<uno::Any> aDocArgs(3);
+ uno::Any* pDocArgs = aDocArgs.getArray();
+ pDocArgs[0] <<= xGrfContainer;
+ pDocArgs[1] <<= GetStatusIndicator(xModel);
+ pDocArgs[2] <<= xObjectResolver;
- sal_Bool bDocRetval = ImportFromComponent(xServiceFactory, xModel, xXMLParser, aParserInput,
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Calc.XMLContentImporter")),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("content.xml")),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Content.xml")), aDocArgs);
+ bDocRetval = ImportFromComponent(xServiceFactory, xModel, xXMLParser, aParserInput,
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Calc.XMLContentImporter")),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("content.xml")),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Content.xml")), aDocArgs);
- if( pGraphicHelper )
- SvXMLGraphicHelper::Destroy( pGraphicHelper );
+ if( pGraphicHelper )
+ SvXMLGraphicHelper::Destroy( pGraphicHelper );
- if( pObjectHelper )
- SvXMLEmbeddedObjectHelper::Destroy( pObjectHelper );
+ if( pObjectHelper )
+ SvXMLEmbeddedObjectHelper::Destroy( pObjectHelper );
+ }
+
+ if (!bStylesOnly)
+ {
+ uno::Sequence<uno::Any> aSettingsArgs(0);
- sal_Bool bSettingsRetval = ImportFromComponent(xServiceFactory, xModel, xXMLParser, aParserInput,
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Calc.XMLSettingsImporter")),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("settings.xml")),
- sEmpty, aDocArgs);
+ sal_Bool bSettingsRetval = ImportFromComponent(xServiceFactory, xModel, xXMLParser, aParserInput,
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Calc.XMLSettingsImporter")),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("settings.xml")),
+ sEmpty, aSettingsArgs);
+ }
// Don't test bStylesRetval and bMetaRetval, because it could be an older file which not contain such streams
- return bDocRetval;
+ return !bStylesOnly ? bDocRetval : bStylesRetval;
}
return sal_False;
}
@@ -378,7 +390,7 @@ sal_Bool ScXMLImportWrapper::ExportToComponent(uno::Reference<lang::XMultiServic
return bRet;
}
-sal_Bool ScXMLImportWrapper::Export()
+sal_Bool ScXMLImportWrapper::Export(sal_Bool bStylesOnly)
{
uno::Reference<lang::XMultiServiceFactory> xServiceFactory =
comphelper::getProcessServiceFactory();
@@ -421,7 +433,7 @@ sal_Bool ScXMLImportWrapper::Export()
ScMySharedData* pSharedData = NULL;
// meta export
-
+ if (!bStylesOnly)
{
uno::Sequence<uno::Any> aMetaArgs(2);
uno::Any* pMetaArgs = aMetaArgs.getArray();
@@ -448,6 +460,7 @@ sal_Bool ScXMLImportWrapper::Export()
// content export
+ if (!bStylesOnly)
{
uno::Reference< document::XEmbeddedObjectResolver > xObjectResolver;
SvXMLEmbeddedObjectHelper *pObjectHelper = 0;
@@ -489,6 +502,7 @@ sal_Bool ScXMLImportWrapper::Export()
// settings export
+ if (!bStylesOnly)
{
uno::Sequence<uno::Any> aSettingsArgs(2);
uno::Any* pSettingsArgs = aSettingsArgs.getArray();
@@ -500,7 +514,7 @@ sal_Bool ScXMLImportWrapper::Export()
sal_True, aSettingsArgs, pSharedData);
}
- return bDocRet && bMetaRet && bStylesRet && bSettingsRet;
+ return bStylesRet && ((!bStylesOnly && bDocRet && bMetaRet && bSettingsRet) || bStylesOnly);
}
// later: give string descriptor as parameter for doc type