summaryrefslogtreecommitdiff
path: root/sc/source/filter/xml/xmlcoli.cxx
diff options
context:
space:
mode:
authorSascha Ballach <sab@openoffice.org>2000-11-10 16:52:59 +0000
committerSascha Ballach <sab@openoffice.org>2000-11-10 16:52:59 +0000
commit9756a8a1273eb04195c33acbf5d27a4bdf95b15d (patch)
tree8eb3015a7f8e1721c88a817e29802c924b5d7d1d /sc/source/filter/xml/xmlcoli.cxx
parent4e656a4a78372f0eb370912f060d861e72ec90e0 (diff)
use one XSpreadsheet instead of create on every case a new one
Diffstat (limited to 'sc/source/filter/xml/xmlcoli.cxx')
-rw-r--r--sc/source/filter/xml/xmlcoli.cxx122
1 files changed, 48 insertions, 74 deletions
diff --git a/sc/source/filter/xml/xmlcoli.cxx b/sc/source/filter/xml/xmlcoli.cxx
index fc02691b867a..2096af6565f2 100644
--- a/sc/source/filter/xml/xmlcoli.cxx
+++ b/sc/source/filter/xml/xmlcoli.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: xmlcoli.cxx,v $
*
- * $Revision: 1.4 $
+ * $Revision: 1.5 $
*
- * last change: $Author: dr $ $Date: 2000-11-03 16:34:36 $
+ * last change: $Author: sab $ $Date: 2000-11-10 17:52:59 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -187,56 +187,43 @@ SvXMLImportContext *ScXMLTableColContext::CreateChildContext( USHORT nPrefix,
void ScXMLTableColContext::EndElement()
{
ScXMLImport& rXMLImport = GetScImport();
- sal_Int16 nSheet = rXMLImport.GetTables().GetCurrentSheet();
+ //sal_Int16 nSheet = rXMLImport.GetTables().GetCurrentSheet();
sal_Int32 nCurrentColumn = rXMLImport.GetTables().GetCurrentColumn();
- uno::Reference <sheet::XSpreadsheetDocument> xSheetsDocument (rXMLImport.GetModel(), uno::UNO_QUERY);
- if(xSheetsDocument.is())
+ uno::Reference<sheet::XSpreadsheet> xSheet = rXMLImport.GetTables().GetCurrentXSheet();
+ if(xSheet.is())
{
- uno::Reference<sheet::XSpreadsheets> xSheets = xSheetsDocument->getSheets();
- if (xSheets.is())
+ uno::Reference<table::XColumnRowRange> xColumnRowRange (xSheet, uno::UNO_QUERY);
+ if (xColumnRowRange.is())
{
- uno::Reference<container::XIndexAccess> xIndex(xSheets, uno::UNO_QUERY);
- if (xIndex.is())
+ uno::Reference<table::XTableColumns> xTableColumns = xColumnRowRange->getColumns();
+ if (xTableColumns.is())
{
- uno::Any aSheet = xIndex->getByIndex(nSheet);
- uno::Reference<sheet::XSpreadsheet> xSheet;
- if(aSheet >>= xSheet)
+ for (sal_Int32 i = 0; i < nColCount; i++)
{
- uno::Reference<table::XColumnRowRange> xColumnRowRange (xSheet, uno::UNO_QUERY);
- if (xColumnRowRange.is())
+ uno::Any aColumn = xTableColumns->getByIndex(i + nCurrentColumn);
+ uno::Reference<table::XCellRange> xTableColumn;
+ if (aColumn >>= xTableColumn)
{
- uno::Reference<table::XTableColumns> xTableColumns = xColumnRowRange->getColumns();
- if (xTableColumns.is())
+ uno::Reference <beans::XPropertySet> xColumnProperties(xTableColumn, uno::UNO_QUERY);
+ if (xColumnProperties.is())
{
- for (sal_Int32 i = 0; i < nColCount; i++)
+ XMLTableStylesContext *pStyles = (XMLTableStylesContext *)&rXMLImport.GetAutoStyles();
+ XMLTableStyleContext* pStyle = (XMLTableStyleContext *)pStyles->FindStyleChildContext(
+ XML_STYLE_FAMILY_TABLE_COLUMN, sStyleName, sal_True);
+ if (pStyle)
{
- uno::Any aColumn = xTableColumns->getByIndex(i + nCurrentColumn);
- uno::Reference<table::XCellRange> xTableColumn;
- if (aColumn >>= xTableColumn)
- {
- uno::Reference <beans::XPropertySet> xColumnProperties(xTableColumn, uno::UNO_QUERY);
- if (xColumnProperties.is())
- {
- XMLTableStylesContext *pStyles = (XMLTableStylesContext *)&rXMLImport.GetAutoStyles();
- XMLTableStyleContext* pStyle = (XMLTableStyleContext *)pStyles->FindStyleChildContext(
- XML_STYLE_FAMILY_TABLE_COLUMN, sStyleName, sal_True);
- if (pStyle)
- {
- pStyle->FillPropertySet(xColumnProperties);
- }
- uno::Any aAny = xColumnProperties->getPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_CELLVIS)));
- if (sVisibility.compareToAscii(sXML_visible) == 0)
- {
- sal_Bool bValue = sal_True;
- aAny <<= bValue;
- }
- else
- {
- sal_Bool bValue = sal_False;
- aAny <<= bValue;
- }
- }
- }
+ pStyle->FillPropertySet(xColumnProperties);
+ }
+ uno::Any aAny = xColumnProperties->getPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_CELLVIS)));
+ if (sVisibility.compareToAscii(sXML_visible) == 0)
+ {
+ sal_Bool bValue = sal_True;
+ aAny <<= bValue;
+ }
+ else
+ {
+ sal_Bool bValue = sal_False;
+ aAny <<= bValue;
}
}
}
@@ -333,45 +320,31 @@ SvXMLImportContext *ScXMLTableColsContext::CreateChildContext( USHORT nPrefix,
void ScXMLTableColsContext::EndElement()
{
ScXMLImport& rXMLImport = GetScImport();
- sal_Int16 nSheet = rXMLImport.GetTables().GetCurrentSheet();
if (bHeader)
{
nHeaderEndCol = rXMLImport.GetTables().GetCurrentColumn();
nHeaderEndCol--;
if (nHeaderStartCol <= nHeaderEndCol)
{
- uno::Reference <sheet::XSpreadsheetDocument> xSheetsDocument (rXMLImport.GetModel(), uno::UNO_QUERY);
- if(xSheetsDocument.is())
+ uno::Reference<sheet::XSpreadsheet> xSheet = rXMLImport.GetTables().GetCurrentXSheet();
+ if(xSheet.is())
{
- uno::Reference<sheet::XSpreadsheets> xSheets = xSheetsDocument->getSheets();
- if (xSheets.is())
+ uno::Reference <sheet::XPrintAreas> xPrintAreas (xSheet, uno::UNO_QUERY);
+ if (xPrintAreas.is())
{
- uno::Reference<container::XIndexAccess> xIndex(xSheets, uno::UNO_QUERY);
- if (xIndex.is())
+ if (!xPrintAreas->getPrintTitleColumns())
{
- uno::Any aSheet = xIndex->getByIndex(nSheet);
- uno::Reference<sheet::XSpreadsheet> xSheet;
- if(aSheet >>= xSheet)
- {
- uno::Reference <sheet::XPrintAreas> xPrintAreas (xSheet, uno::UNO_QUERY);
- if (xPrintAreas.is())
- {
- if (!xPrintAreas->getPrintTitleColumns())
- {
- xPrintAreas->setPrintTitleColumns(sal_True);
- table::CellRangeAddress aColumnHeaderRange;
- aColumnHeaderRange.StartColumn = nHeaderStartCol;
- aColumnHeaderRange.EndColumn = nHeaderEndCol;
- xPrintAreas->setTitleColumns(aColumnHeaderRange);
- }
- else
- {
- table::CellRangeAddress aColumnHeaderRange = xPrintAreas->getTitleColumns();
- aColumnHeaderRange.EndColumn = nHeaderEndCol;
- xPrintAreas->setTitleColumns(aColumnHeaderRange);
- }
- }
- }
+ xPrintAreas->setPrintTitleColumns(sal_True);
+ table::CellRangeAddress aColumnHeaderRange;
+ aColumnHeaderRange.StartColumn = nHeaderStartCol;
+ aColumnHeaderRange.EndColumn = nHeaderEndCol;
+ xPrintAreas->setTitleColumns(aColumnHeaderRange);
+ }
+ else
+ {
+ table::CellRangeAddress aColumnHeaderRange = xPrintAreas->getTitleColumns();
+ aColumnHeaderRange.EndColumn = nHeaderEndCol;
+ xPrintAreas->setTitleColumns(aColumnHeaderRange);
}
}
}
@@ -379,6 +352,7 @@ void ScXMLTableColsContext::EndElement()
}
else if (bGroup)
{
+ sal_Int16 nSheet = rXMLImport.GetTables().GetCurrentSheet();
nGroupEndCol = rXMLImport.GetTables().GetCurrentColumn();
nGroupEndCol--;
if (nGroupStartCol <= nGroupEndCol)