[Libreoffice-commits] .: Branch 'feature/calc-key-binding-compat' - 33 commits - chart2/inc chart2/source chart2/workbench scaddins/source sccomp/source sc/inc sc/sdi sc/source sc/uiconfig sc/util sc/workben
Kohei Yoshida
kohei at kemper.freedesktop.org
Wed Oct 13 20:22:51 PDT 2010
chart2/inc/pch/precompiled_chart2.cxx | 2
chart2/source/controller/accessibility/AccStatisticsObject.cxx | 3
chart2/source/controller/accessibility/AccessibleBase.cxx | 3
chart2/source/controller/accessibility/AccessibleChartElement.cxx | 3
chart2/source/controller/accessibility/AccessibleChartShape.cxx | 3
chart2/source/controller/accessibility/AccessibleChartView.cxx | 3
chart2/source/controller/accessibility/AccessibleTextHelper.cxx | 3
chart2/source/controller/accessibility/AccessibleViewForwarder.cxx | 3
chart2/source/controller/accessibility/ChartElementFactory.cxx | 3
chart2/source/controller/chartapiwrapper/AreaWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/AxisWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx | 3
chart2/source/controller/chartapiwrapper/ChartDataWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/DataSeriesPointWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/GridWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/LegendWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/MinMaxLineWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/TitleWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/UpDownBarWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/WallFloorWrapper.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedAddInProperty.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedAutomaticPositionProperties.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedAxisAndGridExistenceProperties.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedCharacterHeightProperty.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedDataCaptionProperties.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedGapwidthProperty.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedNumberFormatProperty.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedScaleProperty.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedScaleTextProperties.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedSceneProperty.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedSeriesAreaOrLineProperty.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedSplineProperties.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedStatisticProperties.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedStockProperties.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedSymbolProperties.cxx | 3
chart2/source/controller/chartapiwrapper/WrappedTextRotationProperty.cxx | 3
chart2/source/controller/dialogs/ChangingResource.cxx | 3
chart2/source/controller/dialogs/ChartTypeDialogController.cxx | 3
chart2/source/controller/dialogs/DataBrowser.cxx | 3
chart2/source/controller/dialogs/DataBrowserModel.cxx | 3
chart2/source/controller/dialogs/DialogModel.cxx | 3
chart2/source/controller/dialogs/ObjectNameProvider.cxx | 3
chart2/source/controller/dialogs/RangeEdit.cxx | 3
chart2/source/controller/dialogs/RangeSelectionButton.cxx | 3
chart2/source/controller/dialogs/RangeSelectionHelper.cxx | 3
chart2/source/controller/dialogs/RangeSelectionListener.cxx | 3
chart2/source/controller/dialogs/TextDirectionListBox.cxx | 2
chart2/source/controller/dialogs/TimerTriggeredControllerLock.cxx | 3
chart2/source/controller/dialogs/TitleDialogData.cxx | 3
chart2/source/controller/dialogs/dlg_ChartType.cxx | 3
chart2/source/controller/dialogs/dlg_ChartType_UNO.cxx | 3
chart2/source/controller/dialogs/dlg_CreationWizard.cxx | 3
chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx | 3
chart2/source/controller/dialogs/dlg_DataEditor.cxx | 3
chart2/source/controller/dialogs/dlg_DataSource.cxx | 3
chart2/source/controller/dialogs/dlg_InsertAxis_Grid.cxx | 2
chart2/source/controller/dialogs/dlg_InsertDataLabel.cxx | 2
chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx | 3
chart2/source/controller/dialogs/dlg_InsertLegend.cxx | 3
chart2/source/controller/dialogs/dlg_InsertTitle.cxx | 2
chart2/source/controller/dialogs/dlg_InsertTrendline.cxx | 3
chart2/source/controller/dialogs/dlg_NumberFormat.cxx | 3
chart2/source/controller/dialogs/dlg_ObjectProperties.cxx | 3
chart2/source/controller/dialogs/dlg_ShapeFont.cxx | 3
chart2/source/controller/dialogs/dlg_ShapeParagraph.cxx | 3
chart2/source/controller/dialogs/dlg_View3D.cxx | 3
chart2/source/controller/dialogs/res_BarGeometry.cxx | 2
chart2/source/controller/dialogs/res_DataLabel.cxx | 3
chart2/source/controller/dialogs/res_ErrorBar.cxx | 3
chart2/source/controller/dialogs/res_LegendPosition.cxx | 2
chart2/source/controller/dialogs/res_TextSeparator.cxx | 2
chart2/source/controller/dialogs/res_Titles.cxx | 2
chart2/source/controller/dialogs/res_Trendline.cxx | 3
chart2/source/controller/dialogs/tp_3D_SceneAppearance.cxx | 3
chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx | 3
chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx | 3
chart2/source/controller/dialogs/tp_AxisLabel.cxx | 3
chart2/source/controller/dialogs/tp_AxisPositions.cxx | 3
chart2/source/controller/dialogs/tp_ChartType.cxx | 3
chart2/source/controller/dialogs/tp_DataLabel.cxx | 3
chart2/source/controller/dialogs/tp_DataSource.cxx | 3
chart2/source/controller/dialogs/tp_DataSourceControls.cxx | 3
chart2/source/controller/dialogs/tp_ErrorBars.cxx | 3
chart2/source/controller/dialogs/tp_LegendPosition.cxx | 3
chart2/source/controller/dialogs/tp_Location.cxx | 3
chart2/source/controller/dialogs/tp_PointGeometry.cxx | 3
chart2/source/controller/dialogs/tp_PolarOptions.cxx | 3
chart2/source/controller/dialogs/tp_RangeChooser.cxx | 3
chart2/source/controller/dialogs/tp_Scale.cxx | 3
chart2/source/controller/dialogs/tp_SeriesToAxis.cxx | 3
chart2/source/controller/dialogs/tp_TitleRotation.cxx | 2
chart2/source/controller/dialogs/tp_Trendline.cxx | 3
chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.cxx | 3
chart2/source/controller/drawinglayer/DrawViewWrapper.cxx | 3
chart2/source/controller/drawinglayer/ViewElementListProvider.cxx | 3
chart2/source/controller/itemsetwrapper/AxisItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/CharacterPropertyItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/ErrorBarItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/GraphicPropertyItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/ItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/LegendItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/MultipleChartConverters.cxx | 3
chart2/source/controller/itemsetwrapper/MultipleItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/RegressionCurveItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/RegressionEquationItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/SeriesOptionsItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/StatisticsItemConverter.cxx | 3
chart2/source/controller/itemsetwrapper/TitleItemConverter.cxx | 3
chart2/source/controller/main/ChartController.cxx | 3
chart2/source/controller/main/ChartController_EditData.cxx | 3
chart2/source/controller/main/ChartController_Insert.cxx | 3
chart2/source/controller/main/ChartController_Position.cxx | 3
chart2/source/controller/main/ChartController_Properties.cxx | 3
chart2/source/controller/main/ChartController_TextEdit.cxx | 3
chart2/source/controller/main/ChartController_Tools.cxx | 3
chart2/source/controller/main/ChartController_Window.cxx | 3
chart2/source/controller/main/ChartDropTargetHelper.cxx | 3
chart2/source/controller/main/ChartFrameloader.cxx | 3
chart2/source/controller/main/ChartRenderer.cxx | 3
chart2/source/controller/main/ChartTransferable.cxx | 3
chart2/source/controller/main/ChartWindow.cxx | 3
chart2/source/controller/main/CommandDispatch.cxx | 3
chart2/source/controller/main/CommandDispatchContainer.cxx | 3
chart2/source/controller/main/ConfigurationAccess.cxx | 3
chart2/source/controller/main/ControllerCommandDispatch.cxx | 3
chart2/source/controller/main/DragMethod_Base.cxx | 3
chart2/source/controller/main/DragMethod_PieSegment.cxx | 3
chart2/source/controller/main/DragMethod_RotateDiagram.cxx | 3
chart2/source/controller/main/DrawCommandDispatch.cxx | 3
chart2/source/controller/main/ElementSelector.cxx | 3
chart2/source/controller/main/FeatureCommandDispatchBase.cxx | 3
chart2/source/controller/main/ImplUndoManager.cxx | 3
chart2/source/controller/main/ObjectHierarchy.cxx | 3
chart2/source/controller/main/PositionAndSizeHelper.cxx | 3
chart2/source/controller/main/SelectionHelper.cxx | 3
chart2/source/controller/main/ShapeController.cxx | 3
chart2/source/controller/main/ShapeToolbarController.cxx | 3
chart2/source/controller/main/StatusBarCommandDispatch.cxx | 3
chart2/source/controller/main/UndoCommandDispatch.cxx | 3
chart2/source/controller/main/UndoGuard.cxx | 3
chart2/source/controller/main/UndoManager.cxx | 3
chart2/source/controller/main/_serviceregistration_controller.cxx | 3
chart2/source/model/filter/XMLFilter.cxx | 3
chart2/source/model/main/Axis.cxx | 3
chart2/source/model/main/BaseCoordinateSystem.cxx | 3
chart2/source/model/main/CartesianCoordinateSystem.cxx | 3
chart2/source/model/main/ChartModel.cxx | 3
chart2/source/model/main/ChartModel_Persistence.cxx | 3
chart2/source/model/main/DataPoint.cxx | 3
chart2/source/model/main/DataPointProperties.cxx | 3
chart2/source/model/main/DataSeries.cxx | 3
chart2/source/model/main/DataSeriesProperties.cxx | 3
chart2/source/model/main/Diagram.cxx | 3
chart2/source/model/main/FormattedString.cxx | 3
chart2/source/model/main/GridProperties.cxx | 3
chart2/source/model/main/LayoutContainer.cxx | 3
chart2/source/model/main/Legend.cxx | 3
chart2/source/model/main/PageBackground.cxx | 3
chart2/source/model/main/PolarCoordinateSystem.cxx | 3
chart2/source/model/main/StockBar.cxx | 3
chart2/source/model/main/Title.cxx | 3
chart2/source/model/main/Wall.cxx | 3
chart2/source/model/main/_serviceregistration_model.cxx | 3
chart2/source/model/template/AreaChartType.cxx | 3
chart2/source/model/template/AreaChartTypeTemplate.cxx | 3
chart2/source/model/template/BarChartType.cxx | 3
chart2/source/model/template/BarChartTypeTemplate.cxx | 3
chart2/source/model/template/BubbleChartType.cxx | 3
chart2/source/model/template/BubbleChartTypeTemplate.cxx | 3
chart2/source/model/template/BubbleDataInterpreter.cxx | 3
chart2/source/model/template/CandleStickChartType.cxx | 3
chart2/source/model/template/ChartType.cxx | 3
chart2/source/model/template/ChartTypeManager.cxx | 3
chart2/source/model/template/ChartTypeTemplate.cxx | 3
chart2/source/model/template/ColumnChartType.cxx | 3
chart2/source/model/template/ColumnLineChartTypeTemplate.cxx | 3
chart2/source/model/template/ColumnLineDataInterpreter.cxx | 3
chart2/source/model/template/DataInterpreter.cxx | 3
chart2/source/model/template/FilledNetChartType.cxx | 3
chart2/source/model/template/LineChartType.cxx | 3
chart2/source/model/template/LineChartTypeTemplate.cxx | 3
chart2/source/model/template/NetChartType.cxx | 3
chart2/source/model/template/NetChartTypeTemplate.cxx | 3
chart2/source/model/template/PieChartType.cxx | 3
chart2/source/model/template/PieChartTypeTemplate.cxx | 3
chart2/source/model/template/ScatterChartType.cxx | 3
chart2/source/model/template/ScatterChartTypeTemplate.cxx | 3
chart2/source/model/template/StockChartTypeTemplate.cxx | 3
chart2/source/model/template/StockDataInterpreter.cxx | 3
chart2/source/model/template/XYDataInterpreter.cxx | 3
chart2/source/model/template/_serviceregistration_charttypes.cxx | 3
chart2/source/tools/AxisHelper.cxx | 3
chart2/source/tools/BaseGFXHelper.cxx | 3
chart2/source/tools/CachedDataSequence.cxx | 3
chart2/source/tools/CharacterProperties.cxx | 3
chart2/source/tools/ChartDebugTrace.cxx | 3
chart2/source/tools/ChartModelHelper.cxx | 3
chart2/source/tools/ChartTypeHelper.cxx | 3
chart2/source/tools/ChartViewHelper.cxx | 3
chart2/source/tools/ColorPerPointHelper.cxx | 3
chart2/source/tools/CommonConverters.cxx | 3
chart2/source/tools/ConfigColorScheme.cxx | 3
chart2/source/tools/ControllerLockGuard.cxx | 3
chart2/source/tools/DataSeriesHelper.cxx | 3
chart2/source/tools/DataSource.cxx | 3
chart2/source/tools/DataSourceHelper.cxx | 3
chart2/source/tools/DiagramHelper.cxx | 3
chart2/source/tools/ErrorBar.cxx | 3
chart2/source/tools/ExplicitCategoriesProvider.cxx | 3
chart2/source/tools/ExponentialRegressionCurveCalculator.cxx | 3
chart2/source/tools/FillProperties.cxx | 3
chart2/source/tools/FormattedStringHelper.cxx | 2
chart2/source/tools/ImplOPropertySet.cxx | 3
chart2/source/tools/InternalData.cxx | 3
chart2/source/tools/InternalDataProvider.cxx | 3
chart2/source/tools/LabeledDataSequence.cxx | 3
chart2/source/tools/LegendHelper.cxx | 2
chart2/source/tools/LifeTime.cxx | 3
chart2/source/tools/LineProperties.cxx | 3
chart2/source/tools/LinearRegressionCurveCalculator.cxx | 3
chart2/source/tools/LogarithmicRegressionCurveCalculator.cxx | 3
chart2/source/tools/MeanValueRegressionCurveCalculator.cxx | 3
chart2/source/tools/MediaDescriptorHelper.cxx | 3
chart2/source/tools/ModifyListenerCallBack.cxx | 2
chart2/source/tools/ModifyListenerHelper.cxx | 3
chart2/source/tools/MutexContainer.cxx | 3
chart2/source/tools/NameContainer.cxx | 3
chart2/source/tools/NamedFillProperties.cxx | 3
chart2/source/tools/NamedLineProperties.cxx | 3
chart2/source/tools/NamedProperties.cxx | 3
chart2/source/tools/OPropertySet.cxx | 3
chart2/source/tools/ObjectIdentifier.cxx | 3
chart2/source/tools/PotentialRegressionCurveCalculator.cxx | 3
chart2/source/tools/PropertyHelper.cxx | 3
chart2/source/tools/RangeHighlighter.cxx | 3
chart2/source/tools/ReferenceSizeProvider.cxx | 3
chart2/source/tools/RegressionCurveCalculator.cxx | 3
chart2/source/tools/RegressionCurveHelper.cxx | 3
chart2/source/tools/RegressionCurveModel.cxx | 3
chart2/source/tools/RegressionEquation.cxx | 3
chart2/source/tools/RelativePositionHelper.cxx | 3
chart2/source/tools/RelativeSizeHelper.cxx | 3
chart2/source/tools/ResId.cxx | 3
chart2/source/tools/RessourceManager.cxx | 3
chart2/source/tools/Scaling.cxx | 3
chart2/source/tools/SceneProperties.cxx | 3
chart2/source/tools/StatisticsHelper.cxx | 3
chart2/source/tools/ThreeDHelper.cxx | 3
chart2/source/tools/TitleHelper.cxx | 2
chart2/source/tools/TrueGuard.cxx | 3
chart2/source/tools/UncachedDataSequence.cxx | 3
chart2/source/tools/UserDefinedProperties.cxx | 3
chart2/source/tools/WeakListenerAdapter.cxx | 3
chart2/source/tools/WrappedDefaultProperty.cxx | 3
chart2/source/tools/WrappedDirectStateProperty.cxx | 3
chart2/source/tools/WrappedIgnoreProperty.cxx | 3
chart2/source/tools/WrappedProperty.cxx | 3
chart2/source/tools/WrappedPropertySet.cxx | 3
chart2/source/tools/XMLRangeHelper.cxx | 3
chart2/source/tools/_serviceregistration_tools.cxx | 3
chart2/source/view/axes/MinimumAndMaximumSupplier.cxx | 3
chart2/source/view/axes/ScaleAutomatism.cxx | 3
chart2/source/view/axes/TickmarkHelper.cxx | 3
chart2/source/view/axes/VAxisBase.cxx | 3
chart2/source/view/axes/VAxisOrGridBase.cxx | 3
chart2/source/view/axes/VAxisProperties.cxx | 3
chart2/source/view/axes/VCartesianAxis.cxx | 3
chart2/source/view/axes/VCartesianCoordinateSystem.cxx | 3
chart2/source/view/axes/VCartesianGrid.cxx | 3
chart2/source/view/axes/VCoordinateSystem.cxx | 3
chart2/source/view/axes/VPolarAngleAxis.cxx | 3
chart2/source/view/axes/VPolarAxis.cxx | 3
chart2/source/view/axes/VPolarCoordinateSystem.cxx | 3
chart2/source/view/axes/VPolarGrid.cxx | 3
chart2/source/view/axes/VPolarRadiusAxis.cxx | 3
chart2/source/view/charttypes/AreaChart.cxx | 3
chart2/source/view/charttypes/BarChart.cxx | 3
chart2/source/view/charttypes/BarPositionHelper.cxx | 3
chart2/source/view/charttypes/BubbleChart.cxx | 3
chart2/source/view/charttypes/CandleStickChart.cxx | 3
chart2/source/view/charttypes/CategoryPositionHelper.cxx | 3
chart2/source/view/charttypes/PieChart.cxx | 3
chart2/source/view/charttypes/Splines.cxx | 2
chart2/source/view/charttypes/VSeriesPlotter.cxx | 3
chart2/source/view/diagram/VDiagram.cxx | 2
chart2/source/view/main/ChartItemPool.cxx | 3
chart2/source/view/main/ChartView.cxx | 3
chart2/source/view/main/Clipping.cxx | 3
chart2/source/view/main/DataPointSymbolSupplier.cxx | 3
chart2/source/view/main/DrawModelWrapper.cxx | 3
chart2/source/view/main/LabelPositionHelper.cxx | 3
chart2/source/view/main/Linear3DTransformation.cxx | 3
chart2/source/view/main/NumberFormatterWrapper.cxx | 3
chart2/source/view/main/PlotterBase.cxx | 3
chart2/source/view/main/PlottingPositionHelper.cxx | 3
chart2/source/view/main/PolarLabelPositionHelper.cxx | 3
chart2/source/view/main/PropertyMapper.cxx | 3
chart2/source/view/main/ShapeFactory.cxx | 3
chart2/source/view/main/Stripe.cxx | 3
chart2/source/view/main/VDataSeries.cxx | 3
chart2/source/view/main/VLegend.cxx | 3
chart2/source/view/main/VLegendSymbolFactory.cxx | 3
chart2/source/view/main/VLineProperties.cxx | 3
chart2/source/view/main/VPolarTransformation.cxx | 3
chart2/source/view/main/VTitle.cxx | 3
chart2/source/view/main/_serviceregistration_view.cxx | 3
chart2/workbench/addin/sampleaddin.cxx | 3
sc/inc/address.hxx | 3
sc/inc/addruno.hxx | 2
sc/inc/appoptio.hxx | 5
sc/inc/cell.hxx | 2
sc/inc/document.hxx | 17
sc/inc/global.hxx | 1
sc/inc/globstr.hrc | 19
sc/inc/macromgr.hxx | 69
sc/inc/pch/precompiled_sc.cxx | 3
sc/inc/rangenam.hxx | 2
sc/inc/sc.hrc | 6
sc/inc/scabstdlg.hxx | 13
sc/inc/scmod.hxx | 4
sc/inc/shapeuno.hxx | 2
sc/inc/table.hxx | 3
sc/inc/unonames.hxx | 4
sc/inc/userdat.hxx | 4
sc/inc/viewuno.hxx | 8
sc/sdi/cellsh.sdi | 1
sc/sdi/drawsh.sdi | 6
sc/sdi/scalc.sdi | 115
sc/source/core/data/attarray.cxx | 2
sc/source/core/data/attrib.cxx | 2
sc/source/core/data/autonamecache.cxx | 2
sc/source/core/data/bcaslot.cxx | 3
sc/source/core/data/cell.cxx | 49
sc/source/core/data/cell2.cxx | 2
sc/source/core/data/clipparam.cxx | 3
sc/source/core/data/column.cxx | 2
sc/source/core/data/column2.cxx | 2
sc/source/core/data/column3.cxx | 17
sc/source/core/data/compressedarray.cxx | 3
sc/source/core/data/conditio.cxx | 3
sc/source/core/data/dbdocutl.cxx | 2
sc/source/core/data/dociter.cxx | 3
sc/source/core/data/docparam.cxx | 3
sc/source/core/data/docpool.cxx | 2
sc/source/core/data/documen2.cxx | 5
sc/source/core/data/documen3.cxx | 3
sc/source/core/data/documen4.cxx | 2
sc/source/core/data/documen5.cxx | 2
sc/source/core/data/documen6.cxx | 2
sc/source/core/data/documen7.cxx | 2
sc/source/core/data/documen8.cxx | 10
sc/source/core/data/documen9.cxx | 2
sc/source/core/data/document.cxx | 81
sc/source/core/data/dpcachetable.cxx | 3
sc/source/core/data/dpdimsave.cxx | 2
sc/source/core/data/dpglobal.cxx | 2
sc/source/core/data/dpgroup.cxx | 2
sc/source/core/data/dpobject.cxx | 2
sc/source/core/data/dpoutput.cxx | 2
sc/source/core/data/dpoutputgeometry.cxx | 3
sc/source/core/data/dpsave.cxx | 2
sc/source/core/data/dpsdbtab.cxx | 2
sc/source/core/data/dpshttab.cxx | 2
sc/source/core/data/dptabdat.cxx | 3
sc/source/core/data/dptablecache.cxx | 3
sc/source/core/data/dptabres.cxx | 3
sc/source/core/data/dptabsrc.cxx | 2
sc/source/core/data/drawpage.cxx | 2
sc/source/core/data/drwlayer.cxx | 3
sc/source/core/data/fillinfo.cxx | 2
sc/source/core/data/global.cxx | 2
sc/source/core/data/global2.cxx | 2
sc/source/core/data/globalx.cxx | 3
sc/source/core/data/markarr.cxx | 2
sc/source/core/data/markdata.cxx | 2
sc/source/core/data/olinetab.cxx | 2
sc/source/core/data/pagepar.cxx | 3
sc/source/core/data/patattr.cxx | 2
sc/source/core/data/pivot2.cxx | 2
sc/source/core/data/poolhelp.cxx | 2
sc/source/core/data/postit.cxx | 3
sc/source/core/data/scdpoutputimpl.cxx | 3
sc/source/core/data/segmenttree.cxx | 2
sc/source/core/data/sheetevents.cxx | 2
sc/source/core/data/sortparam.cxx | 2
sc/source/core/data/stlpool.cxx | 2
sc/source/core/data/stlsheet.cxx | 2
sc/source/core/data/tabbgcolor.cxx | 3
sc/source/core/data/table1.cxx | 2
sc/source/core/data/table2.cxx | 2
sc/source/core/data/table3.cxx | 2
sc/source/core/data/table4.cxx | 2
sc/source/core/data/table5.cxx | 2
sc/source/core/data/table6.cxx | 3
sc/source/core/data/tabprotection.cxx | 2
sc/source/core/data/userdat.cxx | 2
sc/source/core/data/validat.cxx | 2
sc/source/core/inc/interpre.hxx | 11
sc/source/core/tool/addincfg.cxx | 2
sc/source/core/tool/addincol.cxx | 2
sc/source/core/tool/addinhelpid.cxx | 2
sc/source/core/tool/addinlis.cxx | 2
sc/source/core/tool/address.cxx | 5
sc/source/core/tool/adiasync.cxx | 2
sc/source/core/tool/appoptio.cxx | 6
sc/source/core/tool/autoform.cxx | 2
sc/source/core/tool/callform.cxx | 2
sc/source/core/tool/cellform.cxx | 2
sc/source/core/tool/cellkeytranslator.cxx | 3
sc/source/core/tool/chartarr.cxx | 2
sc/source/core/tool/charthelper.cxx | 3
sc/source/core/tool/chartlis.cxx | 2
sc/source/core/tool/chartlock.cxx | 3
sc/source/core/tool/chartpos.cxx | 3
sc/source/core/tool/chgtrack.cxx | 3
sc/source/core/tool/chgviset.cxx | 2
sc/source/core/tool/collect.cxx | 2
sc/source/core/tool/compiler.cxx | 3
sc/source/core/tool/consoli.cxx | 2
sc/source/core/tool/dbcolect.cxx | 2
sc/source/core/tool/ddelink.cxx | 2
sc/source/core/tool/detdata.cxx | 2
sc/source/core/tool/detfunc.cxx | 2
sc/source/core/tool/docoptio.cxx | 2
sc/source/core/tool/doubleref.cxx | 2
sc/source/core/tool/editutil.cxx | 3
sc/source/core/tool/filtopt.cxx | 2
sc/source/core/tool/formulaparserpool.cxx | 2
sc/source/core/tool/hints.cxx | 2
sc/source/core/tool/inputopt.cxx | 2
sc/source/core/tool/interpr1.cxx | 16
sc/source/core/tool/interpr2.cxx | 2
sc/source/core/tool/interpr3.cxx | 2
sc/source/core/tool/interpr4.cxx | 137
sc/source/core/tool/interpr5.cxx | 8
sc/source/core/tool/interpr6.cxx | 3
sc/source/core/tool/lookupcache.cxx | 3
sc/source/core/tool/navicfg.cxx | 2
sc/source/core/tool/odffmap.cxx | 3
sc/source/core/tool/optutil.cxx | 2
sc/source/core/tool/parclass.cxx | 2
sc/source/core/tool/printopt.cxx | 2
sc/source/core/tool/prnsave.cxx | 2
sc/source/core/tool/progress.cxx | 2
sc/source/core/tool/queryparam.cxx | 2
sc/source/core/tool/rangelst.cxx | 23
sc/source/core/tool/rangenam.cxx | 2
sc/source/core/tool/rangeseq.cxx | 2
sc/source/core/tool/rangeutl.cxx | 2
sc/source/core/tool/rechead.cxx | 2
sc/source/core/tool/refdata.cxx | 3
sc/source/core/tool/reffind.cxx | 2
sc/source/core/tool/refreshtimer.cxx | 2
sc/source/core/tool/reftokenhelper.cxx | 3
sc/source/core/tool/refupdat.cxx | 2
sc/source/core/tool/scmatrix.cxx | 2
sc/source/core/tool/simplerangelist.cxx | 3
sc/source/core/tool/stringutil.cxx | 3
sc/source/core/tool/subtotal.cxx | 3
sc/source/core/tool/token.cxx | 2
sc/source/core/tool/unitconv.cxx | 2
sc/source/core/tool/userlist.cxx | 2
sc/source/core/tool/viewopti.cxx | 2
sc/source/core/tool/zforauto.cxx | 3
sc/source/filter/dif/difexp.cxx | 2
sc/source/filter/dif/difimp.cxx | 2
sc/source/filter/excel/colrowst.cxx | 2
sc/source/filter/excel/excdoc.cxx | 105
sc/source/filter/excel/excel.cxx | 21
sc/source/filter/excel/excform.cxx | 2
sc/source/filter/excel/excform8.cxx | 2
sc/source/filter/excel/excimp8.cxx | 32
sc/source/filter/excel/excrecds.cxx | 30
sc/source/filter/excel/exctools.cxx | 2
sc/source/filter/excel/expop2.cxx | 72
sc/source/filter/excel/fontbuff.cxx | 2
sc/source/filter/excel/frmbase.cxx | 2
sc/source/filter/excel/impop.cxx | 3
sc/source/filter/excel/makefile.mk | 4
sc/source/filter/excel/namebuff.cxx | 2
sc/source/filter/excel/read.cxx | 71
sc/source/filter/excel/tokstack.cxx | 2
sc/source/filter/excel/xechart.cxx | 2
sc/source/filter/excel/xecontent.cxx | 35
sc/source/filter/excel/xeescher.cxx | 119
sc/source/filter/excel/xeformula.cxx | 2
sc/source/filter/excel/xehelper.cxx | 2
sc/source/filter/excel/xelink.cxx | 2
sc/source/filter/excel/xename.cxx | 4
sc/source/filter/excel/xepage.cxx | 52
sc/source/filter/excel/xepivot.cxx | 151
sc/source/filter/excel/xerecord.cxx | 2
sc/source/filter/excel/xeroot.cxx | 2
sc/source/filter/excel/xestream.cxx | 426 +-
sc/source/filter/excel/xestring.cxx | 8
sc/source/filter/excel/xestyle.cxx | 9
sc/source/filter/excel/xetable.cxx | 213 -
sc/source/filter/excel/xeview.cxx | 2
sc/source/filter/excel/xichart.cxx | 2
sc/source/filter/excel/xicontent.cxx | 2
sc/source/filter/excel/xiescher.cxx | 153
sc/source/filter/excel/xiformula.cxx | 2
sc/source/filter/excel/xihelper.cxx | 2
sc/source/filter/excel/xilink.cxx | 2
sc/source/filter/excel/xiname.cxx | 25
sc/source/filter/excel/xipage.cxx | 2
sc/source/filter/excel/xipivot.cxx | 2
sc/source/filter/excel/xiroot.cxx | 3
sc/source/filter/excel/xistream.cxx | 2
sc/source/filter/excel/xistring.cxx | 2
sc/source/filter/excel/xistyle.cxx | 67
sc/source/filter/excel/xiview.cxx | 2
sc/source/filter/excel/xladdress.cxx | 2
sc/source/filter/excel/xlchart.cxx | 3
sc/source/filter/excel/xlescher.cxx | 5
sc/source/filter/excel/xlformula.cxx | 2
sc/source/filter/excel/xlpage.cxx | 32
sc/source/filter/excel/xlpivot.cxx | 2
sc/source/filter/excel/xlroot.cxx | 2
sc/source/filter/excel/xlstyle.cxx | 2
sc/source/filter/excel/xltoolbar.cxx | 431 ++
sc/source/filter/excel/xltoolbar.hxx | 95
sc/source/filter/excel/xltools.cxx | 10
sc/source/filter/excel/xltracer.cxx | 2
sc/source/filter/excel/xlview.cxx | 2
sc/source/filter/ftools/fapihelper.cxx | 2
sc/source/filter/ftools/fprogressbar.cxx | 2
sc/source/filter/ftools/ftools.cxx | 2
sc/source/filter/html/htmlexp.cxx | 2
sc/source/filter/html/htmlexp2.cxx | 2
sc/source/filter/html/htmlimp.cxx | 2
sc/source/filter/html/htmlpars.cxx | 2
sc/source/filter/inc/XclExpChangeTrack.hxx | 46
sc/source/filter/inc/excdoc.hxx | 2
sc/source/filter/inc/excimp8.hxx | 5
sc/source/filter/inc/excrecds.hxx | 4
sc/source/filter/inc/exp_op.hxx | 15
sc/source/filter/inc/xcl97esc.hxx | 10
sc/source/filter/inc/xcl97rec.hxx | 33
sc/source/filter/inc/xecontent.hxx | 2
sc/source/filter/inc/xeescher.hxx | 37
sc/source/filter/inc/xepivot.hxx | 1
sc/source/filter/inc/xestream.hxx | 18
sc/source/filter/inc/xetable.hxx | 11
sc/source/filter/inc/xiescher.hxx | 51
sc/source/filter/inc/xistyle.hxx | 2
sc/source/filter/inc/xlescher.hxx | 2
sc/source/filter/inc/xlpage.hxx | 6
sc/source/filter/lotus/expop.cxx | 2
sc/source/filter/lotus/export.cxx | 2
sc/source/filter/lotus/filter.cxx | 2
sc/source/filter/lotus/lotattr.cxx | 2
sc/source/filter/lotus/lotform.cxx | 2
sc/source/filter/lotus/lotimpop.cxx | 2
sc/source/filter/lotus/lotread.cxx | 2
sc/source/filter/lotus/lotus.cxx | 2
sc/source/filter/lotus/memory.cxx | 2
sc/source/filter/lotus/op.cxx | 3
sc/source/filter/lotus/optab.cxx | 3
sc/source/filter/lotus/tool.cxx | 2
sc/source/filter/qpro/biff.cxx | 2
sc/source/filter/qpro/qpro.cxx | 3
sc/source/filter/qpro/qproform.cxx | 3
sc/source/filter/qpro/qprostyle.cxx | 3
sc/source/filter/rtf/eeimpars.cxx | 2
sc/source/filter/rtf/expbase.cxx | 2
sc/source/filter/rtf/rtfexp.cxx | 2
sc/source/filter/rtf/rtfimp.cxx | 2
sc/source/filter/rtf/rtfparse.cxx | 2
sc/source/filter/starcalc/scflt.cxx | 2
sc/source/filter/starcalc/scfobj.cxx | 2
sc/source/filter/xcl97/XclExpChangeTrack.cxx | 471 ++
sc/source/filter/xcl97/XclImpChangeTrack.cxx | 2
sc/source/filter/xcl97/xcl97dum.cxx | 2
sc/source/filter/xcl97/xcl97esc.cxx | 56
sc/source/filter/xcl97/xcl97rec.cxx | 393 +
sc/source/filter/xml/XMLCalculationSettingsContext.cxx | 3
sc/source/filter/xml/XMLCellRangeSourceContext.cxx | 2
sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx | 3
sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx | 3
sc/source/filter/xml/XMLCodeNameProvider.cxx | 3
sc/source/filter/xml/XMLColumnRowGroupExport.cxx | 2
sc/source/filter/xml/XMLConsolidationContext.cxx | 2
sc/source/filter/xml/XMLConverter.cxx | 2
sc/source/filter/xml/XMLDDELinksContext.cxx | 3
sc/source/filter/xml/XMLDetectiveContext.cxx | 2
sc/source/filter/xml/XMLEmptyContext.cxx | 3
sc/source/filter/xml/XMLExportDDELinks.cxx | 3
sc/source/filter/xml/XMLExportDataPilot.cxx | 3
sc/source/filter/xml/XMLExportDatabaseRanges.cxx | 3
sc/source/filter/xml/XMLExportIterator.cxx | 2
sc/source/filter/xml/XMLExportSharedData.cxx | 3
sc/source/filter/xml/XMLStylesExportHelper.cxx | 3
sc/source/filter/xml/XMLStylesImportHelper.cxx | 2
sc/source/filter/xml/XMLTableHeaderFooterContext.cxx | 3
sc/source/filter/xml/XMLTableMasterPageExport.cxx | 2
sc/source/filter/xml/XMLTableShapeImportHelper.cxx | 3
sc/source/filter/xml/XMLTableShapeResizer.cxx | 3
sc/source/filter/xml/XMLTableShapesContext.cxx | 2
sc/source/filter/xml/XMLTableSourceContext.cxx | 2
sc/source/filter/xml/XMLTextPContext.cxx | 2
sc/source/filter/xml/XMLTrackedChangesContext.cxx | 2
sc/source/filter/xml/sheetdata.cxx | 2
sc/source/filter/xml/xmlannoi.cxx | 2
sc/source/filter/xml/xmlbodyi.cxx | 2
sc/source/filter/xml/xmlcelli.cxx | 3
sc/source/filter/xml/xmlcoli.cxx | 3
sc/source/filter/xml/xmlconti.cxx | 3
sc/source/filter/xml/xmlcvali.cxx | 3
sc/source/filter/xml/xmldpimp.cxx | 3
sc/source/filter/xml/xmldrani.cxx | 2
sc/source/filter/xml/xmlexprt.cxx | 37
sc/source/filter/xml/xmlexternaltabi.cxx | 3
sc/source/filter/xml/xmlfilti.cxx | 2
sc/source/filter/xml/xmlfonte.cxx | 3
sc/source/filter/xml/xmlimprt.cxx | 2
sc/source/filter/xml/xmllabri.cxx | 2
sc/source/filter/xml/xmlnexpi.cxx | 2
sc/source/filter/xml/xmlrowi.cxx | 3
sc/source/filter/xml/xmlsceni.cxx | 2
sc/source/filter/xml/xmlsorti.cxx | 2
sc/source/filter/xml/xmlstyle.cxx | 3
sc/source/filter/xml/xmlstyli.cxx | 2
sc/source/filter/xml/xmlsubti.cxx | 3
sc/source/filter/xml/xmltabi.cxx | 3
sc/source/filter/xml/xmlwrap.cxx | 2
sc/source/ui/Accessibility/AccessibilityHints.cxx | 3
sc/source/ui/Accessibility/AccessibleCell.cxx | 3
sc/source/ui/Accessibility/AccessibleCellBase.cxx | 3
sc/source/ui/Accessibility/AccessibleContextBase.cxx | 2
sc/source/ui/Accessibility/AccessibleCsvControl.cxx | 2
sc/source/ui/Accessibility/AccessibleDataPilotControl.cxx | 3
sc/source/ui/Accessibility/AccessibleDocument.cxx | 3
sc/source/ui/Accessibility/AccessibleDocumentBase.cxx | 3
sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx | 3
sc/source/ui/Accessibility/AccessibleEditObject.cxx | 2
sc/source/ui/Accessibility/AccessibleFilterMenu.cxx | 3
sc/source/ui/Accessibility/AccessibleFilterMenuItem.cxx | 2
sc/source/ui/Accessibility/AccessibleFilterTopWindow.cxx | 2
sc/source/ui/Accessibility/AccessibleGlobal.cxx | 2
sc/source/ui/Accessibility/AccessiblePageHeader.cxx | 3
sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx | 3
sc/source/ui/Accessibility/AccessiblePreviewCell.cxx | 2
sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx | 3
sc/source/ui/Accessibility/AccessiblePreviewTable.cxx | 2
sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx | 3
sc/source/ui/Accessibility/AccessibleTableBase.cxx | 3
sc/source/ui/Accessibility/AccessibleText.cxx | 3
sc/source/ui/Accessibility/DrawModelBroadcaster.cxx | 3
sc/source/ui/app/client.cxx | 2
sc/source/ui/app/drwtrans.cxx | 2
sc/source/ui/app/inputhdl.cxx | 2
sc/source/ui/app/inputwin.cxx | 2
sc/source/ui/app/lnktrans.cxx | 2
sc/source/ui/app/msgpool.cxx | 2
sc/source/ui/app/rfindlst.cxx | 2
sc/source/ui/app/scdll.cxx | 3
sc/source/ui/app/scmod.cxx | 2
sc/source/ui/app/scmod2.cxx | 2
sc/source/ui/app/seltrans.cxx | 2
sc/source/ui/app/template.cxx | 2
sc/source/ui/app/transobj.cxx | 2
sc/source/ui/app/typemap.cxx | 3
sc/source/ui/app/uiitems.cxx | 3
sc/source/ui/app/wtcdummy.cxx | 3
sc/source/ui/attrdlg/attrdlg.cxx | 2
sc/source/ui/attrdlg/condfrmt.cxx | 2
sc/source/ui/attrdlg/scabstdlg.cxx | 3
sc/source/ui/attrdlg/scdlgfact.cxx | 25
sc/source/ui/attrdlg/scdlgfact.hxx | 10
sc/source/ui/attrdlg/scuiexp.cxx | 3
sc/source/ui/attrdlg/tabpages.cxx | 3
sc/source/ui/cctrl/cbuttonw.cxx | 2
sc/source/ui/cctrl/dpcontrol.cxx | 24
sc/source/ui/cctrl/editfield.cxx | 2
sc/source/ui/cctrl/popmenu.cxx | 2
sc/source/ui/cctrl/tbinsert.cxx | 2
sc/source/ui/cctrl/tbzoomsliderctrl.cxx | 3
sc/source/ui/dbgui/asciiopt.cxx | 2
sc/source/ui/dbgui/consdlg.cxx | 2
sc/source/ui/dbgui/csvcontrol.cxx | 2
sc/source/ui/dbgui/csvgrid.cxx | 2
sc/source/ui/dbgui/csvruler.cxx | 2
sc/source/ui/dbgui/csvsplits.cxx | 2
sc/source/ui/dbgui/csvtablebox.cxx | 2
sc/source/ui/dbgui/dapidata.cxx | 2
sc/source/ui/dbgui/dapitype.cxx | 2
sc/source/ui/dbgui/dbnamdlg.cxx | 2
sc/source/ui/dbgui/dpgroupdlg.cxx | 2
sc/source/ui/dbgui/expftext.cxx | 2
sc/source/ui/dbgui/fieldwnd.cxx | 2
sc/source/ui/dbgui/filtdlg.cxx | 3
sc/source/ui/dbgui/foptmgr.cxx | 3
sc/source/ui/dbgui/imoptdlg.cxx | 3
sc/source/ui/dbgui/pfiltdlg.cxx | 2
sc/source/ui/dbgui/pvfundlg.cxx | 2
sc/source/ui/dbgui/pvlaydlg.cxx | 2
sc/source/ui/dbgui/scendlg.cxx | 2
sc/source/ui/dbgui/scuiasciiopt.cxx | 3
sc/source/ui/dbgui/scuiimoptdlg.cxx | 3
sc/source/ui/dbgui/sfiltdlg.cxx | 2
sc/source/ui/dbgui/sortdlg.cxx | 3
sc/source/ui/dbgui/subtdlg.cxx | 2
sc/source/ui/dbgui/textimportoptions.cxx | 2
sc/source/ui/dbgui/tpsort.cxx | 2
sc/source/ui/dbgui/tpsubt.cxx | 2
sc/source/ui/dbgui/validate.cxx | 3
sc/source/ui/docshell/arealink.cxx | 2
sc/source/ui/docshell/autostyl.cxx | 2
sc/source/ui/docshell/dbdocfun.cxx | 2
sc/source/ui/docshell/dbdocimp.cxx | 2
sc/source/ui/docshell/docfunc.cxx | 14
sc/source/ui/docshell/docsh.cxx | 9
sc/source/ui/docshell/docsh2.cxx | 3
sc/source/ui/docshell/docsh3.cxx | 3
sc/source/ui/docshell/docsh4.cxx | 3
sc/source/ui/docshell/docsh5.cxx | 53
sc/source/ui/docshell/docsh6.cxx | 2
sc/source/ui/docshell/docsh7.cxx | 2
sc/source/ui/docshell/docsh8.cxx | 2
sc/source/ui/docshell/editable.cxx | 2
sc/source/ui/docshell/externalrefmgr.cxx | 2
sc/source/ui/docshell/hiranges.cxx | 2
sc/source/ui/docshell/impex.cxx | 3
sc/source/ui/docshell/macromgr.cxx | 216 +
sc/source/ui/docshell/makefile.mk | 9
sc/source/ui/docshell/olinefun.cxx | 2
sc/source/ui/docshell/pagedata.cxx | 2
sc/source/ui/docshell/pntlock.cxx | 2
sc/source/ui/docshell/servobj.cxx | 2
sc/source/ui/docshell/sizedev.cxx | 2
sc/source/ui/docshell/tablink.cxx | 2
sc/source/ui/docshell/tpstat.cxx | 2
sc/source/ui/drawfunc/chartsh.cxx | 2
sc/source/ui/drawfunc/drawsh.cxx | 6
sc/source/ui/drawfunc/drawsh2.cxx | 6
sc/source/ui/drawfunc/drawsh4.cxx | 2
sc/source/ui/drawfunc/drawsh5.cxx | 6
sc/source/ui/drawfunc/drformsh.cxx | 2
sc/source/ui/drawfunc/drtxtob.cxx | 2
sc/source/ui/drawfunc/drtxtob1.cxx | 2
sc/source/ui/drawfunc/drtxtob2.cxx | 2
sc/source/ui/drawfunc/fuconarc.cxx | 2
sc/source/ui/drawfunc/fuconcustomshape.cxx | 3
sc/source/ui/drawfunc/fuconpol.cxx | 3
sc/source/ui/drawfunc/fuconrec.cxx | 2
sc/source/ui/drawfunc/fuconstr.cxx | 2
sc/source/ui/drawfunc/fuconuno.cxx | 2
sc/source/ui/drawfunc/fudraw.cxx | 7
sc/source/ui/drawfunc/fuins1.cxx | 3
sc/source/ui/drawfunc/fuins2.cxx | 2
sc/source/ui/drawfunc/fumark.cxx | 2
sc/source/ui/drawfunc/fupoor.cxx | 3
sc/source/ui/drawfunc/fusel.cxx | 18
sc/source/ui/drawfunc/fusel2.cxx | 2
sc/source/ui/drawfunc/futext.cxx | 2
sc/source/ui/drawfunc/futext2.cxx | 2
sc/source/ui/drawfunc/futext3.cxx | 2
sc/source/ui/drawfunc/graphsh.cxx | 2
sc/source/ui/drawfunc/makefile.mk | 1
sc/source/ui/drawfunc/mediash.cxx | 3
sc/source/ui/drawfunc/objdraw.src | 6
sc/source/ui/drawfunc/oleobjsh.cxx | 2
sc/source/ui/formdlg/dwfunctr.cxx | 2
sc/source/ui/formdlg/formdata.cxx | 2
sc/source/ui/formdlg/formula.cxx | 2
sc/source/ui/formdlg/privsplt.cxx | 2
sc/source/ui/inc/asciiopt.hxx | 2
sc/source/ui/inc/datafdlg.hrc | 40
sc/source/ui/inc/datafdlg.hxx | 111
sc/source/ui/inc/docfunc.hxx | 2
sc/source/ui/inc/docsh.hxx | 5
sc/source/ui/inc/dpcontrol.hxx | 4
sc/source/ui/inc/drawsh.hxx | 2
sc/source/ui/inc/impex.hxx | 2
sc/source/ui/inc/tabcont.hxx | 1
sc/source/ui/inc/tabvwsh.hxx | 4
sc/source/ui/inc/undodat.hxx | 36
sc/source/ui/inc/viewfunc.hxx | 11
sc/source/ui/miscdlgs/acredlin.cxx | 2
sc/source/ui/miscdlgs/anyrefdg.cxx | 2
sc/source/ui/miscdlgs/autofmt.cxx | 2
sc/source/ui/miscdlgs/conflictsdlg.cxx | 3
sc/source/ui/miscdlgs/crdlg.cxx | 2
sc/source/ui/miscdlgs/crnrdlg.cxx | 3
sc/source/ui/miscdlgs/datafdlg.cxx | 414 ++
sc/source/ui/miscdlgs/delcldlg.cxx | 2
sc/source/ui/miscdlgs/delcodlg.cxx | 2
sc/source/ui/miscdlgs/filldlg.cxx | 2
sc/source/ui/miscdlgs/groupdlg.cxx | 2
sc/source/ui/miscdlgs/highred.cxx | 2
sc/source/ui/miscdlgs/inscldlg.cxx | 2
sc/source/ui/miscdlgs/inscodlg.cxx | 2
sc/source/ui/miscdlgs/instbdlg.cxx | 2
sc/source/ui/miscdlgs/lbseldlg.cxx | 2
sc/source/ui/miscdlgs/linkarea.cxx | 2
sc/source/ui/miscdlgs/makefile.mk | 1
sc/source/ui/miscdlgs/mtrindlg.cxx | 2
sc/source/ui/miscdlgs/mvtabdlg.cxx | 2
sc/source/ui/miscdlgs/namecrea.cxx | 2
sc/source/ui/miscdlgs/namepast.cxx | 2
sc/source/ui/miscdlgs/optsolver.cxx | 2
sc/source/ui/miscdlgs/protectiondlg.cxx | 3
sc/source/ui/miscdlgs/redcom.cxx | 2
sc/source/ui/miscdlgs/retypepassdlg.cxx | 3
sc/source/ui/miscdlgs/scuiautofmt.cxx | 3
sc/source/ui/miscdlgs/sharedocdlg.cxx | 3
sc/source/ui/miscdlgs/shtabdlg.cxx | 2
sc/source/ui/miscdlgs/simpref.cxx | 2
sc/source/ui/miscdlgs/solveroptions.cxx | 2
sc/source/ui/miscdlgs/solverutil.cxx | 2
sc/source/ui/miscdlgs/solvrdlg.cxx | 2
sc/source/ui/miscdlgs/strindlg.cxx | 2
sc/source/ui/miscdlgs/tabbgcolordlg.cxx | 3
sc/source/ui/miscdlgs/tabopdlg.cxx | 2
sc/source/ui/miscdlgs/textdlgs.cxx | 2
sc/source/ui/miscdlgs/warnbox.cxx | 2
sc/source/ui/namedlg/namedlg.cxx | 2
sc/source/ui/navipi/content.cxx | 2
sc/source/ui/navipi/navcitem.cxx | 2
sc/source/ui/navipi/navipi.cxx | 2
sc/source/ui/navipi/scenwnd.cxx | 2
sc/source/ui/optdlg/opredlin.cxx | 2
sc/source/ui/optdlg/tpcalc.cxx | 2
sc/source/ui/optdlg/tpformula.cxx | 3
sc/source/ui/optdlg/tpprint.cxx | 2
sc/source/ui/optdlg/tpusrlst.cxx | 2
sc/source/ui/optdlg/tpview.cxx | 2
sc/source/ui/pagedlg/areasdlg.cxx | 2
sc/source/ui/pagedlg/hfedtdlg.cxx | 2
sc/source/ui/pagedlg/scuitphfedit.cxx | 3
sc/source/ui/pagedlg/tphf.cxx | 2
sc/source/ui/pagedlg/tphfedit.cxx | 2
sc/source/ui/pagedlg/tptable.cxx | 2
sc/source/ui/src/datafdlg.src | 95
sc/source/ui/src/globstr.src | 73
sc/source/ui/src/makefile.mk | 1
sc/source/ui/styleui/styledlg.cxx | 2
sc/source/ui/undo/areasave.cxx | 2
sc/source/ui/undo/refundo.cxx | 2
sc/source/ui/undo/target.cxx | 3
sc/source/ui/undo/undobase.cxx | 2
sc/source/ui/undo/undoblk.cxx | 2
sc/source/ui/undo/undoblk2.cxx | 2
sc/source/ui/undo/undoblk3.cxx | 2
sc/source/ui/undo/undocell.cxx | 2
sc/source/ui/undo/undodat.cxx | 211 +
sc/source/ui/undo/undodraw.cxx | 2
sc/source/ui/undo/undoolk.cxx | 2
sc/source/ui/undo/undostyl.cxx | 2
sc/source/ui/undo/undotab.cxx | 2
sc/source/ui/undo/undoutil.cxx | 3
sc/source/ui/unoobj/ChartRangeSelectionListener.cxx | 3
sc/source/ui/unoobj/addruno.cxx | 32
sc/source/ui/unoobj/afmtuno.cxx | 2
sc/source/ui/unoobj/appluno.cxx | 2
sc/source/ui/unoobj/celllistsource.cxx | 3
sc/source/ui/unoobj/cellsuno.cxx | 2
sc/source/ui/unoobj/cellvaluebinding.cxx | 3
sc/source/ui/unoobj/chart2uno.cxx | 3
sc/source/ui/unoobj/chartuno.cxx | 2
sc/source/ui/unoobj/confuno.cxx | 2
sc/source/ui/unoobj/convuno.cxx | 2
sc/source/ui/unoobj/cursuno.cxx | 2
sc/source/ui/unoobj/dapiuno.cxx | 2
sc/source/ui/unoobj/datauno.cxx | 2
sc/source/ui/unoobj/defltuno.cxx | 2
sc/source/ui/unoobj/detreg.cxx | 2
sc/source/ui/unoobj/dispuno.cxx | 2
sc/source/ui/unoobj/docuno.cxx | 32
sc/source/ui/unoobj/drdefuno.cxx | 2
sc/source/ui/unoobj/editsrc.cxx | 2
sc/source/ui/unoobj/eventuno.cxx | 2
sc/source/ui/unoobj/fielduno.cxx | 2
sc/source/ui/unoobj/filtuno.cxx | 2
sc/source/ui/unoobj/fmtuno.cxx | 2
sc/source/ui/unoobj/forbiuno.cxx | 2
sc/source/ui/unoobj/funcuno.cxx | 2
sc/source/ui/unoobj/linkuno.cxx | 2
sc/source/ui/unoobj/listenercalls.cxx | 2
sc/source/ui/unoobj/miscuno.cxx | 2
sc/source/ui/unoobj/nameuno.cxx | 2
sc/source/ui/unoobj/notesuno.cxx | 8
sc/source/ui/unoobj/optuno.cxx | 2
sc/source/ui/unoobj/pageuno.cxx | 3
sc/source/ui/unoobj/scdetect.cxx | 2
sc/source/ui/unoobj/servuno.cxx | 27
sc/source/ui/unoobj/shapeuno.cxx | 67
sc/source/ui/unoobj/srchuno.cxx | 2
sc/source/ui/unoobj/styleuno.cxx | 2
sc/source/ui/unoobj/targuno.cxx | 2
sc/source/ui/unoobj/textuno.cxx | 2
sc/source/ui/unoobj/tokenuno.cxx | 2
sc/source/ui/unoobj/unodoc.cxx | 2
sc/source/ui/unoobj/unoguard.cxx | 2
sc/source/ui/unoobj/unoreflist.cxx | 2
sc/source/ui/unoobj/viewuno.cxx | 148
sc/source/ui/unoobj/warnpassword.cxx | 2
sc/source/ui/vba/excelvbahelper.cxx | 207 -
sc/source/ui/vba/excelvbahelper.hxx | 39
sc/source/ui/vba/makefile.mk | 14
sc/source/ui/vba/service.cxx | 3
sc/source/ui/vba/testvba/testvba.cxx | 9
sc/source/ui/vba/vbaapplication.cxx | 795 +++-
sc/source/ui/vba/vbaapplication.hxx | 33
sc/source/ui/vba/vbaassistant.cxx | 3
sc/source/ui/vba/vbaaxes.cxx | 2
sc/source/ui/vba/vbaaxis.cxx | 2
sc/source/ui/vba/vbaaxistitle.cxx | 2
sc/source/ui/vba/vbaborders.cxx | 3
sc/source/ui/vba/vbacharacters.cxx | 2
sc/source/ui/vba/vbachart.cxx | 2
sc/source/ui/vba/vbachartobject.cxx | 3
sc/source/ui/vba/vbachartobjects.cxx | 2
sc/source/ui/vba/vbacharts.cxx | 2
sc/source/ui/vba/vbacharttitle.cxx | 2
sc/source/ui/vba/vbacomment.cxx | 29
sc/source/ui/vba/vbacomments.cxx | 3
sc/source/ui/vba/vbacommentshape.cxx | 46
sc/source/ui/vba/vbacommentshape.hxx | 46
sc/source/ui/vba/vbacondition.cxx | 2
sc/source/ui/vba/vbadialog.cxx | 82
sc/source/ui/vba/vbadialog.hxx | 3
sc/source/ui/vba/vbadialogs.cxx | 16
sc/source/ui/vba/vbadialogs.hxx | 1
sc/source/ui/vba/vbaeventshelper.cxx | 13
sc/source/ui/vba/vbafiledialog.cxx | 183
sc/source/ui/vba/vbafiledialog.hxx | 60
sc/source/ui/vba/vbafiledialogselecteditems.cxx | 154
sc/source/ui/vba/vbafiledialogselecteditems.hxx | 87
sc/source/ui/vba/vbafilesearch.cxx | 242 +
sc/source/ui/vba/vbafilesearch.hxx | 77
sc/source/ui/vba/vbafont.cxx | 3
sc/source/ui/vba/vbaformat.cxx | 2
sc/source/ui/vba/vbaformatcondition.cxx | 3
sc/source/ui/vba/vbaformatconditions.cxx | 2
sc/source/ui/vba/vbafoundfiles.cxx | 143
sc/source/ui/vba/vbafoundfiles.hxx | 88
sc/source/ui/vba/vbaglobals.cxx | 8
sc/source/ui/vba/vbaglobals.hxx | 1
sc/source/ui/vba/vbahelper.cxx | 97
sc/source/ui/vba/vbahyperlink.cxx | 3
sc/source/ui/vba/vbahyperlinks.cxx | 3
sc/source/ui/vba/vbainterior.cxx | 2
sc/source/ui/vba/vbamenu.cxx | 84
sc/source/ui/vba/vbamenu.hxx | 54
sc/source/ui/vba/vbamenubar.cxx | 66
sc/source/ui/vba/vbamenubar.hxx | 50
sc/source/ui/vba/vbamenubars.cxx | 137
sc/source/ui/vba/vbamenubars.hxx | 61
sc/source/ui/vba/vbamenuitem.cxx | 82
sc/source/ui/vba/vbamenuitem.hxx | 55
sc/source/ui/vba/vbamenuitems.cxx | 150
sc/source/ui/vba/vbamenuitems.hxx | 60
sc/source/ui/vba/vbamenus.cxx | 136
sc/source/ui/vba/vbamenus.hxx | 60
sc/source/ui/vba/vbaname.cxx | 93
sc/source/ui/vba/vbaname.hxx | 4
sc/source/ui/vba/vbanames.cxx | 102
sc/source/ui/vba/vbaoleobject.cxx | 5
sc/source/ui/vba/vbaoleobjects.cxx | 3
sc/source/ui/vba/vbaoutline.cxx | 3
sc/source/ui/vba/vbapagebreak.cxx | 2
sc/source/ui/vba/vbapagebreaks.cxx | 54
sc/source/ui/vba/vbapagesetup.cxx | 133
sc/source/ui/vba/vbapagesetup.hxx | 2
sc/source/ui/vba/vbapalette.cxx | 3
sc/source/ui/vba/vbapane.cxx | 3
sc/source/ui/vba/vbapivotcache.cxx | 21
sc/source/ui/vba/vbapivotcache.hxx | 8
sc/source/ui/vba/vbapivottable.cxx | 3
sc/source/ui/vba/vbapivottables.cxx | 3
sc/source/ui/vba/vbapropvalue.cxx | 3
sc/source/ui/vba/vbaquerytable.cxx | 87
sc/source/ui/vba/vbaquerytable.hxx | 59
sc/source/ui/vba/vbarange.cxx | 1980 ++++++----
sc/source/ui/vba/vbarange.hxx | 42
sc/source/ui/vba/vbaseriescollection.cxx | 2
sc/source/ui/vba/vbasheetobject.cxx | 3
sc/source/ui/vba/vbasheetobjects.cxx | 3
sc/source/ui/vba/vbastyle.cxx | 3
sc/source/ui/vba/vbastyles.cxx | 3
sc/source/ui/vba/vbatextboxshape.cxx | 3
sc/source/ui/vba/vbatextframe.cxx | 3
sc/source/ui/vba/vbavalidation.cxx | 15
sc/source/ui/vba/vbawindow.cxx | 3
sc/source/ui/vba/vbawindows.cxx | 3
sc/source/ui/vba/vbaworkbook.cxx | 114
sc/source/ui/vba/vbaworkbook.hxx | 9
sc/source/ui/vba/vbaworkbooks.cxx | 3
sc/source/ui/vba/vbaworksheet.cxx | 243 -
sc/source/ui/vba/vbaworksheet.hxx | 7
sc/source/ui/vba/vbaworksheets.cxx | 3
sc/source/ui/vba/vbawsfunction.cxx | 85
sc/source/ui/view/auditsh.cxx | 2
sc/source/ui/view/cellmergeoption.cxx | 3
sc/source/ui/view/cellsh.cxx | 2
sc/source/ui/view/cellsh1.cxx | 3
sc/source/ui/view/cellsh2.cxx | 20
sc/source/ui/view/cellsh3.cxx | 2
sc/source/ui/view/cellsh4.cxx | 2
sc/source/ui/view/colrowba.cxx | 2
sc/source/ui/view/dbfunc.cxx | 2
sc/source/ui/view/dbfunc2.cxx | 2
sc/source/ui/view/dbfunc3.cxx | 3
sc/source/ui/view/dbfunc4.cxx | 2
sc/source/ui/view/drawattr.cxx | 2
sc/source/ui/view/drawutil.cxx | 2
sc/source/ui/view/drawvie2.cxx | 2
sc/source/ui/view/drawvie3.cxx | 2
sc/source/ui/view/drawvie4.cxx | 2
sc/source/ui/view/drawview.cxx | 3
sc/source/ui/view/editsh.cxx | 2
sc/source/ui/view/formatsh.cxx | 3
sc/source/ui/view/galwrap.cxx | 2
sc/source/ui/view/gridmerg.cxx | 2
sc/source/ui/view/gridwin.cxx | 3
sc/source/ui/view/gridwin2.cxx | 19
sc/source/ui/view/gridwin3.cxx | 2
sc/source/ui/view/gridwin4.cxx | 15
sc/source/ui/view/gridwin5.cxx | 5
sc/source/ui/view/hdrcont.cxx | 2
sc/source/ui/view/hintwin.cxx | 3
sc/source/ui/view/imapwrap.cxx | 2
sc/source/ui/view/invmerge.cxx | 2
sc/source/ui/view/notemark.cxx | 2
sc/source/ui/view/olinewin.cxx | 2
sc/source/ui/view/olkact.cxx | 2
sc/source/ui/view/output.cxx | 2
sc/source/ui/view/output2.cxx | 24
sc/source/ui/view/output3.cxx | 2
sc/source/ui/view/overlayobject.cxx | 3
sc/source/ui/view/pfuncache.cxx | 2
sc/source/ui/view/pgbrksh.cxx | 2
sc/source/ui/view/pivotsh.cxx | 2
sc/source/ui/view/preview.cxx | 3
sc/source/ui/view/prevloc.cxx | 2
sc/source/ui/view/prevwsh.cxx | 2
sc/source/ui/view/prevwsh2.cxx | 2
sc/source/ui/view/printfun.cxx | 2
sc/source/ui/view/reffact.cxx | 3
sc/source/ui/view/scextopt.cxx | 2
sc/source/ui/view/select.cxx | 2
sc/source/ui/view/selectionstate.cxx | 2
sc/source/ui/view/spelldialog.cxx | 2
sc/source/ui/view/spelleng.cxx | 2
sc/source/ui/view/tabcont.cxx | 19
sc/source/ui/view/tabpopsh.cxx | 3
sc/source/ui/view/tabsplit.cxx | 2
sc/source/ui/view/tabview.cxx | 2
sc/source/ui/view/tabview2.cxx | 2
sc/source/ui/view/tabview3.cxx | 20
sc/source/ui/view/tabview4.cxx | 2
sc/source/ui/view/tabview5.cxx | 2
sc/source/ui/view/tabvwsh.cxx | 3
sc/source/ui/view/tabvwsh2.cxx | 2
sc/source/ui/view/tabvwsh3.cxx | 2
sc/source/ui/view/tabvwsh4.cxx | 9
sc/source/ui/view/tabvwsh5.cxx | 2
sc/source/ui/view/tabvwsh8.cxx | 2
sc/source/ui/view/tabvwsh9.cxx | 2
sc/source/ui/view/tabvwsha.cxx | 2
sc/source/ui/view/tabvwshb.cxx | 2
sc/source/ui/view/tabvwshc.cxx | 2
sc/source/ui/view/tabvwshd.cxx | 2
sc/source/ui/view/tabvwshe.cxx | 2
sc/source/ui/view/tabvwshf.cxx | 2
sc/source/ui/view/tabvwshg.cxx | 2
sc/source/ui/view/tabvwshh.cxx | 2
sc/source/ui/view/viewdata.cxx | 3
sc/source/ui/view/viewfun2.cxx | 61
sc/source/ui/view/viewfun3.cxx | 188
sc/source/ui/view/viewfun4.cxx | 2
sc/source/ui/view/viewfun5.cxx | 2
sc/source/ui/view/viewfun6.cxx | 3
sc/source/ui/view/viewfun7.cxx | 2
sc/source/ui/view/viewfunc.cxx | 2
sc/source/ui/view/viewutil.cxx | 2
sc/source/ui/view/waitoff.cxx | 2
sc/uiconfig/scalc/menubar/menubar.xml | 1
sc/util/makefile.mk | 10
sc/util/scfilt.map | 3
sc/workben/addin.cxx | 2
sc/workben/result.cxx | 2
sc/workben/test.cxx | 2
scaddins/source/analysis/analysis.cxx | 2
scaddins/source/analysis/analysishelper.cxx | 2
scaddins/source/analysis/bessel.cxx | 2
scaddins/source/analysis/financial.cxx | 2
scaddins/source/datefunc/datefunc.cxx | 2
sccomp/source/solver/solver.cxx | 2
1094 files changed, 12869 insertions(+), 2099 deletions(-)
New commits:
commit c0aac7c892688678544a2dd339064f081cc7fbfa
Merge: 764e33d... e6df329...
Author: Kohei Yoshida <kyoshida at novell.com>
Date: Wed Oct 13 23:21:02 2010 -0400
Merge branch 'master' into feature/calc-key-binding-compat
Conflicts:
sc/source/ui/attrdlg/scdlgfact.cxx
diff --cc sc/inc/sc.hrc
index 157ecf9,23ea60e..dc90cb2
--- a/sc/inc/sc.hrc
+++ b/sc/inc/sc.hrc
@@@ -1672,11 -1670,11 +1670,15 @@@
// Insert current date and time to cell via command
#define SID_INSERT_CURRENT_DATE (SC_OOO_BUILD_START + 4)
#define SID_INSERT_CURRENT_TIME (SC_OOO_BUILD_START + 5)
+ // Data Form
+ #define SID_DATAFORM_NEW (SC_OOO_BUILD_START + 6) // message
+ #define SID_DATA_FORM (SC_OOO_BUILD_START + 7) // menu (in Data menu)
+ #define RID_SCDLG_DATAFORM (SC_OOO_BUILD_START + 8) // dialog
+// Compatibility options page
+#define RID_SCPAGE_COMPATIBILITY (SC_OOO_BUILD_START + 6)
+#define HID_SCPAGE_COMPATIBILITY (SC_OOO_BUILD_START + 7)
+
#endif
diff --cc sc/source/ui/attrdlg/scdlgfact.cxx
index 19e7a2e,02cd919..fa14720
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@@ -80,7 -81,8 +81,8 @@@
#include "tpusrlst.hxx" //add for ScTpUserLists
#include "tpview.hxx" //add for ScTpContentOptions
#include "tpformula.hxx"
-//for dataform
+ #include "datafdlg.hxx" //add for ScDataFormDlg
+#include "tpcompatibility.hxx"
// ause
#include "editutil.hxx"
diff --cc sc/source/ui/inc/docsh.hxx
index e8e8563,1ea3118..fff44a1
--- a/sc/source/ui/inc/docsh.hxx
+++ b/sc/source/ui/inc/docsh.hxx
@@@ -40,9 -40,9 +40,10 @@@
#include "document.hxx"
#include "shellids.hxx"
#include "refreshtimer.hxx"
+#include "optutil.hxx"
#include <hash_map>
+ #include <cppuhelper/implbase1.hxx>
class ScEditEngineDefaulter;
class FontList;
commit e6df329808c4b8e3c06cfd8614ffdf71aa967bcc
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 20:56:30 2010 +0200
Fixed build of sc (ctor of XclObjAny has 2 params)
diff --git a/sc/source/filter/excel/xeescher.cxx b/sc/source/filter/excel/xeescher.cxx
index 2ef4366..baed64c 100644
--- a/sc/source/filter/excel/xeescher.cxx
+++ b/sc/source/filter/excel/xeescher.cxx
@@ -1162,7 +1162,7 @@ XclMacroHelper::SetMacroLink( const String& rMacroName )
}
XclExpShapeObj::XclExpShapeObj( XclExpObjectManager& rRoot, ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ) :
- XclObjAny( rRoot ),
+ XclObjAny( rRoot, xShape ),
XclMacroHelper( rRoot )
{
if( SdrObject* pSdrObj = ::GetSdrObjectFromXShape( xShape ) )
commit b968c2f1fc8e71dd44d7c67da77603012da7bedb
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:18:31 2010 +0200
Merged oox-sc-notes.diff from ooo-build
diff --git a/sc/source/filter/excel/xeescher.cxx b/sc/source/filter/excel/xeescher.cxx
index fcb7e20..2ef4366 100644
--- a/sc/source/filter/excel/xeescher.cxx
+++ b/sc/source/filter/excel/xeescher.cxx
@@ -999,7 +999,12 @@ XclExpNote::XclExpNote( const XclExpRoot& rRoot, const ScAddress& rScPos,
// get the main note text
String aNoteText;
if( pScNote )
+ {
aNoteText = pScNote->GetText();
+ const EditTextObject *pEditObj = pScNote->GetEditTextObject();
+ if( pEditObj )
+ mpNoteContents = XclExpStringHelper::CreateString( rRoot, *pEditObj );
+ }
// append additional text
ScGlobal::AddToken( aNoteText, rAddText, '\n', 2 );
maOrigNoteText = aNoteText;
diff --git a/sc/source/ui/unoobj/notesuno.cxx b/sc/source/ui/unoobj/notesuno.cxx
index 321e8d4..f766312 100644
--- a/sc/source/ui/unoobj/notesuno.cxx
+++ b/sc/source/ui/unoobj/notesuno.cxx
@@ -57,16 +57,20 @@
#include <svx/svditer.hxx>
#include <svx/svdpage.hxx>
#include <com/sun/star/drawing/XShapeDescriptor.hpp>
+#include <editeng/unoprnms.hxx>
using namespace com::sun::star;
//------------------------------------------------------------------------
-// keine Properties fuer Text in Notizen
const SvxItemPropertySet* lcl_GetAnnotationPropertySet()
{
static SfxItemPropertyMapEntry aAnnotationPropertyMap_Impl[] =
{
+ SVX_UNOEDIT_CHAR_PROPERTIES,
+ SVX_UNOEDIT_FONT_PROPERTIES,
+ SVX_UNOEDIT_PARA_PROPERTIES,
+ SVX_UNOEDIT_NUMBERING_PROPERTIE, // for completeness of service ParagraphProperties
{0,0,0,0,0,0}
};
static SvxItemPropertySet aAnnotationPropertySet_Impl( aAnnotationPropertyMap_Impl, SdrObject::GetGlobalDrawObjectItemPool() );
commit 26edd0d746a57cd7353c0931dbd4e604abe52b22
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:16:07 2010 +0200
Merged ooxml-sc-internal-hlink-export.diff from ooo-build
diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx
index d55042d..215d5d2 100644
--- a/sc/source/filter/excel/xecontent.cxx
+++ b/sc/source/filter/excel/xecontent.cxx
@@ -456,7 +456,16 @@ XclExpHyperlink::XclExpHyperlink( const XclExpRoot& rRoot, const SvxURLField& rU
else if( rUrl.GetChar( 0 ) == '#' ) // hack for #89066#
{
String aTextMark( rUrl.Copy( 1 ) );
- aTextMark.SearchAndReplace( '.', '!' );
+
+ xub_StrLen nSepPos = aTextMark.SearchAndReplace( '.', '!' );
+ String aSheetName( aTextMark.Copy(0, nSepPos));
+
+ if ( aSheetName.Search(' ') != STRING_NOTFOUND && aSheetName.GetChar(0) != '\'')
+ {
+ aTextMark.Insert('\'', nSepPos);
+ aTextMark.Insert('\'', 0);
+ }
+
mxTextMark.reset( new XclExpString( aTextMark, EXC_STR_FORCEUNICODE, 255 ) );
}
@@ -533,13 +542,15 @@ void XclExpHyperlink::WriteEmbeddedData( XclExpStream& rStrm )
void XclExpHyperlink::SaveXml( XclExpXmlStream& rStrm )
{
- OUString sId = rStrm.addRelation( rStrm.GetCurrentStream()->getOutputStream(),
+ OUString sId = msTarget.getLength() ? rStrm.addRelation( rStrm.GetCurrentStream()->getOutputStream(),
XclXmlUtils::ToOUString( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" ),
msTarget,
- XclXmlUtils::ToOUString( "External" ) );
+ XclXmlUtils::ToOUString( "External" ) ) : OUString();
rStrm.GetCurrentStream()->singleElement( XML_hyperlink,
XML_ref, XclXmlUtils::ToOString( maScPos ).getStr(),
- FSNS( XML_r, XML_id ), XclXmlUtils::ToOString( sId ).getStr(),
+ FSNS( XML_r, XML_id ), sId.getLength()
+ ? XclXmlUtils::ToOString( sId ).getStr()
+ : NULL,
XML_location, mxTextMark.get() != NULL
? XclXmlUtils::ToOString( *mxTextMark ).getStr()
: NULL,
commit 47f4d561b5c44c239925edb84d242abfdb11f12e
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:12:42 2010 +0200
Merged ooxml-sc-showdropdown-fix.diff from ooo-build
diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx
index e56ed9c..d55042d 100644
--- a/sc/source/filter/excel/xecontent.cxx
+++ b/sc/source/filter/excel/xecontent.cxx
@@ -1162,7 +1162,8 @@ void XclExpDV::SaveXml( XclExpXmlStream& rStrm )
XML_operator, lcl_GetOperatorType( mnFlags ),
XML_prompt, XESTRING_TO_PSZ( maPromptText ),
XML_promptTitle, XESTRING_TO_PSZ( maPromptTitle ),
- XML_showDropDown, XclXmlUtils::ToPsz( ! ::get_flag( mnFlags, EXC_DV_SUPPRESSDROPDOWN ) ),
+ // showDropDown should have been showNoDropDown - check oox/xlsx import for details
+ XML_showDropDown, XclXmlUtils::ToPsz( ::get_flag( mnFlags, EXC_DV_SUPPRESSDROPDOWN ) ),
XML_showErrorMessage, XclXmlUtils::ToPsz( ::get_flag( mnFlags, EXC_DV_SHOWERROR ) ),
XML_showInputMessage, XclXmlUtils::ToPsz( ::get_flag( mnFlags, EXC_DV_SHOWPROMPT ) ),
XML_sqref, XclXmlUtils::ToOString( maScRanges ).getStr(),
commit 2969dce8a1ea07a30eedd4a59bf3f69a89a307ee
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:12:19 2010 +0200
Merged ooxml-sc-paneexport.cxx from ooo-build
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index 8b63779..7791776 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -48,6 +48,7 @@
#include "compiler.hxx"
#include <../../ui/inc/docsh.hxx>
+#include <../../ui/inc/viewdata.hxx>
#include <excdoc.hxx>
#include <oox/core/tokens.hxx>
@@ -1120,6 +1121,10 @@ bool XclExpXmlStream::exportDocument() throw()
pShell->SetError( nError, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) );
}
#endif
+ // Get the viewsettings before processing
+ if( pShell->GetViewData() )
+ pShell->GetViewData()->WriteExtOptions( mpRoot->GetExtDocOptions() );
+
OUString const workbook = CREATE_OUSTRING( "xl/workbook.xml" );
PushStream( CreateOutputStream( workbook, workbook,
Reference <XOutputStream>(),
commit e2fe8b83fad41cab0d0db9ca73adfa56b8fd918c
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:09:49 2010 +0200
Merged ooxml-sc-page-date.diff from ooo-build
diff --git a/sc/source/filter/excel/excrecds.cxx b/sc/source/filter/excel/excrecds.cxx
index b9d87fa..facfe89 100644
--- a/sc/source/filter/excel/excrecds.cxx
+++ b/sc/source/filter/excel/excrecds.cxx
@@ -361,6 +361,7 @@ Exc1904::Exc1904( ScDocument& rDoc )
{
Date* pDate = rDoc.GetFormatTable()->GetNullDate();
bVal = pDate ? (*pDate == Date( 1, 1, 1904 )) : FALSE;
+ bDateCompatibility = pDate ? !( *pDate == Date( 30, 12, 1899 )) : FALSE;
}
@@ -372,9 +373,21 @@ UINT16 Exc1904::GetNum( void ) const
void Exc1904::SaveXml( XclExpXmlStream& rStrm )
{
- rStrm.WriteAttributes(
+ bool bISOIEC = ( rStrm.getVersion() == oox::core::ISOIEC_29500_2008 );
+
+ if( bISOIEC )
+ {
+ rStrm.WriteAttributes(
+ XML_dateCompatibility, XclXmlUtils::ToPsz( bDateCompatibility ),
+ FSEND );
+ }
+
+ if( !bISOIEC || bDateCompatibility )
+ {
+ rStrm.WriteAttributes(
XML_date1904, XclXmlUtils::ToPsz( bVal ),
FSEND );
+ }
}
diff --git a/sc/source/filter/excel/xepage.cxx b/sc/source/filter/excel/xepage.cxx
index 9e30957..b91644c 100644
--- a/sc/source/filter/excel/xepage.cxx
+++ b/sc/source/filter/excel/xepage.cxx
@@ -97,25 +97,37 @@ XclExpSetup::XclExpSetup( const XclPageData& rPageData ) :
void XclExpSetup::SaveXml( XclExpXmlStream& rStrm )
{
- rStrm.GetCurrentStream()->singleElement( XML_pageSetup,
- XML_paperSize, OString::valueOf( (sal_Int32) mrData.mnPaperSize ).getStr(),
- XML_scale, OString::valueOf( (sal_Int32) mrData.mnScaling ).getStr(),
- XML_firstPageNumber, OString::valueOf( (sal_Int32) mrData.mnStartPage ).getStr(),
- XML_fitToWidth, OString::valueOf( (sal_Int32) mrData.mnFitToWidth ).getStr(),
- XML_fitToHeight, OString::valueOf( (sal_Int32) mrData.mnFitToHeight ).getStr(),
- XML_pageOrder, mrData.mbPrintInRows ? "overThenDown" : "downThenOver",
- XML_orientation, mrData.mbPortrait ? "portrait" : "landscape", // OOXTODO: "default"?
- XML_usePrinterDefaults, XclXmlUtils::ToPsz( !mrData.mbValid ),
- XML_blackAndWhite, XclXmlUtils::ToPsz( mrData.mbBlackWhite ),
- XML_draft, XclXmlUtils::ToPsz( mrData.mbDraftQuality ),
- XML_cellComments, mrData.mbPrintNotes ? "atEnd" : "none", // OOXTODO: "asDisplayed"?
- XML_useFirstPageNumber, XclXmlUtils::ToPsz( mrData.mbManualStart ),
- // OOXTODO: XML_errors, // == displayed|blank|dash|NA
- XML_horizontalDpi, OString::valueOf( (sal_Int32) mrData.mnHorPrintRes ).getStr(),
- XML_verticalDpi, OString::valueOf( (sal_Int32) mrData.mnVerPrintRes ).getStr(),
- XML_copies, OString::valueOf( (sal_Int32) mrData.mnCopies ).getStr(),
- // OOXTODO: devMode settings part RelationshipId: FSNS( XML_r, XML_id ),
- FSEND );
+ sax_fastparser::FastAttributeList* pAttrList=rStrm.GetCurrentStream()->createAttrList();
+ if( rStrm.getVersion() != oox::core::ISOIEC_29500_2008 ||
+ mrData.mnStrictPaperSize != EXC_PAPERSIZE_USER )
+ {
+ pAttrList->add( XML_paperSize, OString::valueOf( (sal_Int32) mrData.mnPaperSize ).getStr() );
+ }
+ else
+ {
+ pAttrList->add( XML_paperWidth, OString::valueOf( (sal_Int32) mrData.mnPaperWidth ).concat(OString("mm")).getStr() );
+ pAttrList->add( XML_paperHeight, OString::valueOf( (sal_Int32) mrData.mnPaperHeight ).concat(OString("mm")).getStr() );
+ // pAttrList->add( XML_paperUnits, "mm" );
+ }
+ pAttrList->add( XML_scale, OString::valueOf( (sal_Int32) mrData.mnScaling ).getStr() );
+ pAttrList->add( XML_firstPageNumber, OString::valueOf( (sal_Int32) mrData.mnStartPage ).getStr() );
+ pAttrList->add( XML_fitToWidth, OString::valueOf( (sal_Int32) mrData.mnFitToWidth ).getStr() );
+ pAttrList->add( XML_fitToHeight, OString::valueOf( (sal_Int32) mrData.mnFitToHeight ).getStr() );
+ pAttrList->add( XML_pageOrder, mrData.mbPrintInRows ? "overThenDown" : "downThenOver" );
+ pAttrList->add( XML_orientation, mrData.mbPortrait ? "portrait" : "landscape" ); // OOXTODO: "default"?
+ pAttrList->add( XML_usePrinterDefaults, XclXmlUtils::ToPsz( !mrData.mbValid ) );
+ pAttrList->add( XML_blackAndWhite, XclXmlUtils::ToPsz( mrData.mbBlackWhite ) );
+ pAttrList->add( XML_draft, XclXmlUtils::ToPsz( mrData.mbDraftQuality ) );
+ pAttrList->add( XML_cellComments, mrData.mbPrintNotes ? "atEnd" : "none" ); // OOXTODO: "asDisplayed"?
+ pAttrList->add( XML_useFirstPageNumber, XclXmlUtils::ToPsz( mrData.mbManualStart ) );
+ // OOXTODO: XML_errors, // == displayed|blank|dash|NA
+ pAttrList->add( XML_horizontalDpi, OString::valueOf( (sal_Int32) mrData.mnHorPrintRes ).getStr() );
+ pAttrList->add( XML_verticalDpi, OString::valueOf( (sal_Int32) mrData.mnVerPrintRes ).getStr() );
+ pAttrList->add( XML_copies, OString::valueOf( (sal_Int32) mrData.mnCopies ).getStr() );
+ // OOXTODO: devMode settings part RelationshipId: FSNS( XML_r, XML_id ),
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList > aAttrs(pAttrList);
+ rStrm.GetCurrentStream()->singleElement( XML_pageSetup, aAttrs );
}
void XclExpSetup::WriteBody( XclExpStream& rStrm )
diff --git a/sc/source/filter/excel/xlpage.cxx b/sc/source/filter/excel/xlpage.cxx
index 4af4828..6a68867 100644
--- a/sc/source/filter/excel/xlpage.cxx
+++ b/sc/source/filter/excel/xlpage.cxx
@@ -37,6 +37,7 @@
#include <editeng/brshitem.hxx>
#include "global.hxx"
#include "xlconst.hxx"
+#include <oox/core/xmlfilterbase.hxx>
// Paper size =================================================================
@@ -49,6 +50,8 @@ struct XclPaperSize
#define IN2TWIPS( v ) ((long)((v) * EXC_TWIPS_PER_INCH + 0.5))
#define MM2TWIPS( v ) ((long)((v) * EXC_TWIPS_PER_INCH / CM_PER_INCH / 10.0 + 0.5))
+#define TWIPS2MM( v ) ((long)((v - 0.5) / EXC_TWIPS_PER_INCH * CM_PER_INCH * 10.0))
+
static const XclPaperSize pPaperSizeTable[] =
{
@@ -190,6 +193,8 @@ void XclPageData::SetDefaults()
mfHdrLeftMargin = mfHdrRightMargin = XclTools::GetInchFromHmm( EXC_MARGIN_DEFAULT_HLR );
mfFtrLeftMargin = mfFtrRightMargin = XclTools::GetInchFromHmm( EXC_MARGIN_DEFAULT_FLR );
mnPaperSize = EXC_PAPERSIZE_DEFAULT;
+ mnPaperWidth = 0;
+ mnPaperHeight = 0;
mnCopies = 1;
mnStartPage = 0;
mnScaling = 100;
@@ -223,7 +228,7 @@ Size XclPageData::GetScPaperSize() const
return aSize;
}
-void XclPageData::SetScPaperSize( const Size& rSize, bool bPortrait )
+void XclPageData::SetScPaperSize( const Size& rSize, bool bPortrait, bool bStrictSize )
{
mbPortrait = bPortrait;
mnPaperSize = 0;
@@ -231,6 +236,20 @@ void XclPageData::SetScPaperSize( const Size& rSize, bool bPortrait )
long nHeight = bPortrait ? rSize.Height() : rSize.Width();
long nMaxWDiff = 80;
long nMaxHDiff = 50;
+
+ mnPaperWidth = TWIPS2MM( nWidth );
+ mnPaperHeight = TWIPS2MM( nHeight );
+ if( bStrictSize )
+ {
+ nMaxWDiff = 5;
+ nMaxHDiff = 5;
+ mnStrictPaperSize = EXC_PAPERSIZE_USER;
+ }
+ else
+ {
+ mnPaperSize = 0;
+ }
+
for( const XclPaperSize* pEntry = pPaperSizeTable; pEntry != STATIC_TABLE_END( pPaperSizeTable ); ++pEntry )
{
long nWDiff = Abs( pEntry->mnWidth - nWidth );
@@ -238,11 +257,18 @@ void XclPageData::SetScPaperSize( const Size& rSize, bool bPortrait )
if( ((nWDiff <= nMaxWDiff) && (nHDiff < nMaxHDiff)) ||
((nWDiff < nMaxWDiff) && (nHDiff <= nMaxHDiff)) )
{
- mnPaperSize = static_cast< sal_uInt16 >( pEntry - pPaperSizeTable );
+ sal_uInt16 nIndex = static_cast< sal_uInt16 >( pEntry - pPaperSizeTable );
+ if( !bStrictSize )
+ mnPaperSize = nIndex;
+ else
+ mnStrictPaperSize = mnPaperSize = nIndex;
+
nMaxWDiff = nWDiff;
nMaxHDiff = nHDiff;
}
}
+ if( !bStrictSize )
+ SetScPaperSize( rSize, bPortrait, sal_True );
}
// ============================================================================
diff --git a/sc/source/filter/inc/excrecds.hxx b/sc/source/filter/inc/excrecds.hxx
index ba075e9..109a280 100644
--- a/sc/source/filter/inc/excrecds.hxx
+++ b/sc/source/filter/inc/excrecds.hxx
@@ -286,6 +286,8 @@ public:
virtual UINT16 GetNum( void ) const;
virtual void SaveXml( XclExpXmlStream& rStrm );
+private:
+ BOOL bDateCompatibility;
};
diff --git a/sc/source/filter/inc/xlpage.hxx b/sc/source/filter/inc/xlpage.hxx
index 4878ba9..ea5cfc4 100644
--- a/sc/source/filter/inc/xlpage.hxx
+++ b/sc/source/filter/inc/xlpage.hxx
@@ -89,6 +89,7 @@ const sal_uInt16 EXC_SETUP_STARTPAGE = 0x0080;
const sal_uInt16 EXC_SETUP_NOTES_END = 0x0200;
const sal_uInt16 EXC_PAPERSIZE_DEFAULT = 0;
+const sal_uInt16 EXC_PAPERSIZE_USER = 0xFFFF;
// ============================================================================
@@ -118,6 +119,9 @@ struct XclPageData : ScfNoCopy
double mfFtrLeftMargin; /// Left margin to footer.
double mfFtrRightMargin; /// Right margin to footer.
sal_uInt16 mnPaperSize; /// Index into paper size table.
+ sal_uInt16 mnStrictPaperSize; /// Same as papersize - but for ooxml (considering stricter dimensions)
+ sal_uInt16 mnPaperWidth; /// Paper Width in mm
+ sal_uInt16 mnPaperHeight; /// Paper Height in mm
sal_uInt16 mnCopies; /// Number of copies.
sal_uInt16 mnStartPage; /// Start page number.
sal_uInt16 mnScaling; /// Scaling in percent.
@@ -147,7 +151,7 @@ struct XclPageData : ScfNoCopy
/** Returns the real paper size (twips) from the paper size index and paper orientation. */
Size GetScPaperSize() const;
/** Sets the Excel paper size index and paper orientation from Calc paper size (twips). */
- void SetScPaperSize( const Size& rSize, bool bPortrait );
+ void SetScPaperSize( const Size& rSize, bool bPortrait, bool bStrict = sal_False );
};
// ============================================================================
commit ad17361f991e06ba2b48ba5bc806e1589488fa44
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:59:35 2010 +0200
Merged xlsx-shared-xlsx-export-perf-rowbuffer.diff from ooo-build
diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index 352b8e2..df1273f 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -1999,9 +1999,7 @@ void XclExpRow::SaveXml( XclExpXmlStream& rStrm )
XclExpRowBuffer::XclExpRowBuffer( const XclExpRoot& rRoot ) :
XclExpRoot( rRoot ),
maOutlineBfr( rRoot ),
- maDimensions( rRoot ),
- mpLastUsedRow( 0 ),
- mnLastUsedXclRow( 0 )
+ maDimensions( rRoot )
{
}
@@ -2019,63 +2017,34 @@ void XclExpRowBuffer::CreateRows( SCROW nFirstFreeScRow )
void XclExpRowBuffer::Finalize( XclExpDefaultRowData& rDefRowData, const ScfUInt16Vec& rColXFIndexes )
{
- size_t nPos, nSize;
-
// *** Finalize all rows *** ----------------------------------------------
GetProgressBar().ActivateFinalRowsSegment();
- // unused blank cell records will be removed
- for( nPos = 0, nSize = maRowList.GetSize(); nPos < nSize; ++nPos )
- maRowList.GetRecord( nPos )->Finalize( rColXFIndexes );
+ RowMap::iterator itr, itrBeg = maRowMap.begin(), itrEnd = maRowMap.end();
+ for (itr = itrBeg; itr != itrEnd; ++itr)
+ itr->second->Finalize(rColXFIndexes);
// *** Default row format *** ---------------------------------------------
typedef ::std::map< XclExpDefaultRowData, size_t > XclExpDefRowDataMap;
XclExpDefRowDataMap aDefRowMap;
- // find default row format for rows beyond used area
- sal_uInt32 nDefaultXclRow = maRowList.IsEmpty() ? 0 : (maRowList.GetLastRecord()->GetXclRow() + 1);
XclExpDefaultRowData aMaxDefData;
size_t nMaxDefCount = 0;
- /* #i30411# Files saved with SO7/OOo1.x with nonstandard default column
- formatting cause big Excel files, because all rows from row 1 to row
- 32000 are exported. Now, if the used area goes exactly to row 32000,
- ignore all rows >32000.
- #i59220# Tolerance of +-128 rows for inserted/removed rows. */
- if( (nDefaultXclRow < 31872) || (nDefaultXclRow > 32128) )
- {
- sal_uInt16 nLastXclRow = static_cast< sal_uInt16 >( GetMaxPos().Row() );
- if( nDefaultXclRow <= nLastXclRow )
- {
- // create a dummy ROW record and fill aMaxDefData
- XclExpRowOutlineBuffer aOutlineBfr( GetRoot() );
- XclExpRow aRow( GetRoot(), nLastXclRow, aOutlineBfr, true );
- aMaxDefData = XclExpDefaultRowData( aRow );
- aDefRowMap[ aMaxDefData ] = nMaxDefCount =
- static_cast< size_t >( nLastXclRow - nDefaultXclRow + 1 );
- }
- }
-
// only look for default format in existing rows, if there are more than unused
- nSize = maRowList.GetSize();
- if( nMaxDefCount < nSize )
+ for (itr = itrBeg; itr != itrEnd; ++itr)
{
- for( nPos = 0; nPos < nSize; ++nPos )
+ const RowRef& rRow = itr->second;
+ if (rRow->IsDefaultable())
{
- XclExpRowRef xRow = maRowList.GetRecord( nPos );
- /* Collect formats of unused rows (rows without cells), which are able
- to be defaulted (i.e. no explicit format or outline level). */
- if( xRow->IsDefaultable() )
+ XclExpDefaultRowData aDefData( *rRow );
+ size_t& rnDefCount = aDefRowMap[ aDefData ];
+ ++rnDefCount;
+ if( rnDefCount > nMaxDefCount )
{
- XclExpDefaultRowData aDefData( *xRow );
- size_t& rnDefCount = aDefRowMap[ aDefData ];
- ++rnDefCount;
- if( rnDefCount > nMaxDefCount )
- {
- nMaxDefCount = rnDefCount;
- aMaxDefData = aDefData;
- }
+ nMaxDefCount = rnDefCount;
+ aMaxDefData = aDefData;
}
}
}
@@ -2090,24 +2059,23 @@ void XclExpRowBuffer::Finalize( XclExpDefaultRowData& rDefRowData, const ScfUInt
sal_uInt32 nFirstUsedXclRow = SAL_MAX_UINT32;
sal_uInt32 nFirstFreeXclRow = 0;
- for( nPos = 0, nSize = maRowList.GetSize(); nPos < nSize; ++nPos )
+ for (itr = itrBeg; itr != itrEnd; ++itr)
{
- XclExpRowRef xRow = maRowList.GetRecord( nPos );
-
+ const RowRef& rRow = itr->second;
// disable unused rows
- xRow->DisableIfDefault( aMaxDefData );
+ rRow->DisableIfDefault( aMaxDefData );
// find used column range
- if( !xRow->IsEmpty() ) // empty rows return (0...0) as used range
+ if( !rRow->IsEmpty() ) // empty rows return (0...0) as used range
{
- nFirstUsedXclCol = ::std::min( nFirstUsedXclCol, xRow->GetFirstUsedXclCol() );
- nFirstFreeXclCol = ::std::max( nFirstFreeXclCol, xRow->GetFirstFreeXclCol() );
+ nFirstUsedXclCol = ::std::min( nFirstUsedXclCol, rRow->GetFirstUsedXclCol() );
+ nFirstFreeXclCol = ::std::max( nFirstFreeXclCol, rRow->GetFirstFreeXclCol() );
}
// find used row range
- if( xRow->IsEnabled() )
+ if( rRow->IsEnabled() )
{
- sal_uInt16 nXclRow = xRow->GetXclRow();
+ sal_uInt16 nXclRow = rRow->GetXclRow();
nFirstUsedXclRow = ::std::min< sal_uInt32 >( nFirstUsedXclRow, nXclRow );
nFirstFreeXclRow = ::std::max< sal_uInt32 >( nFirstFreeXclRow, nXclRow + 1 );
}
@@ -2128,27 +2096,29 @@ void XclExpRowBuffer::Save( XclExpStream& rStrm )
maDimensions.Save( rStrm );
// save in blocks of 32 rows, each block contains first all ROWs, then all cells
- size_t nSize = maRowList.GetSize();
- size_t nBlockStart = 0;
- sal_uInt16 nStartXclRow = (nSize == 0) ? 0 : maRowList.GetRecord( 0 )->GetXclRow();
+ size_t nSize = maRowMap.size();
+ RowMap::iterator itr, itrBeg = maRowMap.begin(), itrEnd = maRowMap.end();
+ RowMap::iterator itrBlkStart = maRowMap.begin(), itrBlkEnd = maRowMap.begin();
+ sal_uInt16 nStartXclRow = (nSize == 0) ? 0 : itrBeg->second->GetXclRow();
- while( nBlockStart < nSize )
+
+ for (itr = itrBeg; itr != itrEnd; ++itr)
{
// find end of row block
- size_t nBlockEnd = nBlockStart + 1;
- while( (nBlockEnd < nSize) && (maRowList.GetRecord( nBlockEnd )->GetXclRow() - nStartXclRow < EXC_ROW_ROWBLOCKSIZE) )
- ++nBlockEnd;
+ ++itrBlkEnd;
+ while( (itrBlkEnd != itrEnd) && (itrBlkEnd->second->GetXclRow() - nStartXclRow < EXC_ROW_ROWBLOCKSIZE) )
+ ++itrBlkEnd;
// write the ROW records
- size_t nPos;
- for( nPos = nBlockStart; nPos < nBlockEnd; ++nPos )
- maRowList.GetRecord( nPos )->Save( rStrm );
+ RowMap::iterator itRow;
+ for( itRow = itrBlkStart; itRow != itrBlkEnd; ++itRow )
+ itRow->second->Save( rStrm );
// write the cell records
- for( nPos = nBlockStart; nPos < nBlockEnd; ++nPos )
- maRowList.GetRecord( nPos )->WriteCellList( rStrm );
+ for( itRow = itrBlkStart; itRow != itrBlkEnd; ++itRow )
+ itRow->second->WriteCellList( rStrm );
- nBlockStart = nBlockEnd;
+ itrBlkStart = itrBlkEnd;
nStartXclRow += EXC_ROW_ROWBLOCKSIZE;
}
}
@@ -2156,23 +2126,22 @@ void XclExpRowBuffer::Save( XclExpStream& rStrm )
void XclExpRowBuffer::SaveXml( XclExpXmlStream& rStrm )
{
sal_Int32 nNonEmpty = 0;
-
- size_t nRows = maRowList.GetSize();
- for( size_t i = 0; i < nRows; ++i)
- if( maRowList.GetRecord( i )->IsEnabled() )
+ RowMap::iterator itr = maRowMap.begin(), itrEnd = maRowMap.end();
+ for (; itr != itrEnd; ++itr)
+ if (itr->second->IsEnabled())
++nNonEmpty;
- if( nNonEmpty == 0 )
+ if (nNonEmpty == 0)
{
rStrm.GetCurrentStream()->singleElement( XML_sheetData, FSEND );
+ return;
}
- else
- {
- sax_fastparser::FSHelperPtr& rWorksheet = rStrm.GetCurrentStream();
- rWorksheet->startElement( XML_sheetData, FSEND );
- maRowList.SaveXml( rStrm );
- rWorksheet->endElement( XML_sheetData );
- }
+
+ sax_fastparser::FSHelperPtr& rWorksheet = rStrm.GetCurrentStream();
+ rWorksheet->startElement( XML_sheetData, FSEND );
+ for (itr = maRowMap.begin(); itr != itrEnd; ++itr)
+ itr->second->SaveXml(rStrm);
+ rWorksheet->endElement( XML_sheetData );
}
XclExpDimensions* XclExpRowBuffer::GetDimensions()
@@ -2182,18 +2151,14 @@ XclExpDimensions* XclExpRowBuffer::GetDimensions()
XclExpRow& XclExpRowBuffer::GetOrCreateRow( sal_uInt16 nXclRow, bool bRowAlwaysEmpty )
{
- if( !mpLastUsedRow || (mnLastUsedXclRow != nXclRow) )
+ RowMap::iterator itr = maRowMap.find(nXclRow);
+ if (itr == maRowMap.end())
{
- // fill up missing ROW records
- // do not use sal_uInt16 for nFirstFreeXclRow, would cause loop in full sheets
- for( size_t nFirstFreeXclRow = maRowList.GetSize(); nFirstFreeXclRow <= nXclRow; ++nFirstFreeXclRow )
- maRowList.AppendNewRecord( new XclExpRow(
- GetRoot(), static_cast< sal_uInt16 >( nFirstFreeXclRow ), maOutlineBfr, bRowAlwaysEmpty ) );
-
- mpLastUsedRow = maRowList.GetRecord( nXclRow ).get();
- mnLastUsedXclRow = nXclRow;
+ RowRef p(new XclExpRow(GetRoot(), nXclRow, maOutlineBfr, bRowAlwaysEmpty));
+ ::std::pair<RowMap::iterator, bool> r = maRowMap.insert(RowMap::value_type(nXclRow, p));
+ itr = r.first;
}
- return *mpLastUsedRow;
+ return *itr->second;
}
// ============================================================================
@@ -2260,7 +2225,7 @@ XclExpCellTable::XclExpCellTable( const XclExpRoot& rRoot ) :
// range for cell iterator
SCCOL nLastIterScCol = nMaxScCol;
- SCROW nLastIterScRow = ulimit_cast< SCROW >( nLastUsedScRow + 128, nMaxScRow );
+ SCROW nLastIterScRow = ulimit_cast< SCROW >( nLastUsedScRow, nMaxScRow );
ScUsedAreaIterator aIt( &rDoc, nScTab, 0, 0, nLastIterScCol, nLastIterScRow );
// activate the correct segment and sub segment at the progress bar
diff --git a/sc/source/filter/inc/xetable.hxx b/sc/source/filter/inc/xetable.hxx
index ff20f56..c344ec2 100644
--- a/sc/source/filter/inc/xetable.hxx
+++ b/sc/source/filter/inc/xetable.hxx
@@ -38,6 +38,9 @@
#include "xeformula.hxx"
#include "xestyle.hxx"
+#include <boost/shared_ptr.hpp>
+#include <map>
+
/* ============================================================================
Export of cell tables including row and column description.
- Managing all used and formatted cells in a sheet.
@@ -980,14 +983,12 @@ private:
XclExpRow& GetOrCreateRow( sal_uInt16 nXclRow, bool bRowAlwaysEmpty );
private:
- typedef XclExpRecordList< XclExpRow > XclExpRowList;
- typedef XclExpRowList::RecordRefType XclExpRowRef;
+ typedef ::boost::shared_ptr<XclExpRow> RowRef;
+ typedef ::std::map<sal_uInt32, RowRef> RowMap;
- XclExpRowList maRowList; /// List of all ROW records.
+ RowMap maRowMap;
XclExpRowOutlineBuffer maOutlineBfr; /// Buffer for row outline groups.
XclExpDimensions maDimensions; /// DIMENSIONS record for used area.
- XclExpRow* mpLastUsedRow; /// Last used row for faster access.
- sal_uInt16 mnLastUsedXclRow; /// Last used row for faster access.
};
// ============================================================================
commit 230ed9ef8b6efb7ebc75b5e6d90e35cb680cad70
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:58:15 2010 +0200
Merged xlsx-shared-xlsx-export-no-more-svstream-sotstorage.diff from ooo-build
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index bf1569b..8b63779 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -1096,9 +1096,10 @@ bool XclExpXmlStream::exportDocument() throw()
{
ScDocShell* pShell = getDocShell();
ScDocument* pDoc = pShell->GetDocument();
- SfxMedium* pMedium = pShell->GetMedium();
- SvStream* pMediumStream = pMedium->GetOutStream();
- SotStorageRef rStorage = new SotStorage( pMediumStream, false );
+ // NOTE: Don't use SotStorage or SvStream any more, and never call
+ // SfxMedium::GetOutStream() anywhere in the xlsx export filter code!
+ // Instead, write via XOutputStream instance.
+ SotStorageRef rStorage = static_cast<SotStorage*>(NULL);
XclExpRootData aData( EXC_BIFF8, *pShell->GetMedium (), rStorage, *pDoc, RTL_TEXTENCODING_DONTKNOW );
aData.meOutput = EXC_OUTPUT_XML_2007;
@@ -1107,7 +1108,7 @@ bool XclExpXmlStream::exportDocument() throw()
mpRoot = &aRoot;
aRoot.GetOldRoot().pER = &aRoot;
aRoot.GetOldRoot().eDateiTyp = Biff8;
-
+#if 0 // FIXME: Re-write this block without using SotStorage.
if ( SvtFilterOptions* pOptions = SvtFilterOptions::Get() )
if ( pShell && pOptions->IsLoadExcelBasicStorage() )
if ( sal_uInt32 nError
@@ -1118,7 +1119,7 @@ bool XclExpXmlStream::exportDocument() throw()
{
pShell->SetError( nError, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) );
}
-
+#endif
OUString const workbook = CREATE_OUSTRING( "xl/workbook.xml" );
PushStream( CreateOutputStream( workbook, workbook,
Reference <XOutputStream>(),
commit 41dce2a8e86caa9c2dff1e7b9da9246e4f258ad1
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:57:34 2010 +0200
Merged xlsx-shared-oox-calc-export-sotstorage-init.diff from ooo-build
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index 5ee9cb7..bf1569b 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -54,6 +54,10 @@
#include <formula/grammar.hxx>
#include <oox/export/drawingml.hxx>
+#include <sfx2/docfile.hxx>
+#include <sfx2/objsh.hxx>
+#include <sfx2/app.hxx>
+
#define DEBUG_XL_ENCRYPTION 0
using ::com::sun::star::beans::PropertyValue;
@@ -1092,7 +1096,9 @@ bool XclExpXmlStream::exportDocument() throw()
{
ScDocShell* pShell = getDocShell();
ScDocument* pDoc = pShell->GetDocument();
- SotStorageRef rStorage = dynamic_cast <SotStorage*>( Reference<XStorage>( pShell->GetStorage() ).get() );
+ SfxMedium* pMedium = pShell->GetMedium();
+ SvStream* pMediumStream = pMedium->GetOutStream();
+ SotStorageRef rStorage = new SotStorage( pMediumStream, false );
XclExpRootData aData( EXC_BIFF8, *pShell->GetMedium (), rStorage, *pDoc, RTL_TEXTENCODING_DONTKNOW );
aData.meOutput = EXC_OUTPUT_XML_2007;
commit 68c780b3efc0afc65db44a50aea067cb606f4f90
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:56:46 2010 +0200
Merged xlsx-shared-oox-calc-export-export-pivot-content.diff from ooo-build
diff --git a/sc/source/filter/excel/xepivot.cxx b/sc/source/filter/excel/xepivot.cxx
index 2e6294f..9a1989a 100644
--- a/sc/source/filter/excel/xepivot.cxx
+++ b/sc/source/filter/excel/xepivot.cxx
@@ -740,6 +740,8 @@ void XclExpPivotCache::Save( XclExpStream& rStrm )
void XclExpPivotCache::SaveXml( XclExpXmlStream& rStrm )
{
DBG_ASSERT( mbValid, "XclExpPivotCache::Save - invalid pivot cache" );
+#ifdef XLSX_PIVOT_CACHE /* <pivotCache> without xl/pivotCaches/ cacheStream
+ results in a broken .xlsx */
sax_fastparser::FSHelperPtr& rWorkbook = rStrm.GetCurrentStream();
OUString sId = OUStringBuffer()
.appendAscii("rId")
@@ -758,6 +760,7 @@ void XclExpPivotCache::SaveXml( XclExpXmlStream& rStrm )
// create the pivot cache storage stream
// OOXTODO: WriteCacheStream();
rWorkbook->endElement( XML_pivotCache );
+#endif /* XLSX_PIVOT_CACHE */
}
// private --------------------------------------------------------------------
@@ -1871,12 +1874,15 @@ void XclExpPivotTableManager::WritePivotCaches( XclExpStream& rStrm )
void XclExpPivotTableManager::WritePivotCachesXml( XclExpXmlStream& rStrm )
{
+#ifdef XLSX_PIVOT_CACHE /* <pivotCache> without xl/pivotCaches/ cacheStream
+ results in a broken .xlsx */
if( maPCacheList.IsEmpty() )
return;
sax_fastparser::FSHelperPtr& rWorkbook = rStrm.GetCurrentStream();
rWorkbook->startElement( XML_pivotCaches, FSEND );
maPCacheList.SaveXml( rStrm );
rWorkbook->endElement( XML_pivotCaches );
+#endif /* XLSX_PIVOT_CACHE */
}
void XclExpPivotTableManager::WritePivotTables( XclExpStream& rStrm, SCTAB nScTab )
commit bd47174b3fcadda86fa6f568a90cdf97721d884f
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:55:59 2010 +0200
Merged xlsx-shared-xlsx-export-cell-style-max-builtin.diff from ooo-build
diff --git a/sc/source/filter/excel/xestyle.cxx b/sc/source/filter/excel/xestyle.cxx
index 4c1814b..a4b3d36 100644
--- a/sc/source/filter/excel/xestyle.cxx
+++ b/sc/source/filter/excel/xestyle.cxx
@@ -2242,7 +2242,10 @@ void XclExpStyle::SaveXml( XclExpXmlStream& rStrm )
rStrm.GetCurrentStream()->singleElement( XML_cellStyle,
XML_name, sName.getStr(),
XML_xfId, OString::valueOf( nXFId ).getStr(),
- XML_builtinId, OString::valueOf( (sal_Int32) mnStyleId ).getStr(),
+/* mso-excel 2007 complains when it finds builtinId >= 55, it is not
+ * bothered by multiple 54 values. */
+#define CELL_STYLE_MAX_BUILTIN_ID 55
+ XML_builtinId, OString::valueOf( std::min( static_cast<sal_Int32>( CELL_STYLE_MAX_BUILTIN_ID - 1 ), static_cast <sal_Int32>( mnStyleId ) ) ).getStr(),
// OOXTODO: XML_iLevel,
// OOXTODO: XML_hidden,
XML_customBuiltin, XclXmlUtils::ToPsz( ! IsBuiltIn() ),
commit 469bdf8c402b8149f31a14698fec622c4e6f2ae1
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:55:23 2010 +0200
Merged xlsx-shared-xlsx-export-skip-auto-format.diff from ooo-build
diff --git a/sc/source/filter/excel/xepivot.cxx b/sc/source/filter/excel/xepivot.cxx
index 1d97d18..2e6294f 100644
--- a/sc/source/filter/excel/xepivot.cxx
+++ b/sc/source/filter/excel/xepivot.cxx
@@ -1399,7 +1399,9 @@ void XclExpPivotTable::SaveXml( XclExpXmlStream& rStrm )
XML_enableDrill, XclXmlUtils::ToPsz( maPTExtInfo.mnFlags & EXC_SXEX_DRILLDOWN ), // ???
// OOXTODO: XML_enableFieldProperties, [ SXEx fEnableFieldDialog (maPTExtInfo.mnFlags) ]
// OOXTODO: XML_preserveFormatting, [ SXEx fPreserveFormatting (maPTExtInfo.mnFlags) ]
- XML_useAutoFormatting,
+#if 0
+ // XML_useAutoFormatting, [???],
+#endif
// OOXTODO: XML_pageWrap, [ SXEx cWrapPage (maPTExtInfo.mnFlags) ]
// OOXTODO: XML_pageOverThenDown, [ SXEx fAcrossPageLay (maPTExtInfo.mnFlags) ]
// OOXTODO: XML_subtotalHiddenItems, [ SXEx fSubtotalHiddenPageItems (maPTExtInfo.mnFlags) ]
commit f6a7fcff8868858d50799af4320c45a8cb8b5c79
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:54:42 2010 +0200
Merged xlsx-shared-xlsx-export-simple-autofilter.diff from ooo-buil
diff --git a/sc/source/filter/excel/excrecds.cxx b/sc/source/filter/excel/excrecds.cxx
index 6285895..b9d87fa 100644
--- a/sc/source/filter/excel/excrecds.cxx
+++ b/sc/source/filter/excel/excrecds.cxx
@@ -843,6 +843,7 @@ ExcAutoFilterRecs::ExcAutoFilterRecs( const XclExpRoot& rRoot, SCTAB nTab ) :
XclExpRoot( rRoot ),
pFilterMode( NULL ),
pFilterInfo( NULL )
+ , mbAutoFilter (false)
{
ScDBCollection& rDBColl = GetDatabaseRanges();
XclExpNameManager& rNameMgr = GetNameManager();
@@ -943,6 +944,9 @@ ExcAutoFilterRecs::ExcAutoFilterRecs( const XclExpRoot& rRoot, SCTAB nTab ) :
if( !maFilterList.IsEmpty() )
pFilterMode = new XclExpFiltermode;
pFilterInfo = new XclExpAutofilterinfo( aRange.aStart, nColCnt );
+
+ if (maFilterList.IsEmpty () && !bConflict)
+ mbAutoFilter = true;
}
}
}
@@ -1000,7 +1004,7 @@ void ExcAutoFilterRecs::Save( XclExpStream& rStrm )
void ExcAutoFilterRecs::SaveXml( XclExpXmlStream& rStrm )
{
- if( maFilterList.IsEmpty() )
+ if( maFilterList.IsEmpty() && !mbAutoFilter )
return;
sax_fastparser::FSHelperPtr& rWorksheet = rStrm.GetCurrentStream();
@@ -1008,7 +1012,8 @@ void ExcAutoFilterRecs::SaveXml( XclExpXmlStream& rStrm )
XML_ref, XclXmlUtils::ToOString( maRef ).getStr(),
FSEND );
// OOXTODO: XML_extLst, XML_sortState
- maFilterList.SaveXml( rStrm );
+ if( !maFilterList.IsEmpty() )
+ maFilterList.SaveXml( rStrm );
rWorksheet->endElement( XML_autoFilter );
}
diff --git a/sc/source/filter/inc/excrecds.hxx b/sc/source/filter/inc/excrecds.hxx
index 4a99a7b..ba075e9 100644
--- a/sc/source/filter/inc/excrecds.hxx
+++ b/sc/source/filter/inc/excrecds.hxx
@@ -472,6 +472,7 @@ private:
XclExpFiltermode* pFilterMode;
XclExpAutofilterinfo* pFilterInfo;
ScRange maRef;
+ bool mbAutoFilter;
};
// ----------------------------------------------------------------------------
commit 5fced3b5d58afa378cce03c8937ff8c39d546ea1
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:53:56 2010 +0200
Merged xlsx-shared-xlsx-export-set-xml-2007-flavour.diff from ooo-build
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index 4bdb0a4..5ee9cb7 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -1095,6 +1095,7 @@ bool XclExpXmlStream::exportDocument() throw()
SotStorageRef rStorage = dynamic_cast <SotStorage*>( Reference<XStorage>( pShell->GetStorage() ).get() );
XclExpRootData aData( EXC_BIFF8, *pShell->GetMedium (), rStorage, *pDoc, RTL_TEXTENCODING_DONTKNOW );
+ aData.meOutput = EXC_OUTPUT_XML_2007;
XclExpRoot aRoot( aData );
mpRoot = &aRoot;
commit 9db5edb4a753b684b99bf3bde060fd727b22d69a
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:51:38 2010 +0200
Merged xlsx-shared-xlsx-arabic-export-crash.diff from ooo-build
diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index 7e32694..352b8e2 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -899,7 +899,7 @@ void XclExpFormulaCell::SaveXml( XclExpXmlStream& rStrm )
rWorksheet->startElement( XML_f,
// OOXTODO: XML_t, ST_CellFormulaType
- XML_aca, XclXmlUtils::ToPsz( mxTokArr->IsVolatile() || (mxAddRec.is() && mxAddRec->IsVolatile()) ),
+ XML_aca, XclXmlUtils::ToPsz( (mxTokArr.is() && mxTokArr->IsVolatile()) || (mxAddRec.is() && mxAddRec->IsVolatile()) ),
// OOXTODO: XML_ref, ST_Ref
// OOXTODO: XML_dt2D, bool
// OOXTODO: XML_dtr, bool
commit 1f3075f834ea6b524b9e56992c24f82225db521d
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:50:08 2010 +0200
Merged xlsx-shared-xlsx-shared-import-and-export.diff from ooo-build
diff --git a/sc/source/filter/excel/excdoc.cxx b/sc/source/filter/excel/excdoc.cxx
index cc4cfce..1f8d6a6 100644
--- a/sc/source/filter/excel/excdoc.cxx
+++ b/sc/source/filter/excel/excdoc.cxx
@@ -781,19 +781,17 @@ void ExcDocument::Write( SvStream& rSvStrm )
pExpChangeTrack->Write();
}
-void ExcDocument::WriteXml( SvStream& rStrm )
+void ExcDocument::WriteXml( XclExpXmlStream& rStrm )
{
- XclExpXmlStream aStrm( ::comphelper::getProcessServiceFactory(), rStrm, GetRoot() );
-
SfxObjectShell* pDocShell = GetDocShell();
using namespace ::com::sun::star;
uno::Reference<document::XDocumentPropertiesSupplier> xDPS( pDocShell->GetModel(), uno::UNO_QUERY_THROW );
uno::Reference<document::XDocumentProperties> xDocProps = xDPS->getDocumentProperties();
- aStrm.exportDocumentProperties( xDocProps );
+ rStrm.exportDocumentProperties( xDocProps );
- sax_fastparser::FSHelperPtr& rWorkbook = aStrm.GetCurrentStream();
+ sax_fastparser::FSHelperPtr& rWorkbook = rStrm.GetCurrentStream();
rWorkbook->startElement( XML_workbook,
XML_xmlns, "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
FSNS(XML_xmlns, XML_r), "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
@@ -810,7 +808,7 @@ void ExcDocument::WriteXml( SvStream& rStrm )
{
InitializeSave();
- aHeader.WriteXml( aStrm );
+ aHeader.WriteXml( rStrm );
for( size_t nTab = 0, nTabCount = maTableList.GetSize(); nTab < nTabCount; ++nTab )
{
@@ -821,17 +819,17 @@ void ExcDocument::WriteXml( SvStream& rStrm )
xBoundsheet->SetStreamPos( aXclStrm.GetSvStreamPos() );
#endif
// write the table
- maTableList.GetRecord( nTab )->WriteXml( aStrm );
+ maTableList.GetRecord( nTab )->WriteXml( rStrm );
}
}
if( pExpChangeTrack )
- pExpChangeTrack->WriteXml( aStrm );
+ pExpChangeTrack->WriteXml( rStrm );
rWorkbook->endElement( XML_workbook );
rWorkbook.reset();
- aStrm.commitStorage();
+ rStrm.commitStorage();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/excel/excel.cxx b/sc/source/filter/excel/excel.cxx
index e4207f8..c4c8230 100644
--- a/sc/source/filter/excel/excel.cxx
+++ b/sc/source/filter/excel/excel.cxx
@@ -262,25 +262,10 @@ static FltError lcl_ExportExcelBiff( SfxMedium& rMedium, ScDocument *pDocument,
return eRet;
}
-static FltError lcl_ExportExcel2007Xml( SfxMedium& rMedium, ScDocument *pDocument,
- SvStream* pMedStrm, CharSet eNach )
-{
- SotStorageRef xRootStrg = (SotStorage*) 0;
-
- XclExpRootData aExpData( EXC_BIFF8, rMedium, xRootStrg, *pDocument, eNach );
- aExpData.meOutput = EXC_OUTPUT_XML_2007;
-
- ExportXml2007 aFilter( aExpData, *pMedStrm );
-
- FltError eRet = aFilter.Write();
-
- return eRet;
-}
-
FltError ScFormatFilterPluginImpl::ScExportExcel5( SfxMedium& rMedium, ScDocument *pDocument,
ExportFormatExcel eFormat, CharSet eNach )
{
- if( eFormat != ExpBiff5 && eFormat != ExpBiff8 && eFormat != Exp2007Xml )
+ if( eFormat != ExpBiff5 && eFormat != ExpBiff8 )
return eERR_NI;
// check the passed Calc document
@@ -295,8 +280,6 @@ FltError ScFormatFilterPluginImpl::ScExportExcel5( SfxMedium& rMedium, ScDocumen
FltError eRet = eERR_UNKN_BIFF;
if( eFormat == ExpBiff5 || eFormat == ExpBiff8 )
eRet = lcl_ExportExcelBiff( rMedium, pDocument, pMedStrm, eFormat == ExpBiff8, eNach );
- else if( eFormat == Exp2007Xml )
- eRet = lcl_ExportExcel2007Xml( rMedium, pDocument, pMedStrm, eNach );
return eRet;
}
diff --git a/sc/source/filter/excel/expop2.cxx b/sc/source/filter/excel/expop2.cxx
index 10db502..4e89ed0 100644
--- a/sc/source/filter/excel/expop2.cxx
+++ b/sc/source/filter/excel/expop2.cxx
@@ -148,60 +148,4 @@ ExportBiff8::ExportBiff8( XclExpRootData& rExpData, SvStream& rStrm ) :
ExportBiff8::~ExportBiff8()
{
}
-
-
-ExportXml2007::ExportXml2007( XclExpRootData& rExpData, SvStream& rStrm )
- : ExportTyp( rStrm, &rExpData.mrDoc, rExpData.meTextEnc )
- , XclExpRoot( rExpData )
-{
- pExcRoot = &GetOldRoot();
- pExcRoot->pER = this;
- pExcRoot->eDateiTyp = Biff8;
- pExcDoc = new ExcDocument( *this );
-}
-
-
-ExportXml2007::~ExportXml2007()
-{
- delete pExcDoc;
-}
-
-
-FltError ExportXml2007::Write()
-{
- SfxObjectShell* pDocShell = GetDocShell();
- DBG_ASSERT( pDocShell, "ExportXml2007::Write - no document shell" );
-
- SotStorageRef xRootStrg = GetRootStorage();
- DBG_ASSERT( xRootStrg.Is(), "ExportXml2007::Write - no root storage" );
-
- bool bWriteBasicCode = false;
- bool bWriteBasicStrg = false;
-
- if( SvtFilterOptions* pFilterOpt = SvtFilterOptions::Get() )
- {
- bWriteBasicCode = pFilterOpt->IsLoadExcelBasicCode();
- bWriteBasicStrg = pFilterOpt->IsLoadExcelBasicStorage();
- }
-
- if( pDocShell && xRootStrg.Is() && bWriteBasicStrg )
- {
- SvxImportMSVBasic aBasicImport( *pDocShell, *xRootStrg, bWriteBasicCode, bWriteBasicStrg );
- ULONG nErr = aBasicImport.SaveOrDelMSVBAStorage( TRUE, EXC_STORAGE_VBA_PROJECT );
- if( nErr != ERRCODE_NONE )
- pDocShell->SetError( nErr, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) );
- }
-
- pExcDoc->ReadDoc(); // ScDoc -> ExcDoc
- pExcDoc->WriteXml( aOut ); // wechstreamen
-
- //! TODO: separate warnings for columns and sheets
- const XclExpAddressConverter& rAddrConv = GetAddressConverter();
- if( rAddrConv.IsColTruncated() || rAddrConv.IsRowTruncated() || rAddrConv.IsTabTruncated() )
- return SCWARN_EXPORT_MAXROW;
-
- return eERR_OK;
-}
-
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index 5f67972..4bdb0a4 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -47,6 +47,9 @@
#include "rangelst.hxx"
#include "compiler.hxx"
+#include <../../ui/inc/docsh.hxx>
+#include <excdoc.hxx>
+
#include <oox/core/tokens.hxx>
#include <formula/grammar.hxx>
#include <oox/export/drawingml.hxx>
@@ -54,14 +57,20 @@
#define DEBUG_XL_ENCRYPTION 0
using ::com::sun::star::beans::PropertyValue;
+using ::com::sun::star::embed::XStorage;
using ::com::sun::star::io::XOutputStream;
using ::com::sun::star::io::XStream;
using ::com::sun::star::lang::XComponent;
using ::com::sun::star::lang::XMultiServiceFactory;
using ::com::sun::star::lang::XServiceInfo;
+using ::com::sun::star::lang::XSingleServiceFactory;
+using ::com::sun::star::registry::InvalidRegistryException;
+using ::com::sun::star::registry::XRegistryKey;
+using ::com::sun::star::uno::Exception;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
using ::com::sun::star::uno::UNO_QUERY;
+using ::com::sun::star::uno::XInterface;
using ::rtl::OString;
using ::rtl::OUString;
using ::utl::OStreamWrapper;
@@ -951,29 +960,10 @@ sax_fastparser::FSHelperPtr XclXmlUtils::WriteFontData( sax_fastparser::FSHelper
// ============================================================================
-XclExpXmlStream::XclExpXmlStream( const Reference< XMultiServiceFactory >& rSMgr, SvStream& rStrm, const XclExpRoot& rRoot )
- : XmlFilterBase( rSMgr )
- , mrRoot( rRoot )
+XclExpXmlStream::XclExpXmlStream( const Reference< XMultiServiceFactory >& rSMgr )
+ : XmlFilterBase( rSMgr ),
+ mpRoot( NULL )
{
- Sequence< PropertyValue > aArgs( 1 );
- const OUString sStream( RTL_CONSTASCII_USTRINGPARAM( "StreamForOutput" ) );
- aArgs[0].Name = sStream;
- aArgs[0].Value <<= Reference< XStream > ( new OStreamWrapper( rStrm ) );
-
- XServiceInfo* pInfo = rRoot.GetDocModelObj();
- Reference< XComponent > aComponent( pInfo, UNO_QUERY );
- setSourceDocument( aComponent );
- filter( aArgs );
-
- PushStream( CreateOutputStream(
- OUString::createFromAscii( "xl/workbook.xml" ),
- OUString::createFromAscii( "xl/workbook.xml" ),
- Reference< XOutputStream >(),
- "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",
- "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" ) );
-
- DrawingML::ResetCounters();
- XclObjList::ResetCounters();
}
XclExpXmlStream::~XclExpXmlStream()
@@ -1086,14 +1076,57 @@ oox::drawingml::chart::ChartConverter& XclExpXmlStream::getChartConverter()
return * (oox::drawingml::chart::ChartConverter*) NULL;
}
-bool XclExpXmlStream::exportDocument() throw()
+ScDocShell* XclExpXmlStream::getDocShell()
{
- return false;
+ Reference< XInterface > xModel( getModel(), UNO_QUERY );
+
+ ScModelObj *pObj = dynamic_cast < ScModelObj* >( xModel.get() );
+
+ if ( pObj )
+ return reinterpret_cast < ScDocShell* >( pObj->GetEmbeddedObject() );
+
+ return 0;
}
-::rtl::OUString XclExpXmlStream::implGetImplementationName() const
+bool XclExpXmlStream::exportDocument() throw()
{
- return CREATE_OUSTRING( "TODO" );
+ ScDocShell* pShell = getDocShell();
+ ScDocument* pDoc = pShell->GetDocument();
+ SotStorageRef rStorage = dynamic_cast <SotStorage*>( Reference<XStorage>( pShell->GetStorage() ).get() );
+
+ XclExpRootData aData( EXC_BIFF8, *pShell->GetMedium (), rStorage, *pDoc, RTL_TEXTENCODING_DONTKNOW );
+ XclExpRoot aRoot( aData );
+
+ mpRoot = &aRoot;
+ aRoot.GetOldRoot().pER = &aRoot;
+ aRoot.GetOldRoot().eDateiTyp = Biff8;
+
+ if ( SvtFilterOptions* pOptions = SvtFilterOptions::Get() )
+ if ( pShell && pOptions->IsLoadExcelBasicStorage() )
+ if ( sal_uInt32 nError
+ = SvxImportMSVBasic( *pShell, *rStorage,
+ pOptions->IsLoadExcelBasicCode(),
+ pOptions->IsLoadExcelBasicStorage() )
+ .SaveOrDelMSVBAStorage( true, EXC_STORAGE_VBA_PROJECT) )
+ {
+ pShell->SetError( nError, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) );
+ }
+
+ OUString const workbook = CREATE_OUSTRING( "xl/workbook.xml" );
+ PushStream( CreateOutputStream( workbook, workbook,
+ Reference <XOutputStream>(),
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",
+ "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" ) );
+
+ // destruct at the end of the block
+ {
+ ExcDocument aDocRoot( aRoot );
+ aDocRoot.ReadDoc();
+ aDocRoot.WriteXml( *this );
+ }
+
+ mpRoot = NULL;
+ return true;
}
void XclExpXmlStream::Trace( const char* format, ...)
@@ -1104,4 +1137,99 @@ void XclExpXmlStream::Trace( const char* format, ...)
va_end( ap );
}
+//////////////////////////////////////////////////////////////////////////
+// UNO stuff so that the filter is registered
+//////////////////////////////////////////////////////////////////////////
+
+#define IMPL_NAME "com.sun.star.comp.oox.ExcelFilterExport"
+
+OUString XlsxExport_getImplementationName()
+{
+ return OUString( RTL_CONSTASCII_USTRINGPARAM( IMPL_NAME ) );
+}
+
+::rtl::OUString XclExpXmlStream::implGetImplementationName() const
+{
+ return CREATE_OUSTRING( "TODO" );
+}
+
+
+Sequence< OUString > SAL_CALL XlsxExport_getSupportedServiceNames() throw()
+{
+ const OUString aServiceName( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.document.ExportFilter" ) );
+ const Sequence< OUString > aSeq( &aServiceName, 1 );
+ return aSeq;
+}
+
+Reference< XInterface > SAL_CALL XlsxExport_createInstance(const Reference< XMultiServiceFactory > & rSMgr ) throw( Exception )
+{
+ return (cppu::OWeakObject*) new XclExpXmlStream( rSMgr );
+}
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** /* ppEnv */ )
+{
+ *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
+}
+
+SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( void* /* pServiceManager */, void* pRegistryKey )
+{
+ sal_Bool bRet = sal_False;
+
+ if( pRegistryKey )
+ {
+ try
+ {
+ Reference< XRegistryKey > xNewKey1(
+ static_cast< XRegistryKey* >( pRegistryKey )->createKey(
+ OUString::createFromAscii( IMPL_NAME "/UNO/SERVICES/" ) ) );
+ xNewKey1->createKey( XlsxExport_getSupportedServiceNames().getConstArray()[0] );
+
+ bRet = sal_True;
+ }
+ catch( InvalidRegistryException& )
+ {
+ OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
+ }
+ }
+
+ return bRet;
+}
+
+// ------------------------
+// - component_getFactory -
+// ------------------------
+
+SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* pImplName, void* pServiceManager, void* /* pRegistryKey */ )
+{
+ Reference< XSingleServiceFactory > xFactory;
+ void* pRet = 0;
+
+ if ( rtl_str_compare( pImplName, IMPL_NAME ) == 0 )
+ {
+ const OUString aServiceName( OUString::createFromAscii( IMPL_NAME ) );
+
+ xFactory = Reference< XSingleServiceFactory >( ::cppu::createSingleFactory(
+ reinterpret_cast< XMultiServiceFactory* >( pServiceManager ),
+ XlsxExport_getImplementationName(),
+ XlsxExport_createInstance,
+ XlsxExport_getSupportedServiceNames() ) );
+ }
+
+ if ( xFactory.is() )
+ {
+ xFactory->acquire();
+ pRet = xFactory.get();
+ }
+
+ return pRet;
+}
+
+#ifdef __cplusplus
+}
+#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/inc/excdoc.hxx b/sc/source/filter/inc/excdoc.hxx
index a05305d..25687f2 100644
--- a/sc/source/filter/inc/excdoc.hxx
+++ b/sc/source/filter/inc/excdoc.hxx
@@ -110,7 +110,7 @@ public:
void ReadDoc( void );
void Write( SvStream& rSvStrm );
- void WriteXml( SvStream& rSvStrm );
+ void WriteXml( XclExpXmlStream& );
};
diff --git a/sc/source/filter/inc/exp_op.hxx b/sc/source/filter/inc/exp_op.hxx
index a115c7b..6a8c150 100644
--- a/sc/source/filter/inc/exp_op.hxx
+++ b/sc/source/filter/inc/exp_op.hxx
@@ -127,21 +127,6 @@ public:
};
-class ExportXml2007 : public ExportTyp, protected XclExpRoot
-{
-private:
- ExcDocument* pExcDoc;
-
-protected:
- RootData* pExcRoot;
-
-public:
- ExportXml2007( XclExpRootData& rExpData, SvStream& rStrm );
- virtual ~ExportXml2007();
- FltError Write();
-};
-
-
#endif
diff --git a/sc/source/filter/inc/xestream.hxx b/sc/source/filter/inc/xestream.hxx
index 0cf6e4c..87cff88 100644
--- a/sc/source/filter/inc/xestream.hxx
+++ b/sc/source/filter/inc/xestream.hxx
@@ -257,6 +257,7 @@ private:
(s.Len() && s.GetChar( 0 ) != 0 ? XclXmlUtils::ToOString( s ).getStr() : NULL)
class ScAddress;
+class ScDocShell;
class ScDocument;
class ScFormulaCell;
class ScRange;
@@ -305,11 +306,11 @@ public:
class XclExpXmlStream : public oox::core::XmlFilterBase
{
public:
- XclExpXmlStream( const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rSMgr, SvStream& rStrm, const XclExpRoot& rRoot );
+ XclExpXmlStream( const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rSMgr );
virtual ~XclExpXmlStream();
/** Returns the filter root data. */
- inline const XclExpRoot& GetRoot() const { return mrRoot; }
+ inline const XclExpRoot& GetRoot() const { return *mpRoot; }
sax_fastparser::FSHelperPtr& GetCurrentStream();
void PushStream( sax_fastparser::FSHelperPtr aStream );
@@ -341,12 +342,13 @@ public:
void Trace( const char* format, ...);
private:
virtual ::rtl::OUString implGetImplementationName() const;
+ ScDocShell *getDocShell();
typedef std::map< ::rtl::OUString,
std::pair< ::rtl::OUString,
sax_fastparser::FSHelperPtr > > XclExpXmlPathToStateMap;
- const XclExpRoot& mrRoot; /// Filter root data.
+ const XclExpRoot* mpRoot;
std::stack< sax_fastparser::FSHelperPtr > maStreams;
XclExpXmlPathToStateMap maOpenedStreamMap;
};
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 6c3a98e..a4c5ea4 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -172,7 +172,6 @@ static const sal_Char __FAR_DATA pFilterExcel95[] = "MS Excel 95";
static const sal_Char __FAR_DATA pFilterEx95Temp[] = "MS Excel 95 Vorlage/Template";
static const sal_Char __FAR_DATA pFilterExcel97[] = "MS Excel 97";
static const sal_Char __FAR_DATA pFilterEx97Temp[] = "MS Excel 97 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterEx07Xml[] = "Calc MS Excel 2007 XML";
static const sal_Char __FAR_DATA pFilterDBase[] = "dBase";
static const sal_Char __FAR_DATA pFilterDif[] = "DIF";
static const sal_Char __FAR_DATA pFilterSylk[] = "SYLK";
@@ -2091,8 +2090,7 @@ BOOL __EXPORT ScDocShell::ConvertTo( SfxMedium &rMed )
}
else if (aFltName.EqualsAscii(pFilterExcel5) || aFltName.EqualsAscii(pFilterExcel95) ||
aFltName.EqualsAscii(pFilterExcel97) || aFltName.EqualsAscii(pFilterEx5Temp) ||
- aFltName.EqualsAscii(pFilterEx95Temp) || aFltName.EqualsAscii(pFilterEx97Temp) ||
- aFltName.EqualsAscii(pFilterEx07Xml))
+ aFltName.EqualsAscii(pFilterEx95Temp) || aFltName.EqualsAscii(pFilterEx97Temp))
{
WaitObject aWait( GetActiveDialogParent() );
@@ -2134,8 +2132,6 @@ BOOL __EXPORT ScDocShell::ConvertTo( SfxMedium &rMed )
ExportFormatExcel eFormat = ExpBiff5;
if( aFltName.EqualsAscii( pFilterExcel97 ) || aFltName.EqualsAscii( pFilterEx97Temp ) )
eFormat = ExpBiff8;
- if( aFltName.EqualsAscii( pFilterEx07Xml ) )
- eFormat = Exp2007Xml;
FltError eError = ScFormatFilter::Get().ScExportExcel5( rMed, &aDocument, eFormat, RTL_TEXTENCODING_MS_1252 );
if( eError && !GetError() )
diff --git a/sc/util/scfilt.map b/sc/util/scfilt.map
index 642b8db..ea169e1 100644
--- a/sc/util/scfilt.map
+++ b/sc/util/scfilt.map
@@ -1,6 +1,9 @@
UDK_3_0_0 {
global:
ScFilterCreate;
+ component_getImplementationEnvironment;
+ component_writeInfo;
+ component_getFactory;
local:
*;
};
commit d96bc3bf83a539526c783825f569c82f9147bcc7
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:44:47 2010 +0200
Merged xlsx-shared-xlsx-snapshot.diff from ooo-build
diff --git a/sc/source/filter/excel/excdoc.cxx b/sc/source/filter/excel/excdoc.cxx
index 0245521..cc4cfce 100644
--- a/sc/source/filter/excel/excdoc.cxx
+++ b/sc/source/filter/excel/excdoc.cxx
@@ -85,6 +85,8 @@
#include <math.h>
+#include <com/sun/star/document/XDocumentProperties.hpp>
+#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
#include <oox/core/tokens.hxx>
using ::rtl::OString;
@@ -120,27 +122,22 @@ static void lcl_AddCalcPr( XclExpRecordList<>& aRecList, ExcTable& self )
aRecList.AppendNewRecord( new XclExpXmlEndSingleElementRecord() ); // XML_calcPr
}
-#if 0
-// removed during rebase, because scsheetprotection02 is not yet up-stream :-(
static void lcl_AddWorkbookProtection( XclExpRecordList<>& aRecList, ExcTable& self )
{
aRecList.AppendNewRecord( new XclExpXmlStartSingleElementRecord( XML_workbookProtection ) );
+
const ScDocProtection* pProtect = self.GetDoc().GetDocProtection();
if (pProtect && pProtect->isProtected())
{
aRecList.AppendNewRecord( new XclExpWindowProtection(pProtect->isOptionEnabled(ScDocProtection::WINDOWS)) );
aRecList.AppendNewRecord( new XclExpProtection(pProtect->isOptionEnabled(ScDocProtection::STRUCTURE)) );
+#if ENABLE_SHEET_PROTECTION
aRecList.AppendNewRecord( new XclExpPassHash(pProtect->getPasswordHash(PASSHASH_XL)) );
+#endif
}
- if( self.GetBiff() == EXC_BIFF8 )
- {
- aRecList.AppendNewRecord( new XclExpProt4Rev );
- aRecList.AppendNewRecord( new XclExpProt4RevPass );
- }
aRecList.AppendNewRecord( new XclExpXmlEndSingleElementRecord() ); // XML_workbookProtection
}
-#endif
static void lcl_AddScenariosAndFilters( XclExpRecordList<>& aRecList, const XclExpRoot& rRoot, SCTAB nScTab )
{
@@ -268,30 +265,25 @@ void ExcTable::FillAsHeader( ExcBoundsheetList& rBoundsheetList )
}
// document protection options
- const ScDocProtection* pProtect = GetDoc().GetDocProtection();
- if (pProtect && pProtect->isProtected())
+ if( GetOutput() == EXC_OUTPUT_BINARY )
{
- Add( new XclExpWindowProtection(pProtect->isOptionEnabled(ScDocProtection::WINDOWS)) );
- Add( new XclExpProtection(pProtect->isOptionEnabled(ScDocProtection::STRUCTURE)) );
-#if ENABLE_SHEET_PROTECTION
- Add( new XclExpPassHash(pProtect->getPasswordHash(PASSHASH_XL)) );
-#endif
- }
+ lcl_AddWorkbookProtection( aRecList, *this );
- if( GetBiff() == EXC_BIFF8 )
- {
- Add( new XclExpProt4Rev );
- Add( new XclExpProt4RevPass );
- }
+ if( GetBiff() == EXC_BIFF8 )
+ {
+ Add( new XclExpProt4Rev );
+ Add( new XclExpProt4RevPass );
+ }
- // document protection options
- if( GetOutput() == EXC_OUTPUT_BINARY )
- {
- //lcl_AddWorkbookProtection( aRecList, *this );
lcl_AddBookviews( aRecList, *this );
}
Add( new XclExpXmlStartSingleElementRecord( XML_workbookPr ) );
+ if ( GetBiff() == EXC_BIFF8 && GetOutput() != EXC_OUTPUT_BINARY )
+ {
+ Add( new XclExpBoolRecord(0x0040, false, XML_backupFile ) ); // BACKUP
+ Add( new XclExpBoolRecord(0x008D, false, XML_showObjects ) ); // HIDEOBJ
+ }
if ( GetBiff() == EXC_BIFF8 )
{
@@ -375,7 +367,7 @@ void ExcTable::FillAsHeader( ExcBoundsheetList& rBoundsheetList )
if( GetOutput() != EXC_OUTPUT_BINARY )
{
- //lcl_AddWorkbookProtection( aRecList, *this );
+ lcl_AddWorkbookProtection( aRecList, *this );
lcl_AddBookviews( aRecList, *this );
}
@@ -636,6 +628,9 @@ void ExcTable::FillAsXmlTable( SCTAB nCodeNameIdx )
}
}
+ // all MSODRAWING and OBJ stuff of this sheet goes here
+ aRecList.AppendRecord( GetObjectManager().ProcessDrawing( GetSdrPage( mnScTab ) ) );
+
// EOF
Add( new ExcEof );
}
@@ -788,25 +783,33 @@ void ExcDocument::Write( SvStream& rSvStrm )
void ExcDocument::WriteXml( SvStream& rStrm )
{
+ XclExpXmlStream aStrm( ::comphelper::getProcessServiceFactory(), rStrm, GetRoot() );
+
+ SfxObjectShell* pDocShell = GetDocShell();
+
+ using namespace ::com::sun::star;
+ uno::Reference<document::XDocumentPropertiesSupplier> xDPS( pDocShell->GetModel(), uno::UNO_QUERY_THROW );
+ uno::Reference<document::XDocumentProperties> xDocProps = xDPS->getDocumentProperties();
+
+ aStrm.exportDocumentProperties( xDocProps );
+
+ sax_fastparser::FSHelperPtr& rWorkbook = aStrm.GetCurrentStream();
+ rWorkbook->startElement( XML_workbook,
+ XML_xmlns, "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
+ FSNS(XML_xmlns, XML_r), "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
+ FSEND );
+ rWorkbook->singleElement( XML_fileVersion,
+ XML_appName, "Calc",
+ // OOXTODO: XML_codeName
+ // OOXTODO: XML_lastEdited
+ // OOXTODO: XML_lowestEdited
+ // OOXTODO: XML_rupBuild
+ FSEND );
+
if( !maTableList.IsEmpty() )
{
InitializeSave();
- XclExpXmlStream aStrm( ::comphelper::getProcessServiceFactory(), rStrm, GetRoot() );
-
- sax_fastparser::FSHelperPtr& rWorkbook = aStrm.GetCurrentStream();
- rWorkbook->startElement( XML_workbook,
- XML_xmlns, "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
- FSNS(XML_xmlns, XML_r), "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
- FSEND );
- rWorkbook->singleElement( XML_fileVersion,
- XML_appName, "Calc",
- // OOXTODO: XML_codeName
- // OOXTODO: XML_lastEdited
- // OOXTODO: XML_lowestEdited
- // OOXTODO: XML_rupBuild
- FSEND );
-
aHeader.WriteXml( aStrm );
for( size_t nTab = 0, nTabCount = maTableList.GetSize(); nTab < nTabCount; ++nTab )
@@ -820,15 +823,15 @@ void ExcDocument::WriteXml( SvStream& rStrm )
// write the table
maTableList.GetRecord( nTab )->WriteXml( aStrm );
}
-
- rWorkbook->endElement( XML_workbook );
- rWorkbook.reset();
- aStrm.commitStorage();
}
-#if 0
+
if( pExpChangeTrack )
- pExpChangeTrack->WriteXml();
-#endif
+ pExpChangeTrack->WriteXml( aStrm );
+
+ rWorkbook->endElement( XML_workbook );
+ rWorkbook.reset();
+
+ aStrm.commitStorage();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/excel/excrecds.cxx b/sc/source/filter/excel/excrecds.cxx
index e37fb20..6285895 100644
--- a/sc/source/filter/excel/excrecds.cxx
+++ b/sc/source/filter/excel/excrecds.cxx
@@ -155,6 +155,10 @@ void ExcRecord::WriteBody( XclExpStream& rStrm )
SaveCont( rStrm );
}
+void ExcRecord::SaveXml( XclExpXmlStream& rStrm )
+{
+}
+
//--------------------------------------------------------- class ExcEmptyRec -
diff --git a/sc/source/filter/excel/expop2.cxx b/sc/source/filter/excel/expop2.cxx
index e018710..10db502 100644
--- a/sc/source/filter/excel/expop2.cxx
+++ b/sc/source/filter/excel/expop2.cxx
@@ -195,20 +195,6 @@ FltError ExportXml2007::Write()
pExcDoc->ReadDoc(); // ScDoc -> ExcDoc
pExcDoc->WriteXml( aOut ); // wechstreamen
- if( pDocShell && xRootStrg.Is() )
- {
- using namespace ::com::sun::star;
- uno::Reference<document::XDocumentPropertiesSupplier> xDPS(
- pDocShell->GetModel(), uno::UNO_QUERY_THROW);
- uno::Reference<document::XDocumentProperties> xDocProps
- = xDPS->getDocumentProperties();
- ::boost::shared_ptr<GDIMetaFile> pMetaFile =
- pDocShell->GetPreviewMetaFile (sal_False);
- uno::Sequence<sal_uInt8> metaFile(
- sfx2::convertMetaFile(pMetaFile.get()));
- sfx2::SaveOlePropertySet(xDocProps, xRootStrg, &metaFile);
- }
-
//! TODO: separate warnings for columns and sheets
const XclExpAddressConverter& rAddrConv = GetAddressConverter();
if( rAddrConv.IsColTruncated() || rAddrConv.IsRowTruncated() || rAddrConv.IsTabTruncated() )
diff --git a/sc/source/filter/excel/xeescher.cxx b/sc/source/filter/excel/xeescher.cxx
index e46c4af..fcb7e20 100644
--- a/sc/source/filter/excel/xeescher.cxx
+++ b/sc/source/filter/excel/xeescher.cxx
@@ -69,6 +69,7 @@
#include "svx/unoapi.hxx"
#include <oox/core/tokens.hxx>
+#include <oox/export/drawingml.hxx>
using ::rtl::OString;
using ::rtl::OUString;
@@ -90,6 +91,7 @@ using ::com::sun::star::form::binding::XListEntrySource;
using ::com::sun::star::script::ScriptEventDescriptor;
using ::com::sun::star::table::CellAddress;
using ::com::sun::star::table::CellRangeAddress;
+using ::oox::drawingml::DrawingML;
// Escher client anchor =======================================================
@@ -298,6 +300,17 @@ void XclExpImgData::Save( XclExpStream& rStrm )
}
}
+void XclExpImgData::SaveXml( XclExpXmlStream& rStrm )
+{
+ sax_fastparser::FSHelperPtr pWorksheet = rStrm.GetCurrentStream();
+
+ DrawingML aDML( pWorksheet, &rStrm, DrawingML::DOCUMENT_XLSX );
+ OUString rId = aDML.WriteImage( maGraphic );
+ pWorksheet->singleElement( XML_picture,
+ FSNS( XML_r, XML_id ), XclXmlUtils::ToOString( rId ).getStr(),
+ FSEND );
+}
+
// ============================================================================
XclExpControlHelper::XclExpControlHelper( const XclExpRoot& rRoot ) :
@@ -1004,7 +1017,7 @@ XclExpNote::XclExpNote( const XclExpRoot& rRoot, const ScAddress& rScPos,
if( pScNote )
if( SdrCaptionObj* pCaption = pScNote->GetOrCreateCaption( maScPos ) )
if( const OutlinerParaObject* pOPO = pCaption->GetOutlinerParaObject() )
- mnObjId = rRoot.GetObjectManager().AddObj( new XclObjComment( rRoot.GetObjectManager(), pCaption->GetLogicRect(), pOPO->GetTextObject(), pCaption, mbVisible ) );
+ mnObjId = rRoot.GetObjectManager().AddObj( new XclObjComment( rRoot.GetObjectManager(), pCaption->GetLogicRect(), pOPO->GetTextObject(), pCaption, mbVisible, maScPos ) );
SetRecSize( 9 + maAuthor.GetSize() );
}
@@ -1089,9 +1102,14 @@ void XclExpNote::WriteXml( sal_Int32 nAuthorId, XclExpXmlStream& rStrm )
FSEND );
rComments->startElement( XML_text, FSEND );
// OOXTODO: phoneticPr, rPh, r
+#if 0
rComments->startElement( XML_t, FSEND );
rComments->writeEscaped( XclXmlUtils::ToOUString( maOrigNoteText ) );
rComments->endElement ( XML_t );
+#else
+ if( mpNoteContents.is() )
+ mpNoteContents->WriteXml( rStrm );
+#endif
rComments->endElement( XML_text );
rComments->endElement( XML_comment );
}
@@ -1173,7 +1191,7 @@ struct OUStringLess : public std::binary_function<OUString, OUString, bool>
{
bool operator()(const OUString& x, const OUString& y) const
{
- return x.compareTo( y ) <= 0;
+ return x.compareTo( y ) < 0;
}
};
diff --git a/sc/source/filter/excel/xename.cxx b/sc/source/filter/excel/xename.cxx
index 42f2c08..0d2056a 100644
--- a/sc/source/filter/excel/xename.cxx
+++ b/sc/source/filter/excel/xename.cxx
@@ -563,7 +563,7 @@ sal_uInt16 XclExpNameManagerImpl::CreateName( const ScRangeData& rRangeData )
xName->SetTokenArray( xTokArr );
String sSymbol;
- rRangeData.GetSymbol( sSymbol, formula::FormulaGrammar::GRAM_NATIVE_XL_A1 );
+ rRangeData.GetSymbol( sSymbol, formula::FormulaGrammar::GRAM_ENGLISH_XL_A1 );
xName->SetSymbol( sSymbol );
/* Try to replace by existing built-in name - complete token array is
diff --git a/sc/source/filter/excel/xepivot.cxx b/sc/source/filter/excel/xepivot.cxx
index 7b09f06..1d97d18 100644
--- a/sc/source/filter/excel/xepivot.cxx
+++ b/sc/source/filter/excel/xepivot.cxx
@@ -1346,6 +1346,147 @@ void XclExpPivotTable::Save( XclExpStream& rStrm )
}
}
+void XclExpPivotTable::SaveXml( XclExpXmlStream& rStrm )
+{
+ if( !mbValid )
+ return;
+ sax_fastparser::FSHelperPtr aPivotTableDefinition = rStrm.CreateOutputStream(
+ XclXmlUtils::GetStreamName( "xl/", "pivotTables/pivotTable", mnOutScTab+1),
+ XclXmlUtils::GetStreamName( "../", "pivotTables/pivotTable", mnOutScTab+1),
+ rStrm.GetCurrentStream()->getOutputStream(),
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml",
+ "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable");
+ rStrm.PushStream( aPivotTableDefinition );
+
+ aPivotTableDefinition->startElement( XML_pivotTableDefinition,
+ XML_xmlns, "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
+ XML_name, XclXmlUtils::ToOString( maPTInfo.maTableName ).getStr(),
+ XML_cacheId, OString::valueOf( (sal_Int32) maPTInfo.mnCacheIdx ).getStr(),
+ XML_dataOnRows, XclXmlUtils::ToPsz( maPTInfo.mnDataAxis == EXC_SXVD_AXIS_COL ),
+ XML_dataPosition, OString::valueOf( (sal_Int32) maPTInfo.mnDataPos ).getStr(),
+ XML_autoFormatId, OString::valueOf( (sal_Int32) maPTInfo.mnAutoFmtIdx ).getStr(),
+ // OOXTODO: XML_applyNumberFormats, [ SXVIEW fAtrNum (maPTInfo.mnFlags) ]
+ // OOXTODO: XML_applyBorderFormats, [ SXVIEW fAtrBdr (maPTInfo.mnFlags) ]
+ // OOXTODO: XML_applyFontFormats, [ SXVIEW fAtrFnt (maPTInfo.mnFlags) ]
+ // OOXTODO: XML_applyPatternFormats, [ SXVIEW fAtrPat (maPTInfo.mnFlags) ]
+ // OOXTODO: XML_applyAlignmentFormats, [ SXVIEW fAtrAlc (maPTInfo.mnFlags) ]
+ // OOXTODO: XML_applyWidthHeightFormats, [ SXVIEW fAtrProc (maPTInfo.mnFlags) ]
+ XML_dataCaption, XclXmlUtils::ToOString( maPTInfo.maDataName ).getStr(),
+ // OOXTODO: XML_grandTotalCaption, [ SxViewEx9 chGrand ]
+ // OOXTODO: XML_errorCaption, [ SXEx stError ]
+ // OOXTODO: XML_showError, [ SXEx fDisplayErrorString ]
+ // OOXTODO: XML_missingCaption, [ SXEx stDisplayNull ]
+ // OOXTODO: XML_showMissing, [ SXEx fDisplayNullString ]
+ // OOXTODO: XML_pageStyle, [ SXEx stPageFieldStyle ]
+ // OOXTODO: XML_pivotTableStyle, [ SXEx stTableStyle ]
+ // OOXTODO: XML_vacatedStyle, [ SXEx stVacateStyle ]
+ // OOXTODO: XML_tag, [ SXEx stTag ]
+ // OOXTODO: XML_updatedVersion, [ app-dependent ]
+ // OOXTODO: XML_minRefreshableVersion, [ app-dependent ]
+ // OOXTODO: XML_asteriskTotals, [ QsiSXTag/SXView9Save fHideTotAnnotation ]
+ // OOXTODO: XML_showItems, [ ??? ]
+ // OOXTODO: XML_editData, [ ??? ]
+ // OOXTODO: XML_disableFieldList, [ SXEx fEnableFieldDialog? ]
+ // OOXTODO: XML_showCalcMbrs, [ ??? ]
+ // OOXTODO: XML_visualTotals, [ ??? ]
+ // OOXTODO: XML_showMultipleLabel, [ SXEx fMergeLabels? ]
+ // OOXTODO: XML_showDataDropDown, [ SXEx fEnableDrillDown? ]
+ // OOXTODO: XML_showDrill, [ ??? ]
+ // OOXTODO: XML_printDrill, [ ??? ]
+ // OOXTODO: XML_showMemberPropertyTips,
+ // OOXTODO: XML_showDataTips,
+ // OOXTODO: XML_enableWizard,
+ XML_enableDrill, XclXmlUtils::ToPsz( maPTExtInfo.mnFlags & EXC_SXEX_DRILLDOWN ), // ???
+ // OOXTODO: XML_enableFieldProperties, [ SXEx fEnableFieldDialog (maPTExtInfo.mnFlags) ]
+ // OOXTODO: XML_preserveFormatting, [ SXEx fPreserveFormatting (maPTExtInfo.mnFlags) ]
+ XML_useAutoFormatting,
+ // OOXTODO: XML_pageWrap, [ SXEx cWrapPage (maPTExtInfo.mnFlags) ]
+ // OOXTODO: XML_pageOverThenDown, [ SXEx fAcrossPageLay (maPTExtInfo.mnFlags) ]
+ // OOXTODO: XML_subtotalHiddenItems, [ SXEx fSubtotalHiddenPageItems (maPTExtInfo.mnFlags) ]
+ XML_rowGrandTotals, XclXmlUtils::ToPsz( maPTInfo.mnFlags & EXC_SXVIEW_ROWGRAND ),
+ XML_colGrandTotals, XclXmlUtils::ToPsz( maPTInfo.mnFlags & EXC_SXVIEW_COLGRAND ),
+ // OOXTODO: XML_fieldPrintTitles,
+ // OOXTODO: XML_itemPrintTitles,
+ // OOXTODO: XML_mergeItem,
+ // OOXTODO: XML_showDropZones,
+ // OOXTODO: XML_createdVersion,
+ // OOXTODO: XML_indent,
+ // OOXTODO: XML_showEmptyRow,
+ // OOXTODO: XML_showEmptyCol,
+ // OOXTODO: XML_showHeaders,
+ // OOXTODO: XML_compact,
+ // OOXTODO: XML_outline,
+ // OOXTODO: XML_outlineData,
+ // OOXTODO: XML_compactData,
+ // OOXTODO: XML_published,
+ // OOXTODO: XML_gridDropZones,
+ // OOXTODO: XML_immersive,
+ // OOXTODO: XML_multipleFieldFilters,
+ // OOXTODO: XML_chartFormat,
+ // OOXTODO: XML_rowHeaderCaption,
+ // OOXTODO: XML_colHeaderCaption,
+ // OOXTODO: XML_fieldListSortAscending,
+ // OOXTODO: XML_mdxSubqueries,
+ // OOXTODO: XML_customListSort,
+ FSEND );
+
+ aPivotTableDefinition->singleElement( XML_location,
+ XML_ref, XclXmlUtils::ToOString( maPTInfo.maOutXclRange ).getStr(),
+ XML_firstHeaderRow, OString::valueOf( (sal_Int32) maPTInfo.mnFirstHeadRow ).getStr(),
+ XML_firstDataRow, OString::valueOf( (sal_Int32) maPTInfo.maDataXclPos.mnRow ).getStr(),
+ XML_firstDataCol, OString::valueOf( (sal_Int32) maPTInfo.maDataXclPos.mnCol ).getStr(),
+ XML_rowPageCount, OString::valueOf( (sal_Int32) maPTInfo.mnDataRows ).getStr(), // OOXTODO?
+ XML_colPageCount, OString::valueOf( (sal_Int32) maPTInfo.mnDataCols ).getStr(), // OOXTODO?
+ FSEND );
+
+ // OOXTODO: XML_pivotFields
+
+ // maPTInfo.mnFields?
+ if( maPTInfo.mnRowFields )
+ {
+ aPivotTableDefinition->startElement( XML_rowFields,
+ XML_count, OString::valueOf( (sal_Int32) maPTInfo.mnRowFields ).getStr(),
+ FSEND );
+ aPivotTableDefinition->endElement( XML_rowFields );
+ }
+
+ // OOXTODO: XML_rowItems
+
+ if( maPTInfo.mnColFields )
+ {
+ aPivotTableDefinition->startElement( XML_colFields,
+ XML_count, OString::valueOf( (sal_Int32) maPTInfo.mnColFields ).getStr(),
+ FSEND );
+ aPivotTableDefinition->endElement( XML_colFields );
+ }
+
+ // OOXTODO: XML_colItems
+
+ if( maPTInfo.mnPageFields )
+ {
+ aPivotTableDefinition->startElement( XML_pageFields,
+ XML_count, OString::valueOf( (sal_Int32) maPTInfo.mnPageFields ).getStr(),
+ FSEND );
+ aPivotTableDefinition->endElement( XML_pageFields );
+ }
+
+ if( maPTInfo.mnDataFields )
+ {
+ aPivotTableDefinition->startElement( XML_dataFields,
+ XML_count, OString::valueOf( (sal_Int32) maPTInfo.mnDataFields ).getStr(),
+ FSEND );
+ aPivotTableDefinition->endElement( XML_dataFields );
+ }
+
+ // OOXTODO: XML_formats, XML_conditionalFormats, XML_chartFormats,
+ // XML_pivotHierarchies, XML_pivotTableStyleInfo, XML_filters,
+ // XML_rowHierarchiesUsage, XML_colHierarchiesUsage, XML_ext
+
+ aPivotTableDefinition->endElement( XML_pivotTableDefinition );
+
+ rStrm.PopStream();
+}
+
// private --------------------------------------------------------------------
XclExpPTField* XclExpPivotTable::GetFieldAcc( const String& rName )
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index d666c38..5f67972 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -43,11 +43,13 @@
#include "xlstring.hxx"
#include "xeroot.hxx"
#include "xestyle.hxx"
+#include "xcl97rec.hxx"
#include "rangelst.hxx"
#include "compiler.hxx"
#include <oox/core/tokens.hxx>
#include <formula/grammar.hxx>
+#include <oox/export/drawingml.hxx>
#define DEBUG_XL_ENCRYPTION 0
@@ -644,6 +646,70 @@ void XclExpBiff8Encrypter::EncryptBytes( SvStream& rStrm, vector<sal_uInt8>& aBy
mnOldPos = nStrmPos;
}
+static const char* lcl_GetErrorString( USHORT nScErrCode )
+{
+ sal_uInt8 nXclErrCode = XclTools::GetXclErrorCode( nScErrCode );
+ switch( nXclErrCode )
+ {
+ case EXC_ERR_NULL: return "#NULL!";
+ case EXC_ERR_DIV0: return "#DIV/0!";
+ case EXC_ERR_VALUE: return "#VALUE!";
+ case EXC_ERR_REF: return "#REF!";
+ case EXC_ERR_NAME: return "#NAME?";
+ case EXC_ERR_NUM: return "#NUM!";
+ case EXC_ERR_NA:
+ default: return "#N/A";
+ }
+}
+
+void XclXmlUtils::GetFormulaTypeAndValue( ScFormulaCell& rCell, const char*& rsType, OUString& rsValue )
+{
+ switch( rCell.GetFormatType() )
+ {
+ case NUMBERFORMAT_NUMBER:
+ {
+ // either value or error code
+ USHORT nScErrCode = rCell.GetErrCode();
+ if( nScErrCode )
+ {
+ rsType = "e";
+ rsValue = ToOUString( lcl_GetErrorString( nScErrCode ) );
+ }
+ else
+ {
+ rsType = "n";
+ rsValue = OUString::valueOf( rCell.GetValue() );
+ }
+ }
+ break;
+
+ case NUMBERFORMAT_TEXT:
+ {
+ rsType = "str";
+ String aResult;
+ rCell.GetString( aResult );
+ rsValue = ToOUString( aResult );
+ }
+ break;
+
+ case NUMBERFORMAT_LOGICAL:
+ {
+ rsType = "b";
+ rsValue = ToOUString( rCell.GetValue() == 0.0 ? "0" : "1" );
+ }
+ break;
+
+ default:
+ {
+ rsType = "inlineStr";
+ String aResult;
+ rCell.GetString( aResult );
+ rsValue = ToOUString( aResult );
+ }
+ break;
+ }
+}
+
rtl::OUString XclXmlUtils::GetStreamName( const char* sStreamDir, const char* sStream, sal_Int32 nId )
{
rtl::OUStringBuffer sBuf;
@@ -735,6 +801,11 @@ static ScRange lcl_ToRange( const XclRange& rRange )
return aRange;
}
+rtl::OString XclXmlUtils::ToOString( const XclRange& rRange )
+{
+ return ToOString( lcl_ToRange( rRange ) );
+}
+
rtl::OString XclXmlUtils::ToOString( const XclRangeList& rRanges )
{
ScRangeList aRanges;
@@ -767,7 +838,7 @@ OUString XclXmlUtils::ToOUString( const String& s )
rtl::OUString XclXmlUtils::ToOUString( ScDocument& rDocument, const ScAddress& rAddress, ScTokenArray* pTokenArray )
{
ScCompiler aCompiler( &rDocument, rAddress, *pTokenArray);
- aCompiler.SetGrammar(FormulaGrammar::GRAM_NATIVE_XL_A1);
+ aCompiler.SetGrammar(FormulaGrammar::GRAM_ENGLISH_XL_A1);
String s;
aCompiler.CreateStringFromTokenArray( s );
return ToOUString( s );
@@ -784,6 +855,100 @@ const char* XclXmlUtils::ToPsz( bool b )
return b ? "true" : "false";
}
+sax_fastparser::FSHelperPtr XclXmlUtils::WriteElement( sax_fastparser::FSHelperPtr pStream, sal_Int32 nElement, sal_Int32 nValue )
+{
+ pStream->startElement( nElement, FSEND );
+ pStream->write( nValue );
+ pStream->endElement( nElement );
+
+ return pStream;
+}
+
+sax_fastparser::FSHelperPtr XclXmlUtils::WriteElement( sax_fastparser::FSHelperPtr pStream, sal_Int32 nElement, sal_Int64 nValue )
+{
+ pStream->startElement( nElement, FSEND );
+ pStream->write( nValue );
+ pStream->endElement( nElement );
+
+ return pStream;
+}
+
+sax_fastparser::FSHelperPtr XclXmlUtils::WriteElement( sax_fastparser::FSHelperPtr pStream, sal_Int32 nElement, const char* sValue )
+{
+ pStream->startElement( nElement, FSEND );
+ pStream->write( sValue );
+ pStream->endElement( nElement );
+
+ return pStream;
+}
+
+static void lcl_WriteValue( sax_fastparser::FSHelperPtr& rStream, sal_Int32 nElement, const char* pValue )
+{
+ if( !pValue )
+ return;
+ rStream->singleElement( nElement,
+ XML_val, pValue,
+ FSEND );
+}
+
+static const char* lcl_GetUnderlineStyle( FontUnderline eUnderline, bool& bHaveUnderline )
+{
+ bHaveUnderline = true;
+ switch( eUnderline )
+ {
+ // OOXTODO: doubleAccounting, singleAccounting
+ // OOXTODO: what should be done with the other FontUnderline values?
+ case UNDERLINE_SINGLE: return "single";
+ case UNDERLINE_DOUBLE: return "double";
+ case UNDERLINE_NONE:
+ default: bHaveUnderline = false; return "none";
+ }
+}
+
+static const char* lcl_ToVerticalAlignmentRun( SvxEscapement eEscapement, bool& bHaveAlignment )
+{
+ bHaveAlignment = true;
+ switch( eEscapement )
+ {
+ case SVX_ESCAPEMENT_SUPERSCRIPT: return "superscript";
+ case SVX_ESCAPEMENT_SUBSCRIPT: return "subscript";
+ case SVX_ESCAPEMENT_OFF:
+ default: bHaveAlignment = false; return "baseline";
+ }
+}
+
+sax_fastparser::FSHelperPtr XclXmlUtils::WriteFontData( sax_fastparser::FSHelperPtr pStream, const XclFontData& rFontData, sal_Int32 nFontId )
+{
+ bool bHaveUnderline, bHaveVertAlign;
+ const char* pUnderline = lcl_GetUnderlineStyle( rFontData.GetScUnderline(), bHaveUnderline );
+ const char* pVertAlign = lcl_ToVerticalAlignmentRun( rFontData.GetScEscapement(), bHaveVertAlign );
+
+ lcl_WriteValue( pStream, nFontId, XclXmlUtils::ToOString( rFontData.maName ).getStr() );
+ lcl_WriteValue( pStream, XML_charset, rFontData.mnCharSet != 0 ? OString::valueOf( (sal_Int32) rFontData.mnCharSet ).getStr() : NULL );
+ lcl_WriteValue( pStream, XML_family, OString::valueOf( (sal_Int32) rFontData.mnFamily ).getStr() );
+ lcl_WriteValue( pStream, XML_b, rFontData.mnWeight > 400 ? XclXmlUtils::ToPsz( rFontData.mnWeight > 400 ) : NULL );
+ lcl_WriteValue( pStream, XML_i, rFontData.mbItalic ? XclXmlUtils::ToPsz( rFontData.mbItalic ) : NULL );
+ lcl_WriteValue( pStream, XML_strike, rFontData.mbStrikeout ? XclXmlUtils::ToPsz( rFontData.mbStrikeout ) : NULL );
+ lcl_WriteValue( pStream, XML_outline, rFontData.mbOutline ? XclXmlUtils::ToPsz( rFontData.mbOutline ) : NULL );
+ lcl_WriteValue( pStream, XML_shadow, rFontData.mbShadow ? XclXmlUtils::ToPsz( rFontData.mbShadow ) : NULL );
+ // OOXTODO: lcl_WriteValue( rStream, XML_condense, ); // mac compatibility setting
+ // OOXTODO: lcl_WriteValue( rStream, XML_extend, ); // compatibility setting
+ if( rFontData.maColor != Color( 0xFF, 0xFF, 0xFF, 0xFF ) )
+ pStream->singleElement( XML_color,
+ // OOXTODO: XML_auto, bool
+ // OOXTODO: XML_indexed, uint
+ XML_rgb, XclXmlUtils::ToOString( rFontData.maColor ).getStr(),
+ // OOXTODO: XML_theme, index into <clrScheme/>
+ // OOXTODO: XML_tint, double
+ FSEND );
+ lcl_WriteValue( pStream, XML_sz, OString::valueOf( (double) (rFontData.mnHeight / 20.0) ) ); // Twips->Pt
+ lcl_WriteValue( pStream, XML_u, bHaveUnderline ? pUnderline : NULL );
+ lcl_WriteValue( pStream, XML_vertAlign, bHaveVertAlign ? pVertAlign : NULL );
+
+ return pStream;
+}
+
+
// ============================================================================
XclExpXmlStream::XclExpXmlStream( const Reference< XMultiServiceFactory >& rSMgr, SvStream& rStrm, const XclExpRoot& rRoot )
@@ -806,6 +971,9 @@ XclExpXmlStream::XclExpXmlStream( const Reference< XMultiServiceFactory >& rSMgr
Reference< XOutputStream >(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" ) );
+
+ DrawingML::ResetCounters();
+ XclObjList::ResetCounters();
}
XclExpXmlStream::~XclExpXmlStream()
@@ -868,75 +1036,6 @@ sax_fastparser::FSHelperPtr& XclExpXmlStream::WriteAttributes( sal_Int32 nAttrib
return rStream;
}
-
-static void lcl_WriteValue( sax_fastparser::FSHelperPtr& rStream, sal_Int32 nElement, const char* pValue )
-{
- if( !pValue )
- return;
- rStream->singleElement( nElement,
- XML_val, pValue,
- FSEND );
-}
-
-static const char* lcl_GetUnderlineStyle( FontUnderline eUnderline, bool& bHaveUnderline )
-{
- bHaveUnderline = true;
- switch( eUnderline )
- {
- // OOXTODO: doubleAccounting, singleAccounting
- // OOXTODO: what should be done with the other FontUnderline values?
- case UNDERLINE_SINGLE: return "single";
- case UNDERLINE_DOUBLE: return "double";
- case UNDERLINE_NONE:
- default: bHaveUnderline = false; return "none";
- }
-}
-
-static const char* lcl_ToVerticalAlignmentRun( SvxEscapement eEscapement, bool& bHaveAlignment )
-{
- bHaveAlignment = true;
- switch( eEscapement )
- {
- case SVX_ESCAPEMENT_SUPERSCRIPT: return "superscript";
- case SVX_ESCAPEMENT_SUBSCRIPT: return "subscript";
- case SVX_ESCAPEMENT_OFF:
- default: bHaveAlignment = false; return "baseline";
- }
-}
-
-sax_fastparser::FSHelperPtr& XclExpXmlStream::WriteFontData( const XclFontData& rFontData, sal_Int32 nFontId )
-{
- bool bHaveUnderline, bHaveVertAlign;
- const char* pUnderline = lcl_GetUnderlineStyle( rFontData.GetScUnderline(), bHaveUnderline );
- const char* pVertAlign = lcl_ToVerticalAlignmentRun( rFontData.GetScEscapement(), bHaveVertAlign );
-
- sax_fastparser::FSHelperPtr& rStream = GetCurrentStream();
-
- lcl_WriteValue( rStream, nFontId, XclXmlUtils::ToOString( rFontData.maName ).getStr() );
- lcl_WriteValue( rStream, XML_charset, rFontData.mnCharSet != 0 ? OString::valueOf( (sal_Int32) rFontData.mnCharSet ).getStr() : NULL );
- lcl_WriteValue( rStream, XML_family, OString::valueOf( (sal_Int32) rFontData.mnFamily ).getStr() );
- lcl_WriteValue( rStream, XML_b, rFontData.mnWeight > 400 ? XclXmlUtils::ToPsz( rFontData.mnWeight > 400 ) : NULL );
- lcl_WriteValue( rStream, XML_i, rFontData.mbItalic ? XclXmlUtils::ToPsz( rFontData.mbItalic ) : NULL );
- lcl_WriteValue( rStream, XML_strike, rFontData.mbStrikeout ? XclXmlUtils::ToPsz( rFontData.mbStrikeout ) : NULL );
- lcl_WriteValue( rStream, XML_outline, rFontData.mbOutline ? XclXmlUtils::ToPsz( rFontData.mbOutline ) : NULL );
- lcl_WriteValue( rStream, XML_shadow, rFontData.mbShadow ? XclXmlUtils::ToPsz( rFontData.mbShadow ) : NULL );
- // OOXTODO: lcl_WriteValue( rStream, XML_condense, ); // mac compatibility setting
- // OOXTODO: lcl_WriteValue( rStream, XML_extend, ); // compatibility setting
- if( rFontData.maColor != Color( 0xFF, 0xFF, 0xFF, 0xFF ) )
- rStream->singleElement( XML_color,
- // OOXTODO: XML_auto, bool
- // OOXTODO: XML_indexed, uint
- XML_rgb, XclXmlUtils::ToOString( rFontData.maColor ).getStr(),
- // OOXTODO: XML_theme, index into <clrScheme/>
- // OOXTODO: XML_tint, double
- FSEND );
- lcl_WriteValue( rStream, XML_sz, OString::valueOf( (double) (rFontData.mnHeight / 20.0) ) ); // Twips->Pt
- lcl_WriteValue( rStream, XML_u, bHaveUnderline ? pUnderline : NULL );
- lcl_WriteValue( rStream, XML_vertAlign, bHaveVertAlign ? pVertAlign : NULL );
-
- return rStream;
-}
-
sax_fastparser::FSHelperPtr XclExpXmlStream::CreateOutputStream (
const OUString& sFullStream,
const OUString& sRelativeStream,
diff --git a/sc/source/filter/excel/xestring.cxx b/sc/source/filter/excel/xestring.cxx
index 63fd3c8..b75bb2c 100644
--- a/sc/source/filter/excel/xestring.cxx
+++ b/sc/source/filter/excel/xestring.cxx
@@ -31,6 +31,8 @@
#include <algorithm>
#include <stdio.h>
+#include "xlstyle.hxx"
+#include "xestyle.hxx"
#include "xestream.hxx"
#include "xlstyle.hxx"
#include "xestyle.hxx"
@@ -453,7 +455,7 @@ static sal_uInt16 lcl_WriteRun( XclExpXmlStream& rStrm, const ScfUInt16Vec& rBuf
{
const XclFontData& rFontData = pFont->GetFontData();
rWorksheet->startElement( XML_rPr, FSEND );
- rStrm.WriteFontData( rFontData, XML_rFont );
+ XclXmlUtils::WriteFontData( rWorksheet, rFontData, XML_rFont );
rWorksheet->endElement( XML_rPr );
}
rWorksheet->startElement( XML_t,
@@ -462,7 +464,7 @@ static sal_uInt16 lcl_WriteRun( XclExpXmlStream& rStrm, const ScfUInt16Vec& rBuf
rWorksheet->writeEscaped( XclXmlUtils::ToOUString( rBuffer, nStart, nLength ) );
rWorksheet->endElement( XML_t );
rWorksheet->endElement( XML_r );
- return static_cast<sal_uInt16>(nStart + nLength);
+ return nStart + nLength;
}
void XclExpString::WriteXml( XclExpXmlStream& rStrm ) const
diff --git a/sc/source/filter/excel/xestyle.cxx b/sc/source/filter/excel/xestyle.cxx
index 3f69d90..4c1814b 100644
--- a/sc/source/filter/excel/xestyle.cxx
+++ b/sc/source/filter/excel/xestyle.cxx
@@ -982,7 +982,7 @@ void XclExpFont::SaveXml( XclExpXmlStream& rStrm )
{
sax_fastparser::FSHelperPtr& rStyleSheet = rStrm.GetCurrentStream();
rStyleSheet->startElement( XML_font, FSEND );
- rStrm.WriteFontData( maData, XML_name );
+ XclXmlUtils::WriteFontData( rStyleSheet, maData, XML_name );
// OOXTODO: XML_scheme; //scheme/@val values: "major", "minor", "none"
rStyleSheet->endElement( XML_font );
}
diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index 075e445..7e32694 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -883,76 +883,12 @@ void XclExpFormulaCell::Save( XclExpStream& rStrm )
mxStringRec->Save( rStrm );
}
-static const char* lcl_GetErrorString( USHORT nScErrCode )
-{
- sal_uInt8 nXclErrCode = XclTools::GetXclErrorCode( nScErrCode );
- switch( nXclErrCode )
- {
- case EXC_ERR_NULL: return "#NULL!";
- case EXC_ERR_DIV0: return "#DIV/0!";
- case EXC_ERR_VALUE: return "#VALUE!";
- case EXC_ERR_REF: return "#REF!";
- case EXC_ERR_NAME: return "#NAME?";
- case EXC_ERR_NUM: return "#NUM!";
- case EXC_ERR_NA:
- default: return "#N/A";
- }
-}
-
-static void lcl_GetFormulaInfo( ScFormulaCell& rCell, const char** pType, OUString& rValue)
-{
- switch( rCell.GetFormatType() )
- {
- case NUMBERFORMAT_NUMBER:
- {
- // either value or error code
- USHORT nScErrCode = rCell.GetErrCode();
- if( nScErrCode )
- {
- *pType = "e";
- rValue = XclXmlUtils::ToOUString( lcl_GetErrorString( nScErrCode ) );
- }
- else
- {
- *pType = "n";
- rValue = OUString::valueOf( rCell.GetValue() );
- }
- }
- break;
-
- case NUMBERFORMAT_TEXT:
- {
- *pType = "str";
- String aResult;
- rCell.GetString( aResult );
- rValue = XclXmlUtils::ToOUString( aResult );
- }
- break;
-
- case NUMBERFORMAT_LOGICAL:
- {
- *pType = "b";
- rValue = XclXmlUtils::ToOUString( rCell.GetValue() == 0.0 ? "0" : "1" );
- }
- break;
-
- default:
- {
- *pType = "inlineStr";
- String aResult;
- rCell.GetString( aResult );
- rValue = XclXmlUtils::ToOUString( aResult );
- }
- break;
- }
-}
-
void XclExpFormulaCell::SaveXml( XclExpXmlStream& rStrm )
{
const char* sType = NULL;
OUString sValue;
- lcl_GetFormulaInfo( mrScFmlaCell, &sType, sValue );
+ XclXmlUtils::GetFormulaTypeAndValue( mrScFmlaCell, sType, sValue );
sax_fastparser::FSHelperPtr& rWorksheet = rStrm.GetCurrentStream();
rWorksheet->startElement( XML_c,
XML_r, XclXmlUtils::ToOString( GetXclPos() ).getStr(),
diff --git a/sc/source/filter/inc/XclExpChangeTrack.hxx b/sc/source/filter/inc/XclExpChangeTrack.hxx
index 24b723e..8e25c80 100644
--- a/sc/source/filter/inc/XclExpChangeTrack.hxx
+++ b/sc/source/filter/inc/XclExpChangeTrack.hxx
@@ -238,6 +238,8 @@ public:
virtual UINT16 GetNum() const;
virtual sal_Size GetLen() const;
+
+ virtual void SaveXml( XclExpXmlStream& rStrm );
};
//___________________________________________________________________
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list