diff options
288 files changed, 3287 insertions, 1586 deletions
diff --git a/chart2/inc/pch/precompiled_chart2.hxx b/chart2/inc/pch/precompiled_chart2.hxx index 53b88ebc28ad..89784dc82fe8 100644 --- a/chart2/inc/pch/precompiled_chart2.hxx +++ b/chart2/inc/pch/precompiled_chart2.hxx @@ -225,22 +225,22 @@ #include "svl/urihelper.hxx" #include "svl/whiter.hxx" -#include "svx/brshitem.hxx" -#include "svx/crsditem.hxx" -#include "svx/eeitem.hxx" -#include "svx/fhgtitem.hxx" +#include "editeng/brshitem.hxx" +#include "editeng/crsditem.hxx" +#include "editeng/eeitem.hxx" +#include "editeng/fhgtitem.hxx" #include "svx/flagsdef.hxx" -#include "svx/flstitem.hxx" -#include "svx/forbiddencharacterstable.hxx" +#include "editeng/flstitem.hxx" +#include "editeng/forbiddencharacterstable.hxx" #include "svx/ofaitem.hxx" -#include "svx/postitem.hxx" +#include "editeng/postitem.hxx" #include "svx/svddef.hxx" #include "svx/svditer.hxx" #include "svx/svdtypes.hxx" -#include "svx/udlnitem.hxx" +#include "editeng/udlnitem.hxx" #include "svx/unomodel.hxx" -#include "svx/unoprnms.hxx" -#include "svx/wghtitem.hxx" +#include "editeng/unoprnms.hxx" +#include "editeng/wghtitem.hxx" #include "svx/xdef.hxx" #include "svx/xflbmtit.hxx" #include "svx/xflbstit.hxx" @@ -251,7 +251,7 @@ #include "svx/xgrscit.hxx" #include "svx/xlnclit.hxx" #include "svx/xlndsit.hxx" -#include "svx/xmlcnitm.hxx" +#include "editeng/xmlcnitm.hxx" #include "svx/xpoly.hxx" diff --git a/chart2/prj/build.lst b/chart2/prj/build.lst index 2fc7889b3122..8a76f4a0513b 100644 --- a/chart2/prj/build.lst +++ b/chart2/prj/build.lst @@ -1,4 +1,4 @@ -ch chart2 : l10n comphelper cppu cppuhelper sal svtools svx tools vcl toolkit unotools sfx2 goodies NULL +ch chart2 : l10n comphelper cppu cppuhelper sal svtools svx tools vcl toolkit unotools sfx2 NULL ch chart2 usr1 - all ch_mkout NULL ch chart2\inc nmake - all ch_inc NULL ch chart2\source\inc get - all ch_source_inc NULL diff --git a/chart2/source/controller/accessibility/AccessibleBase.cxx b/chart2/source/controller/accessibility/AccessibleBase.cxx index 81b85cfacf34..46cb2e0ae396 100644 --- a/chart2/source/controller/accessibility/AccessibleBase.cxx +++ b/chart2/source/controller/accessibility/AccessibleBase.cxx @@ -42,7 +42,7 @@ #include <com/sun/star/accessibility/AccessibleEventObject.hpp> #include <com/sun/star/accessibility/AccessibleStateType.hpp> #include <com/sun/star/accessibility/AccessibleRole.hpp> - +#include <comphelper/serviceinfohelper.hxx> #include <com/sun/star/drawing/LineStyle.hpp> #include <com/sun/star/drawing/FillStyle.hpp> #include <rtl/ustrbuf.hxx> @@ -51,8 +51,8 @@ #include <rtl/uuid.h> #include <cppuhelper/queryinterface.hxx> #include <svl/itemset.hxx> -#include <svx/unofdesc.hxx> -#include <svx/outliner.hxx> +#include <editeng/unofdesc.hxx> +#include <editeng/outliner.hxx> #include <svx/svdoutl.hxx> #include <svx/svdetc.hxx> #include <svx/unoshape.hxx> @@ -947,7 +947,7 @@ OUString SAL_CALL AccessibleBase::getImplementationName() sal_Bool SAL_CALL AccessibleBase::supportsService( const OUString& ServiceName ) throw (RuntimeException) { - return SvxServiceInfoHelper::supportsService( ServiceName, getSupportedServiceNames() ); + return comphelper::ServiceInfoHelper::supportsService( ServiceName, getSupportedServiceNames() ); } uno::Sequence< OUString > SAL_CALL AccessibleBase::getSupportedServiceNames() diff --git a/chart2/source/controller/chartapiwrapper/WrappedSymbolProperties.cxx b/chart2/source/controller/chartapiwrapper/WrappedSymbolProperties.cxx index 59bba9b5973d..9957948de00f 100644 --- a/chart2/source/controller/chartapiwrapper/WrappedSymbolProperties.cxx +++ b/chart2/source/controller/chartapiwrapper/WrappedSymbolProperties.cxx @@ -46,12 +46,12 @@ #include <com/sun/star/graphic/XGraphicProvider.hpp> // for UNO_NAME_GRAPHOBJ_URLPREFIX -#include <svx/unoprnms.hxx> +#include <editeng/unoprnms.hxx> // for Graphic #include <vcl/graph.hxx> // for GraphicObject -#include <goodies/grfmgr.hxx> +#include <svtools/grfmgr.hxx> #include <vcl/outdev.hxx> #include <comphelper/processfactory.hxx> diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx index ec8a0eaaa784..248e316a846a 100644 --- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx +++ b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx @@ -76,7 +76,7 @@ #include <svx/svxgrahicitem.hxx> #include <svx/dialogs.hrc> -#include <svx/flstitem.hxx> +#include <editeng/flstitem.hxx> #include <svx/tabline.hxx> #include <svx/flagsdef.hxx> diff --git a/chart2/source/controller/dialogs/res_DataLabel.cxx b/chart2/source/controller/dialogs/res_DataLabel.cxx index 44fd27f7d09a..bb8905898889 100644 --- a/chart2/source/controller/dialogs/res_DataLabel.cxx +++ b/chart2/source/controller/dialogs/res_DataLabel.cxx @@ -49,8 +49,8 @@ #include <svl/stritem.hxx> //SfxIntegerListItem #include <svl/ilstitem.hxx> -#include <svx/eeitem.hxx> -#include <svx/frmdiritem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/frmdiritem.hxx> // header for define RET_OK #include <vcl/msgbox.hxx> diff --git a/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx b/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx index dbed68f2417b..84e8efef1e12 100644 --- a/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx +++ b/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx @@ -42,7 +42,7 @@ #include "ChartTypeHelper.hxx" #include "ThreeDHelper.hxx" #include <rtl/math.hxx> -#include <svx/unoprnms.hxx> +#include <editeng/unoprnms.hxx> #include <com/sun/star/drawing/ProjectionMode.hpp> //............................................................................. diff --git a/chart2/source/controller/dialogs/tp_AxisLabel.cxx b/chart2/source/controller/dialogs/tp_AxisLabel.cxx index a7407b4781ee..d510d2c685b3 100644 --- a/chart2/source/controller/dialogs/tp_AxisLabel.cxx +++ b/chart2/source/controller/dialogs/tp_AxisLabel.cxx @@ -42,8 +42,8 @@ // header for SfxInt32Item #include <svl/intitem.hxx> -#include <svx/eeitem.hxx> -#include <svx/frmdiritem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/frmdiritem.hxx> //............................................................................. namespace chart diff --git a/chart2/source/controller/dialogs/tp_LegendPosition.cxx b/chart2/source/controller/dialogs/tp_LegendPosition.cxx index c2c0ad7e28c4..276b9fd3298f 100644 --- a/chart2/source/controller/dialogs/tp_LegendPosition.cxx +++ b/chart2/source/controller/dialogs/tp_LegendPosition.cxx @@ -37,8 +37,8 @@ #include "chartview/ChartSfxItemIds.hxx" #include "NoWarningThisInCTOR.hxx" #include <svx/chrtitem.hxx> -#include <svx/eeitem.hxx> -#include <svx/frmdiritem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/frmdiritem.hxx> //............................................................................. namespace chart diff --git a/chart2/source/controller/dialogs/tp_TitleRotation.cxx b/chart2/source/controller/dialogs/tp_TitleRotation.cxx index d04f43c7031b..a8b5d461dd75 100644 --- a/chart2/source/controller/dialogs/tp_TitleRotation.cxx +++ b/chart2/source/controller/dialogs/tp_TitleRotation.cxx @@ -36,8 +36,8 @@ #include "TabPages.hrc" #include "chartview/ChartSfxItemIds.hxx" #include "HelpIds.hrc" -#include <svx/eeitem.hxx> -#include <svx/frmdiritem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/frmdiritem.hxx> // header for class SfxInt32Item #include <svl/intitem.hxx> diff --git a/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx b/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx index fa285f98d991..9856cdc682d7 100644 --- a/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx +++ b/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx @@ -46,7 +46,7 @@ #include <svx/svdoutl.hxx> // header for class SvxForbiddenCharactersTable -#include <svx/forbiddencharacterstable.hxx> +#include <editeng/forbiddencharacterstable.hxx> #ifndef _SVX_SVXIDS_HRC #include <svx/svxids.hrc> diff --git a/chart2/source/controller/itemsetwrapper/CharacterPropertyItemConverter.cxx b/chart2/source/controller/itemsetwrapper/CharacterPropertyItemConverter.cxx index ee83459d4429..ae52561f5edc 100644 --- a/chart2/source/controller/itemsetwrapper/CharacterPropertyItemConverter.cxx +++ b/chart2/source/controller/itemsetwrapper/CharacterPropertyItemConverter.cxx @@ -35,13 +35,14 @@ #include "macros.hxx" #include "ItemPropertyMap.hxx" #include "RelativeSizeHelper.hxx" -#include <svx/eeitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/fontitem.hxx> -#include <svx/crsditem.hxx> -#include <svx/postitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/fhgtitem.hxx> +#include <editeng/memberids.hrc> +#include <editeng/eeitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/fhgtitem.hxx> #include <svl/stritem.hxx> #include <com/sun/star/beans/XPropertyState.hpp> diff --git a/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx b/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx index c27fa016d00d..8c2e2cd8cf52 100644 --- a/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx +++ b/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx @@ -50,10 +50,10 @@ // header for class XFillColorItem #include <svx/xflclit.hxx> #include <svl/intitem.hxx> -#include <svx/sizeitem.hxx> +#include <editeng/sizeitem.hxx> // header for class SfxStringItem #include <svl/stritem.hxx> -#include <svx/brshitem.hxx> +#include <editeng/brshitem.hxx> //SfxIntegerListItem #include <svl/ilstitem.hxx> #define _SVSTDARR_ULONGS diff --git a/chart2/source/controller/itemsetwrapper/GraphicPropertyItemConverter.cxx b/chart2/source/controller/itemsetwrapper/GraphicPropertyItemConverter.cxx index 1c7273f44c89..f9dc30952359 100644 --- a/chart2/source/controller/itemsetwrapper/GraphicPropertyItemConverter.cxx +++ b/chart2/source/controller/itemsetwrapper/GraphicPropertyItemConverter.cxx @@ -36,10 +36,7 @@ #include "ItemPropertyMap.hxx" #include "PropertyHelper.hxx" #include "CommonConverters.hxx" - -// #ifndef _SFXINTITEM_HXX -// #include <svl/intitem.hxx> -// #endif +#include <editeng/memberids.hrc> #include <svx/xflclit.hxx> #include <svx/xlnclit.hxx> #include <svx/xflbmtit.hxx> @@ -51,7 +48,7 @@ #include <svx/xflgrit.hxx> #include <svx/xfltrit.hxx> #include <svx/xlntrit.hxx> -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> // for SfxBoolItem #include <svl/eitem.hxx> // for XFillGradientStepCountItem diff --git a/chart2/source/controller/itemsetwrapper/SchWhichPairs.hxx b/chart2/source/controller/itemsetwrapper/SchWhichPairs.hxx index dbefb0e7f025..adc09a270bb8 100644 --- a/chart2/source/controller/itemsetwrapper/SchWhichPairs.hxx +++ b/chart2/source/controller/itemsetwrapper/SchWhichPairs.hxx @@ -35,7 +35,7 @@ #endif #include <svx/xdef.hxx> #include <svx/svddef.hxx> -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include "chartview/ChartSfxItemIds.hxx" @@ -136,7 +136,7 @@ const USHORT nDataLabelWhichPairs[] = #define CHART_POINT_WHICHPAIRS \ XATTR_LINE_FIRST, XATTR_LINE_LAST, /* 1000 - 1016 svx/xdef.hxx */ \ XATTR_FILL_FIRST, XATTR_FILL_LAST, /* 1018 - 1046 svx/xdef.hxx */ \ - EE_ITEMS_START, EE_ITEMS_END, /* 3994 - 4037 svx/eeitem.hxx */ \ + EE_ITEMS_START, EE_ITEMS_END, /* 3994 - 4037 editeng/eeitem.hxx */ \ SID_CHAR_DLG_PREVIEW_STRING, SID_CHAR_DLG_PREVIEW_STRING, \ SCHATTR_DATADESCR_START, SCHATTR_DATADESCR_END, /* 1 - 2 sch/schattr.hxx*/ \ SID_ATTR_NUMBERFORMAT_VALUE, SID_ATTR_NUMBERFORMAT_INFO, /* 10585 - 10585 svx/svxids.hrc */ \ diff --git a/chart2/source/controller/main/ChartController_TextEdit.cxx b/chart2/source/controller/main/ChartController_TextEdit.cxx index 855357ce701b..540d65630fa4 100644 --- a/chart2/source/controller/main/ChartController_TextEdit.cxx +++ b/chart2/source/controller/main/ChartController_TextEdit.cxx @@ -55,7 +55,7 @@ #include <vos/mutex.hxx> #include <com/sun/star/beans/XPropertySet.hpp> #include <svl/stritem.hxx> -#include <svx/fontitem.hxx> +#include <editeng/fontitem.hxx> //............................................................................. namespace chart diff --git a/chart2/source/controller/main/ChartController_Tools.cxx b/chart2/source/controller/main/ChartController_Tools.cxx index 8dca62d93ee1..e90b4c4a8db9 100644 --- a/chart2/source/controller/main/ChartController_Tools.cxx +++ b/chart2/source/controller/main/ChartController_Tools.cxx @@ -81,7 +81,7 @@ #include <vcl/svapp.hxx> #include <vos/mutex.hxx> // for OutlinerView -#include <svx/outliner.hxx> +#include <editeng/outliner.hxx> using namespace ::com::sun::star; diff --git a/chart2/source/controller/makefile.mk b/chart2/source/controller/makefile.mk index 45060a60d297..831e35e6eb44 100644 --- a/chart2/source/controller/makefile.mk +++ b/chart2/source/controller/makefile.mk @@ -80,12 +80,12 @@ SHL1LIBS= $(LIB1TARGET) SHL1STDLIBS= $(CHARTTOOLS) \ $(CHARTVIEW) \ + $(EDITENGLIB) \ $(CPPULIB) \ $(CPPUHELPERLIB) \ $(COMPHELPERLIB) \ $(BASEGFXLIB) \ $(DRAWINGLAYERLIB) \ - $(GOODIESLIB) \ $(BASEGFXLIB) \ $(SALLIB) \ $(SVLLIB) \ diff --git a/chart2/source/model/main/ChartModel.hxx b/chart2/source/model/main/ChartModel.hxx index bee4332a857c..18221cdf471a 100644 --- a/chart2/source/model/main/ChartModel.hxx +++ b/chart2/source/model/main/ChartModel.hxx @@ -70,7 +70,7 @@ #endif #include <osl/mutex.hxx> #include <cppuhelper/interfacecontainer.hxx> -#include <goodies/grfmgr.hxx> +#include <svtools/grfmgr.hxx> // for auto_ptr #include <memory> diff --git a/chart2/source/model/makefile.mk b/chart2/source/model/makefile.mk index 8fb1e9dc3bed..25f472eb123a 100644 --- a/chart2/source/model/makefile.mk +++ b/chart2/source/model/makefile.mk @@ -82,7 +82,6 @@ SHL1STDLIBS= $(CHARTTOOLS) \ $(VCLLIB) \ $(SVLLIB) \ $(SVTOOLLIB) \ - $(GOODIESLIB) \ $(SALLIB) \ $(UCBHELPERLIB) diff --git a/chart2/source/tools/ThreeDHelper.cxx b/chart2/source/tools/ThreeDHelper.cxx index 1b584a9fb39a..cfd79b6bb32b 100644 --- a/chart2/source/tools/ThreeDHelper.cxx +++ b/chart2/source/tools/ThreeDHelper.cxx @@ -37,7 +37,7 @@ #include "ChartTypeHelper.hxx" #include "BaseGFXHelper.hxx" #include "DataSeriesHelper.hxx" -#include <svx/unoprnms.hxx> +#include <editeng/unoprnms.hxx> #include <com/sun/star/beans/XPropertyState.hpp> #include <com/sun/star/chart2/XDiagram.hpp> #include <com/sun/star/drawing/LineStyle.hpp> diff --git a/chart2/source/view/axes/VCartesianAxis.cxx b/chart2/source/view/axes/VCartesianAxis.cxx index 0f18029254ef..895c92364acf 100644 --- a/chart2/source/view/axes/VCartesianAxis.cxx +++ b/chart2/source/view/axes/VCartesianAxis.cxx @@ -50,7 +50,7 @@ #include <tools/debug.hxx> #include <com/sun/star/text/XText.hpp> #include <com/sun/star/text/WritingMode2.hpp> -#include <svx/unoprnms.hxx> +#include <editeng/unoprnms.hxx> #include <algorithm> #include <memory> diff --git a/chart2/source/view/charttypes/AreaChart.cxx b/chart2/source/view/charttypes/AreaChart.cxx index 406e5d119cd6..2b62dec29d5e 100644 --- a/chart2/source/view/charttypes/AreaChart.cxx +++ b/chart2/source/view/charttypes/AreaChart.cxx @@ -51,7 +51,7 @@ #include <com/sun/star/chart/DataLabelPlacement.hpp> #include <com/sun/star/chart/MissingValueTreatment.hpp> #include <tools/debug.hxx> -#include <svx/unoprnms.hxx> +#include <editeng/unoprnms.hxx> #include <rtl/math.hxx> #include <com/sun/star/drawing/DoubleSequence.hpp> #include <com/sun/star/drawing/NormalsKind.hpp> diff --git a/chart2/source/view/charttypes/BubbleChart.cxx b/chart2/source/view/charttypes/BubbleChart.cxx index 6069189ff0ac..ce9a803dab92 100644 --- a/chart2/source/view/charttypes/BubbleChart.cxx +++ b/chart2/source/view/charttypes/BubbleChart.cxx @@ -46,7 +46,7 @@ #include <com/sun/star/chart2/Symbol.hpp> #include <com/sun/star/chart/DataLabelPlacement.hpp> #include <tools/debug.hxx> -#include <svx/unoprnms.hxx> +#include <editeng/unoprnms.hxx> #include <rtl/math.hxx> #include <com/sun/star/drawing/DoubleSequence.hpp> #include <com/sun/star/drawing/NormalsKind.hpp> diff --git a/chart2/source/view/charttypes/CandleStickChart.cxx b/chart2/source/view/charttypes/CandleStickChart.cxx index e19a44cdcda6..22a1f8163049 100644 --- a/chart2/source/view/charttypes/CandleStickChart.cxx +++ b/chart2/source/view/charttypes/CandleStickChart.cxx @@ -45,7 +45,7 @@ #include "DataSeriesHelper.hxx" #include <tools/debug.hxx> #include <rtl/math.hxx> -#include <svx/unoprnms.hxx> +#include <editeng/unoprnms.hxx> //............................................................................. namespace chart diff --git a/chart2/source/view/charttypes/PieChart.cxx b/chart2/source/view/charttypes/PieChart.cxx index 608adb49290b..41299bd8f9bc 100644 --- a/chart2/source/view/charttypes/PieChart.cxx +++ b/chart2/source/view/charttypes/PieChart.cxx @@ -129,6 +129,8 @@ PieChart::PieChart( const uno::Reference<XChartType>& xChartTypeModel , m_pPosHelper( new PiePositionHelper( NormalAxis_Z, (m_nDimension==3)?0.0:90.0 ) ) , m_bUseRings(false) { + ::rtl::math::setNan(&m_fMaxOffset); + PlotterBase::m_pPosHelper = m_pPosHelper; VSeriesPlotter::m_pMainPosHelper = m_pPosHelper; m_pPosHelper->m_fRadiusOffset = 0.0; @@ -248,27 +250,31 @@ double PieChart::getMinimumX() { return 0.5; } -double PieChart::getMaxOffset() const +double PieChart::getMaxOffset() { - double fRet = 0.0; + if (!::rtl::math::isNan(m_fMaxOffset)) + // Value already cached. Use it. + return m_fMaxOffset; + + m_fMaxOffset = 0.0; if( m_aZSlots.size()<=0 ) - return fRet; + return m_fMaxOffset; if( m_aZSlots[0].size()<=0 ) - return fRet; + return m_fMaxOffset; const ::std::vector< VDataSeries* >& rSeriesList( m_aZSlots[0][0].m_aSeriesVector ); if( rSeriesList.size()<=0 ) - return fRet; + return m_fMaxOffset; VDataSeries* pSeries = rSeriesList[0]; uno::Reference< beans::XPropertySet > xSeriesProp( pSeries->getPropertiesOfSeries() ); if( !xSeriesProp.is() ) - return fRet; + return m_fMaxOffset; double fExplodePercentage=0.0; xSeriesProp->getPropertyValue( C2U( "Offset" )) >>= fExplodePercentage; - if(fExplodePercentage>fRet) - fRet=fExplodePercentage; + if(fExplodePercentage>m_fMaxOffset) + m_fMaxOffset=fExplodePercentage; uno::Sequence< sal_Int32 > aAttributedDataPointIndexList; if( xSeriesProp->getPropertyValue( C2U( "AttributedDataPoints" ) ) >>= aAttributedDataPointIndexList ) @@ -280,12 +286,12 @@ double PieChart::getMaxOffset() const { fExplodePercentage=0.0; xPointProp->getPropertyValue( C2U( "Offset" )) >>= fExplodePercentage; - if(fExplodePercentage>fRet) - fRet=fExplodePercentage; + if(fExplodePercentage>m_fMaxOffset) + m_fMaxOffset=fExplodePercentage; } } } - return fRet; + return m_fMaxOffset; } double PieChart::getMaximumX() { @@ -357,6 +363,7 @@ void PieChart::createShapes() nExplodeableSlot = m_aZSlots[0].size()-1; m_aLabelInfoList.clear(); + ::rtl::math::setNan(&m_fMaxOffset); //============================================================================= for( double fSlotX=0; aXSlotIter != aXSlotEnd && (m_bUseRings||fSlotX<0.5 ); aXSlotIter++, fSlotX+=1.0 ) diff --git a/chart2/source/view/charttypes/PieChart.hxx b/chart2/source/view/charttypes/PieChart.hxx index e65cfdcc5626..7249ef24bbaa 100644 --- a/chart2/source/view/charttypes/PieChart.hxx +++ b/chart2/source/view/charttypes/PieChart.hxx @@ -105,7 +105,7 @@ private: //methods , double fLogicZ, double fDepth, double fExplodePercentage , tPropertyNameValueMap* pOverWritePropertiesMap ); - double getMaxOffset() const; + double getMaxOffset(); bool detectLabelOverlapsAndMove(const ::com::sun::star::awt::Size& rPageSize);//returns true when there might be more to do void resetLabelPositionsToPreviousState(); struct PieLabelInfo; @@ -137,6 +137,8 @@ private: //member }; ::std::vector< PieLabelInfo > m_aLabelInfoList; + + double m_fMaxOffset; /// cached max offset value (init'ed to NaN) }; //............................................................................. } //namespace chart diff --git a/chart2/source/view/charttypes/VSeriesPlotter.cxx b/chart2/source/view/charttypes/VSeriesPlotter.cxx index 864a9f8accfa..8b5c0b1bc874 100644 --- a/chart2/source/view/charttypes/VSeriesPlotter.cxx +++ b/chart2/source/view/charttypes/VSeriesPlotter.cxx @@ -68,7 +68,7 @@ #include <com/sun/star/chart2/XRegressionCurveContainer.hpp> #include <com/sun/star/container/XChild.hpp> #include <com/sun/star/chart2/RelativePosition.hpp> -#include <svx/unoprnms.hxx> +#include <editeng/unoprnms.hxx> #include <tools/color.hxx> // header for class OUStringBuffer #include <rtl/ustrbuf.hxx> diff --git a/chart2/source/view/diagram/VDiagram.cxx b/chart2/source/view/diagram/VDiagram.cxx index 5e0db2644cc5..70fa5900beb7 100644 --- a/chart2/source/view/diagram/VDiagram.cxx +++ b/chart2/source/view/diagram/VDiagram.cxx @@ -41,7 +41,7 @@ #include "CommonConverters.hxx" #include "ChartTypeHelper.hxx" #include "ThreeDHelper.hxx" -#include <svx/unoprnms.hxx> +#include <editeng/unoprnms.hxx> #include <tools/color.hxx> #include <tools/debug.hxx> #include <com/sun/star/drawing/FillStyle.hpp> diff --git a/chart2/source/view/main/ChartItemPool.cxx b/chart2/source/view/main/ChartItemPool.cxx index 3da8fe225f8c..5336fd9f9a66 100644 --- a/chart2/source/view/main/ChartItemPool.cxx +++ b/chart2/source/view/main/ChartItemPool.cxx @@ -37,14 +37,14 @@ #include "chartview/ChartSfxItemIds.hxx" #include <svx/chrtitem.hxx> #include <svl/intitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/sizeitem.hxx> -// header for class SfxStringItem +#include <editeng/brshitem.hxx> +#include <editeng/sizeitem.hxx> #include <svl/stritem.hxx> -//SfxIntegerListItem #include <svl/ilstitem.hxx> #define _SVSTDARR_ULONGS #include <svl/svstdarr.hxx> +#include <editeng/editids.hrc> +#include <svx/svxids.hrc> namespace chart { diff --git a/chart2/source/view/main/DrawModelWrapper.cxx b/chart2/source/view/main/DrawModelWrapper.cxx index 4212640033ac..cdee0bdac475 100644 --- a/chart2/source/view/main/DrawModelWrapper.cxx +++ b/chart2/source/view/main/DrawModelWrapper.cxx @@ -41,7 +41,7 @@ // header for class SfxBoolItem #include <svl/eitem.hxx> // header for define EE_PARA_HYPHENATE -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> // header for class Svx3DPercentDiagonalItem #include <svx/svx3ditems.hxx> // header for class SvtPathOptions @@ -57,7 +57,7 @@ // header for class SdrOutliner #include <svx/svdoutl.hxx> // header for class LinguMgr -#include <svx/unolingu.hxx> +#include <editeng/unolingu.hxx> // header for class Application #include <vcl/svapp.hxx> // header for class VirtualDevice diff --git a/chart2/source/view/main/ShapeFactory.cxx b/chart2/source/view/main/ShapeFactory.cxx index 8a19e66334fb..658bee26c5dd 100644 --- a/chart2/source/view/main/ShapeFactory.cxx +++ b/chart2/source/view/main/ShapeFactory.cxx @@ -55,7 +55,7 @@ #include <com/sun/star/uno/Any.hxx> -#include <svx/unoprnms.hxx> +#include <editeng/unoprnms.hxx> #include <tools/color.hxx> #include <tools/debug.hxx> #include <rtl/math.hxx> diff --git a/chart2/source/view/makefile.mk b/chart2/source/view/makefile.mk index 8ab947b9cedc..e256e7931267 100644 --- a/chart2/source/view/makefile.mk +++ b/chart2/source/view/makefile.mk @@ -77,6 +77,7 @@ SHL1LIBS= $(LIB1TARGET) SHL1STDLIBS= $(CHARTTOOLS) \ $(CPPULIB) \ + $(EDITENGLIB) \ $(CPPUHELPERLIB) \ $(COMPHELPERLIB) \ $(SALLIB) \ diff --git a/sc/inc/autoform.hxx b/sc/inc/autoform.hxx index 8ec139ffa2d5..f10323dbe0be 100644 --- a/sc/inc/autoform.hxx +++ b/sc/inc/autoform.hxx @@ -50,22 +50,22 @@ JP 20.07.95: **************************************************************************/ #include "scitems.hxx" -#include <svx/adjitem.hxx> +#include <editeng/adjitem.hxx> #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/cntritem.hxx> -#include <svx/colritem.hxx> -#include <svx/crsditem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/fontitem.hxx> -#include <svx/postitem.hxx> -#include <svx/shdditem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/cntritem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/shdditem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> #include <svx/rotmodit.hxx> #include <svl/intitem.hxx> -#include <svx/bolnitem.hxx> +#include <editeng/bolnitem.hxx> #include "scdllapi.h" #include "collect.hxx" #include "global.hxx" diff --git a/sc/inc/chart2uno.hxx b/sc/inc/chart2uno.hxx index 32dc3a777086..69a06c1dff0b 100644 --- a/sc/inc/chart2uno.hxx +++ b/sc/inc/chart2uno.hxx @@ -533,6 +533,14 @@ private: }; ::std::list<Item> m_aDataArray; + + /** + * Cached data for getData. We may also need to cache data for the + * numerical and textural data series if they turn out to be bottlenecks + * under certain scenarios. + */ + ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > m_aMixedDataCache; + ::com::sun::star::uno::Sequence<sal_Int32> m_aHiddenValues; // properties diff --git a/sc/inc/chartlis.hxx b/sc/inc/chartlis.hxx index 0ebc84268f74..e01d71f74d5b 100644 --- a/sc/inc/chartlis.hxx +++ b/sc/inc/chartlis.hxx @@ -49,7 +49,7 @@ class ScChartUnoData; #include <com/sun/star/chart/XChartData.hpp> #include <com/sun/star/chart/XChartDataChangeEventListener.hpp> -class ScChartListener : public StrData, public SvtListener +class SC_DLLPUBLIC ScChartListener : public StrData, public SvtListener { public: class ExternalRefListener : public ScExternalRefManager::LinkListener @@ -186,7 +186,7 @@ public: const com::sun::star::uno::Reference< com::sun::star::chart::XChartData >& rSource ); void StartTimer(); void UpdateDirtyCharts(); - void SetDirty(); + void SC_DLLPUBLIC SetDirty(); void SetDiffDirty( const ScChartListenerCollection&, BOOL bSetChartRangeLists = FALSE ); diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index b69fcb384e04..2b93196a7f8d 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -114,7 +114,7 @@ private: friend class ScDocument; // fuer FillInfo friend class ScDocumentIterator; friend class ScValueIterator; -friend class ScQueryValueIterator; +friend class ScDBQueryDataIterator; friend class ScColumnIterator; friend class ScQueryCellIterator; friend class ScMarkedDataIter; diff --git a/sc/inc/datauno.hxx b/sc/inc/datauno.hxx index 6cd2d1555bdf..4abec2ce44c2 100644 --- a/sc/inc/datauno.hxx +++ b/sc/inc/datauno.hxx @@ -32,8 +32,8 @@ #define SC_DATAUNO_HXX #include "global.hxx" -#include <svl/itemprop.hxx> -#include <svl/lstner.hxx> +#include "queryparam.hxx" + #include <com/sun/star/sheet/TableFilterField.hpp> #include <com/sun/star/sheet/GeneralFunction.hpp> #include <com/sun/star/sheet/XCellRangeReferrer.hpp> @@ -56,6 +56,8 @@ #include <cppuhelper/implbase4.hxx> #include <cppuhelper/implbase5.hxx> #include <cppuhelper/implbase6.hxx> +#include "svl/itemprop.hxx" +#include "svl/lstner.hxx" class ScDBData; class ScDocShell; diff --git a/sc/inc/dociter.hxx b/sc/inc/dociter.hxx index 3f9e77a82378..a37998bc2778 100644 --- a/sc/inc/dociter.hxx +++ b/sc/inc/dociter.hxx @@ -35,6 +35,9 @@ #include <tools/solar.h> #include "global.hxx" #include "scdllapi.h" +#include "queryparam.hxx" + +#include <memory> class ScDocument; class ScBaseCell; @@ -127,34 +130,97 @@ public: } }; -class ScQueryValueIterator // alle Zahlenwerte in einem Bereich durchgehen +// ============================================================================ + +class ScDBQueryDataIterator { +public: + struct Value + { + ::rtl::OUString maString; + double mfValue; + sal_uInt16 mnError; + bool mbIsNumber; + + Value(); + }; + private: - ScQueryParam aParam; - ScDocument* pDoc; - const ScAttrArray* pAttrArray; - ULONG nNumFormat; // fuer CalcAsShown - ULONG nNumFmtIndex; - SCCOL nCol; - SCROW nRow; - SCSIZE nColRow; - SCROW nAttrEndRow; - SCTAB nTab; - short nNumFmtType; - BOOL bCalcAsShown; + static SCROW GetRowByColEntryIndex(ScDocument& rDoc, SCTAB nTab, SCCOL nCol, SCSIZE nColRow); + static ScBaseCell* GetCellByColEntryIndex(ScDocument& rDoc, SCTAB nTab, SCCOL nCol, SCSIZE nColRow); + static ScAttrArray* GetAttrArrayByCol(ScDocument& rDoc, SCTAB nTab, SCCOL nCol); + static bool IsQueryValid(ScDocument& rDoc, const ScQueryParam& rParam, SCTAB nTab, SCROW nRow, ScBaseCell* pCell); + static SCSIZE SearchColEntryIndex(ScDocument& rDoc, SCTAB nTab, SCROW nRow, SCCOL nCol); + + class DataAccess + { + public: + DataAccess(const ScDBQueryDataIterator* pParent); + virtual ~DataAccess() = 0; + virtual bool getCurrent(Value& rValue) = 0; + virtual bool getFirst(Value& rValue) = 0; + virtual bool getNext(Value& rValue) = 0; + protected: + const ScDBQueryDataIterator* mpParent; + }; + + class DataAccessInternal : public DataAccess + { + public: + DataAccessInternal(const ScDBQueryDataIterator* pParent, ScDBQueryParamInternal* pParam, ScDocument* pDoc); + virtual ~DataAccessInternal(); + virtual bool getCurrent(Value& rValue); + virtual bool getFirst(Value& rValue); + virtual bool getNext(Value& rValue); + + private: + ScDBQueryParamInternal* mpParam; + ScDocument* mpDoc; + const ScAttrArray* pAttrArray; + ULONG nNumFormat; // for CalcAsShown + ULONG nNumFmtIndex; + SCCOL nCol; + SCROW nRow; + SCSIZE nColRow; + SCROW nAttrEndRow; + SCTAB nTab; + short nNumFmtType; + bool bCalcAsShown; + }; + + class DataAccessMatrix : public DataAccess + { + public: + DataAccessMatrix(const ScDBQueryDataIterator* pParent, ScDBQueryParamMatrix* pParam); + virtual ~DataAccessMatrix(); + virtual bool getCurrent(Value& rValue); + virtual bool getFirst(Value& rValue); + virtual bool getNext(Value& rValue); + + private: + bool isValidQuery(SCROW mnRow, const ScMatrix& rMat) const; + + ScDBQueryParamMatrix* mpParam; + SCROW mnCurRow; + SCROW mnRows; + SCCOL mnCols; + }; + + ::std::auto_ptr<ScDBQueryParamBase> mpParam; + ::std::auto_ptr<DataAccess> mpData; + + bool GetThis(Value& rValue); - BOOL GetThis(double& rValue, USHORT& rErr); public: - ScQueryValueIterator(ScDocument* pDocument, SCTAB nTable, - const ScQueryParam& aParam); + ScDBQueryDataIterator(ScDocument* pDocument, ScDBQueryParamBase* pParam); /// Does NOT reset rValue if no value found! - BOOL GetFirst(double& rValue, USHORT& rErr); + bool GetFirst(Value& rValue); /// Does NOT reset rValue if no value found! - BOOL GetNext(double& rValue, USHORT& rErr); - void GetCurNumFmtInfo( short& nType, ULONG& nIndex ) - { nType = nNumFmtType; nIndex = nNumFmtIndex; } + bool GetNext(Value& rValue); }; +// ============================================================================ + class ScCellIterator // alle Zellen in einem Bereich durchgehen { // bei SubTotal aber keine ausgeblendeten und private: // SubTotalZeilen diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index cc575b529d73..f157d144d515 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -69,7 +69,9 @@ class SvxBoxInfoItem; class SvxBoxItem; class SvxBrushItem; class SvxForbiddenCharactersTable; -class SvxLinkManager; +namespace sfx2 { + class LinkManager; + } class SvxSearchItem; class SvxShadowItem; class Window; @@ -227,7 +229,7 @@ class ScDocument { friend class ScDocumentIterator; friend class ScValueIterator; -friend class ScQueryValueIterator; +friend class ScDBQueryDataIterator; friend class ScCellIterator; friend class ScQueryCellIterator; friend class ScHorizontalCellIterator; @@ -260,7 +262,7 @@ private: ScChartCollection* pChartCollection; std::auto_ptr< ScTemporaryChartLock > apTemporaryChartLock; ScPatternAttr* pSelectionAttr; // Attribute eines Blocks - mutable SvxLinkManager* pLinkManager; + mutable sfx2::LinkManager* pLinkManager; ScFormulaCell* pFormulaTree; // Berechnungsbaum Start ScFormulaCell* pEOFormulaTree; // Berechnungsbaum Ende, letzte Zelle ScFormulaCell* pFormulaTrack; // BroadcastTrack Start @@ -291,6 +293,7 @@ private: mxFormulaParserPool; /// Pool for all external formula parsers used by this document. String aDocName; // opt: Dokumentname + String aDocCodeName; // opt: Dokumentname ScRangePairListRef xColNameRanges; ScRangePairListRef xRowNameRanges; @@ -420,6 +423,7 @@ private: public: SC_DLLPUBLIC ULONG GetCellCount() const; // alle Zellen + SCSIZE GetCellCount(SCTAB nTab, SCCOL nCol) const; ULONG GetWeightedCount() const; // Formeln und Edit staerker gewichtet ULONG GetCodeCount() const; // RPN-Code in Formeln DECL_LINK( GetUserDefinedColor, USHORT * ); @@ -435,13 +439,15 @@ public: SC_DLLPUBLIC const String& GetName() const { return aDocName; } void SetName( const String& r ) { aDocName = r; } + const String& GetCodeName() const { return aDocCodeName; } + void SetCodeName( const String& r ) { aDocCodeName = r; } void GetDocStat( ScDocStat& rDocStat ); SC_DLLPUBLIC void InitDrawLayer( SfxObjectShell* pDocShell = NULL ); XColorTable* GetColorTable(); - SC_DLLPUBLIC SvxLinkManager* GetLinkManager() const; + SC_DLLPUBLIC sfx2::LinkManager* GetLinkManager() const; SC_DLLPUBLIC const ScDocOptions& GetDocOptions() const; SC_DLLPUBLIC void SetDocOptions( const ScDocOptions& rOpt ); @@ -520,6 +526,8 @@ public: SC_DLLPUBLIC BOOL HasTable( SCTAB nTab ) const; SC_DLLPUBLIC BOOL GetName( SCTAB nTab, String& rName ) const; + SC_DLLPUBLIC BOOL GetCodeName( SCTAB nTab, String& rName ) const; + SC_DLLPUBLIC BOOL SetCodeName( SCTAB nTab, String& rName ); SC_DLLPUBLIC BOOL GetTable( const String& rName, SCTAB& rTab ) const; SC_DLLPUBLIC inline SCTAB GetTableCount() const { return nMaxTableNumber; } SvNumberFormatterIndexTable* GetFormatExchangeList() const { return pFormatExchangeList; } diff --git a/sc/inc/dpcachetable.hxx b/sc/inc/dpcachetable.hxx index 2115eab7cc42..dea7c87c4b85 100644 --- a/sc/inc/dpcachetable.hxx +++ b/sc/inc/dpcachetable.hxx @@ -60,6 +60,7 @@ class ScDPDimension; class ScDPCollection; struct ScDPCacheCell; struct ScDPItemData; +struct ScQueryParam; class Date; // ---------------------------------------------------------------------------- diff --git a/sc/inc/dpshttab.hxx b/sc/inc/dpshttab.hxx index 0bcdbeee517e..b8ccd3b31f64 100644 --- a/sc/inc/dpshttab.hxx +++ b/sc/inc/dpshttab.hxx @@ -35,6 +35,7 @@ #include "global.hxx" #include "address.hxx" #include "scdllapi.h" +#include "queryparam.hxx" #include <vector> diff --git a/sc/inc/drawattr.hxx b/sc/inc/drawattr.hxx index ad0ce37e35c3..9cf2ef15f3e0 100644 --- a/sc/inc/drawattr.hxx +++ b/sc/inc/drawattr.hxx @@ -31,7 +31,7 @@ #define _IDLITEMS_HXX #include <svl/eitem.hxx> -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> class SvxDrawToolItem : public SfxEnumItem diff --git a/sc/inc/editsrc.hxx b/sc/inc/editsrc.hxx index 3dd928384fe8..2e34454dfa55 100644 --- a/sc/inc/editsrc.hxx +++ b/sc/inc/editsrc.hxx @@ -32,7 +32,7 @@ #define SC_EDITSRC_HXX #include "address.hxx" -#include <svx/unoedsrc.hxx> +#include <editeng/unoedsrc.hxx> #include <svl/lstner.hxx> #include <memory> diff --git a/sc/inc/editutil.hxx b/sc/inc/editutil.hxx index b61bdf72ef7b..f6791915aa97 100644 --- a/sc/inc/editutil.hxx +++ b/sc/inc/editutil.hxx @@ -33,7 +33,7 @@ #include "scdllapi.h" #include "address.hxx" -#include <svx/editeng.hxx> +#include <editeng/editeng.hxx> #include <svx/pageitem.hxx> #include <tools/date.hxx> #include <tools/time.hxx> diff --git a/sc/inc/fielduno.hxx b/sc/inc/fielduno.hxx index 6d777b38424a..4f88af9f611e 100644 --- a/sc/inc/fielduno.hxx +++ b/sc/inc/fielduno.hxx @@ -36,7 +36,7 @@ #include <svl/lstner.hxx> #include <svl/itemprop.hxx> -#include <svx/editdata.hxx> +#include <editeng/editdata.hxx> #include <com/sun/star/text/XTextField.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/container/XContainer.hpp> diff --git a/sc/inc/forbiuno.hxx b/sc/inc/forbiuno.hxx index 305d818a299d..8875ea12c90f 100644 --- a/sc/inc/forbiuno.hxx +++ b/sc/inc/forbiuno.hxx @@ -31,7 +31,7 @@ #ifndef SC_FORBIUNO_HXX #define SC_FORBIUNO_HXX -#include <svx/UnoForbiddenCharsTable.hxx> +#include <editeng/UnoForbiddenCharsTable.hxx> #include <svl/lstner.hxx> class ScDocShell; diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx index c938968ddfef..0c350a065d44 100644 --- a/sc/inc/global.hxx +++ b/sc/inc/global.hxx @@ -817,47 +817,6 @@ struct ScQueryEntry BOOL operator==( const ScQueryEntry& r ) const; }; -struct SC_DLLPUBLIC ScQueryParam -{ - SCCOL nCol1; - SCROW nRow1; - SCCOL nCol2; - SCROW nRow2; - SCTAB nTab; - BOOL bHasHeader; - BOOL bByRow; - BOOL bInplace; - BOOL bCaseSens; - BOOL bRegExp; - BOOL bMixedComparison; // whether numbers are smaller than strings - BOOL bDuplicate; - BOOL bDestPers; // nicht gespeichert - SCTAB nDestTab; - SCCOL nDestCol; - SCROW nDestRow; - -private: - SCSIZE nEntryCount; - ScQueryEntry* pEntries; - -public: - ScQueryParam(); - ScQueryParam( const ScQueryParam& r ); - ~ScQueryParam(); - - SCSIZE GetEntryCount() const { return nEntryCount; } - ScQueryEntry& GetEntry(SCSIZE n) const { return pEntries[n]; } - void Resize(SCSIZE nNew); - - ScQueryParam& operator= ( const ScQueryParam& r ); - BOOL operator== ( const ScQueryParam& rOther ) const; - void Clear (); - void DeleteQuery( SCSIZE nPos ); - - void MoveToDest(); - void FillInExcelSyntax(String& aCellStr, SCSIZE nIndex); -}; - // ----------------------------------------------------------------------- struct SC_DLLPUBLIC ScSubTotalParam diff --git a/sc/inc/patattr.hxx b/sc/inc/patattr.hxx index 65d350455ddd..3e222b67ea19 100644 --- a/sc/inc/patattr.hxx +++ b/sc/inc/patattr.hxx @@ -34,7 +34,7 @@ #include <svl/poolitem.hxx> #include <svl/itemset.hxx> #include <unotools/fontcvt.hxx> -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> #include "scdllapi.h" class Font; diff --git a/sc/inc/pch/precompiled_sc.hxx b/sc/inc/pch/precompiled_sc.hxx index dbb86fdf7484..af916667638d 100644 --- a/sc/inc/pch/precompiled_sc.hxx +++ b/sc/inc/pch/precompiled_sc.hxx @@ -162,10 +162,10 @@ #include <unotools/pathoptions.hxx> #include <svl/solar.hrc> #include <unotools/useroptions.hxx> -#include <svx/editobj.hxx> -#include <svx/eeitem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/eeitem.hxx> #include <svx/fmglob.hxx> -#include <svx/outlobj.hxx> +#include <editeng/outlobj.hxx> #include <svx/sdangitm.hxx> #include <svx/sderitm.hxx> #include <svx/sdmetitm.hxx> diff --git a/sc/inc/queryparam.hxx b/sc/inc/queryparam.hxx new file mode 100644 index 000000000000..8e84f1e53e36 --- /dev/null +++ b/sc/inc/queryparam.hxx @@ -0,0 +1,142 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: interpre.hxx,v $ + * $Revision: 1.35.44.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef SC_QUERYPARAM_HXX +#define SC_QUERYPARAM_HXX + +#include "global.hxx" +#include "scmatrix.hxx" + +#include <vector> + +struct ScDBQueryParamInternal; + +struct ScQueryParamBase +{ + bool bHasHeader; + bool bByRow; + bool bInplace; + bool bCaseSens; + bool bRegExp; + bool bDuplicate; + bool bMixedComparison; // whether numbers are smaller than strings + + virtual ~ScQueryParamBase(); + + SC_DLLPUBLIC SCSIZE GetEntryCount() const; + SC_DLLPUBLIC ScQueryEntry& GetEntry(SCSIZE n) const; + void Resize(SCSIZE nNew); + SC_DLLPUBLIC void DeleteQuery( SCSIZE nPos ); + void FillInExcelSyntax(String& aCellStr, SCSIZE nIndex); + +protected: + ScQueryParamBase(); + ScQueryParamBase(const ScQueryParamBase& r); + + mutable ::std::vector<ScQueryEntry> maEntries; +}; + +// ============================================================================ + +struct ScQueryParamTable +{ + SCCOL nCol1; + SCROW nRow1; + SCCOL nCol2; + SCROW nRow2; + SCTAB nTab; + + ScQueryParamTable(); + ScQueryParamTable(const ScQueryParamTable& r); + virtual ~ScQueryParamTable(); +}; + +// ============================================================================ + +struct SC_DLLPUBLIC ScQueryParam : public ScQueryParamBase, public ScQueryParamTable +{ + BOOL bDestPers; // nicht gespeichert + SCTAB nDestTab; + SCCOL nDestCol; + SCROW nDestRow; + + ScQueryParam(); + ScQueryParam( const ScQueryParam& r ); + ScQueryParam( const ScDBQueryParamInternal& r ); + virtual ~ScQueryParam(); + + ScQueryParam& operator= ( const ScQueryParam& r ); + BOOL operator== ( const ScQueryParam& rOther ) const; + void Clear(); + void ClearDestParams(); + void MoveToDest(); +}; + +// ============================================================================ + +struct ScDBQueryParamBase : public ScQueryParamBase +{ + enum DataType { INTERNAL, MATRIX }; + + SCCOL mnField; /// the field in which the values are processed during iteration. + bool mbSkipString; + + DataType GetType() const; + + virtual ~ScDBQueryParamBase(); + +protected: + ScDBQueryParamBase(DataType eType); + +private: + ScDBQueryParamBase(); + + DataType meType; +}; + +// ============================================================================ + +struct ScDBQueryParamInternal : public ScDBQueryParamBase, public ScQueryParamTable +{ + ScDBQueryParamInternal(); + virtual ~ScDBQueryParamInternal(); +}; + +// ============================================================================ + +struct ScDBQueryParamMatrix : public ScDBQueryParamBase +{ + ScMatrixRef mpMatrix; + + ScDBQueryParamMatrix(); + virtual ~ScDBQueryParamMatrix(); +}; + +#endif diff --git a/sc/inc/reftokenhelper.hxx b/sc/inc/reftokenhelper.hxx index 5b06450ea56f..7c0a846a8431 100644 --- a/sc/inc/reftokenhelper.hxx +++ b/sc/inc/reftokenhelper.hxx @@ -70,12 +70,12 @@ public: static void getTokensFromRangeList(::std::vector<ScSharedTokenRef>& pTokens, const ScRangeList& rRanges); - static bool isRef(const ScSharedTokenRef& pToken); - static bool isExternalRef(const ScSharedTokenRef& pToken); + static bool SC_DLLPUBLIC isRef(const ScSharedTokenRef& pToken); + static bool SC_DLLPUBLIC isExternalRef(const ScSharedTokenRef& pToken); - static bool intersects(const ::std::vector<ScSharedTokenRef>& rTokens, const ScSharedTokenRef& pToken); + static bool SC_DLLPUBLIC intersects(const ::std::vector<ScSharedTokenRef>& rTokens, const ScSharedTokenRef& pToken); - static void join(::std::vector<ScSharedTokenRef>& rTokens, const ScSharedTokenRef& pToken); + static void SC_DLLPUBLIC join(::std::vector<ScSharedTokenRef>& rTokens, const ScSharedTokenRef& pToken); static bool getDoubleRefDataFromToken(ScComplexRefData& rData, const ScSharedTokenRef& pToken); }; diff --git a/sc/inc/scextopt.hxx b/sc/inc/scextopt.hxx index fdf05430cc69..9e779b0366ae 100644 --- a/sc/inc/scextopt.hxx +++ b/sc/inc/scextopt.hxx @@ -124,6 +124,8 @@ public: const String& GetCodeName( size_t nIdx ) const; /** Appends a codename for a sheet. */ void AppendCodeName( const String& rCodeName ); + void SetCodeName( const String& rCodeName, size_t nIdx ); + void DeleteCodeName( size_t nIdx ); private: ::std::auto_ptr< ScExtDocOptionsImpl > mxImpl; diff --git a/sc/inc/servuno.hxx b/sc/inc/servuno.hxx index ace44dc5be4d..a468c088d2d4 100644 --- a/sc/inc/servuno.hxx +++ b/sc/inc/servuno.hxx @@ -93,8 +93,9 @@ class ScDocShell; #define SC_SERVICE_FORMULAPARS 38 #define SC_SERVICE_OPCODEMAPPER 39 +#define SC_SERVICE_VBACODENAMEPROVIDER 40 -#define SC_SERVICE_COUNT 40 +#define SC_SERVICE_COUNT 41 #define SC_SERVICE_INVALID USHRT_MAX diff --git a/sc/inc/sheetdata.hxx b/sc/inc/sheetdata.hxx index 63853f6bc675..97e350d62a9e 100644 --- a/sc/inc/sheetdata.hxx +++ b/sc/inc/sheetdata.hxx @@ -32,7 +32,7 @@ #define SC_SHEETDATA_HXX #include <xmloff/maptype.hxx> -#include <svx/editdata.hxx> +#include <editeng/editdata.hxx> #include <vector> #include <hash_set> diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx index f400054d00b7..146a75eba429 100644 --- a/sc/inc/table.hxx +++ b/sc/inc/table.hxx @@ -89,6 +89,7 @@ private: ScColumn aCol[MAXCOLCOUNT]; String aName; + String aCodeName; String aComment; BOOL bScenario; BOOL bLayoutRTL; @@ -161,7 +162,7 @@ private: friend class ScDocument; // fuer FillInfo friend class ScDocumentIterator; friend class ScValueIterator; -friend class ScQueryValueIterator; +friend class ScDBQueryDataIterator; friend class ScCellIterator; friend class ScQueryCellIterator; friend class ScHorizontalCellIterator; @@ -177,6 +178,7 @@ public: ScOutlineTable* GetOutlineTable() { return pOutlineTable; } + SCSIZE GetCellCount(SCCOL nCol) const; ULONG GetCellCount() const; ULONG GetWeightedCount() const; ULONG GetCodeCount() const; // RPN-Code in Formeln @@ -229,6 +231,9 @@ public: void GetName( String& rName ) const; void SetName( const String& rNewName ); + void GetCodeName( String& rName ) const { rName = aCodeName; } + void SetCodeName( const String& rNewName ) { aCodeName = rNewName; } + const String& GetUpperName() const; const String& GetPageStyle() const { return aPageStyle; } diff --git a/sc/inc/textuno.hxx b/sc/inc/textuno.hxx index 64eb2aaba696..c833e95240bc 100644 --- a/sc/inc/textuno.hxx +++ b/sc/inc/textuno.hxx @@ -33,7 +33,7 @@ #include "global.hxx" // ScRange, ScAddress #include "address.hxx" -#include <svx/unotext.hxx> +#include <editeng/unotext.hxx> #include <svl/brdcst.hxx> #include <svl/lstner.hxx> #include <com/sun/star/text/XTextFieldsSupplier.hpp> diff --git a/sc/sdi/scslots.hrc b/sc/sdi/scslots.hrc index fdb7cbe35a4b..2ba84e79c587 100644 --- a/sc/sdi/scslots.hrc +++ b/sc/sdi/scslots.hrc @@ -31,4 +31,6 @@ #include <svx/dialogs.hrc> #include <sfx2/sfxsids.hrc> #include <svx/svxids.hrc> +#include <editeng/editids.hrc> +#include <editeng/memberids.hrc> #include <sc.hrc> diff --git a/sc/source/core/data/attarray.cxx b/sc/source/core/data/attarray.cxx index a4875ba4d1e3..9cf9975366e9 100644 --- a/sc/source/core/data/attarray.cxx +++ b/sc/source/core/data/attarray.cxx @@ -37,12 +37,12 @@ #include "scitems.hxx" #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/bolnitem.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/shaditem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/bolnitem.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/shaditem.hxx> #include <svl/poolcach.hxx> -#include <svx/fontitem.hxx> +#include <editeng/fontitem.hxx> #include <unotools/fontcvt.hxx> #include "attarray.hxx" diff --git a/sc/source/core/data/attrib.cxx b/sc/source/core/data/attrib.cxx index dcc6418445fa..2a1001e4cd07 100644 --- a/sc/source/core/data/attrib.cxx +++ b/sc/source/core/data/attrib.cxx @@ -42,13 +42,13 @@ #include <com/sun/star/beans/XPropertySet.hpp> #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/editdata.hxx> -#include <svx/editeng.hxx> -#include <svx/editobj.hxx> -#include <svx/flditem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/editdata.hxx> +#include <editeng/editeng.hxx> +#include <editeng/editobj.hxx> +#include <editeng/flditem.hxx> #include "attrib.hxx" #include "global.hxx" diff --git a/sc/source/core/data/autonamecache.cxx b/sc/source/core/data/autonamecache.cxx index 2daa10fa29d4..d75e9028857c 100644 --- a/sc/source/core/data/autonamecache.cxx +++ b/sc/source/core/data/autonamecache.cxx @@ -40,6 +40,7 @@ #include "autonamecache.hxx" #include "dociter.hxx" #include "cell.hxx" +#include "queryparam.hxx" // ----------------------------------------------------------------------- diff --git a/sc/source/core/data/cell.cxx b/sc/source/core/data/cell.cxx index e7c74d34a95e..08569ad6f055 100644 --- a/sc/source/core/data/cell.cxx +++ b/sc/source/core/data/cell.cxx @@ -54,9 +54,9 @@ #include "recursionhelper.hxx" #include "postit.hxx" #include "externalrefmgr.hxx" -#include <svx/editobj.hxx> +#include <editeng/editobj.hxx> #include <svl/intitem.hxx> -#include <svx/flditem.hxx> +#include <editeng/flditem.hxx> #include <svl/broadcast.hxx> using namespace formula; diff --git a/sc/source/core/data/cell2.cxx b/sc/source/core/data/cell2.cxx index 4caaa1cb3267..3eb940af8cb0 100644 --- a/sc/source/core/data/cell2.cxx +++ b/sc/source/core/data/cell2.cxx @@ -40,8 +40,8 @@ #include <boost/bind.hpp> #include <vcl/mapmod.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> #include "cell.hxx" #include "compiler.hxx" diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx index b5dc01a8b059..b6b2107faa85 100644 --- a/sc/source/core/data/column.cxx +++ b/sc/source/core/data/column.cxx @@ -39,7 +39,7 @@ #include <svl/poolcach.hxx> #include <svl/zforlist.hxx> -#include <svx/scripttypeitem.hxx> +#include <editeng/scripttypeitem.hxx> #include <string.h> #include "scitems.hxx" diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx index 3da3d3810f0b..9c988f4954e0 100644 --- a/sc/source/core/data/column2.cxx +++ b/sc/source/core/data/column2.cxx @@ -36,17 +36,17 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/algitem.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> -#include <svx/emphitem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/forbiddencharacterstable.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> +#include <editeng/emphitem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/forbiddencharacterstable.hxx> #include <svx/rotmodit.hxx> -#include <svx/scripttypeitem.hxx> -#include <svx/unolingu.hxx> +#include <editeng/scripttypeitem.hxx> +#include <editeng/unolingu.hxx> #include <svl/zforlist.hxx> #include <svl/broadcast.hxx> #include <svl/listeneriter.hxx> diff --git a/sc/source/core/data/dociter.cxx b/sc/source/core/data/dociter.cxx index 4548f1f7a1b5..36e8a6681c2a 100644..100755 --- a/sc/source/core/data/dociter.cxx +++ b/sc/source/core/data/dociter.cxx @@ -47,9 +47,23 @@ #include "docoptio.hxx" #include "cellform.hxx" +#include <vector> + +using ::rtl::math::approxEqual; +using ::std::vector; +using ::rtl::OUString; // STATIC DATA ----------------------------------------------------------- +namespace { + +void lcl_toUpper(OUString& rStr) +{ + rStr = ScGlobal::pCharClass->toUpper(rStr.trim(), 0, static_cast<USHORT>(rStr.getLength())); +} + +} + ScDocumentIterator::ScDocumentIterator( ScDocument* pDocument, SCTAB nStartTable, SCTAB nEndTable ) : pDoc( pDocument ), @@ -482,83 +496,121 @@ BOOL ScValueIterator::GetNext(double& rValue, USHORT& rErr) } */ -//------------------------------------------------------------------------ -//------------------------------------------------------------------------ +// ============================================================================ -ScQueryValueIterator::ScQueryValueIterator(ScDocument* pDocument, SCTAB nTable, const ScQueryParam& rParam) : - aParam (rParam), - pDoc( pDocument ), - nNumFmtIndex(0), - nTab( nTable), - nNumFmtType( NUMBERFORMAT_UNDEFINED ), - bCalcAsShown( pDocument->GetDocOptions().IsCalcAsShown() ) +ScDBQueryDataIterator::DataAccess::DataAccess(const ScDBQueryDataIterator* pParent) : + mpParent(pParent) { - nCol = aParam.nCol1; - nRow = aParam.nRow1; +} + +ScDBQueryDataIterator::DataAccess::~DataAccess() +{ +} + +SCROW ScDBQueryDataIterator::GetRowByColEntryIndex(ScDocument& rDoc, SCTAB nTab, SCCOL nCol, SCSIZE nColRow) +{ + ScColumn* pCol = &rDoc.pTab[nTab]->aCol[nCol]; + return pCol->pItems[nColRow].nRow; +} + +ScBaseCell* ScDBQueryDataIterator::GetCellByColEntryIndex(ScDocument& rDoc, SCTAB nTab, SCCOL nCol, SCSIZE nColRow) +{ + ScColumn* pCol = &rDoc.pTab[nTab]->aCol[nCol]; + return pCol->pItems[nColRow].pCell; +} + +ScAttrArray* ScDBQueryDataIterator::GetAttrArrayByCol(ScDocument& rDoc, SCTAB nTab, SCCOL nCol) +{ + ScColumn* pCol = &rDoc.pTab[nTab]->aCol[nCol]; + return pCol->pAttrArray; +} + +bool ScDBQueryDataIterator::IsQueryValid(ScDocument& rDoc, const ScQueryParam& rParam, SCTAB nTab, SCROW nRow, ScBaseCell* pCell) +{ + return rDoc.pTab[nTab]->ValidQuery(nRow, rParam, NULL, pCell); +} + +SCSIZE ScDBQueryDataIterator::SearchColEntryIndex(ScDocument& rDoc, SCTAB nTab, SCROW nRow, SCCOL nCol) +{ + ScColumn* pCol = &rDoc.pTab[nTab]->aCol[nCol]; + SCSIZE nColRow; + pCol->Search(nRow, nColRow); + return nColRow; +} + +// ---------------------------------------------------------------------------- + +ScDBQueryDataIterator::DataAccessInternal::DataAccessInternal(const ScDBQueryDataIterator* pParent, ScDBQueryParamInternal* pParam, ScDocument* pDoc) : + DataAccess(pParent), + mpParam(pParam), + mpDoc(pDoc) +{ + nCol = mpParam->mnField; + nRow = mpParam->nRow1; + nTab = mpParam->nTab; + nColRow = 0; // wird bei GetFirst initialisiert SCSIZE i; - SCSIZE nCount = aParam.GetEntryCount(); - for (i=0; (i<nCount) && (aParam.GetEntry(i).bDoQuery); i++) + SCSIZE nCount = mpParam->GetEntryCount(); + for (i=0; (i<nCount) && (mpParam->GetEntry(i).bDoQuery); i++) { - ScQueryEntry& rEntry = aParam.GetEntry(i); + ScQueryEntry& rEntry = mpParam->GetEntry(i); sal_uInt32 nIndex = 0; rEntry.bQueryByString = - !(pDoc->GetFormatTable()->IsNumberFormat(*rEntry.pStr, nIndex, rEntry.nVal)); + !(mpDoc->GetFormatTable()->IsNumberFormat(*rEntry.pStr, nIndex, rEntry.nVal)); } nNumFormat = 0; // werden bei GetNumberFormat initialisiert pAttrArray = 0; nAttrEndRow = 0; } -BOOL ScQueryValueIterator::GetThis(double& rValue, USHORT& rErr) +ScDBQueryDataIterator::DataAccessInternal::~DataAccessInternal() { - ScColumn* pCol = &(pDoc->pTab[nTab])->aCol[nCol]; - SCCOLROW nFirstQueryField = aParam.GetEntry(0).nField; +} + +bool ScDBQueryDataIterator::DataAccessInternal::getCurrent(Value& rValue) +{ + SCCOLROW nFirstQueryField = mpParam->GetEntry(0).nField; for ( ;; ) { - if ( nRow > aParam.nRow2 ) + if (nRow > mpParam->nRow2) { - nRow = aParam.nRow1; - if (aParam.bHasHeader) - nRow++; - do - { - nCol++; - if ( nCol > aParam.nCol2 ) - { - // rValue = 0.0; // do not change caller's value! - rErr = 0; - return FALSE; // Ende und Aus - } - pCol = &(pDoc->pTab[nTab])->aCol[nCol]; - } while ( pCol->nCount == 0 ); - pCol->Search( nRow, nColRow ); + // Bottom of the range reached. Bail out. + rValue.mnError = 0; + return false; } - while ( (nColRow < pCol->nCount) && (pCol->pItems[nColRow].nRow < nRow) ) - nColRow++; + SCSIZE nCellCount = mpDoc->GetCellCount(nTab, nCol); + SCROW nThisRow = ScDBQueryDataIterator::GetRowByColEntryIndex(*mpDoc, nTab, nCol, nColRow); + while ( (nColRow < nCellCount) && (nThisRow < nRow) ) + nThisRow = ScDBQueryDataIterator::GetRowByColEntryIndex(*mpDoc, nTab, nCol, ++nColRow); - if ( nColRow < pCol->nCount && pCol->pItems[nColRow].nRow <= aParam.nRow2 ) + if ( nColRow < nCellCount && nThisRow <= mpParam->nRow2 ) { - nRow = pCol->pItems[nColRow].nRow; - ScBaseCell* pCell = pCol->pItems[nColRow].pCell; - if ( (pDoc->pTab[nTab])->ValidQuery( nRow, aParam, NULL, - (nCol == static_cast<SCCOL>(nFirstQueryField) ? pCell : NULL) ) ) + nRow = nThisRow; + ScBaseCell* pCell = NULL; + if (nCol == static_cast<SCCOL>(nFirstQueryField)) + pCell = ScDBQueryDataIterator::GetCellByColEntryIndex(*mpDoc, nTab, nCol, nColRow); + + if (ScDBQueryDataIterator::IsQueryValid(*mpDoc, *mpParam, nTab, nRow, pCell)) { switch (pCell->GetCellType()) { case CELLTYPE_VALUE: { - rValue = ((ScValueCell*)pCell)->GetValue(); + rValue.mfValue = ((ScValueCell*)pCell)->GetValue(); + rValue.mbIsNumber = true; if ( bCalcAsShown ) { + const ScAttrArray* pNewAttrArray = + ScDBQueryDataIterator::GetAttrArrayByCol(*mpDoc, nTab, nCol); lcl_IterGetNumberFormat( nNumFormat, pAttrArray, - nAttrEndRow, pCol->pAttrArray, nRow, pDoc ); - rValue = pDoc->RoundValueAsShown( rValue, nNumFormat ); + nAttrEndRow, pNewAttrArray, nRow, mpDoc ); + rValue.mfValue = mpDoc->RoundValueAsShown( rValue.mfValue, nNumFormat ); } nNumFmtType = NUMBERFORMAT_NUMBER; nNumFmtIndex = 0; - rErr = 0; + rValue.mnError = 0; return TRUE; // gefunden } // break; @@ -566,17 +618,31 @@ BOOL ScQueryValueIterator::GetThis(double& rValue, USHORT& rErr) { if (((ScFormulaCell*)pCell)->IsValue()) { - rValue = ((ScFormulaCell*)pCell)->GetValue(); - pDoc->GetNumberFormatInfo( nNumFmtType, + rValue.mfValue = ((ScFormulaCell*)pCell)->GetValue(); + rValue.mbIsNumber = true; + mpDoc->GetNumberFormatInfo( nNumFmtType, nNumFmtIndex, ScAddress( nCol, nRow, nTab ), pCell ); - rErr = ((ScFormulaCell*)pCell)->GetErrCode(); + rValue.mnError = ((ScFormulaCell*)pCell)->GetErrCode(); return TRUE; // gefunden } else nRow++; } break; + case CELLTYPE_STRING: + case CELLTYPE_EDIT: + if (mpParam->mbSkipString) + ++nRow; + else + { + rValue.maString = pCell->GetStringData(); + rValue.mfValue = 0.0; + rValue.mnError = 0; + rValue.mbIsNumber = false; + return true; + } + break; default: nRow++; break; @@ -586,30 +652,309 @@ BOOL ScQueryValueIterator::GetThis(double& rValue, USHORT& rErr) nRow++; } else - nRow = aParam.nRow2 + 1; // Naechste Spalte + nRow = mpParam->nRow2 + 1; // Naechste Spalte } -// return FALSE; +// statement unreachable +// return false; } -BOOL ScQueryValueIterator::GetFirst(double& rValue, USHORT& rErr) +bool ScDBQueryDataIterator::DataAccessInternal::getFirst(Value& rValue) { - nCol = aParam.nCol1; - nRow = aParam.nRow1; - if (aParam.bHasHeader) + if (mpParam->bHasHeader) nRow++; -// nColRow = 0; - ScColumn* pCol = &(pDoc->pTab[nTab])->aCol[nCol]; - pCol->Search( nRow, nColRow ); - return GetThis(rValue, rErr); + + nColRow = ScDBQueryDataIterator::SearchColEntryIndex(*mpDoc, nTab, nRow, nCol); + return getCurrent(rValue); } -BOOL ScQueryValueIterator::GetNext(double& rValue, USHORT& rErr) +bool ScDBQueryDataIterator::DataAccessInternal::getNext(Value& rValue) { ++nRow; - return GetThis(rValue, rErr); + return getCurrent(rValue); } -//------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- + +ScDBQueryDataIterator::DataAccessMatrix::DataAccessMatrix(const ScDBQueryDataIterator* pParent, ScDBQueryParamMatrix* pParam) : + DataAccess(pParent), + mpParam(pParam) +{ + SCSIZE nC, nR; + mpParam->mpMatrix->GetDimensions(nC, nR); + mnRows = static_cast<SCROW>(nR); + mnCols = static_cast<SCCOL>(nC); +} + +ScDBQueryDataIterator::DataAccessMatrix::~DataAccessMatrix() +{ +} + +bool ScDBQueryDataIterator::DataAccessMatrix::getCurrent(Value& rValue) +{ + // Starting from row == mnCurRow, get the first row that satisfies all the + // query parameters. + for ( ;mnCurRow < mnRows; ++mnCurRow) + { + const ScMatrix& rMat = *mpParam->mpMatrix; + if (rMat.IsEmpty(mpParam->mnField, mnCurRow)) + // Don't take empty values into account. + continue; + + bool bIsStrVal = rMat.IsString(mpParam->mnField, mnCurRow); + if (bIsStrVal && mpParam->mbSkipString) + continue; + + if (isValidQuery(mnCurRow, rMat)) + { + rValue.maString = rMat.GetString(mpParam->mnField, mnCurRow); + rValue.mfValue = rMat.GetDouble(mpParam->mnField, mnCurRow); + rValue.mbIsNumber = !bIsStrVal; + rValue.mnError = 0; + return true; + } + } + return false; +} + +bool ScDBQueryDataIterator::DataAccessMatrix::getFirst(Value& rValue) +{ + mnCurRow = mpParam->bHasHeader ? 1 : 0; + return getCurrent(rValue); +} + +bool ScDBQueryDataIterator::DataAccessMatrix::getNext(Value& rValue) +{ + ++mnCurRow; + return getCurrent(rValue); +} + +namespace { + +bool lcl_isQueryByValue(const ScQueryEntry& rEntry, const ScMatrix& rMat, SCSIZE nCol, SCSIZE nRow) +{ + if (rEntry.bQueryByString) + return false; + + if (!rMat.IsValueOrEmpty(nCol, nRow)) + return false; + + return true; +} + +bool lcl_isQueryByString(const ScQueryEntry& rEntry, const ScMatrix& rMat, SCSIZE nCol, SCSIZE nRow) +{ + switch (rEntry.eOp) + { + case SC_EQUAL: + case SC_NOT_EQUAL: + case SC_CONTAINS: + case SC_DOES_NOT_CONTAIN: + case SC_BEGINS_WITH: + case SC_ENDS_WITH: + case SC_DOES_NOT_BEGIN_WITH: + case SC_DOES_NOT_END_WITH: + return true; + default: + ; + } + + if (rEntry.bQueryByString && rMat.IsString(nCol, nRow)) + return true; + + return false; +} + +} + +bool ScDBQueryDataIterator::DataAccessMatrix::isValidQuery(SCROW nRow, const ScMatrix& rMat) const +{ + SCSIZE nEntryCount = mpParam->GetEntryCount(); + vector<bool> aResults; + aResults.reserve(nEntryCount); + + const CollatorWrapper& rCollator = + mpParam->bCaseSens ? *ScGlobal::GetCaseCollator() : *ScGlobal::GetCollator(); + + for (SCSIZE i = 0; i < nEntryCount; ++i) + { + const ScQueryEntry& rEntry = mpParam->GetEntry(i); + if (!rEntry.bDoQuery) + continue; + + switch (rEntry.eOp) + { + case SC_EQUAL: + case SC_LESS: + case SC_GREATER: + case SC_LESS_EQUAL: + case SC_GREATER_EQUAL: + case SC_NOT_EQUAL: + break; + default: + // Only the above operators are supported. + continue; + } + + bool bValid = false; + + SCSIZE nField = static_cast<SCSIZE>(rEntry.nField); + if (lcl_isQueryByValue(rEntry, rMat, nField, nRow)) + { + // By value + double fMatVal = rMat.GetDouble(nField, nRow); + bool bEqual = approxEqual(fMatVal, rEntry.nVal); + switch (rEntry.eOp) + { + case SC_EQUAL: + bValid = bEqual; + break; + case SC_LESS: + bValid = (fMatVal < rEntry.nVal) && !bEqual; + break; + case SC_GREATER: + bValid = (fMatVal > rEntry.nVal) && !bEqual; + break; + case SC_LESS_EQUAL: + bValid = (fMatVal < rEntry.nVal) || bEqual; + break; + case SC_GREATER_EQUAL: + bValid = (fMatVal > rEntry.nVal) || bEqual; + break; + case SC_NOT_EQUAL: + bValid = !bEqual; + break; + default: + ; + } + } + else if (lcl_isQueryByString(rEntry, rMat, nField, nRow)) + { + // By string + do + { + if (!rEntry.pStr) + break; + + // Equality check first. + + OUString aMatStr = rMat.GetString(nField, nRow); + lcl_toUpper(aMatStr); + OUString aQueryStr = *rEntry.pStr; + lcl_toUpper(aQueryStr); + bool bDone = false; + switch (rEntry.eOp) + { + case SC_EQUAL: + bValid = aMatStr.equals(aQueryStr); + bDone = true; + break; + case SC_NOT_EQUAL: + bValid = !aMatStr.equals(aQueryStr); + bDone = true; + break; + default: + ; + } + + if (bDone) + break; + + // Unequality check using collator. + + sal_Int32 nCompare = rCollator.compareString(aMatStr, aQueryStr); + switch (rEntry.eOp) + { + case SC_LESS : + bValid = (nCompare < 0); + break; + case SC_GREATER : + bValid = (nCompare > 0); + break; + case SC_LESS_EQUAL : + bValid = (nCompare <= 0); + break; + case SC_GREATER_EQUAL : + bValid = (nCompare >= 0); + break; + default: + ; + } + } + while (false); + } + else if (mpParam->bMixedComparison) + { + // Not used at the moment. + } + + if (aResults.empty()) + // First query entry. + aResults.push_back(bValid); + else if (rEntry.eConnect == SC_AND) + { + // For AND op, tuck the result into the last result value. + size_t n = aResults.size(); + aResults[n-1] = aResults[n-1] && bValid; + } + else + // For OR op, store its own result. + aResults.push_back(bValid); + } + + // Row is valid as long as there is at least one result being true. + vector<bool>::const_iterator itr = aResults.begin(), itrEnd = aResults.end(); + for (; itr != itrEnd; ++itr) + if (*itr) + return true; + + return false; +} + +// ---------------------------------------------------------------------------- + +ScDBQueryDataIterator::Value::Value() : + mnError(0), mbIsNumber(true) +{ + ::rtl::math::setNan(&mfValue); +} + +// ---------------------------------------------------------------------------- + +ScDBQueryDataIterator::ScDBQueryDataIterator(ScDocument* pDocument, ScDBQueryParamBase* pParam) : + mpParam (pParam) +{ + switch (mpParam->GetType()) + { + case ScDBQueryParamBase::INTERNAL: + { + ScDBQueryParamInternal* p = static_cast<ScDBQueryParamInternal*>(pParam); + mpData.reset(new DataAccessInternal(this, p, pDocument)); + } + break; + case ScDBQueryParamBase::MATRIX: + { + ScDBQueryParamMatrix* p = static_cast<ScDBQueryParamMatrix*>(pParam); + mpData.reset(new DataAccessMatrix(this, p)); + } + } +} + +bool ScDBQueryDataIterator::GetThis(Value& rValue) +{ + return mpData->getCurrent(rValue); +} + +bool ScDBQueryDataIterator::GetFirst(Value& rValue) +{ + return mpData->getFirst(rValue); +} + +bool ScDBQueryDataIterator::GetNext(Value& rValue) +{ + return mpData->getNext(rValue); +} + +// ============================================================================ ScCellIterator::ScCellIterator( ScDocument* pDocument, SCCOL nSCol, SCROW nSRow, SCTAB nSTab, diff --git a/sc/source/core/data/docpool.cxx b/sc/source/core/data/docpool.cxx index 662e524b2bfc..fae64f3cbdd9 100644 --- a/sc/source/core/data/docpool.cxx +++ b/sc/source/core/data/docpool.cxx @@ -39,37 +39,37 @@ #include <svl/aeitem.hxx> #include <svl/itemiter.hxx> #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/bolnitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/charreliefitem.hxx> -#include <svx/cntritem.hxx> -#include <svx/colritem.hxx> -#include <svx/crsditem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/bolnitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/charreliefitem.hxx> +#include <editeng/cntritem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/crsditem.hxx> #include <svx/dialmgr.hxx> -#include <svx/emphitem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/fontitem.hxx> -#include <svx/forbiddenruleitem.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/hngpnctitem.hxx> -#include <svx/itemtype.hxx> -#include <svx/langitem.hxx> -#include <svx/lrspitem.hxx> +#include <editeng/emphitem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/forbiddenruleitem.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/hngpnctitem.hxx> +#include <editeng/itemtype.hxx> +#include <editeng/langitem.hxx> +#include <editeng/lrspitem.hxx> #include <svx/pageitem.hxx> -#include <svx/pbinitem.hxx> -#include <svx/postitem.hxx> +#include <editeng/pbinitem.hxx> +#include <editeng/postitem.hxx> #include <svx/rotmodit.hxx> -#include <svx/scriptspaceitem.hxx> -#include <svx/shaditem.hxx> -#include <svx/shdditem.hxx> -#include <svx/sizeitem.hxx> +#include <editeng/scriptspaceitem.hxx> +#include <editeng/shaditem.hxx> +#include <editeng/shdditem.hxx> +#include <editeng/sizeitem.hxx> #include <svx/svxitems.hrc> -#include <svx/udlnitem.hxx> -#include <svx/ulspitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/wrlmitem.hxx> -#include <svx/xmlcnitm.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/ulspitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/wrlmitem.hxx> +#include <editeng/xmlcnitm.hxx> #include "docpool.hxx" #include "global.hxx" diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx index 09477e5a7eb4..4f5e97a58bce 100644 --- a/sc/source/core/data/documen2.cxx +++ b/sc/source/core/data/documen2.cxx @@ -35,11 +35,11 @@ #define _ZFORLIST_DECLARE_TABLE #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/editeng.hxx> -#include <svx/forbiddencharacterstable.hxx> -#include <svx/linkmgr.hxx> +#include <editeng/editeng.hxx> +#include <editeng/forbiddencharacterstable.hxx> +#include <sfx2/linkmgr.hxx> #include <svx/svdpool.hxx> #include <svx/svdobj.hxx> #include <sfx2/bindings.hxx> @@ -228,7 +228,7 @@ ScDocument::ScDocument( ScDocumentMode eMode, if ( eMode == SCDOCMODE_DOCUMENT ) { if ( pDocShell ) - pLinkManager = new SvxLinkManager( pDocShell ); + pLinkManager = new sfx2::LinkManager( pDocShell ); xPoolHelper = new ScPoolHelper( this ); @@ -263,11 +263,11 @@ ScDocument::ScDocument( ScDocumentMode eMode, aTrackTimer.SetTimeout( 100 ); } -SvxLinkManager* ScDocument::GetLinkManager() const +sfx2::LinkManager* ScDocument::GetLinkManager() const { if ( bAutoCalc && !pLinkManager && pShell) { - pLinkManager = new SvxLinkManager( pShell ); + pLinkManager = new sfx2::LinkManager( pShell ); } return pLinkManager; } diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx index 2529d0ad7f1d..7b27d21fe082 100644 --- a/sc/source/core/data/documen3.cxx +++ b/sc/source/core/data/documen3.cxx @@ -34,9 +34,9 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/langitem.hxx> -#include <svx/srchitem.hxx> -#include <svx/linkmgr.hxx> +#include <editeng/langitem.hxx> +#include <svl/srchitem.hxx> +#include <sfx2/linkmgr.hxx> #include <sfx2/bindings.hxx> #include <sfx2/objsh.hxx> #include <svl/zforlist.hxx> diff --git a/sc/source/core/data/documen6.cxx b/sc/source/core/data/documen6.cxx index 68c5655bb6c4..e18609cb2a4d 100644 --- a/sc/source/core/data/documen6.cxx +++ b/sc/source/core/data/documen6.cxx @@ -34,7 +34,7 @@ #include "scitems.hxx" -#include <svx/scripttypeitem.hxx> +#include <editeng/scripttypeitem.hxx> #include <com/sun/star/i18n/XBreakIterator.hpp> #include <com/sun/star/i18n/ScriptType.hpp> diff --git a/sc/source/core/data/documen8.cxx b/sc/source/core/data/documen8.cxx index 18370d2f5a0f..4a923e98ba27 100644 --- a/sc/source/core/data/documen8.cxx +++ b/sc/source/core/data/documen8.cxx @@ -34,16 +34,16 @@ #define _ZFORLIST_DECLARE_TABLE #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <tools/string.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/langitem.hxx> -#include <svx/linkmgr.hxx> -#include <svx/scripttypeitem.hxx> -#include <svx/unolingu.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/langitem.hxx> +#include <sfx2/linkmgr.hxx> +#include <editeng/scripttypeitem.hxx> +#include <editeng/unolingu.hxx> #include <sfx2/bindings.hxx> #include <sfx2/objsh.hxx> #include <sfx2/printer.hxx> @@ -1191,7 +1191,7 @@ namespace { (does not include other links from link manager). @return The DDE link, if it exists, otherwise 0. */ ScDdeLink* lclGetDdeLink( - const SvxLinkManager* pLinkManager, + const sfx2::LinkManager* pLinkManager, const String& rAppl, const String& rTopic, const String& rItem, BYTE nMode, USHORT* pnDdePos = NULL ) { @@ -1220,7 +1220,7 @@ ScDdeLink* lclGetDdeLink( /** Returns a pointer to the specified DDE link. @param nDdePos Index of the DDE link (does not include other links from link manager). @return The DDE link, if it exists, otherwise 0. */ -ScDdeLink* lclGetDdeLink( const SvxLinkManager* pLinkManager, USHORT nDdePos ) +ScDdeLink* lclGetDdeLink( const sfx2::LinkManager* pLinkManager, USHORT nDdePos ) { if( pLinkManager ) { diff --git a/sc/source/core/data/documen9.cxx b/sc/source/core/data/documen9.cxx index 772ed496d2e1..e192c948fbee 100644 --- a/sc/source/core/data/documen9.cxx +++ b/sc/source/core/data/documen9.cxx @@ -38,13 +38,13 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sot/exchange.hxx> -#include <svx/akrnitem.hxx> -#include <svx/fontitem.hxx> -#include <svx/forbiddencharacterstable.hxx> -#include <svx/langitem.hxx> +#include <editeng/akrnitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/forbiddencharacterstable.hxx> +#include <editeng/langitem.hxx> #include <svx/svdetc.hxx> #include <svx/svditer.hxx> #include <svx/svdocapt.hxx> diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index f8fa2bc46c9b..328eddd73425 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -35,12 +35,12 @@ #define _ZFORLIST_DECLARE_TABLE #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/frmdiritem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/frmdiritem.hxx> #include <svx/pageitem.hxx> -#include <svx/editeng.hxx> +#include <editeng/editeng.hxx> #include <svx/svditer.hxx> #include <svx/svdpage.hxx> #include <svx/svdocapt.hxx> @@ -154,6 +154,32 @@ BOOL ScDocument::GetName( SCTAB nTab, String& rName ) const return FALSE; } +BOOL ScDocument::SetCodeName( SCTAB nTab, String& rName ) +{ + if (VALIDTAB(nTab)) + { + if (pTab[nTab]) + { + pTab[nTab]->SetCodeName( rName ); + return TRUE; + } + } + OSL_TRACE( "**** can't set code name %s", rtl::OUStringToOString( rName, RTL_TEXTENCODING_UTF8 ).getStr() ); + return FALSE; +} + +BOOL ScDocument::GetCodeName( SCTAB nTab, String& rName ) const +{ + if (VALIDTAB(nTab)) + if (pTab[nTab]) + { + pTab[nTab]->GetCodeName( rName ); + return TRUE; + } + rName.Erase(); + return FALSE; +} + BOOL ScDocument::GetTable( const String& rName, SCTAB& rTab ) const { @@ -293,6 +319,7 @@ BOOL ScDocument::InsertTab( SCTAB nPos, const String& rName, if (nPos == SC_TAB_APPEND || nPos == nTabCount) { pTab[nTabCount] = new ScTable(this, nTabCount, rName); + pTab[nTabCount]->SetCodeName( rName ); ++nMaxTableNumber; if ( bExternalDocument ) pTab[nTabCount]->SetVisible( FALSE ); @@ -320,10 +347,16 @@ BOOL ScDocument::InsertTab( SCTAB nPos, const String& rName, for (i = 0; i <= MAXTAB; i++) if (pTab[i]) pTab[i]->UpdateInsertTab(nPos); + for (i = nTabCount; i > nPos; i--) + { pTab[i] = pTab[i - 1]; + } + pTab[nPos] = new ScTable(this, nPos, rName); + pTab[nPos]->SetCodeName( rName ); ++nMaxTableNumber; + // UpdateBroadcastAreas must be called between UpdateInsertTab, // which ends listening, and StartAllListeners, to not modify // areas that are to be inserted by starting listeners. @@ -4670,6 +4703,13 @@ ULONG ScDocument::GetCellCount() const return nCellCount; } +SCSIZE ScDocument::GetCellCount(SCTAB nTab, SCCOL nCol) const +{ + if (!ValidTab(nTab) || !pTab[nTab]) + return 0; + + return pTab[nTab]->GetCellCount(nCol); +} ULONG ScDocument::GetCodeCount() const { diff --git a/sc/source/core/data/dpcachetable.cxx b/sc/source/core/data/dpcachetable.cxx index dc9b6450ac75..527d9aba8fa9 100644 --- a/sc/source/core/data/dpcachetable.cxx +++ b/sc/source/core/data/dpcachetable.cxx @@ -38,6 +38,7 @@ #include "dptabdat.hxx" #include "dptabsrc.hxx" #include "dpobject.hxx" +#include "queryparam.hxx" #include <com/sun/star/i18n/LocaleDataItem.hpp> #include <com/sun/star/sdbc/DataType.hpp> @@ -209,9 +210,39 @@ sal_Int32 ScDPCacheTable::getColSize() const return maTable.empty() ? 0 : maTable[0].size(); } +namespace { + +/** + * While the macro interpret level is incremented, the formula cells are + * (semi-)guaranteed to be interpreted. + */ +class MacroInterpretIncrementer +{ +public: + MacroInterpretIncrementer(ScDocument* pDoc) : + mpDoc(pDoc) + { + mpDoc->IncMacroInterpretLevel(); + } + ~MacroInterpretIncrementer() + { + mpDoc->DecMacroInterpretLevel(); + } +private: + ScDocument* mpDoc; +}; + +} + void ScDPCacheTable::fillTable(ScDocument* pDoc, const ScRange& rRange, const ScQueryParam& rQuery, BOOL* pSpecial, bool bIgnoreEmptyRows) { + // Make sure the formula cells within the data range are interpreted + // during this call, for this method may be called from the interpretation + // of GETPIVOTDATA, which disables nested formula interpretation without + // increasing the macro level. + MacroInterpretIncrementer aMacroInc(pDoc); + SCTAB nTab = rRange.aStart.Tab(); SCCOL nStartCol = rRange.aStart.Col(); SCROW nStartRow = rRange.aStart.Row(); diff --git a/sc/source/core/data/dpoutput.cxx b/sc/source/core/data/dpoutput.cxx index 10dcbfa8238e..eb78fa11563b 100644 --- a/sc/source/core/data/dpoutput.cxx +++ b/sc/source/core/data/dpoutput.cxx @@ -37,9 +37,9 @@ #include "scitems.hxx" #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/wghtitem.hxx> #include <unotools/transliterationwrapper.hxx> #include "dpoutput.hxx" diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx index cb82ede30dca..d920d39f98e2 100644 --- a/sc/source/core/data/drwlayer.cxx +++ b/sc/source/core/data/drwlayer.cxx @@ -43,8 +43,8 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> -#include <svx/frmdiritem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/frmdiritem.hxx> #include <sot/exchange.hxx> #include <svx/objfac3d.hxx> #include <svx/xtable.hxx> @@ -56,10 +56,10 @@ #include <svx/svdograf.hxx> #include <svx/svdoole2.hxx> #include <svx/svdundo.hxx> -#include <svx/unolingu.hxx> +#include <editeng/unolingu.hxx> #include <svx/drawitem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/scriptspaceitem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/scriptspaceitem.hxx> #include <svx/shapepropertynotifier.hxx> #include <sfx2/viewsh.hxx> #include <sfx2/docfile.hxx> diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx index ac4cb9908a3f..ddd6186b82ae 100644 --- a/sc/source/core/data/fillinfo.cxx +++ b/sc/source/core/data/fillinfo.cxx @@ -36,10 +36,10 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/boxitem.hxx> -#include <svx/bolnitem.hxx> -#include <svx/editdata.hxx> // can be removed if table has a bLayoutRTL flag -#include <svx/shaditem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/bolnitem.hxx> +#include <editeng/editdata.hxx> // can be removed if table has a bLayoutRTL flag +#include <editeng/shaditem.hxx> #include "fillinfo.hxx" #include "document.hxx" diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx index d49e8e1aa139..e898086a9952 100644 --- a/sc/source/core/data/global.cxx +++ b/sc/source/core/data/global.cxx @@ -37,11 +37,11 @@ #include <vcl/svapp.hxx> #include "scitems.hxx" #include <svx/algitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/editobj.hxx> -#include <svx/scripttypeitem.hxx> -#include <svx/srchitem.hxx> -#include <svx/langitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/scripttypeitem.hxx> +#include <svl/srchitem.hxx> +#include <editeng/langitem.hxx> #include <sfx2/docfile.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/objsh.hxx> diff --git a/sc/source/core/data/global2.cxx b/sc/source/core/data/global2.cxx index ffeb6cc0684c..ff4808ca0987 100644 --- a/sc/source/core/data/global2.cxx +++ b/sc/source/core/data/global2.cxx @@ -243,238 +243,6 @@ utl::TextSearch* ScQueryEntry::GetSearchTextPtr( BOOL bCaseSens ) } //------------------------------------------------------------------------ - -ScQueryParam::ScQueryParam() -{ - nEntryCount = 0; - Clear(); -} - -//------------------------------------------------------------------------ - -ScQueryParam::ScQueryParam( const ScQueryParam& r ) : - nCol1(r.nCol1),nRow1(r.nRow1),nCol2(r.nCol2),nRow2(r.nRow2),nTab(r.nTab), - bHasHeader(r.bHasHeader), bByRow(r.bByRow), bInplace(r.bInplace), bCaseSens(r.bCaseSens), - bRegExp(r.bRegExp), bMixedComparison(r.bMixedComparison), - bDuplicate(r.bDuplicate), bDestPers(r.bDestPers), - nDestTab(r.nDestTab), nDestCol(r.nDestCol), nDestRow(r.nDestRow) -{ - nEntryCount = 0; - - Resize( r.nEntryCount ); - for (USHORT i=0; i<nEntryCount; i++) - pEntries[i] = r.pEntries[i]; -} - -//------------------------------------------------------------------------ - -ScQueryParam::~ScQueryParam() -{ - delete[] pEntries; -} - -//------------------------------------------------------------------------ - -void ScQueryParam::Clear() -{ - nCol1=nCol2=nDestCol = 0; - nRow1=nRow2=nDestRow = 0; - nDestTab = 0; - nTab = SCTAB_MAX; - bHasHeader = bCaseSens = bRegExp = bMixedComparison = FALSE; - bInplace = bByRow = bDuplicate = bDestPers = TRUE; - - Resize( MAXQUERY ); - for (USHORT i=0; i<MAXQUERY; i++) - pEntries[i].Clear(); -} - -//------------------------------------------------------------------------ - -ScQueryParam& ScQueryParam::operator=( const ScQueryParam& r ) -{ - nCol1 = r.nCol1; - nRow1 = r.nRow1; - nCol2 = r.nCol2; - nRow2 = r.nRow2; - nTab = r.nTab; - nDestTab = r.nDestTab; - nDestCol = r.nDestCol; - nDestRow = r.nDestRow; - bHasHeader = r.bHasHeader; - bInplace = r.bInplace; - bCaseSens = r.bCaseSens; - bRegExp = r.bRegExp; - bMixedComparison = r.bMixedComparison; - bDuplicate = r.bDuplicate; - bByRow = r.bByRow; - bDestPers = r.bDestPers; - - Resize( r.nEntryCount ); - for (USHORT i=0; i<nEntryCount; i++) - pEntries[i] = r.pEntries[i]; - - return *this; -} - -//------------------------------------------------------------------------ - -BOOL ScQueryParam::operator==( const ScQueryParam& rOther ) const -{ - BOOL bEqual = FALSE; - - // Anzahl der Queries gleich? - USHORT nUsed = 0; - USHORT nOtherUsed = 0; - while ( nUsed<nEntryCount && pEntries[nUsed].bDoQuery ) ++nUsed; - while ( nOtherUsed<rOther.nEntryCount && rOther.pEntries[nOtherUsed].bDoQuery ) - ++nOtherUsed; - - if ( (nUsed == nOtherUsed) - && (nCol1 == rOther.nCol1) - && (nRow1 == rOther.nRow1) - && (nCol2 == rOther.nCol2) - && (nRow2 == rOther.nRow2) - && (nTab == rOther.nTab) - && (bHasHeader == rOther.bHasHeader) - && (bByRow == rOther.bByRow) - && (bInplace == rOther.bInplace) - && (bCaseSens == rOther.bCaseSens) - && (bRegExp == rOther.bRegExp) - && (bMixedComparison == rOther.bMixedComparison) - && (bDuplicate == rOther.bDuplicate) - && (bDestPers == rOther.bDestPers) - && (nDestTab == rOther.nDestTab) - && (nDestCol == rOther.nDestCol) - && (nDestRow == rOther.nDestRow) ) - { - bEqual = TRUE; - for ( USHORT i=0; i<nUsed && bEqual; i++ ) - bEqual = pEntries[i] == rOther.pEntries[i]; - } - return bEqual; -} - -//------------------------------------------------------------------------ - -void ScQueryParam::DeleteQuery( SCSIZE nPos ) -{ - if (nPos<nEntryCount) - { - for (SCSIZE i=nPos; i+1<nEntryCount; i++) - pEntries[i] = pEntries[i+1]; - - pEntries[nEntryCount-1].Clear(); - } - else - { - DBG_ERROR("Falscher Parameter bei ScQueryParam::DeleteQuery"); - } -} - -//------------------------------------------------------------------------ - -void ScQueryParam::Resize(SCSIZE nNew) -{ - if ( nNew < MAXQUERY ) - nNew = MAXQUERY; // nie weniger als MAXQUERY - - ScQueryEntry* pNewEntries = NULL; - if ( nNew ) - pNewEntries = new ScQueryEntry[nNew]; - - SCSIZE nCopy = Min( nEntryCount, nNew ); - for (SCSIZE i=0; i<nCopy; i++) - pNewEntries[i] = pEntries[i]; - - if ( nEntryCount ) - delete[] pEntries; - nEntryCount = nNew; - pEntries = pNewEntries; -} - -//------------------------------------------------------------------------ - -void ScQueryParam::MoveToDest() -{ - if (!bInplace) - { - SCsCOL nDifX = ((SCsCOL) nDestCol) - ((SCsCOL) nCol1); - SCsROW nDifY = ((SCsROW) nDestRow) - ((SCsROW) nRow1); - SCsTAB nDifZ = ((SCsTAB) nDestTab) - ((SCsTAB) nTab); - - nCol1 = sal::static_int_cast<SCCOL>( nCol1 + nDifX ); - nRow1 = sal::static_int_cast<SCROW>( nRow1 + nDifY ); - nCol2 = sal::static_int_cast<SCCOL>( nCol2 + nDifX ); - nRow2 = sal::static_int_cast<SCROW>( nRow2 + nDifY ); - nTab = sal::static_int_cast<SCTAB>( nTab + nDifZ ); - for (USHORT i=0; i<nEntryCount; i++) - pEntries[i].nField += nDifX; - - bInplace = TRUE; - } - else - { - DBG_ERROR("MoveToDest, bInplace == TRUE"); - } -} - -//------------------------------------------------------------------------ - -void ScQueryParam::FillInExcelSyntax(String& aCellStr, SCSIZE nIndex) -{ - if (aCellStr.Len() > 0) - { - if ( nIndex >= nEntryCount ) - Resize( nIndex+1 ); - - ScQueryEntry& rEntry = pEntries[nIndex]; - - rEntry.bDoQuery = TRUE; - // Operatoren herausfiltern - if (aCellStr.GetChar(0) == '<') - { - if (aCellStr.GetChar(1) == '>') - { - *rEntry.pStr = aCellStr.Copy(2); - rEntry.eOp = SC_NOT_EQUAL; - } - else if (aCellStr.GetChar(1) == '=') - { - *rEntry.pStr = aCellStr.Copy(2); - rEntry.eOp = SC_LESS_EQUAL; - } - else - { - *rEntry.pStr = aCellStr.Copy(1); - rEntry.eOp = SC_LESS; - } - } - else if (aCellStr.GetChar(0) == '>') - { - if (aCellStr.GetChar(1) == '=') - { - *rEntry.pStr = aCellStr.Copy(2); - rEntry.eOp = SC_GREATER_EQUAL; - } - else - { - *rEntry.pStr = aCellStr.Copy(1); - rEntry.eOp = SC_GREATER; - } - } - else - { - if (aCellStr.GetChar(0) == '=') - *rEntry.pStr = aCellStr.Copy(1); - else - *rEntry.pStr = aCellStr; - rEntry.eOp = SC_EQUAL; - } - } -} - -//------------------------------------------------------------------------ // struct ScSubTotalParam: ScSubTotalParam::ScSubTotalParam() diff --git a/sc/source/core/data/patattr.cxx b/sc/source/core/data/patattr.cxx index dbc5bbf50c63..2445c9bb5502 100644 --- a/sc/source/core/data/patattr.cxx +++ b/sc/source/core/data/patattr.cxx @@ -35,31 +35,31 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/adjitem.hxx> +#include <editeng/adjitem.hxx> #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/bolnitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/charreliefitem.hxx> -#include <svx/cntritem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/bolnitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/charreliefitem.hxx> +#include <editeng/cntritem.hxx> #include <svtools/colorcfg.hxx> -#include <svx/colritem.hxx> -#include <svx/crsditem.hxx> -#include <svx/emphitem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/fontitem.hxx> -#include <svx/forbiddenruleitem.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/langitem.hxx> -#include <svx/postitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/emphitem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/forbiddenruleitem.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/langitem.hxx> +#include <editeng/postitem.hxx> #include <svx/rotmodit.hxx> -#include <svx/scriptspaceitem.hxx> -#include <svx/scripttypeitem.hxx> -#include <svx/shaditem.hxx> -#include <svx/shdditem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/wrlmitem.hxx> +#include <editeng/scriptspaceitem.hxx> +#include <editeng/scripttypeitem.hxx> +#include <editeng/shaditem.hxx> +#include <editeng/shdditem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/wrlmitem.hxx> #include <svl/intitem.hxx> #include <svl/zforlist.hxx> #include <vcl/outdev.hxx> diff --git a/sc/source/core/data/pivot2.cxx b/sc/source/core/data/pivot2.cxx index 951a656d841d..e87f7ef6dbd7 100644 --- a/sc/source/core/data/pivot2.cxx +++ b/sc/source/core/data/pivot2.cxx @@ -40,8 +40,8 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/boxitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/wghtitem.hxx> #include <svx/algitem.hxx> #include <unotools/transliterationwrapper.hxx> diff --git a/sc/source/core/data/poolhelp.cxx b/sc/source/core/data/poolhelp.cxx index 2bd7cc9c1ea9..16a7700d9a3a 100644 --- a/sc/source/core/data/poolhelp.cxx +++ b/sc/source/core/data/poolhelp.cxx @@ -36,7 +36,7 @@ // INCLUDE --------------------------------------------------------------- #include <svl/zforlist.hxx> -#include <svx/editeng.hxx> +#include <editeng/editeng.hxx> #include "poolhelp.hxx" #include "document.hxx" diff --git a/sc/source/core/data/postit.cxx b/sc/source/core/data/postit.cxx index 6489b4f21a6a..1631b7658c7d 100644 --- a/sc/source/core/data/postit.cxx +++ b/sc/source/core/data/postit.cxx @@ -37,8 +37,8 @@ #include <unotools/useroptions.hxx> #include <svx/svdpage.hxx> #include <svx/svdocapt.hxx> -#include <svx/outlobj.hxx> -#include <svx/editobj.hxx> +#include <editeng/outlobj.hxx> +#include <editeng/editobj.hxx> #include <basegfx/polygon/b2dpolygon.hxx> #include "scitems.hxx" diff --git a/sc/source/core/data/sortparam.cxx b/sc/source/core/data/sortparam.cxx index 15691a642d7e..d210b3b015f3 100644 --- a/sc/source/core/data/sortparam.cxx +++ b/sc/source/core/data/sortparam.cxx @@ -36,6 +36,7 @@ #include "sortparam.hxx" #include "global.hxx" #include "address.hxx" +#include "queryparam.hxx" #include <tools/debug.hxx> diff --git a/sc/source/core/data/stlpool.cxx b/sc/source/core/data/stlpool.cxx index e47f3899bfeb..ace485e8a2af 100644 --- a/sc/source/core/data/stlpool.cxx +++ b/sc/source/core/data/stlpool.cxx @@ -35,20 +35,20 @@ //------------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/editdata.hxx> -#include <svx/editeng.hxx> -#include <svx/editobj.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/flditem.hxx> -#include <svx/fontitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/editdata.hxx> +#include <editeng/editeng.hxx> +#include <editeng/editobj.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/flditem.hxx> +#include <editeng/fontitem.hxx> #include <svx/pageitem.hxx> -#include <svx/postitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> #include <svl/itemset.hxx> #include <svl/zforlist.hxx> #include <unotools/charclass.hxx> diff --git a/sc/source/core/data/stlsheet.cxx b/sc/source/core/data/stlsheet.cxx index 277a7ce9f326..7b815cb95b37 100644 --- a/sc/source/core/data/stlsheet.cxx +++ b/sc/source/core/data/stlsheet.cxx @@ -39,14 +39,14 @@ #include "stlpool.hxx" #include "scitems.hxx" -#include <svx/boxitem.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/lrspitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/lrspitem.hxx> #include <svx/pageitem.hxx> -#include <svx/paperinf.hxx> -#include <svx/pbinitem.hxx> -#include <svx/sizeitem.hxx> -#include <svx/ulspitem.hxx> +#include <editeng/paperinf.hxx> +#include <editeng/pbinitem.hxx> +#include <editeng/sizeitem.hxx> +#include <editeng/ulspitem.hxx> #include <sfx2/printer.hxx> #include <svl/itempool.hxx> #include <svl/itemset.hxx> diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx index 403377342661..dfe27b2354e7 100644 --- a/sc/source/core/data/table1.cxx +++ b/sc/source/core/data/table1.cxx @@ -125,6 +125,7 @@ extern BOOL bIsOlk, bOderSo; ScTable::ScTable( ScDocument* pDoc, SCTAB nNewTab, const String& rNewName, BOOL bColInfo, BOOL bRowInfo ) : aName( rNewName ), + aCodeName( rNewName ), bScenario( FALSE ), bLayoutRTL( FALSE ), bLoadingRTL( FALSE ), diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx index 4d0eaf76a976..5d4d7b71997c 100644 --- a/sc/source/core/data/table2.cxx +++ b/sc/source/core/data/table2.cxx @@ -34,7 +34,7 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/boxitem.hxx> +#include <editeng/boxitem.hxx> #include <tools/urlobj.hxx> #include <svl/poolcach.hxx> #include <unotools/charclass.hxx> diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx index b85b910795a5..6cd165dd088d 100644 --- a/sc/source/core/data/table3.cxx +++ b/sc/source/core/data/table3.cxx @@ -60,6 +60,7 @@ #include "progress.hxx" #include "cellform.hxx" #include "postit.hxx" +#include "queryparam.hxx" #include <vector> @@ -1818,6 +1819,11 @@ BOOL ScTable::GetDataEntries(SCCOL nCol, SCROW nRow, TypedScStrCollection& rStri return aCol[nCol].GetDataEntries( nRow, rStrings, bLimit ); } +SCSIZE ScTable::GetCellCount(SCCOL nCol) const +{ + return aCol[nCol].GetCellCount(); +} + ULONG ScTable::GetCellCount() const { ULONG nCellCount = 0; diff --git a/sc/source/core/data/table4.cxx b/sc/source/core/data/table4.cxx index b10741f46c3f..8bb09fb7e1d0 100644 --- a/sc/source/core/data/table4.cxx +++ b/sc/source/core/data/table4.cxx @@ -44,23 +44,23 @@ #include "scitems.hxx" #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/cntritem.hxx> -#include <svx/colritem.hxx> -#include <svx/crsditem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/fontitem.hxx> -#include <svx/langitem.hxx> -#include <svx/postitem.hxx> -#include <svx/shdditem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/cntritem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/langitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/shdditem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> #include <svx/rotmodit.hxx> -#include <svx/editobj.hxx> -#include <svx/editeng.hxx> -#include <svx/eeitem.hxx> -#include <svx/escpitem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editeng.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/escpitem.hxx> #include <svl/zforlist.hxx> #include <vcl/keycodes.hxx> #include <rtl/math.hxx> diff --git a/sc/source/core/data/table6.cxx b/sc/source/core/data/table6.cxx index 09362b9996ed..2f0f7c3204f6 100644 --- a/sc/source/core/data/table6.cxx +++ b/sc/source/core/data/table6.cxx @@ -36,8 +36,8 @@ #include <com/sun/star/i18n/TransliterationModules.hpp> #include <unotools/textsearch.hxx> -#include <svx/srchitem.hxx> -#include <svx/editobj.hxx> +#include <svl/srchitem.hxx> +#include <editeng/editobj.hxx> #include "table.hxx" #include "collect.hxx" diff --git a/sc/source/core/inc/core_pch.hxx b/sc/source/core/inc/core_pch.hxx index 19d0463e7871..aa7984a31eb0 100644 --- a/sc/source/core/inc/core_pch.hxx +++ b/sc/source/core/inc/core_pch.hxx @@ -174,10 +174,10 @@ #include <vcl/combobox.hxx> #include <vcl/combobox.h> #include <refupdat.hxx> -#include <svx/boxitem.hxx> +#include <editeng/boxitem.hxx> #include <conditio.hxx> #include <brdcst.hxx> -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> #include <dociter.hxx> #include <scdll.hxx> #include <stdio.h> @@ -208,35 +208,35 @@ #include <svx/pageitem.hxx> #include <dbcolect.hxx> #include <userlist.hxx> -#include <svx/editdata.hxx> +#include <editeng/editdata.hxx> #include <basic/sbxvar.hxx> #include <basic/sbxcore.hxx> #include <svx/svdobj.hxx> #include <svx/svdsob.hxx> #include <svx/svdglue.hxx> -#include <svx/langitem.hxx> -#include <svx/eeitem.hxx> +#include <editeng/langitem.hxx> +#include <editeng/eeitem.hxx> #include <callform.hxx> #include <validat.hxx> -#include <svx/brshitem.hxx> +#include <editeng/brshitem.hxx> #include <sot/exchange.hxx> -#include <svx/editeng.hxx> +#include <editeng/editeng.hxx> #include <vcl/fonttype.hxx> -#include <svx/editobj.hxx> -#include <svx/wghtitem.hxx> -#include <svx/fhgtitem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/fhgtitem.hxx> #include <svl/stritem.hxx> #include <pivot.hxx> #include <vcl/gdimtf.hxx> #include <svx/svdpage.hxx> #include <svx/svdlayer.hxx> -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include <ctype.h> #include <vcl/font.hxx> -#include <svx/fontitem.hxx> -#include <svx/postitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/postitem.hxx> #include <svx/svditer.hxx> -#include <svx/udlnitem.hxx> +#include <editeng/udlnitem.hxx> #include <adiasync.hxx> #include <sfx2/bindings.hxx> #include <ddelink.hxx> diff --git a/sc/source/core/inc/doubleref.hxx b/sc/source/core/inc/doubleref.hxx new file mode 100644 index 000000000000..e7bd2dfa6ae1 --- /dev/null +++ b/sc/source/core/inc/doubleref.hxx @@ -0,0 +1,194 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: interpre.hxx,v $ + * $Revision: 1.35.44.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef SC_DOUBLEREF_HXX +#define SC_DOUBLEREF_HXX + +#include "address.hxx" +#include "scmatrix.hxx" + +class ScDocument; +class ScBaseCell; +struct ScDBQueryParamBase; +struct ScQueryParamBase; + +// ============================================================================ + +/** + * Base class for abstracting range data backends for database functions. + */ +class ScDBRangeBase +{ +public: + enum RefType { INTERNAL, EXTERNAL }; + + virtual ~ScDBRangeBase() = 0; + + RefType getType() const; + bool fillQueryEntries(ScQueryParamBase* pParam, const ScDBRangeBase* pDBRef) const; + + virtual SCCOL getColSize() const = 0; + virtual SCROW getRowSize() const = 0; + virtual SCSIZE getVisibleDataCellCount() const = 0; + + /** + * Get a string value of a specified cell position. Note that the + * position of the upper left cell of the range is always (0, 0) even if + * the reference type is of internal range. + * + * @param nCol column position (0 to column size-1) + * @param nRow row position (0 to row size-1) + */ + virtual ::rtl::OUString getString(SCCOL nCol, SCROW nRow) const = 0; + + virtual SCCOL getFirstFieldColumn() const = 0; + + /** + * Get a <i>0-based</i> column index that corresponds with the passed field + * index. Note that the field index passed as the 1st parameter is + * <i>1-based.</i> + * + * @param nIndex 1-based field index. + * + * @return 0-based column index + */ + virtual SCCOL findFieldColumn(SCCOL nIndex) const = 0; + virtual SCCOL findFieldColumn(const ::rtl::OUString& rStr, sal_uInt16* pErr = NULL) const = 0; + virtual ScDBQueryParamBase* createQueryParam(const ScDBRangeBase* pQueryRef) const = 0; + virtual bool isRangeEqual(const ScRange& rRange) const = 0; + +protected: + ScDBRangeBase(ScDocument* pDoc, RefType eType); + ScDocument* getDoc() const; + + /** + * Populate query options that are always the same for all database + * queries. + */ + static void fillQueryOptions(ScQueryParamBase* pParam); + +private: + ScDBRangeBase(); // disabled + + ScDocument* mpDoc; + RefType meType; +}; + +// ============================================================================ + +class ScDBInternalRange : public ScDBRangeBase +{ +public: + explicit ScDBInternalRange(ScDocument* pDoc, const ScRange& rRange); + virtual ~ScDBInternalRange(); + + const ScRange& getRange() const; + + virtual SCCOL getColSize() const; + virtual SCROW getRowSize() const; + virtual SCSIZE getVisibleDataCellCount() const; + + /** + * Get a string value of a specified cell position. Note that the + * position of the upper left cell of the range is always (0, 0) even if + * the reference type is of internal range. + * + * @param nCol column position (0 to column size-1) + * @param nRow row position (0 to row size-1) + */ + virtual ::rtl::OUString getString(SCCOL nCol, SCROW nRow) const; + + virtual SCCOL getFirstFieldColumn() const; + /** + * Get a <i>0-based</i> column index that corresponds with the passed field + * index. Note that the field index passed as the 1st parameter is + * <i>1-based.</i> + * + * @param nIndex 1-based field index. + * + * @return 0-based column index + */ + virtual SCCOL findFieldColumn(SCCOL nIndex) const; + virtual SCCOL findFieldColumn(const ::rtl::OUString& rStr, sal_uInt16* pErr = NULL) const; + virtual ScDBQueryParamBase* createQueryParam(const ScDBRangeBase* pQueryRef) const; + virtual bool isRangeEqual(const ScRange& rRange) const; + +private: + sal_uInt16 getCellString(::rtl::OUString& rStr, ScBaseCell* pCell) const; + +private: + ScRange maRange; +}; + +// ============================================================================ + +class ScDBExternalRange : public ScDBRangeBase +{ +public: + explicit ScDBExternalRange(ScDocument* pDoc, const ScMatrixRef& pMat); + virtual ~ScDBExternalRange(); + + virtual SCCOL getColSize() const; + virtual SCROW getRowSize() const; + virtual SCSIZE getVisibleDataCellCount() const; + + /** + * Get a string value of a specified cell position. Note that the + * position of the upper left cell of the range is always (0, 0) even if + * the reference type is of internal range. + * + * @param nCol column position (0 to column size-1) + * @param nRow row position (0 to row size-1) + */ + virtual ::rtl::OUString getString(SCCOL nCol, SCROW nRow) const; + + virtual SCCOL getFirstFieldColumn() const; + + /** + * Get a <i>0-based</i> column index that corresponds with the passed field + * index. Note that the field index passed as the 1st parameter is + * <i>1-based.</i> + * + * @param nIndex 1-based field index. + * + * @return 0-based column index + */ + virtual SCCOL findFieldColumn(SCCOL nIndex) const; + virtual SCCOL findFieldColumn(const ::rtl::OUString& rStr, sal_uInt16* pErr = NULL) const; + virtual ScDBQueryParamBase* createQueryParam(const ScDBRangeBase* pQueryRef) const; + virtual bool isRangeEqual(const ScRange& rRange) const; + +private: + const ScMatrixRef mpMatrix; + SCCOL mnCols; + SCROW mnRows; +}; + +#endif diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx index 659884dfd5de..00e39ad3e505 100644 --- a/sc/source/core/inc/interpre.hxx +++ b/sc/source/core/inc/interpre.hxx @@ -53,7 +53,10 @@ class SbxVariable; class ScBaseCell; class ScFormulaCell; class SvNumberFormatter; +class ScDBRangeBase; struct MatrixDoubleOp; +struct ScQueryParam; +struct ScDBQueryParamBase; struct ScCompare { @@ -302,6 +305,7 @@ void DoubleRefToVars( const ScToken* p, SCCOL& rCol1, SCROW &rRow1, SCTAB& rTab1, SCCOL& rCol2, SCROW &rRow2, SCTAB& rTab2, BOOL bDontCheckForTableOp = FALSE ); +ScDBRangeBase* PopDoubleRef(); void PopDoubleRef(SCCOL& rCol1, SCROW &rRow1, SCTAB& rTab1, SCCOL& rCol2, SCROW &rRow2, SCTAB& rTab2, BOOL bDontCheckForTableOp = FALSE ); @@ -491,7 +495,7 @@ void ScSubTotal(); // compatibility). If this was the case then rMissingField is set to TRUE upon // return. If rMissingField==FALSE upon call all "missing cases" are considered // to be an error. -BOOL GetDBParams( SCTAB& rTab, ScQueryParam& rParam, BOOL& rMissingField ); +ScDBQueryParamBase* GetDBParams( BOOL& rMissingField ); void DBIterator( ScIterFunc ); void ScDBSum(); diff --git a/sc/source/core/tool/autoform.cxx b/sc/source/core/tool/autoform.cxx index f9a9f0bd51a0..f41a64e0450e 100644 --- a/sc/source/core/tool/autoform.cxx +++ b/sc/source/core/tool/autoform.cxx @@ -46,7 +46,7 @@ #include <vcl/outdev.hxx> #include <svx/dialmgr.hxx> #include <svx/dialogs.hrc> -#include <svx/langitem.hxx> +#include <editeng/langitem.hxx> #include <tools/urlobj.hxx> #include <unotools/transliterationwrapper.hxx> #include <tools/tenccvt.hxx> diff --git a/sc/source/core/tool/dbcolect.cxx b/sc/source/core/tool/dbcolect.cxx index 61ca8ee00195..fe858499b802 100644 --- a/sc/source/core/tool/dbcolect.cxx +++ b/sc/source/core/tool/dbcolect.cxx @@ -40,6 +40,7 @@ #include "refupdat.hxx" #include "rechead.hxx" #include "document.hxx" +#include "queryparam.hxx" #include "globstr.hrc" diff --git a/sc/source/core/tool/ddelink.cxx b/sc/source/core/tool/ddelink.cxx index 446f892452fc..90705c22a503 100644 --- a/sc/source/core/tool/ddelink.cxx +++ b/sc/source/core/tool/ddelink.cxx @@ -35,7 +35,7 @@ // INCLUDE --------------------------------------------------------------- #include <tools/list.hxx> -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include <sfx2/bindings.hxx> #include <svl/zforlist.hxx> @@ -250,7 +250,7 @@ void __EXPORT ScDdeLink::ListenersGone() ScDocument* pStackDoc = pDoc; // member pDoc can't be used after removing the link - SvxLinkManager* pLinkMgr = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkMgr = pDoc->GetLinkManager(); pLinkMgr->Remove( this); // deletes this if ( !pLinkMgr->GetLinks().Count() ) // letzten geloescht ? diff --git a/sc/source/core/tool/detfunc.cxx b/sc/source/core/tool/detfunc.cxx index fed4a3b0ae40..9fbb22aea905 100644 --- a/sc/source/core/tool/detfunc.cxx +++ b/sc/source/core/tool/detfunc.cxx @@ -35,8 +35,8 @@ #include "scitems.hxx" #include <svtools/colorcfg.hxx> -#include <svx/eeitem.hxx> -#include <svx/outlobj.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/outlobj.hxx> #include <svx/sdshitm.hxx> #include <svx/sdsxyitm.hxx> #include <svx/sdtditm.hxx> @@ -58,11 +58,11 @@ #include <svx/xlnstwit.hxx> #include <svx/xlnwtit.hxx> #include <svx/xtable.hxx> -#include <svx/outliner.hxx> -#include <svx/editobj.hxx> +#include <editeng/outliner.hxx> +#include <editeng/editobj.hxx> #include <svx/sxcecitm.hxx> #include <svl/whiter.hxx> -#include <svx/writingmodeitem.hxx> +#include <editeng/writingmodeitem.hxx> #include <basegfx/point/b2dpoint.hxx> #include <basegfx/polygon/b2dpolygontools.hxx> diff --git a/sc/source/core/tool/doubleref.cxx b/sc/source/core/tool/doubleref.cxx new file mode 100644 index 000000000000..28fae20ddb62 --- /dev/null +++ b/sc/source/core/tool/doubleref.cxx @@ -0,0 +1,568 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: interpre.hxx,v $ + * $Revision: 1.35.44.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_sc.hxx" + +// INCLUDE --------------------------------------------------------------- + +#include "doubleref.hxx" +#include "cell.hxx" +#include "global.hxx" +#include "document.hxx" +#include "queryparam.hxx" +#include "globstr.hrc" + +#include <memory> +#include <vector> + +using ::rtl::OUString; +using ::std::auto_ptr; +using ::std::vector; + +namespace { + +void lcl_toUpper(OUString& rStr) +{ + rStr = ScGlobal::pCharClass->toUpper(rStr.trim(), 0, static_cast<xub_StrLen>(rStr.getLength())); +} + +bool lcl_createStarQuery(ScQueryParamBase* pParam, const ScDBRangeBase* pDBRef, const ScDBRangeBase* pQueryRef) +{ + // A valid StarQuery must be at least 4 columns wide. To be precise it + // should be exactly 4 columns ... + // Additionally, if this wasn't checked, a formula pointing to a valid 1-3 + // column Excel style query range immediately left to itself would result + // in a circular reference when the field name or operator or value (first + // to third query range column) is obtained (#i58354#). Furthermore, if the + // range wasn't sufficiently specified data changes wouldn't flag formula + // cells for recalculation. + + if (pQueryRef->getColSize() < 4) + return false; + + BOOL bValid; + BOOL bFound; + OUString aCellStr; + SCSIZE nIndex = 0; + SCROW nRow = 0; + SCROW nRows = pDBRef->getRowSize(); + SCSIZE nNewEntries = static_cast<SCSIZE>(nRows); + pParam->Resize(nNewEntries); + + do + { + ScQueryEntry& rEntry = pParam->GetEntry(nIndex); + + bValid = FALSE; + + if (nIndex > 0) + { + // For all entries after the first one, check the and/or connector in the first column. + aCellStr = pQueryRef->getString(0, nRow); + lcl_toUpper(aCellStr); + if ( aCellStr.equals(ScGlobal::GetRscString(STR_TABLE_UND)) ) + { + rEntry.eConnect = SC_AND; + bValid = TRUE; + } + else if ( aCellStr.equals(ScGlobal::GetRscString(STR_TABLE_ODER)) ) + { + rEntry.eConnect = SC_OR; + bValid = TRUE; + } + } + + if ((nIndex < 1) || bValid) + { + // field name in the 2nd column. + bFound = FALSE; + aCellStr = pQueryRef->getString(1, nRow); + SCCOL nField = pDBRef->findFieldColumn(aCellStr); // TODO: must be case insensitive comparison. + if (ValidCol(nField)) + { + rEntry.nField = nField; + bValid = true; + } + else + bValid = false; + } + + if (bValid) + { + // equality, non-equality operator in the 3rd column. + bFound = FALSE; + aCellStr = pQueryRef->getString(2, nRow); + lcl_toUpper(aCellStr); + const sal_Unicode* p = aCellStr.getStr(); + if (p[0] == sal_Unicode('<')) + { + if (p[1] == sal_Unicode('>')) + rEntry.eOp = SC_NOT_EQUAL; + else if (p[1] == sal_Unicode('=')) + rEntry.eOp = SC_LESS_EQUAL; + else + rEntry.eOp = SC_LESS; + } + else if (p[0] == sal_Unicode('>')) + { + if (p[1] == sal_Unicode('=')) + rEntry.eOp = SC_GREATER_EQUAL; + else + rEntry.eOp = SC_GREATER; + } + else if (p[0] == sal_Unicode('=')) + rEntry.eOp = SC_EQUAL; + + } + + if (bValid) + { + // Finally, the right-hand-side value in the 4th column. + *rEntry.pStr = pQueryRef->getString(3, nRow); + rEntry.bDoQuery = TRUE; + } + nIndex++; + nRow++; + } + while (bValid && (nRow < nRows) /* && (nIndex < MAXQUERY) */ ); + return bValid; +} + +bool lcl_createExcelQuery( + ScQueryParamBase* pParam, const ScDBRangeBase* pDBRef, const ScDBRangeBase* pQueryRef) +{ + bool bValid = true; + SCCOL nCols = pQueryRef->getColSize(); + SCROW nRows = pQueryRef->getRowSize(); + vector<SCCOL> aFields(nCols); + SCCOL nCol = 0; + while (bValid && (nCol < nCols)) + { + OUString aQueryStr = pQueryRef->getString(nCol, 0); + SCCOL nField = pDBRef->findFieldColumn(aQueryStr); + if (ValidCol(nField)) + aFields[nCol] = nField; + else + bValid = false; + ++nCol; + } + + if (bValid) + { +// ULONG nVisible = 0; +// for ( nCol=nCol1; nCol<=nCol2; nCol++ ) +// nVisible += aCol[nCol].VisibleCount( nRow1+1, nRow2 ); + + // Count the number of visible cells (excluding the header row). Each + // visible cell corresponds with a single query. + SCSIZE nVisible = pQueryRef->getVisibleDataCellCount(); + if ( nVisible > SCSIZE_MAX / sizeof(void*) ) + { + DBG_ERROR("zu viele Filterkritierien"); + nVisible = 0; + } + + SCSIZE nNewEntries = nVisible; + pParam->Resize( nNewEntries ); + + SCSIZE nIndex = 0; + SCROW nRow = 1; + String aCellStr; + while (nRow < nRows) + { + nCol = 0; + while (nCol < nCols) + { + aCellStr = pQueryRef->getString(nCol, nRow); + ScGlobal::pCharClass->toUpper( aCellStr ); + if (aCellStr.Len() > 0) + { + if (nIndex < nNewEntries) + { + pParam->GetEntry(nIndex).nField = aFields[nCol]; + pParam->FillInExcelSyntax(aCellStr, nIndex); + nIndex++; + if (nIndex < nNewEntries) + pParam->GetEntry(nIndex).eConnect = SC_AND; + } + else + bValid = FALSE; + } + nCol++; + } + nRow++; + if (nIndex < nNewEntries) + pParam->GetEntry(nIndex).eConnect = SC_OR; + } + } + return bValid; +} + +bool lcl_fillQueryEntries( + ScQueryParamBase* pParam, const ScDBRangeBase* pDBRef, const ScDBRangeBase* pQueryRef) +{ + SCSIZE nCount = pParam->GetEntryCount(); + for (SCSIZE i = 0; i < nCount; ++i) + pParam->GetEntry(i).Clear(); + + // Standard QueryTabelle + bool bValid = lcl_createStarQuery(pParam, pDBRef, pQueryRef); + // Excel QueryTabelle + if (!bValid) + bValid = lcl_createExcelQuery(pParam, pDBRef, pQueryRef); + + nCount = pParam->GetEntryCount(); + if (bValid) + { + // bQueryByString muss gesetzt sein + for (SCSIZE i = 0; i < nCount; ++i) + pParam->GetEntry(i).bQueryByString = true; + } + else + { + // nix + for (SCSIZE i = 0; i < nCount; ++i) + pParam->GetEntry(i).Clear(); + } + return bValid; +} + +} + +// ============================================================================ + +ScDBRangeBase::ScDBRangeBase(ScDocument* pDoc, RefType eType) : + mpDoc(pDoc), meType(eType) +{ +} + +ScDBRangeBase::~ScDBRangeBase() +{ +} + +ScDBRangeBase::RefType ScDBRangeBase::getType() const +{ + return meType; +} + +bool ScDBRangeBase::fillQueryEntries(ScQueryParamBase* pParam, const ScDBRangeBase* pDBRef) const +{ + if (!pDBRef) + return false; + + return lcl_fillQueryEntries(pParam, pDBRef, this); +} + +void ScDBRangeBase::fillQueryOptions(ScQueryParamBase* pParam) +{ + pParam->bHasHeader = true; + pParam->bByRow = true; + pParam->bInplace = true; + pParam->bCaseSens = false; + pParam->bRegExp = false; + pParam->bDuplicate = true; + pParam->bMixedComparison = false; +} + +ScDocument* ScDBRangeBase::getDoc() const +{ + return mpDoc; +} + +// ============================================================================ + +ScDBInternalRange::ScDBInternalRange(ScDocument* pDoc, const ScRange& rRange) : + ScDBRangeBase(pDoc, INTERNAL), maRange(rRange) +{ +} + +ScDBInternalRange::~ScDBInternalRange() +{ +} + +const ScRange& ScDBInternalRange::getRange() const +{ + return maRange; +} + +SCCOL ScDBInternalRange::getColSize() const +{ + return maRange.aEnd.Col() - maRange.aStart.Col() + 1; +} + +SCROW ScDBInternalRange::getRowSize() const +{ + return maRange.aEnd.Row() - maRange.aStart.Row() + 1; +} + +SCSIZE ScDBInternalRange::getVisibleDataCellCount() const +{ + SCCOL nCols = getColSize(); + SCROW nRows = getRowSize(); + if (nRows <= 1) + return 0; + + return (nRows-1)*nCols; +} + +OUString ScDBInternalRange::getString(SCCOL nCol, SCROW nRow) const +{ + String aStr; + const ScAddress& s = maRange.aStart; + getDoc()->GetString(s.Col() + nCol, s.Row() + nRow, maRange.aStart.Tab(), aStr); + return aStr; +} + +SCCOL ScDBInternalRange::getFirstFieldColumn() const +{ + return getRange().aStart.Col(); +} + +SCCOL ScDBInternalRange::findFieldColumn(SCCOL nIndex) const +{ + const ScRange& rRange = getRange(); + const ScAddress& s = rRange.aStart; + const ScAddress& e = rRange.aEnd; + + SCCOL nDBCol1 = s.Col(); + SCCOL nDBCol2 = e.Col(); + + if ( nIndex <= 0 || nIndex > (nDBCol2 - nDBCol1 + 1) ) + return nDBCol1; + + return Min(nDBCol2, static_cast<SCCOL>(nDBCol1 + nIndex - 1)); +} + +sal_uInt16 ScDBInternalRange::getCellString(OUString& rStr, ScBaseCell* pCell) const +{ + sal_uInt16 nErr = 0; + String aStr; + if (pCell) + { + SvNumberFormatter* pFormatter = getDoc()->GetFormatTable(); + switch (pCell->GetCellType()) + { + case CELLTYPE_STRING: + ((ScStringCell*) pCell)->GetString(aStr); + break; + case CELLTYPE_EDIT: + ((ScEditCell*) pCell)->GetString(aStr); + break; + case CELLTYPE_FORMULA: + { + ScFormulaCell* pFCell = (ScFormulaCell*) pCell; + nErr = pFCell->GetErrCode(); + if (pFCell->IsValue()) + { + double fVal = pFCell->GetValue(); + ULONG nIndex = pFormatter->GetStandardFormat( + NUMBERFORMAT_NUMBER, + ScGlobal::eLnge); + pFormatter->GetInputLineString(fVal, nIndex, aStr); + } + else + pFCell->GetString(aStr); + } + break; + case CELLTYPE_VALUE: + { + double fVal = ((ScValueCell*) pCell)->GetValue(); + ULONG nIndex = pFormatter->GetStandardFormat( + NUMBERFORMAT_NUMBER, + ScGlobal::eLnge); + pFormatter->GetInputLineString(fVal, nIndex, aStr); + } + break; + default: + ; + } + } + rStr = aStr; + return nErr; +} + +SCCOL ScDBInternalRange::findFieldColumn(const OUString& rStr, sal_uInt16* pErr) const +{ + const ScAddress& s = maRange.aStart; + const ScAddress& e = maRange.aEnd; + OUString aUpper = rStr; + lcl_toUpper(aUpper); + + SCCOL nDBCol1 = s.Col(); + SCROW nDBRow1 = s.Row(); + SCTAB nDBTab1 = s.Tab(); + SCCOL nDBCol2 = e.Col(); + + SCCOL nField = nDBCol1; + BOOL bFound = TRUE; + + bFound = FALSE; + OUString aCellStr; + ScAddress aLook( nDBCol1, nDBRow1, nDBTab1 ); + while (!bFound && (aLook.Col() <= nDBCol2)) + { + ScBaseCell* pCell = getDoc()->GetCell( aLook ); + sal_uInt16 nErr = getCellString( aCellStr, pCell ); + if (pErr) + *pErr = nErr; + lcl_toUpper(aCellStr); + bFound = ScGlobal::GetpTransliteration()->isEqual(aCellStr, aUpper); + if (!bFound) + aLook.IncCol(); + } + nField = aLook.Col(); + + return bFound ? nField : -1; +} + +ScDBQueryParamBase* ScDBInternalRange::createQueryParam(const ScDBRangeBase* pQueryRef) const +{ + auto_ptr<ScDBQueryParamInternal> pParam(new ScDBQueryParamInternal); + + // Set the database range first. + const ScAddress& s = maRange.aStart; + const ScAddress& e = maRange.aEnd; + pParam->nCol1 = s.Col(); + pParam->nRow1 = s.Row(); + pParam->nCol2 = e.Col(); + pParam->nRow2 = e.Row(); + pParam->nTab = s.Tab(); + + fillQueryOptions(pParam.get()); + + // Now construct the query entries from the query range. + if (!pQueryRef->fillQueryEntries(pParam.get(), this)) + return NULL; + + return pParam.release(); +} + +bool ScDBInternalRange::isRangeEqual(const ScRange& rRange) const +{ + return maRange == rRange; +} + +// ============================================================================ + +ScDBExternalRange::ScDBExternalRange(ScDocument* pDoc, const ScMatrixRef& pMat) : + ScDBRangeBase(pDoc, EXTERNAL), mpMatrix(pMat) +{ + SCSIZE nC, nR; + mpMatrix->GetDimensions(nC, nR); + mnCols = static_cast<SCCOL>(nC); + mnRows = static_cast<SCROW>(nR); +} + +ScDBExternalRange::~ScDBExternalRange() +{ +} + +SCCOL ScDBExternalRange::getColSize() const +{ + return mnCols; +} + +SCROW ScDBExternalRange::getRowSize() const +{ + return mnRows; +} + +SCSIZE ScDBExternalRange::getVisibleDataCellCount() const +{ + SCCOL nCols = getColSize(); + SCROW nRows = getRowSize(); + if (nRows <= 1) + return 0; + + return (nRows-1)*nCols; +} + +OUString ScDBExternalRange::getString(SCCOL nCol, SCROW nRow) const +{ + if (nCol >= mnCols || nRow >= mnRows) + return OUString(); + + return mpMatrix->GetString(nCol, nRow); +} + +SCCOL ScDBExternalRange::getFirstFieldColumn() const +{ + return 0; +} + +SCCOL ScDBExternalRange::findFieldColumn(SCCOL nIndex) const +{ + if (nIndex < 1) + // 1st field + return 0; + + if (nIndex > mnCols) + // last field + return mnCols - 1; + + return nIndex - 1; +} + +SCCOL ScDBExternalRange::findFieldColumn(const OUString& rStr, sal_uInt16* pErr) const +{ + if (pErr) + pErr = 0; + + OUString aUpper = rStr; + lcl_toUpper(aUpper); + for (SCCOL i = 0; i < mnCols; ++i) + { + OUString aUpperVal = mpMatrix->GetString(i, 0); + lcl_toUpper(aUpperVal); + if (aUpper.equals(aUpperVal)) + return i; + } + return -1; +} + +ScDBQueryParamBase* ScDBExternalRange::createQueryParam(const ScDBRangeBase* pQueryRef) const +{ + auto_ptr<ScDBQueryParamMatrix> pParam(new ScDBQueryParamMatrix); + pParam->mpMatrix = mpMatrix; + fillQueryOptions(pParam.get()); + + // Now construct the query entries from the query range. + if (!pQueryRef->fillQueryEntries(pParam.get(), this)) + return NULL; + + return pParam.release(); +} + +bool ScDBExternalRange::isRangeEqual(const ScRange& /*rRange*/) const +{ + return false; +} + diff --git a/sc/source/core/tool/editutil.cxx b/sc/source/core/tool/editutil.cxx index e4f2c07a3c57..e27c7b4366bb 100644 --- a/sc/source/core/tool/editutil.cxx +++ b/sc/source/core/tool/editutil.cxx @@ -38,15 +38,15 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/algitem.hxx> #include <svtools/colorcfg.hxx> -#include <svx/editview.hxx> -#include <svx/editstat.hxx> -#include <svx/escpitem.hxx> -#include <svx/flditem.hxx> -#include <svx/numitem.hxx> +#include <editeng/editview.hxx> +#include <editeng/editstat.hxx> +#include <editeng/escpitem.hxx> +#include <editeng/flditem.hxx> +#include <editeng/numitem.hxx> #include <vcl/svapp.hxx> #include <vcl/outdev.hxx> #include <svl/inethist.hxx> diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx index f92703064d3d..a780b417df3e 100644 --- a/sc/source/core/tool/interpr1.cxx +++ b/sc/source/core/tool/interpr1.cxx @@ -34,7 +34,7 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/langitem.hxx> +#include <editeng/langitem.hxx> #include <svx/algitem.hxx> #include <unotools/textsearch.hxx> #include <svl/zforlist.hxx> @@ -68,11 +68,14 @@ #include <string.h> #include <math.h> #include <vector> +#include <memory> #include "cellkeytranslator.hxx" #include "lookupcache.hxx" #include "rangenam.hxx" #include "compiler.hxx" #include "externalrefmgr.hxx" +#include "doubleref.hxx" +#include "queryparam.hxx" #define SC_DOUBLE_MAXVALUE 1.7e307 @@ -83,6 +86,8 @@ ScTokenStack* ScInterpreter::pGlobalStack = NULL; BOOL ScInterpreter::bGlobalStackInUse = FALSE; using namespace formula; +using ::std::auto_ptr; + //----------------------------------------------------------------------------- // Funktionen //----------------------------------------------------------------------------- @@ -5828,11 +5833,9 @@ void ScInterpreter::ScSubTotal() #endif -BOOL ScInterpreter::GetDBParams(SCTAB& rTab, ScQueryParam& rParam, - BOOL& rMissingField ) +ScDBQueryParamBase* ScInterpreter::GetDBParams( BOOL& rMissingField ) { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::GetDBParams" ); - BOOL bRet = FALSE; BOOL bAllowMissingField = FALSE; if ( rMissingField ) { @@ -5841,14 +5844,10 @@ BOOL ScInterpreter::GetDBParams(SCTAB& rTab, ScQueryParam& rParam, } if ( GetByte() == 3 ) { - - SCCOL nQCol1; - SCROW nQRow1; - SCTAB nQTab1; - SCCOL nQCol2; - SCROW nQRow2; - SCTAB nQTab2; - PopDoubleRef(nQCol1, nQRow1, nQTab1, nQCol2, nQRow2, nQTab2); + // First, get the query criteria range. + ::std::auto_ptr<ScDBRangeBase> pQueryRef( PopDoubleRef() ); + if (!pQueryRef.get()) + return NULL; BOOL bByVal = TRUE; double nVal = 0.0; @@ -5904,116 +5903,85 @@ BOOL ScInterpreter::GetDBParams(SCTAB& rTab, ScQueryParam& rParam, SetError( errIllegalParameter ); } - SCCOL nDBCol1; - SCROW nDBRow1; - SCTAB nDBTab1; - SCCOL nDBCol2; - SCROW nDBRow2; - SCTAB nDBTab2; - PopDoubleRef(nDBCol1, nDBRow1, nDBTab1, nDBCol2, nDBRow2, nDBTab2); + auto_ptr<ScDBRangeBase> pDBRef( PopDoubleRef() ); - if ( nGlobalError == 0 && bRangeFake ) + if (nGlobalError || !pDBRef.get()) + return NULL; + + if ( bRangeFake ) { // range parameter must match entire database range - if ( aMissingRange == ScRange( nDBCol1, nDBRow1, nDBTab1, nDBCol2, - nDBRow2, nDBTab2) ) + if (pDBRef->isRangeEqual(aMissingRange)) rMissingField = TRUE; else SetError( errIllegalParameter ); } - if (nGlobalError == 0) + if (nGlobalError) + return NULL; + + SCCOL nField = pDBRef->getFirstFieldColumn(); + if (rMissingField) + ; // special case + else if (bByVal) + nField = pDBRef->findFieldColumn(static_cast<SCCOL>(nVal)); + else + { + sal_uInt16 nErr = 0; + nField = pDBRef->findFieldColumn(aStr, &nErr); + SetError(nErr); + } + + if (!ValidCol(nField)) + return NULL; + + auto_ptr<ScDBQueryParamBase> pParam( pDBRef->createQueryParam(pQueryRef.get()) ); + + if (pParam.get()) { - SCCOL nField = nDBCol1; - BOOL bFound = TRUE; + // An allowed missing field parameter sets the result field + // to any of the query fields, just to be able to return + // some cell from the iterator. if ( rMissingField ) - ; // special case - else if ( bByVal ) - { - if ( nVal <= 0 || nVal > (nDBCol2 - nDBCol1 + 1) ) - bFound = FALSE; - else - nField = Min(nDBCol2, (SCCOL)(nDBCol1 + (SCCOL)nVal - 1)); - } - else + nField = static_cast<SCCOL>(pParam->GetEntry(0).nField); + pParam->mnField = nField; + + SCSIZE nCount = pParam->GetEntryCount(); + for ( SCSIZE i=0; i < nCount; i++ ) { - bFound = FALSE; - String aCellStr; - ScAddress aLook( nDBCol1, nDBRow1, nDBTab1 ); - while (!bFound && (aLook.Col() <= nDBCol2)) - { - ScBaseCell* pCell = GetCell( aLook ); - GetCellString( aCellStr, pCell ); - bFound = ScGlobal::GetpTransliteration()->isEqual( aCellStr, aStr ); - if (!bFound) - aLook.IncCol(); - } - nField = aLook.Col(); - } - if (bFound) - { - rParam.nCol1 = nDBCol1; - rParam.nRow1 = nDBRow1; - rParam.nCol2 = nDBCol2; - rParam.nRow2 = nDBRow2; - rParam.nTab = nDBTab1; - rParam.bHasHeader = TRUE; - rParam.bByRow = TRUE; - rParam.bInplace = TRUE; - rParam.bCaseSens = FALSE; - rParam.bRegExp = FALSE; - rParam.bDuplicate = TRUE; - if (pDok->CreateQueryParam(nQCol1, nQRow1, nQCol2, nQRow2, nQTab1, rParam)) - { - // An allowed missing field parameter sets the result field - // to any of the query fields, just to be able to return - // some cell from the iterator. - if ( rMissingField ) - nField = static_cast<SCCOL>(rParam.GetEntry(0).nField); - - rParam.nCol1 = nField; - rParam.nCol2 = nField; - rTab = nDBTab1; - bRet = TRUE; - SCSIZE nCount = rParam.GetEntryCount(); - for ( SCSIZE i=0; i < nCount; i++ ) - { - ScQueryEntry& rEntry = rParam.GetEntry(i); - if ( rEntry.bDoQuery ) - { - sal_uInt32 nIndex = 0; - rEntry.bQueryByString = !pFormatter->IsNumberFormat( - *rEntry.pStr, nIndex, rEntry.nVal ); - if ( rEntry.bQueryByString && !rParam.bRegExp ) - rParam.bRegExp = MayBeRegExp( *rEntry.pStr, pDok ); - } - else - break; // for - } + ScQueryEntry& rEntry = pParam->GetEntry(i); + if ( rEntry.bDoQuery ) + { + sal_uInt32 nIndex = 0; + rEntry.bQueryByString = !pFormatter->IsNumberFormat( + *rEntry.pStr, nIndex, rEntry.nVal ); + if ( rEntry.bQueryByString && !pParam->bRegExp ) + pParam->bRegExp = MayBeRegExp( *rEntry.pStr, pDok ); } + else + break; // for } + return pParam.release(); } } - return bRet; + return false; } void ScInterpreter::DBIterator( ScIterFunc eFunc ) { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::DBIterator" ); - SCTAB nTab1; double nErg = 0.0; double fMem = 0.0; BOOL bNull = TRUE; ULONG nCount = 0; - ScQueryParam aQueryParam; BOOL bMissingField = FALSE; - if ( GetDBParams( nTab1, aQueryParam, bMissingField) ) + auto_ptr<ScDBQueryParamBase> pQueryParam( GetDBParams(bMissingField) ); + if (pQueryParam.get()) { - double nVal; - USHORT nErr; - ScQueryValueIterator aValIter(pDok, nTab1, aQueryParam); - if ( aValIter.GetFirst(nVal, nErr) && !nErr ) + ScDBQueryDataIterator aValIter(pDok, pQueryParam.release()); + ScDBQueryDataIterator::Value aValue; + if ( aValIter.GetFirst(aValue) && !aValue.mnError ) { switch( eFunc ) { @@ -6029,24 +5997,24 @@ void ScInterpreter::DBIterator( ScIterFunc eFunc ) { case ifAVERAGE: case ifSUM: - if ( bNull && nVal != 0.0 ) + if ( bNull && aValue.mfValue != 0.0 ) { bNull = FALSE; - fMem = nVal; + fMem = aValue.mfValue; } else - nErg += nVal; + nErg += aValue.mfValue; break; - case ifSUMSQ: nErg += nVal * nVal; break; - case ifPRODUCT: nErg *= nVal; break; - case ifMAX: if( nVal > nErg ) nErg = nVal; break; - case ifMIN: if( nVal < nErg ) nErg = nVal; break; + case ifSUMSQ: nErg += aValue.mfValue * aValue.mfValue; break; + case ifPRODUCT: nErg *= aValue.mfValue; break; + case ifMAX: if( aValue.mfValue > nErg ) nErg = aValue.mfValue; break; + case ifMIN: if( aValue.mfValue < nErg ) nErg = aValue.mfValue; break; default: ; // nothing } } - while ( aValIter.GetNext(nVal, nErr) && !nErr ); + while ( aValIter.GetNext(aValue) && !aValue.mnError ); } - SetError(nErr); + SetError(aValue.mnError); } else SetError( errIllegalParameter); @@ -6071,13 +6039,12 @@ void ScInterpreter::ScDBSum() void ScInterpreter::ScDBCount() { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScDBCount" ); - SCTAB nTab; - ScQueryParam aQueryParam; BOOL bMissingField = TRUE; - if ( GetDBParams( nTab, aQueryParam, bMissingField) ) + auto_ptr<ScDBQueryParamBase> pQueryParam( GetDBParams(bMissingField) ); + if (pQueryParam.get()) { ULONG nCount = 0; - if ( bMissingField ) + if ( bMissingField && pQueryParam->GetType() == ScDBQueryParamBase::INTERNAL ) { // count all matching records // TODO: currently the QueryIterators only return cell pointers of // existing cells, so if a query matches an empty cell there's @@ -6087,7 +6054,9 @@ void ScInterpreter::ScDBCount() // have to live with it until we reimplement the iterators to also // return empty cells, which would mean to adapt all callers of // iterators. - ScQueryCellIterator aCellIter( pDok, nTab, aQueryParam); + ScDBQueryParamInternal* p = static_cast<ScDBQueryParamInternal*>(pQueryParam.get()); + SCTAB nTab = p->nTab; + ScQueryCellIterator aCellIter( pDok, nTab, *p); if ( aCellIter.GetFirst() ) { do @@ -6098,17 +6067,17 @@ void ScInterpreter::ScDBCount() } else { // count only matching records with a value in the "result" field - double nVal; - USHORT nErr = 0; - ScQueryValueIterator aValIter( pDok, nTab, aQueryParam); - if ( aValIter.GetFirst( nVal, nErr) && !nErr ) + ScDBQueryDataIterator aValIter( pDok, pQueryParam.release()); + ScDBQueryDataIterator::Value aValue; + if ( aValIter.GetFirst(aValue) && !aValue.mnError ) { do { nCount++; - } while ( aValIter.GetNext( nVal, nErr) && !nErr ); + } + while ( aValIter.GetNext(aValue) && !aValue.mnError ); } - SetError( nErr ); + SetError(aValue.mnError); } PushDouble( nCount ); } @@ -6120,21 +6089,24 @@ void ScInterpreter::ScDBCount() void ScInterpreter::ScDBCount2() { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScDBCount2" ); - SCTAB nTab; - ScQueryParam aQueryParam; BOOL bMissingField = TRUE; - if (GetDBParams( nTab, aQueryParam, bMissingField)) + auto_ptr<ScDBQueryParamBase> pQueryParam( GetDBParams(bMissingField) ); + if (pQueryParam.get()) { ULONG nCount = 0; - ScQueryCellIterator aCellIter(pDok, nTab, aQueryParam); - if ( aCellIter.GetFirst() ) + pQueryParam->mbSkipString = false; + ScDBQueryDataIterator aValIter( pDok, pQueryParam.release()); + ScDBQueryDataIterator::Value aValue; + if ( aValIter.GetFirst(aValue) && !aValue.mnError ) { do { nCount++; - } while ( aCellIter.GetNext() ); + } + while ( aValIter.GetNext(aValue) && !aValue.mnError ); } - PushDouble(nCount); + SetError(aValue.mnError); + PushDouble( nCount ); } else PushIllegalParameter(); @@ -6178,25 +6150,23 @@ void ScInterpreter::GetDBStVarParams( double& rVal, double& rValCount ) rValCount = 0.0; double fSum = 0.0; - SCTAB nTab; - ScQueryParam aQueryParam; BOOL bMissingField = FALSE; - if (GetDBParams( nTab, aQueryParam, bMissingField)) + auto_ptr<ScDBQueryParamBase> pQueryParam( GetDBParams(bMissingField) ); + if (pQueryParam.get()) { - double fVal; - USHORT nErr; - ScQueryValueIterator aValIter(pDok, nTab, aQueryParam); - if (aValIter.GetFirst(fVal, nErr) && !nErr) + ScDBQueryDataIterator aValIter(pDok, pQueryParam.release()); + ScDBQueryDataIterator::Value aValue; + if (aValIter.GetFirst(aValue) && !aValue.mnError) { do { rValCount++; - values.push_back(fVal); - fSum += fVal; + values.push_back(aValue.mfValue); + fSum += aValue.mfValue; } - while ((nErr == 0) && aValIter.GetNext(fVal, nErr)); + while ((aValue.mnError == 0) && aValIter.GetNext(aValue)); } - SetError(nErr); + SetError(aValue.mnError); } else SetError( errIllegalParameter); diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx index cb418476e9d9..36294281b4ca 100644 --- a/sc/source/core/tool/interpr2.cxx +++ b/sc/source/core/tool/interpr2.cxx @@ -33,7 +33,7 @@ // INCLUDE --------------------------------------------------------------- -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/objsh.hxx> #include <svl/stritem.hxx> @@ -2102,7 +2102,7 @@ void ScInterpreter::ScStyle() PushIllegalParameter(); } -ScDdeLink* lcl_GetDdeLink( SvxLinkManager* pLinkMgr, +ScDdeLink* lcl_GetDdeLink( sfx2::LinkManager* pLinkMgr, const String& rA, const String& rT, const String& rI, BYTE nM ) { USHORT nCount = pLinkMgr->GetLinks().Count(); @@ -2145,7 +2145,7 @@ void ScInterpreter::ScDde() // temporary documents (ScFunctionAccess) have no DocShell // and no LinkManager -> abort - SvxLinkManager* pLinkMgr = pDok->GetLinkManager(); + sfx2::LinkManager* pLinkMgr = pDok->GetLinkManager(); if (!pLinkMgr) { PushNoValue(); diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx index 2880d7708b10..0b93eea73460 100644..100755 --- a/sc/source/core/tool/interpr4.cxx +++ b/sc/source/core/tool/interpr4.cxx @@ -68,15 +68,18 @@ #include "jumpmatrix.hxx" #include "parclass.hxx" #include "externalrefmgr.hxx" +#include "doubleref.hxx" #include <math.h> #include <float.h> #include <map> #include <algorithm> #include <functional> +#include <memory> using namespace com::sun::star; using namespace formula; +using ::std::auto_ptr; #define ADDIN_MAXSTRLEN 256 @@ -1222,6 +1225,42 @@ void ScInterpreter::DoubleRefToVars( const ScToken* p, } } +ScDBRangeBase* ScInterpreter::PopDoubleRef() +{ + if (!sp) + { + SetError(errUnknownStackVariable); + return NULL; + } + + --sp; + FormulaToken* p = pStack[sp]; + switch (p->GetType()) + { + case svError: + nGlobalError = p->GetError(); + break; + case svDoubleRef: + { + SCCOL nCol1, nCol2; + SCROW nRow1, nRow2; + SCTAB nTab1, nTab2; + DoubleRefToVars(static_cast<ScToken*>(p), + nCol1, nRow1, nTab1, nCol2, nRow2, nTab2, false); + + return new ScDBInternalRange(pDok, + ScRange(nCol1, nRow1, nTab1, nCol2, nRow2, nTab2)); + } + case svMatrix: + { + ScMatrixRef pMat = static_cast<ScToken*>(p)->GetMatrix(); + return new ScDBExternalRange(pDok, pMat); + } + default: + SetError( errIllegalParameter); + } + return NULL; +} void ScInterpreter::PopDoubleRef(SCCOL& rCol1, SCROW &rRow1, SCTAB& rTab1, SCCOL& rCol2, SCROW &rRow2, SCTAB& rTab2, @@ -2055,78 +2094,37 @@ ScMatValType ScInterpreter::GetDoubleOrStringFromMatrix( double& rDouble, void ScInterpreter::ScDBGet() { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScDBGet" ); - SCTAB nTab; - ScQueryParam aQueryParam; BOOL bMissingField = FALSE; - if (GetDBParams( nTab, aQueryParam, bMissingField)) + auto_ptr<ScDBQueryParamBase> pQueryParam( GetDBParams(bMissingField) ); + if (!pQueryParam.get()) { - ScBaseCell* pCell; - ScQueryCellIterator aCellIter(pDok, nTab, aQueryParam); - if ( (pCell = aCellIter.GetFirst()) != NULL ) - { - if (aCellIter.GetNext()) - PushIllegalArgument(); - else - { - switch (pCell->GetCellType()) - { - case CELLTYPE_VALUE: - { - double rValue = ((ScValueCell*)pCell)->GetValue(); - if ( bCalcAsShown ) - { - ULONG nFormat; - nFormat = aCellIter.GetNumberFormat(); - rValue = pDok->RoundValueAsShown( rValue, nFormat ); - } - PushDouble(rValue); - } - break; - case CELLTYPE_STRING: - { - String rString; - ((ScStringCell*)pCell)->GetString(rString); - PushString(rString); - } - break; - case CELLTYPE_EDIT: - { - String rString; - ((ScEditCell*)pCell)->GetString(rString); - PushString(rString); - } - break; - case CELLTYPE_FORMULA: - { - USHORT rErr = ((ScFormulaCell*)pCell)->GetErrCode(); - if (rErr) - PushError(rErr); - else if (((ScFormulaCell*)pCell)->IsValue()) - { - double rValue = ((ScFormulaCell*)pCell)->GetValue(); - PushDouble(rValue); - } - else - { - String rString; - ((ScFormulaCell*)pCell)->GetString(rString); - PushString(rString); - } - } - break; - case CELLTYPE_NONE: - case CELLTYPE_NOTE: - default: - PushIllegalArgument(); - break; - } - } - } - else - PushNoValue(); + // Failed to create query param. + PushIllegalParameter(); + return; } + + pQueryParam->mbSkipString = false; + ScDBQueryDataIterator aValIter(pDok, pQueryParam.release()); + ScDBQueryDataIterator::Value aValue; + if (!aValIter.GetFirst(aValue) || aValue.mnError) + { + // No match found. + PushNoValue(); + return; + } + + ScDBQueryDataIterator::Value aValNext; + if (aValIter.GetNext(aValNext) && !aValNext.mnError) + { + // There should be only one unique match. + PushIllegalArgument(); + return; + } + + if (aValue.mbIsNumber) + PushDouble(aValue.mfValue); else - PushIllegalParameter(); + PushString(aValue.maString); } @@ -3336,7 +3334,7 @@ void ScInterpreter::ScSpewFunc() #include "sctictac.hxx" #include "scmod.hxx" -extern "C" { static void SAL_CALL thisModule() {} } +//extern "C" { static void SAL_CALL thisModule() {} } void ScInterpreter::ScGame() { @@ -3491,19 +3489,6 @@ int main() SetError( errIllegalParameter ); } break; - case SC_GAME_STARWARS : - { - oslModule m_tfu = osl_loadModuleRelative(&thisModule, rtl::OUString::createFromAscii( SVLIBRARY( "tfu" ) ).pData, SAL_LOADMODULE_NOW); - typedef void StartInvader_Type (Window*, ResMgr*); - - StartInvader_Type *StartInvader = (StartInvader_Type *) osl_getFunctionSymbol( m_tfu, rtl::OUString::createFromAscii("StartInvader").pData ); - if ( StartInvader ) - StartInvader( Application::GetDefDialogParent(), ResMgr::CreateResMgr( "tfu" )); - } - break; - case SC_GAME_FROGGER : - //Game(); - break; default: { // added to avoid warnings diff --git a/sc/source/core/tool/makefile.mk b/sc/source/core/tool/makefile.mk index 52d9bad7c18c..f3fe479e32af 100644 --- a/sc/source/core/tool/makefile.mk +++ b/sc/source/core/tool/makefile.mk @@ -76,6 +76,7 @@ SLOFILES = \ $(SLO)$/detdata.obj \ $(SLO)$/detfunc.obj \ $(SLO)$/docoptio.obj \ + $(SLO)$/doubleref.obj \ $(SLO)$/editutil.obj \ $(SLO)$/filtopt.obj \ $(SLO)$/formulaparserpool.obj \ @@ -95,6 +96,7 @@ SLOFILES = \ $(SLO)$/printopt.obj \ $(SLO)$/prnsave.obj \ $(SLO)$/progress.obj \ + $(SLO)$/queryparam.obj \ $(SLO)$/rangelst.obj \ $(SLO)$/rangenam.obj \ $(SLO)$/rangeseq.obj \ @@ -122,6 +124,7 @@ EXCEPTIONSFILES= \ $(SLO)$/chartlock.obj \ $(SLO)$/chgtrack.obj \ $(SLO)$/compiler.obj \ + $(SLO)$/doubleref.obj \ $(SLO)$/formulaparserpool.obj \ $(SLO)$/interpr1.obj \ $(SLO)$/interpr2.obj \ @@ -130,6 +133,7 @@ EXCEPTIONSFILES= \ $(SLO)$/interpr5.obj \ $(SLO)$/lookupcache.obj \ $(SLO)$/prnsave.obj \ + $(SLO)$/queryparam.obj \ $(SLO)$/reftokenhelper.obj \ $(SLO)$/token.obj diff --git a/sc/source/core/tool/queryparam.cxx b/sc/source/core/tool/queryparam.cxx new file mode 100644 index 000000000000..47418ec85f4d --- /dev/null +++ b/sc/source/core/tool/queryparam.cxx @@ -0,0 +1,365 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: interpr4.cxx,v $ + * $Revision: 1.57.92.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_sc.hxx" + +// INCLUDE --------------------------------------------------------------- + +#include "queryparam.hxx" + +using ::std::vector; + +// ============================================================================ + +ScQueryParamBase::ScQueryParamBase() +{ + Resize( MAXQUERY ); + for (USHORT i=0; i<MAXQUERY; i++) + maEntries[i].Clear(); +} + +ScQueryParamBase::ScQueryParamBase(const ScQueryParamBase& r) : + bHasHeader(r.bHasHeader), bByRow(r.bByRow), bInplace(r.bInplace), bCaseSens(r.bCaseSens), + bRegExp(r.bRegExp), bDuplicate(r.bDuplicate), bMixedComparison(r.bMixedComparison), + maEntries(r.maEntries) +{ +} + +ScQueryParamBase::~ScQueryParamBase() +{ +} + +SCSIZE ScQueryParamBase::GetEntryCount() const +{ + return maEntries.size(); +} + +ScQueryEntry& ScQueryParamBase::GetEntry(SCSIZE n) const +{ + return maEntries[n]; +} + +void ScQueryParamBase::Resize(SCSIZE nNew) +{ + if ( nNew < MAXQUERY ) + nNew = MAXQUERY; // nie weniger als MAXQUERY + + vector<ScQueryEntry> aNewEntries(nNew); + SCSIZE nCopy = ::std::min(maEntries.size(), nNew); + for (SCSIZE i=0; i<nCopy; i++) + aNewEntries[i] = maEntries[i]; + + maEntries.swap(aNewEntries); +} + +void ScQueryParamBase::DeleteQuery( SCSIZE nPos ) +{ + if (nPos >= maEntries.size()) + return; + + size_t n = maEntries.size(); + vector<ScQueryEntry> aNewEntries; + aNewEntries.reserve(n); + for (size_t i = 0; i < n; ++i) + if (i != nPos) + aNewEntries.push_back(maEntries[i]); + + // Don't forget to append an empty entry to make up for the removed one. + // The size of the entries is not supposed to change. + aNewEntries.push_back(ScQueryEntry()); + + maEntries.swap(aNewEntries); +} + +void ScQueryParamBase::FillInExcelSyntax(String& aCellStr, SCSIZE nIndex) +{ + if (aCellStr.Len() > 0) + { + if ( nIndex >= maEntries.size() ) + Resize( nIndex+1 ); + + ScQueryEntry& rEntry = GetEntry(nIndex); + + rEntry.bDoQuery = TRUE; + // Operatoren herausfiltern + if (aCellStr.GetChar(0) == '<') + { + if (aCellStr.GetChar(1) == '>') + { + *rEntry.pStr = aCellStr.Copy(2); + rEntry.eOp = SC_NOT_EQUAL; + } + else if (aCellStr.GetChar(1) == '=') + { + *rEntry.pStr = aCellStr.Copy(2); + rEntry.eOp = SC_LESS_EQUAL; + } + else + { + *rEntry.pStr = aCellStr.Copy(1); + rEntry.eOp = SC_LESS; + } + } + else if (aCellStr.GetChar(0) == '>') + { + if (aCellStr.GetChar(1) == '=') + { + *rEntry.pStr = aCellStr.Copy(2); + rEntry.eOp = SC_GREATER_EQUAL; + } + else + { + *rEntry.pStr = aCellStr.Copy(1); + rEntry.eOp = SC_GREATER; + } + } + else + { + if (aCellStr.GetChar(0) == '=') + *rEntry.pStr = aCellStr.Copy(1); + else + *rEntry.pStr = aCellStr; + rEntry.eOp = SC_EQUAL; + } + } +} + +// ============================================================================ + +ScQueryParamTable::ScQueryParamTable() +{ +} + +ScQueryParamTable::ScQueryParamTable(const ScQueryParamTable& r) : + nCol1(r.nCol1),nRow1(r.nRow1),nCol2(r.nCol2),nRow2(r.nRow2),nTab(r.nTab) +{ +} + +ScQueryParamTable::~ScQueryParamTable() +{ +} + +// ============================================================================ + +ScQueryParam::ScQueryParam() : + ScQueryParamBase(), + ScQueryParamTable() +{ + Clear(); +} + +//------------------------------------------------------------------------ + +ScQueryParam::ScQueryParam( const ScQueryParam& r ) : + ScQueryParamBase(r), + ScQueryParamTable(r), + bDestPers(r.bDestPers), nDestTab(r.nDestTab), nDestCol(r.nDestCol), nDestRow(r.nDestRow) +{ +} + +ScQueryParam::ScQueryParam( const ScDBQueryParamInternal& r ) : + ScQueryParamBase(r), + ScQueryParamTable(r), + bDestPers(true), + nDestTab(0), + nDestCol(0), + nDestRow(0) +{ +} + + +//------------------------------------------------------------------------ + +ScQueryParam::~ScQueryParam() +{ +} + +//------------------------------------------------------------------------ + +void ScQueryParam::Clear() +{ + nCol1=nCol2 = 0; + nRow1=nRow2 = 0; + nTab = SCTAB_MAX; + bHasHeader = bCaseSens = bRegExp = bMixedComparison = FALSE; + bInplace = bByRow = bDuplicate = TRUE; + + Resize( MAXQUERY ); + for (USHORT i=0; i<MAXQUERY; i++) + maEntries[i].Clear(); + + ClearDestParams(); +} + +void ScQueryParam::ClearDestParams() +{ + bDestPers = true; + nDestTab = 0; + nDestCol = 0; + nDestRow = 0; +} + +//------------------------------------------------------------------------ + +ScQueryParam& ScQueryParam::operator=( const ScQueryParam& r ) +{ + nCol1 = r.nCol1; + nRow1 = r.nRow1; + nCol2 = r.nCol2; + nRow2 = r.nRow2; + nTab = r.nTab; + nDestTab = r.nDestTab; + nDestCol = r.nDestCol; + nDestRow = r.nDestRow; + bHasHeader = r.bHasHeader; + bInplace = r.bInplace; + bCaseSens = r.bCaseSens; + bRegExp = r.bRegExp; + bMixedComparison = r.bMixedComparison; + bDuplicate = r.bDuplicate; + bByRow = r.bByRow; + bDestPers = r.bDestPers; + + maEntries = r.maEntries; + + return *this; +} + +//------------------------------------------------------------------------ + +BOOL ScQueryParam::operator==( const ScQueryParam& rOther ) const +{ + BOOL bEqual = FALSE; + + // Anzahl der Queries gleich? + SCSIZE nUsed = 0; + SCSIZE nOtherUsed = 0; + SCSIZE nEntryCount = GetEntryCount(); + SCSIZE nOtherEntryCount = rOther.GetEntryCount(); + + while ( nUsed<nEntryCount && maEntries[nUsed].bDoQuery ) ++nUsed; + while ( nOtherUsed<nOtherEntryCount && rOther.maEntries[nOtherUsed].bDoQuery ) + ++nOtherUsed; + + if ( (nUsed == nOtherUsed) + && (nCol1 == rOther.nCol1) + && (nRow1 == rOther.nRow1) + && (nCol2 == rOther.nCol2) + && (nRow2 == rOther.nRow2) + && (nTab == rOther.nTab) + && (bHasHeader == rOther.bHasHeader) + && (bByRow == rOther.bByRow) + && (bInplace == rOther.bInplace) + && (bCaseSens == rOther.bCaseSens) + && (bRegExp == rOther.bRegExp) + && (bMixedComparison == rOther.bMixedComparison) + && (bDuplicate == rOther.bDuplicate) + && (bDestPers == rOther.bDestPers) + && (nDestTab == rOther.nDestTab) + && (nDestCol == rOther.nDestCol) + && (nDestRow == rOther.nDestRow) ) + { + bEqual = TRUE; + for ( SCSIZE i=0; i<nUsed && bEqual; i++ ) + bEqual = maEntries[i] == rOther.maEntries[i]; + } + return bEqual; +} + +//------------------------------------------------------------------------ + +void ScQueryParam::MoveToDest() +{ + if (!bInplace) + { + SCsCOL nDifX = ((SCsCOL) nDestCol) - ((SCsCOL) nCol1); + SCsROW nDifY = ((SCsROW) nDestRow) - ((SCsROW) nRow1); + SCsTAB nDifZ = ((SCsTAB) nDestTab) - ((SCsTAB) nTab); + + nCol1 = sal::static_int_cast<SCCOL>( nCol1 + nDifX ); + nRow1 = sal::static_int_cast<SCROW>( nRow1 + nDifY ); + nCol2 = sal::static_int_cast<SCCOL>( nCol2 + nDifX ); + nRow2 = sal::static_int_cast<SCROW>( nRow2 + nDifY ); + nTab = sal::static_int_cast<SCTAB>( nTab + nDifZ ); + size_t n = maEntries.size(); + for (size_t i=0; i<n; i++) + maEntries[i].nField += nDifX; + + bInplace = TRUE; + } + else + { + DBG_ERROR("MoveToDest, bInplace == TRUE"); + } +} + +// ============================================================================ + +ScDBQueryParamBase::ScDBQueryParamBase(DataType eType) : + ScQueryParamBase(), + mnField(-1), + mbSkipString(true), + meType(eType) +{ +} + +ScDBQueryParamBase::~ScDBQueryParamBase() +{ +} + +ScDBQueryParamBase::DataType ScDBQueryParamBase::GetType() const +{ + return meType; +} + +// ============================================================================ + +ScDBQueryParamInternal::ScDBQueryParamInternal() : + ScDBQueryParamBase(ScDBQueryParamBase::INTERNAL), + ScQueryParamTable() +{ +} + +ScDBQueryParamInternal::~ScDBQueryParamInternal() +{ +} + +// ============================================================================ + +ScDBQueryParamMatrix::ScDBQueryParamMatrix() : + ScDBQueryParamBase(ScDBQueryParamBase::MATRIX) +{ +} + +ScDBQueryParamMatrix::~ScDBQueryParamMatrix() +{ +} + diff --git a/sc/source/filter/excel/colrowst.cxx b/sc/source/filter/excel/colrowst.cxx index b1ec8752de7b..617adc891962 100644 --- a/sc/source/filter/excel/colrowst.cxx +++ b/sc/source/filter/excel/colrowst.cxx @@ -43,6 +43,7 @@ #include "xltable.hxx" #include "xistream.hxx" #include "xistyle.hxx" +#include "queryparam.hxx" // for filter manager #include "excimp8.hxx" diff --git a/sc/source/filter/excel/excdoc.cxx b/sc/source/filter/excel/excdoc.cxx index 998208541157..024b857eee8a 100644 --- a/sc/source/filter/excel/excdoc.cxx +++ b/sc/source/filter/excel/excdoc.cxx @@ -40,8 +40,8 @@ #include <svx/svdobj.hxx> #include <svx/svditer.hxx> #include <svx/svdpage.hxx> -#include <svx/lrspitem.hxx> -#include <svx/ulspitem.hxx> +#include <editeng/lrspitem.hxx> +#include <editeng/ulspitem.hxx> #include <svl/intitem.hxx> #include <svl/zformat.hxx> #include <sot/storage.hxx> @@ -235,7 +235,7 @@ void ExcTable::FillAsHeader( ExcBoundsheetList& rBoundsheetList ) Add( new XclExpFilePass( GetRoot() ) ); Add( new XclExpInterfaceHdr( nCodePage ) ); Add( new XclExpUInt16Record( EXC_ID_MMS, 0 ) ); - Add( new XclExpEmptyRecord( EXC_ID_INTERFACEEND ) ); + Add( new XclExpInterfaceEnd ); Add( new XclExpWriteAccess ); } diff --git a/sc/source/filter/excel/excimp8.cxx b/sc/source/filter/excel/excimp8.cxx index a172bd63e69b..94898efe2a71 100644 --- a/sc/source/filter/excel/excimp8.cxx +++ b/sc/source/filter/excel/excimp8.cxx @@ -40,21 +40,21 @@ #include <svtools/wmf.hxx> -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/docfile.hxx> #include <sfx2/objsh.hxx> -#include <svx/brshitem.hxx> -#include <svx/editdata.hxx> -#include <svx/editeng.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> -#include <svx/colritem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/postitem.hxx> -#include <svx/crsditem.hxx> -#include <svx/flditem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/editdata.hxx> +#include <editeng/editeng.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> +#include <editeng/colritem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/flditem.hxx> #include <svx/xflclit.hxx> #include <filter/msfilter/svxmsbas.hxx> @@ -117,7 +117,7 @@ using namespace com::sun::star; ImportExcel8::ImportExcel8( XclImpRootData& rImpData, SvStream& rStrm ) : - ImportExcel( rImpData, rStrm ) + ImportExcel( rImpData, rStrm ), mnTab(0) { delete pFormConv; @@ -240,9 +240,15 @@ void ImportExcel8::Codename( BOOL bWorkbookGlobals ) if( aName.Len() ) { if( bWorkbookGlobals ) + { GetExtDocOptions().GetDocSettings().maGlobCodeName = aName; + GetDoc().SetCodeName( aName ); + } else + { GetExtDocOptions().AppendCodeName( aName ); + GetDoc().SetCodeName( mnTab++, aName ); + } } } } diff --git a/sc/source/filter/excel/excrecds.cxx b/sc/source/filter/excel/excrecds.cxx index ce824fa70e44..a2033a399c06 100644 --- a/sc/source/filter/excel/excrecds.cxx +++ b/sc/source/filter/excel/excrecds.cxx @@ -41,27 +41,27 @@ #include <filter/msfilter/countryid.hxx> #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/objsh.hxx> -#include <svx/editdata.hxx> -#include <svx/editeng.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> +#include <editeng/editdata.hxx> +#include <editeng/editeng.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> -#include <svx/flditem.hxx> -#include <svx/flstitem.hxx> +#include <editeng/flditem.hxx> +#include <editeng/flstitem.hxx> #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> #include <svx/pageitem.hxx> -#include <svx/paperinf.hxx> -#include <svx/sizeitem.hxx> -#include <svx/ulspitem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/escpitem.hxx> +#include <editeng/paperinf.hxx> +#include <editeng/sizeitem.hxx> +#include <editeng/ulspitem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/escpitem.hxx> #include <svl/intitem.hxx> #include <svl/zforlist.hxx> #include <svl/zformat.hxx> diff --git a/sc/source/filter/excel/exctools.cxx b/sc/source/filter/excel/exctools.cxx index d698278d9d3c..2a191631d774 100644 --- a/sc/source/filter/excel/exctools.cxx +++ b/sc/source/filter/excel/exctools.cxx @@ -36,12 +36,12 @@ //------------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/editdata.hxx> -#include <svx/editeng.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> +#include <editeng/editdata.hxx> +#include <editeng/editeng.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> #include "document.hxx" #include "patattr.hxx" diff --git a/sc/source/filter/excel/fontbuff.cxx b/sc/source/filter/excel/fontbuff.cxx index f1e2c920a731..e6c9febfb4e1 100644 --- a/sc/source/filter/excel/fontbuff.cxx +++ b/sc/source/filter/excel/fontbuff.cxx @@ -34,14 +34,14 @@ #include "lotfntbf.hxx" #include "scitems.hxx" -#include <svx/cntritem.hxx> -#include <svx/crsditem.hxx> -#include <svx/eeitem.hxx> -#include <svx/postitem.hxx> -#include <svx/shdditem.hxx> -#include <svx/escpitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/cntritem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/shdditem.hxx> +#include <editeng/escpitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> #include <sfx2/printer.hxx> #include "attrib.hxx" diff --git a/sc/source/filter/excel/impop.cxx b/sc/source/filter/excel/impop.cxx index 7003cc683688..9f1874befab4 100644 --- a/sc/source/filter/excel/impop.cxx +++ b/sc/source/filter/excel/impop.cxx @@ -36,15 +36,15 @@ #include <filter/msfilter/countryid.hxx> #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/editdata.hxx> -#include <svx/editeng.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> -#include <svx/flditem.hxx> +#include <editeng/editdata.hxx> +#include <editeng/editeng.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> +#include <editeng/flditem.hxx> #include <svx/pageitem.hxx> -#include <svx/colritem.hxx> +#include <editeng/colritem.hxx> #include <sfx2/printer.hxx> #include <sfx2/docfile.hxx> #include <svl/zforlist.hxx> diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx index ad51304b3e3e..f382d203b822 100644 --- a/sc/source/filter/excel/xecontent.cxx +++ b/sc/source/filter/excel/xecontent.cxx @@ -43,8 +43,8 @@ #include <svl/itemset.hxx> #include <formula/grammar.hxx> #include "scitems.hxx" -#include <svx/eeitem.hxx> -#include <svx/flditem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/flditem.hxx> #include "document.hxx" #include "validat.hxx" #include "unonames.hxx" @@ -748,19 +748,19 @@ void XclExpCFImpl::WriteBody( XclExpStream& rStrm ) // font used flag for underline -> 0 = used, 1 = default sal_uInt32 nFontFlags3 = mbUnderlUsed ? 0 : EXC_CF_FONT_UNDERL; - rStrm.WriteZeroBytes( 64 ); + rStrm.WriteZeroBytesToRecord( 64 ); rStrm << nHeight << nStyle << maFontData.mnWeight << EXC_FONTESC_NONE << maFontData.mnUnderline; - rStrm.WriteZeroBytes( 3 ); + rStrm.WriteZeroBytesToRecord( 3 ); rStrm << nColor << sal_uInt32( 0 ) << nFontFlags1 << EXC_CF_FONT_ESCAPEM // escapement never used -> set the flag << nFontFlags3; - rStrm.WriteZeroBytes( 16 ); + rStrm.WriteZeroBytesToRecord( 16 ); rStrm << sal_uInt16( 1 ); // must be 1 } diff --git a/sc/source/filter/excel/xeescher.cxx b/sc/source/filter/excel/xeescher.cxx index af1a90291b99..dbefeaac750b 100644 --- a/sc/source/filter/excel/xeescher.cxx +++ b/sc/source/filter/excel/xeescher.cxx @@ -52,8 +52,8 @@ #include <vcl/bmpacc.hxx> #include <svx/svdoole2.hxx> #include <svx/svdocapt.hxx> -#include <svx/outlobj.hxx> -#include <svx/editobj.hxx> +#include <editeng/outlobj.hxx> +#include <editeng/editobj.hxx> #include "editutil.hxx" #include "unonames.hxx" diff --git a/sc/source/filter/excel/xehelper.cxx b/sc/source/filter/excel/xehelper.cxx index 30b30639f7c7..bf98f35a7abc 100644 --- a/sc/source/filter/excel/xehelper.cxx +++ b/sc/source/filter/excel/xehelper.cxx @@ -38,15 +38,15 @@ #include <svl/itemset.hxx> #include <svtools/ctrltool.hxx> #include <svx/svdotext.hxx> -#include <svx/outlobj.hxx> +#include <editeng/outlobj.hxx> #include "scitems.hxx" -#include <svx/fhgtitem.hxx> -#include <svx/flstitem.hxx> -#include <svx/colritem.hxx> -#include <svx/eeitem.hxx> -#include <svx/flditem.hxx> -#include <svx/escpitem.hxx> -#include <svx/svxfont.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/flstitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/flditem.hxx> +#include <editeng/escpitem.hxx> +#include <editeng/svxfont.hxx> #define _SVSTDARR_USHORTS #include <svl/svstdarr.hxx> diff --git a/sc/source/filter/excel/xepage.cxx b/sc/source/filter/excel/xepage.cxx index 47414c07bec8..03e4cd84c92d 100644 --- a/sc/source/filter/excel/xepage.cxx +++ b/sc/source/filter/excel/xepage.cxx @@ -37,10 +37,10 @@ #include <svl/eitem.hxx> #include <svl/intitem.hxx> #include <svx/pageitem.hxx> -#include <svx/sizeitem.hxx> -#include <svx/lrspitem.hxx> -#include <svx/ulspitem.hxx> -#include <svx/brshitem.hxx> +#include <editeng/sizeitem.hxx> +#include <editeng/lrspitem.hxx> +#include <editeng/ulspitem.hxx> +#include <editeng/brshitem.hxx> #include "document.hxx" #include "stlpool.hxx" #include "stlsheet.hxx" diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx index 1dd1bbc747f7..6f5b0eb4a524 100644 --- a/sc/source/filter/excel/xestream.cxx +++ b/sc/source/filter/excel/xestream.cxx @@ -259,6 +259,17 @@ void XclExpStream::WriteZeroBytes( sal_Size nBytes ) WriteRawZeroBytes( nBytes ); } +void XclExpStream::WriteZeroBytesToRecord( sal_Size nBytes ) +{ + if (!mbInRec) + // not in record. + return; + + sal_uInt8 nZero = 0; + for (sal_Size i = 0; i < nBytes; ++i) + *this << nZero; +} + sal_Size XclExpStream::CopyFromStream( SvStream& rInStrm, sal_Size nBytes ) { sal_Size nStrmPos = rInStrm.Tell(); diff --git a/sc/source/filter/excel/xestyle.cxx b/sc/source/filter/excel/xestyle.cxx index f70452461682..7eb21fc1355c 100644 --- a/sc/source/filter/excel/xestyle.cxx +++ b/sc/source/filter/excel/xestyle.cxx @@ -42,14 +42,14 @@ #include <sfx2/printer.hxx> #include "scitems.hxx" #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/bolnitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/bolnitem.hxx> #include <svx/rotmodit.hxx> -#include <svx/colritem.hxx> -#include <svx/brshitem.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/eeitem.hxx> -#include <svx/escpitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/escpitem.hxx> #include "document.hxx" #include "stlpool.hxx" #include "stlsheet.hxx" diff --git a/sc/source/filter/excel/xichart.cxx b/sc/source/filter/excel/xichart.cxx index dc542a1c1eeb..7030bb56833d 100644 --- a/sc/source/filter/excel/xichart.cxx +++ b/sc/source/filter/excel/xichart.cxx @@ -34,6 +34,7 @@ #include "xichart.hxx" #include <algorithm> +#include <memory> #include <com/sun/star/frame/XModel.hpp> #include <com/sun/star/drawing/Direction3D.hpp> @@ -72,6 +73,8 @@ #include "tokenarray.hxx" #include "token.hxx" #include "compiler.hxx" +#include "reftokenhelper.hxx" +#include "chartlis.hxx" #include "fprogressbar.hxx" #include "xltracer.hxx" #include "xistream.hxx" @@ -123,6 +126,8 @@ using ::com::sun::star::chart2::data::XDataSequence; using ::formula::FormulaToken; using ::formula::StackVar; +using ::std::vector; + // Helpers ==================================================================== namespace { @@ -791,6 +796,22 @@ Sequence< Reference< XFormattedString > > XclImpChSourceLink::CreateStringSequen return ScfApiHelper::VectorToSequence( aStringVec ); } +void XclImpChSourceLink::FillSourceLink(vector<ScSharedTokenRef>& rTokens) const +{ + if (!mxTokenArray.is()) + // no links to fill. + return; + + mxTokenArray->Reset(); + for (FormulaToken* p = mxTokenArray->First(); p; p = mxTokenArray->Next()) + { + ScSharedTokenRef pToken(static_cast<ScToken*>(p->Clone())); + if (ScRefTokenHelper::isRef(pToken)) + // This is a reference token. Store it. + ScRefTokenHelper::join(rTokens, pToken); + } +} + // Text ======================================================================= XclImpChFontBase::~XclImpChFontBase() @@ -1837,6 +1858,18 @@ Reference< XDataSeries > XclImpChSeries::CreateDataSeries() const return xDataSeries; } +void XclImpChSeries::FillAllSourceLinks(vector<ScSharedTokenRef>& rTokens) const +{ + if (mxValueLink.is()) + mxValueLink->FillSourceLink(rTokens); + if (mxCategLink.is()) + mxCategLink->FillSourceLink(rTokens); + if (mxTitleLink.is()) + mxTitleLink->FillSourceLink(rTokens); + if (mxBubbleLink.is()) + mxBubbleLink->FillSourceLink(rTokens); +} + void XclImpChSeries::ReadChSourceLink( XclImpStream& rStrm ) { XclImpChSourceLinkRef xSrcLink( new XclImpChSourceLink( GetChRoot() ) ); @@ -3483,7 +3516,7 @@ XclImpChTextRef XclImpChChart::GetDefaultText( XclChTextType eTextType ) const return maDefTexts.get( nDefTextId ); } -void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc, ScfProgressBar& rProgress ) const +void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc, ScfProgressBar& rProgress, const OUString& rObjName ) const { // initialize conversion (locks the model to suppress any internal updates) InitConversion( xChartDoc ); @@ -3526,6 +3559,28 @@ void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc, ScfProgressB // unlock the model FinishConversion( rProgress ); + + ScDocument* pDoc = &GetRoot().GetDoc(); + ScChartListenerCollection* pChartCollection = pDoc->GetChartListenerCollection(); + if (pChartCollection) + { + // Now, start listening to this chart. + ::std::auto_ptr< vector<ScSharedTokenRef> > pRefTokens(new vector<ScSharedTokenRef>); + for (XclImpChSeriesVec::const_iterator itr = maSeries.begin(), itrEnd = maSeries.end(); itr != itrEnd; ++itr) + { + const XclImpChSeriesRef& rSeries = *itr; + rSeries->FillAllSourceLinks(*pRefTokens); + } + if (!pRefTokens->empty()) + { + ::std::auto_ptr<ScChartListener> pListener( + new ScChartListener(rObjName, pDoc, pRefTokens.release())); + pListener->SetUsed(true); + pListener->StartListeningTo(); + pChartCollection->Insert(pListener.release()); + + } + } } void XclImpChChart::ReadChSeries( XclImpStream& rStrm ) @@ -3751,11 +3806,11 @@ sal_Size XclImpChart::GetProgressSize() const return mxChartData.is() ? mxChartData->GetProgressSize() : 0; } -void XclImpChart::Convert( Reference< XModel > xModel, ScfProgressBar& rProgress ) const +void XclImpChart::Convert( Reference< XModel > xModel, ScfProgressBar& rProgress, const OUString& rObjName ) const { Reference< XChartDocument > xChartDoc( xModel, UNO_QUERY ); if( mxChartData.is() && xChartDoc.is() ) - mxChartData->Convert( xChartDoc, rProgress ); + mxChartData->Convert( xChartDoc, rProgress, rObjName ); } void XclImpChart::ReadChChart( XclImpStream& rStrm ) diff --git a/sc/source/filter/excel/xicontent.cxx b/sc/source/filter/excel/xicontent.cxx index 444cf4c848d1..a9eec56f493b 100644 --- a/sc/source/filter/excel/xicontent.cxx +++ b/sc/source/filter/excel/xicontent.cxx @@ -34,21 +34,21 @@ #include <sfx2/objsh.hxx> #include <sfx2/docfile.hxx> #include <tools/urlobj.hxx> -#include <svx/editeng.hxx> -#include <svx/editobj.hxx> -#include <svx/linkmgr.hxx> +#include <editeng/editeng.hxx> +#include <editeng/editobj.hxx> +#include <sfx2/linkmgr.hxx> #include <svl/itemset.hxx> #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svl/intitem.hxx> #include <svl/stritem.hxx> -#include <svx/flditem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/postitem.hxx> -#include <svx/colritem.hxx> -#include <svx/crsditem.hxx> +#include <editeng/flditem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/crsditem.hxx> #include "document.hxx" #include "editutil.hxx" #include "cell.hxx" diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx index dece34280d8b..e07f5be7937d 100644 --- a/sc/source/filter/excel/xiescher.cxx +++ b/sc/source/filter/excel/xiescher.cxx @@ -79,18 +79,18 @@ #include <svx/svdocapt.hxx> #include <svx/svdouno.hxx> #include <svx/svdpage.hxx> -#include <svx/editobj.hxx> -#include <svx/outliner.hxx> -#include <svx/outlobj.hxx> +#include <editeng/editobj.hxx> +#include <editeng/outliner.hxx> +#include <editeng/outlobj.hxx> #include <svx/unoapi.hxx> #include <svx/svditer.hxx> -#include <svx/writingmodeitem.hxx> +#include <editeng/writingmodeitem.hxx> #include "scitems.hxx" -#include <svx/eeitem.hxx> -#include <svx/colritem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/colritem.hxx> #include <svx/xflclit.hxx> -#include <svx/adjitem.hxx> +#include <editeng/adjitem.hxx> #include <svx/xlineit.hxx> #include <svx/xlinjoit.hxx> #include <svx/xlntrit.hxx> @@ -105,6 +105,7 @@ #include "convuno.hxx" #include "postit.hxx" #include "globstr.hrc" +#include "chartlis.hxx" #include "fprogressbar.hxx" #include "xltracer.hxx" @@ -1662,7 +1663,7 @@ SdrObject* XclImpChartObj::DoCreateSdrObj( const Rectangle& rAnchorRect, ScfProg if( svt::EmbeddedObjectRef::TryRunningState( xEmbObj ) ) { Reference< XModel > xModel( xEmbObj->getComponent(), UNO_QUERY ); - mxChart->Convert( xModel, rProgress ); + mxChart->Convert( xModel, rProgress, aEmbObjName ); Reference< XEmbedPersist > xPers( xEmbObj, UNO_QUERY ); if( xPers.is() ) @@ -3838,6 +3839,9 @@ void XclImpObjectManager::ConvertObjects() rDffManager.ProcessDrawing( maDffStrm, *aPIt ); } } + ScChartListenerCollection* pChartListeners = GetDoc().GetChartListenerCollection(); + if (pChartListeners && pChartListeners->GetCount()) + pChartListeners->SetDirty(); } String XclImpObjectManager::GetDefaultObjName( const XclImpDrawObjBase& rDrawObj ) const diff --git a/sc/source/filter/excel/xihelper.cxx b/sc/source/filter/excel/xihelper.cxx index 99dd5632443b..4e950a89e57c 100644 --- a/sc/source/filter/excel/xihelper.cxx +++ b/sc/source/filter/excel/xihelper.cxx @@ -32,11 +32,11 @@ #include "precompiled_sc.hxx" #include "xihelper.hxx" #include <svl/itemset.hxx> -#include <svx/editobj.hxx> +#include <editeng/editobj.hxx> #include <tools/urlobj.hxx> #include "scitems.hxx" -#include <svx/eeitem.hxx> -#include <svx/flditem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/flditem.hxx> #include "document.hxx" #include "cell.hxx" #include "rangelst.hxx" diff --git a/sc/source/filter/excel/xipage.cxx b/sc/source/filter/excel/xipage.cxx index 4d5b5c1ce56b..179f323fe85d 100644 --- a/sc/source/filter/excel/xipage.cxx +++ b/sc/source/filter/excel/xipage.cxx @@ -37,10 +37,10 @@ #include <svl/eitem.hxx> #include <svl/intitem.hxx> #include <svx/pageitem.hxx> -#include <svx/sizeitem.hxx> -#include <svx/lrspitem.hxx> -#include <svx/ulspitem.hxx> -#include <svx/brshitem.hxx> +#include <editeng/sizeitem.hxx> +#include <editeng/lrspitem.hxx> +#include <editeng/ulspitem.hxx> +#include <editeng/brshitem.hxx> #include "document.hxx" #include "stlsheet.hxx" #include "attrib.hxx" diff --git a/sc/source/filter/excel/xistyle.cxx b/sc/source/filter/excel/xistyle.cxx index 07368f6db680..0c0460ae497c 100644 --- a/sc/source/filter/excel/xistyle.cxx +++ b/sc/source/filter/excel/xistyle.cxx @@ -34,26 +34,26 @@ #include <sfx2/printer.hxx> #include <sfx2/objsh.hxx> #include <svtools/ctrltool.hxx> -#include <svx/editobj.hxx> +#include <editeng/editobj.hxx> #include "scitems.hxx" -#include <svx/fontitem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/postitem.hxx> -#include <svx/crsditem.hxx> -#include <svx/cntritem.hxx> -#include <svx/shdditem.hxx> -#include <svx/escpitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/cntritem.hxx> +#include <editeng/shdditem.hxx> +#include <editeng/escpitem.hxx> #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/bolnitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/bolnitem.hxx> #include <svx/rotmodit.hxx> -#include <svx/colritem.hxx> -#include <svx/brshitem.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/eeitem.hxx> -#include <svx/flstitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/flstitem.hxx> #include "document.hxx" #include "docpool.hxx" #include "attrib.hxx" diff --git a/sc/source/filter/excel/xlchart.cxx b/sc/source/filter/excel/xlchart.cxx index 5e7f1665c0e0..5820ac286886 100644 --- a/sc/source/filter/excel/xlchart.cxx +++ b/sc/source/filter/excel/xlchart.cxx @@ -56,7 +56,7 @@ #include <svx/xbtmpit.hxx> #include <svx/unomid.hxx> #include <filter/msfilter/escherex.hxx> - +#include <editeng/memberids.hrc> #include "global.hxx" #include "xlconst.hxx" #include "xlstyle.hxx" diff --git a/sc/source/filter/excel/xlpage.cxx b/sc/source/filter/excel/xlpage.cxx index d1bea1addcec..0926944382a9 100644 --- a/sc/source/filter/excel/xlpage.cxx +++ b/sc/source/filter/excel/xlpage.cxx @@ -32,11 +32,11 @@ #include "precompiled_sc.hxx" #include "xlpage.hxx" #include <sfx2/printer.hxx> -#include <svx/svxenum.hxx> -#include <svx/paperinf.hxx> +#include <editeng/svxenum.hxx> +#include <editeng/paperinf.hxx> #include <vcl/svapp.hxx> #include "scitems.hxx" -#include <svx/brshitem.hxx> +#include <editeng/brshitem.hxx> #include "global.hxx" #include "xlconst.hxx" diff --git a/sc/source/filter/excel/xlroot.cxx b/sc/source/filter/excel/xlroot.cxx index 9706279307d1..09e6b83acb15 100644 --- a/sc/source/filter/excel/xlroot.cxx +++ b/sc/source/filter/excel/xlroot.cxx @@ -39,9 +39,9 @@ #include <sfx2/printer.hxx> #include <sfx2/docfile.hxx> #include <vcl/font.hxx> -#include <svx/editstat.hxx> +#include <editeng/editstat.hxx> #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include "document.hxx" #include "docpool.hxx" #include "docuno.hxx" diff --git a/sc/source/filter/excel/xlstyle.cxx b/sc/source/filter/excel/xlstyle.cxx index 401f135b381a..96c8a4a9b614 100644 --- a/sc/source/filter/excel/xlstyle.cxx +++ b/sc/source/filter/excel/xlstyle.cxx @@ -40,7 +40,7 @@ #include <vcl/font.hxx> #include <rtl/tencinfo.h> #include <toolkit/unohlp.hxx> -#include <svx/svxfont.hxx> +#include <editeng/svxfont.hxx> #include "global.hxx" #include "xlroot.hxx" diff --git a/sc/source/filter/excel/xltools.cxx b/sc/source/filter/excel/xltools.cxx index 4aa46c2ebed9..2c710dfeb5dc 100644 --- a/sc/source/filter/excel/xltools.cxx +++ b/sc/source/filter/excel/xltools.cxx @@ -36,7 +36,7 @@ #include <sal/mathconf.h> #include <unotools/fontcvt.hxx> #include <sfx2/objsh.hxx> -#include <svx/editstat.hxx> +#include <editeng/editstat.hxx> #include "xestream.hxx" #include "document.hxx" #include "docuno.hxx" diff --git a/sc/source/filter/html/htmlexp.cxx b/sc/source/filter/html/htmlexp.cxx index 8d6486fca38d..507e51bf9871 100644 --- a/sc/source/filter/html/htmlexp.cxx +++ b/sc/source/filter/html/htmlexp.cxx @@ -36,24 +36,24 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #define _SVSTDARR_STRINGSSORTDTOR #include <rtl/tencinfo.h> #include <vcl/svapp.hxx> #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/colritem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/fontitem.hxx> -#include <svx/postitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> #include <svx/xoutbmp.hxx> -#include <svx/editeng.hxx> -#include <svx/htmlcfg.hxx> +#include <editeng/editeng.hxx> +#include <svtools/htmlcfg.hxx> #include <sfx2/docfile.hxx> #include <sfx2/frmhtmlw.hxx> #include <sfx2/objsh.hxx> @@ -86,8 +86,8 @@ #include "ftools.hxx" -#include <svx/flditem.hxx> -#include <svx/borderline.hxx> +#include <editeng/flditem.hxx> +#include <editeng/borderline.hxx> #include <unotools/syslocale.hxx> diff --git a/sc/source/filter/html/htmlimp.cxx b/sc/source/filter/html/htmlimp.cxx index 5591e8ec993e..83c735291708 100644 --- a/sc/source/filter/html/htmlimp.cxx +++ b/sc/source/filter/html/htmlimp.cxx @@ -36,13 +36,13 @@ //------------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/lrspitem.hxx> -#include <svx/paperinf.hxx> -#include <svx/sizeitem.hxx> -#include <svx/ulspitem.hxx> -#include <svx/boxitem.hxx> +#include <editeng/lrspitem.hxx> +#include <editeng/paperinf.hxx> +#include <editeng/sizeitem.hxx> +#include <editeng/ulspitem.hxx> +#include <editeng/boxitem.hxx> #include <vcl/svapp.hxx> #include "htmlimp.hxx" diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx index 99b5150621ef..eeaede243f43 100644 --- a/sc/source/filter/html/htmlpars.cxx +++ b/sc/source/filter/html/htmlpars.cxx @@ -35,20 +35,19 @@ #define SC_HTMLPARS_CXX #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/htmlcfg.hxx> +#include <svtools/htmlcfg.hxx> #include <svx/algitem.hxx> -#include <svx/colritem.hxx> -#include <svx/brshitem.hxx> -#include <svx/editeng.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/fontitem.hxx> -#include <svx/impgrf.hxx> -#include <svx/postitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/boxitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/editeng.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/boxitem.hxx> #include <sfx2/objsh.hxx> #include <svl/eitem.hxx> #include <svtools/filter.hxx> @@ -1375,8 +1374,8 @@ void ScHTMLLayoutParser::Image( ImportInfo* pInfo ) USHORT nFormat; Graphic* pGraphic = new Graphic; - GraphicFilter* pFilter = ::GetGrfFilter(); - if ( GRFILTER_OK != ::LoadGraphic( pImage->aURL, pImage->aFilterName, + GraphicFilter* pFilter = GraphicFilter::GetGraphicFilter(); + if ( GRFILTER_OK != GraphicFilter::LoadGraphic( pImage->aURL, pImage->aFilterName, *pGraphic, pFilter, &nFormat ) ) { delete pGraphic; diff --git a/sc/source/filter/inc/eeparser.hxx b/sc/source/filter/inc/eeparser.hxx index a5398fb8fa84..59901d88ad89 100644 --- a/sc/source/filter/inc/eeparser.hxx +++ b/sc/source/filter/inc/eeparser.hxx @@ -36,7 +36,7 @@ #include <vcl/graph.hxx> #include <tools/table.hxx> #include <svl/itemset.hxx> -#include <svx/editdata.hxx> +#include <editeng/editdata.hxx> #include <address.hxx> const sal_Char nHorizontal = 1; diff --git a/sc/source/filter/inc/excimp8.hxx b/sc/source/filter/inc/excimp8.hxx index 9bd633eae879..c35ab902b844 100644 --- a/sc/source/filter/inc/excimp8.hxx +++ b/sc/source/filter/inc/excimp8.hxx @@ -37,6 +37,7 @@ #include "excscen.hxx" #include "excdefs.hxx" #include "ftools.hxx" +#include "queryparam.hxx" class SotStorage; @@ -52,6 +53,7 @@ class XclImpStream; class ImportExcel8 : public ImportExcel { + SCTAB mnTab; protected: ExcScenarioList aScenList; diff --git a/sc/source/filter/inc/filt_pch.hxx b/sc/source/filter/inc/filt_pch.hxx index 606cc2c98482..c155d6a09ad1 100644 --- a/sc/source/filter/inc/filt_pch.hxx +++ b/sc/source/filter/inc/filt_pch.hxx @@ -161,7 +161,7 @@ #include <namebuff.hxx> #include <tools/shl.hxx> #include <tools/pstm.hxx> -#include <svx/fhgtitem.hxx> +#include <editeng/fhgtitem.hxx> #include <vos/types.hxx> #include <vos/object.hxx> #include <vos/macros.hxx> @@ -171,7 +171,7 @@ #include <com/sun/star/uno/Sequence.hxx> #include <attrib.hxx> #include <svl/zforlist.hxx> -#include <svx/fontitem.hxx> +#include <editeng/fontitem.hxx> #include <com/sun/star/lang/XEventListener.hpp> #include <com/sun/star/lang/XEventListener.hdl> #include <com/sun/star/lang/EventObject.hdl> @@ -231,20 +231,20 @@ #include <vos/runnable.hxx> #include <vos/refernce.hxx> #include <vcl/apptypes.hxx> -#include <svx/editdata.hxx> -#include <svx/editeng.hxx> +#include <editeng/editdata.hxx> +#include <editeng/editeng.hxx> #include <com/sun/star/lang/WrappedTargetException.hdl> #include <com/sun/star/lang/WrappedTargetException.hpp> #include <sfx2/shell.hxx> #include <tools/stack.hxx> #include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/lang/XComponent.hdl> -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> #include <formel.hxx> #include <com/sun/star/container/XElementAccess.hdl> #include <com/sun/star/container/XElementAccess.hpp> #include <svl/itempool.hxx> -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <rangenam.hxx> #include <vcl/syswin.hxx> #include <svl/smplhint.hxx> @@ -302,7 +302,7 @@ #include <com/sun/star/lang/IllegalArgumentException.hdl> #include <com/sun/star/lang/IllegalArgumentException.hpp> #include <tools/urlobj.hxx> -#include <svx/colritem.hxx> +#include <editeng/colritem.hxx> #include <vcl/wrkwin.hxx> #include <excimp8.hxx> #include <excscen.hxx> diff --git a/sc/source/filter/inc/lotfntbf.hxx b/sc/source/filter/inc/lotfntbf.hxx index f994e1243564..e988fd46ae75 100644 --- a/sc/source/filter/inc/lotfntbf.hxx +++ b/sc/source/filter/inc/lotfntbf.hxx @@ -34,9 +34,9 @@ #include <tools/solar.h> #include "scitems.hxx" -#include <svx/fontitem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/colritem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/colritem.hxx> // ---------------------------------------------------- class LotusFontBuffer - diff --git a/sc/source/filter/inc/xcl97rec.hxx b/sc/source/filter/inc/xcl97rec.hxx index ef97a60a8a8e..bab8b994f1b1 100644 --- a/sc/source/filter/inc/xcl97rec.hxx +++ b/sc/source/filter/inc/xcl97rec.hxx @@ -570,6 +570,19 @@ private: // ============================================================================ +/** End of User Interface Records */ +class XclExpInterfaceEnd : public XclExpRecord +{ +public: + explicit XclExpInterfaceEnd(); + virtual ~XclExpInterfaceEnd(); + +private: + virtual void WriteBody( XclExpStream& rStrm ); +}; + +// ============================================================================ + /** Write Access User Name - This record contains the user name, which is the name you type when you install Excel. */ class XclExpWriteAccess : public XclExpRecord diff --git a/sc/source/filter/inc/xestream.hxx b/sc/source/filter/inc/xestream.hxx index 95d172baf9c2..e7a2da370772 100644 --- a/sc/source/filter/inc/xestream.hxx +++ b/sc/source/filter/inc/xestream.hxx @@ -126,6 +126,9 @@ public: sal_Size Write( const void* pData, sal_Size nBytes ); /** Writes a sequence of nBytes zero bytes (respects slice setting). */ void WriteZeroBytes( sal_Size nBytes ); + + void WriteZeroBytesToRecord( sal_Size nBytes ); + /** Copies nBytes bytes from current position of the stream rInStrm. @descr Omitting the second parameter means: read to end of stream. */ sal_Size CopyFromStream( SvStream& rInStrm, sal_Size nBytes = STREAM_SEEK_TO_END ); diff --git a/sc/source/filter/inc/xestyle.hxx b/sc/source/filter/inc/xestyle.hxx index d26739b868ae..697445373918 100644 --- a/sc/source/filter/inc/xestyle.hxx +++ b/sc/source/filter/inc/xestyle.hxx @@ -36,7 +36,7 @@ #include <tools/string.hxx> #include <svl/zforlist.hxx> #include <svl/nfkeytab.hxx> -#include <svx/svxfont.hxx> +#include <editeng/svxfont.hxx> #include "xerecord.hxx" #include "xlstyle.hxx" #include "xeroot.hxx" diff --git a/sc/source/filter/inc/xichart.hxx b/sc/source/filter/inc/xichart.hxx index e09530083965..34536a0da67f 100644 --- a/sc/source/filter/inc/xichart.hxx +++ b/sc/source/filter/inc/xichart.hxx @@ -39,6 +39,7 @@ #include <svl/itemset.hxx> #include "rangelst.hxx" +#include "token.hxx" #include "xlchart.hxx" #include "xlstyle.hxx" #include "xistring.hxx" @@ -403,6 +404,8 @@ public: XFormattedStringSeq CreateStringSequence( const XclImpChRoot& rRoot, sal_uInt16 nLeadFontIdx, const Color& rLeadFontColor ) const; + void FillSourceLink(::std::vector<ScSharedTokenRef>& rTokens) const; + private: XclChSourceLink maData; /// Contents of the CHSOURCELINK record. XclImpStringRef mxString; /// Text data (CHSTRING record). @@ -811,6 +814,8 @@ public: /** Creates a data series object with initialized source links. */ XDataSeriesRef CreateDataSeries() const; + void FillAllSourceLinks(::std::vector<ScSharedTokenRef>& rTokens) const; + private: /** Reads a CHSOURCELINK record. */ void ReadChSourceLink( XclImpStream& rStrm ); @@ -1353,7 +1358,7 @@ public: inline sal_Size GetProgressSize() const { return 2 * EXC_CHART_PROGRESS_SIZE; } /** Converts and writes all properties to the passed chart. */ - void Convert( XChartDocRef xChartDoc, ScfProgressBar& rProgress ) const; + void Convert( XChartDocRef xChartDoc, ScfProgressBar& rProgress, const ::rtl::OUString& rObjName ) const; private: /** Reads a CHSERIES group (data series source and formatting). */ @@ -1421,7 +1426,7 @@ public: inline bool IsPivotChart() const { return mbIsPivotChart; } /** Creates the chart object in the passed component. */ - void Convert( XModelRef xModel, ScfProgressBar& rProgress ) const; + void Convert( XModelRef xModel, ScfProgressBar& rProgress, const ::rtl::OUString& rObjName ) const; private: /** Reads the CHCHART group (entire chart data). */ diff --git a/sc/source/filter/inc/xihelper.hxx b/sc/source/filter/inc/xihelper.hxx index a46d473f02a9..3279e0fd02ee 100644 --- a/sc/source/filter/inc/xihelper.hxx +++ b/sc/source/filter/inc/xihelper.hxx @@ -31,7 +31,7 @@ #ifndef SC_XIHELPER_HXX #define SC_XIHELPER_HXX -#include <svx/editdata.hxx> +#include <editeng/editdata.hxx> #include "scmatrix.hxx" #include "xladdress.hxx" #include "xiroot.hxx" diff --git a/sc/source/filter/inc/xlstyle.hxx b/sc/source/filter/inc/xlstyle.hxx index f8cca7199f24..a06c0a62cb5d 100644 --- a/sc/source/filter/inc/xlstyle.hxx +++ b/sc/source/filter/inc/xlstyle.hxx @@ -37,8 +37,8 @@ #include <com/sun/star/awt/FontStrikeout.hpp> #include <tools/color.hxx> #include <vcl/vclenum.hxx> -#include <svx/svxenum.hxx> -#include <svx/frmdir.hxx> +#include <editeng/svxenum.hxx> +#include <editeng/frmdir.hxx> #include <svl/zforlist.hxx> #include "fapihelper.hxx" diff --git a/sc/source/filter/lotus/lotattr.cxx b/sc/source/filter/lotus/lotattr.cxx index 0df6ccb39bb3..cbb5a2e48c6b 100644 --- a/sc/source/filter/lotus/lotattr.cxx +++ b/sc/source/filter/lotus/lotattr.cxx @@ -37,8 +37,8 @@ #include "scitems.hxx" #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> #include "document.hxx" #include "patattr.hxx" diff --git a/sc/source/filter/lotus/op.cxx b/sc/source/filter/lotus/op.cxx index 8759d21297f3..dd345219924b 100644 --- a/sc/source/filter/lotus/op.cxx +++ b/sc/source/filter/lotus/op.cxx @@ -48,9 +48,9 @@ #include "patattr.hxx" #include "docpool.hxx" #include <svx/algitem.hxx> -#include <svx/postitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> #include "cell.hxx" #include "rangenam.hxx" diff --git a/sc/source/filter/qpro/qprostyle.cxx b/sc/source/filter/qpro/qprostyle.cxx index 2496347e8479..41a76642c424 100644 --- a/sc/source/filter/qpro/qprostyle.cxx +++ b/sc/source/filter/qpro/qprostyle.cxx @@ -43,12 +43,12 @@ #include <tools/color.hxx> #include <scitems.hxx> #include <svx/algitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/postitem.hxx> -#include <svx/crsditem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/fontitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/fontitem.hxx> #include <map> #include "global.hxx" diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx index c3650e882973..7cc119c89ec8 100644 --- a/sc/source/filter/rtf/eeimpars.cxx +++ b/sc/source/filter/rtf/eeimpars.cxx @@ -36,18 +36,18 @@ //------------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/adjitem.hxx> -#include <svx/editobj.hxx> -#include <svx/editview.hxx> -#include <svx/escpitem.hxx> -#include <svx/langitem.hxx> +#include <editeng/adjitem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editview.hxx> +#include <editeng/escpitem.hxx> +#include <editeng/langitem.hxx> #include <svx/svdograf.hxx> #include <svx/svdpage.hxx> -#include <svx/scripttypeitem.hxx> -#include <svx/htmlcfg.hxx> +#include <editeng/scripttypeitem.hxx> +#include <svtools/htmlcfg.hxx> #include <sfx2/sfxhtml.hxx> #include <svtools/parhtml.hxx> #include <svl/zforlist.hxx> diff --git a/sc/source/filter/rtf/rtfexp.cxx b/sc/source/filter/rtf/rtfexp.cxx index 88611ca72283..87db2e0dc0ff 100644 --- a/sc/source/filter/rtf/rtfexp.cxx +++ b/sc/source/filter/rtf/rtfexp.cxx @@ -34,15 +34,15 @@ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/algitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/postitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/fontitem.hxx> -#include <svx/fhgtitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/fhgtitem.hxx> #include <svl/style.hxx> #include <svtools/rtfout.hxx> #include <svtools/rtfkeywd.hxx> diff --git a/sc/source/filter/rtf/rtfparse.cxx b/sc/source/filter/rtf/rtfparse.cxx index 8af3659da66d..2d6dfbe68045 100644 --- a/sc/source/filter/rtf/rtfparse.cxx +++ b/sc/source/filter/rtf/rtfparse.cxx @@ -36,12 +36,12 @@ //------------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/editeng.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/svxrtf.hxx> +#include <editeng/editeng.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/svxrtf.hxx> #include <vcl/outdev.hxx> #include <svtools/rtftoken.h> diff --git a/sc/source/filter/starcalc/scflt.cxx b/sc/source/filter/starcalc/scflt.cxx index b54e3bb97fab..163c48b1c3df 100644 --- a/sc/source/filter/starcalc/scflt.cxx +++ b/sc/source/filter/starcalc/scflt.cxx @@ -36,25 +36,25 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/colritem.hxx> -#include <svx/crsditem.hxx> -#include <svx/editdata.hxx> -#include <svx/editeng.hxx> -#include <svx/editobj.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/fontitem.hxx> -#include <svx/lrspitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/editdata.hxx> +#include <editeng/editeng.hxx> +#include <editeng/editobj.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/lrspitem.hxx> #include <svx/pageitem.hxx> -#include <svx/postitem.hxx> -#include <svx/sizeitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/ulspitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/sizeitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/ulspitem.hxx> +#include <editeng/wghtitem.hxx> #include <svl/zforlist.hxx> #include <svl/PasswordHelper.hxx> #include <stdio.h> diff --git a/sc/source/filter/xcl97/xcl97esc.cxx b/sc/source/filter/xcl97/xcl97esc.cxx index db8b085f7629..3aa98a8c0469 100644 --- a/sc/source/filter/xcl97/xcl97esc.cxx +++ b/sc/source/filter/xcl97/xcl97esc.cxx @@ -38,7 +38,7 @@ #include <com/sun/star/script/XEventAttacherManager.hpp> #include <svx/svdpage.hxx> -#include <svx/outlobj.hxx> +#include <editeng/outlobj.hxx> #include <svx/svdotext.hxx> #include <svx/svdobj.hxx> #include <svx/svdoole2.hxx> diff --git a/sc/source/filter/xcl97/xcl97rec.cxx b/sc/source/filter/xcl97/xcl97rec.cxx index 45c64cca1e4f..7ca46e9e5974 100644 --- a/sc/source/filter/xcl97/xcl97rec.cxx +++ b/sc/source/filter/xcl97/xcl97rec.cxx @@ -34,14 +34,14 @@ #include <svx/svdpool.hxx> #include <svx/sdtaitm.hxx> #include <svx/svdotext.hxx> -#include <svx/editobj.hxx> +#include <editeng/editobj.hxx> #include <svx/svdoole2.hxx> #include <sot/storage.hxx> #include <svl/itemset.hxx> #include <svx/svdpage.hxx> #include <svx/svdocapt.hxx> #include <svx/unoapi.hxx> -#include <svx/writingmodeitem.hxx> +#include <editeng/writingmodeitem.hxx> #include <vcl/svapp.hxx> #include <rtl/math.hxx> #include <svl/zformat.hxx> @@ -58,11 +58,11 @@ #include "scitems.hxx" #include <unotools/fltrcfg.hxx> -#include <svx/brshitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/adjitem.hxx> -#include <svx/eeitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/adjitem.hxx> +#include <editeng/eeitem.hxx> #include <filter/msfilter/msoleexp.hxx> #include <unotools/localedatawrapper.hxx> @@ -1459,6 +1459,19 @@ void XclExpInterfaceHdr::WriteBody( XclExpStream& rStrm ) // ============================================================================ +XclExpInterfaceEnd::XclExpInterfaceEnd() : + XclExpRecord(0x00E2, 0) {} + +XclExpInterfaceEnd::~XclExpInterfaceEnd() {} + +void XclExpInterfaceEnd::WriteBody( XclExpStream& rStrm ) +{ + // Don't forget to re-enable encryption. + rStrm.EnableEncryption(); +} + +// ============================================================================ + XclExpWriteAccess::XclExpWriteAccess() : XclExpRecord(0x005C, 112) { diff --git a/sc/source/filter/xml/XMLExportDataPilot.hxx b/sc/source/filter/xml/XMLExportDataPilot.hxx index 8bf884ab2fd6..695725cdd0be 100644 --- a/sc/source/filter/xml/XMLExportDataPilot.hxx +++ b/sc/source/filter/xml/XMLExportDataPilot.hxx @@ -44,6 +44,7 @@ class ScDPDimensionSaveData; class ScDPSaveGroupDimension; class ScDPSaveNumGroupDimension; struct ScDPNumGroupInfo; +struct ScQueryParam; class ScXMLExportDataPilot { diff --git a/sc/source/filter/xml/xmlannoi.hxx b/sc/source/filter/xml/xmlannoi.hxx index 41b206bd4380..5c84dddbd3f8 100644 --- a/sc/source/filter/xml/xmlannoi.hxx +++ b/sc/source/filter/xml/xmlannoi.hxx @@ -34,7 +34,7 @@ #include <xmloff/xmlictxt.hxx> #include <xmloff/xmlimp.hxx> #include <rtl/ustrbuf.hxx> -#include <svx/editdata.hxx> +#include <editeng/editdata.hxx> #include <com/sun/star/drawing/XShape.hpp> #include <com/sun/star/drawing/XShapes.hpp> diff --git a/sc/source/filter/xml/xmlcelli.cxx b/sc/source/filter/xml/xmlcelli.cxx index 2f3f847c6c58..615dfc4b20c1 100644 --- a/sc/source/filter/xml/xmlcelli.cxx +++ b/sc/source/filter/xml/xmlcelli.cxx @@ -51,7 +51,7 @@ #include "XMLStylesImportHelper.hxx" #include "arealink.hxx" -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include "convuno.hxx" #include "XMLConverter.hxx" #include "scerrors.hxx" @@ -67,8 +67,8 @@ #include <xmloff/xmlnmspe.hxx> #include <svl/zforlist.hxx> #include <svx/svdocapt.hxx> -#include <svx/outlobj.hxx> -#include <svx/editobj.hxx> +#include <editeng/outlobj.hxx> +#include <editeng/editobj.hxx> #include <svx/unoapi.hxx> #include <svl/languageoptions.hxx> @@ -739,7 +739,7 @@ void ScXMLTableRowCellContext::SetCellRangeSource( const table::CellAddress& rPo String sSourceStr( pCellRangeSource->sSourceStr ); ScAreaLink* pLink = new ScAreaLink( pDoc->GetDocumentShell(), pCellRangeSource->sURL, sFilterName, pCellRangeSource->sFilterOptions, sSourceStr, aDestRange, pCellRangeSource->nRefresh ); - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); pLinkManager->InsertFileLink( *pLink, OBJECT_CLIENT_FILE, pCellRangeSource->sURL, &sFilterName, &sSourceStr ); } } diff --git a/sc/source/filter/xml/xmldpimp.hxx b/sc/source/filter/xml/xmldpimp.hxx index 50dc7e6d9c0d..4b76f40219fa 100644 --- a/sc/source/filter/xml/xmldpimp.hxx +++ b/sc/source/filter/xml/xmldpimp.hxx @@ -40,6 +40,7 @@ #include "global.hxx" #include "dpobject.hxx" #include "dpsave.hxx" +#include "queryparam.hxx" #include <hash_set> diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx index c2fd53acb736..6aa27a4d85ae 100644 --- a/sc/source/filter/xml/xmlexprt.cxx +++ b/sc/source/filter/xml/xmlexprt.cxx @@ -33,7 +33,7 @@ // INCLUDE --------------------------------------------------------------- -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include "xmlexprt.hxx" #include "XMLConverter.hxx" @@ -91,11 +91,11 @@ #include <svl/zforlist.hxx> #include <svx/unoshape.hxx> #include <comphelper/extract.hxx> -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <toolkit/helper/convert.hxx> #include <svx/svdobj.hxx> #include <svx/svdocapt.hxx> -#include <svx/outlobj.hxx> +#include <editeng/outlobj.hxx> #include <svx/svditer.hxx> #include <svx/svdpage.hxx> diff --git a/sc/source/filter/xml/xmlfonte.cxx b/sc/source/filter/xml/xmlfonte.cxx index 6209387448ed..761303141d7d 100644 --- a/sc/source/filter/xml/xmlfonte.cxx +++ b/sc/source/filter/xml/xmlfonte.cxx @@ -37,13 +37,13 @@ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <xmloff/XMLFontAutoStylePool.hxx> -#include <svx/fontitem.hxx> -#include <svx/eeitem.hxx> -#include <svx/editeng.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/editeng.hxx> #include "document.hxx" #include "docpool.hxx" #include "xmlexprt.hxx" diff --git a/sc/source/ui/Accessibility/AccessibleCell.cxx b/sc/source/ui/Accessibility/AccessibleCell.cxx index 4dbc47524276..12350449ac3a 100644 --- a/sc/source/ui/Accessibility/AccessibleCell.cxx +++ b/sc/source/ui/Accessibility/AccessibleCell.cxx @@ -34,7 +34,7 @@ #include "AccessibleCell.hxx" #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include "AccessibleText.hxx" @@ -61,7 +61,7 @@ #include <com/sun/star/accessibility/XAccessibleTable.hpp> #include <rtl/uuid.h> #include <tools/debug.hxx> -#include <svx/brshitem.hxx> +#include <editeng/brshitem.hxx> #include <comphelper/sequence.hxx> #include <float.h> diff --git a/sc/source/ui/Accessibility/AccessibleCellBase.cxx b/sc/source/ui/Accessibility/AccessibleCellBase.cxx index 19cbc028bee0..8f758e63b6a9 100644 --- a/sc/source/ui/Accessibility/AccessibleCellBase.cxx +++ b/sc/source/ui/Accessibility/AccessibleCellBase.cxx @@ -55,7 +55,7 @@ #include <com/sun/star/sheet/XSpreadsheetDocument.hpp> #include <com/sun/star/sheet/XSpreadsheet.hpp> #include <tools/debug.hxx> -#include <svx/brshitem.hxx> +#include <editeng/brshitem.hxx> #include <rtl/uuid.h> #include <comphelper/sequence.hxx> #include <sfx2/objsh.hxx> diff --git a/sc/source/ui/Accessibility/AccessibleCsvControl.cxx b/sc/source/ui/Accessibility/AccessibleCsvControl.cxx index 8d141f0fe753..743c16dc1cd3 100644 --- a/sc/source/ui/Accessibility/AccessibleCsvControl.cxx +++ b/sc/source/ui/Accessibility/AccessibleCsvControl.cxx @@ -53,9 +53,9 @@ #endif #include <comphelper/sequence.hxx> #include "scitems.hxx" -#include <svx/fontitem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/langitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/langitem.hxx> #include "csvcontrol.hxx" #include "csvruler.hxx" #include "csvgrid.hxx" diff --git a/sc/source/ui/Accessibility/AccessibleEditObject.cxx b/sc/source/ui/Accessibility/AccessibleEditObject.cxx index 6228fd8a041b..21aa9cd44072 100644 --- a/sc/source/ui/Accessibility/AccessibleEditObject.cxx +++ b/sc/source/ui/Accessibility/AccessibleEditObject.cxx @@ -32,7 +32,7 @@ #include "precompiled_sc.hxx" #include "AccessibleEditObject.hxx" #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include "unoguard.hxx" #include "AccessibleText.hxx" #include "editsrc.hxx" @@ -51,8 +51,8 @@ #include <rtl/uuid.h> #include <tools/debug.hxx> #include <svx/AccessibleTextHelper.hxx> -#include <svx/editview.hxx> -#include <svx/editeng.hxx> +#include <editeng/editview.hxx> +#include <editeng/editeng.hxx> #include <svx/svdmodel.hxx> using namespace ::com::sun::star; diff --git a/sc/source/ui/Accessibility/AccessibleFilterMenu.cxx b/sc/source/ui/Accessibility/AccessibleFilterMenu.cxx index 0c663af87fd1..efff12bf5ae0 100644 --- a/sc/source/ui/Accessibility/AccessibleFilterMenu.cxx +++ b/sc/source/ui/Accessibility/AccessibleFilterMenu.cxx @@ -40,9 +40,9 @@ #include "docpool.hxx" #include "tools/gen.hxx" -#include "svx/unoedsrc.hxx" -#include "svx/editdata.hxx" -#include "svx/outliner.hxx" +#include "editeng/unoedsrc.hxx" +#include "editeng/editdata.hxx" +#include "editeng/outliner.hxx" #include "vcl/unohelp.hxx" #include "dpcontrol.hxx" diff --git a/sc/source/ui/Accessibility/AccessiblePageHeader.cxx b/sc/source/ui/Accessibility/AccessiblePageHeader.cxx index 960e58760512..8ffe0d2973b7 100644 --- a/sc/source/ui/Accessibility/AccessiblePageHeader.cxx +++ b/sc/source/ui/Accessibility/AccessiblePageHeader.cxx @@ -56,7 +56,7 @@ #include <unotools/accessiblestatesethelper.hxx> #include <svl/style.hxx> #include <svl/itempool.hxx> -#include <svx/editobj.hxx> +#include <editeng/editobj.hxx> #include <toolkit/helper/convert.hxx> #include <algorithm> diff --git a/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx b/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx index 0cb20b22ffb8..24a6ad3aa11b 100644 --- a/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx +++ b/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx @@ -50,7 +50,7 @@ #include <com/sun/star/accessibility/AccessibleStateType.hpp> #endif #include <com/sun/star/accessibility/AccessibleEventId.hpp> -#include <svx/editobj.hxx> +#include <editeng/editobj.hxx> #include <svx/AccessibleTextHelper.hxx> #include <rtl/uuid.h> #include <unotools/accessiblestatesethelper.hxx> diff --git a/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx b/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx index 692472fe635a..e2e917a6a53a 100644 --- a/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx +++ b/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx @@ -31,7 +31,7 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sc.hxx" #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <tools/gen.hxx> #include "AccessibleText.hxx" #include "editsrc.hxx" @@ -43,7 +43,7 @@ #include "document.hxx" #include <svx/AccessibleTextHelper.hxx> #include <unotools/accessiblestatesethelper.hxx> -#include <svx/brshitem.hxx> +#include <editeng/brshitem.hxx> #include <vcl/window.hxx> #include <toolkit/helper/convert.hxx> diff --git a/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx b/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx index fabd1fc932cc..a6163d4aebc1 100644 --- a/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx +++ b/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx @@ -31,7 +31,7 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sc.hxx" #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <tools/gen.hxx> #include "AccessibleText.hxx" #include "editsrc.hxx" diff --git a/sc/source/ui/Accessibility/AccessibleText.cxx b/sc/source/ui/Accessibility/AccessibleText.cxx index fd01269729db..5243522edbd7 100644 --- a/sc/source/ui/Accessibility/AccessibleText.cxx +++ b/sc/source/ui/Accessibility/AccessibleText.cxx @@ -32,7 +32,7 @@ #include "precompiled_sc.hxx" #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <memory> @@ -48,12 +48,12 @@ #include "unoguard.hxx" #include "patattr.hxx" #include "inputwin.hxx" -#include <svx/unofored.hxx> -#include <svx/editview.hxx> -#include <svx/unoedhlp.hxx> +#include <editeng/unofored.hxx> +#include <editeng/editview.hxx> +#include <editeng/unoedhlp.hxx> #include <vcl/virdev.hxx> -#include <svx/editobj.hxx> -#include <svx/adjitem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/adjitem.hxx> #include <svx/svdmodel.hxx> #include <svx/algitem.hxx> diff --git a/sc/source/ui/app/drwtrans.cxx b/sc/source/ui/app/drwtrans.cxx index 88b3d42996f6..a32bb78a5e2d 100644 --- a/sc/source/ui/app/drwtrans.cxx +++ b/sc/source/ui/app/drwtrans.cxx @@ -76,10 +76,10 @@ #include "scitems.hxx" // #108584# -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> // #108584# -#include <svx/fhgtitem.hxx> +#include <editeng/fhgtitem.hxx> #include <vcl/svapp.hxx> using namespace com::sun::star; diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx index c6901707d2c3..c3e48ea3d379 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -34,24 +34,24 @@ //------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/app.hxx> -#include <svx/acorrcfg.hxx> +#include <editeng/acorrcfg.hxx> #include <svx/algitem.hxx> -#include <svx/adjitem.hxx> -#include <svx/brshitem.hxx> +#include <editeng/adjitem.hxx> +#include <editeng/brshitem.hxx> #include <svtools/colorcfg.hxx> -#include <svx/colritem.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> -#include <svx/editview.hxx> -#include <svx/escpitem.hxx> -#include <svx/forbiddencharacterstable.hxx> -#include <svx/langitem.hxx> -#include <svx/svxacorr.hxx> -#include <svx/unolingu.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> +#include <editeng/editview.hxx> +#include <editeng/escpitem.hxx> +#include <editeng/forbiddencharacterstable.hxx> +#include <editeng/langitem.hxx> +#include <editeng/svxacorr.hxx> +#include <editeng/unolingu.hxx> +#include <editeng/wghtitem.hxx> #include <sfx2/bindings.hxx> #include <sfx2/viewfrm.hxx> #include <sfx2/dispatch.hxx> diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index a5b481d3174a..febf82e42109 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -34,22 +34,22 @@ #include <algorithm> #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/app.hxx> -#include <svx/adjitem.hxx> -#include <svx/editview.hxx> -#include <svx/editstat.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/lspcitem.hxx> +#include <editeng/adjitem.hxx> +#include <editeng/editview.hxx> +#include <editeng/editstat.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/lspcitem.hxx> #include <sfx2/bindings.hxx> #include <sfx2/viewfrm.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/event.hxx> #include <sfx2/imgmgr.hxx> #include <stdlib.h> // qsort -#include <svx/scriptspaceitem.hxx> -#include <svx/scripttypeitem.hxx> +#include <editeng/scriptspaceitem.hxx> +#include <editeng/scripttypeitem.hxx> #include <vcl/cursor.hxx> #include <vcl/help.hxx> #include <svl/stritem.hxx> @@ -73,7 +73,7 @@ #include "rangeutl.hxx" #include "docfunc.hxx" #include "funcdesc.hxx" -#include <svx/fontitem.hxx> +#include <editeng/fontitem.hxx> #include <com/sun/star/accessibility/XAccessible.hpp> #include "AccessibleEditObject.hxx" #include "AccessibleText.hxx" diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx index 2be737d9a717..ad30b02cc530 100644 --- a/sc/source/ui/app/scdll.cxx +++ b/sc/source/ui/app/scdll.cxx @@ -33,7 +33,7 @@ -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #ifndef _FM_FMOBJFAC_HXX @@ -96,7 +96,7 @@ #include <svx/selctrl.hxx> #include <svx/insctrl.hxx> #include <svx/zoomctrl.hxx> -#include <svx/flditem.hxx> +#include <editeng/flditem.hxx> #include <svx/modctrl.hxx> #include <svx/pszctrl.hxx> #include <svx/fntctl.hxx> diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx index b9d8682c412b..fce37e578ee0 100644 --- a/sc/source/ui/app/scmod.cxx +++ b/sc/source/ui/app/scmod.cxx @@ -41,10 +41,10 @@ #include "scitems.hxx" #include <sfx2/app.hxx> -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/flditem.hxx> -#include <svx/outliner.hxx> +#include <editeng/flditem.hxx> +#include <editeng/outliner.hxx> #include <basic/sbstar.hxx> #include <sfx2/sfxdlg.hxx> @@ -63,7 +63,7 @@ #include <sfx2/request.hxx> #include <sfx2/macrconf.hxx> #include <sfx2/printer.hxx> -#include <svx/langitem.hxx> +#include <editeng/langitem.hxx> #include <svtools/colorcfg.hxx> #include <svl/whiter.hxx> diff --git a/sc/source/ui/app/scmod2.cxx b/sc/source/ui/app/scmod2.cxx index 7e0b43bdd156..50ff8f7674dd 100644 --- a/sc/source/ui/app/scmod2.cxx +++ b/sc/source/ui/app/scmod2.cxx @@ -35,7 +35,7 @@ //------------------------------------------------------------------ -#include <svx/unolingu.hxx> +#include <editeng/unolingu.hxx> #include <unotools/lingucfg.hxx> #include <i18npool/mslangid.hxx> #include <com/sun/star/i18n/ScriptType.hpp> diff --git a/sc/source/ui/app/transobj.cxx b/sc/source/ui/app/transobj.cxx index c37fced30109..be758fc2e3f3 100644 --- a/sc/source/ui/app/transobj.cxx +++ b/sc/source/ui/app/transobj.cxx @@ -36,7 +36,7 @@ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <com/sun/star/uno/Sequence.hxx> @@ -63,8 +63,8 @@ #include "scmod.hxx" // for InitDocShell -#include <svx/paperinf.hxx> -#include <svx/sizeitem.hxx> +#include <editeng/paperinf.hxx> +#include <editeng/sizeitem.hxx> #include <svx/algitem.hxx> #include <svl/intitem.hxx> #include <svl/zforlist.hxx> diff --git a/sc/source/ui/app/typemap.cxx b/sc/source/ui/app/typemap.cxx index 1a36b8ca5125..71979e734d0f 100644 --- a/sc/source/ui/app/typemap.cxx +++ b/sc/source/ui/app/typemap.cxx @@ -35,7 +35,7 @@ #include <svx/svxids.hrc> #include "sc.hrc" #include "scitems.hxx" - +#include <editeng/memberids.hrc> #define ITEMID_DBTYPE 0 @@ -67,24 +67,24 @@ #include <svl/stritem.hxx> #include <svl/slstitm.hxx> #include <sfx2/objitem.hxx> -#include <svx/fontitem.hxx> +#include <editeng/fontitem.hxx> #include <svx/hlnkitem.hxx> -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <svx/postattr.hxx> -#include <svx/postitem.hxx> +#include <editeng/postitem.hxx> #include <sfx2/tplpitem.hxx> #include <svx/zoomitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/colritem.hxx> -#include <svx/boxitem.hxx> -#include <svx/bolnitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/bolnitem.hxx> #include <svl/ptitem.hxx> -#include <svx/sizeitem.hxx> +#include <editeng/sizeitem.hxx> #include <svx/algitem.hxx> #include <svx/clipfmtitem.hxx> -#include <svx/udlnitem.hxx> +#include <editeng/udlnitem.hxx> #include <svx/xlnstit.hxx> #include <svx/xlnedit.hxx> #include <svx/xfillit0.hxx> @@ -107,14 +107,14 @@ #include <svx/xftshcit.hxx> #include <svx/xftshxy.hxx> #include <svx/xftsfit.hxx> -#include <svx/langitem.hxx> +#include <editeng/langitem.hxx> #include <svx/grafctrl.hxx> -#include <svx/shdditem.hxx> -#include <svx/shaditem.hxx> -#include <svx/cntritem.hxx> -#include <svx/crsditem.hxx> -#include <svx/brkitem.hxx> -#include <svx/charreliefitem.hxx> +#include <editeng/shdditem.hxx> +#include <editeng/shaditem.hxx> +#include <editeng/cntritem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/brkitem.hxx> +#include <editeng/charreliefitem.hxx> #include <svx/rotmodit.hxx> #include <svx/drawitem.hxx> #include <svl/ilstitem.hxx> diff --git a/sc/source/ui/app/uiitems.cxx b/sc/source/ui/app/uiitems.cxx index 4ae240edb222..426bc6de01e2 100644 --- a/sc/source/ui/app/uiitems.cxx +++ b/sc/source/ui/app/uiitems.cxx @@ -33,7 +33,7 @@ -#include <svx/editobj.hxx> +#include <editeng/editobj.hxx> #include "userlist.hxx" #include "uiitems.hxx" diff --git a/sc/source/ui/attrdlg/attrdlg.cxx b/sc/source/ui/attrdlg/attrdlg.cxx index 05bcf624a1b3..7954113222c2 100644 --- a/sc/source/ui/attrdlg/attrdlg.cxx +++ b/sc/source/ui/attrdlg/attrdlg.cxx @@ -54,7 +54,7 @@ #include <svx/svxdlg.hxx> //CHINA001 #include <svx/dialogs.hrc> //CHINA001 #include <svx/flagsdef.hxx> //CHINA001 -#include <svx/flstitem.hxx> //CHINA001 +#include <editeng/flstitem.hxx> //CHINA001 #include <sfx2/app.hxx> //CHINA001 #if !LAYOUT_SFX_TABDIALOG_BROKEN diff --git a/sc/source/ui/dbgui/csvgrid.cxx b/sc/source/ui/dbgui/csvgrid.cxx index e33ecde514a4..4c0a26a377fe 100644 --- a/sc/source/ui/dbgui/csvgrid.cxx +++ b/sc/source/ui/dbgui/csvgrid.cxx @@ -46,12 +46,12 @@ // *** edit engine *** #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/colritem.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/fontitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/fontitem.hxx> #include <svl/itemset.hxx> #include "editutil.hxx" // *** edit engine *** diff --git a/sc/source/ui/dbgui/foptmgr.cxx b/sc/source/ui/dbgui/foptmgr.cxx index 603a9a3a5eea..007c24de3764 100644 --- a/sc/source/ui/dbgui/foptmgr.cxx +++ b/sc/source/ui/dbgui/foptmgr.cxx @@ -45,6 +45,7 @@ #include "dbcolect.hxx" #include "viewdata.hxx" #include "document.hxx" +#include "queryparam.hxx" #define _FOPTMGR_CXX #include "foptmgr.hxx" diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx index fc745318b105..a7e1ca1d49bb 100644 --- a/sc/source/ui/docshell/arealink.cxx +++ b/sc/source/ui/docshell/arealink.cxx @@ -39,7 +39,7 @@ #include <sfx2/docfile.hxx> #include <sfx2/fcontnr.hxx> #include <sfx2/sfxsids.hrc> -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include <svl/stritem.hxx> #include <vcl/msgbox.hxx> @@ -130,7 +130,7 @@ void __EXPORT ScAreaLink::DataChanged( const String&, if (bInCreate) return; - SvxLinkManager* pLinkManager=pImpl->m_pDocSh->GetDocument()->GetLinkManager(); + sfx2::LinkManager* pLinkManager=pImpl->m_pDocSh->GetDocument()->GetLinkManager(); if (pLinkManager!=NULL) { String aFile; diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index e292187c80c9..09e13286e17a 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -36,11 +36,11 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/app.hxx> -#include <svx/editobj.hxx> -#include <svx/linkmgr.hxx> +#include <editeng/editobj.hxx> +#include <sfx2/linkmgr.hxx> #include <svx/svdundo.hxx> #include <sfx2/bindings.hxx> #include <sfx2/printer.hxx> @@ -4551,7 +4551,7 @@ BOOL ScDocFunc::InsertAreaLink( const String& rFile, const String& rFilter, ScDocument* pDoc = rDocShell.GetDocument(); BOOL bUndo (pDoc->IsUndoEnabled()); - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); // #i52120# if other area links exist at the same start position, // remove them first (file format specifies only one link definition diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx index 17cb07ca0a49..3e3c317c74cd 100644 --- a/sc/source/ui/docshell/docsh.cxx +++ b/sc/source/ui/docshell/docsh.cxx @@ -35,8 +35,8 @@ #include "scitems.hxx" -#include <svx/eeitem.hxx> -#include <svx/svxenum.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/svxenum.hxx> #include <svx/algitem.hxx> @@ -62,7 +62,7 @@ #include <sfx2/sfx.hrc> #include <sfx2/topfrm.hxx> #include <sfx2/objface.hxx> -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <unotools/fltrcfg.hxx> #include <svl/documentlockfile.hxx> #include <svl/sharecontrolfile.hxx> diff --git a/sc/source/ui/docshell/docsh2.cxx b/sc/source/ui/docshell/docsh2.cxx index 386ac8528cec..9f5af0f6dd19 100644 --- a/sc/source/ui/docshell/docsh2.cxx +++ b/sc/source/ui/docshell/docsh2.cxx @@ -40,7 +40,7 @@ #include "scitems.hxx" #include <tools/gen.hxx> #include <svtools/ctrltool.hxx> -#include <svx/flstitem.hxx> +#include <editeng/flstitem.hxx> #include <svx/drawitem.hxx> #include <sfx2/printer.hxx> #include <svl/smplhint.hxx> @@ -48,9 +48,9 @@ #include <svx/svdobj.hxx> #include <svx/svdoole2.hxx> #include <vcl/svapp.hxx> -#include <svx/asiancfg.hxx> -#include <svx/forbiddencharacterstable.hxx> -#include <svx/unolingu.hxx> +#include <svl/asiancfg.hxx> +#include <editeng/forbiddencharacterstable.hxx> +#include <editeng/unolingu.hxx> #include <rtl/logfile.hxx> #include <comphelper/processfactory.hxx> diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx index 1416c57f1165..7a5f822a7b81 100644 --- a/sc/source/ui/docshell/docsh3.cxx +++ b/sc/source/ui/docshell/docsh3.cxx @@ -40,11 +40,11 @@ #include "scitems.hxx" #include "rangelst.hxx" -#include <svx/flstitem.hxx> +#include <editeng/flstitem.hxx> #include <svx/pageitem.hxx> -#include <svx/paperinf.hxx> +#include <editeng/paperinf.hxx> #include <svx/postattr.hxx> -#include <svx/sizeitem.hxx> +#include <editeng/sizeitem.hxx> #include <unotools/misccfg.hxx> #include <sfx2/viewfrm.hxx> #include <sfx2/app.hxx> diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx index 3ab36ce131ad..f70a9569d699 100644 --- a/sc/source/ui/docshell/docsh4.cxx +++ b/sc/source/ui/docshell/docsh4.cxx @@ -45,7 +45,7 @@ using namespace ::com::sun::star; #include "scitems.hxx" #include <sfx2/fcontnr.hxx> -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/app.hxx> #include <sfx2/bindings.hxx> diff --git a/sc/source/ui/docshell/docsh6.cxx b/sc/source/ui/docshell/docsh6.cxx index e3f1f6904af4..5a81e181d168 100644 --- a/sc/source/ui/docshell/docsh6.cxx +++ b/sc/source/ui/docshell/docsh6.cxx @@ -40,7 +40,7 @@ #include <svx/pageitem.hxx> #include <vcl/virdev.hxx> -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #endif // INCLUDE --------------------------------------------------------------- @@ -367,7 +367,7 @@ BOOL __EXPORT ScDocShell::Insert( SfxObjectShell &rSource, void ScDocShell::UpdateLinks() { - SvxLinkManager* pLinkManager = aDocument.GetLinkManager(); + sfx2::LinkManager* pLinkManager = aDocument.GetLinkManager(); ScStrCollection aNames; // nicht mehr benutzte Links raus @@ -438,7 +438,7 @@ void ScDocShell::UpdateLinks() BOOL ScDocShell::ReloadTabLinks() { - SvxLinkManager* pLinkManager = aDocument.GetLinkManager(); + sfx2::LinkManager* pLinkManager = aDocument.GetLinkManager(); BOOL bAny = FALSE; USHORT nCount = pLinkManager->GetLinks().Count(); diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx index e18ef20d96b9..e42368123a82 100644 --- a/sc/source/ui/docshell/externalrefmgr.cxx +++ b/sc/source/ui/docshell/externalrefmgr.cxx @@ -61,7 +61,7 @@ #include "svl/stritem.hxx" #include "svl/urihelper.hxx" #include "svl/zformat.hxx" -#include "svx/linkmgr.hxx" +#include "sfx2/linkmgr.hxx" #include "tools/urlobj.hxx" #include "unotools/ucbhelper.hxx" @@ -1061,8 +1061,11 @@ void ScExternalRefLink::DataChanged(const String& /*rMimeType*/, const Any& /*rV else { // The source document has changed. + ScDocShell* pDocShell = ScDocShell::GetViewData()->GetDocShell(); + ScDocShellModificator aMod(*pDocShell); pMgr->switchSrcFile(mnFileId, aFile, aFilter); maFilterName = aFilter; + aMod.SetDocumentModified(); } } @@ -1994,7 +1997,7 @@ void ScExternalRefManager::maybeLinkExternalFile(sal_uInt16 nFileId) String aFilter, aOptions; ScDocumentLoader::GetFilterName(*pFileName, aFilter, aOptions, true, false); - SvxLinkManager* pLinkMgr = mpDoc->GetLinkManager(); + sfx2::LinkManager* pLinkMgr = mpDoc->GetLinkManager(); ScExternalRefLink* pLink = new ScExternalRefLink(mpDoc, nFileId, aFilter); DBG_ASSERT(pFileName, "ScExternalRefManager::insertExternalFileLink: file name pointer is NULL"); pLinkMgr->InsertFileLink(*pLink, OBJECT_CLIENT_FILE, *pFileName, &aFilter); diff --git a/sc/source/ui/docshell/servobj.cxx b/sc/source/ui/docshell/servobj.cxx index aeb4b6604e67..93e23948a13b 100644 --- a/sc/source/ui/docshell/servobj.cxx +++ b/sc/source/ui/docshell/servobj.cxx @@ -36,7 +36,7 @@ #include <sot/formats.hxx> #include <sfx2/app.hxx> -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include "servobj.hxx" #include "docsh.hxx" #include "impex.hxx" diff --git a/sc/source/ui/docshell/tablink.cxx b/sc/source/ui/docshell/tablink.cxx index c86c7591cd36..dcfb6bf1dc62 100644 --- a/sc/source/ui/docshell/tablink.cxx +++ b/sc/source/ui/docshell/tablink.cxx @@ -47,7 +47,7 @@ #include <sfx2/docfile.hxx> #include <sfx2/docfilt.hxx> #include <sfx2/fcontnr.hxx> -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include <tools/urlobj.hxx> #include <unotools/transliterationwrapper.hxx> @@ -146,7 +146,7 @@ void __EXPORT ScTableLink::Edit( Window* pParent, const Link& rEndEditHdl ) void __EXPORT ScTableLink::DataChanged( const String&, const ::com::sun::star::uno::Any& ) { - SvxLinkManager* pLinkManager=pImpl->m_pDocSh->GetDocument()->GetLinkManager(); + sfx2::LinkManager* pLinkManager=pImpl->m_pDocSh->GetDocument()->GetLinkManager(); if (pLinkManager!=NULL) { String aFile; diff --git a/sc/source/ui/drawfunc/chartsh.cxx b/sc/source/ui/drawfunc/chartsh.cxx index e4d39e21d7be..d01171972dd5 100644 --- a/sc/source/ui/drawfunc/chartsh.cxx +++ b/sc/source/ui/drawfunc/chartsh.cxx @@ -34,10 +34,10 @@ //------------------------------------------------------------------ -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/fontwork.hxx> //CHINA001 #include <svx/labdlg.hxx> -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <svx/tabarea.hxx> #include <svx/tabline.hxx> //CHINA001 #include <svx/transfrm.hxx> diff --git a/sc/source/ui/drawfunc/drawsh.cxx b/sc/source/ui/drawfunc/drawsh.cxx index e53fea436d12..62e8d57a3f11 100644 --- a/sc/source/ui/drawfunc/drawsh.cxx +++ b/sc/source/ui/drawfunc/drawsh.cxx @@ -36,10 +36,10 @@ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/fontwork.hxx> //#include <svx/labdlg.hxx> CHINA001 -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <svx/tabarea.hxx> #include <svx/tabline.hxx> //CHINA001 #include <svx/transfrm.hxx> diff --git a/sc/source/ui/drawfunc/drawsh2.cxx b/sc/source/ui/drawfunc/drawsh2.cxx index ad36ad72e796..371277920343 100644 --- a/sc/source/ui/drawfunc/drawsh2.cxx +++ b/sc/source/ui/drawfunc/drawsh2.cxx @@ -35,8 +35,8 @@ #include <com/sun/star/embed/EmbedMisc.hpp> #include "scitems.hxx" -#include <svx/eeitem.hxx> -#include <svx/sizeitem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/sizeitem.hxx> #include <svx/svdpagv.hxx> #include <svx/xdef.hxx> #include <sfx2/app.hxx> diff --git a/sc/source/ui/drawfunc/drawsh5.cxx b/sc/source/ui/drawfunc/drawsh5.cxx index 5d8e4cb1ca33..2f58a968da66 100644 --- a/sc/source/ui/drawfunc/drawsh5.cxx +++ b/sc/source/ui/drawfunc/drawsh5.cxx @@ -35,7 +35,7 @@ //------------------------------------------------------------------ -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/viewfrm.hxx> #include <sfx2/request.hxx> diff --git a/sc/source/ui/drawfunc/drformsh.cxx b/sc/source/ui/drawfunc/drformsh.cxx index 8987c9194cb2..aaad25c251b6 100644 --- a/sc/source/ui/drawfunc/drformsh.cxx +++ b/sc/source/ui/drawfunc/drformsh.cxx @@ -35,10 +35,10 @@ //------------------------------------------------------------------ -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/fontwork.hxx> //CHINA001 #include <svx/labdlg.hxx> -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <svx/tabarea.hxx> #include <svx/tabline.hxx> //CHINA001 #include <svx/transfrm.hxx> diff --git a/sc/source/ui/drawfunc/drtxtob.cxx b/sc/source/ui/drawfunc/drtxtob.cxx index 908eba68cee5..6919ca748b20 100644 --- a/sc/source/ui/drawfunc/drtxtob.cxx +++ b/sc/source/ui/drawfunc/drtxtob.cxx @@ -37,26 +37,26 @@ #include "scitems.hxx" -#include <svx/adjitem.hxx> +#include <editeng/adjitem.hxx> #include <svx/clipfmtitem.hxx> -#include <svx/cntritem.hxx> -#include <svx/crsditem.hxx> -#include <svx/editeng.hxx> -#include <svx/escpitem.hxx> -#include <svx/flditem.hxx> -#include <svx/fontitem.hxx> -#include <svx/frmdiritem.hxx> +#include <editeng/cntritem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/editeng.hxx> +#include <editeng/escpitem.hxx> +#include <editeng/flditem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/frmdiritem.hxx> #include <svx/hlnkitem.hxx> -#include <svx/lspcitem.hxx> +#include <editeng/lspcitem.hxx> #include <svx/svdoutl.hxx> -#include <svx/outlobj.hxx> -#include <svx/postitem.hxx> -#include <svx/scripttypeitem.hxx> -#include <svx/shdditem.hxx> -#include <svx/srchitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/writingmodeitem.hxx> +#include <editeng/outlobj.hxx> +#include <editeng/postitem.hxx> +#include <editeng/scripttypeitem.hxx> +#include <editeng/shdditem.hxx> +#include <svl/srchitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/writingmodeitem.hxx> #include <sfx2/app.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/objface.hxx> diff --git a/sc/source/ui/drawfunc/drtxtob1.cxx b/sc/source/ui/drawfunc/drtxtob1.cxx index a1d85b1dc13a..55ccf8c1111e 100644 --- a/sc/source/ui/drawfunc/drtxtob1.cxx +++ b/sc/source/ui/drawfunc/drtxtob1.cxx @@ -36,15 +36,15 @@ //------------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/svxdlg.hxx> -#include <svx/brkitem.hxx> -#include <svx/hyznitem.hxx> -#include <svx/orphitem.hxx> -#include <svx/outliner.hxx> -#include <svx/spltitem.hxx> -#include <svx/widwitem.hxx> +#include <editeng/brkitem.hxx> +#include <editeng/hyznitem.hxx> +#include <editeng/orphitem.hxx> +#include <editeng/outliner.hxx> +#include <editeng/spltitem.hxx> +#include <editeng/widwitem.hxx> #include <sot/exchange.hxx> #include <vcl/msgbox.hxx> #include <svtools/transfer.hxx> diff --git a/sc/source/ui/drawfunc/drtxtob2.cxx b/sc/source/ui/drawfunc/drtxtob2.cxx index 3389c362901b..69c6d8c59a38 100644 --- a/sc/source/ui/drawfunc/drtxtob2.cxx +++ b/sc/source/ui/drawfunc/drtxtob2.cxx @@ -32,14 +32,14 @@ #include "precompiled_sc.hxx" #include "scitems.hxx" -#include <svx/adjitem.hxx> +#include <editeng/adjitem.hxx> #include <svx/drawitem.hxx> #include <svx/fontwork.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/outlobj.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/outlobj.hxx> #include <svx/svdocapt.hxx> #include <svx/xtextit.hxx> -#include <svx/writingmodeitem.hxx> +#include <editeng/writingmodeitem.hxx> #include <sfx2/bindings.hxx> #include <sfx2/viewfrm.hxx> #include <sfx2/objsh.hxx> diff --git a/sc/source/ui/drawfunc/fuconcustomshape.cxx b/sc/source/ui/drawfunc/fuconcustomshape.cxx index 0398d5a63b43..ccc1679c091c 100644 --- a/sc/source/ui/drawfunc/fuconcustomshape.cxx +++ b/sc/source/ui/drawfunc/fuconcustomshape.cxx @@ -32,20 +32,20 @@ #include "precompiled_sc.hxx" #include "fuconcustomshape.hxx" -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> #include <svx/gallery.hxx> #include <sfx2/request.hxx> #include <svx/fmmodel.hxx> #include <svl/itempool.hxx> #include <svx/svdpage.hxx> #include <svx/svdoashp.hxx> -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/sdtagitm.hxx> #include "fuconuno.hxx" #include "tabvwsh.hxx" #include "sc.hrc" #include "drawview.hxx" -#include <svx/adjitem.hxx> +#include <editeng/adjitem.hxx> #include <math.h> diff --git a/sc/source/ui/drawfunc/fuconrec.cxx b/sc/source/ui/drawfunc/fuconrec.cxx index a62890f7a51c..a6f1cbafd22a 100644 --- a/sc/source/ui/drawfunc/fuconrec.cxx +++ b/sc/source/ui/drawfunc/fuconrec.cxx @@ -36,7 +36,7 @@ #include "sc.hrc" #include "drawview.hxx" -#include <svx/outlobj.hxx> +#include <editeng/outlobj.hxx> // #98185# Create default drawing objects via keyboard #include <svx/svdopath.hxx> #include <svx/svdocapt.hxx> diff --git a/sc/source/ui/drawfunc/fuconstr.cxx b/sc/source/ui/drawfunc/fuconstr.cxx index aea0c7a1b804..5f56cd6d2987 100644 --- a/sc/source/ui/drawfunc/fuconstr.cxx +++ b/sc/source/ui/drawfunc/fuconstr.cxx @@ -31,8 +31,8 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sc.hxx" -#include <svx/outliner.hxx> -#include <svx/outlobj.hxx> +#include <editeng/outliner.hxx> +#include <editeng/outlobj.hxx> #include <svx/svdotext.hxx> #include <svx/svdouno.hxx> #include <sfx2/dispatch.hxx> diff --git a/sc/source/ui/drawfunc/fudraw.cxx b/sc/source/ui/drawfunc/fudraw.cxx index fadb8270b6a6..8bbf00135fb0 100644 --- a/sc/source/ui/drawfunc/fudraw.cxx +++ b/sc/source/ui/drawfunc/fudraw.cxx @@ -33,8 +33,8 @@ //------------------------------------------------------------------------ -#include <svx/editeng.hxx> // EditEngine::IsSimpleCharInput -#include <svx/outlobj.hxx> +#include <editeng/editeng.hxx> // EditEngine::IsSimpleCharInput +#include <editeng/outlobj.hxx> #include <svx/svdobj.hxx> #include <svx/svdoole2.hxx> #include <svx/svdouno.hxx> diff --git a/sc/source/ui/drawfunc/fuins1.cxx b/sc/source/ui/drawfunc/fuins1.cxx index 35d46f234182..3ba147efa092 100644 --- a/sc/source/ui/drawfunc/fuins1.cxx +++ b/sc/source/ui/drawfunc/fuins1.cxx @@ -31,8 +31,7 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sc.hxx" -#include <svx/impgrf.hxx> -#include <svx/opengrf.hxx> +#include <sfx2/opengrf.hxx> #include <svx/svdograf.hxx> #include <svx/svdomedia.hxx> #include <svx/svdpage.hxx> @@ -273,7 +272,7 @@ FuInsertGraphic::FuInsertGraphic( ScTabViewShell* pViewSh, bAsLink = ((const SfxBoolItem*)pItem)->GetValue(); Graphic aGraphic; - int nError = ::LoadGraphic( aFileName, aFilterName, aGraphic, ::GetGrfFilter() ); + int nError = GraphicFilter::LoadGraphic( aFileName, aFilterName, aGraphic, GraphicFilter::GetGraphicFilter() ); if ( nError == GRFILTER_OK ) { lcl_InsertGraphic( aGraphic, aFileName, aFilterName, bAsLink, TRUE, pViewSh, pWindow, pView ); diff --git a/sc/source/ui/drawfunc/fupoor.cxx b/sc/source/ui/drawfunc/fupoor.cxx index 23aefe17c71b..b186d67b59cf 100644 --- a/sc/source/ui/drawfunc/fupoor.cxx +++ b/sc/source/ui/drawfunc/fupoor.cxx @@ -31,7 +31,7 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sc.hxx" -#include <svx/outliner.hxx> +#include <editeng/outliner.hxx> #include <svx/svditer.hxx> #include <svx/svdobj.hxx> #include <svx/svdpagv.hxx> diff --git a/sc/source/ui/drawfunc/fusel.cxx b/sc/source/ui/drawfunc/fusel.cxx index 79c466f9f2c3..11f0b36ceb23 100644 --- a/sc/source/ui/drawfunc/fusel.cxx +++ b/sc/source/ui/drawfunc/fusel.cxx @@ -35,8 +35,8 @@ #include <com/sun/star/embed/EmbedStates.hpp> -#include <svx/eeitem.hxx> -#include <svx/flditem.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/flditem.hxx> #include <svx/svdoole2.hxx> #include <svx/svdotext.hxx> #include <sfx2/dispatch.hxx> @@ -44,7 +44,7 @@ #include <svx/svdouno.hxx> #include <svx/svdomedia.hxx> #include <svx/svdpagv.hxx> -#include <svx/outlobj.hxx> +#include <editeng/outlobj.hxx> #include <svx/svdocapt.hxx> #include <sfx2/app.hxx> diff --git a/sc/source/ui/drawfunc/fusel2.cxx b/sc/source/ui/drawfunc/fusel2.cxx index 7c096fd51d71..1173eebf4c0a 100644 --- a/sc/source/ui/drawfunc/fusel2.cxx +++ b/sc/source/ui/drawfunc/fusel2.cxx @@ -39,7 +39,7 @@ #include <svx/svdocapt.hxx> #include <svx/svdpagv.hxx> #include <sfx2/dispatch.hxx> -#include <svx/outliner.hxx> +#include <editeng/outliner.hxx> #include "fusel.hxx" #include "tabvwsh.hxx" diff --git a/sc/source/ui/drawfunc/futext.cxx b/sc/source/ui/drawfunc/futext.cxx index a96ce6c18980..a0a6391b24f9 100644 --- a/sc/source/ui/drawfunc/futext.cxx +++ b/sc/source/ui/drawfunc/futext.cxx @@ -33,17 +33,17 @@ #include <svx/svddef.hxx> #include <svx/svdoutl.hxx> -#include <svx/outlobj.hxx> +#include <editeng/outlobj.hxx> #include <svx/sdtaaitm.hxx> #include <svx/sdtacitm.hxx> #include <svx/svdotext.hxx> -#include <svx/unolingu.hxx> +#include <editeng/unolingu.hxx> #include <svx/svdocapt.hxx> #include <sfx2/bindings.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/viewfrm.hxx> #include <svx/svxids.hrc> -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svl/itemset.hxx> #include "futext.hxx" diff --git a/sc/source/ui/drawfunc/futext3.cxx b/sc/source/ui/drawfunc/futext3.cxx index 2152abfd4f8b..1a55a171642c 100644 --- a/sc/source/ui/drawfunc/futext3.cxx +++ b/sc/source/ui/drawfunc/futext3.cxx @@ -31,16 +31,16 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sc.hxx" -#include <svx/editeng.hxx> -#include <svx/outlobj.hxx> +#include <editeng/editeng.hxx> +#include <editeng/outlobj.hxx> #include <svx/svdocapt.hxx> #include <svx/svdpage.hxx> #include <svx/svdundo.hxx> #include <svx/svdview.hxx> -#include <svx/editobj.hxx> +#include <editeng/editobj.hxx> #include <vcl/cursor.hxx> #include <sfx2/objsh.hxx> -#include <svx/writingmodeitem.hxx> +#include <editeng/writingmodeitem.hxx> #include "global.hxx" #include "drwlayer.hxx" diff --git a/sc/source/ui/drawfunc/oleobjsh.cxx b/sc/source/ui/drawfunc/oleobjsh.cxx index c9da807019c9..b7327c613d9c 100644 --- a/sc/source/ui/drawfunc/oleobjsh.cxx +++ b/sc/source/ui/drawfunc/oleobjsh.cxx @@ -35,10 +35,10 @@ //------------------------------------------------------------------ -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/fontwork.hxx> //CHINA001 #include <svx/labdlg.hxx> -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <svx/tabarea.hxx> #include <svx/tabline.hxx> //CHINA001 #include <svx/transfrm.hxx> diff --git a/sc/source/ui/formdlg/dwfunctr.cxx b/sc/source/ui/formdlg/dwfunctr.cxx index feda9d1657f1..353d51c0f738 100644 --- a/sc/source/ui/formdlg/dwfunctr.cxx +++ b/sc/source/ui/formdlg/dwfunctr.cxx @@ -35,7 +35,7 @@ // INCLUDE --------------------------------------------------------------- -#include <svx/editview.hxx> +#include <editeng/editview.hxx> #include <sfx2/bindings.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/objsh.hxx> diff --git a/sc/source/ui/inc/AccessibleCell.hxx b/sc/source/ui/inc/AccessibleCell.hxx index ed57d453ef7b..577f9016c37d 100644 --- a/sc/source/ui/inc/AccessibleCell.hxx +++ b/sc/source/ui/inc/AccessibleCell.hxx @@ -37,7 +37,7 @@ #include "viewdata.hxx" #include <com/sun/star/accessibility/XAccessibleRelationSet.hpp> #include <unotools/accessiblerelationsethelper.hxx> -#include <svx/AccessibleStaticTextBase.hxx> +#include <editeng/AccessibleStaticTextBase.hxx> #include <comphelper/uno3.hxx> class ScTabViewShell; diff --git a/sc/source/ui/inc/AccessibleCsvControl.hxx b/sc/source/ui/inc/AccessibleCsvControl.hxx index d7fc64c75562..1b0c49300cf9 100644 --- a/sc/source/ui/inc/AccessibleCsvControl.hxx +++ b/sc/source/ui/inc/AccessibleCsvControl.hxx @@ -41,7 +41,7 @@ #include <rtl/ustrbuf.hxx> #include <cppuhelper/implbase1.hxx> #include <cppuhelper/implbase2.hxx> -#include <svx/AccessibleStaticTextBase.hxx> +#include <editeng/AccessibleStaticTextBase.hxx> #include <comphelper/uno3.hxx> #include "AccessibleContextBase.hxx" diff --git a/sc/source/ui/inc/AccessiblePageHeader.hxx b/sc/source/ui/inc/AccessiblePageHeader.hxx index 1335541087ea..f1c28966c7f5 100644 --- a/sc/source/ui/inc/AccessiblePageHeader.hxx +++ b/sc/source/ui/inc/AccessiblePageHeader.hxx @@ -33,7 +33,7 @@ #define _SC_ACCESSIBLEPAGEHEADER_HXX #include "AccessibleContextBase.hxx" -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> class ScPreviewShell; class EditTextObject; diff --git a/sc/source/ui/inc/AccessiblePageHeaderArea.hxx b/sc/source/ui/inc/AccessiblePageHeaderArea.hxx index 15a3c23c64b8..4dc548233b68 100644 --- a/sc/source/ui/inc/AccessiblePageHeaderArea.hxx +++ b/sc/source/ui/inc/AccessiblePageHeaderArea.hxx @@ -35,7 +35,7 @@ #ifndef _SC_ACCESSIBLE_CONTEXT_BASE_HXX #include "AccessibleContextBase.hxx" #endif -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> class EditTextObject; namespace accessibility diff --git a/sc/source/ui/inc/AccessibleText.hxx b/sc/source/ui/inc/AccessibleText.hxx index a1138e869d3b..2badcbe486f4 100644 --- a/sc/source/ui/inc/AccessibleText.hxx +++ b/sc/source/ui/inc/AccessibleText.hxx @@ -34,7 +34,7 @@ #include "textuno.hxx" #include "global.hxx" #include "viewdata.hxx" -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> #include <memory> diff --git a/sc/source/ui/inc/editsh.hxx b/sc/source/ui/inc/editsh.hxx index a0903a59abaa..e855e9328fa2 100644 --- a/sc/source/ui/inc/editsh.hxx +++ b/sc/source/ui/inc/editsh.hxx @@ -36,7 +36,7 @@ #include <tools/link.hxx> #include "shellids.hxx" -#include <svx/editview.hxx> +#include <editeng/editview.hxx> class EditView; class ScViewData; diff --git a/sc/source/ui/inc/inputhdl.hxx b/sc/source/ui/inc/inputhdl.hxx index 2ed7b6d7c807..45845a08c843 100644 --- a/sc/source/ui/inc/inputhdl.hxx +++ b/sc/source/ui/inc/inputhdl.hxx @@ -35,7 +35,7 @@ #include "address.hxx" #include <tools/fract.hxx> #include <tools/gen.hxx> -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> class ScDocument; class ScTabView; diff --git a/sc/source/ui/inc/msgpool.hxx b/sc/source/ui/inc/msgpool.hxx index 44514766601d..27ead9f0ffce 100644 --- a/sc/source/ui/inc/msgpool.hxx +++ b/sc/source/ui/inc/msgpool.hxx @@ -32,7 +32,7 @@ #define SC_MSGPOOL_HXX #include "scitems.hxx" -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <svl/itempool.hxx> diff --git a/sc/source/ui/inc/pfiltdlg.hxx b/sc/source/ui/inc/pfiltdlg.hxx index 4009f06417dc..2896df74d818 100644 --- a/sc/source/ui/inc/pfiltdlg.hxx +++ b/sc/source/ui/inc/pfiltdlg.hxx @@ -53,8 +53,8 @@ #ifndef _COMBOBOX_HXX //autogen #include <vcl/combobox.hxx> #endif -#include "global.hxx" // -> ScQueryParam #include "address.hxx" +#include "queryparam.hxx" //------------------------------------------------------------------ diff --git a/sc/source/ui/inc/selectionstate.hxx b/sc/source/ui/inc/selectionstate.hxx index def589536317..349fd8651b35 100644 --- a/sc/source/ui/inc/selectionstate.hxx +++ b/sc/source/ui/inc/selectionstate.hxx @@ -31,7 +31,7 @@ #ifndef SC_SELECTIONSTATE_HXX #define SC_SELECTIONSTATE_HXX -#include <svx/editdata.hxx> +#include <editeng/editdata.hxx> #include "rangelst.hxx" // ============================================================================ diff --git a/sc/source/ui/inc/tabvwsh.hxx b/sc/source/ui/inc/tabvwsh.hxx index eede290aa8db..da358ed6e321 100644 --- a/sc/source/ui/inc/tabvwsh.hxx +++ b/sc/source/ui/inc/tabvwsh.hxx @@ -31,9 +31,10 @@ #ifndef SC_TABVWSH_HXX #define SC_TABVWSH_HXX +#include <svtools/htmlcfg.hxx> #include <sfx2/viewsh.hxx> #include <sfx2/viewfac.hxx> -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> #include "scdllapi.h" #include "dbfunc.hxx" // -> tabview #include "target.hxx" @@ -106,6 +107,7 @@ private: static USHORT nInsCellsCtrlState; static USHORT nInsObjCtrlState; + SvxHtmlOptions aHTMLOpt; ObjectSelectionType eCurOST; USHORT nDrawSfxId; USHORT nCtrlSfxId; @@ -198,6 +200,7 @@ private: DECL_LINK( SimpleRefAborted, String* ); DECL_LINK( SimpleRefChange, String* ); DECL_LINK( FormControlActivated, FmFormShell* ); + DECL_LINK( HtmlOptionsHdl, void * ); protected: virtual void Activate(BOOL bMDI); diff --git a/sc/source/ui/inc/ui_pch.hxx b/sc/source/ui/inc/ui_pch.hxx index d9b21fd2f0d4..ef9be4e0a4cc 100644 --- a/sc/source/ui/inc/ui_pch.hxx +++ b/sc/source/ui/inc/ui_pch.hxx @@ -239,7 +239,7 @@ #include <vcl/bitmapex.hxx> #include <vcl/animate.hxx> #include <vcl/graph.h> -#include <svx/editdata.hxx> +#include <editeng/editdata.hxx> #include <svtools/stdctrl.hxx> #include <sfx2/basedlgs.hxx> #include <conditio.hxx> @@ -248,7 +248,7 @@ #include <uiitems.hxx> #include <svx/svdmodel.hxx> #include <vcl/gdiobj.hxx> -#include <svx/editeng.hxx> +#include <editeng/editeng.hxx> #include <svx/pageitem.hxx> #include <anyrefdg.hxx> #include <basic/sbxcore.hxx> @@ -304,10 +304,9 @@ #include <drawview.hxx> #include <svx/view3d.hxx> #include <svx/def3d.hxx> -#include <goodies/vector3d.hxx> #include <vcl/floatwin.hxx> #include <basic/sbxobj.hxx> -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> #include <svx/xtextit0.hxx> #include <svx/svdtrans.hxx> #include <svl/style.hxx> @@ -324,11 +323,11 @@ #include <fupoor.hxx> #include <docpool.hxx> #include <vcl/button.hxx> -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <svx/svdorect.hxx> #include <svl/whiter.hxx> #include <stlpool.hxx> -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <inputhdl.hxx> #include <svx/svdpage.hxx> diff --git a/sc/source/ui/inc/uiitems.hxx b/sc/source/ui/inc/uiitems.hxx index bfa1603adb80..23e266bded17 100644 --- a/sc/source/ui/inc/uiitems.hxx +++ b/sc/source/ui/inc/uiitems.hxx @@ -34,6 +34,7 @@ #include "scdllapi.h" #include "conditio.hxx" #include "sortparam.hxx" +#include "queryparam.hxx" #include "paramisc.hxx" #include <svl/poolitem.hxx> diff --git a/sc/source/ui/inc/undodat.hxx b/sc/source/ui/inc/undodat.hxx index 3e92fc5fd5fa..40d9073e2e0a 100644 --- a/sc/source/ui/inc/undodat.hxx +++ b/sc/source/ui/inc/undodat.hxx @@ -36,6 +36,7 @@ #include "rangelst.hxx" // ScRangeListRef #include "markdata.hxx" #include "sortparam.hxx" +#include "queryparam.hxx" #include "pivot.hxx" class ScDocShell; diff --git a/sc/source/ui/miscdlgs/autofmt.cxx b/sc/source/ui/miscdlgs/autofmt.cxx index fb29b6d673ca..50d3b567e625 100644 --- a/sc/source/ui/miscdlgs/autofmt.cxx +++ b/sc/source/ui/miscdlgs/autofmt.cxx @@ -37,16 +37,16 @@ #include "scitems.hxx" #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/cntritem.hxx> -#include <svx/colritem.hxx> -#include <svx/crsditem.hxx> -#include <svx/fontitem.hxx> -#include <svx/postitem.hxx> -#include <svx/shdditem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/cntritem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/shdditem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> #include <sfx2/topfrm.hxx> #include <vcl/svapp.hxx> #include <svl/zforlist.hxx> diff --git a/sc/source/ui/miscdlgs/scuiautofmt.cxx b/sc/source/ui/miscdlgs/scuiautofmt.cxx index 32c49cf2a3ad..77af32aa50d9 100644 --- a/sc/source/ui/miscdlgs/scuiautofmt.cxx +++ b/sc/source/ui/miscdlgs/scuiautofmt.cxx @@ -39,16 +39,16 @@ #include "scitems.hxx" #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/cntritem.hxx> -#include <svx/colritem.hxx> -#include <svx/crsditem.hxx> -#include <svx/fontitem.hxx> -#include <svx/postitem.hxx> -#include <svx/shdditem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/cntritem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/shdditem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> #include <svl/zforlist.hxx> #include <vcl/msgbox.hxx> #include <comphelper/processfactory.hxx> diff --git a/sc/source/ui/miscdlgs/textdlgs.cxx b/sc/source/ui/miscdlgs/textdlgs.cxx index a12ad4992bff..ece28457aebe 100644 --- a/sc/source/ui/miscdlgs/textdlgs.cxx +++ b/sc/source/ui/miscdlgs/textdlgs.cxx @@ -42,7 +42,7 @@ #include <svx/svxids.hrc> //CHINA001 #include <svx/chardlg.hxx> -#include <svx/flstitem.hxx> +#include <editeng/flstitem.hxx> //CHINA001 #include <svx/paragrph.hxx> //CHINA001 #include <svx/tabstpge.hxx> #include <sfx2/objsh.hxx> diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx index 8198e6adb0f4..2425faa0cb06 100644 --- a/sc/source/ui/navipi/content.cxx +++ b/sc/source/ui/navipi/content.cxx @@ -39,7 +39,7 @@ #include <svx/svdpagv.hxx> #include <svx/svdview.hxx> #include <svx/svdxcgv.hxx> -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include <sfx2/docfile.hxx> #include <sfx2/viewfrm.hxx> #include <vcl/help.hxx> @@ -830,7 +830,7 @@ void ScContentTree::GetLinkNames() if (!pDoc) return; - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); DBG_ASSERT(pLinkManager, "kein LinkManager am Dokument?"); const ::sfx2::SvBaseLinks& rLinks = pLinkManager->GetLinks(); USHORT nCount = rLinks.Count(); @@ -851,7 +851,7 @@ const ScAreaLink* ScContentTree::GetLink( ULONG nIndex ) return NULL; ULONG nFound = 0; - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); DBG_ASSERT(pLinkManager, "kein LinkManager am Dokument?"); const ::sfx2::SvBaseLinks& rLinks = pLinkManager->GetLinks(); USHORT nCount = rLinks.Count(); diff --git a/sc/source/ui/pagedlg/scuitphfedit.cxx b/sc/source/ui/pagedlg/scuitphfedit.cxx index e55c8405fc34..eaf832349256 100644 --- a/sc/source/ui/pagedlg/scuitphfedit.cxx +++ b/sc/source/ui/pagedlg/scuitphfedit.cxx @@ -39,13 +39,13 @@ #define _TPHFEDIT_CXX #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> //CHINA001 #include <svx/chardlg.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> -#include <svx/editview.hxx> -#include <svx/flditem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> +#include <editeng/editview.hxx> +#include <editeng/flditem.hxx> #include <sfx2/basedlgs.hxx> #include <sfx2/objsh.hxx> #include <vcl/msgbox.hxx> diff --git a/sc/source/ui/pagedlg/tphfedit.cxx b/sc/source/ui/pagedlg/tphfedit.cxx index e54dbfbca605..4bcfb8f3cdad 100644 --- a/sc/source/ui/pagedlg/tphfedit.cxx +++ b/sc/source/ui/pagedlg/tphfedit.cxx @@ -37,15 +37,15 @@ #define _TPHFEDIT_CXX #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> //CHINA001 #include <svx/chardlg.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> -#include <svx/editview.hxx> -#include <svx/flditem.hxx> -#include <svx/adjitem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> +#include <editeng/editview.hxx> +#include <editeng/flditem.hxx> +#include <editeng/adjitem.hxx> #include <sfx2/basedlgs.hxx> #include <sfx2/objsh.hxx> #include <vcl/msgbox.hxx> diff --git a/sc/source/ui/styleui/styledlg.cxx b/sc/source/ui/styleui/styledlg.cxx index ea94566b918f..401139efedbc 100644 --- a/sc/source/ui/styleui/styledlg.cxx +++ b/sc/source/ui/styleui/styledlg.cxx @@ -61,7 +61,7 @@ #include <svx/svxids.hrc> //CHINA001 #include <svx/dialogs.hrc> //CHINA001 #include <svl/intitem.hxx> //CHINA001 -#include <svx/flstitem.hxx> //CHINA001 +#include <editeng/flstitem.hxx> //CHINA001 #include <svl/aeitem.hxx> //CHINA001 #include <svx/flagsdef.hxx> //CHINA001 //================================================================== diff --git a/sc/source/ui/undo/areasave.cxx b/sc/source/ui/undo/areasave.cxx index a1ca8b9dabeb..d390c4448106 100644 --- a/sc/source/ui/undo/areasave.cxx +++ b/sc/source/ui/undo/areasave.cxx @@ -37,7 +37,7 @@ // INCLUDE --------------------------------------------------------------- -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include <tools/debug.hxx> #include "areasave.hxx" @@ -100,7 +100,7 @@ void ScAreaLinkSaver::InsertNewLink( ScDocument* pDoc ) const { // (see ScUndoRemoveAreaLink::Undo) - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); SfxObjectShell* pObjSh = pDoc->GetDocumentShell(); if ( pLinkManager && pObjSh ) @@ -140,7 +140,7 @@ BOOL ScAreaLinkSaveCollection::IsEqual( const ScDocument* pDoc ) const // IsEqual can be checked in sequence. // Neither ref-update nor removing links will change the order. - SvxLinkManager* pLinkManager = const_cast<ScDocument*>(pDoc)->GetLinkManager(); + sfx2::LinkManager* pLinkManager = const_cast<ScDocument*>(pDoc)->GetLinkManager(); if (pLinkManager) { USHORT nPos = 0; @@ -186,7 +186,7 @@ void ScAreaLinkSaveCollection::Restore( ScDocument* pDoc ) const // Entries from the save collection must be searched via source data, as the order // of links changes if deleted entries are re-added to the link manager (always at the end). - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); if (pLinkManager) { const ::sfx2::SvBaseLinks& rLinks = pLinkManager->GetLinks(); @@ -208,7 +208,7 @@ ScAreaLinkSaveCollection* ScAreaLinkSaveCollection::CreateFromDoc( const ScDocum { ScAreaLinkSaveCollection* pColl = NULL; - SvxLinkManager* pLinkManager = const_cast<ScDocument*>(pDoc)->GetLinkManager(); + sfx2::LinkManager* pLinkManager = const_cast<ScDocument*>(pDoc)->GetLinkManager(); if (pLinkManager) { const ::sfx2::SvBaseLinks& rLinks = pLinkManager->GetLinks(); diff --git a/sc/source/ui/undo/undobase.cxx b/sc/source/ui/undo/undobase.cxx index 200db8673cd2..09e8f452c1c6 100644 --- a/sc/source/ui/undo/undobase.cxx +++ b/sc/source/ui/undo/undobase.cxx @@ -45,6 +45,7 @@ #include "undodraw.hxx" #include "dbcolect.hxx" #include "attrib.hxx" +#include "queryparam.hxx" #include "globstr.hrc" // STATIC DATA ----------------------------------------------------------- diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx index 8cc45d41a2e6..56f7147287fa 100644 --- a/sc/source/ui/undo/undoblk.cxx +++ b/sc/source/ui/undo/undoblk.cxx @@ -40,7 +40,7 @@ #include "scitems.hxx" #include <vcl/virdev.hxx> #include <vcl/waitobj.hxx> -#include <svx/boxitem.hxx> +#include <editeng/boxitem.hxx> #include <sfx2/app.hxx> #include "undoblk.hxx" diff --git a/sc/source/ui/undo/undoblk3.cxx b/sc/source/ui/undo/undoblk3.cxx index 4a94827ed1ec..4e3a5d9d9f08 100644 --- a/sc/source/ui/undo/undoblk3.cxx +++ b/sc/source/ui/undo/undoblk3.cxx @@ -34,9 +34,9 @@ // INCLUDE ------------------------------------------------------------------- #include "scitems.hxx" -#include <svx/boxitem.hxx> -#include <svx/srchitem.hxx> -#include <svx/linkmgr.hxx> +#include <editeng/boxitem.hxx> +#include <svl/srchitem.hxx> +#include <sfx2/linkmgr.hxx> #include <sfx2/bindings.hxx> #include <vcl/virdev.hxx> #include <sfx2/app.hxx> @@ -1755,7 +1755,7 @@ BOOL __EXPORT ScUndoRefreshLink::CanRepeat(SfxRepeatTarget& /* rTarget */) const //---------------------------------------------------------------------------- -ScAreaLink* lcl_FindAreaLink( SvxLinkManager* pLinkManager, const String& rDoc, +ScAreaLink* lcl_FindAreaLink( sfx2::LinkManager* pLinkManager, const String& rDoc, const String& rFlt, const String& rOpt, const String& rSrc, const ScRange& rDest ) { @@ -1819,7 +1819,7 @@ String __EXPORT ScUndoInsertAreaLink::GetComment() const void __EXPORT ScUndoInsertAreaLink::Undo() { ScDocument* pDoc = pDocShell->GetDocument(); - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); ScAreaLink* pLink = lcl_FindAreaLink( pLinkManager, aDocName, aFltName, aOptions, aAreaName, aRange ); @@ -1835,7 +1835,7 @@ void __EXPORT ScUndoInsertAreaLink::Undo() void __EXPORT ScUndoInsertAreaLink::Redo() { ScDocument* pDoc = pDocShell->GetDocument(); - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); ScAreaLink* pLink = new ScAreaLink( pDocShell, aDocName, aFltName, aOptions, aAreaName, aRange.aStart, nRefreshDelay ); @@ -1909,7 +1909,7 @@ String __EXPORT ScUndoRemoveAreaLink::GetComment() const void __EXPORT ScUndoRemoveAreaLink::Undo() { ScDocument* pDoc = pDocShell->GetDocument(); - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); ScAreaLink* pLink = new ScAreaLink( pDocShell, aDocName, aFltName, aOptions, aAreaName, aRange.aStart, nRefreshDelay ); @@ -1928,7 +1928,7 @@ void __EXPORT ScUndoRemoveAreaLink::Undo() void __EXPORT ScUndoRemoveAreaLink::Redo() { ScDocument* pDoc = pDocShell->GetDocument(); - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); ScAreaLink* pLink = lcl_FindAreaLink( pLinkManager, aDocName, aFltName, aOptions, aAreaName, aRange ); @@ -2074,7 +2074,7 @@ void ScUndoUpdateAreaLink::DoChange( const BOOL bUndo ) const void __EXPORT ScUndoUpdateAreaLink::Undo() { ScDocument* pDoc = pDocShell->GetDocument(); - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); ScAreaLink* pLink = lcl_FindAreaLink( pLinkManager, aNewDoc, aNewFlt, aNewOpt, aNewArea, aNewRange ); if (pLink) @@ -2093,7 +2093,7 @@ void __EXPORT ScUndoUpdateAreaLink::Undo() void __EXPORT ScUndoUpdateAreaLink::Redo() { ScDocument* pDoc = pDocShell->GetDocument(); - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); ScAreaLink* pLink = lcl_FindAreaLink( pLinkManager, aOldDoc, aOldFlt, aOldOpt, aOldArea, aOldRange ); if (pLink) diff --git a/sc/source/ui/undo/undocell.cxx b/sc/source/ui/undo/undocell.cxx index 87f83ce7a932..dcb632a6bf2e 100644 --- a/sc/source/ui/undo/undocell.cxx +++ b/sc/source/ui/undo/undocell.cxx @@ -32,9 +32,9 @@ #include "precompiled_sc.hxx" #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/editobj.hxx> +#include <editeng/editobj.hxx> #include <svl/zforlist.hxx> #include <sfx2/app.hxx> diff --git a/sc/source/ui/unoobj/afmtuno.cxx b/sc/source/ui/unoobj/afmtuno.cxx index e4b9ef8a8765..7d4131374767 100644 --- a/sc/source/ui/unoobj/afmtuno.cxx +++ b/sc/source/ui/unoobj/afmtuno.cxx @@ -34,6 +34,7 @@ #include "scitems.hxx" +#include <editeng/memberids.hrc> #include <tools/debug.hxx> #include <tools/shl.hxx> #include <svl/poolitem.hxx> diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index 1d41ec3836a4..4d45802c07af 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -33,21 +33,21 @@ #include "scitems.hxx" -#include <svx/eeitem.hxx> - +#include <editeng/eeitem.hxx> +#include <svx/svdpool.hxx> #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/editeng.hxx> -#include <svx/flditem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/editeng.hxx> +#include <editeng/flditem.hxx> #include <svx/fmdpage.hxx> -#include <svx/langitem.hxx> -#include <svx/linkmgr.hxx> -#include <svx/srchitem.hxx> +#include <editeng/langitem.hxx> +#include <sfx2/linkmgr.hxx> +#include <svl/srchitem.hxx> #include <svx/unomid.hxx> -#include <svx/unoprnms.hxx> -#include <svx/unotext.hxx> +#include <editeng/unoprnms.hxx> +#include <editeng/unotext.hxx> #include <svx/svdpage.hxx> #include <sfx2/bindings.hxx> #include <svl/zforlist.hxx> @@ -794,7 +794,7 @@ const SfxItemPropertyMapEntry* lcl_GetEditPropertyMap() } const SvxItemPropertySet* lcl_GetEditPropertySet() { - static SvxItemPropertySet aEditPropertySet( lcl_GetEditPropertyMap() ); + static SvxItemPropertySet aEditPropertySet( lcl_GetEditPropertyMap(), SdrObject::GetGlobalDrawObjectItemPool() ); return &aEditPropertySet; } @@ -7681,7 +7681,7 @@ void SAL_CALL ScTableSheetObj::link( const rtl::OUString& aUrl, const rtl::OUStr // Update immer, auch wenn der Link schon da war //! Update nur fuer die betroffene Tabelle??? - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); USHORT nCount = pLinkManager->GetLinks().Count(); for ( USHORT i=0; i<nCount; i++ ) { diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx index 07ed8709ab01..9febe948e79e 100644 --- a/sc/source/ui/unoobj/chart2uno.cxx +++ b/sc/source/ui/unoobj/chart2uno.cxx @@ -2935,6 +2935,9 @@ void ScChart2DataSequence::BuildDataCache() ::std::list<sal_Int32>::const_iterator itr = aHiddenValues.begin(), itrEnd = aHiddenValues.end(); for (;itr != itrEnd; ++itr, ++pArr) *pArr = *itr; + + // Clear the data series cache when the array is re-built. + m_aMixedDataCache.realloc(0); } void ScChart2DataSequence::RebuildDataCache() @@ -3127,7 +3130,6 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint if ( m_bGotDataChangedHint && m_pDocument ) { m_aDataArray.clear(); - m_aDataArray.clear(); lang::EventObject aEvent; aEvent.Source.set((cppu::OWeakObject*)this); @@ -3302,19 +3304,24 @@ uno::Sequence< uno::Any> SAL_CALL ScChart2DataSequence::getData() throw uno::RuntimeException(); BuildDataCache(); - sal_Int32 nCount = m_aDataArray.size(); - uno::Sequence<uno::Any> aSeq(nCount); - uno::Any* pArr = aSeq.getArray(); - ::std::list<Item>::const_iterator itr = m_aDataArray.begin(), itrEnd = m_aDataArray.end(); - for (; itr != itrEnd; ++itr, ++pArr) + + if (!m_aMixedDataCache.getLength()) { - if (itr->mbIsValue) - *pArr <<= itr->mfValue; - else - *pArr <<= itr->maString; - } + // Build a cache for the 1st time... - return aSeq; + sal_Int32 nCount = m_aDataArray.size(); + m_aMixedDataCache.realloc(nCount); + uno::Any* pArr = m_aMixedDataCache.getArray(); + ::std::list<Item>::const_iterator itr = m_aDataArray.begin(), itrEnd = m_aDataArray.end(); + for (; itr != itrEnd; ++itr, ++pArr) + { + if (itr->mbIsValue) + *pArr <<= itr->mfValue; + else + *pArr <<= itr->maString; + } + } + return m_aMixedDataCache; } // XNumericalDataSequence -------------------------------------------------- diff --git a/sc/source/ui/unoobj/defltuno.cxx b/sc/source/ui/unoobj/defltuno.cxx index 3df667faad8c..83d2563fa907 100644 --- a/sc/source/ui/unoobj/defltuno.cxx +++ b/sc/source/ui/unoobj/defltuno.cxx @@ -32,7 +32,7 @@ #include "precompiled_sc.hxx" - +#include <editeng/memberids.hrc> #include <svl/smplhint.hxx> #include <svl/itemprop.hxx> #include <svx/unomid.hxx> diff --git a/sc/source/ui/unoobj/editsrc.cxx b/sc/source/ui/unoobj/editsrc.cxx index 476409fa5113..6a9415125694 100644 --- a/sc/source/ui/unoobj/editsrc.cxx +++ b/sc/source/ui/unoobj/editsrc.cxx @@ -34,14 +34,14 @@ #include "editsrc.hxx" #include "scitems.hxx" -#include <svx/eeitem.hxx> -#include <svx/unofored.hxx> +#include <editeng/eeitem.hxx> +#include <editeng/unofored.hxx> #include <svx/svdpage.hxx> #include <svx/svditer.hxx> #include <svx/svdocapt.hxx> -#include <svx/outlobj.hxx> -#include <svx/editobj.hxx> - +#include <editeng/outlobj.hxx> +#include <editeng/editobj.hxx> +#include <editeng/outliner.hxx> #include "textuno.hxx" #include "editutil.hxx" #include "docsh.hxx" diff --git a/sc/source/ui/unoobj/fielduno.cxx b/sc/source/ui/unoobj/fielduno.cxx index 8fd4bba512eb..3ccc6c76059b 100644 --- a/sc/source/ui/unoobj/fielduno.cxx +++ b/sc/source/ui/unoobj/fielduno.cxx @@ -33,11 +33,11 @@ #include <svl/smplhint.hxx> -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/editeng.hxx> -#include <svx/editobj.hxx> -#include <svx/flditem.hxx> +#include <editeng/editeng.hxx> +#include <editeng/editobj.hxx> +#include <editeng/flditem.hxx> #include <rtl/uuid.h> #include <com/sun/star/beans/PropertyAttribute.hpp> diff --git a/sc/source/ui/unoobj/forbiuno.cxx b/sc/source/ui/unoobj/forbiuno.cxx index d8dc43d86071..6f7352e5b7b3 100644 --- a/sc/source/ui/unoobj/forbiuno.cxx +++ b/sc/source/ui/unoobj/forbiuno.cxx @@ -33,7 +33,7 @@ -#include <svx/forbiddencharacterstable.hxx> +#include <editeng/forbiddencharacterstable.hxx> #include "forbiuno.hxx" #include "docsh.hxx" diff --git a/sc/source/ui/unoobj/linkuno.cxx b/sc/source/ui/unoobj/linkuno.cxx index ddb5dc3b0496..7aadfa44388f 100644 --- a/sc/source/ui/unoobj/linkuno.cxx +++ b/sc/source/ui/unoobj/linkuno.cxx @@ -34,7 +34,7 @@ #include <svl/smplhint.hxx> -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include "linkuno.hxx" #include "miscuno.hxx" @@ -131,7 +131,7 @@ ScTableLink* ScSheetLinkObj::GetLink_Impl() const { if (pDocShell) { - SvxLinkManager* pLinkManager = pDocShell->GetDocument()->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDocShell->GetDocument()->GetLinkManager(); USHORT nCount = pLinkManager->GetLinks().Count(); for (USHORT i=0; i<nCount; i++) { @@ -304,7 +304,7 @@ void ScSheetLinkObj::setFileName(const rtl::OUString& rNewName) ScTableLink* pLink = GetLink_Impl(); if (pLink) { - // pLink->Refresh mit neuem Dateinamen bringt SvxLinkManager durcheinander + // pLink->Refresh mit neuem Dateinamen bringt sfx2::LinkManager durcheinander // darum per Hand die Tabellen umsetzen und Link per UpdateLinks neu erzeugen String aNewStr(ScGlobal::GetAbsDocName( String(rNewName), pDocShell )); @@ -605,7 +605,7 @@ ScAreaLink* lcl_GetAreaLink( ScDocShell* pDocShell, USHORT nPos ) { if (pDocShell) { - SvxLinkManager* pLinkManager = pDocShell->GetDocument()->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDocShell->GetDocument()->GetLinkManager(); USHORT nTotalCount = pLinkManager->GetLinks().Count(); USHORT nAreaCount = 0; for (USHORT i=0; i<nTotalCount; i++) @@ -678,7 +678,7 @@ void ScAreaLinkObj::Modify_Impl( const rtl::OUString* pNewFile, const rtl::OUStr //! Undo fuer Loeschen //! Undo zusammenfassen - SvxLinkManager* pLinkManager = pDocShell->GetDocument()->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDocShell->GetDocument()->GetLinkManager(); pLinkManager->Remove( pLink ); pLink = NULL; // bei Remove geloescht @@ -1004,7 +1004,7 @@ void SAL_CALL ScAreaLinksObj::removeByIndex( sal_Int32 nIndex ) throw(uno::Runti { //! SetAddUndo oder so - SvxLinkManager* pLinkManager = pDocShell->GetDocument()->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDocShell->GetDocument()->GetLinkManager(); pLinkManager->Remove( pLink ); } } @@ -1026,7 +1026,7 @@ sal_Int32 SAL_CALL ScAreaLinksObj::getCount() throw(uno::RuntimeException) INT32 nAreaCount = 0; if (pDocShell) { - SvxLinkManager* pLinkManager = pDocShell->GetDocument()->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDocShell->GetDocument()->GetLinkManager(); USHORT nTotalCount = pLinkManager->GetLinks().Count(); for (USHORT i=0; i<nTotalCount; i++) { diff --git a/sc/source/ui/unoobj/notesuno.cxx b/sc/source/ui/unoobj/notesuno.cxx index 8477d1f17779..795dc3590954 100644 --- a/sc/source/ui/unoobj/notesuno.cxx +++ b/sc/source/ui/unoobj/notesuno.cxx @@ -34,8 +34,9 @@ #include "rangelst.hxx" -#include <svx/unotext.hxx> - +#include <editeng/unotext.hxx> +#include <svx/svdpool.hxx> +#include <svx/svdobj.hxx> #include "notesuno.hxx" #include "textuno.hxx" #include "cellsuno.hxx" // getParent @@ -52,7 +53,7 @@ #include "undocell.hxx" #include "unoguard.hxx" #include "userdat.hxx" -#include <svx/outlobj.hxx> +#include <editeng/outlobj.hxx> #include <svx/unoshape.hxx> #include <svx/svdocapt.hxx> #include <svx/svditer.hxx> @@ -70,7 +71,7 @@ const SvxItemPropertySet* lcl_GetAnnotationPropertySet() { {0,0,0,0,0,0} }; - static SvxItemPropertySet aAnnotationPropertySet_Impl( aAnnotationPropertyMap_Impl ); + static SvxItemPropertySet aAnnotationPropertySet_Impl( aAnnotationPropertyMap_Impl, SdrObject::GetGlobalDrawObjectItemPool() ); return &aAnnotationPropertySet_Impl; } diff --git a/sc/source/ui/unoobj/servuno.cxx b/sc/source/ui/unoobj/servuno.cxx index 1f51bc1646af..374453925677 100644 --- a/sc/source/ui/unoobj/servuno.cxx +++ b/sc/source/ui/unoobj/servuno.cxx @@ -36,7 +36,7 @@ #include <tools/debug.hxx> #include <svtools/unoimap.hxx> #include <svx/unofill.hxx> -#include <svx/unonrule.hxx> +#include <editeng/unonrule.hxx> #include <com/sun/star/sheet/XSpreadsheetDocument.hpp> #include "servuno.hxx" @@ -60,9 +60,65 @@ // #100263# Support creation of GraphicObjectResolver and EmbeddedObjectResolver #include <svx/xmleohlp.hxx> #include <svx/xmlgrhlp.hxx> +#include <sfx2/docfile.hxx> +#include <sfx2/docfilt.hxx> +#include <com/sun/star/script/ScriptEventDescriptor.hpp> +#include <com/sun/star/document/XCodeNameQuery.hpp> +#include <com/sun/star/drawing/XDrawPagesSupplier.hpp> +#include <com/sun/star/form/XFormsSupplier.hpp> +#include <svx/unomod.hxx> using namespace ::com::sun::star; +class ScVbaCodeNameProvider : public ::cppu::WeakImplHelper1< document::XCodeNameQuery > +{ +ScDocShell* mpDocShell; +public: + ScVbaCodeNameProvider( ScDocShell* pDocShell ) : mpDocShell( pDocShell ) {} + // XCodeNameQuery + rtl::OUString SAL_CALL getCodeNameForObject( const uno::Reference< uno::XInterface >& xIf ) throw( uno::RuntimeException ) + { + rtl::OUString sCodeName; + if ( mpDocShell ) + { + OSL_TRACE( "*** In ScVbaCodeNameProvider::getCodeNameForObject"); + // need to find the page ( and index ) for this control + uno::Reference< drawing::XDrawPagesSupplier > xSupplier( mpDocShell->GetModel(), uno::UNO_QUERY_THROW ); + uno::Reference< container::XIndexAccess > xIndex( xSupplier->getDrawPages(), uno::UNO_QUERY_THROW ); + sal_Int32 nLen = xIndex->getCount(); + bool bMatched = false; + uno::Sequence< script::ScriptEventDescriptor > aFakeEvents; + for ( sal_Int32 index = 0; index < nLen; ++index ) + { + try + { + uno::Reference< form::XFormsSupplier > xFormSupplier( xIndex->getByIndex( index ), uno::UNO_QUERY_THROW ); + uno::Reference< container::XIndexAccess > xFormIndex( xFormSupplier->getForms(), uno::UNO_QUERY_THROW ); + // get the www-standard container + uno::Reference< container::XIndexAccess > xFormControls( xFormIndex->getByIndex(0), uno::UNO_QUERY_THROW ); + sal_Int32 nCntrls = xFormControls->getCount(); + for( sal_Int32 cIndex = 0; cIndex < nCntrls; ++cIndex ) + { + uno::Reference< uno::XInterface > xControl( xFormControls->getByIndex( cIndex ), uno::UNO_QUERY_THROW ); + bMatched = ( xControl == xIf ); + if ( bMatched ) + { + String sName; + mpDocShell->GetDocument()->GetCodeName( static_cast<SCTAB>( index ), sName ); + sCodeName = sName; + } + } + } + catch( uno::Exception& ) {} + if ( bMatched ) + break; + } + } + // Probably should throw here ( if !bMatched ) + return sCodeName; + } + +}; //------------------------------------------------------------------------ // @@ -119,6 +175,7 @@ static const ProvNamesId_Type __FAR_DATA aProvNamesId[] = { SC_SERVICENAME_CHDATAPROV, SC_SERVICE_CHDATAPROV }, { SC_SERVICENAME_FORMULAPARS, SC_SERVICE_FORMULAPARS }, { SC_SERVICENAME_OPCODEMAPPER, SC_SERVICE_OPCODEMAPPER }, + { "ooo.vba.VBACodeNameProvider", SC_SERVICE_VBACODENAMEPROVIDER }, // case-correct versions of the service names (#i102468#) { "com.sun.star.text.textfield.URL", SC_SERVICE_URLFIELD }, @@ -180,7 +237,8 @@ static const sal_Char* __FAR_DATA aOldNames[SC_SERVICE_COUNT] = "", // SC_SERVICE_SHEETDOCSET "", // SC_SERVICE_CHDATAPROV "", // SC_SERVICE_FORMULAPARS - "" // SC_SERVICE_OPCODEMAPPER + "", // SC_SERVICE_OPCODEMAPPER + "", // SC_SERVICE_VBACODENAMEPROVIDER }; @@ -383,9 +441,23 @@ uno::Reference<uno::XInterface> ScServiceProvider::MakeInstance( ScCompiler* pComp = new ScCompiler(pDoc,aAddress); pComp->SetGrammar( pDoc->GetGrammar() ); xRet.set(static_cast<sheet::XFormulaOpCodeMapper*>(new ScFormulaOpCodeMapperObj(::std::auto_ptr<formula::FormulaCompiler> (pComp)))); + break; + } + case SC_SERVICE_VBACODENAMEPROVIDER: + { + // Only create the excel faking service for excel docs + const SfxFilter *pFilt = pDocShell->GetMedium()->GetFilter(); + if ( pFilt && pFilt->IsAlienFormat() ) + { + // application/vnd.ms-excel is the mime type for Excel + static const rtl::OUString sExcelMimeType( RTL_CONSTASCII_USTRINGPARAM( "application/vnd.ms-excel" ) ); + if ( sExcelMimeType.equals( pFilt->GetMimeType() ) ) + xRet.set(static_cast<document::XCodeNameQuery*>(new ScVbaCodeNameProvider( pDocShell ))); + } + break; } - break; } + return xRet; } diff --git a/sc/source/ui/unoobj/shapeuno.cxx b/sc/source/ui/unoobj/shapeuno.cxx index 8a5b92d0bd8c..2530b4a27840 100644 --- a/sc/source/ui/unoobj/shapeuno.cxx +++ b/sc/source/ui/unoobj/shapeuno.cxx @@ -38,7 +38,7 @@ #include <svtools/unoimap.hxx> #include <svx/svdobj.hxx> #include <svx/unoshape.hxx> -#include <svx/unofield.hxx> +#include <editeng/unofield.hxx> #include <svx/shapepropertynotifier.hxx> #include <toolkit/helper/convert.hxx> #include <cppuhelper/implbase2.hxx> diff --git a/sc/source/ui/unoobj/srchuno.cxx b/sc/source/ui/unoobj/srchuno.cxx index 14b271c16cb7..439274fa0262 100644 --- a/sc/source/ui/unoobj/srchuno.cxx +++ b/sc/source/ui/unoobj/srchuno.cxx @@ -34,7 +34,7 @@ #include "scitems.hxx" -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <osl/mutex.hxx> #include <rtl/uuid.h> diff --git a/sc/source/ui/unoobj/styleuno.cxx b/sc/source/ui/unoobj/styleuno.cxx index 941f586a73c9..0368c83fc2bf 100644 --- a/sc/source/ui/unoobj/styleuno.cxx +++ b/sc/source/ui/unoobj/styleuno.cxx @@ -34,14 +34,15 @@ #include "scitems.hxx" +#include <editeng/memberids.hrc> #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/langitem.hxx> -#include <svx/numitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/langitem.hxx> +#include <editeng/numitem.hxx> #include <svx/pageitem.hxx> -#include <svx/pbinitem.hxx> +#include <editeng/pbinitem.hxx> #include <svx/unomid.hxx> -#include <svx/unonrule.hxx> +#include <editeng/unonrule.hxx> #include <sfx2/bindings.hxx> #include <sfx2/printer.hxx> #include <vcl/virdev.hxx> diff --git a/sc/source/ui/unoobj/textuno.cxx b/sc/source/ui/unoobj/textuno.cxx index a9e6a799e010..145a613cb2cb 100644 --- a/sc/source/ui/unoobj/textuno.cxx +++ b/sc/source/ui/unoobj/textuno.cxx @@ -34,21 +34,21 @@ #include "scitems.hxx" -#include <svx/eeitem.hxx> - - -#include <svx/editeng.hxx> -#include <svx/editobj.hxx> -#include <svx/flditem.hxx> +#include <editeng/eeitem.hxx> +#include <svx/svdpool.hxx> +#include <svx/svdobj.hxx> +#include <editeng/editeng.hxx> +#include <editeng/editobj.hxx> +#include <editeng/flditem.hxx> #include <svx/unomid.hxx> -#include <svx/unoprnms.hxx> -#include <svx/unofored.hxx> +#include <editeng/unoprnms.hxx> +#include <editeng/unofored.hxx> #include <rtl/uuid.h> #include <vcl/virdev.hxx> #include <com/sun/star/awt/FontSlant.hpp> #include <com/sun/star/beans/PropertyAttribute.hpp> - +#include <editeng/unoipset.hxx> #include "textuno.hxx" #include "fielduno.hxx" #include "servuno.hxx" @@ -100,7 +100,7 @@ const SvxItemPropertySet * lcl_GetHdFtPropertySet() } bTwipsSet = TRUE; } - static SvxItemPropertySet aHdFtPropertySet_Impl( aHdFtPropertyMap_Impl ); + static SvxItemPropertySet aHdFtPropertySet_Impl( aHdFtPropertyMap_Impl, SdrObject::GetGlobalDrawObjectItemPool() ); return &aHdFtPropertySet_Impl; } diff --git a/sc/source/ui/unoobj/viewuno.cxx b/sc/source/ui/unoobj/viewuno.cxx index 0883c24a14f0..ff2f5d41ccbe 100644 --- a/sc/source/ui/unoobj/viewuno.cxx +++ b/sc/source/ui/unoobj/viewuno.cxx @@ -32,7 +32,7 @@ #include "precompiled_sc.hxx" - +#include <editeng/outliner.hxx> #include <svx/fmdpage.hxx> #include <svx/svditer.hxx> #include <svx/svdmark.hxx> diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx index f6c58c23f79a..ad438bfafd52 100644 --- a/sc/source/ui/vba/vbarange.cxx +++ b/sc/source/ui/vba/vbarange.cxx @@ -121,7 +121,7 @@ #include <ooo/vba/excel/XlSearchDirection.hpp> #include <scitems.hxx> -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <cellsuno.hxx> #include <dbcolect.hxx> #include "docfunc.hxx" diff --git a/sc/source/ui/view/auditsh.cxx b/sc/source/ui/view/auditsh.cxx index 3f09fd0e2ff4..2ab7062ddfc2 100644 --- a/sc/source/ui/view/auditsh.cxx +++ b/sc/source/ui/view/auditsh.cxx @@ -36,7 +36,7 @@ //------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <sfx2/bindings.hxx> #include <sfx2/objface.hxx> #include <sfx2/objsh.hxx> diff --git a/sc/source/ui/view/cellsh.cxx b/sc/source/ui/view/cellsh.cxx index e9116b19c87b..5fa0c4632218 100644 --- a/sc/source/ui/view/cellsh.cxx +++ b/sc/source/ui/view/cellsh.cxx @@ -49,7 +49,7 @@ #include <sfx2/request.hxx> #include <sfx2/viewfrm.hxx> #include <svx/clipfmtitem.hxx> -#include <svx/langitem.hxx> +#include <editeng/langitem.hxx> #include "cellsh.hxx" #include "sc.hrc" diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index 6bdf172b9fb5..2e810232aa22 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -65,7 +65,7 @@ #include <svx/svxdlg.hxx> #include <sot/formats.hxx> #include <svx/postattr.hxx> -#include <svx/fontitem.hxx> +#include <editeng/fontitem.hxx> #include <svx/clipfmtitem.hxx> #include <sfx2/passwd.hxx> #include <svx/hlnkitem.hxx> diff --git a/sc/source/ui/view/drawview.cxx b/sc/source/ui/view/drawview.cxx index ef68bbc9bd0c..91320f3b23d9 100644 --- a/sc/source/ui/view/drawview.cxx +++ b/sc/source/ui/view/drawview.cxx @@ -44,8 +44,8 @@ #include <svx/svdpage.hxx> #include <svx/svdundo.hxx> #include <svx/svdocapt.hxx> -#include <svx/outlobj.hxx> -#include <svx/writingmodeitem.hxx> +#include <editeng/outlobj.hxx> +#include <editeng/writingmodeitem.hxx> #include <svx/sdrpaintwindow.hxx> #include <sfx2/bindings.hxx> #include <sfx2/viewfrm.hxx> diff --git a/sc/source/ui/view/editsh.cxx b/sc/source/ui/view/editsh.cxx index b0f2197ad826..dcf47a71afab 100644 --- a/sc/source/ui/view/editsh.cxx +++ b/sc/source/ui/view/editsh.cxx @@ -36,25 +36,25 @@ //------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/clipfmtitem.hxx> #include <svx/svxdlg.hxx> -#include <svx/cntritem.hxx> +#include <editeng/cntritem.hxx> //CHINA001 #include <svx/chardlg.hxx> -#include <svx/crsditem.hxx> -#include <svx/editeng.hxx> -#include <svx/editview.hxx> -#include <svx/escpitem.hxx> -#include <svx/flditem.hxx> -#include <svx/fontitem.hxx> +#include <editeng/crsditem.hxx> +#include <editeng/editeng.hxx> +#include <editeng/editview.hxx> +#include <editeng/escpitem.hxx> +#include <editeng/flditem.hxx> +#include <editeng/fontitem.hxx> #include <svx/hlnkitem.hxx> -#include <svx/postitem.hxx> -#include <svx/scripttypeitem.hxx> -#include <svx/shdditem.hxx> -#include <svx/srchitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/wghtitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/scripttypeitem.hxx> +#include <editeng/shdditem.hxx> +#include <svl/srchitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/wghtitem.hxx> #include <sfx2/basedlgs.hxx> #include <sfx2/bindings.hxx> #include <sfx2/msg.hxx> diff --git a/sc/source/ui/view/formatsh.cxx b/sc/source/ui/view/formatsh.cxx index fb83ed5624d6..d386371fd5ca 100644 --- a/sc/source/ui/view/formatsh.cxx +++ b/sc/source/ui/view/formatsh.cxx @@ -54,7 +54,7 @@ //------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/app.hxx> #include <sfx2/viewfrm.hxx> @@ -67,24 +67,24 @@ #include <svl/stritem.hxx> #include <svl/zformat.hxx> #include <svl/languageoptions.hxx> -#include <svx/boxitem.hxx> -#include <svx/langitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/langitem.hxx> #include <svx/numinf.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/templdlg.hxx> #include <sfx2/tplpitem.hxx> -#include <svx/svxenum.hxx> +#include <editeng/svxenum.hxx> #include <svx/algitem.hxx> -#include <svx/wghtitem.hxx> -#include <svx/postitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/bolnitem.hxx> -#include <svx/colritem.hxx> -#include <svx/brshitem.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/scripttypeitem.hxx> +#include <editeng/wghtitem.hxx> +#include <editeng/postitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/bolnitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/scripttypeitem.hxx> #include <svtools/colorcfg.hxx> -#include <svx/shaditem.hxx> +#include <editeng/shaditem.hxx> #include "formatsh.hxx" #include "sc.hrc" diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 7f78461aedb0..768332b4644d 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -34,14 +34,14 @@ #include "scitems.hxx" #include <memory> //auto_ptr -#include <svx/adjitem.hxx> +#include <editeng/adjitem.hxx> #include <svx/algitem.hxx> #include <svx/dbexch.hrc> -#include <svx/editview.hxx> -#include <svx/editstat.hxx> -#include <svx/flditem.hxx> +#include <editeng/editview.hxx> +#include <editeng/editstat.hxx> +#include <editeng/flditem.hxx> #include <svx/svdetc.hxx> -#include <svx/editobj.hxx> +#include <editeng/editobj.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/viewfrm.hxx> #include <sfx2/docfile.hxx> @@ -58,7 +58,7 @@ #include <sot/clsids.hxx> #include <svx/svdview.hxx> // fuer Command-Handler (COMMAND_INSERTTEXT) -#include <svx/outliner.hxx> // fuer Command-Handler (COMMAND_INSERTTEXT) +#include <editeng/outliner.hxx> // fuer Command-Handler (COMMAND_INSERTTEXT) #include <svx/svditer.hxx> #include <svx/svdocapt.hxx> #include <svx/svdpagv.hxx> diff --git a/sc/source/ui/view/gridwin3.cxx b/sc/source/ui/view/gridwin3.cxx index fbff54b1408f..6455b38dbd14 100755 --- a/sc/source/ui/view/gridwin3.cxx +++ b/sc/source/ui/view/gridwin3.cxx @@ -32,12 +32,12 @@ #include "precompiled_sc.hxx" #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/svdoutl.hxx> #include <svx/svdotext.hxx> #include <svx/svdpagv.hxx> -#include <svx/sizeitem.hxx> +#include <editeng/sizeitem.hxx> #include <sfx2/bindings.hxx> #include <svl/ptitem.hxx> diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx index 7719dfcc5474..f3b8603e3b64 100644 --- a/sc/source/ui/view/gridwin4.cxx +++ b/sc/source/ui/view/gridwin4.cxx @@ -36,14 +36,14 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svtools/colorcfg.hxx> -#include <svx/colritem.hxx> -#include <svx/editview.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/scripttypeitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/editview.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/scripttypeitem.hxx> #include <sfx2/bindings.hxx> #include <sfx2/printer.hxx> @@ -74,6 +74,7 @@ #include "inputopt.hxx" #include "fillinfo.hxx" #include "dpcontrol.hxx" +#include "queryparam.hxx" #include "sc.hrc" #include <vcl/virdev.hxx> diff --git a/sc/source/ui/view/gridwin5.cxx b/sc/source/ui/view/gridwin5.cxx index f3d5b2781607..069598fe46a1 100644 --- a/sc/source/ui/view/gridwin5.cxx +++ b/sc/source/ui/view/gridwin5.cxx @@ -33,11 +33,11 @@ // INCLUDE --------------------------------------------------------------- -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/flditem.hxx> +#include <editeng/flditem.hxx> -#include <svx/editview.hxx> +#include <editeng/editview.hxx> #include <svx/svdobj.hxx> #include <svx/svdpagv.hxx> #include <svtools/imapobj.hxx> diff --git a/sc/source/ui/view/output.cxx b/sc/source/ui/view/output.cxx index 9d2da303988c..22a10777a1ff 100644 --- a/sc/source/ui/view/output.cxx +++ b/sc/source/ui/view/output.cxx @@ -36,13 +36,13 @@ #include <com/sun/star/embed/EmbedMisc.hpp> #include "scitems.hxx" -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/editdata.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/editdata.hxx> #include <svtools/colorcfg.hxx> #include <svx/rotmodit.hxx> -#include <svx/shaditem.hxx> -#include <svx/svxfont.hxx> +#include <editeng/shaditem.hxx> +#include <editeng/svxfont.hxx> #include <svx/svdoole2.hxx> #include <tools/poly.hxx> #include <vcl/svapp.hxx> diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx index 700c32e4698f..f4b9fed280d2 100644 --- a/sc/source/ui/view/output2.cxx +++ b/sc/source/ui/view/output2.cxx @@ -37,24 +37,24 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/adjitem.hxx> +#include <editeng/adjitem.hxx> #include <svx/algitem.hxx> -#include <svx/brshitem.hxx> +#include <editeng/brshitem.hxx> #include <svtools/colorcfg.hxx> -#include <svx/colritem.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> -#include <svx/fhgtitem.hxx> -#include <svx/forbiddencharacterstable.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/langitem.hxx> +#include <editeng/colritem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> +#include <editeng/fhgtitem.hxx> +#include <editeng/forbiddencharacterstable.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/langitem.hxx> #include <svx/rotmodit.hxx> -#include <svx/scripttypeitem.hxx> -#include <svx/udlnitem.hxx> -#include <svx/unolingu.hxx> +#include <editeng/scripttypeitem.hxx> +#include <editeng/udlnitem.hxx> +#include <editeng/unolingu.hxx> #include <svl/zforlist.hxx> #include <vcl/svapp.hxx> #include <vcl/metric.hxx> diff --git a/sc/source/ui/view/output3.cxx b/sc/source/ui/view/output3.cxx index ffc1112667f2..8f4bc6381679 100755 --- a/sc/source/ui/view/output3.cxx +++ b/sc/source/ui/view/output3.cxx @@ -35,7 +35,7 @@ // INCLUDE --------------------------------------------------------------- -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/svdograf.hxx> #include <svx/svdoole2.hxx> #include <svx/svdoutl.hxx> diff --git a/sc/source/ui/view/pgbrksh.cxx b/sc/source/ui/view/pgbrksh.cxx index 3ab72f37ac35..88f4307f9821 100644 --- a/sc/source/ui/view/pgbrksh.cxx +++ b/sc/source/ui/view/pgbrksh.cxx @@ -36,7 +36,7 @@ //------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <sfx2/app.hxx> #include <sfx2/objface.hxx> #include <sfx2/objsh.hxx> diff --git a/sc/source/ui/view/pivotsh.cxx b/sc/source/ui/view/pivotsh.cxx index 2039934a6e45..3be2187cf24e 100644 --- a/sc/source/ui/view/pivotsh.cxx +++ b/sc/source/ui/view/pivotsh.cxx @@ -36,7 +36,7 @@ //------------------------------------------------------------------ #include "scitems.hxx" -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <sfx2/app.hxx> #include <sfx2/objface.hxx> #include <sfx2/objsh.hxx> diff --git a/sc/source/ui/view/preview.cxx b/sc/source/ui/view/preview.cxx index 31121f35aa1b..4bedae499a21 100644 --- a/sc/source/ui/view/preview.cxx +++ b/sc/source/ui/view/preview.cxx @@ -36,12 +36,12 @@ // INCLUDE --------------------------------------------------------------- #include <tools/pstm.hxx> #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svtools/colorcfg.hxx> #include <svx/fmview.hxx> -#include <svx/sizeitem.hxx> +#include <editeng/sizeitem.hxx> #include <svx/svdpagv.hxx> #include <sfx2/bindings.hxx> #include <sfx2/viewfrm.hxx> @@ -68,9 +68,9 @@ #include "AccessibleDocumentPagePreview.hxx" #include <vcl/lineinfo.hxx> #include <svx/algitem.hxx> -#include <svx/lrspitem.hxx> -#include <svx/ulspitem.hxx> -#include <svx/sizeitem.hxx> +#include <editeng/lrspitem.hxx> +#include <editeng/ulspitem.hxx> +#include <editeng/sizeitem.hxx> #include "attrib.hxx" #include "pagepar.hxx" #include <com/sun/star/accessibility/XAccessible.hpp> diff --git a/sc/source/ui/view/prevwsh.cxx b/sc/source/ui/view/prevwsh.cxx index ebe58f5a0efc..97122976db6c 100644 --- a/sc/source/ui/view/prevwsh.cxx +++ b/sc/source/ui/view/prevwsh.cxx @@ -36,11 +36,11 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/app.hxx> -#include <svx/sizeitem.hxx> -#include <svx/srchitem.hxx> +#include <editeng/sizeitem.hxx> +#include <svl/srchitem.hxx> #include <svx/zoomslideritem.hxx> #include <svx/svdview.hxx> //CHINA001 #include <svx/zoom.hxx> diff --git a/sc/source/ui/view/printfun.cxx b/sc/source/ui/view/printfun.cxx index 9c8b1f1d4ce6..5a4510a92da2 100755 --- a/sc/source/ui/view/printfun.cxx +++ b/sc/source/ui/view/printfun.cxx @@ -34,25 +34,25 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include "printfun.hxx" #include <svx/svxids.hrc> -#include <svx/adjitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/brshitem.hxx> +#include <editeng/adjitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/brshitem.hxx> #include <svtools/colorcfg.hxx> -#include <svx/editstat.hxx> // EE_CNTRL_RTFSTYLESHEETS +#include <editeng/editstat.hxx> // EE_CNTRL_RTFSTYLESHEETS #include <svx/fmview.hxx> -#include <svx/frmdiritem.hxx> -#include <svx/lrspitem.hxx> -#include <svx/paperinf.hxx> -#include <svx/pbinitem.hxx> -#include <svx/shaditem.hxx> -#include <svx/sizeitem.hxx> +#include <editeng/frmdiritem.hxx> +#include <editeng/lrspitem.hxx> +#include <editeng/paperinf.hxx> +#include <editeng/pbinitem.hxx> +#include <editeng/shaditem.hxx> +#include <editeng/sizeitem.hxx> #include <svx/svdpagv.hxx> -#include <svx/ulspitem.hxx> +#include <editeng/ulspitem.hxx> #include <sfx2/app.hxx> #include <sfx2/printer.hxx> #include <sfx2/progress.hxx> diff --git a/sc/source/ui/view/selectionstate.cxx b/sc/source/ui/view/selectionstate.cxx index a3cdad1f046f..bf1fc61c4415 100644 --- a/sc/source/ui/view/selectionstate.cxx +++ b/sc/source/ui/view/selectionstate.cxx @@ -32,7 +32,7 @@ #include "precompiled_sc.hxx" #include "selectionstate.hxx" -#include <svx/editview.hxx> +#include <editeng/editview.hxx> #include "viewdata.hxx" // ============================================================================ diff --git a/sc/source/ui/view/spelldialog.cxx b/sc/source/ui/view/spelldialog.cxx index e2d02348fbcb..a06ee443b36b 100644 --- a/sc/source/ui/view/spelldialog.cxx +++ b/sc/source/ui/view/spelldialog.cxx @@ -36,9 +36,9 @@ #include <sfx2/bindings.hxx> #include <sfx2/dispatch.hxx> #include <svx/svxids.hrc> -#include <svx/editstat.hxx> -#include <svx/editview.hxx> -#include <svx/unolingu.hxx> +#include <editeng/editstat.hxx> +#include <editeng/editview.hxx> +#include <editeng/unolingu.hxx> #include "selectionstate.hxx" #include "spelleng.hxx" diff --git a/sc/source/ui/view/spelleng.cxx b/sc/source/ui/view/spelleng.cxx index 40b9ff5dbea7..41635da391c8 100644 --- a/sc/source/ui/view/spelleng.cxx +++ b/sc/source/ui/view/spelleng.cxx @@ -36,12 +36,12 @@ #include <memory> #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/langitem.hxx> -#include <svx/editobj.hxx> -#include <svx/editview.hxx> +#include <editeng/langitem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editview.hxx> #include <sfx2/viewfrm.hxx> #include <vcl/msgbox.hxx> #include <vcl/svapp.hxx> diff --git a/sc/source/ui/view/tabview2.cxx b/sc/source/ui/view/tabview2.cxx index 2caaae9146fb..b23561dade98 100644 --- a/sc/source/ui/view/tabview2.cxx +++ b/sc/source/ui/view/tabview2.cxx @@ -36,7 +36,7 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <vcl/timer.hxx> diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index a19760e4c277..2ee726908cdb 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -38,11 +38,11 @@ // INCLUDE --------------------------------------------------------------- #include <rangelst.hxx> #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/brshitem.hxx> -#include <svx/editview.hxx> +#include <editeng/brshitem.hxx> +#include <editeng/editview.hxx> #include <svx/fmshell.hxx> #include <svx/svdoole2.hxx> #include <sfx2/bindings.hxx> diff --git a/sc/source/ui/view/tabview5.cxx b/sc/source/ui/view/tabview5.cxx index 75e961d5eeec..bdfe58be4bbc 100644 --- a/sc/source/ui/view/tabview5.cxx +++ b/sc/source/ui/view/tabview5.cxx @@ -36,7 +36,7 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <svx/fmshell.hxx> diff --git a/sc/source/ui/view/tabvwsh.cxx b/sc/source/ui/view/tabvwsh.cxx index 4c73d14d51be..c3d20f967779 100644 --- a/sc/source/ui/view/tabvwsh.cxx +++ b/sc/source/ui/view/tabvwsh.cxx @@ -39,9 +39,11 @@ #include "scitems.hxx" #include <svx/galbrws.hxx> #include <svx/imapdlg.hxx> -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <sfx2/templdlg.hxx> #include <sfx2/objface.hxx> +#include <sfx2/viewfrm.hxx> +#include <sfx2/bindings.hxx> #include <sfx2/app.hxx> #include <avmedia/mediaplayer.hxx> @@ -109,4 +111,9 @@ SFX_IMPL_VIEWFACTORY( ScTabViewShell, ScResId(STR_NONAME) ) //------------------------------------------------------------------ - +IMPL_LINK( ScTabViewShell, HtmlOptionsHdl, void*, EMPTYARG ) +{ + // Invalidierung, falls blinkender Text erlaubt/verboten wurde + GetViewFrame()->GetBindings().Invalidate(SID_DRAW_TEXT_MARQUEE); + return 0; +} diff --git a/sc/source/ui/view/tabvwsh3.cxx b/sc/source/ui/view/tabvwsh3.cxx index c2812fdc4446..c43050997d72 100644 --- a/sc/source/ui/view/tabvwsh3.cxx +++ b/sc/source/ui/view/tabvwsh3.cxx @@ -36,7 +36,7 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/app.hxx> //CHINA001 #include <svx/zoom.hxx> diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx index 359c34ec3685..1f494bc90fa1 100644 --- a/sc/source/ui/view/tabvwsh4.cxx +++ b/sc/source/ui/view/tabvwsh4.cxx @@ -37,15 +37,15 @@ #include <sfx2/topfrm.hxx> #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/app.hxx> #include <svx/extrusionbar.hxx> #include <svx/fontworkbar.hxx> -#include <svx/boxitem.hxx> +#include <editeng/boxitem.hxx> #include <svx/fmshell.hxx> -#include <svx/sizeitem.hxx> -#include <svx/boxitem.hxx> +#include <editeng/sizeitem.hxx> +#include <editeng/boxitem.hxx> #include <svx/prtqry.hxx> #include <sfx2/request.hxx> #include <sfx2/printer.hxx> diff --git a/sc/source/ui/view/tabvwsh8.cxx b/sc/source/ui/view/tabvwsh8.cxx index 2acbeed257fa..6c62cc5b675c 100644 --- a/sc/source/ui/view/tabvwsh8.cxx +++ b/sc/source/ui/view/tabvwsh8.cxx @@ -36,7 +36,7 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/boxitem.hxx> +#include <editeng/boxitem.hxx> #include "tabvwsh.hxx" #include "document.hxx" diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx index 63f876cccf34..2021a27ef559 100644 --- a/sc/source/ui/view/tabvwsha.cxx +++ b/sc/source/ui/view/tabvwsha.cxx @@ -41,9 +41,9 @@ #include <svl/stritem.hxx> #include <svl/whiter.hxx> #include <svl/zformat.hxx> -#include <svx/boxitem.hxx> +#include <editeng/boxitem.hxx> #include <svx/numinf.hxx> -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <svx/zoomslideritem.hxx> #include <sfx2/bindings.hxx> #include <sfx2/viewfrm.hxx> diff --git a/sc/source/ui/view/tabvwshb.cxx b/sc/source/ui/view/tabvwshb.cxx index 72ffe6d5ab10..e7ada810799f 100644 --- a/sc/source/ui/view/tabvwshb.cxx +++ b/sc/source/ui/view/tabvwshb.cxx @@ -57,7 +57,7 @@ #include <svx/svdoole2.hxx> #include <svx/svdouno.hxx> #include <svx/svdview.hxx> -#include <svx/linkmgr.hxx> +#include <sfx2/linkmgr.hxx> #include <svx/fontworkbar.hxx> #include <sfx2/bindings.hxx> #include <sfx2/dispatch.hxx> diff --git a/sc/source/ui/view/tabvwshe.cxx b/sc/source/ui/view/tabvwshe.cxx index 9866a5aa0a0a..563d36bec2a5 100644 --- a/sc/source/ui/view/tabvwshe.cxx +++ b/sc/source/ui/view/tabvwshe.cxx @@ -34,13 +34,13 @@ // INCLUDE --------------------------------------------------------------- -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include "scitems.hxx" -#include <svx/editview.hxx> -#include <svx/flditem.hxx> +#include <editeng/editview.hxx> +#include <editeng/flditem.hxx> #include <svx/hlnkitem.hxx> -#include <svx/srchitem.hxx> +#include <svl/srchitem.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/viewfrm.hxx> #include <sfx2/request.hxx> diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index c23eb73e1f59..02bd7fdb6ed6 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -36,18 +36,18 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/viewfrm.hxx> -#include <svx/adjitem.hxx> +#include <editeng/adjitem.hxx> #include <svx/algitem.hxx> -#include <svx/brshitem.hxx> +#include <editeng/brshitem.hxx> #include <svtools/colorcfg.hxx> -#include <svx/editview.hxx> -#include <svx/editstat.hxx> -#include <svx/outliner.hxx> -#include <svx/unolingu.hxx> +#include <editeng/editview.hxx> +#include <editeng/editstat.hxx> +#include <editeng/outliner.hxx> +#include <editeng/unolingu.hxx> #include <vcl/svapp.hxx> #include <rtl/math.hxx> diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index 4c1bcc9e35fe..dbe9b840a345 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -36,15 +36,15 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/app.hxx> #define _SVSTDARR_STRINGS -#include <svx/boxitem.hxx> -#include <svx/fontitem.hxx> -#include <svx/scripttypeitem.hxx> -#include <svx/srchitem.hxx> -#include <svx/linkmgr.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/scripttypeitem.hxx> +#include <svl/srchitem.hxx> +#include <sfx2/linkmgr.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/docfilt.hxx> #include <sfx2/docfile.hxx> @@ -2408,7 +2408,7 @@ void ScViewFunc::ImportTables( ScDocShell* pSrcShell, if (bLink) { - SvxLinkManager* pLinkManager = pDoc->GetLinkManager(); + sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); SfxMedium* pMed = pSrcShell->GetMedium(); String aFileName = pMed->GetName(); diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx index b57653af5f9b..b274cd65ddbf 100644 --- a/sc/source/ui/view/viewfun4.cxx +++ b/sc/source/ui/view/viewfun4.cxx @@ -36,17 +36,16 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> -#include <svx/editobj.hxx> -#include <svx/editstat.hxx> -#include <svx/editview.hxx> -#include <svx/flditem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editstat.hxx> +#include <editeng/editview.hxx> +#include <editeng/flditem.hxx> #include <svx/hlnkitem.hxx> -#include <svx/langitem.hxx> +#include <editeng/langitem.hxx> #include <svx/svxerr.hxx> -#include <svx/impgrf.hxx> -#include <svx/unolingu.hxx> +#include <editeng/unolingu.hxx> #include <sfx2/bindings.hxx> #include <sfx2/dispatch.hxx> @@ -676,7 +675,7 @@ BOOL ScViewFunc::PasteFile( const Point& rPos, const String& rFile, BOOL bLink ) USHORT nFilterFormat; Graphic aGraphic; - GraphicFilter* pGraphicFilter = ::GetGrfFilter(); + GraphicFilter* pGraphicFilter = GraphicFilter::GetGraphicFilter(); // GraphicProgress aGraphicProgress(&aGraphicFilter); diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index a3e695e7a3f8..5d71b93a9f35 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -38,15 +38,15 @@ // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" -#include <svx/eeitem.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/app.hxx> #include <svx/algitem.hxx> -#include <svx/boxitem.hxx> -#include <svx/editobj.hxx> -#include <svx/editview.hxx> -#include <svx/langitem.hxx> -#include <svx/scripttypeitem.hxx> +#include <editeng/boxitem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/editview.hxx> +#include <editeng/langitem.hxx> +#include <editeng/scripttypeitem.hxx> #include <sfx2/bindings.hxx> #include <svl/zforlist.hxx> #include <svl/zformat.hxx> diff --git a/sc/source/ui/view/viewutil.cxx b/sc/source/ui/view/viewutil.cxx index cc51c48f67ed..e327ff32bbc8 100644 --- a/sc/source/ui/view/viewutil.cxx +++ b/sc/source/ui/view/viewutil.cxx @@ -39,10 +39,9 @@ #include <sfx2/bindings.hxx> #include <sfx2/viewsh.hxx> #include <sfx2/dispatch.hxx> -#include <svx/charmap.hxx> -#include <svx/fontitem.hxx> -#include <svx/langitem.hxx> -#include <svx/scripttypeitem.hxx> +#include <editeng/fontitem.hxx> +#include <editeng/langitem.hxx> +#include <editeng/scripttypeitem.hxx> #include <svl/itempool.hxx> #include <svl/itemset.hxx> #include <svl/cjkoptions.hxx> diff --git a/sc/util/makefile.mk b/sc/util/makefile.mk index 44d2ad9b490d..0687f93686e6 100644 --- a/sc/util/makefile.mk +++ b/sc/util/makefile.mk @@ -81,8 +81,8 @@ SHL1STDLIBS= \ $(SVTOOLLIB) \ $(SVLLIB) \ $(SVXCORELIB) \ + $(EDITENGLIB) \ $(SVXLIB) \ - $(GOODIESLIB) \ $(BASEGFXLIB) \ $(DRAWINGLAYERLIB) \ $(VCLLIB) \ @@ -187,6 +187,7 @@ SHL6STDLIBS= \ $(SVTOOLLIB) \ $(SVLLIB) \ $(SVXCORELIB) \ + $(EDITENGLIB) \ $(MSFILTERLIB) \ $(SVXLIB) \ $(BASEGFXLIB) \ @@ -215,6 +216,7 @@ DEF8NAME=$(SHL8TARGET) SHL8STDLIBS= \ $(ISCLIB) \ + $(EDITENGLIB) \ $(SVXCORELIB) \ $(SVXLIB) \ $(SFX2LIB) \ @@ -309,6 +311,7 @@ SHL9STDLIBS= \ $(SALLIB)\ $(BASICLIB) \ $(SFXLIB) \ + $(EDITENGLIB) \ $(SVXCORELIB) \ $(SVTOOLLIB) \ $(SVLLIB) \ |