summaryrefslogtreecommitdiff
path: root/sc/source/filter/xml/xmlfilti.cxx
diff options
context:
space:
mode:
authorSascha Ballach <sab@openoffice.org>2002-01-18 07:45:06 +0000
committerSascha Ballach <sab@openoffice.org>2002-01-18 07:45:06 +0000
commit1885638684c79a60524d4ba5dbf1d6f57a7770e7 (patch)
tree658477a39080c08249fd1fd18b6c5446e82091d0 /sc/source/filter/xml/xmlfilti.cxx
parent7a93c368b42e1514f9963e52ed855d7f9a52ff1b (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.cxx25
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,