summaryrefslogtreecommitdiff
path: root/xmloff/source/chart/transporttypes.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'xmloff/source/chart/transporttypes.hxx')
-rw-r--r--xmloff/source/chart/transporttypes.hxx202
1 files changed, 202 insertions, 0 deletions
diff --git a/xmloff/source/chart/transporttypes.hxx b/xmloff/source/chart/transporttypes.hxx
new file mode 100644
index 000000000000..213f97590c9d
--- /dev/null
+++ b/xmloff/source/chart/transporttypes.hxx
@@ -0,0 +1,202 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef SCH_XML_TRANSPORTTYPES_HXX_
+#define SCH_XML_TRANSPORTTYPES_HXX_
+
+#include <com/sun/star/chart2/XDataSeries.hpp>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.hpp>
+
+#include <vector>
+#include <map>
+
+enum SchXMLCellType
+{
+ SCH_CELL_TYPE_UNKNOWN,
+ SCH_CELL_TYPE_FLOAT,
+ SCH_CELL_TYPE_STRING
+};
+
+struct SchXMLCell
+{
+ rtl::OUString aString;
+ double fValue;
+ SchXMLCellType eType;
+ rtl::OUString aRangeId;
+
+ SchXMLCell() : fValue( 0.0 ), eType( SCH_CELL_TYPE_UNKNOWN ) {}
+};
+
+struct SchXMLTable
+{
+ std::vector< std::vector< SchXMLCell > > aData; /// an array of rows containing the table contents
+
+ sal_Int32 nRowIndex; /// reflects the index of the row currently parsed
+ sal_Int32 nColumnIndex; /// reflects the index of the column currently parsed
+ sal_Int32 nMaxColumnIndex; /// the greatest number of columns detected
+
+ sal_Int32 nNumberOfColsEstimate; /// parsing column-elements may yield an estimate
+
+ bool bHasHeaderRow;
+ bool bHasHeaderColumn;
+
+ ::rtl::OUString aTableNameOfFile; /// the table name read at the table:table element
+
+ ::std::vector< sal_Int32 > aHiddenColumns;
+
+ SchXMLTable() : nRowIndex( -1 ),
+ nColumnIndex( -1 ),
+ nMaxColumnIndex( -1 ),
+ nNumberOfColsEstimate( 0 ),
+ bHasHeaderRow( false ),
+ bHasHeaderColumn( false )
+ {}
+};
+
+typedef sal_Int32 tSchXMLIndex;
+#define SCH_XML_CATEGORIES_INDEX (static_cast<tSchXMLIndex>(-1))
+enum SchXMLLabeledSequencePart
+{
+ SCH_XML_PART_LABEL,
+ SCH_XML_PART_VALUES,
+ SCH_XML_PART_ERROR_BARS
+};
+typedef ::std::pair< tSchXMLIndex, SchXMLLabeledSequencePart > tSchXMLIndexWithPart;
+typedef ::std::multimap< tSchXMLIndexWithPart,
+ ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XLabeledDataSequence > >
+ tSchXMLLSequencesPerIndex;
+
+bool operator < ( const tSchXMLIndexWithPart & rFirst, const tSchXMLIndexWithPart & rSecond );
+
+// ----------------------------------------
+
+struct SchNumericCellRangeAddress
+{
+ sal_Int32 nRow1, nRow2;
+ sal_Int32 nCol1, nCol2;
+
+ SchNumericCellRangeAddress() :
+ nRow1( -1 ), nRow2( -1 ),
+ nCol1( -1 ), nCol2( -1 )
+ {}
+
+ SchNumericCellRangeAddress( const SchNumericCellRangeAddress& aOther )
+ {
+ nRow1 = aOther.nRow1; nRow2 = aOther.nRow2;
+ nCol1 = aOther.nCol1; nCol2 = aOther.nCol2;
+ }
+};
+
+// ----------------------------------------
+
+enum SchXMLAxisClass
+{
+ SCH_XML_AXIS_X = 0,
+ SCH_XML_AXIS_Y,
+ SCH_XML_AXIS_Z,
+ SCH_XML_AXIS_UNDEF
+};
+
+struct SchXMLAxis
+{
+ enum SchXMLAxisClass eClass;
+ sal_Int8 nIndexInCategory;
+ rtl::OUString aName;
+ rtl::OUString aTitle;
+ bool bHasCategories;
+
+ SchXMLAxis() : eClass( SCH_XML_AXIS_UNDEF ), nIndexInCategory( 0 ), bHasCategories( false ) {}
+};
+
+// ----------------------------------------
+
+struct GlobalSeriesImportInfo
+{
+ GlobalSeriesImportInfo( sal_Bool& rAllRangeAddressesAvailable )
+ : rbAllRangeAddressesAvailable( rAllRangeAddressesAvailable )
+ , nCurrentDataIndex( 0 )
+ , nFirstFirstDomainIndex( -1 )
+ , nFirstSecondDomainIndex( -1 )
+ {}
+
+ sal_Bool& rbAllRangeAddressesAvailable;
+
+ sal_Int32 nCurrentDataIndex;
+
+ ::rtl::OUString aFirstFirstDomainAddress;
+ sal_Int32 nFirstFirstDomainIndex;
+
+ ::rtl::OUString aFirstSecondDomainAddress;
+ sal_Int32 nFirstSecondDomainIndex;
+};
+
+struct DataRowPointStyle
+{
+ enum StyleType
+ {
+ DATA_POINT,
+ DATA_SERIES,
+ MEAN_VALUE,
+ REGRESSION,
+ ERROR_INDICATOR
+ };
+
+ StyleType meType;
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::chart2::XDataSeries > m_xSeries;
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertySet > m_xOldAPISeries;
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertySet > m_xEquationProperties;
+ sal_Int32 m_nPointIndex;
+ sal_Int32 m_nPointRepeat;
+ ::rtl::OUString msStyleName;
+ ::rtl::OUString msSeriesStyleNameForDonuts;
+ sal_Int32 mnAttachedAxis;
+ bool mbSymbolSizeForSeriesIsMissingInFile;
+
+ DataRowPointStyle( StyleType eType
+ , const ::com::sun::star::uno::Reference<
+ ::com::sun::star::chart2::XDataSeries >& xSeries
+ , sal_Int32 nPointIndex
+ , sal_Int32 nPointRepeat
+ , ::rtl::OUString sStyleName
+ , sal_Int32 nAttachedAxis = 0 ) :
+ meType( eType ),
+ m_xSeries( xSeries ),
+ m_xOldAPISeries( 0 ),
+ m_nPointIndex( nPointIndex ),
+ m_nPointRepeat( nPointRepeat ),
+ msStyleName( sStyleName ),
+ mnAttachedAxis( nAttachedAxis ),
+ mbSymbolSizeForSeriesIsMissingInFile( false )
+ {}
+};
+
+typedef ::std::multimap< ::rtl::OUString, ::com::sun::star::uno::Reference<
+ ::com::sun::star::chart2::data::XDataSequence > > tSchXMLRangeSequenceMap;
+
+#endif // SCH_XML_TRANSPORTTYPES_HXX_