diff options
author | Sascha Ballach <sab@openoffice.org> | 2002-01-18 07:45:06 +0000 |
---|---|---|
committer | Sascha Ballach <sab@openoffice.org> | 2002-01-18 07:45:06 +0000 |
commit | 1885638684c79a60524d4ba5dbf1d6f57a7770e7 (patch) | |
tree | 658477a39080c08249fd1fd18b6c5446e82091d0 /sc/source/filter/xml/xmlfilti.cxx | |
parent | 7a93c368b42e1514f9963e52ed855d7f9a52ff1b (diff) |
#96651#, #96671#; set the bUseRegularExpression correctly in case of the given parameter and not on every call on true. Handle the count of filter criteria of the data pilot by myself and give every criteria the flag bOnQuery
Diffstat (limited to 'sc/source/filter/xml/xmlfilti.cxx')
-rw-r--r-- | sc/source/filter/xml/xmlfilti.cxx | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/sc/source/filter/xml/xmlfilti.cxx b/sc/source/filter/xml/xmlfilti.cxx index 696231537094..832ef3a770d8 100644 --- a/sc/source/filter/xml/xmlfilti.cxx +++ b/sc/source/filter/xml/xmlfilti.cxx @@ -2,9 +2,9 @@ * * $RCSfile: xmlfilti.cxx,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: sab $ $Date: 2001-07-26 06:51:20 $ + * last change: $Author: sab $ $Date: 2002-01-18 08:45:06 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -458,7 +458,8 @@ ScXMLDPFilterContext::ScXMLDPFilterContext( ScXMLImport& rImport, bCopyOutputData(sal_False), bConditionSourceRange(sal_False), aFilterFields(), - SvXMLImportContext( rImport, nPrfx, rLName ) + SvXMLImportContext( rImport, nPrfx, rLName ), + nFilterFieldCount(0) { ScDocument* pDoc = GetScImport().GetDocument(); pDataPilotTable = pTempDataPilotTableContext; @@ -549,7 +550,10 @@ SvXMLImportContext *ScXMLDPFilterContext::CreateChildContext( USHORT nPrefix, void ScXMLDPFilterContext::EndElement() { - pDataPilotTable->SetFilterUseRegularExpressions(bUseRegularExpressions); + aFilterFields.bRegExp = bUseRegularExpressions; + aFilterFields.bCaseSens = bIsCaseSensitive; + aFilterFields.bDuplicate = !bSkipDuplicates; +// pDataPilotTable->SetFilterUseRegularExpressions(bUseRegularExpressions); if (bCopyOutputData) { pDataPilotTable->SetFilterOutputPosition(aOutputPosition); @@ -557,13 +561,22 @@ void ScXMLDPFilterContext::EndElement() } else pDataPilotTable->SetFilterCopyOutputData(sal_False); - pDataPilotTable->SetFilterIsCaseSensitive(bIsCaseSensitive); - pDataPilotTable->SetFilterSkipDuplicates(bSkipDuplicates); +// pDataPilotTable->SetFilterIsCaseSensitive(bIsCaseSensitive); +// pDataPilotTable->SetFilterSkipDuplicates(bSkipDuplicates); pDataPilotTable->SetSourceQueryParam(aFilterFields); if (bConditionSourceRange) pDataPilotTable->SetFilterSourceRange(aConditionSourceRangeAddress); } +void ScXMLDPFilterContext::AddFilterField (const ScQueryEntry& aFilterField) +{ + aFilterFields.Resize(nFilterFieldCount + 1); + ScQueryEntry& rEntry = aFilterFields.GetEntry(nFilterFieldCount); + rEntry = aFilterField; + rEntry.bDoQuery = sal_True; + nFilterFieldCount++; +} + ScXMLDPAndContext::ScXMLDPAndContext( ScXMLImport& rImport, USHORT nPrfx, const ::rtl::OUString& rLName, |