summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chart2/inc/pch/precompiled_chart2.hxx22
-rw-r--r--chart2/prj/build.lst2
-rw-r--r--chart2/source/controller/accessibility/AccessibleBase.cxx8
-rw-r--r--chart2/source/controller/chartapiwrapper/WrappedSymbolProperties.cxx4
-rw-r--r--chart2/source/controller/dialogs/dlg_ObjectProperties.cxx2
-rw-r--r--chart2/source/controller/dialogs/res_DataLabel.cxx4
-rw-r--r--chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx2
-rw-r--r--chart2/source/controller/dialogs/tp_AxisLabel.cxx4
-rw-r--r--chart2/source/controller/dialogs/tp_LegendPosition.cxx4
-rw-r--r--chart2/source/controller/dialogs/tp_TitleRotation.cxx4
-rw-r--r--chart2/source/controller/drawinglayer/DrawViewWrapper.cxx2
-rw-r--r--chart2/source/controller/itemsetwrapper/CharacterPropertyItemConverter.cxx15
-rw-r--r--chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx4
-rw-r--r--chart2/source/controller/itemsetwrapper/GraphicPropertyItemConverter.cxx7
-rw-r--r--chart2/source/controller/itemsetwrapper/SchWhichPairs.hxx4
-rw-r--r--chart2/source/controller/main/ChartController_TextEdit.cxx2
-rw-r--r--chart2/source/controller/main/ChartController_Tools.cxx2
-rw-r--r--chart2/source/controller/makefile.mk2
-rw-r--r--chart2/source/model/main/ChartModel.hxx2
-rw-r--r--chart2/source/model/makefile.mk1
-rw-r--r--chart2/source/tools/ThreeDHelper.cxx2
-rw-r--r--chart2/source/view/axes/VCartesianAxis.cxx2
-rw-r--r--chart2/source/view/charttypes/AreaChart.cxx2
-rw-r--r--chart2/source/view/charttypes/BubbleChart.cxx2
-rw-r--r--chart2/source/view/charttypes/CandleStickChart.cxx2
-rw-r--r--chart2/source/view/charttypes/PieChart.cxx29
-rw-r--r--chart2/source/view/charttypes/PieChart.hxx4
-rw-r--r--chart2/source/view/charttypes/VSeriesPlotter.cxx2
-rw-r--r--chart2/source/view/diagram/VDiagram.cxx2
-rw-r--r--chart2/source/view/main/ChartItemPool.cxx8
-rw-r--r--chart2/source/view/main/DrawModelWrapper.cxx4
-rw-r--r--chart2/source/view/main/ShapeFactory.cxx2
-rw-r--r--chart2/source/view/makefile.mk1
-rw-r--r--sc/inc/autoform.hxx26
-rw-r--r--sc/inc/chart2uno.hxx8
-rw-r--r--sc/inc/chartlis.hxx4
-rw-r--r--sc/inc/column.hxx2
-rw-r--r--sc/inc/datauno.hxx6
-rw-r--r--sc/inc/dociter.hxx106
-rw-r--r--sc/inc/document.hxx16
-rw-r--r--sc/inc/dpcachetable.hxx1
-rw-r--r--sc/inc/dpshttab.hxx1
-rw-r--r--sc/inc/drawattr.hxx2
-rw-r--r--sc/inc/editsrc.hxx2
-rw-r--r--sc/inc/editutil.hxx2
-rw-r--r--sc/inc/fielduno.hxx2
-rw-r--r--sc/inc/forbiuno.hxx2
-rw-r--r--sc/inc/global.hxx41
-rw-r--r--sc/inc/patattr.hxx2
-rw-r--r--sc/inc/pch/precompiled_sc.hxx6
-rw-r--r--sc/inc/queryparam.hxx142
-rw-r--r--sc/inc/reftokenhelper.hxx8
-rw-r--r--sc/inc/scextopt.hxx2
-rw-r--r--sc/inc/servuno.hxx3
-rw-r--r--sc/inc/sheetdata.hxx2
-rw-r--r--sc/inc/table.hxx7
-rw-r--r--sc/inc/textuno.hxx2
-rw-r--r--sc/sdi/scslots.hrc2
-rw-r--r--sc/source/core/data/attarray.cxx10
-rw-r--r--sc/source/core/data/attrib.cxx12
-rw-r--r--sc/source/core/data/autonamecache.cxx1
-rw-r--r--sc/source/core/data/cell.cxx4
-rw-r--r--sc/source/core/data/cell2.cxx4
-rw-r--r--sc/source/core/data/column.cxx2
-rw-r--r--sc/source/core/data/column2.cxx16
-rwxr-xr-x[-rw-r--r--]sc/source/core/data/dociter.cxx467
-rw-r--r--sc/source/core/data/docpool.cxx54
-rw-r--r--sc/source/core/data/documen2.cxx14
-rw-r--r--sc/source/core/data/documen3.cxx6
-rw-r--r--sc/source/core/data/documen6.cxx2
-rw-r--r--sc/source/core/data/documen8.cxx20
-rw-r--r--sc/source/core/data/documen9.cxx10
-rw-r--r--sc/source/core/data/document.cxx48
-rw-r--r--sc/source/core/data/dpcachetable.cxx31
-rw-r--r--sc/source/core/data/dpoutput.cxx6
-rw-r--r--sc/source/core/data/drwlayer.cxx10
-rw-r--r--sc/source/core/data/fillinfo.cxx8
-rw-r--r--sc/source/core/data/global.cxx10
-rw-r--r--sc/source/core/data/global2.cxx232
-rw-r--r--sc/source/core/data/patattr.cxx44
-rw-r--r--sc/source/core/data/pivot2.cxx4
-rw-r--r--sc/source/core/data/poolhelp.cxx2
-rw-r--r--sc/source/core/data/postit.cxx4
-rw-r--r--sc/source/core/data/sortparam.cxx1
-rw-r--r--sc/source/core/data/stlpool.cxx24
-rw-r--r--sc/source/core/data/stlsheet.cxx14
-rw-r--r--sc/source/core/data/table1.cxx1
-rw-r--r--sc/source/core/data/table2.cxx2
-rw-r--r--sc/source/core/data/table3.cxx6
-rw-r--r--sc/source/core/data/table4.cxx32
-rw-r--r--sc/source/core/data/table6.cxx4
-rw-r--r--sc/source/core/inc/core_pch.hxx28
-rw-r--r--sc/source/core/inc/doubleref.hxx194
-rw-r--r--sc/source/core/inc/interpre.hxx6
-rw-r--r--sc/source/core/tool/autoform.cxx2
-rw-r--r--sc/source/core/tool/dbcolect.cxx1
-rw-r--r--sc/source/core/tool/ddelink.cxx4
-rw-r--r--sc/source/core/tool/detfunc.cxx10
-rw-r--r--sc/source/core/tool/doubleref.cxx568
-rw-r--r--sc/source/core/tool/editutil.cxx12
-rw-r--r--sc/source/core/tool/interpr1.cxx236
-rw-r--r--sc/source/core/tool/interpr2.cxx6
-rwxr-xr-x[-rw-r--r--]sc/source/core/tool/interpr4.cxx149
-rw-r--r--sc/source/core/tool/makefile.mk4
-rw-r--r--sc/source/core/tool/queryparam.cxx365
-rw-r--r--sc/source/filter/excel/colrowst.cxx1
-rw-r--r--sc/source/filter/excel/excdoc.cxx6
-rw-r--r--sc/source/filter/excel/excimp8.cxx32
-rw-r--r--sc/source/filter/excel/excrecds.cxx28
-rw-r--r--sc/source/filter/excel/exctools.cxx10
-rw-r--r--sc/source/filter/excel/fontbuff.cxx16
-rw-r--r--sc/source/filter/excel/impop.cxx14
-rw-r--r--sc/source/filter/excel/xecontent.cxx10
-rw-r--r--sc/source/filter/excel/xeescher.cxx4
-rw-r--r--sc/source/filter/excel/xehelper.cxx16
-rw-r--r--sc/source/filter/excel/xepage.cxx8
-rw-r--r--sc/source/filter/excel/xestream.cxx11
-rw-r--r--sc/source/filter/excel/xestyle.cxx14
-rw-r--r--sc/source/filter/excel/xichart.cxx61
-rw-r--r--sc/source/filter/excel/xicontent.cxx22
-rw-r--r--sc/source/filter/excel/xiescher.cxx20
-rw-r--r--sc/source/filter/excel/xihelper.cxx6
-rw-r--r--sc/source/filter/excel/xipage.cxx8
-rw-r--r--sc/source/filter/excel/xistyle.cxx34
-rw-r--r--sc/source/filter/excel/xlchart.cxx2
-rw-r--r--sc/source/filter/excel/xlpage.cxx6
-rw-r--r--sc/source/filter/excel/xlroot.cxx4
-rw-r--r--sc/source/filter/excel/xlstyle.cxx2
-rw-r--r--sc/source/filter/excel/xltools.cxx2
-rw-r--r--sc/source/filter/html/htmlexp.cxx26
-rw-r--r--sc/source/filter/html/htmlimp.cxx12
-rw-r--r--sc/source/filter/html/htmlpars.cxx27
-rw-r--r--sc/source/filter/inc/eeparser.hxx2
-rw-r--r--sc/source/filter/inc/excimp8.hxx2
-rw-r--r--sc/source/filter/inc/filt_pch.hxx14
-rw-r--r--sc/source/filter/inc/lotfntbf.hxx6
-rw-r--r--sc/source/filter/inc/xcl97rec.hxx13
-rw-r--r--sc/source/filter/inc/xestream.hxx3
-rw-r--r--sc/source/filter/inc/xestyle.hxx2
-rw-r--r--sc/source/filter/inc/xichart.hxx9
-rw-r--r--sc/source/filter/inc/xihelper.hxx2
-rw-r--r--sc/source/filter/inc/xlstyle.hxx4
-rw-r--r--sc/source/filter/lotus/lotattr.cxx4
-rw-r--r--sc/source/filter/lotus/op.cxx6
-rw-r--r--sc/source/filter/qpro/qprostyle.cxx12
-rw-r--r--sc/source/filter/rtf/eeimpars.cxx16
-rw-r--r--sc/source/filter/rtf/rtfexp.cxx12
-rw-r--r--sc/source/filter/rtf/rtfparse.cxx8
-rw-r--r--sc/source/filter/starcalc/scflt.cxx32
-rw-r--r--sc/source/filter/xcl97/xcl97esc.cxx2
-rw-r--r--sc/source/filter/xcl97/xcl97rec.cxx27
-rw-r--r--sc/source/filter/xml/XMLExportDataPilot.hxx1
-rw-r--r--sc/source/filter/xml/xmlannoi.hxx2
-rw-r--r--sc/source/filter/xml/xmlcelli.cxx8
-rw-r--r--sc/source/filter/xml/xmldpimp.hxx1
-rw-r--r--sc/source/filter/xml/xmlexprt.cxx6
-rw-r--r--sc/source/filter/xml/xmlfonte.cxx8
-rw-r--r--sc/source/ui/Accessibility/AccessibleCell.cxx4
-rw-r--r--sc/source/ui/Accessibility/AccessibleCellBase.cxx2
-rw-r--r--sc/source/ui/Accessibility/AccessibleCsvControl.cxx6
-rw-r--r--sc/source/ui/Accessibility/AccessibleEditObject.cxx6
-rw-r--r--sc/source/ui/Accessibility/AccessibleFilterMenu.cxx6
-rw-r--r--sc/source/ui/Accessibility/AccessiblePageHeader.cxx2
-rw-r--r--sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx2
-rw-r--r--sc/source/ui/Accessibility/AccessiblePreviewCell.cxx4
-rw-r--r--sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx2
-rw-r--r--sc/source/ui/Accessibility/AccessibleText.cxx12
-rw-r--r--sc/source/ui/app/drwtrans.cxx4
-rw-r--r--sc/source/ui/app/inputhdl.cxx28
-rw-r--r--sc/source/ui/app/inputwin.cxx18
-rw-r--r--sc/source/ui/app/scdll.cxx4
-rw-r--r--sc/source/ui/app/scmod.cxx8
-rw-r--r--sc/source/ui/app/scmod2.cxx2
-rw-r--r--sc/source/ui/app/transobj.cxx6
-rw-r--r--sc/source/ui/app/typemap.cxx38
-rw-r--r--sc/source/ui/app/uiitems.cxx2
-rw-r--r--sc/source/ui/attrdlg/attrdlg.cxx2
-rw-r--r--sc/source/ui/dbgui/csvgrid.cxx8
-rw-r--r--sc/source/ui/dbgui/foptmgr.cxx1
-rw-r--r--sc/source/ui/docshell/arealink.cxx4
-rw-r--r--sc/source/ui/docshell/docfunc.cxx8
-rw-r--r--sc/source/ui/docshell/docsh.cxx6
-rw-r--r--sc/source/ui/docshell/docsh2.cxx8
-rw-r--r--sc/source/ui/docshell/docsh3.cxx6
-rw-r--r--sc/source/ui/docshell/docsh4.cxx2
-rw-r--r--sc/source/ui/docshell/docsh6.cxx6
-rw-r--r--sc/source/ui/docshell/externalrefmgr.cxx7
-rw-r--r--sc/source/ui/docshell/servobj.cxx2
-rw-r--r--sc/source/ui/docshell/tablink.cxx4
-rw-r--r--sc/source/ui/drawfunc/chartsh.cxx4
-rw-r--r--sc/source/ui/drawfunc/drawsh.cxx4
-rw-r--r--sc/source/ui/drawfunc/drawsh2.cxx4
-rw-r--r--sc/source/ui/drawfunc/drawsh5.cxx2
-rw-r--r--sc/source/ui/drawfunc/drformsh.cxx4
-rw-r--r--sc/source/ui/drawfunc/drtxtob.cxx34
-rw-r--r--sc/source/ui/drawfunc/drtxtob1.cxx14
-rw-r--r--sc/source/ui/drawfunc/drtxtob2.cxx8
-rw-r--r--sc/source/ui/drawfunc/fuconcustomshape.cxx6
-rw-r--r--sc/source/ui/drawfunc/fuconrec.cxx2
-rw-r--r--sc/source/ui/drawfunc/fuconstr.cxx4
-rw-r--r--sc/source/ui/drawfunc/fudraw.cxx4
-rw-r--r--sc/source/ui/drawfunc/fuins1.cxx5
-rw-r--r--sc/source/ui/drawfunc/fupoor.cxx2
-rw-r--r--sc/source/ui/drawfunc/fusel.cxx6
-rw-r--r--sc/source/ui/drawfunc/fusel2.cxx2
-rw-r--r--sc/source/ui/drawfunc/futext.cxx6
-rw-r--r--sc/source/ui/drawfunc/futext3.cxx8
-rw-r--r--sc/source/ui/drawfunc/oleobjsh.cxx4
-rw-r--r--sc/source/ui/formdlg/dwfunctr.cxx2
-rw-r--r--sc/source/ui/inc/AccessibleCell.hxx2
-rw-r--r--sc/source/ui/inc/AccessibleCsvControl.hxx2
-rw-r--r--sc/source/ui/inc/AccessiblePageHeader.hxx2
-rw-r--r--sc/source/ui/inc/AccessiblePageHeaderArea.hxx2
-rw-r--r--sc/source/ui/inc/AccessibleText.hxx2
-rw-r--r--sc/source/ui/inc/editsh.hxx2
-rw-r--r--sc/source/ui/inc/inputhdl.hxx2
-rw-r--r--sc/source/ui/inc/msgpool.hxx2
-rw-r--r--sc/source/ui/inc/pfiltdlg.hxx2
-rw-r--r--sc/source/ui/inc/selectionstate.hxx2
-rw-r--r--sc/source/ui/inc/tabvwsh.hxx5
-rw-r--r--sc/source/ui/inc/ui_pch.hxx11
-rw-r--r--sc/source/ui/inc/uiitems.hxx1
-rw-r--r--sc/source/ui/inc/undodat.hxx1
-rw-r--r--sc/source/ui/miscdlgs/autofmt.cxx20
-rw-r--r--sc/source/ui/miscdlgs/scuiautofmt.cxx20
-rw-r--r--sc/source/ui/miscdlgs/textdlgs.cxx2
-rw-r--r--sc/source/ui/navipi/content.cxx6
-rw-r--r--sc/source/ui/pagedlg/scuitphfedit.cxx10
-rw-r--r--sc/source/ui/pagedlg/tphfedit.cxx12
-rw-r--r--sc/source/ui/styleui/styledlg.cxx2
-rw-r--r--sc/source/ui/undo/areasave.cxx10
-rw-r--r--sc/source/ui/undo/undobase.cxx1
-rw-r--r--sc/source/ui/undo/undoblk.cxx2
-rw-r--r--sc/source/ui/undo/undoblk3.cxx20
-rw-r--r--sc/source/ui/undo/undocell.cxx4
-rw-r--r--sc/source/ui/unoobj/afmtuno.cxx1
-rw-r--r--sc/source/ui/unoobj/cellsuno.cxx26
-rw-r--r--sc/source/ui/unoobj/chart2uno.cxx31
-rw-r--r--sc/source/ui/unoobj/defltuno.cxx2
-rw-r--r--sc/source/ui/unoobj/editsrc.cxx10
-rw-r--r--sc/source/ui/unoobj/fielduno.cxx8
-rw-r--r--sc/source/ui/unoobj/forbiuno.cxx2
-rw-r--r--sc/source/ui/unoobj/linkuno.cxx14
-rw-r--r--sc/source/ui/unoobj/notesuno.cxx9
-rw-r--r--sc/source/ui/unoobj/servuno.cxx78
-rw-r--r--sc/source/ui/unoobj/shapeuno.cxx2
-rw-r--r--sc/source/ui/unoobj/srchuno.cxx2
-rw-r--r--sc/source/ui/unoobj/styleuno.cxx11
-rw-r--r--sc/source/ui/unoobj/textuno.cxx20
-rw-r--r--sc/source/ui/unoobj/viewuno.cxx2
-rw-r--r--sc/source/ui/vba/vbarange.cxx2
-rw-r--r--sc/source/ui/view/auditsh.cxx2
-rw-r--r--sc/source/ui/view/cellsh.cxx2
-rw-r--r--sc/source/ui/view/cellsh1.cxx2
-rw-r--r--sc/source/ui/view/drawview.cxx4
-rw-r--r--sc/source/ui/view/editsh.cxx28
-rw-r--r--sc/source/ui/view/formatsh.cxx26
-rw-r--r--sc/source/ui/view/gridwin.cxx12
-rwxr-xr-xsc/source/ui/view/gridwin3.cxx4
-rw-r--r--sc/source/ui/view/gridwin4.cxx11
-rw-r--r--sc/source/ui/view/gridwin5.cxx6
-rw-r--r--sc/source/ui/view/output.cxx10
-rw-r--r--sc/source/ui/view/output2.cxx26
-rwxr-xr-xsc/source/ui/view/output3.cxx2
-rw-r--r--sc/source/ui/view/pgbrksh.cxx2
-rw-r--r--sc/source/ui/view/pivotsh.cxx2
-rw-r--r--sc/source/ui/view/preview.cxx10
-rw-r--r--sc/source/ui/view/prevwsh.cxx6
-rwxr-xr-xsc/source/ui/view/printfun.cxx24
-rw-r--r--sc/source/ui/view/selectionstate.cxx2
-rw-r--r--sc/source/ui/view/spelldialog.cxx6
-rw-r--r--sc/source/ui/view/spelleng.cxx8
-rw-r--r--sc/source/ui/view/tabview2.cxx2
-rw-r--r--sc/source/ui/view/tabview3.cxx6
-rw-r--r--sc/source/ui/view/tabview5.cxx2
-rw-r--r--sc/source/ui/view/tabvwsh.cxx11
-rw-r--r--sc/source/ui/view/tabvwsh3.cxx2
-rw-r--r--sc/source/ui/view/tabvwsh4.cxx8
-rw-r--r--sc/source/ui/view/tabvwsh8.cxx2
-rw-r--r--sc/source/ui/view/tabvwsha.cxx4
-rw-r--r--sc/source/ui/view/tabvwshb.cxx2
-rw-r--r--sc/source/ui/view/tabvwshe.cxx8
-rw-r--r--sc/source/ui/view/viewdata.cxx14
-rw-r--r--sc/source/ui/view/viewfun2.cxx14
-rw-r--r--sc/source/ui/view/viewfun4.cxx17
-rw-r--r--sc/source/ui/view/viewfunc.cxx12
-rw-r--r--sc/source/ui/view/viewutil.cxx7
-rw-r--r--sc/util/makefile.mk5
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) \