From 960f4bdd71c9de19059279d61abb142ddfdac0ce Mon Sep 17 00:00:00 2001 From: Peter Jentsch Date: Fri, 14 Oct 2011 22:12:29 +0200 Subject: initial support for user defined xslt service impl in filter jar Supports importing the 2nd userdata parameter for xslt filter definitions from manually edited custom XML filter settings. UI currently not available. --- filter/source/xsltdialog/typedetectionimport.cxx | 1 + filter/source/xsltdialog/xmlfiltercommon.hxx | 1 + filter/source/xsltdialog/xmlfiltersettingsdialog.cxx | 9 +++++++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/filter/source/xsltdialog/typedetectionimport.cxx b/filter/source/xsltdialog/typedetectionimport.cxx index 9133f9bd495c..07dd0797c5e8 100644 --- a/filter/source/xsltdialog/typedetectionimport.cxx +++ b/filter/source/xsltdialog/typedetectionimport.cxx @@ -183,6 +183,7 @@ filter_info_impl* TypeDetectionImporter::createFilterForNode( Node * pNode ) OUString aAdapterService( getSubdata( 0, aDelim, aFilterUserData ) ); //Import/ExportService + pFilter->maXSLTTransformerImpl = getSubdata( 1, aDelim, aFilterUserData ); pFilter->maImportService = getSubdata( 2, aDelim, aFilterUserData ); pFilter->maExportService = getSubdata( 3, aDelim, aFilterUserData ); pFilter->maImportXSLT = getSubdata( 4, aDelim, aFilterUserData ); diff --git a/filter/source/xsltdialog/xmlfiltercommon.hxx b/filter/source/xsltdialog/xmlfiltercommon.hxx index 6ff28094c846..c1da769c1a8c 100644 --- a/filter/source/xsltdialog/xmlfiltercommon.hxx +++ b/filter/source/xsltdialog/xmlfiltercommon.hxx @@ -70,6 +70,7 @@ public: rtl::OUString maDocType; rtl::OUString maImportService; rtl::OUString maExportService; + rtl::OUString maXSLTTransformerImpl; sal_Int32 maFlags; sal_Int32 maFileFormatVersion; diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx index 2ba839205b7e..c11a455d5be1 100644 --- a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx +++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx @@ -1167,6 +1167,7 @@ void XMLFilterSettingsDialog::initFilterList() continue; // get filter information from userdata + pTempFilter->maXSLTTransformerImpl = aUserData[1]; pTempFilter->maImportService = aUserData[2]; pTempFilter->maExportService = aUserData[3]; pTempFilter->maImportXSLT = aUserData[4]; @@ -1645,7 +1646,8 @@ filter_info_impl::filter_info_impl( const filter_info_impl& rInfo ) : maFlags( rInfo.maFlags ), maFileFormatVersion( rInfo.maFileFormatVersion ), mnDocumentIconID( rInfo.mnDocumentIconID ), - mbReadonly( rInfo.mbReadonly ) + mbReadonly( rInfo.mbReadonly ), + maXSLTTransformerImpl( rInfo.maXSLTTransformerImpl ) { } @@ -1668,7 +1670,9 @@ int filter_info_impl::operator==( const filter_info_impl& r ) const maImportService != r.maImportService || maImportTemplate != r.maImportTemplate || maFlags != r.maFlags || - maFileFormatVersion != r.maFileFormatVersion ) + maFileFormatVersion != r.maFileFormatVersion || + maXSLTTransformerImpl != r.maXSLTTransformerImpl + ) return false; return true; @@ -1689,6 +1693,7 @@ Sequence< OUString > filter_info_impl::getFilterUserData() const aUserData[3] = pInfo->maXMLExporter; } */ + aUserData[1] = maXSLTTransformerImpl; aUserData[2] = maImportService; aUserData[3] = maExportService; aUserData[4] = maImportXSLT; -- cgit v1.2.3