summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/core/data/attarray.cxx8
-rw-r--r--sc/source/core/data/attrib.cxx2
-rw-r--r--sc/source/core/data/autonamecache.cxx2
-rw-r--r--sc/source/core/data/bcaslot.cxx5
-rw-r--r--sc/source/core/data/cell.cxx26
-rw-r--r--sc/source/core/data/cell2.cxx12
-rw-r--r--sc/source/core/data/clipparam.cxx35
-rw-r--r--sc/source/core/data/column.cxx246
-rw-r--r--sc/source/core/data/column2.cxx329
-rw-r--r--sc/source/core/data/column3.cxx22
-rw-r--r--sc/source/core/data/compressedarray.cxx199
-rw-r--r--sc/source/core/data/conditio.cxx204
-rw-r--r--sc/source/core/data/dbdocutl.cxx1
-rw-r--r--sc/source/core/data/dociter.cxx18
-rw-r--r--sc/source/core/data/docpool.cxx42
-rw-r--r--sc/source/core/data/documen2.cxx9
-rw-r--r--sc/source/core/data/documen3.cxx194
-rw-r--r--sc/source/core/data/documen5.cxx45
-rw-r--r--sc/source/core/data/documen6.cxx3
-rw-r--r--sc/source/core/data/documen8.cxx32
-rw-r--r--sc/source/core/data/documen9.cxx8
-rw-r--r--sc/source/core/data/document.cxx114
-rw-r--r--sc/source/core/data/dpcachetable.cxx78
-rw-r--r--sc/source/core/data/dpdimsave.cxx2
-rw-r--r--sc/source/core/data/dpglobal.cxx56
-rw-r--r--sc/source/core/data/dpgroup.cxx48
-rw-r--r--sc/source/core/data/dpobject.cxx696
-rw-r--r--sc/source/core/data/dpoutput.cxx97
-rw-r--r--sc/source/core/data/dpsave.cxx52
-rw-r--r--sc/source/core/data/dpsdbtab.cxx33
-rw-r--r--sc/source/core/data/dpshttab.cxx18
-rw-r--r--sc/source/core/data/dptabdat.cxx28
-rw-r--r--sc/source/core/data/dptablecache.cxx802
-rw-r--r--sc/source/core/data/dptabres.cxx53
-rw-r--r--sc/source/core/data/dptabsrc.cxx53
-rw-r--r--sc/source/core/data/drawpage.cxx4
-rw-r--r--sc/source/core/data/drwlayer.cxx517
-rw-r--r--sc/source/core/data/funcdesc.cxx858
-rw-r--r--sc/source/core/data/global.cxx839
-rw-r--r--sc/source/core/data/global2.cxx121
-rw-r--r--sc/source/core/data/globalx.cxx4
-rw-r--r--sc/source/core/data/makefile.mk117
-rw-r--r--sc/source/core/data/markarr.cxx1
-rw-r--r--sc/source/core/data/markdata.cxx13
-rw-r--r--sc/source/core/data/olinetab.cxx30
-rw-r--r--sc/source/core/data/patattr.cxx10
-rw-r--r--sc/source/core/data/postit.cxx1
-rw-r--r--sc/source/core/data/segmenttree.cxx64
-rw-r--r--sc/source/core/data/sheetevents.cxx3
-rw-r--r--sc/source/core/data/stlpool.cxx14
-rw-r--r--sc/source/core/data/stlsheet.cxx15
-rw-r--r--sc/source/core/data/table1.cxx26
-rw-r--r--sc/source/core/data/table2.cxx170
-rw-r--r--sc/source/core/data/table3.cxx17
-rw-r--r--sc/source/core/data/table4.cxx91
-rw-r--r--sc/source/core/data/table5.cxx18
-rw-r--r--sc/source/core/data/table6.cxx18
-rw-r--r--sc/source/core/data/tabprotection.cxx5
-rw-r--r--sc/source/core/data/validat.cxx22
-rw-r--r--sc/source/core/inc/ddelink.hxx4
-rw-r--r--sc/source/core/inc/interpre.hxx24
-rw-r--r--sc/source/core/inc/jumpmatrix.hxx4
-rw-r--r--sc/source/core/src/compiler.src4
-rw-r--r--sc/source/core/tool/addincfg.cxx2
-rw-r--r--sc/source/core/tool/addincol.cxx76
-rw-r--r--sc/source/core/tool/addinlis.cxx5
-rw-r--r--sc/source/core/tool/address.cxx16
-rw-r--r--sc/source/core/tool/appoptio.cxx14
-rw-r--r--sc/source/core/tool/autoform.cxx10
-rw-r--r--sc/source/core/tool/callform.cxx21
-rw-r--r--sc/source/core/tool/cellkeywords.inl6
-rw-r--r--sc/source/core/tool/chartarr.cxx96
-rw-r--r--sc/source/core/tool/charthelper.cxx25
-rw-r--r--sc/source/core/tool/chartlis.cxx24
-rw-r--r--sc/source/core/tool/chartpos.cxx54
-rw-r--r--sc/source/core/tool/chgtrack.cxx31
-rw-r--r--sc/source/core/tool/compiler.cxx49
-rw-r--r--sc/source/core/tool/consoli.cxx18
-rw-r--r--sc/source/core/tool/ddelink.cxx18
-rw-r--r--sc/source/core/tool/detfunc.cxx44
-rw-r--r--sc/source/core/tool/docoptio.cxx39
-rw-r--r--sc/source/core/tool/doubleref.cxx4
-rw-r--r--sc/source/core/tool/editutil.cxx10
-rw-r--r--sc/source/core/tool/filtopt.cxx3
-rw-r--r--sc/source/core/tool/inputopt.cxx5
-rw-r--r--sc/source/core/tool/interpr1.cxx914
-rw-r--r--sc/source/core/tool/interpr2.cxx53
-rw-r--r--sc/source/core/tool/interpr3.cxx133
-rw-r--r--sc/source/core/tool/interpr4.cxx222
-rw-r--r--sc/source/core/tool/interpr5.cxx1899
-rw-r--r--sc/source/core/tool/makefile.mk56
-rw-r--r--sc/source/core/tool/navicfg.cxx2
-rw-r--r--sc/source/core/tool/odffmap.cxx2
-rw-r--r--sc/source/core/tool/optutil.cxx2
-rw-r--r--sc/source/core/tool/parclass.cxx13
-rw-r--r--sc/source/core/tool/printopt.cxx3
-rw-r--r--sc/source/core/tool/progress.cxx3
-rw-r--r--sc/source/core/tool/rangelst.cxx755
-rw-r--r--sc/source/core/tool/rangenam.cxx16
-rw-r--r--sc/source/core/tool/rangeseq.cxx16
-rw-r--r--sc/source/core/tool/rangeutl.cxx13
-rw-r--r--sc/source/core/tool/reffind.cxx2
-rw-r--r--sc/source/core/tool/reftokenhelper.cxx58
-rw-r--r--sc/source/core/tool/scmatrix.cxx1481
-rw-r--r--sc/source/core/tool/token.cxx17
-rw-r--r--sc/source/core/tool/unitconv.cxx9
-rw-r--r--sc/source/core/tool/userlist.cxx2
-rw-r--r--sc/source/core/tool/viewopti.cxx24
-rw-r--r--sc/source/core/tool/zforauto.cxx2
-rw-r--r--sc/source/filter/dif/makefile.mk6
-rw-r--r--sc/source/filter/excel/colrowst.cxx11
-rw-r--r--sc/source/filter/excel/excdoc.cxx11
-rw-r--r--sc/source/filter/excel/excform.cxx4
-rw-r--r--sc/source/filter/excel/excform8.cxx2
-rw-r--r--sc/source/filter/excel/excimp8.cxx131
-rw-r--r--sc/source/filter/excel/impop.cxx14
-rw-r--r--sc/source/filter/excel/makefile.mk123
-rw-r--r--sc/source/filter/excel/read.cxx1
-rw-r--r--sc/source/filter/excel/xechart.cxx64
-rw-r--r--sc/source/filter/excel/xecontent.cxx35
-rw-r--r--sc/source/filter/excel/xeescher.cxx45
-rw-r--r--sc/source/filter/excel/xeformula.cxx30
-rw-r--r--sc/source/filter/excel/xehelper.cxx35
-rw-r--r--sc/source/filter/excel/xelink.cxx24
-rw-r--r--sc/source/filter/excel/xename.cxx20
-rw-r--r--sc/source/filter/excel/xepivot.cxx15
-rw-r--r--sc/source/filter/excel/xeroot.cxx32
-rw-r--r--sc/source/filter/excel/xestream.cxx23
-rw-r--r--sc/source/filter/excel/xestyle.cxx96
-rw-r--r--sc/source/filter/excel/xetable.cxx30
-rw-r--r--sc/source/filter/excel/xichart.cxx298
-rw-r--r--sc/source/filter/excel/xicontent.cxx71
-rw-r--r--sc/source/filter/excel/xiescher.cxx75
-rw-r--r--sc/source/filter/excel/xihelper.cxx20
-rw-r--r--sc/source/filter/excel/xilink.cxx119
-rw-r--r--sc/source/filter/excel/xiname.cxx20
-rw-r--r--sc/source/filter/excel/xipivot.cxx12
-rw-r--r--sc/source/filter/excel/xiroot.cxx20
-rw-r--r--sc/source/filter/excel/xistream.cxx6
-rw-r--r--sc/source/filter/excel/xistyle.cxx180
-rw-r--r--sc/source/filter/excel/xlchart.cxx13
-rw-r--r--sc/source/filter/excel/xlformula.cxx2
-rw-r--r--sc/source/filter/excel/xlpage.cxx3
-rw-r--r--sc/source/filter/excel/xlroot.cxx5
-rw-r--r--sc/source/filter/excel/xlstyle.cxx9
-rw-r--r--sc/source/filter/excel/xltoolbar.cxx15
-rw-r--r--sc/source/filter/excel/xltools.cxx11
-rw-r--r--sc/source/filter/ftools/fprogressbar.cxx9
-rw-r--r--sc/source/filter/ftools/makefile.mk6
-rw-r--r--sc/source/filter/html/htmlexp.cxx57
-rw-r--r--sc/source/filter/html/htmlexp2.cxx10
-rw-r--r--sc/source/filter/html/htmlimp.cxx4
-rw-r--r--sc/source/filter/html/htmlpars.cxx117
-rw-r--r--sc/source/filter/html/makefile.mk11
-rw-r--r--sc/source/filter/inc/eeparser.hxx48
-rw-r--r--sc/source/filter/inc/excdoc.hxx3
-rw-r--r--sc/source/filter/inc/excrecds.hxx3
-rw-r--r--sc/source/filter/inc/expbase.hxx4
-rw-r--r--sc/source/filter/inc/fapihelper.hxx2
-rw-r--r--sc/source/filter/inc/fprogressbar.hxx10
-rw-r--r--sc/source/filter/inc/ftools.hxx232
-rw-r--r--sc/source/filter/inc/htmlexp.hxx6
-rw-r--r--sc/source/filter/inc/htmlpars.hxx6
-rw-r--r--sc/source/filter/inc/imp_op.hxx8
-rw-r--r--sc/source/filter/inc/rtfparse.hxx4
-rw-r--r--sc/source/filter/inc/xechart.hxx67
-rw-r--r--sc/source/filter/inc/xeescher.hxx17
-rw-r--r--sc/source/filter/inc/xeformula.hxx3
-rw-r--r--sc/source/filter/inc/xehelper.hxx24
-rw-r--r--sc/source/filter/inc/xelink.hxx3
-rw-r--r--sc/source/filter/inc/xename.hxx3
-rw-r--r--sc/source/filter/inc/xerecord.hxx3
-rw-r--r--sc/source/filter/inc/xeroot.hxx35
-rw-r--r--sc/source/filter/inc/xestream.hxx4
-rw-r--r--sc/source/filter/inc/xestyle.hxx3
-rw-r--r--sc/source/filter/inc/xetable.hxx20
-rw-r--r--sc/source/filter/inc/xichart.hxx104
-rw-r--r--sc/source/filter/inc/xicontent.hxx32
-rw-r--r--sc/source/filter/inc/xiescher.hxx42
-rw-r--r--sc/source/filter/inc/xiformula.hxx3
-rw-r--r--sc/source/filter/inc/xihelper.hxx26
-rw-r--r--sc/source/filter/inc/xiname.hxx4
-rw-r--r--sc/source/filter/inc/xipivot.hxx13
-rw-r--r--sc/source/filter/inc/xiroot.hxx47
-rw-r--r--sc/source/filter/inc/xistream.hxx3
-rw-r--r--sc/source/filter/inc/xistyle.hxx61
-rw-r--r--sc/source/filter/inc/xlchart.hxx11
-rw-r--r--sc/source/filter/inc/xlformula.hxx3
-rw-r--r--sc/source/filter/inc/xlpage.hxx3
-rw-r--r--sc/source/filter/inc/xlroot.hxx17
-rw-r--r--sc/source/filter/inc/xltools.hxx8
-rw-r--r--sc/source/filter/inc/xlview.hxx3
-rw-r--r--sc/source/filter/lotus/lotform.cxx2
-rw-r--r--sc/source/filter/lotus/makefile.mk24
-rw-r--r--sc/source/filter/lotus/op.cxx2
-rw-r--r--sc/source/filter/qpro/makefile.mk11
-rw-r--r--sc/source/filter/qpro/qproform.cxx2
-rw-r--r--sc/source/filter/rtf/eeimpars.cxx47
-rw-r--r--sc/source/filter/rtf/expbase.cxx4
-rw-r--r--sc/source/filter/rtf/makefile.mk7
-rw-r--r--sc/source/filter/rtf/rtfparse.cxx78
-rw-r--r--sc/source/filter/starcalc/makefile.mk7
-rw-r--r--sc/source/filter/xcl97/XclExpChangeTrack.cxx48
-rw-r--r--sc/source/filter/xcl97/makefile.mk13
-rw-r--r--sc/source/filter/xcl97/xcl97rec.cxx46
-rw-r--r--sc/source/filter/xml/XMLCalculationSettingsContext.cxx3
-rw-r--r--sc/source/filter/xml/XMLConsolidationContext.cxx2
-rw-r--r--sc/source/filter/xml/XMLConverter.cxx2
-rw-r--r--sc/source/filter/xml/XMLDDELinksContext.cxx2
-rw-r--r--sc/source/filter/xml/XMLDetectiveContext.cxx3
-rw-r--r--sc/source/filter/xml/XMLExportDDELinks.cxx124
-rw-r--r--sc/source/filter/xml/XMLExportDDELinks.hxx5
-rw-r--r--sc/source/filter/xml/XMLExportDataPilot.cxx6
-rw-r--r--sc/source/filter/xml/XMLExportDatabaseRanges.cxx3
-rw-r--r--sc/source/filter/xml/XMLExportIterator.cxx1
-rw-r--r--sc/source/filter/xml/XMLExportIterator.hxx6
-rw-r--r--sc/source/filter/xml/XMLExportSharedData.cxx4
-rw-r--r--sc/source/filter/xml/XMLExportSharedData.hxx6
-rw-r--r--sc/source/filter/xml/XMLStylesExportHelper.cxx70
-rw-r--r--sc/source/filter/xml/XMLStylesExportHelper.hxx43
-rw-r--r--sc/source/filter/xml/XMLStylesImportHelper.cxx64
-rw-r--r--sc/source/filter/xml/XMLStylesImportHelper.hxx6
-rw-r--r--sc/source/filter/xml/XMLTableHeaderFooterContext.cxx8
-rw-r--r--sc/source/filter/xml/XMLTableShapeImportHelper.cxx54
-rw-r--r--sc/source/filter/xml/XMLTableShapeResizer.cxx296
-rw-r--r--sc/source/filter/xml/XMLTableShapeResizer.hxx37
-rw-r--r--sc/source/filter/xml/XMLTableSourceContext.cxx3
-rw-r--r--sc/source/filter/xml/cachedattraccess.cxx70
-rw-r--r--sc/source/filter/xml/cachedattraccess.hxx63
-rw-r--r--sc/source/filter/xml/makefile.mk1
-rw-r--r--sc/source/filter/xml/xmlbodyi.cxx5
-rw-r--r--sc/source/filter/xml/xmlcoli.cxx3
-rw-r--r--sc/source/filter/xml/xmlexprt.cxx634
-rw-r--r--sc/source/filter/xml/xmlexprt.hxx12
-rw-r--r--sc/source/filter/xml/xmlimprt.cxx313
-rw-r--r--sc/source/filter/xml/xmlimprt.hxx12
-rw-r--r--sc/source/filter/xml/xmlrowi.cxx3
-rw-r--r--sc/source/filter/xml/xmlsceni.cxx4
-rw-r--r--sc/source/filter/xml/xmlsorti.cxx14
-rw-r--r--sc/source/filter/xml/xmlstyle.cxx12
-rw-r--r--sc/source/filter/xml/xmlstyli.cxx1
-rw-r--r--sc/source/filter/xml/xmlsubti.cxx289
-rw-r--r--sc/source/filter/xml/xmlsubti.hxx30
-rw-r--r--sc/source/filter/xml/xmltabi.cxx117
-rw-r--r--sc/source/filter/xml/xmlwrap.cxx7
-rw-r--r--sc/source/ui/Accessibility/AccessibleContextBase.cxx1
-rw-r--r--sc/source/ui/Accessibility/AccessibleCsvControl.cxx7
-rw-r--r--sc/source/ui/Accessibility/AccessibleDataPilotControl.cxx10
-rw-r--r--sc/source/ui/Accessibility/AccessibleDocument.cxx33
-rw-r--r--sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx168
-rw-r--r--sc/source/ui/Accessibility/AccessibleFilterMenu.cxx2
-rw-r--r--sc/source/ui/Accessibility/AccessibleFilterMenuItem.cxx4
-rw-r--r--sc/source/ui/Accessibility/AccessibleFilterTopWindow.cxx2
-rw-r--r--sc/source/ui/Accessibility/AccessiblePreviewTable.cxx62
-rw-r--r--sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx22
-rw-r--r--sc/source/ui/Accessibility/AccessibleTableBase.cxx7
-rw-r--r--sc/source/ui/Accessibility/AccessibleText.cxx47
-rw-r--r--sc/source/ui/Accessibility/makefile.mk60
-rw-r--r--sc/source/ui/app/client.cxx10
-rw-r--r--sc/source/ui/app/drwtrans.cxx9
-rw-r--r--sc/source/ui/app/inputhdl.cxx39
-rw-r--r--sc/source/ui/app/inputwin.cxx81
-rw-r--r--sc/source/ui/app/makefile.mk30
-rw-r--r--sc/source/ui/app/msgpool.cxx6
-rw-r--r--sc/source/ui/app/rfindlst.cxx2
-rw-r--r--sc/source/ui/app/scdll.cxx11
-rw-r--r--sc/source/ui/app/scmod.cxx10
-rw-r--r--sc/source/ui/app/scmod2.cxx5
-rw-r--r--sc/source/ui/app/seltrans.cxx3
-rw-r--r--sc/source/ui/app/template.cxx2
-rw-r--r--sc/source/ui/app/transobj.cxx14
-rw-r--r--sc/source/ui/app/uiitems.cxx80
-rw-r--r--sc/source/ui/attrdlg/attrdlg.cxx4
-rw-r--r--sc/source/ui/attrdlg/condfrmt.cxx62
-rw-r--r--sc/source/ui/attrdlg/makefile.mk12
-rw-r--r--sc/source/ui/attrdlg/scdlgfact.cxx452
-rw-r--r--sc/source/ui/attrdlg/scdlgfact.hxx12
-rw-r--r--sc/source/ui/attrdlg/tabpages.cxx12
-rw-r--r--sc/source/ui/cctrl/cbuttonw.cxx2
-rw-r--r--sc/source/ui/cctrl/dpcontrol.cxx4
-rw-r--r--sc/source/ui/cctrl/makefile.mk13
-rw-r--r--sc/source/ui/cctrl/popmenu.cxx2
-rw-r--r--sc/source/ui/cctrl/tbinsert.cxx106
-rw-r--r--sc/source/ui/cctrl/tbzoomsliderctrl.cxx9
-rw-r--r--sc/source/ui/dbgui/asciiopt.cxx4
-rw-r--r--sc/source/ui/dbgui/asciiopt.hrc11
-rw-r--r--sc/source/ui/dbgui/asciiopt.src45
-rw-r--r--sc/source/ui/dbgui/consdlg.cxx6
-rw-r--r--sc/source/ui/dbgui/consdlg.hrc1
-rw-r--r--sc/source/ui/dbgui/consdlg.src1
-rw-r--r--sc/source/ui/dbgui/csvgrid.cxx44
-rw-r--r--sc/source/ui/dbgui/csvruler.cxx8
-rw-r--r--sc/source/ui/dbgui/csvtablebox.cxx44
-rw-r--r--sc/source/ui/dbgui/dapidata.cxx6
-rw-r--r--sc/source/ui/dbgui/dapitype.hrc1
-rw-r--r--sc/source/ui/dbgui/dapitype.src21
-rw-r--r--sc/source/ui/dbgui/dbnamdlg.cxx21
-rw-r--r--sc/source/ui/dbgui/dpgroupdlg.hrc1
-rw-r--r--sc/source/ui/dbgui/dpgroupdlg.src1
-rw-r--r--sc/source/ui/dbgui/dpuiglobal.hxx43
-rw-r--r--sc/source/ui/dbgui/expftext.cxx4
-rw-r--r--sc/source/ui/dbgui/fieldwnd.cxx1464
-rw-r--r--sc/source/ui/dbgui/filtdlg.cxx6
-rw-r--r--sc/source/ui/dbgui/imoptdlg.hrc3
-rw-r--r--sc/source/ui/dbgui/imoptdlg.src19
-rw-r--r--sc/source/ui/dbgui/makefile.mk58
-rw-r--r--sc/source/ui/dbgui/outline.src9
-rw-r--r--sc/source/ui/dbgui/pfiltdlg.cxx4
-rw-r--r--sc/source/ui/dbgui/pivot.hrc4
-rw-r--r--sc/source/ui/dbgui/pivot.src91
-rw-r--r--sc/source/ui/dbgui/pvfundlg.hrc4
-rw-r--r--sc/source/ui/dbgui/pvglob.hxx45
-rw-r--r--sc/source/ui/dbgui/pvlaydlg.cxx1245
-rw-r--r--sc/source/ui/dbgui/scendlg.cxx2
-rw-r--r--sc/source/ui/dbgui/scendlg.hrc2
-rw-r--r--sc/source/ui/dbgui/scendlg.src38
-rw-r--r--sc/source/ui/dbgui/scuiasciiopt.cxx51
-rw-r--r--sc/source/ui/dbgui/scuiimoptdlg.cxx6
-rw-r--r--sc/source/ui/dbgui/sfiltdlg.cxx6
-rw-r--r--sc/source/ui/dbgui/sortdlg.cxx6
-rw-r--r--sc/source/ui/dbgui/textimportoptions.src1
-rw-r--r--sc/source/ui/dbgui/tpsort.cxx37
-rw-r--r--sc/source/ui/dbgui/tpsubt.cxx36
-rw-r--r--sc/source/ui/dbgui/validate.cxx28
-rw-r--r--sc/source/ui/dbgui/validate.src91
-rw-r--r--sc/source/ui/docshell/arealink.cxx9
-rw-r--r--sc/source/ui/docshell/dbdocfun.cxx5
-rw-r--r--sc/source/ui/docshell/dbdocimp.cxx15
-rw-r--r--sc/source/ui/docshell/docfunc.cxx50
-rw-r--r--sc/source/ui/docshell/docsh.cxx168
-rw-r--r--sc/source/ui/docshell/docsh2.cxx41
-rw-r--r--sc/source/ui/docshell/docsh3.cxx13
-rw-r--r--sc/source/ui/docshell/docsh4.cxx45
-rw-r--r--sc/source/ui/docshell/docsh5.cxx51
-rw-r--r--sc/source/ui/docshell/docsh6.cxx8
-rw-r--r--sc/source/ui/docshell/docsh8.cxx47
-rw-r--r--sc/source/ui/docshell/externalrefmgr.cxx165
-rw-r--r--sc/source/ui/docshell/impex.cxx58
-rw-r--r--sc/source/ui/docshell/makefile.mk50
-rw-r--r--sc/source/ui/docshell/servobj.cxx6
-rw-r--r--sc/source/ui/docshell/tablink.cxx24
-rw-r--r--sc/source/ui/docshell/tpstat.cxx8
-rw-r--r--sc/source/ui/docshell/tpstat.src33
-rw-r--r--sc/source/ui/drawfunc/drawsh.cxx3
-rw-r--r--sc/source/ui/drawfunc/drawsh2.cxx2
-rw-r--r--sc/source/ui/drawfunc/drawsh5.cxx30
-rw-r--r--sc/source/ui/drawfunc/drformsh.src32
-rw-r--r--sc/source/ui/drawfunc/drtxtob.cxx14
-rw-r--r--sc/source/ui/drawfunc/drtxtob2.cxx4
-rw-r--r--sc/source/ui/drawfunc/fuconarc.cxx8
-rw-r--r--sc/source/ui/drawfunc/fuconcustomshape.cxx8
-rw-r--r--sc/source/ui/drawfunc/fuconpol.cxx8
-rw-r--r--sc/source/ui/drawfunc/fuconrec.cxx8
-rw-r--r--sc/source/ui/drawfunc/fuconstr.cxx8
-rw-r--r--sc/source/ui/drawfunc/fuconuno.cxx8
-rw-r--r--sc/source/ui/drawfunc/fudraw.cxx43
-rw-r--r--sc/source/ui/drawfunc/fuins1.cxx2
-rw-r--r--sc/source/ui/drawfunc/fuins2.cxx35
-rw-r--r--sc/source/ui/drawfunc/fusel.cxx8
-rw-r--r--sc/source/ui/drawfunc/futext.cxx75
-rw-r--r--sc/source/ui/drawfunc/futext2.cxx132
-rw-r--r--sc/source/ui/drawfunc/makefile.mk49
-rw-r--r--sc/source/ui/formdlg/dwfunctr.cxx93
-rw-r--r--sc/source/ui/formdlg/dwfunctr.hrc4
-rw-r--r--sc/source/ui/formdlg/dwfunctr.src36
-rw-r--r--sc/source/ui/formdlg/formdlgs.src1
-rw-r--r--sc/source/ui/formdlg/formula.cxx12
-rw-r--r--sc/source/ui/formdlg/makefile.mk11
-rw-r--r--sc/source/ui/formdlg/privsplt.cxx16
-rw-r--r--sc/source/ui/inc/AccessibleDataPilotControl.hxx6
-rw-r--r--sc/source/ui/inc/IAnyRefDialog.hxx6
-rw-r--r--sc/source/ui/inc/acredlin.hrc8
-rw-r--r--sc/source/ui/inc/anyrefdg.hxx32
-rw-r--r--sc/source/ui/inc/attrdlg.hrc2
-rw-r--r--sc/source/ui/inc/condfrmt.hrc1
-rw-r--r--sc/source/ui/inc/content.hxx1
-rw-r--r--sc/source/ui/inc/crnrdlg.hrc5
-rw-r--r--sc/source/ui/inc/csvgrid.hxx5
-rw-r--r--sc/source/ui/inc/csvtablebox.hxx5
-rw-r--r--sc/source/ui/inc/dbfunc.hxx3
-rw-r--r--sc/source/ui/inc/dbnamdlg.hrc1
-rw-r--r--sc/source/ui/inc/dbnamdlg.hxx2
-rw-r--r--sc/source/ui/inc/docfunc.hxx4
-rw-r--r--sc/source/ui/inc/docsh.hxx6
-rw-r--r--sc/source/ui/inc/drawview.hxx16
-rw-r--r--sc/source/ui/inc/drtxtob.hxx3
-rw-r--r--sc/source/ui/inc/drwtrans.hxx3
-rw-r--r--sc/source/ui/inc/fieldwnd.hxx426
-rw-r--r--sc/source/ui/inc/filter.hrc1
-rw-r--r--sc/source/ui/inc/fusel.hxx3
-rw-r--r--sc/source/ui/inc/gridwin.hxx9
-rw-r--r--sc/source/ui/inc/highred.hrc11
-rw-r--r--sc/source/ui/inc/impex.hxx6
-rw-r--r--sc/source/ui/inc/instbdlg.hrc4
-rw-r--r--sc/source/ui/inc/linkarea.hrc1
-rw-r--r--sc/source/ui/inc/linkarea.hxx5
-rw-r--r--sc/source/ui/inc/miscdlgs.hrc25
-rw-r--r--sc/source/ui/inc/mvtabdlg.hxx38
-rw-r--r--sc/source/ui/inc/namedlg.hrc7
-rw-r--r--sc/source/ui/inc/navipi.hxx1
-rw-r--r--sc/source/ui/inc/optdlg.hrc17
-rw-r--r--sc/source/ui/inc/optload.hrc2
-rw-r--r--sc/source/ui/inc/optsolver.hrc3
-rw-r--r--sc/source/ui/inc/pfiltdlg.hxx3
-rw-r--r--sc/source/ui/inc/protectiondlg.hrc4
-rw-r--r--sc/source/ui/inc/pvlaydlg.hxx59
-rw-r--r--sc/source/ui/inc/reffact.hxx2
-rw-r--r--sc/source/ui/inc/rfindlst.hxx6
-rw-r--r--sc/source/ui/inc/select.hxx3
-rw-r--r--sc/source/ui/inc/simpref.hrc1
-rw-r--r--sc/source/ui/inc/solveroptions.hrc1
-rw-r--r--sc/source/ui/inc/solvrdlg.hrc1
-rw-r--r--sc/source/ui/inc/sortdlg.hrc13
-rw-r--r--sc/source/ui/inc/styledlg.hxx3
-rw-r--r--sc/source/ui/inc/subtdlg.hrc8
-rw-r--r--sc/source/ui/inc/subtdlg.hxx3
-rw-r--r--sc/source/ui/inc/tabopdlg.hrc2
-rw-r--r--sc/source/ui/inc/tabview.hxx5
-rw-r--r--sc/source/ui/inc/tbinsert.hrc2
-rw-r--r--sc/source/ui/inc/tpcalc.hxx1
-rw-r--r--sc/source/ui/inc/tphf.hxx2
-rw-r--r--sc/source/ui/inc/tptable.hxx2
-rw-r--r--sc/source/ui/inc/transobj.hxx2
-rw-r--r--sc/source/ui/inc/undotab.hxx31
-rw-r--r--sc/source/ui/inc/validate.hrc3
-rw-r--r--sc/source/ui/inc/validate.hxx55
-rw-r--r--sc/source/ui/inc/viewfunc.hxx2
-rw-r--r--sc/source/ui/miscdlgs/acredlin.cxx85
-rw-r--r--sc/source/ui/miscdlgs/acredlin.src51
-rw-r--r--sc/source/ui/miscdlgs/anyrefdg.cxx101
-rw-r--r--sc/source/ui/miscdlgs/autofmt.cxx3
-rw-r--r--sc/source/ui/miscdlgs/conflictsdlg.cxx21
-rw-r--r--sc/source/ui/miscdlgs/conflictsdlg.src1
-rw-r--r--sc/source/ui/miscdlgs/crdlg.cxx2
-rw-r--r--sc/source/ui/miscdlgs/crnrdlg.cxx71
-rw-r--r--sc/source/ui/miscdlgs/delcldlg.cxx2
-rw-r--r--sc/source/ui/miscdlgs/delcodlg.cxx2
-rw-r--r--sc/source/ui/miscdlgs/filldlg.cxx18
-rw-r--r--sc/source/ui/miscdlgs/groupdlg.cxx2
-rw-r--r--sc/source/ui/miscdlgs/highred.cxx23
-rw-r--r--sc/source/ui/miscdlgs/highred.src31
-rw-r--r--sc/source/ui/miscdlgs/inscldlg.cxx2
-rw-r--r--sc/source/ui/miscdlgs/inscodlg.cxx2
-rw-r--r--sc/source/ui/miscdlgs/instbdlg.cxx4
-rw-r--r--sc/source/ui/miscdlgs/instbdlg.src36
-rw-r--r--sc/source/ui/miscdlgs/lbseldlg.cxx2
-rw-r--r--sc/source/ui/miscdlgs/linkarea.cxx3
-rw-r--r--sc/source/ui/miscdlgs/makefile.mk68
-rw-r--r--sc/source/ui/miscdlgs/mtrindlg.cxx2
-rw-r--r--sc/source/ui/miscdlgs/mvtabdlg.cxx202
-rw-r--r--sc/source/ui/miscdlgs/optsolver.cxx12
-rw-r--r--sc/source/ui/miscdlgs/protectiondlg.cxx4
-rw-r--r--sc/source/ui/miscdlgs/protectiondlg.src10
-rw-r--r--sc/source/ui/miscdlgs/retypepassdlg.src3
-rw-r--r--sc/source/ui/miscdlgs/scuiautofmt.cxx4
-rw-r--r--sc/source/ui/miscdlgs/shtabdlg.cxx2
-rw-r--r--sc/source/ui/miscdlgs/simpref.cxx4
-rw-r--r--sc/source/ui/miscdlgs/solverutil.cxx5
-rw-r--r--sc/source/ui/miscdlgs/solvrdlg.cxx8
-rw-r--r--sc/source/ui/miscdlgs/strindlg.cxx2
-rw-r--r--sc/source/ui/miscdlgs/tabopdlg.cxx6
-rw-r--r--sc/source/ui/miscdlgs/textdlgs.cxx4
-rw-r--r--sc/source/ui/miscdlgs/warnbox.cxx11
-rw-r--r--sc/source/ui/namedlg/makefile.mk3
-rw-r--r--sc/source/ui/namedlg/namedlg.cxx14
-rw-r--r--sc/source/ui/navipi/content.cxx15
-rw-r--r--sc/source/ui/navipi/makefile.mk12
-rw-r--r--sc/source/ui/navipi/navcitem.cxx2
-rw-r--r--sc/source/ui/navipi/navipi.cxx79
-rw-r--r--sc/source/ui/navipi/navipi.hrc8
-rw-r--r--sc/source/ui/navipi/navipi.src101
-rw-r--r--sc/source/ui/optdlg/makefile.mk19
-rw-r--r--sc/source/ui/optdlg/opredlin.cxx72
-rw-r--r--sc/source/ui/optdlg/tpcalc.cxx13
-rw-r--r--sc/source/ui/optdlg/tpformula.cxx1
-rw-r--r--sc/source/ui/optdlg/tpusrlst.cxx12
-rw-r--r--sc/source/ui/optdlg/tpview.cxx63
-rw-r--r--sc/source/ui/pagedlg/areasdlg.cxx11
-rw-r--r--sc/source/ui/pagedlg/hfedtdlg.cxx4
-rw-r--r--sc/source/ui/pagedlg/hfedtdlg.hrc10
-rw-r--r--sc/source/ui/pagedlg/hfedtdlg.src110
-rw-r--r--sc/source/ui/pagedlg/makefile.mk20
-rw-r--r--sc/source/ui/pagedlg/pagedlg.hrc3
-rw-r--r--sc/source/ui/pagedlg/pagedlg.src41
-rw-r--r--sc/source/ui/pagedlg/scuitphfedit.cxx36
-rw-r--r--sc/source/ui/pagedlg/tphf.cxx18
-rw-r--r--sc/source/ui/pagedlg/tphf.src29
-rw-r--r--sc/source/ui/pagedlg/tphfedit.cxx144
-rw-r--r--sc/source/ui/pagedlg/tptable.cxx11
-rw-r--r--sc/source/ui/src/attrdlg.src39
-rw-r--r--sc/source/ui/src/autofmt.src42
-rw-r--r--sc/source/ui/src/condfrmt.src46
-rw-r--r--sc/source/ui/src/crnrdlg.src34
-rw-r--r--sc/source/ui/src/dbnamdlg.src21
-rw-r--r--sc/source/ui/src/globstr.src2
-rw-r--r--sc/source/ui/src/hdrcont.src37
-rw-r--r--sc/source/ui/src/miscdlgs.src205
-rw-r--r--sc/source/ui/src/opredlin.src37
-rw-r--r--sc/source/ui/src/optdlg.src5
-rw-r--r--sc/source/ui/src/optsolver.src2
-rw-r--r--sc/source/ui/src/pseudo.src34
-rw-r--r--sc/source/ui/src/sc.src4
-rw-r--r--sc/source/ui/src/scerrors.src3
-rw-r--r--sc/source/ui/src/scstring.src86
-rw-r--r--sc/source/ui/src/scwarngs.src39
-rw-r--r--sc/source/ui/src/simpref.src30
-rw-r--r--sc/source/ui/src/solveroptions.src2
-rw-r--r--sc/source/ui/src/solvrdlg.src1
-rw-r--r--sc/source/ui/src/sortdlg.src13
-rw-r--r--sc/source/ui/src/subtdlg.src54
-rw-r--r--sc/source/ui/src/tabopdlg.src1
-rw-r--r--sc/source/ui/src/textdlgs.src39
-rw-r--r--sc/source/ui/src/toolbox.src24
-rw-r--r--sc/source/ui/styleui/makefile.mk3
-rw-r--r--sc/source/ui/styleui/scstyles.src14
-rw-r--r--sc/source/ui/styleui/styledlg.cxx6
-rw-r--r--sc/source/ui/styleui/styledlg.src38
-rw-r--r--sc/source/ui/undo/areasave.cxx1
-rw-r--r--sc/source/ui/undo/makefile.mk23
-rw-r--r--sc/source/ui/undo/target.cxx2
-rw-r--r--sc/source/ui/undo/undobase.cxx34
-rw-r--r--sc/source/ui/undo/undoblk.cxx233
-rw-r--r--sc/source/ui/undo/undoblk2.cxx12
-rw-r--r--sc/source/ui/undo/undoblk3.cxx146
-rw-r--r--sc/source/ui/undo/undocell.cxx110
-rw-r--r--sc/source/ui/undo/undodat.cxx180
-rw-r--r--sc/source/ui/undo/undodraw.cxx95
-rw-r--r--sc/source/ui/undo/undostyl.cxx1
-rw-r--r--sc/source/ui/undo/undotab.cxx95
-rw-r--r--sc/source/ui/unoobj/ChartRangeSelectionListener.cxx10
-rw-r--r--sc/source/ui/unoobj/addruno.cxx33
-rw-r--r--sc/source/ui/unoobj/afmtuno.cxx6
-rw-r--r--sc/source/ui/unoobj/appluno.cxx47
-rw-r--r--sc/source/ui/unoobj/celllistsource.cxx2
-rw-r--r--sc/source/ui/unoobj/cellsuno.cxx378
-rw-r--r--sc/source/ui/unoobj/cellvaluebinding.cxx10
-rw-r--r--sc/source/ui/unoobj/chart2uno.cxx366
-rw-r--r--sc/source/ui/unoobj/chartuno.cxx22
-rw-r--r--sc/source/ui/unoobj/confuno.cxx9
-rw-r--r--sc/source/ui/unoobj/cursuno.cxx58
-rw-r--r--sc/source/ui/unoobj/dapiuno.cxx48
-rw-r--r--sc/source/ui/unoobj/datauno.cxx38
-rw-r--r--sc/source/ui/unoobj/docuno.cxx41
-rw-r--r--sc/source/ui/unoobj/eventuno.cxx6
-rw-r--r--sc/source/ui/unoobj/fielduno.cxx16
-rw-r--r--sc/source/ui/unoobj/filtuno.cxx6
-rw-r--r--sc/source/ui/unoobj/fmtuno.cxx4
-rw-r--r--sc/source/ui/unoobj/funcuno.cxx19
-rw-r--r--sc/source/ui/unoobj/linkuno.cxx10
-rw-r--r--sc/source/ui/unoobj/miscuno.cxx13
-rw-r--r--sc/source/ui/unoobj/nameuno.cxx16
-rw-r--r--sc/source/ui/unoobj/optuno.cxx3
-rw-r--r--sc/source/ui/unoobj/scdetect.cxx76
-rw-r--r--sc/source/ui/unoobj/servuno.cxx4
-rw-r--r--sc/source/ui/unoobj/shapeuno.cxx72
-rw-r--r--sc/source/ui/unoobj/srchuno.cxx8
-rw-r--r--sc/source/ui/unoobj/styleuno.cxx25
-rw-r--r--sc/source/ui/unoobj/targuno.cxx3
-rw-r--r--sc/source/ui/unoobj/textuno.cxx10
-rw-r--r--sc/source/ui/unoobj/tokenuno.cxx2
-rw-r--r--sc/source/ui/unoobj/viewuno.cxx41
-rw-r--r--sc/source/ui/vba/excelvbahelper.cxx2
-rw-r--r--sc/source/ui/vba/service.cxx25
-rw-r--r--sc/source/ui/vba/testvba/testvba.cxx40
-rw-r--r--sc/source/ui/vba/vbaapplication.cxx159
-rw-r--r--sc/source/ui/vba/vbaapplication.hxx18
-rw-r--r--sc/source/ui/vba/vbaassistant.cxx4
-rw-r--r--sc/source/ui/vba/vbaaxes.cxx4
-rw-r--r--sc/source/ui/vba/vbaaxis.cxx5
-rw-r--r--sc/source/ui/vba/vbachart.cxx8
-rw-r--r--sc/source/ui/vba/vbachart.hxx3
-rw-r--r--sc/source/ui/vba/vbachartobject.cxx2
-rw-r--r--sc/source/ui/vba/vbachartobject.hxx2
-rw-r--r--sc/source/ui/vba/vbachartobjects.cxx4
-rw-r--r--sc/source/ui/vba/vbadialog.cxx3
-rw-r--r--sc/source/ui/vba/vbadialog.hxx1
-rw-r--r--sc/source/ui/vba/vbadialogs.cxx1
-rw-r--r--sc/source/ui/vba/vbadialogs.hxx2
-rw-r--r--sc/source/ui/vba/vbaeventshelper.cxx4
-rw-r--r--sc/source/ui/vba/vbafiledialog.cxx2
-rw-r--r--sc/source/ui/vba/vbafilesearch.cxx14
-rw-r--r--sc/source/ui/vba/vbaformatconditions.hxx2
-rw-r--r--sc/source/ui/vba/vbaglobals.cxx6
-rw-r--r--sc/source/ui/vba/vbahelper.cxx6
-rw-r--r--sc/source/ui/vba/vbahyperlinks.cxx8
-rw-r--r--sc/source/ui/vba/vbainterior.cxx21
-rw-r--r--sc/source/ui/vba/vbainterior.hxx2
-rw-r--r--sc/source/ui/vba/vbamenubars.cxx2
-rw-r--r--sc/source/ui/vba/vbaname.cxx4
-rw-r--r--sc/source/ui/vba/vbanames.cxx6
-rw-r--r--sc/source/ui/vba/vbaoleobject.cxx12
-rw-r--r--sc/source/ui/vba/vbaoutline.cxx2
-rw-r--r--sc/source/ui/vba/vbapagebreaks.cxx4
-rw-r--r--sc/source/ui/vba/vbapagesetup.cxx10
-rw-r--r--sc/source/ui/vba/vbapagesetup.hxx4
-rw-r--r--sc/source/ui/vba/vbapane.cxx20
-rw-r--r--sc/source/ui/vba/vbapane.hxx2
-rw-r--r--sc/source/ui/vba/vbapropvalue.hxx2
-rw-r--r--sc/source/ui/vba/vbarange.cxx209
-rw-r--r--sc/source/ui/vba/vbarange.hxx14
-rw-r--r--sc/source/ui/vba/vbastyle.cxx2
-rw-r--r--sc/source/ui/vba/vbavalidation.cxx4
-rw-r--r--sc/source/ui/vba/vbawindow.cxx2
-rw-r--r--sc/source/ui/vba/vbawindows.cxx2
-rw-r--r--sc/source/ui/vba/vbaworkbook.cxx13
-rw-r--r--sc/source/ui/vba/vbaworkbooks.cxx4
-rw-r--r--sc/source/ui/vba/vbaworksheet.cxx15
-rw-r--r--sc/source/ui/vba/vbaworksheet.hxx2
-rw-r--r--sc/source/ui/vba/vbaworksheets.cxx2
-rw-r--r--sc/source/ui/view/cellsh.cxx27
-rw-r--r--sc/source/ui/view/cellsh1.cxx15
-rw-r--r--sc/source/ui/view/cellsh2.cxx12
-rw-r--r--sc/source/ui/view/cellsh3.cxx9
-rw-r--r--sc/source/ui/view/colrowba.cxx2
-rw-r--r--sc/source/ui/view/dbfunc3.cxx21
-rw-r--r--sc/source/ui/view/dbfunc4.cxx1
-rw-r--r--sc/source/ui/view/drawattr.cxx8
-rw-r--r--sc/source/ui/view/drawvie3.cxx54
-rw-r--r--sc/source/ui/view/drawview.cxx71
-rw-r--r--sc/source/ui/view/editsh.cxx4
-rw-r--r--sc/source/ui/view/formatsh.cxx30
-rw-r--r--sc/source/ui/view/galwrap.cxx2
-rw-r--r--sc/source/ui/view/gridwin.cxx119
-rw-r--r--sc/source/ui/view/gridwin2.cxx11
-rw-r--r--sc/source/ui/view/gridwin3.cxx45
-rw-r--r--sc/source/ui/view/gridwin4.cxx56
-rw-r--r--sc/source/ui/view/hdrcont.cxx14
-rw-r--r--sc/source/ui/view/hintwin.cxx2
-rw-r--r--sc/source/ui/view/makefile.mk150
-rw-r--r--sc/source/ui/view/olinewin.cxx4
-rw-r--r--sc/source/ui/view/olkact.cxx67
-rw-r--r--sc/source/ui/view/output.cxx16
-rw-r--r--sc/source/ui/view/output2.cxx26
-rw-r--r--sc/source/ui/view/output3.cxx4
-rw-r--r--sc/source/ui/view/pivotsh.cxx2
-rw-r--r--sc/source/ui/view/preview.cxx18
-rw-r--r--sc/source/ui/view/prevwsh.cxx49
-rw-r--r--sc/source/ui/view/prevwsh2.cxx135
-rw-r--r--sc/source/ui/view/printfun.cxx44
-rw-r--r--sc/source/ui/view/reffact.cxx37
-rw-r--r--sc/source/ui/view/select.cxx130
-rw-r--r--sc/source/ui/view/tabcont.cxx20
-rw-r--r--sc/source/ui/view/tabsplit.cxx8
-rw-r--r--sc/source/ui/view/tabview.cxx31
-rw-r--r--sc/source/ui/view/tabview2.cxx23
-rw-r--r--sc/source/ui/view/tabview3.cxx27
-rw-r--r--sc/source/ui/view/tabview4.cxx2
-rw-r--r--sc/source/ui/view/tabview5.cxx18
-rw-r--r--sc/source/ui/view/tabvwsh.cxx3
-rw-r--r--sc/source/ui/view/tabvwsh2.cxx2
-rw-r--r--sc/source/ui/view/tabvwsh3.cxx81
-rw-r--r--sc/source/ui/view/tabvwsh4.cxx49
-rw-r--r--sc/source/ui/view/tabvwsh5.cxx2
-rw-r--r--sc/source/ui/view/tabvwsh8.cxx2
-rw-r--r--sc/source/ui/view/tabvwsh9.cxx2
-rw-r--r--sc/source/ui/view/tabvwsha.cxx8
-rw-r--r--sc/source/ui/view/tabvwshb.cxx13
-rw-r--r--sc/source/ui/view/tabvwshe.cxx2
-rw-r--r--sc/source/ui/view/tabvwshf.cxx24
-rw-r--r--sc/source/ui/view/tabvwshg.cxx12
-rw-r--r--sc/source/ui/view/viewdata.cxx19
-rw-r--r--sc/source/ui/view/viewfun2.cxx124
-rw-r--r--sc/source/ui/view/viewfun3.cxx114
-rw-r--r--sc/source/ui/view/viewfun4.cxx15
-rw-r--r--sc/source/ui/view/viewfun5.cxx33
-rw-r--r--sc/source/ui/view/viewfun6.cxx32
-rw-r--r--sc/source/ui/view/viewfun7.cxx5
-rw-r--r--sc/source/ui/view/viewfunc.cxx31
-rw-r--r--sc/source/ui/view/viewutil.cxx9
669 files changed, 14871 insertions, 18043 deletions
diff --git a/sc/source/core/data/attarray.cxx b/sc/source/core/data/attarray.cxx
index e9793ae4d722..5e497a7b3957 100644
--- a/sc/source/core/data/attarray.cxx
+++ b/sc/source/core/data/attarray.cxx
@@ -234,14 +234,14 @@ BOOL ScAttrArray::Concat(SCSIZE nPos)
BOOL ScAttrArray::Search( SCROW nRow, SCSIZE& nIndex ) const
{
- long nLo = 0;
long nHi = static_cast<long>(nCount) - 1;
- long nStartRow = 0;
- long nEndRow = 0;
long i = 0;
BOOL bFound = (nCount == 1);
if (pData)
{
+ long nLo = 0;
+ long nStartRow = 0;
+ long nEndRow = 0;
while ( !bFound && nLo <= nHi )
{
i = (nLo + nHi) / 2;
@@ -818,8 +818,6 @@ void ScAttrArray::ApplyCacheArea( SCROW nStartRow, SCROW nEndRow, SfxItemPoolCac
}
else
{
-//!!!!!!!!!!!!!!!!!! mit diesem Remove gibt es Abstuerze (Calc1 Import)
-//! pDocument->GetPool()->Remove(*pNewPattern);
nStart = pData[nPos].nRow + 1;
++nPos;
}
diff --git a/sc/source/core/data/attrib.cxx b/sc/source/core/data/attrib.cxx
index 7924b4e2612f..a2183af0ac8b 100644
--- a/sc/source/core/data/attrib.cxx
+++ b/sc/source/core/data/attrib.cxx
@@ -77,7 +77,6 @@ TYPEINIT1(ScPageScaleToItem, SfxPoolItem);
BOOL ScHasPriority( const SvxBorderLine* pThis, const SvxBorderLine* pOther )
{
-// DBG_ASSERT( pThis || pOther, "LineAttr == 0" );
if (!pThis)
return FALSE;
@@ -1089,7 +1088,6 @@ int ScDoubleItem::operator==( const SfxPoolItem& rItem ) const
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
const ScDoubleItem& _rItem = (const ScDoubleItem&)rItem;
return int(nValue == _rItem.nValue);
- //int(nValue == ((const ScDoubleItem&)rItem).nValue);
}
//------------------------------------------------------------------------
diff --git a/sc/source/core/data/autonamecache.cxx b/sc/source/core/data/autonamecache.cxx
index 0b97623b7efb..039aedf2735c 100644
--- a/sc/source/core/data/autonamecache.cxx
+++ b/sc/source/core/data/autonamecache.cxx
@@ -52,7 +52,7 @@ ScAutoNameCache::~ScAutoNameCache()
{
}
-const ScAutoNameAddresses& ScAutoNameCache::GetNameOccurences( const String& rName, SCTAB nTab )
+const ScAutoNameAddresses& ScAutoNameCache::GetNameOccurrences( const String& rName, SCTAB nTab )
{
if ( nTab != nCurrentTab )
{
diff --git a/sc/source/core/data/bcaslot.cxx b/sc/source/core/data/bcaslot.cxx
index abd6f055b716..56d3be92ad5a 100644
--- a/sc/source/core/data/bcaslot.cxx
+++ b/sc/source/core/data/bcaslot.cxx
@@ -106,15 +106,12 @@ static SCSIZE initSlotDistribution( ScSlotDistribution & rSD, SCSIZE & rBSR )
// Must be sorted by row1,row2!
while (nRow2 <= MAXROWCOUNT)
{
- //fprintf( stderr, "r1,r2,slice,cum: %7zu, %7zu, %7zu, %7zu\n", (size_t)nRow1, (size_t)nRow2, (size_t)nSlice, (size_t)nSlots);
- // {0,32k,128,0;32k,64k,256,0+256;64k,128k,512,0+256+128;128k,256k,1024,0+256+128+128;256k,512k,2048,...;512k,1M,4096,...}
rSD.push_back( ScSlotData( nRow1, nRow2, nSlice, nSlots));
nSlots += (nRow2 - nRow1) / nSlice;
nRow1 = nRow2;
nRow2 *= 2;
nSlice *= 2;
}
- //fprintf( stderr, "Slices: %zu, slots per sheet: %zu, memory per referenced sheet: %zu\n", (size_t) nSlots, (size_t) nSlots * BCA_SLOTS_COL, (size_t) nSlots * BCA_SLOTS_COL * sizeof(void*));
rBSR = nSlots;
return nSlots;
}
@@ -543,7 +540,6 @@ inline void ComputeNextSlot( SCSIZE & nOff, SCSIZE & nBreak, ScBroadcastAreaSlot
void ScBroadcastAreaSlotMachine::StartListeningArea( const ScRange& rRange,
SvtListener* pListener )
{
- //fprintf( stderr, "StartListeningArea (c,r,t): %d, %d, %d, %d, %d, %d\n", (int)rRange.aStart.Col(), (int)rRange.aStart.Row(), (int)rRange.aStart.Tab(), (int)rRange.aEnd.Col(), (int)rRange.aEnd.Row(), (int)rRange.aEnd.Tab());
if ( rRange == BCA_LISTEN_ALWAYS )
{
if ( !pBCAlways )
@@ -592,7 +588,6 @@ void ScBroadcastAreaSlotMachine::StartListeningArea( const ScRange& rRange,
void ScBroadcastAreaSlotMachine::EndListeningArea( const ScRange& rRange,
SvtListener* pListener )
{
- //fprintf( stderr, "EndListeningArea (c,r,t): %d, %d, %d, %d, %d, %d\n", (int)rRange.aStart.Col(), (int)rRange.aStart.Row(), (int)rRange.aStart.Tab(), (int)rRange.aEnd.Col(), (int)rRange.aEnd.Row(), (int)rRange.aEnd.Tab());
if ( rRange == BCA_LISTEN_ALWAYS )
{
DBG_ASSERT( pBCAlways, "ScBroadcastAreaSlotMachine::EndListeningArea: BCA_LISTEN_ALWAYS but none established");
diff --git a/sc/source/core/data/cell.cxx b/sc/source/core/data/cell.cxx
index 49676e29525d..46a6ad51b11c 100644
--- a/sc/source/core/data/cell.cxx
+++ b/sc/source/core/data/cell.cxx
@@ -1648,7 +1648,7 @@ void ScFormulaCell::InterpretTail( ScInterpretTailParameter eTailParam )
if ( !bContentChanged && pDocument->IsStreamValid(aPos.Tab()) )
{
- ScFormulaResult aNewResult( p->GetResultToken());
+ ScFormulaResult aNewResult( p->GetResultToken().get());
StackVar eOld = aResult.GetCellResultType();
StackVar eNew = aNewResult.GetCellResultType();
if ( eOld == svUnknown && ( eNew == svError || ( eNew == svDouble && aNewResult.GetDouble() == 0.0 ) ) )
@@ -1668,11 +1668,11 @@ void ScFormulaCell::InterpretTail( ScInterpretTailParameter eTailParam )
}
}
- aResult.SetToken( p->GetResultToken() );
+ aResult.SetToken( p->GetResultToken().get() );
}
else
{
- ScFormulaResult aNewResult( p->GetResultToken());
+ ScFormulaResult aNewResult( p->GetResultToken().get());
StackVar eOld = aResult.GetCellResultType();
StackVar eNew = aNewResult.GetCellResultType();
bChanged = (eOld != eNew ||
@@ -1716,12 +1716,12 @@ void ScFormulaCell::InterpretTail( ScInterpretTailParameter eTailParam )
bDirty = FALSE;
bTableOpDirty = FALSE;
}
- if( aResult.GetMatrix().Is() )
+ if( aResult.GetMatrix() )
{
// If the formula wasn't entered as a matrix formula, live on with
// the upper left corner and let reference counting delete the matrix.
if( cMatrixFlag != MM_FORMULA && !pCode->IsHyperLink() )
- aResult.SetToken( aResult.GetCellResultToken());
+ aResult.SetToken( aResult.GetCellResultToken().get());
}
if ( aResult.IsValue() && !::rtl::math::isFinite( aResult.GetDouble() ) )
{
@@ -1837,7 +1837,7 @@ ULONG ScFormulaCell::GetStandardFormat( SvNumberFormatter& rFormatter, ULONG nFo
}
-void __EXPORT ScFormulaCell::Notify( SvtBroadcaster&, const SfxHint& rHint)
+void ScFormulaCell::Notify( SvtBroadcaster&, const SfxHint& rHint)
{
if ( !pDocument->IsInDtorClear() && !pDocument->GetHardRecalcState() )
{
@@ -1997,16 +1997,12 @@ void ScFormulaCell::GetURLResult( String& rURL, String& rCellText )
ScConstMatrixRef xMat( aResult.GetMatrix());
if (xMat)
{
- ScMatValType nMatValType;
// determine if the matrix result is a string or value.
- const ScMatrixValue* pMatVal = xMat->Get(0, 1, nMatValType);
- if (pMatVal)
- {
- if (!ScMatrix::IsValueType( nMatValType))
- rURL = pMatVal->GetString();
- else
- pFormatter->GetOutputString( pMatVal->fVal, nURLFormat, rURL, &pColor );
- }
+ ScMatrixValue nMatVal = xMat->Get(0, 1);
+ if (!ScMatrix::IsValueType( nMatVal.nType))
+ rURL = nMatVal.GetString();
+ else
+ pFormatter->GetOutputString( nMatVal.fVal, nURLFormat, rURL, &pColor );
}
if(!rURL.Len())
diff --git a/sc/source/core/data/cell2.cxx b/sc/source/core/data/cell2.cxx
index 4e1823b97b6a..9a8adaf3a918 100644
--- a/sc/source/core/data/cell2.cxx
+++ b/sc/source/core/data/cell2.cxx
@@ -364,9 +364,6 @@ lcl_checkRangeDimensions(
if (bOk && aCur == aEnd)
{
- bCol = bCol;
- bRow = bRow;
- bTab = bTab;
return true;
}
return false;
@@ -538,12 +535,12 @@ const ScMatrix* ScFormulaCell::GetMatrix()
{
// Was stored !bDirty but an accompanying matrix cell was bDirty?
// => we need to get the matrix.
- if (!bDirty && cMatrixFlag == MM_FORMULA && !aResult.GetMatrix().Is())
+ if (!bDirty && cMatrixFlag == MM_FORMULA && !aResult.GetMatrix())
bDirty = TRUE;
if ( IsDirtyOrInTableOpDirty() )
Interpret();
}
- return aResult.GetMatrix();
+ return aResult.GetMatrix().get();
}
BOOL ScFormulaCell::GetMatrixOrigin( ScAddress& rPos ) const
@@ -553,7 +550,6 @@ BOOL ScFormulaCell::GetMatrixOrigin( ScAddress& rPos ) const
case MM_FORMULA :
rPos = aPos;
return TRUE;
-// break;
case MM_REFERENCE :
{
pCode->Reset();
@@ -863,7 +859,6 @@ void ScFormulaCell::UpdateReference(UpdateRefMode eUpdateRefMode,
else if ( nCol > MAXCOL )
nCol = MAXCOL;
aPos.SetCol( nCol );
-// bPosChanged = TRUE;
}
}
if ( nDy && nCol >= nCol1 && nCol <= nCol2 &&
@@ -877,7 +872,6 @@ void ScFormulaCell::UpdateReference(UpdateRefMode eUpdateRefMode,
else if ( nRow > MAXROW )
nRow = MAXROW;
aPos.SetRow( nRow );
-// bPosChanged = TRUE;
}
}
if ( nDz && nCol >= nCol1 && nCol <= nCol2 &&
@@ -892,14 +886,12 @@ void ScFormulaCell::UpdateReference(UpdateRefMode eUpdateRefMode,
else if ( nTab > nMaxTab )
nTab = nMaxTab;
aPos.SetTab( nTab );
-// bPosChanged = TRUE;
}
}
}
else if ( r.In( aPos ) )
{
aOldPos.Set( nCol - nDx, nRow - nDy, nTab - nDz );
-// bPosChanged = TRUE;
}
BOOL bHasRefs = FALSE;
diff --git a/sc/source/core/data/clipparam.cxx b/sc/source/core/data/clipparam.cxx
index 6cae3916fc47..17690a2f1f8f 100644
--- a/sc/source/core/data/clipparam.cxx
+++ b/sc/source/core/data/clipparam.cxx
@@ -57,12 +57,12 @@ ScClipParam::ScClipParam(const ScClipParam& r) :
bool ScClipParam::isMultiRange() const
{
- return maRanges.Count() > 1;
+ return maRanges.size() > 1;
}
SCCOL ScClipParam::getPasteColSize()
{
- if (!maRanges.Count())
+ if (maRanges.empty())
return 0;
switch (meDirection)
@@ -70,14 +70,17 @@ SCCOL ScClipParam::getPasteColSize()
case ScClipParam::Column:
{
SCCOL nColSize = 0;
- for (ScRangePtr p = maRanges.First(); p; p = maRanges.Next())
+ for ( size_t i = 0, nListSize = maRanges.size(); i < nListSize; ++i )
+ {
+ ScRange* p = maRanges[ i ];
nColSize += p->aEnd.Col() - p->aStart.Col() + 1;
+ }
return nColSize;
}
case ScClipParam::Row:
{
// We assume that all ranges have identical column size.
- const ScRange& rRange = *maRanges.First();
+ const ScRange& rRange = *maRanges.front();
return rRange.aEnd.Col() - rRange.aStart.Col() + 1;
}
case ScClipParam::Unspecified:
@@ -89,7 +92,7 @@ SCCOL ScClipParam::getPasteColSize()
SCROW ScClipParam::getPasteRowSize()
{
- if (!maRanges.Count())
+ if (maRanges.empty())
return 0;
switch (meDirection)
@@ -97,14 +100,17 @@ SCROW ScClipParam::getPasteRowSize()
case ScClipParam::Column:
{
// We assume that all ranges have identical row size.
- const ScRange& rRange = *maRanges.First();
+ const ScRange& rRange = *maRanges.front();
return rRange.aEnd.Row() - rRange.aStart.Row() + 1;
}
case ScClipParam::Row:
{
SCROW nRowSize = 0;
- for (ScRangePtr p = maRanges.First(); p; p = maRanges.Next())
+ for ( size_t i = 0, nListSize = maRanges.size(); i < nListSize; ++i )
+ {
+ ScRange* p = maRanges[ i ];
nRowSize += p->aEnd.Row() - p->aStart.Row() + 1;
+ }
return nRowSize;
}
case ScClipParam::Unspecified:
@@ -118,9 +124,9 @@ ScRange ScClipParam::getWholeRange() const
{
ScRange aWhole;
bool bFirst = true;
- ScRangeList aRanges = maRanges;
- for (ScRange* p = aRanges.First(); p; p = aRanges.Next())
+ for ( size_t i = 0, n = maRanges.size(); i < n; ++i )
{
+ const ScRange* p = maRanges[i];
if (bFirst)
{
aWhole = *p;
@@ -159,13 +165,15 @@ void ScClipParam::transpose()
}
ScRangeList aNewRanges;
- if (maRanges.Count())
+ if (!maRanges.empty())
{
- ScRange* p = maRanges.First();
+ ScRange* p = maRanges.front();
SCCOL nColOrigin = p->aStart.Col();
SCROW nRowOrigin = p->aStart.Row();
- for (; p; p = maRanges.Next())
+
+ for ( size_t i = 1, n = maRanges.size(); i < n; ++i )
{
+ p = maRanges[ i ];
SCCOL nColDelta = p->aStart.Col() - nColOrigin;
SCROW nRowDelta = p->aStart.Row() - nRowOrigin;
SCCOL nCol1 = 0;
@@ -176,8 +184,7 @@ void ScClipParam::transpose()
nCol2 += static_cast<SCCOL>(nRowDelta);
nRow1 += static_cast<SCROW>(nColDelta);
nRow2 += static_cast<SCROW>(nColDelta);
- ScRange aNew(nCol1, nRow1, p->aStart.Tab(), nCol2, nRow2, p->aStart.Tab());
- aNewRanges.Append(aNew);
+ aNewRanges.push_back( new ScRange(nCol1, nRow1, p->aStart.Tab(), nCol2, nRow2, p->aStart.Tab() ) );
}
}
maRanges = aNewRanges;
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index 27dce7c8f414..3d34e5320944 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -59,7 +59,7 @@
// STATIC DATA -----------------------------------------------------------
using namespace formula;
-inline BOOL IsAmbiguousScriptNonZero( BYTE nScript )
+inline bool IsAmbiguousScriptNonZero( sal_uInt8 nScript )
{
//! move to a header file
return ( nScript != SCRIPTTYPE_LATIN &&
@@ -110,13 +110,13 @@ void ScColumn::Init(SCCOL nNewCol, SCTAB nNewTab, ScDocument* pDoc)
}
-SCsROW ScColumn::GetNextUnprotected( SCROW nRow, BOOL bUp ) const
+SCsROW ScColumn::GetNextUnprotected( SCROW nRow, bool bUp ) const
{
return pAttrArray->GetNextUnprotected(nRow, bUp);
}
-USHORT ScColumn::GetBlockMatrixEdges( SCROW nRow1, SCROW nRow2, USHORT nMask ) const
+sal_uInt16 ScColumn::GetBlockMatrixEdges( SCROW nRow1, SCROW nRow2, sal_uInt16 nMask ) const
{
// nix:0, mitte:1, unten:2, links:4, oben:8, rechts:16, offen:32
if ( !pItems )
@@ -139,8 +139,8 @@ USHORT ScColumn::GetBlockMatrixEdges( SCROW nRow1, SCROW nRow2, USHORT nMask ) c
else
{
ScAddress aOrg( ScAddress::INITIALIZE_INVALID );
- BOOL bOpen = FALSE;
- USHORT nEdges = 0;
+ bool bOpen = false;
+ sal_uInt16 nEdges = 0;
SCSIZE nIndex;
Search( nRow1, nIndex );
while ( nIndex < nCount && pItems[nIndex].nRow <= nRow2 )
@@ -153,7 +153,7 @@ USHORT ScColumn::GetBlockMatrixEdges( SCROW nRow1, SCROW nRow2, USHORT nMask ) c
if ( nEdges )
{
if ( nEdges & 8 )
- bOpen = TRUE; // obere Kante oeffnet, weitersehen
+ bOpen = true; // obere Kante oeffnet, weitersehen
else if ( !bOpen )
return nEdges | 32; // es gibt was, was nicht geoeffnet wurde
else if ( nEdges & 1 )
@@ -164,7 +164,7 @@ USHORT ScColumn::GetBlockMatrixEdges( SCROW nRow1, SCROW nRow2, USHORT nMask ) c
|| ((nMask & 4) && (nEdges & 16) && !(nEdges & 4)) )
return nEdges; // nur linke/rechte Kante
if ( nEdges & 2 )
- bOpen = FALSE; // untere Kante schliesst
+ bOpen = false; // untere Kante schliesst
}
}
nIndex++;
@@ -176,11 +176,11 @@ USHORT ScColumn::GetBlockMatrixEdges( SCROW nRow1, SCROW nRow2, USHORT nMask ) c
}
-BOOL ScColumn::HasSelectionMatrixFragment(const ScMarkData& rMark) const
+bool ScColumn::HasSelectionMatrixFragment(const ScMarkData& rMark) const
{
if ( rMark.IsMultiMarked() )
{
- BOOL bFound = FALSE;
+ bool bFound = false;
ScAddress aOrg( ScAddress::INITIALIZE_INVALID );
ScAddress aCurOrg( ScAddress::INITIALIZE_INVALID );
@@ -188,8 +188,8 @@ BOOL ScColumn::HasSelectionMatrixFragment(const ScMarkData& rMark) const
ScMarkArrayIter aMarkIter( rMark.GetArray()+nCol );
while ( !bFound && aMarkIter.Next( nTop, nBottom ) )
{
- BOOL bOpen = FALSE;
- USHORT nEdges;
+ bool bOpen = false;
+ sal_uInt16 nEdges;
SCSIZE nIndex;
Search( nTop, nIndex );
while ( !bFound && nIndex < nCount && pItems[nIndex].nRow <= nBottom )
@@ -202,16 +202,16 @@ BOOL ScColumn::HasSelectionMatrixFragment(const ScMarkData& rMark) const
if ( nEdges )
{
if ( nEdges & 8 )
- bOpen = TRUE; // obere Kante oeffnet, weitersehen
+ bOpen = true; // obere Kante oeffnet, weitersehen
else if ( !bOpen )
- return TRUE; // es gibt was, was nicht geoeffnet wurde
+ return true; // es gibt was, was nicht geoeffnet wurde
else if ( nEdges & 1 )
- bFound = TRUE; // mittendrin, alles selektiert?
+ bFound = true; // mittendrin, alles selektiert?
// (4 und nicht 16) oder (16 und nicht 4)
if ( (((nEdges & 4) | 16) ^ ((nEdges & 16) | 4)) )
- bFound = TRUE; // nur linke/rechte Kante, alles selektiert?
+ bFound = true; // nur linke/rechte Kante, alles selektiert?
if ( nEdges & 2 )
- bOpen = FALSE; // untere Kante schliesst
+ bOpen = false; // untere Kante schliesst
if ( bFound )
{ // alles selektiert?
@@ -231,34 +231,34 @@ BOOL ScColumn::HasSelectionMatrixFragment(const ScMarkData& rMark) const
aOrg.Col() + nC - 1, aOrg.Row() + nR - 1,
aOrg.Tab() ) );
if ( rMark.IsAllMarked( aRange ) )
- bFound = FALSE;
+ bFound = false;
}
else
- bFound = FALSE; // war schon
+ bFound = false; // war schon
}
}
}
nIndex++;
}
if ( bOpen )
- return TRUE;
+ return true;
}
return bFound;
}
else
- return FALSE;
+ return false;
}
-bool ScColumn::HasAttrib( SCROW nRow1, SCROW nRow2, USHORT nMask ) const
+bool ScColumn::HasAttrib( SCROW nRow1, SCROW nRow2, sal_uInt16 nMask ) const
{
return pAttrArray->HasAttrib( nRow1, nRow2, nMask );
}
-BOOL ScColumn::HasAttribSelection( const ScMarkData& rMark, USHORT nMask ) const
+bool ScColumn::HasAttribSelection( const ScMarkData& rMark, sal_uInt16 nMask ) const
{
- BOOL bFound = FALSE;
+ bool bFound = false;
SCROW nTop;
SCROW nBottom;
@@ -269,7 +269,7 @@ BOOL ScColumn::HasAttribSelection( const ScMarkData& rMark, USHORT nMask ) const
while (aMarkIter.Next( nTop, nBottom ) && !bFound)
{
if (pAttrArray->HasAttrib( nTop, nBottom, nMask ))
- bFound = TRUE;
+ bFound = true;
}
}
@@ -277,15 +277,15 @@ BOOL ScColumn::HasAttribSelection( const ScMarkData& rMark, USHORT nMask ) const
}
-BOOL ScColumn::ExtendMerge( SCCOL nThisCol, SCROW nStartRow, SCROW nEndRow,
+bool ScColumn::ExtendMerge( SCCOL nThisCol, SCROW nStartRow, SCROW nEndRow,
SCCOL& rPaintCol, SCROW& rPaintRow,
- BOOL bRefresh, BOOL bAttrs )
+ bool bRefresh, bool bAttrs )
{
return pAttrArray->ExtendMerge( nThisCol, nStartRow, nEndRow, rPaintCol, rPaintRow, bRefresh, bAttrs );
}
-void ScColumn::MergeSelectionPattern( ScMergePatternState& rState, const ScMarkData& rMark, BOOL bDeep ) const
+void ScColumn::MergeSelectionPattern( ScMergePatternState& rState, const ScMarkData& rMark, bool bDeep ) const
{
SCROW nTop;
SCROW nBottom;
@@ -303,7 +303,7 @@ void ScColumn::MergeSelectionPattern( ScMergePatternState& rState, const ScMarkD
}
-void ScColumn::MergePatternArea( ScMergePatternState& rState, SCROW nRow1, SCROW nRow2, BOOL bDeep ) const
+void ScColumn::MergePatternArea( ScMergePatternState& rState, SCROW nRow1, SCROW nRow2, bool bDeep ) const
{
pAttrArray->MergePatternArea( nRow1, nRow2, rState, bDeep );
}
@@ -311,14 +311,14 @@ void ScColumn::MergePatternArea( ScMergePatternState& rState, SCROW nRow1, SCROW
void ScColumn::MergeBlockFrame( SvxBoxItem* pLineOuter, SvxBoxInfoItem* pLineInner,
ScLineFlags& rFlags,
- SCROW nStartRow, SCROW nEndRow, BOOL bLeft, SCCOL nDistRight ) const
+ SCROW nStartRow, SCROW nEndRow, bool bLeft, SCCOL nDistRight ) const
{
pAttrArray->MergeBlockFrame( pLineOuter, pLineInner, rFlags, nStartRow, nEndRow, bLeft, nDistRight );
}
void ScColumn::ApplyBlockFrame( const SvxBoxItem* pLineOuter, const SvxBoxInfoItem* pLineInner,
- SCROW nStartRow, SCROW nEndRow, BOOL bLeft, SCCOL nDistRight )
+ SCROW nStartRow, SCROW nEndRow, bool bLeft, SCCOL nDistRight )
{
pAttrArray->ApplyBlockFrame( pLineOuter, pLineInner, nStartRow, nEndRow, bLeft, nDistRight );
}
@@ -330,7 +330,7 @@ const ScPatternAttr* ScColumn::GetPattern( SCROW nRow ) const
}
-const SfxPoolItem* ScColumn::GetAttr( SCROW nRow, USHORT nWhich ) const
+const SfxPoolItem* ScColumn::GetAttr( SCROW nRow, sal_uInt16 nWhich ) const
{
return &pAttrArray->GetPattern( nRow )->GetItemSet().Get(nWhich);
}
@@ -377,7 +377,7 @@ sal_uInt32 ScColumn::GetNumberFormat( SCROW nStartRow, SCROW nEndRow ) const
}
-ULONG ScColumn::GetNumberFormat( SCROW nRow ) const
+sal_uInt32 ScColumn::GetNumberFormat( SCROW nRow ) const
{
return pAttrArray->GetPattern( nRow )->GetNumberFormat( pDocument->GetFormatTable() );
}
@@ -387,7 +387,7 @@ SCsROW ScColumn::ApplySelectionCache( SfxItemPoolCache* pCache, const ScMarkData
{
SCROW nTop = 0;
SCROW nBottom = 0;
- BOOL bFound = FALSE;
+ bool bFound = false;
if ( rMark.IsMultiMarked() )
{
@@ -395,7 +395,7 @@ SCsROW ScColumn::ApplySelectionCache( SfxItemPoolCache* pCache, const ScMarkData
while (aMarkIter.Next( nTop, nBottom ))
{
pAttrArray->ApplyCacheArea( nTop, nBottom, pCache, pDataArray );
- bFound = TRUE;
+ bFound = true;
}
}
@@ -408,7 +408,7 @@ SCsROW ScColumn::ApplySelectionCache( SfxItemPoolCache* pCache, const ScMarkData
}
-void ScColumn::ChangeSelectionIndent( BOOL bIncrement, const ScMarkData& rMark )
+void ScColumn::ChangeSelectionIndent( bool bIncrement, const ScMarkData& rMark )
{
SCROW nTop;
SCROW nBottom;
@@ -422,7 +422,7 @@ void ScColumn::ChangeSelectionIndent( BOOL bIncrement, const ScMarkData& rMark )
}
-void ScColumn::ClearSelectionItems( const USHORT* pWhich,const ScMarkData& rMark )
+void ScColumn::ClearSelectionItems( const sal_uInt16* pWhich,const ScMarkData& rMark )
{
SCROW nTop;
SCROW nBottom;
@@ -436,7 +436,7 @@ void ScColumn::ClearSelectionItems( const USHORT* pWhich,const ScMarkData& rMark
}
-void ScColumn::DeleteSelection( USHORT nDelFlag, const ScMarkData& rMark )
+void ScColumn::DeleteSelection( sal_uInt16 nDelFlag, const ScMarkData& rMark )
{
SCROW nTop;
SCROW nBottom;
@@ -457,9 +457,9 @@ void ScColumn::ApplyPattern( SCROW nRow, const ScPatternAttr& rPatAttr )
const ScPatternAttr* pPattern = pAttrArray->GetPattern( nRow );
- // TRUE = alten Eintrag behalten
+ // true = alten Eintrag behalten
- ScPatternAttr* pNewPattern = (ScPatternAttr*) &aCache.ApplyTo( *pPattern, TRUE );
+ ScPatternAttr* pNewPattern = (ScPatternAttr*) &aCache.ApplyTo( *pPattern, true );
ScDocumentPool::CheckRef( *pPattern );
ScDocumentPool::CheckRef( *pNewPattern );
@@ -493,7 +493,7 @@ void ScColumn::ApplyPatternIfNumberformatIncompatible( const ScRange& rRange,
SCROW nRow1, nRow2;
const ScPatternAttr* pPattern = pAttrArray->GetPatternRange(
nRow1, nRow2, nRow );
- ULONG nFormat = pPattern->GetNumberFormat( pFormatter );
+ sal_uInt32 nFormat = pPattern->GetNumberFormat( pFormatter );
short nOldType = pFormatter->GetType( nFormat );
if ( nOldType == nNewType || pFormatter->IsCompatible( nOldType, nNewType ) )
nRow = nRow2;
@@ -515,7 +515,7 @@ void ScColumn::ApplyStyle( SCROW nRow, const ScStyleSheet& rStyle )
if (pNewPattern)
{
pNewPattern->SetStyleSheet((ScStyleSheet*)&rStyle);
- pAttrArray->SetPattern(nRow, pNewPattern, TRUE);
+ pAttrArray->SetPattern(nRow, pNewPattern, true);
delete pNewPattern;
}
}
@@ -542,7 +542,7 @@ void ScColumn::ApplySelectionStyle(const ScStyleSheet& rStyle, const ScMarkData&
void ScColumn::ApplySelectionLineStyle( const ScMarkData& rMark,
- const SvxBorderLine* pLine, BOOL bColorOnly )
+ const SvxBorderLine* pLine, bool bColorOnly )
{
if ( bColorOnly && !pLine )
return;
@@ -565,16 +565,16 @@ const ScStyleSheet* ScColumn::GetStyle( SCROW nRow ) const
}
-const ScStyleSheet* ScColumn::GetSelectionStyle( const ScMarkData& rMark, BOOL& rFound ) const
+const ScStyleSheet* ScColumn::GetSelectionStyle( const ScMarkData& rMark, bool& rFound ) const
{
- rFound = FALSE;
+ rFound = false;
if (!rMark.IsMultiMarked())
{
DBG_ERROR("ScColumn::GetSelectionStyle ohne Selektion");
return NULL;
}
- BOOL bEqual = TRUE;
+ bool bEqual = true;
const ScStyleSheet* pStyle = NULL;
const ScStyleSheet* pNewStyle;
@@ -591,9 +591,9 @@ const ScStyleSheet* ScColumn::GetSelectionStyle( const ScMarkData& rMark, BOOL&
while (bEqual && ( pPattern = aAttrIter.Next( nRow, nDummy ) ) != NULL)
{
pNewStyle = pPattern->GetStyleSheet();
- rFound = TRUE;
+ rFound = true;
if ( !pNewStyle || ( pStyle && pNewStyle != pStyle ) )
- bEqual = FALSE; // unterschiedliche
+ bEqual = false; // unterschiedliche
pStyle = pNewStyle;
}
}
@@ -602,11 +602,11 @@ const ScStyleSheet* ScColumn::GetSelectionStyle( const ScMarkData& rMark, BOOL&
}
-const ScStyleSheet* ScColumn::GetAreaStyle( BOOL& rFound, SCROW nRow1, SCROW nRow2 ) const
+const ScStyleSheet* ScColumn::GetAreaStyle( bool& rFound, SCROW nRow1, SCROW nRow2 ) const
{
- rFound = FALSE;
+ rFound = false;
- BOOL bEqual = TRUE;
+ bool bEqual = true;
const ScStyleSheet* pStyle = NULL;
const ScStyleSheet* pNewStyle;
@@ -618,9 +618,9 @@ const ScStyleSheet* ScColumn::GetAreaStyle( BOOL& rFound, SCROW nRow1, SCROW nRo
while (bEqual && ( pPattern = aAttrIter.Next( nRow, nDummy ) ) != NULL)
{
pNewStyle = pPattern->GetStyleSheet();
- rFound = TRUE;
+ rFound = true;
if ( !pNewStyle || ( pStyle && pNewStyle != pStyle ) )
- bEqual = FALSE; // unterschiedliche
+ bEqual = false; // unterschiedliche
pStyle = pNewStyle;
}
@@ -632,38 +632,38 @@ void ScColumn::FindStyleSheet( const SfxStyleSheetBase* pStyleSheet, ScFlatBoolR
pAttrArray->FindStyleSheet( pStyleSheet, rUsedRows, bReset );
}
-BOOL ScColumn::IsStyleSheetUsed( const ScStyleSheet& rStyle, BOOL bGatherAllStyles ) const
+bool ScColumn::IsStyleSheetUsed( const ScStyleSheet& rStyle, bool bGatherAllStyles ) const
{
return pAttrArray->IsStyleSheetUsed( rStyle, bGatherAllStyles );
}
-BOOL ScColumn::ApplyFlags( SCROW nStartRow, SCROW nEndRow, INT16 nFlags )
+bool ScColumn::ApplyFlags( SCROW nStartRow, SCROW nEndRow, sal_Int16 nFlags )
{
return pAttrArray->ApplyFlags( nStartRow, nEndRow, nFlags );
}
-BOOL ScColumn::RemoveFlags( SCROW nStartRow, SCROW nEndRow, INT16 nFlags )
+bool ScColumn::RemoveFlags( SCROW nStartRow, SCROW nEndRow, sal_Int16 nFlags )
{
return pAttrArray->RemoveFlags( nStartRow, nEndRow, nFlags );
}
-void ScColumn::ClearItems( SCROW nStartRow, SCROW nEndRow, const USHORT* pWhich )
+void ScColumn::ClearItems( SCROW nStartRow, SCROW nEndRow, const sal_uInt16* pWhich )
{
pAttrArray->ClearItems( nStartRow, nEndRow, pWhich );
}
-void ScColumn::SetPattern( SCROW nRow, const ScPatternAttr& rPatAttr, BOOL bPutToPool )
+void ScColumn::SetPattern( SCROW nRow, const ScPatternAttr& rPatAttr, bool bPutToPool )
{
pAttrArray->SetPattern( nRow, &rPatAttr, bPutToPool );
}
void ScColumn::SetPatternArea( SCROW nStartRow, SCROW nEndRow,
- const ScPatternAttr& rPatAttr, BOOL bPutToPool )
+ const ScPatternAttr& rPatAttr, bool bPutToPool )
{
pAttrArray->SetPatternArea( nStartRow, nEndRow, &rPatAttr, bPutToPool );
}
@@ -696,12 +696,12 @@ void ScColumn::ApplyAttr( SCROW nRow, const SfxPoolItem& rAttr )
#endif
-BOOL ScColumn::Search( SCROW nRow, SCSIZE& nIndex ) const
+bool ScColumn::Search( SCROW nRow, SCSIZE& nIndex ) const
{
if ( !pItems || !nCount )
{
nIndex = 0;
- return FALSE;
+ return false;
}
SCROW nMinRow = pItems[0].nRow;
if ( nRow <= nMinRow )
@@ -715,12 +715,12 @@ BOOL ScColumn::Search( SCROW nRow, SCSIZE& nIndex ) const
if ( nRow == nMaxRow )
{
nIndex = nCount - 1;
- return TRUE;
+ return true;
}
else
{
nIndex = nCount;
- return FALSE;
+ return false;
}
}
@@ -728,9 +728,9 @@ BOOL ScColumn::Search( SCROW nRow, SCSIZE& nIndex ) const
long nLo = nOldLo = 0;
long nHi = nOldHi = Min(static_cast<long>(nCount)-1, static_cast<long>(nRow) );
long i = 0;
- BOOL bFound = FALSE;
+ bool bFound = false;
// quite continuous distribution? => interpolating search
- BOOL bInterpol = (static_cast<SCSIZE>(nMaxRow - nMinRow) < nCount * 2);
+ bool bInterpol = (static_cast<SCSIZE>(nMaxRow - nMinRow) < nCount * 2);
SCROW nR;
while ( !bFound && nLo <= nHi )
@@ -745,7 +745,7 @@ BOOL ScColumn::Search( SCROW nRow, SCSIZE& nIndex ) const
if ( i < 0 || static_cast<SCSIZE>(i) >= nCount )
{ // oops ...
i = (nLo+nHi) / 2;
- bInterpol = FALSE;
+ bInterpol = false;
}
}
nR = pItems[i].nRow;
@@ -755,7 +755,7 @@ BOOL ScColumn::Search( SCROW nRow, SCSIZE& nIndex ) const
if ( bInterpol )
{
if ( nLo <= nOldLo )
- bInterpol = FALSE;
+ bInterpol = false;
else
nOldLo = nLo;
}
@@ -768,13 +768,13 @@ BOOL ScColumn::Search( SCROW nRow, SCSIZE& nIndex ) const
if ( bInterpol )
{
if ( nHi >= nOldHi )
- bInterpol = FALSE;
+ bInterpol = false;
else
nOldHi = nHi;
}
}
else
- bFound = TRUE;
+ bFound = true;
}
}
if (bFound)
@@ -944,16 +944,16 @@ void ScColumn::SwapRow(SCROW nRow1, SCROW nRow2)
if (pCode1->GetLen() == pCode2->GetLen()) // nicht-UPN
{
- BOOL bEqual = TRUE;
- USHORT nLen = pCode1->GetLen();
+ bool bEqual = true;
+ sal_uInt16 nLen = pCode1->GetLen();
FormulaToken** ppToken1 = pCode1->GetArray();
FormulaToken** ppToken2 = pCode2->GetArray();
- for (USHORT i=0; i<nLen; i++)
+ for (sal_uInt16 i=0; i<nLen; i++)
{
if ( !ppToken1[i]->TextEqual(*(ppToken2[i])) ||
ppToken1[i]->Is3DRef() || ppToken2[i]->Is3DRef() )
{
- bEqual = FALSE;
+ bEqual = false;
break;
}
}
@@ -1076,11 +1076,11 @@ void ScColumn::SwapCell( SCROW nRow, ScColumn& rCol)
}
-BOOL ScColumn::TestInsertCol( SCROW nStartRow, SCROW nEndRow) const
+bool ScColumn::TestInsertCol( SCROW nStartRow, SCROW nEndRow) const
{
if (!IsEmpty())
{
- BOOL bTest = TRUE;
+ bool bTest = true;
if (pItems)
for (SCSIZE i=0; (i<nCount) && bTest; i++)
bTest = (pItems[i].nRow < nStartRow) || (pItems[i].nRow > nEndRow)
@@ -1096,11 +1096,11 @@ BOOL ScColumn::TestInsertCol( SCROW nStartRow, SCROW nEndRow) const
return bTest;
}
else
- return TRUE;
+ return true;
}
-BOOL ScColumn::TestInsertRow( SCSIZE nSize ) const
+bool ScColumn::TestInsertRow( SCSIZE nSize ) const
{
// AttrArray only looks for merged cells
@@ -1126,16 +1126,16 @@ void ScColumn::InsertRow( SCROW nStartRow, SCSIZE nSize )
if ( i >= nCount )
return ;
- BOOL bOldAutoCalc = pDocument->GetAutoCalc();
- pDocument->SetAutoCalc( FALSE ); // Mehrfachberechnungen vermeiden
+ bool bOldAutoCalc = pDocument->GetAutoCalc();
+ pDocument->SetAutoCalc( false ); // Mehrfachberechnungen vermeiden
SCSIZE nNewCount = nCount;
- BOOL bCountChanged = FALSE;
+ bool bCountChanged = false;
ScAddress aAdr( nCol, 0, nTab );
ScHint aHint( SC_HINT_DATACHANGED, aAdr, NULL ); // only areas (ScBaseCell* == NULL)
ScAddress& rAddress = aHint.GetAddress();
// for sparse occupation use single broadcasts, not ranges
- BOOL bSingleBroadcasts = (((pItems[nCount-1].nRow - pItems[i].nRow) /
+ bool bSingleBroadcasts = (((pItems[nCount-1].nRow - pItems[i].nRow) /
(nCount - i)) > 1);
if ( bSingleBroadcasts )
{
@@ -1160,7 +1160,7 @@ void ScColumn::InsertRow( SCROW nStartRow, SCSIZE nSize )
if ( nNewRow > MAXROW && !bCountChanged )
{
nNewCount = i;
- bCountChanged = TRUE;
+ bCountChanged = true;
}
}
}
@@ -1177,7 +1177,7 @@ void ScColumn::InsertRow( SCROW nStartRow, SCSIZE nSize )
if ( nNewRow > MAXROW && !bCountChanged )
{
nNewCount = i;
- bCountChanged = TRUE;
+ bCountChanged = true;
aRange.aEnd.SetRow( MAXROW );
}
}
@@ -1219,7 +1219,7 @@ void ScColumn::InsertRow( SCROW nStartRow, SCSIZE nSize )
}
-void ScColumn::CopyToClip(SCROW nRow1, SCROW nRow2, ScColumn& rColumn, BOOL bKeepScenarioFlags, BOOL bCloneNoteCaptions)
+void ScColumn::CopyToClip(SCROW nRow1, SCROW nRow2, ScColumn& rColumn, bool bKeepScenarioFlags, bool bCloneNoteCaptions)
{
pAttrArray->CopyArea( nRow1, nRow2, 0, *rColumn.pAttrArray,
bKeepScenarioFlags ? (SC_MF_ALL & ~SC_MF_SCENARIO) : SC_MF_ALL );
@@ -1263,8 +1263,8 @@ void ScColumn::CopyToClip(SCROW nRow1, SCROW nRow2, ScColumn& rColumn, BOOL bKee
}
-void ScColumn::CopyToColumn(SCROW nRow1, SCROW nRow2, USHORT nFlags, BOOL bMarked,
- ScColumn& rColumn, const ScMarkData* pMarkData, BOOL bAsLink )
+void ScColumn::CopyToColumn(SCROW nRow1, SCROW nRow2, sal_uInt16 nFlags, bool bMarked,
+ ScColumn& rColumn, const ScMarkData* pMarkData, bool bAsLink )
{
if (bMarked)
{
@@ -1277,7 +1277,7 @@ void ScColumn::CopyToColumn(SCROW nRow1, SCROW nRow2, USHORT nFlags, BOOL bMarke
{
if ( nEnd >= nRow1 )
CopyToColumn( Max(nRow1,nStart), Min(nRow2,nEnd),
- nFlags, FALSE, rColumn, pMarkData, bAsLink );
+ nFlags, false, rColumn, pMarkData, bAsLink );
}
}
else
@@ -1299,7 +1299,7 @@ void ScColumn::CopyToColumn(SCROW nRow1, SCROW nRow2, USHORT nFlags, BOOL bMarke
const ScPatternAttr* pPattern = pAttrArray->GetPattern( nRow );
ScPatternAttr* pNewPattern = new ScPatternAttr( *pPattern );
pNewPattern->SetStyleSheet( (ScStyleSheet*)pStyle );
- rColumn.pAttrArray->SetPattern( nRow, pNewPattern, TRUE );
+ rColumn.pAttrArray->SetPattern( nRow, pNewPattern, true );
delete pNewPattern;
}
}
@@ -1358,16 +1358,16 @@ void ScColumn::CopyToColumn(SCROW nRow1, SCROW nRow2, USHORT nFlags, BOOL bMarke
}
-void ScColumn::UndoToColumn(SCROW nRow1, SCROW nRow2, USHORT nFlags, BOOL bMarked,
+void ScColumn::UndoToColumn(SCROW nRow1, SCROW nRow2, sal_uInt16 nFlags, bool bMarked,
ScColumn& rColumn, const ScMarkData* pMarkData )
{
if (nRow1 > 0)
- CopyToColumn( 0, nRow1-1, IDF_FORMULA, FALSE, rColumn );
+ CopyToColumn( 0, nRow1-1, IDF_FORMULA, false, rColumn );
CopyToColumn( nRow1, nRow2, nFlags, bMarked, rColumn, pMarkData ); //! bMarked ????
if (nRow2 < MAXROW)
- CopyToColumn( nRow2+1, MAXROW, IDF_FORMULA, FALSE, rColumn );
+ CopyToColumn( nRow2+1, MAXROW, IDF_FORMULA, false, rColumn );
}
@@ -1390,8 +1390,6 @@ void ScColumn::CopyUpdated( const ScColumn& rPosCol, ScColumn& rDestCol ) const
}
}
- // Dummy:
- // CopyToColumn( 0,MAXROW, IDF_FORMULA, FALSE, rDestCol, NULL, FALSE );
}
@@ -1408,7 +1406,7 @@ void ScColumn::CopyScenarioFrom( const ScColumn& rSrcCol )
{
DeleteArea( nStart, nEnd, IDF_CONTENTS );
((ScColumn&)rSrcCol).
- CopyToColumn( nStart, nEnd, IDF_CONTENTS, FALSE, *this );
+ CopyToColumn( nStart, nEnd, IDF_CONTENTS, false, *this );
// UpdateUsed nicht noetig, schon in TestCopyScenario passiert
@@ -1439,7 +1437,7 @@ void ScColumn::CopyScenarioTo( ScColumn& rDestCol ) const
{
rDestCol.DeleteArea( nStart, nEnd, IDF_CONTENTS );
((ScColumn*)this)->
- CopyToColumn( nStart, nEnd, IDF_CONTENTS, FALSE, rDestCol );
+ CopyToColumn( nStart, nEnd, IDF_CONTENTS, false, rDestCol );
// UpdateUsed nicht noetig, schon in TestCopyScenario passiert
@@ -1457,9 +1455,9 @@ void ScColumn::CopyScenarioTo( ScColumn& rDestCol ) const
}
-BOOL ScColumn::TestCopyScenarioTo( const ScColumn& rDestCol ) const
+bool ScColumn::TestCopyScenarioTo( const ScColumn& rDestCol ) const
{
- BOOL bOk = TRUE;
+ bool bOk = true;
ScAttrIterator aAttrIter( pAttrArray, 0, MAXROW );
SCROW nStart = 0, nEnd = 0;
const ScPatternAttr* pPattern = aAttrIter.Next( nStart, nEnd );
@@ -1467,7 +1465,7 @@ BOOL ScColumn::TestCopyScenarioTo( const ScColumn& rDestCol ) const
{
if ( ((ScMergeFlagAttr&)pPattern->GetItem( ATTR_MERGE_FLAG )).IsScenario() )
if ( rDestCol.pAttrArray->HasAttrib( nStart, nEnd, HASATTR_PROTECTED ) )
- bOk = FALSE;
+ bOk = false;
pPattern = aAttrIter.Next( nStart, nEnd );
}
@@ -1488,7 +1486,7 @@ void ScColumn::MarkScenarioIn( ScMarkData& rDestMark ) const
{
aRange.aStart.SetRow( nStart );
aRange.aEnd.SetRow( nEnd );
- rDestMark.SetMultiMarkArea( aRange, TRUE );
+ rDestMark.SetMultiMarkArea( aRange, true );
}
pPattern = aAttrIter.Next( nStart, nEnd );
@@ -1765,7 +1763,7 @@ void ScColumn::UpdateInsertTabAbs(SCTAB nTable)
}
-void ScColumn::UpdateDeleteTab( SCTAB nTable, BOOL bIsMove, ScColumn* pRefUndo )
+void ScColumn::UpdateDeleteTab( SCTAB nTable, bool bIsMove, ScColumn* pRefUndo )
{
if (nTab > nTable)
pAttrArray->SetTab(--nTab);
@@ -1781,7 +1779,7 @@ void ScColumn::UpdateDeleteTab( SCTAB nTable, BOOL bIsMove, ScColumn* pRefUndo )
back the formula cell while keeping the original note. */
ScBaseCell* pSave = pRefUndo ? pOld->CloneWithoutNote( *pDocument ) : 0;
- BOOL bChanged = pOld->UpdateDeleteTab(nTable, bIsMove);
+ bool bChanged = pOld->UpdateDeleteTab(nTable, bIsMove);
if ( nRow != pItems[i].nRow )
Search( nRow, i ); // Listener geloescht/eingefuegt?
@@ -1815,7 +1813,7 @@ void ScColumn::UpdateMoveTab( SCTAB nOldPos, SCTAB nNewPos, SCTAB nTabNo )
}
-void ScColumn::UpdateCompile( BOOL bForceIfNameInUse )
+void ScColumn::UpdateCompile( bool bForceIfNameInUse )
{
if (pItems)
for (SCSIZE i = 0; i < nCount; i++)
@@ -1846,9 +1844,9 @@ void ScColumn::SetTabNo(SCTAB nNewTab)
}
-BOOL ScColumn::IsRangeNameInUse(SCROW nRow1, SCROW nRow2, USHORT nIndex) const
+bool ScColumn::IsRangeNameInUse(SCROW nRow1, SCROW nRow2, sal_uInt16 nIndex) const
{
- BOOL bInUse = FALSE;
+ bool bInUse = false;
if (pItems)
for (SCSIZE i = 0; !bInUse && (i < nCount); i++)
if ((pItems[i].nRow >= nRow1) &&
@@ -1858,7 +1856,7 @@ BOOL ScColumn::IsRangeNameInUse(SCROW nRow1, SCROW nRow2, USHORT nIndex) const
return bInUse;
}
-void ScColumn::FindRangeNamesInUse(SCROW nRow1, SCROW nRow2, std::set<USHORT>& rIndexes) const
+void ScColumn::FindRangeNamesInUse(SCROW nRow1, SCROW nRow2, std::set<sal_uInt16>& rIndexes) const
{
if (pItems)
for (SCSIZE i = 0; i < nCount; i++)
@@ -1900,8 +1898,8 @@ void ScColumn::SetDirtyVar()
void ScColumn::SetDirty()
{
// wird nur dokumentweit verwendet, kein FormulaTrack
- BOOL bOldAutoCalc = pDocument->GetAutoCalc();
- pDocument->SetAutoCalc( FALSE ); // Mehrfachberechnungen vermeiden
+ bool bOldAutoCalc = pDocument->GetAutoCalc();
+ pDocument->SetAutoCalc( false ); // Mehrfachberechnungen vermeiden
for (SCSIZE i=0; i<nCount; i++)
{
ScFormulaCell* p = (ScFormulaCell*) pItems[i].pCell;
@@ -1920,8 +1918,8 @@ void ScColumn::SetDirty( const ScRange& rRange )
{ // broadcastet alles innerhalb eines Range, mit FormulaTrack
if ( !pItems || !nCount )
return ;
- BOOL bOldAutoCalc = pDocument->GetAutoCalc();
- pDocument->SetAutoCalc( FALSE ); // Mehrfachberechnungen vermeiden
+ bool bOldAutoCalc = pDocument->GetAutoCalc();
+ pDocument->SetAutoCalc( false ); // Mehrfachberechnungen vermeiden
SCROW nRow2 = rRange.aEnd.Row();
ScAddress aPos( nCol, 0, nTab );
ScHint aHint( SC_HINT_DATACHANGED, aPos, NULL );
@@ -1949,8 +1947,8 @@ void ScColumn::SetTableOpDirty( const ScRange& rRange )
{
if ( !pItems || !nCount )
return ;
- BOOL bOldAutoCalc = pDocument->GetAutoCalc();
- pDocument->SetAutoCalc( FALSE ); // no multiple recalculation
+ bool bOldAutoCalc = pDocument->GetAutoCalc();
+ pDocument->SetAutoCalc( false ); // no multiple recalculation
SCROW nRow2 = rRange.aEnd.Row();
ScAddress aPos( nCol, 0, nTab );
ScHint aHint( SC_HINT_TABLEOPDIRTY, aPos, NULL );
@@ -1976,8 +1974,8 @@ void ScColumn::SetTableOpDirty( const ScRange& rRange )
void ScColumn::SetDirtyAfterLoad()
{
- BOOL bOldAutoCalc = pDocument->GetAutoCalc();
- pDocument->SetAutoCalc( FALSE ); // Mehrfachberechnungen vermeiden
+ bool bOldAutoCalc = pDocument->GetAutoCalc();
+ pDocument->SetAutoCalc( false ); // Mehrfachberechnungen vermeiden
for (SCSIZE i=0; i<nCount; i++)
{
ScFormulaCell* p = (ScFormulaCell*) pItems[i].pCell;
@@ -2009,8 +2007,8 @@ void ScColumn::SetDirtyAfterLoad()
void ScColumn::SetRelNameDirty()
{
- BOOL bOldAutoCalc = pDocument->GetAutoCalc();
- pDocument->SetAutoCalc( FALSE ); // Mehrfachberechnungen vermeiden
+ bool bOldAutoCalc = pDocument->GetAutoCalc();
+ pDocument->SetAutoCalc( false ); // Mehrfachberechnungen vermeiden
for (SCSIZE i=0; i<nCount; i++)
{
ScFormulaCell* p = (ScFormulaCell*) pItems[i].pCell;
@@ -2058,9 +2056,9 @@ void ScColumn::CompileAll()
{
SCROW nRow = pItems[i].nRow;
// fuer unbedingtes kompilieren
- // bCompile=TRUE und pCode->nError=0
+ // bCompile=true und pCode->nError=0
((ScFormulaCell*)pCell)->GetCode()->SetCodeError( 0 );
- ((ScFormulaCell*)pCell)->SetCompile( TRUE );
+ ((ScFormulaCell*)pCell)->SetCompile( true );
((ScFormulaCell*)pCell)->CompileTokenArray();
if ( nRow != pItems[i].nRow )
Search( nRow, i ); // Listener geloescht/eingefuegt?
@@ -2115,14 +2113,14 @@ void ScColumn::ResetChanged( SCROW nStartRow, SCROW nEndRow )
}
-BOOL ScColumn::HasEditCells(SCROW nStartRow, SCROW nEndRow, SCROW& rFirst) const
+bool ScColumn::HasEditCells(SCROW nStartRow, SCROW nEndRow, SCROW& rFirst) const
{
// used in GetOptimalHeight - ambiguous script type counts as edit cell
SCROW nRow = 0;
SCSIZE nIndex;
Search(nStartRow,nIndex);
- while ( (nIndex < nCount) ? ((nRow=pItems[nIndex].nRow) <= nEndRow) : FALSE )
+ while ( (nIndex < nCount) ? ((nRow=pItems[nIndex].nRow) <= nEndRow) : false )
{
ScBaseCell* pCell = pItems[nIndex].pCell;
CellType eCellType = pCell->GetCellType();
@@ -2131,17 +2129,17 @@ BOOL ScColumn::HasEditCells(SCROW nStartRow, SCROW nEndRow, SCROW& rFirst) const
((eCellType == CELLTYPE_FORMULA) && ((ScFormulaCell*)pCell)->IsMultilineResult()) )
{
rFirst = nRow;
- return TRUE;
+ return true;
}
++nIndex;
}
- return FALSE;
+ return false;
}
SCsROW ScColumn::SearchStyle( SCsROW nRow, const ScStyleSheet* pSearchStyle,
- BOOL bUp, BOOL bInSelection, const ScMarkData& rMark )
+ bool bUp, bool bInSelection, const ScMarkData& rMark )
{
if (bInSelection)
{
@@ -2156,8 +2154,8 @@ SCsROW ScColumn::SearchStyle( SCsROW nRow, const ScStyleSheet* pSearchStyle,
}
-BOOL ScColumn::SearchStyleRange( SCsROW& rRow, SCsROW& rEndRow, const ScStyleSheet* pSearchStyle,
- BOOL bUp, BOOL bInSelection, const ScMarkData& rMark )
+bool ScColumn::SearchStyleRange( SCsROW& rRow, SCsROW& rEndRow, const ScStyleSheet* pSearchStyle,
+ bool bUp, bool bInSelection, const ScMarkData& rMark )
{
if (bInSelection)
{
@@ -2165,7 +2163,7 @@ BOOL ScColumn::SearchStyleRange( SCsROW& rRow, SCsROW& rEndRow, const ScStyleShe
return pAttrArray->SearchStyleRange( rRow, rEndRow, pSearchStyle, bUp,
(ScMarkArray*) rMark.GetArray()+nCol ); //! const
else
- return FALSE;
+ return false;
}
else
return pAttrArray->SearchStyleRange( rRow, rEndRow, pSearchStyle, bUp, NULL );
diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index 9fc09c2addc6..69b6fefba7e3 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -80,7 +80,7 @@
// -----------------------------------------------------------------------
-inline BOOL IsAmbiguousScript( BYTE nScript )
+inline bool IsAmbiguousScript( sal_uInt8 nScript )
{
//! move to a header file
return ( nScript != SCRIPTTYPE_LATIN &&
@@ -100,7 +100,7 @@ inline BOOL IsAmbiguousScript( BYTE nScript )
long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
double nPPTX, double nPPTY,
const Fraction& rZoomX, const Fraction& rZoomY,
- BOOL bWidth, const ScNeededSizeOptions& rOptions )
+ bool bWidth, const ScNeededSizeOptions& rOptions )
{
long nValue=0;
SCSIZE nIndex;
@@ -143,7 +143,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
const SfxPoolItem* pCondItem;
SvxCellHorJustify eHorJust;
if (pCondSet &&
- pCondSet->GetItemState(ATTR_HOR_JUSTIFY, TRUE, &pCondItem) == SFX_ITEM_SET)
+ pCondSet->GetItemState(ATTR_HOR_JUSTIFY, true, &pCondItem) == SFX_ITEM_SET)
eHorJust = (SvxCellHorJustify)((const SvxHorJustifyItem*)pCondItem)->GetValue();
else
eHorJust = (SvxCellHorJustify)((const SvxHorJustifyItem&)
@@ -152,7 +152,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
if ( eHorJust == SVX_HOR_JUSTIFY_BLOCK )
bBreak = true;
else if ( pCondSet &&
- pCondSet->GetItemState(ATTR_LINEBREAK, TRUE, &pCondItem) == SFX_ITEM_SET)
+ pCondSet->GetItemState(ATTR_LINEBREAK, true, &pCondItem) == SFX_ITEM_SET)
bBreak = ((const SfxBoolItem*)pCondItem)->GetValue();
else
bBreak = ((const SfxBoolItem&)pPattern->GetItem(ATTR_LINEBREAK)).GetValue();
@@ -164,7 +164,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
// get other attributes from pattern and conditional formatting
SvxCellOrientation eOrient = pPattern->GetCellOrientation( pCondSet );
- BOOL bAsianVertical = ( eOrient == SVX_ORIENTATION_STACKED &&
+ bool bAsianVertical = ( eOrient == SVX_ORIENTATION_STACKED &&
((const SfxBoolItem&)pPattern->GetItem( ATTR_VERTICAL_ASIAN, pCondSet )).GetValue() );
if ( bAsianVertical )
bBreak = false;
@@ -177,14 +177,14 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
if ( eOrient == SVX_ORIENTATION_STANDARD )
{
if (pCondSet &&
- pCondSet->GetItemState(ATTR_ROTATE_VALUE, TRUE, &pCondItem) == SFX_ITEM_SET)
+ pCondSet->GetItemState(ATTR_ROTATE_VALUE, true, &pCondItem) == SFX_ITEM_SET)
nRotate = ((const SfxInt32Item*)pCondItem)->GetValue();
else
nRotate = ((const SfxInt32Item&)pPattern->GetItem(ATTR_ROTATE_VALUE)).GetValue();
if ( nRotate )
{
if (pCondSet &&
- pCondSet->GetItemState(ATTR_ROTATE_MODE, TRUE, &pCondItem) == SFX_ITEM_SET)
+ pCondSet->GetItemState(ATTR_ROTATE_MODE, true, &pCondItem) == SFX_ITEM_SET)
eRotMode = (SvxRotateMode)((const SvxRotateModeItem*)pCondItem)->GetValue();
else
eRotMode = (SvxRotateMode)((const SvxRotateModeItem&)
@@ -200,26 +200,26 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
// ignore orientation/rotation if "repeat" is active
eOrient = SVX_ORIENTATION_STANDARD;
nRotate = 0;
- bAsianVertical = FALSE;
+ bAsianVertical = false;
}
const SvxMarginItem* pMargin;
if (pCondSet &&
- pCondSet->GetItemState(ATTR_MARGIN, TRUE, &pCondItem) == SFX_ITEM_SET)
+ pCondSet->GetItemState(ATTR_MARGIN, true, &pCondItem) == SFX_ITEM_SET)
pMargin = (const SvxMarginItem*) pCondItem;
else
pMargin = (const SvxMarginItem*) &pPattern->GetItem(ATTR_MARGIN);
- USHORT nIndent = 0;
+ sal_uInt16 nIndent = 0;
if ( eHorJust == SVX_HOR_JUSTIFY_LEFT )
{
if (pCondSet &&
- pCondSet->GetItemState(ATTR_INDENT, TRUE, &pCondItem) == SFX_ITEM_SET)
+ pCondSet->GetItemState(ATTR_INDENT, true, &pCondItem) == SFX_ITEM_SET)
nIndent = ((const SfxUInt16Item*)pCondItem)->GetValue();
else
nIndent = ((const SfxUInt16Item&)pPattern->GetItem(ATTR_INDENT)).GetValue();
}
- BYTE nScript = pDocument->GetScriptType( nCol, nRow, nTab, pCell );
+ sal_uInt8 nScript = pDocument->GetScriptType( nCol, nRow, nTab, pCell );
if (nScript == 0) nScript = ScGlobal::GetDefaultScriptType();
// also call SetFont for edit cells, because bGetFont may be set only once
@@ -233,10 +233,10 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
pDev->SetFont(aFont);
}
- BOOL bAddMargin = TRUE;
+ bool bAddMargin = true;
CellType eCellType = pCell->GetCellType();
- BOOL bEditEngine = ( eCellType == CELLTYPE_EDIT ||
+ bool bEditEngine = ( eCellType == CELLTYPE_EDIT ||
eOrient == SVX_ORIENTATION_STACKED ||
IsAmbiguousScript( nScript ) ||
((eCellType == CELLTYPE_FORMULA) && ((ScFormulaCell*)pCell)->IsMultilineResult()) );
@@ -246,10 +246,10 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
String aValStr;
Color* pColor;
SvNumberFormatter* pFormatter = pDocument->GetFormatTable();
- ULONG nFormat = pPattern->GetNumberFormat( pFormatter, pCondSet );
+ sal_uInt32 nFormat = pPattern->GetNumberFormat( pFormatter, pCondSet );
ScCellFormat::GetString( pCell, nFormat, aValStr, &pColor,
*pFormatter,
- TRUE, rOptions.bFormula, ftCheck );
+ true, rOptions.bFormula, ftCheck );
if (aValStr.Len())
{
// SetFont ist nach oben verschoben
@@ -275,7 +275,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
else if ( rOptions.bTotalSize )
{
nWidth = (long) ( pDocument->GetColWidth( nCol,nTab ) * nPPT );
- bAddMargin = FALSE;
+ bAddMargin = false;
// nur nach rechts:
//! unterscheiden nach Ausrichtung oben/unten (nur Text/ganze Hoehe)
if ( pPattern->GetRotateDir( pCondSet ) == SC_ROTDIR_RIGHT )
@@ -324,7 +324,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
* nPPT );
nDocPixel = (nDocPixel * 9) / 10; // zur Sicherheit
if ( aSize.Width() > nDocPixel )
- bEditEngine = TRUE;
+ bEditEngine = true;
}
}
}
@@ -339,7 +339,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
// am Dokument speichern ?
ScFieldEditEngine* pEngine = pDocument->CreateFieldEditEngine();
- pEngine->SetUpdateMode( FALSE );
+ pEngine->SetUpdateMode( false );
MapMode aOld = pDev->GetMapMode();
pDev->SetMapMode( aHMMMode );
pEngine->SetRefDevice( pDev );
@@ -364,7 +364,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
else if (bBreak)
{
double fWidthFactor = nPPTX;
- BOOL bTextWysiwyg = ( pDev->GetOutDevType() == OUTDEV_PRINTER );
+ bool bTextWysiwyg = ( pDev->GetOutDevType() == OUTDEV_PRINTER );
if ( bTextWysiwyg )
{
// #95593# if text is formatted for printer, don't use PixelToLogic,
@@ -407,22 +407,22 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
{
Color* pColor;
SvNumberFormatter* pFormatter = pDocument->GetFormatTable();
- ULONG nFormat = pPattern->GetNumberFormat( pFormatter, pCondSet );
+ sal_uInt32 nFormat = pPattern->GetNumberFormat( pFormatter, pCondSet );
String aString;
ScCellFormat::GetString( pCell, nFormat, aString, &pColor,
*pFormatter,
- TRUE, rOptions.bFormula, ftCheck );
+ true, rOptions.bFormula, ftCheck );
if (aString.Len())
pEngine->SetTextNewDefaults(aString, pSet);
else
pEngine->SetDefaults(pSet);
}
- BOOL bEngineVertical = pEngine->IsVertical();
+ bool bEngineVertical = pEngine->IsVertical();
pEngine->SetVertical( bAsianVertical );
- pEngine->SetUpdateMode( TRUE );
+ pEngine->SetUpdateMode( true );
- BOOL bEdWidth = bWidth;
+ bool bEdWidth = bWidth;
if ( eOrient != SVX_ORIENTATION_STANDARD && eOrient != SVX_ORIENTATION_STACKED )
bEdWidth = !bEdWidth;
if ( nRotate )
@@ -440,7 +440,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
else if ( rOptions.bTotalSize )
{
nWidth = (long) ( pDocument->GetColWidth( nCol,nTab ) * nPPT );
- bAddMargin = FALSE;
+ bAddMargin = false;
if ( pPattern->GetRotateDir( pCondSet ) == SC_ROTDIR_RIGHT )
nWidth += (long)( pDocument->GetRowHeight( nRow,nTab ) *
nPPT * nCosAbs / nSinAbs );
@@ -516,7 +516,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
// 20 * nZoom/100
// bedingte Formatierung hier nicht interessant
- INT16 nFlags = ((const ScMergeFlagAttr&)pPattern->GetItem(ATTR_MERGE_FLAG)).GetValue();
+ sal_Int16 nFlags = ((const ScMergeFlagAttr&)pPattern->GetItem(ATTR_MERGE_FLAG)).GetValue();
if (nFlags & SC_MF_AUTO)
nValue += (rZoomX.GetNumerator()*20)/rZoomX.GetDenominator();
}
@@ -525,7 +525,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
}
long ScColumn::GetSimpleTextNeededSize( SCSIZE nIndex, OutputDevice* pDev,
- BOOL bWidth )
+ bool bWidth )
{
long nValue=0;
if ( nIndex < nCount )
@@ -536,9 +536,9 @@ long ScColumn::GetSimpleTextNeededSize( SCSIZE nIndex, OutputDevice* pDev,
String aValStr;
Color* pColor;
SvNumberFormatter* pFormatter = pDocument->GetFormatTable();
- ULONG nFormat = pPattern->GetNumberFormat( pFormatter );
+ sal_uInt32 nFormat = pPattern->GetNumberFormat( pFormatter );
ScCellFormat::GetString( pCell, nFormat, aValStr, &pColor,
- *pFormatter, TRUE, FALSE, ftCheck );
+ *pFormatter, true, false, ftCheck );
if ( aValStr.Len() )
{
if ( bWidth )
@@ -550,20 +550,20 @@ long ScColumn::GetSimpleTextNeededSize( SCSIZE nIndex, OutputDevice* pDev,
return nValue;
}
-USHORT ScColumn::GetOptimalColWidth( OutputDevice* pDev, double nPPTX, double nPPTY,
+sal_uInt16 ScColumn::GetOptimalColWidth( OutputDevice* pDev, double nPPTX, double nPPTY,
const Fraction& rZoomX, const Fraction& rZoomY,
- BOOL bFormula, USHORT nOldWidth,
+ bool bFormula, sal_uInt16 nOldWidth,
const ScMarkData* pMarkData,
const ScColWidthParam* pParam )
{
if (nCount == 0)
return nOldWidth;
- USHORT nWidth = (USHORT) (nOldWidth * nPPTX);
- BOOL bFound = FALSE;
+ sal_uInt16 nWidth = (sal_uInt16) (nOldWidth * nPPTX);
+ bool bFound = false;
SCSIZE nIndex;
- ScMarkedDataIter aDataIter(this, pMarkData, TRUE);
+ ScMarkedDataIter aDataIter(this, pMarkData, true);
if ( pParam && pParam->mbSimpleText )
{ // alles eins bis auf NumberFormate
const ScPatternAttr* pPattern = GetPattern( 0 );
@@ -577,14 +577,14 @@ USHORT ScColumn::GetOptimalColWidth( OutputDevice* pDev, double nPPTX, double nP
// Try to find the row that has the longest string, and measure the width of that string.
SvNumberFormatter* pFormatter = pDocument->GetFormatTable();
- ULONG nFormat = pPattern->GetNumberFormat( pFormatter );
+ sal_uInt32 nFormat = pPattern->GetNumberFormat( pFormatter );
String aLongStr;
Color* pColor;
if (pParam->mnMaxTextRow >= 0)
{
ScBaseCell* pCell = GetCell(pParam->mnMaxTextRow);
ScCellFormat::GetString(
- pCell, nFormat, aLongStr, &pColor, *pFormatter, TRUE, FALSE, ftCheck );
+ pCell, nFormat, aLongStr, &pColor, *pFormatter, true, false, ftCheck );
}
else
{
@@ -598,7 +598,7 @@ USHORT ScColumn::GetOptimalColWidth( OutputDevice* pDev, double nPPTX, double nP
ScBaseCell* pCell = pItems[nIndex].pCell;
String aValStr;
ScCellFormat::GetString(
- pCell, nFormat, aValStr, &pColor, *pFormatter, TRUE, FALSE, ftCheck );
+ pCell, nFormat, aValStr, &pColor, *pFormatter, true, false, ftCheck );
if (aValStr.Len() > nLongLen)
{
@@ -610,7 +610,7 @@ USHORT ScColumn::GetOptimalColWidth( OutputDevice* pDev, double nPPTX, double nP
if (aLongStr.Len())
{
- nWidth = pDev->GetTextWidth(aLongStr) + static_cast<USHORT>(nMargin);
+ nWidth = pDev->GetTextWidth(aLongStr) + static_cast<sal_uInt16>(nMargin);
bFound = true;
}
}
@@ -619,27 +619,27 @@ USHORT ScColumn::GetOptimalColWidth( OutputDevice* pDev, double nPPTX, double nP
ScNeededSizeOptions aOptions;
aOptions.bFormula = bFormula;
const ScPatternAttr* pOldPattern = NULL;
- BYTE nOldScript = 0;
+ sal_uInt8 nOldScript = 0;
while (aDataIter.Next( nIndex ))
{
SCROW nRow = pItems[nIndex].nRow;
- BYTE nScript = pDocument->GetScriptType( nCol, nRow, nTab, pItems[nIndex].pCell );
+ sal_uInt8 nScript = pDocument->GetScriptType( nCol, nRow, nTab, pItems[nIndex].pCell );
if (nScript == 0) nScript = ScGlobal::GetDefaultScriptType();
const ScPatternAttr* pPattern = GetPattern( nRow );
aOptions.pPattern = pPattern;
aOptions.bGetFont = (pPattern != pOldPattern || nScript != nOldScript);
- USHORT nThis = (USHORT) GetNeededSize( nRow, pDev, nPPTX, nPPTY,
- rZoomX, rZoomY, TRUE, aOptions );
+ sal_uInt16 nThis = (sal_uInt16) GetNeededSize( nRow, pDev, nPPTX, nPPTY,
+ rZoomX, rZoomY, true, aOptions );
pOldPattern = pPattern;
if (nThis)
{
if (nThis>nWidth || !bFound)
{
nWidth = nThis;
- bFound = TRUE;
+ bFound = true;
}
}
}
@@ -648,16 +648,16 @@ USHORT ScColumn::GetOptimalColWidth( OutputDevice* pDev, double nPPTX, double nP
if (bFound)
{
nWidth += 2;
- USHORT nTwips = (USHORT) (nWidth / nPPTX);
+ sal_uInt16 nTwips = (sal_uInt16) (nWidth / nPPTX);
return nTwips;
}
else
return nOldWidth;
}
-USHORT lcl_GetAttribHeight( const ScPatternAttr& rPattern, USHORT nFontHeightId )
+sal_uInt16 lcl_GetAttribHeight( const ScPatternAttr& rPattern, sal_uInt16 nFontHeightId )
{
- USHORT nHeight = (USHORT) ((const SvxFontHeightItem&) rPattern.GetItem(nFontHeightId)).GetHeight();
+ sal_uInt16 nHeight = (sal_uInt16) ((const SvxFontHeightItem&) rPattern.GetItem(nFontHeightId)).GetHeight();
const SvxMarginItem* pMargin = (const SvxMarginItem*) &rPattern.GetItem(ATTR_MARGIN);
nHeight += nHeight / 5;
// gibt bei 10pt 240
@@ -672,7 +672,7 @@ USHORT lcl_GetAttribHeight( const ScPatternAttr& rPattern, USHORT nFontHeightId
if ( nHeight + 240 > ScGlobal::nDefFontHeight )
{
- nHeight = sal::static_int_cast<USHORT>( nHeight + ScGlobal::nDefFontHeight );
+ nHeight = sal::static_int_cast<sal_uInt16>( nHeight + ScGlobal::nDefFontHeight );
nHeight -= 240;
}
@@ -691,11 +691,11 @@ USHORT lcl_GetAttribHeight( const ScPatternAttr& rPattern, USHORT nFontHeightId
// nMinHeight, nMinStart zur Optimierung: ab nRow >= nMinStart ist mindestens nMinHeight
// (wird nur bei bStdAllowed ausgewertet)
-void ScColumn::GetOptimalHeight( SCROW nStartRow, SCROW nEndRow, USHORT* pHeight,
+void ScColumn::GetOptimalHeight( SCROW nStartRow, SCROW nEndRow, sal_uInt16* pHeight,
OutputDevice* pDev,
double nPPTX, double nPPTY,
const Fraction& rZoomX, const Fraction& rZoomY,
- BOOL bShrink, USHORT nMinHeight, SCROW nMinStart )
+ bool bShrink, sal_uInt16 nMinHeight, SCROW nMinStart )
{
ScAttrIterator aIter( pAttrArray, nStartRow, nEndRow );
@@ -720,11 +720,11 @@ void ScColumn::GetOptimalHeight( SCROW nStartRow, SCROW nEndRow, USHORT* pHeight
else
{
SCROW nRow = 0;
- BOOL bStdAllowed = (pPattern->GetCellOrientation() == SVX_ORIENTATION_STANDARD);
- BOOL bStdOnly = FALSE;
+ bool bStdAllowed = (pPattern->GetCellOrientation() == SVX_ORIENTATION_STANDARD);
+ bool bStdOnly = false;
if (bStdAllowed)
{
- BOOL bBreak = ((SfxBoolItem&)pPattern->GetItem(ATTR_LINEBREAK)).GetValue() ||
+ bool bBreak = ((SfxBoolItem&)pPattern->GetItem(ATTR_LINEBREAK)).GetValue() ||
((SvxCellHorJustify)((const SvxHorJustifyItem&)pPattern->
GetItem( ATTR_HOR_JUSTIFY )).GetValue() ==
SVX_HOR_JUSTIFY_BLOCK);
@@ -733,12 +733,12 @@ void ScColumn::GetOptimalHeight( SCROW nStartRow, SCROW nEndRow, USHORT* pHeight
// bedingte Formatierung: Zellen durchgehen
if ( bStdOnly && ((const SfxUInt32Item&)pPattern->
GetItem(ATTR_CONDITIONAL)).GetValue() )
- bStdOnly = FALSE;
+ bStdOnly = false;
// gedrehter Text: Zellen durchgehen
if ( bStdOnly && ((const SfxInt32Item&)pPattern->
GetItem(ATTR_ROTATE_VALUE)).GetValue() )
- bStdOnly = FALSE;
+ bStdOnly = false;
}
if (bStdOnly)
@@ -746,11 +746,11 @@ void ScColumn::GetOptimalHeight( SCROW nStartRow, SCROW nEndRow, USHORT* pHeight
{
if (nEditPos == nStart)
{
- bStdOnly = FALSE;
+ bStdOnly = false;
if (nEnd > nEditPos)
nNextEnd = nEnd;
nEnd = nEditPos; // einzeln ausrechnen
- bStdAllowed = FALSE; // wird auf jeden Fall per Zelle berechnet
+ bStdAllowed = false; // wird auf jeden Fall per Zelle berechnet
}
else
{
@@ -761,11 +761,11 @@ void ScColumn::GetOptimalHeight( SCROW nStartRow, SCROW nEndRow, USHORT* pHeight
if (bStdAllowed)
{
- USHORT nLatHeight = 0;
- USHORT nCjkHeight = 0;
- USHORT nCtlHeight = 0;
- USHORT nDefHeight;
- BYTE nDefScript = ScGlobal::GetDefaultScriptType();
+ sal_uInt16 nLatHeight = 0;
+ sal_uInt16 nCjkHeight = 0;
+ sal_uInt16 nCtlHeight = 0;
+ sal_uInt16 nDefHeight;
+ sal_uInt8 nDefScript = ScGlobal::GetDefaultScriptType();
if ( nDefScript == SCRIPTTYPE_ASIAN )
nDefHeight = nCjkHeight = lcl_GetAttribHeight( *pPattern, ATTR_CJK_FONT_HEIGHT );
else if ( nDefScript == SCRIPTTYPE_COMPLEX )
@@ -792,7 +792,7 @@ void ScColumn::GetOptimalHeight( SCROW nStartRow, SCROW nEndRow, USHORT* pHeight
Search(nStart,nIndex);
while ( nIndex < nCount && (nRow=pItems[nIndex].nRow) <= nEnd )
{
- BYTE nScript = pDocument->GetScriptType( nCol, nRow, nTab, pItems[nIndex].pCell );
+ sal_uInt8 nScript = pDocument->GetScriptType( nCol, nRow, nTab, pItems[nIndex].pCell );
if ( nScript != nDefScript )
{
if ( nScript == SCRIPTTYPE_ASIAN )
@@ -828,16 +828,16 @@ void ScColumn::GetOptimalHeight( SCROW nStartRow, SCROW nEndRow, USHORT* pHeight
SCSIZE nIndex;
Search(nStart,nIndex);
- while ( (nIndex < nCount) ? ((nRow=pItems[nIndex].nRow) <= nEnd) : FALSE )
+ while ( (nIndex < nCount) ? ((nRow=pItems[nIndex].nRow) <= nEnd) : false )
{
// Zellhoehe nur berechnen, wenn sie spaeter auch gebraucht wird (#37928#)
if ( bShrink || !(pDocument->GetRowFlags(nRow, nTab) & CR_MANUALSIZE) )
{
aOptions.pPattern = pPattern;
- USHORT nHeight = (USHORT)
+ sal_uInt16 nHeight = (sal_uInt16)
( GetNeededSize( nRow, pDev, nPPTX, nPPTY,
- rZoomX, rZoomY, FALSE, aOptions ) / nPPTY );
+ rZoomX, rZoomY, false, aOptions ) / nPPTY );
if (nHeight > pHeight[nRow-nStartRow])
pHeight[nRow-nStartRow] = nHeight;
}
@@ -857,9 +857,9 @@ void ScColumn::GetOptimalHeight( SCROW nStartRow, SCROW nEndRow, USHORT* pHeight
}
}
-BOOL ScColumn::GetNextSpellingCell(SCROW& nRow, BOOL bInSel, const ScMarkData& rData) const
+bool ScColumn::GetNextSpellingCell(SCROW& nRow, bool bInSel, const ScMarkData& rData) const
{
- BOOL bStop = FALSE;
+ bool bStop = false;
CellType eCellType;
SCSIZE nIndex;
if (!bInSel && Search(nRow, nIndex))
@@ -868,17 +868,17 @@ BOOL ScColumn::GetNextSpellingCell(SCROW& nRow, BOOL bInSel, const ScMarkData& r
if ( (eCellType == CELLTYPE_STRING || eCellType == CELLTYPE_EDIT) &&
!(HasAttrib( nRow, nRow, HASATTR_PROTECTED) &&
pDocument->IsTabProtected(nTab)) )
- return TRUE;
+ return true;
}
while (!bStop)
{
if (bInSel)
{
- nRow = rData.GetNextMarked(nCol, nRow, FALSE);
+ nRow = rData.GetNextMarked(nCol, nRow, false);
if (!ValidRow(nRow))
{
nRow = MAXROW+1;
- bStop = TRUE;
+ bStop = true;
}
else
{
@@ -886,7 +886,7 @@ BOOL ScColumn::GetNextSpellingCell(SCROW& nRow, BOOL bInSel, const ScMarkData& r
if ( (eCellType == CELLTYPE_STRING || eCellType == CELLTYPE_EDIT) &&
!(HasAttrib( nRow, nRow, HASATTR_PROTECTED) &&
pDocument->IsTabProtected(nTab)) )
- return TRUE;
+ return true;
else
nRow++;
}
@@ -897,17 +897,17 @@ BOOL ScColumn::GetNextSpellingCell(SCROW& nRow, BOOL bInSel, const ScMarkData& r
if ( (eCellType == CELLTYPE_STRING || eCellType == CELLTYPE_EDIT) &&
!(HasAttrib( nRow, nRow, HASATTR_PROTECTED) &&
pDocument->IsTabProtected(nTab)) )
- return TRUE;
+ return true;
else
nRow++;
}
else
{
nRow = MAXROW+1;
- bStop = TRUE;
+ bStop = true;
}
}
- return FALSE;
+ return false;
}
// =========================================================================================
@@ -985,8 +985,8 @@ void ScColumn::RemoveEditAttribs( SCROW nStartRow, SCROW nEndRow )
pEngine->SetKernAsianPunctuation( pDocument->GetAsianKerning() );
}
pEngine->SetText( *pData );
- USHORT nParCount = pEngine->GetParagraphCount();
- for (USHORT nPar=0; nPar<nParCount; nPar++)
+ sal_uInt16 nParCount = pEngine->GetParagraphCount();
+ for (sal_uInt16 nPar=0; nPar<nParCount; nPar++)
{
pEngine->QuickRemoveCharAttribs( nPar );
const SfxItemSet& rOld = pEngine->GetParaAttribs( nPar );
@@ -997,16 +997,16 @@ void ScColumn::RemoveEditAttribs( SCROW nStartRow, SCROW nEndRow )
}
}
// URL-Felder in Text wandeln (andere gibt's nicht, darum pType=0)
- pEngine->RemoveFields( TRUE );
+ pEngine->RemoveFields( true );
- BOOL bSpellErrors = pEngine->HasOnlineSpellErrors();
- BOOL bNeedObject = bSpellErrors || nParCount>1; // Errors/Absaetze behalten
+ bool bSpellErrors = pEngine->HasOnlineSpellErrors();
+ bool bNeedObject = bSpellErrors || nParCount>1; // Errors/Absaetze behalten
// ScEditAttrTester nicht mehr noetig, Felder sind raus
if ( bNeedObject ) // bleibt Edit-Zelle
{
- ULONG nCtrl = pEngine->GetControlWord();
- ULONG nWantBig = bSpellErrors ? EE_CNTRL_ALLOWBIGOBJS : 0;
+ sal_uInt32 nCtrl = pEngine->GetControlWord();
+ sal_uInt32 nWantBig = bSpellErrors ? EE_CNTRL_ALLOWBIGOBJS : 0;
if ( ( nCtrl & EE_CNTRL_ALLOWBIGOBJS ) != nWantBig )
pEngine->SetControlWord( (nCtrl & ~EE_CNTRL_ALLOWBIGOBJS) | nWantBig );
EditTextObject* pNewData = pEngine->CreateTextObject();
@@ -1029,14 +1029,14 @@ void ScColumn::RemoveEditAttribs( SCROW nStartRow, SCROW nEndRow )
// =========================================================================================
-BOOL ScColumn::TestTabRefAbs(SCTAB nTable)
+bool ScColumn::TestTabRefAbs(SCTAB nTable)
{
- BOOL bRet = FALSE;
+ bool bRet = false;
if (pItems)
for (SCSIZE i = 0; i < nCount; i++)
if ( pItems[i].pCell->GetCellType() == CELLTYPE_FORMULA )
if (((ScFormulaCell*)pItems[i].pCell)->TestTabRefAbs(nTable))
- bRet = TRUE;
+ bRet = true;
return bRet;
}
@@ -1054,7 +1054,7 @@ ScColumnIterator::~ScColumnIterator()
{
}
-BOOL ScColumnIterator::Next( SCROW& rRow, ScBaseCell*& rpCell )
+bool ScColumnIterator::Next( SCROW& rRow, ScBaseCell*& rpCell )
{
if ( nPos < pColumn->nCount )
{
@@ -1063,13 +1063,13 @@ BOOL ScColumnIterator::Next( SCROW& rRow, ScBaseCell*& rpCell )
{
rpCell = pColumn->pItems[nPos].pCell;
++nPos;
- return TRUE;
+ return true;
}
}
rRow = 0;
rpCell = NULL;
- return FALSE;
+ return false;
}
SCSIZE ScColumnIterator::GetIndex() const // Index zur letzen abgefragten Zelle
@@ -1080,10 +1080,10 @@ SCSIZE ScColumnIterator::GetIndex() const // Index zur letzen abgefrag
// -----------------------------------------------------------------------------------------
ScMarkedDataIter::ScMarkedDataIter( const ScColumn* pCol, const ScMarkData* pMarkData,
- BOOL bAllIfNone ) :
+ bool bAllIfNone ) :
pColumn( pCol ),
pMarkIter( NULL ),
- bNext( TRUE ),
+ bNext( true ),
bAll( bAllIfNone )
{
if (pMarkData && pMarkData->IsMultiMarked())
@@ -1095,9 +1095,9 @@ ScMarkedDataIter::~ScMarkedDataIter()
delete pMarkIter;
}
-BOOL ScMarkedDataIter::Next( SCSIZE& rIndex )
+bool ScMarkedDataIter::Next( SCSIZE& rIndex )
{
- BOOL bFound = FALSE;
+ bool bFound = false;
do
{
if (bNext)
@@ -1110,48 +1110,48 @@ BOOL ScMarkedDataIter::Next( SCSIZE& rIndex )
nBottom = MAXROW;
}
else
- return FALSE;
+ return false;
}
pColumn->Search( nTop, nPos );
- bNext = FALSE;
- bAll = FALSE; // nur beim ersten Versuch
+ bNext = false;
+ bAll = false; // nur beim ersten Versuch
}
if ( nPos >= pColumn->nCount )
- return FALSE;
+ return false;
if ( pColumn->pItems[nPos].nRow <= nBottom )
- bFound = TRUE;
+ bFound = true;
else
- bNext = TRUE;
+ bNext = true;
}
while (!bFound);
rIndex = nPos++;
- return TRUE;
+ return true;
}
//------------
-BOOL ScColumn::IsEmptyData() const
+bool ScColumn::IsEmptyData() const
{
return (nCount == 0);
}
-BOOL ScColumn::IsEmptyVisData(BOOL bNotes) const
+bool ScColumn::IsEmptyVisData(bool bNotes) const
{
if (!pItems || nCount == 0)
- return TRUE;
+ return true;
else
{
- BOOL bVisData = FALSE;
+ bool bVisData = false;
SCSIZE i;
for (i=0; i<nCount && !bVisData; i++)
{
ScBaseCell* pCell = pItems[i].pCell;
if ( pCell->GetCellType() != CELLTYPE_NOTE || (bNotes && pCell->HasNote()) )
- bVisData = TRUE;
+ bVisData = true;
}
return !bVisData;
}
@@ -1176,20 +1176,20 @@ SCSIZE ScColumn::VisibleCount( SCROW nStartRow, SCROW nEndRow ) const
return nVisCount;
}
-SCROW ScColumn::GetLastVisDataPos(BOOL bNotes) const
+SCROW ScColumn::GetLastVisDataPos(bool bNotes) const
{
SCROW nRet = 0;
if (pItems)
{
SCSIZE i;
- BOOL bFound = FALSE;
+ bool bFound = false;
for (i=nCount; i>0 && !bFound; )
{
--i;
ScBaseCell* pCell = pItems[i].pCell;
if ( pCell->GetCellType() != CELLTYPE_NOTE || (bNotes && pCell->HasNote()) )
{
- bFound = TRUE;
+ bFound = true;
nRet = pItems[i].nRow;
}
}
@@ -1197,19 +1197,19 @@ SCROW ScColumn::GetLastVisDataPos(BOOL bNotes) const
return nRet;
}
-SCROW ScColumn::GetFirstVisDataPos(BOOL bNotes) const
+SCROW ScColumn::GetFirstVisDataPos(bool bNotes) const
{
SCROW nRet = 0;
if (pItems)
{
SCSIZE i;
- BOOL bFound = FALSE;
+ bool bFound = false;
for (i=0; i<nCount && !bFound; i++)
{
ScBaseCell* pCell = pItems[i].pCell;
if ( pCell->GetCellType() != CELLTYPE_NOTE || (bNotes && pCell->HasNote()) )
{
- bFound = TRUE;
+ bFound = true;
nRet = pItems[i].nRow;
}
}
@@ -1217,53 +1217,53 @@ SCROW ScColumn::GetFirstVisDataPos(BOOL bNotes) const
return nRet;
}
-BOOL ScColumn::HasVisibleDataAt(SCROW nRow) const
+bool ScColumn::HasVisibleDataAt(SCROW nRow) const
{
SCSIZE nIndex;
if (Search(nRow, nIndex))
if (!pItems[nIndex].pCell->IsBlank())
- return TRUE;
+ return true;
- return FALSE;
+ return false;
}
-BOOL ScColumn::IsEmptyAttr() const
+bool ScColumn::IsEmptyAttr() const
{
if (pAttrArray)
return pAttrArray->IsEmpty();
else
- return TRUE;
+ return true;
}
-BOOL ScColumn::IsEmpty() const
+bool ScColumn::IsEmpty() const
{
return (IsEmptyData() && IsEmptyAttr());
}
-BOOL ScColumn::IsEmptyBlock(SCROW nStartRow, SCROW nEndRow, bool bIgnoreNotes) const
+bool ScColumn::IsEmptyBlock(SCROW nStartRow, SCROW nEndRow, bool bIgnoreNotes) const
{
Rectangle aRect;
- if (pAttrArray->HasLines(nStartRow, nEndRow, aRect, TRUE, TRUE))
- return FALSE;
+ if (pAttrArray->HasLines(nStartRow, nEndRow, aRect, true, true))
+ return false;
if ( nCount == 0 || !pItems )
- return TRUE;
+ return true;
SCSIZE nIndex;
Search( nStartRow, nIndex );
while ( nIndex < nCount && pItems[nIndex].nRow <= nEndRow )
{
if ( !pItems[nIndex].pCell->IsBlank( bIgnoreNotes ) ) // found a cell
- return FALSE; // not empty
+ return false; // not empty
++nIndex;
}
- return TRUE; // no cell found
+ return true; // no cell found
}
SCSIZE ScColumn::GetEmptyLinesInBlock( SCROW nStartRow, SCROW nEndRow, ScDirection eDir ) const
{
SCSIZE nLines = 0;
- BOOL bFound = FALSE;
+ bool bFound = false;
SCSIZE i;
if (pItems && (nCount > 0))
{
@@ -1319,9 +1319,9 @@ SCROW ScColumn::GetLastDataPos() const
return 0;
}
-BOOL ScColumn::GetPrevDataPos(SCROW& rRow) const
+bool ScColumn::GetPrevDataPos(SCROW& rRow) const
{
- BOOL bFound = FALSE;
+ bool bFound = false;
SCSIZE i = nCount;
while (!bFound && (i > 0))
{
@@ -1333,13 +1333,13 @@ BOOL ScColumn::GetPrevDataPos(SCROW& rRow) const
return bFound;
}
-BOOL ScColumn::GetNextDataPos(SCROW& rRow) const // greater than rRow
+bool ScColumn::GetNextDataPos(SCROW& rRow) const // greater than rRow
{
SCSIZE nIndex;
if (Search( rRow, nIndex ))
++nIndex; // next cell
- BOOL bMore = ( nIndex < nCount );
+ bool bMore = ( nIndex < nCount );
if ( bMore )
rRow = pItems[nIndex].nRow;
return bMore;
@@ -1348,12 +1348,12 @@ BOOL ScColumn::GetNextDataPos(SCROW& rRow) const // greater than rRow
void ScColumn::FindDataAreaPos(SCROW& rRow, long nMovY) const
{
if (!nMovY) return;
- BOOL bForward = (nMovY>0);
+ bool bForward = (nMovY>0);
SCSIZE nIndex;
- BOOL bThere = Search(rRow, nIndex);
+ bool bThere = Search(rRow, nIndex);
if (bThere && pItems[nIndex].pCell->IsBlank())
- bThere = FALSE;
+ bThere = false;
if (bThere)
{
@@ -1393,7 +1393,7 @@ void ScColumn::FindDataAreaPos(SCROW& rRow, long nMovY) const
}
if (nLast==rRow)
{
- bThere = FALSE;
+ bThere = false;
nIndex = bForward ? nOldIndex+1 : nOldIndex;
}
else
@@ -1423,24 +1423,21 @@ void ScColumn::FindDataAreaPos(SCROW& rRow, long nMovY) const
}
}
-BOOL ScColumn::HasDataAt(SCROW nRow) const
+bool ScColumn::HasDataAt(SCROW nRow) const
{
-/* SCSIZE nIndex;
- return Search( nRow, nIndex );
-*/
// immer nur sichtbare interessant ?
//! dann HasVisibleDataAt raus
SCSIZE nIndex;
if (Search(nRow, nIndex))
if (!pItems[nIndex].pCell->IsBlank())
- return TRUE;
+ return true;
- return FALSE;
+ return false;
}
-BOOL ScColumn::IsAllAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEndRow ) const
+bool ScColumn::IsAllAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEndRow ) const
{
if (pAttrArray && rCol.pAttrArray)
return pAttrArray->IsAllEqual( *rCol.pAttrArray, nStartRow, nEndRow );
@@ -1448,7 +1445,7 @@ BOOL ScColumn::IsAllAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEnd
return !pAttrArray && !rCol.pAttrArray;
}
-BOOL ScColumn::IsVisibleAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEndRow ) const
+bool ScColumn::IsVisibleAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEndRow ) const
{
if (pAttrArray && rCol.pAttrArray)
return pAttrArray->IsVisibleEqual( *rCol.pAttrArray, nStartRow, nEndRow );
@@ -1456,43 +1453,43 @@ BOOL ScColumn::IsVisibleAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW
return !pAttrArray && !rCol.pAttrArray;
}
-BOOL ScColumn::GetFirstVisibleAttr( SCROW& rFirstRow ) const
+bool ScColumn::GetFirstVisibleAttr( SCROW& rFirstRow ) const
{
if (pAttrArray)
return pAttrArray->GetFirstVisibleAttr( rFirstRow );
else
- return FALSE;
+ return false;
}
-BOOL ScColumn::GetLastVisibleAttr( SCROW& rLastRow ) const
+bool ScColumn::GetLastVisibleAttr( SCROW& rLastRow ) const
{
if (pAttrArray)
{
// row of last cell is needed
- SCROW nLastData = GetLastVisDataPos( TRUE ); // always including notes, 0 if none
+ SCROW nLastData = GetLastVisDataPos( true ); // always including notes, 0 if none
return pAttrArray->GetLastVisibleAttr( rLastRow, nLastData );
}
else
- return FALSE;
+ return false;
}
-BOOL ScColumn::HasVisibleAttrIn( SCROW nStartRow, SCROW nEndRow ) const
+bool ScColumn::HasVisibleAttrIn( SCROW nStartRow, SCROW nEndRow ) const
{
if (pAttrArray)
return pAttrArray->HasVisibleAttrIn( nStartRow, nEndRow );
else
- return FALSE;
+ return false;
}
-void ScColumn::FindUsed( SCROW nStartRow, SCROW nEndRow, BOOL* pUsed ) const
+void ScColumn::FindUsed( SCROW nStartRow, SCROW nEndRow, bool* pUsed ) const
{
SCROW nRow = 0;
SCSIZE nIndex;
Search( nStartRow, nIndex );
- while ( (nIndex < nCount) ? ((nRow=pItems[nIndex].nRow) <= nEndRow) : FALSE )
+ while ( (nIndex < nCount) ? ((nRow=pItems[nIndex].nRow) <= nEndRow) : false )
{
- pUsed[nRow-nStartRow] = TRUE;
+ pUsed[nRow-nStartRow] = true;
++nIndex;
}
}
@@ -1575,11 +1572,7 @@ void ScColumn::EndListening( SvtListener& rLst, SCROW nRow )
pCell->DeleteBroadcaster();
}
}
-// else
-// DBG_ERROR("ScColumn::EndListening - kein Broadcaster");
}
-// else
-// DBG_ERROR("ScColumn::EndListening - keine Zelle");
}
void ScColumn::CompileDBFormula()
@@ -1593,7 +1586,7 @@ void ScColumn::CompileDBFormula()
}
}
-void ScColumn::CompileDBFormula( BOOL bCreateFormulaString )
+void ScColumn::CompileDBFormula( bool bCreateFormulaString )
{
if (pItems)
for (SCSIZE i = 0; i < nCount; i++)
@@ -1604,7 +1597,7 @@ void ScColumn::CompileDBFormula( BOOL bCreateFormulaString )
}
}
-void ScColumn::CompileNameFormula( BOOL bCreateFormulaString )
+void ScColumn::CompileNameFormula( bool bCreateFormulaString )
{
if (pItems)
for (SCSIZE i = 0; i < nCount; i++)
@@ -1629,13 +1622,13 @@ void ScColumn::CompileColRowNameFormula()
void lcl_UpdateSubTotal( ScFunctionData& rData, ScBaseCell* pCell )
{
double nValue = 0.0;
- BOOL bVal = FALSE;
- BOOL bCell = TRUE;
+ bool bVal = false;
+ bool bCell = true;
switch (pCell->GetCellType())
{
case CELLTYPE_VALUE:
nValue = ((ScValueCell*)pCell)->GetValue();
- bVal = TRUE;
+ bVal = true;
break;
case CELLTYPE_FORMULA:
{
@@ -1645,19 +1638,19 @@ void lcl_UpdateSubTotal( ScFunctionData& rData, ScBaseCell* pCell )
if ( pFC->GetErrCode() )
{
if ( rData.eFunc != SUBTOTAL_FUNC_CNT ) // fuer Anzahl einfach weglassen
- rData.bError = TRUE;
+ rData.bError = true;
}
else if (pFC->IsValue())
{
nValue = pFC->GetValue();
- bVal = TRUE;
+ bVal = true;
}
// sonst Text
}
}
break;
case CELLTYPE_NOTE:
- bCell = FALSE;
+ bCell = false;
break;
// bei Strings nichts
default:
@@ -1676,7 +1669,7 @@ void lcl_UpdateSubTotal( ScFunctionData& rData, ScBaseCell* pCell )
{
++rData.nCount;
if (!SubTotal::SafePlus( rData.nVal, nValue ))
- rData.bError = TRUE;
+ rData.bError = true;
}
break;
case SUBTOTAL_FUNC_CNT: // nur Werte
@@ -1709,10 +1702,10 @@ void lcl_UpdateSubTotal( ScFunctionData& rData, ScBaseCell* pCell )
void ScColumn::UpdateSelectionFunction( const ScMarkData& rMark,
ScFunctionData& rData,
ScFlatBoolRowSegments& rHiddenRows,
- BOOL bDoExclude, SCROW nExStartRow, SCROW nExEndRow )
+ bool bDoExclude, SCROW nExStartRow, SCROW nExEndRow )
{
SCSIZE nIndex;
- ScMarkedDataIter aDataIter(this, &rMark, FALSE);
+ ScMarkedDataIter aDataIter(this, &rMark, false);
while (aDataIter.Next( nIndex ))
{
SCROW nRow = pItems[nIndex].nRow;
@@ -1740,9 +1733,9 @@ void ScColumn::UpdateAreaFunction( ScFunctionData& rData,
}
}
-ULONG ScColumn::GetWeightedCount() const
+sal_uInt32 ScColumn::GetWeightedCount() const
{
- ULONG nTotal = 0;
+ sal_uInt32 nTotal = 0;
// Notizen werden nicht gezaehlt
@@ -1771,9 +1764,9 @@ ULONG ScColumn::GetWeightedCount() const
return nTotal;
}
-ULONG ScColumn::GetCodeCount() const
+sal_uInt32 ScColumn::GetCodeCount() const
{
- ULONG nCodeCount = 0;
+ sal_uInt32 nCodeCount = 0;
for (SCSIZE i=0; i<nCount; i++)
{
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index b34e764a11a7..1a21628bf9ea 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -158,7 +158,7 @@ void ScColumn::Insert( SCROW nRow, ScBaseCell* pNewCell )
}
-void ScColumn::Insert( SCROW nRow, ULONG nNumberFormat, ScBaseCell* pCell )
+void ScColumn::Insert( SCROW nRow, sal_uInt32 nNumberFormat, ScBaseCell* pCell )
{
Insert(nRow, pCell);
short eOldType = pDocument->GetFormatTable()->
@@ -667,7 +667,7 @@ ScFormulaCell* ScColumn::CreateRefCell( ScDocument* pDestDoc, const ScAddress& r
// nRow1, nRow2 = Zielposition
void ScColumn::CopyFromClip(SCROW nRow1, SCROW nRow2, long nDy,
- USHORT nInsFlag, BOOL bAsLink, BOOL bSkipAttrForEmpty,
+ USHORT nInsFlag, bool bAsLink, bool bSkipAttrForEmpty,
ScColumn& rColumn)
{
if ((nInsFlag & IDF_ATTRIB) != 0)
@@ -941,7 +941,7 @@ ScBaseCell* ScColumn::CloneCell(SCSIZE nIndex, USHORT nFlags, ScDocument& rDestD
void ScColumn::MixMarked( const ScMarkData& rMark, USHORT nFunction,
- BOOL bSkipEmpty, ScColumn& rSrcCol )
+ bool bSkipEmpty, ScColumn& rSrcCol )
{
SCROW nRow1, nRow2;
@@ -999,7 +999,7 @@ void lcl_AddCode( ScTokenArray& rArr, ScFormulaCell* pCell )
void ScColumn::MixData( SCROW nRow1, SCROW nRow2,
- USHORT nFunction, BOOL bSkipEmpty,
+ USHORT nFunction, bool bSkipEmpty,
ScColumn& rSrcCol )
{
SCSIZE nSrcCount = rSrcCol.nCount;
@@ -1262,7 +1262,7 @@ void ScColumn::StartListeningInArea( SCROW nRow1, SCROW nRow2 )
// TRUE = Zahlformat gesetzt
-BOOL ScColumn::SetString( SCROW nRow, SCTAB nTabP, const String& rString,
+bool ScColumn::SetString( SCROW nRow, SCTAB nTabP, const String& rString,
formula::FormulaGrammar::AddressConvention eConv,
ScSetStringParam* pParam )
{
@@ -1277,7 +1277,6 @@ BOOL ScColumn::SetString( SCROW nRow, SCTAB nTabP, const String& rString,
if (pParam)
aParam = *pParam;
- double nVal;
sal_uInt32 nIndex, nOldIndex = 0;
sal_Unicode cFirstChar;
if (!aParam.mpNumFormatter)
@@ -1314,6 +1313,7 @@ BOOL ScColumn::SetString( SCROW nRow, SCTAB nTabP, const String& rString,
pNewCell = new ScStringCell( rString.Copy(1) );
else
{
+ double nVal;
BOOL bIsText = FALSE;
if ( bIsLoading )
{
@@ -1578,7 +1578,7 @@ void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, TypedScStrCollec
#define DATENT_SEARCH 2000
-BOOL ScColumn::GetDataEntries(SCROW nStartRow, TypedScStrCollection& rStrings, BOOL bLimit)
+bool ScColumn::GetDataEntries(SCROW nStartRow, TypedScStrCollection& rStrings, bool bLimit)
{
BOOL bFound = FALSE;
SCSIZE nThisIndex;
@@ -1787,7 +1787,7 @@ double ScColumn::GetValue( SCROW nRow ) const
}
-void ScColumn::GetFormula( SCROW nRow, String& rFormula, BOOL ) const
+void ScColumn::GetFormula( SCROW nRow, String& rFormula ) const
{
SCSIZE nIndex;
if (Search(nRow, nIndex))
@@ -1825,7 +1825,7 @@ USHORT ScColumn::GetErrCode( SCROW nRow ) const
}
-BOOL ScColumn::HasStringData( SCROW nRow ) const
+bool ScColumn::HasStringData( SCROW nRow ) const
{
SCSIZE nIndex;
if (Search(nRow, nIndex))
@@ -1834,7 +1834,7 @@ BOOL ScColumn::HasStringData( SCROW nRow ) const
}
-BOOL ScColumn::HasValueData( SCROW nRow ) const
+bool ScColumn::HasValueData( SCROW nRow ) const
{
SCSIZE nIndex;
if (Search(nRow, nIndex))
@@ -1842,7 +1842,7 @@ BOOL ScColumn::HasValueData( SCROW nRow ) const
return FALSE;
}
-BOOL ScColumn::HasStringCells( SCROW nStartRow, SCROW nEndRow ) const
+bool ScColumn::HasStringCells( SCROW nStartRow, SCROW nEndRow ) const
{
// TRUE, wenn String- oder Editzellen im Bereich
diff --git a/sc/source/core/data/compressedarray.cxx b/sc/source/core/data/compressedarray.cxx
index be541decc632..84af458caf57 100644
--- a/sc/source/core/data/compressedarray.cxx
+++ b/sc/source/core/data/compressedarray.cxx
@@ -334,35 +334,6 @@ void ScCompressedArray<A,D>::Remove( A nStart, size_t nAccessCount )
pData[nCount-1].nEnd = nMaxAccess;
}
-
-template< typename A, typename D >
-A ScCompressedArray<A,D>::GetLastUnequalAccess( A nStart, const D& rCompare )
-{
- A nEnd = ::std::numeric_limits<A>::max();
- size_t nIndex = nCount-1;
- while (1)
- {
- if (pData[nIndex].aValue != rCompare)
- {
- nEnd = pData[nIndex].nEnd;
- break; // while
- }
- else
- {
- if (nIndex > 0)
- {
- --nIndex;
- if (pData[nIndex].nEnd < nStart)
- break; // while
- }
- else
- break; // while
- }
- }
- return nEnd;
-}
-
-
// === ScSummableCompressedArray =============================================
template< typename A, typename D >
@@ -497,67 +468,6 @@ void ScBitMaskCompressedArray<A,D>::CopyFromAnded(
}
}
-
-template< typename A, typename D >
-void ScBitMaskCompressedArray<A,D>::CopyFromOred(
- const ScBitMaskCompressedArray<A,D>& rArray, A nStart, A nEnd,
- const D& rValueToOr, long nSourceDy )
-{
- size_t nIndex;
- A nRegionEnd;
- for (A j=nStart; j<=nEnd; ++j)
- {
- const D& rValue = (j==nStart ?
- rArray.GetValue( j+nSourceDy, nIndex, nRegionEnd) :
- rArray.GetNextValue( nIndex, nRegionEnd));
- nRegionEnd -= nSourceDy;
- if (nRegionEnd > nEnd)
- nRegionEnd = nEnd;
- SetValue( j, nRegionEnd, rValue | rValueToOr);
- j = nRegionEnd;
- }
-}
-
-
-template< typename A, typename D >
-A ScBitMaskCompressedArray<A,D>::GetBitStateStart( A nEnd,
- const D& rBitMask, const D& rMaskedCompare ) const
-{
- A nStart = ::std::numeric_limits<A>::max();
- size_t nIndex = Search( nEnd);
- while ((this->pData[nIndex].aValue & rBitMask) == rMaskedCompare)
- {
- if (nIndex > 0)
- {
- --nIndex;
- nStart = this->pData[nIndex].nEnd + 1;
- }
- else
- {
- nStart = 0;
- break; // while
- }
- }
- return nStart;
-}
-
-
-template< typename A, typename D >
-A ScBitMaskCompressedArray<A,D>::GetBitStateEnd( A nStart,
- const D& rBitMask, const D& rMaskedCompare ) const
-{
- A nEnd = ::std::numeric_limits<A>::max();
- size_t nIndex = Search( nStart);
- while (nIndex < this->nCount && (this->pData[nIndex].aValue & rBitMask) ==
- rMaskedCompare)
- {
- nEnd = this->pData[nIndex].nEnd;
- ++nIndex;
- }
- return nEnd;
-}
-
-
template< typename A, typename D >
A ScBitMaskCompressedArray<A,D>::GetFirstForCondition( A nStart, A nEnd,
const D& rBitMask, const D& rMaskedCompare ) const
@@ -577,115 +487,6 @@ A ScBitMaskCompressedArray<A,D>::GetFirstForCondition( A nStart, A nEnd,
return ::std::numeric_limits<A>::max();
}
-
-template< typename A, typename D >
-A ScBitMaskCompressedArray<A,D>::GetLastForCondition( A nStart, A nEnd,
- const D& rBitMask, const D& rMaskedCompare ) const
-{
- size_t nIndex = Search( nEnd);
- while (1)
- {
- if ((this->pData[nIndex].aValue & rBitMask) == rMaskedCompare)
- return ::std::min( this->pData[nIndex].nEnd, nEnd);
-
- if (nIndex > 0)
- {
- --nIndex;
- if (this->pData[nIndex].nEnd < nStart)
- break; // while
- }
- else
- break; // while
- }
- return ::std::numeric_limits<A>::max();
-}
-
-
-template< typename A, typename D >
-A ScBitMaskCompressedArray<A,D>::CountForCondition( A nStart, A nEnd,
- const D& rBitMask, const D& rMaskedCompare ) const
-{
- A nRet = 0;
- size_t nIndex = Search( nStart);
- do
- {
- if ((this->pData[nIndex].aValue & rBitMask) == rMaskedCompare)
- {
- A nS = ::std::max( (nIndex>0 ? this->pData[nIndex-1].nEnd+1 : 0), nStart);
- A nE = ::std::min( this->pData[nIndex].nEnd, nEnd);
- nRet += nE - nS + 1;
- }
- if (this->pData[nIndex].nEnd >= nEnd)
- break; // while
- ++nIndex;
- } while (nIndex < this->nCount);
- return nRet;
-}
-
-
-template< typename A, typename D >
-size_t ScBitMaskCompressedArray<A,D>::FillArrayForCondition( A nStart, A nEnd,
- const D& rBitMask, const D& rMaskedCompare,
- A * pArray, size_t nArraySize ) const
-{
- size_t nUsed = 0;
- size_t nIndex = Search( nStart);
- while (nIndex < this->nCount && nUsed < nArraySize)
- {
- if ((this->pData[nIndex].aValue & rBitMask) == rMaskedCompare)
- {
- A nS = ::std::max( (nIndex>0 ? this->pData[nIndex-1].nEnd+1 : 0), nStart);
- A nE = ::std::min( this->pData[nIndex].nEnd, nEnd);
- while (nS <= nE && nUsed < nArraySize)
- pArray[nUsed++] = nS++;
- }
- if (this->pData[nIndex].nEnd >= nEnd)
- break; // while
- ++nIndex;
- }
- return nUsed;
-}
-
-
-template< typename A, typename D >
-bool ScBitMaskCompressedArray<A,D>::HasCondition( A nStart, A nEnd,
- const D& rBitMask, const D& rMaskedCompare ) const
-{
- size_t nIndex = Search( nStart);
- do
- {
- if ((this->pData[nIndex].aValue & rBitMask) == rMaskedCompare)
- return true;
- if (this->pData[nIndex].nEnd >= nEnd)
- break; // while
- ++nIndex;
- } while (nIndex < this->nCount);
- return false;
-}
-
-
-template< typename A, typename D >
-A ScBitMaskCompressedArray<A,D>::CountForAnyBitCondition( A nStart, A nEnd,
- const D& rBitMask ) const
-{
- A nRet = 0;
- size_t nIndex = Search( nStart);
- do
- {
- if ((this->pData[nIndex].aValue & rBitMask) != 0)
- {
- A nS = ::std::max( (nIndex>0 ? this->pData[nIndex-1].nEnd+1 : 0), nStart);
- A nE = ::std::min( this->pData[nIndex].nEnd, nEnd);
- nRet += nE - nS + 1;
- }
- if (this->pData[nIndex].nEnd >= nEnd)
- break; // while
- ++nIndex;
- } while (nIndex < this->nCount);
- return nRet;
-}
-
-
template< typename A, typename D >
A ScBitMaskCompressedArray<A,D>::GetLastAnyBitAccess( A nStart,
const D& rBitMask ) const
diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx
index b3852e705e17..c91bad553478 100644
--- a/sc/source/core/data/conditio.cxx
+++ b/sc/source/core/data/conditio.cxx
@@ -29,8 +29,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-
-
//------------------------------------------------------------------
#include "scitems.hxx"
@@ -143,7 +141,8 @@ ScConditionEntry::ScConditionEntry( const ScConditionEntry& r ) :
pDoc(r.pDoc),
bRelRef1(r.bRelRef1),
bRelRef2(r.bRelRef2),
- bFirstRun(TRUE)
+ bFirstRun(TRUE),
+ pCondFormat(r.pCondFormat)
{
// ScTokenArray copy ctor erzeugt flache Kopie
@@ -177,7 +176,8 @@ ScConditionEntry::ScConditionEntry( ScDocument* pDocument, const ScConditionEntr
pDoc(pDocument),
bRelRef1(r.bRelRef1),
bRelRef2(r.bRelRef2),
- bFirstRun(TRUE)
+ bFirstRun(TRUE),
+ pCondFormat(r.pCondFormat)
{
// echte Kopie der Formeln (fuer Ref-Undo)
@@ -212,7 +212,8 @@ ScConditionEntry::ScConditionEntry( ScConditionMode eOper,
pDoc(pDocument),
bRelRef1(FALSE),
bRelRef2(FALSE),
- bFirstRun(TRUE)
+ bFirstRun(TRUE),
+ pCondFormat(NULL)
{
Compile( rExpr1, rExpr2, rExprNmsp1, rExprNmsp2, eGrammar1, eGrammar2, FALSE );
@@ -238,7 +239,8 @@ ScConditionEntry::ScConditionEntry( ScConditionMode eOper,
pDoc(pDocument),
bRelRef1(FALSE),
bRelRef2(FALSE),
- bFirstRun(TRUE)
+ bFirstRun(TRUE),
+ pCondFormat(NULL)
{
if ( pArr1 )
{
@@ -697,7 +699,88 @@ void ScConditionEntry::Interpret( const ScAddress& rPos )
bFirstRun = FALSE;
}
-BOOL ScConditionEntry::IsValid( double nArg ) const
+static BOOL lcl_GetCellContent( ScBaseCell* pCell, BOOL bIsStr1, double& rArg, String& rArgStr )
+{
+ BOOL bVal = TRUE;
+
+ if ( pCell )
+ {
+ CellType eType = pCell->GetCellType();
+ switch( eType )
+ {
+ case CELLTYPE_VALUE:
+ rArg = ((ScValueCell*)pCell)->GetValue();
+ break;
+ case CELLTYPE_FORMULA:
+ {
+ ScFormulaCell* pFCell = (ScFormulaCell*)pCell;
+ bVal = pFCell->IsValue();
+ if (bVal)
+ rArg = pFCell->GetValue();
+ else
+ pFCell->GetString(rArgStr);
+ }
+ break;
+ case CELLTYPE_STRING:
+ case CELLTYPE_EDIT:
+ bVal = FALSE;
+ if ( eType == CELLTYPE_STRING )
+ ((ScStringCell*)pCell)->GetString(rArgStr);
+ else
+ ((ScEditCell*)pCell)->GetString(rArgStr);
+ break;
+
+ default:
+ pCell = NULL; // Note-Zellen wie leere
+ break;
+ }
+ }
+
+ if( !pCell )
+ if( bIsStr1 )
+ bVal = FALSE; // leere Zellen je nach Bedingung
+
+ return bVal;
+}
+
+static BOOL lcl_IsDuplicate( ScDocument *pDoc, double nArg, const String& rStr, const ScAddress& rAddr, const ScRangeListRef& rRanges )
+{
+ size_t nListCount = rRanges->size();
+ for( size_t i = 0; i < nListCount; i++ )
+ {
+ const ScRange *aRange = (*rRanges)[i];
+ SCROW nRow = aRange->aEnd.Row();
+ SCCOL nCol = aRange->aEnd.Col();
+ for( SCROW r = aRange->aStart.Row(); r <= nRow; r++ )
+ for( SCCOL c = aRange->aStart.Col(); c <= nCol; c++ )
+ {
+ double nVal = 0.0;
+ ScBaseCell *pCell = NULL;
+ String aStr;
+
+ if( c == rAddr.Col() && r == rAddr.Row() )
+ continue;
+ pDoc->GetCell( c, r, rAddr.Tab(), pCell );
+ if( !pCell )
+ continue;
+
+ if( !lcl_GetCellContent( pCell, FALSE, nVal, aStr ) )
+ {
+ if( rStr.Len() &&
+ ( ScGlobal::GetCollator()->compareString( rStr, aStr ) == COMPARE_EQUAL ) )
+ return TRUE;
+ }
+ else
+ {
+ if( !rStr.Len() && ::rtl::math::approxEqual( nArg, nVal ) )
+ return TRUE;
+ }
+ }
+ }
+ return FALSE;
+}
+
+BOOL ScConditionEntry::IsValid( double nArg, const ScAddress& rAddr ) const
{
// Interpret muss schon gerufen sein
@@ -755,6 +838,16 @@ BOOL ScConditionEntry::IsValid( double nArg ) const
bValid = ( nArg < nComp1 || nArg > nComp2 ) &&
!::rtl::math::approxEqual( nArg, nComp1 ) && !::rtl::math::approxEqual( nArg, nComp2 );
break;
+ case SC_COND_DUPLICATE:
+ case SC_COND_NOTDUPLICATE:
+ if( pCondFormat )
+ {
+ ScRangeListRef pRanges = pCondFormat->GetRangeInfo();
+ bValid = lcl_IsDuplicate( pDoc, nArg, String(), rAddr, pRanges );
+ if( eOp == SC_COND_NOTDUPLICATE )
+ bValid = !bValid;
+ }
+ break;
case SC_COND_DIRECT:
bValid = !::rtl::math::approxEqual( nComp1, 0.0 );
break;
@@ -765,13 +858,26 @@ BOOL ScConditionEntry::IsValid( double nArg ) const
return bValid;
}
-BOOL ScConditionEntry::IsValidStr( const String& rArg ) const
+BOOL ScConditionEntry::IsValidStr( const String& rArg, const ScAddress& rAddr ) const
{
+ BOOL bValid = FALSE;
// Interpret muss schon gerufen sein
if ( eOp == SC_COND_DIRECT ) // Formel ist unabhaengig vom Inhalt
return !::rtl::math::approxEqual( nVal1, 0.0 );
+ if ( eOp == SC_COND_DUPLICATE || eOp == SC_COND_NOTDUPLICATE )
+ {
+ if( pCondFormat && rArg.Len() )
+ {
+ ScRangeListRef pRanges = pCondFormat->GetRangeInfo();
+ bValid = lcl_IsDuplicate( pDoc, 0.0, rArg, rAddr, pRanges );
+ if( eOp == SC_COND_NOTDUPLICATE )
+ bValid = !bValid;
+ return bValid;
+ }
+ }
+
// Wenn Bedingung Zahl enthaelt, immer FALSE, ausser bei "ungleich"
if ( !bIsStr1 )
@@ -791,7 +897,6 @@ BOOL ScConditionEntry::IsValidStr( const String& rArg ) const
String aTemp( aUpVal1 ); aUpVal1 = aUpVal2; aUpVal2 = aTemp;
}
- BOOL bValid;
switch ( eOp )
{
case SC_COND_EQUAL:
@@ -846,49 +951,11 @@ BOOL ScConditionEntry::IsCellValid( ScBaseCell* pCell, const ScAddress& rPos ) c
double nArg = 0.0;
String aArgStr;
- BOOL bVal = TRUE;
-
- if ( pCell )
- {
- CellType eType = pCell->GetCellType();
- switch (eType)
- {
- case CELLTYPE_VALUE:
- nArg = ((ScValueCell*)pCell)->GetValue();
- break;
- case CELLTYPE_FORMULA:
- {
- ScFormulaCell* pFCell = (ScFormulaCell*)pCell;
- bVal = pFCell->IsValue();
- if (bVal)
- nArg = pFCell->GetValue();
- else
- pFCell->GetString(aArgStr);
- }
- break;
- case CELLTYPE_STRING:
- case CELLTYPE_EDIT:
- bVal = FALSE;
- if ( eType == CELLTYPE_STRING )
- ((ScStringCell*)pCell)->GetString(aArgStr);
- else
- ((ScEditCell*)pCell)->GetString(aArgStr);
- break;
-
- default:
- pCell = NULL; // Note-Zellen wie leere
- break;
- }
- }
-
- if (!pCell)
- if (bIsStr1)
- bVal = FALSE; // leere Zellen je nach Bedingung
-
+ BOOL bVal = lcl_GetCellContent( pCell, bIsStr1, nArg, aArgStr );
if (bVal)
- return IsValid( nArg );
+ return IsValid( nArg, rPos );
else
- return IsValidStr( aArgStr );
+ return IsValidStr( aArgStr, rPos );
}
String ScConditionEntry::GetExpression( const ScAddress& rCursor, USHORT nIndex,
@@ -1143,8 +1210,7 @@ ScCondFormatEntry::ScCondFormatEntry( ScConditionMode eOper,
FormulaGrammar::Grammar eGrammar1,
FormulaGrammar::Grammar eGrammar2 ) :
ScConditionEntry( eOper, rExpr1, rExpr2, pDocument, rPos, rExprNmsp1, rExprNmsp2, eGrammar1, eGrammar2 ),
- aStyleName( rStyle ),
- pParent( NULL )
+ aStyleName( rStyle )
{
}
@@ -1153,22 +1219,19 @@ ScCondFormatEntry::ScCondFormatEntry( ScConditionMode eOper,
ScDocument* pDocument, const ScAddress& rPos,
const String& rStyle ) :
ScConditionEntry( eOper, pArr1, pArr2, pDocument, rPos ),
- aStyleName( rStyle ),
- pParent( NULL )
+ aStyleName( rStyle )
{
}
ScCondFormatEntry::ScCondFormatEntry( const ScCondFormatEntry& r ) :
ScConditionEntry( r ),
- aStyleName( r.aStyleName ),
- pParent( NULL )
+ aStyleName( r.aStyleName )
{
}
ScCondFormatEntry::ScCondFormatEntry( ScDocument* pDocument, const ScCondFormatEntry& r ) :
ScConditionEntry( pDocument, r ),
- aStyleName( r.aStyleName ),
- pParent( NULL )
+ aStyleName( r.aStyleName )
{
}
@@ -1186,8 +1249,8 @@ ScCondFormatEntry::~ScCondFormatEntry()
void ScCondFormatEntry::DataChanged( const ScRange* pModified ) const
{
- if ( pParent )
- pParent->DoRepaint( pModified );
+ if ( pCondFormat )
+ pCondFormat->DoRepaint( pModified );
}
//------------------------------------------------------------------------
@@ -1197,7 +1260,8 @@ ScConditionalFormat::ScConditionalFormat(sal_uInt32 nNewKey, ScDocument* pDocume
pAreas( NULL ),
nKey( nNewKey ),
ppEntries( NULL ),
- nEntryCount( 0 )
+ nEntryCount( 0 ),
+ pRanges( NULL )
{
}
@@ -1217,6 +1281,7 @@ ScConditionalFormat::ScConditionalFormat(const ScConditionalFormat& r) :
ppEntries[i]->SetParent(this);
}
}
+ pRanges = new ScRangeList( *r.pRanges );
}
ScConditionalFormat* ScConditionalFormat::Clone(ScDocument* pNewDoc) const
@@ -1239,6 +1304,7 @@ ScConditionalFormat* ScConditionalFormat::Clone(ScDocument* pNewDoc) const
}
pNew->nEntryCount = nEntryCount;
}
+ pNew->AddRangeInfo( pRanges );
return pNew;
}
@@ -1254,9 +1320,19 @@ BOOL ScConditionalFormat::EqualEntries( const ScConditionalFormat& r ) const
if ( ! (*ppEntries[i] == *r.ppEntries[i]) )
return FALSE;
+ if( *pRanges != *r.pRanges )
+ return FALSE;
+
return TRUE;
}
+void ScConditionalFormat::AddRangeInfo( const ScRangeListRef& rRanges )
+{
+ if( !rRanges.Is() )
+ return;
+ pRanges = new ScRangeList( *rRanges );
+}
+
void ScConditionalFormat::AddEntry( const ScCondFormatEntry& rNew )
{
ScCondFormatEntry** ppNew = new ScCondFormatEntry*[nEntryCount+1];
@@ -1356,7 +1432,6 @@ BOOL lcl_CutRange( ScRange& rRange, const ScRange& rOther )
void ScConditionalFormat::DoRepaint( const ScRange* pModified )
{
- USHORT i;
SfxObjectShell* pSh = pDoc->GetDocumentShell();
if (pSh)
{
@@ -1371,10 +1446,9 @@ void ScConditionalFormat::DoRepaint( const ScRange* pModified )
pAreas = new ScRangeList;
pDoc->FindConditionalFormat( nKey, *pAreas );
}
- USHORT nCount = (USHORT) pAreas->Count();
- for (i=0; i<nCount; i++)
+ for (size_t i = 0, nCount = pAreas->size(); i < nCount; i++ )
{
- ScRange aRange = *pAreas->GetObject(i);
+ ScRange aRange = *(*pAreas)[i];
BOOL bDo = TRUE;
if ( pModified )
{
diff --git a/sc/source/core/data/dbdocutl.cxx b/sc/source/core/data/dbdocutl.cxx
index 2bd9b6755776..7e0f8b7ebb82 100644
--- a/sc/source/core/data/dbdocutl.cxx
+++ b/sc/source/core/data/dbdocutl.cxx
@@ -56,7 +56,6 @@ ScDatabaseDocUtil::StrData::StrData() :
// ----------------------------------------------------------------------------
-// static
void ScDatabaseDocUtil::PutData( ScDocument* pDoc, SCCOL nCol, SCROW nRow, SCTAB nTab,
const uno::Reference<sdbc::XRow>& xRow, long nRowPos,
long nType, BOOL bCurrency, StrData* pStrData )
diff --git a/sc/source/core/data/dociter.cxx b/sc/source/core/data/dociter.cxx
index c9df5606f20f..7368af85f7bf 100644
--- a/sc/source/core/data/dociter.cxx
+++ b/sc/source/core/data/dociter.cxx
@@ -439,7 +439,6 @@ BOOL ScValueIterator::GetFirst(double& rValue, USHORT& rErr)
nRow = nStartRow;
nTab = nStartTab;
-// nColRow = 0;
ScColumn* pCol = &(pDoc->pTab[nTab])->aCol[nCol];
pCol->Search( nRow, nColRow );
@@ -450,14 +449,6 @@ BOOL ScValueIterator::GetFirst(double& rValue, USHORT& rErr)
return GetThis(rValue, rErr);
}
-/* ist inline:
-BOOL ScValueIterator::GetNext(double& rValue, USHORT& rErr)
-{
- ++nRow;
- return GetThis(rValue, rErr);
-}
-*/
-
// ============================================================================
ScDBQueryDataIterator::DataAccess::DataAccess(const ScDBQueryDataIterator* pParent) :
@@ -625,7 +616,6 @@ bool ScDBQueryDataIterator::DataAccessInternal::getCurrent(Value& rValue)
nRow = mpParam->nRow2 + 1; // Naechste Spalte
}
// statement unreachable
-// return false;
}
bool ScDBQueryDataIterator::DataAccessInternal::getFirst(Value& rValue)
@@ -1060,7 +1050,6 @@ ScBaseCell* ScCellIterator::GetFirst()
nCol = nStartCol;
nRow = nStartRow;
nTab = nStartTab;
-// nColRow = 0;
ScColumn* pCol = &(pDoc->pTab[nTab])->aCol[nCol];
pCol->Search( nRow, nColRow );
return GetThis();
@@ -1169,7 +1158,7 @@ ScBaseCell* ScQueryCellIterator::GetThis()
if ( nTestEqualCondition && bTestEqualCondition )
{
nTestEqualCondition |= nTestEqualConditionMatched;
- nStopOnMismatch |= nStopOnMismatchOccured;
+ nStopOnMismatch |= nStopOnMismatchOccurred;
return NULL;
}
bool bStop;
@@ -1187,7 +1176,7 @@ ScBaseCell* ScQueryCellIterator::GetThis()
bStop = true;
if (bStop)
{
- nStopOnMismatch |= nStopOnMismatchOccured;
+ nStopOnMismatch |= nStopOnMismatchOccurred;
return NULL;
}
}
@@ -1207,7 +1196,6 @@ ScBaseCell* ScQueryCellIterator::GetFirst()
nRow = aParam.nRow1;
if (aParam.bHasHeader)
nRow++;
-// nColRow = 0;
ScColumn* pCol = &(pDoc->pTab[nTab])->aCol[nCol];
pCol->Search( nRow, nColRow );
return GetThis();
@@ -1888,8 +1876,6 @@ const ScPatternAttr* ScHorizontalAttrIterator::GetNext( SCCOL& rCol1, SCCOL& rCo
bRowEmpty = bEmpty;
nCol = nStartCol; // wieder links anfangen
}
-
-// return NULL;
}
//-------------------------------------------------------------------------------
diff --git a/sc/source/core/data/docpool.cxx b/sc/source/core/data/docpool.cxx
index 08e275f46833..9e862ffe6d17 100644
--- a/sc/source/core/data/docpool.cxx
+++ b/sc/source/core/data/docpool.cxx
@@ -29,8 +29,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-
-
#include "scitems.hxx"
#include <tools/shl.hxx>
#include <vcl/outdev.hxx>
@@ -77,7 +75,6 @@
#include "globstr.hrc"
#include "sc.hrc" // Slot-IDs
-
#define SC_MAX_POOLREF (SFX_ITEMS_OLD_MAXREF - 39)
#define SC_SAFE_POOLREF (SC_MAX_POOLREF + 20)
@@ -97,7 +94,7 @@ USHORT* ScDocumentPool::pVersionMap11 = 0;
// ATTR_FONT_TWOLINES (not used) was changed to ATTR_USERDEF (not saved in binary format) in 641c
-static SfxItemInfo __READONLY_DATA aItemInfos[] =
+static SfxItemInfo const aItemInfos[] =
{
{ SID_ATTR_CHAR_FONT, SFX_ITEM_POOLABLE }, // ATTR_FONT
{ SID_ATTR_CHAR_FONTHEIGHT, SFX_ITEM_POOLABLE }, // ATTR_FONT_HEIGHT
@@ -340,7 +337,6 @@ ScDocumentPool::ScDocumentPool( SfxItemPool* pSecPool, BOOL bLoadRefCounts )
ppPoolDefaults[ ATTR_PAGE_FORMULAS - ATTR_STARTINDEX ] = new SfxBoolItem( ATTR_PAGE_FORMULAS, FALSE );
ppPoolDefaults[ ATTR_PAGE_NULLVALS - ATTR_STARTINDEX ] = new SfxBoolItem( ATTR_PAGE_NULLVALS, TRUE );
ppPoolDefaults[ ATTR_PAGE_SCALETO - ATTR_STARTINDEX ] = new ScPageScaleToItem( 1, 1 );
-// ppPoolDefaults[ ATTR_ITEM_DOUBLE - ATTR_STARTINDEX ] = new ScDoubleItem( ATTR_ITEM_DOUBLE, 0 );
SetDefaults( ppPoolDefaults );
@@ -384,7 +380,7 @@ ScDocumentPool::ScDocumentPool( SfxItemPool* pSecPool, BOOL bLoadRefCounts )
SetVersionMap( 11, 100, 187, pVersionMap11 );
}
-__EXPORT ScDocumentPool::~ScDocumentPool()
+ScDocumentPool::~ScDocumentPool()
{
Delete();
@@ -601,7 +597,7 @@ void ScDocumentPool::DeleteVersionMaps()
// wird (Assertions).
//
-const SfxPoolItem& __EXPORT ScDocumentPool::Put( const SfxPoolItem& rItem, USHORT nWhich )
+const SfxPoolItem& ScDocumentPool::Put( const SfxPoolItem& rItem, USHORT nWhich )
{
if ( rItem.Which() != ATTR_PATTERN ) // nur Pattern ist special
return SfxItemPool::Put( rItem, nWhich );
@@ -616,7 +612,7 @@ const SfxPoolItem& __EXPORT ScDocumentPool::Put( const SfxPoolItem& rItem, USHOR
return rNew;
}
-void __EXPORT ScDocumentPool::Remove( const SfxPoolItem& rItem )
+void ScDocumentPool::Remove( const SfxPoolItem& rItem )
{
if ( rItem.Which() == ATTR_PATTERN ) // nur Pattern ist special
{
@@ -634,7 +630,7 @@ void __EXPORT ScDocumentPool::Remove( const SfxPoolItem& rItem )
SfxItemPool::Remove( rItem );
}
-void ScDocumentPool::CheckRef( const SfxPoolItem& rItem ) // static
+void ScDocumentPool::CheckRef( const SfxPoolItem& rItem )
{
ULONG nRef = rItem.GetRefCount();
if ( nRef >= (ULONG) SC_MAX_POOLREF && nRef <= (ULONG) SFX_ITEMS_OLD_MAXREF )
@@ -680,7 +676,7 @@ void ScDocumentPool::CellStyleCreated( const String& rName )
}
}
-SfxItemPool* __EXPORT ScDocumentPool::Clone() const
+SfxItemPool* ScDocumentPool::Clone() const
{
return new SfxItemPool (*this, TRUE);
}
@@ -788,7 +784,7 @@ SfxItemPresentation lcl_HFPresentation
return ePresentation;
}
-SfxItemPresentation __EXPORT ScDocumentPool::GetPresentation(
+SfxItemPresentation ScDocumentPool::GetPresentation(
const SfxPoolItem& rItem,
SfxItemPresentation ePresentation,
SfxMapUnit ePresentationMetric,
@@ -1024,24 +1020,6 @@ SfxItemPresentation __EXPORT ScDocumentPool::GetPresentation(
}
break;
-/*
- case ATTR_PAGE_HEADERLEFT:
- rText = "SID_SCATTR_PAGE_HEADERLEFT";
- break;
-
- case ATTR_PAGE_FOOTERLEFT:
- rText = "SID_SCATTR_PAGE_FOOTERLEFT";
- break;
-
- case ATTR_PAGE_HEADERRIGHT:
- rText = "SID_SCATTR_PAGE_HEADERRIGHT";
- break;
-
- case ATTR_PAGE_FOOTERRIGHT:
- rText = "SID_SCATTR_PAGE_FOOTERRIGHT";
- break;
-*/
-
default:
if ( !pIntl )
pIntl = ScGlobal::GetScIntlWrapper();
@@ -1052,7 +1030,7 @@ SfxItemPresentation __EXPORT ScDocumentPool::GetPresentation(
return ePresentation;
}
-SfxMapUnit __EXPORT ScDocumentPool::GetMetric( USHORT nWhich ) const
+SfxMapUnit ScDocumentPool::GetMetric( USHORT nWhich ) const
{
// eigene Attribute: Twips, alles andere 1/100 mm
@@ -1062,8 +1040,4 @@ SfxMapUnit __EXPORT ScDocumentPool::GetMetric( USHORT nWhich ) const
return SFX_MAPUNIT_100TH_MM;
}
-
-
-
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx
index adb9cf49ed0a..96c9544ff8ba 100644
--- a/sc/source/core/data/documen2.cxx
+++ b/sc/source/core/data/documen2.cxx
@@ -170,6 +170,7 @@ ScDocument::ScDocument( ScDocumentMode eMode,
nUnoObjectId( 0 ),
nRangeOverflowType( 0 ),
aCurTextWidthCalcPos(MAXCOL,0,0),
+ aTableOpList( 0 ),
nFormulaCodeInTree(0),
nXMLImportedFormulaCount( 0 ),
nInterpretLevel(0),
@@ -190,7 +191,6 @@ ScDocument::ScDocument( ScDocumentMode eMode,
bIsUndo( eMode == SCDOCMODE_UNDO ),
bIsVisible( FALSE ),
bIsEmbedded( FALSE ),
-// bNoSetDirty( TRUE ),
bNoSetDirty( FALSE ),
bInsertingFromOtherDoc( FALSE ),
bLoadingMedium( false ),
@@ -883,10 +883,7 @@ BOOL ScDocument::CopyTab( SCTAB nOldPos, SCTAB nNewPos, const ScMarkData* pOnlyM
pTab[nNewPos]->SetTabBgColor(pTab[nOldPos]->GetTabBgColor());
SCsTAB nDz;
-/* if (nNewPos < nOldPos)
- nDz = ((short)nNewPos) - (short)nOldPos + 1;
- else
-*/ nDz = ((short)nNewPos) - (short)nOldPos;
+ nDz = ((short)nNewPos) - (short)nOldPos;
pTab[nNewPos]->UpdateReference(URM_COPY, 0, 0, nNewPos , MAXCOL, MAXROW,
nNewPos, 0, 0, nDz, NULL);
@@ -1027,7 +1024,6 @@ ULONG ScDocument::TransferTab( ScDocument* pSrcDoc, SCTAB nSrcPos,
else
{
pSrcRangeNames[i] = NULL;
- //aSrcRangeMap.SetPair( i, 0, 0 ); // not needed, defaulted
}
}
if ( bRangeNameReplace )
@@ -1223,7 +1219,6 @@ void ScDocument::DisposeFieldEditEngine(ScFieldEditEngine*& rpEditEngine)
// ----------------------------------------------------------------------------
-// static
ScRecursionHelper* ScDocument::CreateRecursionHelperInstance()
{
return new ScRecursionHelper;
diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx
index cb022714fe93..4f657369f53c 100644
--- a/sc/source/core/data/documen3.cxx
+++ b/sc/source/core/data/documen3.cxx
@@ -77,11 +77,8 @@
#include "drwlayer.hxx"
#include "unoreflist.hxx"
#include "listenercalls.hxx"
-// Wang Xu Ming -- 2009-8-17
-// DataPilot Migration - Cache&&Performance
#include "dpshttab.hxx"
#include "dptablecache.hxx"
-// End Comments
#include "tabprotection.hxx"
#include "formulaparserpool.hxx"
#include "clipparam.hxx"
@@ -262,10 +259,6 @@ void ScDocument::SetScenario( SCTAB nTab, BOOL bFlag )
BOOL ScDocument::IsScenario( SCTAB nTab ) const
{
return ValidTab(nTab) && pTab[nTab] &&pTab[nTab]->IsScenario();
- //if (ValidTab(nTab) && pTab[nTab])
- // return pTab[nTab]->IsScenario();
-
- //return FALSE;
}
void ScDocument::SetScenarioData( SCTAB nTab, const String& rComment,
@@ -477,9 +470,9 @@ void ScDocument::MarkUsedExternalReferences()
if (!pExternalRefMgr->hasExternalData())
return;
// Charts.
- bool bAllMarked = pExternalRefMgr->markUsedByLinkListeners();
+ pExternalRefMgr->markUsedByLinkListeners();
// Formula cells.
- bAllMarked = pExternalRefMgr->markUsedExternalRefCells();
+ pExternalRefMgr->markUsedExternalRefCells();
/* NOTE: Conditional formats and validation objects are marked when
* collecting them during export. */
@@ -580,11 +573,6 @@ ScOutlineTable* ScDocument::GetOutlineTable( SCTAB nTab, BOOL bCreate )
BOOL ScDocument::SetOutlineTable( SCTAB nTab, const ScOutlineTable* pNewOutline )
{
return VALIDTAB(nTab) && pTab[nTab] && pTab[nTab]->SetOutlineTable(pNewOutline);
- //if (VALIDTAB(nTab))
- // if (pTab[nTab])
- // return pTab[nTab]->SetOutlineTable(pNewOutline);
-
- //return FALSE;
}
void ScDocument::DoAutoOutline( SCCOL nStartCol, SCROW nStartRow,
@@ -597,10 +585,6 @@ void ScDocument::DoAutoOutline( SCCOL nStartCol, SCROW nStartRow,
BOOL ScDocument::TestRemoveSubTotals( SCTAB nTab, const ScSubTotalParam& rParam )
{
return VALIDTAB(nTab) && pTab[nTab] && pTab[nTab]->TestRemoveSubTotals( rParam );
- //if (VALIDTAB(nTab) && pTab[nTab] )
- // return pTab[nTab]->TestRemoveSubTotals( rParam );
-
- //return FALSE;
}
void ScDocument::RemoveSubTotals( SCTAB nTab, ScSubTotalParam& rParam )
@@ -612,11 +596,6 @@ void ScDocument::RemoveSubTotals( SCTAB nTab, ScSubTotalParam& rParam )
BOOL ScDocument::DoSubTotals( SCTAB nTab, ScSubTotalParam& rParam )
{
return VALIDTAB(nTab) && pTab[nTab] && pTab[nTab]->DoSubTotals( rParam );
- //if (VALIDTAB(nTab))
- // if (pTab[nTab])
- // return pTab[nTab]->DoSubTotals( rParam );
-
- //return FALSE;
}
BOOL ScDocument::HasSubTotalCells( const ScRange& rRange )
@@ -652,7 +631,6 @@ void ScDocument::CopyScenario( SCTAB nSrcTab, SCTAB nDestTab, BOOL bNewScenario
// und aktuelle Werte in bisher aktive Szenarios zurueckschreiben
ScRangeList aRanges = *pTab[nSrcTab]->GetScenarioRanges();
- const ULONG nRangeCount = aRanges.Count();
// nDestTab ist die Zieltabelle
for ( SCTAB nTab = nDestTab+1;
@@ -662,9 +640,9 @@ void ScDocument::CopyScenario( SCTAB nSrcTab, SCTAB nDestTab, BOOL bNewScenario
if ( pTab[nTab]->IsActiveScenario() ) // auch wenn's dasselbe Szenario ist
{
BOOL bTouched = FALSE;
- for ( ULONG nR=0; nR<nRangeCount && !bTouched; nR++)
+ for ( size_t nR=0, nRangeCount = aRanges.size(); nR < nRangeCount && !bTouched; nR++ )
{
- const ScRange* pRange = aRanges.GetObject(nR);
+ const ScRange* pRange = aRanges[ nR ];
if ( pTab[nTab]->HasScenarioRange( *pRange ) )
bTouched = TRUE;
}
@@ -704,10 +682,6 @@ void ScDocument::MarkScenario( SCTAB nSrcTab, SCTAB nDestTab, ScMarkData& rDestM
BOOL ScDocument::HasScenarioRange( SCTAB nTab, const ScRange& rRange ) const
{
return ValidTab(nTab) && pTab[nTab] && pTab[nTab]->HasScenarioRange( rRange );
- //if (ValidTab(nTab) && pTab[nTab])
- // return pTab[nTab]->HasScenarioRange( rRange );
-
- //return FALSE;
}
const ScRangeList* ScDocument::GetScenarioRanges( SCTAB nTab ) const
@@ -721,10 +695,6 @@ const ScRangeList* ScDocument::GetScenarioRanges( SCTAB nTab ) const
BOOL ScDocument::IsActiveScenario( SCTAB nTab ) const
{
return ValidTab(nTab) && pTab[nTab] && pTab[nTab]->IsActiveScenario( );
- //if (ValidTab(nTab) && pTab[nTab])
- // return pTab[nTab]->IsActiveScenario();
-
- //return FALSE;
}
void ScDocument::SetActiveScenario( SCTAB nTab, BOOL bActive )
@@ -948,8 +918,8 @@ void ScDocument::UpdateTranspose( const ScAddress& rDestPos, ScDocument* pClipDo
ScRange aSource;
ScClipParam& rClipParam = GetClipParam();
- if (rClipParam.maRanges.Count())
- aSource = *rClipParam.maRanges.First();
+ if (!rClipParam.maRanges.empty())
+ aSource = *rClipParam.maRanges.front();
ScAddress aDest = rDestPos;
SCTAB nClipTab = 0;
@@ -1032,7 +1002,6 @@ void ScDocument::GetAutoFormatData(SCTAB nTab, SCCOL nStartCol, SCROW nStartRow,
}
}
-// static
void ScDocument::GetSearchAndReplaceStart( const SvxSearchItem& rSearchItem,
SCCOL& rCol, SCROW& rRow )
{
@@ -1309,22 +1278,12 @@ BOOL ScDocument::HasColHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol,
SCTAB nTab )
{
return VALIDTAB(nTab) && pTab[nTab] && pTab[nTab]->HasColHeader( nStartCol, nStartRow, nEndCol, nEndRow );
- //if (VALIDTAB(nTab))
- // if (pTab[nTab])
- // return pTab[nTab]->HasColHeader( nStartCol, nStartRow, nEndCol, nEndRow );
-
- //return FALSE;
}
BOOL ScDocument::HasRowHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
SCTAB nTab )
{
return VALIDTAB(nTab) && pTab[nTab] && pTab[nTab]->HasRowHeader( nStartCol, nStartRow, nEndCol, nEndRow );
- //if (VALIDTAB(nTab))
- // if (pTab[nTab])
- // return pTab[nTab]->HasRowHeader( nStartCol, nStartRow, nEndCol, nEndRow );
-
- //return FALSE;
}
void ScDocument::UpdateDynamicEndRow(ScDBData& rDBData) const
@@ -1435,10 +1394,6 @@ BOOL ScDocument::GetDataEntries( SCCOL nCol, SCROW nRow, SCTAB nTab,
}
return ValidTab(nTab) && pTab[nTab] && pTab[nTab]->GetDataEntries( nCol, nRow, rStrings, bLimit );
- //if (ValidTab(nTab) && pTab[nTab])
- // return pTab[nTab]->GetDataEntries( nCol, nRow, rStrings, bLimit );
-
- //return FALSE;
}
//
@@ -1452,16 +1407,14 @@ BOOL ScDocument::GetDataEntries( SCCOL nCol, SCROW nRow, SCTAB nTab,
BOOL ScDocument::GetFormulaEntries( TypedScStrCollection& rStrings )
{
- USHORT i;
-
//
// Bereichsnamen
//
if ( pRangeName )
{
- USHORT nRangeCount = pRangeName->GetCount();
- for ( i=0; i<nRangeCount; i++ )
+ sal_uInt16 nRangeCount = pRangeName->GetCount();
+ for ( sal_uInt16 i = 0; i < nRangeCount; i++ )
{
ScRangeData* pData = (*pRangeName)[i];
if (pData)
@@ -1479,8 +1432,8 @@ BOOL ScDocument::GetFormulaEntries( TypedScStrCollection& rStrings )
if ( pDBCollection )
{
- USHORT nDBCount = pDBCollection->GetCount();
- for ( i=0; i<nDBCount; i++ )
+ sal_uInt16 nDBCount = pDBCollection->GetCount();
+ for ( sal_uInt16 i=0; i<nDBCount; i++ )
{
ScDBData* pData = (*pDBCollection)[i];
if (pData)
@@ -1501,10 +1454,11 @@ BOOL ScDocument::GetFormulaEntries( TypedScStrCollection& rStrings )
pLists[1] = GetRowNameRanges();
for (USHORT nListNo=0; nListNo<2; nListNo++)
{
- ScRangePairList* pList = pLists[nListNo];
+ ScRangePairList* pList = pLists[ nListNo ];
if (pList)
- for ( ScRangePair* pPair = pList->First(); pPair; pPair = pList->Next() )
+ for ( size_t i = 0, nPairs = pList->size(); i < nPairs; ++i )
{
+ ScRangePair* pPair = (*pList)[i];
ScRange aRange = pPair->GetRange(0);
ScCellIterator aIter( this, aRange );
for ( ScBaseCell* pCell = aIter.GetFirst(); pCell; pCell = aIter.GetNext() )
@@ -1621,7 +1575,7 @@ bool lcl_AddTwipsWhile( long & rTwips, long nStopTwips, SCROW & rPosY, SCROW nEn
return bAdded;
}
-ScRange ScDocument::GetRange( SCTAB nTab, const Rectangle& rMMRect )
+ScRange ScDocument::GetRange( SCTAB nTab, const Rectangle& rMMRect ) const
{
ScTable* pTable = pTab[nTab];
if (!pTable)
@@ -1921,8 +1875,7 @@ void ScDocument::SetDrawDefaults()
UpdateDrawDefaults();
}
-Rectangle ScDocument::GetMMRect( SCCOL nStartCol, SCROW nStartRow,
- SCCOL nEndCol, SCROW nEndRow, SCTAB nTab )
+Rectangle ScDocument::GetMMRect( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab ) const
{
if (!ValidTab(nTab) || !pTab[nTab])
{
@@ -2044,121 +1997,4 @@ void ScDocument::DecSizeRecalcLevel( SCTAB nTab, bool bUpdateNoteCaptionPos )
pTab[nTab]->DecRecalcLevel( bUpdateNoteCaptionPos );
}
-// Wang Xu Ming -- 2009-8-17
-// DataPilot Migration - Cache&&Performance
-ScDPTableDataCache* ScDocument::GetDPObjectCache( long nID )
-{
- for ( std::list<ScDPTableDataCache*>::iterator iter = m_listDPObjectsCaches.begin(); iter!=m_listDPObjectsCaches.end(); iter++ )
- { //
- if ( nID == (*iter)->GetId() )
- return *iter;
- }
- return NULL;
-}
-
-ScDPTableDataCache* ScDocument::GetUsedDPObjectCache ( ScRange rRange )
-{
- ScDPTableDataCache* pCache = NULL;
- USHORT nCount = GetDPCollection()->GetCount();
- for ( short i=nCount-1; i>=0 ; i--)
- {
- if ( const ScSheetSourceDesc* pUsedSheetDesc = (*pDPCollection)[i]->GetSheetDesc() )
- if ( rRange == pUsedSheetDesc->aSourceRange )
- {
- long nID = (*pDPCollection)[i]->GetCacheId();
- if ( nID >= 0 )
- pCache= GetDPObjectCache( nID );
- if ( pCache )
- return pCache;
- }
- }
- return pCache;
-}
-
-long ScDocument::AddDPObjectCache( ScDPTableDataCache* pData )
-{
- if ( pData->GetId() < 0 )
- { //create a id for it
- pData->SetId( GetNewDPObjectCacheId() );
- }
- m_listDPObjectsCaches.push_back( pData );
- return pData->GetId();
-}
-
-long ScDocument::GetNewDPObjectCacheId()
-{
- long nID = 0;
-
- bool bFound = false;
- std::list<ScDPTableDataCache*>::iterator iter;
- do {
- for ( iter = m_listDPObjectsCaches.begin(); iter!=m_listDPObjectsCaches.end(); iter++ )
- { //Get a new Id
- if ( nID == (*iter)->GetId() )
- {
- nID++;
- bFound = true;
- break;
- }
- }
- if ( iter == m_listDPObjectsCaches.end() )
- bFound = false;
- } while ( bFound );
-
- return nID;
-}
-
-void ScDocument::RemoveDPObjectCache( long nID )
-{
- for ( std::list<ScDPTableDataCache*>::iterator iter = m_listDPObjectsCaches.begin(); iter!=m_listDPObjectsCaches.end(); iter++ )
- {
- if ( nID == (*iter)->GetId() )
- {
- ScDPTableDataCache* pCache = *iter;
- m_listDPObjectsCaches.erase( iter );
- delete pCache;
- break;
- }
- }
-
-}
-
-void ScDocument::RemoveUnusedDPObjectCaches()
-{
- for ( std::list<ScDPTableDataCache*>::iterator iter = m_listDPObjectsCaches.begin(); iter!=m_listDPObjectsCaches.end(); iter++ )
- {
- long nID = (*iter)->GetId();
- USHORT nCount = GetDPCollection()->GetCount();
- USHORT i ;
- for ( i=0; i<nCount; i++)
- {
- if ( nID == (*pDPCollection)[i]->GetCacheId() )
- break;
- }
- if ( i == nCount )
- {
- ScDPTableDataCache* pCache = *iter;
- m_listDPObjectsCaches.erase( iter );
- delete pCache;
- continue;
- }
- }
-}
-
-void ScDocument::GetUsedDPObjectCache( std::list<ScDPTableDataCache*>& usedlist )
-{
- for ( std::list<ScDPTableDataCache*>::iterator iter = m_listDPObjectsCaches.begin(); iter!=m_listDPObjectsCaches.end(); iter++ )
- {
- long nID = (*iter)->GetId();
- USHORT nCount = GetDPCollection()->GetCount();
- USHORT i=0;
- for ( i=0; i<nCount; i++)
- if ( nID == (*pDPCollection)[i]->GetCacheId() )
- break;
- if ( i != nCount )
- usedlist.push_back( *iter );
- }
-}
-// End Comments
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/documen5.cxx b/sc/source/core/data/documen5.cxx
index 2732a6e3251f..4a6136fa2e3c 100644
--- a/sc/source/core/data/documen5.cxx
+++ b/sc/source/core/data/documen5.cxx
@@ -49,11 +49,6 @@
#include <svx/svdoole2.hxx>
#include <svx/svdpage.hxx>
-//REMOVE #ifndef SO2_DECL_SVINPLACEOBJECT_DEFINED
-//REMOVE #define SO2_DECL_SVINPLACEOBJECT_DEFINED
-//REMOVE SO2_DECL_REF(SvInPlaceObject)
-//REMOVE #endif
-
#include "document.hxx"
#include "drwlayer.hxx"
#include "chartarr.hxx"
@@ -113,16 +108,16 @@ void lcl_SetChartParameters( const uno::Reference< chart2::data::XDataReceiver >
{
uno::Sequence< beans::PropertyValue > aArgs( 4 );
aArgs[0] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("CellRangeRepresentation"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CellRangeRepresentation")), -1,
uno::makeAny( rRanges ), beans::PropertyState_DIRECT_VALUE );
aArgs[1] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("HasCategories"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HasCategories")), -1,
uno::makeAny( bHasCategories ), beans::PropertyState_DIRECT_VALUE );
aArgs[2] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("FirstCellAsLabel"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FirstCellAsLabel")), -1,
uno::makeAny( bFirstCellAsLabel ), beans::PropertyState_DIRECT_VALUE );
aArgs[3] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("DataRowSource"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DataRowSource")), -1,
uno::makeAny( eDataRowSource ), beans::PropertyState_DIRECT_VALUE );
xReceiver->setArguments( aArgs );
}
@@ -238,7 +233,7 @@ BOOL ScDocument::HasChartAtPoint( SCTAB nTab, const Point& rPos, String* pName )
if (pName)
pName->Erase();
- return FALSE; // nix gefunden
+ return FALSE; // nothing found
}
void ScDocument::UpdateChartArea( const String& rChartName,
@@ -401,9 +396,8 @@ void ScDocument::UpdateChartArea( const String& rChartName,
aNewRanges = new ScRangeList;
aNewRanges->Parse( aRangesStr, this );
- ULONG nAddCount = rNewList->Count();
- for ( ULONG nAdd=0; nAdd<nAddCount; nAdd++ )
- aNewRanges->Append( *rNewList->GetObject(nAdd) );
+ for ( size_t nAdd = 0, nAddCount = rNewList->size(); nAdd < nAddCount; ++nAdd )
+ aNewRanges->Append( *(*rNewList)[nAdd] );
}
else
{
@@ -439,10 +433,7 @@ void ScDocument::UpdateChartArea( const String& rChartName,
pChartListenerCollection->ChangeListening( rChartName, aNewRanges );
- // ((SdrOle2Obj*)pObject)->GetNewReplacement();
- // pObject->ActionChanged();
-
- return; // nicht weitersuchen
+ return; // do not search anymore
}
}
pObject = aIter.Next();
@@ -521,8 +512,9 @@ void ScDocument::UpdateChartRef( UpdateRefMode eUpdateRefMode,
ScRangeListRef aNewRLR( new ScRangeList );
BOOL bChanged = FALSE;
BOOL bDataChanged = FALSE;
- for ( ScRangePtr pR = aRLR->First(); pR; pR = aRLR->Next() )
+ for ( size_t i = 0, nListSize = aRLR->size(); i < nListSize; ++i )
{
+ ScRange* pR = (*aRLR)[i];
SCCOL theCol1 = pR->aStart.Col();
SCROW theRow1 = pR->aStart.Row();
SCTAB theTab1 = pR->aStart.Tab();
@@ -560,9 +552,6 @@ void ScDocument::UpdateChartRef( UpdateRefMode eUpdateRefMode,
if ( bChanged )
{
{
-// SetChartRangeList( pChartListener->GetString(), aNewRLR );
-// pChartListener->ChangeListening( aNewRLR, bDataChanged );
-
// Force the chart to be loaded now, so it registers itself for UNO events.
// UNO broadcasts are done after UpdateChartRef, so the chart will get this
// reference change.
@@ -688,7 +677,7 @@ void ScDocument::UpdateChartListenerCollection()
else
{
ScRange aRange;
- // Range fuer Suche unwichtig
+ // Range for searching is not important
ScChartListener aCLSearcher( EMPTY_STRING, this, aRange );
for (SCTAB nTab=0; nTab<=MAXTAB; nTab++)
{
@@ -737,20 +726,13 @@ void ScDocument::UpdateChartListenerCollection()
// unable to set the data. So a chart from the
// same document is treated like a chart with
// own data for the time being.
-#if 0
+
// data provider
- uno::Reference< chart2::data::XDataProvider > xDataProvider = new
- ScChart2DataProvider( this );
- xReceiver->attachDataProvider( xDataProvider );
// number formats supplier
- uno::Reference< util::XNumberFormatsSupplier > xNumberFormatsSupplier( pShell->GetModel(), uno::UNO_QUERY );
- xReceiver->attachNumberFormatsSupplier( xNumberFormatsSupplier );
+
// data ?
// how to set?? Defined in XML-file, which is already loaded!!!
// => we have to do this stuff here, BEFORE the chart is actually loaded
-
- bIsChart = true;
-#endif
}
if (!bIsChart)
@@ -783,5 +765,4 @@ void ScDocument::AddOLEObjectToCollection(const String& rName)
}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/documen6.cxx b/sc/source/core/data/documen6.cxx
index de0105cb63af..9c19661dad8f 100644
--- a/sc/source/core/data/documen6.cxx
+++ b/sc/source/core/data/documen6.cxx
@@ -63,7 +63,7 @@ const uno::Reference< i18n::XBreakIterator >& ScDocument::GetBreakIterator()
if ( !pScriptTypeData->xBreakIter.is() )
{
uno::Reference< uno::XInterface > xInterface = xServiceManager->createInstance(
- ::rtl::OUString::createFromAscii( SC_BREAKITER_SERVICE ) );
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_BREAKITER_SERVICE )) );
pScriptTypeData->xBreakIter = uno::Reference< i18n::XBreakIterator >( xInterface, uno::UNO_QUERY );
DBG_ASSERT( pScriptTypeData->xBreakIter.is(), "can't get BreakIterator" );
}
@@ -182,5 +182,4 @@ BYTE ScDocument::GetScriptType( SCCOL nCol, SCROW nRow, SCTAB nTab, ScBaseCell*
return GetCellScriptType( pCell, nFormat );
}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/documen8.cxx b/sc/source/core/data/documen8.cxx
index 8b9d6714246b..6c85aa634fdf 100644
--- a/sc/source/core/data/documen8.cxx
+++ b/sc/source/core/data/documen8.cxx
@@ -207,9 +207,6 @@ VirtualDevice* ScDocument::GetVirtualDevice_100th_mm()
{
if (!pVirtualDevice_100th_mm)
{
-// pVirtualDevice_100th_mm = new VirtualDevice;
-// pVirtualDevice_100th_mm->SetMapMode( MAP_100TH_MM );
-
pVirtualDevice_100th_mm = new VirtualDevice( 1 );
pVirtualDevice_100th_mm->SetReferenceDevice(VirtualDevice::REFDEV_MODE_MSO1);
MapMode aMapMode( pVirtualDevice_100th_mm->GetMapMode() );
@@ -457,12 +454,7 @@ BOOL ScDocument::IdleCalcTextWidth() // TRUE = demnaechst wieder vers
return FALSE;
bIdleDisabled = TRUE;
-// ULONG nMs = 0;
-// USHORT nIter = 0;
-
const ULONG nStart = Time::GetSystemTicks();
- double nPPTX = 0.0;
- double nPPTY = 0.0;
OutputDevice* pDev = NULL;
MapMode aOldMap;
ScStyleSheet* pStyle = NULL;
@@ -473,8 +465,6 @@ BOOL ScDocument::IdleCalcTextWidth() // TRUE = demnaechst wieder vers
SCTAB nTab = aCurTextWidthCalcPos.Tab();
SCROW nRow = aCurTextWidthCalcPos.Row();
SCsCOL nCol = aCurTextWidthCalcPos.Col();
- USHORT nRestart = 0;
- USHORT nZoom = 0;
BOOL bNeedMore= FALSE;
if ( !ValidRow(nRow) )
@@ -484,8 +474,6 @@ BOOL ScDocument::IdleCalcTextWidth() // TRUE = demnaechst wieder vers
if ( !ValidTab(nTab) || !pTab[nTab] )
nTab = 0;
-// DBG_ERROR( String("Start = ") + String(nTab) + String(',') + String(nCol) + String(',') + String(nRow) );
-
// SearchMask/Family muss gemerkt werden,
// damit z.B. der Organizer nicht durcheinanderkommt, wenn zwischendurch eine
// Query-Box aufgemacht wird !!!
@@ -504,6 +492,8 @@ BOOL ScDocument::IdleCalcTextWidth() // TRUE = demnaechst wieder vers
BOOL bProgress = FALSE;
if ( pStyle && 0 == GET_SCALEVALUE(pStyle->GetItemSet(),ATTR_PAGE_SCALETOPAGES) )
{
+ USHORT nRestart = 0;
+ USHORT nZoom = 0;
USHORT nCount = 0;
nZoom = GET_SCALEVALUE(pStyle->GetItemSet(),ATTR_PAGE_SCALE);
@@ -517,6 +507,8 @@ BOOL ScDocument::IdleCalcTextWidth() // TRUE = demnaechst wieder vers
{
if ( TEXTWIDTH_DIRTY == pCell->GetTextWidth() )
{
+ double nPPTX = 0.0;
+ double nPPTY = 0.0;
if ( !pDev )
{
pDev = GetPrinter();
@@ -534,16 +526,11 @@ BOOL ScDocument::IdleCalcTextWidth() // TRUE = demnaechst wieder vers
bProgress = TRUE;
}
-// DBG_ERROR( String("t,c,r = ") + String(nTab) + String(',') + String(nCol) + String(',') + String(nRow) );
-// DBG_ERROR( String("nOldWidth = ") + String(pCell->GetTextWidth()) );
-
USHORT nNewWidth = (USHORT)GetNeededSize( nCol, nRow, nTab,
pDev, nPPTX, nPPTY,
aZoomFract,aZoomFract, TRUE,
TRUE ); // bTotalSize
-// DBG_ERROR( String("nNewWidth = ") + String(nNewWidth) );
-
pCell->SetTextWidth( nNewWidth );
bNeedMore = TRUE;
@@ -604,15 +591,12 @@ BOOL ScDocument::IdleCalcTextWidth() // TRUE = demnaechst wieder vers
}
}
-// nIter = nCount;
-
nCount++;
// Idle Berechnung abbrechen, wenn Berechnungen laenger als
// 50ms dauern, oder nach 32 Berechnungen mal nachschauen, ob
// bestimmte Events anstehen, die Beachtung wuenschen:
-// nMs = SysTicksToMs( GetSysTicks() - nStart );
if ( ( 50L < Time::GetSystemTicks() - nStart )
|| ( !(nCount&31) && Application::AnyInput( ABORT_EVENTS ) ) )
@@ -627,8 +611,6 @@ BOOL ScDocument::IdleCalcTextWidth() // TRUE = demnaechst wieder vers
delete pColIter;
-// DBG_ERROR( String(nCount) + String(" End = ") + String(nTab) + String(',') + String(nCol) + String(',') + String(nRow) );
-
if (pDev)
pDev->SetMapMode(aOldMap);
@@ -636,8 +618,6 @@ BOOL ScDocument::IdleCalcTextWidth() // TRUE = demnaechst wieder vers
aCurTextWidthCalcPos.SetRow( nRow );
aCurTextWidthCalcPos.SetCol( (SCCOL)nCol );
-// DBG_ERROR( String(nMs) + String(" ms (") + String(nIter) + String(')') );
-
pStylePool->SetSearchMask( eOldFam, nOldMask );
bIdleDisabled = FALSE;
@@ -1286,7 +1266,7 @@ const ScMatrix* ScDocument::GetDdeLinkResultMatrix( USHORT nDdePos ) const
return pDdeLink ? pDdeLink->GetResult() : NULL;
}
-bool ScDocument::CreateDdeLink( const String& rAppl, const String& rTopic, const String& rItem, BYTE nMode, ScMatrix* pResults )
+bool ScDocument::CreateDdeLink( const String& rAppl, const String& rTopic, const String& rItem, BYTE nMode, ScMatrixRef pResults )
{
/* Create a DDE link without updating it (i.e. for Excel import), to prevent
unwanted connections. First try to find existing link. Set result array
@@ -1312,7 +1292,7 @@ bool ScDocument::CreateDdeLink( const String& rAppl, const String& rTopic, const
return false;
}
-bool ScDocument::SetDdeLinkResultMatrix( USHORT nDdePos, ScMatrix* pResults )
+bool ScDocument::SetDdeLinkResultMatrix( USHORT nDdePos, ScMatrixRef pResults )
{
if( ScDdeLink* pDdeLink = lclGetDdeLink( GetLinkManager(), nDdePos ) )
{
diff --git a/sc/source/core/data/documen9.cxx b/sc/source/core/data/documen9.cxx
index 528db06b79e0..d9008af0347b 100644
--- a/sc/source/core/data/documen9.cxx
+++ b/sc/source/core/data/documen9.cxx
@@ -139,8 +139,6 @@ void ScDocument::InitDrawLayer( SfxObjectShell* pDocShell )
if (pDocShell && !pShell)
pShell = pDocShell;
-// DBG_ASSERT(pShell,"InitDrawLayer ohne Shell");
-
if (!pDrawLayer)
{
String aName;
@@ -215,9 +213,6 @@ void ScDocument::UpdateDrawPrinter()
{
// use the printer even if IsValid is false
// Application::GetDefaultDevice causes trouble with changing MapModes
-
-// OutputDevice* pRefDev = GetPrinter();
-// pRefDev->SetMapMode( MAP_100TH_MM );
pDrawLayer->SetRefDevice(GetRefDevice());
}
}
@@ -538,8 +533,6 @@ void ScDocument::Clear( sal_Bool bFromDestructor )
if (pDrawLayer)
{
- // #116168#
- //pDrawLayer->Clear();
pDrawLayer->ClearModel( bFromDestructor );
}
}
@@ -594,7 +587,6 @@ void ScDocument::InvalidateControls( Window* pWin, SCTAB nTab, const Rectangle&
// auf ClippingRegions. Darum muss das ganze Objekt neu gepainted
// werden, damit die Selektion auf der Tabelle nicht uebermalt wird.
- //pWin->Invalidate( aObjRect.GetIntersection( rMMRect ) );
pWin->Invalidate( aObjRect );
}
}
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index e9363978b1cb..b8f517019654 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -105,6 +105,18 @@ using ::com::sun::star::uno::Sequence;
using ::com::sun::star::sheet::TablePageBreakData;
using ::std::set;
+// The constant parameters to CopyBlockFromClip
+struct ScCopyBlockFromClipParams
+{
+ ScDocument* pRefUndoDoc;
+ ScDocument* pClipDoc;
+ USHORT nInsFlag;
+ SCTAB nTabStart;
+ SCTAB nTabEnd;
+ BOOL bAsLink;
+ BOOL bSkipAttrForEmpty;
+};
+
struct ScDefaultAttr
{
const ScPatternAttr* pAttr;
@@ -161,7 +173,7 @@ BOOL ScDocument::GetName( SCTAB nTab, String& rName ) const
return FALSE;
}
-BOOL ScDocument::SetCodeName( SCTAB nTab, String& rName )
+BOOL ScDocument::SetCodeName( SCTAB nTab, const String& rName )
{
if (VALIDTAB(nTab))
{
@@ -214,7 +226,7 @@ BOOL ScDocument::GetTable( const String& rName, SCTAB& rTab ) const
}
-BOOL ScDocument::ValidTabName( const String& rName ) const
+bool ScDocument::ValidTabName( const String& rName )
{
xub_StrLen nLen = rName.Len();
if (!nLen)
@@ -740,10 +752,9 @@ void ScDocument::LimitChartIfAll( ScRangeListRef& rRangeList )
ScRangeListRef aNew = new ScRangeList;
if (rRangeList.Is())
{
- ULONG nCount = rRangeList->Count();
- for (ULONG i=0; i<nCount; i++)
+ for ( size_t i = 0, nCount = rRangeList->size(); i < nCount; i++ )
{
- ScRange aRange(*rRangeList->GetObject( i ));
+ ScRange aRange( *(*rRangeList)[i] );
if ( ( aRange.aStart.Col() == 0 && aRange.aEnd.Col() == MAXCOL ) ||
( aRange.aStart.Row() == 0 && aRange.aEnd.Row() == MAXROW ) )
{
@@ -1896,9 +1907,9 @@ void ScDocument::UpdateRangeNamesInFormulas(
rRangeNames.mpRangeNames[i]->ReplaceRangeNamesInUse(rRangeNames.maRangeMap);
}
// then update the formulas, they might need just the updated range names
- for (ULONG nRange = 0; nRange < rDestRanges.Count(); ++nRange)
+ for ( size_t nRange = 0, n = rDestRanges.size(); nRange < n; ++nRange )
{
- const ScRange* pRange = rDestRanges.GetObject( nRange);
+ const ScRange* pRange = rDestRanges[nRange];
SCCOL nCol1 = pRange->aStart.Col();
SCROW nRow1 = pRange->aStart.Row();
SCCOL nCol2 = pRange->aEnd.Col();
@@ -1984,7 +1995,6 @@ void ScDocument::BroadcastFromClip( SCCOL nCol1, SCROW nRow1,
}
}
-
void ScDocument::CopyBlockFromClip( SCCOL nCol1, SCROW nRow1,
SCCOL nCol2, SCROW nRow2,
const ScMarkData& rMark,
@@ -2086,8 +2096,8 @@ void ScDocument::CopyNonFilteredFromClip( SCCOL nCol1, SCROW nRow1,
SCROW nSourceRow = rClipStartRow;
SCROW nSourceEnd = 0;
- if (pCBFCP->pClipDoc->GetClipParam().maRanges.Count())
- nSourceEnd = pCBFCP->pClipDoc->GetClipParam().maRanges.First()->aEnd.Row();
+ if ( !pCBFCP->pClipDoc->GetClipParam().maRanges.empty() )
+ nSourceEnd = pCBFCP->pClipDoc->GetClipParam().maRanges.front()->aEnd.Row();
SCROW nDestRow = nRow1;
while ( nSourceRow <= nSourceEnd && nDestRow <= nRow2 )
@@ -2228,11 +2238,10 @@ void ScDocument::CopyFromClip( const ScRange& rDestRange, const ScMarkData& rMar
SCCOL nClipStartCol = aClipRange.aStart.Col();
SCROW nClipStartRow = aClipRange.aStart.Row();
- // WaE: commented because unused: SCCOL nClipEndCol = pClipDoc->aClipRange.aEnd.Col();
SCROW nClipEndRow = aClipRange.aEnd.Row();
- for (ULONG nRange = 0; nRange < pDestRanges->Count(); ++nRange)
+ for ( size_t nRange = 0; nRange < pDestRanges->size(); ++nRange )
{
- const ScRange* pRange = pDestRanges->GetObject( nRange);
+ const ScRange* pRange = (*pDestRanges)[nRange];
SCCOL nCol1 = pRange->aStart.Col();
SCROW nRow1 = pRange->aStart.Row();
SCCOL nCol2 = pRange->aEnd.Col();
@@ -2273,9 +2282,6 @@ void ScDocument::CopyFromClip( const ScRange& rDestRange, const ScMarkData& rMar
CopyNonFilteredFromClip( nC1, nR1, nC2, nR2, rMark,
nDx, nDy, &aCBFCP, nClipStartRow );
}
- // Not needed for columns, but if it was this would be how to.
- //if (nClipStartCol > nClipEndCol)
- // nClipStartCol = pClipDoc->aClipRange.aStart.Col();
nC1 = nC2 + 1;
nC2 = Min((SCCOL)(nC1 + nXw), nCol2);
} while (nC1 <= nCol2);
@@ -2379,8 +2385,9 @@ void ScDocument::CopyMultiRangeFromClip(
sal_uInt16 nDelFlag = IDF_CONTENTS;
const ScBitMaskCompressedArray<SCROW, BYTE>& rFlags = GetRowFlagsArray(aCBFCP.nTabStart);
- for (ScRange* p = rClipParam.maRanges.First(); p; p = rClipParam.maRanges.Next())
+ for ( size_t i = 0, n = rClipParam.maRanges.size(); i < n; ++i )
{
+ ScRange* p = rClipParam.maRanges[ i ];
// The begin row must not be filtered.
SCROW nRowCount = p->aEnd.Row() - p->aStart.Row() + 1;
@@ -2476,17 +2483,18 @@ void ScDocument::GetClipArea(SCCOL& nClipX, SCROW& nClipY, BOOL bIncludeFiltered
}
ScRangeList& rClipRanges = GetClipParam().maRanges;
- if (!rClipRanges.Count())
+ if (rClipRanges.empty())
// No clip range. Bail out.
return;
- ScRangePtr p = rClipRanges.First();
+ ScRange* p = rClipRanges.front();
SCCOL nStartCol = p->aStart.Col();
SCCOL nEndCol = p->aEnd.Col();
SCROW nStartRow = p->aStart.Row();
SCROW nEndRow = p->aEnd.Row();
- for (p = rClipRanges.Next(); p; p = rClipRanges.Next())
+ for ( size_t i = 1, n = rClipRanges.size(); i < n; ++i )
{
+ p = rClipRanges[ i ];
if (p->aStart.Col() < nStartCol)
nStartCol = p->aStart.Col();
if (p->aStart.Row() < nStartRow)
@@ -2524,10 +2532,10 @@ void ScDocument::GetClipStart(SCCOL& nClipX, SCROW& nClipY)
if (bIsClip)
{
ScRangeList& rClipRanges = GetClipParam().maRanges;
- if (rClipRanges.Count())
+ if ( !rClipRanges.empty() )
{
- nClipX = rClipRanges.First()->aStart.Col();
- nClipY = rClipRanges.First()->aStart.Row();
+ nClipX = rClipRanges.front()->aStart.Col();
+ nClipY = rClipRanges.front()->aStart.Row();
}
}
else
@@ -2545,11 +2553,12 @@ BOOL ScDocument::HasClipFilteredRows()
++nCountTab;
ScRangeList& rClipRanges = GetClipParam().maRanges;
- if (!rClipRanges.Count())
+ if ( rClipRanges.empty() )
return false;
- for (ScRange* p = rClipRanges.First(); p; p = rClipRanges.Next())
+ for ( size_t i = 0, n = rClipRanges.size(); i < n; ++i )
{
+ ScRange* p = rClipRanges[ i ];
bool bAnswer = pTab[nCountTab]->HasFilteredRows(p->aStart.Row(), p->aEnd.Row());
if (bAnswer)
return true;
@@ -2849,11 +2858,10 @@ void ScDocument::GetNumberFormatInfo( short& nType, ULONG& nIndex,
}
-void ScDocument::GetFormula( SCCOL nCol, SCROW nRow, SCTAB nTab, String& rFormula,
- BOOL bAsciiExport ) const
+void ScDocument::GetFormula( SCCOL nCol, SCROW nRow, SCTAB nTab, String& rFormula ) const
{
if ( VALIDTAB(nTab) && pTab[nTab] )
- pTab[nTab]->GetFormula( nCol, nRow, rFormula, bAsciiExport );
+ pTab[nTab]->GetFormula( nCol, nRow, rFormula );
else
rFormula.Erase();
}
@@ -3053,10 +3061,9 @@ void ScDocument::SetTableOpDirty( const ScRange& rRange )
void ScDocument::InterpretDirtyCells( const ScRangeList& rRanges )
{
- ULONG nRangeCount = rRanges.Count();
- for (ULONG nPos=0; nPos<nRangeCount; nPos++)
+ for (size_t nPos=0, nRangeCount = rRanges.size(); nPos < nRangeCount; nPos++)
{
- ScCellIterator aIter( this, *rRanges.GetObject(nPos) );
+ ScCellIterator aIter( this, *rRanges[ nPos ] );
ScBaseCell* pCell = aIter.GetFirst();
while (pCell)
{
@@ -3073,17 +3080,20 @@ void ScDocument::InterpretDirtyCells( const ScRangeList& rRanges )
void ScDocument::AddTableOpFormulaCell( ScFormulaCell* pCell )
{
- ScInterpreterTableOpParams* p = aTableOpList.Last();
- if ( p && p->bCollectNotifications )
+ if ( !aTableOpList.empty() )
{
- if ( p->bRefresh )
- { // refresh pointers only
- p->aNotifiedFormulaCells.push_back( pCell );
- }
- else
- { // init both, address and pointer
- p->aNotifiedFormulaCells.push_back( pCell );
- p->aNotifiedFormulaPos.push_back( pCell->aPos );
+ ScInterpreterTableOpParams* p = &aTableOpList.back();
+ if ( p->bCollectNotifications )
+ {
+ if ( p->bRefresh )
+ { // refresh pointers only
+ p->aNotifiedFormulaCells.push_back( pCell );
+ }
+ else
+ { // init both, address and pointer
+ p->aNotifiedFormulaCells.push_back( pCell );
+ p->aNotifiedFormulaPos.push_back( pCell->aPos );
+ }
}
}
}
@@ -3876,7 +3886,7 @@ BOOL ScDocument::GetColDefault( SCTAB nTab, SCCOL nCol, SCROW nLastRow, SCROW& n
}
ScDefaultAttrSet::iterator aDefaultItr = aSet.begin();
aItr = aDefaultItr;
- aItr++;
+ ++aItr;
while (aItr != aSet.end())
{
// for entries with equal count, use the one with the lowest start row,
@@ -3884,7 +3894,7 @@ BOOL ScDocument::GetColDefault( SCTAB nTab, SCCOL nCol, SCROW nLastRow, SCROW& n
if ( aItr->nCount > aDefaultItr->nCount ||
( aItr->nCount == aDefaultItr->nCount && aItr->nFirst < aDefaultItr->nFirst ) )
aDefaultItr = aItr;
- aItr++;
+ ++aItr;
}
nDefault = aDefaultItr->nFirst;
bRet = TRUE;
@@ -4900,14 +4910,14 @@ void ScDocument::ApplySelectionFrame( const ScMarkData& rMark,
{
ScRangeList aRangeList;
rMark.FillRangeListWithMarks( &aRangeList, FALSE );
- ULONG nRangeCount = aRangeList.Count();
+ size_t nRangeCount = aRangeList.size();
for (SCTAB i=0; i<=MAXTAB; i++)
{
if (pTab[i] && rMark.GetTableSelect(i))
{
- for (ULONG j=0; j<nRangeCount; j++)
+ for ( size_t j=0; j < nRangeCount; j++ )
{
- ScRange aRange = *aRangeList.GetObject(j);
+ ScRange aRange = *aRangeList[ j ];
pTab[i]->ApplyBlockFrame( pLineOuter, pLineInner,
aRange.aStart.Col(), aRange.aStart.Row(),
aRange.aEnd.Col(), aRange.aEnd.Row() );
@@ -5126,18 +5136,6 @@ ULONG ScDocument::GetCodeCount() const
}
-ULONG ScDocument::GetWeightedCount() const
-{
- ULONG nCellCount = 0L;
-
- for ( SCTAB nTab=0; nTab<=MAXTAB; nTab++ )
- if ( pTab[nTab] )
- nCellCount += pTab[nTab]->GetWeightedCount();
-
- return nCellCount;
-}
-
-
void ScDocument::PageStyleModified( SCTAB nTab, const String& rNewName )
{
if ( ValidTab(nTab) && pTab[nTab] )
diff --git a/sc/source/core/data/dpcachetable.cxx b/sc/source/core/data/dpcachetable.cxx
index b371a30b7542..278696a2b13e 100644
--- a/sc/source/core/data/dpcachetable.cxx
+++ b/sc/source/core/data/dpcachetable.cxx
@@ -80,6 +80,7 @@ ScDPCacheTable::FilterItem::FilterItem() :
mbHasValue(false)
{
}
+
bool ScDPCacheTable::FilterItem::match( const ScDPItemData& rCellData ) const
{
if (rCellData.GetString()!= maString &&
@@ -87,6 +88,7 @@ bool ScDPCacheTable::FilterItem::match( const ScDPItemData& rCellData ) const
return false;
return true;
}
+
// ----------------------------------------------------------------------------
ScDPCacheTable::SingleFilter::SingleFilter(String aString, double fValue, bool bHasValue)
@@ -101,7 +103,7 @@ bool ScDPCacheTable::SingleFilter::match( const ScDPItemData& rCellData ) const
return maItem.match(rCellData);
}
-const String ScDPCacheTable::SingleFilter::getMatchString()
+const String& ScDPCacheTable::SingleFilter::getMatchString()
{
return maItem.maString;
}
@@ -158,15 +160,15 @@ ScDPCacheTable::Criterion::Criterion() :
// ----------------------------------------------------------------------------
-ScDPCacheTable::ScDPCacheTable( ScDocument* pDoc,long nId ) :
+ScDPCacheTable::ScDPCacheTable( ScDocument* pDoc, long nId ) :
mpCache( NULL ),
mpNoneCache( NULL )
{
- if ( nId >= 0 )
- mpCache = pDoc->GetDPObjectCache( nId );
+ if ( nId >= 0 )
+ mpCache = pDoc->GetDPCollection()->GetDPObjectCache( nId );
else
{ //create a temp cache object
- InitNoneCache( NULL );
+ initNoneCache( NULL );
}
}
@@ -176,20 +178,21 @@ ScDPCacheTable::~ScDPCacheTable()
sal_Int32 ScDPCacheTable::getRowSize() const
{
- return GetCache()->GetRowCount();
+ return getCache()->GetRowCount();
}
sal_Int32 ScDPCacheTable::getColSize() const
{
- return GetCache()->GetColumnCount();
+ return getCache()->GetColumnCount();
}
-void ScDPCacheTable::fillTable( const ScQueryParam& rQuery, BOOL* pSpecial,
- bool bIgnoreEmptyRows, bool bRepeatIfEmpty )
+void ScDPCacheTable::fillTable(
+ const ScQueryParam& rQuery, bool* pSpecial, bool bIgnoreEmptyRows, bool bRepeatIfEmpty)
{
+ // check cache
if ( mpCache == NULL )
- InitNoneCache( NULL );
-//check cache
+ initNoneCache( NULL );
+
const SCROW nRowCount = getRowSize();
const SCCOL nColCount = (SCCOL) getColSize();
if ( nRowCount <= 0 || nColCount <= 0)
@@ -198,7 +201,6 @@ void ScDPCacheTable::fillTable( const ScQueryParam& rQuery, BOOL* pSpecial,
maRowsVisible.clear();
maRowsVisible.reserve(nRowCount);
-
// Initialize field entries container.
maFieldEntries.clear();
maFieldEntries.reserve(nColCount);
@@ -206,23 +208,23 @@ void ScDPCacheTable::fillTable( const ScQueryParam& rQuery, BOOL* pSpecial,
// Data rows
for (SCCOL nCol = 0; nCol < nColCount; ++nCol)
{
- SCROW nMemCount = GetCache()->GetDimMemberCount( nCol );
+ SCROW nMemCount = getCache()->GetDimMemberCount( nCol );
if ( nMemCount )
{
std::vector< SCROW > pAdded( nMemCount, -1 );
for (SCROW nRow = 0; nRow < nRowCount; ++nRow )
{
- SCROW nIndex = GetCache()->GetItemDataId( nCol, nRow, bRepeatIfEmpty );
- SCROW nOrder = GetCache()->GetOrder( nCol, nIndex );
+ SCROW nIndex = getCache()->GetItemDataId( nCol, nRow, bRepeatIfEmpty );
+ SCROW nOrder = getCache()->GetOrder( nCol, nIndex );
if ( nCol == 0 )
maRowsVisible.push_back(false);
if ( lcl_HasQueryEntry(rQuery) &&
- !GetCache()->ValidQuery( nRow , rQuery, pSpecial ) )
+ !getCache()->ValidQuery( nRow , rQuery, pSpecial ) )
continue;
- if ( bIgnoreEmptyRows && GetCache()->IsRowEmpty( nRow ) )
+ if ( bIgnoreEmptyRows && getCache()->IsRowEmpty( nRow ) )
continue;
// Insert a new row into cache table.
if ( nCol == 0 )
@@ -242,9 +244,10 @@ void ScDPCacheTable::fillTable( const ScQueryParam& rQuery, BOOL* pSpecial,
void ScDPCacheTable::fillTable()
{
+ // check cache
if ( mpCache == NULL )
- InitNoneCache( NULL );
-//check cache
+ initNoneCache( NULL );
+
const SCROW nRowCount = getRowSize();
const SCCOL nColCount = (SCCOL) getColSize();
if ( nRowCount <= 0 || nColCount <= 0)
@@ -261,15 +264,15 @@ void ScDPCacheTable::fillTable()
// Data rows
for (SCCOL nCol = 0; nCol < nColCount; ++nCol)
{
- SCROW nMemCount = GetCache()->GetDimMemberCount( nCol );
+ SCROW nMemCount = getCache()->GetDimMemberCount( nCol );
if ( nMemCount )
{
std::vector< SCROW > pAdded( nMemCount, -1 );
for (SCROW nRow = 0; nRow < nRowCount; ++nRow )
{
- SCROW nIndex = GetCache()->GetItemDataId( nCol, nRow, false );
- SCROW nOrder = GetCache()->GetOrder( nCol, nIndex );
+ SCROW nIndex = getCache()->GetItemDataId( nCol, nRow, false );
+ SCROW nOrder = getCache()->GetOrder( nCol, nIndex );
if ( nCol == 0 )
maRowsVisible.push_back(true);
@@ -285,7 +288,6 @@ void ScDPCacheTable::fillTable()
}
}
}
- return;
}
bool ScDPCacheTable::isRowActive(sal_Int32 nRow) const
@@ -312,8 +314,8 @@ void ScDPCacheTable::filterByPageDimension(const vector<Criterion>& rCriteria, c
const ScDPItemData* ScDPCacheTable::getCell(SCCOL nCol, SCROW nRow, bool bRepeatIfEmpty) const
{
- SCROW nId= GetCache()->GetItemDataId(nCol, nRow, bRepeatIfEmpty);
- return GetCache()->GetItemDataById( nCol, nId );
+ SCROW nId= getCache()->GetItemDataId(nCol, nRow, bRepeatIfEmpty);
+ return getCache()->GetItemDataById( nCol, nId );
}
void ScDPCacheTable::getValue( ScDPValueData& rVal, SCCOL nCol, SCROW nRow, bool bRepeatIfEmpty) const
@@ -330,23 +332,18 @@ void ScDPCacheTable::getValue( ScDPValueData& rVal, SCCOL nCol, SCROW nRow, boo
}
String ScDPCacheTable::getFieldName(SCCOL nIndex) const
{
- return (GetCache()->GetDimensionName( nIndex ));
-}
-
-sal_Int32 ScDPCacheTable::getFieldIndex(const String& rStr) const
-{
- return GetCache()->GetDimensionIndex( rStr );
+ return getCache()->GetDimensionName( nIndex );
}
const ::std::vector<SCROW>& ScDPCacheTable::getFieldEntries( sal_Int32 nColumn ) const
{
- if (nColumn < 0 || static_cast<size_t>(nColumn) >= maFieldEntries.size())
+ if (nColumn < 0 || static_cast<size_t>(nColumn) >= maFieldEntries.size())
{
// index out of bound. Hopefully this code will never be reached.
static const ::std::vector<SCROW> emptyEntries;
return emptyEntries;
}
- return maFieldEntries[nColumn];
+ return maFieldEntries[nColumn];
}
void ScDPCacheTable::filterTable(const vector<Criterion>& rCriteria, Sequence< Sequence<Any> >& rTabData,
@@ -392,7 +389,6 @@ void ScDPCacheTable::filterTable(const vector<Criterion>& rCriteria, Sequence< S
{
Any any;
bool bRepeatIfEmpty = rRepeatIfEmptyDims.count(nCol) > 0;
- // Wang Xu Ming - DataPilot migration
const ScDPItemData* pData= getCell(nCol, nRow, bRepeatIfEmpty);
if ( pData->IsValue() )
any <<= pData->GetValue();
@@ -419,12 +415,6 @@ void ScDPCacheTable::clear()
maRowsVisible.clear();
}
-void ScDPCacheTable::swap(ScDPCacheTable& rOther)
-{
- maFieldEntries.swap(rOther.maFieldEntries);
- maRowsVisible.swap(rOther.maRowsVisible);
-}
-
bool ScDPCacheTable::empty() const
{
return ( mpCache == NULL&& mpNoneCache == NULL ) || maFieldEntries.size()==0;
@@ -452,20 +442,18 @@ bool ScDPCacheTable::isRowQualified(sal_Int32 nRow, const vector<Criterion>& rCr
}
-void ScDPCacheTable::InitNoneCache( ScDocument* pDoc )
+void ScDPCacheTable::initNoneCache( ScDocument* pDoc )
{
mpCache = NULL;
- if ( mpNoneCache )
- delete mpNoneCache;
+ delete mpNoneCache;
mpNoneCache = new ScDPTableDataCache( pDoc );
}
-ScDPTableDataCache* ScDPCacheTable::GetCache() const
+ScDPTableDataCache* ScDPCacheTable::getCache() const
{
if ( mpCache )
return mpCache;
return mpNoneCache;
}
-// End Comments
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/dpdimsave.cxx b/sc/source/core/data/dpdimsave.cxx
index f8b06fbb0dd1..f548f04513f6 100644
--- a/sc/source/core/data/dpdimsave.cxx
+++ b/sc/source/core/data/dpdimsave.cxx
@@ -62,7 +62,7 @@ void ScDPSaveGroupItem::AddElementsFromGroup( const ScDPSaveGroupItem& rGroup )
// add all elements of the other group (used for nested grouping)
for ( std::vector<String>::const_iterator aIter(rGroup.aElements.begin());
- aIter != rGroup.aElements.end(); aIter++ )
+ aIter != rGroup.aElements.end(); ++aIter )
aElements.push_back( *aIter );
}
diff --git a/sc/source/core/data/dpglobal.cxx b/sc/source/core/data/dpglobal.cxx
index 4ce715600a9c..6063fdd65c7c 100644
--- a/sc/source/core/data/dpglobal.cxx
+++ b/sc/source/core/data/dpglobal.cxx
@@ -35,6 +35,7 @@
#include "dpglobal.hxx"
#include "document.hxx"
+#include "dpobject.hxx"
#include <stdio.h>
@@ -48,68 +49,19 @@ namespace ScDPGlobal
return rcResult;
}
- String GetFuncString( const String &rString, const USHORT nIndex )
- {
- if ( nIndex <= 1 ) return rString;
- ULONG uch = rString.Len() ? rString.GetChar( rString.Len()-1 ) : (L'9'+1);
- bool bEndWithDigital = ( L'0'<=uch && uch<=L'9');
- char szTemp[__MAX_NUM_LEN+1];
- int nLen = sprintf( szTemp, bEndWithDigital ? DATA_RENAME_SEPARATOR"%hu" : "%hu", nIndex );
- String strRet = rString;
- strRet.Append( String::CreateFromAscii( szTemp, static_cast<USHORT>(nLen) ));
- return strRet;
- }
-
- bool ChkDPTableOverlap( ScDocument *pDestDoc, std::list<ScDPObject> & rClipboard, SCCOL nClipStartCol, SCROW nClipStartRow, SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab, USHORT nEndTab, BOOL bExcludeClip /*= FALSE*/ )
- {
- if ( ScDPCollection* pDPCollection = pDestDoc->GetDPCollection() )
- {
- USHORT nCount = pDPCollection->GetCount();
- SCsCOL nOffsetX = nStartCol - nClipStartCol;
- SCsROW nOffsetY = nStartRow - nClipStartRow;
-
- for( std::list<ScDPObject>::iterator iter = rClipboard.begin(); iter!=rClipboard.end(); iter++ )
- {
- ScRange aRange = iter->GetOutRange();
-
- for( USHORT nCurrTab = nStartTab; nCurrTab<=nEndTab; nCurrTab++ )
- {
- SCsTAB nOffsetZ = nCurrTab - aRange.aStart.Tab();
- aRange.Move( nOffsetX, nOffsetY, nOffsetZ );
-
- for ( USHORT i = 0; i<nCount; i++)
- {
- if ( (*pDPCollection)[i] && aRange.Intersects( (*pDPCollection)[i]->GetOutRange()))
- {
- if ( bExcludeClip && iter->GetOutRange() == (*pDPCollection)[i]->GetOutRange() )
- {
- continue;
- }
- return false;
- }
- }
- }
- }
- }
- return true;
}
-//end
-}
-// --------------------------------------------------------------------
-// ScDPItemDataPool
-// Construct
-ScDPItemDataPool::ScDPItemDataPool(void)
+ScDPItemDataPool::ScDPItemDataPool()
{
}
-//
+
ScDPItemDataPool::ScDPItemDataPool(const ScDPItemDataPool& r):
maItems(r.maItems),
maItemIds(r.maItemIds)
{
}
-ScDPItemDataPool::~ScDPItemDataPool(void)
+ScDPItemDataPool::~ScDPItemDataPool()
{
}
diff --git a/sc/source/core/data/dpgroup.cxx b/sc/source/core/data/dpgroup.cxx
index 216d90352c9d..a053cfae8024 100644
--- a/sc/source/core/data/dpgroup.cxx
+++ b/sc/source/core/data/dpgroup.cxx
@@ -283,10 +283,7 @@ public:
ScDPGroupDateFilter(double fMatchValue, sal_Int32 nDatePart,
const Date* pNullDate, const ScDPNumGroupInfo* pNumInfo);
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
virtual bool match(const ScDPItemData & rCellData) const;
- // End Comments
private:
ScDPGroupDateFilter(); // disabled
@@ -306,8 +303,7 @@ ScDPGroupDateFilter::ScDPGroupDateFilter(double fMatchValue, sal_Int32 nDatePart
mfMatchValue(fMatchValue),
mnDatePart(nDatePart)
{
-// fprintf(stdout, "ScDPCacheTable:DateGroupFilter::DateGroupFilter: match value = %g; date part = %ld\n",
-// mfMatchValue, mnDatePart);
+
}
bool ScDPGroupDateFilter::match( const ScDPItemData & rCellData ) const
{
@@ -317,7 +313,7 @@ bool ScDPGroupDateFilter::match( const ScDPItemData & rCellData ) const
if ( !rCellData.IsValue() )
return false;
-// ScDPCacheCell rCell( rCellData.fValue );
+
if (!mpNumInfo)
return false;
@@ -550,11 +546,8 @@ BOOL lcl_DateContained( sal_Int32 nGroupPart, const ScDPItemData& rGroupData,
}
// no approxFloor needed, values were created from integers
-// Wang Xu Ming -- 2009-8-17
-// DataPilot Migration - Cache&&Performance
sal_Int32 nGroupValue = (sal_Int32) rGroupData.GetValue();
sal_Int32 nBaseValue = (sal_Int32) rBaseData.GetValue();
-// End Comments
if ( nBasePart > nGroupPart )
{
// switch, so the base part is the smaller (inner) part
@@ -724,10 +717,7 @@ void ScDPGroupItem::FillGroupFilter( ScDPCacheTable::GroupFilter& rFilter ) cons
{
ScDPItemDataVec::const_iterator itrEnd = aElements.end();
for (ScDPItemDataVec::const_iterator itr = aElements.begin(); itr != itrEnd; ++itr)
-// Wang Xu Ming -- 2009-8-17
-// DataPilot Migration - Cache&&Performance
rFilter.addMatchItem(itr->GetString(), itr->GetValue(), itr->IsValue());
-// End Comments
}
// -----------------------------------------------------------------------
@@ -736,8 +726,7 @@ ScDPGroupDimension::ScDPGroupDimension( long nSource, const String& rNewName ) :
nSourceDim( nSource ),
nGroupDim( -1 ),
aGroupName( rNewName ),
- pDateHelper( NULL )/*,
- pCollection( NULL )*/
+ pDateHelper( NULL )
{
}
@@ -789,21 +778,19 @@ void ScDPGroupDimension::SetGroupDim( long nDim )
{
nGroupDim = nDim;
}
-// Wang Xu Ming -- 2009-9-2
-// DataPilot Migration - Cache&&Performance
const std::vector< SCROW >& ScDPGroupDimension::GetColumnEntries( const ScDPCacheTable& rCacheTable, const std::vector< SCROW >& rOriginal ) const
{
if ( maMemberEntries.empty() )
{
if ( pDateHelper )
{
- pDateHelper->FillColumnEntries( (SCCOL)GetSourceDim(), rCacheTable.GetCache(), maMemberEntries, rOriginal );
+ pDateHelper->FillColumnEntries( (SCCOL)GetSourceDim(), rCacheTable.getCache(), maMemberEntries, rOriginal );
}
else
{
for (size_t i =0; i < rOriginal.size( ); i ++)
{
- const ScDPItemData* pItemData = rCacheTable.GetCache()->GetItemDataById( (SCCOL)GetSourceDim(), rOriginal[i] );
+ const ScDPItemData* pItemData = rCacheTable.getCache()->GetItemDataById( (SCCOL)GetSourceDim(), rOriginal[i] );
if ( !pItemData || !GetGroupForData( *pItemData ) )
{
// not in any group -> add as its own group
@@ -814,15 +801,14 @@ const std::vector< SCROW >& ScDPGroupDimension::GetColumnEntries( const ScDPCac
long nCount = aItems.size();
for (long i=0; i<nCount; i++)
{
- SCROW nNew = rCacheTable.GetCache()->GetAdditionalItemID( aItems[i].GetName() );
- lcl_Insert ( (SCCOL)GetSourceDim(), rCacheTable.GetCache(), maMemberEntries, nNew );
+ SCROW nNew = rCacheTable.getCache()->GetAdditionalItemID( aItems[i].GetName() );
+ lcl_Insert ( (SCCOL)GetSourceDim(), rCacheTable.getCache(), maMemberEntries, nNew );
}
}
}
return maMemberEntries;
}
-// End Comments
const ScDPGroupItem* ScDPGroupDimension::GetGroupForData( const ScDPItemData& rData ) const
@@ -1086,7 +1072,6 @@ void ScDPGroupTableData::GetNumGroupInfo( long nDimension, ScDPNumGroupInfo& rIn
rDecimal = pNumGroups[nDimension].GetDecSeparator();
}
}
-// Wang Xu Ming - DataPilot migration
long ScDPGroupTableData::GetMembersCount( long nDim )
{
const std::vector< SCROW >& members = GetColumnEntries( nDim );
@@ -1112,7 +1097,7 @@ const std::vector< SCROW >& ScDPGroupTableData::GetColumnEntries( long nColumn
{
// dimension number is unchanged for numerical groups
const std::vector< SCROW >& rOriginal = pSourceData->GetColumnEntries( nColumn );
- return pNumGroups[nColumn].GetNumEntries( (SCCOL)nColumn, GetCacheTable().GetCache(), rOriginal );
+ return pNumGroups[nColumn].GetNumEntries( (SCCOL)nColumn, GetCacheTable().getCache(), rOriginal );
}
return pSourceData->GetColumnEntries( nColumn );
@@ -1284,13 +1269,8 @@ void ScDPGroupTableData::ModifyFilterCriteria(vector<ScDPCacheTable::Criterion>&
for (size_t i = 0; i < nGroupItemCount; ++i)
{
const ScDPGroupItem* pGrpItem = pGrpDim->GetGroupByIndex(i);
- // Wang Xu Ming -- 2009-6-9
- // DataPilot Migration
ScDPItemData aName( pFilter->getMatchString(),pFilter->getMatchValue(),pFilter->hasValue()) ;
- /*aName.aString = pFilter->getMatchString();
- aName.fValue = pFilter->getMatchValue();
- aName.bHasValue = pFilter->hasValue();*/
- // End Comments
+
if (!pGrpItem || !pGrpItem->GetName().IsCaseInsEqual(aName))
continue;
@@ -1359,7 +1339,7 @@ void ScDPGroupTableData::FillGroupValues( /*ScDPItemData* pItemData*/ SCROW* pIt
{
long nGroupedColumns = aGroups.size();
- ScDPTableDataCache* pCache = GetCacheTable().GetCache();
+ ScDPTableDataCache* pCache = GetCacheTable().getCache();
for (long nDim=0; nDim<nCount; nDim++)
{
const ScDPDateGroupHelper* pDateHelper = NULL;
@@ -1402,18 +1382,14 @@ void ScDPGroupTableData::FillGroupValues( /*ScDPItemData* pItemData*/ SCROW* pIt
if ( pDateHelper )
{
- const ScDPItemData* pData = GetCacheTable().GetCache()->GetItemDataById( (SCCOL)nSourceDim, pItemDataIndex[nDim]);
+ const ScDPItemData* pData = GetCacheTable().getCache()->GetItemDataById( (SCCOL)nSourceDim, pItemDataIndex[nDim]);
if ( pData ->IsValue() )
{
sal_Int32 nPartValue = lcl_GetDatePartValue(
pData->GetValue(), pDateHelper->GetDatePart(), pDoc->GetFormatTable(),
&pDateHelper->GetNumInfo() );
-// Wang Xu Ming -- 2009-9-7
-// DataPilot Migration - Cache&&Performance
- //String aName = lcl_GetDateGroupName( pDateHelper, nPartValue, pDoc->GetFormatTable() );
ScDPItemData aItemData( pDateHelper->GetDatePart(), String(), nPartValue, ScDPItemData::MK_DATA|ScDPItemData::MK_VAL|ScDPItemData::MK_DATEPART );
- pItemDataIndex[nDim] = GetCacheTable().GetCache()->GetAdditionalItemID( aItemData );
-// End Comments
+ pItemDataIndex[nDim] = GetCacheTable().getCache()->GetAdditionalItemID( aItemData );
}
}
}
diff --git a/sc/source/core/data/dpobject.cxx b/sc/source/core/data/dpobject.cxx
index d8abd8d7dee3..942836760f65 100644
--- a/sc/source/core/data/dpobject.cxx
+++ b/sc/source/core/data/dpobject.cxx
@@ -29,8 +29,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-
-
// INCLUDE ---------------------------------------------------------------
#include "dpobject.hxx"
@@ -53,11 +51,8 @@
#include "attrib.hxx"
#include "scitems.hxx"
#include "unonames.hxx"
-// Wang Xu Ming -- 2009-8-17
-// DataPilot Migration - Cache&&Performance
#include "dpglobal.hxx"
#include "globstr.hrc"
-// End Comments
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/sheet/GeneralFunction.hpp>
#include <com/sun/star/sheet/DataPilotFieldFilter.hpp>
@@ -94,10 +89,10 @@ using ::com::sun::star::uno::Exception;
using ::com::sun::star::lang::XComponent;
using ::com::sun::star::sheet::DataPilotTableHeaderData;
using ::com::sun::star::sheet::DataPilotTablePositionData;
+using ::com::sun::star::sheet::XDimensionsSupplier;
using ::com::sun::star::beans::XPropertySet;
using ::rtl::OUString;
-
// -----------------------------------------------------------------------
#define SCDPSOURCE_SERVICE "com.sun.star.sheet.DataPilotSource"
@@ -119,7 +114,6 @@ using ::rtl::OUString;
#define DP_PROP_FUNCTION "Function"
#define DP_PROP_IGNOREEMPTY "IgnoreEmptyRows"
#define DP_PROP_ISDATALAYOUT "IsDataLayoutDimension"
-//#define DP_PROP_ISVISIBLE "IsVisible"
#define DP_PROP_ORIENTATION "Orientation"
#define DP_PROP_ORIGINAL "Original"
#define DP_PROP_POSITION "Position"
@@ -149,11 +143,11 @@ USHORT lcl_GetDataGetOrientation( const uno::Reference<sheet::XDimensionsSupplie
if ( xDimProp.is() )
{
bFound = ScUnoHelpFunctions::GetBoolProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_ISDATALAYOUT) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ISDATALAYOUT)) );
//! error checking -- is "IsDataLayoutDimension" property required??
if (bFound)
nRet = ScUnoHelpFunctions::GetEnumProperty(
- xDimProp, rtl::OUString::createFromAscii(DP_PROP_ORIENTATION),
+ xDimProp, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIENTATION)),
sheet::DataPilotFieldOrientation_HIDDEN );
}
}
@@ -177,13 +171,12 @@ ScDPObject::ScDPObject( ScDocument* pD ) :
bAllowMove( FALSE ),
nHeaderRows( 0 ),
mbHeaderLayout(false),
- bRefresh( FALSE ), // Wang Xu Ming - DataPilot migration
- mnCacheId( -1) // Wang Xu Ming - DataPilot migration
+ bRefresh( FALSE ),
+ mnCacheId( -1)
{
}
ScDPObject::ScDPObject(const ScDPObject& r) :
- ScDataObject(),
pDoc( r.pDoc ),
pSaveData( NULL ),
aTableName( r.aTableName ),
@@ -200,8 +193,8 @@ ScDPObject::ScDPObject(const ScDPObject& r) :
bAllowMove( FALSE ),
nHeaderRows( r.nHeaderRows ),
mbHeaderLayout( r.mbHeaderLayout ),
- bRefresh( r.bRefresh ), // Wang Xu Ming - DataPilot migration
- mnCacheId ( r.mnCacheId ) // Wang Xu Ming - DataPilot migration
+ bRefresh( r.bRefresh ),
+ mnCacheId ( r.mnCacheId )
{
if (r.pSaveData)
pSaveData = new ScDPSaveData(*r.pSaveData);
@@ -221,15 +214,10 @@ ScDPObject::~ScDPObject()
delete pSheetDesc;
delete pImpDesc;
delete pServDesc;
- mnCacheId = -1; // Wang Xu Ming - DataPilot migration
+ mnCacheId = -1;
InvalidateSource();
}
-ScDataObject* ScDPObject::Clone() const
-{
- return new ScDPObject(*this);
-}
-
void ScDPObject::SetAlive(BOOL bSet)
{
bAlive = bSet;
@@ -246,28 +234,15 @@ void ScDPObject::SetSaveData(const ScDPSaveData& rData)
{
delete pSaveData;
pSaveData = new ScDPSaveData( rData );
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
if ( rData.GetCacheId() >= 0 )
mnCacheId = rData.GetCacheId();
else if ( mnCacheId >= 0 )
pSaveData->SetCacheId( mnCacheId );
- // End Comments
}
InvalidateData(); // re-init source from SaveData
}
-void ScDPObject::SetAutoFormatIndex(const sal_uInt16 nIndex)
-{
- mnAutoFormatIndex = nIndex;
-}
-
-sal_uInt16 ScDPObject::GetAutoFormatIndex() const
-{
- return mnAutoFormatIndex;
-}
-
void ScDPObject::SetHeaderLayout (bool bUseGrid)
{
mbHeaderLayout = bUseGrid;
@@ -446,10 +421,7 @@ ScDPTableData* ScDPObject::GetTableData()
DBG_ERROR("no source descriptor");
pSheetDesc = new ScSheetSourceDesc; // dummy defaults
}
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
pData.reset(new ScSheetDPData(pDoc, *pSheetDesc, GetCacheId()));
- // End Comments
}
// grouping (for cell or database data)
@@ -460,11 +432,8 @@ ScDPTableData* ScDPObject::GetTableData()
pData = pGroupData;
}
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
if ( pData )
SetCacheId( pData->GetCacheId()); // resets mpTableData
- // End Comments
mpTableData = pData; // after SetCacheId
}
@@ -554,7 +523,7 @@ void ScDPObject::InvalidateSource()
mpTableData.reset();
}
-ScRange ScDPObject::GetNewOutputRange( BOOL& rOverflow )
+ScRange ScDPObject::GetNewOutputRange( bool& rOverflow )
{
CreateOutput(); // create xSource and pOutput if not already done
@@ -687,11 +656,11 @@ bool ScDPObject::GetMembers( sal_Int32 nDim, sal_Int32 nHier, vector<ScDPLabelDa
Reference<beans::XPropertySet> xMemProp(xMember, UNO_QUERY);
if (xMemProp.is())
{
- aMem.mbVisible = ScUnoHelpFunctions::GetBoolProperty(xMemProp, OUString::createFromAscii(SC_UNO_ISVISIBL));
- aMem.mbShowDetails = ScUnoHelpFunctions::GetBoolProperty(xMemProp, OUString::createFromAscii(SC_UNO_SHOWDETA));
+ aMem.mbVisible = ScUnoHelpFunctions::GetBoolProperty(xMemProp, OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_ISVISIBL)));
+ aMem.mbShowDetails = ScUnoHelpFunctions::GetBoolProperty(xMemProp, OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_SHOWDETA)));
aMem.maLayoutName = ScUnoHelpFunctions::GetStringProperty(
- xMemProp, OUString::createFromAscii(SC_UNO_LAYOUTNAME), OUString());
+ xMemProp, OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_LAYOUTNAME)), OUString());
}
aMembers.push_back(aMem);
@@ -841,7 +810,7 @@ bool ScDPObject::IsDimNameInUse(const OUString& rName) const
continue;
OUString aLayoutName = ScUnoHelpFunctions::GetStringProperty(
- xPropSet, OUString::createFromAscii(SC_UNO_LAYOUTNAME), OUString());
+ xPropSet, OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_LAYOUTNAME)), OUString());
if (aLayoutName.equalsIgnoreAsciiCase(rName))
return true;
}
@@ -867,7 +836,7 @@ String ScDPObject::GetDimName( long nDim, BOOL& rIsDataLayout, sal_Int32* pFlags
if ( xDimName.is() && xDimProp.is() )
{
BOOL bData = ScUnoHelpFunctions::GetBoolProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_ISDATALAYOUT) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ISDATALAYOUT)) );
//! error checking -- is "IsDataLayoutDimension" property required??
rtl::OUString aName;
@@ -885,7 +854,7 @@ String ScDPObject::GetDimName( long nDim, BOOL& rIsDataLayout, sal_Int32* pFlags
if (pFlags)
*pFlags = ScUnoHelpFunctions::GetLongProperty( xDimProp,
- rtl::OUString::createFromAscii(SC_UNO_FLAGS), 0 );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_FLAGS)), 0 );
}
}
}
@@ -911,7 +880,7 @@ BOOL ScDPObject::IsDuplicated( long nDim )
try
{
uno::Any aOrigAny = xDimProp->getPropertyValue(
- rtl::OUString::createFromAscii(DP_PROP_ORIGINAL) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIGINAL)) );
uno::Reference<uno::XInterface> xIntOrig;
if ( (aOrigAny >>= xIntOrig) && xIntOrig.is() )
bDuplicated = TRUE;
@@ -967,7 +936,7 @@ void ScDPObject::FillPageList( TypedScStrCollection& rStrings, long nField )
uno::Reference<beans::XPropertySet> xDimProp( xDim, uno::UNO_QUERY );
long nHierarchy = ScUnoHelpFunctions::GetLongProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_USEDHIERARCHY) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_USEDHIERARCHY)) );
long nLevel = 0;
long nHierCount = 0;
@@ -1017,7 +986,7 @@ void ScDPObject::FillPageList( TypedScStrCollection& rStrings, long nField )
sal_Bool bVisible = false;
if (xPropSet.is())
{
- Any any = xPropSet->getPropertyValue(OUString::createFromAscii(SC_UNO_ISVISIBL));
+ Any any = xPropSet->getPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_ISVISIBL)));
any >>= bVisible;
}
@@ -1340,9 +1309,9 @@ BOOL ScDPObject::ParseFilters( ScDPGetPivotDataField& rTarget,
uno::Reference<beans::XPropertySet> xDimProp( xDim, uno::UNO_QUERY );
uno::Reference<sheet::XHierarchiesSupplier> xDimSupp( xDim, uno::UNO_QUERY );
BOOL bDataLayout = ScUnoHelpFunctions::GetBoolProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_ISDATALAYOUT) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ISDATALAYOUT)) );
sal_Int32 nOrient = ScUnoHelpFunctions::GetEnumProperty(
- xDimProp, rtl::OUString::createFromAscii(DP_PROP_ORIENTATION),
+ xDimProp, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIENTATION)),
sheet::DataPilotFieldOrientation_HIDDEN );
if ( !bDataLayout )
{
@@ -1360,7 +1329,7 @@ BOOL ScDPObject::ParseFilters( ScDPGetPivotDataField& rTarget,
uno::Reference<container::XIndexAccess> xHiers = new ScNameToIndexAccess( xDimSupp->getHierarchies() );
sal_Int32 nHierarchy = ScUnoHelpFunctions::GetLongProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_USEDHIERARCHY) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_USEDHIERARCHY)) );
if ( nHierarchy >= xHiers->getCount() )
nHierarchy = 0;
@@ -1550,7 +1519,7 @@ void ScDPObject::ToggleDetails(const DataPilotTableHeaderData& rElemDesc, ScDPOb
uno::Reference<beans::XPropertySet> xDimProp( xDim, uno::UNO_QUERY );
BOOL bDataLayout = ScUnoHelpFunctions::GetBoolProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_ISDATALAYOUT) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ISDATALAYOUT)) );
if (bDataLayout)
{
// the elements of the data layout dimension can't be found by their names
@@ -1608,7 +1577,7 @@ void ScDPObject::ToggleDetails(const DataPilotTableHeaderData& rElemDesc, ScDPOb
if ( xMbrProp.is() )
{
bShowDetails = ScUnoHelpFunctions::GetBoolProperty( xMbrProp,
- rtl::OUString::createFromAscii(DP_PROP_SHOWDETAILS) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_SHOWDETAILS)) );
//! don't set bFound if property is unknown?
bFound = TRUE;
}
@@ -1656,7 +1625,7 @@ USHORT lcl_FirstSubTotal( const uno::Reference<beans::XPropertySet>& xDimProp )
{
uno::Reference<container::XIndexAccess> xHiers = new ScNameToIndexAccess( xDimSupp->getHierarchies() );
long nHierarchy = ScUnoHelpFunctions::GetLongProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_USEDHIERARCHY) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_USEDHIERARCHY)) );
if ( nHierarchy >= xHiers->getCount() )
nHierarchy = 0;
@@ -1675,7 +1644,7 @@ USHORT lcl_FirstSubTotal( const uno::Reference<beans::XPropertySet>& xDimProp )
try
{
aSubAny = xLevProp->getPropertyValue(
- rtl::OUString::createFromAscii(DP_PROP_SUBTOTALS) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_SUBTOTALS)) );
}
catch(uno::Exception&)
{
@@ -1713,38 +1682,47 @@ USHORT lcl_CountBits( USHORT nBits )
return nCount;
}
-SCSIZE lcl_FillOldFields( PivotField* pFields,
- const uno::Reference<sheet::XDimensionsSupplier>& xSource,
- USHORT nOrient, SCCOL nColAdd, BOOL bAddData )
+void lcl_FillOldFields(
+ vector<PivotField>& rFields,
+ const uno::Reference<sheet::XDimensionsSupplier>& xSource,
+ USHORT nOrient, SCCOL nColAdd, bool bAddData )
{
- SCSIZE nOutCount = 0;
- BOOL bDataFound = FALSE;
+ vector<PivotField> aFields;
- SCSIZE nCount = (nOrient == sheet::DataPilotFieldOrientation_PAGE) ? PIVOT_MAXPAGEFIELD : PIVOT_MAXFIELD;
+ bool bDataFound = false;
- //! merge multiple occurences (data field with different functions)
+ //! merge multiple occurrences (data field with different functions)
//! force data field in one dimension
- std::vector< long > aPos( nCount, 0 );
+ vector<long> aPos;
uno::Reference<container::XNameAccess> xDimsName = xSource->getDimensions();
uno::Reference<container::XIndexAccess> xDims = new ScNameToIndexAccess( xDimsName );
long nDimCount = xDims->getCount();
- for (long nDim=0; nDim < nDimCount && nOutCount < nCount; nDim++)
+ for (long nDim = 0; nDim < nDimCount; ++nDim)
{
+ // Get dimension object.
uno::Reference<uno::XInterface> xIntDim =
ScUnoHelpFunctions::AnyToInterface( xDims->getByIndex(nDim) );
+
+ // dimension properties
uno::Reference<beans::XPropertySet> xDimProp( xIntDim, uno::UNO_QUERY );
+
+ // dimension orientation, hidden by default.
long nDimOrient = ScUnoHelpFunctions::GetEnumProperty(
- xDimProp, rtl::OUString::createFromAscii(DP_PROP_ORIENTATION),
+ xDimProp, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIENTATION)),
sheet::DataPilotFieldOrientation_HIDDEN );
+
if ( xDimProp.is() && nDimOrient == nOrient )
{
+ // Let's take this dimension.
+
+ // function mask.
USHORT nMask = 0;
if ( nOrient == sheet::DataPilotFieldOrientation_DATA )
{
sheet::GeneralFunction eFunc = (sheet::GeneralFunction)ScUnoHelpFunctions::GetEnumProperty(
- xDimProp, rtl::OUString::createFromAscii(DP_PROP_FUNCTION),
+ xDimProp, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_FUNCTION)),
sheet::GeneralFunction_NONE );
if ( eFunc == sheet::GeneralFunction_AUTO )
{
@@ -1756,13 +1734,16 @@ SCSIZE lcl_FillOldFields( PivotField* pFields,
else
nMask = lcl_FirstSubTotal( xDimProp ); // from first hierarchy
- BOOL bDataLayout = ScUnoHelpFunctions::GetBoolProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_ISDATALAYOUT) );
+ // is this data layout dimension?
+ bool bDataLayout = ScUnoHelpFunctions::GetBoolProperty(
+ xDimProp, OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ISDATALAYOUT)));
+
+ // is this dimension cloned?
uno::Any aOrigAny;
try
{
aOrigAny = xDimProp->getPropertyValue(
- rtl::OUString::createFromAscii(DP_PROP_ORIGINAL) );
+ OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIGINAL)));
}
catch(uno::Exception&)
{
@@ -1777,85 +1758,88 @@ SCSIZE lcl_FillOldFields( PivotField* pFields,
nDupSource = lcl_FindName( xNameOrig->getName(), xDimsName );
}
- BOOL bDupUsed = FALSE;
+ bool bDupUsed = false;
if ( nDupSource >= 0 )
{
+ // this dimension is cloned.
+
// add function bit to previous entry
- SCsCOL nCompCol;
+ SCsCOL nCompCol; // column ID of the original dimension.
if ( bDataLayout )
nCompCol = PIVOT_DATA_FIELD;
else
nCompCol = static_cast<SCsCOL>(nDupSource)+nColAdd; //! seek source column from name
- for (SCSIZE nOld=0; nOld<nOutCount && !bDupUsed; nOld++)
- if ( pFields[nOld].nCol == nCompCol )
+ vector<PivotField>::iterator itr = aFields.begin(), itrEnd = aFields.end();
+ for (; itr != itrEnd; ++itr)
+ {
+ // add to previous column only if new bits aren't already set there
+ if (itr->nCol == nCompCol && (itr->nFuncMask & nMask) == 0)
{
- // add to previous column only if new bits aren't already set there
- if ( ( pFields[nOld].nFuncMask & nMask ) == 0 )
- {
- pFields[nOld].nFuncMask |= nMask;
- pFields[nOld].nFuncCount = lcl_CountBits( pFields[nOld].nFuncMask );
- bDupUsed = TRUE;
- }
+ itr->nFuncMask |= nMask;
+ itr->nFuncCount = lcl_CountBits(itr->nFuncMask);
+ bDupUsed = true;
+ break;
}
+ }
}
if ( !bDupUsed ) // also for duplicated dim if original has different orientation
{
- if ( bDataLayout )
+ aFields.push_back(PivotField());
+ PivotField& rField = aFields.back();
+ if (bDataLayout)
{
- pFields[nOutCount].nCol = PIVOT_DATA_FIELD;
- bDataFound = TRUE;
+ rField.nCol = PIVOT_DATA_FIELD;
+ bDataFound = true;
}
- else if ( nDupSource >= 0 ) // if source was not found (different orientation)
- pFields[nOutCount].nCol = static_cast<SCsCOL>(nDupSource)+nColAdd; //! seek from name
+ else if (nDupSource >= 0)
+ rField.nCol = static_cast<SCsCOL>(nDupSource)+nColAdd; //! seek from name
else
- pFields[nOutCount].nCol = static_cast<SCsCOL>(nDim)+nColAdd; //! seek source column from name
+ rField.nCol = static_cast<SCsCOL>(nDim)+nColAdd; //! seek source column from name
- pFields[nOutCount].nFuncMask = nMask;
- pFields[nOutCount].nFuncCount = lcl_CountBits( nMask );
- aPos[nOutCount] = ScUnoHelpFunctions::GetLongProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_POSITION) );
+ rField.nFuncMask = nMask;
+ rField.nFuncCount = lcl_CountBits(nMask);
+ long nPos = ScUnoHelpFunctions::GetLongProperty(
+ xDimProp, OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_POSITION)));
+ aPos.push_back(nPos);
try
{
- if( nOrient == sheet::DataPilotFieldOrientation_DATA )
- xDimProp->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( SC_UNO_REFVALUE ) ) )
- >>= pFields[nOutCount].maFieldRef;
+ if (nOrient == sheet::DataPilotFieldOrientation_DATA)
+ xDimProp->getPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_REFVALUE)))
+ >>= rField.maFieldRef;
}
- catch( uno::Exception& )
+ catch (uno::Exception&)
{
}
-
- ++nOutCount;
}
}
}
// sort by getPosition() value
- for (SCSIZE i=0; i+1<nOutCount; i++)
+ size_t nOutCount = aFields.size();
+ if (nOutCount >= 1)
{
- for (SCSIZE j=0; j+i+1<nOutCount; j++)
- if ( aPos[j+1] < aPos[j] )
+ for (size_t i = 0; i < nOutCount - 1; ++i)
+ {
+ for (size_t j = 0; j + i < nOutCount - 1; ++j)
{
- std::swap( aPos[j], aPos[j+1] );
- std::swap( pFields[j], pFields[j+1] );
+ if ( aPos[j+1] < aPos[j] )
+ {
+ std::swap( aPos[j], aPos[j+1] );
+ std::swap( aFields[j], aFields[j+1] );
+ }
}
+ }
}
- if ( bAddData && !bDataFound )
- {
- if ( nOutCount >= nCount ) // space for data field?
- --nOutCount; //! error?
- pFields[nOutCount].nCol = PIVOT_DATA_FIELD;
- pFields[nOutCount].nFuncMask = 0;
- pFields[nOutCount].nFuncCount = 0;
- ++nOutCount;
- }
+ if (bAddData && !bDataFound)
+ aFields.push_back(PivotField(PIVOT_DATA_FIELD, 0));
- return nOutCount;
+ rFields.swap(aFields);
}
BOOL ScDPObject::FillOldParam(ScPivotParam& rParam, BOOL bForFile) const
@@ -1876,15 +1860,15 @@ BOOL ScDPObject::FillOldParam(ScPivotParam& rParam, BOOL bForFile) const
nColAdd = pSheetDesc->aSourceRange.aStart.Col();
}
- BOOL bAddData = ( lcl_GetDataGetOrientation( xSource ) == sheet::DataPilotFieldOrientation_HIDDEN );
- rParam.nPageCount = lcl_FillOldFields( rParam.aPageArr,
- xSource, sheet::DataPilotFieldOrientation_PAGE, nColAdd, FALSE );
- rParam.nColCount = lcl_FillOldFields( rParam.aColArr,
- xSource, sheet::DataPilotFieldOrientation_COLUMN, nColAdd, bAddData );
- rParam.nRowCount = lcl_FillOldFields( rParam.aRowArr,
- xSource, sheet::DataPilotFieldOrientation_ROW, nColAdd, FALSE );
- rParam.nDataCount = lcl_FillOldFields( rParam.aDataArr,
- xSource, sheet::DataPilotFieldOrientation_DATA, nColAdd, FALSE );
+ bool bAddData = ( lcl_GetDataGetOrientation( xSource ) == sheet::DataPilotFieldOrientation_HIDDEN );
+ lcl_FillOldFields(
+ rParam.maPageFields, xSource, sheet::DataPilotFieldOrientation_PAGE, nColAdd, false);
+ lcl_FillOldFields(
+ rParam.maColFields, xSource, sheet::DataPilotFieldOrientation_COLUMN, nColAdd, bAddData);
+ lcl_FillOldFields(
+ rParam.maRowFields, xSource, sheet::DataPilotFieldOrientation_ROW, nColAdd, false);
+ lcl_FillOldFields(
+ rParam.maDataFields, xSource, sheet::DataPilotFieldOrientation_DATA, nColAdd, false);
uno::Reference<beans::XPropertySet> xProp( xSource, uno::UNO_QUERY );
if (xProp.is())
@@ -1892,15 +1876,15 @@ BOOL ScDPObject::FillOldParam(ScPivotParam& rParam, BOOL bForFile) const
try
{
rParam.bMakeTotalCol = ScUnoHelpFunctions::GetBoolProperty( xProp,
- rtl::OUString::createFromAscii(DP_PROP_COLUMNGRAND), TRUE );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_COLUMNGRAND)), TRUE );
rParam.bMakeTotalRow = ScUnoHelpFunctions::GetBoolProperty( xProp,
- rtl::OUString::createFromAscii(DP_PROP_ROWGRAND), TRUE );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ROWGRAND)), TRUE );
// following properties may be missing for external sources
rParam.bIgnoreEmptyRows = ScUnoHelpFunctions::GetBoolProperty( xProp,
- rtl::OUString::createFromAscii(DP_PROP_IGNOREEMPTY) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_IGNOREEMPTY)) );
rParam.bDetectCategories = ScUnoHelpFunctions::GetBoolProperty( xProp,
- rtl::OUString::createFromAscii(DP_PROP_REPEATIFEMPTY) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_REPEATIFEMPTY)) );
}
catch(uno::Exception&)
{
@@ -1917,7 +1901,7 @@ void lcl_FillLabelData( ScDPLabelData& rData, const uno::Reference< beans::XProp
{
uno::Reference<container::XIndexAccess> xHiers = new ScNameToIndexAccess( xDimSupp->getHierarchies() );
long nHierarchy = ScUnoHelpFunctions::GetLongProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_USEDHIERARCHY) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_USEDHIERARCHY)) );
if ( nHierarchy >= xHiers->getCount() )
nHierarchy = 0;
rData.mnUsedHier = nHierarchy;
@@ -1935,7 +1919,7 @@ void lcl_FillLabelData( ScDPLabelData& rData, const uno::Reference< beans::XProp
if ( xLevProp.is() )
{
rData.mbShowAll = ScUnoHelpFunctions::GetBoolProperty( xLevProp,
- rtl::OUString::createFromAscii(DP_PROP_SHOWEMPTY) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_SHOWEMPTY)) );
try
{
@@ -1980,7 +1964,7 @@ BOOL ScDPObject::FillLabelData(ScPivotParam& rParam)
{
BOOL bDuplicated = FALSE;
BOOL bData = ScUnoHelpFunctions::GetBoolProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_ISDATALAYOUT) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ISDATALAYOUT)) );
//! error checking -- is "IsDataLayoutDimension" property required??
try
@@ -1988,7 +1972,7 @@ BOOL ScDPObject::FillLabelData(ScPivotParam& rParam)
aFieldName = String( xDimName->getName() );
uno::Any aOrigAny = xDimProp->getPropertyValue(
- rtl::OUString::createFromAscii(DP_PROP_ORIGINAL) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIGINAL)) );
uno::Reference<uno::XInterface> xIntOrig;
if ( (aOrigAny >>= xIntOrig) && xIntOrig.is() )
bDuplicated = TRUE;
@@ -1998,7 +1982,7 @@ BOOL ScDPObject::FillLabelData(ScPivotParam& rParam)
}
OUString aLayoutName = ScUnoHelpFunctions::GetStringProperty(
- xDimProp, OUString::createFromAscii(SC_UNO_LAYOUTNAME), OUString());
+ xDimProp, OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_LAYOUTNAME)), OUString());
if ( aFieldName.Len() && !bData && !bDuplicated )
{
@@ -2011,7 +1995,7 @@ BOOL ScDPObject::FillLabelData(ScPivotParam& rParam)
GetMembers(nDim, GetUsedHierarchy(nDim), pNewLabel->maMembers);
lcl_FillLabelData(*pNewLabel, xDimProp);
pNewLabel->mnFlags = ScUnoHelpFunctions::GetLongProperty( xDimProp,
- rtl::OUString::createFromAscii(SC_UNO_FLAGS), 0 );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_FLAGS)), 0 );
rParam.maLabelArray.push_back(pNewLabel);
}
}
@@ -2103,6 +2087,8 @@ BOOL ScDPObject::GetMembersNA( sal_Int32 nDim, sal_Int32 nHier, uno::Reference<
//------------------------------------------------------------------------
// convert old pivot tables into new datapilot tables
+namespace {
+
String lcl_GetDimName( const uno::Reference<sheet::XDimensionsSupplier>& xSource, long nDim )
{
rtl::OUString aName;
@@ -2131,116 +2117,128 @@ String lcl_GetDimName( const uno::Reference<sheet::XDimensionsSupplier>& xSource
return aName;
}
-// static
-void ScDPObject::ConvertOrientation( ScDPSaveData& rSaveData,
- PivotField* pFields, SCSIZE nCount, USHORT nOrient,
- ScDocument* pDoc, SCROW nRow, SCTAB nTab,
- const uno::Reference<sheet::XDimensionsSupplier>& xSource,
- BOOL bOldDefaults,
- PivotField* pRefColFields, SCSIZE nRefColCount,
- PivotField* pRefRowFields, SCSIZE nRefRowCount,
- PivotField* pRefPageFields, SCSIZE nRefPageCount )
+bool hasFieldColumn(const vector<PivotField>* pRefFields, SCCOL nCol)
{
- // pDoc or xSource must be set
- DBG_ASSERT( pDoc || xSource.is(), "missing string source" );
+ if (!pRefFields)
+ return false;
+
+ vector<PivotField>::const_iterator itr = pRefFields->begin(), itrEnd = pRefFields->end();
+ for (; itr != itrEnd; ++itr)
+ {
+ if (itr->nCol == nCol)
+ // This array of fields contains the specified column.
+ return true;
+ }
+ return false;
+}
- String aDocStr;
- ScDPSaveDimension* pDim;
+}
- for (SCSIZE i=0; i<nCount; i++)
+void ScDPObject::ConvertOrientation(
+ ScDPSaveData& rSaveData, const vector<PivotField>& rFields, USHORT nOrient,
+ const Reference<XDimensionsSupplier>& xSource,
+ vector<PivotField>* pRefColFields, vector<PivotField>* pRefRowFields, vector<PivotField>* pRefPageFields )
+{
+ // xSource must be set
+ DBG_ASSERT( xSource.is(), "missing string source" );
+
+ vector<PivotField>::const_iterator itr, itrBeg = rFields.begin(), itrEnd = rFields.end();
+ for (itr = itrBeg; itr != itrEnd; ++itr)
{
- SCCOL nCol = pFields[i].nCol;
- USHORT nFuncs = pFields[i].nFuncMask;
- const sheet::DataPilotFieldReference& rFieldRef = pFields[i].maFieldRef;
+ const PivotField& rField = *itr;
+
+ SCCOL nCol = rField.nCol;
+ USHORT nFuncs = rField.nFuncMask;
+ const sheet::DataPilotFieldReference& rFieldRef = rField.maFieldRef;
+ ScDPSaveDimension* pDim = NULL;
if ( nCol == PIVOT_DATA_FIELD )
pDim = rSaveData.GetDataLayoutDimension();
else
{
- if ( pDoc )
- pDoc->GetString( nCol, nRow, nTab, aDocStr );
- else
- aDocStr = lcl_GetDimName( xSource, nCol ); // cols must start at 0
-
+ String aDocStr = lcl_GetDimName( xSource, nCol ); // cols must start at 0
if ( aDocStr.Len() )
pDim = rSaveData.GetDimensionByName(aDocStr);
else
pDim = NULL;
}
- if ( pDim )
+ if (!pDim)
+ continue;
+
+ if ( nOrient == sheet::DataPilotFieldOrientation_DATA ) // set summary function
{
- if ( nOrient == sheet::DataPilotFieldOrientation_DATA ) // set summary function
- {
- // generate an individual entry for each function
- BOOL bFirst = TRUE;
-
- // if a dimension is used for column/row/page and data,
- // use duplicated dimensions for all data occurrences
- if (pRefColFields)
- for (SCSIZE nRefCol=0; nRefCol<nRefColCount; nRefCol++)
- if (pRefColFields[nRefCol].nCol == nCol)
- bFirst = FALSE;
- if (pRefRowFields)
- for (SCSIZE nRefRow=0; nRefRow<nRefRowCount; nRefRow++)
- if (pRefRowFields[nRefRow].nCol == nCol)
- bFirst = FALSE;
- if (pRefPageFields)
- for (USHORT nRefPage=0; nRefPage<nRefPageCount; ++nRefPage)
- if (pRefPageFields[nRefPage].nCol == nCol)
- bFirst = FALSE;
+ // generate an individual entry for each function
+ bool bFirst = true;
+
+ // if a dimension is used for column/row/page and data,
+ // use duplicated dimensions for all data occurrences
+ if (hasFieldColumn(pRefColFields, nCol))
+ bFirst = false;
+
+ if (bFirst && hasFieldColumn(pRefRowFields, nCol))
+ bFirst = false;
+
+ if (bFirst && hasFieldColumn(pRefPageFields, nCol))
+ bFirst = false;
+ if (bFirst)
+ {
// if set via api, a data column may occur several times
// (if the function hasn't been changed yet) -> also look for duplicate data column
- for (SCSIZE nPrevData=0; nPrevData<i; nPrevData++)
- if (pFields[nPrevData].nCol == nCol)
- bFirst = FALSE;
-
- USHORT nMask = 1;
- for (USHORT nBit=0; nBit<16; nBit++)
+ for (vector<PivotField>::const_iterator itr2 = itrBeg; itr2 != itr; ++itr2)
{
- if ( nFuncs & nMask )
+ if (itr2->nCol == nCol)
{
- sheet::GeneralFunction eFunc = ScDataPilotConversion::FirstFunc( nMask );
- ScDPSaveDimension* pCurrDim = bFirst ? pDim : rSaveData.DuplicateDimension(pDim->GetName());
- pCurrDim->SetOrientation( nOrient );
- pCurrDim->SetFunction( sal::static_int_cast<USHORT>(eFunc) );
-
- if( rFieldRef.ReferenceType == sheet::DataPilotFieldReferenceType::NONE )
- pCurrDim->SetReferenceValue( 0 );
- else
- pCurrDim->SetReferenceValue( &rFieldRef );
-
- bFirst = FALSE;
+ bFirst = false;
+ break;
}
- nMask *= 2;
}
}
- else // set SubTotals
- {
- pDim->SetOrientation( nOrient );
- USHORT nFuncArray[16];
- USHORT nFuncCount = 0;
- USHORT nMask = 1;
- for (USHORT nBit=0; nBit<16; nBit++)
+ USHORT nMask = 1;
+ for (USHORT nBit=0; nBit<16; nBit++)
+ {
+ if ( nFuncs & nMask )
{
- if ( nFuncs & nMask )
- nFuncArray[nFuncCount++] = sal::static_int_cast<USHORT>(ScDataPilotConversion::FirstFunc( nMask ));
- nMask *= 2;
+ sheet::GeneralFunction eFunc = ScDataPilotConversion::FirstFunc( nMask );
+ ScDPSaveDimension* pCurrDim = bFirst ? pDim : rSaveData.DuplicateDimension(pDim->GetName());
+ pCurrDim->SetOrientation( nOrient );
+ pCurrDim->SetFunction( sal::static_int_cast<USHORT>(eFunc) );
+
+ if( rFieldRef.ReferenceType == sheet::DataPilotFieldReferenceType::NONE )
+ pCurrDim->SetReferenceValue( 0 );
+ else
+ pCurrDim->SetReferenceValue( &rFieldRef );
+
+ bFirst = false;
}
- pDim->SetSubTotals( nFuncCount, nFuncArray );
+ nMask *= 2;
+ }
+ }
+ else // set SubTotals
+ {
+ pDim->SetOrientation( nOrient );
- // ShowEmpty was implicit in old tables,
- // must be set for data layout dimension (not accessible in dialog)
- if ( bOldDefaults || nCol == PIVOT_DATA_FIELD )
- pDim->SetShowEmpty( TRUE );
+ USHORT nFuncArray[16];
+ USHORT nFuncCount = 0;
+ USHORT nMask = 1;
+ for (USHORT nBit=0; nBit<16; nBit++)
+ {
+ if ( nFuncs & nMask )
+ nFuncArray[nFuncCount++] = sal::static_int_cast<USHORT>(ScDataPilotConversion::FirstFunc( nMask ));
+ nMask *= 2;
}
+ pDim->SetSubTotals( nFuncCount, nFuncArray );
+
+ // ShowEmpty was implicit in old tables,
+ // must be set for data layout dimension (not accessible in dialog)
+ if ( nCol == PIVOT_DATA_FIELD )
+ pDim->SetShowEmpty( TRUE );
}
}
}
-// static
bool ScDPObject::IsOrientationAllowed( USHORT nOrient, sal_Int32 nDimFlags )
{
bool bAllowed = true;
@@ -2268,7 +2266,6 @@ bool ScDPObject::IsOrientationAllowed( USHORT nOrient, sal_Int32 nDimFlags )
// -----------------------------------------------------------------------
-// static
BOOL ScDPObject::HasRegisteredSources()
{
BOOL bFound = FALSE;
@@ -2278,7 +2275,7 @@ BOOL ScDPObject::HasRegisteredSources()
if ( xEnAc.is() )
{
uno::Reference<container::XEnumeration> xEnum = xEnAc->createContentEnumeration(
- rtl::OUString::createFromAscii( SCDPSOURCE_SERVICE ) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCDPSOURCE_SERVICE )) );
if ( xEnum.is() && xEnum->hasMoreElements() )
bFound = TRUE;
}
@@ -2286,10 +2283,8 @@ BOOL ScDPObject::HasRegisteredSources()
return bFound;
}
-// static
uno::Sequence<rtl::OUString> ScDPObject::GetRegisteredSources()
{
- long nCount = 0;
uno::Sequence<rtl::OUString> aSeq(0);
// use implementation names...
@@ -2299,9 +2294,10 @@ uno::Sequence<rtl::OUString> ScDPObject::GetRegisteredSources()
if ( xEnAc.is() )
{
uno::Reference<container::XEnumeration> xEnum = xEnAc->createContentEnumeration(
- rtl::OUString::createFromAscii( SCDPSOURCE_SERVICE ) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCDPSOURCE_SERVICE )) );
if ( xEnum.is() )
{
+ long nCount = 0;
while ( xEnum->hasMoreElements() )
{
uno::Any aAddInAny = xEnum->nextElement();
@@ -2332,7 +2328,6 @@ uno::Sequence<rtl::OUString> ScDPObject::GetRegisteredSources()
// use getContext from addincol.cxx
uno::Reference<uno::XComponentContext> getContext(uno::Reference<lang::XMultiServiceFactory> xMSF);
-// static
uno::Reference<sheet::XDimensionsSupplier> ScDPObject::CreateSource( const ScDPServiceDesc& rDesc )
{
rtl::OUString aImplName = rDesc.aServiceName;
@@ -2343,7 +2338,7 @@ uno::Reference<sheet::XDimensionsSupplier> ScDPObject::CreateSource( const ScDPS
if ( xEnAc.is() )
{
uno::Reference<container::XEnumeration> xEnum = xEnAc->createContentEnumeration(
- rtl::OUString::createFromAscii( SCDPSOURCE_SERVICE ) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCDPSOURCE_SERVICE )) );
if ( xEnum.is() )
{
while ( xEnum->hasMoreElements() && !xRet.is() )
@@ -2411,103 +2406,130 @@ ScDPCollection::ScDPCollection(ScDocument* pDocument) :
}
ScDPCollection::ScDPCollection(const ScDPCollection& r) :
- ScCollection(r),
- pDoc(r.pDoc)
+ pDoc(r.pDoc),
+ maDPDataCaches(r.maDPDataCaches)
{
}
ScDPCollection::~ScDPCollection()
{
-}
-
-ScDataObject* ScDPCollection::Clone() const
-{
- return new ScDPCollection(*this);
+ maTables.clear();
}
void ScDPCollection::DeleteOnTab( SCTAB nTab )
{
- USHORT nPos = 0;
- while ( nPos < nCount )
+#ifdef STLPORT_WORKAROUND
+ // We do this only because STLPort crashes when erasing an element when
+ // the container only contains one element.
+ if (maTables.size() == 1)
{
- // look for output positions on the deleted sheet
- if ( static_cast<const ScDPObject*>(At(nPos))->GetOutRange().aStart.Tab() == nTab )
- AtFree(nPos);
+ if (maTables.back().GetOutRange().aStart.Tab() == nTab)
+ maTables.clear();
+ return;
+ }
+#endif
+
+ TablesType::iterator itr = maTables.begin(), itrEnd = maTables.end();
+ while (itr != itrEnd)
+ {
+ const ScDPObject& rObj = *itr;
+ if (rObj.GetOutRange().aStart.Tab() == nTab)
+ // returns the next position after the erased element.
+ itr = maTables.erase(itr);
else
- ++nPos;
+ ++itr;
}
}
void ScDPCollection::UpdateReference( UpdateRefMode eUpdateRefMode,
const ScRange& r, SCsCOL nDx, SCsROW nDy, SCsTAB nDz )
{
- for (USHORT i=0; i<nCount; i++)
- ((ScDPObject*)At(i))->UpdateReference( eUpdateRefMode, r, nDx, nDy, nDz );
+ TablesType::iterator itr = maTables.begin(), itrEnd = maTables.end();
+ for (; itr != itrEnd; ++itr)
+ itr->UpdateReference(eUpdateRefMode, r, nDx, nDy, nDz);
}
-BOOL ScDPCollection::RefsEqual( const ScDPCollection& r ) const
+bool ScDPCollection::RefsEqual( const ScDPCollection& r ) const
{
- if ( nCount != r.nCount )
- return FALSE;
+ if (maTables.size() != r.maTables.size())
+ return false;
- for (USHORT i=0; i<nCount; i++)
- if ( ! ((const ScDPObject*)At(i))->RefsEqual( *((const ScDPObject*)r.At(i)) ) )
- return FALSE;
+ TablesType::const_iterator itr = maTables.begin(), itr2 = r.maTables.begin(), itrEnd = maTables.end();
+ for (; itr != itrEnd; ++itr, ++itr2)
+ if (!itr->RefsEqual(*itr2))
+ return false;
- return TRUE; // all equal
+ return true;
}
void ScDPCollection::WriteRefsTo( ScDPCollection& r ) const
{
- if ( nCount == r.nCount )
+ if ( maTables.size() == r.maTables.size() )
{
//! assert equal names?
- for (USHORT i=0; i<nCount; i++)
- ((const ScDPObject*)At(i))->WriteRefsTo( *((ScDPObject*)r.At(i)) );
+ TablesType::const_iterator itr = maTables.begin(), itrEnd = maTables.end();
+ TablesType::iterator itr2 = r.maTables.begin();
+ for (; itr != itrEnd; ++itr, ++itr2)
+ itr->WriteRefsTo(*itr2);
}
else
{
// #i8180# If data pilot tables were deleted with their sheet,
// this collection contains extra entries that must be restored.
// Matching objects are found by their names.
-
- DBG_ASSERT( nCount >= r.nCount, "WriteRefsTo: missing entries in document" );
- for (USHORT nSourcePos=0; nSourcePos<nCount; nSourcePos++)
+ size_t nSrcSize = maTables.size();
+ size_t nDestSize = r.maTables.size();
+ DBG_ASSERT( nSrcSize >= nDestSize, "WriteRefsTo: missing entries in document" );
+ for (size_t nSrcPos = 0; nSrcPos < nSrcSize; ++nSrcPos)
{
- const ScDPObject* pSourceObj = static_cast<const ScDPObject*>(At(nSourcePos));
- String aName = pSourceObj->GetName();
+ const ScDPObject& rSrcObj = maTables[nSrcPos];
+ String aName = rSrcObj.GetName();
bool bFound = false;
- for (USHORT nDestPos=0; nDestPos<r.nCount && !bFound; nDestPos++)
+ for (size_t nDestPos = 0; nDestPos < nDestSize && !bFound; ++nDestPos)
{
- ScDPObject* pDestObj = static_cast<ScDPObject*>(r.At(nDestPos));
- if ( pDestObj->GetName() == aName )
+ ScDPObject& rDestObj = r.maTables[nDestPos];
+ if (rDestObj.GetName() == aName)
{
- pSourceObj->WriteRefsTo( *pDestObj ); // found object, copy refs
+ rSrcObj.WriteRefsTo(rDestObj); // found object, copy refs
bFound = true;
}
}
- if ( !bFound )
+
+ if (!bFound)
{
// none found, re-insert deleted object (see ScUndoDataPilot::Undo)
- ScDPObject* pDestObj = new ScDPObject( *pSourceObj );
- pDestObj->SetAlive(TRUE);
- if ( !r.InsertNewTable(pDestObj) )
- {
- DBG_ERROR("cannot insert DPObject");
- DELETEZ( pDestObj );
- }
+ ScDPObject* pDestObj = new ScDPObject(rSrcObj);
+ pDestObj->SetAlive(true);
+ r.InsertNewTable(pDestObj);
}
}
- DBG_ASSERT( nCount == r.nCount, "WriteRefsTo: couldn't restore all entries" );
+ DBG_ASSERT( maTables.size() == r.maTables.size(), "WriteRefsTo: couldn't restore all entries" );
}
}
-ScDPObject* ScDPCollection::GetByName(const String& rName) const
+size_t ScDPCollection::GetCount() const
+{
+ return maTables.size();
+}
+
+ScDPObject* ScDPCollection::operator [](size_t nIndex)
+{
+ return &maTables[nIndex];
+}
+
+const ScDPObject* ScDPCollection::operator [](size_t nIndex) const
+{
+ return &maTables[nIndex];
+}
+
+const ScDPObject* ScDPCollection::GetByName(const String& rName) const
{
- for (USHORT i=0; i<nCount; i++)
- if (static_cast<const ScDPObject*>(pItems[i])->GetName() == rName)
- return static_cast<ScDPObject*>(pItems[i]);
+ TablesType::const_iterator itr = maTables.begin(), itrEnd = maTables.end();
+ for (; itr != itrEnd; ++itr)
+ if (itr->GetName() == rName)
+ return &(*itr);
+
return NULL;
}
@@ -2516,24 +2538,27 @@ String ScDPCollection::CreateNewName( USHORT nMin ) const
String aBase = String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("DataPilot"));
//! from Resource?
- for (USHORT nAdd=0; nAdd<=nCount; nAdd++) // nCount+1 tries
+ size_t n = maTables.size();
+ for (size_t nAdd = 0; nAdd <= n; ++nAdd) // nCount+1 tries
{
String aNewName = aBase;
aNewName += String::CreateFromInt32( nMin + nAdd );
- BOOL bFound = FALSE;
- for (USHORT i=0; i<nCount && !bFound; i++)
- if (((const ScDPObject*)pItems[i])->GetName() == aNewName)
- bFound = TRUE;
+ bool bFound = false;
+ TablesType::const_iterator itr = maTables.begin(), itrEnd = maTables.end();
+ for (; itr != itrEnd; ++itr)
+ {
+ if (itr->GetName() == aNewName)
+ {
+ bFound = true;
+ break;
+ }
+ }
if (!bFound)
return aNewName; // found unused Name
}
return String(); // should not happen
}
-
-
-// Wang Xu Ming -- 2009-8-17
-// DataPilot Migration - Cache&&Performance
long ScDPObject::GetCacheId() const
{
if ( GetSaveData() )
@@ -2555,10 +2580,11 @@ ULONG ScDPObject::RefreshCache()
nErrId = pSheetDesc->CheckValidate( pDoc );
if ( nErrId == 0 )
{
+ ScDPCollection* pDPCollection = pDoc->GetDPCollection();
long nOldId = GetCacheId();
- long nNewId = pDoc->GetNewDPObjectCacheId();
+ long nNewId = pDPCollection->GetNewDPObjectCacheId();
if ( nOldId >= 0 )
- pDoc->RemoveDPObjectCache( nOldId );
+ pDPCollection->RemoveDPObjectCache( nOldId );
ScDPTableDataCache* pCache = NULL;
if ( pSheetDesc )
@@ -2576,9 +2602,8 @@ ULONG ScDPObject::RefreshCache()
nNewId = pCache->GetId();
bRefresh = TRUE;
- ScDPCollection* pDPCollection = pDoc->GetDPCollection();
- USHORT nCount = pDPCollection->GetCount();
- for (USHORT i=0; i<nCount; i++)
+ size_t nCount = pDPCollection->GetCount();
+ for (size_t i=0; i<nCount; ++i)
{ //set new cache id
if ( (*pDPCollection)[i]->GetCacheId() == nOldId )
{
@@ -2591,6 +2616,7 @@ ULONG ScDPObject::RefreshCache()
}
return nErrId;
}
+
void ScDPObject::SetCacheId( long nCacheId )
{
if ( GetCacheId() != nCacheId )
@@ -2602,11 +2628,6 @@ void ScDPObject::SetCacheId( long nCacheId )
mnCacheId = nCacheId;
}
}
-const ScDPTableDataCache* ScDPObject::GetCache() const
-{
- return pDoc->GetDPObjectCache( GetCacheId() );
-}
-// End Comments
void ScDPCollection::FreeTable(ScDPObject* pDPObj)
{
@@ -2614,20 +2635,37 @@ void ScDPCollection::FreeTable(ScDPObject* pDPObj)
const ScAddress& s = rOutRange.aStart;
const ScAddress& e = rOutRange.aEnd;
pDoc->RemoveFlagsTab(s.Col(), s.Row(), e.Col(), e.Row(), s.Tab(), SC_MF_DP_TABLE);
- Free(pDPObj);
+#ifdef STLPORT_WORKAROUND
+ // We do this only because STLPort crashes when erasing an element when
+ // the container only contains one element.
+ if (maTables.size() == 1)
+ {
+ if (&maTables.back() == pDPObj)
+ maTables.clear();
+ return;
+ }
+#endif
+ TablesType::iterator itr = maTables.begin(), itrEnd = maTables.end();
+ for (; itr != itrEnd; ++itr)
+ {
+ ScDPObject* p = &(*itr);
+ if (p == pDPObj)
+ {
+ maTables.erase(itr);
+ break;
+ }
+ }
}
bool ScDPCollection::InsertNewTable(ScDPObject* pDPObj)
{
- bool bSuccess = Insert(pDPObj);
- if (bSuccess)
- {
- const ScRange& rOutRange = pDPObj->GetOutRange();
- const ScAddress& s = rOutRange.aStart;
- const ScAddress& e = rOutRange.aEnd;
- pDoc->ApplyFlagsTab(s.Col(), s.Row(), e.Col(), e.Row(), s.Tab(), SC_MF_DP_TABLE);
- }
- return bSuccess;
+ const ScRange& rOutRange = pDPObj->GetOutRange();
+ const ScAddress& s = rOutRange.aStart;
+ const ScAddress& e = rOutRange.aEnd;
+ pDoc->ApplyFlagsTab(s.Col(), s.Row(), e.Col(), e.Row(), s.Tab(), SC_MF_DP_TABLE);
+
+ maTables.push_back(pDPObj);
+ return true;
}
bool ScDPCollection::HasDPTable(SCCOL nCol, SCROW nRow, SCTAB nTab) const
@@ -2641,5 +2679,81 @@ bool ScDPCollection::HasDPTable(SCCOL nCol, SCROW nRow, SCTAB nTab) const
return pMergeAttr->HasDPTable();
}
+ScDPTableDataCache* ScDPCollection::GetDPObjectCache( long nID )
+{
+ DataCachesType::iterator itr = maDPDataCaches.begin(), itrEnd = maDPDataCaches.end();
+ for (; itr != itrEnd; ++itr)
+ {
+ if ( nID == itr->GetId() )
+ return &(*itr);
+ }
+ return NULL;
+}
+
+ScDPTableDataCache* ScDPCollection::GetUsedDPObjectCache ( const ScRange& rRange )
+{
+ ScDPTableDataCache* pCache = NULL;
+ for (size_t i=maTables.size(); i > 0 ; --i)
+ {
+ if ( const ScSheetSourceDesc* pUsedSheetDesc = maTables[i-1].GetSheetDesc() )
+ if ( rRange == pUsedSheetDesc->aSourceRange )
+ {
+ long nID = maTables[i-1].GetCacheId();
+ if ( nID >= 0 )
+ pCache= GetDPObjectCache( nID );
+ if ( pCache )
+ return pCache;
+ }
+ }
+ return pCache;
+}
+
+long ScDPCollection::AddDPObjectCache( ScDPTableDataCache* pData )
+{
+ if ( pData->GetId() < 0 )
+ { //create a id for it
+ pData->SetId( GetNewDPObjectCacheId() );
+ }
+ maDPDataCaches.push_back( pData );
+ return pData->GetId();
+}
+
+void ScDPCollection::RemoveDPObjectCache( long nID )
+{
+ DataCachesType::iterator itr = maDPDataCaches.begin(), itrEnd = maDPDataCaches.end();
+ for (; itr != itrEnd; ++itr)
+ {
+ if ( nID == itr->GetId() )
+ {
+ maDPDataCaches.erase(itr);
+ break;
+ }
+ }
+}
+
+long ScDPCollection::GetNewDPObjectCacheId()
+{
+ long nID = 0;
+
+ bool bFound = false;
+ DataCachesType::const_iterator itr, itrEnd = maDPDataCaches.end();
+ do
+ {
+ for ( itr = maDPDataCaches.begin(); itr != itrEnd; ++itr )
+ {
+ if ( nID == itr->GetId() )
+ {
+ nID++;
+ bFound = true;
+ break;
+ }
+ }
+ if ( itr == itrEnd )
+ bFound = false;
+ }
+ while ( bFound );
+
+ return nID;
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/dpoutput.cxx b/sc/source/core/data/dpoutput.cxx
index 43b2e91ff18f..cb9a918098f7 100644
--- a/sc/source/core/data/dpoutput.cxx
+++ b/sc/source/core/data/dpoutput.cxx
@@ -29,8 +29,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-
-
// INCLUDE ---------------------------------------------------------------
#include "scitems.hxx"
@@ -58,11 +56,8 @@
#include "scresid.hxx"
#include "unonames.hxx"
#include "sc.hrc"
-// Wang Xu Ming -- 2009-8-17
-// DataPilot Migration - Cache&&Performance
#include "scdpoutputimpl.hxx"
#include "dpglobal.hxx"
-// End Comments
#include <com/sun/star/beans/XPropertySet.hpp>
#include <vector>
@@ -99,7 +94,6 @@ using ::rtl::OUString;
//! dynamic!!!
#define SC_DPOUT_MAXLEVELS 256
-
struct ScDPOutLevelData
{
long nDim;
@@ -122,7 +116,6 @@ struct ScDPOutLevelData
( nDimPos==r.nDimPos && nHier==r.nHier && nLevel<r.nLevel ); }
void Swap(ScDPOutLevelData& r)
-//! { ScDPOutLevelData aTemp = r; r = *this; *this = aTemp; }
{ ScDPOutLevelData aTemp; aTemp = r; r = *this; *this = aTemp; }
//! bug (73840) in uno::Sequence - copy and then assign doesn't work!
@@ -215,14 +208,14 @@ void lcl_FillNumberFormats( UINT32*& rFormats, long& rCount,
{
sheet::DataPilotFieldOrientation eDimOrient =
(sheet::DataPilotFieldOrientation) ScUnoHelpFunctions::GetEnumProperty(
- xDimProp, rtl::OUString::createFromAscii(DP_PROP_ORIENTATION),
+ xDimProp, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIENTATION)),
sheet::DataPilotFieldOrientation_HIDDEN );
if ( eDimOrient == sheet::DataPilotFieldOrientation_DATA )
{
aDataNames[nDataCount] = String( xDimName->getName() );
long nFormat = ScUnoHelpFunctions::GetLongProperty(
xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_NUMBERFORMAT) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_NUMBERFORMAT)) );
nDataFormats[nDataCount] = nFormat;
if ( nFormat != 0 )
bAnySet = TRUE;
@@ -282,13 +275,13 @@ UINT32 lcl_GetFirstNumberFormat( const uno::Reference<container::XIndexAccess>&
{
sheet::DataPilotFieldOrientation eDimOrient =
(sheet::DataPilotFieldOrientation) ScUnoHelpFunctions::GetEnumProperty(
- xDimProp, rtl::OUString::createFromAscii(DP_PROP_ORIENTATION),
+ xDimProp, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIENTATION)),
sheet::DataPilotFieldOrientation_HIDDEN );
if ( eDimOrient == sheet::DataPilotFieldOrientation_DATA )
{
long nFormat = ScUnoHelpFunctions::GetLongProperty(
xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_NUMBERFORMAT) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_NUMBERFORMAT)) );
return nFormat; // use format from first found data dimension
}
@@ -330,7 +323,7 @@ uno::Sequence<sheet::MemberResult> lcl_GetSelectedPageAsResult( const uno::Refer
{
//! merge with ScDPDimension::setPropertyValue?
- uno::Any aValue = xDimProp->getPropertyValue( rtl::OUString::createFromAscii(DP_PROP_FILTER) );
+ uno::Any aValue = xDimProp->getPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_FILTER)) );
uno::Sequence<sheet::TableFilterField> aSeq;
if (aValue >>= aSeq)
@@ -402,15 +395,15 @@ ScDPOutput::ScDPOutput( ScDocument* pD, const uno::Reference<sheet::XDimensionsS
{
sheet::DataPilotFieldOrientation eDimOrient =
(sheet::DataPilotFieldOrientation) ScUnoHelpFunctions::GetEnumProperty(
- xDimProp, rtl::OUString::createFromAscii(DP_PROP_ORIENTATION),
+ xDimProp, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIENTATION)),
sheet::DataPilotFieldOrientation_HIDDEN );
long nDimPos = ScUnoHelpFunctions::GetLongProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_POSITION) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_POSITION)) );
BOOL bIsDataLayout = ScUnoHelpFunctions::GetBoolProperty(
xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_ISDATALAYOUT) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ISDATALAYOUT)) );
bool bHasHiddenMember = ScUnoHelpFunctions::GetBoolProperty(
- xDimProp, OUString::createFromAscii(SC_UNO_HAS_HIDDEN_MEMBER));
+ xDimProp, OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_HAS_HIDDEN_MEMBER)));
if ( eDimOrient != sheet::DataPilotFieldOrientation_HIDDEN )
{
@@ -418,7 +411,7 @@ ScDPOutput::ScDPOutput( ScDocument* pD, const uno::Reference<sheet::XDimensionsS
new ScNameToIndexAccess( xDimSupp->getHierarchies() );
long nHierarchy = ScUnoHelpFunctions::GetLongProperty(
xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_USEDHIERARCHY) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_USEDHIERARCHY)) );
if ( nHierarchy >= xHiers->getCount() )
nHierarchy = 0;
@@ -447,7 +440,7 @@ ScDPOutput::ScDPOutput( ScDocument* pD, const uno::Reference<sheet::XDimensionsS
// #i108948# use ScUnoHelpFunctions::GetStringProperty, because
// LayoutName is new and may not be present in external implementation
OUString aCaption = ScUnoHelpFunctions::GetStringProperty( xPropSet,
- OUString::createFromAscii(SC_UNO_LAYOUTNAME), aName );
+ OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_LAYOUTNAME)), aName );
bool bRowFieldHasMember = false;
switch ( eDimOrient )
@@ -546,7 +539,7 @@ ScDPOutput::ScDPOutput( ScDocument* pD, const uno::Reference<sheet::XDimensionsS
try
{
uno::Any aAny = xSrcProp->getPropertyValue(
- rtl::OUString::createFromAscii(SC_UNO_DATADESC) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_DATADESC)) );
rtl::OUString aUStr;
aAny >>= aUStr;
aDataDescription = String( aUStr );
@@ -611,11 +604,6 @@ void ScDPOutput::DataCell( SCCOL nCol, SCROW nRow, SCTAB nTab, const sheet::Data
if ( nFormat != 0 )
pDoc->ApplyAttr( nCol, nRow, nTab, SfxUInt32Item( ATTR_VALUE_FORMAT, nFormat ) );
}
- else
- {
- //pDoc->SetString( nCol, nRow, nTab, EMPTY_STRING );
- }
-
// SubTotal formatting is controlled by headers
}
@@ -634,28 +622,16 @@ void ScDPOutput::HeaderCell( SCCOL nCol, SCROW nRow, SCTAB nTab,
{
pDoc->SetString( nCol, nRow, nTab, aCaptionBuf.makeStringAndClear() );
}
- else
- {
- //pDoc->SetString( nCol, nRow, nTab, EMPTY_STRING );
- }
if ( nFlags & sheet::MemberResultFlags::SUBTOTAL )
{
-// SvxWeightItem aItem( WEIGHT_BOLD ); // weight is in the style
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
OutputImpl outputimp( pDoc, nTab,
nTabStartCol, nTabStartRow, nMemberStartCol, nMemberStartRow,
nDataStartCol, nDataStartRow, nTabEndCol, nTabEndRow );
- // End Comments
//! limit frames to horizontal or vertical?
if (bColHeader)
{
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
- //lcl_SetFrame( pDoc,nTab, nCol,nMemberStartRow+(SCROW)nLevel, nCol,nTabEndRow, SC_DP_FRAME_INNER_BOLD );
outputimp.OutputBlockFrame( nCol,nMemberStartRow+(SCROW)nLevel, nCol,nDataStartRow-1 );
- // End Comments
lcl_SetStyleById( pDoc,nTab, nCol,nMemberStartRow+(SCROW)nLevel, nCol,nDataStartRow-1,
STR_PIVOT_STYLE_TITLE );
@@ -664,11 +640,7 @@ void ScDPOutput::HeaderCell( SCCOL nCol, SCROW nRow, SCTAB nTab,
}
else
{
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
- //lcl_SetFrame( pDoc,nTab, nMemberStartCol+(USHORT)nLevel,nRow, nTabEndCol,nRow, SC_DP_FRAME_INNER_BOLD );
outputimp.OutputBlockFrame( nMemberStartCol+(SCCOL)nLevel,nRow, nDataStartCol-1,nRow );
- // End Comments
lcl_SetStyleById( pDoc,nTab, nMemberStartCol+(SCCOL)nLevel,nRow, nDataStartCol-1,nRow,
STR_PIVOT_STYLE_TITLE );
lcl_SetStyleById( pDoc,nTab, nDataStartCol,nRow, nTabEndCol,nRow,
@@ -873,12 +845,9 @@ void ScDPOutput::Output()
STR_PIVOT_STYLE_INNER );
// output column headers:
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
OutputImpl outputimp( pDoc, nTab,
nTabStartCol, nTabStartRow, nMemberStartCol, nMemberStartRow,
nDataStartCol, nDataStartRow, nTabEndCol, nTabEndRow );
- // End Comments
for (nField=0; nField<nColFieldCount; nField++)
{
SCCOL nHdrCol = nDataStartCol + (SCCOL)nField; //! check for overflow
@@ -893,8 +862,6 @@ void ScDPOutput::Output()
{
SCCOL nColPos = nDataStartCol + (SCCOL)nCol; //! check for overflow
HeaderCell( nColPos, nRowPos, nTab, pArray[nCol], TRUE, nField );
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
if ( ( pArray[nCol].Flags & sheet::MemberResultFlags::HASMEMBER ) &&
!( pArray[nCol].Flags & sheet::MemberResultFlags::SUBTOTAL ) )
{
@@ -904,8 +871,6 @@ void ScDPOutput::Output()
SCCOL nEndColPos = nDataStartCol + (SCCOL)nEnd; //! check for overflow
if ( nField+1 < nColFieldCount )
{
- // lcl_SetFrame( pDoc,nTab, nColPos,nRowPos, nEndColPos,nRowPos, SC_DP_FRAME_INNER_BOLD );
- // lcl_SetFrame( pDoc,nTab, nColPos,nRowPos, nEndColPos,nTabEndRow, SC_DP_FRAME_INNER_BOLD );
if ( nField == nColFieldCount - 2 )
{
outputimp.AddCol( nColPos );
@@ -925,7 +890,6 @@ void ScDPOutput::Output()
}
if ( nField== 0 && nColFieldCount == 1 )
outputimp.OutputBlockFrame( nDataStartCol,nTabStartRow, nTabEndCol,nRowPos-1 );
- // End Comments
}
// output row headers:
@@ -958,10 +922,6 @@ void ScDPOutput::Output()
while ( nEnd+1 < nThisRowCount && ( pArray[nEnd+1].Flags & sheet::MemberResultFlags::CONTINUE ) )
++nEnd;
SCROW nEndRowPos = nDataStartRow + (SCROW)nEnd; //! check for overflow
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
- // lcl_SetFrame( pDoc,nTab, nColPos,nRowPos, nColPos,nEndRowPos, SC_DP_FRAME_INNER_BOLD );
- //lcl_SetFrame( pDoc,nTab, nColPos,nRowPos, nTabEndCol,nEndRowPos, SC_DP_FRAME_INNER_BOLD );
outputimp.AddRow( nRowPos );
if ( vbSetBorder[ nRow ] == FALSE )
{
@@ -972,25 +932,18 @@ void ScDPOutput::Output()
if ( nField == nRowFieldCount - 2 )
outputimp.OutputBlockFrame( nColPos+1, nRowPos, nColPos+1, nEndRowPos );
- // End Comments
lcl_SetStyleById( pDoc, nTab, nColPos,nRowPos, nDataStartCol-1,nEndRowPos, STR_PIVOT_STYLE_CATEGORY );
}
else
lcl_SetStyleById( pDoc, nTab, nColPos,nRowPos, nDataStartCol-1,nRowPos, STR_PIVOT_STYLE_CATEGORY );
}
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
else if ( pArray[nRow].Flags & sheet::MemberResultFlags::SUBTOTAL )
outputimp.AddRow( nRowPos );
- // End Comments
}
}
-// Wang Xu Ming -- 2009-8-17
-// DataPilot Migration - Cache&&Performance
outputimp.OutputDataArea();
-// End Comments
}
ScRange ScDPOutput::GetOutputRange( sal_Int32 nRegionType )
@@ -999,12 +952,6 @@ ScRange ScDPOutput::GetOutputRange( sal_Int32 nRegionType )
CalcSizes();
-// fprintf(stdout, "ScDPOutput::GetOutputRange: aStartPos = (%ld, %d)\n", aStartPos.Row(), aStartPos.Col());fflush(stdout);
-// fprintf(stdout, "ScDPOutput::GetOutputRange: nTabStart (Row = %ld, Col = %ld)\n", nTabStartRow, nTabStartCol);fflush(stdout);
-// fprintf(stdout, "ScDPOutput::GetOutputRange: nMemberStart (Row = %ld, Col = %ld)\n", nMemberStartRow, nMemberStartCol);fflush(stdout);
-// fprintf(stdout, "ScDPOutput::GetOutputRange: nDataStart (Row = %ld, Col = %ld)\n", nDataStartRow, nDataStartCol);fflush(stdout);
-// fprintf(stdout, "ScDPOutput::GetOutputRange: nTabEnd (Row = %ld, Col = %ld)\n", nTabEndRow, nTabStartCol);fflush(stdout);
-
SCTAB nTab = aStartPos.Tab();
switch (nRegionType)
{
@@ -1019,7 +966,7 @@ ScRange ScDPOutput::GetOutputRange( sal_Int32 nRegionType )
return ScRange(aStartPos.Col(), aStartPos.Row(), nTab, nTabEndCol, nTabEndRow, nTab);
}
-BOOL ScDPOutput::HasError()
+bool ScDPOutput::HasError()
{
CalcSizes();
@@ -1101,12 +1048,12 @@ void lcl_GetTableVars( sal_Int32& rGrandTotalCols, sal_Int32& rGrandTotalRows, s
uno::Reference<beans::XPropertySet> xSrcProp( xSource, uno::UNO_QUERY );
BOOL bColGrand = ScUnoHelpFunctions::GetBoolProperty( xSrcProp,
- rtl::OUString::createFromAscii(DP_PROP_COLUMNGRAND) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_COLUMNGRAND)) );
if ( bColGrand )
rGrandTotalCols = 1; // default if data layout not in columns
BOOL bRowGrand = ScUnoHelpFunctions::GetBoolProperty( xSrcProp,
- rtl::OUString::createFromAscii(DP_PROP_ROWGRAND) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ROWGRAND)) );
if ( bRowGrand )
rGrandTotalRows = 1; // default if data layout not in rows
@@ -1127,10 +1074,10 @@ void lcl_GetTableVars( sal_Int32& rGrandTotalCols, sal_Int32& rGrandTotalRows, s
{
sheet::DataPilotFieldOrientation eDimOrient =
(sheet::DataPilotFieldOrientation) ScUnoHelpFunctions::GetEnumProperty(
- xDimProp, rtl::OUString::createFromAscii(DP_PROP_ORIENTATION),
+ xDimProp, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIENTATION)),
sheet::DataPilotFieldOrientation_HIDDEN );
if ( ScUnoHelpFunctions::GetBoolProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_ISDATALAYOUT) ) )
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ISDATALAYOUT)) ) )
{
rDataLayoutIndex = nDim;
rDataOrient = eDimOrient;
@@ -1188,7 +1135,7 @@ void ScDPOutput::GetPositionData(const ScAddress& rPos, DataPilotTablePositionDa
if (xPropSet.is())
{
sal_Int32 nDataFieldCount = ScUnoHelpFunctions::GetLongProperty( xPropSet,
- rtl::OUString::createFromAscii(SC_UNO_DATAFIELDCOUNT) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_DATAFIELDCOUNT)) );
if (nDataFieldCount > 0)
aResData.DataFieldIndex = (nRow - nDataStartRow) % nDataFieldCount;
}
@@ -1270,7 +1217,7 @@ bool ScDPOutput::GetDataResultPositionData(vector<sheet::DataPilotFieldFilter>&
return false;
sal_Int32 nDataFieldCount = ScUnoHelpFunctions::GetLongProperty( xPropSet,
- rtl::OUString::createFromAscii(SC_UNO_DATAFIELDCOUNT) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_DATAFIELDCOUNT)) );
if (nDataFieldCount == 0)
// No data field is present in this datapilot table.
return false;
@@ -1450,7 +1397,7 @@ uno::Sequence<sheet::GeneralFunction> lcl_GetSubTotals(
{
try
{
- uno::Any aValue = xLevelProp->getPropertyValue( rtl::OUString::createFromAscii(DP_PROP_SUBTOTALS) );
+ uno::Any aValue = xLevelProp->getPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_SUBTOTALS)) );
aValue >>= aSubTotals;
}
catch(uno::Exception&)
@@ -1690,7 +1637,6 @@ String lcl_GetDataFieldName( const String& rSourceName, sheet::GeneralFunction e
return aRet;
}
-// static
void ScDPOutput::GetDataDimensionNames( String& rSourceName, String& rGivenName,
const uno::Reference<uno::XInterface>& xDim )
{
@@ -1707,7 +1653,7 @@ void ScDPOutput::GetDataDimensionNames( String& rSourceName, String& rGivenName,
//! Should use a stored name when available
sheet::GeneralFunction eFunc = (sheet::GeneralFunction)ScUnoHelpFunctions::GetEnumProperty(
- xDimProp, rtl::OUString::createFromAscii(DP_PROP_FUNCTION),
+ xDimProp, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_FUNCTION)),
sheet::GeneralFunction_NONE );
rGivenName = lcl_GetDataFieldName( rSourceName, eFunc );
}
@@ -2059,5 +2005,4 @@ BOOL ScDPOutput::GetHeaderDrag( const ScAddress& rPos, BOOL bMouseLeft, BOOL bMo
}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/dpsave.cxx b/sc/source/core/data/dpsave.cxx
index f6f6cf216c76..e501f492addb 100644
--- a/sc/source/core/data/dpsave.cxx
+++ b/sc/source/core/data/dpsave.cxx
@@ -55,15 +55,12 @@
#include <com/sun/star/sheet/XMembersSupplier.hpp>
#include <com/sun/star/container/XNamed.hpp>
#include <com/sun/star/util/XCloneable.hpp>
-// Wang Xu Ming -- 2009-8-17
-// DataPilot Migration - Cache&&Performance
#include "dptabsrc.hxx"
#include "dpglobal.hxx"
using namespace ScDPGlobal;
#include <com/sun/star/sheet/DataPilotFieldReferenceType.hpp>
#include <com/sun/star/sheet/DataPilotFieldReferenceItemType.hpp>
using namespace com::sun::star::sheet;
-// End Comments
#include <hash_map>
@@ -178,11 +175,11 @@ void ScDPSaveMember::WriteToSource( const uno::Reference<uno::XInterface>& xMemb
if ( nVisibleMode != SC_DPSAVEMODE_DONTKNOW )
lcl_SetBoolProperty( xMembProp,
- rtl::OUString::createFromAscii(DP_PROP_ISVISIBLE), (BOOL)nVisibleMode );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ISVISIBLE)), (BOOL)nVisibleMode );
if ( nShowDetailsMode != SC_DPSAVEMODE_DONTKNOW )
lcl_SetBoolProperty( xMembProp,
- rtl::OUString::createFromAscii(DP_PROP_SHOWDETAILS), (BOOL)nShowDetailsMode );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_SHOWDETAILS)), (BOOL)nShowDetailsMode );
if (mpLayoutName.get())
ScUnoHelpFunctions::SetOptionalPropertyValue(xMembProp, SC_UNO_LAYOUTNAME, *mpLayoutName);
@@ -236,7 +233,7 @@ ScDPSaveDimension::ScDPSaveDimension(const ScDPSaveDimension& r) :
pSubTotalFuncs[nSub] = r.pSubTotalFuncs[nSub];
}
- for (MemberList::const_iterator i=r.maMemberList.begin(); i != r.maMemberList.end() ; i++)
+ for (MemberList::const_iterator i=r.maMemberList.begin(); i != r.maMemberList.end() ; ++i)
{
const String& rName = (*i)->GetName();
ScDPSaveMember* pNew = new ScDPSaveMember( **i );
@@ -271,7 +268,7 @@ ScDPSaveDimension::ScDPSaveDimension(const ScDPSaveDimension& r) :
ScDPSaveDimension::~ScDPSaveDimension()
{
- for (MemberHash::const_iterator i=maMemberHash.begin(); i != maMemberHash.end() ; i++)
+ for (MemberHash::const_iterator i=maMemberHash.begin(); i != maMemberHash.end() ; ++i)
delete i->second;
delete pReferenceValue;
delete pSortInfo;
@@ -569,22 +566,22 @@ void ScDPSaveDimension::WriteToSource( const uno::Reference<uno::XInterface>& xD
sheet::DataPilotFieldOrientation eOrient = (sheet::DataPilotFieldOrientation)nOrientation;
aAny <<= eOrient;
- xDimProp->setPropertyValue( rtl::OUString::createFromAscii(DP_PROP_ORIENTATION), aAny );
+ xDimProp->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIENTATION)), aAny );
sheet::GeneralFunction eFunc = (sheet::GeneralFunction)nFunction;
aAny <<= eFunc;
- xDimProp->setPropertyValue( rtl::OUString::createFromAscii(DP_PROP_FUNCTION), aAny );
+ xDimProp->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_FUNCTION)), aAny );
if ( nUsedHierarchy >= 0 )
{
aAny <<= (INT32)nUsedHierarchy;
- xDimProp->setPropertyValue( rtl::OUString::createFromAscii(DP_PROP_USEDHIERARCHY), aAny );
+ xDimProp->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_USEDHIERARCHY)), aAny );
}
if ( pReferenceValue )
{
aAny <<= *pReferenceValue;
- xDimProp->setPropertyValue( rtl::OUString::createFromAscii(SC_UNO_REFVALUE), aAny );
+ xDimProp->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_REFVALUE)), aAny );
}
uno::Sequence<sheet::TableFilterField> aFilter;
@@ -657,11 +654,11 @@ void ScDPSaveDimension::WriteToSource( const uno::Reference<uno::XInterface>& xD
for (long i=0; i<nSubTotalCount; i++)
pArray[i] = (sheet::GeneralFunction)pSubTotalFuncs[i];
aAny <<= aSeq;
- xLevProp->setPropertyValue( rtl::OUString::createFromAscii(DP_PROP_SUBTOTALS), aAny );
+ xLevProp->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_SUBTOTALS)), aAny );
}
if ( nShowEmptyMode != SC_DPSAVEMODE_DONTKNOW )
lcl_SetBoolProperty( xLevProp,
- rtl::OUString::createFromAscii(DP_PROP_SHOWEMPTY), (BOOL)nShowEmptyMode );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_SHOWEMPTY)), (BOOL)nShowEmptyMode );
if ( pSortInfo )
ScUnoHelpFunctions::SetOptionalPropertyValue(xLevProp, SC_UNO_SORTING, *pSortInfo);
@@ -687,7 +684,7 @@ void ScDPSaveDimension::WriteToSource( const uno::Reference<uno::XInterface>& xD
if ( !pSortInfo || pSortInfo->Mode == sheet::DataPilotFieldSortMode::MANUAL )
nPosition = 0;
- for (MemberList::const_iterator i=maMemberList.begin(); i != maMemberList.end() ; i++)
+ for (MemberList::const_iterator i=maMemberList.begin(); i != maMemberList.end() ; ++i)
{
ScDPSaveMember* pMember = *i;
if (!pMember->GetIsVisible())
@@ -750,10 +747,7 @@ ScDPSaveData::ScDPSaveData() :
nRepeatEmptyMode( SC_DPSAVEMODE_DONTKNOW ),
bFilterButton( TRUE ),
bDrillDown( TRUE ),
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
mnCacheId( -1),
- // End Comments
mbDimensionMembersBuilt(false),
mpGrandTotalName(NULL)
{
@@ -766,10 +760,7 @@ ScDPSaveData::ScDPSaveData(const ScDPSaveData& r) :
nRepeatEmptyMode( r.nRepeatEmptyMode ),
bFilterButton( r.bFilterButton ),
bDrillDown( r.bDrillDown ),
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
mnCacheId( r.mnCacheId ),
- // End Comments
mbDimensionMembersBuilt(r.mbDimensionMembersBuilt),
mpGrandTotalName(NULL)
{
@@ -793,11 +784,8 @@ ScDPSaveData& ScDPSaveData::operator= ( const ScDPSaveData& r )
{
if ( &r != this )
{
- // Wang Xu Ming -- 2009-8-17
- // DataPilot Migration - Cache&&Performance
this->~ScDPSaveData();
new( this ) ScDPSaveData ( r );
- // End Comments
}
return *this;
}
@@ -809,7 +797,7 @@ BOOL ScDPSaveData::operator== ( const ScDPSaveData& r ) const
nIgnoreEmptyMode != r.nIgnoreEmptyMode ||
nRepeatEmptyMode != r.nRepeatEmptyMode ||
bFilterButton != r.bFilterButton ||
- mnCacheId != r.mnCacheId ||/// Wang Xu Ming -- 2009-6-18 DataPilot Migration
+ mnCacheId != r.mnCacheId ||
bDrillDown != r.bDrillDown ||
mbDimensionMembersBuilt != r.mbDimensionMembersBuilt)
return FALSE;
@@ -1066,7 +1054,7 @@ void lcl_ResetOrient( const uno::Reference<sheet::XDimensionsSupplier>& xSource
{
uno::Any aAny;
aAny <<= eOrient;
- xDimProp->setPropertyValue( rtl::OUString::createFromAscii(DP_PROP_ORIENTATION), aAny );
+ xDimProp->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ORIENTATION)), aAny );
}
}
}
@@ -1089,10 +1077,10 @@ void ScDPSaveData::WriteToSource( const uno::Reference<sheet::XDimensionsSupplie
{
if ( nIgnoreEmptyMode != SC_DPSAVEMODE_DONTKNOW )
lcl_SetBoolProperty( xSourceProp,
- rtl::OUString::createFromAscii(DP_PROP_IGNOREEMPTY), (BOOL)nIgnoreEmptyMode );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_IGNOREEMPTY)), (BOOL)nIgnoreEmptyMode );
if ( nRepeatEmptyMode != SC_DPSAVEMODE_DONTKNOW )
lcl_SetBoolProperty( xSourceProp,
- rtl::OUString::createFromAscii(DP_PROP_REPEATIFEMPTY), (BOOL)nRepeatEmptyMode );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_REPEATIFEMPTY)), (BOOL)nRepeatEmptyMode );
}
catch(uno::Exception&)
{
@@ -1139,7 +1127,7 @@ void ScDPSaveData::WriteToSource( const uno::Reference<sheet::XDimensionsSupplie
if ( xDimProp.is() )
{
bFound = ScUnoHelpFunctions::GetBoolProperty( xDimProp,
- rtl::OUString::createFromAscii(DP_PROP_ISDATALAYOUT) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ISDATALAYOUT)) );
//! error checking -- is "IsDataLayoutDimension" property required??
}
}
@@ -1184,10 +1172,10 @@ void ScDPSaveData::WriteToSource( const uno::Reference<sheet::XDimensionsSupplie
{
if ( nColumnGrandMode != SC_DPSAVEMODE_DONTKNOW )
lcl_SetBoolProperty( xSourceProp,
- rtl::OUString::createFromAscii(DP_PROP_COLUMNGRAND), (BOOL)nColumnGrandMode );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_COLUMNGRAND)), (BOOL)nColumnGrandMode );
if ( nRowGrandMode != SC_DPSAVEMODE_DONTKNOW )
lcl_SetBoolProperty( xSourceProp,
- rtl::OUString::createFromAscii(DP_PROP_ROWGRAND), (BOOL)nRowGrandMode );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(DP_PROP_ROWGRAND)), (BOOL)nRowGrandMode );
}
}
catch(uno::Exception&)
@@ -1451,11 +1439,11 @@ void ScDPSaveDimension::Refresh( const com::sun::star::uno::Reference<
if ( pCache->GetIdByItemData( nSrcDim, aMemberName ) == -1 )
i = maMemberList.erase( i );
else
- i++;
+ ++i;
}
}
}
-// End Comments
+
bool operator == (const ::com::sun::star::sheet::DataPilotFieldSortInfo &l, const ::com::sun::star::sheet::DataPilotFieldSortInfo &r )
{
return l.Field == r.Field && l.IsAscending == r.IsAscending && l.Mode == r.Mode;
diff --git a/sc/source/core/data/dpsdbtab.cxx b/sc/source/core/data/dpsdbtab.cxx
index 6847b3aace87..22aad27efcc9 100644
--- a/sc/source/core/data/dpsdbtab.cxx
+++ b/sc/source/core/data/dpsdbtab.cxx
@@ -77,22 +77,19 @@ using ::com::sun::star::uno::UNO_QUERY;
#define SC_DBPROP_COMMAND "Command"
#define SC_DBPROP_COMMANDTYPE "CommandType"
// -----------------------------------------------------------------------
-// Wang Xu Ming -- 2009-9-15
-// DataPilot Migration - Cache&&Performance
ScDPTableDataCache* ScImportSourceDesc::GetExistDPObjectCache( ScDocument* pDoc ) const
{
ScDPTableDataCache* pCache = NULL;
ScDPCollection* pDPCollection= pDoc->GetDPCollection();
- USHORT nCount = pDPCollection->GetCount();
-
- for ( short i=nCount-1; i>=0 ; i--)
+ size_t nCount = pDPCollection->GetCount();
+ for (size_t i = nCount; i > 0; --i)
{
- if ( const ScImportSourceDesc* pUsedDesc = (*pDPCollection)[i]->GetImportSourceDesc() )
+ if ( const ScImportSourceDesc* pUsedDesc = (*pDPCollection)[i-1]->GetImportSourceDesc() )
if ( *this == *pUsedDesc )
{
- long nID = (*pDPCollection)[i]->GetCacheId();
- if ( nID >= 0 )
- pCache= pDoc->GetDPObjectCache( nID );
+ long nID = (*pDPCollection)[i-1]->GetCacheId();
+ if ( nID >= 0 )
+ pCache= pDPCollection->GetDPObjectCache( nID );
if ( pCache )
return pCache;
}
@@ -130,7 +127,7 @@ ScDPTableDataCache* ScImportSourceDesc::CreateCache( ScDocument* pDoc , long nID
{
xRowSet = uno::Reference<sdbc::XRowSet>(
comphelper::getProcessServiceFactory()->createInstance(
- rtl::OUString::createFromAscii( SC_SERVICE_ROWSET ) ),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_SERVICE_ROWSET )) ),
uno::UNO_QUERY);
uno::Reference<beans::XPropertySet> xRowProp( xRowSet, uno::UNO_QUERY );
DBG_ASSERT( xRowProp.is(), "can't get RowSet" );
@@ -142,22 +139,22 @@ ScDPTableDataCache* ScImportSourceDesc::CreateCache( ScDocument* pDoc , long nID
uno::Any aAny;
aAny <<= rtl::OUString( aDBName );
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_DATASOURCENAME), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_DATASOURCENAME)), aAny );
aAny <<= rtl::OUString( aObject );
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_COMMAND), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_COMMAND)), aAny );
aAny <<= nSdbType;
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_COMMANDTYPE), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_COMMANDTYPE)), aAny );
uno::Reference<sdb::XCompletedExecution> xExecute( xRowSet, uno::UNO_QUERY );
if ( xExecute.is() )
{
uno::Reference<task::XInteractionHandler> xHandler(
comphelper::getProcessServiceFactory()->createInstance(
- rtl::OUString::createFromAscii( SC_SERVICE_INTHANDLER ) ),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_SERVICE_INTHANDLER )) ),
uno::UNO_QUERY);
xExecute->executeWithCompletion( xHandler );
}
@@ -166,7 +163,7 @@ ScDPTableDataCache* ScImportSourceDesc::CreateCache( ScDocument* pDoc , long nID
SvNumberFormatter aFormat( pDoc->GetServiceManager(), ScGlobal::eLnge);
pCache->InitFromDataBase( xRowSet, *aFormat.GetNullDate() );
pCache->SetId( nID );
- pDoc->AddDPObjectCache( pCache );
+ pDoc->GetDPCollection()->AddDPObjectCache( pCache );
DBG_TRACE1("Create a cache id = %d \n", pCache->GetId() );
}
}
@@ -192,7 +189,7 @@ ScDPTableDataCache* ScImportSourceDesc::CreateCache( ScDocument* pDoc , long nID
ScDPTableDataCache* ScImportSourceDesc::GetCache( ScDocument* pDoc, long nID ) const
{
- ScDPTableDataCache* pCache = pDoc->GetDPObjectCache( nID );
+ ScDPTableDataCache* pCache = pDoc->GetDPCollection()->GetDPObjectCache( nID );
if ( NULL == pCache && pDoc )
pCache = GetExistDPObjectCache( pDoc);
if ( NULL == pCache )
@@ -236,7 +233,6 @@ long ScDatabaseDPData::GetColumnCount()
return GetCacheTable().getColSize();
}
-// End Comments
String ScDatabaseDPData::getDimensionName(long nColumn)
{
@@ -308,7 +304,4 @@ const ScDPCacheTable& ScDatabaseDPData::GetCacheTable() const
// -----------------------------------------------------------------------
-
-
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/dpshttab.cxx b/sc/source/core/data/dpshttab.cxx
index 7da7c956d26f..dddf25f34b51 100644
--- a/sc/source/core/data/dpshttab.cxx
+++ b/sc/source/core/data/dpshttab.cxx
@@ -44,10 +44,7 @@
#include "dpcachetable.hxx"
#include "dpobject.hxx"
#include "globstr.hrc"
-// Wang Xu Ming -- 2009-8-17
-// DataPilot Migration - Cache&&Performance
#include "dpglobal.hxx"
-// End Comments
#include <com/sun/star/sheet/DataPilotFieldFilter.hpp>
#include <vector>
@@ -71,7 +68,7 @@ ScSheetDPData::ScSheetDPData( ScDocument* pD, const ScSheetSourceDesc& rDesc , l
aCacheTable( pD, rDesc.GetCacheId( pD, nCacheId))
{
SCSIZE nEntryCount( aQuery.GetEntryCount());
- pSpecial = new BOOL[nEntryCount];
+ pSpecial = new bool[nEntryCount];
for (SCSIZE j = 0; j < nEntryCount; ++j )
{
ScQueryEntry& rEntry = aQuery.GetEntry(j);
@@ -146,7 +143,7 @@ BOOL ScSheetDPData::IsDateDimension(long nDim)
}
else
{
- return aCacheTable.GetCache()->IsDateDimension( nDim);
+ return aCacheTable.getCache()->IsDateDimension( nDim);
}
}
@@ -164,7 +161,7 @@ ULONG ScSheetDPData::GetNumberFormat(long nDim)
}
else
{
- return GetCacheTable().GetCache()->GetNumberFormat( nDim );
+ return GetCacheTable().getCache()->GetNumberFormat( nDim );
}
}
UINT32 ScDPTableData::GetNumberFormatByIdx( NfIndexTableOffset eIdx )
@@ -236,8 +233,6 @@ const ScDPCacheTable& ScSheetDPData::GetCacheTable() const
}
-// Wang Xu Ming -- 2009-8-5
-// DataPilot Migration - Cache&&Performance
ScDPTableDataCache* ScSheetSourceDesc::CreateCache( ScDocument* pDoc , long nID ) const
{
if ( pDoc )
@@ -253,7 +248,7 @@ ScDPTableDataCache* ScSheetSourceDesc::CreateCache( ScDocument* pDoc , long nID
pCache->InitFromDoc( pDoc, aSourceRange );
pCache->SetId( nID );
- pDoc->AddDPObjectCache( pCache );
+ pDoc->GetDPCollection()->AddDPObjectCache( pCache );
DBG_TRACE1("Create a cache id = %d \n", pCache->GetId() );
}
@@ -266,11 +261,11 @@ ScDPTableDataCache* ScSheetSourceDesc::CreateCache( ScDocument* pDoc , long nID
ScDPTableDataCache* ScSheetSourceDesc::GetExistDPObjectCache ( ScDocument* pDoc ) const
{
- return pDoc->GetUsedDPObjectCache( aSourceRange );
+ return pDoc->GetDPCollection()->GetUsedDPObjectCache( aSourceRange );
}
ScDPTableDataCache* ScSheetSourceDesc::GetCache( ScDocument* pDoc, long nID ) const
{
- ScDPTableDataCache* pCache = pDoc->GetDPObjectCache( nID );
+ ScDPTableDataCache* pCache = pDoc->GetDPCollection()->GetDPObjectCache( nID );
if ( NULL == pCache && pDoc )
pCache = GetExistDPObjectCache( pDoc );
if ( NULL == pCache )
@@ -304,7 +299,6 @@ ULONG ScSheetSourceDesc::CheckValidate( ScDocument* pDoc ) const
}
return 0;
}
-// End Comments
// -----------------------------------------------------------------------
diff --git a/sc/source/core/data/dptabdat.cxx b/sc/source/core/data/dptabdat.cxx
index c0c2d6d33122..7a5fdd9aa1e9 100644
--- a/sc/source/core/data/dptabdat.cxx
+++ b/sc/source/core/data/dptabdat.cxx
@@ -170,7 +170,7 @@ void ScDPTableData::FillRowDataFromCacheTable(sal_Int32 nRow, const ScDPCacheTab
// page dimensions
GetItemData(rCacheTable, nRow, rInfo.aPageDims, rData.aPageData);
- long nCacheColumnCount = rCacheTable.GetCache()->GetColumnCount();
+ long nCacheColumnCount = rCacheTable.getCache()->GetColumnCount();
sal_Int32 n = rInfo.aDataSrcCols.size();
for (sal_Int32 i = 0; i < n; ++i)
{
@@ -188,8 +188,6 @@ void ScDPTableData::FillRowDataFromCacheTable(sal_Int32 nRow, const ScDPCacheTab
void ScDPTableData::ProcessRowData(CalcInfo& rInfo, CalcRowData& rData, bool bAutoShow)
{
- // Wang Xu Ming -- 2009-6-16
- // DataPilot Migration
if (!bAutoShow)
{
LateInitParams aColParams( rInfo.aColDims, rInfo.aColLevels, FALSE );
@@ -203,7 +201,6 @@ void ScDPTableData::ProcessRowData(CalcInfo& rInfo, CalcRowData& rData, bool bAu
rInfo.pColRoot->LateInitFrom( aColParams, rData.aColData,0, *rInfo.pInitState);
rInfo.pRowRoot->LateInitFrom( aRowParams, rData.aRowData, 0, *rInfo.pInitState);
}
- // End Comments
if ( ( !rInfo.pColRoot->GetChildDimension() || rInfo.pColRoot->GetChildDimension()->IsValidEntry(rData.aColData) ) &&
( !rInfo.pRowRoot->GetChildDimension() || rInfo.pRowRoot->GetChildDimension()->IsValidEntry(rData.aRowData) ) )
@@ -211,11 +208,8 @@ void ScDPTableData::ProcessRowData(CalcInfo& rInfo, CalcRowData& rData, bool bAu
//! single process method with ColMembers, RowMembers and data !!!
if (rInfo.pColRoot->GetChildDimension())
{
-// Wang Xu Ming -- 2009-6-10
-// DataPilot Migration
vector</*ScDPItemData*/ SCROW > aEmptyData;
rInfo.pColRoot->GetChildDimension()->ProcessData(rData.aColData, NULL, aEmptyData, rData.aValues);
-// End Comments
}
rInfo.pRowRoot->ProcessData(rData.aRowData, rInfo.pColRoot->GetChildDimension(),
@@ -237,11 +231,8 @@ void ScDPTableData::CalcResultsFromCacheTable(const ScDPCacheTable& rCacheTable,
}
}
-// Wang Xu Ming -- 2009-6-10
-// DataPilot Migration
void ScDPTableData::GetItemData(const ScDPCacheTable& rCacheTable, sal_Int32 nRow,
const vector<long>& rDims, vector< SCROW/*ScDPItemData*/>& rItemData)
-// End Comments
{
sal_Int32 nDimSize = rDims.size();
for (sal_Int32 i = 0; i < nDimSize; ++i)
@@ -255,10 +246,10 @@ void ScDPTableData::GetItemData(const ScDPCacheTable& rCacheTable, sal_Int32 nRo
}
nDim = GetSourceDim( nDim );
- if ( nDim >= rCacheTable.GetCache()->GetColumnCount() )
+ if ( nDim >= rCacheTable.getCache()->GetColumnCount() )
continue;
- SCROW nId= rCacheTable.GetCache()->GetItemDataId( static_cast<SCCOL>(nDim), static_cast<SCROW>(nRow), IsRepeatIfEmpty());
+ SCROW nId= rCacheTable.getCache()->GetItemDataId( static_cast<SCCOL>(nDim), static_cast<SCROW>(nRow), IsRepeatIfEmpty());
rItemData.push_back( nId );
}
@@ -266,8 +257,6 @@ void ScDPTableData::GetItemData(const ScDPCacheTable& rCacheTable, sal_Int32 nRo
// -----------------------------------------------------------------------
-// Wang Xu Ming -- 2009-6-8
-// DataPilot Migration
long ScDPTableData::GetMembersCount( long nDim )
{
if ( nDim > MAXCOL )
@@ -287,18 +276,18 @@ const ScDPItemData* ScDPTableData::GetMemberByIndex( long nDim, long nIndex )
const ::std::vector<SCROW>& nMembers = GetCacheTable().getFieldEntries( nDim );
- return GetCacheTable().GetCache()->GetItemDataById( (SCCOL) nDim, (SCROW)nMembers[nIndex] );
+ return GetCacheTable().getCache()->GetItemDataById( (SCCOL) nDim, (SCROW)nMembers[nIndex] );
}
const ScDPItemData* ScDPTableData::GetMemberById( long nDim, long nId)
{
- return GetCacheTable().GetCache()->GetItemDataById( (SCCOL) nDim, (SCROW)nId);
+ return GetCacheTable().getCache()->GetItemDataById( (SCCOL) nDim, (SCROW)nId);
}
SCROW ScDPTableData::GetIdOfItemData( long nDim, const ScDPItemData& rData )
{
- return GetCacheTable().GetCache()->GetIdByItemData((SCCOL) nDim, rData );
+ return GetCacheTable().getCache()->GetIdByItemData((SCCOL) nDim, rData );
}
const std::vector< SCROW >& ScDPTableData::GetColumnEntries( long nColumn )
@@ -317,8 +306,8 @@ long ScDPTableData::GetSourceDim( long nDim )
if ( getIsDataLayoutDimension(nDim) )
return 0;
- long n1 = GetCacheTable().GetCache()->GetOrder( nDim, nDataId1);
- long n2 = GetCacheTable().GetCache()->GetOrder( nDim, nDataId2);
+ long n1 = GetCacheTable().getCache()->GetOrder( nDim, nDataId1);
+ long n2 = GetCacheTable().getCache()->GetOrder( nDim, nDataId2);
if ( n1 > n2 )
return 1;
else if ( n1 == n2 )
@@ -326,7 +315,6 @@ long ScDPTableData::GetSourceDim( long nDim )
else
return -1;
}
-// End Comments
// -----------------------------------------------------------------------
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/dptablecache.cxx b/sc/source/core/data/dptablecache.cxx
index b946dbd4b6a4..03bdc69aa7bc 100644
--- a/sc/source/core/data/dptablecache.cxx
+++ b/sc/source/core/data/dptablecache.cxx
@@ -29,9 +29,9 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
- // MARKER(update_precomp.py): autogen include statement, do not remove
+// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-// INCLUDE ---------------------------------------------------------------
+
#include "dptablecache.hxx"
#include "document.hxx"
#include "cell.hxx"
@@ -40,15 +40,17 @@
#include <rtl/math.hxx>
#include "queryparam.hxx"
#include "dpglobal.hxx"
+#include "dptabdat.hxx"
-#include "docoptio.hxx" //for ValidQuery
-#include <unotools/textsearch.hxx> //for ValidQuery
+#include "docoptio.hxx"
+#include <unotools/textsearch.hxx>
#include <com/sun/star/sdbc/DataType.hpp>
#include <com/sun/star/sdbc/XRow.hpp>
#include <com/sun/star/sdbc/XRowSet.hpp>
#include <com/sun/star/sdbc/XResultSetMetaData.hpp>
#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
+
const double D_TIMEFACTOR = 86400.0;
using namespace ::com::sun::star;
@@ -57,61 +59,59 @@ using ::com::sun::star::uno::Exception;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::UNO_QUERY;
using ::com::sun::star::uno::UNO_QUERY_THROW;
-// -----------------------------------------------------------------------
-namespace
+
+namespace {
+
+bool lcl_isDate( ULONG nNumType )
{
- BOOL lcl_isDate( ULONG nNumType )
- {
- return ( (nNumType & NUMBERFORMAT_DATE) != 0 )? 1:0 ;
- }
+ return ( (nNumType & NUMBERFORMAT_DATE) != 0 )? 1:0 ;
+}
- BOOL lcl_Search( const std::vector<ScDPItemData*>& list, const ::std::vector<SCROW>& rOrder, const ScDPItemData& item, SCROW& rIndex)
+bool lcl_Search( const std::vector<ScDPItemData*>& list, const ::std::vector<SCROW>& rOrder, const ScDPItemData& item, SCROW& rIndex)
+{
+ rIndex = list.size();
+ bool bFound = false;
+ SCROW nLo = 0;
+ SCROW nHi = list.size() - 1;
+ SCROW nIndex;
+ long nCompare;
+ while (nLo <= nHi)
{
- rIndex = list.size();
- BOOL bFound = FALSE;
- SCROW nLo = 0;
- SCROW nHi = list.size() - 1;
- SCROW nIndex;
- long nCompare;
- while (nLo <= nHi)
+ nIndex = (nLo + nHi) / 2;
+ nCompare = ScDPItemData::Compare( *list[rOrder[nIndex]], item );
+ if (nCompare < 0)
+ nLo = nIndex + 1;
+ else
{
- nIndex = (nLo + nHi) / 2;
- nCompare = ScDPItemData::Compare( *list[rOrder[nIndex]], item );
- if (nCompare < 0)
- nLo = nIndex + 1;
- else
+ nHi = nIndex - 1;
+ if (nCompare == 0)
{
- nHi = nIndex - 1;
- if (nCompare == 0)
- {
- bFound = TRUE;
- nLo = nIndex;
- }
+ bFound = true;
+ nLo = nIndex;
}
}
- rIndex = nLo;
- return bFound;
}
+ rIndex = nLo;
+ return bFound;
+}
- ScDPItemData* lcl_GetItemValue(const Reference<sdbc::XRow>& xRow, sal_Int32 nType, long nCol,
- const Date& rNullDate )
+ScDPItemData* lcl_GetItemValue(const Reference<sdbc::XRow>& xRow, sal_Int32 nType, long nCol,
+ const Date& rNullDate )
+{
+ short nNumType = NUMBERFORMAT_NUMBER;
+ try
{
- short nNumType = NUMBERFORMAT_NUMBER;
- try
+ String rStr = xRow->getString(nCol);
+ double fValue = 0.0;
+ switch (nType)
{
- String rStr = xRow->getString(nCol);
- double fValue = 0.0;
- switch (nType)
- {
case sdbc::DataType::BIT:
case sdbc::DataType::BOOLEAN:
- {
- nNumType = NUMBERFORMAT_LOGICAL;
- fValue = xRow->getBoolean(nCol) ? 1 : 0;
- return new ScDPItemData( rStr, fValue,TRUE,nNumType);
- }
- //break;
-
+ {
+ nNumType = NUMBERFORMAT_LOGICAL;
+ fValue = xRow->getBoolean(nCol) ? 1 : 0;
+ return new ScDPItemData( rStr, fValue,true,nNumType);
+ }
case sdbc::DataType::TINYINT:
case sdbc::DataType::SMALLINT:
case sdbc::DataType::INTEGER:
@@ -121,45 +121,38 @@ namespace
case sdbc::DataType::DOUBLE:
case sdbc::DataType::NUMERIC:
case sdbc::DataType::DECIMAL:
- {
- //! do the conversion here?
- fValue = xRow->getDouble(nCol);
- return new ScDPItemData( rStr, fValue,TRUE);
- }
- //break;
-
+ {
+ //! do the conversion here?
+ fValue = xRow->getDouble(nCol);
+ return new ScDPItemData( rStr, fValue,true);
+ }
case sdbc::DataType::DATE:
- {
- nNumType = NUMBERFORMAT_DATE;
-
- util::Date aDate = xRow->getDate(nCol);
- fValue = Date(aDate.Day, aDate.Month, aDate.Year) - rNullDate;
- return new ScDPItemData( rStr, fValue, TRUE, nNumType );
- }
- //break;
+ {
+ nNumType = NUMBERFORMAT_DATE;
+ util::Date aDate = xRow->getDate(nCol);
+ fValue = Date(aDate.Day, aDate.Month, aDate.Year) - rNullDate;
+ return new ScDPItemData( rStr, fValue, true, nNumType );
+ }
case sdbc::DataType::TIME:
- {
- nNumType = NUMBERFORMAT_TIME;
-
- util::Time aTime = xRow->getTime(nCol);
- fValue = ( aTime.Hours * 3600 + aTime.Minutes * 60 +
- aTime.Seconds + aTime.HundredthSeconds / 100.0 ) / D_TIMEFACTOR;
- return new ScDPItemData( rStr,fValue, TRUE, nNumType );
- }
- //break;
+ {
+ nNumType = NUMBERFORMAT_TIME;
+ util::Time aTime = xRow->getTime(nCol);
+ fValue = ( aTime.Hours * 3600 + aTime.Minutes * 60 +
+ aTime.Seconds + aTime.HundredthSeconds / 100.0 ) / D_TIMEFACTOR;
+ return new ScDPItemData( rStr,fValue, true, nNumType );
+ }
case sdbc::DataType::TIMESTAMP:
- {
- nNumType = NUMBERFORMAT_DATETIME;
+ {
+ nNumType = NUMBERFORMAT_DATETIME;
- util::DateTime aStamp = xRow->getTimestamp(nCol);
- fValue = ( Date( aStamp.Day, aStamp.Month, aStamp.Year ) - rNullDate ) +
- ( aStamp.Hours * 3600 + aStamp.Minutes * 60 +
- aStamp.Seconds + aStamp.HundredthSeconds / 100.0 ) / D_TIMEFACTOR;
- return new ScDPItemData( rStr,fValue, TRUE, nNumType );
- }
- //break;
+ util::DateTime aStamp = xRow->getTimestamp(nCol);
+ fValue = ( Date( aStamp.Day, aStamp.Month, aStamp.Year ) - rNullDate ) +
+ ( aStamp.Hours * 3600 + aStamp.Minutes * 60 +
+ aStamp.Seconds + aStamp.HundredthSeconds / 100.0 ) / D_TIMEFACTOR;
+ return new ScDPItemData( rStr,fValue, true, nNumType );
+ }
case sdbc::DataType::CHAR:
case sdbc::DataType::VARCHAR:
case sdbc::DataType::LONGVARCHAR:
@@ -169,29 +162,25 @@ namespace
case sdbc::DataType::LONGVARBINARY:
default:
return new ScDPItemData ( rStr );
- //break;
- }
- }
- catch (uno::Exception&)
- {
}
- catch ( ... )
- {
-
- }
- return NULL;
}
+ catch (uno::Exception&)
+ {
+ }
+
+ return NULL;
}
-// Wang Xu Ming -- 12/23/2008
-//Refactor cache data
-ScDPItemData::ScDPItemData( const String& rS, double fV/* = 0.0*/, BOOL bHV/* = FALSE*/, const ULONG nNumFormatP /*= 0*/ , BOOL bData/* = TRUE*/) :
-nNumFormat( nNumFormatP ), aString(rS), fValue(fV),
-mbFlag( (MK_VAL*!!bHV) | (MK_DATA*!!bData) | (MK_ERR*!!FALSE) | (MK_DATE*!!lcl_isDate( nNumFormat ) ) )
+
+}
+
+ScDPItemData::ScDPItemData( const String& rS, double fV/* = 0.0*/, bool bHV/* = false*/, const ULONG nNumFormatP /*= 0*/ , bool bData/* = true*/) :
+ nNumFormat( nNumFormatP ), aString(rS), fValue(fV),
+ mbFlag( (MK_VAL*!!bHV) | (MK_DATA*!!bData) | (MK_ERR*!!false) | (MK_DATE*!!lcl_isDate( nNumFormat ) ) )
{
}
-ScDPItemData::ScDPItemData( ScDocument* pDoc, SCROW nRow, USHORT nCol, USHORT nDocTab ):
- nNumFormat( 0 ), fValue(0.0), mbFlag( 0 )
+ScDPItemData::ScDPItemData( ScDocument* pDoc, SCROW nRow, USHORT nCol, USHORT nDocTab ) :
+ nNumFormat( 0 ), fValue(0.0), mbFlag( 0 )
{
String aDocStr;
pDoc->GetString( nCol, nRow, nDocTab, aDocStr );
@@ -203,8 +192,7 @@ ScDPItemData::ScDPItemData( ScDocument* pDoc, SCROW nRow, USHORT nCol, USHORT nD
if ( pCell && pCell->GetCellType() == CELLTYPE_FORMULA && ((ScFormulaCell*)pCell)->GetErrCode() )
{
- SetString ( aDocStr ); //[SODC_19347] add liyi
- //bErr = TRUE; //[SODC_19347] del liyi
+ SetString ( aDocStr );
mbFlag |= MK_ERR;
}
else if ( pDoc->HasValueData( nCol, nRow, nDocTab ) )
@@ -222,10 +210,9 @@ ScDPItemData::ScDPItemData( ScDocument* pDoc, SCROW nRow, USHORT nCol, USHORT nD
else if ( pDoc->HasData( nCol,nRow, nDocTab ) )
SetString ( aDocStr );
}
-// End Comments
-BOOL ScDPItemData::IsCaseInsEqual( const ScDPItemData& r ) const
-{ //TODO: indified Date?
+bool ScDPItemData::IsCaseInsEqual( const ScDPItemData& r ) const
+{
//! pass Transliteration?
//! inline?
return IsValue() ? ( r.IsValue() && rtl::math::approxEqual( fValue, r.fValue ) ) :
@@ -243,27 +230,22 @@ size_t ScDPItemData::Hash() const
return rtl_ustr_hashCode_WithLength( aString.GetBuffer(), aString.Len() );
}
-BOOL ScDPItemData::operator==( const ScDPItemData& r ) const
+bool ScDPItemData::operator==( const ScDPItemData& r ) const
{
if ( IsValue() )
{
if( (HasDatePart() != r.HasDatePart()) || (HasDatePart() && mnDatePart != r.mnDatePart) )
- return FALSE;
+ return false;
-// Wang Xu Ming -- 1/9/2009
-// Add Data Cache Support.
-// Identify date
if ( IsDate() != r.IsDate() )
- return FALSE;
- else
- if ( r.IsValue() )
+ return false;
+ else if ( r.IsValue() )
return rtl::math::approxEqual( fValue, r.fValue );
else
- return FALSE;
-// End Comments
+ return false;
}
else if ( r.IsValue() )
- return FALSE;
+ return false;
else
// need exact equality until we have a safe case insensitive string hash
return aString == r.aString;
@@ -278,14 +260,10 @@ sal_Int32 ScDPItemData::Compare( const ScDPItemData& rA,
{
if ( rtl::math::approxEqual( rA.fValue, rB.fValue ) )
{
-// Wang Xu Ming -- 1/9/2009
-// Add Data Cache Support.
-// Date > number
if ( rA.IsDate() == rB.IsDate() )
return 0;
else
return rA.IsDate() ? 1: -1;
-// End Comments
}
else if ( rA.fValue < rB.fValue )
return -1;
@@ -300,8 +278,7 @@ sal_Int32 ScDPItemData::Compare( const ScDPItemData& rA,
else
return ScGlobal::GetCollator()->compareString( rA.aString, rB.aString );
}
-//
-//Wang Xu Ming SODC_17561
+
#ifdef DEBUG
void ScDPItemData::dump() const
{
@@ -311,7 +288,6 @@ void ScDPItemData::dump() const
DBG_TRACE1( "mbFlag= %d", mbFlag);
}
#endif
-//End
TypedStrData* ScDPItemData::CreateTypeString( )
{
@@ -335,17 +311,17 @@ sal_uInt8 ScDPItemData::GetType() const
}
-BOOL ScDPItemData::IsHasData() const
+bool ScDPItemData::IsHasData() const
{
return !!(mbFlag&MK_DATA);
}
-BOOL ScDPItemData::IsHasErr() const
+bool ScDPItemData::IsHasErr() const
{
return !!(mbFlag&MK_ERR);
}
-BOOL ScDPItemData::IsValue() const
+bool ScDPItemData::IsValue() const
{
return !!(mbFlag&MK_VAL);
}
@@ -365,20 +341,20 @@ ULONG ScDPItemData::GetNumFormat() const
return nNumFormat;
}
-BOOL ScDPItemData::HasStringData() const
+bool ScDPItemData::HasStringData() const
{
return IsHasData()&&!IsHasErr()&&!IsValue();
}
-BOOL ScDPItemData::IsDate() const
+bool ScDPItemData::IsDate() const
{
return !!(mbFlag&MK_DATE);
}
-BOOL ScDPItemData::HasDatePart() const
+bool ScDPItemData::HasDatePart() const
{
return !!(mbFlag&MK_DATEPART);
}
-void ScDPItemData::SetDate( BOOL b )
+void ScDPItemData::SetDate( bool b )
{
b ? ( mbFlag |= MK_DATE ) : ( mbFlag &= ~MK_DATE );
}
@@ -387,17 +363,17 @@ void ScDPItemData::SetDate( BOOL b )
//class ScDPTableDataCache
//To cache the pivot table data source
-BOOL ScDPTableDataCache::operator== ( const ScDPTableDataCache& r ) const
+bool ScDPTableDataCache::operator== ( const ScDPTableDataCache& r ) const
{
if ( GetColumnCount() == r.GetColumnCount() )
{
for ( SCCOL i = 0 ; i < GetColumnCount(); i++ )
{ //check dim names
if ( GetDimensionName( i ) != r.GetDimensionName( i ) )
- return FALSE;
+ return false;
//check rows count
if ( GetRowCount() != r.GetRowCount() )
- return FALSE;
+ return false;
//check dim member values
size_t nMembersCount = GetDimMemberValues( i ).size();
if ( GetDimMemberValues( i ).size() == r. GetDimMemberValues( i ).size() )
@@ -407,50 +383,47 @@ BOOL ScDPTableDataCache::operator== ( const ScDPTableDataCache& r ) const
if ( *( GetDimMemberValues( i )[j] ) == *( r.GetDimMemberValues( i )[j] ) )
continue;
else
- return FALSE;
+ return false;
}
}
else
- return FALSE;
+ return false;
//check source table index
for ( SCROW k=0 ; k < GetRowCount(); k ++ )
{
- if ( GetItemDataId( i, k, FALSE ) == r.GetItemDataId( i,k,FALSE) )
+ if ( GetItemDataId( i, k, false ) == r.GetItemDataId( i,k,false) )
continue;
else
- return FALSE;
+ return false;
}
}
}
- return TRUE;
+ return true;
}
-ScDPTableDataCache::ScDPTableDataCache( ScDocument* pDoc ) :
-mpDoc( pDoc ),
-mnColumnCount ( 0 ),
-mpTableDataValues ( NULL ),
-mpSourceData ( NULL ),
-mpGlobalOrder( NULL ),
-mpIndexOrder( NULL)
+ScDPTableDataCache::ScDPTableDataCache(ScDocument* pDoc) :
+ mpDoc( pDoc ),
+ mnID(-1),
+ mnColumnCount ( 0 ),
+ mpTableDataValues ( NULL ),
+ mpSourceData ( NULL ),
+ mpGlobalOrder( NULL ),
+ mpIndexOrder( NULL)
{
- mnID = -1;
}
ScDPTableDataCache::~ScDPTableDataCache()
{
if ( IsValid() )
{
-// Wang Xu Ming -- 2/17/2009
-// Performance issue
USHORT nCol;
for ( nCol=0; nCol < GetColumnCount() ; nCol++ )
{
for ( ULONG row = 0 ; row < mpTableDataValues[nCol].size(); row++ )
delete mpTableDataValues[nCol][row];
}
- for ( nCol =0; nCol < mrLabelNames.size(); nCol++ )
- delete mrLabelNames[nCol];
-// End Comments
+ for ( nCol =0; nCol < maLabelNames.size(); nCol++ )
+ delete maLabelNames[nCol];
mnColumnCount = 0;
delete [] mpTableDataValues;
@@ -464,36 +437,11 @@ ScDPTableDataCache::~ScDPTableDataCache()
}
}
-// -----------------------------------------------------------------------
-void ScDPTableDataCache::AddRow( ScDPItemData* pRow, USHORT nCount )
+bool ScDPTableDataCache::IsValid() const
{
- DBG_ASSERT( pRow , " empty pointer" );
- if ( !mrLabelNames.size() )
- {
- mnColumnCount= nCount;
- mpTableDataValues = new std::vector<ScDPItemData*>[ mnColumnCount ];
- mpSourceData = new std::vector<SCROW>[ mnColumnCount ];
- mpGlobalOrder = new std::vector<SCROW>[ mnColumnCount ];
- mpIndexOrder = new std::vector<SCROW>[ mnColumnCount ];
-
- for ( USHORT i = 0; i < nCount ; i ++ )
- AddLabel( new ScDPItemData( pRow[i] ) );
- }
- else
- {
- for ( USHORT i = 0; i < nCount && i < mnColumnCount; i ++ )
- AddData( i, new ScDPItemData( pRow[i] ) );
- }
+ return mpTableDataValues != NULL && mpSourceData != NULL && mnColumnCount > 0;
}
-// -----------------------------------------------------------------------
-bool ScDPTableDataCache::IsValid() const
-{ //TODO: continue check valid
- return mpTableDataValues!=NULL && mpSourceData!= NULL && mnColumnCount>0;
-}
-
-// -----------------------------------------------------------------------
-
namespace {
/**
@@ -518,8 +466,7 @@ private:
}
-// -----------------------------------------------------------------------
-bool ScDPTableDataCache::InitFromDoc( ScDocument* pDoc, const ScRange& rRange )
+bool ScDPTableDataCache::InitFromDoc(ScDocument* pDoc, const ScRange& rRange)
{
// Make sure the formula cells within the data range are interpreted
// during this call, for this method may be called from the interpretation
@@ -527,15 +474,13 @@ bool ScDPTableDataCache::InitFromDoc( ScDocument* pDoc, const ScRange& rRange )
// increasing the macro level.
MacroInterpretIncrementer aMacroInc(pDoc);
- //
SCROW nStartRow = rRange.aStart.Row(); // start of data
SCROW nEndRow = rRange.aEnd.Row();
USHORT nStartCol = rRange.aStart.Col();
USHORT nEndCol = rRange.aEnd.Col();
USHORT nDocTab = rRange.aStart.Tab();
- //init
- long nOldColumCount = mnColumnCount;
+ long nOldColumCount = mnColumnCount;
mnColumnCount = nEndCol - nStartCol + 1;
if ( IsValid() )
{
@@ -543,13 +488,13 @@ bool ScDPTableDataCache::InitFromDoc( ScDocument* pDoc, const ScRange& rRange )
{
for ( ULONG row = 0 ; row < mpTableDataValues[nCol].size(); row++ )
delete mpTableDataValues[nCol][row];
- delete mrLabelNames[nCol];
+ delete maLabelNames[nCol];
}
delete [] mpTableDataValues;
delete [] mpSourceData;
delete [] mpGlobalOrder;
delete [] mpIndexOrder;
- mrLabelNames.clear();
+ maLabelNames.clear();
}
mpTableDataValues = new std::vector<ScDPItemData*>[ mnColumnCount ];
@@ -567,13 +512,12 @@ bool ScDPTableDataCache::InitFromDoc( ScDocument* pDoc, const ScRange& rRange )
AddData( nCol - nStartCol, new ScDPItemData( pDoc, nRow, nCol, nDocTab ) );
}
}
- return TRUE;
+ return true;
}
-// -----------------------------------------------------------------------
bool ScDPTableDataCache::InitFromDataBase (const Reference<sdbc::XRowSet>& xRowSet, const Date& rNullDate)
{
- if (!xRowSet.is())
+ if (!xRowSet.is())
// Dont' even waste time to go any further.
return false;
try
@@ -583,36 +527,36 @@ bool ScDPTableDataCache::InitFromDataBase (const Reference<sdbc::XRowSet>& xRowS
if (!xMeta.is())
return false;
- long nOldColumCount = mnColumnCount;
- mnColumnCount = xMeta->getColumnCount();
- if ( IsValid() )
- {
- for ( USHORT nCol=0; nCol < nOldColumCount ; nCol++ )
+ long nOldColumCount = mnColumnCount;
+ mnColumnCount = xMeta->getColumnCount();
+ if (IsValid())
{
- for ( ULONG row = 0 ; row < mpTableDataValues[nCol].size(); row++ )
- delete mpTableDataValues[nCol][row];
- delete mrLabelNames[nCol];
+ for (USHORT nCol=0; nCol < nOldColumCount ; nCol++)
+ {
+ for (ULONG row = 0 ; row < mpTableDataValues[nCol].size(); row++)
+ delete mpTableDataValues[nCol][row];
+ delete maLabelNames[nCol];
+ }
+ delete [] mpTableDataValues;
+ delete [] mpSourceData;
+ delete [] mpGlobalOrder;
+ delete [] mpIndexOrder;
+ maLabelNames.clear();
}
- delete [] mpTableDataValues;
- delete [] mpSourceData;
- delete [] mpGlobalOrder;
- delete [] mpIndexOrder;
- mrLabelNames.clear();
- }
// Get column titles and types.
- mrLabelNames.reserve(mnColumnCount);
- mpTableDataValues = new std::vector<ScDPItemData*>[ mnColumnCount ];
- mpSourceData = new std::vector<SCROW>[ mnColumnCount ];
- mpGlobalOrder = new std::vector<SCROW>[ mnColumnCount ];
- mpIndexOrder = new std::vector<SCROW>[ mnColumnCount ];
+ maLabelNames.reserve(mnColumnCount);
+ mpTableDataValues = new std::vector<ScDPItemData*>[ mnColumnCount ];
+ mpSourceData = new std::vector<SCROW>[ mnColumnCount ];
+ mpGlobalOrder = new std::vector<SCROW>[ mnColumnCount ];
+ mpIndexOrder = new std::vector<SCROW>[ mnColumnCount ];
- std::vector<sal_Int32> aColTypes(mnColumnCount);
+ std::vector<sal_Int32> aColTypes(mnColumnCount);
for (sal_Int32 nCol = 0; nCol < mnColumnCount; ++nCol)
{
String aColTitle = xMeta->getColumnLabel(nCol+1);
aColTypes[nCol] = xMeta->getColumnType(nCol+1);
- AddLabel( new ScDPItemData( aColTitle) );
+ AddLabel( new ScDPItemData( aColTitle) );
}
// Now get the data rows.
@@ -622,23 +566,23 @@ bool ScDPTableDataCache::InitFromDataBase (const Reference<sdbc::XRowSet>& xRowS
{
for (sal_Int32 nCol = 0; nCol < mnColumnCount; ++nCol)
{
- ScDPItemData * pNew = lcl_GetItemValue( xRow, aColTypes[nCol], nCol+1, rNullDate );
- if ( pNew )
- AddData( nCol , pNew );
+ ScDPItemData * pNew = lcl_GetItemValue( xRow, aColTypes[nCol], nCol+1, rNullDate );
+ if (pNew)
+ AddData(nCol , pNew);
}
}
while (xRowSet->next());
- xRowSet->beforeFirst();
+ xRowSet->beforeFirst();
- return true;
+ return true;
}
catch (const Exception&)
{
return false;
}
}
-// -----------------------------------------------------------------------
+
ULONG ScDPTableDataCache::GetDimNumType( SCCOL nDim) const
{
DBG_ASSERT( IsValid(), " IsValid() == false " );
@@ -649,244 +593,235 @@ ULONG ScDPTableDataCache::GetDimNumType( SCCOL nDim) const
return GetNumType(mpTableDataValues[nDim][0]->nNumFormat);
}
-// -----------------------------------------------------------------------
-bool ScDPTableDataCache::ValidQuery( SCROW nRow, const ScQueryParam &rParam, BOOL *pSpecial)
-{ //Copied and modified from ScTable::ValidQuery
- if (!rParam.GetEntry(0).bDoQuery)
- return TRUE;
- BOOL bMatchWholeCell = mpDoc->GetDocOptions().IsMatchWholeCell();
-
- //---------------------------------------------------------------
-
- const SCSIZE nFixedBools = 32;
- BOOL aBool[nFixedBools];
- BOOL aTest[nFixedBools];
- SCSIZE nEntryCount = rParam.GetEntryCount();
- BOOL* pPasst = ( nEntryCount <= nFixedBools ? &aBool[0] : new BOOL[nEntryCount] );
- BOOL* pTest = ( nEntryCount <= nFixedBools ? &aTest[0] : new BOOL[nEntryCount] );
-
- long nPos = -1;
- SCSIZE i = 0;
- CollatorWrapper* pCollator = (rParam.bCaseSens ? ScGlobal::GetCaseCollator() :
- ScGlobal::GetCollator() );
- ::utl::TransliterationWrapper* pTransliteration = (rParam.bCaseSens ?
- ScGlobal::GetCaseTransliteration() : ScGlobal::GetpTransliteration());
-
- while ( (i < nEntryCount) && rParam.GetEntry(i).bDoQuery )
+bool ScDPTableDataCache::ValidQuery( SCROW nRow, const ScQueryParam &rParam, bool *pSpecial)
+{
+ if (!rParam.GetEntry(0).bDoQuery)
+ return true;
+ bool bMatchWholeCell = mpDoc->GetDocOptions().IsMatchWholeCell();
+
+ //---------------------------------------------------------------
+
+ const SCSIZE nFixedBools = 32;
+ bool aBool[nFixedBools];
+ bool aTest[nFixedBools];
+ SCSIZE nEntryCount = rParam.GetEntryCount();
+ bool* pPasst = ( nEntryCount <= nFixedBools ? &aBool[0] : new bool[nEntryCount] );
+ bool* pTest = ( nEntryCount <= nFixedBools ? &aTest[0] : new bool[nEntryCount] );
+
+ long nPos = -1;
+ SCSIZE i = 0;
+ CollatorWrapper* pCollator = (rParam.bCaseSens ? ScGlobal::GetCaseCollator() :
+ ScGlobal::GetCollator() );
+ ::utl::TransliterationWrapper* pTransliteration = (rParam.bCaseSens ?
+ ScGlobal::GetCaseTransliteration() : ScGlobal::GetpTransliteration());
+
+ while ((i < nEntryCount) && rParam.GetEntry(i).bDoQuery)
+ {
+ ScQueryEntry& rEntry = rParam.GetEntry(i);
+ // we can only handle one single direct query
+ // #i115431# nField in QueryParam is the sheet column, not the field within the source range
+ SCCOL nQueryCol = (SCCOL)rEntry.nField;
+ if ( nQueryCol < rParam.nCol1 )
+ nQueryCol = rParam.nCol1;
+ if ( nQueryCol > rParam.nCol2 )
+ nQueryCol = rParam.nCol2;
+ SCCOL nSourceField = nQueryCol - rParam.nCol1;
+ SCROW nId = GetItemDataId( nSourceField, nRow, FALSE );
+ const ScDPItemData* pCellData = GetItemDataById( nSourceField, nId );
+
+ bool bOk = false;
+ bool bTestEqual = false;
+
+ if (pSpecial && pSpecial[i])
{
- ScQueryEntry& rEntry = rParam.GetEntry(i);
- // we can only handle one single direct query
- // #i115431# nField in QueryParam is the sheet column, not the field within the source range
- SCCOL nQueryCol = (SCCOL)rEntry.nField;
- if ( nQueryCol < rParam.nCol1 )
- nQueryCol = rParam.nCol1;
- if ( nQueryCol > rParam.nCol2 )
- nQueryCol = rParam.nCol2;
- SCCOL nSourceField = nQueryCol - rParam.nCol1;
- SCROW nId = GetItemDataId( nSourceField, nRow, FALSE );
- const ScDPItemData* pCellData = GetItemDataById( nSourceField, nId );
-
- BOOL bOk = FALSE;
- BOOL bTestEqual = FALSE;
-
- if ( pSpecial && pSpecial[i] )
- {
- if (rEntry.nVal == SC_EMPTYFIELDS)
- bOk = ! pCellData->IsHasData();
- else // if (rEntry.nVal == SC_NONEMPTYFIELDS)
- bOk = pCellData->IsHasData();
- }
- else if ( !rEntry.bQueryByString && pCellData->IsValue() )
- { // by Value
- double nCellVal = pCellData->GetValue();
+ if (rEntry.nVal == SC_EMPTYFIELDS)
+ bOk = ! pCellData->IsHasData();
+ else // if (rEntry.nVal == SC_NONEMPTYFIELDS)
+ bOk = pCellData->IsHasData();
+ }
+ else if (!rEntry.bQueryByString && pCellData->IsValue())
+ { // by Value
+ double nCellVal = pCellData->GetValue();
- switch (rEntry.eOp)
- {
- case SC_EQUAL :
- bOk = ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- case SC_LESS :
- bOk = (nCellVal < rEntry.nVal) && !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- case SC_GREATER :
- bOk = (nCellVal > rEntry.nVal) && !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- case SC_LESS_EQUAL :
- bOk = (nCellVal < rEntry.nVal) || ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- case SC_GREATER_EQUAL :
- bOk = (nCellVal > rEntry.nVal) || ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- case SC_NOT_EQUAL :
- bOk = !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- default:
- bOk= FALSE;
- break;
- }
+ switch (rEntry.eOp)
+ {
+ case SC_EQUAL :
+ bOk = ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ case SC_LESS :
+ bOk = (nCellVal < rEntry.nVal) && !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ case SC_GREATER :
+ bOk = (nCellVal > rEntry.nVal) && !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ case SC_LESS_EQUAL :
+ bOk = (nCellVal < rEntry.nVal) || ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ case SC_GREATER_EQUAL :
+ bOk = (nCellVal > rEntry.nVal) || ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ case SC_NOT_EQUAL :
+ bOk = !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ default:
+ bOk= false;
+ break;
}
- else if ( (rEntry.eOp == SC_EQUAL || rEntry.eOp == SC_NOT_EQUAL)
- || (rEntry.bQueryByString
- && pCellData->HasStringData() )
+ }
+ else if ((rEntry.eOp == SC_EQUAL || rEntry.eOp == SC_NOT_EQUAL)
+ || (rEntry.bQueryByString
+ && pCellData->HasStringData() )
)
- { // by String
- String aCellStr = pCellData->GetString();
+ { // by String
+ String aCellStr = pCellData->GetString();
- BOOL bRealRegExp = (rParam.bRegExp && ((rEntry.eOp == SC_EQUAL)
- || (rEntry.eOp == SC_NOT_EQUAL)));
- BOOL bTestRegExp = FALSE;
- if ( bRealRegExp || bTestRegExp )
- {
- xub_StrLen nStart = 0;
- xub_StrLen nEnd = aCellStr.Len();
- BOOL bMatch = (BOOL) rEntry.GetSearchTextPtr( rParam.bCaseSens )
- ->SearchFrwrd( aCellStr, &nStart, &nEnd );
- // from 614 on, nEnd is behind the found text
- if ( bMatch && bMatchWholeCell
- && (nStart != 0 || nEnd != aCellStr.Len()) )
- bMatch = FALSE; // RegExp must match entire cell string
- if ( bRealRegExp )
- bOk = ((rEntry.eOp == SC_NOT_EQUAL) ? !bMatch : bMatch);
- else
- bTestEqual = bMatch;
- }
- if ( !bRealRegExp )
+ bool bRealRegExp = (rParam.bRegExp && ((rEntry.eOp == SC_EQUAL)
+ || (rEntry.eOp == SC_NOT_EQUAL)));
+ bool bTestRegExp = false;
+ if (bRealRegExp || bTestRegExp)
+ {
+ xub_StrLen nStart = 0;
+ xub_StrLen nEnd = aCellStr.Len();
+ bool bMatch = (bool) rEntry.GetSearchTextPtr( rParam.bCaseSens )
+ ->SearchFrwrd( aCellStr, &nStart, &nEnd );
+ // from 614 on, nEnd is behind the found text
+ if (bMatch && bMatchWholeCell
+ && (nStart != 0 || nEnd != aCellStr.Len()))
+ bMatch = false; // RegExp must match entire cell string
+ if (bRealRegExp)
+ bOk = ((rEntry.eOp == SC_NOT_EQUAL) ? !bMatch : bMatch);
+ else
+ bTestEqual = bMatch;
+ }
+ if (!bRealRegExp)
+ {
+ if (rEntry.eOp == SC_EQUAL || rEntry.eOp == SC_NOT_EQUAL)
{
- if ( rEntry.eOp == SC_EQUAL || rEntry.eOp == SC_NOT_EQUAL )
+ if (bMatchWholeCell)
{
- if ( bMatchWholeCell )
+ bOk = pTransliteration->isEqual( aCellStr, *rEntry.pStr );
+ String aStr = *rEntry.pStr;
+ sal_Bool bHasStar = sal_False;
+ xub_StrLen nIndex;
+ if (( nIndex = aStr.Search('*') ) != STRING_NOTFOUND)
+ bHasStar = sal_True;
+ if (bHasStar && (nIndex>0))
{
- bOk = pTransliteration->isEqual( aCellStr, *rEntry.pStr );
- //Added by zhaosz,for sodc_2702,20060808
- String aStr = *rEntry.pStr;//"f*"
- //modified by weihuaw,for SODC_16698
- //use another way to find "*" in aStr
- sal_Bool bHasStar = sal_False;
- xub_StrLen nIndex;
- if( ( nIndex = aStr.Search('*') ) != STRING_NOTFOUND )
- bHasStar = sal_True;
- if(bHasStar && (nIndex>0))
+ for (i=0;(i<nIndex) && (i< aCellStr.Len()) ; i++)
{
- for(i=0;(i<nIndex) && (i< aCellStr.Len()) ; i++)
+ if (aCellStr.GetChar( (USHORT)i ) == aStr.GetChar((USHORT) i ))
{
- if(aCellStr.GetChar( (USHORT)i ) == aStr.GetChar((USHORT) i ))
- {
- bOk=1;
- }
- else
- {
- bOk=0;
- break;
- }
+ bOk=1;
+ }
+ else
+ {
+ bOk=0;
+ break;
}
}
- //end modified
- //Added end,20060808
}
- else
- {
- ::com::sun::star::uno::Sequence< sal_Int32 > xOff;
- String aCell( pTransliteration->transliterate(
- aCellStr, ScGlobal::eLnge, 0, aCellStr.Len(),
- &xOff ) );
- String aQuer( pTransliteration->transliterate(
- *rEntry.pStr, ScGlobal::eLnge, 0, rEntry.pStr->Len(),
- &xOff ) );
- bOk = (aCell.Search( aQuer ) != STRING_NOTFOUND);
- }
- if ( rEntry.eOp == SC_NOT_EQUAL )
- bOk = !bOk;
}
else
- { // use collator here because data was probably sorted
- sal_Int32 nCompare = pCollator->compareString(
- aCellStr, *rEntry.pStr );
- switch (rEntry.eOp)
- {
- case SC_LESS :
- bOk = (nCompare < 0);
- break;
- case SC_GREATER :
- bOk = (nCompare > 0);
- break;
- case SC_LESS_EQUAL :
- bOk = (nCompare <= 0);
- break;
- case SC_GREATER_EQUAL :
- bOk = (nCompare >= 0);
- break;
- case SC_NOT_EQUAL:
- DBG_ASSERT( false , "SC_NOT_EQUAL");
- break;
- case SC_TOPVAL:
- case SC_BOTVAL:
- case SC_TOPPERC:
- case SC_BOTPERC:
- default:
- break;
- }
+ {
+ ::com::sun::star::uno::Sequence< sal_Int32 > xOff;
+ String aCell( pTransliteration->transliterate(
+ aCellStr, ScGlobal::eLnge, 0, aCellStr.Len(),
+ &xOff ) );
+ String aQuer( pTransliteration->transliterate(
+ *rEntry.pStr, ScGlobal::eLnge, 0, rEntry.pStr->Len(),
+ &xOff ) );
+ bOk = (aCell.Search( aQuer ) != STRING_NOTFOUND);
+ }
+ if (rEntry.eOp == SC_NOT_EQUAL)
+ bOk = !bOk;
+ }
+ else
+ { // use collator here because data was probably sorted
+ sal_Int32 nCompare = pCollator->compareString(
+ aCellStr, *rEntry.pStr );
+ switch (rEntry.eOp)
+ {
+ case SC_LESS :
+ bOk = (nCompare < 0);
+ break;
+ case SC_GREATER :
+ bOk = (nCompare > 0);
+ break;
+ case SC_LESS_EQUAL :
+ bOk = (nCompare <= 0);
+ break;
+ case SC_GREATER_EQUAL :
+ bOk = (nCompare >= 0);
+ break;
+ case SC_NOT_EQUAL:
+ DBG_ASSERT( false , "SC_NOT_EQUAL");
+ break;
+ case SC_TOPVAL:
+ case SC_BOTVAL:
+ case SC_TOPPERC:
+ case SC_BOTPERC:
+ default:
+ break;
}
}
}
+ }
- if (nPos == -1)
+ if (nPos == -1)
+ {
+ nPos++;
+ pPasst[nPos] = bOk;
+ pTest[nPos] = bTestEqual;
+ }
+ else
+ {
+ if (rEntry.eConnect == SC_AND)
{
- nPos++;
- pPasst[nPos] = bOk;
- pTest[nPos] = bTestEqual;
+ pPasst[nPos] = pPasst[nPos] && bOk;
+ pTest[nPos] = pTest[nPos] && bTestEqual;
}
else
{
- if (rEntry.eConnect == SC_AND)
- {
- pPasst[nPos] = pPasst[nPos] && bOk;
- pTest[nPos] = pTest[nPos] && bTestEqual;
- }
- else
- {
- nPos++;
- pPasst[nPos] = bOk;
- pTest[nPos] = bTestEqual;
- }
+ nPos++;
+ pPasst[nPos] = bOk;
+ pTest[nPos] = bTestEqual;
}
- i++;
}
+ i++;
+ }
- for ( long j=1; j <= nPos; j++ )
- {
- pPasst[0] = pPasst[0] || pPasst[j];
- pTest[0] = pTest[0] || pTest[j];
- }
+ for (long j=1; j <= nPos; j++)
+ {
+ pPasst[0] = pPasst[0] || pPasst[j];
+ pTest[0] = pTest[0] || pTest[j];
+ }
- BOOL bRet = pPasst[0];
- if ( pPasst != &aBool[0] )
- delete [] pPasst;
- if ( pTest != &aTest[0] )
- delete [] pTest;
+ bool bRet = pPasst[0];
+ if (pPasst != &aBool[0])
+ delete [] pPasst;
+ if (pTest != &aTest[0])
+ delete [] pTest;
- return bRet;
+ return bRet;
}
-// -----------------------------------------------------------------------
bool ScDPTableDataCache::IsRowEmpty( SCROW nRow ) const
{
- return mbEmptyRow[ nRow ];
-
+ return mbEmptyRow[ nRow ];
}
-// -----------------------------------------------------------------------
bool ScDPTableDataCache::IsEmptyMember( SCROW nRow, USHORT nColumn ) const
{
- return !GetItemDataById( nColumn, GetItemDataId( nColumn, nRow, FALSE ) )->IsHasData();
+ return !GetItemDataById( nColumn, GetItemDataId( nColumn, nRow, false ) )->IsHasData();
}
-BOOL ScDPTableDataCache::AddData(long nDim, ScDPItemData* pitemData)
+bool ScDPTableDataCache::AddData(long nDim, ScDPItemData* pitemData)
{
DBG_ASSERT( IsValid(), " IsValid() == false " );
DBG_ASSERT( nDim < mnColumnCount && nDim >=0 , "dimension out of bound" );
SCROW nIndex = 0;
- BOOL bInserted = FALSE;
+ bool bInserted = false;
pitemData->SetDate( lcl_isDate( GetNumType( pitemData->nNumFormat ) ) );
@@ -896,7 +831,7 @@ BOOL ScDPTableDataCache::AddData(long nDim, ScDPItemData* pitemData)
mpGlobalOrder[nDim].insert( mpGlobalOrder[nDim].begin()+nIndex, mpTableDataValues[nDim].size()-1 );
DBG_ASSERT( (size_t) mpGlobalOrder[nDim][nIndex] == mpTableDataValues[nDim].size()-1 ,"ScDPTableDataCache::AddData ");
mpSourceData[nDim].push_back( mpTableDataValues[nDim].size()-1 );
- bInserted = TRUE;
+ bInserted = true;
}
else
mpSourceData[nDim].push_back( mpGlobalOrder[nDim][nIndex] );
@@ -904,25 +839,26 @@ BOOL ScDPTableDataCache::AddData(long nDim, ScDPItemData* pitemData)
size_t nCurRow = mpSourceData[nDim].size() -1 ;
while ( mbEmptyRow.size() <= nCurRow )
- mbEmptyRow.push_back( TRUE );
+ mbEmptyRow.push_back( true );
if ( pitemData->IsHasData() )
- mbEmptyRow[ nCurRow ] = FALSE;
+ mbEmptyRow[ nCurRow ] = false;
if ( !bInserted )
delete pitemData;
- return TRUE;
+ return true;
}
String ScDPTableDataCache::GetDimensionName( USHORT nColumn ) const
{
- DBG_ASSERT( /* nColumn>=0 && */ nColumn < mrLabelNames.size()-1 , "ScDPTableDataCache::GetDimensionName");
- DBG_ASSERT( mrLabelNames.size() == static_cast <USHORT> (mnColumnCount+1), "ScDPTableDataCache::GetDimensionName");
- if ( static_cast<size_t>(nColumn+1) < mrLabelNames.size() )
+ DBG_ASSERT(nColumn < maLabelNames.size()-1 , "ScDPTableDataCache::GetDimensionName");
+ DBG_ASSERT(maLabelNames.size() == static_cast <USHORT> (mnColumnCount+1), "ScDPTableDataCache::GetDimensionName");
+
+ if ( static_cast<size_t>(nColumn+1) < maLabelNames.size() )
{
- return mrLabelNames[nColumn+1]->aString;
+ return maLabelNames[nColumn+1]->aString;
}
else
return String();
@@ -932,24 +868,23 @@ void ScDPTableDataCache::AddLabel(ScDPItemData *pData)
{
DBG_ASSERT( IsValid(), " IsValid() == false " );
- if ( mrLabelNames.size() == 0 )
- mrLabelNames.push_back( new ScDPItemData( ScGlobal::GetRscString(STR_PIVOT_DATA) ) );
-
+ if ( maLabelNames.size() == 0 )
+ maLabelNames.push_back( new ScDPItemData(ScGlobal::GetRscString(STR_PIVOT_DATA)) );
//reset name if needed
String strNewName = pData->aString;
- BOOL bFound = FALSE;
+ bool bFound = false;
long nIndex = 1;
do
{
- for ( long i= mrLabelNames.size()-1; i>=0; i-- )
+ for ( long i= maLabelNames.size()-1; i>=0; i-- )
{
- if( mrLabelNames[i]->aString == strNewName )
+ if( maLabelNames[i]->aString == strNewName )
{
strNewName = pData->aString;
strNewName += String::CreateFromInt32( nIndex );
nIndex ++ ;
- bFound = TRUE;
+ bFound = true;
}
}
bFound = !bFound;
@@ -957,11 +892,11 @@ void ScDPTableDataCache::AddLabel(ScDPItemData *pData)
while ( !bFound );
pData->aString = strNewName;
- mrLabelNames.push_back( pData );
+ maLabelNames.push_back( pData );
}
-SCROW ScDPTableDataCache::GetItemDataId(USHORT nDim, SCROW nRow, BOOL bRepeatIfEmpty) const
-{ //
+SCROW ScDPTableDataCache::GetItemDataId(USHORT nDim, SCROW nRow, bool bRepeatIfEmpty) const
+{
DBG_ASSERT( IsValid(), " IsValid() == false " );
DBG_ASSERT( /* nDim >= 0 && */ nDim < mnColumnCount, "ScDPTableDataCache::GetItemDataId " );
@@ -977,7 +912,7 @@ SCROW ScDPTableDataCache::GetItemDataId(USHORT nDim, SCROW nRow, BOOL bRepeatIfE
const ScDPItemData* ScDPTableDataCache::GetItemDataById(long nDim, SCROW nId) const
{
if ( nId >= GetRowCount() )
- return maAdditionalDatas.getData( nId - GetRowCount() );
+ return maAdditionalData.getData( nId - GetRowCount() );
if ( (size_t)nId >= mpTableDataValues[nDim].size() || nDim >= mnColumnCount || nId < 0 )
return NULL;
@@ -1027,7 +962,7 @@ ULONG ScDPTableDataCache::GetNumberFormat( long nDim ) const
return mpTableDataValues[nDim][0]->nNumFormat;
}
-BOOL ScDPTableDataCache::IsDateDimension( long nDim ) const
+bool ScDPTableDataCache::IsDateDimension( long nDim ) const
{
if ( nDim >= mnColumnCount )
return false;
@@ -1052,9 +987,9 @@ const ScDPItemData* ScDPTableDataCache::GetSortedItemData(SCCOL nDim, SCROW nOrd
SCCOL ScDPTableDataCache::GetDimensionIndex(String sName) const
{
- for ( size_t n = 1; n < mrLabelNames.size(); n ++ ) //defects, label name map wrong SODC_17590, SODC_18932,SODC_18827,SODC_18960,SODC_18923
+ for ( size_t n = 1; n < maLabelNames.size(); n ++ )
{
- if ( mrLabelNames[n]->GetString() == sName )
+ if ( maLabelNames[n]->GetString() == sName )
return (SCCOL)(n-1);
}
return -1;
@@ -1072,7 +1007,7 @@ SCROW ScDPTableDataCache::GetIdByItemData(long nDim, String sItemData ) const
}
ScDPItemData rData ( sItemData );
- return GetRowCount() +maAdditionalDatas.getDataId(rData);
+ return GetRowCount() +maAdditionalData.getDataId(rData);
}
SCROW ScDPTableDataCache::GetIdByItemData( long nDim, const ScDPItemData& rData ) const
@@ -1085,7 +1020,7 @@ SCROW ScDPTableDataCache::GetIdByItemData( long nDim, const ScDPItemData& rData
return n;
}
}
- return GetRowCount() + maAdditionalDatas.getDataId(rData);
+ return GetRowCount() + maAdditionalData.getDataId(rData);
}
SCROW ScDPTableDataCache::GetAdditionalItemID ( String sItemData )
@@ -1096,7 +1031,7 @@ SCROW ScDPTableDataCache::GetAdditionalItemID ( String sItemData )
SCROW ScDPTableDataCache::GetAdditionalItemID( const ScDPItemData& rData )
{
- return GetRowCount() + maAdditionalDatas.insertData( rData );
+ return GetRowCount() + maAdditionalData.insertData( rData );
}
@@ -1120,7 +1055,7 @@ SCROW ScDPTableDataCache::GetOrder(long nDim, SCROW nIndex) const
return mpIndexOrder[nDim][nIndex];
}
-ScDocument* ScDPTableDataCache::GetDoc() const
+ScDocument* ScDPTableDataCache::GetDoc() const
{
return mpDoc;
};
@@ -1129,7 +1064,8 @@ long ScDPTableDataCache::GetColumnCount() const
{
return mnColumnCount;
}
-long ScDPTableDataCache::GetId() const
+
+long ScDPTableDataCache::GetId() const
{
return mnID;
}
diff --git a/sc/source/core/data/dptabres.cxx b/sc/source/core/data/dptabres.cxx
index cc7b986eeb16..c3cafc868430 100644
--- a/sc/source/core/data/dptabres.cxx
+++ b/sc/source/core/data/dptabres.cxx
@@ -232,14 +232,12 @@ BOOL ScDPRowMembersOrder::operator()( sal_Int32 nIndex1, sal_Int32 nIndex2 ) con
{
const ScDPResultMember* pMember1 = rDimension.GetMember(nIndex1);
const ScDPResultMember* pMember2 = rDimension.GetMember(nIndex2);
-// Wang Xu Ming -- 3/17/2009
// make the hide item to the largest order.
if ( !pMember1->IsVisible() || !pMember2->IsVisible() )
return pMember1->IsVisible();
const ScDPDataMember* pDataMember1 = pMember1->GetDataRoot() ;
const ScDPDataMember* pDataMember2 = pMember2->GetDataRoot();
-// End Comments
// GetDataRoot can be NULL if there was no data.
// IsVisible == FALSE can happen after AutoShow.
return lcl_IsLess( pDataMember1, pDataMember2, nMeasure, bAscending );
@@ -249,12 +247,10 @@ BOOL ScDPColMembersOrder::operator()( sal_Int32 nIndex1, sal_Int32 nIndex2 ) con
{
ScDPDataMember* pDataMember1 = rDimension.GetMember(nIndex1);
ScDPDataMember* pDataMember2 = rDimension.GetMember(nIndex2);
- // Wang Xu Ming -- 2009-6-17
BOOL bHide1 = pDataMember1 && !pDataMember1->IsVisible();
BOOL bHide2 = pDataMember2 && !pDataMember2->IsVisible();
if ( bHide1 || bHide2 )
return !bHide1;
- // End Comments
return lcl_IsLess( pDataMember1, pDataMember2, nMeasure, bAscending );
}
@@ -604,7 +600,6 @@ void ScDPAggData::Calculate( ScSubTotalFunc eFunc, const ScDPSubTotalState& rSub
if ( bEmpty || bError )
fResult = 0.0; // default, in case the state is later modified
-// fprintf(stdout, "ScDPAggData::Calculate: result = %g\n", fResult);fflush(stdout);
fVal = fResult; // used directly from now on
fAux = 0.0; // used for running total or original result of reference value
}
@@ -1099,7 +1094,6 @@ void ScDPResultMember::InitFrom( const vector<ScDPDimension*>& ppDim, const vect
// skip child dimension if details are not shown
if ( GetDPMember() && !GetDPMember()->getShowDetails() )
{
- // Wang Xu Ming -- 2009-6-16
// Show DataLayout dimention
nMemberStep = 1;
while ( nPos < ppDim.size() )
@@ -1117,7 +1111,6 @@ void ScDPResultMember::InitFrom( const vector<ScDPDimension*>& ppDim, const vect
nMemberStep ++;
}
}
- // End Comments
bHasHiddenDetails = TRUE; // only if there is a next dimension
return;
}
@@ -1146,8 +1139,6 @@ void ScDPResultMember::LateInitFrom( LateInitParams& rParams/*const vector<ScDPD
// skip child dimension if details are not shown
if ( GetDPMember() && !GetDPMember()->getShowDetails() )
{
- // Wang Xu Ming -- 2009-6-16
- // DataPilot Migration
// Show DataLayout dimention
nMemberStep = 1;
while ( !rParams.IsEnd( nPos ) )
@@ -1171,7 +1162,6 @@ void ScDPResultMember::LateInitFrom( LateInitParams& rParams/*const vector<ScDPD
nMemberStep ++;
}
}
- // End Comments
bHasHiddenDetails = TRUE; // only if there is a next dimension
return;
}
@@ -1457,7 +1447,6 @@ void ScDPResultMember::FillMemberResults( uno::Sequence<sheet::MemberResult>* pS
if (bRoot) // same sequence for root member
pChildDimension->FillMemberResults( pSequences, rPos, nMeasure );
else
- //pChildDimension->FillMemberResults( pSequences + 1, rPos, nMeasure );
pChildDimension->FillMemberResults( pSequences + nMemberStep/*1*/, rPos, nMeasure );
if ( bTitleLine ) // title row is included in GetSize, so the following
@@ -2269,7 +2258,6 @@ void ScDPDataMember::UpdateRunningTotals( const ScDPResultMember* pRefMember,
BOOL bHasChild = ( pRefChild != NULL );
long nUserSubCount = pRefMember->GetSubTotalCount();
- //if ( nUserSubCount || !bHasChild )
{
// Calculate at least automatic if no subtotals are selected,
// show only own values if there's no child dimension (innermost).
@@ -2658,10 +2646,7 @@ private:
BOOL bIncludeAll;
BOOL bIsBase;
long nGroupBase;
- // Wang Xu Ming -- 2009-8-6
- // DataPilot Migration - Cache&&Performance
SCROW nBaseDataId;
- // End Comments
public:
ScDPGroupCompare( const ScDPResultData* pData, const ScDPInitState& rState, long nDimension );
~ScDPGroupCompare() {}
@@ -2851,7 +2836,6 @@ void ScDPResultDimension::InitFrom( const vector<ScDPDimension*>& ppDim, const v
void ScDPResultDimension::LateInitFrom( LateInitParams& rParams/* const vector<ScDPDimension*>& ppDim, const vector<ScDPLevel*>& ppLev*/,
const vector<SCROW>& pItemData, size_t nPos,
ScDPInitState& rInitState )
-// End Comments
{
if ( rParams.IsEnd( nPos ) )
return;
@@ -2960,9 +2944,6 @@ void ScDPResultDimension::LateInitFrom( LateInitParams& rParams/* const vector<S
ScDPResultMember* pResultMember = FindMember( rThisData );
if( NULL != pResultMember )
{
- //DBG_TRACE( "ScDPResultDimension::LateInitFrom");
- // DBG_TRACESTR( pResultMember->GetDPMember()->GetNameStr());
-
rInitState.AddMember( nDimSource, pResultMember->GetDataId() );
pResultMember->LateInitFrom( rParams, pItemData, nPos+1, rInitState );
rInitState.RemoveMember();
@@ -3005,7 +2986,6 @@ bool ScDPResultDimension::IsValidEntry( const vector< SCROW >& aMembers ) const
ByteString strTemp ("IsValidEntry: Member not found, DimName = " );
strTemp += ByteString( GetName(), RTL_TEXTENCODING_UTF8 );
DBG_TRACE( strTemp.GetBuffer() );
- // DBG_ERROR("IsValidEntry: Member not found");
#endif
return false;
}
@@ -3335,7 +3315,6 @@ ScDPDataMember* ScDPResultDimension::GetRowReferenceMember( const ScDPRelativePo
return pColMember;
}
-// static
ScDPDataMember* ScDPResultDimension::GetColReferenceMember( const ScDPRelativePos* pRelativePos, const String* pName,
long nRefDimPos, const ScDPRunningTotalState& rRunning )
{
@@ -3928,8 +3907,6 @@ size_t ScDPResultVisibilityData::MemberHash::operator() (const ScDPItemData& r)
else
return rtl_ustr_hashCode_WithLength(r.GetString().GetBuffer(), r.GetString().Len());
}
-// Wang Xu Ming -- 2009-6-10
-// DataPilot Migration
SCROW ScDPResultMember::GetDataId( ) const
{
const ScDPMember* pMemberDesc = GetDPMember();
@@ -3949,27 +3926,6 @@ ScDPResultMember* ScDPResultDimension::AddMember(const ScDPParentDimData &aData
return pMember;
}
-ResultMembers* ScDPResultDimension::GetResultMember( ScDPDimension* pThisDim, ScDPLevel* pThisLevel )
-{
- ResultMembers* pResultMembers = new ResultMembers();
- // global order is used to initialize aMembers, so it doesn't have to be looked at later
- const ScMemberSortOrder& rGlobalOrder = pThisLevel->GetGlobalOrder();
-
- ScDPMembers* pMembers = pThisLevel->GetMembersObject();
- long nMembCount = pMembers->getCount();
- for ( long i=0; i<nMembCount; i++ )
- {
- long nSorted = rGlobalOrder.empty() ? i : rGlobalOrder[i];
- ScDPMember* pMember = pMembers->getByIndex(nSorted);
- if ( NULL == pResultMembers->FindMember( pMember->GetItemDataId() ) )
- {
- ScDPParentDimData* pNew = new ScDPParentDimData( i, pThisDim, pThisLevel, pMember );
- pResultMembers->InsertMember( pNew );
- }
- }
- return pResultMembers;
-}
-
ScDPResultMember* ScDPResultDimension::InsertMember(ScDPParentDimData *pMemberData)
{
SCROW nInsert = 0;
@@ -4019,8 +3975,6 @@ void ScDPResultDimension:: InitWithMembers( LateInitParams& rParams,
}
if ( pResultMember )
{
- // DBG_TRACE( "ScDPResultDimension::InitWithMembers");
- // DBG_TRACESTR( pResultMember->GetDPMember()->GetNameStr());
rInitState.AddMember( nDimSource, pResultMember->GetDataId() );
pResultMember->LateInitFrom( rParams /*ppDim, ppLev*/, pItemData, nPos+1 , rInitState );
rInitState.RemoveMember();
@@ -4050,7 +4004,7 @@ ResultMembers::ResultMembers():
}
ResultMembers::~ResultMembers()
{
- for ( DimMemberHash::const_iterator iter = maMemberHash.begin(); iter != maMemberHash.end(); iter++ )
+ for ( DimMemberHash::const_iterator iter = maMemberHash.begin(); iter != maMemberHash.end(); ++iter )
delete iter->second;
}
// -----------------------------------------------------------------------
@@ -4072,9 +4026,6 @@ BOOL LateInitParams::IsEnd( size_t nPos ) const
return nPos >= mppDim.size();
}
-// End Comments
-// Wang Xu Ming -- 2009-8-4
-// DataPilot Migration - old defects merge
void ScDPResultDimension::CheckShowEmpty( BOOL bShow )
{
long nCount = maMemberArray.size();
@@ -4107,6 +4058,6 @@ void ScDPResultMember::CheckShowEmpty( BOOL bShow )
pChildDim->CheckShowEmpty( TRUE );
}
}
-}// End Comments
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/dptabsrc.cxx b/sc/source/core/data/dptabsrc.cxx
index 4b9adca7e9c3..7c84e9f97cc3 100644
--- a/sc/source/core/data/dptabsrc.cxx
+++ b/sc/source/core/data/dptabsrc.cxx
@@ -301,11 +301,9 @@ void ScDPSource::SetOrientation(long nColumn, USHORT nNew)
case sheet::DataPilotFieldOrientation_PAGE:
nPageDims[nPageDimCount++] = nColumn;
break;
- // Wang Xu Ming -- 2009-9-1
// DataPilot Migration - Cache&&Performance
case sheet::DataPilotFieldOrientation_HIDDEN:
break;
- // End Comments
default:
DBG_ERROR( "ScDPSource::SetOrientation: unexpected orientation" );
break;
@@ -906,8 +904,8 @@ void ScDPSource::CreateRes_Impl()
aInitState.AddMember( nPageDims[i], GetMemberId( nPageDims[i], pDim->GetSelectedData() ) );
}
- pColResRoot = new ScDPResultMember( pResData, /*NULL, NULL, NULL, */bColumnGrand );
- pRowResRoot = new ScDPResultMember( pResData, /*NULL, NULL, NULL, */bRowGrand );
+ pColResRoot = new ScDPResultMember( pResData, bColumnGrand );
+ pRowResRoot = new ScDPResultMember( pResData, bRowGrand );
FillCalcInfo(false, aInfo, bHasAutoShow);
long nColLevelCount = aInfo.aColLevels.size();
@@ -1089,8 +1087,6 @@ void ScDPSource::FillMemberResults()
for (long i=0; i<nColLevelCount; i++)
pColResults[i].realloc(nColDimSize);
- // ScDPResultDimension* pColResDim = pColResRoot->GetChildDimension();
- // pColResDim->FillMemberResults( pColResults, 0, pResData->GetColStartMeasure() );
long nPos = 0;
pColResRoot->FillMemberResults( pColResults, nPos, pResData->GetColStartMeasure(),
TRUE, NULL, NULL );
@@ -1105,8 +1101,6 @@ void ScDPSource::FillMemberResults()
for (long i=0; i<nRowLevelCount; i++)
pRowResults[i].realloc(nRowDimSize);
- // ScDPResultDimension* pRowResDim = pRowResRoot->GetChildDimension();
- // pRowResDim->FillMemberResults( pRowResults, 0, pResData->GetRowStartMeasure() );
long nPos = 0;
pRowResRoot->FillMemberResults( pRowResults, nPos, pResData->GetRowStartMeasure(),
TRUE, NULL, NULL );
@@ -1466,7 +1460,6 @@ long ScDPDimension::getUsedHierarchy() const
void ScDPDimension::setUsedHierarchy(long /* nNew */)
{
// #i52547# don't use the incomplete date hierarchy implementation - ignore the call
- // nUsedHier = nNew;
}
ScDPDimension* ScDPDimension::CreateCloneObject()
@@ -1732,9 +1725,9 @@ uno::Any SAL_CALL ScDPDimension::getPropertyValue( const rtl::OUString& aPropert
aRet <<= uno::Sequence<sheet::TableFilterField>(0);
}
else if (aNameStr.EqualsAscii(SC_UNO_LAYOUTNAME))
- aRet <<= mpLayoutName.get() ? *mpLayoutName : OUString::createFromAscii("");
+ aRet <<= mpLayoutName.get() ? *mpLayoutName : OUString(RTL_CONSTASCII_USTRINGPARAM(""));
else if (aNameStr.EqualsAscii(SC_UNO_FIELD_SUBTOTALNAME))
- aRet <<= mpSubtotalName.get() ? *mpSubtotalName : OUString::createFromAscii("");
+ aRet <<= mpSubtotalName.get() ? *mpSubtotalName : OUString(RTL_CONSTASCII_USTRINGPARAM(""));
else if (aNameStr.EqualsAscii(SC_UNO_HAS_HIDDEN_MEMBER))
aRet <<= mbHasHiddenMember;
else if (aNameStr.EqualsAscii(SC_UNO_FLAGS))
@@ -1761,14 +1754,7 @@ ScDPHierarchies::ScDPHierarchies( ScDPSource* pSrc, long nD ) :
{
//! hold pSource
-#if 0
// date columns have 3 hierarchies (flat/quarter/week), other columns only one
- long nSrcDim = pSource->GetSourceDim( nDim );
- if ( pSource->IsDateDimension( nSrcDim ) )
- nHierCount = SC_DAPI_DATE_HIERARCHIES;
- else
- nHierCount = 1;
-#endif
// #i52547# don't offer the incomplete date hierarchy implementation
nHierCount = 1;
@@ -1804,7 +1790,6 @@ uno::Any SAL_CALL ScDPHierarchies::getByName( const rtl::OUString& aName )
}
throw container::NoSuchElementException();
-// return uno::Any();
}
uno::Sequence<rtl::OUString> SAL_CALL ScDPHierarchies::getElementNames() throw(uno::RuntimeException)
@@ -1988,7 +1973,6 @@ uno::Any SAL_CALL ScDPLevels::getByName( const rtl::OUString& aName )
}
throw container::NoSuchElementException();
-// return uno::Any();
}
uno::Sequence<rtl::OUString> SAL_CALL ScDPLevels::getElementNames() throw(uno::RuntimeException)
@@ -2134,7 +2118,6 @@ void ScDPLevel::EvaluateSortOrder()
ScDPMembers* pLocalMembers = GetMembersObject();
long nCount = pLocalMembers->getCount();
-// DBG_ASSERT( aGlobalOrder.empty(), "sort twice?" );
aGlobalOrder.resize( nCount );
for (long nPos=0; nPos<nCount; nPos++)
aGlobalOrder[nPos] = nPos;
@@ -2329,7 +2312,6 @@ void SAL_CALL ScDPLevel::setPropertyValue( const rtl::OUString& aPropertyName, c
else
{
DBG_ERROR("unknown property");
- //! THROW( UnknownPropertyException() );
}
}
@@ -2369,7 +2351,6 @@ uno::Any SAL_CALL ScDPLevel::getPropertyValue( const rtl::OUString& aPropertyNam
else
{
DBG_ERROR("unknown property");
- //! THROW( UnknownPropertyException() );
}
return aRet;
}
@@ -2399,7 +2380,6 @@ ScDPMembers::ScDPMembers( ScDPSource* pSrc, long nD, long nH, long nL ) :
{
case SC_DAPI_LEVEL_YEAR:
{
- // Wang Xu Ming - DataPilot migration
const ScDPItemData* pLastNumData = NULL;
for ( SCROW n = 0 ;n <GetSrcItemsCount() ; n-- )
{
@@ -2409,7 +2389,6 @@ ScDPMembers::ScDPMembers( ScDPSource* pSrc, long nD, long nH, long nL ) :
else
pLastNumData = pData;
}
- // End Comments
if ( pLastNumData )
{
@@ -2502,7 +2481,6 @@ uno::Any SAL_CALL ScDPMembers::getByName( const rtl::OUString& aName )
}
throw container::NoSuchElementException();
-// return uno::Any();
}
uno::Sequence<rtl::OUString> SAL_CALL ScDPMembers::getElementNames() throw(uno::RuntimeException)
@@ -2599,13 +2577,11 @@ ScDPMember* ScDPMembers::getByIndex(long nIndex) const
{
//! cache year range here!
- // Wang Xu Ming - DataPilot migration
double fFirstVal = pSource->GetData()->GetMemberByIndex( nSrcDim, 0 )->GetValue();
long nFirstYear = pSource->GetData()->GetDatePart(
(long)::rtl::math::approxFloor( fFirstVal ),
nHier, nLev );
- // End Comments
nVal = nFirstYear + nIndex;
}
else if ( nHier == SC_DAPI_HIERARCHY_WEEK && nLev == SC_DAPI_LEVEL_WEEKDAY )
@@ -2670,22 +2646,6 @@ ScDPMember::~ScDPMember()
//! release pSource
}
-BOOL ScDPMember::IsNamedItem( const ScDPItemData& r ) const
-{
- long nSrcDim = pSource->GetSourceDim( nDim );
- if ( nHier != SC_DAPI_HIERARCHY_FLAT && pSource->IsDateDimension( nSrcDim ) && r.IsValue() )
- {
- long nComp = pSource->GetData()->GetDatePart(
- (long)::rtl::math::approxFloor( r.GetValue() ),
- nHier, nLev );
-
- // fValue is converted from integer, so simple comparison works
- return nComp == GetItemData().GetValue();
- }
-
- return r.IsCaseInsEqual( GetItemData() );
-}
-
BOOL ScDPMember::IsNamedItem( SCROW nIndex ) const
{
long nSrcDim = pSource->GetSourceDim( nDim );
@@ -2834,7 +2794,6 @@ void SAL_CALL ScDPMember::setPropertyValue( const rtl::OUString& aPropertyName,
else
{
DBG_ERROR("unknown property");
- //! THROW( UnknownPropertyException() );
}
}
@@ -2855,7 +2814,6 @@ uno::Any SAL_CALL ScDPMember::getPropertyValue( const rtl::OUString& aPropertyNa
else
{
DBG_ERROR("unknown property");
- //! THROW( UnknownPropertyException() );
}
return aRet;
}
@@ -2866,7 +2824,7 @@ SC_IMPL_DUMMY_PROPERTY_LISTENER( ScDPMember )
ScDPTableDataCache* ScDPSource::GetCache()
{
DBG_ASSERT( GetData() , "empty ScDPTableData pointer");
- return ( GetData()!=NULL) ? GetData()->GetCacheTable().GetCache() : NULL ;
+ return ( GetData()!=NULL) ? GetData()->GetCacheTable().getCache() : NULL ;
}
const ScDPItemData& ScDPMember::GetItemData() const
@@ -2906,6 +2864,5 @@ const ScDPItemData* ScDPMembers::GetSrcItemDataByIndex( SCROW nIndex)
{
return pSource->GetData()->GetColumnEntries( nDim ).size();
}
-// End Comments
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/drawpage.cxx b/sc/source/core/data/drawpage.cxx
index 541318df0c8c..ff18ac6e05e9 100644
--- a/sc/source/core/data/drawpage.cxx
+++ b/sc/source/core/data/drawpage.cxx
@@ -44,7 +44,7 @@
// -----------------------------------------------------------------------
-ScDrawPage::ScDrawPage(ScDrawLayer& rNewModel, StarBASIC* pBasic, BOOL bMasterPage) :
+ScDrawPage::ScDrawPage(ScDrawLayer& rNewModel, StarBASIC* pBasic, bool bMasterPage) :
FmFormPage(rNewModel, pBasic, bMasterPage)
{
SetSize( Size( LONG_MAX, LONG_MAX ) );
@@ -52,7 +52,7 @@ ScDrawPage::ScDrawPage(ScDrawLayer& rNewModel, StarBASIC* pBasic, BOOL bMasterPa
// -----------------------------------------------------------------------
-__EXPORT ScDrawPage::~ScDrawPage()
+ScDrawPage::~ScDrawPage()
{
}
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index 31b2291c1ef8..7ea95632118a 100644
--- a/sc/source/core/data/drwlayer.cxx
+++ b/sc/source/core/data/drwlayer.cxx
@@ -69,6 +69,9 @@
#include <vcl/svapp.hxx>
#include <unotools/ucbstreamhelper.hxx>
+#include <basegfx/polygon/b2dpolygon.hxx>
+#include <basegfx/polygon/b2dpolygontools.hxx>
+
#include "drwlayer.hxx"
#include "drawpage.hxx"
#include "global.hxx"
@@ -89,7 +92,6 @@
// Abstand zur naechsten Zelle beim Loeschen (bShrink), damit der Anker
// immer an der richtigen Zelle angezeigt wird
-//#define SHRINK_DIST 3
// und noch etwas mehr, damit das Objekt auch sichtbar in der Zelle liegt
#define SHRINK_DIST 25
@@ -107,7 +109,6 @@ static E3dObjFactory* pF3d = NULL;
static USHORT nInst = 0;
SfxObjectShell* ScDrawLayer::pGlobalDrawPersist = NULL;
-//REMOVE SvPersist* ScDrawLayer::pGlobalDrawPersist = NULL;
BOOL bDrawIsInUndo = FALSE; //! Member
@@ -123,7 +124,7 @@ ScUndoObjData::ScUndoObjData( SdrObject* pObjP, const ScAddress& rOS, const ScAd
{
}
-__EXPORT ScUndoObjData::~ScUndoObjData()
+ScUndoObjData::~ScUndoObjData()
{
}
@@ -138,7 +139,7 @@ void ScUndoObjData::Undo()
}
}
-void __EXPORT ScUndoObjData::Redo()
+void ScUndoObjData::Redo()
{
ScDrawObjData* pData = ScDrawLayer::GetObjData( pObj );
DBG_ASSERT(pData,"ScUndoObjData: Daten nicht da");
@@ -156,7 +157,7 @@ ScTabDeletedHint::ScTabDeletedHint( SCTAB nTabNo ) :
{
}
-__EXPORT ScTabDeletedHint::~ScTabDeletedHint()
+ScTabDeletedHint::~ScTabDeletedHint()
{
}
@@ -165,7 +166,7 @@ ScTabSizeChangedHint::ScTabSizeChangedHint( SCTAB nTabNo ) :
{
}
-__EXPORT ScTabSizeChangedHint::~ScTabSizeChangedHint()
+ScTabSizeChangedHint::~ScTabSizeChangedHint()
{
}
@@ -305,12 +306,10 @@ ScDrawLayer::ScDrawLayer( ScDocument* pDocument, const String& rName ) :
}
}
-__EXPORT ScDrawLayer::~ScDrawLayer()
+ScDrawLayer::~ScDrawLayer()
{
Broadcast(SdrHint(HINT_MODELCLEARED));
- // #116168#
- //Clear();
ClearModel(sal_True);
delete pUndoGroup;
@@ -335,7 +334,7 @@ void ScDrawLayer::UseHyphenator()
}
}
-SdrPage* __EXPORT ScDrawLayer::AllocPage(bool bMasterPage)
+SdrPage* ScDrawLayer::AllocPage(bool bMasterPage)
{
// don't create basic until it is needed
StarBASIC* pBasic = NULL;
@@ -361,7 +360,7 @@ void ScDrawLayer::UpdateBasic()
//! remove this method?
}
-SdrModel* __EXPORT ScDrawLayer::AllocModel() const
+SdrModel* ScDrawLayer::AllocModel() const
{
// #103849# Allocated model (for clipboard etc) must not have a pointer
// to the original model's document, pass NULL as document:
@@ -369,7 +368,7 @@ SdrModel* __EXPORT ScDrawLayer::AllocModel() const
return new ScDrawLayer( NULL, aName );
}
-Window* __EXPORT ScDrawLayer::GetCurDocViewWin()
+Window* ScDrawLayer::GetCurDocViewWin()
{
DBG_ASSERT( pDoc, "ScDrawLayer::GetCurDocViewWin without document" );
if ( !pDoc )
@@ -443,9 +442,7 @@ void ScDrawLayer::ScCopyPage( USHORT nOldPos, USHORT nNewPos, BOOL bAlloc )
SdrObject* pOldObject = aIter.Next();
while (pOldObject)
{
- // #116235#
SdrObject* pNewObject = pOldObject->Clone();
- //SdrObject* pNewObject = pOldObject->Clone( pNewPage, this );
pNewObject->SetModel(this);
pNewObject->SetPage(pNewPage);
@@ -539,7 +536,41 @@ void ScDrawLayer::SetPageSize( USHORT nPageNo, const Size& rSize, bool bUpdateNo
}
}
-void ScDrawLayer::RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool bNegativePage, bool bUpdateNoteCaptionPos )
+namespace
+{
+ //Can't have a zero width dimension
+ Rectangle lcl_makeSafeRectangle(const Rectangle &rNew)
+ {
+ Rectangle aRect = rNew;
+ if (aRect.Bottom() == aRect.Top())
+ aRect.Bottom() = aRect.Top()+1;
+ if (aRect.Right() == aRect.Left())
+ aRect.Right() = aRect.Left()+1;
+ return aRect;
+ }
+
+ Point lcl_calcAvailableDiff(ScDocument &rDoc, SCCOL nCol, SCROW nRow, SCTAB nTab, const Point &aWantedDiff)
+ {
+ Point aAvailableDiff(aWantedDiff);
+ long nHeight = rDoc.GetRowHeight( nRow, nTab ) * HMM_PER_TWIPS;
+ long nWidth = rDoc.GetColWidth( nCol, nTab ) * HMM_PER_TWIPS;
+ if (aAvailableDiff.Y() > nHeight)
+ aAvailableDiff.Y() = nHeight;
+ if (aAvailableDiff.X() > nWidth)
+ aAvailableDiff.X() = nWidth;
+ return aAvailableDiff;
+ }
+
+ Rectangle lcl_UpdateCalcPoly(basegfx::B2DPolygon &rCalcPoly, int nWhichPoint, const Point &rPos)
+ {
+ rCalcPoly.setB2DPoint(nWhichPoint, basegfx::B2DPoint(rPos.X(), rPos.Y()));
+ basegfx::B2DRange aRange(basegfx::tools::getRange(rCalcPoly));
+ return Rectangle(aRange.getMinX(), aRange.getMinY(),
+ aRange.getMaxX(), aRange.getMaxY());
+ }
+}
+
+void ScDrawLayer::RecalcPos( SdrObject* pObj, ScDrawObjData& rData, bool bNegativePage, bool bUpdateNoteCaptionPos )
{
DBG_ASSERT( pDoc, "ScDrawLayer::RecalcPos - missing document" );
if( !pDoc )
@@ -578,6 +609,8 @@ void ScDrawLayer::RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool b
if( bCircle )
{
+ rData.maLastRect = pObj->GetLogicRect();
+
Point aPos( pDoc->GetColOffset( nCol1, nTab1 ), pDoc->GetRowOffset( nRow1, nTab1 ) );
TwipsToMM( aPos.X() );
TwipsToMM( aPos.Y() );
@@ -598,11 +631,18 @@ void ScDrawLayer::RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool b
{
if (bRecording)
AddCalcUndo( new SdrUndoGeoObj( *pObj ) );
- pObj->SetLogicRect(aRect);
+ rData.maLastRect = lcl_makeSafeRectangle(aRect);
+ pObj->SetLogicRect(rData.maLastRect);
}
}
else if( bArrow )
{
+ rData.maLastRect = pObj->GetLogicRect();
+ basegfx::B2DPolygon aCalcPoly;
+ Point aOrigStartPos(pObj->GetPoint(0));
+ Point aOrigEndPos(pObj->GetPoint(1));
+ aCalcPoly.append(basegfx::B2DPoint(aOrigStartPos.X(), aOrigStartPos.Y()));
+ aCalcPoly.append(basegfx::B2DPoint(aOrigEndPos.X(), aOrigEndPos.Y()));
//! nicht mehrere Undos fuer ein Objekt erzeugen (hinteres kann dann weggelassen werden)
SCCOL nLastCol;
@@ -623,6 +663,8 @@ void ScDrawLayer::RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool b
{
if (bRecording)
AddCalcUndo( new SdrUndoGeoObj( *pObj ) );
+
+ rData.maLastRect = lcl_UpdateCalcPoly(aCalcPoly, 0, aStartPos);
pObj->SetPoint( aStartPos, 0 );
}
@@ -637,6 +679,8 @@ void ScDrawLayer::RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool b
{
if (bRecording)
AddCalcUndo( new SdrUndoGeoObj( *pObj ) );
+
+ rData.maLastRect = lcl_UpdateCalcPoly(aCalcPoly, 1, aEndPos);
pObj->SetPoint( aEndPos, 1 );
}
}
@@ -657,6 +701,8 @@ void ScDrawLayer::RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool b
{
if (bRecording)
AddCalcUndo( new SdrUndoGeoObj( *pObj ) );
+
+ rData.maLastRect = lcl_UpdateCalcPoly(aCalcPoly, 1, aEndPos);
pObj->SetPoint( aEndPos, 1 );
}
@@ -673,45 +719,68 @@ void ScDrawLayer::RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool b
{
if (bRecording)
AddCalcUndo( new SdrUndoGeoObj( *pObj ) );
+
+ rData.maLastRect = lcl_UpdateCalcPoly(aCalcPoly, 0, aStartPos);
pObj->SetPoint( aStartPos, 0 );
}
}
}
}
- else // Referenz-Rahmen
+ else
{
+ bool bCanResize = bValid2 && !pObj->IsResizeProtect();
+
+ //First time positioning, must be able to at least move it
+ if (rData.maLastRect.IsEmpty())
+ rData.maLastRect = pObj->GetLogicRect();
+
DBG_ASSERT( bValid1, "ScDrawLayer::RecalcPos - invalid start position" );
Point aPos( pDoc->GetColOffset( nCol1, nTab1 ), pDoc->GetRowOffset( nRow1, nTab1 ) );
TwipsToMM( aPos.X() );
TwipsToMM( aPos.Y() );
+ aPos += lcl_calcAvailableDiff(*pDoc, nCol1, nRow1, nTab1, rData.maStartOffset);
- if( bValid2 )
+ if( bCanResize )
{
- Point aEnd( pDoc->GetColOffset( nCol2 + 1, nTab2 ), pDoc->GetRowOffset( nRow2 + 1, nTab2 ) );
+ Point aEnd( pDoc->GetColOffset( nCol2, nTab2 ), pDoc->GetRowOffset( nRow2, nTab2 ) );
TwipsToMM( aEnd.X() );
TwipsToMM( aEnd.Y() );
+ aEnd += lcl_calcAvailableDiff(*pDoc, nCol2, nRow2, nTab2, rData.maEndOffset);
Rectangle aNew( aPos, aEnd );
if ( bNegativePage )
MirrorRectRTL( aNew );
if ( pObj->GetLogicRect() != aNew )
{
+ Rectangle aOld(pObj->GetLogicRect());
+
if (bRecording)
AddCalcUndo( new SdrUndoGeoObj( *pObj ) );
- pObj->SetLogicRect(aNew);
+ rData.maLastRect = lcl_makeSafeRectangle(aNew);
+ pObj->SetLogicRect(rData.maLastRect);
}
}
else
{
if ( bNegativePage )
- aPos.X() = -aPos.X();
+ aPos.X() = -aPos.X() - rData.maLastRect.GetWidth();
if ( pObj->GetRelativePos() != aPos )
{
if (bRecording)
AddCalcUndo( new SdrUndoGeoObj( *pObj ) );
+ rData.maLastRect.SetPos( aPos );
pObj->SetRelativePos( aPos );
}
}
+
+ /*
+ * If we were not allowed resize the object, then the end cell anchor
+ * is possibly incorrect now, and if the object has no end-cell (e.g.
+ * missing in original .xml) we are also forced to generate one
+ */
+ bool bEndAnchorIsBad = !bValid2 || pObj->IsResizeProtect();
+ if (bEndAnchorIsBad)
+ ScDrawLayer::UpdateCellAnchorFromPositionEnd(*pObj, *pDoc, nTab1);
}
}
@@ -870,167 +939,18 @@ void ScDrawLayer::AddCalcUndo( SdrUndoAction* pUndo )
void ScDrawLayer::BeginCalcUndo()
{
-//! DBG_ASSERT( !bRecording, "BeginCalcUndo ohne GetCalcUndo" );
-
DELETEZ(pUndoGroup);
bRecording = TRUE;
}
SdrUndoGroup* ScDrawLayer::GetCalcUndo()
{
-//! DBG_ASSERT( bRecording, "GetCalcUndo ohne BeginCalcUndo" );
-
SdrUndoGroup* pRet = pUndoGroup;
pUndoGroup = NULL;
bRecording = FALSE;
return pRet;
}
-// MoveAreaTwips: all measures are kept in twips
-void ScDrawLayer::MoveAreaTwips( SCTAB nTab, const Rectangle& rArea,
- const Point& rMove, const Point& rTopLeft )
-{
- if (!rMove.X() && !rMove.Y())
- return; // nix
-
- SdrPage* pPage = GetPage(static_cast<sal_uInt16>(nTab));
- DBG_ASSERT(pPage,"Page nicht gefunden");
- if (!pPage)
- return;
-
- BOOL bNegativePage = pDoc && pDoc->IsNegativePage( nTab );
-
- // fuer Shrinking!
- Rectangle aNew( rArea );
- BOOL bShrink = FALSE;
- if ( rMove.X() < 0 || rMove.Y() < 0 ) // verkleinern
- {
- if ( rTopLeft != rArea.TopLeft() ) // sind gleich beim Verschieben von Zellen
- {
- bShrink = TRUE;
- aNew.Left() = rTopLeft.X();
- aNew.Top() = rTopLeft.Y();
- }
- }
- SdrObjListIter aIter( *pPage, IM_FLAT );
- SdrObject* pObject = aIter.Next();
- while (pObject)
- {
- if( GetAnchor( pObject ) == SCA_CELL )
- {
- if ( GetObjData( pObject ) ) // Detektiv-Pfeil ?
- {
- // hier nichts
- }
- else if ( pObject->ISA( SdrEdgeObj ) ) // Verbinder?
- {
- // hier auch nichts
- //! nicht verbundene Enden wie bei Linien (s.u.) behandeln?
- }
- else if ( pObject->IsPolyObj() && pObject->GetPointCount()==2 )
- {
- for (USHORT i=0; i<2; i++)
- {
- BOOL bMoved = FALSE;
- Point aPoint = pObject->GetPoint(i);
- lcl_ReverseTwipsToMM( aPoint );
- if (rArea.IsInside(aPoint))
- {
- aPoint += rMove; bMoved = TRUE;
- }
- else if (bShrink && aNew.IsInside(aPoint))
- {
- // Punkt ist in betroffener Zelle - Test auf geloeschten Bereich
- if ( rMove.X() && aPoint.X() >= rArea.Left() + rMove.X() )
- {
- aPoint.X() = rArea.Left() + rMove.X() - SHRINK_DIST_TWIPS;
- if ( aPoint.X() < 0 ) aPoint.X() = 0;
- bMoved = TRUE;
- }
- if ( rMove.Y() && aPoint.Y() >= rArea.Top() + rMove.Y() )
- {
- aPoint.Y() = rArea.Top() + rMove.Y() - SHRINK_DIST_TWIPS;
- if ( aPoint.Y() < 0 ) aPoint.Y() = 0;
- bMoved = TRUE;
- }
- }
- if( bMoved )
- {
- AddCalcUndo( new SdrUndoGeoObj( *pObject ) );
- lcl_TwipsToMM( aPoint );
- pObject->SetPoint( aPoint, i );
- }
- }
- }
- else
- {
- Rectangle aObjRect = pObject->GetLogicRect();
- // aOldMMPos: not converted, millimeters
- Point aOldMMPos = bNegativePage ? aObjRect.TopRight() : aObjRect.TopLeft();
- lcl_ReverseTwipsToMM( aObjRect );
- Point aTopLeft = bNegativePage ? aObjRect.TopRight() : aObjRect.TopLeft(); // logical left
- Size aMoveSize;
- BOOL bDoMove = FALSE;
- if (rArea.IsInside(aTopLeft))
- {
- aMoveSize = Size(rMove.X(),rMove.Y());
- bDoMove = TRUE;
- }
- else if (bShrink && aNew.IsInside(aTopLeft))
- {
- // Position ist in betroffener Zelle - Test auf geloeschten Bereich
- if ( rMove.X() && aTopLeft.X() >= rArea.Left() + rMove.X() )
- {
- aMoveSize.Width() = rArea.Left() + rMove.X() - SHRINK_DIST - aTopLeft.X();
- bDoMove = TRUE;
- }
- if ( rMove.Y() && aTopLeft.Y() >= rArea.Top() + rMove.Y() )
- {
- aMoveSize.Height() = rArea.Top() + rMove.Y() - SHRINK_DIST - aTopLeft.Y();
- bDoMove = TRUE;
- }
- }
- if ( bDoMove )
- {
- if ( bNegativePage )
- {
- if ( aTopLeft.X() + aMoveSize.Width() > 0 )
- aMoveSize.Width() = -aTopLeft.X();
- }
- else
- {
- if ( aTopLeft.X() + aMoveSize.Width() < 0 )
- aMoveSize.Width() = -aTopLeft.X();
- }
- if ( aTopLeft.Y() + aMoveSize.Height() < 0 )
- aMoveSize.Height() = -aTopLeft.Y();
-
- // get corresponding move size in millimeters:
- Point aNewPos( aTopLeft.X() + aMoveSize.Width(), aTopLeft.Y() + aMoveSize.Height() );
- lcl_TwipsToMM( aNewPos );
- aMoveSize = Size( aNewPos.X() - aOldMMPos.X(), aNewPos.Y() - aOldMMPos.Y() ); // millimeters
-
- AddCalcUndo( new SdrUndoMoveObj( *pObject, aMoveSize ) );
- pObject->Move( aMoveSize );
- }
- else if ( rArea.IsInside( bNegativePage ? aObjRect.BottomLeft() : aObjRect.BottomRight() ) &&
- !pObject->IsResizeProtect() )
- {
- // geschuetzte Groessen werden nicht veraendert
- // (Positionen schon, weil sie ja an der Zelle "verankert" sind)
- AddCalcUndo( new SdrUndoGeoObj( *pObject ) );
- long nOldSizeX = aObjRect.Right() - aObjRect.Left() + 1;
- long nOldSizeY = aObjRect.Bottom() - aObjRect.Top() + 1;
- long nLogMoveX = rMove.X() * ( bNegativePage ? -1 : 1 ); // logical direction
- pObject->Resize( aOldMMPos, Fraction( nOldSizeX+nLogMoveX, nOldSizeX ),
- Fraction( nOldSizeY+rMove.Y(), nOldSizeY ) );
- }
- }
- }
- pObject = aIter.Next();
- }
-}
-
void ScDrawLayer::MoveArea( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCROW nRow2,
SCsCOL nDx,SCsROW nDy, BOOL bInsDel, bool bUpdateNoteCaptionPos )
{
@@ -1072,11 +992,6 @@ void ScDrawLayer::MoveArea( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCR
aTopLeft.Y() += aMove.Y();
}
- // drawing objects are now directly included in cut&paste
- // -> only update references when inserting/deleting (or changing widths or heights)
- if ( bInsDel )
- MoveAreaTwips( nTab, aRect, aMove, aTopLeft );
-
//
// Detektiv-Pfeile: Zellpositionen anpassen
//
@@ -1084,72 +999,6 @@ void ScDrawLayer::MoveArea( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCR
MoveCells( nTab, nCol1,nRow1, nCol2,nRow2, nDx,nDy, bUpdateNoteCaptionPos );
}
-void ScDrawLayer::WidthChanged( SCTAB nTab, SCCOL nCol, long nDifTwips )
-{
- DBG_ASSERT( pDoc, "ScDrawLayer::WidthChanged without document" );
- if ( !pDoc )
- return;
-
- if (!bAdjustEnabled)
- return;
-
- Rectangle aRect;
- Point aTopLeft;
-
- for (SCCOL i=0; i<nCol; i++)
- aRect.Left() += pDoc->GetColWidth(i,nTab);
- aTopLeft.X() = aRect.Left();
- aRect.Left() += pDoc->GetColWidth(nCol,nTab);
-
- aRect.Right() = MAXMM;
- aRect.Top() = 0;
- aRect.Bottom() = MAXMM;
-
- //! aTopLeft ist falsch, wenn mehrere Spalten auf einmal ausgeblendet werden
-
- BOOL bNegativePage = pDoc->IsNegativePage( nTab );
- if ( bNegativePage )
- {
- MirrorRectRTL( aRect );
- aTopLeft.X() = -aTopLeft.X();
- nDifTwips = -nDifTwips;
- }
-
- MoveAreaTwips( nTab, aRect, Point( nDifTwips,0 ), aTopLeft );
-}
-
-void ScDrawLayer::HeightChanged( SCTAB nTab, SCROW nRow, long nDifTwips )
-{
- DBG_ASSERT( pDoc, "ScDrawLayer::HeightChanged without document" );
- if ( !pDoc )
- return;
-
- if (!bAdjustEnabled)
- return;
-
- Rectangle aRect;
- Point aTopLeft;
-
- aRect.Top() += pDoc->GetRowHeight( 0, nRow-1, nTab);
- aTopLeft.Y() = aRect.Top();
- aRect.Top() += pDoc->GetRowHeight(nRow, nTab);
-
- aRect.Bottom() = MAXMM;
- aRect.Left() = 0;
- aRect.Right() = MAXMM;
-
- //! aTopLeft ist falsch, wenn mehrere Zeilen auf einmal ausgeblendet werden
-
- BOOL bNegativePage = pDoc->IsNegativePage( nTab );
- if ( bNegativePage )
- {
- MirrorRectRTL( aRect );
- aTopLeft.X() = -aTopLeft.X();
- }
-
- MoveAreaTwips( nTab, aRect, Point( 0,nDifTwips ), aTopLeft );
-}
-
BOOL ScDrawLayer::HasObjectsInRows( SCTAB nTab, SCROW nStartRow, SCROW nEndRow )
{
DBG_ASSERT( pDoc, "ScDrawLayer::HasObjectsInRows without document" );
@@ -1214,10 +1063,10 @@ void ScDrawLayer::DeleteObjectsInArea( SCTAB nTab, SCCOL nCol1,SCROW nRow1,
pPage->RecalcObjOrdNums();
- long nDelCount = 0;
ULONG nObjCount = pPage->GetObjCount();
if (nObjCount)
{
+ long nDelCount = 0;
Rectangle aDelRect = pDoc->GetMMRect( nCol1, nRow1, nCol2, nRow2, nTab );
SdrObject** ppObj = new SdrObject*[nObjCount];
@@ -1270,10 +1119,10 @@ void ScDrawLayer::DeleteObjectsInSelection( const ScMarkData& rMark )
if (pPage)
{
pPage->RecalcObjOrdNums();
- long nDelCount = 0;
ULONG nObjCount = pPage->GetObjCount();
if (nObjCount)
{
+ long nDelCount = 0;
// Rechteck um die ganze Selektion
Rectangle aMarkBound = pDoc->GetMMRect(
aMarkRange.aStart.Col(), aMarkRange.aStart.Row(),
@@ -1356,9 +1205,7 @@ void ScDrawLayer::CopyToClip( ScDocument* pClipDoc, SCTAB nTab, const Rectangle&
DBG_ASSERT( pDestPage, "no page" );
if (pDestPage)
{
- // #116235#
SdrObject* pNewObject = pOldObject->Clone();
- //SdrObject* pNewObject = pOldObject->Clone( pDestPage, pDestModel );
pNewObject->SetModel(pDestModel);
pNewObject->SetPage(pDestPage);
@@ -1385,10 +1232,9 @@ BOOL lcl_IsAllInRange( const ::std::vector< ScRangeList >& rRangesVector, const
for( ;aIt!=rRangesVector.end(); ++aIt )
{
const ScRangeList& rRanges = *aIt;
- ULONG nCount = rRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ )
{
- ScRange aRange = *rRanges.GetObject(i);
+ ScRange aRange = *rRanges[ i ];
if ( !rClipRange.In( aRange ) )
{
return FALSE; // at least one range is not valid
@@ -1407,10 +1253,9 @@ BOOL lcl_MoveRanges( ::std::vector< ScRangeList >& rRangesVector, const ScRange&
for( ;aIt!=rRangesVector.end(); ++aIt )
{
ScRangeList& rRanges = *aIt;
- ULONG nCount = rRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ )
{
- ScRange* pRange = rRanges.GetObject(i);
+ ScRange* pRange = rRanges[ i ];
if ( rSourceRange.In( *pRange ) )
{
SCsCOL nDiffX = rDestPos.Col() - (SCsCOL)rSourceRange.aStart.Col();
@@ -1522,9 +1367,7 @@ void ScDrawLayer::CopyFromClip( ScDrawLayer* pClipModel, SCTAB nSourceTab, const
// do not copy internal objects (detective) and note captions
if ( rSourceRange.IsInside( aObjRect ) && (pOldObject->GetLayer() != SC_LAYER_INTERN) && !IsNoteCaption( pOldObject ) )
{
- // #116235#
SdrObject* pNewObject = pOldObject->Clone();
- //SdrObject* pNewObject = pOldObject->Clone( pDestPage, this );
pNewObject->SetModel(this);
pNewObject->SetPage(pDestPage);
@@ -1663,7 +1506,6 @@ void ScDrawLayer::MirrorRTL( SdrObject* pObj )
}
}
-// static
void ScDrawLayer::MirrorRectRTL( Rectangle& rRect )
{
// mirror and swap left/right
@@ -1713,7 +1555,6 @@ Rectangle ScDrawLayer::GetCellRect( ScDocument& rDoc, const ScAddress& rPos, boo
return aCellRect;
}
-// static
String ScDrawLayer::GetVisibleName( SdrObject* pObj )
{
String aName = pObj->GetName();
@@ -1821,35 +1662,105 @@ void ScDrawLayer::EnsureGraphicNames()
}
}
-void ScDrawLayer::SetAnchor( SdrObject* pObj, ScAnchorType eType )
+namespace
{
- ScAnchorType eOldAnchorType = GetAnchor( pObj );
+ SdrObjUserData* GetFirstUserDataOfType(const SdrObject *pObj, UINT16 nId)
+ {
+ USHORT nCount = pObj ? pObj->GetUserDataCount() : 0;
+ for( USHORT i = 0; i < nCount; i++ )
+ {
+ SdrObjUserData* pData = pObj->GetUserData( i );
+ if( pData && pData->GetInventor() == SC_DRAWLAYER && pData->GetId() == nId )
+ return pData;
+ }
+ return NULL;
+ }
- // Ein an der Seite verankertes Objekt zeichnet sich durch eine Anker-Pos
- // von (0,1) aus. Das ist ein shabby Trick, der aber funktioniert!
- Point aAnchor( 0, eType == SCA_PAGE ? 1 : 0 );
- pObj->SetAnchorPos( aAnchor );
+ void DeleteFirstUserDataOfType(SdrObject *pObj, UINT16 nId)
+ {
+ USHORT nCount = pObj ? pObj->GetUserDataCount() : 0;
+ for( USHORT i = nCount; i > 0; i-- )
+ {
+ SdrObjUserData* pData = pObj->GetUserData( i-1 );
+ if( pData && pData->GetInventor() == SC_DRAWLAYER && pData->GetId() == nId )
+ pObj->DeleteUserData(i-1);
+ }
+ }
+}
- if ( eOldAnchorType != eType )
- pObj->notifyShapePropertyChange( ::svx::eSpreadsheetAnchor );
+void ScDrawLayer::SetCellAnchored( SdrObject &rObj, const ScDrawObjData &rAnchor )
+{
+ ScDrawObjData* pAnchor = GetObjData( &rObj, true );
+ pAnchor->maStart = rAnchor.maStart;
+ pAnchor->maEnd = rAnchor.maEnd;
+ pAnchor->maStartOffset = rAnchor.maStartOffset;
+ pAnchor->maEndOffset = rAnchor.maEndOffset;
}
-ScAnchorType ScDrawLayer::GetAnchor( const SdrObject* pObj )
+void ScDrawLayer::SetCellAnchoredFromPosition( SdrObject &rObj, const ScDocument &rDoc, SCTAB nTab )
{
- Point aAnchor( pObj->GetAnchorPos() );
- return ( aAnchor.Y() != 0 ) ? SCA_PAGE : SCA_CELL;
+ Rectangle aObjRect(rObj.GetLogicRect());
+ ScRange aRange = rDoc.GetRange( nTab, aObjRect );
+
+ Rectangle aCellRect;
+
+ ScDrawObjData aAnchor;
+ aAnchor.maStart = aRange.aStart;
+ aCellRect = rDoc.GetMMRect( aRange.aStart.Col(), aRange.aStart.Row(),
+ aRange.aStart.Col(), aRange.aStart.Row(), aRange.aStart.Tab() );
+ aAnchor.maStartOffset.Y() = aObjRect.Top()-aCellRect.Top();
+ if (!rDoc.IsNegativePage(nTab))
+ aAnchor.maStartOffset.X() = aObjRect.Left()-aCellRect.Left();
+ else
+ aAnchor.maStartOffset.X() = aCellRect.Right()-aObjRect.Right();
+
+ aAnchor.maEnd = aRange.aEnd;
+ aCellRect = rDoc.GetMMRect( aRange.aEnd.Col(), aRange.aEnd.Row(),
+ aRange.aEnd.Col(), aRange.aEnd.Row(), aRange.aEnd.Tab() );
+ aAnchor.maEndOffset.Y() = aObjRect.Bottom()-aCellRect.Top();
+ if (!rDoc.IsNegativePage(nTab))
+ aAnchor.maEndOffset.X() = aObjRect.Right()-aCellRect.Left();
+ else
+ aAnchor.maEndOffset.X() = aCellRect.Right()-aObjRect.Left();
+
+ SetCellAnchored( rObj, aAnchor );
}
-ScDrawObjData* ScDrawLayer::GetObjData( SdrObject* pObj, BOOL bCreate ) // static
+void ScDrawLayer::UpdateCellAnchorFromPositionEnd( SdrObject &rObj, const ScDocument &rDoc, SCTAB nTab )
{
- USHORT nCount = pObj ? pObj->GetUserDataCount() : 0;
- for( USHORT i = 0; i < nCount; i++ )
- {
- SdrObjUserData* pData = pObj->GetUserData( i );
- if( pData && pData->GetInventor() == SC_DRAWLAYER
- && pData->GetId() == SC_UD_OBJDATA )
- return (ScDrawObjData*) pData;
- }
+ Rectangle aObjRect(rObj.GetLogicRect());
+ ScRange aRange = rDoc.GetRange( nTab, aObjRect );
+
+ ScDrawObjData* pAnchor = GetObjData( &rObj, true );
+ pAnchor->maEnd = aRange.aEnd;
+
+ Rectangle aCellRect;
+ aCellRect = rDoc.GetMMRect( aRange.aEnd.Col(), aRange.aEnd.Row(),
+ aRange.aEnd.Col(), aRange.aEnd.Row(), aRange.aEnd.Tab() );
+ pAnchor->maEndOffset.Y() = aObjRect.Bottom()-aCellRect.Top();
+ if (!rDoc.IsNegativePage(nTab))
+ pAnchor->maEndOffset.X() = aObjRect.Right()-aCellRect.Left();
+ else
+ pAnchor->maEndOffset.X() = aCellRect.Right()-aObjRect.Left();
+}
+
+void ScDrawLayer::SetPageAnchored( SdrObject &rObj )
+{
+ DeleteFirstUserDataOfType(&rObj, SC_UD_OBJDATA);
+}
+
+ScAnchorType ScDrawLayer::GetAnchorType( const SdrObject &rObj )
+{
+ //If this object has a cell anchor associated with it
+ //then its cell-anchored, otherwise its page-anchored
+ return ScDrawLayer::GetObjData(const_cast<SdrObject*>(&rObj)) ? SCA_CELL : SCA_PAGE;
+}
+
+ScDrawObjData* ScDrawLayer::GetObjData( SdrObject* pObj, BOOL bCreate )
+{
+ if (SdrObjUserData *pData = GetFirstUserDataOfType(pObj, SC_UD_OBJDATA))
+ return (ScDrawObjData*) pData;
+
if( pObj && bCreate )
{
ScDrawObjData* pData = new ScDrawObjData;
@@ -1859,7 +1770,7 @@ ScDrawObjData* ScDrawLayer::GetObjData( SdrObject* pObj, BOOL bCreate ) // s
return 0;
}
-ScDrawObjData* ScDrawLayer::GetObjDataTab( SdrObject* pObj, SCTAB nTab ) // static
+ScDrawObjData* ScDrawLayer::GetObjDataTab( SdrObject* pObj, SCTAB nTab )
{
ScDrawObjData* pData = GetObjData( pObj );
if ( pData )
@@ -1884,20 +1795,11 @@ ScDrawObjData* ScDrawLayer::GetNoteCaptionData( SdrObject* pObj, SCTAB nTab )
return (pData && pData->mbNote) ? pData : 0;
}
-ScIMapInfo* ScDrawLayer::GetIMapInfo( SdrObject* pObj ) // static
+ScIMapInfo* ScDrawLayer::GetIMapInfo( SdrObject* pObj )
{
- USHORT nCount = pObj->GetUserDataCount();
- for( USHORT i = 0; i < nCount; i++ )
- {
- SdrObjUserData* pData = pObj->GetUserData( i );
- if( pData && pData->GetInventor() == SC_DRAWLAYER
- && pData->GetId() == SC_UD_IMAPDATA )
- return (ScIMapInfo*) pData;
- }
- return NULL;
+ return (ScIMapInfo*)GetFirstUserDataOfType(pObj, SC_UD_IMAPDATA);
}
-// static:
IMapObject* ScDrawLayer::GetHitIMapObject( SdrObject* pObj,
const Point& rWinPoint, const Window& rCmpWnd )
{
@@ -1947,7 +1849,7 @@ IMapObject* ScDrawLayer::GetHitIMapObject( SdrObject* pObj,
else if ( pObj->ISA( SdrOle2Obj ) ) // OLE-Objekt
{
// TODO/LEAN: working with visual area needs running state
- aGraphSize = ((SdrOle2Obj*)pObj)->GetOrigObjSize();
+ aGraphSize = ((const SdrOle2Obj*)pObj)->GetOrigObjSize();
bObjSupported = TRUE;
}
@@ -1963,16 +1865,11 @@ IMapObject* ScDrawLayer::GetHitIMapObject( SdrObject* pObj,
return pIMapObj;
}
-ScMacroInfo* ScDrawLayer::GetMacroInfo( SdrObject* pObj, BOOL bCreate ) // static
+ScMacroInfo* ScDrawLayer::GetMacroInfo( SdrObject* pObj, BOOL bCreate )
{
- USHORT nCount = pObj->GetUserDataCount();
- for( USHORT i = 0; i < nCount; i++ )
- {
- SdrObjUserData* pData = pObj->GetUserData( i );
- if( pData && pData->GetInventor() == SC_DRAWLAYER
- && pData->GetId() == SC_UD_MACRODATA )
- return (ScMacroInfo*) pData;
- }
+ if (SdrObjUserData *pData = GetFirstUserDataOfType(pObj, SC_UD_MACRODATA))
+ return (ScMacroInfo*) pData;
+
if ( bCreate )
{
ScMacroInfo* pData = new ScMacroInfo;
@@ -1982,20 +1879,20 @@ ScMacroInfo* ScDrawLayer::GetMacroInfo( SdrObject* pObj, BOOL bCreate )
return 0;
}
-void ScDrawLayer::SetGlobalDrawPersist(SfxObjectShell* pPersist) // static
+void ScDrawLayer::SetGlobalDrawPersist(SfxObjectShell* pPersist)
{
DBG_ASSERT(!pGlobalDrawPersist,"SetGlobalDrawPersist mehrfach");
pGlobalDrawPersist = pPersist;
}
-void __EXPORT ScDrawLayer::SetChanged( sal_Bool bFlg /* = sal_True */ )
+void ScDrawLayer::SetChanged( sal_Bool bFlg /* = sal_True */ )
{
if ( bFlg && pDoc )
pDoc->SetChartListenerCollectionNeedsUpdate( TRUE );
FmFormModel::SetChanged( bFlg );
}
-SvStream* __EXPORT ScDrawLayer::GetDocumentStream(SdrDocumentStreamInfo& rStreamInfo) const
+SvStream* ScDrawLayer::GetDocumentStream(SdrDocumentStreamInfo& rStreamInfo) const
{
DBG_ASSERT( pDoc, "ScDrawLayer::GetDocumentStream without document" );
if ( !pDoc )
@@ -2042,31 +1939,13 @@ SvStream* __EXPORT ScDrawLayer::GetDocumentStream(SdrDocumentStreamInfo& rStream
}
}
}
- // the following code seems to be related to binary format
-//REMOVE else
-//REMOVE {
-//REMOVE pRet = pStor->OpenStream( String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM(STRING_SCSTREAM)),
-//REMOVE STREAM_READ | STREAM_WRITE | STREAM_TRUNC );
-//REMOVE
-//REMOVE if( pRet )
-//REMOVE {
-//REMOVE pRet->SetVersion( pStor->GetVersion() );
-//REMOVE pRet->SetKey( pStor->GetKey() );
-//REMOVE }
-//REMOVE }
-
rStreamInfo.mbDeleteAfterUse = ( pRet != NULL );
}
return pRet;
}
-//REMOVE void ScDrawLayer::ReleasePictureStorage()
-//REMOVE {
-//REMOVE xPictureStorage.Clear();
-//REMOVE }
-
-SdrLayerID __EXPORT ScDrawLayer::GetControlExportLayerId( const SdrObject & ) const
+SdrLayerID ScDrawLayer::GetControlExportLayerId( const SdrObject & ) const
{
// Layer fuer Export von Form-Controls in Versionen vor 5.0 - immer SC_LAYER_FRONT
return SC_LAYER_FRONT;
diff --git a/sc/source/core/data/funcdesc.cxx b/sc/source/core/data/funcdesc.cxx
new file mode 100644
index 000000000000..79be4f4d784c
--- /dev/null
+++ b/sc/source/core/data/funcdesc.cxx
@@ -0,0 +1,858 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "funcdesc.hxx"
+
+#include "addincol.hxx"
+#include "appoptio.hxx"
+#include "callform.hxx"
+#include "compiler.hxx"
+#include "global.hxx"
+#include "sc.hrc"
+#include "scmod.hxx"
+#include "scresid.hxx"
+
+#include <rtl/ustring.hxx>
+#include <rtl/ustrbuf.hxx>
+#include <tools/list.hxx>
+#include <tools/rcid.h>
+#include <tools/resid.hxx>
+#include <tools/string.hxx>
+#include <unotools/collatorwrapper.hxx>
+
+#include <numeric>
+
+class ScFuncRes : public Resource
+{
+public:
+ ScFuncRes( ResId&, ScFuncDesc*, bool & rbSuppressed );
+
+private:
+ sal_uInt16 GetNum();
+};
+
+
+class ScResourcePublisher : public Resource
+{
+private:
+ void FreeResource() { Resource::FreeResource(); }
+public:
+ ScResourcePublisher( const ScResId& rId ) : Resource( rId ) {}
+ ~ScResourcePublisher() { FreeResource(); }
+ bool IsAvailableRes( const ResId& rId ) const
+ { return Resource::IsAvailableRes( rId ); }
+
+};
+
+//========================================================================
+// class ScFuncDesc:
+
+ScFuncDesc::ScFuncDesc() :
+ pFuncName (NULL),
+ pFuncDesc (NULL),
+ ppDefArgNames (NULL),
+ ppDefArgDescs (NULL),
+ pDefArgFlags (NULL),
+ nFIndex (0),
+ nCategory (0),
+ nArgCount (0),
+ nHelpId (0),
+ bIncomplete (false),
+ bHasSuppressedArgs(false)
+{}
+
+//------------------------------------------------------------------------
+
+ScFuncDesc::~ScFuncDesc()
+{
+ Clear();
+}
+
+//------------------------------------------------------------------------
+
+void ScFuncDesc::Clear()
+{
+ sal_uInt16 nArgs = nArgCount;
+ if (nArgs >= VAR_ARGS) nArgs -= VAR_ARGS-1;
+ if (nArgs)
+ {
+ for (sal_uInt16 i=0; i<nArgs; i++ )
+ {
+ delete ppDefArgNames[i];
+ delete ppDefArgDescs[i];
+ }
+ delete [] ppDefArgNames;
+ delete [] ppDefArgDescs;
+ delete [] pDefArgFlags;
+ }
+ nArgCount = 0;
+ ppDefArgNames = NULL;
+ ppDefArgDescs = NULL;
+ pDefArgFlags = NULL;
+
+ delete pFuncName;
+ pFuncName = NULL;
+
+ delete pFuncDesc;
+ pFuncDesc = NULL;
+
+ nFIndex = 0;
+ nCategory = 0;
+ nHelpId = 0;
+ bIncomplete = false;
+ bHasSuppressedArgs = false;
+}
+
+//------------------------------------------------------------------------
+
+::rtl::OUString ScFuncDesc::GetParamList() const
+{
+ ::rtl::OUString sep(ScCompiler::GetNativeSymbol(ocSep));
+
+ ::rtl::OUStringBuffer aSig;
+
+ if ( nArgCount > 0 )
+ {
+ if ( nArgCount < VAR_ARGS )
+ {
+ sal_uInt16 nLastSuppressed = nArgCount;
+ sal_uInt16 nLastAdded = nArgCount;
+ for ( sal_uInt16 i=0; i<nArgCount; i++ )
+ {
+ if (pDefArgFlags[i].bSuppress)
+ nLastSuppressed = i;
+ else
+ {
+ nLastAdded = i;
+ aSig.append(*(ppDefArgNames[i]));
+ if ( i != nArgCount-1 )
+ {
+ aSig.append(sep);
+ aSig.appendAscii( " " );
+ }
+ }
+ }
+ // If only suppressed parameters follow the last added parameter,
+ // remove one "; "
+ if (nLastSuppressed < nArgCount && nLastAdded < nLastSuppressed &&
+ aSig.getLength() >= 2)
+ aSig.setLength(aSig.getLength() - 2);
+ }
+ else
+ {
+ sal_uInt16 nFix = nArgCount - VAR_ARGS;
+ for ( sal_uInt16 nArg = 0; nArg < nFix; nArg++ )
+ {
+ if (!pDefArgFlags[nArg].bSuppress)
+ {
+ aSig.append(*(ppDefArgNames[nArg]));
+ aSig.append(sep);
+ aSig.appendAscii( " " );
+ }
+ }
+ /* NOTE: Currently there are no suppressed var args parameters. If
+ * there were, we'd have to cope with it here and above for the fix
+ * parameters. For now parameters are always added, so no special
+ * treatment of a trailing "; " necessary. */
+ aSig.append(*(ppDefArgNames[nFix]));
+ aSig.append(sal_Unicode('1'));
+ aSig.append(sep);
+ aSig.append(sal_Unicode(' '));
+ aSig.append(*(ppDefArgNames[nFix]));
+ aSig.append(sal_Unicode('2'));
+ aSig.append(sep);
+ aSig.appendAscii(" ... ");
+ }
+ }
+
+ return aSig.makeStringAndClear();
+}
+
+//------------------------------------------------------------------------
+
+::rtl::OUString ScFuncDesc::getSignature() const
+{
+ ::rtl::OUStringBuffer aSig;
+
+ if(pFuncName)
+ {
+ aSig.append(*pFuncName);
+
+ ::rtl::OUString aParamList = GetParamList();
+ if( aParamList.getLength() )
+ {
+ aSig.appendAscii( "( " );
+ aSig.append(aParamList);
+ // U+00A0 (NBSP) prevents automatic line break
+ aSig.append( static_cast< sal_Unicode >(0xA0) );
+ aSig.appendAscii( ")" );
+ }
+ else
+ aSig.appendAscii( "()" );
+ }
+ return aSig.makeStringAndClear();
+}
+
+//------------------------------------------------------------------------
+
+::rtl::OUString ScFuncDesc::getFormula( const ::std::vector< ::rtl::OUString >& _aArguments ) const
+{
+ ::rtl::OUString sep = ScCompiler::GetNativeSymbol(ocSep);
+
+ ::rtl::OUStringBuffer aFormula;
+
+ if(pFuncName)
+ {
+ aFormula.append( *pFuncName );
+
+ aFormula.appendAscii( "(" );
+ ::std::vector< ::rtl::OUString >::const_iterator aIter = _aArguments.begin();
+ ::std::vector< ::rtl::OUString >::const_iterator aEnd = _aArguments.end();
+
+ if ( nArgCount > 0 && aIter != aEnd )
+ {
+ bool bLastArg = ( aIter->getLength() == 0 );
+
+ while( aIter != aEnd && !bLastArg )
+ {
+ aFormula.append( *(aIter) );
+ if ( aIter != (aEnd-1) )
+ {
+ bLastArg = !( (aIter+1)->getLength() > 0 );
+ if ( !bLastArg )
+ aFormula.append( sep );
+ }
+
+ ++aIter;
+ }
+ }
+
+ aFormula.appendAscii( ")" );
+ }
+ return aFormula.makeStringAndClear();
+}
+
+//------------------------------------------------------------------------
+
+sal_uInt16 ScFuncDesc::GetSuppressedArgCount() const
+{
+ if (!bHasSuppressedArgs || !pDefArgFlags)
+ return nArgCount;
+
+ sal_uInt16 nArgs = nArgCount;
+ if (nArgs >= VAR_ARGS)
+ nArgs -= VAR_ARGS - 1;
+ sal_uInt16 nCount = nArgs;
+ for (sal_uInt16 i=0; i < nArgs; ++i)
+ {
+ if (pDefArgFlags[i].bSuppress)
+ --nCount;
+ }
+ if (nArgCount >= VAR_ARGS)
+ nCount += VAR_ARGS - 1;
+ return nCount;
+}
+
+//------------------------------------------------------------------------
+
+::rtl::OUString ScFuncDesc::getFunctionName() const
+{
+ ::rtl::OUString sRet;
+ if ( pFuncName )
+ sRet = *pFuncName;
+ return sRet;
+}
+// -----------------------------------------------------------------------------
+const formula::IFunctionCategory* ScFuncDesc::getCategory() const
+{
+ return ScGlobal::GetStarCalcFunctionMgr()->getCategory(nCategory);
+}
+// -----------------------------------------------------------------------------
+::rtl::OUString ScFuncDesc::getDescription() const
+{
+ ::rtl::OUString sRet;
+ if ( pFuncDesc )
+ sRet = *pFuncDesc;
+ return sRet;
+}
+// -----------------------------------------------------------------------------
+// GetSuppressedArgCount
+xub_StrLen ScFuncDesc::getSuppressedArgumentCount() const
+{
+ return GetSuppressedArgCount();
+}
+// -----------------------------------------------------------------------------
+//
+void ScFuncDesc::fillVisibleArgumentMapping(::std::vector<sal_uInt16>& _rArguments) const
+{
+ if (!bHasSuppressedArgs || !pDefArgFlags)
+ {
+ _rArguments.resize( nArgCount);
+ ::std::iota( _rArguments.begin(), _rArguments.end(), 0);
+ }
+
+ _rArguments.reserve( nArgCount);
+ sal_uInt16 nArgs = nArgCount;
+ if (nArgs >= VAR_ARGS)
+ nArgs -= VAR_ARGS - 1;
+ for (sal_uInt16 i=0; i < nArgs; ++i)
+ {
+ if (!pDefArgFlags[i].bSuppress)
+ _rArguments.push_back(i);
+ }
+}
+// -----------------------------------------------------------------------------
+void ScFuncDesc::initArgumentInfo() const
+{
+ // get the full argument description
+ // (add-in has to be instantiated to get the type information)
+
+ if ( bIncomplete && pFuncName )
+ {
+ ScUnoAddInCollection& rAddIns = *ScGlobal::GetAddInCollection();
+ ::rtl::OUString aIntName(rAddIns.FindFunction( *pFuncName, true )); // pFuncName is upper-case
+
+ if ( aIntName.getLength() )
+ {
+ // GetFuncData with bComplete=true loads the component and updates
+ // the global function list if needed.
+
+ rAddIns.GetFuncData( aIntName, true );
+ }
+
+ if ( bIncomplete )
+ {
+ DBG_ERRORFILE( "couldn't initialize add-in function" );
+ const_cast<ScFuncDesc*>(this)->bIncomplete = false; // even if there was an error, don't try again
+ }
+ }
+}
+// -----------------------------------------------------------------------------
+long ScFuncDesc::getHelpId() const
+{
+ return (long)nHelpId;
+}
+// -----------------------------------------------------------------------------
+
+// parameter
+sal_uInt32 ScFuncDesc::getParameterCount() const
+{
+ return nArgCount;
+}
+// -----------------------------------------------------------------------------
+::rtl::OUString ScFuncDesc::getParameterName(sal_uInt32 _nPos) const
+{
+ return *(ppDefArgNames[_nPos]);
+}
+// -----------------------------------------------------------------------------
+::rtl::OUString ScFuncDesc::getParameterDescription(sal_uInt32 _nPos) const
+{
+ return *(ppDefArgDescs[_nPos]);
+}
+// -----------------------------------------------------------------------------
+bool ScFuncDesc::isParameterOptional(sal_uInt32 _nPos) const
+{
+ return pDefArgFlags[_nPos].bOptional;
+}
+// -----------------------------------------------------------------------------
+
+
+
+//===================================================================
+// class ScFunctionList:
+//===================================================================
+
+ScFunctionList::ScFunctionList() :
+ nMaxFuncNameLen ( 0 )
+{
+ ScFuncDesc* pDesc = NULL;
+ xub_StrLen nStrLen = 0;
+ FuncCollection* pFuncColl;
+ sal_uInt16 nDescBlock[] =
+ {
+ RID_SC_FUNCTION_DESCRIPTIONS1,
+ RID_SC_FUNCTION_DESCRIPTIONS2
+ };
+
+ aFunctionList.Clear();
+
+ for (sal_uInt16 k = 0; k < SAL_N_ELEMENTS(nDescBlock); ++k)
+ {
+ ::std::auto_ptr<ScResourcePublisher> pBlock( new ScResourcePublisher( ScResId( nDescBlock[k] ) ) );
+ // Browse for all possible OpCodes. This is not the fastest method, but
+ // otherwise the sub resources within the resource blocks and the
+ // resource blocks themselfs would had to be ordered according to
+ // OpCodes, which is utopian..
+ for (sal_uInt16 i = 0; i <= SC_OPCODE_LAST_OPCODE_ID; ++i)
+ {
+ ScResId aRes(i);
+ aRes.SetRT(RSC_RESOURCE);
+ // Sub resource of OpCode available?
+ if (pBlock->IsAvailableRes(aRes))
+ {
+ pDesc = new ScFuncDesc;
+ bool bSuppressed = false;
+ ScFuncRes aSubRes( aRes, pDesc, bSuppressed);
+ // Instead of dealing with this exceptional case at 1001 places
+ // we simply don't add an entirely suppressed function to the
+ // list and delete it.
+ if (bSuppressed)
+ delete pDesc;
+ else
+ {
+ pDesc->nFIndex = i;
+ aFunctionList.Insert( pDesc, LIST_APPEND );
+
+ nStrLen = (*(pDesc->pFuncName)).getLength();
+ if (nStrLen > nMaxFuncNameLen)
+ nMaxFuncNameLen = nStrLen;
+ }
+ }
+ }
+ }
+
+ sal_uInt16 nNextId = SC_OPCODE_LAST_OPCODE_ID + 1; // FuncID for AddIn functions
+
+ // Interpretation of AddIn list
+ ::rtl::OUString aDefArgNameValue = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("value"));
+ ::rtl::OUString aDefArgNameString = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("string"));
+ ::rtl::OUString aDefArgNameValues = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("values"));
+ ::rtl::OUString aDefArgNameStrings = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("strings"));
+ ::rtl::OUString aDefArgNameCells = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("cells"));
+ ::rtl::OUString aDefArgNameNone = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("none"));
+ ::rtl::OUString aDefArgDescValue = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("a value"));
+ ::rtl::OUString aDefArgDescString = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("a string"));
+ ::rtl::OUString aDefArgDescValues = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("array of values"));
+ ::rtl::OUString aDefArgDescStrings = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("array of strings"));
+ ::rtl::OUString aDefArgDescCells = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("range of cells"));
+ ::rtl::OUString aDefArgDescNone = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("none"));
+
+ ::rtl::OUString aArgName, aArgDesc;
+ pFuncColl = ScGlobal::GetFuncCollection();
+ for (sal_uInt16 i = 0; i < pFuncColl->GetCount(); ++i)
+ {
+ pDesc = new ScFuncDesc;
+ FuncData *pAddInFuncData = (FuncData*)pFuncColl->At(i);
+ sal_uInt16 nArgs = pAddInFuncData->GetParamCount() - 1;
+ pAddInFuncData->getParamDesc( aArgName, aArgDesc, 0 );
+ pDesc->nFIndex = nNextId++; // ??? OpCode vergeben
+ pDesc->nCategory = ID_FUNCTION_GRP_ADDINS;
+ pDesc->pFuncName = new ::rtl::OUString(pAddInFuncData->GetInternalName());
+ pDesc->pFuncName->toAsciiUpperCase();
+
+ ::rtl::OUStringBuffer aBuf(aArgDesc);
+ aBuf.append(sal_Unicode('\n'));
+ aBuf.appendAscii("( AddIn: ");
+ aBuf.append(pAddInFuncData->GetModuleName());
+ aBuf.appendAscii(" )");
+ pDesc->pFuncDesc = new ::rtl::OUString(aBuf.makeStringAndClear());
+
+ pDesc->nArgCount = nArgs;
+ if (nArgs)
+ {
+ pDesc->pDefArgFlags = new ScFuncDesc::ParameterFlags[nArgs];
+ pDesc->ppDefArgNames = new ::rtl::OUString*[nArgs];
+ pDesc->ppDefArgDescs = new ::rtl::OUString*[nArgs];
+ for (sal_uInt16 j = 0; j < nArgs; ++j)
+ {
+ pDesc->pDefArgFlags[j].bOptional = false;
+ pDesc->pDefArgFlags[j].bSuppress = false;
+ pAddInFuncData->getParamDesc( aArgName, aArgDesc, j+1 );
+ if ( aArgName.getLength() )
+ pDesc->ppDefArgNames[j] = new ::rtl::OUString( aArgName );
+ else
+ {
+ switch (pAddInFuncData->GetParamType(j+1))
+ {
+ case PTR_DOUBLE:
+ pDesc->ppDefArgNames[j] = new ::rtl::OUString( aDefArgNameValue );
+ break;
+ case PTR_STRING:
+ pDesc->ppDefArgNames[j] = new ::rtl::OUString( aDefArgNameString );
+ break;
+ case PTR_DOUBLE_ARR:
+ pDesc->ppDefArgNames[j] = new ::rtl::OUString( aDefArgNameValues );
+ break;
+ case PTR_STRING_ARR:
+ pDesc->ppDefArgNames[j] = new ::rtl::OUString( aDefArgNameStrings );
+ break;
+ case PTR_CELL_ARR:
+ pDesc->ppDefArgNames[j] = new ::rtl::OUString( aDefArgNameCells );
+ break;
+ default:
+ pDesc->ppDefArgNames[j] = new ::rtl::OUString( aDefArgNameNone );
+ break;
+ }
+ }
+ if ( aArgDesc.getLength() )
+ pDesc->ppDefArgDescs[j] = new ::rtl::OUString( aArgDesc );
+ else
+ {
+ switch (pAddInFuncData->GetParamType(j+1))
+ {
+ case PTR_DOUBLE:
+ pDesc->ppDefArgDescs[j] = new ::rtl::OUString( aDefArgDescValue );
+ break;
+ case PTR_STRING:
+ pDesc->ppDefArgDescs[j] = new ::rtl::OUString( aDefArgDescString );
+ break;
+ case PTR_DOUBLE_ARR:
+ pDesc->ppDefArgDescs[j] = new ::rtl::OUString( aDefArgDescValues );
+ break;
+ case PTR_STRING_ARR:
+ pDesc->ppDefArgDescs[j] = new ::rtl::OUString( aDefArgDescStrings );
+ break;
+ case PTR_CELL_ARR:
+ pDesc->ppDefArgDescs[j] = new ::rtl::OUString( aDefArgDescCells );
+ break;
+ default:
+ pDesc->ppDefArgDescs[j] = new ::rtl::OUString( aDefArgDescNone );
+ break;
+ }
+ }
+ }
+ }
+
+ aFunctionList.Insert(pDesc, LIST_APPEND);
+ nStrLen = (*(pDesc->pFuncName)).getLength();
+ if ( nStrLen > nMaxFuncNameLen)
+ nMaxFuncNameLen = nStrLen;
+ }
+
+ // StarOne AddIns
+
+ ScUnoAddInCollection* pUnoAddIns = ScGlobal::GetAddInCollection();
+ long nUnoCount = pUnoAddIns->GetFuncCount();
+ for (long nFunc=0; nFunc<nUnoCount; nFunc++)
+ {
+ pDesc = new ScFuncDesc;
+ pDesc->nFIndex = nNextId++;
+
+ if ( pUnoAddIns->FillFunctionDesc( nFunc, *pDesc ) )
+ {
+ aFunctionList.Insert(pDesc, LIST_APPEND);
+ nStrLen = (*(pDesc->pFuncName)).getLength();
+ if (nStrLen > nMaxFuncNameLen)
+ nMaxFuncNameLen = nStrLen;
+ }
+ else
+ delete pDesc;
+ }
+}
+
+//------------------------------------------------------------------------
+
+ScFunctionList::~ScFunctionList()
+{
+ const ScFuncDesc* pDesc = First();
+ while (pDesc)
+ {
+ delete pDesc;
+ pDesc = Next();
+ }
+}
+
+
+
+
+// -----------------------------------------------------------------------------
+sal_uInt32 ScFunctionCategory::getCount() const
+{
+ return m_pCategory->Count();
+}
+// -----------------------------------------------------------------------------
+const formula::IFunctionManager* ScFunctionCategory::getFunctionManager() const
+{
+ return m_pMgr;
+}
+// -----------------------------------------------------------------------------
+::rtl::OUString ScFunctionCategory::getName() const
+{
+ if ( !m_sName.getLength() )
+ m_sName = ScFunctionMgr::GetCategoryName(m_nCategory+1);
+ return m_sName;
+}
+// -----------------------------------------------------------------------------
+const formula::IFunctionDescription* ScFunctionCategory::getFunction(sal_uInt32 _nPos) const
+{
+ const ScFuncDesc* pDesc = NULL;
+ sal_uInt32 i = 0;
+ for (pDesc = (const ScFuncDesc*)m_pCategory->First(); i < _nPos && pDesc; pDesc = (const ScFuncDesc*)m_pCategory->Next(),++i)
+ ;
+ return pDesc;
+}
+// -----------------------------------------------------------------------------
+sal_uInt32 ScFunctionCategory::getNumber() const
+{
+ return m_nCategory;
+}
+// -----------------------------------------------------------------------------
+
+
+//========================================================================
+// class ScFunctionMgr:
+
+ScFunctionMgr::ScFunctionMgr() :
+ pFuncList( ScGlobal::GetStarCalcFunctionList() ),
+ pCurCatList( NULL )
+{
+ DBG_ASSERT( pFuncList, "Funktionsliste nicht gefunden." );
+ sal_uInt32 nCount = pFuncList->GetCount();
+ ScFuncDesc* pDesc;
+ List* pRootList;
+ sal_uInt32 n;
+
+ for (sal_uInt16 i = 0; i < MAX_FUNCCAT; ++i) // create category lists
+ aCatLists[i] = new List;
+
+ pRootList = aCatLists[0]; // create cumulative list ("All")
+ CollatorWrapper* pCaseCollator = ScGlobal::GetCaseCollator();
+ for ( n=0; n<nCount; n++ )
+ {
+ sal_uInt32 nTmpCnt=0;
+ pDesc = pFuncList->GetFunction(n);
+ for (nTmpCnt = 0; nTmpCnt < n; nTmpCnt++)
+ {
+ // it's case sensitiv, but special characters have to be put the right place
+
+ const ScFuncDesc* pTmpDesc = static_cast<const ScFuncDesc*>(
+ pRootList->GetObject(nTmpCnt));
+ if ( pCaseCollator->compareString(*pDesc->pFuncName, *pTmpDesc->pFuncName ) == COMPARE_LESS )
+ break;
+ }
+ pRootList->Insert(static_cast<void*>(pDesc), nTmpCnt); // insert the right place
+ }
+
+ for ( n=0; n<nCount; n++ ) // copy to group list
+ {
+ pDesc = static_cast<ScFuncDesc*>(pRootList->GetObject(n));
+ DBG_ASSERT((pDesc->nCategory) < MAX_FUNCCAT, "Unbekannte Kategorie");
+ if ((pDesc->nCategory) < MAX_FUNCCAT)
+ aCatLists[pDesc->nCategory]->Insert(static_cast<void*>(pDesc), LIST_APPEND);
+ }
+}
+
+//------------------------------------------------------------------------
+
+ScFunctionMgr::~ScFunctionMgr()
+{
+ for (sal_uInt16 i = 0; i < MAX_FUNCCAT; ++i)
+ delete aCatLists[i];
+}
+
+//------------------------------------------------------------------------
+
+const ScFuncDesc* ScFunctionMgr::Get( const ::rtl::OUString& rFName ) const
+{
+ const ScFuncDesc* pDesc = NULL;
+ if (rFName.getLength() <= pFuncList->GetMaxFuncNameLen())
+ for (pDesc = First(0); pDesc; pDesc = Next())
+ if (rFName.equalsIgnoreAsciiCase(*pDesc->pFuncName))
+ break;
+ return pDesc;
+}
+
+//------------------------------------------------------------------------
+
+const ScFuncDesc* ScFunctionMgr::Get( sal_uInt16 nFIndex ) const
+{
+ const ScFuncDesc* pDesc;
+ for (pDesc = First(0); pDesc; pDesc = Next())
+ if (pDesc->nFIndex == nFIndex)
+ break;
+ return pDesc;
+}
+
+//------------------------------------------------------------------------
+
+const ScFuncDesc* ScFunctionMgr::First( sal_uInt16 nCategory ) const
+{
+ DBG_ASSERT( nCategory < MAX_FUNCCAT, "Unbekannte Kategorie" );
+
+ if ( nCategory < MAX_FUNCCAT )
+ {
+ pCurCatList = aCatLists[nCategory];
+ return (const ScFuncDesc*)pCurCatList->First();
+ }
+ else
+ {
+ pCurCatList = NULL;
+ return NULL;
+ }
+}
+
+//------------------------------------------------------------------------
+
+const ScFuncDesc* ScFunctionMgr::Next() const
+{
+ if ( pCurCatList )
+ return (const ScFuncDesc*)pCurCatList->Next();
+ else
+ return NULL;
+}
+sal_uInt32 ScFunctionMgr::getCount() const
+{
+ return MAX_FUNCCAT - 1;
+}
+const formula::IFunctionCategory* ScFunctionMgr::getCategory(sal_uInt32 nCategory) const
+{
+ formula::IFunctionCategory* pRet = NULL;
+ if ( nCategory < (MAX_FUNCCAT-1) )
+ {
+ pRet = new ScFunctionCategory(const_cast<ScFunctionMgr*>(this),aCatLists[nCategory+1],nCategory); // aCatLists[0] is "all"
+ }
+ return pRet;
+}
+// -----------------------------------------------------------------------------
+const formula::IFunctionDescription* ScFunctionMgr::getFunctionByName(const ::rtl::OUString& _sFunctionName) const
+{
+ return Get(_sFunctionName);
+}
+// -----------------------------------------------------------------------------
+void ScFunctionMgr::fillLastRecentlyUsedFunctions(::std::vector< const formula::IFunctionDescription*>& _rLastRUFunctions) const
+{
+#define LRU_MAX 10
+
+ const ScAppOptions& rAppOpt = SC_MOD()->GetAppOptions();
+ sal_uInt16 nLRUFuncCount = Min( rAppOpt.GetLRUFuncListCount(), (sal_uInt16)LRU_MAX );
+ sal_uInt16* pLRUListIds = rAppOpt.GetLRUFuncList();
+
+ if ( pLRUListIds )
+ {
+ for (sal_uInt16 i = 0; i < nLRUFuncCount; ++i)
+ _rLastRUFunctions.push_back( Get( pLRUListIds[i] ) );
+ }
+}
+// -----------------------------------------------------------------------------
+::rtl::OUString ScFunctionMgr::GetCategoryName(sal_uInt32 _nCategoryNumber )
+{
+ if ( _nCategoryNumber > SC_FUNCGROUP_COUNT )
+ {
+ DBG_ERROR("Invalid category number!");
+ return ::rtl::OUString();
+ }
+
+ ::std::auto_ptr<ScResourcePublisher> pCategories( new ScResourcePublisher( ScResId( RID_FUNCTION_CATEGORIES ) ) );
+ return ResId::toString(ScResId(static_cast<sal_uInt16>(_nCategoryNumber)));
+}
+sal_Unicode ScFunctionMgr::getSingleToken(const formula::IFunctionManager::EToken _eToken) const
+{
+ switch(_eToken)
+ {
+ case eOk:
+ return ScCompiler::GetNativeSymbol(ocOpen).GetChar(0);
+ case eClose:
+ return ScCompiler::GetNativeSymbol(ocClose).GetChar(0);
+ case eSep:
+ return ScCompiler::GetNativeSymbol(ocSep).GetChar(0);
+ case eArrayOpen:
+ return ScCompiler::GetNativeSymbol(ocArrayOpen).GetChar(0);
+ case eArrayClose:
+ return ScCompiler::GetNativeSymbol(ocArrayClose).GetChar(0);
+ }
+ return 0;
+}
+
+ScFuncRes::ScFuncRes( ResId &aRes, ScFuncDesc* pDesc, bool & rbSuppressed )
+ : Resource(aRes)
+{
+ rbSuppressed = (bool)GetNum();
+ pDesc->nCategory = GetNum();
+ pDesc->nHelpId = GetNum() + 32768; //! Hack, see scfuncs.src
+ pDesc->nArgCount = GetNum();
+ sal_uInt16 nArgs = pDesc->nArgCount;
+ if (nArgs >= VAR_ARGS)
+ nArgs -= VAR_ARGS - 1;
+ if (nArgs)
+ {
+ pDesc->pDefArgFlags = new ScFuncDesc::ParameterFlags[nArgs];
+ for (sal_uInt16 i = 0; i < nArgs; ++i)
+ {
+ pDesc->pDefArgFlags[i].bOptional = (bool)GetNum();
+ }
+ }
+ // Need to read the value from the resource even if nArgs==0 to advance the
+ // resource position pointer, so this can't be in the if(nArgs) block above.
+ sal_uInt16 nSuppressed = GetNum();
+ if (nSuppressed)
+ {
+ if (nSuppressed > nArgs)
+ {
+ DBG_ERROR3( "ScFuncRes: suppressed parameters count mismatch on OpCode %u: suppressed %d > params %d",
+ aRes.GetId(), (int)nSuppressed, (int)nArgs);
+ nSuppressed = nArgs; // sanitize
+ }
+ for (sal_uInt16 i = 0; i < nSuppressed; ++i)
+ {
+ sal_uInt16 nParam = GetNum();
+ if (nParam < nArgs)
+ {
+ if (pDesc->nArgCount >= VAR_ARGS && nParam == nArgs-1)
+ {
+ DBG_ERROR3( "ScFuncRes: VAR_ARGS parameters can't be suppressed, on OpCode %u: param %d == arg %d-1",
+ aRes.GetId(), (int)nParam, (int)nArgs);
+ }
+ else
+ {
+ pDesc->pDefArgFlags[nParam].bSuppress = true;
+ pDesc->bHasSuppressedArgs = true;
+ }
+ }
+ else
+ {
+ DBG_ERROR3( "ScFuncRes: suppressed parameter exceeds count on OpCode %u: param %d >= args %d",
+ aRes.GetId(), (int)nParam, (int)nArgs);
+ }
+ }
+ }
+
+ pDesc->pFuncName = new ::rtl::OUString( ScCompiler::GetNativeSymbol( static_cast<OpCode>( aRes.GetId())));
+ pDesc->pFuncDesc = new ::rtl::OUString( ResId::toString(ScResId(1)));
+
+ if (nArgs)
+ {
+ pDesc->ppDefArgNames = new ::rtl::OUString*[nArgs];
+ pDesc->ppDefArgDescs = new ::rtl::OUString*[nArgs];
+ for (sal_uInt16 i = 0; i < nArgs; ++i)
+ {
+ pDesc->ppDefArgNames[i] = new ::rtl::OUString(ResId::toString(ScResId(2*(i+1) )));
+ pDesc->ppDefArgDescs[i] = new ::rtl::OUString(ResId::toString(ScResId(2*(i+1)+1)));
+ }
+ }
+
+ FreeResource();
+}
+
+//------------------------------------------------------------------------
+
+sal_uInt16 ScFuncRes::GetNum()
+{
+ return ReadShortRes();
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
index 0ceb96f85c4d..11e6b38aa05a 100644
--- a/sc/source/core/data/global.cxx
+++ b/sc/source/core/data/global.cxx
@@ -50,6 +50,7 @@
#include <svl/zformat.hxx>
#include <vcl/image.hxx>
#include <vcl/virdev.hxx>
+#include <sal/macros.h>
#include <tools/rcid.h>
#include <unotools/charclass.hxx>
#include <stdlib.h>
@@ -91,6 +92,9 @@
// -----------------------------------------------------------------------
+using ::rtl::OUString;
+using ::rtl::OUStringBuffer;
+
#define CLIPST_AVAILABLE 0
#define CLIPST_CAPTURED 1
#define CLIPST_DELETE 2
@@ -125,7 +129,6 @@ SvxBrushItem* ScGlobal::pEmbeddedBrushItem = NULL;
SvxBrushItem* ScGlobal::pProtectedBrushItem = NULL;
ImageList* ScGlobal::pOutlineBitmaps = NULL;
-ImageList* ScGlobal::pOutlineBitmapsHC = NULL;
ScFunctionList* ScGlobal::pStarCalcFunctionList = NULL;
ScFunctionMgr* ScGlobal::pStarCalcFunctionMgr = NULL;
@@ -217,7 +220,6 @@ ULONG ScGlobal::GetStandardFormat( double fNumber, SvNumberFormatter& rFormatter
}
-// static
SvNumberFormatter* ScGlobal::GetEnglishFormatter()
{
if ( !pEnglishFormatter )
@@ -523,11 +525,11 @@ const String& ScGlobal::GetEmptyString()
return *pEmptyString;
}
-ImageList* ScGlobal::GetOutlineSymbols( bool bHC )
+ImageList* ScGlobal::GetOutlineSymbols()
{
- ImageList*& rpImageList = bHC ? pOutlineBitmapsHC : pOutlineBitmaps;
+ ImageList*& rpImageList = pOutlineBitmaps;
if( !rpImageList )
- rpImageList = new ImageList( ScResId( bHC ? RID_OUTLINEBITMAPS_H : RID_OUTLINEBITMAPS ) );
+ rpImageList = new ImageList( ScResId( RID_OUTLINEBITMAPS ) );
return rpImageList;
}
@@ -615,7 +617,6 @@ void ScGlobal::InitTextHeight(SfxItemPool* pPool)
return;
}
-// String aTestString('X');
OutputDevice* pDefaultDev = Application::GetDefaultDevice();
VirtualDevice aVirtWindow( *pDefaultDev );
aVirtWindow.SetMapMode(MAP_PIXEL);
@@ -659,9 +660,6 @@ void ScGlobal::Clear()
DELETEZ(pEmbeddedBrushItem);
DELETEZ(pProtectedBrushItem);
DELETEZ(pOutlineBitmaps);
- DELETEZ(pOutlineBitmapsHC);
-// DELETEZ(pAnchorBitmap);
-// DELETEZ(pGrayAnchorBitmap);
DELETEZ(pEnglishFormatter);
DELETEZ(pCaseTransliteration);
DELETEZ(pTransliteration);
@@ -686,7 +684,6 @@ void ScGlobal::Clear()
//------------------------------------------------------------------------
-// static
CharSet ScGlobal::GetCharsetValue( const String& rCharSet )
{
// new TextEncoding values
@@ -707,13 +704,11 @@ CharSet ScGlobal::GetCharsetValue( const String& rCharSet )
else if (rCharSet.EqualsIgnoreCaseAscii("IBMPC_861")) return RTL_TEXTENCODING_IBM_861;
else if (rCharSet.EqualsIgnoreCaseAscii("IBMPC_863")) return RTL_TEXTENCODING_IBM_863;
else if (rCharSet.EqualsIgnoreCaseAscii("IBMPC_865")) return RTL_TEXTENCODING_IBM_865;
-// else if (rCharSet.EqualsIgnoreCaseAscii("SYSTEM") ) return gsl_getSystemTextEncoding();
else return gsl_getSystemTextEncoding();
}
//------------------------------------------------------------------------
-// static
String ScGlobal::GetCharsetString( CharSet eVal )
{
const sal_Char* pChar;
@@ -772,7 +767,6 @@ void ScGlobal::ResetFunctionList()
//------------------------------------------------------------------------
-// static
ScUnitConverter* ScGlobal::GetUnitConverter()
{
if ( !pUnitConverter )
@@ -784,7 +778,6 @@ ScUnitConverter* ScGlobal::GetUnitConverter()
//------------------------------------------------------------------------
-// static
const sal_Unicode* ScGlobal::UnicodeStrChr( const sal_Unicode* pStr,
sal_Unicode c )
{
@@ -1097,821 +1090,9 @@ void ScGlobal::AddLanguage( SfxItemSet& rSet, SvNumberFormatter& rFormatter )
}
-
-
-
-//===================================================================
-// class ScFunctionList:
-//===================================================================
-
-//===================================================================
-// class ScFuncRes
-// fuer temporaere Objekte zum Holen der Resourcen
-
-class ScFuncRes : public Resource
-{
-public:
- ScFuncRes( ResId&, ScFuncDesc*, bool & rbSuppressed );
-
-private:
- USHORT GetNum();
-};
-
//--------------------------------------------------------------------
-ScFuncRes::ScFuncRes( ResId &aRes, ScFuncDesc* pDesc, bool & rbSuppressed )
- : Resource(aRes)
-{
- rbSuppressed = (bool)GetNum();
- pDesc->nCategory = GetNum();
- pDesc->nHelpId = GetNum() + 32768; //! Hack, see scfuncs.src
- pDesc->nArgCount = GetNum();
- USHORT nArgs = pDesc->nArgCount;
- if (nArgs >= VAR_ARGS)
- nArgs -= VAR_ARGS - 1;
- if (nArgs)
- {
- pDesc->pDefArgFlags = new ScFuncDesc::ParameterFlags[nArgs];
- for (USHORT i = 0; i < nArgs; i++)
- {
- pDesc->pDefArgFlags[i].bOptional = (bool)GetNum();
- }
- }
- // Need to read the value from the resource even if nArgs==0 to advance the
- // resource position pointer, so this can't be in the if(nArgs) block above.
- USHORT nSuppressed = GetNum();
- if (nSuppressed)
- {
- if (nSuppressed > nArgs)
- {
- DBG_ERROR3( "ScFuncRes: suppressed parameters count mismatch on OpCode %u: suppressed %d > params %d",
- aRes.GetId(), (int)nSuppressed, (int)nArgs);
- nSuppressed = nArgs; // sanitize
- }
- for (USHORT i=0; i < nSuppressed; ++i)
- {
- USHORT nParam = GetNum();
- if (nParam < nArgs)
- {
- if (pDesc->nArgCount >= VAR_ARGS && nParam == nArgs-1)
- {
- DBG_ERROR3( "ScFuncRes: VAR_ARGS parameters can't be suppressed, on OpCode %u: param %d == arg %d-1",
- aRes.GetId(), (int)nParam, (int)nArgs);
- }
- else
- {
- pDesc->pDefArgFlags[nParam].bSuppress = true;
- pDesc->bHasSuppressedArgs = true;
- }
- }
- else
- {
- DBG_ERROR3( "ScFuncRes: suppressed parameter exceeds count on OpCode %u: param %d >= args %d",
- aRes.GetId(), (int)nParam, (int)nArgs);
- }
- }
- }
-
- pDesc->pFuncName = new String( ScCompiler::GetNativeSymbol( static_cast<OpCode>( aRes.GetId())));
- pDesc->pFuncDesc = new String(ScResId(1));
-
- if (nArgs)
- {
- pDesc->ppDefArgNames = new String*[nArgs];
- pDesc->ppDefArgDescs = new String*[nArgs];
- for (USHORT i = 0; i < nArgs; i++)
- {
- pDesc->ppDefArgNames[i] = new String(ScResId(2*(i+1) ));
- pDesc->ppDefArgDescs[i] = new String(ScResId(2*(i+1)+1));
- }
- }
-
- FreeResource();
-}
-
-//------------------------------------------------------------------------
-
-USHORT ScFuncRes::GetNum()
-{
- return ReadShortRes();
-}
-
-//=========================================================================
-
-// um an die protected von Resource ranzukommen
-class ScResourcePublisher : public Resource
-{
-private:
- void FreeResource() { Resource::FreeResource(); }
-public:
- ScResourcePublisher( const ScResId& rId ) : Resource( rId ) {}
- ~ScResourcePublisher() { FreeResource(); }
- BOOL IsAvailableRes( const ResId& rId ) const
- { return Resource::IsAvailableRes( rId ); }
-
-};
-
-
-ScFunctionList::ScFunctionList() :
- nMaxFuncNameLen ( 0 )
-{
- ScFuncDesc* pDesc = NULL;
- xub_StrLen nStrLen = 0;
- FuncCollection* pFuncColl;
- USHORT i,j;
- USHORT nDescBlock[] =
- {
- RID_SC_FUNCTION_DESCRIPTIONS1,
- RID_SC_FUNCTION_DESCRIPTIONS2
- };
- const USHORT nBlocks = sizeof(nDescBlock) / sizeof(USHORT);
-
- aFunctionList.Clear();
-
- for ( USHORT k = 0; k < nBlocks; k++ )
- {
- ::std::auto_ptr<ScResourcePublisher> pBlock( new ScResourcePublisher( ScResId( nDescBlock[k] ) ) );
- // Browse for all possible OpCodes. This is not the fastest method, but
- // otherwise the sub resources within the resource blocks and the
- // resource blocks themselfs would had to be ordered according to
- // OpCodes, which is utopian..
- for (i = 0; i <= SC_OPCODE_LAST_OPCODE_ID; i++)
- {
- ScResId aRes(i);
- aRes.SetRT(RSC_RESOURCE);
- // Sub resource of OpCode available?
- if (pBlock->IsAvailableRes(aRes))
- {
- pDesc = new ScFuncDesc;
- bool bSuppressed = false;
- ScFuncRes aSubRes( aRes, pDesc, bSuppressed);
- // Instead of dealing with this exceptional case at 1001 places
- // we simply don't add an entirely suppressed function to the
- // list and delete it.
- if (bSuppressed)
- delete pDesc;
- else
- {
- pDesc->nFIndex = i;
- aFunctionList.Insert( pDesc, LIST_APPEND );
-
- nStrLen = (*(pDesc->pFuncName)).Len();
- if (nStrLen > nMaxFuncNameLen)
- nMaxFuncNameLen = nStrLen;
- }
- }
- }
- }
-
- USHORT nNextId = SC_OPCODE_LAST_OPCODE_ID + 1; // FuncID for AddIn functions
-
- // Auswertung AddIn-Liste
- String aDefArgNameValue(RTL_CONSTASCII_STRINGPARAM("value"));
- String aDefArgNameString(RTL_CONSTASCII_STRINGPARAM("string"));
- String aDefArgNameValues(RTL_CONSTASCII_STRINGPARAM("values"));
- String aDefArgNameStrings(RTL_CONSTASCII_STRINGPARAM("strings"));
- String aDefArgNameCells(RTL_CONSTASCII_STRINGPARAM("cells"));
- String aDefArgNameNone(RTL_CONSTASCII_STRINGPARAM("none"));
- String aDefArgDescValue(RTL_CONSTASCII_STRINGPARAM("a value"));
- String aDefArgDescString(RTL_CONSTASCII_STRINGPARAM("a string"));
- String aDefArgDescValues(RTL_CONSTASCII_STRINGPARAM("array of values"));
- String aDefArgDescStrings(RTL_CONSTASCII_STRINGPARAM("array of strings"));
- String aDefArgDescCells(RTL_CONSTASCII_STRINGPARAM("range of cells"));
- String aDefArgDescNone(RTL_CONSTASCII_STRINGPARAM("none"));
- String aArgName, aArgDesc;
- pFuncColl = ScGlobal::GetFuncCollection();
- for (i = 0; i < pFuncColl->GetCount(); i++)
- {
- pDesc = new ScFuncDesc;
- FuncData *pAddInFuncData = (FuncData*)pFuncColl->At(i);
- USHORT nArgs = pAddInFuncData->GetParamCount() - 1;
- pAddInFuncData->GetParamDesc( aArgName, aArgDesc, 0 );
- pDesc->nFIndex = nNextId++; // ??? OpCode vergeben
- pDesc->nCategory = ID_FUNCTION_GRP_ADDINS;
- pDesc->pFuncName = new String(pAddInFuncData->GetInternalName());
- pDesc->pFuncName->ToUpperAscii();
- pDesc->pFuncDesc = new String( aArgDesc );
- *(pDesc->pFuncDesc) += '\n';
- pDesc->pFuncDesc->AppendAscii(RTL_CONSTASCII_STRINGPARAM( "( AddIn: " ));
- *(pDesc->pFuncDesc) += pAddInFuncData->GetModuleName();
- pDesc->pFuncDesc->AppendAscii(RTL_CONSTASCII_STRINGPARAM( " )" ));
- pDesc->nArgCount = nArgs;
- if (nArgs)
- {
- pDesc->pDefArgFlags = new ScFuncDesc::ParameterFlags[nArgs];
- pDesc->ppDefArgNames = new String*[nArgs];
- pDesc->ppDefArgDescs = new String*[nArgs];
- for (j = 0; j < nArgs; j++)
- {
- pDesc->pDefArgFlags[j].bOptional = false;
- pDesc->pDefArgFlags[j].bSuppress = false;
- pAddInFuncData->GetParamDesc( aArgName, aArgDesc, j+1 );
- if ( aArgName.Len() )
- pDesc->ppDefArgNames[j] = new String( aArgName );
- else
- {
- switch (pAddInFuncData->GetParamType(j+1))
- {
- case PTR_DOUBLE:
- pDesc->ppDefArgNames[j] = new String( aDefArgNameValue );
- break;
- case PTR_STRING:
- pDesc->ppDefArgNames[j] = new String( aDefArgNameString );
- break;
- case PTR_DOUBLE_ARR:
- pDesc->ppDefArgNames[j] = new String( aDefArgNameValues );
- break;
- case PTR_STRING_ARR:
- pDesc->ppDefArgNames[j] = new String( aDefArgNameStrings );
- break;
- case PTR_CELL_ARR:
- pDesc->ppDefArgNames[j] = new String( aDefArgNameCells );
- break;
- default:
- pDesc->ppDefArgNames[j] = new String( aDefArgNameNone );
- break;
- }
- }
- if ( aArgDesc.Len() )
- pDesc->ppDefArgDescs[j] = new String( aArgDesc );
- else
- {
- switch (pAddInFuncData->GetParamType(j+1))
- {
- case PTR_DOUBLE:
- pDesc->ppDefArgDescs[j] = new String( aDefArgDescValue );
- break;
- case PTR_STRING:
- pDesc->ppDefArgDescs[j] = new String( aDefArgDescString );
- break;
- case PTR_DOUBLE_ARR:
- pDesc->ppDefArgDescs[j] = new String( aDefArgDescValues );
- break;
- case PTR_STRING_ARR:
- pDesc->ppDefArgDescs[j] = new String( aDefArgDescStrings );
- break;
- case PTR_CELL_ARR:
- pDesc->ppDefArgDescs[j] = new String( aDefArgDescCells );
- break;
- default:
- pDesc->ppDefArgDescs[j] = new String( aDefArgDescNone );
- break;
- }
- }
- }
- }
-// pDesc->nHelpId = 0;
-
- aFunctionList.Insert(pDesc, LIST_APPEND);
- nStrLen = (*(pDesc->pFuncName)).Len();
- if ( nStrLen > nMaxFuncNameLen)
- nMaxFuncNameLen = nStrLen;
- }
-
- // StarOne AddIns
-
- ScUnoAddInCollection* pUnoAddIns = ScGlobal::GetAddInCollection();
- long nUnoCount = pUnoAddIns->GetFuncCount();
- for (long nFunc=0; nFunc<nUnoCount; nFunc++)
- {
- pDesc = new ScFuncDesc;
- pDesc->nFIndex = nNextId++;
-
- if ( pUnoAddIns->FillFunctionDesc( nFunc, *pDesc ) )
- {
- aFunctionList.Insert(pDesc, LIST_APPEND);
- nStrLen = (*(pDesc->pFuncName)).Len();
- if (nStrLen > nMaxFuncNameLen)
- nMaxFuncNameLen = nStrLen;
- }
- else
- delete pDesc;
- }
-}
-
-//------------------------------------------------------------------------
-
-ScFunctionList::~ScFunctionList()
-{
- const ScFuncDesc* pDesc = First();
- while (pDesc)
- {
- delete pDesc;
- pDesc = Next();
- }
-}
-
-
-//========================================================================
-// class ScFuncDesc:
-
-ScFuncDesc::ScFuncDesc() :
- pFuncName (NULL),
- pFuncDesc (NULL),
- ppDefArgNames (NULL),
- ppDefArgDescs (NULL),
- pDefArgFlags (NULL),
- nFIndex (0),
- nCategory (0),
- nArgCount (0),
- nHelpId (0),
- bIncomplete (false),
- bHasSuppressedArgs(false)
-{}
-
-//------------------------------------------------------------------------
-
-ScFuncDesc::~ScFuncDesc()
-{
- Clear();
-}
-
-//------------------------------------------------------------------------
-
-void ScFuncDesc::Clear()
-{
- USHORT nArgs = nArgCount;
- if (nArgs >= VAR_ARGS) nArgs -= VAR_ARGS-1;
- if (nArgs)
- {
- for (USHORT i=0; i<nArgs; i++ )
- {
- delete ppDefArgNames[i];
- delete ppDefArgDescs[i];
- }
- delete [] ppDefArgNames;
- delete [] ppDefArgDescs;
- delete [] pDefArgFlags;
- }
- nArgCount = 0;
- ppDefArgNames = NULL;
- ppDefArgDescs = NULL;
- pDefArgFlags = NULL;
-
- delete pFuncName;
- pFuncName = NULL;
-
- delete pFuncDesc;
- pFuncDesc = NULL;
-
- nFIndex = 0;
- nCategory = 0;
- nHelpId = 0;
- bIncomplete = false;
- bHasSuppressedArgs = false;
-}
-
-//------------------------------------------------------------------------
-
-String ScFuncDesc::GetParamList() const
-{
- const String& sep = ScCompiler::GetNativeSymbol(ocSep);
-
- String aSig;
-
- if ( nArgCount > 0 )
- {
- if ( nArgCount < VAR_ARGS )
- {
- USHORT nLastSuppressed = nArgCount;
- USHORT nLastAdded = nArgCount;
- for ( USHORT i=0; i<nArgCount; i++ )
- {
- if (pDefArgFlags[i].bSuppress)
- nLastSuppressed = i;
- else
- {
- nLastAdded = i;
- aSig += *(ppDefArgNames[i]);
- if ( i != nArgCount-1 )
- {
- aSig.Append(sep);
- aSig.AppendAscii(RTL_CONSTASCII_STRINGPARAM( " " ));
- }
- }
- }
- // If only suppressed parameters follow the last added parameter,
- // remove one "; "
- if (nLastSuppressed < nArgCount && nLastAdded < nLastSuppressed &&
- aSig.Len() >= 2)
- aSig.Erase( aSig.Len() - 2 );
- }
- else
- {
- USHORT nFix = nArgCount - VAR_ARGS;
- for ( USHORT nArg = 0; nArg < nFix; nArg++ )
- {
- if (!pDefArgFlags[nArg].bSuppress)
- {
- aSig += *(ppDefArgNames[nArg]);
- aSig.Append(sep);
- aSig.AppendAscii(RTL_CONSTASCII_STRINGPARAM( " " ));
- }
- }
- /* NOTE: Currently there are no suppressed var args parameters. If
- * there were, we'd have to cope with it here and above for the fix
- * parameters. For now parameters are always added, so no special
- * treatment of a trailing "; " necessary. */
- aSig += *(ppDefArgNames[nFix]);
- aSig += '1';
- aSig.Append(sep);
- aSig.AppendAscii(RTL_CONSTASCII_STRINGPARAM( " " ));
- aSig += *(ppDefArgNames[nFix]);
- aSig += '2';
- aSig.Append(sep);
- aSig.AppendAscii(RTL_CONSTASCII_STRINGPARAM( " ... " ));
- }
- }
-
- return aSig;
-}
-
-//------------------------------------------------------------------------
-
-String ScFuncDesc::GetSignature() const
-{
- String aSig;
-
- if(pFuncName)
- {
- aSig = *pFuncName;
-
- String aParamList( GetParamList() );
- if( aParamList.Len() )
- {
- aSig.AppendAscii(RTL_CONSTASCII_STRINGPARAM( "( " ));
- aSig.Append( aParamList );
- // U+00A0 (NBSP) prevents automatic line break
- aSig.Append( static_cast< sal_Unicode >(0xA0) ).Append( ')' );
- }
- else
- aSig.AppendAscii(RTL_CONSTASCII_STRINGPARAM( "()" ));
- }
- return aSig;
-}
-
-//------------------------------------------------------------------------
-
-::rtl::OUString ScFuncDesc::getFormula( const ::std::vector< ::rtl::OUString >& _aArguments ) const
-{
- const String& sep = ScCompiler::GetNativeSymbol(ocSep);
-
- ::rtl::OUStringBuffer aFormula;
-
- if(pFuncName)
- {
- aFormula.append( *pFuncName );
-
- aFormula.appendAscii( "(" );
- ::std::vector< ::rtl::OUString >::const_iterator aIter = _aArguments.begin();
- ::std::vector< ::rtl::OUString >::const_iterator aEnd = _aArguments.end();
-
- if ( nArgCount > 0 && aIter != aEnd )
- {
- BOOL bLastArg = ( aIter->getLength() == 0 );
-
- while( aIter != aEnd && !bLastArg )
- {
- aFormula.append( *(aIter) );
- if ( aIter != (aEnd-1) )
- {
- bLastArg = !( (aIter+1)->getLength() > 0 );
- if ( !bLastArg )
- aFormula.append( sep );
- }
-
- ++aIter;
- }
- }
-
- aFormula.appendAscii( ")" );
- }
- return aFormula.makeStringAndClear();
-}
-
-//------------------------------------------------------------------------
-
-USHORT ScFuncDesc::GetSuppressedArgCount() const
-{
- if (!bHasSuppressedArgs || !pDefArgFlags)
- return nArgCount;
-
- USHORT nArgs = nArgCount;
- if (nArgs >= VAR_ARGS)
- nArgs -= VAR_ARGS - 1;
- USHORT nCount = nArgs;
- for (USHORT i=0; i < nArgs; ++i)
- {
- if (pDefArgFlags[i].bSuppress)
- --nCount;
- }
- if (nArgCount >= VAR_ARGS)
- nCount += VAR_ARGS - 1;
- return nCount;
-}
-
-//------------------------------------------------------------------------
-
-::rtl::OUString ScFuncDesc::getFunctionName() const
-{
- ::rtl::OUString sRet;
- if ( pFuncName )
- sRet = *pFuncName;
- return sRet;
-}
-// -----------------------------------------------------------------------------
-const formula::IFunctionCategory* ScFuncDesc::getCategory() const
-{
- return ScGlobal::GetStarCalcFunctionMgr()->getCategory(nCategory);
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString ScFuncDesc::getDescription() const
-{
- ::rtl::OUString sRet;
- if ( pFuncDesc )
- sRet = *pFuncDesc;
- return sRet;
-}
-// -----------------------------------------------------------------------------
-// GetSuppressedArgCount
-xub_StrLen ScFuncDesc::getSuppressedArgumentCount() const
-{
- return GetSuppressedArgCount();
-}
-// -----------------------------------------------------------------------------
-//
-void ScFuncDesc::fillVisibleArgumentMapping(::std::vector<USHORT>& _rArguments) const
-{
- if (!bHasSuppressedArgs || !pDefArgFlags)
- {
- _rArguments.resize( nArgCount);
- ::std::iota( _rArguments.begin(), _rArguments.end(), 0);
- }
-
- _rArguments.reserve( nArgCount);
- USHORT nArgs = nArgCount;
- if (nArgs >= VAR_ARGS)
- nArgs -= VAR_ARGS - 1;
- for (USHORT i=0; i < nArgs; ++i)
- {
- if (!pDefArgFlags[i].bSuppress)
- _rArguments.push_back(i);
- }
-}
-// -----------------------------------------------------------------------------
-void ScFuncDesc::initArgumentInfo() const
-{
- // get the full argument description
- // (add-in has to be instantiated to get the type information)
-
- if ( bIncomplete && pFuncName )
- {
- ScUnoAddInCollection& rAddIns = *ScGlobal::GetAddInCollection();
- String aIntName = rAddIns.FindFunction( *pFuncName, TRUE ); // pFuncName is upper-case
-
- if ( aIntName.Len() )
- {
- // GetFuncData with bComplete=true loads the component and updates
- // the global function list if needed.
-
- rAddIns.GetFuncData( aIntName, true );
- }
-
- if ( bIncomplete )
- {
- DBG_ERRORFILE( "couldn't initialize add-in function" );
- const_cast<ScFuncDesc*>(this)->bIncomplete = FALSE; // even if there was an error, don't try again
- }
- }
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString ScFuncDesc::getSignature() const
-{
- return GetSignature();
-}
-// -----------------------------------------------------------------------------
-long ScFuncDesc::getHelpId() const
-{
- return nHelpId;
-}
-// -----------------------------------------------------------------------------
-
-// parameter
-sal_uInt32 ScFuncDesc::getParameterCount() const
-{
- return nArgCount;
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString ScFuncDesc::getParameterName(sal_uInt32 _nPos) const
-{
- return *(ppDefArgNames[_nPos]);
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString ScFuncDesc::getParameterDescription(sal_uInt32 _nPos) const
-{
- return *(ppDefArgDescs[_nPos]);
-}
-// -----------------------------------------------------------------------------
-bool ScFuncDesc::isParameterOptional(sal_uInt32 _nPos) const
-{
- return pDefArgFlags[_nPos].bOptional;
-}
-// -----------------------------------------------------------------------------
-//========================================================================
-// class ScFunctionMgr:
-
-ScFunctionMgr::ScFunctionMgr()
- : pFuncList ( ScGlobal::GetStarCalcFunctionList() ),
- pCurCatList ( NULL )
-{
- DBG_ASSERT( pFuncList, "Funktionsliste nicht gefunden." );
- ULONG nCount = pFuncList->GetCount();
- const ScFuncDesc* pDesc;
- List* pRootList;
- ULONG n;
-
- for ( USHORT i=0; i<MAX_FUNCCAT; i++ ) // Kategorie-Listen erstellen
- aCatLists[i] = new List;
-
- pRootList = aCatLists[0]; // Gesamtliste ("Alle") erstellen
- CollatorWrapper* pCaseCollator = ScGlobal::GetCaseCollator();
- for ( n=0; n<nCount; n++ )
- {
- ULONG nTmpCnt=0;
- pDesc = pFuncList->GetFunction(n);
- for (nTmpCnt = 0; nTmpCnt < n; nTmpCnt++)
- {
- // ist zwar case-sensitiv, aber Umlaute muessen richtig einsortiert werden
-
- const ScFuncDesc* pTmpDesc = (const ScFuncDesc*)pRootList->GetObject(nTmpCnt);
- if ( pCaseCollator->compareString(*pDesc->pFuncName, *pTmpDesc->pFuncName ) == COMPARE_LESS )
- break;
- }
- pRootList->Insert((void*)pDesc, nTmpCnt); // Einsortieren
- }
-
- for ( n=0; n<nCount; n++ ) // in Gruppenlisten kopieren
- {
- pDesc = (const ScFuncDesc*)pRootList->GetObject(n);
- DBG_ASSERT((pDesc->nCategory) < MAX_FUNCCAT, "Unbekannte Kategorie");
- if ((pDesc->nCategory) < MAX_FUNCCAT)
- aCatLists[pDesc->nCategory]->Insert((void*)pDesc, LIST_APPEND);
- }
-}
-
-//------------------------------------------------------------------------
-
-ScFunctionMgr::~ScFunctionMgr()
-{
- for (USHORT i = 0; i < MAX_FUNCCAT; i++)
- delete aCatLists[i];
-// delete pFuncList; // Macht spaeter die App
-}
-
-//------------------------------------------------------------------------
-
-const ScFuncDesc* ScFunctionMgr::Get( const String& rFName ) const
-{
- const ScFuncDesc* pDesc = NULL;
- if (rFName.Len() <= pFuncList->GetMaxFuncNameLen())
- for (pDesc = First(0); pDesc; pDesc = Next())
- if (rFName.EqualsIgnoreCaseAscii(*(pDesc->pFuncName)))
- break;
- return pDesc;
-}
-
-//------------------------------------------------------------------------
-const ScFuncDesc* ScFunctionMgr::Get( USHORT nFIndex ) const
-{
- const ScFuncDesc* pDesc;
- for (pDesc = First(0); pDesc; pDesc = Next())
- if (pDesc->nFIndex == nFIndex)
- break;
- return pDesc;
-}
-
-//------------------------------------------------------------------------
-
-const ScFuncDesc* ScFunctionMgr::First( USHORT nCategory ) const
-{
- DBG_ASSERT( nCategory < MAX_FUNCCAT, "Unbekannte Kategorie" );
-
- if ( nCategory < MAX_FUNCCAT )
- {
- pCurCatList = aCatLists[nCategory];
- return (const ScFuncDesc*)pCurCatList->First();
- }
- else
- {
- pCurCatList = NULL;
- return NULL;
- }
-}
-
-//------------------------------------------------------------------------
-
-const ScFuncDesc* ScFunctionMgr::Next() const
-{
- if ( pCurCatList )
- return (const ScFuncDesc*)pCurCatList->Next();
- else
- return NULL;
-}
-sal_uInt32 ScFunctionMgr::getCount() const
-{
- return MAX_FUNCCAT - 1;
-}
-const formula::IFunctionCategory* ScFunctionMgr::getCategory(sal_uInt32 nCategory) const
-{
- formula::IFunctionCategory* pRet = NULL;
- if ( nCategory < (MAX_FUNCCAT-1) )
- {
- pRet = new ScFunctionCategory(const_cast<ScFunctionMgr*>(this),aCatLists[nCategory+1],nCategory); // aCatLists[0] is "all"
- }
- return pRet;
-}
-// -----------------------------------------------------------------------------
-const formula::IFunctionDescription* ScFunctionMgr::getFunctionByName(const ::rtl::OUString& _sFunctionName) const
-{
- return Get(_sFunctionName);
-}
-// -----------------------------------------------------------------------------
-void ScFunctionMgr::fillLastRecentlyUsedFunctions(::std::vector< const formula::IFunctionDescription*>& _rLastRUFunctions) const
-{
-#define LRU_MAX 10
-
- const ScAppOptions& rAppOpt = SC_MOD()->GetAppOptions();
- USHORT nLRUFuncCount = Min( rAppOpt.GetLRUFuncListCount(), (USHORT)LRU_MAX );
- USHORT* pLRUListIds = rAppOpt.GetLRUFuncList();
-
- if ( pLRUListIds )
- {
- for ( USHORT i=0; i<nLRUFuncCount; i++ )
- _rLastRUFunctions.push_back( Get( pLRUListIds[i] ) );
- }
-}
-// -----------------------------------------------------------------------------
-String ScFunctionMgr::GetCategoryName(sal_uInt32 _nCategoryNumber )
-{
- if ( _nCategoryNumber > SC_FUNCGROUP_COUNT )
- {
- DBG_ERROR("Invalid category number!");
- return String();
- } // if ( _nCategoryNumber >= SC_FUNCGROUP_COUNT )
-
- ::std::auto_ptr<ScResourcePublisher> pCategories( new ScResourcePublisher( ScResId( RID_FUNCTION_CATEGORIES ) ) );
- return String(ScResId((USHORT)_nCategoryNumber));
-}
-sal_Unicode ScFunctionMgr::getSingleToken(const formula::IFunctionManager::EToken _eToken) const
-{
- switch(_eToken)
- {
- case eOk:
- return ScCompiler::GetNativeSymbol(ocOpen).GetChar(0);
- case eClose:
- return ScCompiler::GetNativeSymbol(ocClose).GetChar(0);
- case eSep:
- return ScCompiler::GetNativeSymbol(ocSep).GetChar(0);
- case eArrayOpen:
- return ScCompiler::GetNativeSymbol(ocArrayOpen).GetChar(0);
- case eArrayClose:
- return ScCompiler::GetNativeSymbol(ocArrayClose).GetChar(0);
- } // switch(_eToken)
- return 0;
-}
-// -----------------------------------------------------------------------------
-sal_uInt32 ScFunctionCategory::getCount() const
-{
- return m_pCategory->Count();
-}
-// -----------------------------------------------------------------------------
-const formula::IFunctionManager* ScFunctionCategory::getFunctionManager() const
-{
- return m_pMgr;
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString ScFunctionCategory::getName() const
-{
- if ( !m_sName.getLength() )
- m_sName = ScFunctionMgr::GetCategoryName(m_nCategory+1);
- return m_sName;
-}
-// -----------------------------------------------------------------------------
-const formula::IFunctionDescription* ScFunctionCategory::getFunction(sal_uInt32 _nPos) const
-{
- const ScFuncDesc* pDesc = NULL;
- sal_uInt32 i = 0;
- for (pDesc = (const ScFuncDesc*)m_pCategory->First(); i < _nPos && pDesc; pDesc = (const ScFuncDesc*)m_pCategory->Next(),++i)
- ;
- return pDesc;
-}
-// -----------------------------------------------------------------------------
-sal_uInt32 ScFunctionCategory::getNumber() const
-{
- return m_nCategory;
-}
-// -----------------------------------------------------------------------------
//------------------------------------------------------------------------
@@ -1952,7 +1133,7 @@ CollatorWrapper* ScGlobal::GetCollator()
{
pCollator = new CollatorWrapper( ::comphelper::getProcessServiceFactory() );
pCollator->loadDefaultCollator( *GetLocale(), SC_COLLATOR_IGNORES );
- } // if ( !pCollator )
+ }
return pCollator;
}
CollatorWrapper* ScGlobal::GetCaseCollator()
@@ -1961,7 +1142,7 @@ CollatorWrapper* ScGlobal::GetCaseCollator()
{
pCaseCollator = new CollatorWrapper( ::comphelper::getProcessServiceFactory() );
pCaseCollator->loadDefaultCollator( *GetLocale(), 0 );
- } // if ( !pCaseCollator )
+ }
return pCaseCollator;
}
::utl::TransliterationWrapper* ScGlobal::GetCaseTransliteration()
@@ -1971,7 +1152,7 @@ CollatorWrapper* ScGlobal::GetCaseCollator()
const LanguageType eOfficeLanguage = Application::GetSettings().GetLanguage();
pCaseTransliteration = new ::utl::TransliterationWrapper(::comphelper::getProcessServiceFactory(), SC_TRANSLITERATION_CASESENSE );
pCaseTransliteration->loadModuleIfNeeded( eOfficeLanguage );
- } // if ( !pCaseTransliteration )
+ }
return pCaseTransliteration;
}
IntlWrapper* ScGlobal::GetScIntlWrapper()
diff --git a/sc/source/core/data/global2.cxx b/sc/source/core/data/global2.cxx
index c9aaff566b15..bc805db5a650 100644
--- a/sc/source/core/data/global2.cxx
+++ b/sc/source/core/data/global2.cxx
@@ -29,8 +29,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-
-
// INCLUDE ---------------------------------------------------------------
#include <sfx2/docfile.hxx>
@@ -50,10 +48,7 @@
#include "rechead.hxx"
#include "compiler.hxx"
#include "paramisc.hxx"
-// Wang Xu Ming -- 2009-5-18
-// DataPilot Migration
#include "dpglobal.hxx"
-// End Comments
#include "sc.hrc"
#include "globstr.hrc"
@@ -62,9 +57,6 @@ using ::std::vector;
// -----------------------------------------------------------------------
-
-
-
//------------------------------------------------------------------------
// struct ScImportParam:
@@ -98,7 +90,6 @@ ScImportParam::~ScImportParam()
{
}
-
ScImportParam& ScImportParam::operator=( const ScImportParam& r )
{
nCol1 = r.nCol1;
@@ -131,7 +122,6 @@ BOOL ScImportParam::operator==( const ScImportParam& rOther ) const
//! nQuerySh und pConnection sind gleich ?
}
-
//------------------------------------------------------------------------
// struct ScQueryParam:
@@ -469,14 +459,14 @@ ScConsolidateParam::ScConsolidateParam( const ScConsolidateParam& r ) :
//------------------------------------------------------------------------
-__EXPORT ScConsolidateParam::~ScConsolidateParam()
+ScConsolidateParam::~ScConsolidateParam()
{
ClearDataAreas();
}
//------------------------------------------------------------------------
-void __EXPORT ScConsolidateParam::ClearDataAreas()
+void ScConsolidateParam::ClearDataAreas()
{
if ( ppDataAreas )
{
@@ -490,7 +480,7 @@ void __EXPORT ScConsolidateParam::ClearDataAreas()
//------------------------------------------------------------------------
-void __EXPORT ScConsolidateParam::Clear()
+void ScConsolidateParam::Clear()
{
ClearDataAreas();
@@ -503,7 +493,7 @@ void __EXPORT ScConsolidateParam::Clear()
//------------------------------------------------------------------------
-ScConsolidateParam& __EXPORT ScConsolidateParam::operator=( const ScConsolidateParam& r )
+ScConsolidateParam& ScConsolidateParam::operator=( const ScConsolidateParam& r )
{
nCol = r.nCol;
nRow = r.nRow;
@@ -519,7 +509,7 @@ ScConsolidateParam& __EXPORT ScConsolidateParam::operator=( const ScConsolidateP
//------------------------------------------------------------------------
-BOOL __EXPORT ScConsolidateParam::operator==( const ScConsolidateParam& r ) const
+BOOL ScConsolidateParam::operator==( const ScConsolidateParam& r ) const
{
BOOL bEqual = (nCol == r.nCol)
&& (nRow == r.nRow)
@@ -544,7 +534,7 @@ BOOL __EXPORT ScConsolidateParam::operator==( const ScConsolidateParam& r ) cons
//------------------------------------------------------------------------
-void __EXPORT ScConsolidateParam::SetAreas( ScArea* const* ppAreas, USHORT nCount )
+void ScConsolidateParam::SetAreas( ScArea* const* ppAreas, USHORT nCount )
{
ClearDataAreas();
if ( ppAreas && nCount > 0 )
@@ -565,6 +555,11 @@ PivotField::PivotField( SCsCOL nNewCol, USHORT nNewFuncMask ) :
{
}
+PivotField::PivotField( const PivotField& r ) :
+ nCol(r.nCol), nFuncMask(r.nFuncMask), nFuncCount(r.nFuncCount), maFieldRef(r.maFieldRef)
+{
+}
+
bool PivotField::operator==( const PivotField& r ) const
{
return (nCol == r.nCol)
@@ -581,7 +576,6 @@ bool PivotField::operator==( const PivotField& r ) const
ScPivotParam::ScPivotParam()
: nCol(0), nRow(0), nTab(0),
- nPageCount(0), nColCount(0), nRowCount(0), nDataCount(0),
bIgnoreEmptyRows(FALSE), bDetectCategories(FALSE),
bMakeTotalCol(TRUE), bMakeTotalRow(TRUE)
{
@@ -591,37 +585,32 @@ ScPivotParam::ScPivotParam()
ScPivotParam::ScPivotParam( const ScPivotParam& r )
: nCol( r.nCol ), nRow( r.nRow ), nTab( r.nTab ),
- nPageCount(0), nColCount(0), nRowCount(0), nDataCount(0),
+ maPageFields(r.maPageFields),
+ maColFields(r.maColFields),
+ maRowFields(r.maRowFields),
+ maDataFields(r.maDataFields),
bIgnoreEmptyRows(r.bIgnoreEmptyRows),
bDetectCategories(r.bDetectCategories),
bMakeTotalCol(r.bMakeTotalCol),
bMakeTotalRow(r.bMakeTotalRow)
{
- SetPivotArrays ( r.aPageArr, r.aColArr, r.aRowArr, r.aDataArr,
- r.nPageCount, r.nColCount, r.nRowCount, r.nDataCount );
-
SetLabelData(r.maLabelArray);
}
//------------------------------------------------------------------------
-__EXPORT ScPivotParam::~ScPivotParam()
+ScPivotParam::~ScPivotParam()
{
}
//------------------------------------------------------------------------
-
-void __EXPORT ScPivotParam::ClearPivotArrays()
+void ScPivotParam::ClearPivotArrays()
{
- memset( aPageArr, 0, PIVOT_MAXPAGEFIELD * sizeof(PivotField) );
- memset( aColArr, 0, PIVOT_MAXFIELD * sizeof(PivotField) );
- memset( aRowArr, 0, PIVOT_MAXFIELD * sizeof(PivotField) );
- memset( aDataArr, 0, PIVOT_MAXFIELD * sizeof(PivotField) );
- nPageCount = 0;
- nColCount = 0;
- nRowCount = 0;
- nDataCount = 0;
+ maPageFields.clear();
+ maColFields.clear();
+ maRowFields.clear();
+ maDataFields.clear();
}
void ScPivotParam::SetLabelData(const vector<ScDPLabelDataRef>& r)
@@ -639,34 +628,7 @@ void ScPivotParam::SetLabelData(const vector<ScDPLabelDataRef>& r)
//------------------------------------------------------------------------
-void __EXPORT ScPivotParam::SetPivotArrays ( const PivotField* pPageArr,
- const PivotField* pColArr,
- const PivotField* pRowArr,
- const PivotField* pDataArr,
- SCSIZE nPageCnt,
- SCSIZE nColCnt,
- SCSIZE nRowCnt,
- SCSIZE nDataCnt )
-{
- ClearPivotArrays();
-
- if ( pPageArr && pColArr && pRowArr && pDataArr )
- {
- nPageCount = (nPageCnt>PIVOT_MAXPAGEFIELD) ? PIVOT_MAXPAGEFIELD : nPageCnt;
- nColCount = (nColCnt>PIVOT_MAXFIELD) ? PIVOT_MAXFIELD : nColCnt;
- nRowCount = (nRowCnt>PIVOT_MAXFIELD) ? PIVOT_MAXFIELD : nRowCnt;
- nDataCount = (nDataCnt>PIVOT_MAXFIELD) ? PIVOT_MAXFIELD : nDataCnt;
-
- memcpy( aPageArr, pPageArr, nPageCount * sizeof(PivotField) );
- memcpy( aColArr, pColArr, nColCount * sizeof(PivotField) );
- memcpy( aRowArr, pRowArr, nRowCount * sizeof(PivotField) );
- memcpy( aDataArr, pDataArr, nDataCount * sizeof(PivotField) );
- }
-}
-
-//------------------------------------------------------------------------
-
-ScPivotParam& __EXPORT ScPivotParam::operator=( const ScPivotParam& r )
+ScPivotParam& ScPivotParam::operator=( const ScPivotParam& r )
{
nCol = r.nCol;
nRow = r.nRow;
@@ -676,15 +638,17 @@ ScPivotParam& __EXPORT ScPivotParam::operator=( const ScPivotParam& r )
bMakeTotalCol = r.bMakeTotalCol;
bMakeTotalRow = r.bMakeTotalRow;
- SetPivotArrays ( r.aPageArr, r.aColArr, r.aRowArr, r.aDataArr,
- r.nPageCount, r.nColCount, r.nRowCount, r.nDataCount );
+ maPageFields = r.maPageFields;
+ maColFields = r.maColFields;
+ maRowFields = r.maRowFields;
+ maDataFields = r.maDataFields;
SetLabelData(r.maLabelArray);
return *this;
}
//------------------------------------------------------------------------
-BOOL __EXPORT ScPivotParam::operator==( const ScPivotParam& r ) const
+BOOL ScPivotParam::operator==( const ScPivotParam& r ) const
{
BOOL bEqual = (nCol == r.nCol)
&& (nRow == r.nRow)
@@ -694,27 +658,10 @@ BOOL __EXPORT ScPivotParam::operator==( const ScPivotParam& r ) const
&& (bMakeTotalCol == r.bMakeTotalCol)
&& (bMakeTotalRow == r.bMakeTotalRow)
&& (maLabelArray.size() == r.maLabelArray.size())
- && (nPageCount == r.nPageCount)
- && (nColCount == r.nColCount)
- && (nRowCount == r.nRowCount)
- && (nDataCount == r.nDataCount);
-
- if ( bEqual )
- {
- SCSIZE i;
-
- for ( i=0; i<nPageCount && bEqual; i++ )
- bEqual = ( aPageArr[i] == r.aPageArr[i] );
-
- for ( i=0; i<nColCount && bEqual; i++ )
- bEqual = ( aColArr[i] == r.aColArr[i] );
-
- for ( i=0; i<nRowCount && bEqual; i++ )
- bEqual = ( aRowArr[i] == r.aRowArr[i] );
-
- for ( i=0; i<nDataCount && bEqual; i++ )
- bEqual = ( aDataArr[i] == r.aDataArr[i] );
- }
+ && maPageFields == r.maPageFields
+ && maColFields == r.maColFields
+ && maRowFields == r.maRowFields
+ && maDataFields == r.maDataFields;
return bEqual;
}
@@ -758,7 +705,7 @@ ScSolveParam::~ScSolveParam()
//------------------------------------------------------------------------
-ScSolveParam& __EXPORT ScSolveParam::operator=( const ScSolveParam& r )
+ScSolveParam& ScSolveParam::operator=( const ScSolveParam& r )
{
delete pStrTargetVal;
@@ -790,7 +737,6 @@ BOOL ScSolveParam::operator==( const ScSolveParam& r ) const
return bEqual;
}
-
//------------------------------------------------------------------------
// struct ScTabOpParam
@@ -832,7 +778,7 @@ ScTabOpParam& ScTabOpParam::operator=( const ScTabOpParam& r )
//------------------------------------------------------------------------
-BOOL __EXPORT ScTabOpParam::operator==( const ScTabOpParam& r ) const
+BOOL ScTabOpParam::operator==( const ScTabOpParam& r ) const
{
return ( (aRefFormulaCell == r.aRefFormulaCell)
&& (aRefFormulaEnd == r.aRefFormulaEnd)
@@ -874,7 +820,6 @@ String ScGlobal::GetAbsDocName( const String& rFileName,
return aAbsName;
}
-
String ScGlobal::GetDocTabName( const String& rFileName,
const String& rTabName )
{
diff --git a/sc/source/core/data/globalx.cxx b/sc/source/core/data/globalx.cxx
index be5cf810a967..8d043ac7a1e8 100644
--- a/sc/source/core/data/globalx.cxx
+++ b/sc/source/core/data/globalx.cxx
@@ -56,7 +56,6 @@ using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::ucb;
-// static
void ScGlobal::InitAddIns()
{
// multi paths separated by semicolons
@@ -135,7 +134,6 @@ void ScGlobal::InitAddIns()
}
-// static
String ScGlobal::GetOrdinalSuffix( sal_Int32 nNumber)
{
if (!xOrdinalSuffix.is())
@@ -146,7 +144,7 @@ String ScGlobal::GetOrdinalSuffix( sal_Int32 nNumber)
::comphelper::getProcessServiceFactory();
Reference< XInterface > xInterface =
xServiceManager->createInstance(
- ::rtl::OUString::createFromAscii("com.sun.star.i18n.OrdinalSuffix"));
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.i18n.OrdinalSuffix")));
if (xInterface.is())
xOrdinalSuffix = Reference< i18n::XOrdinalSuffix >( xInterface, UNO_QUERY);
}
diff --git a/sc/source/core/data/makefile.mk b/sc/source/core/data/makefile.mk
index f3b3a357ade3..1fbcd3cbab28 100644
--- a/sc/source/core/data/makefile.mk
+++ b/sc/source/core/data/makefile.mk
@@ -43,36 +43,44 @@ AUTOSEG=true
# --- Files --------------------------------------------------------
+.IF "$(USE_SYSTEM_STL)"!="YES"
+CFLAGSCXX+=-DSTLPORT_WORKAROUND
+.ENDIF
+
SLOFILES = \
- $(SLO)$/attarray.obj \
+ $(EXCEPTIONSFILES) \
+ $(EXCEPTIONSNOOPTFILES) \
$(SLO)$/attrib.obj \
+ $(SLO)$/compressedarray.obj \
+ $(SLO)$/docparam.obj \
+ $(SLO)$/markarr.obj \
+ $(SLO)$/markdata.obj \
+ $(SLO)$/pagepar.obj \
+ $(SLO)$/sheetevents.obj \
+ $(SLO)$/sortparam.obj
+
+EXCEPTIONSFILES= \
+ $(SLO)$/attarray.obj \
$(SLO)$/autonamecache.obj \
$(SLO)$/bcaslot.obj \
- $(SLO)$/cell.obj \
$(SLO)$/cell2.obj \
- $(SLO)$/clipparam.obj \
+ $(SLO)$/clipparam.obj \
$(SLO)$/column.obj \
- $(SLO)$/column2.obj \
- $(SLO)$/column3.obj \
- $(SLO)$/compressedarray.obj \
- $(SLO)$/conditio.obj \
$(SLO)$/dbdocutl.obj \
$(SLO)$/dociter.obj \
$(SLO)$/docpool.obj \
$(SLO)$/documen2.obj \
$(SLO)$/documen3.obj \
- $(SLO)$/documen4.obj \
$(SLO)$/documen5.obj \
$(SLO)$/documen6.obj \
$(SLO)$/documen7.obj \
$(SLO)$/documen8.obj \
$(SLO)$/documen9.obj \
$(SLO)$/document.obj \
- $(SLO)$/docparam.obj \
- $(SLO)$/dpcachetable.obj \
- $(SLO)$/dpdimsave.obj \
+ $(SLO)$/dpcachetable.obj \
+ $(SLO)$/dpdimsave.obj \
$(SLO)$/dpglobal.obj \
- $(SLO)$/dpgroup.obj \
+ $(SLO)$/dpgroup.obj \
$(SLO)$/dpobject.obj \
$(SLO)$/dpoutput.obj \
$(SLO)$/dpoutputgeometry.obj \
@@ -80,97 +88,54 @@ SLOFILES = \
$(SLO)$/dpsdbtab.obj \
$(SLO)$/dpshttab.obj \
$(SLO)$/dptabdat.obj \
+ $(SLO)$/dptablecache.obj \
$(SLO)$/dptabres.obj \
$(SLO)$/dptabsrc.obj \
- $(SLO)$/dptablecache.obj\
- $(SLO)$/scdpoutputimpl.obj\
$(SLO)$/drawpage.obj \
$(SLO)$/drwlayer.obj \
$(SLO)$/fillinfo.obj \
+ $(SLO)$/funcdesc.obj \
$(SLO)$/global.obj \
$(SLO)$/global2.obj \
$(SLO)$/globalx.obj \
- $(SLO)$/markarr.obj \
- $(SLO)$/markdata.obj \
$(SLO)$/olinetab.obj \
- $(SLO)$/pagepar.obj \
$(SLO)$/patattr.obj \
$(SLO)$/pivot2.obj \
$(SLO)$/poolhelp.obj \
- $(SLO)$/sheetevents.obj \
+ $(SLO)$/postit.obj \
+ $(SLO)$/scdpoutputimpl.obj \
$(SLO)$/segmenttree.obj \
- $(SLO)$/sortparam.obj \
$(SLO)$/stlpool.obj \
$(SLO)$/stlsheet.obj \
- $(SLO)$/tabbgcolor.obj \
+ $(SLO)$/tabbgcolor.obj \
$(SLO)$/table1.obj \
$(SLO)$/table2.obj \
- $(SLO)$/table3.obj \
- $(SLO)$/table4.obj \
$(SLO)$/table5.obj \
$(SLO)$/table6.obj \
$(SLO)$/tabprotection.obj \
- $(SLO)$/userdat.obj \
- $(SLO)$/validat.obj \
- $(SLO)$/postit.obj
+ $(SLO)$/userdat.obj
-EXCEPTIONSFILES= \
- $(SLO)$/autonamecache.obj \
- $(SLO)$/bcaslot.obj \
- $(SLO)$/cell2.obj \
- $(SLO)$/clipparam.obj \
- $(SLO)$/column.obj \
+.IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCSPARC"
+EXCEPTIONSNOOPTFILES= \
+ $(SLO)$/cell.obj \
+ $(SLO)$/column2.obj \
$(SLO)$/column3.obj \
- $(SLO)$/dociter.obj \
- $(SLO)$/documen2.obj \
- $(SLO)$/document.obj \
- $(SLO)$/dpdimsave.obj \
- $(SLO)$/dpglobal.obj \
- $(SLO)$/dpgroup.obj \
- $(SLO)$/dpshttab.obj \
- $(SLO)$/dptabres.obj \
- $(SLO)$/dptabdat.obj \
- $(SLO)$/global2.obj \
- $(SLO)$/tabbgcolor.obj \
- $(SLO)$/table1.obj \
- $(SLO)$/table2.obj \
+ $(SLO)$/conditio.obj \
+ $(SLO)$/documen4.obj \
$(SLO)$/table3.obj \
- $(SLO)$/tabprotection.obj \
- $(SLO)$/postit.obj \
- $(SLO)$/documen3.obj \
- $(SLO)$/documen5.obj \
- $(SLO)$/documen6.obj \
- $(SLO)$/documen9.obj \
- $(SLO)$/dpcachetable.obj \
- $(SLO)$/dptablecache.obj \
- $(SLO)$/scdpoutputimpl.obj \
- $(SLO)$/dpsdbtab.obj \
- $(SLO)$/dpobject.obj \
- $(SLO)$/dpoutput.obj \
- $(SLO)$/dpoutputgeometry.obj \
- $(SLO)$/dpsave.obj \
- $(SLO)$/dbdocutl.obj \
- $(SLO)$/dptabsrc.obj \
- $(SLO)$/drwlayer.obj \
- $(SLO)$/globalx.obj \
- $(SLO)$/segmenttree.obj
+ $(SLO)$/table4.obj \
+ $(SLO)$/validat.obj
-.IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCSPARC"
-NOOPTFILES= \
- $(SLO)$/column2.obj \
- $(SLO)$/column3.obj \
- $(SLO)$/table3.obj \
- $(SLO)$/table4.obj \
- $(SLO)$/documen4.obj \
- $(SLO)$/conditio.obj \
- $(SLO)$/validat.obj
-EXCEPTIONSNOOPTFILES= \
- $(SLO)$/cell.obj
.ELSE
EXCEPTIONSFILES+= \
$(SLO)$/cell.obj \
- $(SLO)$/global.obj \
- $(SLO)$/table5.obj
+ $(SLO)$/column2.obj \
+ $(SLO)$/column3.obj \
+ $(SLO)$/conditio.obj \
+ $(SLO)$/documen4.obj \
+ $(SLO)$/table3.obj \
+ $(SLO)$/table4.obj \
+ $(SLO)$/validat.obj
.ENDIF
# --- Tagets -------------------------------------------------------
diff --git a/sc/source/core/data/markarr.cxx b/sc/source/core/data/markarr.cxx
index b5b20084fc6d..ba7c0ce77454 100644
--- a/sc/source/core/data/markarr.cxx
+++ b/sc/source/core/data/markarr.cxx
@@ -249,7 +249,6 @@ void ScMarkArray::SetMarkArea( SCROW nStartRow, SCROW nEndRow, BOOL bMarked )
}
}
}
-// InfoBox(0, String(nCount) + String(" Eintraege") ).Execute();
}
BOOL ScMarkArray::IsAllMarked( SCROW nStartRow, SCROW nEndRow ) const
diff --git a/sc/source/core/data/markdata.cxx b/sc/source/core/data/markdata.cxx
index e9486e7705b0..8e1bbf29381c 100644
--- a/sc/source/core/data/markdata.cxx
+++ b/sc/source/core/data/markdata.cxx
@@ -345,18 +345,18 @@ void ScMarkData::MarkFromRangeList( const ScRangeList& rList, BOOL bReset )
ResetMark();
}
- ULONG nCount = rList.Count();
+ size_t nCount = rList.size();
if ( nCount == 1 && !bMarked && !bMultiMarked )
{
- ScRange aRange = *rList.GetObject(0);
+ ScRange aRange = *rList[ 0 ];
SetMarkArea( aRange );
SelectTable( aRange.aStart.Tab(), TRUE );
}
else
{
- for (ULONG i=0; i<nCount; i++)
+ for (size_t i=0; i < nCount; i++)
{
- ScRange aRange = *rList.GetObject(i);
+ ScRange aRange = *rList[ i ];
SetMultiMarkArea( aRange, TRUE );
SelectTable( aRange.aStart.Tab(), TRUE );
}
@@ -411,10 +411,9 @@ void ScMarkData::ExtendRangeListTables( ScRangeList* pList ) const
for (SCTAB nTab=0; nTab<=MAXTAB; nTab++)
if (bTabMarked[nTab])
{
- ULONG nCount = aOldList.Count();
- for (ULONG i=0; i<nCount; i++)
+ for ( size_t i=0, nCount = aOldList.size(); i<nCount; i++)
{
- ScRange aRange = *aOldList.GetObject(i);
+ ScRange aRange = *aOldList[ i ];
aRange.aStart.SetTab(nTab);
aRange.aEnd.SetTab(nTab);
pList->Append( aRange );
diff --git a/sc/source/core/data/olinetab.cxx b/sc/source/core/data/olinetab.cxx
index 19706ce86c0f..c7a2b0cec0f7 100644
--- a/sc/source/core/data/olinetab.cxx
+++ b/sc/source/core/data/olinetab.cxx
@@ -271,35 +271,6 @@ BOOL ScOutlineArray::Insert( SCCOLROW nStartCol, SCCOLROW nEndCol, BOOL& rSizeCh
rSizeChanged = TRUE;
}
-/* nicht zusammenfassen!
-
- // zusammenfassen
-
- USHORT nCount = aCollections[nLevel].GetCount();
- USHORT nIndex;
- bFound = FALSE;
- for ( nIndex=0; nIndex<nCount && !bFound; nIndex++ )
- {
- if ( ((ScOutlineEntry*) aCollections[nLevel].At(nIndex))->GetEnd() + 1 == nStartCol )
- {
- nStartCol = ((ScOutlineEntry*) aCollections[nLevel].At(nIndex))->GetStart();
- aCollections[nLevel].AtFree(nIndex);
- nCount = aCollections[nLevel].GetCount(); // Daten geaendert
- bFound = TRUE;
- }
- }
-
- bFound = FALSE;
- for ( nIndex=0; nIndex<nCount && !bFound; nIndex++ )
- {
- if ( ((ScOutlineEntry*) aCollections[nLevel].At(nIndex))->GetStart() == nEndCol + 1 )
- {
- nEndCol = ((ScOutlineEntry*) aCollections[nLevel].At(nIndex))->GetEnd();
- aCollections[nLevel].AtFree(nIndex);
- bFound = TRUE;
- }
- }
-*/
ScOutlineEntry* pNewEntry = new ScOutlineEntry( nStartCol, nEndCol+1-nStartCol, bHidden );
pNewEntry->SetVisible( bVisible );
aCollections[nLevel].Insert( pNewEntry );
@@ -426,7 +397,6 @@ BOOL ScOutlineArray::Remove( SCCOLROW nBlockStart, SCCOLROW nBlockEnd, BOOL& rSi
if ( nBlockStart<=nEnd && nBlockEnd>=nStart )
{
-// RemoveSub( nStart, nEnd, nLevel+1 );
pCollect->AtFree(i);
PromoteSub( nStart, nEnd, nLevel+1 );
nCount = pCollect->GetCount();
diff --git a/sc/source/core/data/patattr.cxx b/sc/source/core/data/patattr.cxx
index eef90c7df8df..de590cd41d1c 100644
--- a/sc/source/core/data/patattr.cxx
+++ b/sc/source/core/data/patattr.cxx
@@ -121,12 +121,12 @@ ScPatternAttr::ScPatternAttr( const ScPatternAttr& rPatternAttr )
pName = NULL;
}
-__EXPORT ScPatternAttr::~ScPatternAttr()
+ScPatternAttr::~ScPatternAttr()
{
delete pName;
}
-SfxPoolItem* __EXPORT ScPatternAttr::Clone( SfxItemPool *pPool ) const
+SfxPoolItem* ScPatternAttr::Clone( SfxItemPool *pPool ) const
{
ScPatternAttr* pPattern = new ScPatternAttr( GetItemSet().Clone(TRUE, pPool) );
@@ -156,7 +156,7 @@ inline bool EqualPatternSets( const SfxItemSet& rSet1, const SfxItemSet& rSet2 )
return ( 0 == memcmp( pItems1, pItems2, (ATTR_PATTERN_END - ATTR_PATTERN_START + 1) * sizeof(pItems1[0]) ) );
}
-int __EXPORT ScPatternAttr::operator==( const SfxPoolItem& rCmp ) const
+int ScPatternAttr::operator==( const SfxPoolItem& rCmp ) const
{
// #i62090# Use quick comparison between ScPatternAttr's ItemSets
@@ -164,7 +164,7 @@ int __EXPORT ScPatternAttr::operator==( const SfxPoolItem& rCmp ) const
StrCmp( GetStyleName(), static_cast<const ScPatternAttr&>(rCmp).GetStyleName() ) );
}
-SfxPoolItem* __EXPORT ScPatternAttr::Create( SvStream& rStream, USHORT /* nVersion */ ) const
+SfxPoolItem* ScPatternAttr::Create( SvStream& rStream, USHORT /* nVersion */ ) const
{
String* pStr;
BOOL bHasStyle;
@@ -192,7 +192,7 @@ SfxPoolItem* __EXPORT ScPatternAttr::Create( SvStream& rStream, USHORT /* nVersi
return pPattern;
}
-SvStream& __EXPORT ScPatternAttr::Store(SvStream& rStream, USHORT /* nItemVersion */) const
+SvStream& ScPatternAttr::Store(SvStream& rStream, USHORT /* nItemVersion */) const
{
rStream << (BOOL)TRUE;
diff --git a/sc/source/core/data/postit.cxx b/sc/source/core/data/postit.cxx
index a80567b3c302..4ba65ac6dec9 100644
--- a/sc/source/core/data/postit.cxx
+++ b/sc/source/core/data/postit.cxx
@@ -100,7 +100,6 @@ void ScCaptionUtil::SetCaptionLayer( SdrCaptionObj& rCaption, bool bShown )
void ScCaptionUtil::SetBasicCaptionSettings( SdrCaptionObj& rCaption, bool bShown )
{
- ScDrawLayer::SetAnchor( &rCaption, SCA_PAGE );
SetCaptionLayer( rCaption, bShown );
rCaption.SetFixedTail();
rCaption.SetSpecialTextBoxShadow();
diff --git a/sc/source/core/data/segmenttree.cxx b/sc/source/core/data/segmenttree.cxx
index dd40e726fd9e..16e8d9f4560f 100644
--- a/sc/source/core/data/segmenttree.cxx
+++ b/sc/source/core/data/segmenttree.cxx
@@ -57,7 +57,7 @@ public:
ScFlatSegmentsImpl(const ScFlatSegmentsImpl& r);
~ScFlatSegmentsImpl();
- void setValue(SCCOLROW nPos1, SCCOLROW nPos2, ValueType nValue);
+ bool setValue(SCCOLROW nPos1, SCCOLROW nPos2, ValueType nValue);
ValueType getValue(SCCOLROW nPos);
ExtValueType getSumValue(SCCOLROW nPos1, SCCOLROW nPos2);
bool getRangeData(SCCOLROW nPos, RangeData& rData);
@@ -111,12 +111,16 @@ ScFlatSegmentsImpl<_ValueType, _ExtValueType>::~ScFlatSegmentsImpl()
}
template<typename _ValueType, typename _ExtValueType>
-void ScFlatSegmentsImpl<_ValueType, _ExtValueType>::setValue(SCCOLROW nPos1, SCCOLROW nPos2, ValueType nValue)
+bool ScFlatSegmentsImpl<_ValueType, _ExtValueType>::setValue(SCCOLROW nPos1, SCCOLROW nPos2, ValueType nValue)
{
+ ::std::pair<typename fst_type::const_iterator, bool> ret;
if (mbInsertFromBack)
- maSegments.insert_back(nPos1, nPos2+1, nValue);
+ ret = maSegments.insert_back(nPos1, nPos2+1, nValue);
else
- maSegments.insert_front(nPos1, nPos2+1, nValue);
+ ret = maSegments.insert(maItr, nPos1, nPos2+1, nValue);
+
+ maItr = ret.first;
+ return ret.second;
}
template<typename _ValueType, typename _ExtValueType>
@@ -182,8 +186,13 @@ bool ScFlatSegmentsImpl<_ValueType, _ExtValueType>::getRangeData(SCCOLROW nPos,
else
{
// Conduct leaf-node only search. Faster when searching between range insertion.
- if (!maSegments.search(nPos, nValue, &nPos1, &nPos2))
+ ::std::pair<typename fst_type::const_iterator, bool> ret =
+ maSegments.search(maItr, nPos, nValue, &nPos1, &nPos2);
+
+ if (!ret.second)
return false;
+
+ maItr = ret.first;
}
rData.mnPos1 = nPos1;
@@ -268,18 +277,18 @@ public:
{
}
- void setTrue(SCCOLROW nPos1, SCCOLROW nPos2);
- void setFalse(SCCOLROW nPos1, SCCOLROW nPos2);
+ bool setTrue(SCCOLROW nPos1, SCCOLROW nPos2);
+ bool setFalse(SCCOLROW nPos1, SCCOLROW nPos2);
};
-void ScFlatBoolSegmentsImpl::setTrue(SCCOLROW nPos1, SCCOLROW nPos2)
+bool ScFlatBoolSegmentsImpl::setTrue(SCCOLROW nPos1, SCCOLROW nPos2)
{
- setValue(nPos1, nPos2, true);
+ return setValue(nPos1, nPos2, true);
}
-void ScFlatBoolSegmentsImpl::setFalse(SCCOLROW nPos1, SCCOLROW nPos2)
+bool ScFlatBoolSegmentsImpl::setFalse(SCCOLROW nPos1, SCCOLROW nPos2)
{
- setValue(nPos1, nPos2, false);
+ return setValue(nPos1, nPos2, false);
}
// ============================================================================
@@ -362,14 +371,14 @@ ScFlatBoolRowSegments::~ScFlatBoolRowSegments()
{
}
-void ScFlatBoolRowSegments::setTrue(SCROW nRow1, SCROW nRow2)
+bool ScFlatBoolRowSegments::setTrue(SCROW nRow1, SCROW nRow2)
{
- mpImpl->setTrue(static_cast<SCCOLROW>(nRow1), static_cast<SCCOLROW>(nRow2));
+ return mpImpl->setTrue(static_cast<SCCOLROW>(nRow1), static_cast<SCCOLROW>(nRow2));
}
-void ScFlatBoolRowSegments::setFalse(SCROW nRow1, SCROW nRow2)
+bool ScFlatBoolRowSegments::setFalse(SCROW nRow1, SCROW nRow2)
{
- mpImpl->setFalse(static_cast<SCCOLROW>(nRow1), static_cast<SCCOLROW>(nRow2));
+ return mpImpl->setFalse(static_cast<SCCOLROW>(nRow1), static_cast<SCCOLROW>(nRow2));
}
bool ScFlatBoolRowSegments::getValue(SCROW nRow)
@@ -399,19 +408,19 @@ void ScFlatBoolRowSegments::insertSegment(SCROW nRow, SCROW nSize, bool bSkipSta
mpImpl->insertSegment(static_cast<SCCOLROW>(nRow), static_cast<SCCOLROW>(nSize), bSkipStartBoundary);
}
-SCROW ScFlatBoolRowSegments::findLastNotOf(bool bValue) const
+void ScFlatBoolRowSegments::enableTreeSearch(bool bEnable)
{
- return static_cast<SCROW>(mpImpl->findLastNotOf(bValue));
+ mpImpl->enableTreeSearch(bEnable);
}
-void ScFlatBoolRowSegments::enableTreeSearch(bool bEnable)
+void ScFlatBoolRowSegments::setInsertFromBack(bool bEnable)
{
- mpImpl->enableTreeSearch(bEnable);
+ mpImpl->setInsertFromBack(bEnable);
}
-void ScFlatBoolRowSegments::setInsertFromBack(bool bInsertFromBack)
+SCROW ScFlatBoolRowSegments::findLastNotOf(bool bValue) const
{
- mpImpl->setInsertFromBack(bInsertFromBack);
+ return static_cast<SCROW>(mpImpl->findLastNotOf(bValue));
}
// ============================================================================
@@ -430,19 +439,14 @@ ScFlatBoolColSegments::~ScFlatBoolColSegments()
{
}
-void ScFlatBoolColSegments::setTrue(SCCOL nCol1, SCCOL nCol2)
-{
- mpImpl->setTrue(static_cast<SCCOLROW>(nCol1), static_cast<SCCOLROW>(nCol2));
-}
-
-void ScFlatBoolColSegments::setFalse(SCCOL nCol1, SCCOL nCol2)
+bool ScFlatBoolColSegments::setTrue(SCCOL nCol1, SCCOL nCol2)
{
- mpImpl->setFalse(static_cast<SCCOLROW>(nCol1), static_cast<SCCOLROW>(nCol2));
+ return mpImpl->setTrue(static_cast<SCCOLROW>(nCol1), static_cast<SCCOLROW>(nCol2));
}
-bool ScFlatBoolColSegments::getValue(SCCOL nCol)
+bool ScFlatBoolColSegments::setFalse(SCCOL nCol1, SCCOL nCol2)
{
- return mpImpl->getValue(static_cast<SCCOLROW>(nCol));
+ return mpImpl->setFalse(static_cast<SCCOLROW>(nCol1), static_cast<SCCOLROW>(nCol2));
}
bool ScFlatBoolColSegments::getRangeData(SCCOL nCol, RangeData& rData)
diff --git a/sc/source/core/data/sheetevents.cxx b/sc/source/core/data/sheetevents.cxx
index d1df2bb04df6..da935464cffb 100644
--- a/sc/source/core/data/sheetevents.cxx
+++ b/sc/source/core/data/sheetevents.cxx
@@ -40,7 +40,6 @@
// -----------------------------------------------------------------------
-// static
rtl::OUString ScSheetEvents::GetEventName(sal_Int32 nEvent)
{
if (nEvent<0 || nEvent>=SC_SHEETEVENT_COUNT)
@@ -62,7 +61,6 @@ rtl::OUString ScSheetEvents::GetEventName(sal_Int32 nEvent)
return rtl::OUString::createFromAscii(aEventNames[nEvent]);
}
-// static
sal_Int32 ScSheetEvents::GetVbaSheetEventId(sal_Int32 nEvent)
{
using namespace ::com::sun::star::script::vba::VBAEventId;
@@ -85,7 +83,6 @@ sal_Int32 ScSheetEvents::GetVbaSheetEventId(sal_Int32 nEvent)
return nVbaEventIds[nEvent];
}
-// static
sal_Int32 ScSheetEvents::GetVbaDocumentEventId(sal_Int32 nEvent)
{
using namespace ::com::sun::star::script::vba::VBAEventId;
diff --git a/sc/source/core/data/stlpool.cxx b/sc/source/core/data/stlpool.cxx
index c391f09b1380..4ca9eadab729 100644
--- a/sc/source/core/data/stlpool.cxx
+++ b/sc/source/core/data/stlpool.cxx
@@ -81,7 +81,7 @@ ScStyleSheetPool::ScStyleSheetPool( SfxItemPool& rPoolP,
//------------------------------------------------------------------------
-__EXPORT ScStyleSheetPool::~ScStyleSheetPool()
+ScStyleSheetPool::~ScStyleSheetPool()
{
}
@@ -121,7 +121,7 @@ SfxStyleSheetBase& ScStyleSheetPool::Make( const String& rName,
//------------------------------------------------------------------------
-SfxStyleSheetBase* __EXPORT ScStyleSheetPool::Create(
+SfxStyleSheetBase* ScStyleSheetPool::Create(
const String& rName,
SfxStyleFamily eFamily,
USHORT nMaskP )
@@ -135,7 +135,7 @@ SfxStyleSheetBase* __EXPORT ScStyleSheetPool::Create(
//------------------------------------------------------------------------
-SfxStyleSheetBase* __EXPORT ScStyleSheetPool::Create( const SfxStyleSheetBase& rStyle )
+SfxStyleSheetBase* ScStyleSheetPool::Create( const SfxStyleSheetBase& rStyle )
{
DBG_ASSERT( rStyle.ISA(ScStyleSheet), "Invalid StyleSheet-class! :-/" );
return new ScStyleSheet( (const ScStyleSheet&) rStyle );
@@ -143,7 +143,7 @@ SfxStyleSheetBase* __EXPORT ScStyleSheetPool::Create( const SfxStyleSheetBase& r
//------------------------------------------------------------------------
-void __EXPORT ScStyleSheetPool::Remove( SfxStyleSheetBase* pStyle )
+void ScStyleSheetPool::Remove( SfxStyleSheetBase* pStyle )
{
if ( pStyle )
{
@@ -255,7 +255,6 @@ void ScStyleSheetPool::CreateStandardStyles()
String aStr;
xub_StrLen nStrLen;
String aHelpFile;//XXX JN welcher Text???
- //ULONG nNumFmt = 0L;
SfxItemSet* pSet = NULL;
SfxItemSet* pHFSet = NULL;
SvxSetItem* pHFSetItem = NULL;
@@ -337,11 +336,6 @@ void ScStyleSheetPool::CreateStandardStyles()
pSheet->SetParent( SCSTR( STR_STYLENAME_RESULT ) );
pSheet->SetHelpId( aHelpFile, HID_SC_SHEET_CELL_ERG1 );
- // will now be done in GetItemSet();
- // pSet = &pSheet->GetItemSet();
- // nNumFmt = pDoc->GetFormatTable()->GetStandardFormat( NUMBERFORMAT_CURRENCY,
- // ScGlobal::eLnge );
- // pSet->Put( SfxUInt32Item( ATTR_VALUE_FORMAT, nNumFmt ) );
//----------------
// 4. Ueberschrift
diff --git a/sc/source/core/data/stlsheet.cxx b/sc/source/core/data/stlsheet.cxx
index c77fc710b325..65b6c3eb2e72 100644
--- a/sc/source/core/data/stlsheet.cxx
+++ b/sc/source/core/data/stlsheet.cxx
@@ -85,20 +85,20 @@ ScStyleSheet::ScStyleSheet( const ScStyleSheet& rStyle )
//------------------------------------------------------------------------
-__EXPORT ScStyleSheet::~ScStyleSheet()
+ScStyleSheet::~ScStyleSheet()
{
}
//------------------------------------------------------------------------
-BOOL __EXPORT ScStyleSheet::HasFollowSupport() const
+BOOL ScStyleSheet::HasFollowSupport() const
{
return FALSE;
}
//------------------------------------------------------------------------
-BOOL __EXPORT ScStyleSheet::HasParentSupport () const
+BOOL ScStyleSheet::HasParentSupport () const
{
BOOL bHasParentSupport = FALSE;
@@ -117,7 +117,7 @@ BOOL __EXPORT ScStyleSheet::HasParentSupport () const
//------------------------------------------------------------------------
-BOOL __EXPORT ScStyleSheet::SetParent( const String& rParentName )
+BOOL ScStyleSheet::SetParent( const String& rParentName )
{
BOOL bResult = FALSE;
String aEffName = rParentName;
@@ -145,7 +145,7 @@ BOOL __EXPORT ScStyleSheet::SetParent( const String& rParentName )
//------------------------------------------------------------------------
-SfxItemSet& __EXPORT ScStyleSheet::GetItemSet()
+SfxItemSet& ScStyleSheet::GetItemSet()
{
if ( !pSet )
{
@@ -205,7 +205,6 @@ SfxItemSet& __EXPORT ScStyleSheet::GetItemSet()
aBoxInfoItem.SetDist( TRUE );
aBoxInfoItem.SetValid( VALID_DISTANCE, TRUE );
- // aPageItem.SetLandscape( ORIENTATION_LANDSCAPE == pPrinter->GetOrientation() );
aPageItem.SetLandscape( FALSE );
rHFSet.Put( aBoxInfoItem );
@@ -265,7 +264,7 @@ SfxItemSet& __EXPORT ScStyleSheet::GetItemSet()
//------------------------------------------------------------------------
-BOOL __EXPORT ScStyleSheet::IsUsed() const
+BOOL ScStyleSheet::IsUsed() const
{
if ( GetFamily() == SFX_STYLE_FAMILY_PARA )
{
@@ -284,7 +283,7 @@ BOOL __EXPORT ScStyleSheet::IsUsed() const
//------------------------------------------------------------------------
-void __EXPORT ScStyleSheet::Notify( SfxBroadcaster&, const SfxHint& rHint )
+void ScStyleSheet::Notify( SfxBroadcaster&, const SfxHint& rHint )
{
if ( rHint.ISA(SfxSimpleHint) )
if ( ((SfxSimpleHint&)rHint).GetId() == SFX_HINT_DYING )
diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx
index d4dd2026a019..735de70e0553 100644
--- a/sc/source/core/data/table1.cxx
+++ b/sc/source/core/data/table1.cxx
@@ -261,7 +261,7 @@ ScTable::ScTable( ScDocument* pDoc, SCTAB nNewTab, const String& rNewName,
pSearchParam( NULL ),
pSearchText ( NULL ),
pSortCollator( NULL ),
- bPrintEntireSheet( FALSE ),
+ bPrintEntireSheet(true),
pRepeatColRange( NULL ),
pRepeatRowRange( NULL ),
nLockCount( 0 ),
@@ -545,26 +545,6 @@ BOOL ScTable::GetTableArea( SCCOL& rEndCol, SCROW& rEndRow ) const
return bRet;
}
-/* vorher:
-
- BOOL bFound = FALSE;
- SCCOL nMaxX = 0;
- SCROW nMaxY = 0;
- for (SCCOL i=0; i<=MAXCOL; i++)
- if (!aCol[i].IsEmpty())
- {
- bFound = TRUE;
- nMaxX = i;
- SCCOL nColY = aCol[i].GetLastEntryPos();
- if (nColY > nMaxY)
- nMaxY = nColY;
- }
-
- rEndCol = nMaxX;
- rEndRow = nMaxY;
- return bFound;
-*/
-
const SCCOL SC_COLUMNS_STOP = 30;
BOOL ScTable::GetPrintArea( SCCOL& rEndCol, SCROW& rEndRow, BOOL bNotes ) const
@@ -1664,7 +1644,7 @@ void ScTable::SetRepeatRowRange( const ScRange* pNew )
void ScTable::ClearPrintRanges()
{
aPrintRanges.clear();
- bPrintEntireSheet = FALSE;
+ bPrintEntireSheet = false;
if (IsStreamValid())
SetStreamValid(FALSE);
@@ -1672,7 +1652,7 @@ void ScTable::ClearPrintRanges()
void ScTable::AddPrintRange( const ScRange& rNew )
{
- bPrintEntireSheet = FALSE;
+ bPrintEntireSheet = false;
if( aPrintRanges.size() < 0xFFFF )
aPrintRanges.push_back( rNew );
diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index bb4fbb0f4d85..c7572380024a 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -398,8 +398,6 @@ void ScTable::DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, USH
aPattern.GetItemSet().Put( ScProtectionAttr( FALSE ) );
ApplyPatternArea( nCol1, nRow1, nCol2, nRow2, aPattern );
}
-
-// DecRecalcLevel();
}
}
@@ -470,8 +468,9 @@ void ScTable::CopyToClip(const ScRangeList& rRanges, ScTable* pTable,
bool bKeepScenarioFlags, bool bCloneNoteCaptions)
{
ScRangeList aRanges(rRanges);
- for (ScRangePtr p = aRanges.First(); p; p = aRanges.Next())
+ for ( size_t i = 0, nListSize = aRanges.size(); i < nListSize; ++i )
{
+ ScRange* p = aRanges[ i ];
CopyToClip(p->aStart.Col(), p->aStart.Row(), p->aEnd.Col(), p->aEnd.Row(),
pTable, bKeepScenarioFlags, bCloneNoteCaptions);
}
@@ -915,23 +914,17 @@ BOOL ScTable::HasScenarioRange( const ScRange& rRange ) const
{
DBG_ASSERT( bScenario, "bScenario == FALSE" );
-// ScMarkData aMark;
-// MarkScenarioIn( aMark, 0 ); //! Bits als Parameter von HasScenarioRange?
-// return aMark.IsAllMarked( rRange );
-
ScRange aTabRange = rRange;
aTabRange.aStart.SetTab( nTab );
aTabRange.aEnd.SetTab( nTab );
const ScRangeList* pList = GetScenarioRanges();
-// return ( pList && pList->Find( aTabRange ) );
if (pList)
{
- ULONG nCount = pList->Count();
- for ( ULONG j = 0; j < nCount; j++ )
+ for ( size_t j = 0, n = pList->size(); j < n; j++ )
{
- ScRange* pR = pList->GetObject( j );
+ const ScRange* pR = (*pList)[j];
if ( pR->Intersects( aTabRange ) )
return TRUE;
}
@@ -1050,11 +1043,10 @@ double ScTable::GetValue( SCCOL nCol, SCROW nRow )
}
-void ScTable::GetFormula( SCCOL nCol, SCROW nRow, String& rFormula,
- BOOL bAsciiExport )
+void ScTable::GetFormula( SCCOL nCol, SCROW nRow, String& rFormula )
{
if (ValidColRow(nCol,nRow))
- aCol[nCol].GetFormula( nRow, rFormula, bAsciiExport );
+ aCol[nCol].GetFormula( nRow, rFormula );
else
rFormula.Erase();
}
@@ -1352,25 +1344,25 @@ bool ScTable::HasAttrib( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, USH
}
-BOOL ScTable::HasAttribSelection( const ScMarkData& rMark, USHORT nMask ) const
+bool ScTable::HasAttribSelection( const ScMarkData& rMark, USHORT nMask ) const
{
- BOOL bFound=FALSE;
+ bool bFound = false;
for (SCCOL i=0; i<=MAXCOL && !bFound; i++)
bFound |= aCol[i].HasAttribSelection( rMark, nMask );
return bFound;
}
-BOOL ScTable::ExtendMerge( SCCOL nStartCol, SCROW nStartRow,
+bool ScTable::ExtendMerge( SCCOL nStartCol, SCROW nStartRow,
SCCOL& rEndCol, SCROW& rEndRow,
BOOL bRefresh, BOOL bAttrs )
{
if (!(ValidCol(nStartCol) && ValidCol(rEndCol)))
{
DBG_ERRORFILE("ScTable::ExtendMerge: invalid column number");
- return FALSE;
+ return false;
}
- BOOL bFound=FALSE;
+ bool bFound = false;
SCCOL nOldEndX = rEndCol;
SCROW nOldEndY = rEndRow;
for (SCCOL i=nStartCol; i<=nOldEndX; i++)
@@ -1612,9 +1604,9 @@ BOOL ScTable::HasBlockMatrixFragment( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCR
}
-BOOL ScTable::HasSelectionMatrixFragment( const ScMarkData& rMark ) const
+bool ScTable::HasSelectionMatrixFragment( const ScMarkData& rMark ) const
{
- BOOL bFound=FALSE;
+ bool bFound = false;
for (SCCOL i=0; i<=MAXCOL && !bFound; i++)
bFound |= aCol[i].HasSelectionMatrixFragment(rMark);
return bFound;
@@ -1711,15 +1703,14 @@ BOOL ScTable::IsSelectionEditable( const ScMarkData& rMark,
// in the active scenario range.
ScRangeList aRanges;
rMark.FillRangeListWithMarks( &aRanges, FALSE );
- ULONG nRangeCount = aRanges.Count();
SCTAB nScenTab = nTab+1;
while(pDocument->IsScenario(nScenTab) && bIsEditable)
{
if(pDocument->IsActiveScenario(nScenTab))
{
- for (ULONG i=0; i<nRangeCount && bIsEditable; i++)
+ for (size_t i=0, nRange = aRanges.size(); (i < nRange) && bIsEditable; i++ )
{
- ScRange aRange = *aRanges.GetObject(i);
+ ScRange aRange = *aRanges[ i ];
if(pDocument->HasScenarioRange(nScenTab, aRange))
{
USHORT nFlags;
@@ -1746,10 +1737,9 @@ BOOL ScTable::IsSelectionEditable( const ScMarkData& rMark,
{
ScRangeList aRanges;
rMark.FillRangeListWithMarks( &aRanges, FALSE );
- ULONG nRangeCount = aRanges.Count();
- for (ULONG i=0; i<nRangeCount && bIsEditable; i++)
+ for (size_t i = 0, nRange = aRanges.size(); (i < nRange) && bIsEditable; i++)
{
- ScRange aRange = *aRanges.GetObject(i);
+ ScRange aRange = *aRanges[ i ];
if(pDocument->HasScenarioRange(nTab, aRange))
{
USHORT nFlags;
@@ -1927,7 +1917,7 @@ const ScStyleSheet* ScTable::GetSelectionStyle( const ScMarkData& rMark, BOOL& r
rFound = FALSE;
BOOL bEqual = TRUE;
- BOOL bColFound;
+ bool bColFound;
const ScStyleSheet* pStyle = NULL;
const ScStyleSheet* pNewStyle;
@@ -1955,7 +1945,7 @@ const ScStyleSheet* ScTable::GetAreaStyle( BOOL& rFound, SCCOL nCol1, SCROW nRow
rFound = FALSE;
BOOL bEqual = TRUE;
- BOOL bColFound;
+ bool bColFound;
const ScStyleSheet* pStyle = NULL;
const ScStyleSheet* pNewStyle;
@@ -2020,10 +2010,10 @@ void ScTable::StyleSheetChanged( const SfxStyleSheetBase* pStyleSheet, BOOL bRem
}
-BOOL ScTable::ApplyFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
+bool ScTable::ApplyFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
INT16 nFlags )
{
- BOOL bChanged = FALSE;
+ bool bChanged = false;
if (ValidColRow(nStartCol, nStartRow) && ValidColRow(nEndCol, nEndRow))
for (SCCOL i = nStartCol; i <= nEndCol; i++)
bChanged |= aCol[i].ApplyFlags(nStartRow, nEndRow, nFlags);
@@ -2031,10 +2021,10 @@ BOOL ScTable::ApplyFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW
}
-BOOL ScTable::RemoveFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
+bool ScTable::RemoveFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
INT16 nFlags )
{
- BOOL bChanged = FALSE;
+ bool bChanged = false;
if (ValidColRow(nStartCol, nStartRow) && ValidColRow(nEndCol, nEndRow))
for (SCCOL i = nStartCol; i <= nEndCol; i++)
bChanged |= aCol[i].RemoveFlags(nStartRow, nEndRow, nFlags);
@@ -2086,7 +2076,6 @@ void ScTable::SetColWidth( SCCOL nCol, USHORT nNewWidth )
{
if (!nNewWidth)
{
-// DBG_ERROR("Spaltenbreite 0 in SetColWidth");
nNewWidth = STD_COL_WIDTH;
}
@@ -2094,9 +2083,6 @@ void ScTable::SetColWidth( SCCOL nCol, USHORT nNewWidth )
{
IncRecalcLevel();
InitializeNoteCaptions();
- ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
- if (pDrawLayer)
- pDrawLayer->WidthChanged( nTab, nCol, ((long) nNewWidth) - (long) pColWidth[nCol] );
pColWidth[nCol] = nNewWidth;
DecRecalcLevel();
@@ -2136,9 +2122,6 @@ void ScTable::SetRowHeight( SCROW nRow, USHORT nNewHeight )
{
IncRecalcLevel();
InitializeNoteCaptions();
- ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
- if (pDrawLayer)
- pDrawLayer->HeightChanged( nTab, nRow, ((long) nNewHeight) - (long) nOldHeight );
mpRowHeights->setValue(nRow, nRow, nNewHeight);
DecRecalcLevel();
@@ -2219,22 +2202,7 @@ BOOL ScTable::SetRowHeightRange( SCROW nStartRow, SCROW nEndRow, USHORT nNewHeig
if (!bChanged)
bChanged = lcl_pixelSizeChanged(*mpRowHeights, nStartRow, nEndRow, nNewHeight, nPPTY);
- /* #i94028# #i94991# If drawing objects are involved, each row
- has to be changed for its own, because each call to
- ScDrawLayer::HeightChanged expects correct row heights
- above passed row in the document. Cannot use array iterator
- because array changes in every cycle. */
- if( pDrawLayer )
- {
- for( SCROW nRow = nStartRow; nRow <= nEndRow ; ++nRow )
- {
- pDrawLayer->HeightChanged( nTab, nRow,
- static_cast<long>(nNewHeight) - static_cast<long>(mpRowHeights->getValue(nRow)));
- mpRowHeights->setValue(nRow, nRow, nNewHeight);
- }
- }
- else
- mpRowHeights->setValue(nStartRow, nEndRow, nNewHeight);
+ mpRowHeights->setValue(nStartRow, nEndRow, nNewHeight);
}
else
{
@@ -2247,17 +2215,6 @@ BOOL ScTable::SetRowHeightRange( SCROW nStartRow, SCROW nEndRow, USHORT nNewHeig
}
else
{
- if (pDrawLayer)
- {
- // #i115025# When comparing to nNewHeight for the whole range, the height
- // including hidden rows has to be used (same behavior as 3.2).
- unsigned long nOldHeights = mpRowHeights->getSumValue(nStartRow, nEndRow);
- // FIXME: should we test for overflows?
- long nHeightDif = (long) (unsigned long) nNewHeight *
- (nEndRow - nStartRow + 1) - nOldHeights;
- pDrawLayer->HeightChanged( nTab, nEndRow, nHeightDif );
- }
-
if (!bChanged)
bChanged = lcl_pixelSizeChanged(*mpRowHeights, nStartRow, nEndRow, nNewHeight, nPPTY);
@@ -2511,17 +2468,9 @@ void ScTable::ShowCol(SCCOL nCol, bool bShow)
{
IncRecalcLevel();
InitializeNoteCaptions();
- ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
- if (pDrawLayer)
- {
- if (bShow)
- pDrawLayer->WidthChanged( nTab, nCol, (long) pColWidth[nCol] );
- else
- pDrawLayer->WidthChanged( nTab, nCol, -(long) pColWidth[nCol] );
- }
SetColHidden(nCol, nCol, !bShow);
- DecRecalcLevel();
+ DecRecalcLevel();
ScChartListenerCollection* pCharts = pDocument->GetChartListenerCollection();
if ( pCharts )
@@ -2542,17 +2491,6 @@ void ScTable::ShowRow(SCROW nRow, bool bShow)
bool bWasVis = !RowHidden(nRow);
if (bWasVis != bShow)
{
- ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
- if (pDrawLayer)
- {
- if (bShow)
- pDrawLayer->HeightChanged(
- nTab, nRow, static_cast<long>(mpRowHeights->getValue(nRow)));
- else
- pDrawLayer->HeightChanged(
- nTab, nRow, -static_cast<long>(mpRowHeights->getValue(nRow)));
- }
-
SetRowHidden(nRow, nRow, !bShow);
if (bShow)
SetRowFiltered(nRow, nRow, false);
@@ -2577,19 +2515,6 @@ void ScTable::DBShowRow(SCROW nRow, bool bShow)
bool bWasVis = !RowHidden(nRow);
IncRecalcLevel();
InitializeNoteCaptions();
- if (bWasVis != bShow)
- {
- ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
- if (pDrawLayer)
- {
- if (bShow)
- pDrawLayer->HeightChanged(
- nTab, nRow, static_cast<long>(mpRowHeights->getValue(nRow)));
- else
- pDrawLayer->HeightChanged(
- nTab, nRow, -static_cast<long>(mpRowHeights->getValue(nRow)));
- }
- }
// Filter-Flag immer setzen, auch wenn Hidden unveraendert
SetRowHidden(nRow, nRow, !bShow);
@@ -2626,18 +2551,6 @@ void ScTable::DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
nEndRow = nRow2;
BOOL bChanged = ( bWasVis != bShow );
- if ( bChanged )
- {
- ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
- if (pDrawLayer)
- {
- long nHeight = static_cast<long>(mpRowHeights->getSumValue(nStartRow, nEndRow));
- if (bShow)
- pDrawLayer->HeightChanged( nTab, nStartRow, nHeight );
- else
- pDrawLayer->HeightChanged( nTab, nStartRow, -nHeight );
- }
- }
SetRowHidden(nStartRow, nEndRow, !bShow);
SetRowFiltered(nStartRow, nEndRow, !bShow);
@@ -2665,6 +2578,11 @@ void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
SCROW nStartRow = nRow1;
IncRecalcLevel();
InitializeNoteCaptions();
+
+ // #i116164# if there are no drawing objects within the row range, a single HeightChanged call is enough
+ ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
+ bool bHasObjects = pDrawLayer && pDrawLayer->HasObjectsInRows( nTab, nRow1, nRow2 );
+
while (nStartRow <= nRow2)
{
SCROW nEndRow = -1;
@@ -2673,18 +2591,6 @@ void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
nEndRow = nRow2;
BOOL bChanged = ( bWasVis != bShow );
- if ( bChanged )
- {
- ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
- if (pDrawLayer)
- {
- long nHeight = static_cast<long>(mpRowHeights->getSumValue(nStartRow, nEndRow));
- if (bShow)
- pDrawLayer->HeightChanged( nTab, nStartRow, nHeight );
- else
- pDrawLayer->HeightChanged( nTab, nStartRow, -nHeight );
- }
- }
SetRowHidden(nStartRow, nEndRow, !bShow);
if (bShow)
@@ -2701,6 +2607,15 @@ void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
nStartRow = nEndRow + 1;
}
+
+ if ( !bHasObjects )
+ {
+ // #i116164# set the flags for the whole range at once
+ SetRowHidden(nRow1, nRow2, !bShow);
+ if (bShow)
+ SetRowFiltered(nRow1, nRow2, false);
+ }
+
DecRecalcLevel();
}
@@ -2920,16 +2835,13 @@ void ScTable::DoAutoOutline( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SC
ScOutlineArray* pArray;
ScBaseCell* pCell;
ScRange aRef;
-/* ScPatternAttr aBoldPattern( pDocument->GetPool() ); //! spezielle Format-Vorlage
- aBoldPattern.GetItemSet().Put( SvxWeightItem( WEIGHT_BOLD ) );
-*/
StartOutlineTable();
// Zeilen
SCROW nCount = nEndRow-nStartRow+1;
- BOOL* pUsed = new BOOL[nCount];
+ bool* pUsed = new bool[nCount];
for (i=0; i<nCount; i++)
pUsed[i] = FALSE;
for (nCol=nStartCol; nCol<=nEndCol; nCol++)
@@ -2955,7 +2867,6 @@ void ScTable::DoAutoOutline( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SC
{
if (pArray->Insert( aRef.aStart.Row(), aRef.aEnd.Row(), bSizeChanged ))
{
-// ApplyPatternArea( nStartCol, nRow, nEndCol, nRow, aBoldPattern );
bFound = TRUE;
}
else
@@ -2986,7 +2897,6 @@ void ScTable::DoAutoOutline( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SC
{
if (pArray->Insert( aRef.aStart.Col(), aRef.aEnd.Col(), bSizeChanged ))
{
-// ApplyPatternArea( nCol, nStartRow, nCol, nEndRow, aBoldPattern );
bFound = TRUE;
}
else
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 48035ec5b655..34f7faa3839f 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -60,6 +60,7 @@
#include "cellform.hxx"
#include "postit.hxx"
#include "queryparam.hxx"
+#include "segmenttree.hxx"
#include <vector>
@@ -93,7 +94,7 @@ bool SplitString( const rtl::OUString &sWhole,
i18n::LocaleDataItem aLocaleItem = ScGlobal::pLocaleData->getLocaleItem();
// Get prefix element
- rtl::OUString sEmpty, sUser = rtl::OUString::createFromAscii( "-" );
+ rtl::OUString sEmpty, sUser = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "-" ));
ParseResult aPRPre = ScGlobal::pCharClass->parsePredefinedToken(
KParseType::IDENTNAME, sWhole, 0,
KParseTokens::ANY_LETTER, sUser, KParseTokens::ANY_LETTER, sUser );
@@ -1006,10 +1007,6 @@ BOOL ScTable::DoSubTotals( ScSubTotalParam& rParam )
bBlockVis = !RowFiltered(nRow);
}
}
- else
- {
-// DBG_ERROR( "nSubTotals==0 bei DoSubTotals" );
- }
}
// now insert the formulas
@@ -1617,6 +1614,8 @@ static void lcl_PrepareQuery( ScDocument* pDoc, ScTable* pTab, ScQueryParam& rPa
SCSIZE ScTable::Query(ScQueryParam& rParamOrg, BOOL bKeepSub)
{
+ mpHiddenRows->enableTreeSearch(false);
+
ScQueryParam aParam( rParamOrg );
ScStrCollection aScStrCollection;
StrData* pStrData = NULL;
@@ -1634,7 +1633,6 @@ SCSIZE ScTable::Query(ScQueryParam& rParamOrg, BOOL bKeepSub)
BOOL* pSpecial = new BOOL[nEntryCount];
lcl_PrepareQuery( pDocument, this, aParam, pSpecial );
- SCROW nEndRow = aParam.bUseDynamicRange ? aParam.nDynamicEndRow : aParam.nRow2;
if (!aParam.bInplace)
{
nOutRow = aParam.nDestRow + nHeader;
@@ -1644,7 +1642,12 @@ SCSIZE ScTable::Query(ScQueryParam& rParamOrg, BOOL bKeepSub)
}
InitializeNoteCaptions();
- for (SCROW j=aParam.nRow1 + nHeader; j<=nEndRow; j++)
+
+ if (aParam.bInplace)
+ IncRecalcLevel(); // #i116164# once for all entries
+
+ SCROW nRealRow2 = aParam.bUseDynamicRange ? aParam.nDynamicEndRow : aParam.nRow2;
+ for (SCROW j = aParam.nRow1 + nHeader; j <= nRealRow2; ++j)
{
BOOL bResult; // Filterergebnis
BOOL bValid = ValidQuery(j, aParam, pSpecial);
diff --git a/sc/source/core/data/table4.cxx b/sc/source/core/data/table4.cxx
index 42b655532757..b5cb17620747 100644
--- a/sc/source/core/data/table4.cxx
+++ b/sc/source/core/data/table4.cxx
@@ -232,7 +232,6 @@ void ScTable::FillAnalyse( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
{
if (nCount > 1)
{
- long nCmpInc = 0;
double nVal;
Date aNullDate = *pDocument->GetFormatTable()->GetNullDate();
Date aDate1 = aNullDate;
@@ -243,6 +242,7 @@ void ScTable::FillAnalyse( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
aDate2 += (long)nVal;
if ( aDate1 != aDate2 )
{
+ long nCmpInc = 0;
FillDateCmd eType;
long nDDiff = aDate2.GetDay() - (long) aDate1.GetDay();
long nMDiff = aDate2.GetMonth() - (long) aDate1.GetMonth();
@@ -419,82 +419,45 @@ void ScTable::FillAnalyse( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
void ScTable::FillFormula(ULONG& /* nFormulaCounter */, BOOL /* bFirst */, ScFormulaCell* pSrcCell,
SCCOL nDestCol, SCROW nDestRow, BOOL bLast )
{
-/* USHORT nTokArrLen = pSrcCell->GetTokenArrayLen();
- if ( nTokArrLen > 15 ) // mehr als =A1 oder =67
- {
- ScRangeName* pRangeName = pDocument->GetRangeName();
- String aName("___SC_"); // Wird dieser String veraendert,
- // auch in document2 EraseNonUsed...
- // mitaendern!!
- aName += pRangeName->GetSharedMaxIndex() + 1;
- aName += '_';
- aName += nFormulaCounter;
- nFormulaCounter++;
- if (bFirst)
- {
- ScRangeData *pAktRange = new ScRangeData(
- pDocument, aName, pSrcCell->GetTokenArray(), nTokArrLen,
- pSrcCell->GetCol(), pSrcCell->GetRow(), nTab ,RT_SHARED);
- if (!pRangeName->Insert( pAktRange ))
- delete pAktRange;
- else
- bSharedNameInserted = TRUE;
- }
- USHORT nIndex;
- pRangeName->SearchName(aName, nIndex);
- if (!pRangeName)
- {
- DBG_ERROR("ScTable::FillFormula: Falscher Name");
- return;
- }
- nIndex = ((ScRangeData*) ((*pRangeName)[nIndex]))->GetIndex();
- ScTokenArray aArr;
- aArr.AddName(nIndex);
- aArr.AddOpCode(ocStop);
- ScFormulaCell* pDestCell = new ScFormulaCell
- (pDocument, ScAddress( nDestCol, nDestRow, nTab ), aArr );
- aCol[nDestCol].Insert(nDestRow, pDestCell);
- }
- else
-*/ {
- pDocument->SetNoListening( TRUE ); // noch falsche Referenzen
- ScAddress aAddr( nDestCol, nDestRow, nTab );
- ScFormulaCell* pDestCell = new ScFormulaCell( *pSrcCell, *pDocument, aAddr );
- aCol[nDestCol].Insert(nDestRow, pDestCell);
- if ( bLast && pDestCell->GetMatrixFlag() )
+ pDocument->SetNoListening( TRUE ); // noch falsche Referenzen
+ ScAddress aAddr( nDestCol, nDestRow, nTab );
+ ScFormulaCell* pDestCell = new ScFormulaCell( *pSrcCell, *pDocument, aAddr );
+ aCol[nDestCol].Insert(nDestRow, pDestCell);
+
+ if ( bLast && pDestCell->GetMatrixFlag() )
+ {
+ ScAddress aOrg;
+ if ( pDestCell->GetMatrixOrigin( aOrg ) )
{
- ScAddress aOrg;
- if ( pDestCell->GetMatrixOrigin( aOrg ) )
+ if ( nDestCol >= aOrg.Col() && nDestRow >= aOrg.Row() )
{
- if ( nDestCol >= aOrg.Col() && nDestRow >= aOrg.Row() )
+ ScBaseCell* pOrgCell = pDocument->GetCell( aOrg );
+ if ( pOrgCell && pOrgCell->GetCellType() == CELLTYPE_FORMULA
+ && ((ScFormulaCell*)pOrgCell)->GetMatrixFlag() == MM_FORMULA )
{
- ScBaseCell* pOrgCell = pDocument->GetCell( aOrg );
- if ( pOrgCell && pOrgCell->GetCellType() == CELLTYPE_FORMULA
- && ((ScFormulaCell*)pOrgCell)->GetMatrixFlag() == MM_FORMULA )
- {
- ((ScFormulaCell*)pOrgCell)->SetMatColsRows(
- nDestCol - aOrg.Col() + 1,
- nDestRow - aOrg.Row() + 1 );
- }
- else
- {
- DBG_ERRORFILE( "FillFormula: MatrixOrigin keine Formelzelle mit MM_FORMULA" );
- }
+ ((ScFormulaCell*)pOrgCell)->SetMatColsRows(
+ nDestCol - aOrg.Col() + 1,
+ nDestRow - aOrg.Row() + 1 );
}
else
{
- DBG_ERRORFILE( "FillFormula: MatrixOrigin rechts unten" );
+ DBG_ERRORFILE( "FillFormula: MatrixOrigin keine Formelzelle mit MM_FORMULA" );
}
}
else
{
- DBG_ERRORFILE( "FillFormula: kein MatrixOrigin" );
+ DBG_ERRORFILE( "FillFormula: MatrixOrigin rechts unten" );
}
}
- pDocument->SetNoListening( FALSE );
- pDestCell->StartListeningTo( pDocument );
+ else
+ {
+ DBG_ERRORFILE( "FillFormula: kein MatrixOrigin" );
+ }
}
+ pDocument->SetNoListening( FALSE );
+ pDestCell->StartListeningTo( pDocument );
+
}
void ScTable::FillAuto( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
@@ -1591,8 +1554,6 @@ void ScTable::AutoFormatArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SC
ScAutoFormatData* pData = (*pAutoFormat)[nFormatNo];
if (pData)
{
-// ScPatternAttr aPattern(pDocument->GetPool());
-// pData->FillToItemSet(nIndex, aPattern.GetItemSet(), *pDocument);
ApplyPatternArea(nStartCol, nStartRow, nEndCol, nEndRow, rAttr);
}
}
diff --git a/sc/source/core/data/table5.cxx b/sc/source/core/data/table5.cxx
index 04c43a2eaf27..c4a472b99dce 100644
--- a/sc/source/core/data/table5.cxx
+++ b/sc/source/core/data/table5.cxx
@@ -602,20 +602,26 @@ bool ScTable::ColHidden(SCCOL nCol, SCCOL* pFirstCol, SCCOL* pLastCol) const
return aData.mbValue;
}
-void ScTable::SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden)
+bool ScTable::SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden)
{
+ bool bChanged = false;
if (bHidden)
- mpHiddenRows->setTrue(nStartRow, nEndRow);
+ bChanged = mpHiddenRows->setTrue(nStartRow, nEndRow);
else
- mpHiddenRows->setFalse(nStartRow, nEndRow);
+ bChanged = mpHiddenRows->setFalse(nStartRow, nEndRow);
+
+ return bChanged;
}
-void ScTable::SetColHidden(SCCOL nStartCol, SCCOL nEndCol, bool bHidden)
+bool ScTable::SetColHidden(SCCOL nStartCol, SCCOL nEndCol, bool bHidden)
{
+ bool bChanged = false;
if (bHidden)
- mpHiddenCols->setTrue(nStartCol, nEndCol);
+ bChanged = mpHiddenCols->setTrue(nStartCol, nEndCol);
else
- mpHiddenCols->setFalse(nStartCol, nEndCol);
+ bChanged = mpHiddenCols->setFalse(nStartCol, nEndCol);
+
+ return bChanged;
}
void ScTable::CopyColHidden(ScTable& rTable, SCCOL nStartCol, SCCOL nEndCol)
diff --git a/sc/source/core/data/table6.cxx b/sc/source/core/data/table6.cxx
index b71d55aeebb6..a6898a276352 100644
--- a/sc/source/core/data/table6.cxx
+++ b/sc/source/core/data/table6.cxx
@@ -768,8 +768,9 @@ bool ScTable::SearchAndReplaceEmptyCells(
ScRangeList aMarkedRanges, aNewRanges;
rMark.FillRangeListWithMarks(&aMarkedRanges, true);
- for (ScRangePtr p = aMarkedRanges.First(); p; p = aMarkedRanges.Next())
+ for ( size_t i = 0, n = aMarkedRanges.size(); i < n; ++i )
{
+ ScRange* p = aMarkedRanges[ i ];
if (p->aStart.Col() > nColEnd || p->aStart.Row() > nRowEnd)
// This range is outside the data area. Skip it.
continue;
@@ -795,17 +796,19 @@ bool ScTable::SearchAndReplaceEmptyCells(
{
if (rSearchItem.GetBackward())
{
- for (ScRangePtr p = aRanges.Last(); p; p = aRanges.Prev())
+ for ( size_t i = aRanges.size(); i > 0; --i )
{
- if (SearchRangeForEmptyCell(*p, rSearchItem, rCol, rRow, rUndoStr, pUndoDoc))
+ ScRange* p = aRanges[ i - 1 ];
+ if (SearchRangeForEmptyCell( *p, rSearchItem, rCol, rRow, rUndoStr, pUndoDoc))
return true;
}
}
else
{
- for (ScRangePtr p = aRanges.First(); p; p = aRanges.Next())
+ for ( size_t i = 0, nListSize = aRanges.size(); i < nListSize; ++i )
{
- if (SearchRangeForEmptyCell(*p, rSearchItem, rCol, rRow, rUndoStr, pUndoDoc))
+ ScRange* p = aRanges[ i ];
+ if (SearchRangeForEmptyCell( *p, rSearchItem, rCol, rRow, rUndoStr, pUndoDoc ))
return true;
}
}
@@ -815,8 +818,11 @@ bool ScTable::SearchAndReplaceEmptyCells(
bool bFound = false;
ScMarkData aNewMark(rMark);
aNewMark.ResetMark();
- for (ScRangePtr p = aRanges.First(); p; p = aRanges.Next())
+ for ( size_t i = 0, nListSize = aRanges.size(); i < nListSize; ++i )
+ {
+ ScRange* p = aRanges[ i ];
bFound |= SearchRangeForAllEmptyCells(*p, rSearchItem, aNewMark, rUndoStr, pUndoDoc);
+ }
rMark = aNewMark;
return bFound;
}
diff --git a/sc/source/core/data/tabprotection.cxx b/sc/source/core/data/tabprotection.cxx
index c53c74b6fa2d..1448c643a18c 100644
--- a/sc/source/core/data/tabprotection.cxx
+++ b/sc/source/core/data/tabprotection.cxx
@@ -81,9 +81,9 @@ OUString ScPassHashHelper::getHashURI(ScPasswordHash eHash)
switch (eHash)
{
case PASSHASH_SHA1:
- return OUString::createFromAscii(URI_SHA1);
+ return OUString(RTL_CONSTASCII_USTRINGPARAM(URI_SHA1));
case PASSHASH_XL:
- return OUString::createFromAscii(URI_XLS_LEGACY);
+ return OUString(RTL_CONSTASCII_USTRINGPARAM(URI_XLS_LEGACY));
case PASSHASH_UNSPECIFIED:
default:
;
@@ -522,5 +522,4 @@ void ScTableProtection::setOption(Option eOption, bool bEnabled)
{
mpImpl->setOption(eOption, bEnabled);
}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/validat.cxx b/sc/source/core/data/validat.cxx
index 1891c3a92b23..68fdaeeccd69 100644
--- a/sc/source/core/data/validat.cxx
+++ b/sc/source/core/data/validat.cxx
@@ -645,7 +645,7 @@ bool ScValidationData::GetSelectionFromFormula( TypedScStrCollection* pStrings,
const ScMatrix *pValues = aValidationSrc.GetMatrix();
if (!pValues)
{
- // The somewhat nasty case of either an error occured, or the
+ // The somewhat nasty case of either an error occurred, or the
// dereferenced value of a single cell reference or an immediate result
// is stored as a single value.
@@ -660,7 +660,7 @@ bool ScValidationData::GetSelectionFromFormula( TypedScStrCollection* pStrings,
* rStrResult += ScGlobal::GetLongErrorString(nErrCode);
*/
- xMatRef->PutError( nErrCode, 0);
+ xMatRef->PutError( nErrCode, 0, 0);
bOk = false;
}
else if (aValidationSrc.HasValueData())
@@ -672,7 +672,7 @@ bool ScValidationData::GetSelectionFromFormula( TypedScStrCollection* pStrings,
xMatRef->PutString( aStr, 0);
}
- pValues = xMatRef;
+ pValues = xMatRef.get();
}
// which index matched. We will want it eventually to pre-select that item.
@@ -730,15 +730,13 @@ bool ScValidationData::GetSelectionFromFormula( TypedScStrCollection* pStrings,
{
ScTokenArray aCondTokArr;
TypedStrData* pEntry = NULL;
- ScMatValType nMatValType;
String aValStr;
- const ScMatrixValue* pMatVal = pValues->Get( nCol, nRow, nMatValType);
+ ScMatrixValue nMatVal = pValues->Get( nCol, nRow);
// strings and empties
- if( NULL == pMatVal || ScMatrix::IsNonValueType( nMatValType ) )
+ if( ScMatrix::IsNonValueType( nMatVal.nType ) )
{
- if( NULL != pMatVal )
- aValStr = pMatVal->GetString();
+ aValStr = nMatVal.GetString();
if( NULL != pStrings )
pEntry = new TypedStrData( aValStr, 0.0, SC_STRTYPE_STANDARD);
@@ -748,7 +746,7 @@ bool ScValidationData::GetSelectionFromFormula( TypedScStrCollection* pStrings,
}
else
{
- USHORT nErr = pMatVal->GetError();
+ USHORT nErr = nMatVal.GetError();
if( 0 != nErr )
{
@@ -766,17 +764,17 @@ bool ScValidationData::GetSelectionFromFormula( TypedScStrCollection* pStrings,
(SCROW)(nRow+aRange.aStart.Row()), aRange.aStart.Tab() , aValStr);
}
else
- pFormatter->GetInputLineString( pMatVal->fVal, 0, aValStr );
+ pFormatter->GetInputLineString( nMatVal.fVal, 0, aValStr );
}
if( pCell && rMatch < 0 )
{
// I am not sure errors will work here, but a user can no
// manually enter an error yet so the point is somewhat moot.
- aCondTokArr.AddDouble( pMatVal->fVal );
+ aCondTokArr.AddDouble( nMatVal.fVal );
}
if( NULL != pStrings )
- pEntry = new TypedStrData( aValStr, pMatVal->fVal, SC_STRTYPE_VALUE);
+ pEntry = new TypedStrData( aValStr, nMatVal.fVal, SC_STRTYPE_VALUE);
}
if( rMatch < 0 && NULL != pCell && IsEqualToTokenArray( pCell, rPos, aCondTokArr ) )
diff --git a/sc/source/core/inc/ddelink.hxx b/sc/source/core/inc/ddelink.hxx
index 89127e4dfba0..b437f10c1d68 100644
--- a/sc/source/core/inc/ddelink.hxx
+++ b/sc/source/core/inc/ddelink.hxx
@@ -76,8 +76,8 @@ public:
// fuer Interpreter:
- const ScMatrix* GetResult() const { return pResult; }
- void SetResult( ScMatrix* pRes ) { pResult = pRes; }
+ const ScMatrix* GetResult() const { return pResult.get(); }
+ void SetResult( ScMatrixRef pRes ) { pResult = pRes; }
// XML and Excel import after NewData()
ScMatrixRef GetModifiableResult() { return pResult; }
diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx
index f356dbeeec71..d323027490df 100644
--- a/sc/source/core/inc/interpre.hxx
+++ b/sc/source/core/inc/interpre.hxx
@@ -340,7 +340,7 @@ void PushExternalSingleRef(sal_uInt16 nFileId, const String& rTabName,
void PushExternalDoubleRef(sal_uInt16 nFileId, const String& rTabName,
SCCOL nCol1, SCROW nRow1, SCTAB nTab1,
SCCOL nCol2, SCROW nRow2, SCTAB nTab2);
-void PushMatrix(ScMatrix* pMat);
+void PushMatrix(const ScMatrixRef& pMat);
void PushError( USHORT nError );
/// Raw stack type without default replacements.
formula::StackVar GetRawStackType();
@@ -400,7 +400,7 @@ double Compare();
NULL means case sensitivity document option is to be used!
*/
ScMatrixRef CompareMat( ScCompareOptions* pOptions = NULL );
-ScMatrixRef QueryMat( ScMatrix* pMat, ScCompareOptions& rOptions );
+ScMatrixRef QueryMat( const ScMatrixRef& pMat, ScCompareOptions& rOptions );
void ScEqual();
void ScNotEqual();
void ScLess();
@@ -663,27 +663,19 @@ void ScLCM();
//-------------------------- Matrixfunktionen ---------------------------------
void ScMatValue();
-void MEMat(ScMatrix* mM, SCSIZE n);
-void MFastMult(ScMatrix* pA, ScMatrix* pB, ScMatrix* pR, SCSIZE n, SCSIZE m, SCSIZE l);
+void MEMat(const ScMatrixRef& mM, SCSIZE n);
void ScMatDet();
void ScMatInv();
void ScMatMult();
void ScMatTrans();
void ScEMat();
void ScMatRef();
-ScMatrixRef MatConcat(ScMatrix* pMat1, ScMatrix* pMat2);
+ScMatrixRef MatConcat(const ScMatrixRef& pMat1, const ScMatrixRef& pMat2);
void ScSumProduct();
void ScSumX2MY2();
void ScSumX2DY2();
void ScSumXMY2();
void ScGrowth();
-// multiple Regression: Varianzen der Koeffizienten
-BOOL RGetVariances( ScMatrix* pV, ScMatrix* pX, SCSIZE nC, SCSIZE nR,
- BOOL bSwapColRow, BOOL bZeroConstant );
-void Calculate(ScMatrixRef& pResMat,ScMatrixRef& pE,ScMatrixRef& pQ,ScMatrixRef& pV,ScMatrixRef& pMatX,BOOL bConstant,SCSIZE N,SCSIZE M,BYTE nCase);
-ScMatrixRef Calculate2(const BOOL bConstant,const SCSIZE M ,const SCSIZE N,ScMatrixRef& pMatX,ScMatrixRef& pMatY,BYTE nCase);
-bool Calculate3(const SCSIZE M ,ScMatrixRef& pQ);
-bool Calculate4(BOOL _bExp,ScMatrixRef& pResMat,ScMatrixRef& pQ,BOOL bConstant,SCSIZE N,SCSIZE M);
bool CalculateSkew(double& fSum,double& fCount,double& vSum,std::vector<double>& values);
void CalculateSlopeIntercept(BOOL bSlope);
void CalculateSmallLarge(BOOL bSmall);
@@ -695,12 +687,11 @@ bool CalculateTest( BOOL _bTemplin
void CalculateLookup(BOOL HLookup);
bool FillEntry(ScQueryEntry& rEntry);
void CalculateAddSub(BOOL _bSub);
-void CalculateTrendGrowth(BOOL _bGrowth);
-void CalulateRGPRKP(BOOL _bRKP);
+void CalculateTrendGrowth(bool _bGrowth);
+void CalulateRGPRKP(bool _bRKP);
void CalculateSumX2MY2SumX2DY2(BOOL _bSumX2DY2);
void CalculateMatrixValue(const ScMatrix* pMat,SCSIZE nC,SCSIZE nR);
-bool CheckMatrix(BOOL _bLOG,BOOL _bTrendGrowth,BYTE& nCase,SCSIZE& nCX,SCSIZE& nCY,SCSIZE& nRX,SCSIZE& nRY,SCSIZE& M,SCSIZE& N,ScMatrixRef& pMatX,ScMatrixRef& pMatY);
-
+bool CheckMatrix(bool _bLOG,BYTE& nCase,SCSIZE& nCX,SCSIZE& nCY,SCSIZE& nRX,SCSIZE& nRY,SCSIZE& M,SCSIZE& N,ScMatrixRef& pMatX,ScMatrixRef& pMatY);
void ScRGP();
void ScRKP();
void ScForecast();
@@ -920,7 +911,6 @@ inline void ScInterpreter::TreatDoubleError( double& rVal )
}
-// static
inline double ScInterpreter::div( const double& fNumerator, const double& fDenominator )
{
return (fDenominator != 0.0) ? (fNumerator / fDenominator) :
diff --git a/sc/source/core/inc/jumpmatrix.hxx b/sc/source/core/inc/jumpmatrix.hxx
index d5e3703227fe..3392c941563b 100644
--- a/sc/source/core/inc/jumpmatrix.hxx
+++ b/sc/source/core/inc/jumpmatrix.hxx
@@ -162,7 +162,7 @@ public:
void SetJumpParameters( ScTokenVec* p )
{ pParams = p; }
const ScTokenVec* GetJumpParameters() const { return pParams; }
- ScMatrix* GetResultMatrix() const { return pMat; }
+ ScMatrix* GetResultMatrix() const { return pMat.get(); }
void GetPos( SCSIZE& rCol, SCSIZE& rRow ) const
{
rCol = nCurCol;
@@ -195,7 +195,7 @@ public:
{
if ( nNewCols > nResMatCols || nNewRows > nResMatRows )
{
- pMat = pMat->CloneAndExtend( nNewCols, nNewRows );
+ pMat = pMat->CloneAndExtend( nNewCols, nNewRows, pMat->GetDensityType() );
if ( nResMatCols < nNewCols )
{
pMat->FillDouble( CreateDoubleError(
diff --git a/sc/source/core/src/compiler.src b/sc/source/core/src/compiler.src
index a45c2b6aa458..a3740562b850 100644
--- a/sc/source/core/src/compiler.src
+++ b/sc/source/core/src/compiler.src
@@ -24,11 +24,10 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
+
#include "sc.hrc" // Definition RID_XXX
#include <formula/compiler.hrc> // Definition SC_OPCODE_XXX (interne OpCodes)
-
-
Resource RID_FUNCTION_CATEGORIES
{
String 1
@@ -76,4 +75,3 @@ Resource RID_FUNCTION_CATEGORIES
Text[ en-US ] = "Add-in" ;
};
};
-
diff --git a/sc/source/core/tool/addincfg.cxx b/sc/source/core/tool/addincfg.cxx
index 92017aad9f82..b7b3adc22cf4 100644
--- a/sc/source/core/tool/addincfg.cxx
+++ b/sc/source/core/tool/addincfg.cxx
@@ -48,7 +48,7 @@ using namespace com::sun::star;
#define CFGPATH_ADDINS "Office.CalcAddIns/AddInInfo"
ScAddInCfg::ScAddInCfg() :
- ConfigItem( rtl::OUString::createFromAscii( CFGPATH_ADDINS ) )
+ ConfigItem( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_ADDINS )) )
{
uno::Sequence<rtl::OUString> aNames(1); // one entry: empty string
EnableNotification( aNames );
diff --git a/sc/source/core/tool/addincol.cxx b/sc/source/core/tool/addincol.cxx
index f7e39adfd72a..9a6d416552dc 100644
--- a/sc/source/core/tool/addincol.cxx
+++ b/sc/source/core/tool/addincol.cxx
@@ -294,7 +294,7 @@ uno::Reference<uno::XComponentContext> getContext(uno::Reference<lang::XMultiSer
try {
uno::Reference<beans::XPropertySet> xPropset(xMSF, uno::UNO_QUERY);
xPropset->getPropertyValue(
- ::rtl::OUString::createFromAscii("DefaultContext")) >>= xCtx;
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DefaultContext"))) >>= xCtx;
}
catch ( uno::Exception & ) {
}
@@ -311,14 +311,14 @@ void ScUnoAddInCollection::Initialize()
{
uno::Reference<container::XEnumeration> xEnum =
xEnAc->createContentEnumeration(
- rtl::OUString::createFromAscii(SCADDINSUPPLIER_SERVICE) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SCADDINSUPPLIER_SERVICE)) );
if ( xEnum.is() )
{
// loop through all AddIns
while ( xEnum->hasMoreElements() )
{
uno::Any aAddInAny = xEnum->nextElement();
-//? if ( aAddInAny.getReflection()->getTypeClass() == uno::TypeClass_INTERFACE )
+
{
uno::Reference<uno::XInterface> xIntFac;
aAddInAny >>= xIntFac;
@@ -411,7 +411,7 @@ void ScUnoAddInCollection::ReadConfiguration()
ScAddInCfg& rAddInConfig = SC_MOD()->GetAddInCfg();
// additional, temporary config item for the compatibility names
- ScLinkConfigItem aAllLocalesConfig( rtl::OUString::createFromAscii( CFGPATH_ADDINS ), CONFIG_MODE_ALL_LOCALES );
+ ScLinkConfigItem aAllLocalesConfig( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_ADDINS )), CONFIG_MODE_ALL_LOCALES );
// CommitLink is not used (only reading values)
const rtl::OUString sSlash('/');
@@ -428,7 +428,7 @@ void ScUnoAddInCollection::ReadConfiguration()
rtl::OUString aFunctionsPath = aServiceName;
aFunctionsPath += sSlash;
- aFunctionsPath += rtl::OUString::createFromAscii( CFGSTR_ADDINFUNCTIONS );
+ aFunctionsPath += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( CFGSTR_ADDINFUNCTIONS) );
uno::Sequence<rtl::OUString> aFunctionNames = rAddInConfig.GetNodeNames( aFunctionsPath );
sal_Int32 nNewCount = aFunctionNames.getLength();
@@ -486,11 +486,11 @@ void ScUnoAddInCollection::ReadConfiguration()
uno::Sequence<rtl::OUString> aFuncPropNames(CFG_FUNCPROP_COUNT);
rtl::OUString* pNameArray = aFuncPropNames.getArray();
pNameArray[CFG_FUNCPROP_DISPLAYNAME] = aFuncPropPath;
- pNameArray[CFG_FUNCPROP_DISPLAYNAME] += rtl::OUString::createFromAscii( CFGSTR_DISPLAYNAME );
+ pNameArray[CFG_FUNCPROP_DISPLAYNAME] += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( CFGSTR_DISPLAYNAME) );
pNameArray[CFG_FUNCPROP_DESCRIPTION] = aFuncPropPath;
- pNameArray[CFG_FUNCPROP_DESCRIPTION] += rtl::OUString::createFromAscii( CFGSTR_DESCRIPTION );
+ pNameArray[CFG_FUNCPROP_DESCRIPTION] += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( CFGSTR_DESCRIPTION ));
pNameArray[CFG_FUNCPROP_CATEGORY] = aFuncPropPath;
- pNameArray[CFG_FUNCPROP_CATEGORY] += rtl::OUString::createFromAscii( CFGSTR_CATEGORY );
+ pNameArray[CFG_FUNCPROP_CATEGORY] += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( CFGSTR_CATEGORY) );
uno::Sequence<uno::Any> aFuncProperties = rAddInConfig.GetProperties( aFuncPropNames );
if ( aFuncProperties.getLength() == CFG_FUNCPROP_COUNT )
@@ -508,7 +508,7 @@ void ScUnoAddInCollection::ReadConfiguration()
uno::Sequence<sheet::LocalizedName> aCompNames;
rtl::OUString aCompPath = aFuncPropPath;
- aCompPath += rtl::OUString::createFromAscii( CFGSTR_COMPATIBILITYNAME );
+ aCompPath += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( CFGSTR_COMPATIBILITYNAME ));
uno::Sequence<rtl::OUString> aCompPropNames( &aCompPath, 1 );
uno::Sequence<uno::Any> aCompProperties = aAllLocalesConfig.GetProperties( aCompPropNames );
@@ -553,7 +553,7 @@ void ScUnoAddInCollection::ReadConfiguration()
long nCallerPos = SC_CALLERPOS_NONE;
rtl::OUString aArgumentsPath = aFuncPropPath;
- aArgumentsPath += rtl::OUString::createFromAscii( CFGSTR_PARAMETERS );
+ aArgumentsPath += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( CFGSTR_PARAMETERS) );
uno::Sequence<rtl::OUString> aArgumentNames = rAddInConfig.GetNodeNames( aArgumentsPath );
sal_Int32 nArgumentCount = aArgumentNames.getLength();
@@ -574,9 +574,9 @@ void ScUnoAddInCollection::ReadConfiguration()
aOneArgPath += sSlash;
pPropNameArray[nIndex] = aOneArgPath;
- pPropNameArray[nIndex++] += rtl::OUString::createFromAscii( CFGSTR_DISPLAYNAME );
+ pPropNameArray[nIndex++] += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( CFGSTR_DISPLAYNAME ));
pPropNameArray[nIndex] = aOneArgPath;
- pPropNameArray[nIndex++] += rtl::OUString::createFromAscii( CFGSTR_DESCRIPTION );
+ pPropNameArray[nIndex++] += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( CFGSTR_DESCRIPTION ));
}
uno::Sequence<uno::Any> aArgProperties = rAddInConfig.GetProperties( aArgPropNames );
@@ -715,9 +715,6 @@ BOOL lcl_ValidReturnType( const uno::Reference<reflection::XIdlClass>& xClass )
switch (xClass->getTypeClass())
{
- // case uno::TypeClass_VOID:
- // ???
-
case uno::TypeClass_ANY: // variable type
case uno::TypeClass_ENUM: //! ???
case uno::TypeClass_BOOLEAN:
@@ -826,8 +823,8 @@ void ScUnoAddInCollection::ReadFromAddIn( const uno::Reference<uno::XInterface>&
if ( xManager.is() )
{
uno::Reference<beans::XIntrospection> xIntro(
- xManager->createInstance(rtl::OUString::createFromAscii(
- "com.sun.star.beans.Introspection" )),
+ xManager->createInstance(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.beans.Introspection" ))),
uno::UNO_QUERY );
if ( xIntro.is() )
{
@@ -946,7 +943,7 @@ void ScUnoAddInCollection::ReadFromAddIn( const uno::Reference<uno::XInterface>&
}
catch(uno::Exception&)
{
- aLocalU = rtl::OUString::createFromAscii( "###" );
+ aLocalU = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "###" ));
}
String aLocalName = String( aLocalU );
@@ -958,7 +955,7 @@ void ScUnoAddInCollection::ReadFromAddIn( const uno::Reference<uno::XInterface>&
}
catch(uno::Exception&)
{
- aDescU = rtl::OUString::createFromAscii( "###" );
+ aDescU = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "###" ));
}
String aDescription = String( aDescU );
@@ -983,7 +980,7 @@ void ScUnoAddInCollection::ReadFromAddIn( const uno::Reference<uno::XInterface>&
}
catch(uno::Exception&)
{
- aArgName = rtl::OUString::createFromAscii( "###" );
+ aArgName = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "###" ));
}
rtl::OUString aArgDesc;
try
@@ -993,7 +990,7 @@ void ScUnoAddInCollection::ReadFromAddIn( const uno::Reference<uno::XInterface>&
}
catch(uno::Exception&)
{
- aArgName = rtl::OUString::createFromAscii( "###" );
+ aArgName = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "###" ));
}
BOOL bOptional =
@@ -1048,7 +1045,7 @@ void ScUnoAddInCollection::ReadFromAddIn( const uno::Reference<uno::XInterface>&
void lcl_UpdateFunctionList( ScFunctionList& rFunctionList, const ScUnoAddInFuncData& rFuncData )
{
- String aCompare = rFuncData.GetUpperLocal(); // as used in FillFunctionDescFromData
+ ::rtl::OUString aCompare = rFuncData.GetUpperLocal(); // as used in FillFunctionDescFromData
ULONG nCount = rFunctionList.GetCount();
for (ULONG nPos=0; nPos<nCount; nPos++)
@@ -1097,8 +1094,8 @@ void ScUnoAddInCollection::UpdateFromAddIn( const uno::Reference<uno::XInterface
if ( xManager.is() )
{
uno::Reference<beans::XIntrospection> xIntro(
- xManager->createInstance(rtl::OUString::createFromAscii(
- "com.sun.star.beans.Introspection" )),
+ xManager->createInstance(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.beans.Introspection" ))),
uno::UNO_QUERY );
if ( xIntro.is() )
{
@@ -1312,7 +1309,6 @@ BOOL ScUnoAddInCollection::FillFunctionDesc( long nFunc, ScFuncDesc& rDesc )
return FillFunctionDescFromData( rFuncData, rDesc );
}
-// static
BOOL ScUnoAddInCollection::FillFunctionDescFromData( const ScUnoAddInFuncData& rFuncData, ScFuncDesc& rDesc )
{
rDesc.Clear();
@@ -1328,14 +1324,14 @@ BOOL ScUnoAddInCollection::FillFunctionDescFromData( const ScUnoAddInFuncData& r
// nFIndex is set from outside
- rDesc.pFuncName = new String( rFuncData.GetUpperLocal() ); //! upper?
+ rDesc.pFuncName = new ::rtl::OUString( rFuncData.GetUpperLocal() ); //! upper?
rDesc.nCategory = rFuncData.GetCategory();
rDesc.nHelpId = rFuncData.GetHelpId();
String aDesc = rFuncData.GetDescription();
if (!aDesc.Len())
aDesc = rFuncData.GetLocalName(); // use name if no description is available
- rDesc.pFuncDesc = new String( aDesc );
+ rDesc.pFuncDesc = new ::rtl::OUString( aDesc );
// AddInArgumentType_CALLER is already left out in FuncData
@@ -1345,18 +1341,18 @@ BOOL ScUnoAddInCollection::FillFunctionDescFromData( const ScUnoAddInFuncData& r
BOOL bMultiple = FALSE;
const ScAddInArgDesc* pArgs = rFuncData.GetArguments();
- rDesc.ppDefArgNames = new String*[nArgCount];
- rDesc.ppDefArgDescs = new String*[nArgCount];
+ rDesc.ppDefArgNames = new ::rtl::OUString*[nArgCount];
+ rDesc.ppDefArgDescs = new ::rtl::OUString*[nArgCount];
rDesc.pDefArgFlags = new ScFuncDesc::ParameterFlags[nArgCount];
for ( long nArg=0; nArg<nArgCount; nArg++ )
{
- rDesc.ppDefArgNames[nArg] = new String( pArgs[nArg].aName );
- rDesc.ppDefArgDescs[nArg] = new String( pArgs[nArg].aDescription );
+ rDesc.ppDefArgNames[nArg] = new ::rtl::OUString( pArgs[nArg].aName );
+ rDesc.ppDefArgDescs[nArg] = new ::rtl::OUString( pArgs[nArg].aDescription );
rDesc.pDefArgFlags[nArg].bOptional = pArgs[nArg].bOptional;
rDesc.pDefArgFlags[nArg].bSuppress = false;
// no empty names...
- if ( rDesc.ppDefArgNames[nArg]->Len() == 0 )
+ if ( rDesc.ppDefArgNames[nArg]->getLength() == 0 )
{
String aDefName( RTL_CONSTASCII_USTRINGPARAM("arg") );
aDefName += String::CreateFromInt32( nArg+1 );
@@ -1668,17 +1664,16 @@ void ScUnoAddInCall::SetResult( const uno::Any& rNewRes )
xMatrix = new ScMatrix(
static_cast<SCSIZE>(nMaxColCount),
static_cast<SCSIZE>(nRowCount) );
- ScMatrix* pMatrix = xMatrix;
for (nRow=0; nRow<nRowCount; nRow++)
{
long nColCount = pRowArr[nRow].getLength();
const INT32* pColArr = pRowArr[nRow].getConstArray();
for (nCol=0; nCol<nColCount; nCol++)
- pMatrix->PutDouble( pColArr[nCol],
+ xMatrix->PutDouble( pColArr[nCol],
static_cast<SCSIZE>(nCol),
static_cast<SCSIZE>(nRow) );
for (nCol=nColCount; nCol<nMaxColCount; nCol++)
- pMatrix->PutDouble( 0.0,
+ xMatrix->PutDouble( 0.0,
static_cast<SCSIZE>(nCol),
static_cast<SCSIZE>(nRow) );
}
@@ -1711,17 +1706,16 @@ void ScUnoAddInCall::SetResult( const uno::Any& rNewRes )
xMatrix = new ScMatrix(
static_cast<SCSIZE>(nMaxColCount),
static_cast<SCSIZE>(nRowCount) );
- ScMatrix* pMatrix = xMatrix;
for (nRow=0; nRow<nRowCount; nRow++)
{
long nColCount = pRowArr[nRow].getLength();
const double* pColArr = pRowArr[nRow].getConstArray();
for (nCol=0; nCol<nColCount; nCol++)
- pMatrix->PutDouble( pColArr[nCol],
+ xMatrix->PutDouble( pColArr[nCol],
static_cast<SCSIZE>(nCol),
static_cast<SCSIZE>(nRow) );
for (nCol=nColCount; nCol<nMaxColCount; nCol++)
- pMatrix->PutDouble( 0.0,
+ xMatrix->PutDouble( 0.0,
static_cast<SCSIZE>(nCol),
static_cast<SCSIZE>(nRow) );
}
@@ -1754,17 +1748,16 @@ void ScUnoAddInCall::SetResult( const uno::Any& rNewRes )
xMatrix = new ScMatrix(
static_cast<SCSIZE>(nMaxColCount),
static_cast<SCSIZE>(nRowCount) );
- ScMatrix* pMatrix = xMatrix;
for (nRow=0; nRow<nRowCount; nRow++)
{
long nColCount = pRowArr[nRow].getLength();
const rtl::OUString* pColArr = pRowArr[nRow].getConstArray();
for (nCol=0; nCol<nColCount; nCol++)
- pMatrix->PutString( String( pColArr[nCol] ),
+ xMatrix->PutString( String( pColArr[nCol] ),
static_cast<SCSIZE>(nCol),
static_cast<SCSIZE>(nRow) );
for (nCol=nColCount; nCol<nMaxColCount; nCol++)
- pMatrix->PutString( EMPTY_STRING,
+ xMatrix->PutString( EMPTY_STRING,
static_cast<SCSIZE>(nCol),
static_cast<SCSIZE>(nRow) );
}
@@ -1786,5 +1779,4 @@ void ScUnoAddInCall::SetResult( const uno::Any& rNewRes )
//------------------------------------------------------------------------
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/tool/addinlis.cxx b/sc/source/core/tool/addinlis.cxx
index 4133e1f4dd9e..cb35b625baf2 100644
--- a/sc/source/core/tool/addinlis.cxx
+++ b/sc/source/core/tool/addinlis.cxx
@@ -46,8 +46,6 @@ using namespace com::sun::star;
//------------------------------------------------------------------------
-//SMART_UNO_IMPLEMENTATION( ScAddInListener, UsrObject );
-
SC_SIMPLE_SERVICE_INFO( ScAddInListener, "ScAddInListener", "stardiv.one.sheet.AddInListener" )
//------------------------------------------------------------------------
@@ -56,7 +54,6 @@ List ScAddInListener::aAllListeners;
//------------------------------------------------------------------------
-// static
ScAddInListener* ScAddInListener::CreateListener(
uno::Reference<sheet::XVolatileResult> xVR, ScDocument* pDoc )
{
@@ -83,7 +80,6 @@ ScAddInListener::~ScAddInListener()
delete pDocs;
}
-// static
ScAddInListener* ScAddInListener::Get( uno::Reference<sheet::XVolatileResult> xVR )
{
sheet::XVolatileResult* pComp = xVR.get();
@@ -99,7 +95,6 @@ ScAddInListener* ScAddInListener::Get( uno::Reference<sheet::XVolatileResult> xV
}
//! move to some container object?
-// static
void ScAddInListener::RemoveDocument( ScDocument* pDocumentP )
{
ULONG nPos = aAllListeners.Count();
diff --git a/sc/source/core/tool/address.cxx b/sc/source/core/tool/address.cxx
index f09812526a0c..9f6b4033edc5 100644
--- a/sc/source/core/tool/address.cxx
+++ b/sc/source/core/tool/address.cxx
@@ -903,6 +903,21 @@ lcl_ScRange_Parse_XL_A1( ScRange& r,
p = tmp2;
p = lcl_eatWhiteSpace( p+1 );
tmp1 = lcl_a1_get_col( p, &r.aEnd, &nFlags2 );
+ if( !tmp1 && !aEndTabName.Len() ) // Probably the aEndTabName was specified after the first range
+ {
+ p = lcl_XL_ParseSheetRef( p, aEndTabName, false, NULL );
+ if( p )
+ {
+ SCTAB nTab = 0;
+ if( aEndTabName.Len() && pDoc->GetTable( aEndTabName, nTab ) )
+ {
+ r.aEnd.SetTab( nTab );
+ nFlags |= SCA_VALID_TAB2 | SCA_TAB2_3D | SCA_TAB2_ABSOLUTE;
+ }
+ p = lcl_eatWhiteSpace( p+1 );
+ tmp1 = lcl_a1_get_col( p, &r.aEnd, &nFlags2 );
+ }
+ }
if( !tmp1 ) // strange, but valid singleton
return nFlags;
@@ -1624,7 +1639,6 @@ void ScAddress::Format( String& r, USHORT nFlags, ScDocument* pDoc,
r = ScGlobal::GetRscString( STR_NOREF_STR );
return;
}
-// if( nFlags & ( SCA_TAB_ABSOLUTE | SCA_TAB_3D ) )
if( nFlags & SCA_TAB_3D )
{
String aTabName, aDocName;
diff --git a/sc/source/core/tool/appoptio.cxx b/sc/source/core/tool/appoptio.cxx
index be483c8bf574..ed667ea97d20 100644
--- a/sc/source/core/tool/appoptio.cxx
+++ b/sc/source/core/tool/appoptio.cxx
@@ -309,7 +309,7 @@ Sequence<OUString> ScAppCfg::GetLayoutPropertyNames()
// adjust for metric system
if (ScOptionsUtil::IsMetricSystem())
- pNames[SCLAYOUTOPT_MEASURE] = OUString::createFromAscii( "Other/MeasureUnit/Metric" );
+ pNames[SCLAYOUTOPT_MEASURE] = OUString(RTL_CONSTASCII_USTRINGPARAM( "Other/MeasureUnit/Metric") );
return aNames;
}
@@ -393,12 +393,12 @@ Sequence<OUString> ScAppCfg::GetMiscPropertyNames()
ScAppCfg::ScAppCfg() :
- aLayoutItem( OUString::createFromAscii( CFGPATH_LAYOUT ) ),
- aInputItem( OUString::createFromAscii( CFGPATH_INPUT ) ),
- aRevisionItem( OUString::createFromAscii( CFGPATH_REVISION ) ),
- aContentItem( OUString::createFromAscii( CFGPATH_CONTENT ) ),
- aSortListItem( OUString::createFromAscii( CFGPATH_SORTLIST ) ),
- aMiscItem( OUString::createFromAscii( CFGPATH_MISC ) )
+ aLayoutItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_LAYOUT )) ),
+ aInputItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_INPUT )) ),
+ aRevisionItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_REVISION )) ),
+ aContentItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_CONTENT )) ),
+ aSortListItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_SORTLIST )) ),
+ aMiscItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_MISC )) )
{
sal_Int32 nIntVal = 0;
diff --git a/sc/source/core/tool/autoform.cxx b/sc/source/core/tool/autoform.cxx
index bf89efebeaa5..97f6a157ed80 100644
--- a/sc/source/core/tool/autoform.cxx
+++ b/sc/source/core/tool/autoform.cxx
@@ -56,10 +56,7 @@
const sal_Char *linker_dummy = "";
-// Standard-Name ist jetzt STR_STYLENAME_STANDARD (wie Vorlagen)
-//static const sal_Char __FAR_DATA cStandardName[] = "Standard";
-
-static const sal_Char __FAR_DATA sAutoTblFmtName[] = "autotbl.fmt";
+static const sal_Char sAutoTblFmtName[] = "autotbl.fmt";
// bis SO5PF
const USHORT AUTOFORMAT_ID_X = 9501;
@@ -1038,8 +1035,6 @@ BOOL ScAutoFormat::Load()
BYTE nChrSet, nCnt;
long nPos = rStream.Tell();
rStream >> nCnt >> nChrSet;
-// if( 4 <= nCnt )
-// rStream >> nFileVers;
if( rStream.Tell() != ULONG(nPos + nCnt) )
{
DBG_ERRORFILE( "Der Header enthaelt mehr/neuere Daten" );
@@ -1136,9 +1131,6 @@ BOOL ScAutoFormat::Save()
<< (BYTE)2 // Anzahl von Zeichen des Headers incl. diesem
<< (BYTE)::GetSOStoreTextEncoding(
gsl_getSystemTextEncoding(), sal::static_int_cast<USHORT>(rStream.GetVersion()) );
-// << (BYTE)4 // Anzahl von Zeichen des Headers incl. diesem
-// << (BYTE)::GetStoreCharSet(::GetSystemCharSet())
-// << (UNIT16)SOFFICE_FILEFORMAT_NOW;
ScAfVersions::Write(rStream); // Item-Versionen
bRet = (rStream.GetError() == 0);
diff --git a/sc/source/core/tool/callform.cxx b/sc/source/core/tool/callform.cxx
index 0c3c7e8b20b3..fddf91a4f7e1 100644
--- a/sc/source/core/tool/callform.cxx
+++ b/sc/source/core/tool/callform.cxx
@@ -106,7 +106,6 @@ typedef void (CALLTYPE* FARPROC) ( void );
FuncData::FuncData(const String& rIName) :
pModuleData (NULL),
aInternalName (rIName),
-// aFuncName (""),
nNumber (0),
nParamCount (0),
eAsyncType (NONE)
@@ -434,15 +433,12 @@ BOOL FuncData::Unadvice( double nHandle )
const String& FuncData::GetModuleName() const
{
- // DBG_ASSERT( pModuleData, "Keine Arme, keine Kekse" ):
return pModuleData->GetName();
}
-//------------------------------------------------------------------------
-
-BOOL FuncData::GetParamDesc( String& aName, String& aDesc, USHORT nParam )
+bool FuncData::getParamDesc( ::rtl::OUString& aName, ::rtl::OUString& aDesc, sal_uInt16 nParam )
{
- BOOL bRet = FALSE;
+ bool bRet = false;
if ( nParam <= nParamCount )
{
osl::Module* pLib = pModuleData->GetInstance();
@@ -452,20 +448,19 @@ BOOL FuncData::GetParamDesc( String& aName, String& aDesc, USHORT nParam )
sal_Char pcName[256];
sal_Char pcDesc[256];
*pcName = *pcDesc = 0;
- USHORT nFuncNo = nNumber; // nicht per Reference versauen lassen..
+ sal_uInt16 nFuncNo = nNumber; // nicht per Reference versauen lassen..
((::GetParamDesc)fProc)( nFuncNo, nParam, pcName, pcDesc );
- aName = String( pcName, osl_getThreadTextEncoding() );
- aDesc = String( pcDesc, osl_getThreadTextEncoding() );
- bRet = TRUE;
+ aName = ::rtl::OUString( pcName, 256, osl_getThreadTextEncoding() );
+ aDesc = ::rtl::OUString( pcDesc, 256, osl_getThreadTextEncoding() );
+ bRet = true;
}
}
if ( !bRet )
{
- aName.Erase();
- aDesc.Erase();
+ aName = ::rtl::OUString();
+ aDesc = ::rtl::OUString();
}
return bRet;
}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/tool/cellkeywords.inl b/sc/source/core/tool/cellkeywords.inl
index 9fb58c02797b..5060b366e554 100644
--- a/sc/source/core/tool/cellkeywords.inl
+++ b/sc/source/core/tool/cellkeywords.inl
@@ -3,7 +3,7 @@
// ---------------------------------------------------------------------------
// French language locale (automatically generated)
// ---------------------------------------------------------------------------
-static const Locale aFr(OUString::createFromAscii("fr"), OUString(), OUString());
+static const Locale aFr(OUString(RTL_CONSTASCII_USTRINGPARAM("fr")), OUString(), OUString());
// pre instantiations of localized function names
static const sal_Unicode cell_address_fr[] = {
@@ -58,7 +58,7 @@ addToMap(pFr, aFr);
// ---------------------------------------------------------------------------
// Hungarian language locale (automatically generated)
// ---------------------------------------------------------------------------
-static const Locale aHu(OUString::createFromAscii("hu"), OUString(), OUString());
+static const Locale aHu(OUString(RTL_CONSTASCII_USTRINGPARAM("hu")), OUString(), OUString());
// pre instantiations of localized function names
static const sal_Unicode cell_address_hu[] = {
@@ -128,7 +128,7 @@ addToMap(pHu, aHu);
// ---------------------------------------------------------------------------
// German language locale (automatically generated)
// ---------------------------------------------------------------------------
-static const Locale aDe(OUString::createFromAscii("de"), OUString(), OUString());
+static const Locale aDe(OUString(RTL_CONSTASCII_USTRINGPARAM("de")), OUString(), OUString());
// pre instantiations of localized function names
static const sal_Unicode cell_row_de[] = {
diff --git a/sc/source/core/tool/chartarr.cxx b/sc/source/core/tool/chartarr.cxx
index 691e05d6d0e1..36dc50befa40 100644
--- a/sc/source/core/tool/chartarr.cxx
+++ b/sc/source/core/tool/chartarr.cxx
@@ -129,12 +129,12 @@ BOOL ScChartArray::operator==(const ScChartArray& rCmp) const
ScMemChart* ScChartArray::CreateMemChart()
{
ScRangeListRef aRangeListRef(GetRangeList());
- ULONG nCount = aRangeListRef->Count();
+ size_t nCount = aRangeListRef->size();
if ( nCount > 1 )
return CreateMemChartMulti();
else if ( nCount == 1 )
{
- ScRange* pR = aRangeListRef->First();
+ ScRange* pR = aRangeListRef->front();
if ( pR->aStart.Tab() != pR->aEnd.Tab() )
return CreateMemChartMulti();
else
@@ -163,7 +163,7 @@ ScMemChart* ScChartArray::CreateMemChartSingle()
SCROW nRow2;
SCTAB nTab2;
ScRangeListRef aRangeListRef(GetRangeList());
- aRangeListRef->First()->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
+ aRangeListRef->front()->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
SCCOL nStrCol = nCol1; // fuer Beschriftung merken
SCROW nStrRow = nRow1;
@@ -248,8 +248,6 @@ ScMemChart* ScChartArray::CreateMemChartSingle()
static_cast<short>(nColCount), static_cast<short>(nRowCount) );
if (pMemChart)
{
-// SvNumberFormatter* pFormatter = pDocument->GetFormatTable();
-// pMemChart->SetNumberFormatter( pFormatter );
if ( bValidData )
{
BOOL bCalcAsShown = pDocument->GetDocOptions().IsCalcAsShown();
@@ -308,16 +306,11 @@ ScMemChart* ScChartArray::CreateMemChartSingle()
{
aString = ScGlobal::GetRscString(STR_COLUMN);
aString += ' ';
-// aString += String::CreateFromInt32( pCols[nCol]+1 );
ScAddress aPos( aCols[ nCol ], 0, 0 );
aPos.Format( aColStr, SCA_VALID_COL, NULL );
aString += aColStr;
}
pMemChart->SetColText( static_cast<short>(nCol), aString);
-
-// ULONG nNumberAttr = (nTotalRows ? pDocument->GetNumberFormat(
-// ScAddress( pCols[nCol], nRow1, nTab1)) : 0);
-// pMemChart->SetNumFormatIdCol( static_cast<long>(nCol), nNumberAttr );
}
//
@@ -339,37 +332,7 @@ ScMemChart* ScChartArray::CreateMemChartSingle()
aString += String::CreateFromInt32( aRows[nRow]+1 );
}
pMemChart->SetRowText( static_cast<short>(nRow), aString);
-
-// ULONG nNumberAttr = (nTotalCols ? pDocument->GetNumberFormat(
-// ScAddress( nCol1, pRows[nRow], nTab1)) : 0);
-// pMemChart->SetNumFormatIdRow( static_cast<long>(nRow), nNumberAttr );
}
-
- //
- // Titel
- //
-
-// pMemChart->SetMainTitle(ScGlobal::GetRscString(STR_CHART_MAINTITLE));
-// pMemChart->SetSubTitle(ScGlobal::GetRscString(STR_CHART_SUBTITLE));
-// pMemChart->SetXAxisTitle(ScGlobal::GetRscString(STR_CHART_XTITLE));
-// pMemChart->SetYAxisTitle(ScGlobal::GetRscString(STR_CHART_YTITLE));
-// pMemChart->SetZAxisTitle(ScGlobal::GetRscString(STR_CHART_ZTITLE));
-
- //
- // Zahlen-Typ
- //
-
-// ULONG nNumberAttr = (nTotalCols && nTotalRows ?
-// pDocument->GetNumberFormat( ScAddress( nCol1, nRow1, nTab1)) :
-// 0);
-// if (pFormatter)
-// pMemChart->SetDataType(pFormatter->GetType( nNumberAttr ));
-
- //
- // Parameter-Strings
- //
-
-// SetExtraStrings( *pMemChart );
}
return pMemChart;
@@ -380,9 +343,6 @@ ScMemChart* ScChartArray::CreateMemChartMulti()
SCSIZE nColCount = GetPositionMap()->GetColCount();
SCSIZE nRowCount = GetPositionMap()->GetRowCount();
- SCSIZE nCol = 0;
- SCSIZE nRow = 0;
-
// May happen at least with more than 32k rows.
if (nColCount > SHRT_MAX || nRowCount > SHRT_MAX)
{
@@ -410,7 +370,8 @@ ScMemChart* ScChartArray::CreateMemChartMulti()
static_cast<short>(nColCount), static_cast<short>(nRowCount) );
if (pMemChart)
{
-// pMemChart->SetNumberFormatter( pDocument->GetFormatTable() );
+ SCSIZE nCol = 0;
+ SCSIZE nRow = 0;
BOOL bCalcAsShown = pDocument->GetDocOptions().IsCalcAsShown();
ULONG nIndex = 0;
if (bValidData)
@@ -505,16 +466,9 @@ ScMemChart* ScChartArray::CreateMemChartMulti()
nPosCol++;
ScAddress aPos( nPosCol - 1, 0, 0 );
aPos.Format( aColStr, SCA_VALID_COL, NULL );
-// aString += String::CreateFromInt32( nPosCol );
aString += aColStr;
}
pMemChart->SetColText( static_cast<short>(nCol), aString);
-
-// ULONG nNumberAttr = 0;
-// pPos = GetPositionMap()->GetPosition( nCol, 0 );
-// if ( pPos )
-// nNumberAttr = pDocument->GetNumberFormat( *pPos );
-// pMemChart->SetNumFormatIdCol( static_cast<long>(nCol), nNumberAttr );
}
//
@@ -542,47 +496,7 @@ ScMemChart* ScChartArray::CreateMemChartMulti()
aString += String::CreateFromInt32( nPosRow );
}
pMemChart->SetRowText( static_cast<short>(nRow), aString);
-
-// ULONG nNumberAttr = 0;
-// pPos = GetPositionMap()->GetPosition( 0, nRow );
-// if ( pPos )
-// nNumberAttr = pDocument->GetNumberFormat( *pPos );
-// pMemChart->SetNumFormatIdRow( static_cast<long>(nRow), nNumberAttr );
}
-
- //
- // Titel
- //
-
-// pMemChart->SetMainTitle(ScGlobal::GetRscString(STR_CHART_MAINTITLE));
-// pMemChart->SetSubTitle(ScGlobal::GetRscString(STR_CHART_SUBTITLE));
-// pMemChart->SetXAxisTitle(ScGlobal::GetRscString(STR_CHART_XTITLE));
-// pMemChart->SetYAxisTitle(ScGlobal::GetRscString(STR_CHART_YTITLE));
-// pMemChart->SetZAxisTitle(ScGlobal::GetRscString(STR_CHART_ZTITLE));
-
- //
- // Zahlen-Typ
- //
-
-// SvNumberFormatter* pFormatter = pDocument->GetFormatTable();
-// if (pFormatter)
-// {
-// ULONG nIndex = 0;
-// ULONG nCount = GetPositionMap()->GetCount();
-// const ScAddress* pPos;
-// do
-// {
-// pPos = GetPositionMap()->GetPosition( nIndex );
-// } while ( !pPos && ++nIndex < nCount );
-// ULONG nFormat = ( pPos ? pDocument->GetNumberFormat( *pPos ) : 0 );
-// pMemChart->SetDataType( pFormatter->GetType( nFormat ) );
-// }
-
- //
- // Parameter-Strings
- //
-
-// SetExtraStrings( *pMemChart );
}
return pMemChart;
diff --git a/sc/source/core/tool/charthelper.cxx b/sc/source/core/tool/charthelper.cxx
index 19b9e4099be3..a75dd176bd86 100644
--- a/sc/source/core/tool/charthelper.cxx
+++ b/sc/source/core/tool/charthelper.cxx
@@ -97,27 +97,26 @@ BOOL lcl_AdjustRanges( ScRangeList& rRanges, SCTAB nSourceTab, SCTAB nDestTab, S
{
//! if multiple sheets are copied, update references into the other copied sheets?
- BOOL bChanged = FALSE;
+ bool bChanged = false;
- ULONG nCount = rRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ for ( size_t i=0, nCount = rRanges.size(); i < nCount; i++ )
{
- ScRange* pRange = rRanges.GetObject(i);
+ ScRange* pRange = rRanges[ i ];
if ( pRange->aStart.Tab() == nSourceTab && pRange->aEnd.Tab() == nSourceTab )
{
pRange->aStart.SetTab( nDestTab );
pRange->aEnd.SetTab( nDestTab );
- bChanged = TRUE;
+ bChanged = true;
}
if ( pRange->aStart.Tab() >= nTabCount )
{
pRange->aStart.SetTab( nTabCount > 0 ? ( nTabCount - 1 ) : 0 );
- bChanged = TRUE;
+ bChanged = true;
}
if ( pRange->aEnd.Tab() >= nTabCount )
{
pRange->aEnd.SetTab( nTabCount > 0 ? ( nTabCount - 1 ) : 0 );
- bChanged = TRUE;
+ bChanged = true;
}
}
@@ -127,20 +126,11 @@ BOOL lcl_AdjustRanges( ScRangeList& rRanges, SCTAB nSourceTab, SCTAB nDestTab, S
}//end anonymous namespace
// === ScChartHelper ======================================
-
-//static
-USHORT ScChartHelper::DoUpdateCharts( const ScAddress& rPos, ScDocument* pDoc )
-{
- return lcl_DoUpdateCharts( rPos, pDoc, FALSE );
-}
-
-//static
USHORT ScChartHelper::DoUpdateAllCharts( ScDocument* pDoc )
{
return lcl_DoUpdateCharts( ScAddress(), pDoc, TRUE );
}
-//static
void ScChartHelper::AdjustRangesOfChartsOnDestinationPage( ScDocument* pSrcDoc, ScDocument* pDestDoc, const SCTAB nSrcTab, const SCTAB nDestTab )
{
if( !pSrcDoc || !pDestDoc )
@@ -181,7 +171,6 @@ void ScChartHelper::AdjustRangesOfChartsOnDestinationPage( ScDocument* pSrcDoc,
}
}
-//static
uno::Reference< chart2::XChartDocument > ScChartHelper::GetChartFromSdrObject( SdrObject* pObject )
{
uno::Reference< chart2::XChartDocument > xReturn;
@@ -244,7 +233,7 @@ void ScChartHelper::SetChartRanges( const uno::Reference< chart2::XChartDocument
try
{
- rtl::OUString aPropertyNameRole( ::rtl::OUString::createFromAscii("Role") );
+ rtl::OUString aPropertyNameRole( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Role")) );
uno::Sequence< uno::Reference< chart2::data::XLabeledDataSequence > > aLabeledDataSequences( xDataSource->getDataSequences() );
sal_Int32 nRange=0;
diff --git a/sc/source/core/tool/chartlis.cxx b/sc/source/core/tool/chartlis.cxx
index 15489babda4f..64e3ae285407 100644
--- a/sc/source/core/tool/chartlis.cxx
+++ b/sc/source/core/tool/chartlis.cxx
@@ -46,9 +46,6 @@ using ::std::auto_ptr;
using ::std::unary_function;
using ::std::for_each;
-//2do: DocOption TimeOut?
-//#define SC_CHARTTIMEOUT 1000 // eine Sekunde keine Aenderung/KeyEvent
-
// Update chart listeners quickly, to get a similar behavior to loaded charts
// which register UNO listeners.
#define SC_CHARTTIMEOUT 10
@@ -129,7 +126,7 @@ ScChartListener::ScChartListener( const String& rName, ScDocument* pDocP,
StrData( rName ),
SvtListener(),
mpExtRefListener(NULL),
- mpTokens(new vector<ScSharedTokenRef>),
+ mpTokens(new vector<ScTokenRef>),
pUnoData( NULL ),
pDoc( pDocP ),
bUsed( FALSE ),
@@ -144,7 +141,7 @@ ScChartListener::ScChartListener( const String& rName, ScDocument* pDocP,
StrData( rName ),
SvtListener(),
mpExtRefListener(NULL),
- mpTokens(new vector<ScSharedTokenRef>),
+ mpTokens(new vector<ScTokenRef>),
pUnoData( NULL ),
pDoc( pDocP ),
bUsed( FALSE ),
@@ -154,7 +151,7 @@ ScChartListener::ScChartListener( const String& rName, ScDocument* pDocP,
ScRefTokenHelper::getTokensFromRangeList(*mpTokens, *rRangeList);
}
-ScChartListener::ScChartListener( const String& rName, ScDocument* pDocP, vector<ScSharedTokenRef>* pTokens ) :
+ScChartListener::ScChartListener( const String& rName, ScDocument* pDocP, vector<ScTokenRef>* pTokens ) :
StrData( rName ),
SvtListener(),
mpExtRefListener(NULL),
@@ -171,7 +168,7 @@ ScChartListener::ScChartListener( const ScChartListener& r ) :
StrData( r ),
SvtListener(),
mpExtRefListener(NULL),
- mpTokens(new vector<ScSharedTokenRef>(*r.mpTokens)),
+ mpTokens(new vector<ScTokenRef>(*r.mpTokens)),
pUnoData( NULL ),
pDoc( r.pDoc ),
bUsed( FALSE ),
@@ -224,7 +221,6 @@ void ScChartListener::SetUno(
const uno::Reference< chart::XChartDataChangeEventListener >& rListener,
const uno::Reference< chart::XChartData >& rSource )
{
-// DBG_ASSERT( rListener.is() && rSource.is(), "Nullpointer bei SetUno" );
delete pUnoData;
pUnoData = new ScChartUnoData( rListener, rSource );
}
@@ -284,27 +280,27 @@ ScRangeListRef ScChartListener::GetRangeList() const
void ScChartListener::SetRangeList( const ScRangeListRef& rNew )
{
- vector<ScSharedTokenRef> aTokens;
+ vector<ScTokenRef> aTokens;
ScRefTokenHelper::getTokensFromRangeList(aTokens, *rNew);
mpTokens->swap(aTokens);
}
void ScChartListener::SetRangeList( const ScRange& rRange )
{
- ScSharedTokenRef pToken;
+ ScTokenRef pToken;
ScRefTokenHelper::getTokenFromRange(pToken, rRange);
mpTokens->push_back(pToken);
}
namespace {
-class StartEndListening : public unary_function<ScSharedTokenRef, void>
+class StartEndListening : public unary_function<ScTokenRef, void>
{
public:
StartEndListening(ScDocument* pDoc, ScChartListener& rParent, bool bStart) :
mpDoc(pDoc), mrParent(rParent), mbStart(bStart) {}
- void operator() (const ScSharedTokenRef& pToken)
+ void operator() (const ScTokenRef& pToken)
{
if (!ScRefTokenHelper::isRef(pToken))
return;
@@ -336,7 +332,6 @@ public:
endListening(aRange);
}
}
-
private:
void startListening(const ScRange& rRange)
{
@@ -353,7 +348,6 @@ private:
else
mpDoc->EndListeningArea(rRange, &mrParent);
}
-
private:
ScDocument* mpDoc;
ScChartListener& mrParent;
@@ -404,7 +398,7 @@ void ScChartListener::UpdateScheduledSeriesRanges()
void ScChartListener::UpdateChartIntersecting( const ScRange& rRange )
{
- ScSharedTokenRef pToken;
+ ScTokenRef pToken;
ScRefTokenHelper::getTokenFromRange(pToken, rRange);
if (ScRefTokenHelper::intersects(*mpTokens, pToken))
diff --git a/sc/source/core/tool/chartpos.cxx b/sc/source/core/tool/chartpos.cxx
index f8630df4a836..06d508308981 100644
--- a/sc/source/core/tool/chartpos.cxx
+++ b/sc/source/core/tool/chartpos.cxx
@@ -105,11 +105,12 @@ void ScChartPositioner::GlueState()
if ( eGlue != SC_CHARTGLUE_NA )
return;
bDummyUpperLeft = FALSE;
- ScRangePtr pR;
- if ( aRangeListRef->Count() <= 1 )
+ ScRange* pR;
+ if ( aRangeListRef->size() <= 1 )
{
- if ( (pR = aRangeListRef->First())!=NULL )
+ if ( !aRangeListRef->empty() )
{
+ pR = aRangeListRef->front();
if ( pR->aStart.Tab() == pR->aEnd.Tab() )
eGlue = SC_CHARTGLUE_NONE;
else
@@ -125,31 +126,26 @@ void ScChartPositioner::GlueState()
}
return;
}
-// ULONG nOldPos = aRangeListRef->GetCurPos();
- pR = aRangeListRef->First();
+ pR = aRangeListRef->front();
nStartCol = pR->aStart.Col();
nStartRow = pR->aStart.Row();
SCCOL nMaxCols, nEndCol;
SCROW nMaxRows, nEndRow;
nMaxCols = nEndCol = 0;
nMaxRows = nEndRow = 0;
- do
+ for ( size_t i = 1, nRanges = aRangeListRef->size(); i <= nRanges; ++i ) // <= so 1 extra pass after last item
{ // umspannenden Bereich etc. feststellen
SCCOLROW nTmp, n1, n2;
- if ( (n1 = pR->aStart.Col()) < nStartCol )
- nStartCol = static_cast<SCCOL>(n1);
- if ( (n2 = pR->aEnd.Col()) > nEndCol )
- nEndCol = static_cast<SCCOL>(n2);
- if ( (nTmp = n2 - n1 + 1) > nMaxCols )
- nMaxCols = static_cast<SCCOL>(nTmp);
- if ( (n1 = pR->aStart.Row()) < nStartRow )
- nStartRow = static_cast<SCROW>(n1);
- if ( (n2 = pR->aEnd.Row()) > nEndRow )
- nEndRow = static_cast<SCROW>(n2);
- if ( (nTmp = n2 - n1 + 1) > nMaxRows )
- nMaxRows = static_cast<SCROW>(nTmp);
- } while ( (pR = aRangeListRef->Next())!=NULL );
+ if ( (n1 = pR->aStart.Col()) < nStartCol ) nStartCol = static_cast<SCCOL>(n1 );
+ if ( (n2 = pR->aEnd.Col() ) > nEndCol ) nEndCol = static_cast<SCCOL>(n2 );
+ if ( (nTmp = n2 - n1 + 1 ) > nMaxCols ) nMaxCols = static_cast<SCCOL>(nTmp);
+ if ( (n1 = pR->aStart.Row()) < nStartRow ) nStartRow = static_cast<SCROW>(n1 );
+ if ( (n2 = pR->aEnd.Row() ) > nEndRow ) nEndRow = static_cast<SCROW>(n2 );
+ if ( (nTmp = n2 - n1 + 1 ) > nMaxRows ) nMaxRows = static_cast<SCROW>(nTmp);
+ if ( i < nRanges ) // in last pass; i = nRanges so don't use at()
+ pR = (*aRangeListRef)[i];
+ }
SCCOL nC = nEndCol - nStartCol + 1;
if ( nC == 1 )
{
@@ -198,8 +194,9 @@ void ScChartPositioner::GlueState()
SCCOL nCol, nCol1, nCol2;
SCROW nRow, nRow1, nRow2;
- for ( pR = aRangeListRef->First(); pR; pR = aRangeListRef->Next() )
+ for ( size_t i = 0, nRanges = aRangeListRef->size(); i < nRanges; ++i )
{ // Selektionen 2D als belegt markieren
+ pR = (*aRangeListRef)[i];
nCol1 = pR->aStart.Col() - nStartCol;
nCol2 = pR->aEnd.Col() - nStartCol;
nRow1 = pR->aStart.Row() - nStartRow;
@@ -302,9 +299,9 @@ void ScChartPositioner::CheckColRowHeaders()
BOOL bColStrings = TRUE;
BOOL bRowStrings = TRUE;
GlueState();
- if ( aRangeListRef->Count() == 1 )
+ if ( aRangeListRef->size() == 1 )
{
- aRangeListRef->First()->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
+ aRangeListRef->front()->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
if ( nCol1 > nCol2 || nRow1 > nRow2 )
bColStrings = bRowStrings = FALSE;
else
@@ -324,10 +321,12 @@ void ScChartPositioner::CheckColRowHeaders()
else
{
BOOL bVert = (eGlue == SC_CHARTGLUE_NONE || eGlue == SC_CHARTGLUE_ROWS);
- for ( ScRangePtr pR = aRangeListRef->First();
- pR && (bColStrings || bRowStrings);
- pR = aRangeListRef->Next() )
+ for ( size_t i = 0, nRanges = aRangeListRef->size();
+ (i < nRanges) && (bColStrings || bRowStrings);
+ ++i
+ )
{
+ ScRange* pR = (*aRangeListRef)[i];
pR->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
BOOL bTopRow = (nRow1 == nStartRow);
if ( bRowStrings && (bVert || nCol1 == nStartCol) )
@@ -393,12 +392,12 @@ void ScChartPositioner::CreatePositionMap()
Table* pCols = new Table;
Table* pNewRowTable = new Table;
ScAddress* pNewAddress = new ScAddress;
- ScRangePtr pR;
Table* pCol;
ScAddress* pPos;
SCROW nNoGlueRow = 0;
- for ( pR = aRangeListRef->First(); pR; pR = aRangeListRef->Next() )
+ for ( size_t i = 0, nRanges = aRangeListRef->size(); i < nRanges; ++i )
{
+ ScRange* pR = (*aRangeListRef)[i];
pR->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
for ( nTab = nTab1; nTab <= nTab2; nTab++ )
{
@@ -462,7 +461,6 @@ void ScChartPositioner::CreatePositionMap()
if ( nColCount==0 || nRowCount==0 )
{ // einen Eintrag ohne Daten erzeugen
- pR = aRangeListRef->First();
if ( pCols->Count() > 0 )
pCol = (Table*) pCols->First();
else
diff --git a/sc/source/core/tool/chgtrack.cxx b/sc/source/core/tool/chgtrack.cxx
index 7ff7e4c17b49..a0cc38007615 100644
--- a/sc/source/core/tool/chgtrack.cxx
+++ b/sc/source/core/tool/chgtrack.cxx
@@ -1744,7 +1744,6 @@ BOOL ScChangeActionContent::Select( ScDocument* pDoc, ScChangeTrack* pTrack,
}
-// static
void ScChangeActionContent::GetStringOfCell( String& rStr,
const ScBaseCell* pCell, const ScDocument* pDoc, const ScAddress& rPos )
{
@@ -1760,7 +1759,6 @@ void ScChangeActionContent::GetStringOfCell( String& rStr,
}
-// static
void ScChangeActionContent::GetStringOfCell( String& rStr,
const ScBaseCell* pCell, const ScDocument* pDoc, ULONG nFormat )
{
@@ -1793,7 +1791,6 @@ void ScChangeActionContent::GetStringOfCell( String& rStr,
}
-// static
ScChangeActionContentCellType ScChangeActionContent::GetContentCellType( const ScBaseCell* pCell )
{
if ( pCell )
@@ -1829,14 +1826,12 @@ ScChangeActionContentCellType ScChangeActionContent::GetContentCellType( const S
}
-// static
BOOL ScChangeActionContent::NeedsNumberFormat( const ScBaseCell* pCell )
{
return pCell && pCell->GetCellType() == CELLTYPE_VALUE;
}
-// static
void ScChangeActionContent::SetValue( String& rStr, ScBaseCell*& pCell,
const ScAddress& rPos, const ScBaseCell* pOrgCell,
const ScDocument* pFromDoc, ScDocument* pToDoc )
@@ -1845,8 +1840,6 @@ void ScChangeActionContent::SetValue( String& rStr, ScBaseCell*& pCell,
SetValue( rStr, pCell, nFormat, pOrgCell, pFromDoc, pToDoc );
}
-
-// static
void ScChangeActionContent::SetValue( String& rStr, ScBaseCell*& pCell,
ULONG nFormat, const ScBaseCell* pOrgCell,
const ScDocument* pFromDoc, ScDocument* pToDoc )
@@ -1880,7 +1873,6 @@ void ScChangeActionContent::SetValue( String& rStr, ScBaseCell*& pCell,
}
-// static
void ScChangeActionContent::SetCell( String& rStr, ScBaseCell* pCell,
ULONG nFormat, const ScDocument* pDoc )
{
@@ -2212,7 +2204,6 @@ const SCROW ScChangeTrack::nContentRowsPerSlot = InitContentRowsPerSlot();
const SCSIZE ScChangeTrack::nContentSlots =
(MAXROWCOUNT) / InitContentRowsPerSlot() + 2;
-// static
SCROW ScChangeTrack::InitContentRowsPerSlot()
{
const SCSIZE nMaxSlots = 0xffe0 / sizeof( ScChangeActionContent* ) - 2;
@@ -2338,7 +2329,7 @@ void ScChangeTrack::Clear()
}
-void __EXPORT ScChangeTrack::ConfigurationChanged( utl::ConfigurationBroadcaster*, sal_uInt32 )
+void ScChangeTrack::ConfigurationChanged( utl::ConfigurationBroadcaster*, sal_uInt32 )
{
if ( !pDoc->IsInDtorClear() )
{
@@ -2726,7 +2717,6 @@ void ScChangeTrack::AppendMove( const ScRange& rFromRange,
}
-// static
BOOL ScChangeTrack::IsMatrixFormulaRangeDifferent( const ScBaseCell* pOldCell,
const ScBaseCell* pNewCell )
{
@@ -2743,24 +2733,6 @@ BOOL ScChangeTrack::IsMatrixFormulaRangeDifferent( const ScBaseCell* pOldCell,
return nC1 != nC2 || nR1 != nR2;
}
-
-void ScChangeTrack::AppendContent( const ScAddress& rPos,
- const String& rNewValue, ScBaseCell* pOldCell )
-{
- String aOldValue;
- ScChangeActionContent::GetStringOfCell( aOldValue, pOldCell, pDoc, rPos );
- if ( aOldValue != rNewValue ||
- IsMatrixFormulaRangeDifferent( pOldCell, NULL ) )
- { // nur wirkliche Aenderung tracken
- ScRange aRange( rPos );
- ScChangeActionContent* pAct = new ScChangeActionContent( aRange );
- pAct->SetOldValue( pOldCell, pDoc, pDoc );
- pAct->SetNewValue( rNewValue, pDoc );
- Append( pAct );
- }
-}
-
-
void ScChangeTrack::AppendContent( const ScAddress& rPos,
const ScBaseCell* pOldCell, ULONG nOldFormat, ScDocument* pRefDoc )
{
@@ -3356,7 +3328,6 @@ void ScChangeTrack::Undo( ULONG nStartAction, ULONG nEndAction, bool bMerge )
}
-// static
BOOL ScChangeTrack::MergeIgnore( const ScChangeAction& rAction, ULONG nFirstMerge )
{
if ( rAction.IsRejected() )
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 15723af8e185..3553cef124c4 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -288,7 +288,6 @@ void dbg_call_generateMappingDiff()
}
#endif // erGENERATEMAPPINGDIFF
-// static
void ScCompiler::DeInit()
{
if (pCharClassEnglish)
@@ -325,7 +324,6 @@ bool ScCompiler::IsEnglishSymbol( const String& rName )
return false; // no valid function name
}
-// static
void ScCompiler::InitCharClassEnglish()
{
::com::sun::star::lang::Locale aLocale(
@@ -371,11 +369,6 @@ void ScCompiler::SetGrammar( const FormulaGrammar::Grammar eGrammar )
}
}
-void ScCompiler::SetEncodeUrlMode( EncodeUrlMode eMode )
-{
- meEncodeUrlMode = eMode;
-}
-
ScCompiler::EncodeUrlMode ScCompiler::GetEncodeUrlMode() const
{
return meEncodeUrlMode;
@@ -917,9 +910,6 @@ struct ConventionOOO_A1 : public Convention_A1
ScComplexRefData aRef( rRef );
// In case absolute/relative positions weren't separately available:
// transform relative to absolute!
- // AdjustReference( aRef.Ref1 );
- // if( !bSingleRef )
- // AdjustReference( aRef.Ref2 );
aRef.Ref1.CalcAbsIfRel( rComp.GetPos() );
if( !bSingleRef )
aRef.Ref2.CalcAbsIfRel( rComp.GetPos() );
@@ -2501,6 +2491,7 @@ Label_MaskStateMachine:
nLen = MAXSTRLEN-1;
}
lcl_UnicodeStrNCpy( cSymbol, aSymbol.GetBuffer(), nLen );
+ pSym = &cSymbol[nLen];
}
else
{
@@ -3085,8 +3076,9 @@ BOOL ScCompiler::IsColRowName( const String& rName )
pRL = pDoc->GetColNameRanges();
else
pRL = pDoc->GetRowNameRanges();
- for ( ScRangePair* pR = pRL->First(); pR && !bInList; pR = pRL->Next() )
+ for ( size_t iPair = 0, nPairs = pRL->size(); iPair < nPairs && !bInList; ++iPair )
{
+ ScRangePair* pR = (*pRL)[iPair];
const ScRange& rNameRange = pR->GetRange(0);
if ( jThisTab && !(rNameRange.aStart.Tab() <= nThisTab &&
nThisTab <= rNameRange.aEnd.Tab()) )
@@ -3159,10 +3151,10 @@ BOOL ScCompiler::IsColRowName( const String& rName )
ScAutoNameCache* pNameCache = pDoc->GetAutoNameCache();
if ( pNameCache )
{
- // #b6355215# use GetNameOccurences to collect all positions of aName on the sheet
+ // #b6355215# use GetNameOccurrences to collect all positions of aName on the sheet
// (only once), similar to the outer part of the loop in the "else" branch.
- const ScAutoNameAddresses& rAddresses = pNameCache->GetNameOccurences( aName, aPos.Tab() );
+ const ScAutoNameAddresses& rAddresses = pNameCache->GetNameOccurrences( aName, aPos.Tab() );
// Loop through the found positions, similar to the inner part of the loop in the "else" branch.
// The order of addresses in the vector is the same as from ScCellIterator.
@@ -4190,7 +4182,6 @@ void ScCompiler::MoveRelWrap( SCCOL nMaxCol, SCROW nMaxRow )
}
}
-// static
// Wrap-adjust relative references of a RangeName to current position,
// don't call for other token arrays!
void ScCompiler::MoveRelWrap( ScTokenArray& rArr, ScDocument* pDoc, const ScAddress& rPos,
@@ -5107,18 +5098,15 @@ void ScCompiler::CreateStringFromMatrix( rtl::OUStringBuffer& rBuffer,
if( pMatrix->IsValue( nC, nR ) )
{
- ScMatValType nType;
- const ScMatrixValue* pVal = pMatrix->Get( nC, nR, nType);
-
- if( nType == SC_MATVAL_BOOLEAN )
- AppendBoolean( rBuffer, pVal->GetBoolean() );
+ if (pMatrix->IsBoolean(nC, nR))
+ AppendBoolean(rBuffer, pMatrix->GetDouble(nC, nR) != 0.0);
else
{
- USHORT nErr = pVal->GetError();
- if( nErr )
- rBuffer.append( ScGlobal::GetErrorString( nErr ) );
+ USHORT nErr = pMatrix->GetError(nC, nR);
+ if (nErr)
+ rBuffer.append(ScGlobal::GetErrorString(nErr));
else
- AppendDouble( rBuffer, pVal->fVal );
+ AppendDouble(rBuffer, pMatrix->GetDouble(nC, nR));
}
}
else if( pMatrix->IsEmpty( nC, nR ) )
@@ -5262,7 +5250,7 @@ void ScCompiler::fillAddInToken(::std::vector< ::com::sun::star::sheet::FormulaO
// -----------------------------------------------------------------------------
BOOL ScCompiler::HandleSingleRef()
{
- ScSingleRefData& rRef = static_cast<ScToken*>((FormulaToken*)pToken)->GetSingleRef();
+ ScSingleRefData& rRef = static_cast<ScToken*>(pToken.get())->GetSingleRef();
rRef.CalcAbsIfRel( aPos );
if ( !rRef.Valid() )
{
@@ -5281,8 +5269,9 @@ BOOL ScCompiler::HandleSingleRef()
ScRangePairList* pRL = (bColName ?
pDoc->GetColNameRanges() : pDoc->GetRowNameRanges());
ScRange aRange;
- for ( ScRangePair* pR = pRL->First(); pR; pR = pRL->Next() )
+ for ( size_t i = 0, nPairs = pRL->size(); i < nPairs; ++i )
{
+ ScRangePair* pR = (*pRL)[i];
if ( pR->GetRange(0).In( aLook ) )
{
bInList = bValidName = TRUE;
@@ -5327,8 +5316,9 @@ BOOL ScCompiler::HandleSingleRef()
nMaxRow = nMyRow - 1;
}
}
- for ( ScRangePair* pR = pRL->First(); pR; pR = pRL->Next() )
+ for ( size_t i = 0, nPairs = pRL->size(); i < nPairs; ++i )
{ // next defined ColNameRange below limits row
+ ScRangePair* pR = (*pRL)[i];
const ScRange& rRange = pR->GetRange(1);
if ( rRange.aStart.Col() <= nCol && nCol <= rRange.aEnd.Col() )
{ // identical column range
@@ -5359,8 +5349,9 @@ BOOL ScCompiler::HandleSingleRef()
nMaxCol = nMyCol - 1;
}
}
- for ( ScRangePair* pR = pRL->First(); pR; pR = pRL->Next() )
+ for ( size_t i = 0, nPairs = pRL->size(); i < nPairs; ++i )
{ // next defined RowNameRange to the right limits column
+ ScRangePair* pR = (*pRL)[i];
const ScRange& rRange = pR->GetRange(1);
if ( rRange.aStart.Row() <= nRow && nRow <= rRange.aEnd.Row() )
{ // identical row range
@@ -5494,10 +5485,6 @@ BOOL ScCompiler::HandleDbData()
return TRUE;
}
-String GetScCompilerNativeSymbol( OpCode eOp )
-{
- return ScCompiler::GetNativeSymbol( eOp );
-}
// -----------------------------------------------------------------------------
FormulaTokenRef ScCompiler::ExtendRangeReference( FormulaToken & rTok1, FormulaToken & rTok2, bool bReuseDoubleRef )
{
diff --git a/sc/source/core/tool/consoli.cxx b/sc/source/core/tool/consoli.cxx
index 006d1746501b..554560b1e87d 100644
--- a/sc/source/core/tool/consoli.cxx
+++ b/sc/source/core/tool/consoli.cxx
@@ -50,22 +50,6 @@
// STATIC DATA -----------------------------------------------------------
-/* Strings bei Gelegenheit ganz raus...
-static USHORT nFuncRes[] = { // Reihenfolge wie bei enum ScSubTotalFunc
- 0, // none
- STR_PIVOTFUNC_AVG,
- STR_PIVOTFUNC_COUNT,
- STR_PIVOTFUNC_COUNT2,
- STR_PIVOTFUNC_MAX,
- STR_PIVOTFUNC_MIN,
- STR_PIVOTFUNC_PROD,
- STR_PIVOTFUNC_STDDEV,
- STR_PIVOTFUNC_STDDEV2,
- STR_PIVOTFUNC_SUM,
- STR_PIVOTFUNC_VAR,
- STR_PIVOTFUNC_VAR2 };
-*/
-
static OpCode eOpCodeTable[] = { // Reihenfolge wie bei enum ScSubTotalFunc
ocBad, // none
ocAverage,
@@ -185,8 +169,6 @@ void ScConsData::DeleteData()
ppRefs = NULL;
}
-// DELETEARR( ppData1, nColCount );
-// DELETEARR( ppData2, nColCount );
DELETEARR( ppCount, nColCount );
DELETEARR( ppSum, nColCount );
DELETEARR( ppSumSqr,nColCount );
diff --git a/sc/source/core/tool/ddelink.cxx b/sc/source/core/tool/ddelink.cxx
index 00b97d430f0c..88cb72fcee9c 100644
--- a/sc/source/core/tool/ddelink.cxx
+++ b/sc/source/core/tool/ddelink.cxx
@@ -68,7 +68,7 @@ ScDdeLink::ScDdeLink( ScDocument* pD, const String& rA, const String& rT, const
{
}
-__EXPORT ScDdeLink::~ScDdeLink()
+ScDdeLink::~ScDdeLink()
{
// Verbindung aufheben
@@ -105,7 +105,7 @@ ScDdeLink::ScDdeLink( ScDocument* pD, SvStream& rStream, ScMultipleReadHeader& r
BOOL bHasValue;
rStream >> bHasValue;
if ( bHasValue )
- pResult = new ScMatrix( rStream );
+ pResult = new ScMatrix(0, 0);
if (rHdr.BytesLeft()) // neu in 388b und der 364w (RealTime-Client) Version
rStream >> nMode;
@@ -126,8 +126,6 @@ void ScDdeLink::Store( SvStream& rStream, ScMultipleWriteHeader& rHdr ) const
BOOL bHasValue = ( pResult != NULL );
rStream << bHasValue;
- if (bHasValue)
- pResult->Store( rStream );
if( rStream.GetVersion() > SOFFICE_FILEFORMAT_40 ) // nicht bei 4.0 Export
rStream << nMode; // seit 388b
@@ -138,7 +136,7 @@ void ScDdeLink::Store( SvStream& rStream, ScMultipleWriteHeader& rHdr ) const
rHdr.EndEntry();
}
-void __EXPORT ScDdeLink::DataChanged( const String& rMimeType,
+void ScDdeLink::DataChanged( const String& rMimeType,
const ::com::sun::star::uno::Any & rValue )
{
// wir koennen nur Strings...
@@ -168,7 +166,7 @@ void __EXPORT ScDdeLink::DataChanged( const String& rMimeType,
if (!nRows || !nCols) // keine Daten
{
- pResult.Clear();
+ pResult.reset();
}
else // Daten aufteilen
{
@@ -202,6 +200,9 @@ void __EXPORT ScDdeLink::DataChanged( const String& rMimeType,
double fVal;
if ( nMode != SC_DDE_TEXT && pFormatter->IsNumberFormat( aEntry, nIndex, fVal ) )
pResult->PutDouble( fVal, nC, nR );
+ else if (aEntry.Len() == 0)
+ // empty cell
+ pResult->PutEmpty(nC, nR);
else
pResult->PutString( aEntry, nC, nR );
}
@@ -232,7 +233,7 @@ void __EXPORT ScDdeLink::DataChanged( const String& rMimeType,
void ScDdeLink::ResetValue()
{
- pResult.Clear();
+ pResult.reset();
// Es hat sich was getan...
// Tracking, FID_DATACHANGED etc. passiert von aussen
@@ -241,7 +242,7 @@ void ScDdeLink::ResetValue()
Broadcast( ScHint( SC_HINT_DATACHANGED, ScAddress(), NULL ) );
}
-void __EXPORT ScDdeLink::ListenersGone()
+void ScDdeLink::ListenersGone()
{
BOOL bWas = bIsInUpdate;
bIsInUpdate = TRUE; // Remove() kann Reschedule ausloesen??!?
@@ -268,7 +269,6 @@ void ScDdeLink::TryUpdate()
else
{
bIsInUpdate = TRUE;
- //Application::Reschedule(); //! OS/2-Simulation
pDoc->IncInDdeLinkUpdate();
Update();
pDoc->DecInDdeLinkUpdate();
diff --git a/sc/source/core/tool/detfunc.cxx b/sc/source/core/tool/detfunc.cxx
index 3916e2e27de3..a70c56fea2db 100644
--- a/sc/source/core/tool/detfunc.cxx
+++ b/sc/source/core/tool/detfunc.cxx
@@ -461,7 +461,7 @@ BOOL ScDetectiveFunc::HasArrow( const ScAddress& rStart,
return bFound;
}
-BOOL ScDetectiveFunc::IsNonAlienArrow( SdrObject* pObject ) // static
+BOOL ScDetectiveFunc::IsNonAlienArrow( SdrObject* pObject )
{
if ( pObject->GetLayer()==SC_LAYER_INTERN &&
pObject->IsPolyObj() && pObject->GetPointCount()==2 )
@@ -502,7 +502,6 @@ BOOL ScDetectiveFunc::InsertArrow( SCCOL nCol, SCROW nRow,
pBox->SetMergedItemSetAndBroadcast(rData.GetBoxSet());
- ScDrawLayer::SetAnchor( pBox, SCA_CELL );
pBox->SetLayer( SC_LAYER_INTERN );
pPage->InsertObject( pBox );
pModel->AddCalcUndo( new SdrUndoInsertObj( *pBox ) );
@@ -544,7 +543,6 @@ BOOL ScDetectiveFunc::InsertArrow( SCCOL nCol, SCROW nRow,
pArrow->NbcSetLogicRect(Rectangle(aStartPos,aEndPos)); //! noetig ???
pArrow->SetMergedItemSetAndBroadcast(rAttrSet);
- ScDrawLayer::SetAnchor( pArrow, SCA_CELL );
pArrow->SetLayer( SC_LAYER_INTERN );
pPage->InsertObject( pArrow );
pModel->AddCalcUndo( new SdrUndoInsertObj( *pArrow ) );
@@ -576,7 +574,6 @@ BOOL ScDetectiveFunc::InsertToOtherTab( SCCOL nStartCol, SCROW nStartRow,
pBox->SetMergedItemSetAndBroadcast(rData.GetBoxSet());
- ScDrawLayer::SetAnchor( pBox, SCA_CELL );
pBox->SetLayer( SC_LAYER_INTERN );
pPage->InsertObject( pBox );
pModel->AddCalcUndo( new SdrUndoInsertObj( *pBox ) );
@@ -611,7 +608,6 @@ BOOL ScDetectiveFunc::InsertToOtherTab( SCCOL nStartCol, SCROW nStartRow,
pArrow->SetMergedItemSetAndBroadcast(rAttrSet);
- ScDrawLayer::SetAnchor( pArrow, SCA_CELL );
pArrow->SetLayer( SC_LAYER_INTERN );
pPage->InsertObject( pArrow );
pModel->AddCalcUndo( new SdrUndoInsertObj( *pArrow ) );
@@ -680,7 +676,6 @@ void ScDetectiveFunc::DrawCircle( SCCOL nCol, SCROW nRow, ScDetectiveData& rData
pCircle->SetMergedItemSetAndBroadcast(rAttrSet);
- ScDrawLayer::SetAnchor( pCircle, SCA_CELL );
pCircle->SetLayer( SC_LAYER_INTERN );
pPage->InsertObject( pCircle );
pModel->AddCalcUndo( new SdrUndoInsertObj( *pCircle ) );
@@ -702,10 +697,10 @@ void ScDetectiveFunc::DeleteArrowsAt( SCCOL nCol, SCROW nRow, BOOL bDestPnt )
pPage->RecalcObjOrdNums();
- long nDelCount = 0;
- ULONG nObjCount = pPage->GetObjCount();
+ ULONG nObjCount = pPage->GetObjCount();
if (nObjCount)
{
+ long nDelCount = 0;
SdrObject** ppObj = new SdrObject*[nObjCount];
SdrObjListIter aIter( *pPage, IM_FLAT );
@@ -755,17 +750,6 @@ inline BOOL RectIsPoints( const Rectangle& rRect, const Point& rStart, const Poi
void ScDetectiveFunc::DeleteBox( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 )
{
-/* String aStr;
- aStr += nCol1;
- aStr += '/';
- aStr += nRow1;
- aStr += '/';
- aStr += nCol2;
- aStr += '/';
- aStr += nRow2;
- InfoBox(0,aStr).Execute();
-*/
-
Rectangle aCornerRect = GetDrawRect( nCol1, nRow1, nCol2, nRow2 );
Point aStartCorner = aCornerRect.TopLeft();
Point aEndCorner = aCornerRect.BottomRight();
@@ -777,10 +761,10 @@ void ScDetectiveFunc::DeleteBox( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nR
pPage->RecalcObjOrdNums();
- long nDelCount = 0;
- ULONG nObjCount = pPage->GetObjCount();
+ ULONG nObjCount = pPage->GetObjCount();
if (nObjCount)
{
+ long nDelCount = 0;
SdrObject** ppObj = new SdrObject*[nObjCount];
SdrObjListIter aIter( *pPage, IM_FLAT );
@@ -1061,7 +1045,6 @@ USHORT ScDetectiveFunc::InsertSuccLevel( SCCOL nCol1, SCROW nRow1, SCCOL nCol2,
// ueber ganzes Dokument
USHORT nResult = DET_INS_EMPTY;
-// ScCellIterator aCellIter( pDoc, 0,0, nTab, MAXCOL,MAXROW, nTab );
ScCellIterator aCellIter( pDoc, 0,0,0, MAXCOL,MAXROW,MAXTAB ); // alle Tabellen
ScBaseCell* pCell = aCellIter.GetFirst();
while (pCell)
@@ -1428,7 +1411,7 @@ BOOL ScDetectiveFunc::MarkInvalid(BOOL& rOverflow)
}
void ScDetectiveFunc::GetAllPreds(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
- vector<ScSharedTokenRef>& rRefTokens)
+ vector<ScTokenRef>& rRefTokens)
{
ScCellIterator aCellIter(pDoc, nCol1, nRow1, nTab, nCol2, nRow2, nTab);
for (ScBaseCell* pCell = aCellIter.GetFirst(); pCell; pCell = aCellIter.GetNext())
@@ -1440,16 +1423,16 @@ void ScDetectiveFunc::GetAllPreds(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW n
ScDetectiveRefIter aRefIter(pFCell);
for (ScToken* p = aRefIter.GetNextRefToken(); p; p = aRefIter.GetNextRefToken())
{
- ScSharedTokenRef pRef(static_cast<ScToken*>(p->Clone()));
+ ScTokenRef pRef(static_cast<ScToken*>(p->Clone()));
ScRefTokenHelper::join(rRefTokens, pRef);
}
}
}
void ScDetectiveFunc::GetAllSuccs(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
- vector<ScSharedTokenRef>& rRefTokens)
+ vector<ScTokenRef>& rRefTokens)
{
- vector<ScSharedTokenRef> aSrcRange;
+ vector<ScTokenRef> aSrcRange;
aSrcRange.push_back(
ScRefTokenHelper::createRefToken(ScRange(nCol1, nRow1, nTab, nCol2, nRow2, nTab)));
@@ -1463,7 +1446,7 @@ void ScDetectiveFunc::GetAllSuccs(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW n
ScDetectiveRefIter aRefIter(pFCell);
for (ScToken* p = aRefIter.GetNextRefToken(); p; p = aRefIter.GetNextRefToken())
{
- ScSharedTokenRef pRef(static_cast<ScToken*>(p->Clone()));
+ ScTokenRef pRef(static_cast<ScToken*>(p->Clone()));
if (ScRefTokenHelper::intersects(aSrcRange, pRef))
{
pRef = ScRefTokenHelper::createRefToken(aCellIter.GetPos());
@@ -1585,12 +1568,10 @@ void ScDetectiveFunc::UpdateAllArrowColors()
if ( bArrow || bError )
{
ColorData nColorData = ( bError ? GetErrorColor() : GetArrowColor() );
- //pObject->SendRepaintBroadcast(pObject->GetBoundRect());
pObject->SetMergedItem( XLineColorItem( String(), Color( nColorData ) ) );
// repaint only
pObject->ActionChanged();
- // pObject->SendRepaintBroadcast(pObject->GetBoundRect());
}
}
}
@@ -1720,7 +1701,6 @@ void ScDetectiveFunc::InsertObject( ScDetectiveObjType eType,
}
}
-// static
ColorData ScDetectiveFunc::GetArrowColor()
{
if (!bColorsInitialized)
@@ -1728,7 +1708,6 @@ ColorData ScDetectiveFunc::GetArrowColor()
return nArrowColor;
}
-// static
ColorData ScDetectiveFunc::GetErrorColor()
{
if (!bColorsInitialized)
@@ -1736,7 +1715,6 @@ ColorData ScDetectiveFunc::GetErrorColor()
return nErrorColor;
}
-// static
ColorData ScDetectiveFunc::GetCommentColor()
{
if (!bColorsInitialized)
@@ -1744,7 +1722,6 @@ ColorData ScDetectiveFunc::GetCommentColor()
return nCommentColor;
}
-// static
void ScDetectiveFunc::InitializeColors()
{
// may be called several times to update colors from configuration
@@ -1757,7 +1734,6 @@ void ScDetectiveFunc::InitializeColors()
bColorsInitialized = TRUE;
}
-// static
BOOL ScDetectiveFunc::IsColorsInitialized()
{
return bColorsInitialized;
diff --git a/sc/source/core/tool/docoptio.cxx b/sc/source/core/tool/docoptio.cxx
index 6c89ba675049..9eff876b92bd 100644
--- a/sc/source/core/tool/docoptio.cxx
+++ b/sc/source/core/tool/docoptio.cxx
@@ -148,9 +148,9 @@ void ScDocOptions::ResetDocOptions()
void ScDocOptions::ResetFormulaSeparators()
{
// Defaults to the old separator values.
- aFormulaSepArg = OUString::createFromAscii(";");
- aFormulaSepArrayCol = OUString::createFromAscii(";");
- aFormulaSepArrayRow = OUString::createFromAscii("|");
+ aFormulaSepArg = OUString(RTL_CONSTASCII_USTRINGPARAM(";"));
+ aFormulaSepArrayCol = OUString(RTL_CONSTASCII_USTRINGPARAM(";"));
+ aFormulaSepArrayRow = OUString(RTL_CONSTASCII_USTRINGPARAM("|"));
const Locale& rLocale = *ScGlobal::GetLocale();
const OUString& rLang = rLocale.Language;
@@ -189,12 +189,12 @@ void ScDocOptions::ResetFormulaSeparators()
// if the decimal and list separators are equal, set the
// parameter separator to be ';', unless they are both
// semicolon in which case don't change the decimal separator.
- aFormulaSepArg = OUString::createFromAscii(";");
+ aFormulaSepArg = OUString(RTL_CONSTASCII_USTRINGPARAM(";"));
- aFormulaSepArrayCol = OUString::createFromAscii(",");
+ aFormulaSepArrayCol = OUString(RTL_CONSTASCII_USTRINGPARAM(","));
if (cDecSep == sal_Unicode(','))
- aFormulaSepArrayCol = OUString::createFromAscii(".");
- aFormulaSepArrayRow = OUString::createFromAscii(";");
+ aFormulaSepArrayCol = OUString(RTL_CONSTASCII_USTRINGPARAM("."));
+ aFormulaSepArrayRow = OUString(RTL_CONSTASCII_USTRINGPARAM(";"));
}
const LocaleDataWrapper& ScDocOptions::GetLocaleDataWrapper()
@@ -224,20 +224,20 @@ ScTpCalcItem::ScTpCalcItem( const ScTpCalcItem& rItem )
//------------------------------------------------------------------------
-__EXPORT ScTpCalcItem::~ScTpCalcItem()
+ScTpCalcItem::~ScTpCalcItem()
{
}
//------------------------------------------------------------------------
-String __EXPORT ScTpCalcItem::GetValueText() const
+String ScTpCalcItem::GetValueText() const
{
return String::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM("ScTpCalcItem") );
}
//------------------------------------------------------------------------
-int __EXPORT ScTpCalcItem::operator==( const SfxPoolItem& rItem ) const
+int ScTpCalcItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -248,7 +248,7 @@ int __EXPORT ScTpCalcItem::operator==( const SfxPoolItem& rItem ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT ScTpCalcItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScTpCalcItem::Clone( SfxItemPool * ) const
{
return new ScTpCalcItem( *this );
}
@@ -346,7 +346,7 @@ Sequence<OUString> ScDocCfg::GetLayoutPropertyNames()
// adjust for metric system
if (ScOptionsUtil::IsMetricSystem())
- pNames[SCDOCLAYOUTOPT_TABSTOP] = OUString::createFromAscii( "TabStop/Metric" );
+ pNames[SCDOCLAYOUTOPT_TABSTOP] = OUString(RTL_CONSTASCII_USTRINGPARAM( "TabStop/Metric") );
return aNames;
}
@@ -366,13 +366,12 @@ Sequence<OUString> ScDocCfg::GetCompatPropertyNames()
}
ScDocCfg::ScDocCfg() :
- aCalcItem( OUString::createFromAscii( CFGPATH_CALC ) ),
- aFormulaItem(OUString::createFromAscii(CFGPATH_FORMULA)),
- aLayoutItem(OUString::createFromAscii(CFGPATH_DOCLAYOUT)),
- aCompatItem(OUString::createFromAscii(CFGPATH_COMPAT))
+ aCalcItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_CALC )) ),
+ aFormulaItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_FORMULA))),
+ aLayoutItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_DOCLAYOUT))),
+ aCompatItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_COMPAT)))
{
sal_Int32 nIntVal = 0;
- double fDoubleVal = 0;
Sequence<OUString> aNames;
Sequence<Any> aValues;
@@ -385,9 +384,10 @@ ScDocCfg::ScDocCfg() :
aValues = aCalcItem.GetProperties(aNames);
aCalcItem.EnableNotification(aNames);
pValues = aValues.getConstArray();
- DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed");
+ OSL_ENSURE(aValues.getLength() == aNames.getLength(), "GetProperties failed");
if(aValues.getLength() == aNames.getLength())
{
+ double fDoubleVal = 0;
for(int nProp = 0; nProp < aNames.getLength(); nProp++)
{
DBG_ASSERT(pValues[nProp].hasValue(), "property value missing");
@@ -482,7 +482,7 @@ ScDocCfg::ScDocCfg() :
break;
case SCFORMULAOPT_ENGLISH_FUNCNAME:
{
- sal_Bool bEnglish;
+ sal_Bool bEnglish = false;
if (pValues[nProp] >>= bEnglish)
SetUseEnglishFuncName(bEnglish);
}
@@ -634,6 +634,7 @@ IMPL_LINK( ScDocCfg, FormulaCommitHdl, void *, EMPTYARG )
{
case ::formula::FormulaGrammar::GRAM_NATIVE_XL_A1: nVal = 1; break;
case ::formula::FormulaGrammar::GRAM_NATIVE_XL_R1C1: nVal = 2; break;
+ default: break;
}
pValues[nProp] <<= nVal;
}
diff --git a/sc/source/core/tool/doubleref.cxx b/sc/source/core/tool/doubleref.cxx
index a547041b4ce2..a7b709894b05 100644
--- a/sc/source/core/tool/doubleref.cxx
+++ b/sc/source/core/tool/doubleref.cxx
@@ -178,10 +178,6 @@ bool lcl_createExcelQuery(
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();
diff --git a/sc/source/core/tool/editutil.cxx b/sc/source/core/tool/editutil.cxx
index a8a5e2cda967..116131eee6e7 100644
--- a/sc/source/core/tool/editutil.cxx
+++ b/sc/source/core/tool/editutil.cxx
@@ -69,7 +69,7 @@
// Delimiters zusaetzlich zu EditEngine-Default:
-const sal_Char __FAR_DATA ScEditUtil::pCalcDelimiters[] = "=()+-*/^&<>";
+const sal_Char ScEditUtil::pCalcDelimiters[] = "=()+-*/^&<>";
//------------------------------------------------------------------------
@@ -647,7 +647,7 @@ ScHeaderEditEngine::ScHeaderEditEngine( SfxItemPool* pEnginePoolP, BOOL bDeleteE
{
}
-String __EXPORT ScHeaderEditEngine::CalcFieldValue( const SvxFieldItem& rField,
+String ScHeaderEditEngine::CalcFieldValue( const SvxFieldItem& rField,
USHORT /* nPara */, USHORT /* nPos */,
Color*& /* rTxtColor */, Color*& /* rFldColor */ )
{
@@ -681,7 +681,6 @@ String __EXPORT ScHeaderEditEngine::CalcFieldValue( const SvxFieldItem& rField,
aRet = ScGlobal::pLocaleData->getDate(aData.aDate);
else
{
- //DBG_ERROR("unbekannter Feldbefehl");
aRet = '?';
}
}
@@ -713,7 +712,7 @@ ScFieldEditEngine::ScFieldEditEngine( SfxItemPool* pEnginePoolP,
SetControlWord( (GetControlWord() | EE_CNTRL_MARKFIELDS) & ~EE_CNTRL_RTFSTYLESHEETS );
}
-String __EXPORT ScFieldEditEngine::CalcFieldValue( const SvxFieldItem& rField,
+String ScFieldEditEngine::CalcFieldValue( const SvxFieldItem& rField,
USHORT /* nPara */, USHORT /* nPos */,
Color*& rTxtColor, Color*& /* rFldColor */ )
{
@@ -746,7 +745,6 @@ String __EXPORT ScFieldEditEngine::CalcFieldValue( const SvxFieldItem& rField,
}
else
{
- //DBG_ERROR("unbekannter Feldbefehl");
aRet = '?';
}
}
@@ -757,7 +755,7 @@ String __EXPORT ScFieldEditEngine::CalcFieldValue( const SvxFieldItem& rField,
return aRet;
}
-void __EXPORT ScFieldEditEngine::FieldClicked( const SvxFieldItem& rField, USHORT, USHORT )
+void ScFieldEditEngine::FieldClicked( const SvxFieldItem& rField, USHORT, USHORT )
{
const SvxFieldData* pFld = rField.GetField();
diff --git a/sc/source/core/tool/filtopt.cxx b/sc/source/core/tool/filtopt.cxx
index b5c109b6602f..024951e487db 100644
--- a/sc/source/core/tool/filtopt.cxx
+++ b/sc/source/core/tool/filtopt.cxx
@@ -71,14 +71,13 @@ Sequence<OUString> ScFilterOptions::GetPropertyNames()
}
ScFilterOptions::ScFilterOptions() :
- ConfigItem( OUString::createFromAscii( CFGPATH_FILTER ) ),
+ ConfigItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_FILTER )) ),
bWK3Flag( FALSE ),
fExcelColScale( 0 ),
fExcelRowScale( 0 )
{
Sequence<OUString> aNames = GetPropertyNames();
Sequence<Any> aValues = GetProperties(aNames);
-// EnableNotification(aNames);
const Any* pValues = aValues.getConstArray();
DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed");
if(aValues.getLength() == aNames.getLength())
diff --git a/sc/source/core/tool/inputopt.cxx b/sc/source/core/tool/inputopt.cxx
index 449ec8355dc1..c0e4beea9f73 100644
--- a/sc/source/core/tool/inputopt.cxx
+++ b/sc/source/core/tool/inputopt.cxx
@@ -155,10 +155,8 @@ Sequence<OUString> ScInputCfg::GetPropertyNames()
}
ScInputCfg::ScInputCfg() :
- ConfigItem( OUString::createFromAscii( CFGPATH_INPUT ) )
+ ConfigItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_INPUT )) )
{
- sal_Int32 nIntVal = 0;
-
Sequence<OUString> aNames = GetPropertyNames();
Sequence<Any> aValues = GetProperties(aNames);
EnableNotification(aNames);
@@ -171,6 +169,7 @@ ScInputCfg::ScInputCfg() :
DBG_ASSERT(pValues[nProp].hasValue(), "property value missing");
if(pValues[nProp].hasValue())
{
+ sal_Int32 nIntVal = 0;
switch(nProp)
{
case SCINPUTOPT_MOVEDIR:
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index f561317f71a3..faab7ee71215 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -126,23 +126,20 @@ void ScInterpreter::ScIfJump()
{
double fVal;
bool bTrue;
- ScMatValType nType = 0;
- const ScMatrixValue* pMatVal = pMat->Get( nC, nR,
- nType);
- bool bIsValue = ScMatrix::IsValueType( nType);
- if ( bIsValue )
+ bool bIsValue = pMat->IsValue(nC, nR);
+ if (bIsValue)
{
- fVal = pMatVal->fVal;
- bIsValue = ::rtl::math::isFinite( fVal );
+ fVal = pMat->GetDouble(nC, nR);
+ bIsValue = ::rtl::math::isFinite(fVal);
bTrue = bIsValue && (fVal != 0.0);
- if ( bTrue )
+ if (bTrue)
fVal = 1.0;
}
else
{
// Treat empty and empty path as 0, but string
// as error.
- bIsValue = !ScMatrix::IsRealStringType( nType);
+ bIsValue = (!pMat->IsString(nC, nR) || pMat->IsEmpty(nC, nR));
bTrue = false;
fVal = (bIsValue ? 0.0 : CreateDoubleError( errNoValue));
}
@@ -182,7 +179,7 @@ void ScInterpreter::ScIfJump()
xNew = new ScJumpMatrixToken( pJumpMat );
GetTokenMatrixMap().insert( ScTokenMatrixMap::value_type(pCur, xNew));
}
- PushTempToken( xNew);
+ PushTempToken( xNew.get());
// set endpoint of path for main code line
aCode.Jump( pJump[ nJumpCount ], pJump[ nJumpCount ] );
}
@@ -258,13 +255,10 @@ void ScInterpreter::ScChoseJump()
for ( SCSIZE nR=0; nR < nRows; ++nR )
{
double fVal;
- ScMatValType nType;
- const ScMatrixValue* pMatVal = pMat->Get( nC, nR,
- nType);
- bool bIsValue = ScMatrix::IsValueType( nType);
+ bool bIsValue = pMat->IsValue(nC, nR);
if ( bIsValue )
{
- fVal = pMatVal->fVal;
+ fVal = pMat->GetDouble(nC, nR);
bIsValue = ::rtl::math::isFinite( fVal );
if ( bIsValue )
{
@@ -299,7 +293,7 @@ void ScInterpreter::ScChoseJump()
GetTokenMatrixMap().insert( ScTokenMatrixMap::value_type(
pCur, xNew));
}
- PushTempToken( xNew);
+ PushTempToken( xNew.get());
// set endpoint of path for main code line
aCode.Jump( pJump[ nJumpCount ], pJump[ nJumpCount ] );
bHaveJump = true;
@@ -936,22 +930,25 @@ ScMatrixRef ScInterpreter::CompareMat( ScCompareOptions* pOptions )
pResMat = GetNewMat( nC, nR);
if ( !pResMat )
return NULL;
- SCSIZE n = nC * nR;
- for ( SCSIZE j=0; j<n; j++ )
+
+ for (SCSIZE j = 0; j < nC; ++j)
{
- if ( pMat[i]->IsValue(j) )
- {
- aComp.bVal[i] = TRUE;
- aComp.nVal[i] = pMat[i]->GetDouble(j);
- aComp.bEmpty[i] = FALSE;
- }
- else
+ for (SCSIZE k = 0; k < nR; ++k)
{
- aComp.bVal[i] = FALSE;
- *aComp.pVal[i] = pMat[i]->GetString(j);
- aComp.bEmpty[i] = pMat[i]->IsEmpty(j);
+ if ( pMat[i]->IsValue(j,k) )
+ {
+ aComp.bVal[i] = TRUE;
+ aComp.nVal[i] = pMat[i]->GetDouble(j,k);
+ aComp.bEmpty[i] = FALSE;
+ }
+ else
+ {
+ aComp.bVal[i] = FALSE;
+ *aComp.pVal[i] = pMat[i]->GetString(j,k);
+ aComp.bEmpty[i] = pMat[i]->IsEmpty(j,k);
+ }
+ pResMat->PutDouble( CompareFunc(aComp, pOptions), j, k);
}
- pResMat->PutDouble( CompareFunc( aComp, pOptions ), j );
}
}
}
@@ -960,7 +957,7 @@ ScMatrixRef ScInterpreter::CompareMat( ScCompareOptions* pOptions )
}
-ScMatrixRef ScInterpreter::QueryMat( ScMatrix* pMat, ScCompareOptions& rOptions )
+ScMatrixRef ScInterpreter::QueryMat( const ScMatrixRef& pMat, ScCompareOptions& rOptions )
{
short nSaveCurFmtType = nCurFmtType;
short nSaveFuncFmtType = nFuncFmtType;
@@ -1339,14 +1336,16 @@ void ScInterpreter::ScNeg()
PushIllegalArgument();
else
{
- SCSIZE nCount = nC * nR;
- for ( SCSIZE j=0; j<nCount; ++j )
+ for (SCSIZE i = 0; i < nC; ++i)
{
- if ( pMat->IsValueOrEmpty(j) )
- pResMat->PutDouble( -pMat->GetDouble(j), j );
- else
- pResMat->PutString(
- ScGlobal::GetRscString( STR_NO_VALUE ), j );
+ for (SCSIZE j = 0; j < nR; ++j)
+ {
+ if ( pMat->IsValueOrEmpty(i,j) )
+ pResMat->PutDouble( -pMat->GetDouble(i,j), i, j );
+ else
+ pResMat->PutString(
+ ScGlobal::GetRscString( STR_NO_VALUE ), i, j );
+ }
}
PushMatrix( pResMat );
}
@@ -1395,14 +1394,16 @@ void ScInterpreter::ScNot()
PushIllegalArgument();
else
{
- SCSIZE nCount = nC * nR;
- for ( SCSIZE j=0; j<nCount; ++j )
+ for (SCSIZE i = 0; i < nC; ++i)
{
- if ( pMat->IsValueOrEmpty(j) )
- pResMat->PutDouble( (pMat->GetDouble(j) == 0.0), j );
- else
- pResMat->PutString(
- ScGlobal::GetRscString( STR_NO_VALUE ), j );
+ for (SCSIZE j = 0; j < nR; ++j)
+ {
+ if ( pMat->IsValueOrEmpty(i,j) )
+ pResMat->PutDouble( (pMat->GetDouble(i,j) == 0.0), i, j );
+ else
+ pResMat->PutString(
+ ScGlobal::GetRscString( STR_NO_VALUE ), i, j );
+ }
}
PushMatrix( pResMat );
}
@@ -1634,7 +1635,7 @@ void ScInterpreter::ScIsEmpty()
if ( !pMat )
; // nothing
else if ( !pJumpMatrix )
- nRes = pMat->IsEmpty( 0 );
+ nRes = pMat->IsEmpty( 0, 0);
else
{
SCSIZE nCols, nRows, nC, nR;
@@ -1696,7 +1697,7 @@ short ScInterpreter::IsString()
if ( !pMat )
; // nothing
else if ( !pJumpMatrix )
- nRes = pMat->IsString(0) && !pMat->IsEmpty(0);
+ nRes = pMat->IsString(0, 0) && !pMat->IsEmpty(0, 0);
else
{
SCSIZE nCols, nRows, nC, nR;
@@ -2146,8 +2147,8 @@ void ScInterpreter::ScIsValue()
; // nothing
else if ( !pJumpMatrix )
{
- if (pMat->GetErrorIfNotString( 0 ) == 0)
- nRes = pMat->IsValue( 0 );
+ if (pMat->GetErrorIfNotString( 0, 0) == 0)
+ nRes = pMat->IsValue( 0, 0);
}
else
{
@@ -2252,7 +2253,7 @@ void ScInterpreter::ScIsNV()
if ( !pMat )
; // nothing
else if ( !pJumpMatrix )
- nRes = (pMat->GetErrorIfNotString( 0 ) == NOTAVAILABLE);
+ nRes = (pMat->GetErrorIfNotString( 0, 0) == NOTAVAILABLE);
else
{
SCSIZE nCols, nRows, nC, nR;
@@ -2302,7 +2303,7 @@ void ScInterpreter::ScIsErr()
nRes = ((nGlobalError && nGlobalError != NOTAVAILABLE) || !pMat);
else if ( !pJumpMatrix )
{
- USHORT nErr = pMat->GetErrorIfNotString( 0 );
+ USHORT nErr = pMat->GetErrorIfNotString( 0, 0);
nRes = (nErr && nErr != NOTAVAILABLE);
}
else
@@ -2359,7 +2360,7 @@ void ScInterpreter::ScIsError()
if ( nGlobalError || !pMat )
nRes = 1;
else if ( !pJumpMatrix )
- nRes = (pMat->GetErrorIfNotString( 0 ) != 0);
+ nRes = (pMat->GetErrorIfNotString( 0, 0) != 0);
else
{
SCSIZE nCols, nRows, nC, nR;
@@ -2432,9 +2433,9 @@ short ScInterpreter::IsEven()
; // nothing
else if ( !pJumpMatrix )
{
- nRes = pMat->IsValue( 0 );
+ nRes = pMat->IsValue( 0, 0);
if ( nRes )
- fVal = pMat->GetDouble( 0 );
+ fVal = pMat->GetDouble( 0, 0);
}
else
{
@@ -2759,7 +2760,7 @@ static ::rtl::OUString lcl_convertIntoHalfWidth( const ::rtl::OUString & rStr )
if( bFirstASCCall )
{
- aTrans.loadModuleByImplName( ::rtl::OUString::createFromAscii( "FULLWIDTH_HALFWIDTH_LIKE_ASC" ), LANGUAGE_SYSTEM );
+ aTrans.loadModuleByImplName( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "FULLWIDTH_HALFWIDTH_LIKE_ASC" )), LANGUAGE_SYSTEM );
bFirstASCCall = false;
}
@@ -2774,7 +2775,7 @@ static ::rtl::OUString lcl_convertIntoFullWidth( const ::rtl::OUString & rStr )
if( bFirstJISCall )
{
- aTrans.loadModuleByImplName( ::rtl::OUString::createFromAscii( "HALFWIDTH_FULLWIDTH_LIKE_JIS" ), LANGUAGE_SYSTEM );
+ aTrans.loadModuleByImplName( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "HALFWIDTH_FULLWIDTH_LIKE_JIS" )), LANGUAGE_SYSTEM );
bFirstJISCall = false;
}
@@ -3100,51 +3101,51 @@ namespace {
void IterateMatrix(
const ScMatrixRef& pMat, ScIterFunc eFunc, BOOL bTextAsZero,
- ULONG& rCount, short& rFuncFmtType, double& fVal, double& fRes, double& fMem, BOOL& bNull)
+ ULONG& rCount, short& rFuncFmtType, double& fRes, double& fMem, bool& bNull)
{
if (!pMat)
return;
- SCSIZE nC, nR;
rFuncFmtType = NUMBERFORMAT_NUMBER;
- pMat->GetDimensions(nC, nR);
- if( eFunc == ifCOUNT2 )
- rCount += (ULONG) nC * nR;
- else
+ switch (eFunc)
{
- for (SCSIZE nMatCol = 0; nMatCol < nC; nMatCol++)
+ case ifAVERAGE:
+ case ifSUM:
{
- for (SCSIZE nMatRow = 0; nMatRow < nR; nMatRow++)
+ ScMatrix::IterateResult aRes = pMat->Sum(bTextAsZero);
+ if (bNull)
{
- if (!pMat->IsString(nMatCol,nMatRow))
- {
- rCount++;
- fVal = pMat->GetDouble(nMatCol,nMatRow);
- switch( eFunc )
- {
- case ifAVERAGE:
- case ifSUM:
- if ( bNull && fVal != 0.0 )
- {
- bNull = FALSE;
- fMem = fVal;
- }
- else
- fRes += fVal;
- break;
- case ifSUMSQ: fRes += fVal * fVal; break;
- case ifPRODUCT: fRes *= fVal; break;
- default: ; // nothing
- }
- }
- else if ( bTextAsZero )
- {
- rCount++;
- if ( eFunc == ifPRODUCT )
- fRes = 0.0;
- }
+ bNull = false;
+ fMem = aRes.mfFirst;
+ fRes += aRes.mfRest;
}
+ else
+ fRes += aRes.mfFirst + aRes.mfRest;
+ rCount += aRes.mnCount;
}
+ break;
+ case ifCOUNT:
+ rCount += pMat->Count(bTextAsZero);
+ break;
+ case ifCOUNT2:
+ rCount += pMat->Count(true);
+ break;
+ case ifPRODUCT:
+ {
+ ScMatrix::IterateResult aRes = pMat->Product(bTextAsZero);
+ fRes *= aRes.mfRest;
+ rCount += aRes.mnCount;
+ }
+ break;
+ case ifSUMSQ:
+ {
+ ScMatrix::IterateResult aRes = pMat->SumSquare(bTextAsZero);
+ fRes += aRes.mfRest;
+ rCount += aRes.mnCount;
+ }
+ break;
+ default:
+ ;
}
}
@@ -3156,8 +3157,8 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
short nParamCount = GetByte();
double fRes = ( eFunc == ifPRODUCT ) ? 1.0 : 0.0;
double fVal = 0.0;
- double fMem = 0.0;
- BOOL bNull = TRUE;
+ double fMem = 0.0; // first numeric value.
+ bool bNull = true;
ULONG nCount = 0;
ScAddress aAdr;
ScRange aRange;
@@ -3218,7 +3219,7 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
case ifSUM:
if ( bNull && fVal != 0.0 )
{
- bNull = FALSE;
+ bNull = false;
fMem = fVal;
}
else
@@ -3269,7 +3270,7 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
case ifSUM:
if ( bNull && fVal != 0.0 )
{
- bNull = FALSE;
+ bNull = false;
fMem = fVal;
}
else
@@ -3327,7 +3328,7 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
case ifSUM:
if ( bNull && fVal != 0.0 )
{
- bNull = FALSE;
+ bNull = false;
fMem = fVal;
}
else
@@ -3357,7 +3358,6 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
case svDoubleRef :
case svRefList :
{
- USHORT nErr = 0;
PopDoubleRef( aRange, nParamCount, nRefInList);
if ( nGlobalError && ( eFunc == ifCOUNT2 || eFunc == ifCOUNT ) )
{
@@ -3386,6 +3386,7 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
else
{
ScValueIterator aValIter( pDok, aRange, glSubTotal, bTextAsZero );
+ USHORT nErr = 0;
if (aValIter.GetFirst(fVal, nErr))
{
// placed the loop on the inside for performance reasons:
@@ -3399,7 +3400,7 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
SetError(nErr);
if ( bNull && fVal != 0.0 )
{
- bNull = FALSE;
+ bNull = false;
fMem = fVal;
}
else
@@ -3448,13 +3449,13 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
if (nGlobalError)
break;
- IterateMatrix(pMat, eFunc, bTextAsZero, nCount, nFuncFmtType, fVal, fMem, fRes, bNull);
+ IterateMatrix(pMat, eFunc, bTextAsZero, nCount, nFuncFmtType, fRes, fMem, bNull);
}
break;
case svMatrix :
{
ScMatrixRef pMat = PopMatrix();
- IterateMatrix(pMat, eFunc, bTextAsZero, nCount, nFuncFmtType, fVal, fMem, fRes, bNull);
+ IterateMatrix(pMat, eFunc, bTextAsZero, nCount, nFuncFmtType, fRes, fMem, bNull);
}
break;
case svError:
@@ -4054,11 +4055,61 @@ void ScInterpreter::ScTable()
}
}
+namespace {
+
+class VectorMatrixAccessor
+{
+public:
+ VectorMatrixAccessor(const ScMatrix& rMat, bool bColVec) :
+ mrMat(rMat), mbColVec(bColVec) {}
+
+ bool IsEmpty(SCSIZE i) const
+ {
+ return mbColVec ? mrMat.IsEmpty(0, i) : mrMat.IsEmpty(i, 0);
+ }
+
+ bool IsEmptyPath(SCSIZE i) const
+ {
+ return mbColVec ? mrMat.IsEmptyPath(0, i) : mrMat.IsEmptyPath(i, 0);
+ }
+
+ bool IsValue(SCSIZE i) const
+ {
+ return mbColVec ? mrMat.IsValue(0, i) : mrMat.IsValue(i, 0);
+ }
+
+ bool IsString(SCSIZE i) const
+ {
+ return mbColVec ? mrMat.IsString(0, i) : mrMat.IsString(i, 0);
+ }
+
+ double GetDouble(SCSIZE i) const
+ {
+ return mbColVec ? mrMat.GetDouble(0, i) : mrMat.GetDouble(i, 0);
+ }
+
+ const String& GetString(SCSIZE i) const
+ {
+ return mbColVec ? mrMat.GetString(0, i) : mrMat.GetString(i, 0);
+ }
+
+ SCSIZE GetElementCount() const
+ {
+ SCSIZE nC, nR;
+ mrMat.GetDimensions(nC, nR);
+ return mbColVec ? nR : nC;
+ }
+
+private:
+ const ScMatrix& mrMat;
+ bool mbColVec;
+};
+
/** returns -1 when the matrix value is smaller than the query value, 0 when
they are equal, and 1 when the matrix value is larger than the query
value. */
-static sal_Int32 lcl_CompareMatrix2Query( SCSIZE i, const ScMatrix& rMat,
- const ScQueryEntry& rEntry)
+static sal_Int32 lcl_CompareMatrix2Query(
+ SCSIZE i, const VectorMatrixAccessor& rMat, const ScQueryEntry& rEntry)
{
if (rMat.IsEmpty(i))
{
@@ -4098,7 +4149,7 @@ static sal_Int32 lcl_CompareMatrix2Query( SCSIZE i, const ScMatrix& rMat,
/** returns the last item with the identical value as the original item
value. */
-static void lcl_GetLastMatch( SCSIZE& rIndex, const ScMatrix& rMat,
+static void lcl_GetLastMatch( SCSIZE& rIndex, const VectorMatrixAccessor& rMat,
SCSIZE nMatCount, bool bReverse)
{
if (rMat.IsValue(rIndex))
@@ -4150,10 +4201,11 @@ static void lcl_GetLastMatch( SCSIZE& rIndex, const ScMatrix& rMat,
}
}
+}
+
void ScInterpreter::ScMatch()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScMatch" );
- ScMatrixRef pMatSrc = NULL;
BYTE nParamCount = GetByte();
if ( MustHaveParamCount( nParamCount, 2, 3 ) )
@@ -4169,6 +4221,7 @@ void ScInterpreter::ScMatch()
SCCOL nCol2 = 0;
SCROW nRow2 = 0;
SCTAB nTab2 = 0;
+ ScMatrixRef pMatSrc = NULL;
switch (GetStackType())
{
@@ -4322,6 +4375,7 @@ void ScInterpreter::ScMatch()
return;
}
SCSIZE nMatCount = (nC == 1) ? nR : nC;
+ VectorMatrixAccessor aMatAcc(*pMatSrc, nC == 1);
// simple serial search for equality mode (source data doesn't
// need to be sorted).
@@ -4330,7 +4384,7 @@ void ScInterpreter::ScMatch()
{
for (SCSIZE i = 0; i < nMatCount; ++i)
{
- if (lcl_CompareMatrix2Query( i, *pMatSrc, rEntry) == 0)
+ if (lcl_CompareMatrix2Query( i, aMatAcc, rEntry) == 0)
{
PushDouble(i+1); // found !
return;
@@ -4348,11 +4402,11 @@ void ScInterpreter::ScMatch()
for (SCSIZE nLen = nLast-nFirst; nLen > 0; nLen = nLast-nFirst)
{
SCSIZE nMid = nFirst + nLen/2;
- sal_Int32 nCmp = lcl_CompareMatrix2Query( nMid, *pMatSrc, rEntry);
+ sal_Int32 nCmp = lcl_CompareMatrix2Query( nMid, aMatAcc, rEntry);
if (nCmp == 0)
{
// exact match. find the last item with the same value.
- lcl_GetLastMatch( nMid, *pMatSrc, nMatCount, !bAscOrder);
+ lcl_GetLastMatch( nMid, aMatAcc, nMatCount, !bAscOrder);
PushDouble( nMid+1);
return;
}
@@ -4384,7 +4438,7 @@ void ScInterpreter::ScMatch()
if (nHitIndex == nMatCount-1) // last item
{
- sal_Int32 nCmp = lcl_CompareMatrix2Query( nHitIndex, *pMatSrc, rEntry);
+ sal_Int32 nCmp = lcl_CompareMatrix2Query( nHitIndex, aMatAcc, rEntry);
if ((bAscOrder && nCmp <= 0) || (!bAscOrder && nCmp >= 0))
{
// either the last item is an exact match or the real
@@ -4702,324 +4756,326 @@ void ScInterpreter::ScCountIf()
void ScInterpreter::ScSumIf()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScSumIf" );
BYTE nParamCount = GetByte();
- if ( MustHaveParamCount( nParamCount, 2, 3 ) )
- {
- SCCOL nCol3 = 0;
- SCROW nRow3 = 0;
- SCTAB nTab3 = 0;
+ if ( !MustHaveParamCount( nParamCount, 2, 3 ) )
+ return;
- ScMatrixRef pSumExtraMatrix;
- bool bSumExtraRange = (nParamCount == 3);
- if (bSumExtraRange)
- {
- // Save only the upperleft cell in case of cell range. The geometry
- // of the 3rd parameter is taken from the 1st parameter.
+ SCCOL nCol3 = 0;
+ SCROW nRow3 = 0;
+ SCTAB nTab3 = 0;
+
+ ScMatrixRef pSumExtraMatrix;
+ bool bSumExtraRange = (nParamCount == 3);
+ if (bSumExtraRange)
+ {
+ // Save only the upperleft cell in case of cell range. The geometry
+ // of the 3rd parameter is taken from the 1st parameter.
- switch ( GetStackType() )
- {
- case svDoubleRef :
- {
- SCCOL nColJunk = 0;
- SCROW nRowJunk = 0;
- SCTAB nTabJunk = 0;
- PopDoubleRef( nCol3, nRow3, nTab3, nColJunk, nRowJunk, nTabJunk );
- if ( nTabJunk != nTab3 )
- {
- PushIllegalParameter();
- return;
- }
- }
- break;
- case svSingleRef :
- PopSingleRef( nCol3, nRow3, nTab3 );
- break;
- case svMatrix:
- pSumExtraMatrix = PopMatrix();
- //! nCol3, nRow3, nTab3 remain 0
- break;
- default:
- PushIllegalParameter();
- return ;
- }
- }
- String rString;
- double fVal = 0.0;
- BOOL bIsString = TRUE;
switch ( GetStackType() )
{
case svDoubleRef :
- case svSingleRef :
{
- ScAddress aAdr;
- if ( !PopDoubleRefOrSingleRef( aAdr ) )
+ SCCOL nColJunk = 0;
+ SCROW nRowJunk = 0;
+ SCTAB nTabJunk = 0;
+ PopDoubleRef( nCol3, nRow3, nTab3, nColJunk, nRowJunk, nTabJunk );
+ if ( nTabJunk != nTab3 )
{
- PushInt(0);
- return ;
- }
- ScBaseCell* pCell = GetCell( aAdr );
- switch ( GetCellType( pCell ) )
- {
- case CELLTYPE_VALUE :
- fVal = GetCellValue( aAdr, pCell );
- bIsString = FALSE;
- break;
- case CELLTYPE_FORMULA :
- if( ((ScFormulaCell*)pCell)->IsValue() )
- {
- fVal = GetCellValue( aAdr, pCell );
- bIsString = FALSE;
- }
- else
- GetCellString(rString, pCell);
- break;
- case CELLTYPE_STRING :
- case CELLTYPE_EDIT :
- GetCellString(rString, pCell);
- break;
- default:
- fVal = 0.0;
- bIsString = FALSE;
+ PushIllegalParameter();
+ return;
}
}
break;
- case svString:
- rString = GetString();
+ case svSingleRef :
+ PopSingleRef( nCol3, nRow3, nTab3 );
break;
- case svMatrix :
+ case svMatrix:
+ pSumExtraMatrix = PopMatrix();
+ //! nCol3, nRow3, nTab3 remain 0
+ break;
+ case svExternalSingleRef:
{
- ScMatValType nType = GetDoubleOrStringFromMatrix( fVal,
- rString);
- bIsString = ScMatrix::IsNonValueType( nType);
+ pSumExtraMatrix = new ScMatrix(1, 1);
+ ScExternalRefCache::TokenRef pToken;
+ PopExternalSingleRef(pToken);
+ if (!pToken)
+ {
+ PushIllegalParameter();
+ return;
+ }
+
+ if (pToken->GetType() == svDouble)
+ pSumExtraMatrix->PutDouble(pToken->GetDouble(), 0, 0);
+ else
+ pSumExtraMatrix->PutString(pToken->GetString(), 0, 0);
}
break;
+ case svExternalDoubleRef:
+ PopExternalDoubleRef(pSumExtraMatrix);
+ break;
default:
- {
- fVal = GetDouble();
- bIsString = FALSE;
- }
+ PushIllegalParameter();
+ return ;
}
+ }
- double fSum = 0.0;
- double fMem = 0.0;
- BOOL bNull = TRUE;
- short nParam = 1;
- size_t nRefInList = 0;
- while (nParam-- > 0)
+ String aString;
+ double fVal = 0.0;
+ bool bIsString = true;
+ switch ( GetStackType() )
+ {
+ case svDoubleRef :
+ case svSingleRef :
{
- SCCOL nCol1;
- SCROW nRow1;
- SCTAB nTab1;
- SCCOL nCol2;
- SCROW nRow2;
- SCTAB nTab2;
- ScMatrixRef pQueryMatrix;
- switch ( GetStackType() )
+ ScAddress aAdr;
+ if ( !PopDoubleRefOrSingleRef( aAdr ) )
{
- case svRefList :
- if (bSumExtraRange)
+ PushInt(0);
+ return ;
+ }
+ ScBaseCell* pCell = GetCell( aAdr );
+ switch ( GetCellType( pCell ) )
+ {
+ case CELLTYPE_VALUE :
+ fVal = GetCellValue( aAdr, pCell );
+ bIsString = false;
+ break;
+ case CELLTYPE_FORMULA :
+ if( ((ScFormulaCell*)pCell)->IsValue() )
{
- PushIllegalParameter();
- return;
+ fVal = GetCellValue( aAdr, pCell );
+ bIsString = false;
}
else
- {
- ScRange aRange;
- PopDoubleRef( aRange, nParam, nRefInList);
- aRange.GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2);
- }
+ GetCellString(aString, pCell);
break;
- case svDoubleRef :
- PopDoubleRef( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
- break;
- case svSingleRef :
- PopSingleRef( nCol1, nRow1, nTab1 );
- nCol2 = nCol1;
- nRow2 = nRow1;
- nTab2 = nTab1;
- break;
- case svMatrix:
- {
- pQueryMatrix = PopMatrix();
- if (!pQueryMatrix)
- {
- PushIllegalParameter();
- return;
- }
- nCol1 = 0;
- nRow1 = 0;
- nTab1 = 0;
- SCSIZE nC, nR;
- pQueryMatrix->GetDimensions( nC, nR);
- nCol2 = static_cast<SCCOL>(nC - 1);
- nRow2 = static_cast<SCROW>(nR - 1);
- nTab2 = 0;
- }
+ case CELLTYPE_STRING :
+ case CELLTYPE_EDIT :
+ GetCellString(aString, pCell);
break;
default:
- PushIllegalParameter();
- return ;
+ fVal = 0.0;
+ bIsString = false;
}
- if ( nTab1 != nTab2 )
+ }
+ break;
+ case svString:
+ aString = GetString();
+ break;
+ case svMatrix :
+ case svExternalDoubleRef:
+ {
+ ScMatValType nType = GetDoubleOrStringFromMatrix(fVal, aString);
+ bIsString = ScMatrix::IsNonValueType( nType);
+ }
+ break;
+ case svExternalSingleRef:
+ {
+ ScExternalRefCache::TokenRef pToken;
+ PopExternalSingleRef(pToken);
+ if (pToken)
{
- PushIllegalArgument();
- return;
+ if (pToken->GetType() == svDouble)
+ {
+ fVal = pToken->GetDouble();
+ bIsString = false;
+ }
+ else
+ aString = pToken->GetString();
}
+ }
+ break;
+ default:
+ {
+ fVal = GetDouble();
+ bIsString = false;
+ }
+ }
- if (bSumExtraRange)
- {
- // Take the range geometry of the 1st parameter and apply it to
- // the 3rd. If parts of the resulting range would point outside
- // the sheet, don't complain but silently ignore and simply cut
- // them away, this is what Xcl does :-/
-
- // For the cut-away part we also don't need to determine the
- // criteria match, so shrink the source range accordingly,
- // instead of the result range.
- SCCOL nColDelta = nCol2 - nCol1;
- SCROW nRowDelta = nRow2 - nRow1;
- SCCOL nMaxCol;
- SCROW nMaxRow;
- if (pSumExtraMatrix)
+ double fSum = 0.0;
+ double fMem = 0.0;
+ BOOL bNull = TRUE;
+ short nParam = 1;
+ size_t nRefInList = 0;
+ while (nParam-- > 0)
+ {
+ SCCOL nCol1;
+ SCROW nRow1;
+ SCTAB nTab1;
+ SCCOL nCol2;
+ SCROW nRow2;
+ SCTAB nTab2;
+ ScMatrixRef pQueryMatrix;
+ switch ( GetStackType() )
+ {
+ case svRefList :
+ if (bSumExtraRange)
{
- SCSIZE nC, nR;
- pSumExtraMatrix->GetDimensions( nC, nR);
- nMaxCol = static_cast<SCCOL>(nC - 1);
- nMaxRow = static_cast<SCROW>(nR - 1);
+ PushIllegalParameter();
+ return;
}
else
{
- nMaxCol = MAXCOL;
- nMaxRow = MAXROW;
+ ScRange aRange;
+ PopDoubleRef( aRange, nParam, nRefInList);
+ aRange.GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2);
}
- if (nCol3 + nColDelta > nMaxCol)
+ break;
+ case svDoubleRef :
+ PopDoubleRef( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
+ break;
+ case svSingleRef :
+ PopSingleRef( nCol1, nRow1, nTab1 );
+ nCol2 = nCol1;
+ nRow2 = nRow1;
+ nTab2 = nTab1;
+ break;
+ case svMatrix:
+ case svExternalSingleRef:
+ case svExternalDoubleRef:
+ {
+ if (GetStackType() == svMatrix)
+ pQueryMatrix = PopMatrix();
+ else if (GetStackType() == svExternalDoubleRef)
+ PopExternalDoubleRef(pQueryMatrix);
+ else
{
- SCCOL nNewDelta = nMaxCol - nCol3;
- nCol2 = nCol1 + nNewDelta;
+ OSL_ENSURE(GetStackType() == svExternalSingleRef, "external single ref is expected, but that's not what we found.");
+ ScExternalRefCache::TokenRef pToken;
+ PopExternalSingleRef(pToken);
+ if (pToken)
+ {
+ pQueryMatrix = new ScMatrix(1, 1);
+ if (pToken->GetType() == svDouble)
+ pQueryMatrix->PutDouble(pToken->GetDouble(), 0, 0);
+ else
+ pQueryMatrix->PutString(pToken->GetString(), 0, 0);
+ }
}
- if (nRow3 + nRowDelta > nMaxRow)
+ if (!pQueryMatrix)
{
- SCROW nNewDelta = nMaxRow - nRow3;
- nRow2 = nRow1 + nNewDelta;
+ PushIllegalParameter();
+ return;
}
+ nCol1 = 0;
+ nRow1 = 0;
+ nTab1 = 0;
+ SCSIZE nC, nR;
+ pQueryMatrix->GetDimensions( nC, nR);
+ nCol2 = static_cast<SCCOL>(nC - 1);
+ nRow2 = static_cast<SCROW>(nR - 1);
+ nTab2 = 0;
+ }
+ break;
+ default:
+ PushIllegalParameter();
+ return ;
+ }
+ if ( nTab1 != nTab2 )
+ {
+ PushIllegalArgument();
+ return;
+ }
+
+ if (bSumExtraRange)
+ {
+ // Take the range geometry of the 1st parameter and apply it to
+ // the 3rd. If parts of the resulting range would point outside
+ // the sheet, don't complain but silently ignore and simply cut
+ // them away, this is what Xcl does :-/
+
+ // For the cut-away part we also don't need to determine the
+ // criteria match, so shrink the source range accordingly,
+ // instead of the result range.
+ SCCOL nColDelta = nCol2 - nCol1;
+ SCROW nRowDelta = nRow2 - nRow1;
+ SCCOL nMaxCol;
+ SCROW nMaxRow;
+ if (pSumExtraMatrix)
+ {
+ SCSIZE nC, nR;
+ pSumExtraMatrix->GetDimensions( nC, nR);
+ nMaxCol = static_cast<SCCOL>(nC - 1);
+ nMaxRow = static_cast<SCROW>(nR - 1);
}
else
{
- nCol3 = nCol1;
- nRow3 = nRow1;
- nTab3 = nTab1;
+ nMaxCol = MAXCOL;
+ nMaxRow = MAXROW;
+ }
+ if (nCol3 + nColDelta > nMaxCol)
+ {
+ SCCOL nNewDelta = nMaxCol - nCol3;
+ nCol2 = nCol1 + nNewDelta;
}
- if (nGlobalError == 0)
+ if (nRow3 + nRowDelta > nMaxRow)
{
- ScQueryParam rParam;
- rParam.nRow1 = nRow1;
- rParam.nRow2 = nRow2;
+ SCROW nNewDelta = nMaxRow - nRow3;
+ nRow2 = nRow1 + nNewDelta;
+ }
+ }
+ else
+ {
+ nCol3 = nCol1;
+ nRow3 = nRow1;
+ nTab3 = nTab1;
+ }
- ScQueryEntry& rEntry = rParam.GetEntry(0);
- rEntry.bDoQuery = TRUE;
- if (!bIsString)
- {
- rEntry.bQueryByString = FALSE;
- rEntry.nVal = fVal;
- rEntry.eOp = SC_EQUAL;
- }
- else
+ if (nGlobalError == 0)
+ {
+ ScQueryParam rParam;
+ rParam.nRow1 = nRow1;
+ rParam.nRow2 = nRow2;
+
+ ScQueryEntry& rEntry = rParam.GetEntry(0);
+ rEntry.bDoQuery = TRUE;
+ if (!bIsString)
+ {
+ rEntry.bQueryByString = FALSE;
+ rEntry.nVal = fVal;
+ rEntry.eOp = SC_EQUAL;
+ }
+ else
+ {
+ rParam.FillInExcelSyntax(aString, 0);
+ sal_uInt32 nIndex = 0;
+ rEntry.bQueryByString =
+ !(pFormatter->IsNumberFormat(
+ *rEntry.pStr, nIndex, rEntry.nVal));
+ if ( rEntry.bQueryByString )
+ rParam.bRegExp = MayBeRegExp( *rEntry.pStr, pDok );
+ }
+ ScAddress aAdr;
+ aAdr.SetTab( nTab3 );
+ rParam.nCol1 = nCol1;
+ rParam.nCol2 = nCol2;
+ rEntry.nField = nCol1;
+ SCsCOL nColDiff = nCol3 - nCol1;
+ SCsROW nRowDiff = nRow3 - nRow1;
+ if (pQueryMatrix)
+ {
+ // Never case-sensitive.
+ ScCompareOptions aOptions( pDok, rEntry, rParam.bRegExp);
+ ScMatrixRef pResultMatrix = QueryMat( pQueryMatrix, aOptions);
+ if (nGlobalError || !pResultMatrix)
{
- rParam.FillInExcelSyntax(rString, 0);
- sal_uInt32 nIndex = 0;
- rEntry.bQueryByString =
- !(pFormatter->IsNumberFormat(
- *rEntry.pStr, nIndex, rEntry.nVal));
- if ( rEntry.bQueryByString )
- rParam.bRegExp = MayBeRegExp( *rEntry.pStr, pDok );
+ PushIllegalParameter();
+ return;
}
- ScAddress aAdr;
- aAdr.SetTab( nTab3 );
- rParam.nCol1 = nCol1;
- rParam.nCol2 = nCol2;
- rEntry.nField = nCol1;
- SCsCOL nColDiff = nCol3 - nCol1;
- SCsROW nRowDiff = nRow3 - nRow1;
- if (pQueryMatrix)
- {
- // Never case-sensitive.
- ScCompareOptions aOptions( pDok, rEntry, rParam.bRegExp);
- ScMatrixRef pResultMatrix = QueryMat( pQueryMatrix, aOptions);
- if (nGlobalError || !pResultMatrix)
- {
- PushIllegalParameter();
- return;
- }
- if (pSumExtraMatrix)
- {
- for (SCCOL nCol = nCol1; nCol <= nCol2; ++nCol)
- {
- for (SCROW nRow = nRow1; nRow <= nRow2; ++nRow)
- {
- if (pResultMatrix->IsValue( nCol, nRow) &&
- pResultMatrix->GetDouble( nCol, nRow))
- {
- SCSIZE nC = nCol + nColDiff;
- SCSIZE nR = nRow + nRowDiff;
- if (pSumExtraMatrix->IsValue( nC, nR))
- {
- fVal = pSumExtraMatrix->GetDouble( nC, nR);
- if ( bNull && fVal != 0.0 )
- {
- bNull = FALSE;
- fMem = fVal;
- }
- else
- fSum += fVal;
- }
- }
- }
- }
- }
- else
- {
- for (SCCOL nCol = nCol1; nCol <= nCol2; ++nCol)
- {
- for (SCROW nRow = nRow1; nRow <= nRow2; ++nRow)
- {
- if (pResultMatrix->GetDouble( nCol, nRow))
- {
- aAdr.SetCol( nCol + nColDiff);
- aAdr.SetRow( nRow + nRowDiff);
- ScBaseCell* pCell = GetCell( aAdr );
- if ( HasCellValueData(pCell) )
- {
- fVal = GetCellValue( aAdr, pCell );
- if ( bNull && fVal != 0.0 )
- {
- bNull = FALSE;
- fMem = fVal;
- }
- else
- fSum += fVal;
- }
- }
- }
- }
- }
- }
- else
+ if (pSumExtraMatrix)
{
- ScQueryCellIterator aCellIter(pDok, nTab1, rParam, FALSE);
- // Increment Entry.nField in iterator when switching to next column.
- aCellIter.SetAdvanceQueryParamEntryField( TRUE );
- if ( aCellIter.GetFirst() )
+ for (SCCOL nCol = nCol1; nCol <= nCol2; ++nCol)
{
- if (pSumExtraMatrix)
+ for (SCROW nRow = nRow1; nRow <= nRow2; ++nRow)
{
- do
+ if (pResultMatrix->IsValue( nCol, nRow) &&
+ pResultMatrix->GetDouble( nCol, nRow))
{
- SCSIZE nC = aCellIter.GetCol() + nColDiff;
- SCSIZE nR = aCellIter.GetRow() + nRowDiff;
+ SCSIZE nC = nCol + nColDiff;
+ SCSIZE nR = nRow + nRowDiff;
if (pSumExtraMatrix->IsValue( nC, nR))
{
fVal = pSumExtraMatrix->GetDouble( nC, nR);
@@ -5031,14 +5087,20 @@ void ScInterpreter::ScSumIf()
else
fSum += fVal;
}
- } while ( aCellIter.GetNext() );
+ }
}
- else
+ }
+ }
+ else
+ {
+ for (SCCOL nCol = nCol1; nCol <= nCol2; ++nCol)
+ {
+ for (SCROW nRow = nRow1; nRow <= nRow2; ++nRow)
{
- do
+ if (pResultMatrix->GetDouble( nCol, nRow))
{
- aAdr.SetCol( aCellIter.GetCol() + nColDiff);
- aAdr.SetRow( aCellIter.GetRow() + nRowDiff);
+ aAdr.SetCol( nCol + nColDiff);
+ aAdr.SetRow( nRow + nRowDiff);
ScBaseCell* pCell = GetCell( aAdr );
if ( HasCellValueData(pCell) )
{
@@ -5051,19 +5113,67 @@ void ScInterpreter::ScSumIf()
else
fSum += fVal;
}
- } while ( aCellIter.GetNext() );
+ }
}
}
}
}
else
{
- PushIllegalParameter();
- return;
+ ScQueryCellIterator aCellIter(pDok, nTab1, rParam, FALSE);
+ // Increment Entry.nField in iterator when switching to next column.
+ aCellIter.SetAdvanceQueryParamEntryField( TRUE );
+ if ( aCellIter.GetFirst() )
+ {
+ if (pSumExtraMatrix)
+ {
+ do
+ {
+ SCSIZE nC = aCellIter.GetCol() + nColDiff;
+ SCSIZE nR = aCellIter.GetRow() + nRowDiff;
+ if (pSumExtraMatrix->IsValue( nC, nR))
+ {
+ fVal = pSumExtraMatrix->GetDouble( nC, nR);
+ if ( bNull && fVal != 0.0 )
+ {
+ bNull = FALSE;
+ fMem = fVal;
+ }
+ else
+ fSum += fVal;
+ }
+ } while ( aCellIter.GetNext() );
+ }
+ else
+ {
+ do
+ {
+ aAdr.SetCol( aCellIter.GetCol() + nColDiff);
+ aAdr.SetRow( aCellIter.GetRow() + nRowDiff);
+ ScBaseCell* pCell = GetCell( aAdr );
+ if ( HasCellValueData(pCell) )
+ {
+ fVal = GetCellValue( aAdr, pCell );
+ if ( bNull && fVal != 0.0 )
+ {
+ bNull = FALSE;
+ fMem = fVal;
+ }
+ else
+ fSum += fVal;
+ }
+ } while ( aCellIter.GetNext() );
+ }
+ }
}
}
- PushDouble( ::rtl::math::approxAdd( fSum, fMem ) );
+ else
+ {
+ PushIllegalParameter();
+ return;
+ }
}
+ PushDouble( ::rtl::math::approxAdd( fSum, fMem ) );
}
@@ -5259,10 +5369,10 @@ void ScInterpreter::ScLookup()
if (pResMat)
{
- if (pResMat->IsValue( 0 ))
- PushDouble(pResMat->GetDouble( 0 ));
+ if (pResMat->IsValue( 0, 0 ))
+ PushDouble(pResMat->GetDouble( 0, 0 ));
else
- PushString(pResMat->GetString( 0 ));
+ PushString(pResMat->GetString( 0, 0 ));
}
else if (nParamCount == 3)
{
@@ -5339,6 +5449,8 @@ void ScInterpreter::ScLookup()
pDataMat2 = pTempMat;
}
+ VectorMatrixAccessor aMatAcc2(*pDataMat2, bVertical);
+
// binary search for non-equality mode (the source data is
// assumed to be sorted in ascending order).
@@ -5348,11 +5460,11 @@ void ScInterpreter::ScLookup()
for (SCSIZE nLen = nLast-nFirst; nLen > 0; nLen = nLast-nFirst)
{
SCSIZE nMid = nFirst + nLen/2;
- sal_Int32 nCmp = lcl_CompareMatrix2Query( nMid, *pDataMat2, rEntry);
+ sal_Int32 nCmp = lcl_CompareMatrix2Query( nMid, aMatAcc2, rEntry);
if (nCmp == 0)
{
// exact match. find the last item with the same value.
- lcl_GetLastMatch( nMid, *pDataMat2, nLenMajor, false);
+ lcl_GetLastMatch( nMid, aMatAcc2, nLenMajor, false);
nDelta = nMid;
bFound = true;
break;
@@ -5374,7 +5486,7 @@ void ScInterpreter::ScLookup()
if (nDelta == static_cast<SCCOLROW>(nLenMajor-2)) // last item
{
- sal_Int32 nCmp = lcl_CompareMatrix2Query(nDelta+1, *pDataMat2, rEntry);
+ sal_Int32 nCmp = lcl_CompareMatrix2Query(nDelta+1, aMatAcc2, rEntry);
if (nCmp <= 0)
{
// either the last item is an exact match or the real
@@ -5395,11 +5507,12 @@ void ScInterpreter::ScLookup()
if (bFound)
{
+ VectorMatrixAccessor aMatAcc(*pDataMat, bVertical);
SCCOLROW i = nDelta;
- SCSIZE n = pDataMat->GetElementCount();
+ SCSIZE n = aMatAcc.GetElementCount();
if (static_cast<SCSIZE>(i) >= n)
i = static_cast<SCCOLROW>(n);
- if (bool(rEntry.bQueryByString) == bool(pDataMat->IsValue(i)))
+ if (static_cast<bool>(rEntry.bQueryByString) == aMatAcc.IsValue(i))
bFound = false;
}
@@ -5413,16 +5526,17 @@ void ScInterpreter::ScLookup()
if (pResMat)
{
+ VectorMatrixAccessor aResMatAcc(*pResMat, bVertical);
// result array is matrix.
- if (static_cast<SCSIZE>(nDelta) >= pResMat->GetElementCount())
+ if (static_cast<SCSIZE>(nDelta) >= aResMatAcc.GetElementCount())
{
PushNA();
return;
}
- if (pResMat->IsValue(nDelta))
- PushDouble(pResMat->GetDouble(nDelta));
+ if (aResMatAcc.IsValue(nDelta))
+ PushDouble(aResMatAcc.GetDouble(nDelta));
else
- PushString(pResMat->GetString(nDelta));
+ PushString(aResMatAcc.GetString(nDelta));
}
else if (nParamCount == 3)
{
@@ -5507,11 +5621,12 @@ void ScInterpreter::ScLookup()
if (pResMat)
{
+ VectorMatrixAccessor aResMatAcc(*pResMat, bVertical);
// Use the matrix result array.
- if (pResMat->IsValue(nDelta))
- PushDouble(pResMat->GetDouble(nDelta));
+ if (aResMatAcc.IsValue(nDelta))
+ PushDouble(aResMatAcc.GetDouble(nDelta));
else
- PushString(pResMat->GetString(nDelta));
+ PushString(aResMatAcc.GetString(nDelta));
}
else if (nParamCount == 3)
{
@@ -6646,8 +6761,7 @@ void ScInterpreter::ScOffset()
nCol1 = (SCCOL)((long)nCol1+nColPlus); // ! nCol1 wird veraendert!
nRow1 = (SCROW)((long)nRow1+nRowPlus);
nCol2 = (SCCOL)((long)nCol1+nColNew-1);
- nRow2 = (SCROW)((long)nRow1+nRowNew-1);
- PushIllegalArgument();
+ nTab2 = nTab1;
if (!ValidCol(nCol1) || !ValidRow(nRow1) ||
!ValidCol(nCol2) || !ValidRow(nRow2))
PushIllegalArgument();
@@ -7212,10 +7326,10 @@ void ScInterpreter::ScRight()
void ScInterpreter::ScSearch()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScSearch" );
- double fAnz;
BYTE nParamCount = GetByte();
if ( MustHaveParamCount( nParamCount, 2, 3 ) )
{
+ double fAnz;
if (nParamCount == 3)
{
fAnz = ::rtl::math::approxFloor(GetDouble());
@@ -7288,7 +7402,7 @@ void ScInterpreter::ScText()
FormulaTokenRef xTok( PopToken());
if (!nGlobalError)
{
- PushTempToken( xTok);
+ PushTempToken( xTok.get());
// Temporarily override the ConvertStringToValue()
// error for GetCellValue() / GetCellValueOrZero()
USHORT nSErr = mnStringNoValueError;
@@ -7299,7 +7413,7 @@ void ScInterpreter::ScText()
{
// Not numeric.
nGlobalError = 0;
- PushTempToken( xTok);
+ PushTempToken( xTok.get());
aStr = GetString();
bString = true;
}
diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx
index 599d2ba08e3b..1979997c79c3 100644
--- a/sc/source/core/tool/interpr2.cxx
+++ b/sc/source/core/tool/interpr2.cxx
@@ -352,11 +352,11 @@ void ScInterpreter::ScGetDiffDate360()
bFlag = FALSE;
double nDate2 = GetDouble();
double nDate1 = GetDouble();
- double fSign;
if (nGlobalError)
PushError( nGlobalError);
else
{
+ double fSign;
// #i84934# only for non-US European algorithm swap dates. Else
// follow Excel's meaningless extrapolation for "interoperability".
if (bFlag && (nDate2 < nDate1))
@@ -765,12 +765,7 @@ void ScInterpreter::ScMIRR()
if( MustHaveParamCount( GetByte(), 3 ) )
{
double fRate1_reinvest = GetDouble() + 1;
- double fNPV_reinvest = 0.0;
- double fPow_reinvest = 1.0;
-
double fRate1_invest = GetDouble() + 1;
- double fNPV_invest = 0.0;
- double fPow_invest = 1.0;
ScRange aRange;
PopDoubleRef( aRange );
@@ -779,6 +774,10 @@ void ScInterpreter::ScMIRR()
PushError( nGlobalError);
else
{
+ double fNPV_reinvest = 0.0;
+ double fPow_reinvest = 1.0;
+ double fNPV_invest = 0.0;
+ double fPow_invest = 1.0;
ScValueIterator aValIter( pDok, aRange, glSubTotal );
double fCellValue;
ULONG nCount = 0;
@@ -1082,7 +1081,6 @@ void ScInterpreter::ScVDB()
{
double fDauer1=fDauer;
- double fPart;
//@Die Frage aller Fragen: "Ist das hier richtig"
if(!::rtl::math::approxEqual(fAnfang,::rtl::math::approxFloor(fAnfang)))
@@ -1091,7 +1089,7 @@ void ScInterpreter::ScVDB()
{
if(fAnfang>fDauer/2 || ::rtl::math::approxEqual(fAnfang,fDauer/2))
{
- fPart=fAnfang-fDauer/2;
+ double fPart=fAnfang-fDauer/2;
fAnfang=fDauer/2;
fEnde-=fPart;
fDauer1+=1;
@@ -1398,7 +1396,7 @@ double ScInterpreter::ScGetZinsZ(double fZins, double fZr, double fZzr, double f
void ScInterpreter::ScZinsZ()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScZinsZ" );
- double nZins, nZr, nRmz, nZzr, nBw, nZw = 0, nFlag = 0;
+ double nZins, nZr, nZzr, nBw, nZw = 0, nFlag = 0;
nFuncFmtType = NUMBERFORMAT_CURRENCY;
BYTE nParamCount = GetByte();
if ( !MustHaveParamCount( nParamCount, 4, 6 ) )
@@ -1414,13 +1412,16 @@ void ScInterpreter::ScZinsZ()
if (nZr < 1.0 || nZr > nZzr)
PushIllegalArgument();
else
+ {
+ double nRmz;
PushDouble(ScGetZinsZ(nZins, nZr, nZzr, nBw, nZw, nFlag, nRmz));
+ }
}
void ScInterpreter::ScKapz()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScKapz" );
- double nZins, nZr, nZzr, nBw, nZw = 0, nFlag = 0, nRmz, nZinsz;
+ double nZins, nZr, nZzr, nBw, nZw = 0, nFlag = 0;
nFuncFmtType = NUMBERFORMAT_CURRENCY;
BYTE nParamCount = GetByte();
if ( !MustHaveParamCount( nParamCount, 4, 6 ) )
@@ -1437,7 +1438,8 @@ void ScInterpreter::ScKapz()
PushIllegalArgument();
else
{
- nZinsz = ScGetZinsZ(nZins, nZr, nZzr, nBw, nZw, nFlag, nRmz);
+ double nRmz;
+ double nZinsz = ScGetZinsZ(nZins, nZr, nZzr, nBw, nZw, nFlag, nRmz);
PushDouble(nRmz - nZinsz);
}
}
@@ -1448,7 +1450,7 @@ void ScInterpreter::ScKumZinsZ()
nFuncFmtType = NUMBERFORMAT_CURRENCY;
if ( MustHaveParamCount( GetByte(), 6 ) )
{
- double fZins, fZzr, fBw, fAnfang, fEnde, fF, fRmz, fZinsZ;
+ double fZins, fZzr, fBw, fAnfang, fEnde, fF;
fF = GetDouble();
fEnde = ::rtl::math::approxFloor(GetDouble());
fAnfang = ::rtl::math::approxFloor(GetDouble());
@@ -1462,8 +1464,8 @@ void ScInterpreter::ScKumZinsZ()
{
ULONG nAnfang = (ULONG) fAnfang;
ULONG nEnde = (ULONG) fEnde ;
- fRmz = ScGetRmz(fZins, fZzr, fBw, 0.0, fF);
- fZinsZ = 0.0;
+ double fRmz = ScGetRmz(fZins, fZzr, fBw, 0.0, fF);
+ double fZinsZ = 0.0;
if (nAnfang == 1)
{
if (fF <= 0.0)
@@ -1489,7 +1491,7 @@ void ScInterpreter::ScKumKapZ()
nFuncFmtType = NUMBERFORMAT_CURRENCY;
if ( MustHaveParamCount( GetByte(), 6 ) )
{
- double fZins, fZzr, fBw, fAnfang, fEnde, fF, fRmz, fKapZ;
+ double fZins, fZzr, fBw, fAnfang, fEnde, fF;
fF = GetDouble();
fEnde = ::rtl::math::approxFloor(GetDouble());
fAnfang = ::rtl::math::approxFloor(GetDouble());
@@ -1501,8 +1503,8 @@ void ScInterpreter::ScKumKapZ()
PushIllegalArgument();
else
{
- fRmz = ScGetRmz(fZins, fZzr, fBw, 0.0, fF);
- fKapZ = 0.0;
+ double fRmz = ScGetRmz(fZins, fZzr, fBw, 0.0, fF);
+ double fKapZ = 0.0;
ULONG nAnfang = (ULONG) fAnfang;
ULONG nEnde = (ULONG) fEnde;
if (nAnfang == 1)
@@ -1760,7 +1762,6 @@ void ScInterpreter::ScBackSolver()
// Try a nice rounded input value if possible.
const double fNiceDelta = (bDoneIteration && fabs(fBestX) >= 1e-3 ? 1e-3 : fDelta);
double nX = ::rtl::math::approxFloor((fBestX / fNiceDelta) + 0.5) * fNiceDelta;
-// double nX = ::rtl::math::approxFloor((fBestX / fDelta) + 0.5) * fDelta;
if ( bDoneIteration )
{
@@ -1895,7 +1896,7 @@ void ScInterpreter::ScIntersect()
PushTempToken( new ScDoubleRefToken( rRef));
}
else
- PushTempToken( xRes);
+ PushTempToken( xRes.get());
}
else
{
@@ -1966,7 +1967,7 @@ void ScInterpreter::ScRangeFunc()
if (!xRes)
PushIllegalArgument();
else
- PushTempToken( xRes);
+ PushTempToken( xRes.get());
}
@@ -2044,7 +2045,7 @@ void ScInterpreter::ScUnionFunc()
}
}
ValidateRef( *pRes); // set #REF! if needed
- PushTempToken( xRes);
+ PushTempToken( xRes.get());
}
@@ -2054,8 +2055,8 @@ void ScInterpreter::ScCurrent()
FormulaTokenRef xTok( PopToken());
if (xTok)
{
- PushTempToken( xTok);
- PushTempToken( xTok);
+ PushTempToken( xTok.get());
+ PushTempToken( xTok.get());
}
else
PushError( errUnknownStackVariable);
@@ -2229,13 +2230,13 @@ void ScInterpreter::ScBase()
BYTE nParamCount = GetByte();
if ( MustHaveParamCount( nParamCount, 2, 3 ) )
{
- static const sal_Unicode __FAR_DATA pDigits[] = {
+ static const sal_Unicode pDigits[] = {
'0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
0
};
- static const int nDigits = (sizeof(pDigits)/sizeof(sal_Unicode))-1;
+ static const int nDigits = SAL_N_ELEMENTS(pDigits)-1;
xub_StrLen nMinLen;
if ( nParamCount == 3 )
{
@@ -2713,7 +2714,6 @@ void ScInterpreter::ScEuroConvert()
PushError( nGlobalError);
else
{
- double fRes;
double fFromRate;
double fToRate;
int nFromDec;
@@ -2722,6 +2722,7 @@ void ScInterpreter::ScEuroConvert()
if ( lclConvertMoney( aFromUnit, fFromRate, nFromDec )
&& lclConvertMoney( aToUnit, fToRate, nToDec ) )
{
+ double fRes;
if ( aFromUnit.EqualsIgnoreCaseAscii( aToUnit ) )
fRes = fVal;
else
diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx
index 0b702777d8e8..395562d30855 100644
--- a/sc/source/core/tool/interpr3.cxx
+++ b/sc/source/core/tool/interpr3.cxx
@@ -57,8 +57,6 @@ using namespace formula;
#define SCdEpsilon 1.0E-7
#define SC_MAX_ITERATION_COUNT 20
#define MAX_ANZ_DOUBLE_FOR_SORT 100000
-// PI jetzt als F_PI aus solar.h
-//#define PI 3.1415926535897932
const double ScInterpreter::fMaxGammaArgument = 171.624376956302; // found experimental
const double fMachEps = ::std::numeric_limits<double>::epsilon();
@@ -462,10 +460,6 @@ double ScInterpreter::Fakultaet(double x)
}
else
SetError(errNoValue);
-/* // Stirlingsche Naeherung zu ungenau
- else
- x = pow(x/exp(1), x) * sqrt(x) * SQRT_2_PI * (1.0 + 1.0 / (12.0 * x));
-*/
return x;
}
@@ -489,25 +483,11 @@ double ScInterpreter::BinomKoeff(double n, double k)
k--;
n--;
}
-/*
- double f1 = n; // Zaehler
- double f2 = k; // Nenner
- n--;
- k--;
- while (k > 0.0)
- {
- f2 *= k;
- f1 *= n;
- k--;
- n--;
- }
- nVal = f1 / f2;
-*/
+
}
return nVal;
}
-
// The algorithm is based on lanczos13m53 in lanczos.hpp
// in math library from http://www.boost.org
/** you must ensure fZ>0
@@ -548,7 +528,6 @@ double lcl_getLanczosSum(double fZ)
double fSumNum;
double fSumDenom;
int nI;
- double fZInv;
if (fZ<=1.0)
{
fSumNum = fNum[12];
@@ -564,7 +543,7 @@ double lcl_getLanczosSum(double fZ)
else
// Cancel down with fZ^12; Horner scheme with reverse coefficients
{
- fZInv = 1/fZ;
+ double fZInv = 1/fZ;
fSumNum = fNum[0];
fSumDenom = fDenom[0];
for (nI = 1; nI <=12; ++nI)
@@ -651,7 +630,6 @@ double ScInterpreter::GetGamma(double fZ)
return exp( fLogPi - fLogDivisor) * ((::rtl::math::sin( F_PI*fZ) < 0.0) ? -1.0 : 1.0);
}
-
/** You must ensure fZ>0 */
double ScInterpreter::GetLogGamma(double fZ)
{
@@ -672,48 +650,12 @@ double ScInterpreter::GetFDist(double x, double fF1, double fF2)
double alpha = fF2/2.0;
double beta = fF1/2.0;
return (GetBetaDist(arg, alpha, beta));
-/*
- double Z = (pow(fF,1.0/3.0)*(1.0-2.0/(9.0*fF2)) - (1.0-2.0/(9.0*fF1))) /
- sqrt(2.0/(9.0*fF1) + pow(fF,2.0/3.0)*2.0/(9.0*fF2));
- return (0.5-gauss(Z));
-*/
}
double ScInterpreter::GetTDist(double T, double fDF)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::GetTDist" );
return 0.5 * GetBetaDist(fDF/(fDF+T*T), fDF/2.0, 0.5);
-/*
- USHORT DF = (USHORT) fDF;
- double A = T / sqrt(DF);
- double B = 1.0 + A*A;
- double R;
- if (DF == 1)
- R = 0.5 + atan(A)/F_PI;
- else if (DF % 2 == 0)
- {
- double S0 = A/(2.0 * sqrt(B));
- double C0 = S0;
- for (USHORT i = 2; i <= DF-2; i+=2)
- {
- C0 *= (1.0 - 1.0/(double)i)/B;
- S0 += C0;
- }
- R = 0.5 + S0;
- }
- else
- {
- double S1 = A / (B * F_PI);
- double C1 = S1;
- for (USHORT i = 3; i <= DF-2; i+=2)
- {
- C1 *= (1.0 - 1.0/(double)i)/B;
- S1 += C1;
- }
- R = 0.5 + atan(A)/F_PI + S1;
- }
- return 1.0 - R;
-*/
}
// for LEGACY.CHIDIST, returns right tail, fDF=degrees of freedom
@@ -744,7 +686,6 @@ double ScInterpreter::GetChiSqDistPDF(double fX, double fDF)
{
// you must ensure fDF is positive integer
double fValue;
- double fCount;
if (fX <= 0.0)
return 0.0; // see ODFF
if (fDF*fX > 1391000.0)
@@ -754,6 +695,7 @@ double ScInterpreter::GetChiSqDistPDF(double fX, double fDF)
}
else // fDF is small in most cases, we can iterate
{
+ double fCount;
if (fmod(fDF,2.0)<0.5)
{
// even
@@ -783,7 +725,6 @@ void ScInterpreter::ScChiSqDist()
BYTE nParamCount = GetByte();
if ( !MustHaveParamCount( nParamCount, 2, 3 ) )
return;
- double fX;
bool bCumulative;
if (nParamCount == 3)
bCumulative = GetBool();
@@ -794,7 +735,7 @@ void ScInterpreter::ScChiSqDist()
PushIllegalArgument();
else
{
- fX = GetDouble();
+ double fX = GetDouble();
if (bCumulative)
PushDouble(GetChiSqDistCDF(fX,fDF));
else
@@ -806,12 +747,11 @@ void ScInterpreter::ScGamma()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScGamma" );
double x = GetDouble();
- double fResult;
if (x <= 0.0 && x == ::rtl::math::approxFloor(x))
PushIllegalArgument();
else
{
- fResult = GetGamma(x);
+ double fResult = GetGamma(x);
if (nGlobalError)
{
PushError( nGlobalError);
@@ -821,7 +761,6 @@ void ScInterpreter::ScGamma()
}
}
-
void ScInterpreter::ScLogGamma()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScLogGamma" );
@@ -963,7 +902,6 @@ double ScInterpreter::GetBetaDistPDF(double fX, double fA, double fB)
return exp((fA-1.0)*fLogX + (fB-1.0)* fLogY - fLogBeta);
}
-
/*
x^a * (1-x)^b
I_x(a,b) = ---------------- * result of ContFrac
@@ -1370,7 +1308,7 @@ void ScInterpreter::ScBinomDist()
double p = GetDouble(); // p
double n = ::rtl::math::approxFloor(GetDouble()); // n
double x = ::rtl::math::approxFloor(GetDouble()); // x
- double fFactor, q, fSum;
+ double fFactor, q;
if (n < 0.0 || x < 0.0 || x > n || p < 0.0 || p > 1.0)
PushIllegalArgument();
else if (kum == 0.0) // Dichte
@@ -1404,6 +1342,7 @@ void ScInterpreter::ScBinomDist()
PushDouble(1.0);
else
{
+ double fSum;
q = 1.0 - p;
fFactor = pow(q, n);
if (fFactor == 0.0)
@@ -2250,7 +2189,6 @@ public:
double GetValue( double x ) const { return fp - rInt.GetChiSqDistCDF(x, fDF); }
};
-
void ScInterpreter::ScChiSqInv()
{
if ( !MustHaveParamCount( GetByte(), 2 ) )
@@ -2271,7 +2209,6 @@ void ScInterpreter::ScChiSqInv()
PushDouble(fVal);
}
-
void ScInterpreter::ScConfidence()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScConfidence" );
@@ -2458,9 +2395,6 @@ bool ScInterpreter::CalculateTest(BOOL _bTemplin
}
fT = fabs(fSum1/fCount1 - fSum2/fCount2)/sqrt(fS1+fS2);
double c = fS1/(fS1+fS2);
-// s.u. fF = ::rtl::math::approxFloor(1.0/(c*c/(fCount1-1.0)+(1.0-c)*(1.0-c)/(fCount2-1.0)));
-// fF = ::rtl::math::approxFloor((fS1+fS2)*(fS1+fS2)/(fS1*fS1/(fCount1-1.0) + fS2*fS2/(fCount2-1.0)));
-
// GetTDist wird mit GetBetaDist berechnet und kommt auch mit nicht ganzzahligen
// Freiheitsgraden klar. Dann stimmt das Ergebnis auch mit Excel ueberein (#52406#):
fF = 1.0/(c*c/(fCount1-1.0)+(1.0-c)*(1.0-c)/(fCount2-1.0));
@@ -2629,11 +2563,6 @@ void ScInterpreter::ScFTest()
fF2 = fCount1-1.0;
}
PushDouble(2.0*GetFDist(fF, fF1, fF2));
-/*
- double Z = (pow(fF,1.0/3.0)*(1.0-2.0/(9.0*fF2)) - (1.0-2.0/(9.0*fF1))) /
- sqrt(2.0/(9.0*fF1) + pow(fF,2.0/3.0)*2.0/(9.0*fF2));
- PushDouble(1.0-2.0*gauss(Z));
-*/
}
void ScInterpreter::ScChiTest()
@@ -2688,25 +2617,6 @@ void ScInterpreter::ScChiTest()
else
fDF = (double)(nC1-1)*(double)(nR1-1);
PushDouble(GetChiDist(fChi, fDF));
-/*
- double fX, fS, fT, fG;
- fX = 1.0;
- for (double fi = fDF; fi >= 2.0; fi -= 2.0)
- fX *= fChi/fi;
- fX *= exp(-fChi/2.0);
- if (fmod(fDF, 2.0) != 0.0)
- fX *= sqrt(2.0*fChi/F_PI);
- fS = 1.0;
- fT = 1.0;
- fG = fDF;
- while (fT >= 1.0E-7)
- {
- fG += 2.0;
- fT *= fChi/fG;
- fS += fT;
- }
- PushDouble(1.0 - fX*fS);
-*/
}
void ScInterpreter::ScKurt()
@@ -3307,7 +3217,6 @@ void ScInterpreter::CalculateSmallLarge(BOOL bSmall)
* actually are defined to return an array of values if an array of
* positions was passed, in which case, depending on the number of values,
* we may or will need a real sorted array again, see #i32345. */
- //GetSortArray(1, aSortArray);
GetNumberSequenceArray(1, aSortArray);
SCSIZE nSize = aSortArray.size();
if (aSortArray.empty() || nSize == 0 || nGlobalError || nSize < k)
@@ -3918,24 +3827,26 @@ void ScInterpreter::ScProbability()
double fRes = 0.0;
BOOL bStop = FALSE;
double fP, fW;
- SCSIZE nCount1 = nC1 * nR1;
- for ( SCSIZE i = 0; i < nCount1 && !bStop; i++ )
+ for ( SCSIZE i = 0; i < nC1 && !bStop; i++ )
{
- if (pMatP->IsValue(i) && pMatW->IsValue(i))
+ for (SCSIZE j = 0; j < nR1 && !bStop; ++j )
{
- fP = pMatP->GetDouble(i);
- fW = pMatW->GetDouble(i);
- if (fP < 0.0 || fP > 1.0)
- bStop = TRUE;
- else
+ if (pMatP->IsValue(i,j) && pMatW->IsValue(i,j))
{
- fSum += fP;
- if (fW >= fLo && fW <= fUp)
- fRes += fP;
+ fP = pMatP->GetDouble(i,j);
+ fW = pMatW->GetDouble(i,j);
+ if (fP < 0.0 || fP > 1.0)
+ bStop = TRUE;
+ else
+ {
+ fSum += fP;
+ if (fW >= fLo && fW <= fUp)
+ fRes += fP;
+ }
}
+ else
+ SetError( errIllegalArgument);
}
- else
- SetError( errIllegalArgument);
}
if (bStop || fabs(fSum -1.0) > 1.0E-7)
PushNoValue();
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index a1be4455d31b..52a1a7618b23 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -101,9 +101,10 @@ using ::std::auto_ptr;
void ScInterpreter::ReplaceCell( ScAddress& rPos )
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ReplaceCell" );
- ScInterpreterTableOpParams* pTOp = pDok->aTableOpList.First();
- while (pTOp)
+ size_t ListSize = pDok->aTableOpList.size();
+ for ( size_t i = 0; i < ListSize; ++i )
{
+ ScInterpreterTableOpParams* pTOp = &pDok->aTableOpList[ i ];
if ( rPos == pTOp->aOld1 )
{
rPos = pTOp->aNew1;
@@ -114,8 +115,6 @@ void ScInterpreter::ReplaceCell( ScAddress& rPos )
rPos = pTOp->aNew2;
return ;
}
- else
- pTOp = pDok->aTableOpList.Next();
}
}
@@ -124,9 +123,10 @@ void ScInterpreter::ReplaceCell( SCCOL& rCol, SCROW& rRow, SCTAB& rTab )
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ReplaceCell" );
ScAddress aCellPos( rCol, rRow, rTab );
- ScInterpreterTableOpParams* pTOp = pDok->aTableOpList.First();
- while (pTOp)
+ size_t ListSize = pDok->aTableOpList.size();
+ for ( size_t i = 0; i < ListSize; ++i )
{
+ ScInterpreterTableOpParams* pTOp = &pDok->aTableOpList[ i ];
if ( aCellPos == pTOp->aOld1 )
{
rCol = pTOp->aNew1.Col();
@@ -141,8 +141,6 @@ void ScInterpreter::ReplaceCell( SCCOL& rCol, SCROW& rRow, SCTAB& rTab )
rTab = pTOp->aNew2.Tab();
return ;
}
- else
- pTOp = pDok->aTableOpList.Next();
}
}
@@ -154,14 +152,14 @@ BOOL ScInterpreter::IsTableOpInRange( const ScRange& rRange )
return FALSE; // not considered to be a range in TableOp sense
// we can't replace a single cell in a range
- ScInterpreterTableOpParams* pTOp = pDok->aTableOpList.First();
- while (pTOp)
+ size_t ListSize = pDok->aTableOpList.size();
+ for ( size_t i = 0; i < ListSize; ++i )
{
+ ScInterpreterTableOpParams* pTOp = &pDok->aTableOpList[ i ];
if ( rRange.In( pTOp->aOld1 ) )
return TRUE;
if ( rRange.In( pTOp->aOld2 ) )
return TRUE;
- pTOp = pDok->aTableOpList.Next();
}
return FALSE;
}
@@ -1183,7 +1181,7 @@ void ScInterpreter::PopSingleRef(SCCOL& rCol, SCROW &rRow, SCTAB& rTab)
break;
case svSingleRef:
SingleRefToVars( static_cast<ScToken*>(p)->GetSingleRef(), rCol, rRow, rTab);
- if ( pDok->aTableOpList.Count() > 0 )
+ if ( !pDok->aTableOpList.empty() )
ReplaceCell( rCol, rRow, rTab );
break;
default:
@@ -1214,7 +1212,7 @@ void ScInterpreter::PopSingleRef( ScAddress& rAdr )
SCTAB nTab;
SingleRefToVars( static_cast<ScToken*>(p)->GetSingleRef(), nCol, nRow, nTab);
rAdr.Set( nCol, nRow, nTab );
- if ( pDok->aTableOpList.Count() > 0 )
+ if ( !pDok->aTableOpList.empty() )
ReplaceCell( rAdr );
}
break;
@@ -1236,7 +1234,7 @@ void ScInterpreter::DoubleRefToVars( const ScToken* p,
const ScComplexRefData& rCRef = p->GetDoubleRef();
SingleRefToVars( rCRef.Ref1, rCol1, rRow1, rTab1);
SingleRefToVars( rCRef.Ref2, rCol2, rRow2, rTab2);
- if ( pDok->aTableOpList.Count() > 0 && !bDontCheckForTableOp )
+ if ( !pDok->aTableOpList.empty() && !bDontCheckForTableOp )
{
ScRange aRange( rCol1, rRow1, rTab1, rCol2, rRow2, rTab2 );
if ( IsTableOpInRange( aRange ) )
@@ -1321,7 +1319,7 @@ void ScInterpreter::DoubleRefToRange( const ScComplexRefData & rCRef,
rRange.aStart.Set( nCol, nRow, nTab );
SingleRefToVars( rCRef.Ref2, nCol, nRow, nTab);
rRange.aEnd.Set( nCol, nRow, nTab );
- if ( pDok->aTableOpList.Count() > 0 && !bDontCheckForTableOp )
+ if (! pDok->aTableOpList.empty() && !bDontCheckForTableOp )
{
if ( IsTableOpInRange( rRange ) )
SetError( errIllegalParameter );
@@ -1576,13 +1574,11 @@ BOOL ScInterpreter::PopDoubleRefOrSingleRef( ScAddress& rAdr )
PopDoubleRef( aRange, TRUE );
return DoubleRefToPosSingleRef( aRange, rAdr );
}
- //break;
case svSingleRef :
{
PopSingleRef( rAdr );
return TRUE;
}
- //break;
default:
PopError();
SetError( errNoRef );
@@ -1623,7 +1619,7 @@ bool ScInterpreter::ConvertMatrixParameters()
for ( USHORT i=1; i <= nParams && i <= sp; ++i )
{
FormulaToken* p = pStack[ sp - i ];
- if ( p->GetOpCode() != ocPush )
+ if ( p->GetOpCode() != ocPush && p->GetOpCode() != ocMissing)
{
DBG_ERRORFILE( "ConvertMatrixParameters: not a push");
}
@@ -1737,7 +1733,7 @@ bool ScInterpreter::ConvertMatrixParameters()
GetTokenMatrixMap().insert( ScTokenMatrixMap::value_type( pCur,
xNew));
}
- PushTempToken( xNew);
+ PushTempToken( xNew.get());
// set continuation point of path for main code line
aCode.Jump( nNext, nNext);
return true;
@@ -1780,42 +1776,37 @@ void ScInterpreter::QueryMatrixType(ScMatrixRef& xMat, short& rRetTypeExpr, ULON
{
if (xMat)
{
- ScMatValType nMatValType;
- const ScMatrixValue* pMatVal = xMat->Get(0, 0, nMatValType);
- if ( pMatVal )
+ ScMatrixValue nMatVal = xMat->Get(0, 0);
+ ScMatValType nMatValType = nMatVal.nType;
+ if (ScMatrix::IsNonValueType( nMatValType))
{
- if (ScMatrix::IsNonValueType( nMatValType))
- {
- if ( xMat->IsEmptyPath( 0, 0))
- { // result of empty FALSE jump path
- FormulaTokenRef xRes = new FormulaDoubleToken( 0.0);
- PushTempToken( new ScMatrixCellResultToken( xMat, xRes));
- rRetTypeExpr = NUMBERFORMAT_LOGICAL;
- }
- else
- {
- String aStr( pMatVal->GetString());
- FormulaTokenRef xRes = new FormulaStringToken( aStr);
- PushTempToken( new ScMatrixCellResultToken( xMat, xRes));
- rRetTypeExpr = NUMBERFORMAT_TEXT;
- }
+ if ( xMat->IsEmptyPath( 0, 0))
+ { // result of empty FALSE jump path
+ FormulaTokenRef xRes = new FormulaDoubleToken( 0.0);
+ PushTempToken( new ScMatrixCellResultToken( xMat, xRes.get()));
+ rRetTypeExpr = NUMBERFORMAT_LOGICAL;
}
else
{
- USHORT nErr = GetDoubleErrorValue( pMatVal->fVal);
- FormulaTokenRef xRes;
- if (nErr)
- xRes = new FormulaErrorToken( nErr);
- else
- xRes = new FormulaDoubleToken( pMatVal->fVal);
- PushTempToken( new ScMatrixCellResultToken( xMat, xRes));
- if ( rRetTypeExpr != NUMBERFORMAT_LOGICAL )
- rRetTypeExpr = NUMBERFORMAT_NUMBER;
+ String aStr( nMatVal.GetString());
+ FormulaTokenRef xRes = new FormulaStringToken( aStr);
+ PushTempToken( new ScMatrixCellResultToken( xMat, xRes.get()));
+ rRetTypeExpr = NUMBERFORMAT_TEXT;
}
- rRetIndexExpr = 0;
}
else
- SetError( errUnknownStackVariable);
+ {
+ USHORT nErr = GetDoubleErrorValue( nMatVal.fVal);
+ FormulaTokenRef xRes;
+ if (nErr)
+ xRes = new FormulaErrorToken( nErr);
+ else
+ xRes = new FormulaDoubleToken( nMatVal.fVal);
+ PushTempToken( new ScMatrixCellResultToken( xMat, xRes.get()));
+ if ( rRetTypeExpr != NUMBERFORMAT_LOGICAL )
+ rRetTypeExpr = NUMBERFORMAT_NUMBER;
+ }
+ rRetIndexExpr = 0;
xMat->SetErrorInterpreter( NULL);
}
else
@@ -1926,7 +1917,7 @@ void ScInterpreter::PushExternalDoubleRef(
}
-void ScInterpreter::PushMatrix(ScMatrix* pMat)
+void ScInterpreter::PushMatrix(const ScMatrixRef& pMat)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::PushMatrix" );
pMat->SetErrorInterpreter( NULL);
@@ -2243,12 +2234,10 @@ const String& ScInterpreter::GetString()
case svError:
PopError();
return EMPTY_STRING;
- //break;
case svMissing:
case svEmptyCell:
Pop();
return EMPTY_STRING;
- //break;
case svDouble:
{
double fVal = PopDouble();
@@ -2258,10 +2247,8 @@ const String& ScInterpreter::GetString()
pFormatter->GetInputLineString(fVal, nIndex, aTempStr);
return aTempStr;
}
- //break;
case svString:
return PopString();
- //break;
case svSingleRef:
{
ScAddress aAdr;
@@ -2275,7 +2262,6 @@ const String& ScInterpreter::GetString()
else
return EMPTY_STRING;
}
- //break;
case svDoubleRef:
{ // generate position dependent SingleRef
ScRange aRange;
@@ -2302,7 +2288,6 @@ const String& ScInterpreter::GetString()
PopExternalDoubleRef(pMat);
return GetStringFromMatrix(pMat);
}
- //break;
case svMatrix:
{
ScMatrixRef pMat = PopMatrix();
@@ -2345,49 +2330,62 @@ ScMatValType ScInterpreter::GetDoubleOrStringFromMatrix( double& rDouble,
String& rString )
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::GetDoubleOrStringFromMatrix" );
+
+ rDouble = 0.0;
+ rString.Erase();
ScMatValType nMatValType = SC_MATVAL_EMPTY;
- switch ( GetStackType() )
+
+ ScMatrixRef pMat;
+ StackVar eType = GetStackType();
+ if (eType == svExternalDoubleRef)
{
- case svMatrix:
- {
- const ScMatrixValue* pMatVal = 0;
- ScMatrixRef pMat = PopMatrix();
- if (!pMat)
- ; // nothing
- else if (!pJumpMatrix)
- pMatVal = pMat->Get( 0, 0, nMatValType);
- else
- {
- SCSIZE nCols, nRows, nC, nR;
- pMat->GetDimensions( nCols, nRows);
- pJumpMatrix->GetPos( nC, nR);
- if ( nC < nCols && nR < nRows )
- pMatVal = pMat->Get( nC, nR, nMatValType);
- else
- SetError( errNoValue);
- }
- if (!pMatVal)
- {
- rDouble = 0.0;
- rString.Erase();
- }
- else if (nMatValType == SC_MATVAL_VALUE)
- rDouble = pMatVal->fVal;
- else if (nMatValType == SC_MATVAL_BOOLEAN)
- {
- rDouble = pMatVal->fVal;
- nMatValType = SC_MATVAL_VALUE;
- }
- else
- rString = pMatVal->GetString();
- }
- break;
- default:
- PopError();
- rDouble = 0.0;
- rString.Erase();
- SetError( errIllegalParameter);
+ PopExternalDoubleRef(pMat);
+ }
+ else if (eType == svMatrix)
+ {
+ pMat = PopMatrix();
+ }
+ else
+ {
+ PopError();
+ SetError( errIllegalParameter);
+ return nMatValType;
+ }
+
+ ScMatrixValue nMatVal;
+ if (!pMat)
+ {
+ // nothing
+ }
+ else if (!pJumpMatrix)
+ {
+ nMatVal = pMat->Get(0, 0);
+ nMatValType = nMatVal.nType;
+ }
+ else
+ {
+ SCSIZE nCols, nRows, nC, nR;
+ pMat->GetDimensions( nCols, nRows);
+ pJumpMatrix->GetPos( nC, nR);
+ if ( nC < nCols && nR < nRows )
+ {
+ nMatVal = pMat->Get( nC, nR);
+ nMatValType = nMatVal.nType;
+ }
+ else
+ SetError( errNoValue);
}
+
+ if (nMatValType == SC_MATVAL_VALUE)
+ rDouble = nMatVal.fVal;
+ else if (nMatValType == SC_MATVAL_BOOLEAN)
+ {
+ rDouble = nMatVal.fVal;
+ nMatValType = SC_MATVAL_VALUE;
+ }
+ else
+ rString = nMatVal.GetString();
+
return nMatValType;
}
@@ -2710,7 +2708,7 @@ void ScInterpreter::ScExternal()
}
break;
case svMatrix:
- if (!ScRangeToSequence::FillLongArray( aParam, PopMatrix() ))
+ if (!ScRangeToSequence::FillLongArray( aParam, PopMatrix().get() ))
SetError(errIllegalParameter);
break;
default:
@@ -2741,7 +2739,7 @@ void ScInterpreter::ScExternal()
}
break;
case svMatrix:
- if (!ScRangeToSequence::FillDoubleArray( aParam, PopMatrix() ))
+ if (!ScRangeToSequence::FillDoubleArray( aParam, PopMatrix().get() ))
SetError(errIllegalParameter);
break;
default:
@@ -2772,7 +2770,7 @@ void ScInterpreter::ScExternal()
}
break;
case svMatrix:
- if (!ScRangeToSequence::FillStringArray( aParam, PopMatrix(), pFormatter ))
+ if (!ScRangeToSequence::FillStringArray( aParam, PopMatrix().get(), pFormatter ))
SetError(errIllegalParameter);
break;
default:
@@ -2823,7 +2821,7 @@ void ScInterpreter::ScExternal()
}
break;
case svMatrix:
- if (!ScRangeToSequence::FillMixedArray( aParam, PopMatrix() ))
+ if (!ScRangeToSequence::FillMixedArray( aParam, PopMatrix().get() ))
SetError(errIllegalParameter);
break;
default:
@@ -2869,7 +2867,7 @@ void ScInterpreter::ScExternal()
}
break;
case svMatrix:
- if (!ScRangeToSequence::FillMixedArray( aParam, PopMatrix() ))
+ if (!ScRangeToSequence::FillMixedArray( aParam, PopMatrix().get() ))
SetError(errIllegalParameter);
break;
case svMissing:
@@ -3378,7 +3376,7 @@ void ScInterpreter::ScTableOp()
PopSingleRef( pTableOp->aFormulaPos );
pTableOp->bValid = TRUE;
- pDok->aTableOpList.Insert( pTableOp );
+ pDok->aTableOpList.push_back( pTableOp );
pDok->IncInterpreterTableOpLevel();
BOOL bReuseLastParams = (pDok->aLastTableOpParams == *pTableOp);
@@ -3416,7 +3414,7 @@ void ScInterpreter::ScTableOp()
PushString( aCellString );
}
- pDok->aTableOpList.Remove( pTableOp );
+ pTableOp = pDok->aTableOpList.release( pDok->aTableOpList.end() ).release();
// set dirty again once more to be able to recalculate original
for ( ::std::vector< ScFormulaCell* >::const_iterator iBroadcast(
pTableOp->aNotifiedFormulaCells.begin() );
@@ -3451,17 +3449,6 @@ void ScInterpreter::ScTableOp()
pDok->DecInterpreterTableOpLevel();
}
-
-/*
-
-void ScInterpreter::ScErrCell()
-{
-RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScErrCell" );
- double fErrNum = GetDouble();
- PushError((USHORT) fErrNum);
-}
-*/
-
void ScInterpreter::ScDBArea()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScDBArea" );
@@ -3597,7 +3584,6 @@ ScInterpreter::ScInterpreter( ScFormulaCell* pCell, ScDocument* pDoc,
meVolaileType(NOT_VOLATILE)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScTTT" );
-// pStack = new ScToken*[ MAXSTACK ];
BYTE cMatFlag = pMyFormulaCell->GetMatrixFlag();
bMatrixFormula = ( cMatFlag == MM_FORMULA || cMatFlag == MM_FAKE );
@@ -3628,7 +3614,7 @@ ScInterpreter::~ScInterpreter()
}
-void ScInterpreter::GlobalExit() // static
+void ScInterpreter::GlobalExit()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::GlobalExit" );
DBG_ASSERT(!bGlobalStackInUse, "wer benutzt noch den TokenStack?");
@@ -3638,7 +3624,6 @@ void ScInterpreter::GlobalExit() // static
StackVar ScInterpreter::Interpret()
{
-// StackPrinter __stack_printer__("ScInterpreter::Interpret");
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::Interpret" );
short nRetTypeExpr = NUMBERFORMAT_UNDEFINED;
ULONG nRetIndexExpr = 0;
@@ -3684,7 +3669,7 @@ StackVar ScInterpreter::Interpret()
if ( nStackBase > sp )
nStackBase = sp; // underflow?!?
sp = nStackBase;
- PushTempToken( (*aTokenMatrixMapIter).second);
+ PushTempToken( (*aTokenMatrixMapIter).second.get());
}
else
{
@@ -3721,7 +3706,6 @@ StackVar ScInterpreter::Interpret()
case ocMacro : ScMacro(); break;
case ocDBArea : ScDBArea(); break;
case ocColRowNameAuto : ScColRowNameAuto(); break;
-// separated case ocPush : Push( (ScToken&) *pCur ); break;
case ocIf : ScIfJump(); break;
case ocChose : ScChoseJump(); break;
case ocAdd : ScAdd(); break;
@@ -3746,7 +3730,6 @@ StackVar ScInterpreter::Interpret()
case ocNeg : ScNeg(); break;
case ocPercentSign : ScPercentSign(); break;
case ocPi : ScPi(); break;
-// case ocDefPar : ScDefPar(); break;
case ocRandom : ScRandom(); break;
case ocTrue : ScTrue(); break;
case ocFalse : ScFalse(); break;
@@ -4007,7 +3990,6 @@ StackVar ScInterpreter::Interpret()
case ocBetaInv : ScBetaInv(); break;
case ocExternal : ScExternal(); break;
case ocTableOp : ScTableOp(); break;
-// case ocErrCell : ScErrCell(); break;
case ocStop : break;
case ocErrorType : ScErrorType(); break;
case ocCurrent : ScCurrent(); break;
diff --git a/sc/source/core/tool/interpr5.cxx b/sc/source/core/tool/interpr5.cxx
index 049e7a235870..9ee64e6c491f 100644
--- a/sc/source/core/tool/interpr5.cxx
+++ b/sc/source/core/tool/interpr5.cxx
@@ -100,6 +100,28 @@ const double fInvEpsilon = 1.0E-7;
}
};
+namespace
+{
+
+// Multiply n x m Mat A with m x l Mat B to n x l Mat R
+void lcl_MFastMult(ScMatrixRef pA, ScMatrixRef pB, ScMatrixRef pR,
+ SCSIZE n, SCSIZE m, SCSIZE l)
+{
+ double sum;
+ for (SCSIZE row = 0; row < n; row++)
+ {
+ for (SCSIZE col = 0; col < l; col++)
+ { // result element(col, row) =sum[ (row of A) * (column of B)]
+ sum = 0.0;
+ for (SCSIZE k = 0; k < m; k++)
+ sum += pA->GetDouble(k,row) * pB->GetDouble(col,k);
+ pR->PutDouble(sum, col, row);
+ }
+ }
+}
+
+}
+
double ScInterpreter::ScGetGCD(double fx, double fy)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::div" );
@@ -182,21 +204,23 @@ void ScInterpreter::ScGCD()
SetError(errIllegalArgument);
else
{
- SCSIZE nCount = nC * nR;
- for ( SCSIZE j = 0; j < nCount; j++ )
+ for ( SCSIZE j = 0; j < nC; j++ )
{
- if (!pMat->IsValue(j))
+ for (SCSIZE k = 0; k < nR; ++k)
{
- PushIllegalArgument();
- return;
+ if (!pMat->IsValue(j,k))
+ {
+ PushIllegalArgument();
+ return;
+ }
+ fx = ::rtl::math::approxFloor( pMat->GetDouble(j,k));
+ if (fx < 0.0)
+ {
+ PushIllegalArgument();
+ return;
+ }
+ fy = ScGetGCD(fx, fy);
}
- fx = ::rtl::math::approxFloor( pMat->GetDouble(j));
- if (fx < 0.0)
- {
- PushIllegalArgument();
- return;
- }
- fy = ScGetGCD(fx, fy);
}
}
}
@@ -274,24 +298,26 @@ void ScInterpreter:: ScLCM()
SetError(errIllegalArgument);
else
{
- SCSIZE nCount = nC * nR;
- for ( SCSIZE j = 0; j < nCount; j++ )
+ for ( SCSIZE j = 0; j < nC; j++ )
{
- if (!pMat->IsValue(j))
- {
- PushIllegalArgument();
- return;
- }
- fx = ::rtl::math::approxFloor( pMat->GetDouble(j));
- if (fx < 0.0)
+ for (SCSIZE k = 0; k < nR; ++k)
{
- PushIllegalArgument();
- return;
+ if (!pMat->IsValue(j,k))
+ {
+ PushIllegalArgument();
+ return;
+ }
+ fx = ::rtl::math::approxFloor( pMat->GetDouble(j,k));
+ if (fx < 0.0)
+ {
+ PushIllegalArgument();
+ return;
+ }
+ if (fx == 0.0 || fy == 0.0)
+ fy = 0.0;
+ else
+ fy = fx * fy / ScGetGCD(fx, fy);
}
- if (fx == 0.0 || fy == 0.0)
- fy = 0.0;
- else
- fy = fx * fy / ScGetGCD(fx, fy);
}
}
}
@@ -307,7 +333,7 @@ void ScInterpreter:: ScLCM()
ScMatrixRef ScInterpreter::GetNewMat(SCSIZE nC, SCSIZE nR)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::GetNewMat" );
- ScMatrix* pMat = new ScMatrix( nC, nR);
+ ScMatrixRef pMat = new ScMatrix( nC, nR);
pMat->SetErrorInterpreter( this);
// A temporary matrix is mutable and ScMatrix::CloneIfConst() returns the
// very matrix.
@@ -317,8 +343,7 @@ ScMatrixRef ScInterpreter::GetNewMat(SCSIZE nC, SCSIZE nR)
if ( nCols != nC || nRows != nR )
{ // arbitray limit of elements exceeded
SetError( errStackOverflow);
- pMat->Delete();
- pMat = NULL;
+ pMat.reset();
}
return pMat;
}
@@ -466,7 +491,7 @@ ScMatrixRef ScInterpreter::GetMatrix()
{
ScBaseCell* pCell = GetCell( aAdr );
if (HasCellEmptyData(pCell))
- pMat->PutEmpty( 0 );
+ pMat->PutEmpty(0, 0);
else if (HasCellValueData(pCell))
pMat->PutDouble(GetCellValue(aAdr, pCell), 0);
else
@@ -596,7 +621,7 @@ void ScInterpreter::ScMatValue()
case svMatrix:
{
ScMatrixRef pMat = PopMatrix();
- CalculateMatrixValue(pMat,nC,nR);
+ CalculateMatrixValue(pMat.get(),nC,nR);
}
break;
default:
@@ -615,12 +640,12 @@ void ScInterpreter::CalculateMatrixValue(const ScMatrix* pMat,SCSIZE nC,SCSIZE n
pMat->GetDimensions(nCl, nRw);
if (nC < nCl && nR < nRw)
{
- ScMatValType nMatValType;
- const ScMatrixValue* pMatVal = pMat->Get( nC, nR,nMatValType);
+ const ScMatrixValue nMatVal = pMat->Get( nC, nR);
+ ScMatValType nMatValType = nMatVal.nType;
if (ScMatrix::IsNonValueType( nMatValType))
- PushString( pMatVal->GetString() );
+ PushString( nMatVal.GetString() );
else
- PushDouble(pMatVal->fVal);
+ PushDouble(nMatVal.fVal);
// also handles DoubleError
}
else
@@ -652,7 +677,7 @@ void ScInterpreter::ScEMat()
}
}
-void ScInterpreter::MEMat(ScMatrix* mM, SCSIZE n)
+void ScInterpreter::MEMat(const ScMatrixRef& mM, SCSIZE n)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::MEMat" );
mM->FillDouble(0.0, 0, 0, n-1, n-1);
@@ -660,25 +685,6 @@ void ScInterpreter::MEMat(ScMatrix* mM, SCSIZE n)
mM->PutDouble(1.0, i, i);
}
-void ScInterpreter::MFastMult(ScMatrix* pA, ScMatrix* pB, ScMatrix* pR,
- SCSIZE n, SCSIZE m, SCSIZE l)
- // Multipliziert n x m Mat a mit m x l Mat b nach Mat r
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::MFastMult" );
- double sum;
- for (SCSIZE i = 0; i < n; i++)
- {
- for (SCSIZE j = 0; j < l; j++)
- {
- sum = 0.0;
- for (SCSIZE k = 0; k < m; k++)
- sum += pA->GetDouble(i,k)*pB->GetDouble(k,j);
- pR->PutDouble(sum, i, j);
- }
- }
-}
-
-
/* Matrix LUP decomposition according to the pseudocode of "Introduction to
* Algorithms" by Cormen, Leiserson, Rivest, Stein.
*
@@ -694,7 +700,7 @@ void ScInterpreter::MFastMult(ScMatrix* pA, ScMatrix* pB, ScMatrix* pR,
* permutations (row exchanges).
*
* Returns 0 if a singular matrix is encountered, else +1 if an even number of
- * permutations occured, or -1 if odd, which is the sign of the determinant.
+ * permutations occurred, or -1 if odd, which is the sign of the determinant.
* This may be used to calculate the determinant by multiplying the sign with
* the product of the diagonal elements of the LU matrix.
*/
@@ -783,6 +789,13 @@ static int lcl_LUP_decompose( ScMatrix* mA, const SCSIZE n,
fprintf( stderr, "%5u ", (unsigned)P[j]);
fprintf( stderr, "\n%s\n", "");
#endif
+
+ bool bSingular=false;
+ for (SCSIZE i=0; i<n && !bSingular; i++)
+ bSingular = bSingular || ((mA->GetDouble(i,i))==0.0);
+ if (bSingular)
+ nSign = 0;
+
return nSign;
}
@@ -861,7 +874,7 @@ void ScInterpreter::ScMatDet()
else
{
::std::vector< SCSIZE> P(nR);
- int nDetSign = lcl_LUP_decompose( xLU, nR, P);
+ int nDetSign = lcl_LUP_decompose( xLU.get(), nR, P);
if (!nDetSign)
PushInt(0); // singular matrix
else
@@ -869,9 +882,8 @@ void ScInterpreter::ScMatDet()
// In an LU matrix the determinant is simply the product of
// all diagonal elements.
double fDet = nDetSign;
- ScMatrix* pLU = xLU;
for (SCSIZE i=0; i < nR; ++i)
- fDet *= pLU->GetDouble( i, i);
+ fDet *= xLU->GetDouble( i, i);
PushDouble( fDet);
}
}
@@ -910,13 +922,12 @@ void ScInterpreter::ScMatInv()
else
{
::std::vector< SCSIZE> P(nR);
- int nDetSign = lcl_LUP_decompose( xLU, nR, P);
+ int nDetSign = lcl_LUP_decompose( xLU.get(), nR, P);
if (!nDetSign)
PushIllegalArgument();
else
{
// Solve equation for each column.
- ScMatrix* pY = xY;
::std::vector< double> B(nR);
::std::vector< double> X(nR);
for (SCSIZE j=0; j < nR; ++j)
@@ -924,11 +935,11 @@ void ScInterpreter::ScMatInv()
for (SCSIZE i=0; i < nR; ++i)
B[i] = 0.0;
B[j] = 1.0;
- lcl_LUP_solve( xLU, nR, P, B, X);
+ lcl_LUP_solve( xLU.get(), nR, P, B, X);
for (SCSIZE i=0; i < nR; ++i)
- pY->PutDouble( X[i], j, i);
+ xY->PutDouble( X[i], j, i);
}
-#if 0
+#if OSL_DEBUG_LEVEL > 1
/* Possible checks for ill-condition:
* 1. Scale matrix, invert scaled matrix. If there are
* elements of the inverted matrix that are several
@@ -949,11 +960,9 @@ void ScInterpreter::ScMatInv()
ScMatrixRef xR = GetNewMat( nR, nR);
if (xR)
{
- ScMatrix* pR = xR;
- MFastMult( pMat, pY, pR, nR, nR, nR);
-#if OSL_DEBUG_LEVEL > 1
+ ScMatrix* pR = xR.get();
+ lcl_MFastMult( pMat, xY.get(), pR, nR, nR, nR);
fprintf( stderr, "\n%s\n", "ScMatInv(): mult-identity");
-#endif
for (SCSIZE i=0; i < nR; ++i)
{
for (SCSIZE j=0; j < nR; ++j)
@@ -974,7 +983,7 @@ void ScInterpreter::ScMatInv()
if (nGlobalError)
PushError( nGlobalError);
else
- PushMatrix( pY);
+ PushMatrix( xY);
}
}
}
@@ -1086,7 +1095,6 @@ ScMatrixRef lcl_MatrixCalculation(const _Function& _pOperation,ScMatrix* pMat1,
ScMatrixRef xResMat = _pIterpreter->GetNewMat(nMinC, nMinR);
if (xResMat)
{
- ScMatrix* pResMat = xResMat;
for (i = 0; i < nMinC; i++)
{
for (j = 0; j < nMinR; j++)
@@ -1094,17 +1102,17 @@ ScMatrixRef lcl_MatrixCalculation(const _Function& _pOperation,ScMatrix* pMat1,
if (pMat1->IsValueOrEmpty(i,j) && pMat2->IsValueOrEmpty(i,j))
{
double d = _pOperation(pMat1->GetDouble(i,j),pMat2->GetDouble(i,j));
- pResMat->PutDouble( d, i, j);
+ xResMat->PutDouble( d, i, j);
}
else
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), i, j);
+ xResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), i, j);
}
}
}
return xResMat;
}
-ScMatrixRef ScInterpreter::MatConcat(ScMatrix* pMat1, ScMatrix* pMat2)
+ScMatrixRef ScInterpreter::MatConcat(const ScMatrixRef& pMat1, const ScMatrixRef& pMat2)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::MatConcat" );
SCSIZE nC1, nC2, nMinC;
@@ -1117,7 +1125,6 @@ ScMatrixRef ScInterpreter::MatConcat(ScMatrix* pMat1, ScMatrix* pMat2)
ScMatrixRef xResMat = GetNewMat(nMinC, nMinR);
if (xResMat)
{
- ScMatrix* pResMat = xResMat;
for (i = 0; i < nMinC; i++)
{
for (j = 0; j < nMinR; j++)
@@ -1126,12 +1133,12 @@ ScMatrixRef ScInterpreter::MatConcat(ScMatrix* pMat1, ScMatrix* pMat2)
if (!nErr)
nErr = pMat2->GetErrorIfNotString( i, j);
if (nErr)
- pResMat->PutError( nErr, i, j);
+ xResMat->PutError( nErr, i, j);
else
{
String aTmp( pMat1->GetString( *pFormatter, i, j));
aTmp += pMat2->GetString( *pFormatter, i, j);
- pResMat->PutString( aTmp, i, j);
+ xResMat->PutString( aTmp, i, j);
}
}
}
@@ -1232,12 +1239,12 @@ void ScInterpreter::CalculateAddSub(BOOL _bSub)
if ( _bSub )
{
MatrixSub aSub;
- pResMat = lcl_MatrixCalculation(aSub ,pMat1, pMat2,this);
+ pResMat = lcl_MatrixCalculation(aSub ,pMat1.get(), pMat2.get(),this);
}
else
{
MatrixAdd aAdd;
- pResMat = lcl_MatrixCalculation(aAdd ,pMat1, pMat2,this);
+ pResMat = lcl_MatrixCalculation(aAdd ,pMat1.get(), pMat2.get(),this);
}
if (!pResMat)
@@ -1351,41 +1358,43 @@ void ScInterpreter::ScAmpersand()
ScMatrixRef pResMat = GetNewMat(nC, nR);
if (pResMat)
{
- SCSIZE nCount = nC * nR;
if (nGlobalError)
{
- for ( SCSIZE i = 0; i < nCount; i++ )
- pResMat->PutError( nGlobalError, i);
+ for (SCSIZE i = 0; i < nC; ++i)
+ for (SCSIZE j = 0; j < nR; ++j)
+ pResMat->PutError( nGlobalError, i, j);
}
else if (bFlag)
{
- for ( SCSIZE i = 0; i < nCount; i++ )
- {
- USHORT nErr = pMat->GetErrorIfNotString( i);
- if (nErr)
- pResMat->PutError( nErr, i);
- else
+ for (SCSIZE i = 0; i < nC; ++i)
+ for (SCSIZE j = 0; j < nR; ++j)
{
- String aTmp( sStr);
- aTmp += pMat->GetString( *pFormatter, i);
- pResMat->PutString( aTmp, i);
+ USHORT nErr = pMat->GetErrorIfNotString( i, j);
+ if (nErr)
+ pResMat->PutError( nErr, i, j);
+ else
+ {
+ String aTmp( sStr);
+ aTmp += pMat->GetString( *pFormatter, i, j);
+ pResMat->PutString( aTmp, i, j);
+ }
}
- }
}
else
{
- for ( SCSIZE i = 0; i < nCount; i++ )
- {
- USHORT nErr = pMat->GetErrorIfNotString( i);
- if (nErr)
- pResMat->PutError( nErr, i);
- else
+ for (SCSIZE i = 0; i < nC; ++i)
+ for (SCSIZE j = 0; j < nR; ++j)
{
- String aTmp( pMat->GetString( *pFormatter, i));
- aTmp += sStr;
- pResMat->PutString( aTmp, i);
+ USHORT nErr = pMat->GetErrorIfNotString( i, j);
+ if (nErr)
+ pResMat->PutError( nErr, i, j);
+ else
+ {
+ String aTmp( pMat->GetString( *pFormatter, i, j));
+ aTmp += sStr;
+ pResMat->PutString( aTmp, i, j);
+ }
}
- }
}
PushMatrix(pResMat);
}
@@ -1443,7 +1452,7 @@ void ScInterpreter::ScMul()
if (pMat1 && pMat2)
{
MatrixMul aMul;
- ScMatrixRef pResMat = lcl_MatrixCalculation(aMul,pMat1, pMat2,this);
+ ScMatrixRef pResMat = lcl_MatrixCalculation(aMul,pMat1.get(), pMat2.get(),this);
if (!pResMat)
PushNoValue();
else
@@ -1518,7 +1527,7 @@ void ScInterpreter::ScDiv()
if (pMat1 && pMat2)
{
MatrixDiv aDiv;
- ScMatrixRef pResMat = lcl_MatrixCalculation(aDiv,pMat1, pMat2,this);
+ ScMatrixRef pResMat = lcl_MatrixCalculation(aDiv,pMat1.get(), pMat2.get(),this);
if (!pResMat)
PushNoValue();
else
@@ -1600,7 +1609,7 @@ void ScInterpreter::ScPow()
if (pMat1 && pMat2)
{
MatrixPow aPow;
- ScMatrixRef pResMat = lcl_MatrixCalculation(aPow,pMat1, pMat2,this);
+ ScMatrixRef pResMat = lcl_MatrixCalculation(aPow,pMat1.get(), pMat2.get(),this);
if (!pResMat)
PushNoValue();
else
@@ -1686,7 +1695,7 @@ void ScInterpreter::ScSumProduct()
PushNoValue();
return;
}
- ScMatrixRef pResMat = lcl_MatrixCalculation(aMul,pMat1, pMat,this);
+ ScMatrixRef pResMat = lcl_MatrixCalculation(aMul,pMat1.get(), pMat.get(),this);
if (!pResMat)
{
PushNoValue();
@@ -1782,7 +1791,7 @@ void ScInterpreter::ScSumXMY2()
return;
} // if (nC1 != nC2 || nR1 != nR2)
MatrixSub aSub;
- ScMatrixRef pResMat = lcl_MatrixCalculation(aSub,pMat1, pMat2,this);
+ ScMatrixRef pResMat = lcl_MatrixCalculation(aSub,pMat1.get(), pMat2.get(),this);
if (!pResMat)
{
PushNoValue();
@@ -1856,212 +1865,386 @@ void ScInterpreter::ScFrequency()
PushMatrix(pResMat);
}
-BOOL ScInterpreter::RGetVariances( ScMatrix* pV, ScMatrix* pX,
- SCSIZE nC, SCSIZE nR, BOOL bSwapColRow, BOOL bZeroConstant )
-{ // multiple Regression: Varianzen der Koeffizienten
- // bSwapColRow==TRUE : Koeffizienten in Zeilen statt Spalten angeordnet
- SCSIZE i, j, k;
- double sum;
- ScMatrixRef pC = GetNewMat(nC, nC);
- if ( !pC )
- return FALSE;
- // X transformiert mit X multipziert, X'X Matrix
- if ( !bZeroConstant )
- { // in der X-Designmatrix existiert ein gedachtes X0j==1
- if ( bSwapColRow )
- {
- for ( i=0; i<nC; i++ )
- {
- for ( j=0; j<nC; j++ )
- {
- sum = 0.0;
- for ( k=0; k<nR; k++ )
- {
- sum += (j==0 ? 1 : pX->GetDouble(k,j-1))
- * (i==0 ? 1 : pX->GetDouble(k,i-1));
- }
- pC->PutDouble(sum, i, j);
- }
- }
+namespace {
+
+// -----------------------------------------------------------------------------
+// Helper methods for LINEST/LOGEST and TREND/GROWTH
+// All matrices must already exist and have the needed size, no control tests
+// done. Those methodes, which names start with lcl_T, are adapted to case 3,
+// where Y (=observed values) is given as row.
+// Remember, ScMatrix matrices are zero based, index access (column,row).
+// -----------------------------------------------------------------------------
+
+// <A;B> over all elements; uses the matrices as vectors of length M
+double lcl_GetSumProduct(ScMatrixRef pMatA, ScMatrixRef pMatB, SCSIZE nM)
+{
+ double fSum = 0.0;
+ for (SCSIZE i=0; i<nM; i++)
+ fSum += pMatA->GetDouble(i) * pMatB->GetDouble(i);
+ return fSum;
+}
+
+// Special version for use within QR decomposition.
+// Euclidean norm of column index C starting in row index R;
+// matrix A has count N rows.
+double lcl_GetColumnEuclideanNorm(ScMatrixRef pMatA, SCSIZE nC, SCSIZE nR, SCSIZE nN)
+{
+ double fNorm = 0.0;
+ for (SCSIZE row=nR; row<nN; row++)
+ fNorm += (pMatA->GetDouble(nC,row)) * (pMatA->GetDouble(nC,row));
+ return sqrt(fNorm);
+}
+
+// Euclidean norm of row index R starting in column index C;
+// matrix A has count N columns.
+double lcl_TGetColumnEuclideanNorm(ScMatrixRef pMatA, SCSIZE nR, SCSIZE nC, SCSIZE nN)
+{
+ double fNorm = 0.0;
+ for (SCSIZE col=nC; col<nN; col++)
+ fNorm += (pMatA->GetDouble(col,nR)) * (pMatA->GetDouble(col,nR));
+ return sqrt(fNorm);
+}
+
+// Special version for use within QR decomposition.
+// Maximum norm of column index C starting in row index R;
+// matrix A has count N rows.
+double lcl_GetColumnMaximumNorm(ScMatrixRef pMatA, SCSIZE nC, SCSIZE nR, SCSIZE nN)
+{
+ double fNorm = 0.0;
+ for (SCSIZE row=nR; row<nN; row++)
+ if (fNorm < fabs(pMatA->GetDouble(nC,row)))
+ fNorm = fabs(pMatA->GetDouble(nC,row));
+ return fNorm;
+}
+
+// Maximum norm of row index R starting in col index C;
+// matrix A has count N columns.
+double lcl_TGetColumnMaximumNorm(ScMatrixRef pMatA, SCSIZE nR, SCSIZE nC, SCSIZE nN)
+{
+ double fNorm = 0.0;
+ for (SCSIZE col=nC; col<nN; col++)
+ if (fNorm < fabs(pMatA->GetDouble(col,nR)))
+ fNorm = fabs(pMatA->GetDouble(col,nR));
+ return fNorm;
+}
+
+// Special version for use within QR decomposition.
+// <A(Ca);B(Cb)> starting in row index R;
+// Ca and Cb are indices of columns, matrices A and B have count N rows.
+double lcl_GetColumnSumProduct(ScMatrixRef pMatA, SCSIZE nCa,
+ ScMatrixRef pMatB, SCSIZE nCb, SCSIZE nR, SCSIZE nN)
+{
+ double fResult = 0.0;
+ for (SCSIZE row=nR; row<nN; row++)
+ fResult += pMatA->GetDouble(nCa,row) * pMatB->GetDouble(nCb,row);
+ return fResult;
+}
+
+// <A(Ra);B(Rb)> starting in column index C;
+// Ra and Rb are indices of rows, matrices A and B have count N columns.
+double lcl_TGetColumnSumProduct(ScMatrixRef pMatA, SCSIZE nRa,
+ ScMatrixRef pMatB, SCSIZE nRb, SCSIZE nC, SCSIZE nN)
+{
+ double fResult = 0.0;
+ for (SCSIZE col=nC; col<nN; col++)
+ fResult += pMatA->GetDouble(col,nRa) * pMatB->GetDouble(col,nRb);
+ return fResult;
+}
+
+double lcl_GetSign(double fValue)
+{
+ if (fValue < 0.0)
+ return -1.0;
+ else if (fValue > 0.0)
+ return 1.0;
+ else
+ return 0.0;
+}
+
+/* Calculates a QR decomposition with Householder reflection.
+ * For each NxK matrix A exists a decomposition A=Q*R with an orthogonal
+ * NxN matrix Q and a NxK matrix R.
+ * Q=H1*H2*...*Hk with Householder matrices H. Such a householder matrix can
+ * be build from a vector u by H=I-(2/u'u)*(u u'). This vectors u are returned
+ * in the columns of matrix A, overwriting the old content.
+ * The matrix R has a quadric upper part KxK with values in the upper right
+ * triangle and zeros in all other elements. Here the diagonal elements of R
+ * are stored in the vector R and the other upper right elements in the upper
+ * right of the matrix A.
+ * The function returns false, if calculation breaks. But because of round-off
+ * errors singularity is often not detected.
+ */
+bool lcl_CalculateQRdecomposition(ScMatrixRef pMatA,
+ ::std::vector< double>& pVecR, SCSIZE nK, SCSIZE nN)
+{
+ double fScale ;
+ double fEuclid ;
+ double fFactor ;
+ double fSignum ;
+ double fSum ;
+ // ScMatrix matrices are zero based, index access (column,row)
+ for (SCSIZE col = 0; col <nK; col++)
+ {
+ // calculate vector u of the householder transformation
+ fScale = lcl_GetColumnMaximumNorm(pMatA, col, col, nN);
+ if (fScale == 0.0)
+ {
+ // A is singular
+ return false;
}
- else
+ for (SCSIZE row = col; row <nN; row++)
+ pMatA->PutDouble( pMatA->GetDouble(col,row)/fScale, col, row);
+
+ fEuclid = lcl_GetColumnEuclideanNorm(pMatA, col, col, nN);
+ fFactor = 1.0/fEuclid/(fEuclid + fabs(pMatA->GetDouble(col,col)));
+ fSignum = lcl_GetSign(pMatA->GetDouble(col,col));
+ pMatA->PutDouble( pMatA->GetDouble(col,col) + fSignum*fEuclid, col,col);
+ pVecR[col] = -fSignum * fScale * fEuclid;
+
+ // apply Householder transformation to A
+ for (SCSIZE c=col+1; c<nK; c++)
{
- for ( i=0; i<nC; i++ )
- {
- for ( j=0; j<nC; j++ )
- {
- sum = 0.0;
- for ( k=0; k<nR; k++ )
- {
- sum += (j==0 ? 1 : pX->GetDouble(j-1,k))
- * (i==0 ? 1 : pX->GetDouble(i-1,k));
- }
- pC->PutDouble(sum, i, j);
- }
- }
+ fSum =lcl_GetColumnSumProduct(pMatA, col, pMatA, c, col, nN);
+ for (SCSIZE row = col; row <nN; row++)
+ pMatA->PutDouble( pMatA->GetDouble(c,row) - fSum * fFactor * pMatA->GetDouble(col,row), c, row);
}
}
- else
- {
- if ( bSwapColRow )
- {
- for ( i=0; i<nC; i++ )
- {
- for ( j=0; j<nC; j++ )
- {
- sum = 0.0;
- for ( k=0; k<nR; k++ )
- {
- sum += pX->GetDouble(k,j) * pX->GetDouble(k,i);
- }
- pC->PutDouble(sum, i, j);
- }
- }
+ return true;
+}
+
+// same with transposed matrix A, N is count of columns, K count of rows
+bool lcl_TCalculateQRdecomposition(ScMatrixRef pMatA,
+ ::std::vector< double>& pVecR, SCSIZE nK, SCSIZE nN)
+{
+ double fScale ;
+ double fEuclid ;
+ double fFactor ;
+ double fSignum ;
+ double fSum ;
+ // ScMatrix matrices are zero based, index access (column,row)
+ for (SCSIZE row = 0; row <nK; row++)
+ {
+ // calculate vector u of the householder transformation
+ fScale = lcl_TGetColumnMaximumNorm(pMatA, row, row, nN);
+ if (fScale == 0.0)
+ {
+ // A is singular
+ return false;
}
- else
+ for (SCSIZE col = row; col <nN; col++)
+ pMatA->PutDouble( pMatA->GetDouble(col,row)/fScale, col, row);
+
+ fEuclid = lcl_TGetColumnEuclideanNorm(pMatA, row, row, nN);
+ fFactor = 1.0/fEuclid/(fEuclid + fabs(pMatA->GetDouble(row,row)));
+ fSignum = lcl_GetSign(pMatA->GetDouble(row,row));
+ pMatA->PutDouble( pMatA->GetDouble(row,row) + fSignum*fEuclid, row,row);
+ pVecR[row] = -fSignum * fScale * fEuclid;
+
+ // apply Householder transformation to A
+ for (SCSIZE r=row+1; r<nK; r++)
{
- for ( i=0; i<nC; i++ )
- {
- for ( j=0; j<nC; j++ )
- {
- sum = 0.0;
- for ( k=0; k<nR; k++ )
- {
- sum += pX->GetDouble(j,k) * pX->GetDouble(i,k);
- }
- pC->PutDouble(sum, i, j);
- }
- }
+ fSum =lcl_TGetColumnSumProduct(pMatA, row, pMatA, r, row, nN);
+ for (SCSIZE col = row; col <nN; col++)
+ pMatA->PutDouble(
+ pMatA->GetDouble(col,r) - fSum * fFactor * pMatA->GetDouble(col,row), col, r);
}
}
- // X'X Inverse
- BOOL bOk = TRUE;
- USHORT nErr = nGlobalError;
- PushMatrix(pC);
- BYTE nTmp = cPar;
- cPar = 1;
- ScMatInv();
- cPar = nTmp;
- if ( nGlobalError )
- {
- nGlobalError = nErr;
- bOk = FALSE;
+ return true;
+}
+
+
+/* Applies a Householder transformation to a column vector Y with is given as
+ * Nx1 Matrix. The Vektor u, from which the Householder transformation is build,
+ * is the column part in matrix A, with column index C, starting with row
+ * index C. A is the result of the QR decomposition as obtained from
+ * lcl_CaluclateQRdecomposition.
+ */
+void lcl_ApplyHouseholderTransformation(ScMatrixRef pMatA, SCSIZE nC,
+ ScMatrixRef pMatY, SCSIZE nN)
+{
+ // ScMatrix matrices are zero based, index access (column,row)
+ double fDenominator = lcl_GetColumnSumProduct(pMatA, nC, pMatA, nC, nC, nN);
+ double fNumerator = lcl_GetColumnSumProduct(pMatA, nC, pMatY, 0, nC, nN);
+ double fFactor = 2.0 * (fNumerator/fDenominator);
+ for (SCSIZE row = nC; row < nN; row++)
+ pMatY->PutDouble(
+ pMatY->GetDouble(row) - fFactor * pMatA->GetDouble(nC,row), row);
+}
+
+// Same with transposed matrices A and Y.
+void lcl_TApplyHouseholderTransformation(ScMatrixRef pMatA, SCSIZE nR,
+ ScMatrixRef pMatY, SCSIZE nN)
+{
+ // ScMatrix matrices are zero based, index access (column,row)
+ double fDenominator = lcl_TGetColumnSumProduct(pMatA, nR, pMatA, nR, nR, nN);
+ double fNumerator = lcl_TGetColumnSumProduct(pMatA, nR, pMatY, 0, nR, nN);
+ double fFactor = 2.0 * (fNumerator/fDenominator);
+ for (SCSIZE col = nR; col < nN; col++)
+ pMatY->PutDouble(
+ pMatY->GetDouble(col) - fFactor * pMatA->GetDouble(col,nR), col);
+}
+
+/* Solve for X in R*X=S using back substitution. The solution X overwrites S.
+ * Uses R from the result of the QR decomposition of a NxK matrix A.
+ * S is a column vector given as matrix, with at least elements on index
+ * 0 to K-1; elements on index>=K are ignored. Vector R must not have zero
+ * elements, no check is done.
+ */
+void lcl_SolveWithUpperRightTriangle(ScMatrixRef pMatA,
+ ::std::vector< double>& pVecR, ScMatrixRef pMatS,
+ SCSIZE nK, bool bIsTransposed)
+{
+ // ScMatrix matrices are zero based, index access (column,row)
+ double fSum;
+ SCSIZE row;
+ // SCSIZE is never negative, therefore test with rowp1=row+1
+ for (SCSIZE rowp1 = nK; rowp1>0; rowp1--)
+ {
+ row = rowp1-1;
+ fSum = pMatS->GetDouble(row);
+ for (SCSIZE col = rowp1; col<nK ; col++)
+ if (bIsTransposed)
+ fSum -= pMatA->GetDouble(row,col) * pMatS->GetDouble(col);
+ else
+ fSum -= pMatA->GetDouble(col,row) * pMatS->GetDouble(col);
+ pMatS->PutDouble( fSum / pVecR[row] , row);
}
- else
+}
+
+/* Solve for X in R' * X= T using forward substitution. The solution X
+ * overwrites T. Uses R from the result of the QR decomposition of a NxK
+ * matrix A. T is a column vectors given as matrix, with at least elements on
+ * index 0 to K-1; elements on index>=K are ignored. Vector R must not have
+ * zero elements, no check is done.
+ */
+void lcl_SolveWithLowerLeftTriangle(ScMatrixRef pMatA,
+ ::std::vector< double>& pVecR, ScMatrixRef pMatT,
+ SCSIZE nK, bool bIsTransposed)
+{
+ // ScMatrix matrices are zero based, index access (column,row)
+ double fSum;
+ for (SCSIZE row = 0; row < nK; row++)
{
- // #i61216# ScMatInv no longer modifies the original matrix, so just calling Pop() doesn't work
- pC = PopMatrix();
- if ( pC.Is() )
+ fSum = pMatT -> GetDouble(row);
+ for (SCSIZE col=0; col < row; col++)
{
- // Varianzen auf der Diagonalen, andere sind Kovarianzen
- for (i = 0; i < nC; i++)
- pV->PutDouble(pC->GetDouble(i, i), i);
+ if (bIsTransposed)
+ fSum -= pMatA->GetDouble(col,row) * pMatT->GetDouble(col);
+ else
+ fSum -= pMatA->GetDouble(row,col) * pMatT->GetDouble(col);
}
+ pMatT->PutDouble( fSum / pVecR[row] , row);
}
- return bOk;
}
-// -----------------------------------------------------------------------------
-void ScInterpreter::Calculate(ScMatrixRef& pResMat,ScMatrixRef& pE,ScMatrixRef& pQ,ScMatrixRef& pV,ScMatrixRef& pMatX,BOOL bConstant,SCSIZE N,SCSIZE M,BYTE nCase)
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::RGetVariances" );
- // pE[0] := Sigma i=1...n (Yi)
- // pE[k] := Sigma i=1...n (Xki*Yi)
- // pE[M+1] := Sigma i=1...n (Yi**2)
- // pQ[0,M+1]:= B
- // pQ[k,M+1]:= Mk
- double fSQR, fSQT, fSQE;
- fSQT = pE->GetDouble(M+1)
- - pE->GetDouble(0) * pE->GetDouble(0) / (double)N;
- fSQR = pE->GetDouble(M+1);
- SCSIZE i, j;
- for (i = 0; i < M+1; i++)
- fSQR -= pQ->GetDouble(i, M+1) * pE->GetDouble(i);
- fSQE = fSQT-fSQR;
- // r2 (Bestimmtheitsmass, 0...1)
- if (fSQT == 0.0)
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), 0, 2);
- else
- pResMat->PutDouble (fSQE/fSQT, 0, 2);
- // ssReg (Regressions-Quadratsumme)
- pResMat->PutDouble(fSQE, 0, 4);
- // ssResid (Residual-Quadratsumme, Summe der Abweichungsquadrate)
- pResMat->PutDouble(fSQR, 1, 4);
- for (i = 2; i < 5; i++)
- for (j = 2; j < M+1; j++)
- pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), j, i);
- if (bConstant)
- {
- if (N-M-1 == 0)
- {
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), 1, 2);
- for (i = 0; i < M+1; i++)
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), i, 1);
- }
- else
- {
- double fSE2 = fSQR/(N-M-1);
- // sey (Standardfehler des Schaetzwertes y)
- pResMat->PutDouble(sqrt(fSE2), 1, 2);
- // sen...se1 (Standardfehler der Koeffizienten mn...m1)
- // seb (Standardfehler der Konstanten b)
- if ( RGetVariances( pV, pMatX, M+1, N, nCase != 2, FALSE ) )
- {
- for (i = 0; i < M+1; i++)
- pResMat->PutDouble( sqrt(fSE2 * pV->GetDouble(i)), M-i, 1 );
- }
+
+/* Calculates Z = R * B
+ * R is given in matrix A and vector VecR as obtained from the QR
+ * decompostion in lcl_CalculateQRdecomposition. B and Z are column vectors
+ * given as matrix with at least index 0 to K-1; elements on index>=K are
+ * not used.
+ */
+void lcl_ApplyUpperRightTriangle(ScMatrixRef pMatA,
+ ::std::vector< double>& pVecR, ScMatrixRef pMatB,
+ ScMatrixRef pMatZ, SCSIZE nK, bool bIsTransposed)
+{
+ // ScMatrix matrices are zero based, index access (column,row)
+ double fSum;
+ for (SCSIZE row = 0; row < nK; row++)
+ {
+ fSum = pVecR[row] * pMatB->GetDouble(row);
+ for (SCSIZE col = row+1; col < nK; col++)
+ if (bIsTransposed)
+ fSum += pMatA->GetDouble(row,col) * pMatB->GetDouble(col);
else
- {
- for (i = 0; i < M+1; i++)
- pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), i, 1);
- }
- }
- // F (F-Statistik)
- if (fSQR == 0.0)
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), 0, 3);
- else
- pResMat->PutDouble(((double)(N-M-1))*fSQE/fSQR/((double)M),0, 3);
- // df (Freiheitsgrad)
- pResMat->PutDouble(((double)(N-M-1)), 1, 3);
+ fSum += pMatA->GetDouble(col,row) * pMatB->GetDouble(col);
+ pMatZ->PutDouble( fSum, row);
}
- else
+}
+
+
+
+double lcl_GetMeanOverAll(ScMatrixRef pMat, SCSIZE nN)
+{
+ double fSum = 0.0;
+ for (SCSIZE i=0 ; i<nN; i++)
+ fSum += pMat->GetDouble(i);
+ return fSum/static_cast<double>(nN);
+}
+
+// Calculates means of the columns of matrix X. X is a RxC matrix;
+// ResMat is a 1xC matrix (=row).
+void lcl_CalculateColumnMeans(ScMatrixRef pX, ScMatrixRef pResMat,
+ SCSIZE nC, SCSIZE nR)
+{
+ double fSum = 0.0;
+ for (SCSIZE i=0; i < nC; i++)
{
- if (N-M == 0)
- {
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), 1, 2);
- for (i = 0; i < M+1; i++)
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), i, 1);
- }
- else
- {
- double fSE2 = fSQR/(N-M);
- pResMat->PutDouble(sqrt(fSE2), 1, 2);
- if ( RGetVariances( pV, pMatX, M, N, nCase != 2, TRUE ) )
- {
- for (i = 0; i < M; i++)
- pResMat->PutDouble( sqrt(fSE2 * pV->GetDouble(i)), M-i-1, 1 );
- pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), M, 1);
- }
- else
- {
- for (i = 0; i < M+1; i++)
- pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), i, 1);
- }
- }
- if (fSQR == 0.0)
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), 0, 3);
- else
- pResMat->PutDouble(((double)(N-M))*fSQE/fSQR/((double)M),0, 3);
- pResMat->PutDouble(((double)(N-M)), 1, 3);
+ fSum =0.0;
+ for (SCSIZE k=0; k < nR; k++)
+ fSum += pX->GetDouble(i,k); // GetDouble(Column,Row)
+ pResMat ->PutDouble( fSum/static_cast<double>(nR),i);
}
}
-void ScInterpreter::ScRGP()
+// Calculates means of the rows of matrix X. X is a RxC matrix;
+// ResMat is a Rx1 matrix (=column).
+void lcl_CalculateRowMeans(ScMatrixRef pX, ScMatrixRef pResMat,
+ SCSIZE nC, SCSIZE nR)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScRGP" );
- CalulateRGPRKP(FALSE);
+ double fSum = 0.0;
+ for (SCSIZE k=0; k < nR; k++)
+ {
+ fSum =0.0;
+ for (SCSIZE i=0; i < nC; i++)
+ fSum += pX->GetDouble(i,k); // GetDouble(Column,Row)
+ pResMat ->PutDouble( fSum/static_cast<double>(nC),k);
+ }
+}
+
+void lcl_CalculateColumnsDelta(ScMatrixRef pMat, ScMatrixRef pColumnMeans,
+ SCSIZE nC, SCSIZE nR)
+{
+ for (SCSIZE i = 0; i < nC; i++)
+ for (SCSIZE k = 0; k < nR; k++)
+ pMat->PutDouble( ::rtl::math::approxSub
+ (pMat->GetDouble(i,k) , pColumnMeans->GetDouble(i) ) , i, k);
}
-bool ScInterpreter::CheckMatrix(BOOL _bLOG,BOOL _bTrendGrowth,BYTE& nCase,SCSIZE& nCX,SCSIZE& nCY,SCSIZE& nRX,SCSIZE& nRY,SCSIZE& M,SCSIZE& N,ScMatrixRef& pMatX,ScMatrixRef& pMatY)
+
+void lcl_CalculateRowsDelta(ScMatrixRef pMat, ScMatrixRef pRowMeans,
+ SCSIZE nC, SCSIZE nR)
{
+ for (SCSIZE k = 0; k < nR; k++)
+ for (SCSIZE i = 0; i < nC; i++)
+ pMat->PutDouble( ::rtl::math::approxSub
+ ( pMat->GetDouble(i,k) , pRowMeans->GetDouble(k) ) , i, k);
+}
+
+// Case1 = simple regression
+// MatX = X - MeanX, MatY = Y - MeanY, y - haty = (y - MeanY) - (haty - MeanY)
+// = (y-MeanY)-((slope*x+a)-(slope*MeanX+a)) = (y-MeanY)-slope*(x-MeanX)
+double lcl_GetSSresid(ScMatrixRef pMatX, ScMatrixRef pMatY, double fSlope,
+ SCSIZE nN)
+{
+ double fSum = 0.0;
+ double fTemp = 0.0;
+ for (SCSIZE i=0; i<nN; i++)
+ {
+ fTemp = pMatY->GetDouble(i) - fSlope * pMatX->GetDouble(i);
+ fSum += fTemp * fTemp;
+ }
+ return fSum;
+}
+
+}
+
+// Fill default values in matrix X, transform Y to log(Y) in case LOGEST|GROWTH,
+// determine sizes of matrices X and Y, determine kind of regression, clone
+// Y in case LOGEST|GROWTH, if constant.
+bool ScInterpreter::CheckMatrix(bool _bLOG, BYTE& nCase, SCSIZE& nCX,
+ SCSIZE& nCY, SCSIZE& nRX, SCSIZE& nRY, SCSIZE& M,
+ SCSIZE& N, ScMatrixRef& pMatX, ScMatrixRef& pMatY)
+{
+
nCX = 0;
nCY = 0;
nRX = 0;
@@ -2107,7 +2290,11 @@ bool ScInterpreter::CheckMatrix(BOOL _bLOG,BOOL _bTrendGrowth,BYTE& nCase,SCSIZE
return false;
}
if (nCX == nCY && nRX == nRY)
- nCase = 1; // einfache Regression
+ {
+ nCase = 1; // simple regression
+ M = 1;
+ N = nCountY;
+ }
else if (nCY != 1 && nRY != 1)
{
PushIllegalArgument();
@@ -2122,7 +2309,7 @@ bool ScInterpreter::CheckMatrix(BOOL _bLOG,BOOL _bTrendGrowth,BYTE& nCase,SCSIZE
}
else
{
- nCase = 2; // zeilenweise
+ nCase = 2; // Y is column
N = nRY;
M = nCX;
}
@@ -2134,7 +2321,7 @@ bool ScInterpreter::CheckMatrix(BOOL _bLOG,BOOL _bTrendGrowth,BYTE& nCase,SCSIZE
}
else
{
- nCase = 3; // spaltenweise
+ nCase = 3; // Y is row
N = nCY;
M = nRX;
}
@@ -2142,460 +2329,644 @@ bool ScInterpreter::CheckMatrix(BOOL _bLOG,BOOL _bTrendGrowth,BYTE& nCase,SCSIZE
else
{
pMatX = GetNewMat(nCY, nRY);
- if ( _bTrendGrowth )
- {
nCX = nCY;
nRX = nRY;
- }
if (!pMatX)
{
PushIllegalArgument();
return false;
}
for ( SCSIZE i = 1; i <= nCountY; i++ )
- pMatX->PutDouble((double)i, i-1);
+ pMatX->PutDouble(static_cast<double>(i), i-1);
nCase = 1;
+ N = nCountY;
+ M = 1;
}
return true;
}
-void ScInterpreter::CalulateRGPRKP(BOOL _bRKP)
+
+// -----------------------------------------------------------------------------
+
+// LINEST
+void ScInterpreter::ScRGP()
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScRGP" );
+ CalulateRGPRKP(false);
+}
+
+// LOGEST
+void ScInterpreter::ScRKP()
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScRKP" );
+ CalulateRGPRKP(true);
+}
+
+void ScInterpreter::CalulateRGPRKP(bool _bRKP)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::CheckMatrix" );
BYTE nParamCount = GetByte();
- if ( !MustHaveParamCount( nParamCount, 1, 4 ) )
+ if (!MustHaveParamCount( nParamCount, 1, 4 ))
return;
- BOOL bConstant, bStats;
+ bool bConstant, bStats;
+
+ // optional forth parameter
if (nParamCount == 4)
bStats = GetBool();
else
- bStats = FALSE;
+ bStats = false;
+
+ // The third parameter may not be missing in ODF, if the forth parameter
+ // is present. But Excel allows it with default true, we too.
if (nParamCount >= 3)
- bConstant = GetBool();
+ {
+ if (IsMissing())
+ {
+ Pop();
+ bConstant = true;
+// PushIllegalParameter(); if ODF behavior is desired
+// return;
+ }
+ else
+ bConstant = GetBool();
+ }
else
- bConstant = TRUE;
+ bConstant = true;
+
ScMatrixRef pMatX;
- ScMatrixRef pMatY;
if (nParamCount >= 2)
- pMatX = GetMatrix();
+ {
+ if (IsMissing())
+ { //In ODF1.2 empty second parameter (which is two ;; ) is allowed
+ Pop();
+ pMatX = NULL;
+ }
+ else
+ {
+ pMatX = GetMatrix();
+ }
+ }
else
pMatX = NULL;
+
+ ScMatrixRef pMatY;
pMatY = GetMatrix();
if (!pMatY)
{
PushIllegalParameter();
return;
- } // if (!pMatY)
- BYTE nCase; // 1 = normal, 2,3 = mehrfach
- SCSIZE nCX, nCY;
- SCSIZE nRX, nRY;
- SCSIZE M = 0, N = 0;
- if ( !CheckMatrix(_bRKP,FALSE,nCase,nCX,nCY,nRX,nRY,M,N,pMatX,pMatY) )
+ }
+
+ // 1 = simple; 2 = multiple with Y as column; 3 = multiple with Y as row
+ BYTE nCase;
+
+ SCSIZE nCX, nCY; // number of columns
+ SCSIZE nRX, nRY; //number of rows
+ SCSIZE K = 0, N = 0; // K=number of variables X, N=number of data samples
+ if (!CheckMatrix(_bRKP,nCase,nCX,nCY,nRX,nRY,K,N,pMatX,pMatY))
+ {
+ PushIllegalParameter();
+ return;
+ }
+
+ // Enough data samples?
+ if ((bConstant && (N<K+1)) || (!bConstant && (N<K)) || (N<1) || (K<1))
+ {
+ PushIllegalParameter();
return;
+ }
ScMatrixRef pResMat;
- if (nCase == 1)
+ if (bStats)
+ pResMat = GetNewMat(K+1,5);
+ else
+ pResMat = GetNewMat(K+1,1);
+ if (!pResMat)
{
- if (!bStats)
- pResMat = GetNewMat(2,1);
- else
- pResMat = GetNewMat(2,5);
- if (!pResMat)
+ PushError(errCodeOverflow);
+ return;
+ }
+ // Fill unused cells in pResMat; order (column,row)
+ if (bStats)
+ {
+ for (SCSIZE i=2; i<K+1; i++)
{
- PushIllegalArgument();
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), i, 2 );
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), i, 3 );
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), i, 4 );
+ }
+ }
+
+ // Uses sum(x-MeanX)^2 and not [sum x^2]-N * MeanX^2 in case bConstant.
+ // Clone constant matrices, so that Mat = Mat - Mean is possible.
+ double fMeanY = 0.0;
+ if (bConstant)
+ {
+ ScMatrixRef pNewX = pMatX->CloneIfConst();
+ ScMatrixRef pNewY = pMatY->CloneIfConst();
+ if (!pNewX || !pNewY)
+ {
+ PushError(errCodeOverflow);
return;
}
- double fCount = 0.0;
- double fSumX = 0.0;
- double fSumSqrX = 0.0;
- double fSumY = 0.0;
- double fSumSqrY = 0.0;
- double fSumXY = 0.0;
- double fValX, fValY;
- for (SCSIZE i = 0; i < nCY; i++)
- for (SCSIZE j = 0; j < nRY; j++)
- {
- fValX = pMatX->GetDouble(i,j);
- fValY = pMatY->GetDouble(i,j);
- fSumX += fValX;
- fSumSqrX += fValX * fValX;
- fSumY += fValY;
- fSumSqrY += fValY * fValY;
- fSumXY += fValX*fValY;
- fCount++;
- }
- if (fCount < 1.0)
- PushNoValue();
- else
+ pMatX = pNewX;
+ pMatY = pNewY;
+ // DeltaY is possible here; DeltaX depends on nCase, so later
+ fMeanY = lcl_GetMeanOverAll(pMatY, N);
+ for (SCSIZE i=0; i<N; i++)
{
- double f1 = fCount*fSumXY-fSumX*fSumY;
- double fX = fCount*fSumSqrX-fSumX*fSumX;
- double b, m;
- if (bConstant)
+ pMatY->PutDouble( ::rtl::math::approxSub(pMatY->GetDouble(i),fMeanY), i );
+ }
+ }
+
+ if (nCase==1)
+ {
+ // calculate simple regression
+ double fMeanX = 0.0;
+ if (bConstant)
+ { // Mat = Mat - Mean
+ fMeanX = lcl_GetMeanOverAll(pMatX, N);
+ for (SCSIZE i=0; i<N; i++)
{
- b = fSumY/fCount - f1/fX*fSumX/fCount;
- m = f1/fX;
+ pMatX->PutDouble( ::rtl::math::approxSub(pMatX->GetDouble(i),fMeanX), i );
}
- else
- {
- b = 0.0;
- m = fSumXY/fSumSqrX;
+ }
+ double fSumXY = lcl_GetSumProduct(pMatX,pMatY,N);
+ double fSumX2 = lcl_GetSumProduct(pMatX,pMatX,N);
+ if (fSumX2==0.0)
+ {
+ PushNoValue(); // all x-values are identical
+ return;
+ }
+ double fSlope = fSumXY / fSumX2;
+ double fIntercept = 0.0;
+ if (bConstant)
+ fIntercept = fMeanY - fSlope * fMeanX;
+ pResMat->PutDouble(_bRKP ? exp(fIntercept) : fIntercept, 1, 0); //order (column,row)
+ pResMat->PutDouble(_bRKP ? exp(fSlope) : fSlope, 0, 0);
+
+ if (bStats)
+ {
+ double fSSreg = fSlope * fSlope * fSumX2;
+ pResMat->PutDouble(fSSreg, 0, 4);
+
+ double fDegreesFreedom =static_cast<double>( (bConstant) ? N-2 : N-1 );
+ pResMat->PutDouble(fDegreesFreedom, 1, 3);
+
+ double fSSresid = lcl_GetSSresid(pMatX,pMatY,fSlope,N);
+ pResMat->PutDouble(fSSresid, 1, 4);
+
+ if (fDegreesFreedom == 0.0 || fSSresid == 0.0 || fSSreg == 0.0)
+ { // exact fit; test SSreg too, because SSresid might be
+ // unequal zero due to round of errors
+ pResMat->PutDouble(0.0, 1, 4); // SSresid
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), 0, 3); // F
+ pResMat->PutDouble(0.0, 1, 2); // RMSE
+ pResMat->PutDouble(0.0, 0, 1); // SigmaSlope
+ if (bConstant)
+ pResMat->PutDouble(0.0, 1, 1); //SigmaIntercept
+ else
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), 1, 1);
+ pResMat->PutDouble(1.0, 0, 2); // R^2
}
- pResMat->PutDouble(_bRKP ? exp(m) : m, 0, 0);
- pResMat->PutDouble(_bRKP ? exp(b) : b, 1, 0);
- if (bStats)
+ else
{
- double fY = fCount*fSumSqrY-fSumY*fSumY;
- double fSyx = fSumSqrY-b*fSumY-m*fSumXY;
- double fR2 = f1*f1/(fX*fY);
- pResMat->PutDouble (fR2, 0, 2);
- if (fCount < 3.0)
+ double fFstatistic = (fSSreg / static_cast<double>(K))
+ / (fSSresid / fDegreesFreedom);
+ pResMat->PutDouble(fFstatistic, 0, 3);
+
+ // standard error of estimate
+ double fRMSE = sqrt(fSSresid / fDegreesFreedom);
+ pResMat->PutDouble(fRMSE, 1, 2);
+
+ double fSigmaSlope = fRMSE / sqrt(fSumX2);
+ pResMat->PutDouble(fSigmaSlope, 0, 1);
+
+ if (bConstant)
{
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), 0, 1 );
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), 1, 1 );
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), 1, 2 );
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), 0, 3 );
+ double fSigmaIntercept = fRMSE
+ * sqrt(fMeanX*fMeanX/fSumX2 + 1.0/static_cast<double>(N));
+ pResMat->PutDouble(fSigmaIntercept, 1, 1);
}
else
{
- pResMat->PutDouble(sqrt(fSyx*fCount/(fX*(fCount-2.0))), 0, 1);
- pResMat->PutDouble(sqrt(fSyx*fSumSqrX/fX/(fCount-2.0)), 1, 1);
- pResMat->PutDouble(
- sqrt((fCount*fSumSqrY - fSumY*fSumY - f1*f1/fX)/
- (fCount*(fCount-2.0))), 1, 2);
- if (fR2 == 1.0)
- pResMat->PutString(ScGlobal::GetRscString(STR_NO_VALUE), 0, 3 );
- else
- pResMat->PutDouble(fR2*(fCount-2.0)/(1.0-fR2), 0, 3);
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), 1, 1);
}
- pResMat->PutDouble(((double)(nCY*nRY))-2.0, 1, 3);
- pResMat->PutDouble(fY/fCount-fSyx, 0, 4);
- pResMat->PutDouble(fSyx, 1, 4);
+
+ double fR2 = fSSreg / (fSSreg + fSSresid);
+ pResMat->PutDouble(fR2, 0, 2);
}
}
- } // if (nCase == 1)
- if ( nCase != 1 )
+ PushMatrix(pResMat);
+ }
+ else // calculate multiple regression;
{
- SCSIZE i, j, k;
- if (!bStats)
- pResMat = GetNewMat(M+1,1);
- else
- pResMat = GetNewMat(M+1,5);
- if (!pResMat)
+ // Uses a QR decomposition X = QR. The solution B = (X'X)^(-1) * X' * Y
+ // becomes B = R^(-1) * Q' * Y
+ if (nCase ==2) // Y is column
{
- PushIllegalArgument();
- return;
- }
- ScMatrixRef pQ = GetNewMat(M+1, M+2);
- ScMatrixRef pE = GetNewMat(M+2, 1);
- ScMatrixRef pV = GetNewMat(M+1, 1);
- pE->PutDouble(0.0, M+1);
- pQ->FillDouble(0.0, 0, 0, M, M+1);
- if (nCase == 2)
- {
- for (k = 0; k < N; k++)
- {
- double Yk = pMatY->GetDouble(k);
- pE->PutDouble( pE->GetDouble(M+1)+Yk*Yk, M+1 );
- double sumYk = pQ->GetDouble(0, M+1) + Yk;
- pQ->PutDouble( sumYk, 0, M+1 );
- pE->PutDouble( sumYk, 0 );
- for (i = 0; i < M; i++)
- {
- double Xik = pMatX->GetDouble(i,k);
- double sumXik = pQ->GetDouble(0, i+1) + Xik;
- pQ->PutDouble( sumXik, 0, i+1);
- pQ->PutDouble( sumXik, i+1, 0);
- double sumXikYk = pQ->GetDouble(i+1, M+1) + Xik * Yk;
- pQ->PutDouble( sumXikYk, i+1, M+1);
- pE->PutDouble( sumXikYk, i+1);
- for (j = i; j < M; j++)
- {
- const double fVal = pMatX->GetDouble(j,k);
- double sumXikXjk = pQ->GetDouble(j+1, i+1) +
- Xik * fVal;
- pQ->PutDouble( sumXikXjk, j+1, i+1);
- pQ->PutDouble( sumXikXjk, i+1, j+1);
- }
- }
+ ::std::vector< double> aVecR(N); // for QR decomposition
+ // Enough memory for needed matrices?
+ ScMatrixRef pMeans = GetNewMat(K, 1); // mean of each column
+ ScMatrixRef pMatZ; // for Q' * Y , inter alia
+ if (bStats)
+ pMatZ = pMatY->Clone(); // Y is used in statistic, keep it
+ else
+ pMatZ = pMatY; // Y can be overwritten
+ ScMatrixRef pSlopes = GetNewMat(1,K); // from b1 to bK
+ if (!pMeans || !pMatZ || !pSlopes)
+ {
+ PushError(errCodeOverflow);
+ return;
}
- }
- else
- {
- for (k = 0; k < N; k++)
+ if (bConstant)
{
- double Yk = pMatY->GetDouble(k);
- pE->PutDouble( pE->GetDouble(M+1)+Yk*Yk, M+1 );
- double sumYk = pQ->GetDouble(0, M+1) + Yk;
- pQ->PutDouble( sumYk, 0, M+1 );
- pE->PutDouble( sumYk, 0 );
- for (i = 0; i < M; i++)
- {
- double Xki = pMatX->GetDouble(k,i);
- double sumXki = pQ->GetDouble(0, i+1) + Xki;
- pQ->PutDouble( sumXki, 0, i+1);
- pQ->PutDouble( sumXki, i+1, 0);
- double sumXkiYk = pQ->GetDouble(i+1, M+1) + Xki * Yk;
- pQ->PutDouble( sumXkiYk, i+1, M+1);
- pE->PutDouble( sumXkiYk, i+1);
- for (j = i; j < M; j++)
- {
- const double fVal = pMatX->GetDouble(k,j);
- double sumXkiXkj = pQ->GetDouble(j+1, i+1) +
- Xki * fVal;
- pQ->PutDouble( sumXkiXkj, j+1, i+1);
- pQ->PutDouble( sumXkiXkj, i+1, j+1);
- }
- }
+ lcl_CalculateColumnMeans(pMatX, pMeans, K, N);
+ lcl_CalculateColumnsDelta(pMatX, pMeans, K, N);
}
- }
- if ( !Calculate4(_bRKP,pResMat,pQ,bConstant,N,M) )
- return;
-
- if (bStats)
- Calculate(pResMat,pE,pQ,pV,pMatX,bConstant,N,M,nCase);
- }
- PushMatrix(pResMat);
-}
-
-void ScInterpreter::ScRKP()
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScRKP" );
- CalulateRGPRKP(TRUE);
-}
-// -----------------------------------------------------------------------------
-bool ScInterpreter::Calculate4(BOOL _bExp,ScMatrixRef& pResMat,ScMatrixRef& pQ,BOOL bConstant,SCSIZE N,SCSIZE M)
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::Calculate4" );
- pQ->PutDouble((double)N, 0, 0);
- if (bConstant)
- {
- SCSIZE S, L;
- for (S = 0; S < M+1; S++)
- {
- SCSIZE i = S;
- while (i < M+1 && pQ->GetDouble(i, S) == 0.0)
- i++;
- if (i >= M+1)
+ if (!lcl_CalculateQRdecomposition(pMatX, aVecR, K, N))
{
PushNoValue();
- return false;
+ return;
}
- double fVal;
- for (L = 0; L < M+2; L++)
+ // Later on we will divide by elements of aVecR, so make sure
+ // that they aren't zero.
+ bool bIsSingular=false;
+ for (SCSIZE row=0; row < K && !bIsSingular; row++)
+ bIsSingular = bIsSingular || aVecR[row]==0.0;
+ if (bIsSingular)
{
- fVal = pQ->GetDouble(S, L);
- pQ->PutDouble(pQ->GetDouble(i, L), S, L);
- pQ->PutDouble(fVal, i, L);
+ PushNoValue();
+ return;
}
- fVal = 1.0/pQ->GetDouble(S, S);
- for (L = 0; L < M+2; L++)
- pQ->PutDouble(pQ->GetDouble(S, L)*fVal, S, L);
- for (i = 0; i < M+1; i++)
+ // Z = Q' Y;
+ for (SCSIZE col = 0; col < K; col++)
{
- if (i != S)
- {
- fVal = -pQ->GetDouble(i, S);
- for (L = 0; L < M+2; L++)
- pQ->PutDouble(
- pQ->GetDouble(i,L)+fVal*pQ->GetDouble(S,L),i,L);
- }
+ lcl_ApplyHouseholderTransformation(pMatX, col, pMatZ, N);
}
- }
- }
- else
- {
- if ( !Calculate3(M,pQ) )
- return false;
+ // B = R^(-1) * Q' * Y <=> B = R^(-1) * Z <=> R * B = Z
+ // result Z should have zeros for index>=K; if not, ignore values
+ for (SCSIZE col = 0; col < K ; col++)
+ {
+ pSlopes->PutDouble( pMatZ->GetDouble(col), col);
+ }
+ lcl_SolveWithUpperRightTriangle(pMatX, aVecR, pSlopes, K, false);
+ double fIntercept = 0.0;
+ if (bConstant)
+ fIntercept = fMeanY - lcl_GetSumProduct(pMeans,pSlopes,K);
+ // Fill first line in result matrix
+ pResMat->PutDouble(_bRKP ? exp(fIntercept) : fIntercept, K, 0 );
+ for (SCSIZE i = 0; i < K; i++)
+ pResMat->PutDouble(_bRKP ? exp(pSlopes->GetDouble(i))
+ : pSlopes->GetDouble(i) , K-1-i, 0);
- }
- for (SCSIZE i = 0; i < M+1; i++)
- {
- const double d = pQ->GetDouble(M-i,M+1);
- pResMat->PutDouble(_bExp ? exp(d) : d, i, 0);
- } // for (SCSIZE i = 0; i < M+1; i++)
- return true;
-}
-ScMatrixRef ScInterpreter::Calculate2(const BOOL bConstant,const SCSIZE M ,const SCSIZE N,ScMatrixRef& pMatX,ScMatrixRef& pMatY,BYTE nCase)
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::Calculate2" );
- SCSIZE i, j, k;
- ScMatrixRef pQ = GetNewMat(M+1, M+2);
- ScMatrixRef pE = GetNewMat(M+2, 1);
- pE->PutDouble(0.0, M+1);
- pQ->FillDouble(0.0, 0, 0, M, M+1);
- if (nCase == 2)
- {
- for (k = 0; k < N; k++)
- {
- pE->PutDouble(
- pE->GetDouble(M+1)+pMatY->GetDouble(k)*pMatY->GetDouble(k), M+1);
- pQ->PutDouble(pQ->GetDouble(0, M+1) + pMatY->GetDouble(k), 0, M+1);
- pE->PutDouble(pQ->GetDouble(0, M+1), 0);
- for (i = 0; i < M; i++)
+ if (bStats)
{
- pQ->PutDouble(pQ->GetDouble(0, i+1)+pMatX->GetDouble(i,k), 0, i+1);
- pQ->PutDouble(pQ->GetDouble(0, i+1), i+1, 0);
- pQ->PutDouble(pQ->GetDouble(i+1, M+1) +
- pMatX->GetDouble(i,k)*pMatY->GetDouble(k), i+1, M+1);
- pE->PutDouble(pQ->GetDouble(i+1, M+1), i+1);
- for (j = i; j < M; j++)
+ double fSSreg = 0.0;
+ double fSSresid = 0.0;
+ // re-use memory of Z;
+ pMatZ->FillDouble(0.0, 0, 0, 0, N-1);
+ // Z = R * Slopes
+ lcl_ApplyUpperRightTriangle(pMatX, aVecR, pSlopes, pMatZ, K, false);
+ // Z = Q * Z, that is Q * R * Slopes = X * Slopes
+ for (SCSIZE colp1 = K; colp1 > 0; colp1--)
{
- pQ->PutDouble(pQ->GetDouble(j+1, i+1) +
- pMatX->GetDouble(i,k)*pMatX->GetDouble(j,k), j+1, i+1);
- pQ->PutDouble(pQ->GetDouble(j+1, i+1), i+1, j+1);
+ lcl_ApplyHouseholderTransformation(pMatX, colp1-1, pMatZ,N);
}
- }
- }
- }
- else
- {
- for (k = 0; k < N; k++)
- {
- pE->PutDouble(
- pE->GetDouble(M+1)+pMatY->GetDouble(k)*pMatY->GetDouble(k), M+1);
- pQ->PutDouble(pQ->GetDouble(0, M+1) + pMatY->GetDouble(k), 0, M+1);
- pE->PutDouble(pQ->GetDouble(0, M+1), 0);
- for (i = 0; i < M; i++)
- {
- pQ->PutDouble(pQ->GetDouble(0, i+1)+pMatX->GetDouble(k,i), 0, i+1);
- pQ->PutDouble(pQ->GetDouble(0, i+1), i+1, 0);
- pQ->PutDouble(pQ->GetDouble(i+1, M+1) +
- pMatX->GetDouble(k,i)*pMatY->GetDouble(k), i+1, M+1);
- pE->PutDouble(pQ->GetDouble(i+1, M+1), i+1);
- for (j = i; j < M; j++)
+ fSSreg =lcl_GetSumProduct(pMatZ, pMatZ, N);
+ // re-use Y for residuals, Y = Y-Z
+ for (SCSIZE row = 0; row < N; row++)
+ pMatY->PutDouble(pMatY->GetDouble(row) - pMatZ->GetDouble(row), row);
+ fSSresid = lcl_GetSumProduct(pMatY, pMatY, N);
+ pResMat->PutDouble(fSSreg, 0, 4);
+ pResMat->PutDouble(fSSresid, 1, 4);
+
+ double fDegreesFreedom =static_cast<double>( (bConstant) ? N-K-1 : N-K );
+ pResMat->PutDouble(fDegreesFreedom, 1, 3);
+
+ if (fDegreesFreedom == 0.0 || fSSresid == 0.0 || fSSreg == 0.0)
+ { // exact fit; incl. observed values Y are identical
+ pResMat->PutDouble(0.0, 1, 4); // SSresid
+ // F = (SSreg/K) / (SSresid/df) = #DIV/0!
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), 0, 3); // F
+ // RMSE = sqrt(SSresid / df) = sqrt(0 / df) = 0
+ pResMat->PutDouble(0.0, 1, 2); // RMSE
+ // SigmaSlope[i] = RMSE * sqrt(matrix[i,i]) = 0 * sqrt(...) = 0
+ for (SCSIZE i=0; i<K; i++)
+ pResMat->PutDouble(0.0, K-1-i, 1);
+
+ // SigmaIntercept = RMSE * sqrt(...) = 0
+ if (bConstant)
+ pResMat->PutDouble(0.0, K, 1); //SigmaIntercept
+ else
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), K, 1);
+
+ // R^2 = SSreg / (SSreg + SSresid) = 1.0
+ pResMat->PutDouble(1.0, 0, 2); // R^2
+ }
+ else
{
- pQ->PutDouble(pQ->GetDouble(j+1, i+1) +
- pMatX->GetDouble(k, i)*pMatX->GetDouble(k, j), j+1, i+1);
- pQ->PutDouble(pQ->GetDouble(j+1, i+1), i+1, j+1);
+ double fFstatistic = (fSSreg / static_cast<double>(K))
+ / (fSSresid / fDegreesFreedom);
+ pResMat->PutDouble(fFstatistic, 0, 3);
+
+ // standard error of estimate = root mean SSE
+ double fRMSE = sqrt(fSSresid / fDegreesFreedom);
+ pResMat->PutDouble(fRMSE, 1, 2);
+
+ // standard error of slopes
+ // = RMSE * sqrt(diagonal element of (R' R)^(-1) )
+ // standard error of intercept
+ // = RMSE * sqrt( Xmean * (R' R)^(-1) * Xmean' + 1/N)
+ // (R' R)^(-1) = R^(-1) * (R')^(-1). Do not calculate it as
+ // a whole matrix, but iterate over unit vectors.
+ double fSigmaSlope = 0.0;
+ double fSigmaIntercept = 0.0;
+ double fPart; // for Xmean * single column of (R' R)^(-1)
+ for (SCSIZE col = 0; col < K; col++)
+ {
+ //re-use memory of MatZ
+ pMatZ->FillDouble(0.0,0,0,0,K-1); // Z = unit vector e
+ pMatZ->PutDouble(1.0, col);
+ //Solve R' * Z = e
+ lcl_SolveWithLowerLeftTriangle(pMatX, aVecR, pMatZ, K, false);
+ // Solve R * Znew = Zold
+ lcl_SolveWithUpperRightTriangle(pMatX, aVecR, pMatZ, K, false);
+ // now Z is column col in (R' R)^(-1)
+ fSigmaSlope = fRMSE * sqrt(pMatZ->GetDouble(col));
+ pResMat->PutDouble(fSigmaSlope, K-1-col, 1);
+ // (R' R) ^(-1) is symmetric
+ if (bConstant)
+ {
+ fPart = lcl_GetSumProduct(pMeans, pMatZ, K);
+ fSigmaIntercept += fPart * pMeans->GetDouble(col);
+ }
+ }
+ if (bConstant)
+ {
+ fSigmaIntercept = fRMSE
+ * sqrt(fSigmaIntercept + 1.0 / static_cast<double>(N));
+ pResMat->PutDouble(fSigmaIntercept, K, 1);
+ }
+ else
+ {
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), K, 1);
+ }
+
+ double fR2 = fSSreg / (fSSreg + fSSresid);
+ pResMat->PutDouble(fR2, 0, 2);
}
}
+ PushMatrix(pResMat);
}
- }
- pQ->PutDouble((double)N, 0, 0);
- if (bConstant)
- {
- SCSIZE S, L;
- for (S = 0; S < M+1; S++)
+ else // nCase == 3, Y is row, all matrices are transposed
{
- i = S;
- while (i < M+1 && pQ->GetDouble(i, S) == 0.0)
- i++;
- if (i >= M+1)
+ ::std::vector< double> aVecR(N); // for QR decomposition
+ // Enough memory for needed matrices?
+ ScMatrixRef pMeans = GetNewMat(1, K); // mean of each row
+ ScMatrixRef pMatZ; // for Q' * Y , inter alia
+ if (bStats)
+ pMatZ = pMatY->Clone(); // Y is used in statistic, keep it
+ else
+ pMatZ = pMatY; // Y can be overwritten
+ ScMatrixRef pSlopes = GetNewMat(K,1); // from b1 to bK
+ if (!pMeans || !pMatZ || !pSlopes)
+ {
+ PushError(errCodeOverflow);
+ return;
+ }
+ if (bConstant)
+ {
+ lcl_CalculateRowMeans(pMatX, pMeans, N, K);
+ lcl_CalculateRowsDelta(pMatX, pMeans, N, K);
+ }
+
+ if (!lcl_TCalculateQRdecomposition(pMatX, aVecR, K, N))
+ {
+ PushNoValue();
+ return;
+ }
+
+ // Later on we will divide by elements of aVecR, so make sure
+ // that they aren't zero.
+ bool bIsSingular=false;
+ for (SCSIZE row=0; row < K && !bIsSingular; row++)
+ bIsSingular = bIsSingular || aVecR[row]==0.0;
+ if (bIsSingular)
{
PushNoValue();
- return ScMatrixRef();
+ return;
}
- double fVal;
- for (L = 0; L < M+2; L++)
+ // Z = Q' Y
+ for (SCSIZE row = 0; row < K; row++)
{
- fVal = pQ->GetDouble(S, L);
- pQ->PutDouble(pQ->GetDouble(i, L), S, L);
- pQ->PutDouble(fVal, i, L);
+ lcl_TApplyHouseholderTransformation(pMatX, row, pMatZ, N);
}
- fVal = 1.0/pQ->GetDouble(S, S);
- for (L = 0; L < M+2; L++)
- pQ->PutDouble(pQ->GetDouble(S, L)*fVal, S, L);
- for (i = 0; i < M+1; i++)
+ // B = R^(-1) * Q' * Y <=> B = R^(-1) * Z <=> R * B = Z
+ // result Z should have zeros for index>=K; if not, ignore values
+ for (SCSIZE col = 0; col < K ; col++)
{
- if (i != S)
+ pSlopes->PutDouble( pMatZ->GetDouble(col), col);
+ }
+ lcl_SolveWithUpperRightTriangle(pMatX, aVecR, pSlopes, K, true);
+ double fIntercept = 0.0;
+ if (bConstant)
+ fIntercept = fMeanY - lcl_GetSumProduct(pMeans,pSlopes,K);
+ // Fill first line in result matrix
+ pResMat->PutDouble(_bRKP ? exp(fIntercept) : fIntercept, K, 0 );
+ for (SCSIZE i = 0; i < K; i++)
+ pResMat->PutDouble(_bRKP ? exp(pSlopes->GetDouble(i))
+ : pSlopes->GetDouble(i) , K-1-i, 0);
+
+
+ if (bStats)
+ {
+ double fSSreg = 0.0;
+ double fSSresid = 0.0;
+ // re-use memory of Z;
+ pMatZ->FillDouble(0.0, 0, 0, N-1, 0);
+ // Z = R * Slopes
+ lcl_ApplyUpperRightTriangle(pMatX, aVecR, pSlopes, pMatZ, K, true);
+ // Z = Q * Z, that is Q * R * Slopes = X * Slopes
+ for (SCSIZE rowp1 = K; rowp1 > 0; rowp1--)
{
- fVal = -pQ->GetDouble(i, S);
- for (L = 0; L < M+2; L++)
- pQ->PutDouble(
- pQ->GetDouble(i,L)+fVal*pQ->GetDouble(S,L),i,L);
+ lcl_TApplyHouseholderTransformation(pMatX, rowp1-1, pMatZ,N);
+ }
+ fSSreg =lcl_GetSumProduct(pMatZ, pMatZ, N);
+ // re-use Y for residuals, Y = Y-Z
+ for (SCSIZE col = 0; col < N; col++)
+ pMatY->PutDouble(pMatY->GetDouble(col) - pMatZ->GetDouble(col), col);
+ fSSresid = lcl_GetSumProduct(pMatY, pMatY, N);
+ pResMat->PutDouble(fSSreg, 0, 4);
+ pResMat->PutDouble(fSSresid, 1, 4);
+
+ double fDegreesFreedom =static_cast<double>( (bConstant) ? N-K-1 : N-K );
+ pResMat->PutDouble(fDegreesFreedom, 1, 3);
+
+ if (fDegreesFreedom == 0.0 || fSSresid == 0.0 || fSSreg == 0.0)
+ { // exact fit; incl. case observed values Y are identical
+ pResMat->PutDouble(0.0, 1, 4); // SSresid
+ // F = (SSreg/K) / (SSresid/df) = #DIV/0!
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), 0, 3); // F
+ // RMSE = sqrt(SSresid / df) = sqrt(0 / df) = 0
+ pResMat->PutDouble(0.0, 1, 2); // RMSE
+ // SigmaSlope[i] = RMSE * sqrt(matrix[i,i]) = 0 * sqrt(...) = 0
+ for (SCSIZE i=0; i<K; i++)
+ pResMat->PutDouble(0.0, K-1-i, 1);
+
+ // SigmaIntercept = RMSE * sqrt(...) = 0
+ if (bConstant)
+ pResMat->PutDouble(0.0, K, 1); //SigmaIntercept
+ else
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), K, 1);
+
+ // R^2 = SSreg / (SSreg + SSresid) = 1.0
+ pResMat->PutDouble(1.0, 0, 2); // R^2
+ }
+ else
+ {
+ double fFstatistic = (fSSreg / static_cast<double>(K))
+ / (fSSresid / fDegreesFreedom);
+ pResMat->PutDouble(fFstatistic, 0, 3);
+
+ // standard error of estimate = root mean SSE
+ double fRMSE = sqrt(fSSresid / fDegreesFreedom);
+ pResMat->PutDouble(fRMSE, 1, 2);
+
+ // standard error of slopes
+ // = RMSE * sqrt(diagonal element of (R' R)^(-1) )
+ // standard error of intercept
+ // = RMSE * sqrt( Xmean * (R' R)^(-1) * Xmean' + 1/N)
+ // (R' R)^(-1) = R^(-1) * (R')^(-1). Do not calculate it as
+ // a whole matrix, but iterate over unit vectors.
+ // (R' R) ^(-1) is symmetric
+ double fSigmaSlope = 0.0;
+ double fSigmaIntercept = 0.0;
+ double fPart; // for Xmean * single col of (R' R)^(-1)
+ for (SCSIZE row = 0; row < K; row++)
+ {
+ //re-use memory of MatZ
+ pMatZ->FillDouble(0.0,0,0,K-1,0); // Z = unit vector e
+ pMatZ->PutDouble(1.0, row);
+ //Solve R' * Z = e
+ lcl_SolveWithLowerLeftTriangle(pMatX, aVecR, pMatZ, K, true);
+ // Solve R * Znew = Zold
+ lcl_SolveWithUpperRightTriangle(pMatX, aVecR, pMatZ, K, true);
+ // now Z is column col in (R' R)^(-1)
+ fSigmaSlope = fRMSE * sqrt(pMatZ->GetDouble(row));
+ pResMat->PutDouble(fSigmaSlope, K-1-row, 1);
+ if (bConstant)
+ {
+ fPart = lcl_GetSumProduct(pMeans, pMatZ, K);
+ fSigmaIntercept += fPart * pMeans->GetDouble(row);
+ }
+ }
+ if (bConstant)
+ {
+ fSigmaIntercept = fRMSE
+ * sqrt(fSigmaIntercept + 1.0 / static_cast<double>(N));
+ pResMat->PutDouble(fSigmaIntercept, K, 1);
+ }
+ else
+ {
+ pResMat->PutString(ScGlobal::GetRscString(STR_NV_STR), K, 1);
+ }
+
+ double fR2 = fSSreg / (fSSreg + fSSresid);
+ pResMat->PutDouble(fR2, 0, 2);
}
}
+ PushMatrix(pResMat);
}
}
- else
- {
- if ( !Calculate3(M,pQ) )
- return ScMatrixRef();
- }
- return pQ;
-}
-bool ScInterpreter::Calculate3(const SCSIZE M ,ScMatrixRef& pQ)
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::Calculate3" );
- SCSIZE S, L;
- for (S = 1; S < M+1; S++)
- {
- SCSIZE i = S;
- while (i < M+1 && pQ->GetDouble(i, S) == 0.0)
- i++;
- if (i >= M+1)
- {
- PushNoValue();
- return ScMatrixRef();
- }
- double fVal;
- for (L = 1; L < M+2; L++)
- {
- fVal = pQ->GetDouble(S, L);
- pQ->PutDouble(pQ->GetDouble(i, L), S, L);
- pQ->PutDouble(fVal, i, L);
- }
- fVal = 1.0/pQ->GetDouble(S, S);
- for (L = 1; L < M+2; L++)
- pQ->PutDouble(pQ->GetDouble(S, L)*fVal, S, L);
- for (i = 1; i < M+1; i++)
- {
- if (i != S)
- {
- fVal = -pQ->GetDouble(i, S);
- for (L = 1; L < M+2; L++)
- pQ->PutDouble(
- pQ->GetDouble(i,L)+fVal*pQ->GetDouble(S,L),i,L);
- }
- }
- pQ->PutDouble(0.0, 0, M+1);
- } // for (S = 1; S < M+1; S++)
- return true;
}
void ScInterpreter::ScTrend()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScTrend" );
- CalculateTrendGrowth(FALSE);
+ CalculateTrendGrowth(false);
}
-void ScInterpreter::CalculateTrendGrowth(BOOL _bGrowth)
+
+void ScInterpreter::ScGrowth()
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScGrowth" );
+ CalculateTrendGrowth(true);
+}
+
+void ScInterpreter::CalculateTrendGrowth(bool _bGrowth)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::CalculateTrendGrowth" );
BYTE nParamCount = GetByte();
- if ( !MustHaveParamCount( nParamCount, 1, 4 ) )
+ if (!MustHaveParamCount( nParamCount, 1, 4 ))
return;
- BOOL bConstant;
+
+ // optional forth parameter
+ bool bConstant;
if (nParamCount == 4)
bConstant = GetBool();
else
- bConstant = TRUE;
- ScMatrixRef pMatX;
- ScMatrixRef pMatY;
+ bConstant = true;
+
+ // The third parameter may be missing in ODF, although the forth parameter
+ // is present. Default values depend on data not yet read.
ScMatrixRef pMatNewX;
if (nParamCount >= 3)
- pMatNewX = GetMatrix();
+ {
+ if (IsMissing())
+ {
+ Pop();
+ pMatNewX = NULL;
+ }
+ else
+ pMatNewX = GetMatrix();
+ }
else
pMatNewX = NULL;
+
+ //In ODF1.2 empty second parameter (which is two ;; ) is allowed
+ //Defaults will be set in CheckMatrix
+ ScMatrixRef pMatX;
if (nParamCount >= 2)
- pMatX = GetMatrix();
+ {
+ if (IsMissing())
+ {
+ Pop();
+ pMatX = NULL;
+ }
+ else
+ {
+ pMatX = GetMatrix();
+ }
+ }
else
pMatX = NULL;
+
+ ScMatrixRef pMatY;
pMatY = GetMatrix();
if (!pMatY)
{
PushIllegalParameter();
return;
- } // if (!pMatY)
+ }
- BYTE nCase; // 1 = normal, 2,3 = mehrfach
- SCSIZE nCX, nCY;
- SCSIZE nRX, nRY;
- SCSIZE M = 0, N = 0;
- if ( !CheckMatrix(_bGrowth,TRUE,nCase,nCX,nCY,nRX,nRY,M,N,pMatX,pMatY) )
+ // 1 = simple; 2 = multiple with Y as column; 3 = multiple with Y as row
+ BYTE nCase;
+
+ SCSIZE nCX, nCY; // number of columns
+ SCSIZE nRX, nRY; //number of rows
+ SCSIZE K = 0, N = 0; // K=number of variables X, N=number of data samples
+ if (!CheckMatrix(_bGrowth,nCase,nCX,nCY,nRX,nRY,K,N,pMatX,pMatY))
+ {
+ PushIllegalParameter();
return;
+ }
+ // Enough data samples?
+ if ((bConstant && (N<K+1)) || (!bConstant && (N<K)) || (N<1) || (K<1))
+ {
+ PushIllegalParameter();
+ return;
+ }
+ // Set default pMatNewX if necessary
SCSIZE nCXN, nRXN;
SCSIZE nCountXN;
if (!pMatNewX)
@@ -2603,128 +2974,223 @@ void ScInterpreter::CalculateTrendGrowth(BOOL _bGrowth)
nCXN = nCX;
nRXN = nRX;
nCountXN = nCXN * nRXN;
- pMatNewX = pMatX;
+ pMatNewX = pMatX->Clone(); // pMatX will be changed to X-meanX
}
else
{
pMatNewX->GetDimensions(nCXN, nRXN);
- if ((nCase == 2 && nCX != nCXN) || (nCase == 3 && nRX != nRXN))
+ if ((nCase == 2 && K != nCXN) || (nCase == 3 && K != nRXN))
{
PushIllegalArgument();
return;
}
nCountXN = nCXN * nRXN;
- for ( SCSIZE i = 0; i < nCountXN; i++ )
+ for (SCSIZE i = 0; i < nCountXN; i++)
if (!pMatNewX->IsValue(i))
{
PushIllegalArgument();
return;
}
}
- ScMatrixRef pResMat;
+ ScMatrixRef pResMat; // size depends on nCase
if (nCase == 1)
+ pResMat = GetNewMat(nCXN,nRXN);
+ else
{
- double fCount = 0.0;
- double fSumX = 0.0;
- double fSumSqrX = 0.0;
- double fSumY = 0.0;
- double fSumSqrY = 0.0;
- double fSumXY = 0.0;
- double fValX, fValY;
- SCSIZE i;
- for (i = 0; i < nCY; i++)
- for (SCSIZE j = 0; j < nRY; j++)
- {
- fValX = pMatX->GetDouble(i,j);
- fValY = pMatY->GetDouble(i,j);
- fSumX += fValX;
- fSumSqrX += fValX * fValX;
- fSumY += fValY;
- fSumSqrY += fValY * fValY;
- fSumXY += fValX*fValY;
- fCount++;
- }
- if (fCount < 1.0)
+ if (nCase==2)
+ pResMat = GetNewMat(1,nRXN);
+ else
+ pResMat = GetNewMat(nCXN,1);
+ }
+ if (!pResMat)
+ {
+ PushError(errCodeOverflow);
+ return;
+ }
+ // Uses sum(x-MeanX)^2 and not [sum x^2]-N * MeanX^2 in case bConstant.
+ // Clone constant matrices, so that Mat = Mat - Mean is possible.
+ double fMeanY = 0.0;
+ if (bConstant)
+ {
+ ScMatrixRef pCopyX = pMatX->CloneIfConst();
+ ScMatrixRef pCopyY = pMatY->CloneIfConst();
+ if (!pCopyX || !pCopyY)
{
- PushNoValue();
+ PushError(errStackOverflow);
return;
}
- else
+ pMatX = pCopyX;
+ pMatY = pCopyY;
+ // DeltaY is possible here; DeltaX depends on nCase, so later
+ fMeanY = lcl_GetMeanOverAll(pMatY, N);
+ for (SCSIZE i=0; i<N; i++)
{
- double f1 = fCount*fSumXY-fSumX*fSumY;
- double fX = fCount*fSumSqrX-fSumX*fSumX;
- double b, m;
- if (bConstant)
- {
- b = fSumY/fCount - f1/fX*fSumX/fCount;
- m = f1/fX;
- }
- else
+ pMatY->PutDouble( ::rtl::math::approxSub(pMatY->GetDouble(i),fMeanY), i );
+ }
+ }
+
+ if (nCase==1)
+ {
+ // calculate simple regression
+ double fMeanX = 0.0;
+ if (bConstant)
+ { // Mat = Mat - Mean
+ fMeanX = lcl_GetMeanOverAll(pMatX, N);
+ for (SCSIZE i=0; i<N; i++)
{
- b = 0.0;
- m = fSumXY/fSumSqrX;
+ pMatX->PutDouble( ::rtl::math::approxSub(pMatX->GetDouble(i),fMeanX), i );
}
- pResMat = GetNewMat(nCXN, nRXN);
- if (!pResMat)
+ }
+ double fSumXY = lcl_GetSumProduct(pMatX,pMatY,N);
+ double fSumX2 = lcl_GetSumProduct(pMatX,pMatX,N);
+ if (fSumX2==0.0)
+ {
+ PushNoValue(); // all x-values are identical
+ return;
+ }
+ double fSlope = fSumXY / fSumX2;
+ double fHelp;
+ if (bConstant)
+ {
+ double fIntercept = fMeanY - fSlope * fMeanX;
+ for (SCSIZE i = 0; i < nCountXN; i++)
{
- PushIllegalArgument();
- return;
+ fHelp = pMatNewX->GetDouble(i)*fSlope + fIntercept;
+ pResMat->PutDouble(_bGrowth ? exp(fHelp) : fHelp, i);
}
- for (i = 0; i < nCountXN; i++)
+ }
+ else
+ {
+ for (SCSIZE i = 0; i < nCountXN; i++)
{
- const double d = pMatNewX->GetDouble(i)*m+b;
- pResMat->PutDouble(_bGrowth ? exp(d) : d, i);
+ fHelp = pMatNewX->GetDouble(i)*fSlope;
+ pResMat->PutDouble(_bGrowth ? exp(fHelp) : fHelp, i);
}
}
}
- else
+ else // calculate multiple regression;
{
- ScMatrixRef pQ = Calculate2(bConstant,M ,N,pMatX,pMatY,nCase);
- if ( !pQ.Is() )
- return;
- if (nCase == 2)
+ if (nCase ==2) // Y is column
{
- pResMat = GetNewMat(1, nRXN);
- if (!pResMat)
+ ::std::vector< double> aVecR(N); // for QR decomposition
+ // Enough memory for needed matrices?
+ ScMatrixRef pMeans = GetNewMat(K, 1); // mean of each column
+ ScMatrixRef pSlopes = GetNewMat(1,K); // from b1 to bK
+ if (!pMeans || !pSlopes)
{
- PushIllegalArgument();
+ PushError(errCodeOverflow);
return;
}
- double fVal;
- for (SCSIZE i = 0; i < nRXN; i++)
+ if (bConstant)
+ {
+ lcl_CalculateColumnMeans(pMatX, pMeans, K, N);
+ lcl_CalculateColumnsDelta(pMatX, pMeans, K, N);
+ }
+ if (!lcl_CalculateQRdecomposition(pMatX, aVecR, K, N))
+ {
+ PushNoValue();
+ return;
+ }
+ // Later on we will divide by elements of aVecR, so make sure
+ // that they aren't zero.
+ bool bIsSingular=false;
+ for (SCSIZE row=0; row < K && !bIsSingular; row++)
+ bIsSingular = bIsSingular || aVecR[row]==0.0;
+ if (bIsSingular)
+ {
+ PushNoValue();
+ return;
+ }
+ // Z := Q' Y; Y is overwritten with result Z
+ for (SCSIZE col = 0; col < K; col++)
+ {
+ lcl_ApplyHouseholderTransformation(pMatX, col, pMatY, N);
+ }
+ // B = R^(-1) * Q' * Y <=> B = R^(-1) * Z <=> R * B = Z
+ // result Z should have zeros for index>=K; if not, ignore values
+ for (SCSIZE col = 0; col < K ; col++)
+ {
+ pSlopes->PutDouble( pMatY->GetDouble(col), col);
+ }
+ lcl_SolveWithUpperRightTriangle(pMatX, aVecR, pSlopes, K, false);
+
+ // Fill result matrix
+ lcl_MFastMult(pMatNewX,pSlopes,pResMat,nRXN,K,1);
+ if (bConstant)
{
- fVal = pQ->GetDouble(0, M+1);
- for (SCSIZE j = 0; j < M; j++)
- fVal += pQ->GetDouble(j+1, M+1)*pMatNewX->GetDouble(j, i);
- pResMat->PutDouble(_bGrowth ? exp(fVal) : fVal, i);
+ double fIntercept = fMeanY - lcl_GetSumProduct(pMeans,pSlopes,K);
+ for (SCSIZE row = 0; row < nRXN; row++)
+ pResMat->PutDouble(pResMat->GetDouble(row)+fIntercept, row);
+ }
+ if (_bGrowth)
+ {
+ for (SCSIZE i = 0; i < nRXN; i++)
+ pResMat->PutDouble(exp(pResMat->GetDouble(i)), i);
}
}
else
- {
- pResMat = GetNewMat(nCXN, 1);
- if (!pResMat)
+ { // nCase == 3, Y is row, all matrices are transposed
+
+ ::std::vector< double> aVecR(N); // for QR decomposition
+ // Enough memory for needed matrices?
+ ScMatrixRef pMeans = GetNewMat(1, K); // mean of each row
+ ScMatrixRef pSlopes = GetNewMat(K,1); // row from b1 to bK
+ if (!pMeans || !pSlopes)
{
- PushIllegalArgument();
+ PushError(errCodeOverflow);
+ return;
+ }
+ if (bConstant)
+ {
+ lcl_CalculateRowMeans(pMatX, pMeans, N, K);
+ lcl_CalculateRowsDelta(pMatX, pMeans, N, K);
+ }
+ if (!lcl_TCalculateQRdecomposition(pMatX, aVecR, K, N))
+ {
+ PushNoValue();
return;
}
- double fVal;
- for (SCSIZE i = 0; i < nCXN; i++)
+ // Later on we will divide by elements of aVecR, so make sure
+ // that they aren't zero.
+ bool bIsSingular=false;
+ for (SCSIZE row=0; row < K && !bIsSingular; row++)
+ bIsSingular = bIsSingular || aVecR[row]==0.0;
+ if (bIsSingular)
{
- fVal = pQ->GetDouble(0, M+1);
- for (SCSIZE j = 0; j < M; j++)
- fVal += pQ->GetDouble(j+1, M+1)*pMatNewX->GetDouble(i, j);
- pResMat->PutDouble(_bGrowth ? exp(fVal) : fVal, i);
+ PushNoValue();
+ return;
+ }
+ // Z := Q' Y; Y is overwritten with result Z
+ for (SCSIZE row = 0; row < K; row++)
+ {
+ lcl_TApplyHouseholderTransformation(pMatX, row, pMatY, N);
+ }
+ // B = R^(-1) * Q' * Y <=> B = R^(-1) * Z <=> R * B = Z
+ // result Z should have zeros for index>=K; if not, ignore values
+ for (SCSIZE col = 0; col < K ; col++)
+ {
+ pSlopes->PutDouble( pMatY->GetDouble(col), col);
+ }
+ lcl_SolveWithUpperRightTriangle(pMatX, aVecR, pSlopes, K, true);
+
+ // Fill result matrix
+ lcl_MFastMult(pSlopes,pMatNewX,pResMat,1,K,nCXN);
+ if (bConstant)
+ {
+ double fIntercept = fMeanY - lcl_GetSumProduct(pMeans,pSlopes,K);
+ for (SCSIZE col = 0; col < nCXN; col++)
+ pResMat->PutDouble(pResMat->GetDouble(col)+fIntercept, col);
+ }
+ if (_bGrowth)
+ {
+ for (SCSIZE i = 0; i < nCXN; i++)
+ pResMat->PutDouble(exp(pResMat->GetDouble(i)), i);
}
}
}
PushMatrix(pResMat);
}
-void ScInterpreter::ScGrowth()
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScGrowth" );
- CalculateTrendGrowth(TRUE);
-}
void ScInterpreter::ScMatRef()
{
@@ -2747,8 +3213,9 @@ void ScInterpreter::ScMatRef()
PushNA();
else
{
- ScMatValType nMatValType;
- const ScMatrixValue* pMatVal = pMat->Get( nC, nR, nMatValType);
+ const ScMatrixValue nMatVal = pMat->Get( nC, nR);
+ ScMatValType nMatValType = nMatVal.nType;
+
if (ScMatrix::IsNonValueType( nMatValType))
{
if (ScMatrix::IsEmptyPathType( nMatValType))
@@ -2762,11 +3229,11 @@ void ScInterpreter::ScMatRef()
PushTempToken( new ScEmptyCellToken( false, true));
}
else
- PushString( pMatVal->GetString() );
+ PushString( nMatVal.GetString() );
}
else
{
- PushDouble(pMatVal->fVal); // handles DoubleError
+ PushDouble(nMatVal.fVal); // handles DoubleError
pDok->GetNumberFormatInfo( nCurFmtType, nCurFmtIndex, aAdr, pCell );
nFuncFmtType = nCurFmtType;
nFuncFmtIndex = nCurFmtIndex;
diff --git a/sc/source/core/tool/makefile.mk b/sc/source/core/tool/makefile.mk
index b1cad5831a28..15ec283995e2 100644
--- a/sc/source/core/tool/makefile.mk
+++ b/sc/source/core/tool/makefile.mk
@@ -44,9 +44,21 @@ AUTOSEG=true
# --- Files --------------------------------------------------------
SLOFILES = \
+ $(EXCEPTIONSFILES) \
+ $(SLO)$/addinhelpid.obj \
+ $(SLO)$/detdata.obj \
+ $(SLO)$/filtopt.obj \
+ $(SLO)$/hints.obj \
+ $(SLO)$/inputopt.obj \
+ $(SLO)$/navicfg.obj \
+ $(SLO)$/printopt.obj \
+ $(SLO)$/rechead.obj \
+ $(SLO)$/refdata.obj \
+ $(SLO)$/refreshtimer.obj
+
+EXCEPTIONSFILES= \
$(SLO)$/addincfg.obj \
$(SLO)$/addincol.obj \
- $(SLO)$/addinhelpid.obj \
$(SLO)$/addinlis.obj \
$(SLO)$/address.obj \
$(SLO)$/adiasync.obj \
@@ -55,11 +67,11 @@ SLOFILES = \
$(SLO)$/callform.obj \
$(SLO)$/cellform.obj \
$(SLO)$/cellkeytranslator.obj \
- $(SLO)$/charthelper.obj \
$(SLO)$/chartarr.obj \
- $(SLO)$/chartpos.obj \
+ $(SLO)$/charthelper.obj \
$(SLO)$/chartlis.obj \
$(SLO)$/chartlock.obj \
+ $(SLO)$/chartpos.obj \
$(SLO)$/chgtrack.obj \
$(SLO)$/chgviset.obj \
$(SLO)$/collect.obj \
@@ -67,15 +79,11 @@ SLOFILES = \
$(SLO)$/consoli.obj \
$(SLO)$/dbcolect.obj \
$(SLO)$/ddelink.obj \
- $(SLO)$/detdata.obj \
- $(SLO)$/detfunc.obj \
+ $(SLO)$/detfunc.obj \
$(SLO)$/docoptio.obj \
$(SLO)$/doubleref.obj \
$(SLO)$/editutil.obj \
- $(SLO)$/filtopt.obj \
$(SLO)$/formulaparserpool.obj \
- $(SLO)$/hints.obj \
- $(SLO)$/inputopt.obj \
$(SLO)$/interpr1.obj \
$(SLO)$/interpr2.obj \
$(SLO)$/interpr3.obj \
@@ -83,11 +91,9 @@ SLOFILES = \
$(SLO)$/interpr5.obj \
$(SLO)$/interpr6.obj \
$(SLO)$/lookupcache.obj \
- $(SLO)$/navicfg.obj \
$(SLO)$/odffmap.obj \
$(SLO)$/optutil.obj \
$(SLO)$/parclass.obj \
- $(SLO)$/printopt.obj \
$(SLO)$/prnsave.obj \
$(SLO)$/progress.obj \
$(SLO)$/queryparam.obj \
@@ -95,13 +101,10 @@ SLOFILES = \
$(SLO)$/rangenam.obj \
$(SLO)$/rangeseq.obj \
$(SLO)$/rangeutl.obj \
- $(SLO)$/rechead.obj \
- $(SLO)$/refdata.obj \
$(SLO)$/reffind.obj \
- $(SLO)$/refreshtimer.obj \
$(SLO)$/reftokenhelper.obj \
- $(SLO)$/refupdat.obj \
$(SLO)$/scmatrix.obj \
+ $(SLO)$/refupdat.obj \
$(SLO)$/simplerangelist.obj \
$(SLO)$/stringutil.obj \
$(SLO)$/subtotal.obj \
@@ -111,31 +114,6 @@ SLOFILES = \
$(SLO)$/viewopti.obj \
$(SLO)$/zforauto.obj
-EXCEPTIONSFILES= \
- $(SLO)$/addincol.obj \
- $(SLO)$/cellkeytranslator.obj \
- $(SLO)$/charthelper.obj \
- $(SLO)$/chartarr.obj \
- $(SLO)$/chartlis.obj \
- $(SLO)$/chartlock.obj \
- $(SLO)$/chgtrack.obj \
- $(SLO)$/compiler.obj \
- $(SLO)$/detfunc.obj \
- $(SLO)$/doubleref.obj \
- $(SLO)$/formulaparserpool.obj \
- $(SLO)$/interpr1.obj \
- $(SLO)$/interpr2.obj \
- $(SLO)$/interpr3.obj \
- $(SLO)$/interpr4.obj \
- $(SLO)$/interpr5.obj \
- $(SLO)$/lookupcache.obj \
- $(SLO)$/prnsave.obj \
- $(SLO)$/queryparam.obj \
- $(SLO)$/reftokenhelper.obj \
- $(SLO)$/simplerangelist.obj \
- $(SLO)$/stringutil.obj \
- $(SLO)$/token.obj
-
# [kh] POWERPC compiler problem
.IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCPOWERPC"
NOOPTFILES= \
diff --git a/sc/source/core/tool/navicfg.cxx b/sc/source/core/tool/navicfg.cxx
index a0b9b629bc34..703c15175536 100644
--- a/sc/source/core/tool/navicfg.cxx
+++ b/sc/source/core/tool/navicfg.cxx
@@ -42,7 +42,7 @@
//------------------------------------------------------------------
ScNavipiCfg::ScNavipiCfg() :
-//! ConfigItem( OUString::createFromAscii( CFGPATH_NAVIPI ) ),
+//! ConfigItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_NAVIPI )) ),
nListMode(0),
nDragMode(0),
nRootType(0)
diff --git a/sc/source/core/tool/odffmap.cxx b/sc/source/core/tool/odffmap.cxx
index 28b13e249a07..fc89705d1c39 100644
--- a/sc/source/core/tool/odffmap.cxx
+++ b/sc/source/core/tool/odffmap.cxx
@@ -138,13 +138,11 @@ ScCompiler::AddInMap ScCompiler::maAddInMap[] =
{ "FVSCHEDULE", "FVSCHEDULE", false, "com.sun.star.sheet.addin.Analysis.getFvschedule", "COM.SUN.STAR.SHEET.ADDIN.ANALYSIS.GETFVSCHEDULE" },
};
-// static
const ScCompiler::AddInMap* ScCompiler::GetAddInMap()
{
return maAddInMap;
}
-// static
size_t ScCompiler::GetAddInMapCount()
{
return SAL_N_ELEMENTS(maAddInMap);
diff --git a/sc/source/core/tool/optutil.cxx b/sc/source/core/tool/optutil.cxx
index 03f4174c8613..377676e5647f 100644
--- a/sc/source/core/tool/optutil.cxx
+++ b/sc/source/core/tool/optutil.cxx
@@ -39,12 +39,10 @@
//------------------------------------------------------------------
-// static
BOOL ScOptionsUtil::IsMetricSystem()
{
//! which language should be used here - system language or installed office language?
-// MeasurementSystem eSys = Application::GetAppInternational().GetMeasurementSystem();
MeasurementSystem eSys = ScGlobal::pLocaleData->getMeasurementSystemEnum();
return ( eSys == MEASURE_METRIC );
diff --git a/sc/source/core/tool/parclass.cxx b/sc/source/core/tool/parclass.cxx
index 9af15044f69a..885d118ab4af 100644
--- a/sc/source/core/tool/parclass.cxx
+++ b/sc/source/core/tool/parclass.cxx
@@ -38,12 +38,14 @@
#include "funcdesc.hxx"
#include <unotools/charclass.hxx>
#include <tools/debug.hxx>
+#include <sal/macros.h>
#include <string.h>
#if OSL_DEBUG_LEVEL > 1
// the documentation thingy
#include <stdio.h>
#include <com/sun/star/sheet/FormulaLanguage.hpp>
+#include <rtl/strbuf.hxx>
#include "compiler.hxx"
#include "sc.hrc" // VAR_ARGS
#endif
@@ -214,7 +216,7 @@ void ScParameterClassification::Init()
memset( pData, 0, sizeof(RunData) * (SC_OPCODE_LAST_OPCODE_ID + 1));
// init from specified static data above
- for ( size_t i=0; i < sizeof(pRawData) / sizeof(RawData); ++i )
+ for ( size_t i=0; i < SAL_N_ELEMENTS(pRawData); ++i )
{
const RawData* pRaw = &pRawData[i];
if ( pRaw->eOp > SC_OPCODE_LAST_OPCODE_ID )
@@ -414,9 +416,12 @@ void ScParameterClassification::MergeArgumentsFromFunctionResource()
}
if ( nArgs > CommonData::nMaxParams )
{
- DBG_ERROR2( "ScParameterClassification::Init: too many arguments in listed function: %s: %d",
- ByteString( *(pDesc->pFuncName),
- RTL_TEXTENCODING_UTF8).GetBuffer(), nArgs);
+ rtl::OStringBuffer aBuf;
+ aBuf.append("ScParameterClassification::Init: too many arguments in listed function: ");
+ aBuf.append(rtl::OUStringToOString(*(pDesc->pFuncName), RTL_TEXTENCODING_UTF8));
+ aBuf.append(": ");
+ aBuf.append(nArgs);
+ OSL_ENSURE(false, aBuf.getStr());
nArgs = CommonData::nMaxParams;
pRun->aData.bRepeatLast = true;
}
diff --git a/sc/source/core/tool/printopt.cxx b/sc/source/core/tool/printopt.cxx
index f895bbc0a6ca..3facdb673d6c 100644
--- a/sc/source/core/tool/printopt.cxx
+++ b/sc/source/core/tool/printopt.cxx
@@ -147,11 +147,10 @@ Sequence<OUString> ScPrintCfg::GetPropertyNames()
}
ScPrintCfg::ScPrintCfg() :
- ConfigItem( OUString::createFromAscii( CFGPATH_PRINT ) )
+ ConfigItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_PRINT )) )
{
Sequence<OUString> aNames = GetPropertyNames();
Sequence<Any> aValues = GetProperties(aNames);
-// EnableNotification(aNames);
const Any* pValues = aValues.getConstArray();
DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed");
if(aValues.getLength() == aNames.getLength())
diff --git a/sc/source/core/tool/progress.cxx b/sc/source/core/tool/progress.cxx
index 0a26b968f112..20b6440ce302 100644
--- a/sc/source/core/tool/progress.cxx
+++ b/sc/source/core/tool/progress.cxx
@@ -141,7 +141,6 @@ ScProgress::~ScProgress()
}
}
-// static
void ScProgress::CreateInterpretProgress( ScDocument* pDoc, BOOL bWait )
{
@@ -167,7 +166,6 @@ void ScProgress::CreateInterpretProgress( ScDocument* pDoc, BOOL bWait )
}
-// static
void ScProgress::DeleteInterpretProgress()
{
@@ -178,7 +176,6 @@ void ScProgress::DeleteInterpretProgress()
a refresh of the sheet window which may call CreateInterpretProgress
and DeleteInterpretProgress again (from Output::DrawStrings),
resulting in double deletion of 'pInterpretProgress'. */
-// if ( --nInterpretProgress == 0 )
if ( nInterpretProgress == 1 )
{
if ( pInterpretProgress != &theDummyInterpretProgress )
diff --git a/sc/source/core/tool/rangelst.cxx b/sc/source/core/tool/rangelst.cxx
index ed93713eb65f..c570655a351b 100644
--- a/sc/source/core/tool/rangelst.cxx
+++ b/sc/source/core/tool/rangelst.cxx
@@ -44,19 +44,129 @@
#include "rechead.hxx"
#include "compiler.hxx"
-// === ScRangeList ====================================================
+using ::std::vector;
+using ::std::advance;
+using ::std::find_if;
+using ::std::for_each;
+using ::formula::FormulaGrammar;
-ScRangeList::~ScRangeList()
+namespace {
+
+template<typename T>
+class FindEnclosingRange : public ::std::unary_function<bool, ScRange*>
+{
+public:
+ FindEnclosingRange(const T& rTest) : mrTest(rTest) {}
+ FindEnclosingRange(const FindEnclosingRange& r) : mrTest(r.mrTest) {}
+ bool operator() (const ScRange* pRange) const
+ {
+ return pRange->In(mrTest);
+ }
+private:
+ const T& mrTest;
+};
+
+template<typename T>
+class FindIntersectingRange : public ::std::unary_function<bool, ScRange*>
+{
+public:
+ FindIntersectingRange(const T& rTest) : mrTest(rTest) {}
+ FindIntersectingRange(const FindIntersectingRange& r) : mrTest(r.mrTest) {}
+ bool operator() (const ScRange* pRange) const
+ {
+ return pRange->Intersects(mrTest);
+ }
+private:
+ const T& mrTest;
+};
+
+class AppendToList : public ::std::unary_function<void, const ScRange*>
+{
+public:
+ AppendToList(vector<ScRange*>& rRanges) : mrRanges(rRanges) {}
+ AppendToList(const AppendToList& r) : mrRanges(r.mrRanges) {}
+ void operator() (const ScRange* p)
+ {
+ mrRanges.push_back(new ScRange(*p));
+ }
+private:
+ vector<ScRange*>& mrRanges;
+};
+
+template<typename T>
+struct DeleteObject : public ::std::unary_function<void, T*>
{
- for ( ScRangePtr pR = First(); pR; pR = Next() )
- delete pR;
+ void operator() (T* p)
+ {
+ delete p;
+ }
+};
+
+class CountCells : public ::std::unary_function<void, const ScRange*>
+{
+public:
+ CountCells() : mnCellCount(0) {}
+ CountCells(const CountCells& r) : mnCellCount(r.mnCellCount) {}
+
+ void operator() (const ScRange* p)
+ {
+ mnCellCount +=
+ size_t(p->aEnd.Col() - p->aStart.Col() + 1)
+ * size_t(p->aEnd.Row() - p->aStart.Row() + 1)
+ * size_t(p->aEnd.Tab() - p->aStart.Tab() + 1);
+ }
+
+ size_t getCellCount() const { return mnCellCount; }
+
+private:
+ size_t mnCellCount;
+};
+
+class FormatString : public ::std::unary_function<void, const ScRange*>
+{
+public:
+ FormatString(String& rStr, USHORT nFlags, ScDocument* pDoc, FormulaGrammar::AddressConvention eConv, sal_Unicode cDelim) :
+ mrStr(rStr),
+ mnFlags(nFlags),
+ mpDoc(pDoc),
+ meConv(eConv),
+ mcDelim(cDelim),
+ mbFirst(true) {}
+
+ FormatString(const FormatString& r) :
+ mrStr(r.mrStr),
+ mnFlags(r.mnFlags),
+ mpDoc(r.mpDoc),
+ meConv(r.meConv),
+ mcDelim(r.mcDelim),
+ mbFirst(r.mbFirst) {}
+
+ void operator() (const ScRange* p)
+ {
+ String aStr;
+ p->Format(aStr, mnFlags, mpDoc, meConv);
+ if (mbFirst)
+ mbFirst = false;
+ else
+ mrStr += mcDelim;
+ mrStr += aStr;
+ }
+private:
+ String& mrStr;
+ USHORT mnFlags;
+ ScDocument* mpDoc;
+ FormulaGrammar::AddressConvention meConv;
+ sal_Unicode mcDelim;
+ bool mbFirst;
+};
+
}
-void ScRangeList::RemoveAll()
+// === ScRangeList ====================================================
+
+ScRangeList::~ScRangeList()
{
- for ( ScRangePtr pR = First(); pR; pR = Next() )
- delete pR;
- Clear();
+ RemoveAll();
}
USHORT ScRangeList::Parse( const String& rStr, ScDocument* pDoc, USHORT nMask,
@@ -86,8 +196,7 @@ USHORT ScRangeList::Parse( const String& rStr, ScDocument* pDoc, USHORT nMask,
aOne = rStr.GetToken( i, cDelimiter );
aRange.aStart.SetTab( nTab ); // Default Tab wenn nicht angegeben
USHORT nRes = aRange.ParseAny( aOne, pDoc, eConv );
- USHORT nEndRangeBits = SCA_VALID_COL2 | SCA_VALID_ROW2 |
-SCA_VALID_TAB2;
+ USHORT nEndRangeBits = SCA_VALID_COL2 | SCA_VALID_ROW2 | SCA_VALID_TAB2;
USHORT nTmp1 = ( nRes & SCA_BITS );
USHORT nTmp2 = ( nRes & nEndRangeBits );
// If we have a valid single range with
@@ -116,21 +225,14 @@ void ScRangeList::Format( String& rStr, USHORT nFlags, ScDocument* pDoc,
if (!cDelimiter)
cDelimiter = ScCompiler::GetNativeSymbol(ocSep).GetChar(0);
- ULONG nCnt = Count();
- for ( ULONG nIdx = 0; nIdx < nCnt; nIdx++ )
- {
- String aStr;
- GetObject( nIdx )->Format( aStr, nFlags, pDoc, eConv );
- if ( nIdx )
- rStr += cDelimiter;
- rStr += aStr;
- }
+ FormatString func(rStr, nFlags, pDoc, eConv, cDelimiter);
+ for_each(maRanges.begin(), maRanges.end(), func);
}
-void ScRangeList::Join( const ScRange& r, BOOL bIsInList )
+void ScRangeList::Join( const ScRange& r, bool bIsInList )
{
- if ( !Count() )
+ if ( maRanges.empty() )
{
Append( r );
return ;
@@ -141,32 +243,43 @@ void ScRangeList::Join( const ScRange& r, BOOL bIsInList )
SCCOL nCol2 = r.aEnd.Col();
SCROW nRow2 = r.aEnd.Row();
SCTAB nTab2 = r.aEnd.Tab();
- ScRangePtr pOver = (ScRangePtr) &r; // fies aber wahr wenn bInList
- ULONG nOldPos = 0;
+
+ ScRange* pOver = (ScRange*) &r; // fies aber wahr wenn bInList
+ size_t nOldPos = 0;
if ( bIsInList )
- { // merken um ggbf. zu loeschen bzw. wiederherzustellen
- nOldPos = GetPos( pOver );
+ {
+ // Find the current position of this range.
+ for ( size_t i = 0, nRanges = maRanges.size(); i < nRanges; ++i )
+ {
+ if ( maRanges[i] == pOver )
+ {
+ nOldPos = i;
+ break;
+ }
+ }
}
- BOOL bJoinedInput = FALSE;
- for ( ScRangePtr p = First(); p && pOver; p = Next() )
+ bool bJoinedInput = false;
+
+ for ( size_t i = 0, nRanges = maRanges.size(); i < nRanges && pOver; ++i )
{
+ ScRange* p = maRanges[i];
if ( p == pOver )
continue; // derselbe, weiter mit dem naechsten
- BOOL bJoined = FALSE;
+ bool bJoined = false;
if ( p->In( r ) )
{ // Range r in Range p enthalten oder identisch
if ( bIsInList )
- bJoined = TRUE; // weg mit Range r
+ bJoined = true; // weg mit Range r
else
{ // das war's dann
- bJoinedInput = TRUE; // nicht anhaengen
+ bJoinedInput = true; // nicht anhaengen
break; // for
}
}
else if ( r.In( *p ) )
{ // Range p in Range r enthalten, r zum neuen Range machen
*p = r;
- bJoined = TRUE;
+ bJoined = true;
}
if ( !bJoined && p->aStart.Tab() == nTab1 && p->aEnd.Tab() == nTab2 )
{ // 2D
@@ -175,12 +288,12 @@ void ScRangeList::Join( const ScRange& r, BOOL bIsInList )
if ( p->aStart.Row() == nRow2+1 )
{ // oben
p->aStart.SetRow( nRow1 );
- bJoined = TRUE;
+ bJoined = true;
}
else if ( p->aEnd.Row() == nRow1-1 )
{ // unten
p->aEnd.SetRow( nRow2 );
- bJoined = TRUE;
+ bJoined = true;
}
}
else if ( p->aStart.Row() == nRow1 && p->aEnd.Row() == nRow2 )
@@ -188,12 +301,12 @@ void ScRangeList::Join( const ScRange& r, BOOL bIsInList )
if ( p->aStart.Col() == nCol2+1 )
{ // links
p->aStart.SetCol( nCol1 );
- bJoined = TRUE;
+ bJoined = true;
}
else if ( p->aEnd.Col() == nCol1-1 )
{ // rechts
p->aEnd.SetCol( nCol2 );
- bJoined = TRUE;
+ bJoined = true;
}
}
}
@@ -201,296 +314,284 @@ void ScRangeList::Join( const ScRange& r, BOOL bIsInList )
{
if ( bIsInList )
{ // innerhalb der Liste Range loeschen
- Remove( nOldPos );
+ Remove(nOldPos);
delete pOver;
pOver = NULL;
if ( nOldPos )
nOldPos--; // Seek richtig aufsetzen
}
- bJoinedInput = TRUE;
- Join( *p, TRUE ); // rekursiv!
+ bJoinedInput = true;
+ Join( *p, true ); // rekursiv!
}
}
- if ( bIsInList )
- Seek( nOldPos );
- else if ( !bJoinedInput )
+ if ( !bIsInList && !bJoinedInput )
Append( r );
}
-BOOL ScRangeList::operator==( const ScRangeList& r ) const
+bool ScRangeList::operator==( const ScRangeList& r ) const
{
if ( this == &r )
- return TRUE; // identische Referenz
- if ( Count() != r.Count() )
- return FALSE;
- ULONG nCnt = Count();
- for ( ULONG nIdx = 0; nIdx < nCnt; nIdx++ )
+ return true;
+
+ if (maRanges.size() != r.maRanges.size())
+ return false;
+
+ vector<ScRange*>::const_iterator itr1 = maRanges.begin(), itrEnd = maRanges.end();
+ vector<ScRange*>::const_iterator itr2 = r.maRanges.begin();
+ for (; itr1 != itrEnd; ++itr1, ++itr2)
{
- if ( *GetObject( nIdx ) != *r.GetObject( nIdx ) )
- return FALSE; // auch andere Reihenfolge ist ungleich
+ const ScRange* p1 = *itr1;
+ const ScRange* p2 = *itr2;
+ if (*p1 != *p2)
+ return false;
}
- return TRUE;
+ return true;
}
-BOOL ScRangeList::operator!=( const ScRangeList& r ) const
+bool ScRangeList::operator!=( const ScRangeList& r ) const
{
return !operator==( r );
}
-BOOL ScRangeList::UpdateReference( UpdateRefMode eUpdateRefMode,
- ScDocument* pDoc, const ScRange& rWhere,
- SCsCOL nDx, SCsROW nDy, SCsTAB nDz )
+bool ScRangeList::UpdateReference(
+ UpdateRefMode eUpdateRefMode,
+ ScDocument* pDoc,
+ const ScRange& rWhere,
+ SCsCOL nDx,
+ SCsROW nDy,
+ SCsTAB nDz
+)
{
- BOOL bChanged = FALSE;
- if ( Count() )
+ if (maRanges.empty())
+ // No ranges to update. Bail out.
+ return false;
+
+ bool bChanged = false;
+ SCCOL nCol1;
+ SCROW nRow1;
+ SCTAB nTab1;
+ SCCOL nCol2;
+ SCROW nRow2;
+ SCTAB nTab2;
+ rWhere.GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
+
+ vector<ScRange*>::iterator itr = maRanges.begin(), itrEnd = maRanges.end();
+ for (; itr != itrEnd; ++itr)
{
- SCCOL nCol1;
- SCROW nRow1;
- SCTAB nTab1;
- SCCOL nCol2;
- SCROW nRow2;
- SCTAB nTab2;
- rWhere.GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
- for ( ScRange* pR = First(); pR; pR = Next() )
+ ScRange* pR = *itr;
+ SCCOL theCol1;
+ SCROW theRow1;
+ SCTAB theTab1;
+ SCCOL theCol2;
+ SCROW theRow2;
+ SCTAB theTab2;
+ pR->GetVars( theCol1, theRow1, theTab1, theCol2, theRow2, theTab2 );
+ if ( ScRefUpdate::Update( pDoc, eUpdateRefMode,
+ nCol1, nRow1, nTab1, nCol2, nRow2, nTab2,
+ nDx, nDy, nDz,
+ theCol1, theRow1, theTab1, theCol2, theRow2, theTab2 )
+ != UR_NOTHING )
{
- SCCOL theCol1;
- SCROW theRow1;
- SCTAB theTab1;
- SCCOL theCol2;
- SCROW theRow2;
- SCTAB theTab2;
- pR->GetVars( theCol1, theRow1, theTab1, theCol2, theRow2, theTab2 );
- if ( ScRefUpdate::Update( pDoc, eUpdateRefMode,
- nCol1, nRow1, nTab1, nCol2, nRow2, nTab2,
- nDx, nDy, nDz,
- theCol1, theRow1, theTab1, theCol2, theRow2, theTab2 )
- != UR_NOTHING )
- {
- bChanged = TRUE;
- pR->aStart.Set( theCol1, theRow1, theTab1 );
- pR->aEnd.Set( theCol2, theRow2, theTab2 );
- }
+ bChanged = true;
+ pR->aStart.Set( theCol1, theRow1, theTab1 );
+ pR->aEnd.Set( theCol2, theRow2, theTab2 );
}
}
return bChanged;
}
-
-ScRange* ScRangeList::Find( const ScAddress& rAdr ) const
+const ScRange* ScRangeList::Find( const ScAddress& rAdr ) const
{
- ULONG nListCount = Count();
- for ( ULONG j = 0; j < nListCount; j++ )
- {
- ScRange* pR = GetObject( j );
- if ( pR->In( rAdr ) )
- return pR;
- }
- return NULL;
+ vector<ScRange*>::const_iterator itr = find_if(
+ maRanges.begin(), maRanges.end(), FindEnclosingRange<ScAddress>(rAdr));
+ return itr == maRanges.end() ? NULL : *itr;
}
+ScRange* ScRangeList::Find( const ScAddress& rAdr )
+{
+ vector<ScRange*>::iterator itr = find_if(
+ maRanges.begin(), maRanges.end(), FindEnclosingRange<ScAddress>(rAdr));
+ return itr == maRanges.end() ? NULL : *itr;
+}
ScRangeList::ScRangeList( const ScRangeList& rList ) :
- ScRangeListBase(),
SvRefBase()
{
- ULONG nListCount = rList.Count();
- for ( ULONG j = 0; j < nListCount; j++ )
- Append( *rList.GetObject( j ) );
+ maRanges.reserve(rList.maRanges.size());
+ for_each(rList.maRanges.begin(), rList.maRanges.end(), AppendToList(maRanges));
}
-
ScRangeList& ScRangeList::operator=(const ScRangeList& rList)
{
RemoveAll();
+ maRanges.reserve(rList.maRanges.size());
+ for_each(rList.maRanges.begin(), rList.maRanges.end(), AppendToList(maRanges));
+ return *this;
+}
- ULONG nListCount = rList.Count();
- for ( ULONG j = 0; j < nListCount; j++ )
- Append( *rList.GetObject( j ) );
+bool ScRangeList::Intersects( const ScRange& rRange ) const
+{
+ vector<ScRange*>::const_iterator itrEnd = maRanges.end();
+ vector<ScRange*>::const_iterator itr =
+ find_if(maRanges.begin(), itrEnd, FindIntersectingRange<ScRange>(rRange));
+ return itr != itrEnd;
+}
- return *this;
+bool ScRangeList::In( const ScRange& rRange ) const
+{
+ vector<ScRange*>::const_iterator itrEnd = maRanges.end();
+ vector<ScRange*>::const_iterator itr =
+ find_if(maRanges.begin(), itrEnd, FindEnclosingRange<ScRange>(rRange));
+ return itr != itrEnd;
}
-BOOL ScRangeList::Intersects( const ScRange& rRange ) const
+size_t ScRangeList::GetCellCount() const
{
- ULONG nListCount = Count();
- for ( ULONG j = 0; j < nListCount; j++ )
- if ( GetObject(j)->Intersects( rRange ) )
- return TRUE;
+ CountCells func;
+ return for_each(maRanges.begin(), maRanges.end(), func).getCellCount();
+}
- return FALSE;
+ScRange* ScRangeList::Remove(size_t nPos)
+{
+ if (maRanges.size() <= nPos)
+ // Out-of-bound condition. Bail out.
+ return NULL;
+
+ vector<ScRange*>::iterator itr = maRanges.begin();
+ advance(itr, nPos);
+ ScRange* p = *itr;
+ maRanges.erase(itr);
+ return p;
}
+void ScRangeList::RemoveAll()
+{
+ for_each(maRanges.begin(), maRanges.end(), DeleteObject<ScRange>());
+ maRanges.clear();
+}
-BOOL ScRangeList::In( const ScRange& rRange ) const
+bool ScRangeList::empty() const
{
- ULONG nListCount = Count();
- for ( ULONG j = 0; j < nListCount; j++ )
- if ( GetObject(j)->In( rRange ) )
- return TRUE;
+ return maRanges.empty();
+}
- return FALSE;
+size_t ScRangeList::size() const
+{
+ return maRanges.size();
}
+ScRange* ScRangeList::operator [](size_t idx)
+{
+ return maRanges[idx];
+}
-ULONG ScRangeList::GetCellCount() const
+const ScRange* ScRangeList::operator [](size_t idx) const
{
- ULONG nCellCount = 0;
- ULONG nListCount = Count();
- for ( ULONG j = 0; j < nListCount; j++ )
- {
- ScRange* pR = GetObject( j );
- nCellCount += ULONG(pR->aEnd.Col() - pR->aStart.Col() + 1)
- * ULONG(pR->aEnd.Row() - pR->aStart.Row() + 1)
- * ULONG(pR->aEnd.Tab() - pR->aStart.Tab() + 1);
- }
- return nCellCount;
+ return maRanges[idx];
}
+ScRange* ScRangeList::front()
+{
+ return maRanges.front();
+}
-// === ScRangePairList ====================================================
+const ScRange* ScRangeList::front() const
+{
+ return maRanges.front();
+}
+
+ScRange* ScRangeList::back()
+{
+ return maRanges.back();
+}
+
+const ScRange* ScRangeList::back() const
+{
+ return maRanges.back();
+}
+
+void ScRangeList::push_back(ScRange* p)
+{
+ maRanges.push_back(p);
+}
+
+// === ScRangePairList ========================================================
ScRangePairList::~ScRangePairList()
{
- for ( ScRangePair* pR = First(); pR; pR = Next() )
- delete pR;
+ for_each( maPairs.begin(), maPairs.end(), DeleteObject<ScRangePair>() );
+ maPairs.clear();
}
+//-----------------------------------------------------------------------------
+ScRangePair* ScRangePairList::Remove(size_t nPos)
+{
+ if (maPairs.size() <= nPos)
+ // Out-of-bound condition. Bail out.
+ return NULL;
+
+ vector<ScRangePair*>::iterator itr = maPairs.begin();
+ advance(itr, nPos);
+ ScRangePair* p = *itr;
+ maPairs.erase(itr);
+ return p;
+}
-void ScRangePairList::Join( const ScRangePair& r, BOOL bIsInList )
+//-----------------------------------------------------------------------------
+ScRangePair* ScRangePairList::Remove( ScRangePair* Adr)
{
- if ( !Count() )
- {
- Append( r );
- return ;
- }
- const ScRange& r1 = r.GetRange(0);
- const ScRange& r2 = r.GetRange(1);
- SCCOL nCol1 = r1.aStart.Col();
- SCROW nRow1 = r1.aStart.Row();
- SCTAB nTab1 = r1.aStart.Tab();
- SCCOL nCol2 = r1.aEnd.Col();
- SCROW nRow2 = r1.aEnd.Row();
- SCTAB nTab2 = r1.aEnd.Tab();
- ScRangePair* pOver = (ScRangePair*) &r; // fies aber wahr wenn bInList
- ULONG nOldPos = 0;
- if ( bIsInList )
- { // merken um ggbf. zu loeschen bzw. wiederherzustellen
- nOldPos = GetPos( pOver );
- }
- BOOL bJoinedInput = FALSE;
- for ( ScRangePair* p = First(); p && pOver; p = Next() )
+ ScRangePair* p = NULL;
+
+ if (Adr == NULL) return NULL;
+
+ for ( vector<ScRangePair*>::iterator itr = maPairs.begin(); itr < maPairs.end(); ++itr )
{
- if ( p == pOver )
- continue; // derselbe, weiter mit dem naechsten
- BOOL bJoined = FALSE;
- ScRange& rp1 = p->GetRange(0);
- ScRange& rp2 = p->GetRange(1);
- if ( rp2 == r2 )
- { // nur wenn Range2 gleich ist
- if ( rp1.In( r1 ) )
- { // RangePair r in RangePair p enthalten oder identisch
- if ( bIsInList )
- bJoined = TRUE; // weg mit RangePair r
- else
- { // das war's dann
- bJoinedInput = TRUE; // nicht anhaengen
- break; // for
- }
- }
- else if ( r1.In( rp1 ) )
- { // RangePair p in RangePair r enthalten, r zum neuen RangePair machen
- *p = r;
- bJoined = TRUE;
- }
- }
- if ( !bJoined && rp1.aStart.Tab() == nTab1 && rp1.aEnd.Tab() == nTab2
- && rp2.aStart.Tab() == r2.aStart.Tab()
- && rp2.aEnd.Tab() == r2.aEnd.Tab() )
- { // 2D, Range2 muss genauso nebeneinander liegen wie Range1
- if ( rp1.aStart.Col() == nCol1 && rp1.aEnd.Col() == nCol2
- && rp2.aStart.Col() == r2.aStart.Col()
- && rp2.aEnd.Col() == r2.aEnd.Col() )
- {
- if ( rp1.aStart.Row() == nRow2+1
- && rp2.aStart.Row() == r2.aEnd.Row()+1 )
- { // oben
- rp1.aStart.SetRow( nRow1 );
- rp2.aStart.SetRow( r2.aStart.Row() );
- bJoined = TRUE;
- }
- else if ( rp1.aEnd.Row() == nRow1-1
- && rp2.aEnd.Row() == r2.aStart.Row()-1 )
- { // unten
- rp1.aEnd.SetRow( nRow2 );
- rp2.aEnd.SetRow( r2.aEnd.Row() );
- bJoined = TRUE;
- }
- }
- else if ( rp1.aStart.Row() == nRow1 && rp1.aEnd.Row() == nRow2
- && rp2.aStart.Row() == r2.aStart.Row()
- && rp2.aEnd.Row() == r2.aEnd.Row() )
- {
- if ( rp1.aStart.Col() == nCol2+1
- && rp2.aStart.Col() == r2.aEnd.Col()+1 )
- { // links
- rp1.aStart.SetCol( nCol1 );
- rp2.aStart.SetCol( r2.aStart.Col() );
- bJoined = TRUE;
- }
- else if ( rp1.aEnd.Col() == nCol1-1
- && rp2.aEnd.Col() == r2.aEnd.Col()-1 )
- { // rechts
- rp1.aEnd.SetCol( nCol2 );
- rp2.aEnd.SetCol( r2.aEnd.Col() );
- bJoined = TRUE;
- }
- }
- }
- if ( bJoined )
+ if ( Adr == (p = *itr) )
{
- if ( bIsInList )
- { // innerhalb der Liste RangePair loeschen
- Remove( nOldPos );
- delete pOver;
- pOver = NULL;
- if ( nOldPos )
- nOldPos--; // Seek richtig aufsetzen
- }
- bJoinedInput = TRUE;
- Join( *p, TRUE ); // rekursiv!
+ maPairs.erase( itr );
+ break;
}
}
- if ( bIsInList )
- Seek( nOldPos );
- else if ( !bJoinedInput )
- Append( r );
+ return p;
}
-
-BOOL ScRangePairList::operator==( const ScRangePairList& r ) const
+bool ScRangePairList::operator==( const ScRangePairList& r ) const
{
if ( this == &r )
- return TRUE; // identische Referenz
- if ( Count() != r.Count() )
- return FALSE;
- ULONG nCnt = Count();
- for ( ULONG nIdx = 0; nIdx < nCnt; nIdx++ )
+ return true; // identische Referenz
+ if ( maPairs.size() != r.size() )
+ return false;
+ for ( size_t nIdx = 0, nCnt = maPairs.size(); nIdx < nCnt; ++nIdx )
{
- if ( *GetObject( nIdx ) != *r.GetObject( nIdx ) )
- return FALSE; // auch andere Reihenfolge ist ungleich
+ if ( *maPairs[ nIdx ] != *r[ nIdx ] )
+ return false; // auch andere Reihenfolge ist ungleich
}
- return TRUE;
+ return true;
+}
+
+ScRangePair* ScRangePairList::operator [](size_t idx)
+{
+ return maPairs[idx];
}
+const ScRangePair* ScRangePairList::operator [](size_t idx) const
+{
+ return maPairs[idx];
+}
+
+size_t ScRangePairList::size() const
+{
+ return maPairs.size();
+}
-BOOL ScRangePairList::UpdateReference( UpdateRefMode eUpdateRefMode,
+bool ScRangePairList::UpdateReference( UpdateRefMode eUpdateRefMode,
ScDocument* pDoc, const ScRange& rWhere,
SCsCOL nDx, SCsROW nDy, SCsTAB nDz )
{
- BOOL bChanged = FALSE;
- if ( Count() )
+ bool bChanged = false;
+ if ( !maPairs.empty() )
{
SCCOL nCol1;
SCROW nRow1;
@@ -499,8 +600,9 @@ BOOL ScRangePairList::UpdateReference( UpdateRefMode eUpdateRefMode,
SCROW nRow2;
SCTAB nTab2;
rWhere.GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
- for ( ScRangePair* pR = First(); pR; pR = Next() )
+ for ( size_t i = 0, nPairs = maPairs.size(); i < nPairs; ++i )
{
+ ScRangePair* pR = maPairs[ i ];
for ( USHORT j=0; j<2; j++ )
{
ScRange& rRange = pR->GetRange(j);
@@ -517,7 +619,7 @@ BOOL ScRangePairList::UpdateReference( UpdateRefMode eUpdateRefMode,
theCol1, theRow1, theTab1, theCol2, theRow2, theTab2 )
!= UR_NOTHING )
{
- bChanged = TRUE;
+ bChanged = true;
rRange.aStart.Set( theCol1, theRow1, theTab1 );
rRange.aEnd.Set( theCol2, theRow2, theTab2 );
}
@@ -527,48 +629,45 @@ BOOL ScRangePairList::UpdateReference( UpdateRefMode eUpdateRefMode,
return bChanged;
}
-
+//-----------------------------------------------------------------------------
+// Delete entries that have the labels (first range) on nTab
void ScRangePairList::DeleteOnTab( SCTAB nTab )
{
- // Delete entries that have the labels (first range) on nTab
-
- ULONG nListCount = Count();
- ULONG nPos = 0;
+ size_t nListCount = maPairs.size();
+ size_t nPos = 0;
while ( nPos < nListCount )
{
- ScRangePair* pR = GetObject( nPos );
+ ScRangePair* pR = maPairs[ nPos ];
ScRange aRange = pR->GetRange(0);
if ( aRange.aStart.Tab() == nTab && aRange.aEnd.Tab() == nTab )
{
Remove( nPos );
delete pR;
- nListCount = Count();
+ nListCount = maPairs.size();
}
else
++nPos;
}
}
-
+//-----------------------------------------------------------------------------
ScRangePair* ScRangePairList::Find( const ScAddress& rAdr ) const
{
- ULONG nListCount = Count();
- for ( ULONG j = 0; j < nListCount; j++ )
+ for ( size_t j = 0, nListCount = maPairs.size(); j < nListCount; j++ )
{
- ScRangePair* pR = GetObject( j );
+ ScRangePair* pR = maPairs[ j ];
if ( pR->GetRange(0).In( rAdr ) )
return pR;
}
return NULL;
}
-
+//-----------------------------------------------------------------------------
ScRangePair* ScRangePairList::Find( const ScRange& rRange ) const
{
- ULONG nListCount = Count();
- for ( ULONG j = 0; j < nListCount; j++ )
+ for ( size_t j = 0, nListCount = maPairs.size(); j < nListCount; j++ )
{
- ScRangePair* pR = GetObject( j );
+ ScRangePair* pR = maPairs[ j ];
if ( pR->GetRange(0) == rRange )
return pR;
}
@@ -576,25 +675,25 @@ ScRangePair* ScRangePairList::Find( const ScRange& rRange ) const
}
+//-----------------------------------------------------------------------------
ScRangePairList* ScRangePairList::Clone() const
{
ScRangePairList* pNew = new ScRangePairList;
- ULONG nListCount = Count();
- for ( ULONG j = 0; j < nListCount; j++ )
+ for ( size_t j = 0, nListCount = maPairs.size(); j < nListCount; j++ )
{
- pNew->Append( *GetObject( j ) );
+ pNew->Append( *maPairs[ j ] );
}
return pNew;
}
-
+//-----------------------------------------------------------------------------
struct ScRangePairNameSort
{
ScRangePair* pPair;
ScDocument* pDoc;
};
-
+//-----------------------------------------------------------------------------
extern "C" int
#ifdef WNT
__cdecl
@@ -673,11 +772,130 @@ ScRangePairList_QsortNameCompare( const void* p1, const void* p2 )
return 0; // just in case
}
+//-----------------------------------------------------------------------------
+void ScRangePairList::Join( const ScRangePair& r, bool bIsInList )
+{
+ if ( maPairs.empty() )
+ {
+ Append( r );
+ return ;
+ }
+ const ScRange& r1 = r.GetRange(0);
+ const ScRange& r2 = r.GetRange(1);
+ SCCOL nCol1 = r1.aStart.Col();
+ SCROW nRow1 = r1.aStart.Row();
+ SCTAB nTab1 = r1.aStart.Tab();
+ SCCOL nCol2 = r1.aEnd.Col();
+ SCROW nRow2 = r1.aEnd.Row();
+ SCTAB nTab2 = r1.aEnd.Tab();
+ ScRangePair* pOver = (ScRangePair*) &r; // fies aber wahr wenn bInList
+ size_t nOldPos = 0;
+ if ( bIsInList )
+ {
+ // Find the current position of this range.
+ for ( size_t i = 0, nPairs = maPairs.size(); i < nPairs; ++i )
+ {
+ if ( maPairs[i] == pOver )
+ {
+ nOldPos = i;
+ break;
+ }
+ }
+ }
+ bool bJoinedInput = false;
-ScRangePair** ScRangePairList::CreateNameSortedArray( ULONG& nListCount,
+ for ( size_t i = 0, nPairs = maPairs.size(); i < nPairs && pOver; ++i )
+ {
+ ScRangePair* p = maPairs[ i ];
+ if ( p == pOver )
+ continue; // derselbe, weiter mit dem naechsten
+ bool bJoined = false;
+ ScRange& rp1 = p->GetRange(0);
+ ScRange& rp2 = p->GetRange(1);
+ if ( rp2 == r2 )
+ { // nur wenn Range2 gleich ist
+ if ( rp1.In( r1 ) )
+ { // RangePair r in RangePair p enthalten oder identisch
+ if ( bIsInList )
+ bJoined = true; // weg mit RangePair r
+ else
+ { // das war's dann
+ bJoinedInput = true; // nicht anhaengen
+ break; // for
+ }
+ }
+ else if ( r1.In( rp1 ) )
+ { // RangePair p in RangePair r enthalten, r zum neuen RangePair machen
+ *p = r;
+ bJoined = true;
+ }
+ }
+ if ( !bJoined && rp1.aStart.Tab() == nTab1 && rp1.aEnd.Tab() == nTab2
+ && rp2.aStart.Tab() == r2.aStart.Tab()
+ && rp2.aEnd.Tab() == r2.aEnd.Tab() )
+ { // 2D, Range2 muss genauso nebeneinander liegen wie Range1
+ if ( rp1.aStart.Col() == nCol1 && rp1.aEnd.Col() == nCol2
+ && rp2.aStart.Col() == r2.aStart.Col()
+ && rp2.aEnd.Col() == r2.aEnd.Col() )
+ {
+ if ( rp1.aStart.Row() == nRow2+1
+ && rp2.aStart.Row() == r2.aEnd.Row()+1 )
+ { // oben
+ rp1.aStart.SetRow( nRow1 );
+ rp2.aStart.SetRow( r2.aStart.Row() );
+ bJoined = true;
+ }
+ else if ( rp1.aEnd.Row() == nRow1-1
+ && rp2.aEnd.Row() == r2.aStart.Row()-1 )
+ { // unten
+ rp1.aEnd.SetRow( nRow2 );
+ rp2.aEnd.SetRow( r2.aEnd.Row() );
+ bJoined = true;
+ }
+ }
+ else if ( rp1.aStart.Row() == nRow1 && rp1.aEnd.Row() == nRow2
+ && rp2.aStart.Row() == r2.aStart.Row()
+ && rp2.aEnd.Row() == r2.aEnd.Row() )
+ {
+ if ( rp1.aStart.Col() == nCol2+1
+ && rp2.aStart.Col() == r2.aEnd.Col()+1 )
+ { // links
+ rp1.aStart.SetCol( nCol1 );
+ rp2.aStart.SetCol( r2.aStart.Col() );
+ bJoined = true;
+ }
+ else if ( rp1.aEnd.Col() == nCol1-1
+ && rp2.aEnd.Col() == r2.aEnd.Col()-1 )
+ { // rechts
+ rp1.aEnd.SetCol( nCol2 );
+ rp2.aEnd.SetCol( r2.aEnd.Col() );
+ bJoined = true;
+ }
+ }
+ }
+ if ( bJoined )
+ {
+ if ( bIsInList )
+ { // innerhalb der Liste RangePair loeschen
+ Remove( nOldPos );
+ delete pOver;
+ pOver = NULL;
+ if ( nOldPos )
+ nOldPos--; // Seek richtig aufsetzen
+ }
+ bJoinedInput = true;
+ Join( *p, true ); // rekursiv!
+ }
+ }
+ if ( !bIsInList && !bJoinedInput )
+ Append( r );
+}
+
+//-----------------------------------------------------------------------------
+ScRangePair** ScRangePairList::CreateNameSortedArray( size_t& nListCount,
ScDocument* pDoc ) const
{
- nListCount = Count();
+ nListCount = maPairs.size();
DBG_ASSERT( nListCount * sizeof(ScRangePairNameSort) <= (size_t)~0x1F,
"ScRangePairList::CreateNameSortedArray nListCount * sizeof(ScRangePairNameSort) > (size_t)~0x1F" );
ScRangePairNameSort* pSortArray = (ScRangePairNameSort*)
@@ -685,7 +903,7 @@ ScRangePair** ScRangePairList::CreateNameSortedArray( ULONG& nListCount,
ULONG j;
for ( j=0; j < nListCount; j++ )
{
- pSortArray[j].pPair = GetObject( j );
+ pSortArray[j].pPair = maPairs[ j ];
pSortArray[j].pDoc = pDoc;
}
#if !(defined(ICC ) && defined(OS2))
@@ -702,7 +920,4 @@ ScRangePair** ScRangePairList::CreateNameSortedArray( ULONG& nListCount,
return ppSortArray;
}
-
-
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/tool/rangenam.cxx b/sc/source/core/tool/rangenam.cxx
index f115f4a4bf62..2976141dcbce 100644
--- a/sc/source/core/tool/rangenam.cxx
+++ b/sc/source/core/tool/rangenam.cxx
@@ -136,15 +136,6 @@ ScRangeData::ScRangeData( ScDocument* pDok,
else
eType = eType | RT_ABSAREA;
}
- // Die Importfilter haben diesen Test nicht,
- // da die benannten Bereiche z.T. noch unvollstaendig sind.
-// if( !pCode->GetCodeLen() )
-// {
-// // ggf. den Fehlercode wg. unvollstaendiger Formel setzen!
-// ScCompiler aComp( pDok, aPos, *pCode );
-// aComp.CompileTokenArray();
-// pCode->DelRPN();
-// }
}
}
@@ -233,10 +224,6 @@ void ScRangeData::GuessPosition()
}
aPos = ScAddress( (SCCOL)(-nMinCol), (SCROW)(-nMinRow), (SCTAB)(-nMinTab) );
-
- //! Test
-// DBG_ERROR(String("Pos ")+String((SCCOL)(-nMinCol))+String("/")+
-// String((SCROW)(-nMinRow))+String("/")+String((SCTAB)(-nMinTab)));
}
void ScRangeData::GetSymbol( String& rSymbol, const FormulaGrammar::Grammar eGrammar ) const
@@ -439,9 +426,8 @@ void ScRangeData::UpdateTabRef(SCTAB nOldTable, USHORT nFlag, SCTAB nNewTable)
}
-void ScRangeData::MakeValidName( String& rName ) // static
+void ScRangeData::MakeValidName( String& rName )
{
- //ScCompiler::InitSymbolsNative();
// strip leading invalid characters
xub_StrLen nPos = 0;
diff --git a/sc/source/core/tool/rangeseq.cxx b/sc/source/core/tool/rangeseq.cxx
index d7b86780e562..10b7f7936528 100644
--- a/sc/source/core/tool/rangeseq.cxx
+++ b/sc/source/core/tool/rangeseq.cxx
@@ -378,7 +378,6 @@ bool ScApiTypeConversion::ConvertAnyToDouble( double & o_fVal,
//------------------------------------------------------------------------
-// static
ScMatrixRef ScSequenceToMatrix::CreateMixedMatrix( const com::sun::star::uno::Any & rAny )
{
ScMatrixRef xMatrix;
@@ -401,9 +400,8 @@ ScMatrixRef ScSequenceToMatrix::CreateMixedMatrix( const com::sun::star::uno::An
xMatrix = new ScMatrix(
static_cast<SCSIZE>(nMaxColCount),
static_cast<SCSIZE>(nRowCount) );
- ScMatrix* pMatrix = xMatrix;
SCSIZE nCols, nRows;
- pMatrix->GetDimensions( nCols, nRows);
+ xMatrix->GetDimensions( nCols, nRows);
if (nCols != static_cast<SCSIZE>(nMaxColCount) || nRows != static_cast<SCSIZE>(nRowCount))
{
DBG_ERRORFILE( "ScSequenceToMatrix::CreateMixedMatrix: matrix exceeded max size, returning NULL matrix");
@@ -420,11 +418,11 @@ ScMatrixRef ScSequenceToMatrix::CreateMixedMatrix( const com::sun::star::uno::An
if (ScApiTypeConversion::ConvertAnyToDouble( fVal, eClass, pColArr[nCol]))
{
if (eClass == uno::TypeClass_BOOLEAN)
- pMatrix->PutBoolean( (fVal ? true : false),
+ xMatrix->PutBoolean( (fVal ? true : false),
static_cast<SCSIZE>(nCol),
static_cast<SCSIZE>(nRow) );
else
- pMatrix->PutDouble( fVal,
+ xMatrix->PutDouble( fVal,
static_cast<SCSIZE>(nCol),
static_cast<SCSIZE>(nRow) );
}
@@ -432,21 +430,19 @@ ScMatrixRef ScSequenceToMatrix::CreateMixedMatrix( const com::sun::star::uno::An
{
// Try string, else use empty as last resort.
- //Reflection* pRefl = pColArr[nCol].getReflection();
- //if ( pRefl->equals( *OUString_getReflection() ) )
if ( pColArr[nCol] >>= aUStr )
- pMatrix->PutString( String( aUStr ),
+ xMatrix->PutString( String( aUStr ),
static_cast<SCSIZE>(nCol),
static_cast<SCSIZE>(nRow) );
else
- pMatrix->PutEmpty(
+ xMatrix->PutEmpty(
static_cast<SCSIZE>(nCol),
static_cast<SCSIZE>(nRow) );
}
}
for (nCol=nColCount; nCol<nMaxColCount; nCol++)
{
- pMatrix->PutEmpty(
+ xMatrix->PutEmpty(
static_cast<SCSIZE>(nCol),
static_cast<SCSIZE>(nRow) );
}
diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx
index 6cae0b6d2f24..c5199519bf12 100644
--- a/sc/source/core/tool/rangeutl.cxx
+++ b/sc/source/core/tool/rangeutl.cxx
@@ -566,8 +566,10 @@ sal_Bool ScRangeStringConverter::GetRangeListFromString(
while( nOffset >= 0 )
{
ScRange* pRange = new ScRange;
- if( GetRangeFromString( *pRange, rRangeListStr, pDocument, eConv, nOffset, cSeperator, cQuote ) && (nOffset >= 0) )
- rRangeList.Insert( pRange, LIST_APPEND );
+ if ( GetRangeFromString( *pRange, rRangeListStr, pDocument, eConv, nOffset, cSeperator, cQuote )
+ && (nOffset >= 0)
+ )
+ rRangeList.push_back( pRange );
else if (nOffset > -1)
bRet = sal_False;
}
@@ -721,10 +723,9 @@ void ScRangeStringConverter::GetStringFromRangeList(
OUString sRangeListStr;
if( pRangeList )
{
- sal_Int32 nCount = pRangeList->Count();
- for( sal_Int32 nIndex = 0; nIndex < nCount; nIndex++ )
+ for( size_t nIndex = 0, nCount = pRangeList->size(); nIndex < nCount; nIndex++ )
{
- const ScRange* pRange = pRangeList->GetObject( nIndex );
+ const ScRange* pRange = (*pRangeList)[nIndex];
if( pRange )
GetStringFromRange( sRangeListStr, *pRange, pDocument, eConv, cSeperator, sal_True, nFormatFlags );
}
@@ -881,7 +882,7 @@ static void lcl_appendCellRangeAddress(
void ScRangeStringConverter::GetStringFromXMLRangeString( OUString& rString, const OUString& rXMLRange, ScDocument* pDoc )
{
FormulaGrammar::AddressConvention eConv = pDoc->GetAddressConvention();
- const OUString aRangeSep = GetScCompilerNativeSymbol(ocSep);
+ const OUString aRangeSep = ScCompiler::GetNativeSymbol(ocSep);
const sal_Unicode cSep = ' ';
const sal_Unicode cQuote = '\'';
diff --git a/sc/source/core/tool/reffind.cxx b/sc/source/core/tool/reffind.cxx
index 49c91cfa42e8..74c62e51f767 100644
--- a/sc/source/core/tool/reffind.cxx
+++ b/sc/source/core/tool/reffind.cxx
@@ -43,7 +43,7 @@
// STATIC DATA -----------------------------------------------------------
// incl. Doppelpunkt -> Doppelte Referenzen werden einzeln behandelt
-const sal_Unicode __FAR_DATA ScRefFinder::pDelimiters[] = {
+const sal_Unicode ScRefFinder::pDelimiters[] = {
'=','(',')','+','-','*','/','^','&',' ','{','}','<','>',':', 0
};
diff --git a/sc/source/core/tool/reftokenhelper.cxx b/sc/source/core/tool/reftokenhelper.cxx
index eaf4b8134490..39dade20b41d 100644
--- a/sc/source/core/tool/reftokenhelper.cxx
+++ b/sc/source/core/tool/reftokenhelper.cxx
@@ -47,9 +47,9 @@ using ::std::auto_ptr;
using ::rtl::OUString;
void ScRefTokenHelper::compileRangeRepresentation(
- vector<ScSharedTokenRef>& rRefTokens, const OUString& rRangeStr, ScDocument* pDoc, FormulaGrammar::Grammar eGrammar)
+ vector<ScTokenRef>& rRefTokens, const OUString& rRangeStr, ScDocument* pDoc, FormulaGrammar::Grammar eGrammar)
{
- const sal_Unicode cSep = GetScCompilerNativeSymbol(ocSep).GetChar(0);
+ const sal_Unicode cSep = ScCompiler::GetNativeSymbol(ocSep).GetChar(0);
const sal_Unicode cQuote = '\'';
// #i107275# ignore parentheses
@@ -109,7 +109,7 @@ void ScRefTokenHelper::compileRangeRepresentation(
}
if (!bFailure)
rRefTokens.push_back(
- ScSharedTokenRef(static_cast<ScToken*>(p->Clone())));
+ ScTokenRef(static_cast<ScToken*>(p->Clone())));
}
}
@@ -118,7 +118,7 @@ void ScRefTokenHelper::compileRangeRepresentation(
rRefTokens.clear();
}
-bool ScRefTokenHelper::getRangeFromToken(ScRange& rRange, const ScSharedTokenRef& pToken, bool bExternal)
+bool ScRefTokenHelper::getRangeFromToken(ScRange& rRange, const ScTokenRef& pToken, bool bExternal)
{
StackVar eType = pToken->GetType();
switch (pToken->GetType())
@@ -159,9 +159,9 @@ bool ScRefTokenHelper::getRangeFromToken(ScRange& rRange, const ScSharedTokenRef
return false;
}
-void ScRefTokenHelper::getRangeListFromTokens(ScRangeList& rRangeList, const vector<ScSharedTokenRef>& rTokens)
+void ScRefTokenHelper::getRangeListFromTokens(ScRangeList& rRangeList, const vector<ScTokenRef>& rTokens)
{
- vector<ScSharedTokenRef>::const_iterator itr = rTokens.begin(), itrEnd = rTokens.end();
+ vector<ScTokenRef>::const_iterator itr = rTokens.begin(), itrEnd = rTokens.end();
for (; itr != itrEnd; ++itr)
{
ScRange aRange;
@@ -170,7 +170,7 @@ void ScRefTokenHelper::getRangeListFromTokens(ScRangeList& rRangeList, const vec
}
}
-void ScRefTokenHelper::getTokenFromRange(ScSharedTokenRef& pToken, const ScRange& rRange)
+void ScRefTokenHelper::getTokenFromRange(ScTokenRef& pToken, const ScRange& rRange)
{
ScComplexRefData aData;
aData.InitFlags();
@@ -195,26 +195,26 @@ void ScRefTokenHelper::getTokenFromRange(ScSharedTokenRef& pToken, const ScRange
pToken.reset(new ScDoubleRefToken(aData));
}
-void ScRefTokenHelper::getTokensFromRangeList(vector<ScSharedTokenRef>& pTokens, const ScRangeList& rRanges)
+void ScRefTokenHelper::getTokensFromRangeList(vector<ScTokenRef>& pTokens, const ScRangeList& rRanges)
{
- vector<ScSharedTokenRef> aTokens;
- sal_uInt32 nCount = rRanges.Count();
+ vector<ScTokenRef> aTokens;
+ size_t nCount = rRanges.size();
aTokens.reserve(nCount);
- for (sal_uInt32 i = 0; i < nCount; ++i)
+ for (size_t i = 0; i < nCount; ++i)
{
- ScRange* pRange = static_cast<ScRange*>(rRanges.GetObject(i));
+ const ScRange* pRange = rRanges[i];
if (!pRange)
// failed.
return;
- ScSharedTokenRef pToken;
+ ScTokenRef pToken;
ScRefTokenHelper::getTokenFromRange(pToken,* pRange);
aTokens.push_back(pToken);
}
pTokens.swap(aTokens);
}
-bool ScRefTokenHelper::isRef(const ScSharedTokenRef& pToken)
+bool ScRefTokenHelper::isRef(const ScTokenRef& pToken)
{
switch (pToken->GetType())
{
@@ -229,7 +229,7 @@ bool ScRefTokenHelper::isRef(const ScSharedTokenRef& pToken)
return false;
}
-bool ScRefTokenHelper::isExternalRef(const ScSharedTokenRef& pToken)
+bool ScRefTokenHelper::isExternalRef(const ScTokenRef& pToken)
{
switch (pToken->GetType())
{
@@ -242,7 +242,7 @@ bool ScRefTokenHelper::isExternalRef(const ScSharedTokenRef& pToken)
return false;
}
-bool ScRefTokenHelper::intersects(const vector<ScSharedTokenRef>& rTokens, const ScSharedTokenRef& pToken)
+bool ScRefTokenHelper::intersects(const vector<ScTokenRef>& rTokens, const ScTokenRef& pToken)
{
if (!isRef(pToken))
return false;
@@ -253,10 +253,10 @@ bool ScRefTokenHelper::intersects(const vector<ScSharedTokenRef>& rTokens, const
ScRange aRange;
getRangeFromToken(aRange, pToken, bExternal);
- vector<ScSharedTokenRef>::const_iterator itr = rTokens.begin(), itrEnd = rTokens.end();
+ vector<ScTokenRef>::const_iterator itr = rTokens.begin(), itrEnd = rTokens.end();
for (; itr != itrEnd; ++itr)
{
- const ScSharedTokenRef& p = *itr;
+ const ScTokenRef& p = *itr;
if (!isRef(p))
continue;
@@ -288,7 +288,7 @@ public:
* @param rTokens existing list of reference tokens
* @param rToken new token
*/
- void operator() (vector<ScSharedTokenRef>& rTokens, const ScSharedTokenRef& pToken)
+ void operator() (vector<ScTokenRef>& rTokens, const ScTokenRef& pToken)
{
join(rTokens, pToken);
}
@@ -331,7 +331,7 @@ private:
return (bRowsContained && bColsContained);
}
- void join(vector<ScSharedTokenRef>& rTokens, const ScSharedTokenRef& pToken)
+ void join(vector<ScTokenRef>& rTokens, const ScTokenRef& pToken)
{
// Normalize the token to a double reference.
ScComplexRefData aData;
@@ -344,10 +344,10 @@ private:
String aTabName = bExternal ? pToken->GetString() : String();
bool bJoined = false;
- vector<ScSharedTokenRef>::iterator itr = rTokens.begin(), itrEnd = rTokens.end();
+ vector<ScTokenRef>::iterator itr = rTokens.begin(), itrEnd = rTokens.end();
for (; itr != itrEnd; ++itr)
{
- ScSharedTokenRef& pOldToken = *itr;
+ ScTokenRef& pOldToken = *itr;
if (!ScRefTokenHelper::isRef(pOldToken))
// A non-ref token should not have been added here in the first
@@ -417,7 +417,7 @@ private:
return;
// Pop the last token from the list, and keep joining recursively.
- ScSharedTokenRef p = rTokens.back();
+ ScTokenRef p = rTokens.back();
rTokens.pop_back();
join(rTokens, p);
}
@@ -428,13 +428,13 @@ private:
}
-void ScRefTokenHelper::join(vector<ScSharedTokenRef>& rTokens, const ScSharedTokenRef& pToken)
+void ScRefTokenHelper::join(vector<ScTokenRef>& rTokens, const ScTokenRef& pToken)
{
JoinRefTokenRanges join;
join(rTokens, pToken);
}
-bool ScRefTokenHelper::getDoubleRefDataFromToken(ScComplexRefData& rData, const ScSharedTokenRef& pToken)
+bool ScRefTokenHelper::getDoubleRefDataFromToken(ScComplexRefData& rData, const ScTokenRef& pToken)
{
switch (pToken->GetType())
{
@@ -459,19 +459,19 @@ bool ScRefTokenHelper::getDoubleRefDataFromToken(ScComplexRefData& rData, const
return true;
}
-ScSharedTokenRef ScRefTokenHelper::createRefToken(const ScAddress& rAddr)
+ScTokenRef ScRefTokenHelper::createRefToken(const ScAddress& rAddr)
{
ScSingleRefData aRefData;
aRefData.InitAddress(rAddr);
- ScSharedTokenRef pRef(new ScSingleRefToken(aRefData));
+ ScTokenRef pRef(new ScSingleRefToken(aRefData));
return pRef;
}
-ScSharedTokenRef ScRefTokenHelper::createRefToken(const ScRange& rRange)
+ScTokenRef ScRefTokenHelper::createRefToken(const ScRange& rRange)
{
ScComplexRefData aRefData;
aRefData.InitRange(rRange);
- ScSharedTokenRef pRef(new ScDoubleRefToken(aRefData));
+ ScTokenRef pRef(new ScDoubleRefToken(aRefData));
return pRef;
}
diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx
index c7232c3adebc..7c113bfa3652 100644
--- a/sc/source/core/tool/scmatrix.cxx
+++ b/sc/source/core/tool/scmatrix.cxx
@@ -42,411 +42,460 @@
#include <math.h>
-//------------------------------------------------------------------------
+#define MDDS_HASH_CONTAINER_STLPORT 1
+#include <mdds/mixed_type_matrix.hpp>
-void ScMatrix::CreateMatrix(SCSIZE nC, SCSIZE nR) // nur fuer ctor
+using ::std::pair;
+using ::std::for_each;
+using ::std::count_if;
+using ::std::advance;
+using ::std::unary_function;
+using ::mdds::matrix_element_t;
+
+// ============================================================================
+
+namespace {
+
+typedef ::mdds::mixed_type_matrix<String, sal_uInt8> MatrixImplType;
+
+struct ElemEqual : public unary_function<double, bool>
{
- pErrorInterpreter = NULL;
- nColCount = nC;
- nRowCount = nR;
- SCSIZE nCount = nColCount * nRowCount;
- if ( !nCount || nCount > GetElementsMax() )
+ bool operator() (double val) const
{
- DBG_ERRORFILE("ScMatrix::CreateMatrix: dimension error");
- nColCount = nRowCount = 1;
- pMat = new ScMatrixValue[1];
- pMat[0].fVal = CreateDoubleError( errStackOverflow);
+ return val == 0.0;
}
- else
- pMat = new ScMatrixValue[nCount];
- mnValType = NULL;
- mnNonValue = 0;
-}
+};
+
+struct ElemNotEqual : public unary_function<double, bool>
+{
+ bool operator() (double val) const
+ {
+ return val != 0.0;
+ }
+};
+
+struct ElemGreater : public unary_function<double, bool>
+{
+ bool operator() (double val) const
+ {
+ return val > 0.0;
+ }
+};
-void ScMatrix::Clear()
+struct ElemLess : public unary_function<double, bool>
{
- DeleteIsString();
- delete [] pMat;
+ bool operator() (double val) const
+ {
+ return val < 0.0;
+ }
+};
+
+struct ElemGreaterEqual : public unary_function<double, bool>
+{
+ bool operator() (double val) const
+ {
+ return val >= 0.0;
+ }
+};
+
+struct ElemLessEqual : public unary_function<double, bool>
+{
+ bool operator() (double val) const
+ {
+ return val <= 0.0;
+ }
+};
+
+template<typename _Comp>
+void compareMatrix(MatrixImplType& rMat)
+{
+ pair<size_t,size_t> aDim = rMat.size();
+ _Comp aComp;
+ for (size_t i = 0; i < aDim.first; ++i)
+ {
+ for (size_t j = 0; j < aDim.second; ++j)
+ {
+ matrix_element_t eType = rMat.get_type(i, j);
+ if (eType != mdds::element_numeric && eType == mdds::element_boolean)
+ continue;
+
+ double fVal = rMat.get_numeric(i, j);
+ if (!::rtl::math::isFinite(fVal))
+ continue;
+
+ rMat.set_boolean(i, j, aComp(fVal));
+ }
+ }
}
-ScMatrix::~ScMatrix()
+::mdds::matrix_density_t toMddsDensityType(ScMatrix::DensityType eType)
{
- Clear();
+ switch (eType)
+ {
+ case ScMatrix::FILLED_EMPTY:
+ return mdds::matrix_density_filled_empty;
+ case ScMatrix::FILLED_ZERO:
+ return mdds::matrix_density_filled_zero;
+ case ScMatrix::SPARSE_EMPTY:
+ return mdds::matrix_density_sparse_empty;
+ case ScMatrix::SPARSE_ZERO:
+ return mdds::matrix_density_sparse_zero;
+ default:
+ ;
+ }
+
+ // default density type
+ return mdds::matrix_density_filled_zero;
}
-ScMatrix* ScMatrix::Clone() const
+/**
+ * Return a numeric value from a matrix element no matter what its type is.
+ */
+double getNumericValue(const MatrixImplType::element& elem)
{
- ScMatrix* pScMat = new ScMatrix( nColCount, nRowCount);
- MatCopy(*pScMat);
- pScMat->SetErrorInterpreter( pErrorInterpreter); // TODO: really?
- return pScMat;
+ switch (elem.m_type)
+ {
+ case mdds::element_boolean:
+ return static_cast<double>(elem.m_boolean);
+ case mdds::element_numeric:
+ return elem.m_numeric;
+ default:
+ ;
+ }
+ return 0.0;
}
-ScMatrix* ScMatrix::CloneIfConst()
+}
+
+class ScMatrixImpl
+{
+ MatrixImplType maMat;
+ ScMatrix::DensityType meType;
+ ScInterpreter* pErrorInterpreter;
+ bool mbCloneIfConst; // Whether the matrix is cloned with a CloneIfConst() call.
+
+ ScMatrixImpl();
+ ScMatrixImpl(const ScMatrixImpl&);
+public:
+ ScMatrixImpl(SCSIZE nC, SCSIZE nR, ScMatrix::DensityType eType);
+ ~ScMatrixImpl();
+
+ void Clear();
+ void SetImmutable(bool bVal);
+ bool IsImmutable() const;
+ void Resize(SCSIZE nC, SCSIZE nR);
+ ScMatrix::DensityType GetDensityType() const;
+ void SetErrorInterpreter( ScInterpreter* p);
+ ScInterpreter* GetErrorInterpreter() const { return pErrorInterpreter; }
+
+ void GetDimensions( SCSIZE& rC, SCSIZE& rR) const;
+ SCSIZE GetElementCount() const;
+ bool ValidColRow( SCSIZE nC, SCSIZE nR) const;
+ SCSIZE CalcOffset( SCSIZE nC, SCSIZE nR) const;
+ bool ValidColRowReplicated( SCSIZE & rC, SCSIZE & rR ) const;
+ bool ValidColRowOrReplicated( SCSIZE & rC, SCSIZE & rR ) const;
+ void SetErrorAtInterpreter( USHORT nError ) const;
+ void PutDouble(double fVal, SCSIZE nC, SCSIZE nR);
+ void PutDouble( double fVal, SCSIZE nIndex);
+ void PutString(const String& rStr, SCSIZE nC, SCSIZE nR);
+ void PutString(const String& rStr, SCSIZE nIndex);
+
+ void PutEmpty(SCSIZE nC, SCSIZE nR);
+ void PutEmptyPath(SCSIZE nC, SCSIZE nR);
+ void PutError( USHORT nErrorCode, SCSIZE nC, SCSIZE nR );
+ void PutBoolean(bool bVal, SCSIZE nC, SCSIZE nR);
+ USHORT GetError( SCSIZE nC, SCSIZE nR) const;
+ double GetDouble(SCSIZE nC, SCSIZE nR) const;
+ double GetDouble( SCSIZE nIndex) const;
+ const String& GetString(SCSIZE nC, SCSIZE nR) const;
+ const String& GetString( SCSIZE nIndex) const;
+ String GetString( SvNumberFormatter& rFormatter, SCSIZE nC, SCSIZE nR) const;
+ ScMatrixValue Get(SCSIZE nC, SCSIZE nR) const;
+ bool IsString( SCSIZE nIndex ) const;
+ bool IsString( SCSIZE nC, SCSIZE nR ) const;
+ bool IsEmpty( SCSIZE nC, SCSIZE nR ) const;
+ bool IsEmptyPath( SCSIZE nC, SCSIZE nR ) const;
+ bool IsValue( SCSIZE nIndex ) const;
+ bool IsValue( SCSIZE nC, SCSIZE nR ) const;
+ bool IsValueOrEmpty( SCSIZE nC, SCSIZE nR ) const;
+ bool IsBoolean( SCSIZE nC, SCSIZE nR ) const;
+ bool IsNumeric() const;
+ void MatCopy(ScMatrixImpl& mRes) const;
+ void MatTrans(ScMatrixImpl& mRes) const;
+ void FillDouble( double fVal, SCSIZE nC1, SCSIZE nR1, SCSIZE nC2, SCSIZE nR2 );
+ void CompareEqual();
+ void CompareNotEqual();
+ void CompareLess();
+ void CompareGreater();
+ void CompareLessEqual();
+ void CompareGreaterEqual();
+ double And() const;
+ double Or() const;
+
+ ScMatrix::IterateResult Sum(bool bTextAsZero) const;
+ ScMatrix::IterateResult SumSquare(bool bTextAsZero) const;
+ ScMatrix::IterateResult Product(bool bTextAsZero) const;
+ size_t Count(bool bCountStrings) const;
+
+private:
+ void CalcPosition(SCSIZE nIndex, SCSIZE& rC, SCSIZE& rR) const;
+};
+
+ScMatrixImpl::ScMatrixImpl(SCSIZE nC, SCSIZE nR, ScMatrix::DensityType eType) :
+ maMat(nR, nC, toMddsDensityType(eType)),
+ meType(eType),
+ mbCloneIfConst(true)
{
- return (mbCloneIfConst || IsEternalRef()) ? Clone() : this;
}
-void ScMatrix::Resize( SCSIZE nC, SCSIZE nR)
+ScMatrixImpl::~ScMatrixImpl()
{
Clear();
- CreateMatrix(nC, nR);
}
-ScMatrix* ScMatrix::CloneAndExtend( SCSIZE nNewCols, SCSIZE nNewRows ) const
+void ScMatrixImpl::Clear()
{
- ScMatrix* pScMat = new ScMatrix( nNewCols, nNewRows);
- MatCopy(*pScMat);
- pScMat->SetErrorInterpreter( pErrorInterpreter);
- return pScMat;
+ maMat.clear();
}
-void ScMatrix::SetErrorAtInterpreter( USHORT nError ) const
+void ScMatrixImpl::SetImmutable(bool bVal)
{
- if ( pErrorInterpreter )
- pErrorInterpreter->SetError( nError);
+ mbCloneIfConst = bVal;
}
-//
-// File format: USHORT columns, USHORT rows, (columns*rows) entries:
-// BYTE type ( CELLTYPE_NONE, CELLTYPE_VALUE, CELLTYPE_STRING ); nothing, double or String
-//
+bool ScMatrixImpl::IsImmutable() const
+{
+ return mbCloneIfConst;
+}
-ScMatrix::ScMatrix(SvStream& /* rStream */)
- : pErrorInterpreter( NULL)
- , nRefCnt(0)
+void ScMatrixImpl::Resize(SCSIZE nC, SCSIZE nR)
{
-#if SC_ROWLIMIT_STREAM_ACCESS
-#error address types changed!
- USHORT nC;
- USHORT nR;
+ maMat.resize(nR, nC);
+}
- rStream >> nC;
- rStream >> nR;
+ScMatrix::DensityType ScMatrixImpl::GetDensityType() const
+{
+ return meType;
+}
- CreateMatrix(nC, nR);
- DBG_ASSERT( pMat, "pMat == NULL" );
+void ScMatrixImpl::SetErrorInterpreter( ScInterpreter* p)
+{
+ pErrorInterpreter = p;
+}
- String aMatStr;
- double fVal;
- rtl_TextEncoding eCharSet = rStream.GetStreamCharSet();
- SCSIZE nCount = nColCount * nRowCount;
- SCSIZE nReadCount = (SCSIZE) nC * nR;
- for (SCSIZE i=0; i<nReadCount; i++)
- {
- BYTE nType;
- rStream >> nType;
- if ( nType == CELLTYPE_VALUE )
- {
- if ( i < nCount )
- rStream >> pMat[i].fVal;
- else
- rStream >> fVal;
- }
- else
- {
- // For unknown types read and forget string (upwards compatibility)
-
- if ( nType != CELLTYPE_NONE )
- rStream.ReadByteString( aMatStr, eCharSet );
-
- if ( i < nCount )
- {
- if (!mnValType)
- ResetIsString(); // init string flags
- mnValType[i] = ( nType == CELLTYPE_NONE ? SC_MATVAL_EMPTY : SC_MATVAL_STRING );
- mnNonValue++;
-
- if ( nType == CELLTYPE_STRING )
- pMat[i].pS = new String(aMatStr);
- else
- pMat[i].pS = NULL;
- }
- }
- }
-#else
- CreateMatrix(0,0);
-#endif // SC_ROWLIMIT_STREAM_ACCESS
-}
-
-void ScMatrix::Store(SvStream& /* rStream */) const
-{
-#if SC_ROWLIMIT_STREAM_ACCESS
-#error address types changed!
- SCSIZE nCount = nColCount * nRowCount;
- // Don't store matrix with more than USHORT max elements, old versions
- // might get confused in loops for(USHORT i=0; i<nC*nR; i++)
- if ( !pMat || nCount > ((USHORT)(~0)) )
- {
- DBG_ASSERT( pMat, "ScMatrix::Store: pMat == NULL" );
- // We can't store a 0 dimension because old versions rely on some
- // matrix being present, e.g. DDE link results, and old versions didn't
- // create a matrix if dimension was 0. Store an error result.
- rStream << (USHORT) 1;
- rStream << (USHORT) 1;
- rStream << (BYTE) CELLTYPE_VALUE;
- double fVal;
- ::rtl::math::setNan( &fVal );
- rStream << fVal;
- return;
- }
+void ScMatrixImpl::GetDimensions( SCSIZE& rC, SCSIZE& rR) const
+{
+ MatrixImplType::size_pair_type aDims = maMat.size();
+ rR = aDims.first;
+ rC = aDims.second;
+}
- rStream << (USHORT) nColCount;
-#if SC_ROWLIMIT_MORE_THAN_32K
- #error row32k
-#endif
- rStream << (USHORT) nRowCount;
+SCSIZE ScMatrixImpl::GetElementCount() const
+{
+ MatrixImplType::size_pair_type aDims = maMat.size();
+ return aDims.first * aDims.second;
+}
- String aMatStr;
- rtl_TextEncoding eCharSet = rStream.GetStreamCharSet();
- for (SCSIZE i=0; i<nCount; i++)
- {
- BYTE nType = CELLTYPE_VALUE;
- if ( mnValType && IsNonValueType( mnValType[i]))
- {
- if ( pMat[i].pS )
- aMatStr = *pMat[i].pS;
- else
- aMatStr.Erase();
-
- if ( mnValType[i] == SC_MATVAL_STRING )
- nType = CELLTYPE_STRING;
- else
- nType = CELLTYPE_NONE;
- }
- rStream << nType;
- if ( nType == CELLTYPE_VALUE )
- rStream << pMat[i].fVal;
- else if ( nType == CELLTYPE_STRING )
- rStream.WriteByteString( aMatStr, eCharSet );
- }
-#endif // SC_ROWLIMIT_STREAM_ACCESS
+bool ScMatrixImpl::ValidColRow( SCSIZE nC, SCSIZE nR) const
+{
+ MatrixImplType::size_pair_type aDims = maMat.size();
+ return nR < aDims.first && nC < aDims.second;
}
-void ScMatrix::ResetIsString()
+SCSIZE ScMatrixImpl::CalcOffset( SCSIZE nC, SCSIZE nR) const
{
- SCSIZE nCount = nColCount * nRowCount;
- if (mnValType)
- {
- for (SCSIZE i = 0; i < nCount; i++)
- {
- if ( IsNonValueType( mnValType[i]))
- delete pMat[i].pS;
- }
- }
- else
- mnValType = new BYTE[nCount];
- memset( mnValType, 0, nCount * sizeof( BYTE ) );
- mnNonValue = 0;
+ return nC * maMat.size().first + nR;
}
-void ScMatrix::DeleteIsString()
+bool ScMatrixImpl::ValidColRowReplicated( SCSIZE & rC, SCSIZE & rR ) const
{
- if ( mnValType )
+ pair<size_t, size_t> aDims = maMat.size();
+
+ if (aDims.second == 1 && aDims.first == 1)
{
- SCSIZE nCount = nColCount * nRowCount;
- for ( SCSIZE i = 0; i < nCount; i++ )
- {
- if (IsNonValueType( mnValType[i]))
- delete pMat[i].pS;
- }
- delete [] mnValType;
- mnValType = NULL;
- mnNonValue = 0;
+ rC = 0;
+ rR = 0;
+ return true;
+ }
+ else if (aDims.second == 1 && rR < aDims.first)
+ {
+ // single column matrix.
+ rC = 0;
+ return true;
}
+ else if (aDims.first == 1 && rC < aDims.second)
+ {
+ // single row matrix.
+ rR = 0;
+ return true;
+ }
+ return false;
}
-void ScMatrix::PutDouble(double fVal, SCSIZE nC, SCSIZE nR)
+bool ScMatrixImpl::ValidColRowOrReplicated( SCSIZE & rC, SCSIZE & rR ) const
{
- if (ValidColRow( nC, nR))
- PutDouble( fVal, CalcOffset( nC, nR) );
- else
- {
- DBG_ERRORFILE("ScMatrix::PutDouble: dimension error");
- }
+ return ValidColRow( rC, rR) || ValidColRowReplicated( rC, rR);
}
-void ScMatrix::PutString(const String& rStr, SCSIZE nC, SCSIZE nR)
+void ScMatrixImpl::SetErrorAtInterpreter( USHORT nError ) const
{
- if (ValidColRow( nC, nR))
- PutString( rStr, CalcOffset( nC, nR) );
- else
- {
- DBG_ERRORFILE("ScMatrix::PutString: dimension error");
- }
+ if ( pErrorInterpreter )
+ pErrorInterpreter->SetError( nError);
}
-void ScMatrix::PutString(const String& rStr, SCSIZE nIndex)
+void ScMatrixImpl::PutDouble(double fVal, SCSIZE nC, SCSIZE nR)
{
- if (mnValType == NULL)
- ResetIsString();
- if ( IsNonValueType( mnValType[nIndex]) && pMat[nIndex].pS )
- *(pMat[nIndex].pS) = rStr;
+ if (ValidColRow( nC, nR))
+ maMat.set_numeric(nR, nC, fVal);
else
{
- pMat[nIndex].pS = new String(rStr);
- mnNonValue++;
+ DBG_ERRORFILE("ScMatrixImpl::PutDouble: dimension error");
}
- mnValType[nIndex] = SC_MATVAL_STRING;
}
-void ScMatrix::PutStringEntry( const String* pStr, BYTE bFlag, SCSIZE nIndex )
+void ScMatrixImpl::PutDouble( double fVal, SCSIZE nIndex)
{
- DBG_ASSERT( bFlag, "ScMatrix::PutStringEntry: bFlag == 0" );
- if (mnValType == NULL)
- ResetIsString();
- // Make sure all bytes of the union are initialized to be able to access
- // the value with if (IsValueOrEmpty()) GetDouble(). Backup pS first.
- String* pS = pMat[nIndex].pS;
- pMat[nIndex].fVal = 0.0;
- // An EMPTY or EMPTYPATH entry must not have a string pointer therefor.
- DBG_ASSERT( (((bFlag & SC_MATVAL_EMPTY) == SC_MATVAL_EMPTY) && !pStr) || TRUE,
- "ScMatrix::PutStringEntry: pStr passed through EMPTY entry");
- if ( IsNonValueType( mnValType[nIndex]) && pS )
- {
- if ((bFlag & SC_MATVAL_EMPTY) == SC_MATVAL_EMPTY)
- delete pS, pS = NULL;
- if ( pStr )
- *pS = *pStr;
- else if (pS)
- pS->Erase();
- pMat[nIndex].pS = pS;
- }
- else
- {
- pMat[nIndex].pS = (pStr ? new String(*pStr) : NULL);
- mnNonValue++;
- }
- mnValType[nIndex] = bFlag;
+ SCSIZE nC, nR;
+ CalcPosition(nIndex, nC, nR);
+ PutDouble(fVal, nC, nR);
}
-void ScMatrix::PutEmpty(SCSIZE nC, SCSIZE nR)
+void ScMatrixImpl::PutString(const String& rStr, SCSIZE nC, SCSIZE nR)
{
if (ValidColRow( nC, nR))
- PutEmpty( CalcOffset( nC, nR) );
+ maMat.set_string(nR, nC, new String(rStr));
else
{
- DBG_ERRORFILE("ScMatrix::PutEmpty: dimension error");
+ DBG_ERRORFILE("ScMatrixImpl::PutString: dimension error");
}
}
-void ScMatrix::PutEmpty(SCSIZE nIndex)
+void ScMatrixImpl::PutString(const String& rStr, SCSIZE nIndex)
{
- if (mnValType == NULL)
- ResetIsString();
- if ( IsNonValueType( mnValType[nIndex]) && pMat[nIndex].pS )
- {
- delete pMat[nIndex].pS;
- }
- else
- {
- mnNonValue++;
- }
- mnValType[nIndex] = SC_MATVAL_EMPTY;
- pMat[nIndex].pS = NULL;
- pMat[nIndex].fVal = 0.0;
+ SCSIZE nC, nR;
+ CalcPosition(nIndex, nC, nR);
+ PutString(rStr, nC, nR);
}
-void ScMatrix::PutEmptyPath(SCSIZE nC, SCSIZE nR)
+void ScMatrixImpl::PutEmpty(SCSIZE nC, SCSIZE nR)
{
if (ValidColRow( nC, nR))
- PutEmptyPath( CalcOffset( nC, nR) );
+ {
+ maMat.set_empty(nR, nC);
+ maMat.clear_flag(nR, nC); // zero flag to indicate that this is 'empty', not 'empty path'.
+ }
else
{
- DBG_ERRORFILE("ScMatrix::PutEmptyPath: dimension error");
+ DBG_ERRORFILE("ScMatrixImpl::PutEmpty: dimension error");
}
}
-void ScMatrix::PutEmptyPath(SCSIZE nIndex)
+void ScMatrixImpl::PutEmptyPath(SCSIZE nC, SCSIZE nR)
{
- if (mnValType == NULL)
- ResetIsString();
- if ( IsNonValueType( mnValType[nIndex]) && pMat[nIndex].pS )
+ if (ValidColRow( nC, nR))
{
- delete pMat[nIndex].pS;
+ maMat.set_empty(nR, nC);
+ maMat.set_flag(nR, nC, 1); // non-zero flag to indicate empty 'path'.
}
else
{
- mnNonValue++;
+ DBG_ERRORFILE("ScMatrixImpl::PutEmptyPath: dimension error");
}
- mnValType[nIndex] = SC_MATVAL_EMPTYPATH;
- pMat[nIndex].pS = NULL;
- pMat[nIndex].fVal = 0.0;
}
-void ScMatrix::PutBoolean(bool bVal, SCSIZE nC, SCSIZE nR)
+void ScMatrixImpl::PutError( USHORT nErrorCode, SCSIZE nC, SCSIZE nR )
{
- if (ValidColRow( nC, nR))
- PutBoolean( bVal, CalcOffset( nC, nR) );
- else
- {
- DBG_ERRORFILE("ScMatrix::PutBoolean: dimension error");
- }
+ maMat.set_numeric(nR, nC, CreateDoubleError(nErrorCode));
}
-void ScMatrix::PutBoolean( bool bVal, SCSIZE nIndex)
+void ScMatrixImpl::PutBoolean(bool bVal, SCSIZE nC, SCSIZE nR)
{
- if (mnValType == NULL)
- ResetIsString();
- if ( IsNonValueType( mnValType[nIndex]) && pMat[nIndex].pS )
+ if (ValidColRow( nC, nR))
+ maMat.set_boolean(nR, nC, bVal);
+ else
{
- delete pMat[nIndex].pS;
- mnNonValue--;
+ DBG_ERRORFILE("ScMatrixImpl::PutBoolean: dimension error");
}
-
- mnValType[nIndex] = SC_MATVAL_BOOLEAN;
- pMat[nIndex].pS = NULL;
- pMat[nIndex].fVal = bVal ? 1. : 0.;
}
-USHORT ScMatrix::GetError( SCSIZE nC, SCSIZE nR) const
+USHORT ScMatrixImpl::GetError( SCSIZE nC, SCSIZE nR) const
{
if (ValidColRowOrReplicated( nC, nR ))
- return GetError( CalcOffset( nC, nR) );
+ {
+ double fVal = maMat.get_numeric(nR, nC);
+ return GetDoubleErrorValue(fVal);
+ }
else
{
- DBG_ERRORFILE("ScMatrix::GetError: dimension error");
+ DBG_ERRORFILE("ScMatrixImpl::GetError: dimension error");
return errNoValue;
}
}
-double ScMatrix::GetDouble(SCSIZE nC, SCSIZE nR) const
+double ScMatrixImpl::GetDouble(SCSIZE nC, SCSIZE nR) const
{
if (ValidColRowOrReplicated( nC, nR ))
- return GetDouble( CalcOffset( nC, nR) );
+ {
+ double fVal = maMat.get_numeric(nR, nC);
+ if ( pErrorInterpreter )
+ {
+ USHORT nError = GetDoubleErrorValue(fVal);
+ if ( nError )
+ SetErrorAtInterpreter( nError);
+ }
+ return fVal;
+ }
else
{
- DBG_ERRORFILE("ScMatrix::GetDouble: dimension error");
+ DBG_ERRORFILE("ScMatrixImpl::GetDouble: dimension error");
return CreateDoubleError( errNoValue);
}
}
-const String& ScMatrix::GetString(SCSIZE nC, SCSIZE nR) const
+double ScMatrixImpl::GetDouble( SCSIZE nIndex) const
+{
+ SCSIZE nC, nR;
+ CalcPosition(nIndex, nC, nR);
+ return GetDouble(nC, nR);
+}
+
+const String& ScMatrixImpl::GetString(SCSIZE nC, SCSIZE nR) const
{
if (ValidColRowOrReplicated( nC, nR ))
{
- SCSIZE nIndex = CalcOffset( nC, nR);
- if ( IsString( nIndex ) )
- return GetString( nIndex );
+ if (maMat.get_type(nR, nC) == ::mdds::element_string)
+ return *maMat.get_string(nR, nC);
else
{
- SetErrorAtInterpreter( GetError( nIndex));
- DBG_ERRORFILE("ScMatrix::GetString: access error, no string");
+ SetErrorAtInterpreter( GetError(nC, nR));
+ DBG_ERRORFILE("ScMatrixImpl::GetString: access error, no string");
}
}
else
{
- DBG_ERRORFILE("ScMatrix::GetString: dimension error");
+ DBG_ERRORFILE("ScMatrixImpl::GetString: dimension error");
}
return ScGlobal::GetEmptyString();
}
+const String& ScMatrixImpl::GetString( SCSIZE nIndex) const
+{
+ SCSIZE nC, nR;
+ CalcPosition(nIndex, nC, nR);
+ return GetString(nC, nR);
+}
-String ScMatrix::GetString( SvNumberFormatter& rFormatter, SCSIZE nIndex) const
+String ScMatrixImpl::GetString( SvNumberFormatter& rFormatter, SCSIZE nC, SCSIZE nR) const
{
- if (IsString( nIndex))
+ if (!ValidColRowOrReplicated( nC, nR ))
{
- if (IsEmptyPath( nIndex))
+ DBG_ERRORFILE("ScMatrixImpl::GetString: dimension error");
+ return String();
+ }
+
+ if (IsString( nC, nR))
+ {
+ if (IsEmptyPath( nC, nR))
{ // result of empty FALSE jump path
ULONG nKey = rFormatter.GetStandardFormat( NUMBERFORMAT_LOGICAL,
ScGlobal::eLnge);
@@ -455,17 +504,17 @@ String ScMatrix::GetString( SvNumberFormatter& rFormatter, SCSIZE nIndex) const
rFormatter.GetOutputString( 0.0, nKey, aStr, &pColor);
return aStr;
}
- return GetString( nIndex );
+ return GetString( nC, nR);
}
- USHORT nError = GetError( nIndex);
+ USHORT nError = GetError( nC, nR);
if (nError)
{
SetErrorAtInterpreter( nError);
return ScGlobal::GetErrorString( nError);
}
- double fVal= GetDouble( nIndex);
+ double fVal= GetDouble( nC, nR);
ULONG nKey = rFormatter.GetStandardFormat( NUMBERFORMAT_NUMBER,
ScGlobal::eLnge);
String aStr;
@@ -473,346 +522,686 @@ String ScMatrix::GetString( SvNumberFormatter& rFormatter, SCSIZE nIndex) const
return aStr;
}
-
-String ScMatrix::GetString( SvNumberFormatter& rFormatter, SCSIZE nC, SCSIZE nR) const
+ScMatrixValue ScMatrixImpl::Get(SCSIZE nC, SCSIZE nR) const
{
- if (ValidColRowOrReplicated( nC, nR ))
+ ScMatrixValue aVal;
+ if (ValidColRowOrReplicated(nC, nR))
{
- SCSIZE nIndex = CalcOffset( nC, nR);
- return GetString( rFormatter, nIndex);
+ matrix_element_t eType = maMat.get_type(nR, nC);
+ switch (eType)
+ {
+ case mdds::element_boolean:
+ aVal.nType = SC_MATVAL_BOOLEAN;
+ aVal.fVal = maMat.get_boolean(nR, nC);
+ break;
+ case mdds::element_numeric:
+ aVal.nType = SC_MATVAL_VALUE;
+ aVal.fVal = maMat.get_numeric(nR, nC);
+ break;
+ case mdds::element_string:
+ aVal.nType = SC_MATVAL_STRING;
+ aVal.pS = maMat.get_string(nR, nC);
+ break;
+ case mdds::element_empty:
+ // Empty path equals empty plus flag.
+ aVal.nType = maMat.get_flag(nR, nC) ? SC_MATVAL_EMPTYPATH : SC_MATVAL_EMPTY;
+ aVal.fVal = 0.0;
+ default:
+ ;
+ }
}
else
{
- DBG_ERRORFILE("ScMatrix::GetString: dimension error");
+ DBG_ERRORFILE("ScMatrixImpl::Get: dimension error");
}
- return String();
+ return aVal;
}
+bool ScMatrixImpl::IsString( SCSIZE nIndex ) const
+{
+ SCSIZE nC, nR;
+ CalcPosition(nIndex, nC, nR);
+ return IsString(nC, nR);
+}
-const ScMatrixValue* ScMatrix::Get(SCSIZE nC, SCSIZE nR, ScMatValType& nType) const
+bool ScMatrixImpl::IsString( SCSIZE nC, SCSIZE nR ) const
{
- if (ValidColRowOrReplicated( nC, nR ))
+ ValidColRowReplicated( nC, nR );
+ switch (maMat.get_type(nR, nC))
{
- SCSIZE nIndex = CalcOffset( nC, nR);
- if (mnValType)
- nType = mnValType[nIndex];
- else
- nType = SC_MATVAL_VALUE;
- return &pMat[nIndex];
+ case mdds::element_empty:
+ case mdds::element_string:
+ return true;
+ default:
+ ;
}
- else
+ return false;
+}
+
+bool ScMatrixImpl::IsEmpty( SCSIZE nC, SCSIZE nR ) const
+{
+ // Flag must be zero for this to be an empty element, instead of being an
+ // empty path element.
+ ValidColRowReplicated( nC, nR );
+ return maMat.get_type(nR, nC) == ::mdds::element_empty && maMat.get_flag(nR, nC) == 0;
+}
+
+bool ScMatrixImpl::IsEmptyPath( SCSIZE nC, SCSIZE nR ) const
+{
+ // 'Empty path' is empty plus non-zero flag.
+ ValidColRowReplicated( nC, nR );
+ return maMat.get_type(nR, nC) == ::mdds::element_empty && maMat.get_flag(nR, nC) != 0;
+}
+
+bool ScMatrixImpl::IsValue( SCSIZE nIndex ) const
+{
+ SCSIZE nC, nR;
+ CalcPosition(nIndex, nC, nR);
+ return IsValue(nC, nR);
+}
+
+bool ScMatrixImpl::IsValue( SCSIZE nC, SCSIZE nR ) const
+{
+ ValidColRowReplicated(nC, nR);
+ switch (maMat.get_type(nR, nC))
{
- DBG_ERRORFILE("ScMatrix::Get: dimension error");
+ case mdds::element_boolean:
+ case mdds::element_numeric:
+ return true;
+ default:
+ ;
}
- nType = SC_MATVAL_EMPTY;
- return NULL;
+ return false;
}
-void ScMatrix::MatCopy(ScMatrix& mRes) const
+bool ScMatrixImpl::IsValueOrEmpty( SCSIZE nC, SCSIZE nR ) const
{
- if (nColCount > mRes.nColCount || nRowCount > mRes.nRowCount)
+ ValidColRowReplicated(nC, nR);
+ switch (maMat.get_type(nR, nC))
{
- DBG_ERRORFILE("ScMatrix::MatCopy: dimension error");
+ case mdds::element_boolean:
+ case mdds::element_numeric:
+ case mdds::element_empty:
+ return true;
+ default:
+ ;
}
- else if ( nColCount == mRes.nColCount && nRowCount == mRes.nRowCount )
+ return false;
+}
+
+bool ScMatrixImpl::IsBoolean( SCSIZE nC, SCSIZE nR ) const
+{
+ ValidColRowReplicated( nC, nR );
+ return maMat.get_type(nR, nC) == ::mdds::element_boolean;
+}
+
+bool ScMatrixImpl::IsNumeric() const
+{
+ return maMat.numeric();
+}
+
+void ScMatrixImpl::MatCopy(ScMatrixImpl& mRes) const
+{
+ MatrixImplType::size_pair_type s1 = maMat.size(), s2 = mRes.maMat.size();
+ if (s1.first > s2.first || s1.second > s2.second)
{
- if (mnValType)
- {
- ScMatValType nType;
- mRes.ResetIsString();
- for (SCSIZE i = 0; i < nColCount; i++)
- {
- SCSIZE nStart = i * nRowCount;
- for (SCSIZE j = 0; j < nRowCount; j++)
- {
- if (IsNonValueType( (nType = mnValType[nStart+j])))
- mRes.PutStringEntry( pMat[nStart+j].pS, nType, nStart+j );
- else
- {
- mRes.pMat[nStart+j].fVal = pMat[nStart+j].fVal;
- mRes.mnValType[nStart+j] = nType;
- }
- }
- }
- }
- else
- {
- mRes.DeleteIsString();
- SCSIZE nCount = nColCount * nRowCount;
- for (SCSIZE i = 0; i < nCount; i++)
- mRes.pMat[i].fVal = pMat[i].fVal;
- }
+ // destination matrix is not large enough.
+ DBG_ERRORFILE("ScMatrixImpl::MatCopy: dimension error");
+ return;
+ }
+
+ mRes.maMat.assign(maMat);
+}
+
+void ScMatrixImpl::MatTrans(ScMatrixImpl& mRes) const
+{
+ mRes.maMat = maMat;
+ mRes.maMat.transpose();
+}
+
+void ScMatrixImpl::FillDouble( double fVal, SCSIZE nC1, SCSIZE nR1, SCSIZE nC2, SCSIZE nR2 )
+{
+ if (ValidColRow( nC1, nR1) && ValidColRow( nC2, nR2))
+ {
+ for (SCSIZE i = nR1; i <= nR2; ++i)
+ for (SCSIZE j = nC1; j <= nC2; ++j)
+ maMat.set(i, j, fVal);
}
else
{
- // Copy this matrix to upper left rectangle of result matrix.
- if (mnValType)
- {
- ScMatValType nType;
- mRes.ResetIsString();
- for (SCSIZE i = 0; i < nColCount; i++)
- {
- SCSIZE nStart = i * nRowCount;
- SCSIZE nResStart = i * mRes.nRowCount;
- for (SCSIZE j = 0; j < nRowCount; j++)
- {
- if (IsNonValueType( (nType = mnValType[nStart+j])))
- mRes.PutStringEntry( pMat[nStart+j].pS, nType, nResStart+j );
- else
- {
- mRes.pMat[nResStart+j].fVal = pMat[nStart+j].fVal;
- mRes.mnValType[nResStart+j] = nType;
- }
- }
- }
- }
- else
- {
- mRes.DeleteIsString();
- for (SCSIZE i = 0; i < nColCount; i++)
- {
- SCSIZE nStart = i * nRowCount;
- SCSIZE nResStart = i * mRes.nRowCount;
- for (SCSIZE j = 0; j < nRowCount; j++)
- mRes.pMat[nResStart+j].fVal = pMat[nStart+j].fVal;
- }
- }
+ DBG_ERRORFILE("ScMatrixImpl::FillDouble: dimension error");
}
}
-void ScMatrix::MatTrans(ScMatrix& mRes) const
+void ScMatrixImpl::CompareEqual()
{
- if (nColCount != mRes.nRowCount || nRowCount != mRes.nColCount)
+ compareMatrix<ElemEqual>(maMat);
+}
+
+void ScMatrixImpl::CompareNotEqual()
+{
+ compareMatrix<ElemNotEqual>(maMat);
+}
+
+void ScMatrixImpl::CompareLess()
+{
+ compareMatrix<ElemLess>(maMat);
+}
+
+void ScMatrixImpl::CompareGreater()
+{
+ compareMatrix<ElemGreater>(maMat);
+}
+
+void ScMatrixImpl::CompareLessEqual()
+{
+ compareMatrix<ElemLessEqual>(maMat);
+}
+
+void ScMatrixImpl::CompareGreaterEqual()
+{
+ compareMatrix<ElemGreaterEqual>(maMat);
+}
+
+namespace {
+
+struct AndEvaluator
+{
+ bool isBadElem(double fVal) const { return fVal == 0; }
+ bool returnOnElem() const { return false; }
+ bool returnOnAllElems() const { return true; }
+};
+
+struct OrEvaluator
+{
+ bool isBadElem(double fVal) const { return fVal != 0; }
+ bool returnOnElem() const { return true; }
+ bool returnOnAllElems() const { return false; }
+};
+
+template <typename _Evaluator>
+bool EvalMatrix(const MatrixImplType& rMat)
+{
+ _Evaluator aEval;
+ pair<size_t,size_t> aDim = rMat.size();
+ size_t nRows = aDim.first, nCols = aDim.second;
+ for (size_t i = 0; i < nRows; ++i)
{
- DBG_ERRORFILE("ScMatrix::MatTrans: dimension error");
+ for (size_t j = 0; j < nCols; ++j)
+ {
+ matrix_element_t eType = rMat.get_type(i, j);
+ if (eType != mdds::element_numeric && eType == mdds::element_boolean)
+ // assuming a CompareMat this is an error
+ return CreateDoubleError(errIllegalArgument);
+
+ double fVal = rMat.get_numeric(i, j);
+ if (!::rtl::math::isFinite(fVal))
+ // DoubleError
+ return fVal;
+
+ if (aEval.isBadElem(fVal))
+ return aEval.returnOnElem();
+ }
}
- else
+ return aEval.returnOnAllElems();
+}
+
+}
+
+double ScMatrixImpl::And() const
+{
+ // All elements must be of value type.
+ // True only if all the elements have non-zero values.
+ return EvalMatrix<AndEvaluator>(maMat);
+}
+
+double ScMatrixImpl::Or() const
+{
+ // All elements must be of value type.
+ // True if at least one element has a non-zero value.
+ return EvalMatrix<OrEvaluator>(maMat);
+}
+
+namespace {
+
+/**
+ * Function object to sum all numeric elements (including boolean). It
+ * stores the first non-zero element value into maRes.mfFirst while the rest
+ * into maRes.mfRest. This weird requirement comes from
+ * ScInterpreter::IterateParameters.
+ */
+class SumElements : public unary_function<void, MatrixImplType::element>
+{
+ ScMatrix::IterateResult maRes;
+ bool mbTextAsZero;
+public:
+ SumElements(bool bTextAsZero) : maRes(0.0, 0.0, 0), mbTextAsZero(bTextAsZero) {}
+
+ ScMatrix::IterateResult getResult() const { return maRes; }
+ void operator() (const MatrixImplType::element& elem)
{
- if (mnValType)
+ switch (elem.m_type)
{
- ScMatValType nType;
- mRes.ResetIsString();
- for ( SCSIZE i = 0; i < nColCount; i++ )
- {
- SCSIZE nStart = i * nRowCount;
- for ( SCSIZE j = 0; j < nRowCount; j++ )
+ case mdds::element_boolean:
+ if (elem.m_boolean)
{
- if (IsNonValueType( (nType = mnValType[nStart+j])))
- mRes.PutStringEntry( pMat[nStart+j].pS, nType, j*mRes.nRowCount+i );
+ if (maRes.mfFirst)
+ maRes.mfFirst = 1.0;
else
- {
- mRes.pMat[j*mRes.nRowCount+i].fVal = pMat[nStart+j].fVal;
- mRes.mnValType[j*mRes.nRowCount+i] = nType;
- }
+ maRes.mfRest += 1.0;
}
- }
- }
- else
- {
- mRes.DeleteIsString();
- for ( SCSIZE i = 0; i < nColCount; i++ )
- {
- SCSIZE nStart = i * nRowCount;
- for ( SCSIZE j = 0; j < nRowCount; j++ )
+ ++maRes.mnCount;
+ break;
+ case mdds::element_numeric:
+ if (elem.m_numeric != 0.0)
{
- mRes.pMat[j*mRes.nRowCount+i].fVal = pMat[nStart+j].fVal;
+ if (maRes.mfFirst)
+ maRes.mfFirst = elem.m_numeric;
+ else
+ maRes.mfRest += elem.m_numeric;
}
- }
+ ++maRes.mnCount;
+ break;
+ case mdds::element_string:
+ if (mbTextAsZero)
+ ++maRes.mnCount;
+ default:
+ ;
}
}
-}
+};
-void ScMatrix::FillDouble( double fVal, SCSIZE nC1, SCSIZE nR1, SCSIZE nC2, SCSIZE nR2 )
+class SumSquareElements : public unary_function<void, MatrixImplType::element>
{
- if (ValidColRow( nC1, nR1) && ValidColRow( nC2, nR2))
+ ScMatrix::IterateResult maRes;
+ bool mbTextAsZero;
+public:
+ SumSquareElements(bool bTextAsZero) : maRes(0.0, 0.0, 0), mbTextAsZero(bTextAsZero) {}
+ ScMatrix::IterateResult getResult() const { return maRes; }
+ void operator() (const MatrixImplType::element& elem)
{
- if ( nC1 == 0 && nR1 == 0 && nC2 == nColCount-1 && nR2 == nRowCount-1 )
+ if (elem.m_type == ::mdds::element_empty)
+ return;
+
+ if (elem.m_type == ::mdds::element_string)
{
- SCSIZE nEnd = nColCount * nRowCount;
- for ( SCSIZE j=0; j<nEnd; j++ )
- pMat[j].fVal = fVal;
+ if (mbTextAsZero)
+ ++maRes.mnCount;
+ return;
}
- else
+
+ double val = getNumericValue(elem);
+ maRes.mfRest += val*val;
+ ++maRes.mnCount;
+ }
+};
+
+/**
+ * Multiply all boolean and numeric elements. It skips empty elements, and
+ * optionally string elements if specified. When text as zero option is
+ * specified, it treats string elements as if they have values of zero.
+ */
+class MultiplyElements : public unary_function<void, MatrixImplType::element>
+{
+ ScMatrix::IterateResult maRes;
+ bool mbTextAsZero;
+public:
+ MultiplyElements(bool bTextAsZero) : maRes(0.0, 1.0, 0), mbTextAsZero(bTextAsZero) {}
+ ScMatrix::IterateResult getResult() const { return maRes; }
+
+ void operator() (const MatrixImplType::element& elem)
+ {
+ if (elem.m_type == ::mdds::element_string)
+ {
+ ++maRes.mnCount;
+ if (mbTextAsZero)
+ maRes.mfRest = 0.0;
+ }
+ else if (elem.m_type != ::mdds::element_empty)
{
- for ( SCSIZE i=nC1; i<=nC2; i++ )
- {
- SCSIZE nOff1 = i * nRowCount + nR1;
- SCSIZE nOff2 = nOff1 + nR2 - nR1;
- for ( SCSIZE j=nOff1; j<=nOff2; j++ )
- pMat[j].fVal = fVal;
- }
+ ++maRes.mnCount;
+ maRes.mfRest *= getNumericValue(elem);
}
}
- else
+};
+
+/**
+ * Predicate for counting only boolean, numeric, and optionally string
+ * elements.
+ */
+class CountNonEmptyElements : public unary_function<bool, MatrixImplType::element>
+{
+ const bool mbCountString;
+public:
+ CountNonEmptyElements(bool bCountString) : mbCountString(bCountString) {}
+ bool operator() (const MatrixImplType::element& elem) const
{
- DBG_ERRORFILE("ScMatrix::FillDouble: dimension error");
+ switch (elem.m_type)
+ {
+ case mdds::element_boolean:
+ case mdds::element_numeric:
+ return true;
+ case mdds::element_string:
+ return mbCountString;
+ default:
+ ;
+ }
+ return false;
}
+};
+
+}
+
+ScMatrix::IterateResult ScMatrixImpl::Sum(bool bTextAsZero) const
+{
+ return for_each(maMat.begin(), maMat.end(), SumElements(bTextAsZero)).getResult();
+}
+
+ScMatrix::IterateResult ScMatrixImpl::SumSquare(bool bTextAsZero) const
+{
+ return for_each(maMat.begin(), maMat.end(), SumSquareElements(bTextAsZero)).getResult();
+}
+
+ScMatrix::IterateResult ScMatrixImpl::Product(bool bTextAsZero) const
+{
+ return for_each(maMat.begin(), maMat.end(), MultiplyElements(bTextAsZero)).getResult();
+}
+
+size_t ScMatrixImpl::Count(bool bCountStrings) const
+{
+ return count_if(maMat.begin(), maMat.end(), CountNonEmptyElements(bCountStrings));
+}
+
+void ScMatrixImpl::CalcPosition(SCSIZE nIndex, SCSIZE& rC, SCSIZE& rR) const
+{
+ SCSIZE nRowSize = maMat.size().first;
+ rC = nIndex / nRowSize;
+ rR = nIndex - rC*nRowSize;
+}
+
+// ============================================================================
+
+ScMatrix::ScMatrix( SCSIZE nC, SCSIZE nR, DensityType eType) :
+ pImpl(new ScMatrixImpl(nC, nR, eType)),
+ nRefCnt(0)
+{
+}
+ScMatrix::~ScMatrix()
+{
+ delete pImpl;
+}
+
+ScMatrix* ScMatrix::Clone() const
+{
+ return Clone(GetDensityType());
+}
+
+ScMatrix* ScMatrix::Clone( DensityType eType) const
+{
+ SCSIZE nC, nR;
+ pImpl->GetDimensions(nC, nR);
+ ScMatrix* pScMat = new ScMatrix(nC, nR, eType);
+ MatCopy(*pScMat);
+ pScMat->SetErrorInterpreter(pImpl->GetErrorInterpreter()); // TODO: really?
+ return pScMat;
+}
+
+ScMatrix* ScMatrix::CloneIfConst()
+{
+ return pImpl->IsImmutable() ? Clone() : this;
+}
+
+void ScMatrix::SetImmutable( bool bVal )
+{
+ pImpl->SetImmutable(bVal);
+}
+
+void ScMatrix::Resize( SCSIZE nC, SCSIZE nR)
+{
+ pImpl->Resize(nC, nR);
+}
+
+ScMatrix* ScMatrix::CloneAndExtend( SCSIZE nNewCols, SCSIZE nNewRows, DensityType eType ) const
+{
+ ScMatrix* pScMat = new ScMatrix( nNewCols, nNewRows, eType);
+ MatCopy(*pScMat);
+ pScMat->SetErrorInterpreter(pImpl->GetErrorInterpreter());
+ return pScMat;
+}
+
+ScMatrix::DensityType ScMatrix::GetDensityType() const
+{
+ return pImpl->GetDensityType();
+}
+
+void ScMatrix::SetErrorInterpreter( ScInterpreter* p)
+{
+ pImpl->SetErrorInterpreter(p);
+}
+
+void ScMatrix::GetDimensions( SCSIZE& rC, SCSIZE& rR) const
+{
+ pImpl->GetDimensions(rC, rR);
+}
+
+SCSIZE ScMatrix::GetElementCount() const
+{
+ return pImpl->GetElementCount();
+}
+
+bool ScMatrix::ValidColRow( SCSIZE nC, SCSIZE nR) const
+{
+ return pImpl->ValidColRow(nC, nR);
+}
+
+SCSIZE ScMatrix::CalcOffset( SCSIZE nC, SCSIZE nR) const
+{
+ return pImpl->CalcOffset(nC, nR);
+}
+
+bool ScMatrix::ValidColRowReplicated( SCSIZE & rC, SCSIZE & rR ) const
+{
+ return pImpl->ValidColRowReplicated(rC, rR);
+}
+
+bool ScMatrix::ValidColRowOrReplicated( SCSIZE & rC, SCSIZE & rR ) const
+{
+ return ValidColRow( rC, rR) || ValidColRowReplicated( rC, rR);
+}
+
+void ScMatrix::PutDouble(double fVal, SCSIZE nC, SCSIZE nR)
+{
+ pImpl->PutDouble(fVal, nC, nR);
+}
+
+void ScMatrix::PutDouble( double fVal, SCSIZE nIndex)
+{
+ pImpl->PutDouble(fVal, nIndex);
+}
+
+void ScMatrix::PutString(const String& rStr, SCSIZE nC, SCSIZE nR)
+{
+ pImpl->PutString(rStr, nC, nR);
+}
+
+void ScMatrix::PutString(const String& rStr, SCSIZE nIndex)
+{
+ pImpl->PutString(rStr, nIndex);
+}
+
+void ScMatrix::PutEmpty(SCSIZE nC, SCSIZE nR)
+{
+ pImpl->PutEmpty(nC, nR);
+}
+
+void ScMatrix::PutEmptyPath(SCSIZE nC, SCSIZE nR)
+{
+ pImpl->PutEmptyPath(nC, nR);
+}
+
+void ScMatrix::PutError( USHORT nErrorCode, SCSIZE nC, SCSIZE nR )
+{
+ pImpl->PutError(nErrorCode, nC, nR);
+}
+
+void ScMatrix::PutBoolean(bool bVal, SCSIZE nC, SCSIZE nR)
+{
+ pImpl->PutBoolean(bVal, nC, nR);
+}
+
+USHORT ScMatrix::GetError( SCSIZE nC, SCSIZE nR) const
+{
+ return pImpl->GetError(nC, nR);
+}
+
+double ScMatrix::GetDouble(SCSIZE nC, SCSIZE nR) const
+{
+ return pImpl->GetDouble(nC, nR);
+}
+
+double ScMatrix::GetDouble( SCSIZE nIndex) const
+{
+ return pImpl->GetDouble(nIndex);
+}
+
+const String& ScMatrix::GetString(SCSIZE nC, SCSIZE nR) const
+{
+ return pImpl->GetString(nC, nR);
+}
+
+const String& ScMatrix::GetString( SCSIZE nIndex) const
+{
+ return pImpl->GetString(nIndex);
+}
+
+String ScMatrix::GetString( SvNumberFormatter& rFormatter, SCSIZE nC, SCSIZE nR) const
+{
+ return pImpl->GetString(rFormatter, nC, nR);
+}
+
+ScMatrixValue ScMatrix::Get(SCSIZE nC, SCSIZE nR) const
+{
+ return pImpl->Get(nC, nR);
+}
+
+BOOL ScMatrix::IsString( SCSIZE nIndex ) const
+{
+ return pImpl->IsString(nIndex);
+}
+
+BOOL ScMatrix::IsString( SCSIZE nC, SCSIZE nR ) const
+{
+ return pImpl->IsString(nC, nR);
+}
+
+BOOL ScMatrix::IsEmpty( SCSIZE nC, SCSIZE nR ) const
+{
+ return pImpl->IsEmpty(nC, nR);
+}
+
+BOOL ScMatrix::IsEmptyPath( SCSIZE nC, SCSIZE nR ) const
+{
+ return pImpl->IsEmptyPath(nC, nR);
+}
+
+BOOL ScMatrix::IsValue( SCSIZE nIndex ) const
+{
+ return pImpl->IsValue(nIndex);
+}
+
+BOOL ScMatrix::IsValue( SCSIZE nC, SCSIZE nR ) const
+{
+ return pImpl->IsValue(nC, nR);
+}
+
+BOOL ScMatrix::IsValueOrEmpty( SCSIZE nC, SCSIZE nR ) const
+{
+ return pImpl->IsValueOrEmpty(nC, nR);
+}
+
+BOOL ScMatrix::IsBoolean( SCSIZE nC, SCSIZE nR ) const
+{
+ return pImpl->IsBoolean(nC, nR);
+}
+
+BOOL ScMatrix::IsNumeric() const
+{
+ return pImpl->IsNumeric();
+}
+
+void ScMatrix::MatCopy(ScMatrix& mRes) const
+{
+ pImpl->MatCopy(*mRes.pImpl);
+}
+
+void ScMatrix::MatTrans(ScMatrix& mRes) const
+{
+ pImpl->MatTrans(*mRes.pImpl);
+}
+
+void ScMatrix::FillDouble( double fVal, SCSIZE nC1, SCSIZE nR1, SCSIZE nC2, SCSIZE nR2 )
+{
+ pImpl->FillDouble(fVal, nC1, nR1, nC2, nR2);
}
void ScMatrix::CompareEqual()
{
- SCSIZE n = nColCount * nRowCount;
- if ( mnValType )
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( IsValueType( mnValType[j]) ) // else: #WERT!
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal == 0.0);
- }
- else
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal == 0.0);
- }
+ pImpl->CompareEqual();
}
void ScMatrix::CompareNotEqual()
{
- SCSIZE n = nColCount * nRowCount;
- if ( mnValType )
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( IsValueType( mnValType[j]) ) // else: #WERT!
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal != 0.0);
- }
- else
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal != 0.0);
- }
+ pImpl->CompareNotEqual();
}
void ScMatrix::CompareLess()
{
- SCSIZE n = nColCount * nRowCount;
- if ( mnValType )
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( IsValueType( mnValType[j]) ) // else: #WERT!
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal < 0.0);
- }
- else
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal < 0.0);
- }
+ pImpl->CompareLess();
}
void ScMatrix::CompareGreater()
{
- SCSIZE n = nColCount * nRowCount;
- if ( mnValType )
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( IsValueType( mnValType[j]) ) // else: #WERT!
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal > 0.0);
- }
- else
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal > 0.0);
- }
+ pImpl->CompareGreater();
}
void ScMatrix::CompareLessEqual()
{
- SCSIZE n = nColCount * nRowCount;
- if ( mnValType )
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( IsValueType( mnValType[j]) ) // else: #WERT!
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal <= 0.0);
- }
- else
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal <= 0.0);
- }
+ pImpl->CompareLessEqual();
}
void ScMatrix::CompareGreaterEqual()
{
- SCSIZE n = nColCount * nRowCount;
- if ( mnValType )
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( IsValueType( mnValType[j]) ) // else: #WERT!
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal >= 0.0);
- }
- else
- {
- for ( SCSIZE j=0; j<n; j++ )
- if ( ::rtl::math::isFinite( pMat[j].fVal)) // else: DoubleError
- pMat[j].fVal = (pMat[j].fVal >= 0.0);
- }
+ pImpl->CompareGreaterEqual();
}
-double ScMatrix::And()
+double ScMatrix::And() const
{
- SCSIZE n = nColCount * nRowCount;
- bool bAnd = true;
- if ( mnValType )
- {
- for ( SCSIZE j=0; bAnd && j<n; j++ )
- {
- if ( !IsValueType( mnValType[j]) )
- { // assuming a CompareMat this is an error
- return CreateDoubleError( errIllegalArgument );
- }
- else if ( ::rtl::math::isFinite( pMat[j].fVal))
- bAnd = (pMat[j].fVal != 0.0);
- else
- return pMat[j].fVal; // DoubleError
- }
- }
- else
- {
- for ( SCSIZE j=0; bAnd && j<n; j++ )
- {
- if ( ::rtl::math::isFinite( pMat[j].fVal))
- bAnd = (pMat[j].fVal != 0.0);
- else
- return pMat[j].fVal; // DoubleError
- }
- }
- return bAnd;
+ return pImpl->And();
}
-double ScMatrix::Or()
+double ScMatrix::Or() const
{
- SCSIZE n = nColCount * nRowCount;
- bool bOr = false;
- if ( mnValType )
- {
- for ( SCSIZE j=0; !bOr && j<n; j++ )
- if ( !IsValueType( mnValType[j]) )
- { // assuming a CompareMat this is an error
- return CreateDoubleError( errIllegalArgument );
- }
- else if ( ::rtl::math::isFinite( pMat[j].fVal))
- bOr = (pMat[j].fVal != 0.0);
- else
- return pMat[j].fVal; // DoubleError
- }
- else
- {
- for ( SCSIZE j=0; !bOr && j<n; j++ )
- if ( ::rtl::math::isFinite( pMat[j].fVal))
- bOr = (pMat[j].fVal != 0.0);
- else
- return pMat[j].fVal; // DoubleError
- }
- return bOr;
+ return pImpl->Or();
+}
+
+ScMatrix::IterateResult ScMatrix::Sum(bool bTextAsZero) const
+{
+ return pImpl->Sum(bTextAsZero);
+}
+
+ScMatrix::IterateResult ScMatrix::SumSquare(bool bTextAsZero) const
+{
+ return pImpl->SumSquare(bTextAsZero);
+}
+
+ScMatrix::IterateResult ScMatrix::Product(bool bTextAsZero) const
+{
+ return pImpl->Product(bTextAsZero);
+}
+
+size_t ScMatrix::Count(bool bCountStrings) const
+{
+ return pImpl->Count(bCountStrings);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index 7c972250c7d2..a57c2dad928d 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -109,10 +109,6 @@ namespace
}
//
} // namespace
-//
-// ImpTokenIterator wird je Interpreter angelegt, mehrfache auch durch
-// SubCode via FormulaTokenIterator Push/Pop moeglich
-IMPL_FIXEDMEMPOOL_NEWDEL( ImpTokenIterator, 32, 16 )
// Align MemPools on 4k boundaries - 64 bytes (4k is a MUST for OS/2)
@@ -531,7 +527,6 @@ BOOL ScToken::Is3DRef() const
return FALSE;
}
-// static
FormulaTokenRef ScToken::ExtendRangeReference( FormulaToken & rTok1, FormulaToken & rTok2,
const ScAddress & rPos, bool bReuseDoubleRef )
{
@@ -793,8 +788,8 @@ BOOL ScRefListToken::operator==( const FormulaToken& r ) const
}
-const ScMatrix* ScMatrixToken::GetMatrix() const { return pMatrix; }
-ScMatrix* ScMatrixToken::GetMatrix() { return pMatrix; }
+const ScMatrix* ScMatrixToken::GetMatrix() const { return pMatrix.get(); }
+ScMatrix* ScMatrixToken::GetMatrix() { return pMatrix.get(); }
BOOL ScMatrixToken::operator==( const FormulaToken& r ) const
{
return FormulaToken::operator==( r ) && pMatrix == static_cast<const ScToken&>(r).GetMatrix();
@@ -1031,7 +1026,7 @@ BOOL ScEmptyCellToken::operator==( const FormulaToken& r ) const
double ScMatrixCellResultToken::GetDouble() const { return xUpperLeft->GetDouble(); }
const String & ScMatrixCellResultToken::GetString() const { return xUpperLeft->GetString(); }
-const ScMatrix* ScMatrixCellResultToken::GetMatrix() const { return xMatrix; }
+const ScMatrix* ScMatrixCellResultToken::GetMatrix() const { return xMatrix.get(); }
// Non-const GetMatrix() is private and unused but must be implemented to
// satisfy vtable linkage.
ScMatrix* ScMatrixCellResultToken::GetMatrix()
@@ -1478,8 +1473,6 @@ FormulaToken* ScTokenArray::MergeArray( )
if( nCol <= 0 || nRow <= 0 )
return NULL;
- // fprintf (stderr, "Array (cols = %d, rows = %d)\n", nCol, nRow );
-
int nSign = 1;
ScMatrix* pArray = new ScMatrix( nCol, nRow );
for ( i = nStart, nCol = 0, nRow = 0 ; i < nLen ; i++ )
@@ -1555,7 +1548,7 @@ FormulaToken* ScTokenArray::MergeRangeReference( const ScAddress & rPos )
p2->DecRef();
p3->DecRef();
nLen -= 2;
- pCode[ nLen-1 ] = p;
+ pCode[ nLen-1 ] = p.get();
nRefs--;
}
}
@@ -1584,7 +1577,7 @@ FormulaToken* ScTokenArray::AddDoubleReference( const ScComplexRefData& rRef )
return Add( new ScDoubleRefToken( rRef ) );
}
-FormulaToken* ScTokenArray::AddMatrix( ScMatrix* p )
+FormulaToken* ScTokenArray::AddMatrix( const ScMatrixRef& p )
{
return Add( new ScMatrixToken( p ) );
}
diff --git a/sc/source/core/tool/unitconv.cxx b/sc/source/core/tool/unitconv.cxx
index 918060b12751..58cb4146be01 100644
--- a/sc/source/core/tool/unitconv.cxx
+++ b/sc/source/core/tool/unitconv.cxx
@@ -75,7 +75,6 @@ ScDataObject* ScUnitConverterData::Clone() const
}
-// static
void ScUnitConverterData::BuildIndexString( String& rStr,
const String& rFromUnit, const String& rToUnit )
{
@@ -109,7 +108,7 @@ ScUnitConverter::ScUnitConverter( USHORT nInit, USHORT nDeltaP ) :
// read from configuration - "convert.ini" is no longer used
//! config item as member to allow change of values
- ScLinkConfigItem aConfigItem( OUString::createFromAscii( CFGPATH_UNIT ) );
+ ScLinkConfigItem aConfigItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_UNIT )) );
// empty node name -> use the config item's path itself
OUString aEmptyString;
@@ -130,11 +129,11 @@ ScUnitConverter::ScUnitConverter( USHORT nInit, USHORT nDeltaP ) :
sPrefix += sSlash;
pValNameArray[nIndex] = sPrefix;
- pValNameArray[nIndex++] += OUString::createFromAscii( CFGSTR_UNIT_FROM );
+ pValNameArray[nIndex++] += OUString(RTL_CONSTASCII_USTRINGPARAM( CFGSTR_UNIT_FROM ));
pValNameArray[nIndex] = sPrefix;
- pValNameArray[nIndex++] += OUString::createFromAscii( CFGSTR_UNIT_TO );
+ pValNameArray[nIndex++] += OUString(RTL_CONSTASCII_USTRINGPARAM( CFGSTR_UNIT_TO ));
pValNameArray[nIndex] = sPrefix;
- pValNameArray[nIndex++] += OUString::createFromAscii( CFGSTR_UNIT_FACTOR );
+ pValNameArray[nIndex++] += OUString(RTL_CONSTASCII_USTRINGPARAM( CFGSTR_UNIT_FACTOR ));
}
Sequence<Any> aProperties = aConfigItem.GetProperties(aValNames);
diff --git a/sc/source/core/tool/userlist.cxx b/sc/source/core/tool/userlist.cxx
index deb070005653..edbaf7aba3c0 100644
--- a/sc/source/core/tool/userlist.cxx
+++ b/sc/source/core/tool/userlist.cxx
@@ -78,7 +78,7 @@ ScUserListData::ScUserListData(const ScUserListData& rData) :
InitTokens();
}
-__EXPORT ScUserListData::~ScUserListData()
+ScUserListData::~ScUserListData()
{
delete[] pSubStrings;
delete[] pUpperSub;
diff --git a/sc/source/core/tool/viewopti.cxx b/sc/source/core/tool/viewopti.cxx
index 4c01f443d0db..3372e1f55768 100644
--- a/sc/source/core/tool/viewopti.cxx
+++ b/sc/source/core/tool/viewopti.cxx
@@ -141,7 +141,7 @@ ScViewOptions::ScViewOptions( const ScViewOptions& rCpy )
//------------------------------------------------------------------------
-__EXPORT ScViewOptions::~ScViewOptions()
+ScViewOptions::~ScViewOptions()
{
}
@@ -261,20 +261,20 @@ ScTpViewItem::ScTpViewItem( const ScTpViewItem& rItem )
//------------------------------------------------------------------------
-__EXPORT ScTpViewItem::~ScTpViewItem()
+ScTpViewItem::~ScTpViewItem()
{
}
//------------------------------------------------------------------------
-String __EXPORT ScTpViewItem::GetValueText() const
+String ScTpViewItem::GetValueText() const
{
return String::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM("ScTpViewItem") );
}
//------------------------------------------------------------------------
-int __EXPORT ScTpViewItem::operator==( const SfxPoolItem& rItem ) const
+int ScTpViewItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -285,7 +285,7 @@ int __EXPORT ScTpViewItem::operator==( const SfxPoolItem& rItem ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT ScTpViewItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScTpViewItem::Clone( SfxItemPool * ) const
{
return new ScTpViewItem( *this );
}
@@ -406,10 +406,10 @@ Sequence<OUString> ScViewCfg::GetGridPropertyNames()
// adjust for metric system
if (ScOptionsUtil::IsMetricSystem())
{
- pNames[SCGRIDOPT_RESOLU_X] = OUString::createFromAscii( "Resolution/XAxis/Metric" );
- pNames[SCGRIDOPT_RESOLU_Y] = OUString::createFromAscii( "Resolution/YAxis/Metric" );
- pNames[SCGRIDOPT_OPTION_X] = OUString::createFromAscii( "Option/XAxis/Metric" );
- pNames[SCGRIDOPT_OPTION_Y] = OUString::createFromAscii( "Option/YAxis/Metric" );
+ pNames[SCGRIDOPT_RESOLU_X] = OUString(RTL_CONSTASCII_USTRINGPARAM( "Resolution/XAxis/Metric" ));
+ pNames[SCGRIDOPT_RESOLU_Y] = OUString(RTL_CONSTASCII_USTRINGPARAM( "Resolution/YAxis/Metric" ));
+ pNames[SCGRIDOPT_OPTION_X] = OUString(RTL_CONSTASCII_USTRINGPARAM( "Option/XAxis/Metric" ));
+ pNames[SCGRIDOPT_OPTION_Y] = OUString(RTL_CONSTASCII_USTRINGPARAM( "Option/YAxis/Metric" ));
}
return aNames;
@@ -417,9 +417,9 @@ Sequence<OUString> ScViewCfg::GetGridPropertyNames()
ScViewCfg::ScViewCfg() :
- aLayoutItem( OUString::createFromAscii( CFGPATH_LAYOUT ) ),
- aDisplayItem( OUString::createFromAscii( CFGPATH_DISPLAY ) ),
- aGridItem( OUString::createFromAscii( CFGPATH_GRID ) )
+ aLayoutItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_LAYOUT )) ),
+ aDisplayItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_DISPLAY )) ),
+ aGridItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_GRID )) )
{
sal_Int32 nIntVal = 0;
diff --git a/sc/source/core/tool/zforauto.cxx b/sc/source/core/tool/zforauto.cxx
index 0b9f116aa153..1b990aa475e8 100644
--- a/sc/source/core/tool/zforauto.cxx
+++ b/sc/source/core/tool/zforauto.cxx
@@ -37,7 +37,7 @@
#include "zforauto.hxx"
#include "global.hxx"
-static const sal_Char __FAR_DATA pStandardName[] = "Standard";
+static const sal_Char pStandardName[] = "Standard";
//------------------------------------------------------------------------
diff --git a/sc/source/filter/dif/makefile.mk b/sc/source/filter/dif/makefile.mk
index 70944b9f9536..495a7ab5edf3 100644
--- a/sc/source/filter/dif/makefile.mk
+++ b/sc/source/filter/dif/makefile.mk
@@ -42,10 +42,14 @@ PROJECTPCHSOURCE=..\pch\filt_pch
# --- Files --------------------------------------------------------
-SLOFILES = \
+SLOFILES = \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES = \
$(SLO)$/difimp.obj \
$(SLO)$/difexp.obj
+
# --- Targets -------------------------------------------------------
.INCLUDE : target.mk
diff --git a/sc/source/filter/excel/colrowst.cxx b/sc/source/filter/excel/colrowst.cxx
index 6905d295009d..aa63702c3921 100644
--- a/sc/source/filter/excel/colrowst.cxx
+++ b/sc/source/filter/excel/colrowst.cxx
@@ -143,7 +143,7 @@ void XclImpColRowSettings::SetHeight( SCROW nScRow, sal_uInt16 nHeight )
bool bDefHeight = ::get_flag( nHeight, EXC_ROW_FLAGDEFHEIGHT ) || (nRawHeight == 0);
maRowHeights.insert_back(nScRow, nScRow+1, nRawHeight);
sal_uInt8 nFlagVal = 0;
- if (!maRowFlags.search(nScRow, nFlagVal))
+ if (!maRowFlags.search(nScRow, nFlagVal).second)
return;
::set_flag(nFlagVal, EXC_COLROW_USED);
@@ -166,7 +166,7 @@ void XclImpColRowSettings::SetRowSettings( SCROW nScRow, sal_uInt16 nHeight, sal
SetHeight(nScRow, nHeight);
sal_uInt8 nFlagVal = 0;
- if (!maRowFlags.search(nScRow, nFlagVal))
+ if (!maRowFlags.search(nScRow, nFlagVal).second)
return;
if (::get_flag(nFlags, EXC_ROW_UNSYNCED))
@@ -184,7 +184,7 @@ void XclImpColRowSettings::SetManualRowHeight( SCROW nScRow )
return;
sal_uInt8 nFlagVal = 0;
- if (!maRowFlags.search(nScRow, nFlagVal))
+ if (!maRowFlags.search(nScRow, nFlagVal).second)
return;
::set_flag(nFlagVal, EXC_COLROW_MAN);
@@ -242,7 +242,6 @@ void XclImpColRowSettings::Convert( SCTAB nScTab )
RowFlagsType::const_iterator itrFlags = maRowFlags.begin(), itrFlagsEnd = maRowFlags.end();
SCROW nPrevRow = -1;
sal_uInt8 nPrevFlags = 0;
- sal_uInt16 nPrevHeight = 0;
for (; itrFlags != itrFlagsEnd; ++itrFlags)
{
SCROW nRow = itrFlags->first;
@@ -274,7 +273,6 @@ void XclImpColRowSettings::Convert( SCTAB nScTab )
rDoc.SetRowHeightOnly(i, nLast-1, nScTab, nHeight);
i = nLast-1;
- nPrevHeight = nHeight;
}
}
@@ -286,7 +284,6 @@ void XclImpColRowSettings::Convert( SCTAB nScTab )
nHeight = mnDefHeight;
rDoc.SetRowHeightOnly(nPrevRow, nRow-1, nScTab, nHeight);
}
- nPrevHeight = nHeight;
}
nPrevRow = nRow;
@@ -328,7 +325,7 @@ void XclImpColRowSettings::ConvertHiddenFlags( SCTAB nScTab )
if (nLastXLRow < MAXROW)
{
bool bHidden = false;
- if (!maHiddenRows.search(nLastXLRow, bHidden))
+ if (!maHiddenRows.search(nLastXLRow, bHidden).second)
return;
maHiddenRows.insert_back(nLastXLRow, MAXROWCOUNT, bHidden);
diff --git a/sc/source/filter/excel/excdoc.cxx b/sc/source/filter/excel/excdoc.cxx
index 085f38129c33..6bd9a1388513 100644
--- a/sc/source/filter/excel/excdoc.cxx
+++ b/sc/source/filter/excel/excdoc.cxx
@@ -88,6 +88,7 @@
#include <com/sun/star/document/XDocumentProperties.hpp>
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
#include <oox/core/tokens.hxx>
+#include <boost/shared_ptr.hpp>
using ::rtl::OString;
@@ -131,9 +132,7 @@ static void lcl_AddWorkbookProtection( XclExpRecordList<>& aRecList, ExcTable& s
{
aRecList.AppendNewRecord( new XclExpWindowProtection(pProtect->isOptionEnabled(ScDocProtection::WINDOWS)) );
aRecList.AppendNewRecord( new XclExpProtection(pProtect->isOptionEnabled(ScDocProtection::STRUCTURE)) );
-#if ENABLE_SHEET_PROTECTION
aRecList.AppendNewRecord( new XclExpPassHash(pProtect->getPasswordHash(PASSHASH_XL)) );
-#endif
}
aRecList.AppendNewRecord( new XclExpXmlEndSingleElementRecord() ); // XML_workbookProtection
@@ -439,7 +438,7 @@ void ExcTable::FillAsTable( SCTAB nCodeNameIdx )
// WSBOOL needs data from page settings, create it here, add it later
- ScfRef< XclExpPageSettings > xPageSett( new XclExpPageSettings( GetRoot() ) );
+ boost::shared_ptr< XclExpPageSettings > xPageSett( new XclExpPageSettings( GetRoot() ) );
bool bFitToPages = xPageSett->GetPageData().mbFitToPages;
if( eBiff <= EXC_BIFF5 )
@@ -473,9 +472,7 @@ void ExcTable::FillAsTable( SCTAB nCodeNameIdx )
Add( new XclExpProtection(true) );
Add( new XclExpBoolRecord(0x00DD, pTabProtect->isOptionEnabled(ScTableProtection::SCENARIOS)) );
Add( new XclExpBoolRecord(0x0063, pTabProtect->isOptionEnabled(ScTableProtection::OBJECTS)) );
-#if ENABLE_SHEET_PROTECTION
Add( new XclExpPassHash(pTabProtect->getPasswordHash(PASSHASH_XL)) );
-#endif
}
// local link table: EXTERNCOUNT, EXTERNSHEET
@@ -548,7 +545,7 @@ void ExcTable::FillAsXmlTable( SCTAB nCodeNameIdx )
RootData& rR = GetOldRoot();
// WSBOOL needs data from page settings, create it here, add it later
- ScfRef< XclExpPageSettings > xPageSett( new XclExpPageSettings( GetRoot() ) );
+ boost::shared_ptr< XclExpPageSettings > xPageSett( new XclExpPageSettings( GetRoot() ) );
bool bFitToPages = xPageSett->GetPageData().mbFitToPages;
Add( new ExcBof8 );
@@ -760,7 +757,7 @@ void ExcDocument::Write( SvStream& rSvStrm )
aHeader.Write( aXclStrm );
- DBG_ASSERT( maTableList.GetSize() == maBoundsheetList.GetSize(),
+ OSL_ENSURE( maTableList.GetSize() == maBoundsheetList.GetSize(),
"ExcDocument::Write - different number of sheets and BOUNDSHEET records" );
for( size_t nTab = 0, nTabCount = maTableList.GetSize(); nTab < nTabCount; ++nTab )
diff --git a/sc/source/filter/excel/excform.cxx b/sc/source/filter/excel/excform.cxx
index 16807b7bf4ad..870eeb38ad38 100644
--- a/sc/source/filter/excel/excform.cxx
+++ b/sc/source/filter/excel/excform.cxx
@@ -696,7 +696,7 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
aPool << ocDde << ocOpen << nPar1 << ocSep << nPar2 << ocSep
<< nMerk0 << ocClose;
- GetDoc().CreateDdeLink( aAppl, aExtDoc, pExtName->aName, SC_DDE_DEFAULT );
+ GetDoc().CreateDdeLink( aAppl, aExtDoc, pExtName->aName, SC_DDE_DEFAULT, ScMatrixRef() );
}
else
aPool << ocBad;
@@ -1524,7 +1524,7 @@ BOOL ExcelToSc::GetAbsRefs( ScRangeList& rRangeList, XclImpStream& rStrm, sal_Si
}
rStrm.Seek( nEndPos );
- return rRangeList.Count() != 0;
+ return !rRangeList.empty();
}
void ExcelToSc::DoMulArgs( DefTokenId eId, sal_uInt8 nAnz, sal_uInt8 nMinParamCount )
diff --git a/sc/source/filter/excel/excform8.cxx b/sc/source/filter/excel/excform8.cxx
index b542a9bdd580..ccbdd9d2cb97 100644
--- a/sc/source/filter/excel/excform8.cxx
+++ b/sc/source/filter/excel/excform8.cxx
@@ -1586,7 +1586,7 @@ BOOL ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen )
}
aIn.Seek( nEndPos );
- return r.Count() != 0;
+ return !r.empty();
}
diff --git a/sc/source/filter/excel/excimp8.cxx b/sc/source/filter/excel/excimp8.cxx
index 92eb3b565666..9c7634e443c1 100644
--- a/sc/source/filter/excel/excimp8.cxx
+++ b/sc/source/filter/excel/excimp8.cxx
@@ -105,13 +105,99 @@
#include <com/sun/star/document/XDocumentProperties.hpp>
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
#include <com/sun/star/script/ModuleInfo.hpp>
+#include <com/sun/star/container/XIndexContainer.hpp>
+#include <com/sun/star/document/XFilter.hpp>
+#include <com/sun/star/document/XImporter.hpp>
+#include <comphelper/mediadescriptor.hxx>
#include <cppuhelper/component_context.hxx>
#include <sfx2/app.hxx>
#include "xltoolbar.hxx"
+
using namespace com::sun::star;
+using namespace ::comphelper;
using ::rtl::OUString;
+//OleNameOverrideContainer
+
+typedef ::cppu::WeakImplHelper1< container::XNameContainer > OleNameOverrideContainer_BASE;
+
+class OleNameOverrideContainer : public OleNameOverrideContainer_BASE
+{
+private:
+ typedef std::hash_map< rtl::OUString, uno::Reference< container::XIndexContainer >, ::rtl::OUStringHash,
+ ::std::equal_to< ::rtl::OUString > > NamedIndexToOleName;
+ NamedIndexToOleName IdToOleNameHash;
+ ::osl::Mutex m_aMutex;
+public:
+ // XElementAccess
+ virtual uno::Type SAL_CALL getElementType( ) throw (uno::RuntimeException) { return container::XIndexContainer::static_type(0); }
+ virtual ::sal_Bool SAL_CALL hasElements( ) throw (uno::RuntimeException)
+ {
+ ::osl::MutexGuard aGuard( m_aMutex );
+ return ( IdToOleNameHash.size() > 0 );
+ }
+ // XNameAcess
+ virtual uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) throw (container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException)
+ {
+ ::osl::MutexGuard aGuard( m_aMutex );
+ if ( !hasByName(aName) )
+ throw container::NoSuchElementException();
+ return uno::makeAny( IdToOleNameHash[ aName ] );
+ }
+ virtual uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames( ) throw (uno::RuntimeException)
+ {
+ ::osl::MutexGuard aGuard( m_aMutex );
+ uno::Sequence< ::rtl::OUString > aResult( IdToOleNameHash.size() );
+ NamedIndexToOleName::iterator it = IdToOleNameHash.begin();
+ NamedIndexToOleName::iterator it_end = IdToOleNameHash.end();
+ rtl::OUString* pName = aResult.getArray();
+ for (; it != it_end; ++it, ++pName )
+ *pName = it->first;
+ return aResult;
+ }
+ virtual ::sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) throw (uno::RuntimeException)
+ {
+ ::osl::MutexGuard aGuard( m_aMutex );
+ return ( IdToOleNameHash.find( aName ) != IdToOleNameHash.end() );
+ }
+
+ // XElementAccess
+ virtual ::sal_Int32 SAL_CALL getCount( ) throw (uno::RuntimeException)
+ {
+ ::osl::MutexGuard aGuard( m_aMutex );
+ return IdToOleNameHash.size();
+ }
+ // XNameContainer
+ virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, const uno::Any& aElement ) throw(lang::IllegalArgumentException, container::ElementExistException, lang::WrappedTargetException, uno::RuntimeException)
+ {
+ ::osl::MutexGuard aGuard( m_aMutex );
+ if ( hasByName( aName ) )
+ throw container::ElementExistException();
+ uno::Reference< container::XIndexContainer > xElement;
+ if ( ! ( aElement >>= xElement ) )
+ throw lang::IllegalArgumentException();
+ IdToOleNameHash[ aName ] = xElement;
+ }
+ virtual void SAL_CALL removeByName( const ::rtl::OUString& aName ) throw(container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException)
+ {
+ ::osl::MutexGuard aGuard( m_aMutex );
+ if ( !hasByName( aName ) )
+ throw container::NoSuchElementException();
+ IdToOleNameHash.erase( IdToOleNameHash.find( aName ) );
+ }
+ virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, const uno::Any& aElement ) throw(lang::IllegalArgumentException, container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException)
+ {
+ ::osl::MutexGuard aGuard( m_aMutex );
+ if ( !hasByName( aName ) )
+ throw container::NoSuchElementException();
+ uno::Reference< container::XIndexContainer > xElement;
+ if ( ! ( aElement >>= xElement ) )
+ throw lang::IllegalArgumentException();
+ IdToOleNameHash[ aName ] = xElement;
+ }
+};
+
// defined in docfunc.cxx ( really this needs a new name )
script::ModuleInfo lcl_InitModuleInfo( SfxObjectShell& rDocSh, String& sModule );
@@ -244,9 +330,10 @@ void ImportExcel8::ReadBasic( void )
bool bLoadCode = pFilterOpt->IsLoadExcelBasicCode();
bool bLoadExecutable = pFilterOpt->IsLoadExcelBasicExecutable();
bool bLoadStrg = pFilterOpt->IsLoadExcelBasicStorage();
+ // #FIXME need to get rid of this, we can also do this from within oox
+ // via the "ooo.vba.VBAGlobals" service
if( bLoadCode || bLoadStrg )
{
- SvxImportMSVBasic aBasicImport( *pShell, *xRootStrg, bLoadCode, bLoadStrg );
bool bAsComment = !bLoadExecutable;
if ( !bAsComment )
@@ -268,9 +355,45 @@ void ImportExcel8::ReadBasic( void )
#endif
}
- aBasicImport.Import( EXC_STORAGE_VBA_PROJECT, EXC_STORAGE_VBA, bAsComment );
- if ( !bAsComment )
- GetObjectManager().SetOleNameOverrideInfo( aBasicImport.ControlNameForObjectId() );
+ }
+ try
+ {
+ uno::Reference< lang::XComponent > xComponent( pShell->GetModel(), uno::UNO_QUERY_THROW );
+ uno::Sequence< beans::NamedValue > aArgSeq( 1 );
+
+ // collect names of embedded form controls, as specified in the VBA project
+ aArgSeq[ 0 ].Name = CREATE_OUSTRING( "OleNameOverrideInfo" );
+ uno::Reference< container::XNameContainer > xOleNameOverrideSink( new OleNameOverrideContainer );
+ aArgSeq[ 0 ].Value <<= xOleNameOverrideSink;
+
+ uno::Sequence< uno::Any > aArgs( 2 );
+ // framework calls filter objects with factory as first argument
+ aArgs[ 0 ] <<= getProcessServiceFactory();
+ aArgs[ 1 ] <<= aArgSeq;
+
+ uno::Reference< document::XImporter > xImporter( ScfApiHelper::CreateInstanceWithArgs( CREATE_OUSTRING( "com.sun.star.comp.oox.ExcelVBAProjectFilter" ), aArgs ), uno::UNO_QUERY_THROW );
+ xImporter->setTargetDocument( xComponent );
+
+ MediaDescriptor aMediaDesc;
+ SfxMedium& rMedium = GetMedium();
+ SfxItemSet* pItemSet = rMedium.GetItemSet();
+ if( pItemSet )
+ {
+ if( const SfxStringItem* pItem = static_cast< const SfxStringItem* >( pItemSet->GetItem( SID_FILE_NAME ) ) )
+ aMediaDesc[ MediaDescriptor::PROP_URL() ] <<= ::rtl::OUString( pItem->GetValue() );
+ if( const SfxStringItem* pItem = static_cast< const SfxStringItem* >( pItemSet->GetItem( SID_PASSWORD ) ) )
+ aMediaDesc[ MediaDescriptor::PROP_PASSWORD() ] <<= ::rtl::OUString( pItem->GetValue() );
+ }
+ aMediaDesc[ MediaDescriptor::PROP_INPUTSTREAM() ] <<= rMedium.GetInputStream();
+ aMediaDesc[ MediaDescriptor::PROP_INTERACTIONHANDLER() ] <<= rMedium.GetInteractionHandler();
+
+ // call the filter
+ uno::Reference< document::XFilter > xFilter( xImporter, uno::UNO_QUERY_THROW );
+ xFilter->filter( aMediaDesc.getAsConstPropertyValueList() );
+ GetObjectManager().SetOleNameOverrideInfo( xOleNameOverrideSink );
+ }
+ catch( uno::Exception& )
+ {
}
}
}
diff --git a/sc/source/filter/excel/impop.cxx b/sc/source/filter/excel/impop.cxx
index 0ca50c16a52c..d6d330848619 100644
--- a/sc/source/filter/excel/impop.cxx
+++ b/sc/source/filter/excel/impop.cxx
@@ -1168,11 +1168,11 @@ void ImportExcel::NeueTabelle( void )
InitializeTable( nTab );
- pOutlineListBuffer->Append( new XclImpOutlineDataBuffer( GetRoot(), nTab ) );
-
- pExcRoot->pColRowBuff = pColRowBuff = pOutlineListBuffer->Last()->GetColRowBuff();
- pColOutlineBuff = pOutlineListBuffer->Last()->GetColOutline();
- pRowOutlineBuff = pOutlineListBuffer->Last()->GetRowOutline();
+ XclImpOutlineDataBuffer* pNewItem = new XclImpOutlineDataBuffer( GetRoot(), nTab );
+ pOutlineListBuffer->push_back( pNewItem );
+ pExcRoot->pColRowBuff = pColRowBuff = pNewItem->GetColRowBuff();
+ pColOutlineBuff = pNewItem->GetColOutline();
+ pRowOutlineBuff = pNewItem->GetRowOutline();
}
@@ -1202,8 +1202,8 @@ void ImportExcel::PostDocLoad( void )
pStyleSheet->GetItemSet().Put( SfxUInt16Item( ATTR_PAGE_FIRSTPAGENO, 0 ) );
// outlines for all sheets, sets hidden rows and columns (#i11776# after filtered ranges)
- for( XclImpOutlineDataBuffer* pBuffer = pOutlineListBuffer->First(); pBuffer; pBuffer = pOutlineListBuffer->Next() )
- pBuffer->Convert();
+ for (XclImpOutlineListBuffer::iterator itBuffer = pOutlineListBuffer->begin(); itBuffer != pOutlineListBuffer->end(); ++itBuffer)
+ itBuffer->Convert();
// document view settings (before visible OLE area)
GetDocViewSettings().Finalize();
diff --git a/sc/source/filter/excel/makefile.mk b/sc/source/filter/excel/makefile.mk
index c9618737a516..636181c66446 100644
--- a/sc/source/filter/excel/makefile.mk
+++ b/sc/source/filter/excel/makefile.mk
@@ -45,63 +45,7 @@ VISIBILITY_HIDDEN=TRUE
# --- Files --------------------------------------------------------
SLOFILES = \
- $(SLO)$/colrowst.obj \
- $(SLO)$/excdoc.obj \
- $(SLO)$/excel.obj \
- $(SLO)$/excform.obj \
- $(SLO)$/excform8.obj \
- $(SLO)$/excimp8.obj \
- $(SLO)$/excrecds.obj \
- $(SLO)$/exctools.obj \
- $(SLO)$/expop2.obj \
- $(SLO)$/fontbuff.obj \
- $(SLO)$/frmbase.obj \
- $(SLO)$/impop.obj \
- $(SLO)$/namebuff.obj \
- $(SLO)$/read.obj \
- $(SLO)$/tokstack.obj \
- $(SLO)$/xechart.obj \
- $(SLO)$/xecontent.obj \
- $(SLO)$/xeescher.obj \
- $(SLO)$/xeformula.obj \
- $(SLO)$/xehelper.obj \
- $(SLO)$/xelink.obj \
- $(SLO)$/xename.obj \
- $(SLO)$/xepage.obj \
- $(SLO)$/xepivot.obj \
- $(SLO)$/xerecord.obj \
- $(SLO)$/xeroot.obj \
- $(SLO)$/xestream.obj \
- $(SLO)$/xestring.obj \
- $(SLO)$/xestyle.obj \
- $(SLO)$/xetable.obj \
- $(SLO)$/xeview.obj \
- $(SLO)$/xichart.obj \
- $(SLO)$/xicontent.obj \
- $(SLO)$/xiescher.obj \
- $(SLO)$/xiformula.obj \
- $(SLO)$/xihelper.obj \
- $(SLO)$/xilink.obj \
- $(SLO)$/xiname.obj \
- $(SLO)$/xipage.obj \
- $(SLO)$/xipivot.obj \
- $(SLO)$/xiroot.obj \
- $(SLO)$/xistream.obj \
- $(SLO)$/xistring.obj \
- $(SLO)$/xistyle.obj \
- $(SLO)$/xiview.obj \
- $(SLO)$/xladdress.obj \
- $(SLO)$/xlchart.obj \
- $(SLO)$/xlescher.obj \
- $(SLO)$/xlformula.obj \
- $(SLO)$/xlpage.obj \
- $(SLO)$/xlpivot.obj \
- $(SLO)$/xlroot.obj \
- $(SLO)$/xlstyle.obj \
- $(SLO)$/xltools.obj \
- $(SLO)$/xltracer.obj \
- $(SLO)$/xlview.obj \
- $(SLO)$/xltoolbar.obj \
+ $(EXCEPTIONSFILES)
.IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCSPARC"
NOOPTFILES = \
@@ -109,49 +53,62 @@ NOOPTFILES = \
.ENDIF
EXCEPTIONSFILES = \
- $(SLO)$/excdoc.obj \
- $(SLO)$/excel.obj \
- $(SLO)$/excform.obj \
+ $(SLO)$/colrowst.obj \
+ $(SLO)$/excdoc.obj \
+ $(SLO)$/excel.obj \
+ $(SLO)$/excform.obj \
$(SLO)$/excform8.obj \
- $(SLO)$/excimp8.obj \
+ $(SLO)$/excimp8.obj \
$(SLO)$/excrecds.obj \
- $(SLO)$/expop2.obj \
- $(SLO)$/impop.obj \
+ $(SLO)$/exctools.obj \
+ $(SLO)$/expop2.obj \
+ $(SLO)$/fontbuff.obj \
+ $(SLO)$/frmbase.obj \
+ $(SLO)$/impop.obj \
$(SLO)$/namebuff.obj \
+ $(SLO)$/read.obj \
$(SLO)$/tokstack.obj \
+ $(SLO)$/xechart.obj \
$(SLO)$/xecontent.obj \
$(SLO)$/xeescher.obj \
$(SLO)$/xeformula.obj \
$(SLO)$/xehelper.obj \
- $(SLO)$/xelink.obj \
- $(SLO)$/xename.obj \
- $(SLO)$/xepage.obj \
- $(SLO)$/xepivot.obj \
- $(SLO)$/xechart.obj \
+ $(SLO)$/xelink.obj \
+ $(SLO)$/xename.obj \
+ $(SLO)$/xepage.obj \
+ $(SLO)$/xepivot.obj \
+ $(SLO)$/xerecord.obj \
+ $(SLO)$/xeroot.obj \
$(SLO)$/xestream.obj \
$(SLO)$/xestring.obj \
- $(SLO)$/xestyle.obj \
- $(SLO)$/xetable.obj \
- $(SLO)$/xeview.obj \
- $(SLO)$/xichart.obj \
+ $(SLO)$/xestyle.obj \
+ $(SLO)$/xetable.obj \
+ $(SLO)$/xeview.obj \
+ $(SLO)$/xichart.obj \
$(SLO)$/xicontent.obj \
$(SLO)$/xiescher.obj \
+ $(SLO)$/xiformula.obj \
$(SLO)$/xihelper.obj \
- $(SLO)$/xilink.obj \
- $(SLO)$/xipage.obj \
- $(SLO)$/xipivot.obj \
+ $(SLO)$/xilink.obj \
+ $(SLO)$/xiname.obj \
+ $(SLO)$/xipage.obj \
+ $(SLO)$/xipivot.obj \
+ $(SLO)$/xiroot.obj \
$(SLO)$/xistream.obj \
$(SLO)$/xistring.obj \
- $(SLO)$/xistyle.obj \
+ $(SLO)$/xistyle.obj \
+ $(SLO)$/xiview.obj \
$(SLO)$/xladdress.obj \
- $(SLO)$/xiescher.obj \
- $(SLO)$/xlchart.obj \
+ $(SLO)$/xlchart.obj \
+ $(SLO)$/xlescher.obj \
$(SLO)$/xlformula.obj \
- $(SLO)$/xlpivot.obj \
- $(SLO)$/xlroot.obj \
- $(SLO)$/xlstyle.obj \
- $(SLO)$/xltoolbar.obj \
- $(SLO)$/xltools.obj \
+ $(SLO)$/xlpage.obj \
+ $(SLO)$/xlpivot.obj \
+ $(SLO)$/xlroot.obj \
+ $(SLO)$/xlstyle.obj \
+ $(SLO)$/xltoolbar.obj \
+ $(SLO)$/xltools.obj \
+ $(SLO)$/xltracer.obj \
$(SLO)$/xlview.obj
# --- Targets -------------------------------------------------------
diff --git a/sc/source/filter/excel/read.cxx b/sc/source/filter/excel/read.cxx
index 706aa9318622..516fd65cc27b 100644
--- a/sc/source/filter/excel/read.cxx
+++ b/sc/source/filter/excel/read.cxx
@@ -865,7 +865,6 @@ FltError ImportExcel8::Read( void )
eAkt = EXC_STATE_SHEET;
aIn.SeekGlobalPosition();
continue; // next iteration in while loop
-// break; // unxsols warning: statement unreachable
case EXC_STATE_SHEET:
Eof();
eAkt = EXC_STATE_END;
diff --git a/sc/source/filter/excel/xechart.cxx b/sc/source/filter/excel/xechart.cxx
index 26d42d6c353b..3929c4289ff8 100644
--- a/sc/source/filter/excel/xechart.cxx
+++ b/sc/source/filter/excel/xechart.cxx
@@ -134,7 +134,7 @@ XclExpStream& operator<<( XclExpStream& rStrm, const XclChRectangle& rRect )
inline void lclSaveRecord( XclExpStream& rStrm, XclExpRecordRef xRec )
{
- if( xRec.is() )
+ if( xRec )
xRec->Save( rStrm );
}
@@ -142,7 +142,7 @@ inline void lclSaveRecord( XclExpStream& rStrm, XclExpRecordRef xRec )
template< typename Type >
void lclSaveRecord( XclExpStream& rStrm, XclExpRecordRef xRec, sal_uInt16 nRecId, Type nValue )
{
- if( xRec.is() )
+ if( xRec )
{
XclExpValueRecord< Type >( nRecId, nValue ).Save( rStrm );
xRec->Save( rStrm );
@@ -639,12 +639,12 @@ void XclExpChEscherFormat::Convert( const ScfPropertySet& rPropSet, XclChObjectT
bool XclExpChEscherFormat::IsValid() const
{
- return maData.mxEscherSet.is();
+ return maData.mxEscherSet;
}
void XclExpChEscherFormat::Save( XclExpStream& rStrm )
{
- if( maData.mxEscherSet.is() )
+ if( maData.mxEscherSet )
{
// replace RGB colors with palette indexes in the Escher container
const XclExpPalette& rPal = GetPalette();
@@ -672,7 +672,7 @@ void XclExpChEscherFormat::WriteSubRecords( XclExpStream& rStrm )
sal_uInt32 XclExpChEscherFormat::RegisterColor( sal_uInt16 nPropId )
{
sal_uInt32 nBGRValue;
- if( maData.mxEscherSet.is() && maData.mxEscherSet->GetOpt( nPropId, nBGRValue ) )
+ if( maData.mxEscherSet && maData.mxEscherSet->GetOpt( nPropId, nBGRValue ) )
{
// swap red and blue
Color aColor( RGB_COLORDATA(
@@ -686,7 +686,7 @@ sal_uInt32 XclExpChEscherFormat::RegisterColor( sal_uInt16 nPropId )
void XclExpChEscherFormat::WriteBody( XclExpStream& rStrm )
{
- DBG_ASSERT( maData.mxEscherSet.is(), "XclExpChEscherFormat::WriteBody - missing property container" );
+ DBG_ASSERT( maData.mxEscherSet, "XclExpChEscherFormat::WriteBody - missing property container" );
// write Escher property container via temporary memory stream
SvMemoryStream aMemStrm;
maData.mxEscherSet->Commit( aMemStrm );
@@ -1020,7 +1020,7 @@ void XclExpChSourceLink::ConvertNumFmt( const ScfPropertySet& rPropSet, bool bPe
void XclExpChSourceLink::AppendString( const String& rStr )
{
- if (!mxString.is())
+ if (!mxString)
return;
XclExpStringHelper::AppendString( *mxString, GetRoot(), rStr );
}
@@ -1028,7 +1028,7 @@ void XclExpChSourceLink::AppendString( const String& rStr )
void XclExpChSourceLink::Save( XclExpStream& rStrm )
{
// CHFORMATRUNS record
- if( mxString.is() && mxString->IsRich() )
+ if( mxString && mxString->IsRich() )
{
sal_Size nRecSize = (1 + mxString->GetFormatsCount()) * ((GetBiff() == EXC_BIFF8) ? 2 : 1);
rStrm.StartRecord( EXC_ID_CHFORMATRUNS, nRecSize );
@@ -1038,7 +1038,7 @@ void XclExpChSourceLink::Save( XclExpStream& rStrm )
// CHSOURCELINK record
XclExpRecord::Save( rStrm );
// CHSTRING record
- if( mxString.is() && !mxString->IsEmpty() )
+ if( mxString && !mxString->IsEmpty() )
{
rStrm.StartRecord( EXC_ID_CHSTRING, 2 + mxString->GetSize() );
rStrm << sal_uInt16( 0 ) << *mxString;
@@ -1861,7 +1861,7 @@ bool XclExpChSeries::ConvertDataSeries(
maData.mnCategCount = mxCategLink->ConvertDataSequence( xXValueSeq, false, maData.mnValueCount );
// size values of bubble charts
- if( mxBubbleLink.is() )
+ if( mxBubbleLink )
mxBubbleLink->ConvertDataSequence( xBubbleSeq, false, maData.mnValueCount );
// series formatting
@@ -2042,7 +2042,7 @@ void XclExpChSeries::CreateTrendLines( XDataSeriesRef xDataSeries )
for( const Reference< XRegressionCurve >* pIt = pBeg; pIt != pEnd; ++pIt )
{
XclExpChSeriesRef xSeries = GetChartData().CreateSeries();
- if( xSeries.is() && !xSeries->ConvertTrendLine( *this, *pIt ) )
+ if( xSeries && !xSeries->ConvertTrendLine( *this, *pIt ) )
GetChartData().RemoveLastSeries();
}
}
@@ -2066,7 +2066,7 @@ void XclExpChSeries::CreateErrorBar( const ScfPropertySet& rPropSet,
if( rPropSet.GetBoolProperty( rShowPropName ) )
{
XclExpChSeriesRef xSeries = GetChartData().CreateSeries();
- if( xSeries.is() && !xSeries->ConvertErrorBar( *this, rPropSet, nBarId ) )
+ if( xSeries && !xSeries->ConvertErrorBar( *this, rPropSet, nBarId ) )
GetChartData().RemoveLastSeries();
}
}
@@ -2420,8 +2420,18 @@ void XclExpChTypeGroup::ConvertSeries(
maType.SetStacked( bPercent );
// connected data points (only in stacked bar charts)
- if( bConnectBars && (maTypeInfo.meTypeCateg == EXC_CHTYPECATEG_BAR) )
- maChartLines[ EXC_CHCHARTLINE_CONNECT ].reset( new XclExpChLineFormat( GetChRoot() ) );
+ if (bConnectBars && (maTypeInfo.meTypeCateg == EXC_CHTYPECATEG_BAR))
+ {
+ sal_uInt16 nKey = EXC_CHCHARTLINE_CONNECT;
+ XclExpChLineFormatRef p(new XclExpChLineFormat(GetChRoot()));
+ XclExpChLineFormatMap::iterator itr = maChartLines.lower_bound(nKey);
+ if (itr != maChartLines.end() && !(maChartLines.key_comp()(nKey, itr->first)))
+ // Overwrite the existing element.
+ itr->second = p;
+ else
+ // Insert new element.
+ maChartLines.insert(itr, XclExpChLineFormatMap::value_type(nKey, p));
+ }
}
else
{
@@ -2486,7 +2496,7 @@ void XclExpChTypeGroup::CreateDataSeries(
{
// let chart create series object with correct series index
XclExpChSeriesRef xSeries = GetChartData().CreateSeries();
- if( xSeries.is() )
+ if( xSeries )
{
if( xSeries->ConvertDataSeries( xDiagram, xDataSeries, maTypeInfo, GetGroupIdx(), GetFreeFormatIdx() ) )
maSeries.AppendRecord( xSeries );
@@ -2538,7 +2548,7 @@ bool XclExpChTypeGroup::CreateStockSeries( Reference< XDataSeries > xDataSeries,
bool bOk = false;
// let chart create series object with correct series index
XclExpChSeriesRef xSeries = GetChartData().CreateSeries();
- if( xSeries.is() )
+ if( xSeries )
{
bOk = xSeries->ConvertStockSeries( xDataSeries,
rValueRole, GetGroupIdx(), GetFreeFormatIdx(), bCloseSymbol );
@@ -2794,13 +2804,13 @@ XclExpChAxis::XclExpChAxis( const XclExpChRoot& rRoot, sal_uInt16 nAxisType ) :
void XclExpChAxis::SetFont( XclExpChFontRef xFont, const Color& rColor, sal_uInt32 nColorId )
{
mxFont = xFont;
- if( mxTick.is() )
+ if( mxTick )
mxTick->SetFontColor( rColor, nColorId );
}
void XclExpChAxis::SetRotation( sal_uInt16 nRotation )
{
- if( mxTick.is() )
+ if( mxTick )
mxTick->SetRotation( nRotation );
}
@@ -2986,7 +2996,7 @@ sal_uInt16 XclExpChAxesSet::Convert( Reference< XDiagram > xDiagram, sal_uInt16
chart with existing type groups, insert all series into last
contained chart type group instead of creating a new group. */
XclExpChTypeGroupRef xLastGroup = GetLastTypeGroup();
- if( xLastGroup.is() && !(xTypeGroup->IsCombinable2d() && xLastGroup->IsCombinable2d()) )
+ if( xLastGroup && !(xTypeGroup->IsCombinable2d() && xLastGroup->IsCombinable2d()) )
{
xLastGroup->ConvertSeries( xDiagram, *pIt, nApiAxesSetIdx, bPercent, bConnectBars );
}
@@ -3041,12 +3051,12 @@ sal_uInt16 XclExpChAxesSet::Convert( Reference< XDiagram > xDiagram, sal_uInt16
if( xDiagram.is() && (GetAxesSetId() == EXC_CHAXESSET_PRIMARY) )
{
XclExpChTypeGroupRef xTypeGroup = GetFirstTypeGroup();
- if( xTypeGroup.is() && xTypeGroup->Is3dWallChart() )
+ if( xTypeGroup && xTypeGroup->Is3dWallChart() )
{
// wall/floor formatting (3D charts)
- if( mxXAxis.is() )
+ if( mxXAxis )
mxXAxis->ConvertWall( xDiagram );
- if( mxYAxis.is() )
+ if( mxYAxis )
mxYAxis->ConvertWall( xDiagram );
}
else
@@ -3086,7 +3096,7 @@ sal_uInt16 XclExpChAxesSet::Convert( Reference< XDiagram > xDiagram, sal_uInt16
bool XclExpChAxesSet::Is3dChart() const
{
XclExpChTypeGroupRef xTypeGroup = GetFirstTypeGroup();
- return xTypeGroup.is() && xTypeGroup->Is3dChart();
+ return xTypeGroup && xTypeGroup->Is3dChart();
}
void XclExpChAxesSet::WriteSubRecords( XclExpStream& rStrm )
@@ -3098,7 +3108,7 @@ void XclExpChAxesSet::WriteSubRecords( XclExpStream& rStrm )
lclSaveRecord( rStrm, mxXAxisTitle );
lclSaveRecord( rStrm, mxYAxisTitle );
lclSaveRecord( rStrm, mxZAxisTitle );
- if( mxPlotFrame.is() )
+ if( mxPlotFrame )
{
XclExpEmptyRecord( EXC_ID_CHPLOTFRAME ).Save( rStrm );
mxPlotFrame->Save( rStrm );
@@ -3154,7 +3164,7 @@ static void lcl_getChartSubTitle(const Reference<XChartDocument>& xChartDoc,
return;
OUString aTitle;
- Any any = xProp->getPropertyValue( OUString::createFromAscii("String") );
+ Any any = xProp->getPropertyValue( OUString(RTL_CONSTASCII_USTRINGPARAM("String")) );
if (any >>= aTitle)
rSubTitle = aTitle;
}
@@ -3245,7 +3255,7 @@ void XclExpChChart::RemoveLastSeries()
void XclExpChChart::SetDataLabel( XclExpChTextRef xText )
{
- if( xText.is() )
+ if( xText )
maLabels.AppendRecord( xText );
}
@@ -3318,7 +3328,7 @@ XclExpChartDrawing::~XclExpChartDrawing()
void XclExpChartDrawing::Save( XclExpStream& rStrm )
{
- if( mxObjRecs.is() )
+ if( mxObjRecs )
mxObjRecs->Save( rStrm );
}
diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx
index 139f9c4e4af7..226668a7b834 100644
--- a/sc/source/filter/excel/xecontent.cxx
+++ b/sc/source/filter/excel/xecontent.cxx
@@ -263,8 +263,8 @@ void XclExpSstImpl::SaveXml( XclExpXmlStream& rStrm )
return;
sax_fastparser::FSHelperPtr pSst = rStrm.CreateOutputStream(
- OUString::createFromAscii( "xl/sharedStrings.xml" ),
- OUString::createFromAscii( "sharedStrings.xml" ),
+ OUString(RTL_CONSTASCII_USTRINGPARAM( "xl/sharedStrings.xml") ),
+ OUString(RTL_CONSTASCII_USTRINGPARAM( "sharedStrings.xml" )),
rStrm.GetCurrentStream()->getOutputStream(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings" );
@@ -332,12 +332,15 @@ void XclExpMergedcells::AppendRange( const ScRange& rRange, sal_uInt32 nBaseXFId
sal_uInt32 XclExpMergedcells::GetBaseXFId( const ScAddress& rPos ) const
{
- DBG_ASSERT( maBaseXFIds.size() == maMergedRanges.Count(), "XclExpMergedcells::GetBaseXFId - invalid lists" );
+ DBG_ASSERT( maBaseXFIds.size() == maMergedRanges.size(), "XclExpMergedcells::GetBaseXFId - invalid lists" );
ScfUInt32Vec::const_iterator aIt = maBaseXFIds.begin();
ScRangeList& rNCRanges = const_cast< ScRangeList& >( maMergedRanges );
- for( const ScRange* pScRange = rNCRanges.First(); pScRange; pScRange = rNCRanges.Next(), ++aIt )
+ for ( size_t i = 0, nRanges = rNCRanges.size(); i < nRanges; ++i, ++aIt )
+ {
+ const ScRange* pScRange = rNCRanges[ i ];
if( pScRange->In( rPos ) )
return *aIt;
+ }
return EXC_XFID_NOTFOUND;
}
@@ -363,16 +366,16 @@ void XclExpMergedcells::Save( XclExpStream& rStrm )
void XclExpMergedcells::SaveXml( XclExpXmlStream& rStrm )
{
- ULONG nCount = maMergedRanges.Count();
+ size_t nCount = maMergedRanges.size();
if( !nCount )
return;
sax_fastparser::FSHelperPtr& rWorksheet = rStrm.GetCurrentStream();
rWorksheet->startElement( XML_mergeCells,
XML_count, OString::valueOf( (sal_Int32) nCount ).getStr(),
FSEND );
- for( ULONG i = 0; i < nCount; ++i )
+ for( size_t i = 0; i < nCount; ++i )
{
- if( const ScRange* pRange = maMergedRanges.GetObject( i ) )
+ if( const ScRange* pRange = maMergedRanges[ i ] )
{
rWorksheet->singleElement( XML_mergeCell,
XML_ref, XclXmlUtils::ToOString( *pRange ).getStr(),
@@ -410,12 +413,20 @@ XclExpHyperlink::XclExpHyperlink( const XclExpRoot& rRoot, const SvxURLField& rU
}
// file link or URL
- if( eProtocol == INET_PROT_FILE )
+ if( eProtocol == INET_PROT_FILE || eProtocol == INET_PROT_SMB )
{
sal_uInt16 nLevel;
bool bRel;
String aFileName( BuildFileName( nLevel, bRel, rUrl, rRoot ) );
+ if( eProtocol == INET_PROT_SMB )
+ {
+ // #n382718# (and #n261623#) Convert smb notation to '\\'
+ aFileName = aUrlObj.GetMainURL( INetURLObject::NO_DECODE );
+ aFileName = String( aFileName.GetBuffer() + 4 ); // skip the 'smb:' part
+ aFileName.SearchAndReplaceAll( '/', '\\' );
+ }
+
if( !bRel )
mnFlags |= EXC_HLINK_ABS;
mnFlags |= EXC_HLINK_BODY;
@@ -568,9 +579,12 @@ XclExpLabelranges::XclExpLabelranges( const XclExpRoot& rRoot ) :
// row label ranges
FillRangeList( maRowRanges, rRoot.GetDoc().GetRowNameRangesRef(), nScTab );
// row labels only over 1 column (restriction of Excel97/2000/XP)
- for( ScRange* pScRange = maRowRanges.First(); pScRange; pScRange = maRowRanges.Next() )
+ for ( size_t i = 0, nRanges = maRowRanges.size(); i < nRanges; ++i )
+ {
+ ScRange* pScRange = maRowRanges[ i ];
if( pScRange->aStart.Col() != pScRange->aEnd.Col() )
pScRange->aEnd.SetCol( pScRange->aStart.Col() );
+ }
// col label ranges
FillRangeList( maColRanges, rRoot.GetDoc().GetColNameRangesRef(), nScTab );
}
@@ -578,8 +592,9 @@ XclExpLabelranges::XclExpLabelranges( const XclExpRoot& rRoot ) :
void XclExpLabelranges::FillRangeList( ScRangeList& rScRanges,
ScRangePairListRef xLabelRangesRef, SCTAB nScTab )
{
- for( const ScRangePair* pRangePair = xLabelRangesRef->First(); pRangePair; pRangePair = xLabelRangesRef->Next() )
+ for ( size_t i = 0, nPairs = xLabelRangesRef->size(); i < nPairs; ++i )
{
+ ScRangePair* pRangePair = (*xLabelRangesRef)[i];
const ScRange& rScRange = pRangePair->GetRange( 0 );
if( rScRange.aStart.Tab() == nScTab )
rScRanges.Append( rScRange );
diff --git a/sc/source/filter/excel/xeescher.cxx b/sc/source/filter/excel/xeescher.cxx
index 43abdbec64b8..a915aea33b79 100644
--- a/sc/source/filter/excel/xeescher.cxx
+++ b/sc/source/filter/excel/xeescher.cxx
@@ -89,6 +89,7 @@
#include <oox/export/drawingml.hxx>
#include <oox/export/chartexport.hxx>
#include <oox/export/utils.hxx>
+#include <boost/shared_ptr.hpp>
using ::rtl::OString;
using ::rtl::OUString;
@@ -117,6 +118,8 @@ using ::oox::drawingml::ChartExport;
#define HMM2XL(x) ((x)/26.5)+0.5
+#ifdef XLSX_OOXML_FUTURE
+// these function are only used within that context
// Static Function Helpers
static const char *ToHorizAlign( SdrTextHorzAdjust eAdjust )
{
@@ -167,6 +170,7 @@ static void lcl_WriteAnchorVertex( sax_fastparser::FSHelperPtr rComments, Rectan
rComments->writeEscaped( OUString::valueOf( aRect.Bottom() ) );
rComments->endElement( FSNS( XML_xdr, XML_rowOff ) );
}
+#endif
static void lcl_GetFromTo( const XclExpRoot& rRoot, const Rectangle &aRect, INT32 nTab, Rectangle &aFrom, Rectangle &aTo )
{
@@ -873,17 +877,6 @@ XclExpTbxControlObj::XclExpTbxControlObj( XclExpObjectManager& rRoot, Reference<
bool XclExpTbxControlObj::SetMacroLink( const ScriptEventDescriptor& rEvent )
{
return XclMacroHelper::SetMacroLink( rEvent, meEventType );
-/*
- String aMacroName = XclControlHelper::ExtractFromMacroDescriptor( rEvent, meEventType );
- if( aMacroName.Len() )
- {
- sal_uInt16 nExtSheet = GetLocalLinkManager().FindExtSheet( EXC_EXTSH_OWNDOC );
- sal_uInt16 nNameIdx = GetNameManager().InsertMacroCall( aMacroName, true, false );
- mxMacroLink = GetFormulaCompiler().CreateNameXFormula( nExtSheet, nNameIdx );
- return true;
- }
- return false;
-*/
}
void XclExpTbxControlObj::WriteSubRecs( XclExpStream& rStrm )
@@ -1126,7 +1119,6 @@ void XclExpChartObj::SaveXml( XclExpXmlStream& rStrm )
nChartCount++;
aChartExport.WriteChartObj( mxShape, nChartCount );
// TODO: get the correcto chart number
- //WriteChartObj( pDrawing, rStrm );
}
pDrawing->singleElement( FSNS( XML_xdr, XML_clientData),
@@ -1162,9 +1154,7 @@ void XclExpChartObj::WriteChartObj( sax_fastparser::FSHelperPtr pDrawing, XclExp
pDrawing->endElement( FSNS( XML_xdr, XML_nvGraphicFramePr ) );
// visual chart properties
- //pDrawing->startElement( FSNS( XML_xdr, XML_xfrm ), FSEND );
WriteShapeTransformation( pDrawing, mxShape );
- //pDrawing->endElement( FSNS( XML_xdr, XML_xfrm ) );
// writer chart object
pDrawing->startElement( FSNS( XML_a, XML_graphic ), FSEND );
@@ -1267,13 +1257,6 @@ XclExpNote::XclExpNote( const XclExpRoot& rRoot, const ScAddress& rScPos,
// AutoFill style would change if Postit.cxx object creation values are changed
OUString aCol(((XFillColorItem &)GETITEM(aItemSet, XFillColorItem , XATTR_FILLCOLOR)).GetValue());
mbAutoFill = !aCol.getLength() && (GETITEMVALUE(aItemSet, XFillStyleItem, XATTR_FILLSTYLE, ULONG) == XFILL_SOLID);
-#if 0
- // TODO: Get AutoLine bool
- aCol = OUString(((XLineStartItem &)GETITEM(aItemSet, XLineStartItem, XATTR_LINESTART)).GetValue());
- mbAutoLine = !aCol.getLength() &&
- (GETITEMVALUE(aItemSet, XLineStartWidthItem, XATTR_LINESTARTWIDTH, ULONG) == 200) &&
- (GETITEMBOOL(aItemSet, XATTR_LINESTARTCENTER) == FALSE);
-#endif
mbAutoLine = true;
mbRowHidden = (rRoot.GetDoc().RowHidden(maScPos.Row(),maScPos.Tab()));
mbColHidden = (rRoot.GetDoc().ColHidden(maScPos.Col(),maScPos.Tab()));
@@ -1361,14 +1344,8 @@ void XclExpNote::WriteXml( sal_Int32 nAuthorId, XclExpXmlStream& rStrm )
FSEND );
rComments->startElement( XML_text, FSEND );
// OOXTODO: phoneticPr, rPh, r
-#if 0
- rComments->startElement( XML_t, FSEND );
- rComments->writeEscaped( XclXmlUtils::ToOUString( maOrigNoteText ) );
- rComments->endElement ( XML_t );
-#else
- if( mpNoteContents.is() )
+ if( mpNoteContents )
mpNoteContents->WriteXml( rStrm );
-#endif
rComments->endElement( XML_text );
/*
@@ -1381,9 +1358,7 @@ void XclExpNote::WriteXml( sal_Int32 nAuthorId, XclExpXmlStream& rStrm )
rComments->startElement( XML_commentPr,
XML_autoFill, XclXmlUtils::ToPsz( mbAutoFill ),
XML_autoScale, XclXmlUtils::ToPsz( mbAutoScale ),
- // XML_autoLine, XclXmlUtils::ToPsz( mbAutoLine ),
XML_colHidden, XclXmlUtils::ToPsz( mbColHidden ),
- // XML_defaultSize, "true",
XML_locked, XclXmlUtils::ToPsz( mbLocked ),
XML_rowHidden, XclXmlUtils::ToPsz( mbRowHidden ),
XML_textHAlign, ToHorizAlign( meTHA ),
@@ -1419,7 +1394,7 @@ XclMacroHelper::~XclMacroHelper()
void XclMacroHelper::WriteMacroSubRec( XclExpStream& rStrm )
{
- if( mxMacroLink.is() )
+ if( mxMacroLink )
WriteFormulaSubRec( rStrm, EXC_ID_OBJMACRO, *mxMacroLink );
}
@@ -1565,9 +1540,9 @@ XclExpDffAnchorBase* XclExpObjectManager::CreateDffAnchor() const
return new XclExpDffSheetAnchor( GetRoot() );
}
-ScfRef< XclExpRecordBase > XclExpObjectManager::CreateDrawingGroup()
+boost::shared_ptr< XclExpRecordBase > XclExpObjectManager::CreateDrawingGroup()
{
- return ScfRef< XclExpRecordBase >( new XclExpMsoDrawingGroup( *mxEscherEx ) );
+ return boost::shared_ptr< XclExpRecordBase >( new XclExpMsoDrawingGroup( *mxEscherEx ) );
}
void XclExpObjectManager::StartSheet()
@@ -1575,7 +1550,7 @@ void XclExpObjectManager::StartSheet()
mxObjList.reset( new XclExpObjList( GetRoot(), *mxEscherEx ) );
}
-ScfRef< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( SdrPage* pSdrPage )
+boost::shared_ptr< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( SdrPage* pSdrPage )
{
if( pSdrPage )
mxEscherEx->AddSdrPage( *pSdrPage );
@@ -1587,7 +1562,7 @@ ScfRef< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( SdrPage* pSdrPag
return mxObjList;
}
-ScfRef< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( const Reference< XShapes >& rxShapes )
+boost::shared_ptr< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( const Reference< XShapes >& rxShapes )
{
if( rxShapes.is() )
mxEscherEx->AddUnoShapes( rxShapes );
diff --git a/sc/source/filter/excel/xeformula.cxx b/sc/source/filter/excel/xeformula.cxx
index 9e2b69f33bb0..4c51e0c44d5f 100644
--- a/sc/source/filter/excel/xeformula.cxx
+++ b/sc/source/filter/excel/xeformula.cxx
@@ -117,7 +117,7 @@ void XclExpOperandList::AppendOperand( sal_uInt16 nTokPos, XclFuncParamConv eCon
rConvInfo.mbValType = bValType;
}
-typedef ScfRef< XclExpOperandList > XclExpOperandListRef;
+typedef boost::shared_ptr< XclExpOperandList > XclExpOperandListRef;
typedef ::std::vector< XclExpOperandListRef > XclExpOperandListVector;
// ----------------------------------------------------------------------------
@@ -279,7 +279,7 @@ static const XclExpCompConfig spConfigTable[] =
/** Working data of the formula compiler. Used to push onto a stack for recursive calls. */
struct XclExpCompData
{
- typedef ScfRef< ScTokenArray > ScTokenArrayRef;
+ typedef boost::shared_ptr< ScTokenArray > ScTokenArrayRef;
const XclExpCompConfig& mrCfg; /// Configuration for current formula type.
ScTokenArrayRef mxOwnScTokArr; /// Own clone of a Calc token array.
@@ -479,7 +479,7 @@ private:
// ------------------------------------------------------------------------
private:
typedef ::std::map< XclFormulaType, XclExpCompConfig > XclExpCompConfigMap;
- typedef ScfRef< XclExpCompData > XclExpCompDataRef;
+ typedef boost::shared_ptr< XclExpCompData > XclExpCompDataRef;
typedef ::std::vector< XclExpCompDataRef > XclExpCompDataVector;
XclExpCompConfigMap maCfgMap; /// Compiler configuration map for all formula types.
@@ -635,7 +635,7 @@ void XclExpFmlaCompImpl::Init( XclFormulaType eType, const ScTokenArray& rScTokA
mxData->mpLinkMgr = mxData->mrCfg.mbLocalLinkMgr ? &GetLocalLinkManager() : &GetGlobalLinkManager();
// token array iterator (use cloned token array if present)
- mxData->maTokArrIt.Init( mxData->mxOwnScTokArr.is() ? *mxData->mxOwnScTokArr : rScTokArr, false );
+ mxData->maTokArrIt.Init( mxData->mxOwnScTokArr ? *mxData->mxOwnScTokArr : rScTokArr, false );
mxData->mpRefLog = pRefLog;
}
}
@@ -1317,18 +1317,16 @@ void XclExpFmlaCompImpl::ProcessMatrix( const XclExpScToken& rTokData )
{
for( SCSIZE nScCol = 0; nScCol < nScCols; ++nScCol )
{
- ScMatValType nType;
- const ScMatrixValue* pMatVal = pMatrix->Get( nScCol, nScRow, nType );
- DBG_ASSERT( pMatVal, "XclExpFmlaCompImpl::ProcessMatrix - missing matrix value" );
- if( ScMatrix::IsValueType( nType ) ) // value, boolean, or error
+ ScMatrixValue nMatVal = pMatrix->Get( nScCol, nScRow );
+ if( ScMatrix::IsValueType( nMatVal.nType ) ) // value, boolean, or error
{
- if( ScMatrix::IsBooleanType( nType ) )
+ if( ScMatrix::IsBooleanType( nMatVal.nType ) )
{
AppendExt( EXC_CACHEDVAL_BOOL );
- AppendExt( static_cast< sal_uInt8 >( pMatVal->GetBoolean() ? 1 : 0 ) );
+ AppendExt( static_cast< sal_uInt8 >( nMatVal.GetBoolean() ? 1 : 0 ) );
AppendExt( 0, 7 );
}
- else if( USHORT nErr = pMatVal->GetError() )
+ else if( USHORT nErr = nMatVal.GetError() )
{
AppendExt( EXC_CACHEDVAL_ERROR );
AppendExt( XclTools::GetXclErrorCode( nErr ) );
@@ -1337,12 +1335,12 @@ void XclExpFmlaCompImpl::ProcessMatrix( const XclExpScToken& rTokData )
else
{
AppendExt( EXC_CACHEDVAL_DOUBLE );
- AppendExt( pMatVal->fVal );
+ AppendExt( nMatVal.fVal );
}
}
else // string or empty
{
- const String& rStr = pMatVal->GetString();
+ const String& rStr = nMatVal.GetString();
if( rStr.Len() == 0 )
{
AppendExt( EXC_CACHEDVAL_EMPTY );
@@ -2603,18 +2601,18 @@ XclTokenArrayRef XclExpFormulaCompiler::CreateFormula( XclFormulaType eType, con
XclTokenArrayRef XclExpFormulaCompiler::CreateFormula( XclFormulaType eType, const ScRangeList& rScRanges )
{
- ULONG nCount = rScRanges.Count();
+ size_t nCount = rScRanges.size();
if( nCount == 0 )
return XclTokenArrayRef();
ScTokenArray aScTokArr;
SCTAB nCurrScTab = GetCurrScTab();
bool b3DRefOnly = mxImpl->Is3DRefOnly( eType );
- for( ULONG nIdx = 0; nIdx < nCount; ++nIdx )
+ for( size_t nIdx = 0; nIdx < nCount; ++nIdx )
{
if( nIdx > 0 )
aScTokArr.AddOpCode( ocUnion );
- lclPutRangeToTokenArray( aScTokArr, *rScRanges.GetObject( nIdx ), nCurrScTab, b3DRefOnly );
+ lclPutRangeToTokenArray( aScTokArr, *rScRanges[ nIdx ], nCurrScTab, b3DRefOnly );
}
return mxImpl->CreateFormula( eType, aScTokArr );
}
diff --git a/sc/source/filter/excel/xehelper.cxx b/sc/source/filter/excel/xehelper.cxx
index f715b781fa4a..93eb4e54cb63 100644
--- a/sc/source/filter/excel/xehelper.cxx
+++ b/sc/source/filter/excel/xehelper.cxx
@@ -260,13 +260,11 @@ bool XclExpAddressConverter::ConvertRange( XclRange& rXclRange,
void XclExpAddressConverter::ValidateRangeList( ScRangeList& rScRanges, bool bWarn )
{
- ULONG nIdx = rScRanges.Count();
- while( nIdx )
+ for ( size_t nRange = rScRanges.size(); nRange > 0; )
{
- --nIdx; // backwards to keep nIdx valid
- ScRange* pScRange = rScRanges.GetObject( nIdx );
- if( pScRange && !CheckRange( *pScRange, bWarn ) )
- delete rScRanges.Remove( nIdx );
+ ScRange* pScRange = rScRanges[ --nRange ];
+ if( !CheckRange( *pScRange, bWarn ) )
+ delete rScRanges.Remove(nRange);
}
}
@@ -274,9 +272,9 @@ void XclExpAddressConverter::ConvertRangeList( XclRangeList& rXclRanges,
const ScRangeList& rScRanges, bool bWarn )
{
rXclRanges.clear();
- for( ULONG nPos = 0, nCount = rScRanges.Count(); nPos < nCount; ++nPos )
+ for( size_t nPos = 0, nCount = rScRanges.size(); nPos < nCount; ++nPos )
{
- if( const ScRange* pScRange = rScRanges.GetObject( nPos ) )
+ if( const ScRange* pScRange = rScRanges[ nPos ] )
{
XclRange aXclRange( ScAddress::UNINITIALIZED );
if( ConvertRange( aXclRange, *pScRange, bWarn ) )
@@ -318,7 +316,7 @@ String XclExpHyperlinkHelper::ProcessUrlField( const SvxURLField& rUrlField )
if( GetBiff() == EXC_BIFF8 ) // no HLINK records in BIFF2-BIFF7
{
// there was/is already a HLINK record
- mbMultipleUrls = mxLinkRec.is();
+ mbMultipleUrls = mxLinkRec;
mxLinkRec.reset( new XclExpHyperlink( GetRoot(), rUrlField, maScPos ) );
@@ -335,7 +333,7 @@ String XclExpHyperlinkHelper::ProcessUrlField( const SvxURLField& rUrlField )
bool XclExpHyperlinkHelper::HasLinkRecord() const
{
- return !mbMultipleUrls && mxLinkRec.is();
+ return !mbMultipleUrls && mxLinkRec;
}
XclExpHyperlinkHelper::XclExpHyperlinkRef XclExpHyperlinkHelper::GetLinkRecord()
@@ -1087,29 +1085,28 @@ void XclExpCachedMatrix::Save( XclExpStream& rStrm ) const
{
for( SCSIZE nCol = 0; nCol < nCols; ++nCol )
{
- ScMatValType nMatValType = SC_MATVAL_VALUE;
- const ScMatrixValue* pMatVal = mrMatrix.Get( nCol, nRow, nMatValType );
+ ScMatrixValue nMatVal = mrMatrix.Get( nCol, nRow );
- if( !pMatVal || SC_MATVAL_EMPTY == nMatValType )
+ if( SC_MATVAL_EMPTY == nMatVal.nType )
{
rStrm.SetSliceSize( 9 );
rStrm << EXC_CACHEDVAL_EMPTY;
rStrm.WriteZeroBytes( 8 );
}
- else if( ScMatrix::IsNonValueType( nMatValType ) )
+ else if( ScMatrix::IsNonValueType( nMatVal.nType ) )
{
- XclExpString aStr( pMatVal->GetString(), EXC_STR_DEFAULT );
+ XclExpString aStr( nMatVal.GetString(), EXC_STR_DEFAULT );
rStrm.SetSliceSize( 6 );
rStrm << EXC_CACHEDVAL_STRING << aStr;
}
- else if( SC_MATVAL_BOOLEAN == nMatValType )
+ else if( SC_MATVAL_BOOLEAN == nMatVal.nType )
{
- sal_Int8 nBool = pMatVal->GetBoolean();
+ sal_Int8 nBool = nMatVal.GetBoolean();
rStrm.SetSliceSize( 9 );
rStrm << EXC_CACHEDVAL_BOOL << nBool;
rStrm.WriteZeroBytes( 7 );
}
- else if( USHORT nScError = pMatVal->GetError() )
+ else if( USHORT nScError = nMatVal.GetError() )
{
sal_Int8 nError ( XclTools::GetXclErrorCode( nScError ) );
rStrm.SetSliceSize( 9 );
@@ -1119,7 +1116,7 @@ void XclExpCachedMatrix::Save( XclExpStream& rStrm ) const
else
{
rStrm.SetSliceSize( 9 );
- rStrm << EXC_CACHEDVAL_DOUBLE << pMatVal->fVal;
+ rStrm << EXC_CACHEDVAL_DOUBLE << nMatVal.fVal;
}
}
}
diff --git a/sc/source/filter/excel/xelink.cxx b/sc/source/filter/excel/xelink.cxx
index 49520c08e0de..e419955936e4 100644
--- a/sc/source/filter/excel/xelink.cxx
+++ b/sc/source/filter/excel/xelink.cxx
@@ -106,7 +106,7 @@ private:
virtual void WriteAddData( XclExpStream& rStrm );
private:
- typedef ScfRef< XclExpCachedMatrix > XclExpCachedMatRef;
+ typedef boost::shared_ptr< XclExpCachedMatrix > XclExpCachedMatRef;
XclExpCachedMatRef mxMatrix; /// Cached results of the DDE link.
};
@@ -247,7 +247,7 @@ protected:
void WriteExtNameBuffer( XclExpStream& rStrm );
private:
- typedef ScfRef< XclExpExtNameBuffer > XclExpExtNameBfrRef;
+ typedef boost::shared_ptr< XclExpExtNameBuffer > XclExpExtNameBfrRef;
XclExpExtNameBfrRef mxExtNameBfr; /// List of EXTERNNAME records.
};
@@ -936,7 +936,7 @@ XclExpExtNameDde::XclExpExtNameDde( const XclExpRoot& rRoot,
void XclExpExtNameDde::WriteAddData( XclExpStream& rStrm )
{
- if( mxMatrix.is() )
+ if( mxMatrix )
mxMatrix->Save( rStrm );
}
@@ -1232,7 +1232,7 @@ public:
bool XclExpCrnList::InsertValue( SCCOL nScCol, SCROW nScRow, const Any& rValue )
{
RecordRefType xLastRec = GetLastRecord();
- if( xLastRec.is() && xLastRec->InsertValue( nScCol, nScRow, rValue ) )
+ if( xLastRec && xLastRec->InsertValue( nScCol, nScRow, rValue ) )
return true;
if( GetSize() == SAL_MAX_UINT16 )
return false;
@@ -1326,7 +1326,7 @@ XclExpExtNameBuffer& XclExpExternSheetBase::GetExtNameBuffer()
void XclExpExternSheetBase::WriteExtNameBuffer( XclExpStream& rStrm )
{
- if( mxExtNameBfr.is() )
+ if( mxExtNameBfr )
mxExtNameBfr->Save( rStrm );
}
@@ -1530,7 +1530,7 @@ void XclExpSupbook::Save( XclExpStream& rStrm )
const XclExpString* XclExpSupbook::GetTabName( sal_uInt16 nSBTab ) const
{
XclExpXctRef xXct = maXctList.GetRecord( nSBTab );
- return xXct.is() ? &xXct->GetTabName() : 0;
+ return xXct ? &xXct->GetTabName() : 0;
}
void XclExpSupbook::WriteBody( XclExpStream& rStrm )
@@ -1611,7 +1611,7 @@ XclExpXti XclExpSupbookBuffer::GetXti( sal_uInt16 nFirstXclTab, sal_uInt16 nLast
pRefLogEntry->mnFirstXclTab = nFirstXclTab;
pRefLogEntry->mnLastXclTab = nLastXclTab;
XclExpSupbookRef xSupbook = maSupbookList.GetRecord( aXti.mnSupbook );
- if( xSupbook.is() )
+ if( xSupbook )
xSupbook->FillRefLogEntry( *pRefLogEntry, aXti.mnFirstSBTab, aXti.mnLastSBTab );
}
}
@@ -1633,8 +1633,8 @@ void XclExpSupbookBuffer::StoreCellRange( const ScRange& rRange )
{
const XclExpSBIndex& rSBIndex = maSBIndexVec[ nXclTab ];
XclExpSupbookRef xSupbook = maSupbookList.GetRecord( rSBIndex.mnSupbook );
- DBG_ASSERT( xSupbook.is(), "XclExpSupbookBuffer::StoreCellRange - missing SUPBOOK record" );
- if( xSupbook.is() )
+ DBG_ASSERT( xSupbook , "XclExpSupbookBuffer::StoreCellRange - missing SUPBOOK record" );
+ if( xSupbook )
xSupbook->StoreCellRange( rRange, rSBIndex.mnSBTab );
}
}
@@ -1775,7 +1775,7 @@ bool XclExpSupbookBuffer::InsertAddIn(
}
else
xSupbook = maSupbookList.GetRecord( mnAddInSB );
- DBG_ASSERT( xSupbook.is(), "XclExpSupbookBuffer::InsertAddin - missing add-in supbook" );
+ DBG_ASSERT( xSupbook, "XclExpSupbookBuffer::InsertAddin - missing add-in supbook" );
rnSupbook = mnAddInSB;
rnExtName = xSupbook->InsertAddIn( rName );
return rnExtName > 0;
@@ -1874,7 +1874,7 @@ XclExpXti XclExpSupbookBuffer::GetXti( sal_uInt16 nFileId, const String& rTabNam
{
pRefLogEntry->mnFirstXclTab = 0;
pRefLogEntry->mnLastXclTab = 0;
- if (xSupbook.is())
+ if (xSupbook)
xSupbook->FillRefLogEntry(*pRefLogEntry, aXti.mnFirstSBTab, aXti.mnLastSBTab);
}
@@ -1989,7 +1989,7 @@ bool XclExpLinkManagerImpl5::InsertAddIn(
sal_uInt16& rnExtSheet, sal_uInt16& rnExtName, const String& rName )
{
XclExpExtSheetRef xExtSheet = FindInternal( rnExtSheet, EXC_EXTSH_ADDIN );
- if( xExtSheet.is() )
+ if( xExtSheet )
{
rnExtName = xExtSheet->InsertAddIn( rName );
return rnExtName > 0;
diff --git a/sc/source/filter/excel/xename.cxx b/sc/source/filter/excel/xename.cxx
index 0a244a2109a6..abfc3ccc7d6e 100644
--- a/sc/source/filter/excel/xename.cxx
+++ b/sc/source/filter/excel/xename.cxx
@@ -293,7 +293,7 @@ void XclExpName::SetSymbol( String sSymbol )
bool XclExpName::IsVolatile() const
{
- return mxTokArr.is() && mxTokArr->IsVolatile();
+ return mxTokArr && mxTokArr->IsVolatile();
}
bool XclExpName::IsHidden() const
@@ -310,9 +310,9 @@ bool XclExpName::IsMacroCall( bool bVBasic, bool bFunc ) const
void XclExpName::Save( XclExpStream& rStrm )
{
- DBG_ASSERT( mxName.is() && (mxName->Len() > 0), "XclExpName::Save - missing name" );
+ DBG_ASSERT( mxName && (mxName->Len() > 0), "XclExpName::Save - missing name" );
DBG_ASSERT( !(IsGlobal() && ::get_flag( mnFlags, EXC_NAME_BUILTIN )), "XclExpName::Save - global built-in name" );
- SetRecSize( 11 + mxName->GetSize() + (mxTokArr.is() ? mxTokArr->GetSize() : 2) );
+ SetRecSize( 11 + mxName->GetSize() + (mxTokArr ? mxTokArr->GetSize() : 2) );
XclExpRecord::Save( rStrm );
}
@@ -346,7 +346,7 @@ void XclExpName::SaveXml( XclExpXmlStream& rStrm )
void XclExpName::WriteBody( XclExpStream& rStrm )
{
- sal_uInt16 nFmlaSize = mxTokArr.is() ? mxTokArr->GetSize() : 0;
+ sal_uInt16 nFmlaSize = mxTokArr ? mxTokArr->GetSize() : 0;
rStrm << mnFlags // flags
<< sal_uInt8( 0 ); // keyboard shortcut
@@ -357,7 +357,7 @@ void XclExpName::WriteBody( XclExpStream& rStrm )
<< sal_uInt32( 0 ); // length of menu/descr/help/status text
mxName->WriteFlagField( rStrm ); // BIFF8 flag field (no-op in <=BIFF7)
mxName->WriteBuffer( rStrm ); // character array of the name
- if( mxTokArr.is() )
+ if( mxTokArr )
mxTokArr->WriteArray( rStrm ); // token array without size
}
@@ -505,7 +505,7 @@ sal_uInt16 XclExpNameManagerImpl::FindBuiltInNameIdx(
if( xName->GetBuiltInName() == cBuiltIn )
{
XclTokenArrayRef xTokArr = xName->GetTokenArray();
- if( xTokArr.is() && (*xTokArr == rTokArr) )
+ if( xTokArr && (*xTokArr == rTokArr) )
return static_cast< sal_uInt16 >( nPos + 1 );
}
}
@@ -639,7 +639,7 @@ void XclExpNameManagerImpl::CreateBuiltInNames()
}
// create the NAME record (do not warn if ranges are shrunken)
GetAddressConverter().ValidateRangeList( aRangeList, false );
- if( aRangeList.Count() > 0 )
+ if( !aRangeList.empty() )
GetNameManager().InsertBuiltInName( EXC_BUILTIN_PRINTAREA, aRangeList );
}
@@ -658,7 +658,7 @@ void XclExpNameManagerImpl::CreateBuiltInNames()
GetXclMaxPos().Col(), pRowRange->aEnd.Row(), nScTab ) );
// create the NAME record
GetAddressConverter().ValidateRangeList( aTitleList, false );
- if( aTitleList.Count() > 0 )
+ if( !aTitleList.empty() )
GetNameManager().InsertBuiltInName( EXC_BUILTIN_PRINTTITLES, aTitleList );
// *** 3) filter ranges *** ---------------------------------------
@@ -731,10 +731,10 @@ sal_uInt16 XclExpNameManager::InsertBuiltInName( sal_Unicode cBuiltIn, const ScR
sal_uInt16 XclExpNameManager::InsertBuiltInName( sal_Unicode cBuiltIn, const ScRangeList& rRangeList )
{
sal_uInt16 nNameIdx = 0;
- if( rRangeList.Count() )
+ if( !rRangeList.empty() )
{
XclTokenArrayRef xTokArr = GetFormulaCompiler().CreateFormula( EXC_FMLATYPE_NAME, rRangeList );
- nNameIdx = mxImpl->InsertBuiltInName( cBuiltIn, xTokArr, rRangeList.GetObject( 0 )->aStart.Tab() );
+ nNameIdx = mxImpl->InsertBuiltInName( cBuiltIn, xTokArr, rRangeList.front()->aStart.Tab() );
}
return nNameIdx;
}
diff --git a/sc/source/filter/excel/xepivot.cxx b/sc/source/filter/excel/xepivot.cxx
index 6a37382d70fe..59cb019b9a16 100644
--- a/sc/source/filter/excel/xepivot.cxx
+++ b/sc/source/filter/excel/xepivot.cxx
@@ -77,7 +77,7 @@ using ::rtl::OUStringBuffer;
namespace {
-// constants to track occurence of specific data types
+// constants to track occurrence of specific data types
const sal_uInt16 EXC_PCITEM_DATA_STRING = 0x0001; /// String, empty, boolean, error.
const sal_uInt16 EXC_PCITEM_DATA_DOUBLE = 0x0002; /// Double with fraction.
const sal_uInt16 EXC_PCITEM_DATA_INTEGER = 0x0004; /// Integer, double without fraction.
@@ -539,21 +539,18 @@ void XclExpPCField::InsertNumDateGroupItems( const ScDPObject& rDPObj, const ScD
{
// get the string collection with original source elements
ScSheetDPData aDPData( GetDocPtr(), *pSrcDesc );
- // Wang Xu Ming - DataPilot migration
- // 2009-05-08
const std::vector< SCROW > aOrignial = aDPData.GetColumnEntries( static_cast< long >( GetBaseFieldIndex() ) );
// get the string collection with generated grouping elements
ScDPNumGroupDimension aTmpDim( rNumInfo );
if( nDatePart != 0 )
aTmpDim.MakeDateHelper( rNumInfo, nDatePart );
- const std::vector< SCROW > aMemberIds = aTmpDim.GetNumEntries( static_cast< SCCOL >( GetBaseFieldIndex() ), aDPData.GetCacheTable().GetCache(), aOrignial );
+ const std::vector< SCROW > aMemberIds = aTmpDim.GetNumEntries( static_cast< SCCOL >( GetBaseFieldIndex() ), aDPData.GetCacheTable().getCache(), aOrignial );
for ( size_t nIdx = 0 ; nIdx < aMemberIds.size(); nIdx++ )
{
const ScDPItemData* pData = aDPData.GetMemberById( static_cast< long >( GetBaseFieldIndex() ) , aMemberIds[ nIdx] );
if ( pData )
InsertGroupItem( new XclExpPCItem( pData->GetString() ) );
}
-// End Comments
}
}
@@ -1131,7 +1128,7 @@ void XclExpPTField::SetPropertiesFromDim( const ScDPSaveDimension& rSaveDim )
// item properties
const ScDPSaveDimension::MemberList &rMembers = rSaveDim.GetMembers();
- for (ScDPSaveDimension::MemberList::const_iterator i=rMembers.begin(); i != rMembers.end() ; i++)
+ for (ScDPSaveDimension::MemberList::const_iterator i=rMembers.begin(); i != rMembers.end() ; ++i)
if( XclExpPTItem* pItem = GetItemAcc( (*i)->GetName() ) )
pItem->SetPropertiesFromMember( **i );
}
@@ -1685,7 +1682,7 @@ void XclExpPivotTable::WriteSxpi( XclExpStream& rStrm ) const
for( ScfUInt16Vec::const_iterator aIt = maPageFields.begin(), aEnd = maPageFields.end(); aIt != aEnd; ++aIt )
{
XclExpPTFieldRef xField = maFieldList.GetRecord( *aIt );
- if( xField.is() )
+ if( xField )
xField->WriteSxpiEntry( rStrm );
}
rStrm.EndRecord();
@@ -1697,7 +1694,7 @@ void XclExpPivotTable::WriteSxdiList( XclExpStream& rStrm ) const
for( XclPTDataFieldPosVec::const_iterator aIt = maDataFields.begin(), aEnd = maDataFields.end(); aIt != aEnd; ++aIt )
{
XclExpPTFieldRef xField = maFieldList.GetRecord( aIt->first );
- if( xField.is() )
+ if( xField )
xField->WriteSxdi( rStrm, aIt->second );
}
}
@@ -1852,7 +1849,7 @@ XclExpPivotTableManager::XclExpPivotTableManager( const XclExpRoot& rRoot ) :
void XclExpPivotTableManager::CreatePivotTables()
{
if( ScDPCollection* pDPColl = GetDoc().GetDPCollection() )
- for( USHORT nDPObj = 0, nCount = pDPColl->GetCount(); nDPObj < nCount; ++nDPObj )
+ for( size_t nDPObj = 0, nCount = pDPColl->GetCount(); nDPObj < nCount; ++nDPObj )
if( ScDPObject* pDPObj = (*pDPColl)[ nDPObj ] )
if( const XclExpPivotCache* pPCache = CreatePivotCache( *pDPObj ) )
maPTableList.AppendNewRecord( new XclExpPivotTable( GetRoot(), *pDPObj, *pPCache ) );
diff --git a/sc/source/filter/excel/xeroot.cxx b/sc/source/filter/excel/xeroot.cxx
index 27c844360f49..4b6169ceb20a 100644
--- a/sc/source/filter/excel/xeroot.cxx
+++ b/sc/source/filter/excel/xeroot.cxx
@@ -76,91 +76,91 @@ XclExpRoot::XclExpRoot( XclExpRootData& rExpRootData ) :
XclExpTabInfo& XclExpRoot::GetTabInfo() const
{
- DBG_ASSERT( mrExpData.mxTabInfo.is(), "XclExpRoot::GetTabInfo - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxTabInfo, "XclExpRoot::GetTabInfo - missing object (wrong BIFF?)" );
return *mrExpData.mxTabInfo;
}
XclExpAddressConverter& XclExpRoot::GetAddressConverter() const
{
- DBG_ASSERT( mrExpData.mxAddrConv.is(), "XclExpRoot::GetAddressConverter - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxAddrConv, "XclExpRoot::GetAddressConverter - missing object (wrong BIFF?)" );
return *mrExpData.mxAddrConv;
}
XclExpFormulaCompiler& XclExpRoot::GetFormulaCompiler() const
{
- DBG_ASSERT( mrExpData.mxFmlaComp.is(), "XclExpRoot::GetFormulaCompiler - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxFmlaComp, "XclExpRoot::GetFormulaCompiler - missing object (wrong BIFF?)" );
return *mrExpData.mxFmlaComp;
}
XclExpProgressBar& XclExpRoot::GetProgressBar() const
{
- DBG_ASSERT( mrExpData.mxProgress.is(), "XclExpRoot::GetProgressBar - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxProgress, "XclExpRoot::GetProgressBar - missing object (wrong BIFF?)" );
return *mrExpData.mxProgress;
}
XclExpSst& XclExpRoot::GetSst() const
{
- DBG_ASSERT( mrExpData.mxSst.is(), "XclExpRoot::GetSst - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxSst, "XclExpRoot::GetSst - missing object (wrong BIFF?)" );
return *mrExpData.mxSst;
}
XclExpPalette& XclExpRoot::GetPalette() const
{
- DBG_ASSERT( mrExpData.mxPalette.is(), "XclExpRoot::GetPalette - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxPalette, "XclExpRoot::GetPalette - missing object (wrong BIFF?)" );
return *mrExpData.mxPalette;
}
XclExpFontBuffer& XclExpRoot::GetFontBuffer() const
{
- DBG_ASSERT( mrExpData.mxFontBfr.is(), "XclExpRoot::GetFontBuffer - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxFontBfr, "XclExpRoot::GetFontBuffer - missing object (wrong BIFF?)" );
return *mrExpData.mxFontBfr;
}
XclExpNumFmtBuffer& XclExpRoot::GetNumFmtBuffer() const
{
- DBG_ASSERT( mrExpData.mxNumFmtBfr.is(), "XclExpRoot::GetNumFmtBuffer - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxNumFmtBfr, "XclExpRoot::GetNumFmtBuffer - missing object (wrong BIFF?)" );
return *mrExpData.mxNumFmtBfr;
}
XclExpXFBuffer& XclExpRoot::GetXFBuffer() const
{
- DBG_ASSERT( mrExpData.mxXFBfr.is(), "XclExpRoot::GetXFBuffer - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxXFBfr, "XclExpRoot::GetXFBuffer - missing object (wrong BIFF?)" );
return *mrExpData.mxXFBfr;
}
XclExpLinkManager& XclExpRoot::GetGlobalLinkManager() const
{
- DBG_ASSERT( mrExpData.mxGlobLinkMgr.is(), "XclExpRoot::GetGlobalLinkManager - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxGlobLinkMgr, "XclExpRoot::GetGlobalLinkManager - missing object (wrong BIFF?)" );
return *mrExpData.mxGlobLinkMgr;
}
XclExpLinkManager& XclExpRoot::GetLocalLinkManager() const
{
- DBG_ASSERT( GetLocalLinkMgrRef().is(), "XclExpRoot::GetLocalLinkManager - missing object (wrong BIFF?)" );
+ DBG_ASSERT( GetLocalLinkMgrRef(), "XclExpRoot::GetLocalLinkManager - missing object (wrong BIFF?)" );
return *GetLocalLinkMgrRef();
}
XclExpNameManager& XclExpRoot::GetNameManager() const
{
- DBG_ASSERT( mrExpData.mxNameMgr.is(), "XclExpRoot::GetNameManager - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxNameMgr, "XclExpRoot::GetNameManager - missing object (wrong BIFF?)" );
return *mrExpData.mxNameMgr;
}
XclExpObjectManager& XclExpRoot::GetObjectManager() const
{
- DBG_ASSERT( mrExpData.mxObjMgr.is(), "XclExpRoot::GetObjectManager - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxObjMgr, "XclExpRoot::GetObjectManager - missing object (wrong BIFF?)" );
return *mrExpData.mxObjMgr;
}
XclExpFilterManager& XclExpRoot::GetFilterManager() const
{
- DBG_ASSERT( mrExpData.mxFilterMgr.is(), "XclExpRoot::GetFilterManager - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxFilterMgr, "XclExpRoot::GetFilterManager - missing object (wrong BIFF?)" );
return *mrExpData.mxFilterMgr;
}
XclExpPivotTableManager& XclExpRoot::GetPivotTableManager() const
{
- DBG_ASSERT( mrExpData.mxPTableMgr.is(), "XclExpRoot::GetPivotTableManager - missing object (wrong BIFF?)" );
+ DBG_ASSERT( mrExpData.mxPTableMgr, "XclExpRoot::GetPivotTableManager - missing object (wrong BIFF?)" );
return *mrExpData.mxPTableMgr;
}
@@ -231,7 +231,7 @@ XclExpRecordRef XclExpRoot::CreateRecord( sal_uInt16 nRecId ) const
case EXC_ID_EXTERNSHEET: xRec = GetLocalLinkMgrRef(); break;
case EXC_ID_NAME: xRec = mrExpData.mxNameMgr; break;
}
- DBG_ASSERT( xRec.is(), "XclExpRoot::CreateRecord - unknown record ID or missing object" );
+ DBG_ASSERT( xRec, "XclExpRoot::CreateRecord - unknown record ID or missing object" );
return xRec;
}
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index 660ddd48c014..227e9da14401 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -369,7 +369,7 @@ void XclExpStream::SetEncrypter( XclExpEncrypterRef xEncrypter )
bool XclExpStream::HasValidEncrypter() const
{
- return mxEncrypter.is() && mxEncrypter->IsValid();
+ return mxEncrypter && mxEncrypter->IsValid();
}
void XclExpStream::EnableEncryption( bool bEnable )
@@ -732,7 +732,10 @@ rtl::OUString XclXmlUtils::GetStreamName( const char* sStreamDir, const char* sS
sBuf.appendAscii( sStream );
if( nId )
sBuf.append( nId );
- sBuf.appendAscii( ".xml" );
+ if( strstr(sStream, "vml") )
+ sBuf.appendAscii( ".vml" );
+ else
+ sBuf.appendAscii( ".xml" );
return sBuf.makeStringAndClear();
}
@@ -1110,18 +1113,6 @@ bool XclExpXmlStream::exportDocument() throw()
mpRoot = &aRoot;
aRoot.GetOldRoot().pER = &aRoot;
aRoot.GetOldRoot().eDateiTyp = Biff8;
-#if 0 // FIXME: Re-write this block without using SotStorage.
- if ( SvtFilterOptions* pOptions = SvtFilterOptions::Get() )
- if ( pShell && pOptions->IsLoadExcelBasicStorage() )
- if ( sal_uInt32 nError
- = SvxImportMSVBasic( *pShell, *rStorage,
- pOptions->IsLoadExcelBasicCode(),
- pOptions->IsLoadExcelBasicStorage() )
- .SaveOrDelMSVBAStorage( true, EXC_STORAGE_VBA_PROJECT) )
- {
- pShell->SetError( nError, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) );
- }
-#endif
// Get the viewsettings before processing
if( pShell->GetViewData() )
pShell->GetViewData()->WriteExtOptions( mpRoot->GetExtDocOptions() );
@@ -1200,7 +1191,7 @@ SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( void* /* pServiceMan
{
Reference< XRegistryKey > xNewKey1(
static_cast< XRegistryKey* >( pRegistryKey )->createKey(
- OUString::createFromAscii( IMPL_NAME "/UNO/SERVICES/" ) ) );
+ OUString(RTL_CONSTASCII_USTRINGPARAM( IMPL_NAME "/UNO/SERVICES/" )) ) );
xNewKey1->createKey( XlsxExport_getSupportedServiceNames().getConstArray()[0] );
bRet = sal_True;
@@ -1225,7 +1216,7 @@ SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* pImplN
if ( rtl_str_compare( pImplName, IMPL_NAME ) == 0 )
{
- const OUString aServiceName( OUString::createFromAscii( IMPL_NAME ) );
+ const OUString aServiceName(RTL_CONSTASCII_USTRINGPARAM(IMPL_NAME));
xFactory = Reference< XSingleServiceFactory >( ::cppu::createSingleFactory(
reinterpret_cast< XMultiServiceFactory* >( pServiceManager ),
diff --git a/sc/source/filter/excel/xestyle.cxx b/sc/source/filter/excel/xestyle.cxx
index e4ec2131ba6e..5b8853fad231 100644
--- a/sc/source/filter/excel/xestyle.cxx
+++ b/sc/source/filter/excel/xestyle.cxx
@@ -58,6 +58,7 @@
#include "xestring.hxx"
#include <oox/core/tokens.hxx>
+#include <boost/ptr_container/ptr_vector.hpp>
using ::rtl::OString;
using ::rtl::OUString;
@@ -313,10 +314,10 @@ private:
const Color& rColor ) const;
private:
- typedef ScfDelList< XclListColor > XclListColorList;
- typedef ScfRef< XclListColorList > XclListColorListRef;
- typedef ::std::vector< XclColorIdData > XclColorIdDataVec;
- typedef ::std::vector< XclPaletteColor > XclPaletteColorVec;
+ typedef boost::ptr_vector< XclListColor > XclListColorList;
+ typedef boost::shared_ptr< XclListColorList > XclListColorListRef;
+ typedef ::std::vector< XclColorIdData > XclColorIdDataVec;
+ typedef ::std::vector< XclPaletteColor > XclPaletteColorVec;
const XclDefaultPalette& mrDefPal; /// The default palette for the current BIFF version.
XclListColorListRef mxColorList; /// Working color list.
@@ -367,28 +368,28 @@ void XclExpPaletteImpl::Finalize()
{
// --- build initial color ID data vector (maColorIdDataVec) ---
- sal_uInt32 nCount = mxColorList->Count();
+ sal_uInt32 nCount = mxColorList->size();
maColorIdDataVec.resize( nCount );
for( sal_uInt32 nIdx = 0; nIdx < nCount; ++nIdx )
{
- XclListColor* pListColor = mxColorList->GetObject( nIdx );
- maColorIdDataVec[ pListColor->GetColorId() ].Set( pListColor->GetColor(), nIdx );
+ const XclListColor& listColor = mxColorList->at( nIdx );
+ maColorIdDataVec[ listColor.GetColorId() ].Set( listColor.GetColor(), nIdx );
}
// --- loop as long as current color count does not fit into palette of current BIFF ---
// phase 1: raw reduction (performance reasons, #i36945#)
sal_uInt32 nPass = 0;
- while( mxColorList->Count() > EXC_PAL_MAXRAWSIZE )
+ while( mxColorList->size() > EXC_PAL_MAXRAWSIZE )
RawReducePalette( nPass++ );
// phase 2: precise reduction using advanced color merging based on color weighting
- while( mxColorList->Count() > mrDefPal.GetColorCount() )
+ while( mxColorList->size() > mrDefPal.GetColorCount() )
ReduceLeastUsedColor();
// --- #104865# use default palette and replace colors with nearest used colors ---
- nCount = mxColorList->Count();
+ nCount = mxColorList->size();
XclRemapVec aRemapVec( nCount );
XclNearestVec aNearestVec( nCount );
@@ -399,7 +400,7 @@ void XclExpPaletteImpl::Finalize()
// find nearest unused default color for each unprocessed list color
for( nIndex = 0; nIndex < nCount; ++nIndex )
aNearestVec[ nIndex ].mnDist = aRemapVec[ nIndex ].mbProcessed ? SAL_MAX_INT32 :
- GetNearestPaletteColor( aNearestVec[ nIndex ].mnPalIndex, mxColorList->GetObject( nIndex )->GetColor(), true );
+ GetNearestPaletteColor( aNearestVec[ nIndex ].mnPalIndex, mxColorList->at( nIndex ).GetColor(), true );
// find the list color which is nearest to a default color
sal_uInt32 nFound = 0;
for( nIndex = 1; nIndex < nCount; ++nIndex )
@@ -407,9 +408,8 @@ void XclExpPaletteImpl::Finalize()
nFound = nIndex;
// replace default color with list color
sal_uInt32 nNearest = aNearestVec[ nFound ].mnPalIndex;
- DBG_ASSERT( mxColorList->GetObject( nFound ), "XclExpPaletteImpl::Finalize - missing a color" );
DBG_ASSERT( nNearest < maPalette.size(), "XclExpPaletteImpl::Finalize - algorithm error" );
- maPalette[ nNearest ].SetColor( mxColorList->GetObject( nFound )->GetColor() );
+ maPalette[ nNearest ].SetColor( mxColorList->at( nFound ).GetColor() );
aRemapVec[ nFound ].SetIndex( nNearest );
}
@@ -528,20 +528,27 @@ const Color& XclExpPaletteImpl::GetOriginalColor( sal_uInt32 nColorId ) const
XclListColor* XclExpPaletteImpl::SearchListEntry( const Color& rColor, sal_uInt32& rnIndex )
{
rnIndex = mnLastIdx;
- XclListColor* pEntry = mxColorList->GetObject( rnIndex );
+ XclListColor* pEntry = NULL;
- // search optimization for equal-colored objects occuring repeatedly
- if( pEntry && (pEntry->GetColor() == rColor) )
- return pEntry;
+ if (mxColorList->empty())
+ return NULL;
+
+ // search optimization for equal-colored objects occurring repeatedly
+ if (rnIndex < mxColorList->size())
+ {
+ pEntry = &(*mxColorList)[rnIndex];
+ if( pEntry->GetColor() == rColor )
+ return pEntry;
+ }
// binary search for color
sal_uInt32 nBegIdx = 0;
- sal_uInt32 nEndIdx = mxColorList->Count();
+ sal_uInt32 nEndIdx = mxColorList->size();
bool bFound = false;
while( !bFound && (nBegIdx < nEndIdx) )
{
rnIndex = (nBegIdx + nEndIdx) / 2;
- pEntry = mxColorList->GetObject( rnIndex );
+ pEntry = &(*mxColorList)[rnIndex];
bFound = pEntry->GetColor() == rColor;
if( !bFound )
{
@@ -551,9 +558,10 @@ XclListColor* XclExpPaletteImpl::SearchListEntry( const Color& rColor, sal_uInt3
nEndIdx = rnIndex;
}
}
+
// not found - use end of range as new insertion position
if( !bFound )
- pEntry = mxColorList->GetObject( rnIndex = nEndIdx );
+ rnIndex = nEndIdx;
mnLastIdx = rnIndex;
return pEntry;
@@ -561,8 +569,10 @@ XclListColor* XclExpPaletteImpl::SearchListEntry( const Color& rColor, sal_uInt3
XclListColor* XclExpPaletteImpl::CreateListEntry( const Color& rColor, sal_uInt32 nIndex )
{
- XclListColor* pEntry = new XclListColor( rColor, mxColorList->Count() );
- mxColorList->Insert( pEntry, nIndex );
+ XclListColor* pEntry = new XclListColor( rColor, mxColorList->size() );
+ XclListColorList::iterator itr = mxColorList->begin();
+ ::std::advance(itr, nIndex);
+ mxColorList->insert(itr, pEntry);
return pEntry;
}
@@ -584,7 +594,7 @@ void XclExpPaletteImpl::RawReducePalette( sal_uInt32 nPass )
// maps old list indexes to new list indexes, used to update maColorIdDataVec
ScfUInt32Vec aListIndexMap;
- aListIndexMap.reserve( xOldList->Count() );
+ aListIndexMap.reserve( xOldList->size() );
// preparations
sal_uInt8 nR, nG, nB;
@@ -598,10 +608,10 @@ void XclExpPaletteImpl::RawReducePalette( sal_uInt32 nPass )
sal_uInt8 nFactor3 = static_cast< sal_uInt8 >( 0x40 >> nPass );
// process each color in the old color list
- for( sal_uInt32 nIdx = 0, nCount = xOldList->Count(); nIdx < nCount; ++nIdx )
+ for( sal_uInt32 nIdx = 0, nCount = xOldList->size(); nIdx < nCount; ++nIdx )
{
// get the old list entry
- const XclListColor* pOldEntry = xOldList->GetObject( nIdx );
+ const XclListColor* pOldEntry = &(xOldList->at( nIdx ));
nR = pOldEntry->GetColor().GetRed();
nG = pOldEntry->GetColor().GetGreen();
nB = pOldEntry->GetColor().GetBlue();
@@ -639,14 +649,16 @@ void XclExpPaletteImpl::ReduceLeastUsedColor()
sal_uInt32 nKeep = GetNearestListColor( nRemove );
// merge both colors to one color, remove one color from list
- XclListColor* pKeepEntry = mxColorList->GetObject( nKeep );
- XclListColor* pRemoveEntry = mxColorList->GetObject( nRemove );
+ XclListColor* pKeepEntry = &mxColorList->at(nKeep);
+ XclListColor* pRemoveEntry = &mxColorList->at(nRemove);
if( pKeepEntry && pRemoveEntry )
{
// merge both colors (if pKeepEntry is a base color, it will not change)
pKeepEntry->Merge( *pRemoveEntry );
// remove the less used color, adjust nKeep index if kept color follows removed color
- mxColorList->Delete( nRemove );
+ XclListColorList::iterator itr = mxColorList->begin();
+ ::std::advance(itr, nRemove);
+ mxColorList->erase(itr);
if( nKeep > nRemove ) --nKeep;
// recalculate color ID data map (maps color IDs to color list indexes)
@@ -665,14 +677,14 @@ sal_uInt32 XclExpPaletteImpl::GetLeastUsedListColor() const
sal_uInt32 nFound = 0;
sal_uInt32 nMinW = SAL_MAX_UINT32;
- for( sal_uInt32 nIdx = 0, nCount = mxColorList->Count(); nIdx < nCount; ++nIdx )
+ for( sal_uInt32 nIdx = 0, nCount = mxColorList->size(); nIdx < nCount; ++nIdx )
{
- XclListColor* pEntry = mxColorList->GetObject( nIdx );
+ XclListColor& pEntry = mxColorList->at( nIdx );
// ignore the base colors
- if( !pEntry->IsBaseColor() && (pEntry->GetWeighting() < nMinW) )
+ if( !pEntry.IsBaseColor() && (pEntry.GetWeighting() < nMinW) )
{
nFound = nIdx;
- nMinW = pEntry->GetWeighting();
+ nMinW = pEntry.GetWeighting();
}
}
return nFound;
@@ -683,11 +695,11 @@ sal_uInt32 XclExpPaletteImpl::GetNearestListColor( const Color& rColor, sal_uInt
sal_uInt32 nFound = 0;
sal_Int32 nMinD = SAL_MAX_INT32;
- for( sal_uInt32 nIdx = 0, nCount = mxColorList->Count(); nIdx < nCount; ++nIdx )
+ for( sal_uInt32 nIdx = 0, nCount = mxColorList->size(); nIdx < nCount; ++nIdx )
{
if( nIdx != nIgnore )
{
- if( XclListColor* pEntry = mxColorList->GetObject( nIdx ) )
+ if( XclListColor* pEntry = &mxColorList->at(nIdx) )
{
sal_Int32 nDist = lclGetColorDistance( rColor, pEntry->GetColor() );
if( nDist < nMinD )
@@ -703,8 +715,10 @@ sal_uInt32 XclExpPaletteImpl::GetNearestListColor( const Color& rColor, sal_uInt
sal_uInt32 XclExpPaletteImpl::GetNearestListColor( sal_uInt32 nIndex ) const
{
- XclListColor* pEntry = mxColorList->GetObject( nIndex );
- return pEntry ? GetNearestListColor( pEntry->GetColor(), nIndex ) : 0;
+ if (nIndex >= mxColorList->size())
+ return 0;
+ XclListColor* pEntry = &mxColorList->at(nIndex);
+ return GetNearestListColor( pEntry->GetColor(), nIndex );
}
sal_Int32 XclExpPaletteImpl::GetNearestPaletteColor(
@@ -836,7 +850,7 @@ sal_Int16 lclCheckFontItems( const SfxItemSet& rItemSet,
} // namespace
-/*static*/ sal_Int16 XclExpFontHelper::GetFirstUsedScript( const XclExpRoot& rRoot, const SfxItemSet& rItemSet )
+sal_Int16 XclExpFontHelper::GetFirstUsedScript( const XclExpRoot& rRoot, const SfxItemSet& rItemSet )
{
namespace ApiScriptType = ::com::sun::star::i18n::ScriptType;
@@ -878,7 +892,7 @@ sal_Int16 lclCheckFontItems( const SfxItemSet& rItemSet,
return nScript;
}
-/*static*/ Font XclExpFontHelper::GetFontFromItemSet( const XclExpRoot& rRoot, const SfxItemSet& rItemSet, sal_Int16 nScript )
+Font XclExpFontHelper::GetFontFromItemSet( const XclExpRoot& rRoot, const SfxItemSet& rItemSet, sal_Int16 nScript )
{
namespace ApiScriptType = ::com::sun::star::i18n::ScriptType;
@@ -902,7 +916,7 @@ sal_Int16 lclCheckFontItems( const SfxItemSet& rItemSet,
return aFont;
}
-/*static*/ bool XclExpFontHelper::CheckItems( const XclExpRoot& rRoot, const SfxItemSet& rItemSet, sal_Int16 nScript, bool bDeep )
+bool XclExpFontHelper::CheckItems( const XclExpRoot& rRoot, const SfxItemSet& rItemSet, sal_Int16 nScript, bool bDeep )
{
static const USHORT pnCommonIds[] = {
ATTR_FONT_UNDERLINE, ATTR_FONT_CROSSEDOUT, ATTR_FONT_CONTOUR,
@@ -2819,8 +2833,8 @@ XclExpXmlStyleSheet::XclExpXmlStyleSheet( const XclExpRoot& rRoot )
void XclExpXmlStyleSheet::SaveXml( XclExpXmlStream& rStrm )
{
sax_fastparser::FSHelperPtr aStyleSheet = rStrm.CreateOutputStream(
- OUString::createFromAscii( "xl/styles.xml" ),
- OUString::createFromAscii( "styles.xml" ),
+ OUString(RTL_CONSTASCII_USTRINGPARAM( "xl/styles.xml") ),
+ OUString(RTL_CONSTASCII_USTRINGPARAM( "styles.xml" )),
rStrm.GetCurrentStream()->getOutputStream(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" );
diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index dbc11eefc335..74284b84086a 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -680,7 +680,7 @@ bool XclExpLabelCell::IsMultiLineText() const
void XclExpLabelCell::Init( const XclExpRoot& rRoot,
const ScPatternAttr* pPattern, XclExpStringRef xText )
{
- DBG_ASSERT( xText.is() && xText->Len(), "XclExpLabelCell::XclExpLabelCell - empty string passed" );
+ DBG_ASSERT( xText && xText->Len(), "XclExpLabelCell::XclExpLabelCell - empty string passed" );
mxText = xText;
mnSstIndex = 0;
@@ -846,7 +846,7 @@ XclExpFormulaCell::XclExpFormulaCell(
// other formula cell covered by a matrix - find the ARRAY record
mxAddRec = rArrayBfr.FindArray( rScTokArr );
// should always be found, if Calc document is not broken
- DBG_ASSERT( mxAddRec.is(), "XclExpFormulaCell::XclExpFormulaCell - no matrix found" );
+ DBG_ASSERT( mxAddRec, "XclExpFormulaCell::XclExpFormulaCell - no matrix found" );
}
break;
default:;
@@ -864,22 +864,22 @@ XclExpFormulaCell::XclExpFormulaCell(
void XclExpFormulaCell::Save( XclExpStream& rStrm )
{
// create token array for FORMULA cells with additional record
- if( mxAddRec.is() )
+ if( mxAddRec )
mxTokArr = mxAddRec->CreateCellTokenArray( rStrm.GetRoot() );
// FORMULA record itself
- DBG_ASSERT( mxTokArr.is(), "XclExpFormulaCell::Save - missing token array" );
+ DBG_ASSERT( mxTokArr, "XclExpFormulaCell::Save - missing token array" );
if( !mxTokArr )
mxTokArr = rStrm.GetRoot().GetFormulaCompiler().CreateErrorFormula( EXC_ERR_NA );
SetContSize( 16 + mxTokArr->GetSize() );
XclExpSingleCellBase::Save( rStrm );
// additional record (ARRAY, SHRFMLA, or TABLEOP), only for first FORMULA record
- if( mxAddRec.is() && mxAddRec->IsBasePos( GetXclCol(), GetXclRow() ) )
+ if( mxAddRec && mxAddRec->IsBasePos( GetXclCol(), GetXclRow() ) )
mxAddRec->Save( rStrm );
// STRING record for string result
- if( mxStringRec.is() )
+ if( mxStringRec )
mxStringRec->Save( rStrm );
}
@@ -899,7 +899,7 @@ void XclExpFormulaCell::SaveXml( XclExpXmlStream& rStrm )
rWorksheet->startElement( XML_f,
// OOXTODO: XML_t, ST_CellFormulaType
- XML_aca, XclXmlUtils::ToPsz( (mxTokArr.is() && mxTokArr->IsVolatile()) || (mxAddRec.is() && mxAddRec->IsVolatile()) ),
+ XML_aca, XclXmlUtils::ToPsz( (mxTokArr && mxTokArr->IsVolatile()) || (mxAddRec && mxAddRec->IsVolatile()) ),
// OOXTODO: XML_ref, ST_Ref
// OOXTODO: XML_dt2D, bool
// OOXTODO: XML_dtr, bool
@@ -979,8 +979,8 @@ void XclExpFormulaCell::WriteContents( XclExpStream& rStrm )
// flags and formula token array
sal_uInt16 nFlags = EXC_FORMULA_DEFAULTFLAGS;
- ::set_flag( nFlags, EXC_FORMULA_RECALC_ALWAYS, mxTokArr->IsVolatile() || (mxAddRec.is() && mxAddRec->IsVolatile()) );
- ::set_flag( nFlags, EXC_FORMULA_SHARED, mxAddRec.is() && (mxAddRec->GetRecId() == EXC_ID_SHRFMLA) );
+ ::set_flag( nFlags, EXC_FORMULA_RECALC_ALWAYS, mxTokArr->IsVolatile() || (mxAddRec && mxAddRec->IsVolatile()) );
+ ::set_flag( nFlags, EXC_FORMULA_SHARED, mxAddRec && (mxAddRec->GetRecId() == EXC_ID_SHRFMLA) );
rStrm << nFlags << sal_uInt32( 0 ) << *mxTokArr;
}
@@ -1936,7 +1936,7 @@ void XclExpRow::Save( XclExpStream& rStrm )
void XclExpRow::InsertCell( XclExpCellRef xCell, size_t nPos, bool bIsMergedBase )
{
- DBG_ASSERT( xCell.is(), "XclExpRow::InsertCell - missing cell" );
+ DBG_ASSERT( xCell, "XclExpRow::InsertCell - missing cell" );
/* #109751# If we have a multi-line text in a merged cell, and the resulting
row height has not been confirmed, we need to force the EXC_ROW_UNSYNCED
@@ -1946,7 +1946,7 @@ void XclExpRow::InsertCell( XclExpCellRef xCell, size_t nPos, bool bIsMergedBase
// try to merge with previous cell, insert the new cell if not successful
XclExpCellRef xPrevCell = maCellList.GetRecord( nPos - 1 );
- if( xPrevCell.is() && xPrevCell->TryMerge( *xCell ) )
+ if( xPrevCell && xPrevCell->TryMerge( *xCell ) )
xCell = xPrevCell;
else
maCellList.InsertRecord( xCell, nPos++ );
@@ -1954,7 +1954,7 @@ void XclExpRow::InsertCell( XclExpCellRef xCell, size_t nPos, bool bIsMergedBase
// try to merge with following cell, remove it if successful
XclExpCellRef xNextCell = maCellList.GetRecord( nPos );
- if( xNextCell.is() && xCell->TryMerge( *xNextCell ) )
+ if( xNextCell && xCell->TryMerge( *xNextCell ) )
maCellList.RemoveRecord( nPos );
}
@@ -2005,7 +2005,7 @@ XclExpRowBuffer::XclExpRowBuffer( const XclExpRoot& rRoot ) :
void XclExpRowBuffer::AppendCell( XclExpCellRef xCell, bool bIsMergedBase )
{
- DBG_ASSERT( xCell.is(), "XclExpRowBuffer::AppendCell - missing cell" );
+ DBG_ASSERT( xCell, "XclExpRowBuffer::AppendCell - missing cell" );
GetOrCreateRow( xCell->GetXclRow(), false ).AppendCell( xCell, bIsMergedBase );
}
@@ -2338,7 +2338,7 @@ XclExpCellTable::XclExpCellTable( const XclExpRoot& rRoot ) :
}
// insert the cell into the current row
- if( xCell.is() )
+ if( xCell )
maRowBfr.AppendCell( xCell, bIsMergedBase );
// notes
@@ -2358,7 +2358,7 @@ XclExpCellTable::XclExpCellTable( const XclExpRoot& rRoot ) :
ScRange aScRange( aScPos );
aScRange.aEnd.IncCol( rMergeItem.GetColMerge() - 1 );
aScRange.aEnd.IncRow( rMergeItem.GetRowMerge() - 1 );
- sal_uInt32 nXFId = xCell.is() ? xCell->GetFirstXFId() : EXC_XFID_NOTFOUND;
+ sal_uInt32 nXFId = xCell ? xCell->GetFirstXFId() : EXC_XFID_NOTFOUND;
// #120156# blank cells merged vertically may occur repeatedly
DBG_ASSERT( (aScRange.aStart.Col() == aScRange.aEnd.Col()) || (nScCol == nLastScCol),
"XclExpCellTable::XclExpCellTable - invalid repeated blank merged cell" );
diff --git a/sc/source/filter/excel/xichart.cxx b/sc/source/filter/excel/xichart.cxx
index 41565381e137..0743321026e1 100644
--- a/sc/source/filter/excel/xichart.cxx
+++ b/sc/source/filter/excel/xichart.cxx
@@ -135,6 +135,8 @@ using ::com::sun::star::chart2::data::XLabeledDataSequence;
using ::formula::FormulaToken;
using ::formula::StackVar;
+using ::boost::shared_ptr;
+using ::std::pair;
namespace cssc = ::com::sun::star::chart;
namespace cssc2 = ::com::sun::star::chart2;
@@ -559,7 +561,7 @@ void XclImpChFrameBase::ReadSubRecord( XclImpStream& rStrm )
void XclImpChFrameBase::ConvertLineBase( const XclImpChRoot& rRoot,
ScfPropertySet& rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx ) const
{
- if( mxLineFmt.is() )
+ if( mxLineFmt )
mxLineFmt->Convert( rRoot, rPropSet, eObjType, nFormatIdx );
}
@@ -569,9 +571,9 @@ void XclImpChFrameBase::ConvertAreaBase( const XclImpChRoot& rRoot,
if( rRoot.GetFormatInfo( eObjType ).mbIsFrame )
{
// CHESCHERFORMAT overrides CHAREAFORMAT (even if it is auto)
- if( mxEscherFmt.is() )
+ if( mxEscherFmt )
mxEscherFmt->Convert( rRoot, rPropSet, eObjType );
- else if( mxAreaFmt.is() )
+ else if( mxAreaFmt )
mxAreaFmt->Convert( rRoot, rPropSet, eObjType, nFormatIdx );
}
}
@@ -659,7 +661,7 @@ Reference< XLabeledDataSequence > lclCreateLabeledDataSequence(
{
// create data sequence for values and title
Reference< XDataSequence > xValueSeq;
- if( xValueLink.is() )
+ if( xValueLink )
xValueSeq = xValueLink->CreateDataSequence( rValueRole );
Reference< XDataSequence > xTitleSeq;
if( pTitleLink )
@@ -729,14 +731,14 @@ void XclImpChSourceLink::SetString( const String& rString )
void XclImpChSourceLink::SetTextFormats( const XclFormatRunVec& rFormats )
{
- if( mxString.is() )
+ if( mxString )
mxString->SetFormats( rFormats );
}
sal_uInt16 XclImpChSourceLink::GetCellCount() const
{
sal_uInt32 nCellCount = 0;
- if( mxTokenArray.is() )
+ if( mxTokenArray )
{
mxTokenArray->Reset();
for( const FormulaToken* pToken = mxTokenArray->First(); pToken; pToken = mxTokenArray->Next() )
@@ -784,7 +786,7 @@ Reference< XDataSequence > XclImpChSourceLink::CreateDataSequence( const OUStrin
{
Reference< XDataSequence > xDataSeq;
Reference< XDataProvider > xDataProv = GetDataProvider();
- if( xDataProv.is() && mxTokenArray.is() )
+ if( xDataProv.is() && mxTokenArray )
{
ScCompiler aComp( GetDocPtr(), ScAddress(), *mxTokenArray );
aComp.SetGrammar( ::formula::FormulaGrammar::GRAM_ENGLISH );
@@ -809,7 +811,7 @@ Sequence< Reference< XFormattedString > > XclImpChSourceLink::CreateStringSequen
const XclImpChRoot& rRoot, sal_uInt16 nLeadFontIdx, const Color& rLeadFontColor ) const
{
::std::vector< Reference< XFormattedString > > aStringVec;
- if( mxString.is() )
+ if( mxString )
{
for( XclImpStringIterator aIt( *mxString ); aIt.Is(); ++aIt )
{
@@ -837,16 +839,16 @@ Sequence< Reference< XFormattedString > > XclImpChSourceLink::CreateStringSequen
return ScfApiHelper::VectorToSequence( aStringVec );
}
-void XclImpChSourceLink::FillSourceLink( ::std::vector< ScSharedTokenRef >& rTokens ) const
+void XclImpChSourceLink::FillSourceLink( ::std::vector< ScTokenRef >& rTokens ) const
{
- if( !mxTokenArray.is() )
+ if( !mxTokenArray )
// no links to fill.
return;
mxTokenArray->Reset();
for (FormulaToken* p = mxTokenArray->First(); p; p = mxTokenArray->Next())
{
- ScSharedTokenRef pToken(static_cast<ScToken*>(p->Clone()));
+ ScTokenRef pToken(static_cast<ScToken*>(p->Clone()));
if (ScRefTokenHelper::isRef(pToken))
// This is a reference token. Store it.
ScRefTokenHelper::join(rTokens, pToken);
@@ -944,7 +946,7 @@ void XclImpChText::ReadSubRecord( XclImpStream& rStrm )
ReadChFrLabelProps( rStrm );
break;
case EXC_ID_CHEND:
- if( mxSrcLink.is() && !maFormats.empty() )
+ if( mxSrcLink && !maFormats.empty() )
mxSrcLink->SetTextFormats( maFormats );
break;
}
@@ -952,7 +954,7 @@ void XclImpChText::ReadSubRecord( XclImpStream& rStrm )
sal_uInt16 XclImpChText::GetFontIndex() const
{
- return mxFont.is() ? mxFont->GetFontIndex() : EXC_FONT_NOTFOUND;
+ return mxFont ? mxFont->GetFontIndex() : EXC_FONT_NOTFOUND;
}
Color XclImpChText::GetFontColor() const
@@ -1010,24 +1012,24 @@ void XclImpChText::ConvertRotation( ScfPropertySet& rPropSet, bool bSupportsStac
void XclImpChText::ConvertFrame( ScfPropertySet& rPropSet ) const
{
- if( mxFrame.is() )
+ if( mxFrame )
mxFrame->Convert( rPropSet );
}
void XclImpChText::ConvertNumFmt( ScfPropertySet& rPropSet, bool bPercent ) const
{
- if( mxSrcLink.is() )
+ if( mxSrcLink )
mxSrcLink->ConvertNumFmt( rPropSet, bPercent );
}
void XclImpChText::ConvertDataLabel( ScfPropertySet& rPropSet, const XclChTypeInfo& rTypeInfo ) const
{
// existing CHFRLABELPROPS record wins over flags from CHTEXT
- sal_uInt16 nShowFlags = mxLabelProps.is() ? mxLabelProps->mnFlags : maData.mnFlags;
- sal_uInt16 SHOWANYCATEG = mxLabelProps.is() ? EXC_CHFRLABELPROPS_SHOWCATEG : (EXC_CHTEXT_SHOWCATEGPERC | EXC_CHTEXT_SHOWCATEG);
- sal_uInt16 SHOWANYVALUE = mxLabelProps.is() ? EXC_CHFRLABELPROPS_SHOWVALUE : EXC_CHTEXT_SHOWVALUE;
- sal_uInt16 SHOWANYPERCENT = mxLabelProps.is() ? EXC_CHFRLABELPROPS_SHOWPERCENT : (EXC_CHTEXT_SHOWPERCENT | EXC_CHTEXT_SHOWCATEGPERC);
- sal_uInt16 SHOWANYBUBBLE = mxLabelProps.is() ? EXC_CHFRLABELPROPS_SHOWBUBBLE : EXC_CHTEXT_SHOWBUBBLE;
+ sal_uInt16 nShowFlags = mxLabelProps ? mxLabelProps->mnFlags : maData.mnFlags;
+ sal_uInt16 SHOWANYCATEG = mxLabelProps ? EXC_CHFRLABELPROPS_SHOWCATEG : (EXC_CHTEXT_SHOWCATEGPERC | EXC_CHTEXT_SHOWCATEG);
+ sal_uInt16 SHOWANYVALUE = mxLabelProps ? EXC_CHFRLABELPROPS_SHOWVALUE : EXC_CHTEXT_SHOWVALUE;
+ sal_uInt16 SHOWANYPERCENT = mxLabelProps ? EXC_CHFRLABELPROPS_SHOWPERCENT : (EXC_CHTEXT_SHOWPERCENT | EXC_CHTEXT_SHOWCATEGPERC);
+ sal_uInt16 SHOWANYBUBBLE = mxLabelProps ? EXC_CHFRLABELPROPS_SHOWBUBBLE : EXC_CHTEXT_SHOWBUBBLE;
// get raw flags for label values
bool bShowNone = IsDeleted();
@@ -1047,7 +1049,7 @@ void XclImpChText::ConvertDataLabel( ScfPropertySet& rPropSet, const XclChTypeIn
// create API struct for label values, set API label separator
cssc2::DataPointLabel aPointLabel( bShowValue, bShowPercent, bShowCateg, bShowSymbol );
rPropSet.SetProperty( EXC_CHPROP_LABEL, aPointLabel );
- String aSep = mxLabelProps.is() ? mxLabelProps->maSeparator : String( sal_Unicode( '\n' ) );
+ String aSep = mxLabelProps ? mxLabelProps->maSeparator : String( sal_Unicode( '\n' ) );
if( aSep.Len() == 0 )
aSep = CREATE_STRING( "; " );
rPropSet.SetStringProperty( EXC_CHPROP_LABELSEPARATOR, aSep );
@@ -1083,7 +1085,7 @@ void XclImpChText::ConvertDataLabel( ScfPropertySet& rPropSet, const XclChTypeIn
Reference< XTitle > XclImpChText::CreateTitle() const
{
Reference< XTitle > xTitle;
- if( mxSrcLink.is() && mxSrcLink->HasString() )
+ if( mxSrcLink && mxSrcLink->HasString() )
{
// create the formatted strings
Sequence< Reference< XFormattedString > > aStringSeq(
@@ -1179,7 +1181,7 @@ namespace {
void lclUpdateText( XclImpChTextRef& rxText, XclImpChTextRef xDefText )
{
- if( rxText.is() )
+ if( rxText )
rxText->UpdateText( xDefText.get() );
else
rxText = xDefText;
@@ -1189,7 +1191,7 @@ void lclFinalizeTitle( XclImpChTextRef& rxTitle, XclImpChTextRef xDefText, const
{
/* Do not update a title, if it is not visible (if rxTitle is null).
Existing reference indicates enabled title. */
- if( rxTitle.is() )
+ if( rxTitle )
{
if( !rxTitle->HasString() )
rxTitle->SetString( rAutoTitle );
@@ -1318,7 +1320,7 @@ XclImpChTextRef XclImpChAttachedLabel::CreateDataLabel( XclImpChTextRef xParent
const sal_uInt16 EXC_CHATTLABEL_SHOWANYPERCENT = EXC_CHATTLABEL_SHOWPERCENT | EXC_CHATTLABEL_SHOWCATEGPERC;
const sal_uInt16 EXC_CHATTLABEL_SHOWANYCATEG = EXC_CHATTLABEL_SHOWCATEG | EXC_CHATTLABEL_SHOWCATEGPERC;
- XclImpChTextRef xLabel( xParent.is() ? new XclImpChText( *xParent ) : new XclImpChText( GetChRoot() ) );
+ XclImpChTextRef xLabel( xParent ? new XclImpChText( *xParent ) : new XclImpChText( GetChRoot() ) );
xLabel->UpdateDataLabel(
::get_flag( mnFlags, EXC_CHATTLABEL_SHOWANYCATEG ),
::get_flag( mnFlags, EXC_CHATTLABEL_SHOWANYVALUE ),
@@ -1468,18 +1470,18 @@ void XclImpChDataFormat::Convert( ScfPropertySet& rPropSet, const XclChExtTypeIn
ConvertFrameBase( GetChRoot(), rPropSet, rTypeInfo.GetSeriesObjectType(), maData.mnFormatIdx );
#if EXC_CHART2_3DBAR_HAIRLINES_ONLY
// #i83151# only hair lines in 3D charts with filled data points
- if( rTypeInfo.mb3dChart && rTypeInfo.IsSeriesFrameFormat() && mxLineFmt.is() && mxLineFmt->HasLine() )
+ if( rTypeInfo.mb3dChart && rTypeInfo.IsSeriesFrameFormat() && mxLineFmt && mxLineFmt->HasLine() )
rPropSet.SetProperty< sal_Int32 >( CREATE_OUSTRING( "BorderWidth" ), 0 );
#endif
// other formatting
- if( mxMarkerFmt.is() )
+ if( mxMarkerFmt )
mxMarkerFmt->Convert( GetChRoot(), rPropSet, maData.mnFormatIdx, GetLineWeight() );
- if( mxPieFmt.is() )
+ if( mxPieFmt )
mxPieFmt->Convert( rPropSet );
- if( mx3dDataFmt.is() )
+ if( mx3dDataFmt )
mx3dDataFmt->Convert( rPropSet );
- if( mxLabel.is() )
+ if( mxLabel )
mxLabel->ConvertDataLabel( rPropSet, rTypeInfo );
// 3D settings
@@ -1488,7 +1490,7 @@ void XclImpChDataFormat::Convert( ScfPropertySet& rPropSet, const XclChExtTypeIn
/* Special case: set marker color as line color, if series line is not
visible. This makes the color visible in the marker area.
TODO: remove this if OOChart supports own colors in markers. */
- if( !rTypeInfo.IsSeriesFrameFormat() && !HasLine() && mxMarkerFmt.is() )
+ if( !rTypeInfo.IsSeriesFrameFormat() && !HasLine() && mxMarkerFmt )
mxMarkerFmt->ConvertColor( GetChRoot(), rPropSet, maData.mnFormatIdx );
}
@@ -1527,9 +1529,9 @@ void XclImpChDataFormat::UpdateDataLabel( const XclImpChDataFormat* pParentFmt )
xDefText = pParentFmt->GetDataLabel();
if( !xDefText )
xDefText = GetChartData().GetDefaultText( EXC_CHTEXTTYPE_DATALABEL );
- if( mxLabel.is() )
+ if( mxLabel )
mxLabel->UpdateText( xDefText.get() );
- else if( mxAttLabel.is() )
+ else if( mxAttLabel )
mxLabel = mxAttLabel->CreateDataLabel( xDefText );
}
@@ -1577,7 +1579,7 @@ Reference< XRegressionCurve > XclImpChSerTrendLine::CreateRegressionCurve() cons
xRegCurve.set( ScfApiHelper::CreateInstance( aService ), UNO_QUERY );
// trend line formatting
- if( xRegCurve.is() && mxDataFmt.is() )
+ if( xRegCurve.is() && mxDataFmt )
{
ScfPropertySet aPropSet( xRegCurve );
mxDataFmt->ConvertLine( aPropSet, EXC_CHOBJTYPE_TRENDLINE );
@@ -1699,7 +1701,7 @@ Reference< XPropertySet > XclImpChSerErrorBar::CreateErrorBar( const XclImpChSer
}
// error bar formatting
- if( pPrimaryBar->mxDataFmt.is() && xErrorBar.is() )
+ if( pPrimaryBar->mxDataFmt && xErrorBar.is() )
pPrimaryBar->mxDataFmt->ConvertLine( aBarProp, EXC_CHOBJTYPE_ERRORBAR );
}
@@ -1750,7 +1752,7 @@ void XclImpChSeries::ReadSubRecord( XclImpStream& rStrm )
void XclImpChSeries::SetDataFormat( XclImpChDataFormatRef xDataFmt )
{
- if( xDataFmt.is() )
+ if( xDataFmt )
{
XclImpChDataFormatRef* pxDataFmt = GetDataFormatRef( xDataFmt->GetPointPos().mnPointIdx );
// do not overwrite existing data format
@@ -1767,7 +1769,7 @@ void XclImpChSeries::SetDataFormat( XclImpChDataFormatRef xDataFmt )
void XclImpChSeries::SetDataLabel( XclImpChTextRef xLabel )
{
- if( xLabel.is() )
+ if( xLabel )
{
XclImpChTextRef* pxLabel = GetDataLabelRef( xLabel->GetPointPos().mnPointIdx );
if( pxLabel && !*pxLabel )
@@ -1796,7 +1798,7 @@ void XclImpChSeries::FinalizeDataFormats()
if( !mxSeriesFmt )
mxSeriesFmt = CreateDataFormat( EXC_CHDATAFORMAT_ALLPOINTS, 0 );
- if( mxSeriesFmt.is() )
+ if( mxSeriesFmt )
{
// #i83100# set text label format, e.g. for trend line equations
mxSeriesFmt->SetDataLabel( maLabels.get( EXC_CHDATAFORMAT_ALLPOINTS ) );
@@ -1834,7 +1836,7 @@ void XclImpChSeries::FinalizeDataFormats()
}
// update series format (copy missing formatting from group default format)
- if( mxSeriesFmt.is() )
+ if( mxSeriesFmt )
mxSeriesFmt->UpdateSeriesFormat( pTypeGroup->GetTypeInfo(), pTypeGroup->GetGroupFormat().get() );
// update data point formats (removes unchanged automatic formatting)
@@ -1916,7 +1918,7 @@ Reference< XDataSeries > XclImpChSeries::CreateDataSeries() const
// series formatting
ScfPropertySet aSeriesProp( xDataSeries );
- if( mxSeriesFmt.is() )
+ if( mxSeriesFmt )
mxSeriesFmt->Convert( aSeriesProp, rTypeInfo );
// trend lines
@@ -1938,7 +1940,7 @@ Reference< XDataSeries > XclImpChSeries::CreateDataSeries() const
aSeriesProp.SetBoolProperty( EXC_CHPROP_VARYCOLORSBY, rTypeInfo.meTypeCateg == EXC_CHTYPECATEG_PIE );
#endif
// #i91271# always set area formatting for every point in pie/doughnut charts
- if( mxSeriesFmt.is() && ((bVarPointFmt && mxSeriesFmt->IsAutoArea()) || (rTypeInfo.meTypeCateg == EXC_CHTYPECATEG_PIE)) )
+ if( mxSeriesFmt && ((bVarPointFmt && mxSeriesFmt->IsAutoArea()) || (rTypeInfo.meTypeCateg == EXC_CHTYPECATEG_PIE)) )
{
for( sal_uInt16 nPointIdx = 0, nPointCount = mxValueLink->GetCellCount(); nPointIdx < nPointCount; ++nPointIdx )
{
@@ -1957,15 +1959,15 @@ Reference< XDataSeries > XclImpChSeries::CreateDataSeries() const
return xDataSeries;
}
-void XclImpChSeries::FillAllSourceLinks( ::std::vector< ScSharedTokenRef >& rTokens ) const
+void XclImpChSeries::FillAllSourceLinks( ::std::vector< ScTokenRef >& rTokens ) const
{
- if( mxValueLink.is() )
+ if( mxValueLink )
mxValueLink->FillSourceLink( rTokens );
- if( mxCategLink.is() )
+ if( mxCategLink )
mxCategLink->FillSourceLink( rTokens );
- if( mxTitleLink.is() )
+ if( mxTitleLink )
mxTitleLink->FillSourceLink( rTokens );
- if( mxBubbleLink.is() )
+ if( mxBubbleLink )
mxBubbleLink->FillSourceLink( rTokens );
}
@@ -2009,7 +2011,14 @@ void XclImpChSeries::ReadChSerErrorBar( XclImpStream& rStrm )
{
XclImpChSerErrorBarRef xErrorBar( new XclImpChSerErrorBar( GetChRoot() ) );
xErrorBar->ReadChSerErrorBar( rStrm );
- maErrorBars[ xErrorBar->GetBarType() ] = xErrorBar;
+ sal_uInt8 nBarType = xErrorBar->GetBarType();
+ XclImpChSerErrorBarMap::iterator itr = maErrorBars.lower_bound(nBarType);
+ if (itr != maErrorBars.end() && !maErrorBars.key_comp()(nBarType, itr->first))
+ // Overwrite the existing element.
+ itr->second = xErrorBar;
+ else
+ maErrorBars.insert(
+ itr, XclImpChSerErrorBarMap::value_type(nBarType, xErrorBar));
}
XclImpChDataFormatRef XclImpChSeries::CreateDataFormat( sal_uInt16 nPointIdx, sal_uInt16 nFormatIdx )
@@ -2023,15 +2032,34 @@ XclImpChDataFormatRef* XclImpChSeries::GetDataFormatRef( sal_uInt16 nPointIdx )
{
if( nPointIdx == EXC_CHDATAFORMAT_ALLPOINTS )
return &mxSeriesFmt;
- if( nPointIdx < EXC_CHDATAFORMAT_MAXPOINTCOUNT )
- return &maPointFmts[ nPointIdx ];
+
+ if (nPointIdx < EXC_CHDATAFORMAT_MAXPOINTCOUNT)
+ {
+ XclImpChDataFormatMap::iterator itr = maPointFmts.lower_bound(nPointIdx);
+ if (itr == maPointFmts.end() || maPointFmts.key_comp()(nPointIdx, itr->first))
+ {
+ // No object exists at this point index position. Insert a new one.
+ XclImpChDataFormatRef p(new XclImpChDataFormat(GetChRoot()));
+ itr = maPointFmts.insert(itr, XclImpChDataFormatMap::value_type(nPointIdx, p));
+ }
+ return &itr->second;
+ }
return 0;
}
XclImpChTextRef* XclImpChSeries::GetDataLabelRef( sal_uInt16 nPointIdx )
{
- if( (nPointIdx == EXC_CHDATAFORMAT_ALLPOINTS) || (nPointIdx < EXC_CHDATAFORMAT_MAXPOINTCOUNT) )
- return &maLabels[ nPointIdx ];
+ if ((nPointIdx == EXC_CHDATAFORMAT_ALLPOINTS) || (nPointIdx < EXC_CHDATAFORMAT_MAXPOINTCOUNT))
+ {
+ XclImpChTextMap::iterator itr = maLabels.lower_bound(nPointIdx);
+ if (itr == maLabels.end() || maLabels.key_comp()(nPointIdx, itr->first))
+ {
+ // No object exists at this point index position. Insert a new one.
+ XclImpChTextRef p(new XclImpChText(GetChRoot()));
+ itr = maLabels.insert(itr, XclImpChTextMap::value_type(nPointIdx, p));
+ }
+ return &itr->second;
+ }
return 0;
}
@@ -2413,10 +2441,10 @@ Reference< XLegend > XclImpChLegend::CreateLegend() const
aLegendProp.SetBoolProperty( EXC_CHPROP_SHOW, true );
// frame properties
- if( mxFrame.is() )
+ if( mxFrame )
mxFrame->Convert( aLegendProp );
// text properties
- if( mxText.is() )
+ if( mxText )
mxText->ConvertFont( aLegendProp );
/* Legend position and size. Default positions are used only if the
@@ -2438,7 +2466,7 @@ Reference< XLegend > XclImpChLegend::CreateLegend() const
// no automatic position: try to find the correct position and size
if( eApiPos == cssc2::LegendPosition_CUSTOM )
{
- const XclChFramePos* pFramePos = mxFramePos.is() ? &mxFramePos->GetFramePosData() : 0;
+ const XclChFramePos* pFramePos = mxFramePos ? &mxFramePos->GetFramePosData() : 0;
/* Legend position. Only the settings from the CHFRAMEPOS record
are used by Excel, the position in the CHLEGEND record will be
@@ -2567,20 +2595,20 @@ void XclImpChTypeGroup::Finalize()
maType.Finalize( bStockChart );
// extended type info
- maTypeInfo.Set( maType.GetTypeInfo(), mxChart3d.is(), false );
+ maTypeInfo.Set( maType.GetTypeInfo(), mxChart3d, false );
// reverse series order for some unstacked 2D chart types
if( maTypeInfo.mbReverseSeries && !Is3dChart() && !maType.IsStacked() && !maType.IsPercent() )
::std::reverse( maSeries.begin(), maSeries.end() );
// update chart type group format, may depend on chart type finalized above
- if( mxGroupFmt.is() )
+ if( mxGroupFmt )
mxGroupFmt->UpdateGroupFormat( maTypeInfo );
}
void XclImpChTypeGroup::AddSeries( XclImpChSeriesRef xSeries )
{
- if( xSeries.is() )
+ if( xSeries )
maSeries.push_back( xSeries );
// store first inserted series separately, series order may be reversed later
if( !mxFirstSeries )
@@ -2611,22 +2639,23 @@ bool XclImpChTypeGroup::HasVarPointFormat() const
bool XclImpChTypeGroup::HasConnectorLines() const
{
// existence of connector lines (only in stacked bar charts)
- bool bAnyStacked = maType.IsStacked() || maType.IsPercent();
- XclImpChLineFormatRef xConnLine = maChartLines.get( EXC_CHCHARTLINE_CONNECT );
- return bAnyStacked && (maTypeInfo.meTypeCateg == EXC_CHTYPECATEG_BAR) && xConnLine.is() && xConnLine->HasLine();
+ if ( !(maType.IsStacked() || maType.IsPercent()) || (maTypeInfo.meTypeCateg != EXC_CHTYPECATEG_BAR) )
+ return false;
+ XclImpChLineFormatMap::const_iterator xConLine = maChartLines.find( EXC_CHCHARTLINE_CONNECT );
+ return ( xConLine != maChartLines.end() && xConLine->second->HasLine() );
}
const String& XclImpChTypeGroup::GetSingleSeriesTitle() const
{
// no automatic title for series with trendlines or error bars
// pie charts always show an automatic title, even if more series exist
- return (mxFirstSeries.is() && !mxFirstSeries->HasChildSeries() && (maTypeInfo.mbSingleSeriesVis || (maSeries.size() == 1))) ?
+ return (mxFirstSeries && !mxFirstSeries->HasChildSeries() && (maTypeInfo.mbSingleSeriesVis || (maSeries.size() == 1))) ?
mxFirstSeries->GetTitle() : String::EmptyString();
}
void XclImpChTypeGroup::ConvertChart3d( ScfPropertySet& rPropSet ) const
{
- if( mxChart3d.is() )
+ if( mxChart3d )
mxChart3d->Convert( rPropSet, Is3dWallChart() );
}
@@ -2663,24 +2692,24 @@ Reference< XLabeledDataSequence > XclImpChTypeGroup::CreateCategSequence() const
{
Reference< XLabeledDataSequence > xLabeledSeq;
// create category sequence from first visible series
- if( mxFirstSeries.is() )
+ if( mxFirstSeries )
xLabeledSeq = mxFirstSeries->CreateCategSequence( EXC_CHPROP_ROLE_CATEG );
return xLabeledSeq;
}
void XclImpChTypeGroup::ReadChDropBar( XclImpStream& rStrm )
{
- sal_uInt16 nDropBar = EXC_CHDROPBAR_NONE;
- if( !maDropBars.has( EXC_CHDROPBAR_UP ) )
- nDropBar = EXC_CHDROPBAR_UP;
- else if( !maDropBars.has( EXC_CHDROPBAR_DOWN ) )
- nDropBar = EXC_CHDROPBAR_DOWN;
-
- if( nDropBar != EXC_CHDROPBAR_NONE )
+ if (maDropBars.find(EXC_CHDROPBAR_UP) == maDropBars.end())
+ {
+ XclImpChDropBarRef p(new XclImpChDropBar(EXC_CHDROPBAR_UP));
+ p->ReadRecordGroup(rStrm);
+ maDropBars.insert(XclImpChDropBarMap::value_type(EXC_CHDROPBAR_UP, p));
+ }
+ else if(maDropBars.find(EXC_CHDROPBAR_DOWN) == maDropBars.end())
{
- XclImpChDropBarRef xDropBar( new XclImpChDropBar( nDropBar ) );
- xDropBar->ReadRecordGroup( rStrm );
- maDropBars[ nDropBar ] = xDropBar;
+ XclImpChDropBarRef p(new XclImpChDropBar(EXC_CHDROPBAR_DOWN));
+ p->ReadRecordGroup(rStrm);
+ maDropBars.insert(XclImpChDropBarMap::value_type(EXC_CHDROPBAR_DOWN, p));
}
}
@@ -2689,8 +2718,8 @@ void XclImpChTypeGroup::ReadChChartLine( XclImpStream& rStrm )
sal_uInt16 nLineId = rStrm.ReaduInt16();
if( (rStrm.GetNextRecId() == EXC_ID_CHLINEFORMAT) && rStrm.StartNextRecord() )
{
- XclImpChLineFormatRef xLineFmt( new XclImpChLineFormat );
- xLineFmt->ReadChLineFormat( rStrm );
+ XclImpChLineFormat xLineFmt;
+ xLineFmt.ReadChLineFormat( rStrm );
maChartLines[ nLineId ] = xLineFmt;
}
}
@@ -2792,16 +2821,16 @@ void XclImpChTypeGroup::CreateStockSeries( Reference< XChartType > xChartType, s
aTypeProp.SetBoolProperty( EXC_CHPROP_SHOWFIRST, HasDropBars() );
aTypeProp.SetBoolProperty( EXC_CHPROP_SHOWHIGHLOW, true );
// hi-lo line format
- XclImpChLineFormatRef xHiLoLine = maChartLines.get( EXC_CHCHARTLINE_HILO );
- if( xHiLoLine.is() )
+ XclImpChLineFormatMap::const_iterator xHiLoLine = maChartLines.find( EXC_CHCHARTLINE_HILO );
+ if ( xHiLoLine != maChartLines.end() )
{
ScfPropertySet aSeriesProp( xDataSeries );
- xHiLoLine->Convert( GetChRoot(), aSeriesProp, EXC_CHOBJTYPE_HILOLINE );
+ xHiLoLine->second->Convert( GetChRoot(), aSeriesProp, EXC_CHOBJTYPE_HILOLINE );
}
// white dropbar format
XclImpChDropBarRef xUpBar = maDropBars.get( EXC_CHDROPBAR_UP );
Reference< XPropertySet > xWhitePropSet;
- if( xUpBar.is() && aTypeProp.GetProperty( xWhitePropSet, EXC_CHPROP_WHITEDAY ) )
+ if( xUpBar && aTypeProp.GetProperty( xWhitePropSet, EXC_CHPROP_WHITEDAY ) )
{
ScfPropertySet aBarProp( xWhitePropSet );
xUpBar->Convert( GetChRoot(), aBarProp );
@@ -2809,7 +2838,7 @@ void XclImpChTypeGroup::CreateStockSeries( Reference< XChartType > xChartType, s
// black dropbar format
XclImpChDropBarRef xDownBar = maDropBars.get( EXC_CHDROPBAR_DOWN );
Reference< XPropertySet > xBlackPropSet;
- if( xDownBar.is() && aTypeProp.GetProperty( xBlackPropSet, EXC_CHPROP_BLACKDAY ) )
+ if( xDownBar && aTypeProp.GetProperty( xBlackPropSet, EXC_CHPROP_BLACKDAY ) )
{
ScfPropertySet aBarProp( xBlackPropSet );
xDownBar->Convert( GetChRoot(), aBarProp );
@@ -3065,9 +3094,9 @@ void XclImpChAxis::Finalize()
if( !mxValueRange )
mxValueRange.reset( new XclImpChValueRange( GetChRoot() ) );
// remove invisible grid lines completely
- if( mxMajorGrid.is() && !mxMajorGrid->HasLine() )
+ if( mxMajorGrid && !mxMajorGrid->HasLine() )
mxMajorGrid.reset();
- if( mxMinorGrid.is() && !mxMinorGrid->HasLine() )
+ if( mxMinorGrid && !mxMinorGrid->HasLine() )
mxMinorGrid.reset();
// default tick settings different in OOChart and Excel
if( !mxTick )
@@ -3087,17 +3116,17 @@ void XclImpChAxis::Finalize()
sal_uInt16 XclImpChAxis::GetFontIndex() const
{
- return mxFont.is() ? mxFont->GetFontIndex() : EXC_FONT_NOTFOUND;
+ return mxFont ? mxFont->GetFontIndex() : EXC_FONT_NOTFOUND;
}
Color XclImpChAxis::GetFontColor() const
{
- return mxTick.is() ? mxTick->GetFontColor() : GetFontAutoColor();
+ return mxTick ? mxTick->GetFontColor() : GetFontAutoColor();
}
sal_uInt16 XclImpChAxis::GetRotation() const
{
- return mxTick.is() ? mxTick->GetRotation() : EXC_CHART_AUTOROTATION;
+ return mxTick ? mxTick->GetRotation() : EXC_CHART_AUTOROTATION;
}
Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup, const XclImpChAxis* pCrossingAxis ) const
@@ -3111,10 +3140,10 @@ Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup
aAxisProp.SetBoolProperty( EXC_CHPROP_SHOW, IsActivated() );
// axis line properties
- if( mxAxisLine.is() )
+ if( mxAxisLine )
mxAxisLine->Convert( GetChRoot(), aAxisProp, EXC_CHOBJTYPE_AXISLINE );
// axis ticks properties
- if( mxTick.is() )
+ if( mxTick )
mxTick->Convert( aAxisProp );
// axis caption text --------------------------------------------------
@@ -3126,7 +3155,7 @@ Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup
if( bHasLabels )
{
// font settings from CHFONT record or from default text
- if( mxFont.is() )
+ if( mxFont )
ConvertFontBase( GetChRoot(), aAxisProp );
else if( const XclImpChText* pDefText = GetChartData().GetDefaultText( EXC_CHTEXTTYPE_AXISLABEL ).get() )
pDefText->ConvertFont( aAxisProp );
@@ -3191,7 +3220,7 @@ Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup
// main grid
ScfPropertySet aGridProp( xAxis->getGridProperties() );
aGridProp.SetBoolProperty( EXC_CHPROP_SHOW, HasMajorGrid() );
- if( mxMajorGrid.is() )
+ if( mxMajorGrid )
mxMajorGrid->Convert( GetChRoot(), aGridProp, EXC_CHOBJTYPE_GRIDLINE );
// sub grid
Sequence< Reference< XPropertySet > > aSubGridPropSeq = xAxis->getSubGridProperties();
@@ -3199,7 +3228,7 @@ Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup
{
ScfPropertySet aSubGridProp( aSubGridPropSeq[ 0 ] );
aSubGridProp.SetBoolProperty( EXC_CHPROP_SHOW, HasMinorGrid() );
- if( mxMinorGrid.is() )
+ if( mxMinorGrid )
mxMinorGrid->Convert( GetChRoot(), aSubGridProp, EXC_CHOBJTYPE_GRIDLINE );
}
@@ -3213,7 +3242,7 @@ Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup
void XclImpChAxis::ConvertWall( ScfPropertySet& rPropSet ) const
{
- if( mxWallFrame.is() )
+ if( mxWallFrame )
mxWallFrame->Convert( rPropSet );
}
@@ -3254,7 +3283,7 @@ void XclImpChAxis::ReadChAxisLine( XclImpStream& rStrm )
pxLineFmt->reset( new XclImpChLineFormat );
(*pxLineFmt)->ReadChLineFormat( rStrm );
}
- else if( bWallFrame && mxWallFrame.is() )
+ else if( bWallFrame && mxWallFrame )
{
mxWallFrame->ReadSubRecord( rStrm );
}
@@ -3324,7 +3353,8 @@ void XclImpChAxesSet::Finalize()
XclImpChTypeGroupRef xTypeGroup = aIt->second;
xTypeGroup->Finalize();
if( xTypeGroup->IsValidGroup() )
- aValidGroups[ aIt->first ] = xTypeGroup;
+ aValidGroups.insert(
+ XclImpChTypeGroupMap::value_type(aIt->first, xTypeGroup));
}
maTypeGroups.swap( aValidGroups );
}
@@ -3341,9 +3371,9 @@ void XclImpChAxesSet::Finalize()
mxZAxis.reset( new XclImpChAxis( GetChRoot(), EXC_CHAXIS_Z ) );
// finalize axes
- if( mxXAxis.is() ) mxXAxis->Finalize();
- if( mxYAxis.is() ) mxYAxis->Finalize();
- if( mxZAxis.is() ) mxZAxis->Finalize();
+ if( mxXAxis ) mxXAxis->Finalize();
+ if( mxYAxis ) mxYAxis->Finalize();
+ if( mxZAxis ) mxZAxis->Finalize();
// finalize axis titles
XclImpChTextRef xDefText = GetChartData().GetDefaultText( EXC_CHTEXTTYPE_AXISTITLE );
@@ -3414,11 +3444,11 @@ void XclImpChAxesSet::Convert( Reference< XDiagram > xDiagram ) const
void XclImpChAxesSet::ConvertTitlePositions() const
{
- if( mxXAxisTitle.is() )
+ if( mxXAxisTitle )
mxXAxisTitle->ConvertTitlePosition( XclChTextKey( EXC_CHTEXTTYPE_AXISTITLE, maData.mnAxesSetId, EXC_CHAXIS_X ) );
- if( mxYAxisTitle.is() )
+ if( mxYAxisTitle )
mxYAxisTitle->ConvertTitlePosition( XclChTextKey( EXC_CHTEXTTYPE_AXISTITLE, maData.mnAxesSetId, EXC_CHAXIS_Y ) );
- if( mxZAxisTitle.is() )
+ if( mxZAxisTitle )
mxZAxisTitle->ConvertTitlePosition( XclChTextKey( EXC_CHTEXTTYPE_AXISTITLE, maData.mnAxesSetId, EXC_CHAXIS_Z ) );
}
@@ -3461,7 +3491,14 @@ void XclImpChAxesSet::ReadChTypeGroup( XclImpStream& rStrm )
{
XclImpChTypeGroupRef xTypeGroup( new XclImpChTypeGroup( GetChRoot() ) );
xTypeGroup->ReadRecordGroup( rStrm );
- maTypeGroups[ xTypeGroup->GetGroupIdx() ] = xTypeGroup;
+ sal_uInt16 nGroupIdx = xTypeGroup->GetGroupIdx();
+ XclImpChTypeGroupMap::iterator itr = maTypeGroups.lower_bound(nGroupIdx);
+ if (itr != maTypeGroups.end() && !maTypeGroups.key_comp()(nGroupIdx, itr->first))
+ // Overwrite the existing element.
+ itr->second = xTypeGroup;
+ else
+ maTypeGroups.insert(
+ itr, XclImpChTypeGroupMap::value_type(nGroupIdx, xTypeGroup));
}
Reference< XCoordinateSystem > XclImpChAxesSet::CreateCoordSystem( Reference< XDiagram > xDiagram ) const
@@ -3484,7 +3521,7 @@ Reference< XCoordinateSystem > XclImpChAxesSet::CreateCoordSystem( Reference< XD
if( !xCoordSystem.is() )
{
XclImpChTypeGroupRef xTypeGroup = GetFirstTypeGroup();
- if( xTypeGroup.is() )
+ if( xTypeGroup )
{
xCoordSystem = xTypeGroup->CreateCoordSystem();
// convert 3d chart settings
@@ -3521,14 +3558,14 @@ void XclImpChAxesSet::ConvertAxis(
XclImpChAxisRef xChAxis, XclImpChTextRef xChAxisTitle,
Reference< XCoordinateSystem > xCoordSystem, const XclImpChAxis* pCrossingAxis ) const
{
- if( xChAxis.is() )
+ if( xChAxis )
{
// create and attach the axis object
Reference< XAxis > xAxis = CreateAxis( *xChAxis, pCrossingAxis );
if( xAxis.is() )
{
// create and attach the axis title
- if( xChAxisTitle.is() ) try
+ if( xChAxisTitle ) try
{
Reference< XTitled > xTitled( xAxis, UNO_QUERY_THROW );
Reference< XTitle > xTitle( xChAxisTitle->CreateTitle(), UNO_SET_THROW );
@@ -3565,21 +3602,21 @@ Reference< XAxis > XclImpChAxesSet::CreateAxis( const XclImpChAxis& rChAxis, con
void XclImpChAxesSet::ConvertBackground( Reference< XDiagram > xDiagram ) const
{
XclImpChTypeGroupRef xTypeGroup = GetFirstTypeGroup();
- if( xTypeGroup.is() && xTypeGroup->Is3dWallChart() )
+ if( xTypeGroup && xTypeGroup->Is3dWallChart() )
{
// wall/floor formatting (3D charts)
- if( mxXAxis.is() )
+ if( mxXAxis )
{
ScfPropertySet aWallProp( xDiagram->getWall() );
mxXAxis->ConvertWall( aWallProp );
}
- if( mxYAxis.is() )
+ if( mxYAxis )
{
ScfPropertySet aFloorProp( xDiagram->getFloor() );
mxYAxis->ConvertWall( aFloorProp );
}
}
- else if( mxPlotFrame.is() )
+ else if( mxPlotFrame )
{
// diagram background formatting
ScfPropertySet aWallProp( xDiagram->getWall() );
@@ -3642,7 +3679,14 @@ void XclImpChChart::ReadChDefaultText( XclImpStream& rStrm )
{
XclImpChTextRef xText( new XclImpChText( GetChRoot() ) );
xText->ReadRecordGroup( rStrm );
- maDefTexts[ nTextId ] = xText;
+ XclImpChTextMap::iterator itr = maDefTexts.lower_bound(nTextId);
+ if (itr != maDefTexts.end() && !(maDefTexts.key_comp()(nTextId, itr->first)))
+ {
+ // Key exists. Update the existing element.
+ itr->second = xText;
+ }
+ else
+ maDefTexts.insert(itr, XclImpChTextMap::value_type(nTextId, xText));
}
}
@@ -3652,11 +3696,15 @@ void XclImpChChart::ReadChDataFormat( XclImpStream& rStrm )
xDataFmt->ReadRecordGroup( rStrm );
if( xDataFmt->GetPointPos().mnSeriesIdx <= EXC_CHSERIES_MAXSERIES )
{
- XclImpChDataFormatRef& rxMapFmt = maDataFmts[ xDataFmt->GetPointPos() ];
+ const XclChDataPointPos& rPos = xDataFmt->GetPointPos();
+ XclImpChDataFormatMap::iterator itr = maDataFmts.lower_bound(rPos);
+ if (itr == maDataFmts.end() || maDataFmts.key_comp()(rPos, itr->first))
+ // No element exists for this data point. Insert it.
+ maDataFmts.insert(
+ itr, XclImpChDataFormatMap::value_type(rPos, xDataFmt));
+
/* Do not overwrite existing data format group, Excel always uses the
first data format group occuring in any CHSERIES group. */
- if( !rxMapFmt )
- rxMapFmt = xDataFmt;
}
}
@@ -3687,7 +3735,9 @@ XclImpChTextRef XclImpChChart::GetDefaultText( XclChTextType eTextType ) const
case EXC_CHTEXTTYPE_AXISLABEL: nDefTextId = bBiff8 ? EXC_CHDEFTEXT_AXESSET : EXC_CHDEFTEXT_GLOBAL; break;
case EXC_CHTEXTTYPE_DATALABEL: nDefTextId = bBiff8 ? EXC_CHDEFTEXT_AXESSET : EXC_CHDEFTEXT_GLOBAL; break;
}
- return maDefTexts.get( nDefTextId );
+
+ XclImpChTextMap::const_iterator itr = maDefTexts.find(nDefTextId);
+ return itr == maDefTexts.end() ? XclImpChTextRef() : itr->second;
}
bool XclImpChChart::IsManualPlotArea() const
@@ -3703,14 +3753,14 @@ void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc,
InitConversion( xChartDoc, rChartRect );
// chart frame formatting
- if( mxFrame.is() )
+ if( mxFrame )
{
ScfPropertySet aFrameProp( xChartDoc->getPageBackground() );
mxFrame->Convert( aFrameProp );
}
// chart title
- if( mxTitle.is() ) try
+ if( mxTitle ) try
{
Reference< XTitled > xTitled( xChartDoc, UNO_QUERY_THROW );
Reference< XTitle > xTitle( mxTitle->CreateTitle(), UNO_SET_THROW );
@@ -3730,7 +3780,7 @@ void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc,
mxSecnAxesSet->Convert( xDiagram );
// legend
- if( xDiagram.is() && mxLegend.is() )
+ if( xDiagram.is() && mxLegend )
xDiagram->setLegend( mxLegend->CreateLegend() );
/* Following all conversions needing the old Chart1 API that involves full
@@ -3749,7 +3799,7 @@ void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc,
// plot area position and size (there is no real automatic mode in BIFF5 charts)
XclImpChFramePosRef xPlotAreaPos = mxPrimAxesSet->GetPlotAreaFramePos();
- if( IsManualPlotArea() && xPlotAreaPos.is() ) try
+ if( IsManualPlotArea() && xPlotAreaPos ) try
{
const XclChFramePos& rFramePos = xPlotAreaPos->GetFramePosData();
if( (rFramePos.mnTLMode == EXC_CHFRAMEPOS_PARENT) && (rFramePos.mnBRMode == EXC_CHFRAMEPOS_PARENT) )
@@ -3771,7 +3821,7 @@ void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc,
}
// positions of all title objects
- if( mxTitle.is() )
+ if( mxTitle )
mxTitle->ConvertTitlePosition( XclChTextKey( EXC_CHTEXTTYPE_TITLE ) );
mxPrimAxesSet->ConvertTitlePositions();
mxSecnAxesSet->ConvertTitlePositions();
@@ -3784,7 +3834,7 @@ void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc,
ScDocument& rDoc = GetRoot().GetDoc();
if( ScChartListenerCollection* pChartCollection = rDoc.GetChartListenerCollection() )
{
- ::std::auto_ptr< ::std::vector< ScSharedTokenRef > > xRefTokens( new ::std::vector< ScSharedTokenRef > );
+ ::std::auto_ptr< ::std::vector< ScTokenRef > > xRefTokens( new ::std::vector< ScTokenRef > );
for( XclImpChSeriesVec::const_iterator aIt = maSeries.begin(), aEnd = maSeries.end(); aIt != aEnd; ++aIt )
(*aIt)->FillAllSourceLinks( *xRefTokens );
if( !xRefTokens->empty() )
@@ -3848,7 +3898,7 @@ void XclImpChChart::Finalize()
mxLegend = mxPrimAxesSet->GetLegend();
if( !mxLegend )
mxLegend = mxSecnAxesSet->GetLegend();
- if( mxLegend.is() )
+ if( mxLegend )
mxLegend->Finalize();
// axes sets, updates chart type group default formats -> must be called before FinalizeDataFormats()
mxPrimAxesSet->Finalize();
@@ -3916,7 +3966,7 @@ void XclImpChChart::FinalizeTitle()
// automatic title from first series name (if there are no series on secondary axes set)
if( !mxSecnAxesSet->IsValidAxesSet() )
aAutoTitle = mxPrimAxesSet->GetSingleSeriesTitle();
- if( mxTitle.is() || (aAutoTitle.Len() > 0) )
+ if( mxTitle || (aAutoTitle.Len() > 0) )
{
if( !mxTitle )
mxTitle.reset( new XclImpChText( GetChRoot() ) );
@@ -4115,8 +4165,8 @@ void XclImpChart::UpdateObjFrame( const XclObjLineData& rLineData, const XclObjF
sal_Size XclImpChart::GetProgressSize() const
{
return
- (mxChartData.is() ? mxChartData->GetProgressSize() : 0) +
- (mxChartDrawing.is() ? mxChartDrawing->GetProgressSize() : 0);
+ (mxChartData ? mxChartData->GetProgressSize() : 0) +
+ (mxChartDrawing ? mxChartDrawing->GetProgressSize() : 0);
}
void XclImpChart::Convert( Reference< XModel > xModel, XclImpDffConverter& rDffConv, const OUString& rObjName, const Rectangle& rChartRect ) const
@@ -4124,9 +4174,9 @@ void XclImpChart::Convert( Reference< XModel > xModel, XclImpDffConverter& rDffC
Reference< XChartDocument > xChartDoc( xModel, UNO_QUERY );
if( xChartDoc.is() )
{
- if( mxChartData.is() )
+ if( mxChartData )
mxChartData->Convert( xChartDoc, rDffConv, rObjName, rChartRect );
- if( mxChartDrawing.is() )
+ if( mxChartDrawing )
mxChartDrawing->ConvertObjects( rDffConv, xModel, rChartRect );
}
}
diff --git a/sc/source/filter/excel/xicontent.cxx b/sc/source/filter/excel/xicontent.cxx
index 3b7f3e0f29fd..95ca683234e9 100644
--- a/sc/source/filter/excel/xicontent.cxx
+++ b/sc/source/filter/excel/xicontent.cxx
@@ -248,7 +248,6 @@ String XclImpHyperlink::ReadEmbeddedData( XclImpStream& rStrm )
DBG_ASSERT( aGuid == XclTools::maGuidStdLink, "XclImpHyperlink::ReadEmbeddedData - unknown header GUID" );
- sal_uInt16 nLevel = 0; // counter for level to climb down in path
::std::auto_ptr< String > xLongName; // link / file name
::std::auto_ptr< String > xShortName; // 8.3-representation of file name
::std::auto_ptr< String > xTextMark; // text mark
@@ -278,6 +277,7 @@ String XclImpHyperlink::ReadEmbeddedData( XclImpStream& rStrm )
if( aGuid == XclTools::maGuidFileMoniker )
{
+ sal_uInt16 nLevel = 0; // counter for level to climb down in path
rStrm >> nLevel;
xShortName.reset( new String );
lclAppendString32( *xShortName, rStrm, false );
@@ -438,8 +438,9 @@ void XclImpLabelranges::ReadLabelranges( XclImpStream& rStrm )
ScRangeList aRowScRanges;
rAddrConv.ConvertRangeList( aRowScRanges, aRowXclRanges, nScTab, false );
xLabelRangesRef = rDoc.GetRowNameRangesRef();
- for( pScRange = aRowScRanges.First(); pScRange; pScRange = aRowScRanges.Next() )
+ for ( size_t i = 0, nRanges = aRowScRanges.size(); i < nRanges; ++i )
{
+ pScRange = aRowScRanges[ i ];
ScRange aDataRange( *pScRange );
if( aDataRange.aEnd.Col() < MAXCOL )
{
@@ -458,8 +459,10 @@ void XclImpLabelranges::ReadLabelranges( XclImpStream& rStrm )
ScRangeList aColScRanges;
rAddrConv.ConvertRangeList( aColScRanges, aColXclRanges, nScTab, false );
xLabelRangesRef = rDoc.GetColNameRangesRef();
- for( pScRange = aColScRanges.First(); pScRange; pScRange = aColScRanges.Next() )
+
+ for ( size_t i = 0, nRanges = aColScRanges.size(); i < nRanges; ++i )
{
+ pScRange = aColScRanges[ i ];
ScRange aDataRange( *pScRange );
if( aDataRange.aEnd.Row() < MAXROW )
{
@@ -508,7 +511,7 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm )
}
// entire conditional format outside of valid range?
- if( !maRanges.Count() )
+ if( maRanges.empty() )
return;
sal_uInt8 nType, nOperator;
@@ -594,7 +597,7 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm )
// *** formulas ***
- const ScAddress& rPos = maRanges.GetObject( 0 )->aStart; // assured above that maRanges is not empty
+ const ScAddress& rPos = maRanges.front()->aStart; // assured above that maRanges is not empty
ExcelToSc& rFmlaConv = GetOldFmlaConverter();
::std::auto_ptr< ScTokenArray > xTokArr1;
@@ -643,8 +646,9 @@ void XclImpCondFormat::Apply()
aPattern.GetItemSet().Put( SfxUInt32Item( ATTR_CONDITIONAL, nKey ) );
// maRanges contains only valid cell ranges
- for( const ScRange* pScRange = maRanges.First(); pScRange; pScRange = maRanges.Next() )
+ for ( size_t i = 0, nRanges = maRanges.size(); i < nRanges; ++i )
{
+ const ScRange* pScRange = maRanges[ i ];
rDoc.ApplyPatternAreaTab(
pScRange->aStart.Col(), pScRange->aStart.Row(),
pScRange->aEnd.Col(), pScRange->aEnd.Row(),
@@ -662,23 +666,23 @@ XclImpCondFormatManager::XclImpCondFormatManager( const XclImpRoot& rRoot ) :
void XclImpCondFormatManager::ReadCondfmt( XclImpStream& rStrm )
{
- XclImpCondFormat* pFmt = new XclImpCondFormat( GetRoot(), maCondFmtList.Count() );
+ XclImpCondFormat* pFmt = new XclImpCondFormat( GetRoot(), maCondFmtList.size() );
pFmt->ReadCondfmt( rStrm );
- maCondFmtList.Append( pFmt );
+ maCondFmtList.push_back( pFmt );
}
void XclImpCondFormatManager::ReadCF( XclImpStream& rStrm )
{
- DBG_ASSERT( !maCondFmtList.Empty(), "XclImpCondFormatManager::ReadCF - CF without leading CONDFMT" );
- if( !maCondFmtList.Empty() )
- maCondFmtList.GetObject( maCondFmtList.Count() - 1 )->ReadCF( rStrm );
+ DBG_ASSERT( !maCondFmtList.empty(), "XclImpCondFormatManager::ReadCF - CF without leading CONDFMT" );
+ if( !maCondFmtList.empty() )
+ maCondFmtList.back().ReadCF( rStrm );
}
void XclImpCondFormatManager::Apply()
{
- for( XclImpCondFormat* pFmt = maCondFmtList.First(); pFmt; pFmt = maCondFmtList.Next() )
- pFmt->Apply();
- maCondFmtList.Clear();
+ for( XclImpCondFmtList::iterator itFmt = maCondFmtList.begin(); itFmt != maCondFmtList.end(); ++itFmt )
+ itFmt->Apply();
+ maCondFmtList.clear();
}
// Data Validation ============================================================
@@ -776,7 +780,7 @@ void XclImpValidationManager::ReadDV( XclImpStream& rStrm )
rRoot.GetAddressConverter().ConvertRangeList( aScRanges, aXclRanges, nScTab, true );
// only continue if there are valid ranges
- if ( !aScRanges.Count() )
+ if ( aScRanges.empty() )
return;
bool bIsValid = true; // valid settings in flags field
@@ -816,7 +820,7 @@ void XclImpValidationManager::ReadDV( XclImpStream& rStrm )
// first range for base address for relative references
- const ScRange& rScRange = *aScRanges.GetObject( 0 ); // aScRanges is not empty
+ const ScRange& rScRange = *aScRanges.front(); // aScRanges is not empty
// process string list of a list validity (convert to list of string tokens)
if( xTokArr1.get() && (eValMode == SC_VALID_LIST) && ::get_flag( nFlags, EXC_DV_STRINGLIST ) )
@@ -864,9 +868,12 @@ void XclImpValidationManager::Apply()
aPattern.GetItemSet().Put( SfxUInt32Item( ATTR_VALIDDATA, nHandle ) );
// apply all ranges
- for( const ScRange* pScRange = rItem.maRanges.First(); pScRange; pScRange = rItem.maRanges.Next() )
+ for ( size_t i = 0, nRanges = rItem.maRanges.size(); i < nRanges; ++i )
+ {
+ const ScRange* pScRange = rItem.maRanges[ i ];
rDoc.ApplyPatternAreaTab( pScRange->aStart.Col(), pScRange->aStart.Row(),
pScRange->aEnd.Col(), pScRange->aEnd.Row(), pScRange->aStart.Tab(), aPattern );
+ }
}
maDVItems.clear();
}
@@ -980,7 +987,7 @@ void XclImpWebQueryBuffer::ReadQsi( XclImpStream& rStrm )
{
ScRange aRange;
if( pRangeData->IsReference( aRange ) )
- maWQList.Append( new XclImpWebQuery( aRange ) );
+ maWQList.push_back( new XclImpWebQuery( aRange ) );
}
}
}
@@ -992,34 +999,34 @@ void XclImpWebQueryBuffer::ReadQsi( XclImpStream& rStrm )
void XclImpWebQueryBuffer::ReadParamqry( XclImpStream& rStrm )
{
- if( XclImpWebQuery* pQuery = maWQList.Last() )
- pQuery->ReadParamqry( rStrm );
+ if (!maWQList.empty())
+ maWQList.back().ReadParamqry( rStrm );
}
void XclImpWebQueryBuffer::ReadWqstring( XclImpStream& rStrm )
{
- if( XclImpWebQuery* pQuery = maWQList.Last() )
- pQuery->ReadWqstring( rStrm );
+ if (!maWQList.empty())
+ maWQList.back().ReadWqstring( rStrm );
}
void XclImpWebQueryBuffer::ReadWqsettings( XclImpStream& rStrm )
{
- if( XclImpWebQuery* pQuery = maWQList.Last() )
- pQuery->ReadWqsettings( rStrm );
+ if (!maWQList.empty())
+ maWQList.back().ReadWqsettings( rStrm );
}
void XclImpWebQueryBuffer::ReadWqtables( XclImpStream& rStrm )
{
- if( XclImpWebQuery* pQuery = maWQList.Last() )
- pQuery->ReadWqtables( rStrm );
+ if (!maWQList.empty())
+ maWQList.back().ReadWqtables( rStrm );
}
void XclImpWebQueryBuffer::Apply()
{
ScDocument& rDoc = GetDoc();
String aFilterName( RTL_CONSTASCII_USTRINGPARAM( EXC_WEBQRY_FILTER ) );
- for( XclImpWebQuery* pQuery = maWQList.First(); pQuery; pQuery = maWQList.Next() )
- pQuery->Apply( rDoc, aFilterName );
+ for( XclImpWebQueryList::iterator itQuery = maWQList.begin(); itQuery != maWQList.end(); ++itQuery )
+ itQuery->Apply( rDoc, aFilterName );
}
// Decryption =================================================================
@@ -1124,11 +1131,11 @@ ErrCode XclImpDecryptHelper::ReadFilepass( XclImpStream& rStrm )
rStrm.SetDecrypter( xDecr );
// request and verify a password (decrypter implements IDocPasswordVerifier)
- if( xDecr.is() )
+ if( xDecr )
rStrm.GetRoot().RequestPassword( *xDecr );
// return error code (success, wrong password, etc.)
- return xDecr.is() ? xDecr->GetError() : EXC_ENCR_ERROR_UNSUPP_CRYPT;
+ return xDecr ? xDecr->GetError() : EXC_ENCR_ERROR_UNSUPP_CRYPT;
}
// Document protection ========================================================
@@ -1167,7 +1174,6 @@ void XclImpDocProtectBuffer::Apply() const
auto_ptr<ScDocProtection> pProtect(new ScDocProtection);
pProtect->setProtected(true);
-#if ENABLE_SHEET_PROTECTION
if (mnPassHash)
{
// 16-bit password pash.
@@ -1176,7 +1182,6 @@ void XclImpDocProtectBuffer::Apply() const
aPass[1] = mnPassHash & 0xFF;
pProtect->setPasswordHash(aPass, PASSHASH_XL);
}
-#endif
// document protection options
pProtect->setOption(ScDocProtection::STRUCTURE, mbDocProtect);
@@ -1272,7 +1277,6 @@ void XclImpSheetProtectBuffer::Apply() const
auto_ptr<ScTableProtection> pProtect(new ScTableProtection);
pProtect->setProtected(true);
-#if ENABLE_SHEET_PROTECTION
// 16-bit hash password
const sal_uInt16 nHash = itr->second.mnPasswordHash;
if (nHash)
@@ -1282,7 +1286,6 @@ void XclImpSheetProtectBuffer::Apply() const
aPass[1] = nHash & 0xFF;
pProtect->setPasswordHash(aPass, PASSHASH_XL);
}
-#endif
// sheet protection options
const sal_uInt16 nOptions = itr->second.mnOptions;
diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx
index b96b8d6b5e87..fc84aeb6aba5 100644
--- a/sc/source/filter/excel/xiescher.cxx
+++ b/sc/source/filter/excel/xiescher.cxx
@@ -84,6 +84,7 @@
#include <editeng/eeitem.hxx>
#include <editeng/colritem.hxx>
#include <svx/xflclit.hxx>
+#include <sal/macros.h>
#include <editeng/adjitem.hxx>
#include <svx/xlineit.hxx>
#include <svx/xlinjoit.hxx>
@@ -113,6 +114,7 @@
#include "scextopt.hxx"
#include "namebuff.hxx"
+#include <boost/shared_ptr.hpp>
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
@@ -212,7 +214,7 @@ XclImpDrawObjBase::~XclImpDrawObjBase()
{
}
-/*static*/ XclImpDrawObjRef XclImpDrawObjBase::ReadObj3( const XclImpRoot& rRoot, XclImpStream& rStrm )
+XclImpDrawObjRef XclImpDrawObjBase::ReadObj3( const XclImpRoot& rRoot, XclImpStream& rStrm )
{
XclImpDrawObjRef xDrawObj;
@@ -244,7 +246,7 @@ XclImpDrawObjBase::~XclImpDrawObjBase()
return xDrawObj;
}
-/*static*/ XclImpDrawObjRef XclImpDrawObjBase::ReadObj4( const XclImpRoot& rRoot, XclImpStream& rStrm )
+XclImpDrawObjRef XclImpDrawObjBase::ReadObj4( const XclImpRoot& rRoot, XclImpStream& rStrm )
{
XclImpDrawObjRef xDrawObj;
@@ -277,7 +279,7 @@ XclImpDrawObjBase::~XclImpDrawObjBase()
return xDrawObj;
}
-/*static*/ XclImpDrawObjRef XclImpDrawObjBase::ReadObj5( const XclImpRoot& rRoot, XclImpStream& rStrm )
+XclImpDrawObjRef XclImpDrawObjBase::ReadObj5( const XclImpRoot& rRoot, XclImpStream& rStrm )
{
XclImpDrawObjRef xDrawObj;
@@ -320,7 +322,7 @@ XclImpDrawObjBase::~XclImpDrawObjBase()
return xDrawObj;
}
-/*static*/ XclImpDrawObjRef XclImpDrawObjBase::ReadObj8( const XclImpRoot& rRoot, XclImpStream& rStrm )
+XclImpDrawObjRef XclImpDrawObjBase::ReadObj8( const XclImpRoot& rRoot, XclImpStream& rStrm )
{
XclImpDrawObjRef xDrawObj;
@@ -656,7 +658,7 @@ void XclImpDrawObjBase::ConvertFillStyle( SdrObject& rSdrObj, const XclObjFillDa
{ 0x88, 0x00, 0x22, 0x00, 0x88, 0x00, 0x22, 0x00 },
{ 0x80, 0x00, 0x08, 0x00, 0x80, 0x00, 0x08, 0x00 }
};
- const sal_uInt8* const pnPattern = sppnPatterns[ ::std::min< size_t >( rFillData.mnPattern - 2, STATIC_TABLE_SIZE( sppnPatterns ) ) ];
+ const sal_uInt8* const pnPattern = sppnPatterns[ ::std::min< size_t >( rFillData.mnPattern - 2, SAL_N_ELEMENTS( sppnPatterns ) ) ];
// create 2-colored 8x8 DIB
SvMemoryStream aMemStrm;
aMemStrm << sal_uInt32( 12 ) << sal_Int16( 8 ) << sal_Int16( 8 ) << sal_uInt16( 1 ) << sal_uInt16( 1 );
@@ -1322,7 +1324,7 @@ void XclImpObjTextData::ReadByteString( XclImpStream& rStrm )
void XclImpObjTextData::ReadFormats( XclImpStream& rStrm )
{
- if( mxString.is() )
+ if( mxString )
mxString->ReadObjFormats( rStrm, maData.mnFormatSize );
else
rStrm.Ignore( maData.mnFormatSize );
@@ -1384,7 +1386,7 @@ void XclImpTextObj::DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject&
// set text data
if( SdrTextObj* pTextObj = dynamic_cast< SdrTextObj* >( &rSdrObj ) )
{
- if( maTextData.mxString.is() )
+ if( maTextData.mxString )
{
if( maTextData.mxString->IsRich() )
{
@@ -1569,7 +1571,7 @@ void XclImpChartObj::DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize )
rStrm.Ignore( 18 );
ReadMacro3( rStrm, nMacroSize );
// set frame format from OBJ record, it is used if chart itself is transparent
- if( mxChart.is() )
+ if( mxChart )
mxChart->UpdateObjFrame( maLineData, maFillData );
}
@@ -1580,7 +1582,7 @@ void XclImpChartObj::DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize )
rStrm.Ignore( 18 );
ReadMacro4( rStrm, nMacroSize );
// set frame format from OBJ record, it is used if chart itself is transparent
- if( mxChart.is() )
+ if( mxChart )
mxChart->UpdateObjFrame( maLineData, maFillData );
}
@@ -1593,7 +1595,7 @@ void XclImpChartObj::DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_u
ReadMacro5( rStrm, nMacroSize );
ReadChartSubStream( rStrm );
// set frame format from OBJ record, it is used if chart itself is transparent
- if( mxChart.is() )
+ if( mxChart )
mxChart->UpdateObjFrame( maLineData, maFillData );
}
@@ -1613,14 +1615,14 @@ void XclImpChartObj::DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId
sal_Size XclImpChartObj::DoGetProgressSize() const
{
- return mxChart.is() ? mxChart->GetProgressSize() : 1;
+ return mxChart ? mxChart->GetProgressSize() : 1;
}
SdrObject* XclImpChartObj::DoCreateSdrObj( XclImpDffConverter& rDffConv, const Rectangle& rAnchorRect ) const
{
SdrObjectPtr xSdrObj;
SfxObjectShell* pDocShell = GetDocShell();
- if( rDffConv.SupportsOleObjects() && SvtModuleOptions().IsChart() && pDocShell && mxChart.is() && !mxChart->IsPivotChart() )
+ if( rDffConv.SupportsOleObjects() && SvtModuleOptions().IsChart() && pDocShell && mxChart && !mxChart->IsPivotChart() )
{
// create embedded chart object
OUString aEmbObjName;
@@ -1646,7 +1648,7 @@ SdrObject* XclImpChartObj::DoCreateSdrObj( XclImpDffConverter& rDffConv, const R
void XclImpChartObj::DoPostProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const
{
const SdrOle2Obj* pSdrOleObj = dynamic_cast< const SdrOle2Obj* >( &rSdrObj );
- if( mxChart.is() && pSdrOleObj )
+ if( mxChart && pSdrOleObj )
{
Reference< XEmbeddedObject > xEmbObj = pSdrOleObj->GetObjRef();
if( xEmbObj.is() && ::svt::EmbeddedObjectRef::TryRunningState( xEmbObj ) ) try
@@ -1773,7 +1775,7 @@ void XclImpControlHelper::ApplySheetLinkProps() const
if( xFactory.is() )
{
// cell link
- if( mxCellLink.is() ) try
+ if( mxCellLink ) try
{
Reference< XBindableValue > xBindable( xCtrlModel, UNO_QUERY_THROW );
@@ -1804,7 +1806,7 @@ void XclImpControlHelper::ApplySheetLinkProps() const
}
// source range
- if( mxSrcRange.is() ) try
+ if( mxSrcRange ) try
{
Reference< XListEntrySink > xEntrySink( xCtrlModel, UNO_QUERY_THROW );
@@ -1858,8 +1860,11 @@ void XclImpControlHelper::ReadCellLinkFormula( XclImpStream& rStrm, bool bWithBo
ScRangeList aScRanges;
ReadRangeList( aScRanges, rStrm, bWithBoundSize );
// Use first cell of first range
- if( const ScRange* pScRange = aScRanges.GetObject( 0 ) )
+ if ( !aScRanges.empty() )
+ {
+ const ScRange* pScRange = aScRanges.front();
mxCellLink.reset( new ScAddress( pScRange->aStart ) );
+ }
}
void XclImpControlHelper::ReadSourceRangeFormula( XclImpStream& rStrm, bool bWithBoundSize )
@@ -1867,8 +1872,11 @@ void XclImpControlHelper::ReadSourceRangeFormula( XclImpStream& rStrm, bool bWit
ScRangeList aScRanges;
ReadRangeList( aScRanges, rStrm, bWithBoundSize );
// Use first range
- if( const ScRange* pScRange = aScRanges.GetObject( 0 ) )
+ if ( !aScRanges.empty() )
+ {
+ const ScRange* pScRange = aScRanges.front();
mxSrcRange.reset( new ScRange( *pScRange ) );
+ }
}
void XclImpControlHelper::DoProcessControl( ScfPropertySet& ) const
@@ -1947,7 +1955,7 @@ bool XclImpTbxObjBase::FillMacroDescriptor( ScriptEventDescriptor& rDescriptor )
void XclImpTbxObjBase::ConvertFont( ScfPropertySet& rPropSet ) const
{
- if( maTextData.mxString.is() )
+ if( maTextData.mxString )
{
const XclFormatRunVec& rFormatRuns = maTextData.mxString->GetFormats();
if( rFormatRuns.empty() )
@@ -1959,7 +1967,7 @@ void XclImpTbxObjBase::ConvertFont( ScfPropertySet& rPropSet ) const
void XclImpTbxObjBase::ConvertLabel( ScfPropertySet& rPropSet ) const
{
- if( maTextData.mxString.is() )
+ if( maTextData.mxString )
{
String aLabel = maTextData.mxString->GetText();
if( maTextData.maData.mnShortcut > 0 )
@@ -2377,7 +2385,7 @@ void XclImpEditObj::DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId,
void XclImpEditObj::DoProcessControl( ScfPropertySet& rPropSet ) const
{
- if( maTextData.mxString.is() )
+ if( maTextData.mxString )
{
OUString aText = maTextData.mxString->GetText();
if( IsNumeric() )
@@ -2711,7 +2719,7 @@ void XclImpDropDownObj::DoProcessControl( ScfPropertySet& rPropSet ) const
if( GetDropDownType() == EXC_OBJ_DROPDOWN_COMBOBOX )
{
// text of editable combobox
- if( maTextData.mxString.is() )
+ if( maTextData.mxString )
rPropSet.SetStringProperty( CREATE_OUSTRING( "DefaultText" ), maTextData.mxString->GetText() );
}
else
@@ -3121,7 +3129,7 @@ XclImpSimpleDffConverter::~XclImpSimpleDffConverter()
{
}
-int XclImpSimpleDffConverter::GetColorFromPalette( USHORT nIndex, Color& rColor ) const
+bool XclImpSimpleDffConverter::GetColorFromPalette( USHORT nIndex, Color& rColor ) const
{
ColorData nColor = GetPalette().GetColorData( static_cast< sal_uInt16 >( nIndex ) );
@@ -3176,17 +3184,14 @@ XclImpDffConverter::~XclImpDffConverter()
String XclImpObjectManager::GetOleNameOverride( SCTAB nTab, sal_uInt16 nObjId )
{
- String sOleName;
+ rtl::OUString sOleName;
String sCodeName = GetExtDocOptions().GetCodeName( nTab );
- CodeNameToCntrlObjIdInfo::iterator it = maOleCtrlNameOverride.find( sCodeName );
- if ( it != maOleCtrlNameOverride.end() )
+ if ( mxOleCtrlNameOverride->hasByName( sCodeName ) )
{
- CntrlObjIdToName::iterator it_id = it->second.find( nObjId );
- if ( it_id != it->second.end() )
- {
- sOleName = it_id->second;
- }
+ Reference< XIndexContainer > xIdToOleName;
+ mxOleCtrlNameOverride->getByName( sCodeName ) >>= xIdToOleName;
+ xIdToOleName->getByIndex( nObjId ) >>= sOleName;
}
OSL_TRACE("XclImpObjectManager::GetOleNameOverride tab %d, ( module %s ) object id ( %d ) is %s", nTab,
rtl::OUStringToOString( sCodeName, RTL_TEXTENCODING_UTF8 ).getStr(), nObjId,
@@ -3204,7 +3209,7 @@ void XclImpDffConverter::StartProgressBar( sal_Size nProgressSize )
void XclImpDffConverter::Progress( sal_Size nDelta )
{
- DBG_ASSERT( mxProgress.is(), "XclImpDffConverter::Progress - invalid call, no progress bar" );
+ DBG_ASSERT( mxProgress, "XclImpDffConverter::Progress - invalid call, no progress bar" );
mxProgress->Progress( nDelta );
}
@@ -3699,7 +3704,7 @@ XclImpDrawing::~XclImpDrawing()
{
}
-/*static*/ Graphic XclImpDrawing::ReadImgData( const XclImpRoot& rRoot, XclImpStream& rStrm )
+Graphic XclImpDrawing::ReadImgData( const XclImpRoot& rRoot, XclImpStream& rStrm )
{
Graphic aGraphic;
sal_uInt16 nFormat, nEnv;
@@ -3741,7 +3746,7 @@ void XclImpDrawing::ReadObj( XclImpStream& rStrm )
DBG_ERROR_BIFF();
}
- if( xDrawObj.is() )
+ if( xDrawObj )
{
// insert into maRawObjs or into the last open group object
maRawObjs.InsertGrouped( xDrawObj );
@@ -3860,7 +3865,7 @@ void XclImpDrawing::ImplConvertObjects( XclImpDffConverter& rDffConv, SdrModel&
void XclImpDrawing::AppendRawObject( const XclImpDrawObjRef& rxDrawObj )
{
- DBG_ASSERT( rxDrawObj.is(), "XclImpDrawing::AppendRawObject - unexpected empty reference" );
+ DBG_ASSERT( rxDrawObj, "XclImpDrawing::AppendRawObject - unexpected empty reference" );
maRawObjs.push_back( rxDrawObj );
}
@@ -3990,7 +3995,7 @@ void XclImpSheetDrawing::ReadNote( XclImpStream& rStrm )
void XclImpSheetDrawing::ReadTabChart( XclImpStream& rStrm )
{
DBG_ASSERT_BIFF( GetBiff() >= EXC_BIFF5 );
- ScfRef< XclImpChartObj > xChartObj( new XclImpChartObj( GetRoot(), true ) );
+ boost::shared_ptr< XclImpChartObj > xChartObj( new XclImpChartObj( GetRoot(), true ) );
xChartObj->ReadChartSubStream( rStrm );
// insert the chart as raw object without connected DFF data
AppendRawObject( xChartObj );
diff --git a/sc/source/filter/excel/xihelper.cxx b/sc/source/filter/excel/xihelper.cxx
index bb17cc656add..af7609698dce 100644
--- a/sc/source/filter/excel/xihelper.cxx
+++ b/sc/source/filter/excel/xihelper.cxx
@@ -845,7 +845,7 @@ XclImpCachedMatrix::XclImpCachedMatrix( XclImpStream& rStrm ) :
for( SCSIZE nScRow = 0; nScRow < mnScRows; ++nScRow )
for( SCSIZE nScCol = 0; nScCol < mnScCols; ++nScCol )
- maValueList.Append( new XclImpCachedValue( rStrm ) );
+ maValueList.push_back( new XclImpCachedValue( rStrm ) );
}
XclImpCachedMatrix::~XclImpCachedMatrix()
@@ -855,38 +855,38 @@ XclImpCachedMatrix::~XclImpCachedMatrix()
ScMatrixRef XclImpCachedMatrix::CreateScMatrix() const
{
ScMatrixRef xScMatrix;
- DBG_ASSERT( mnScCols * mnScRows == maValueList.Count(), "XclImpCachedMatrix::CreateScMatrix - element count mismatch" );
- if( mnScCols && mnScRows && static_cast< ULONG >( mnScCols * mnScRows ) <= maValueList.Count() )
+ DBG_ASSERT( mnScCols * mnScRows == maValueList.size(), "XclImpCachedMatrix::CreateScMatrix - element count mismatch" );
+ if( mnScCols && mnScRows && static_cast< ULONG >( mnScCols * mnScRows ) <= maValueList.size() )
{
xScMatrix = new ScMatrix( mnScCols, mnScRows );
- const XclImpCachedValue* pValue = maValueList.First();
+ XclImpValueList::const_iterator itValue = maValueList.begin();
for( SCSIZE nScRow = 0; nScRow < mnScRows; ++nScRow )
{
for( SCSIZE nScCol = 0; nScCol < mnScCols; ++nScCol )
{
- switch( pValue->GetType() )
+ switch( itValue->GetType() )
{
case EXC_CACHEDVAL_EMPTY:
// Excel shows 0.0 here, not an empty cell
xScMatrix->PutEmpty( nScCol, nScRow );
break;
case EXC_CACHEDVAL_DOUBLE:
- xScMatrix->PutDouble( pValue->GetValue(), nScCol, nScRow );
+ xScMatrix->PutDouble( itValue->GetValue(), nScCol, nScRow );
break;
case EXC_CACHEDVAL_STRING:
- xScMatrix->PutString( pValue->GetString(), nScCol, nScRow );
+ xScMatrix->PutString( itValue->GetString(), nScCol, nScRow );
break;
case EXC_CACHEDVAL_BOOL:
- xScMatrix->PutBoolean( pValue->GetBool(), nScCol, nScRow );
+ xScMatrix->PutBoolean( itValue->GetBool(), nScCol, nScRow );
break;
case EXC_CACHEDVAL_ERROR:
- xScMatrix->PutError( pValue->GetScError(), nScCol, nScRow );
+ xScMatrix->PutError( itValue->GetScError(), nScCol, nScRow );
break;
default:
DBG_ERRORFILE( "XclImpCachedMatrix::CreateScMatrix - unknown value type" );
xScMatrix->PutEmpty( nScCol, nScRow );
}
- pValue = maValueList.Next();
+ ++itValue;
}
}
}
diff --git a/sc/source/filter/excel/xilink.cxx b/sc/source/filter/excel/xilink.cxx
index ff45306b1c55..143d95a3a2ba 100644
--- a/sc/source/filter/excel/xilink.cxx
+++ b/sc/source/filter/excel/xilink.cxx
@@ -41,6 +41,7 @@
#include "externalrefmgr.hxx"
#include <vector>
+#include <boost/ptr_container/ptr_vector.hpp>
using ::std::vector;
@@ -50,7 +51,10 @@ using ::std::vector;
// Cached external cells ======================================================
-/** Contains the address and value of an external referenced cell. */
+/**
+ * Contains the address and value of an external referenced cell.
+ * Note that this is non-copyable, so cannot be used in most stl/boost containers.
+ */
class XclImpCrn : public XclImpCachedValue
{
public:
@@ -82,7 +86,8 @@ public:
void LoadCachedValues(ScExternalRefCache::TableTypeRef pCacheTable);
private:
- typedef ScfDelList< XclImpCrn > XclImpCrnList;
+ typedef boost::shared_ptr< XclImpCrn > XclImpCrnRef;
+ typedef std::vector< XclImpCrnRef > XclImpCrnList;
XclImpCrnList maCrnList; /// List of CRN records (cached cell values).
String maTabName; /// Name of the external sheet.
@@ -129,8 +134,8 @@ public:
void LoadCachedValues();
private:
- typedef ScfDelList< XclImpSupbookTab > XclImpSupbookTabList;
- typedef ScfDelList< XclImpExtName > XclImpExtNameList;
+ typedef boost::ptr_vector< XclImpSupbookTab > XclImpSupbookTabList;
+ typedef boost::ptr_vector< XclImpExtName > XclImpExtNameList;
XclImpSupbookTabList maSupbTabList; /// All sheet names of the document.
XclImpExtNameList maExtNameList; /// All external names of the document.
@@ -212,7 +217,7 @@ private:
private:
typedef ::std::vector< XclImpXti > XclImpXtiVector;
- typedef ScfDelList< XclImpSupbook > XclImpSupbookList;
+ typedef boost::ptr_vector< XclImpSupbook > XclImpSupbookList;
XclImpXtiVector maXtiList; /// List of all XTI structures.
XclImpSupbookList maSupbookList; /// List of external documents.
@@ -388,43 +393,45 @@ XclImpSupbookTab::~XclImpSupbookTab()
void XclImpSupbookTab::ReadCrn( XclImpStream& rStrm, const XclAddress& rXclPos )
{
- maCrnList.Append( new XclImpCrn( rStrm, rXclPos ) );
+ XclImpCrnRef crnRef( new XclImpCrn(rStrm, rXclPos) );
+ maCrnList.push_back( crnRef );
}
void XclImpSupbookTab::LoadCachedValues(ScExternalRefCache::TableTypeRef pCacheTable)
{
- if (maCrnList.Empty())
+ if (maCrnList.empty())
return;
- for (XclImpCrn* p = maCrnList.First(); p; p = maCrnList.Next())
+ for (XclImpCrnList::iterator itCrnRef = maCrnList.begin(); itCrnRef != maCrnList.end(); ++itCrnRef)
{
- const XclAddress& rAddr = p->GetAddress();
- switch (p->GetType())
+ const XclImpCrn* const pCrn = itCrnRef->get();
+ const XclAddress& rAddr = pCrn->GetAddress();
+ switch (pCrn->GetType())
{
case EXC_CACHEDVAL_BOOL:
{
- bool b = p->GetBool();
+ bool b = pCrn->GetBool();
ScExternalRefCache::TokenRef pToken(new formula::FormulaDoubleToken(b ? 1.0 : 0.0));
pCacheTable->setCell(rAddr.mnCol, rAddr.mnRow, pToken, 0, false);
}
break;
case EXC_CACHEDVAL_DOUBLE:
{
- double f = p->GetValue();
+ double f = pCrn->GetValue();
ScExternalRefCache::TokenRef pToken(new formula::FormulaDoubleToken(f));
pCacheTable->setCell(rAddr.mnCol, rAddr.mnRow, pToken, 0, false);
}
break;
case EXC_CACHEDVAL_ERROR:
{
- double fError = XclTools::ErrorToDouble( p->GetXclError() );
+ double fError = XclTools::ErrorToDouble( pCrn->GetXclError() );
ScExternalRefCache::TokenRef pToken(new formula::FormulaDoubleToken(fError));
pCacheTable->setCell(rAddr.mnCol, rAddr.mnRow, pToken, 0, false);
}
break;
case EXC_CACHEDVAL_STRING:
{
- const String& rStr = p->GetString();
+ const String& rStr = pCrn->GetString();
ScExternalRefCache::TokenRef pToken(new formula::FormulaStringToken(rStr));
pCacheTable->setCell(rAddr.mnCol, rAddr.mnRow, pToken, 0, false);
}
@@ -463,7 +470,7 @@ XclImpSupbook::XclImpSupbook( XclImpStream& rStrm ) :
if( maXclUrl.EqualsIgnoreCaseAscii( "\010EUROTOOL.XLA" ) )
{
meType = EXC_SBTYPE_EUROTOOL;
- maSupbTabList.Append( new XclImpSupbookTab( maXclUrl ) );
+ maSupbTabList.push_back( new XclImpSupbookTab( maXclUrl ) );
}
else if( nSBTabCnt )
{
@@ -471,14 +478,14 @@ XclImpSupbook::XclImpSupbook( XclImpStream& rStrm ) :
for( sal_uInt16 nSBTab = 0; nSBTab < nSBTabCnt; ++nSBTab )
{
String aTabName( rStrm.ReadUniString() );
- maSupbTabList.Append( new XclImpSupbookTab( aTabName ) );
+ maSupbTabList.push_back( new XclImpSupbookTab( aTabName ) );
}
}
else
{
meType = EXC_SBTYPE_SPECIAL;
// create dummy list entry
- maSupbTabList.Append( new XclImpSupbookTab( maXclUrl ) );
+ maSupbTabList.push_back( new XclImpSupbookTab( maXclUrl ) );
}
}
@@ -490,26 +497,28 @@ void XclImpSupbook::ReadXct( XclImpStream& rStrm )
void XclImpSupbook::ReadCrn( XclImpStream& rStrm )
{
- if( XclImpSupbookTab* pSBTab = maSupbTabList.GetObject( mnSBTab ) )
- {
- sal_uInt8 nXclColLast, nXclColFirst;
- sal_uInt16 nXclRow;
- rStrm >> nXclColLast >> nXclColFirst >> nXclRow;
+ if (mnSBTab >= maSupbTabList.size())
+ return;
+ XclImpSupbookTab& rSbTab = maSupbTabList[mnSBTab];
+ sal_uInt8 nXclColLast, nXclColFirst;
+ sal_uInt16 nXclRow;
+ rStrm >> nXclColLast >> nXclColFirst >> nXclRow;
- for( sal_uInt8 nXclCol = nXclColFirst; (nXclCol <= nXclColLast) && (rStrm.GetRecLeft() > 1); ++nXclCol )
- pSBTab->ReadCrn( rStrm, XclAddress( nXclCol, nXclRow ) );
- }
+ for( sal_uInt8 nXclCol = nXclColFirst; (nXclCol <= nXclColLast) && (rStrm.GetRecLeft() > 1); ++nXclCol )
+ rSbTab.ReadCrn( rStrm, XclAddress( nXclCol, nXclRow ) );
}
void XclImpSupbook::ReadExternname( XclImpStream& rStrm, ExcelToSc* pFormulaConv )
{
- maExtNameList.Append( new XclImpExtName( *this, rStrm, meType, pFormulaConv ) );
+ maExtNameList.push_back( new XclImpExtName( *this, rStrm, meType, pFormulaConv ) );
}
const XclImpExtName* XclImpSupbook::GetExternName( sal_uInt16 nXclIndex ) const
{
DBG_ASSERT( nXclIndex > 0, "XclImpSupbook::GetExternName - index must be >0" );
- return (meType == EXC_SBTYPE_SELF) ? 0 : maExtNameList.GetObject( nXclIndex - 1 );
+ if (meType == EXC_SBTYPE_SELF || nXclIndex >= maExtNameList.size())
+ return NULL;
+ return &maExtNameList.at( nXclIndex - 1 );
}
bool XclImpSupbook::GetLinkData( String& rApplic, String& rTopic ) const
@@ -526,22 +535,14 @@ const String& XclImpSupbook::GetMacroName( sal_uInt16 nXclNameIdx ) const
const String& XclImpSupbook::GetTabName( sal_uInt16 nXtiTab ) const
{
- if (maSupbTabList.Empty())
+ if (nXtiTab >= maSupbTabList.size())
return EMPTY_STRING;
-
- sal_uInt16 i = 0;
- for (XclImpSupbookTab* p = maSupbTabList.First(); p; p = maSupbTabList.Next(), ++i)
- {
- if (i == nXtiTab)
- return p->GetTabName();
- }
-
- return EMPTY_STRING;
+ return maSupbTabList[nXtiTab].GetTabName();
}
sal_uInt16 XclImpSupbook::GetTabCount() const
{
- return ulimit_cast<sal_uInt16>(maSupbTabList.Count());
+ return ulimit_cast<sal_uInt16>(maSupbTabList.size());
}
void XclImpSupbook::LoadCachedValues()
@@ -554,16 +555,11 @@ void XclImpSupbook::LoadCachedValues()
ScExternalRefManager* pRefMgr = GetRoot().GetDoc().GetExternalRefManager();
sal_uInt16 nFileId = pRefMgr->getExternalFileId(aAbsUrl);
- sal_uInt16 nCount = static_cast< sal_uInt16 >( maSupbTabList.Count() );
- for (sal_uInt16 i = 0; i < nCount; ++i)
+ for (XclImpSupbookTabList::iterator itTab = maSupbTabList.begin(); itTab != maSupbTabList.end(); ++itTab)
{
- XclImpSupbookTab* pTab = maSupbTabList.GetObject(i);
- if (!pTab)
- return;
-
- const String& rTabName = pTab->GetTabName();
+ const String& rTabName = itTab->GetTabName();
ScExternalRefCache::TableTypeRef pCacheTable = pRefMgr->getCacheTable(nFileId, rTabName, true);
- pTab->LoadCachedValues(pCacheTable);
+ itTab->LoadCachedValues(pCacheTable);
pCacheTable->setWholeTableCached();
}
}
@@ -597,25 +593,25 @@ void XclImpLinkManagerImpl::ReadExternsheet( XclImpStream& rStrm )
void XclImpLinkManagerImpl::ReadSupbook( XclImpStream& rStrm )
{
- maSupbookList.Append( new XclImpSupbook( rStrm ) );
+ maSupbookList.push_back( new XclImpSupbook( rStrm ) );
}
void XclImpLinkManagerImpl::ReadXct( XclImpStream& rStrm )
{
- if( XclImpSupbook* pSupbook = maSupbookList.Last() )
- pSupbook->ReadXct( rStrm );
+ if( !maSupbookList.empty() )
+ maSupbookList.back().ReadXct( rStrm );
}
void XclImpLinkManagerImpl::ReadCrn( XclImpStream& rStrm )
{
- if( XclImpSupbook* pSupbook = maSupbookList.Last() )
- pSupbook->ReadCrn( rStrm );
+ if( !maSupbookList.empty() )
+ maSupbookList.back().ReadCrn( rStrm );
}
void XclImpLinkManagerImpl::ReadExternname( XclImpStream& rStrm, ExcelToSc* pFormulaConv )
{
- if( XclImpSupbook* pSupbook = maSupbookList.Last() )
- pSupbook->ReadExternname( rStrm, pFormulaConv );
+ if( !maSupbookList.empty() )
+ maSupbookList.back().ReadExternname( rStrm, pFormulaConv );
}
bool XclImpLinkManagerImpl::IsSelfRef( sal_uInt16 nXtiIndex ) const
@@ -629,7 +625,7 @@ bool XclImpLinkManagerImpl::GetScTabRange(
{
if( const XclImpXti* pXti = GetXti( nXtiIndex ) )
{
- if (maSupbookList.GetObject(pXti->mnSupbook))
+ if (!maSupbookList.empty() && (pXti->mnSupbook < maSupbookList.size()) )
{
rnFirstScTab = pXti->mnSBTabFirst;
rnLastScTab = pXti->mnSBTabLast;
@@ -678,21 +674,20 @@ const XclImpXti* XclImpLinkManagerImpl::GetXti( sal_uInt16 nXtiIndex ) const
const XclImpSupbook* XclImpLinkManagerImpl::GetSupbook( sal_uInt16 nXtiIndex ) const
{
+ if ( maSupbookList.empty() )
+ return NULL;
const XclImpXti* pXti = GetXti( nXtiIndex );
- return pXti ? maSupbookList.GetObject( pXti->mnSupbook ) : 0;
+ if (!pXti || pXti->mnSupbook >= maSupbookList.size())
+ return NULL;
+ return &(maSupbookList.at( pXti->mnSupbook ));
}
void XclImpLinkManagerImpl::LoadCachedValues()
{
// Read all CRN records which can be accessed via XclImpSupbook, and store
// the cached values to the external reference manager.
-
- sal_uInt32 nCount = maSupbookList.Count();
- for (sal_uInt16 nSupbook = 0; nSupbook < nCount; ++nSupbook)
- {
- XclImpSupbook* pSupbook = maSupbookList.GetObject(nSupbook);
- pSupbook->LoadCachedValues();
- }
+ for (XclImpSupbookList::iterator itSupbook = maSupbookList.begin(); itSupbook != maSupbookList.end(); ++itSupbook)
+ itSupbook->LoadCachedValues();
}
// ============================================================================
diff --git a/sc/source/filter/excel/xiname.cxx b/sc/source/filter/excel/xiname.cxx
index e94832e99597..a8994fa2a074 100644
--- a/sc/source/filter/excel/xiname.cxx
+++ b/sc/source/filter/excel/xiname.cxx
@@ -232,7 +232,7 @@ XclImpName::XclImpName( XclImpStream& rStrm, sal_uInt16 nXclNameIdx ) :
// discard deleted ranges ( for the moment at least )
if ( pData->IsValidReference( aRange ) )
{
- ScExtTabSettings& rTabSett = GetExtDocOptions().GetOrCreateTabSettings( nXclTab );
+ GetExtDocOptions().GetOrCreateTabSettings( nXclTab );
// create a mapping between the unmodified localname to
// the name in the global name container for named ranges
OSL_TRACE(" mapping local name to global name for tab %d which exists? %s", nXclTab, GetDoc().HasTable( mnScTab ) ? "true" : "false" );
@@ -256,23 +256,23 @@ XclImpNameManager::XclImpNameManager( const XclImpRoot& rRoot ) :
void XclImpNameManager::ReadName( XclImpStream& rStrm )
{
- ULONG nCount = maNameList.Count();
+ ULONG nCount = maNameList.size();
if( nCount < 0xFFFF )
- maNameList.Append( new XclImpName( rStrm, static_cast< sal_uInt16 >( nCount + 1 ) ) );
+ maNameList.push_back( new XclImpName( rStrm, static_cast< sal_uInt16 >( nCount + 1 ) ) );
}
const XclImpName* XclImpNameManager::FindName( const String& rXclName, SCTAB nScTab ) const
{
const XclImpName* pGlobalName = 0; // a found global name
const XclImpName* pLocalName = 0; // a found local name
- for( const XclImpName* pName = maNameList.First(); pName && !pLocalName; pName = maNameList.Next() )
+ for( XclImpNameList::const_iterator itName = maNameList.begin(); itName != maNameList.end() && !pLocalName; ++itName )
{
- if( pName->GetXclName() == rXclName )
+ if( itName->GetXclName() == rXclName )
{
- if( pName->GetScTab() == nScTab )
- pLocalName = pName;
- else if( pName->IsGlobal() )
- pGlobalName = pName;
+ if( itName->GetScTab() == nScTab )
+ pLocalName = &(*itName);
+ else if( itName->IsGlobal() )
+ pGlobalName = &(*itName);
}
}
return pLocalName ? pLocalName : pGlobalName;
@@ -281,7 +281,7 @@ const XclImpName* XclImpNameManager::FindName( const String& rXclName, SCTAB nSc
const XclImpName* XclImpNameManager::GetName( sal_uInt16 nXclNameIdx ) const
{
DBG_ASSERT( nXclNameIdx > 0, "XclImpNameManager::GetName - index must be >0" );
- return maNameList.GetObject( nXclNameIdx - 1 );
+ return &(maNameList.at( nXclNameIdx - 1 ));
}
// ============================================================================
diff --git a/sc/source/filter/excel/xipivot.cxx b/sc/source/filter/excel/xipivot.cxx
index 3b30c7f84998..bd9509158a88 100644
--- a/sc/source/filter/excel/xipivot.cxx
+++ b/sc/source/filter/excel/xipivot.cxx
@@ -785,7 +785,7 @@ void XclImpPivotCache::ReadPivotCacheStream( XclImpStream& rStrm )
case EXC_ID_SXSTRING:
case EXC_ID_SXDATETIME:
case EXC_ID_SXEMPTY:
- if( xCurrField.is() ) // inline items
+ if( xCurrField ) // inline items
{
xCurrField->ReadItem( aPCStrm );
}
@@ -810,12 +810,12 @@ void XclImpPivotCache::ReadPivotCacheStream( XclImpStream& rStrm )
break;
case EXC_ID_SXNUMGROUP:
- if( xCurrField.is() )
+ if( xCurrField )
xCurrField->ReadSxnumgroup( aPCStrm );
break;
case EXC_ID_SXGROUPINFO:
- if( xCurrField.is() )
+ if( xCurrField )
xCurrField->ReadSxgroupinfo( aPCStrm );
break;
@@ -909,7 +909,7 @@ XclImpPTField::XclImpPTField( const XclImpPivotTable& rPTable, sal_uInt16 nCache
const XclImpPCField* XclImpPTField::GetCacheField() const
{
XclImpPivotCacheRef xPCache = mrPTable.GetPivotCache();
- return xPCache.is() ? xPCache->GetField( maFieldInfo.mnCacheIdx ) : 0;
+ return xPCache ? xPCache->GetField( maFieldInfo.mnCacheIdx ) : 0;
}
const String& XclImpPTField::GetFieldName() const
@@ -1256,13 +1256,13 @@ void XclImpPivotTable::ReadSxvd( XclImpStream& rStrm )
void XclImpPivotTable::ReadSxvi( XclImpStream& rStrm )
{
- if( mxCurrField.is() )
+ if( mxCurrField )
mxCurrField->ReadSxvi( rStrm );
}
void XclImpPivotTable::ReadSxvdex( XclImpStream& rStrm )
{
- if( mxCurrField.is() )
+ if( mxCurrField )
mxCurrField->ReadSxvdex( rStrm );
}
diff --git a/sc/source/filter/excel/xiroot.cxx b/sc/source/filter/excel/xiroot.cxx
index 9a0b50e3a999..9180ed401b62 100644
--- a/sc/source/filter/excel/xiroot.cxx
+++ b/sc/source/filter/excel/xiroot.cxx
@@ -109,7 +109,7 @@ void XclImpRoot::SetAppFontEncoding( rtl_TextEncoding eAppFontEnc )
SetTextEncoding( eAppFontEnc );
}
-void XclImpRoot::InitializeTable( SCTAB /*nScTab*/ )
+void XclImpRoot::InitializeTable( SCTAB nScTab )
{
if( GetBiff() <= EXC_BIFF4 )
{
@@ -121,6 +121,8 @@ void XclImpRoot::InitializeTable( SCTAB /*nScTab*/ )
GetXFRangeBuffer().Initialize();
GetPageSettings().Initialize();
GetTabViewSettings().Initialize();
+ // delete the automatically generated codename
+ GetDoc().SetCodeName( nScTab, String::EmptyString() );
}
void XclImpRoot::FinalizeTable()
@@ -149,7 +151,7 @@ ExcelToSc& XclImpRoot::GetOldFmlaConverter() const
XclImpSst& XclImpRoot::GetSst() const
{
- DBG_ASSERT( mrImpData.mxSst.is(), "XclImpRoot::GetSst - invalid call, wrong BIFF" );
+ DBG_ASSERT( mrImpData.mxSst, "XclImpRoot::GetSst - invalid call, wrong BIFF" );
return *mrImpData.mxSst;
}
@@ -202,7 +204,7 @@ XclImpNameManager& XclImpRoot::GetNameManager() const
XclImpLinkManager& XclImpRoot::GetLinkManager() const
{
- DBG_ASSERT( mrImpData.mxLinkMgr.is(), "XclImpRoot::GetLinkManager - invalid call, wrong BIFF" );
+ DBG_ASSERT( mrImpData.mxLinkMgr, "XclImpRoot::GetLinkManager - invalid call, wrong BIFF" );
return *mrImpData.mxLinkMgr;
}
@@ -219,13 +221,13 @@ XclImpSheetDrawing& XclImpRoot::GetCurrSheetDrawing() const
XclImpCondFormatManager& XclImpRoot::GetCondFormatManager() const
{
- DBG_ASSERT( mrImpData.mxCondFmtMgr.is(), "XclImpRoot::GetCondFormatManager - invalid call, wrong BIFF" );
+ DBG_ASSERT( mrImpData.mxCondFmtMgr, "XclImpRoot::GetCondFormatManager - invalid call, wrong BIFF" );
return *mrImpData.mxCondFmtMgr;
}
XclImpValidationManager& XclImpRoot::GetValidationManager() const
{
- DBG_ASSERT( mrImpData.mxValidMgr.is(), "XclImpRoot::GetValidationManager - invalid call, wrong BIFF" );
+ DBG_ASSERT( mrImpData.mxValidMgr, "XclImpRoot::GetValidationManager - invalid call, wrong BIFF" );
return *mrImpData.mxValidMgr;
}
@@ -238,25 +240,25 @@ XclImpAutoFilterBuffer& XclImpRoot::GetFilterManager() const
XclImpWebQueryBuffer& XclImpRoot::GetWebQueryBuffer() const
{
- DBG_ASSERT( mrImpData.mxWebQueryBfr.is(), "XclImpRoot::GetWebQueryBuffer - invalid call, wrong BIFF" );
+ DBG_ASSERT( mrImpData.mxWebQueryBfr, "XclImpRoot::GetWebQueryBuffer - invalid call, wrong BIFF" );
return *mrImpData.mxWebQueryBfr;
}
XclImpPivotTableManager& XclImpRoot::GetPivotTableManager() const
{
- DBG_ASSERT( mrImpData.mxPTableMgr.is(), "XclImpRoot::GetPivotTableManager - invalid call, wrong BIFF" );
+ DBG_ASSERT( mrImpData.mxPTableMgr, "XclImpRoot::GetPivotTableManager - invalid call, wrong BIFF" );
return *mrImpData.mxPTableMgr;
}
XclImpSheetProtectBuffer& XclImpRoot::GetSheetProtectBuffer() const
{
- DBG_ASSERT( mrImpData.mxTabProtect.is(), "XclImpRoot::GetSheetProtectBuffer - invalid call, wrong BIFF" );
+ DBG_ASSERT( mrImpData.mxTabProtect, "XclImpRoot::GetSheetProtectBuffer - invalid call, wrong BIFF" );
return *mrImpData.mxTabProtect;
}
XclImpDocProtectBuffer& XclImpRoot::GetDocProtectBuffer() const
{
- DBG_ASSERT( mrImpData.mxDocProtect.is(), "XclImpRoot::GetDocProtectBuffer - invalid call, wrong BIFF" );
+ DBG_ASSERT( mrImpData.mxDocProtect, "XclImpRoot::GetDocProtectBuffer - invalid call, wrong BIFF" );
return *mrImpData.mxDocProtect;
}
diff --git a/sc/source/filter/excel/xistream.cxx b/sc/source/filter/excel/xistream.cxx
index 86dec6126200..74428a0d4314 100644
--- a/sc/source/filter/excel/xistream.cxx
+++ b/sc/source/filter/excel/xistream.cxx
@@ -442,14 +442,14 @@ void XclImpStream::SetDecrypter( XclImpDecrypterRef xDecrypter )
void XclImpStream::CopyDecrypterFrom( const XclImpStream& rStrm )
{
XclImpDecrypterRef xNewDecr;
- if( rStrm.mxDecrypter.is() )
+ if( rStrm.mxDecrypter )
xNewDecr = rStrm.mxDecrypter->Clone();
SetDecrypter( xNewDecr );
}
bool XclImpStream::HasValidDecrypter() const
{
- return mxDecrypter.is() && mxDecrypter->IsValid();
+ return mxDecrypter && mxDecrypter->IsValid();
}
void XclImpStream::EnableDecryption( bool bEnable )
@@ -998,7 +998,7 @@ bool XclImpStream::ReadNextRawRecHeader()
void XclImpStream::SetupDecrypter()
{
- if( mxDecrypter.is() )
+ if( mxDecrypter )
mxDecrypter->Update( mrStrm, mnRawRecSize );
}
diff --git a/sc/source/filter/excel/xistyle.cxx b/sc/source/filter/excel/xistyle.cxx
index 6693d6fe3936..7da454fca531 100644
--- a/sc/source/filter/excel/xistyle.cxx
+++ b/sc/source/filter/excel/xistyle.cxx
@@ -53,6 +53,7 @@
#include <editeng/eeitem.hxx>
#include <editeng/flstitem.hxx>
#include <editeng/justifyitem.hxx>
+#include <sal/macros.h>
#include "document.hxx"
#include "docpool.hxx"
#include "attrib.hxx"
@@ -516,7 +517,7 @@ XclImpFontBuffer::XclImpFontBuffer( const XclImpRoot& rRoot ) :
void XclImpFontBuffer::Initialize()
{
- maFontList.Clear();
+ maFontList.clear();
// application font for column width calculation, later filled with first font from font list
XclFontData aAppFontData;
@@ -529,18 +530,25 @@ void XclImpFontBuffer::Initialize()
const XclImpFont* XclImpFontBuffer::GetFont( sal_uInt16 nFontIndex ) const
{
/* Font with index 4 is not stored in an Excel file, but used e.g. by
- BIFF5 form pushbutton objects. It is the bold default font. */
- return (nFontIndex == 4) ? &maFont4 :
- maFontList.GetObject( (nFontIndex < 4) ? nFontIndex : (nFontIndex - 1) );
+ BIFF5 form pushbutton objects. It is the bold default font.
+ This also means that entries above 4 are out by one in the list. */
+
+ if (nFontIndex == 4)
+ return &maFont4;
+
+ if (nFontIndex >= maFontList.size())
+ return NULL;
+
+ return (nFontIndex < 4) ? &(maFontList[nFontIndex]) : &(maFontList[nFontIndex - 1]);
}
void XclImpFontBuffer::ReadFont( XclImpStream& rStrm )
{
XclImpFont* pFont = new XclImpFont( GetRoot() );
pFont->ReadFont( rStrm );
- maFontList.Append( pFont );
+ maFontList.push_back( pFont );
- if( maFontList.Count() == 1 )
+ if( maFontList.size() == 1 )
{
UpdateAppFont( pFont->GetFontData(), pFont->HasCharSet() );
// #i71033# set text encoding from application font, if CODEPAGE is missing
@@ -550,8 +558,8 @@ void XclImpFontBuffer::ReadFont( XclImpStream& rStrm )
void XclImpFontBuffer::ReadEfont( XclImpStream& rStrm )
{
- if( XclImpFont* pFont = maFontList.Last() )
- pFont->ReadEfont( rStrm );
+ if( !maFontList.empty() )
+ maFontList.back().ReadEfont( rStrm );
}
void XclImpFontBuffer::FillToItemSet(
@@ -880,31 +888,38 @@ bool XclImpCellBorder::HasAnyOuterBorder() const
namespace {
+// TODO: These values are approximate; we should probably tweak these values
+// further to better match Excel's border thickness.
+#define XLS_LINE_WIDTH_HAIR 1
+#define XLS_LINE_WIDTH_THIN 6
+#define XLS_LINE_WIDTH_MEDIUM 18
+#define XLS_LINE_WIDTH_THICK 24
+
/** Converts the passed line style to a SvxBorderLine, or returns false, if style is "no line". */
bool lclConvertBorderLine( SvxBorderLine& rLine, const XclImpPalette& rPalette, sal_uInt8 nXclLine, sal_uInt16 nXclColor )
{
static const sal_uInt16 ppnLineParam[][ 4 ] =
{
- // outer width, inner width, distance type
- { 0, 0, 0, SOLID }, // 0 = none
- { DEF_LINE_WIDTH_1, 0, 0, SOLID }, // 1 = thin
- { DEF_LINE_WIDTH_2, 0, 0, SOLID }, // 2 = medium
- { DEF_LINE_WIDTH_1, 0, 0, DASHED }, // 3 = dashed
- { DEF_LINE_WIDTH_1, 0, 0, DOTTED }, // 4 = dotted
- { DEF_LINE_WIDTH_3, 0, 0, SOLID }, // 5 = thick
- { DEF_LINE_WIDTH_1, DEF_LINE_WIDTH_1, DEF_LINE_WIDTH_1 }, // 6 = double
- { DEF_LINE_WIDTH_0, 0, 0, SOLID }, // 7 = hair
- { DEF_LINE_WIDTH_2, 0, 0, DASHED }, // 8 = med dash
- { DEF_LINE_WIDTH_1, 0, 0, SOLID }, // 9 = thin dashdot
- { DEF_LINE_WIDTH_2, 0, 0, SOLID }, // A = med dashdot
- { DEF_LINE_WIDTH_1, 0, 0, SOLID }, // B = thin dashdotdot
- { DEF_LINE_WIDTH_2, 0, 0, SOLID }, // C = med dashdotdot
- { DEF_LINE_WIDTH_2, 0, 0, SOLID } // D = med slant dashdot
+ // outer width, inner width, distance type
+ { 0, 0, 0, SOLID }, // 0 = none
+ { XLS_LINE_WIDTH_THIN, 0, 0, SOLID }, // 1 = thin
+ { XLS_LINE_WIDTH_MEDIUM, 0, 0, SOLID }, // 2 = medium
+ { XLS_LINE_WIDTH_THIN, 0, 0, DASHED }, // 3 = dashed
+ { XLS_LINE_WIDTH_THIN, 0, 0, DOTTED }, // 4 = dotted
+ { XLS_LINE_WIDTH_THICK, 0, 0, SOLID }, // 5 = thick
+ { XLS_LINE_WIDTH_THIN, XLS_LINE_WIDTH_THIN, XLS_LINE_WIDTH_THIN, SOLID }, // 6 = double
+ { XLS_LINE_WIDTH_HAIR, 0, 0, SOLID }, // 7 = hair
+ { XLS_LINE_WIDTH_MEDIUM, 0, 0, DASHED }, // 8 = med dash
+ { XLS_LINE_WIDTH_THIN, 0, 0, SOLID }, // 9 = thin dashdot
+ { XLS_LINE_WIDTH_MEDIUM, 0, 0, SOLID }, // A = med dashdot
+ { XLS_LINE_WIDTH_THIN, 0, 0, SOLID }, // B = thin dashdotdot
+ { XLS_LINE_WIDTH_MEDIUM, 0, 0, SOLID }, // C = med dashdotdot
+ { XLS_LINE_WIDTH_MEDIUM, 0, 0, SOLID } // D = med slant dashdot
};
if( nXclLine == EXC_LINE_NONE )
return false;
- if( nXclLine >= STATIC_TABLE_SIZE( ppnLineParam ) )
+ if( nXclLine >= SAL_N_ELEMENTS( ppnLineParam ) )
nXclLine = EXC_LINE_THIN;
rLine.SetColor( rPalette.GetColor( nXclColor ) );
@@ -1250,6 +1265,10 @@ const ScPatternAttr& XclImpXF::CreatePattern( bool bSkipPoolDefs )
ScfTools::PutItem( rItemSet, SvxRotateModeItem( eRotateMode, ATTR_ROTATE_MODE ), bSkipPoolDefs );
}
+ // Excel's cell margins are different from Calc's default margins.
+ SvxMarginItem aItem(40, 40, 40, 40, ATTR_MARGIN);
+ ScfTools::PutItem(rItemSet, aItem, bSkipPoolDefs);
+
return *mpPattern;
}
@@ -1294,7 +1313,16 @@ void XclImpXF::ApplyPatternToAttrList(
if (pPat)
{
+ // Check for a gap between the last entry and this one.
+ bool bHasGap = false;
+ if (rAttrs.empty() && nRow1 > 0)
+ // First attribute range doesn't start at row 0.
+ bHasGap = true;
+
if (!rAttrs.empty() && rAttrs.back().nRow + 1 < nRow1)
+ bHasGap = true;
+
+ if (bHasGap)
{
// Fill this gap with the default pattern.
ScAttrEntry aEntry;
@@ -1430,9 +1458,9 @@ XclImpXFBuffer::XclImpXFBuffer( const XclImpRoot& rRoot ) :
void XclImpXFBuffer::Initialize()
{
- maXFList.Clear();
- maBuiltinStyles.Clear();
- maUserStyles.Clear();
+ maXFList.clear();
+ maBuiltinStyles.clear();
+ maUserStyles.clear();
maStylesByXf.clear();
}
@@ -1440,14 +1468,14 @@ void XclImpXFBuffer::ReadXF( XclImpStream& rStrm )
{
XclImpXF* pXF = new XclImpXF( GetRoot() );
pXF->ReadXF( rStrm );
- maXFList.Append( pXF );
+ maXFList.push_back( pXF );
}
void XclImpXFBuffer::ReadStyle( XclImpStream& rStrm )
{
XclImpStyle* pStyle = new XclImpStyle( GetRoot() );
pStyle->ReadStyle( rStrm );
- (pStyle->IsBuiltin() ? maBuiltinStyles : maUserStyles).Append( pStyle );
+ (pStyle->IsBuiltin() ? maBuiltinStyles : maUserStyles).push_back( pStyle );
DBG_ASSERT( maStylesByXf.count( pStyle->GetXfId() ) == 0, "XclImpXFBuffer::ReadStyle - multiple styles with equal XF identifier" );
maStylesByXf[ pStyle->GetXfId() ] = pStyle;
}
@@ -1501,28 +1529,28 @@ void XclImpXFBuffer::CreateUserStyles()
/* Calculate names of built-in styles. Store styles with reserved names
in the aConflictNameStyles list. */
- for( XclImpStyle* pStyle = maBuiltinStyles.First(); pStyle; pStyle = maBuiltinStyles.Next() )
+ for( XclImpStyleList::iterator itStyle = maBuiltinStyles.begin(); itStyle != maBuiltinStyles.end(); ++itStyle )
{
- String aStyleName = XclTools::GetBuiltInStyleName( pStyle->GetBuiltinId(), pStyle->GetName(), pStyle->GetLevel() );
+ String aStyleName = XclTools::GetBuiltInStyleName( itStyle->GetBuiltinId(), itStyle->GetName(), itStyle->GetLevel() );
DBG_ASSERT( bReserveAll || (aCellStyles.count( aStyleName ) == 0),
"XclImpXFBuffer::CreateUserStyles - multiple styles with equal built-in identifier" );
if( aCellStyles.count( aStyleName ) > 0 )
- aConflictNameStyles.push_back( pStyle );
+ aConflictNameStyles.push_back( &(*itStyle) );
else
- aCellStyles[ aStyleName ] = pStyle;
+ aCellStyles[ aStyleName ] = &(*itStyle);
}
/* Calculate names of user defined styles. Store styles with reserved
names in the aConflictNameStyles list. */
- for( XclImpStyle* pStyle = maUserStyles.First(); pStyle; pStyle = maUserStyles.Next() )
+ for( XclImpStyleList::iterator itStyle = maUserStyles.begin(); itStyle != maUserStyles.end(); ++itStyle )
{
// #i1624# #i1768# ignore unnamed user styles
- if( pStyle->GetName().Len() > 0 )
+ if( itStyle->GetName().Len() > 0 )
{
- if( aCellStyles.count( pStyle->GetName() ) > 0 )
- aConflictNameStyles.push_back( pStyle );
+ if( aCellStyles.count( itStyle->GetName() ) > 0 )
+ aConflictNameStyles.push_back( &(*itStyle) );
else
- aCellStyles[ pStyle->GetName() ] = pStyle;
+ aCellStyles[ itStyle->GetName() ] = &(*itStyle);
}
}
@@ -1592,10 +1620,10 @@ void XclImpXFRangeColumn::SetDefaultXF( const XclImpXFIndex& rXFIndex )
{
// List should be empty when inserting the default column format.
// Later explicit SetXF() calls will break up this range.
- DBG_ASSERT( maIndexList.Empty(), "XclImpXFRangeColumn::SetDefaultXF - Setting Default Column XF is not empty" );
+ DBG_ASSERT( maIndexList.empty(), "XclImpXFRangeColumn::SetDefaultXF - Setting Default Column XF is not empty" );
// insert a complete row range with one insert.
- maIndexList.Append( new XclImpXFRange( 0, MAXROW, rXFIndex ) );
+ maIndexList.push_back( new XclImpXFRange( 0, MAXROW, rXFIndex ) );
}
// ----------------------------------------------------------------------------
@@ -1621,7 +1649,7 @@ void XclImpXFRangeColumn::SetXF( SCROW nScRow, const XclImpXFIndex& rXFIndex )
SCROW nLastScRow = pPrevRange->mnScRow2;
ULONG nIndex = nNextIndex - 1;
XclImpXFRange* pThisRange = pPrevRange;
- pPrevRange = nIndex ? maIndexList.GetObject( nIndex - 1 ) : 0;
+ pPrevRange = (nIndex > 0 && nIndex <= maIndexList.size()) ? &(maIndexList[ nIndex - 1 ]) : 0;
if( nFirstScRow == nLastScRow ) // replace solely XF
{
@@ -1634,20 +1662,20 @@ void XclImpXFRangeColumn::SetXF( SCROW nScRow, const XclImpXFIndex& rXFIndex )
++(pThisRange->mnScRow1);
// try to concatenate with previous of this
if( !pPrevRange || !pPrevRange->Expand( nScRow, rXFIndex ) )
- maIndexList.Insert( new XclImpXFRange( nScRow, rXFIndex ), nIndex );
+ Insert( new XclImpXFRange( nScRow, rXFIndex ), nIndex );
}
else if( nLastScRow == nScRow ) // replace last XF
{
--(pThisRange->mnScRow2);
if( !pNextRange || !pNextRange->Expand( nScRow, rXFIndex ) )
- maIndexList.Insert( new XclImpXFRange( nScRow, rXFIndex ), nNextIndex );
+ Insert( new XclImpXFRange( nScRow, rXFIndex ), nNextIndex );
}
else // insert in the middle of the range
{
pThisRange->mnScRow1 = nScRow + 1;
// List::Insert() moves entries towards end of list, so insert twice at nIndex
- maIndexList.Insert( new XclImpXFRange( nScRow, rXFIndex ), nIndex );
- maIndexList.Insert( new XclImpXFRange( nFirstScRow, nScRow - 1, pThisRange->maXFIndex ), nIndex );
+ Insert( new XclImpXFRange( nScRow, rXFIndex ), nIndex );
+ Insert( new XclImpXFRange( nFirstScRow, nScRow - 1, pThisRange->maXFIndex ), nIndex );
}
return;
}
@@ -1663,24 +1691,29 @@ void XclImpXFRangeColumn::SetXF( SCROW nScRow, const XclImpXFIndex& rXFIndex )
return;
// create new range
- maIndexList.Insert( new XclImpXFRange( nScRow, rXFIndex ), nNextIndex );
+ Insert( new XclImpXFRange( nScRow, rXFIndex ), nNextIndex );
+}
+
+void XclImpXFRangeColumn::Insert(XclImpXFRange* pXFRange, ULONG nIndex)
+{
+ maIndexList.insert( maIndexList.begin() + nIndex, pXFRange );
}
void XclImpXFRangeColumn::Find(
XclImpXFRange*& rpPrevRange, XclImpXFRange*& rpNextRange,
- ULONG& rnNextIndex, SCROW nScRow ) const
+ ULONG& rnNextIndex, SCROW nScRow )
{
// test whether list is empty
- if( maIndexList.Empty() )
+ if( maIndexList.empty() )
{
rpPrevRange = rpNextRange = 0;
rnNextIndex = 0;
return;
}
- rpPrevRange = maIndexList.GetObject( 0 );
- rpNextRange = maIndexList.GetObject( maIndexList.Count() - 1 );
+ rpPrevRange = &maIndexList.front();
+ rpNextRange = &maIndexList.back();
// test whether row is at end of list (contained in or behind last range)
// rpPrevRange will contain a possible existing row
@@ -1688,7 +1721,7 @@ void XclImpXFRangeColumn::Find(
{
rpPrevRange = rpNextRange;
rpNextRange = 0;
- rnNextIndex = maIndexList.Count();
+ rnNextIndex = maIndexList.size();
return;
}
@@ -1706,12 +1739,12 @@ void XclImpXFRangeColumn::Find(
// if rpPrevRange contains nScRow (rpNextRange will never contain nScRow)
ULONG nPrevIndex = 0;
ULONG nMidIndex;
- rnNextIndex = maIndexList.Count() - 1;
+ rnNextIndex = maIndexList.size() - 1;
XclImpXFRange* pMidRange;
while( ((rnNextIndex - nPrevIndex) > 1) && (rpPrevRange->mnScRow2 < nScRow) )
{
nMidIndex = (nPrevIndex + rnNextIndex) / 2;
- pMidRange = maIndexList.GetObject( nMidIndex );
+ pMidRange = &maIndexList[nMidIndex];
DBG_ASSERT( pMidRange, "XclImpXFRangeColumn::Find - missing XF index range" );
if( nScRow < pMidRange->mnScRow1 ) // row is really before pMidRange
{
@@ -1729,22 +1762,20 @@ void XclImpXFRangeColumn::Find(
if( nScRow <= rpPrevRange->mnScRow2 )
{
rnNextIndex = nPrevIndex + 1;
- rpNextRange = maIndexList.GetObject( rnNextIndex );
+ rpNextRange = &maIndexList[rnNextIndex];
}
}
void XclImpXFRangeColumn::TryConcatPrev( ULONG nIndex )
{
- if( !nIndex )
+ if( !nIndex || nIndex >= maIndexList.size() )
return;
- XclImpXFRange* pPrevRange = maIndexList.GetObject( nIndex - 1 );
- XclImpXFRange* pNextRange = maIndexList.GetObject( nIndex );
- if( !pPrevRange || !pNextRange )
- return;
+ XclImpXFRange& prevRange = maIndexList[ nIndex - 1 ];
+ XclImpXFRange& nextRange = maIndexList[ nIndex ];
- if( pPrevRange->Expand( *pNextRange ) )
- maIndexList.Delete( nIndex );
+ if( prevRange.Expand( nextRange ) )
+ maIndexList.erase( maIndexList.begin() + nIndex );
}
// ----------------------------------------------------------------------------
@@ -1787,10 +1818,15 @@ void XclImpXFRangeBuffer::SetXF( const ScAddress& rScPos, sal_uInt16 nXFIndex, X
if( pXF && ((pXF->GetHorAlign() == EXC_XF_HOR_CENTER_AS) || (pXF->GetHorAlign() == EXC_XF_HOR_FILL)) )
{
// expand last merged range if this attribute is set repeatedly
- ScRange* pRange = maMergeList.Last();
- if( pRange && (pRange->aEnd.Row() == nScRow) && (pRange->aEnd.Col() + 1 == nScCol)
- && (eMode == xlXFModeBlank) )
- pRange->aEnd.IncCol();
+ if ( !maMergeList.empty() )
+ {
+ ScRange* pRange = maMergeList.back();
+ if( (pRange->aEnd.Row() == nScRow)
+ && (pRange->aEnd.Col() + 1 == nScCol)
+ && (eMode == xlXFModeBlank)
+ )
+ pRange->aEnd.IncCol();
+ }
else if( eMode != xlXFModeBlank ) // #108781# do not merge empty cells
SetMerge( nScCol, nScRow );
}
@@ -1871,14 +1907,17 @@ void XclImpXFRangeBuffer::Finalize()
for( XclImpXFRangeColumnVec::const_iterator aVBeg = maColumns.begin(), aVEnd = maColumns.end(), aVIt = aVBeg; aVIt != aVEnd; ++aVIt )
{
// apply all cell styles of an existing column
- if( aVIt->is() )
+ if( aVIt->get() )
{
XclImpXFRangeColumn& rColumn = **aVIt;
SCCOL nScCol = static_cast< SCCOL >( aVIt - aVBeg );
list<ScAttrEntry> aAttrs;
- for( XclImpXFRange* pStyle = rColumn.First(); pStyle; pStyle = rColumn.Next() )
+
+ for (XclImpXFRangeColumn::IndexList::iterator itr = rColumn.begin(), itrEnd = rColumn.end();
+ itr != itrEnd; ++itr)
{
- const XclImpXFIndex& rXFIndex = pStyle->maXFIndex;
+ XclImpXFRange& rStyle = *itr;
+ const XclImpXFIndex& rXFIndex = rStyle.maXFIndex;
XclImpXF* pXF = rXFBuffer.GetXF( rXFIndex.GetXFIndex() );
if (!pXF)
continue;
@@ -1886,7 +1925,7 @@ void XclImpXFRangeBuffer::Finalize()
sal_uInt32 nForceScNumFmt = rXFIndex.IsBoolCell() ?
GetNumFmtBuffer().GetStdScNumFmt() : NUMBERFORMAT_ENTRY_NOT_FOUND;
- pXF->ApplyPatternToAttrList(aAttrs, pStyle->mnScRow1, pStyle->mnScRow2, nForceScNumFmt);
+ pXF->ApplyPatternToAttrList(aAttrs, rStyle.mnScRow1, rStyle.mnScRow2, nForceScNumFmt);
}
if (aAttrs.empty() || aAttrs.back().nRow != MAXROW)
@@ -1912,8 +1951,9 @@ void XclImpXFRangeBuffer::Finalize()
XclImpHyperlink::InsertUrl( GetRoot(), aLIt->first, aLIt->second );
// apply cell merging
- for( const ScRange* pRange = maMergeList.First(); pRange; pRange = maMergeList.Next() )
+ for ( size_t i = 0, nRange = maMergeList.size(); i < nRange; ++i )
{
+ const ScRange* pRange = maMergeList[ i ];
const ScAddress& rStart = pRange->aStart;
const ScAddress& rEnd = pRange->aEnd;
bool bMultiCol = rStart.Col() != rEnd.Col();
diff --git a/sc/source/filter/excel/xlchart.cxx b/sc/source/filter/excel/xlchart.cxx
index 34d011ed3d6a..8fcace686292 100644
--- a/sc/source/filter/excel/xlchart.cxx
+++ b/sc/source/filter/excel/xlchart.cxx
@@ -47,6 +47,7 @@
#include <com/sun/star/chart/XSecondAxisTitleSupplier.hpp>
#include <com/sun/star/chart2/Symbol.hpp>
+#include <sal/macros.h>
#include <rtl/math.hxx>
#include <svl/itemset.hxx>
#include <svx/xfillit0.hxx>
@@ -405,7 +406,7 @@ sal_uInt16 XclChartHelper::GetSeriesLineAutoColorIdx( sal_uInt16 nFormatIdx )
17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 63
};
- return spnLineColors[ nFormatIdx % STATIC_TABLE_SIZE( spnLineColors ) ];
+ return spnLineColors[ nFormatIdx % SAL_N_ELEMENTS( spnLineColors ) ];
}
sal_uInt16 XclChartHelper::GetSeriesFillAutoColorIdx( sal_uInt16 nFormatIdx )
@@ -420,13 +421,13 @@ sal_uInt16 XclChartHelper::GetSeriesFillAutoColorIdx( sal_uInt16 nFormatIdx )
8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23
};
- return spnFillColors[ nFormatIdx % STATIC_TABLE_SIZE( spnFillColors ) ];
+ return spnFillColors[ nFormatIdx % SAL_N_ELEMENTS( spnFillColors ) ];
}
sal_uInt8 XclChartHelper::GetSeriesFillAutoTransp( sal_uInt16 nFormatIdx )
{
static const sal_uInt8 spnTrans[] = { 0x00, 0x40, 0x20, 0x60, 0x70 };
- return spnTrans[ (nFormatIdx / 56) % STATIC_TABLE_SIZE( spnTrans ) ];
+ return spnTrans[ (nFormatIdx / 56) % SAL_N_ELEMENTS( spnTrans ) ];
}
sal_uInt16 XclChartHelper::GetAutoMarkerType( sal_uInt16 nFormatIdx )
@@ -435,14 +436,14 @@ sal_uInt16 XclChartHelper::GetAutoMarkerType( sal_uInt16 nFormatIdx )
EXC_CHMARKERFORMAT_DIAMOND, EXC_CHMARKERFORMAT_SQUARE, EXC_CHMARKERFORMAT_TRIANGLE,
EXC_CHMARKERFORMAT_CROSS, EXC_CHMARKERFORMAT_STAR, EXC_CHMARKERFORMAT_CIRCLE,
EXC_CHMARKERFORMAT_PLUS, EXC_CHMARKERFORMAT_DOWJ, EXC_CHMARKERFORMAT_STDDEV };
- return spnSymbols[ nFormatIdx % STATIC_TABLE_SIZE( spnSymbols ) ];
+ return spnSymbols[ nFormatIdx % SAL_N_ELEMENTS( spnSymbols ) ];
}
bool XclChartHelper::HasMarkerFillColor( sal_uInt16 nMarkerType )
{
static const bool spbFilled[] = {
false, true, true, true, false, false, false, false, true, false };
- return (nMarkerType < STATIC_TABLE_SIZE( spbFilled )) && spbFilled[ nMarkerType ];
+ return (nMarkerType < SAL_N_ELEMENTS( spbFilled )) && spbFilled[ nMarkerType ];
}
OUString XclChartHelper::GetErrorBarValuesRole( sal_uInt8 nBarType )
@@ -1054,7 +1055,7 @@ void XclChPropSetHelper::WriteEscherProperties( ScfPropertySet& rPropSet,
const XclChEscherFormat& rEscherFmt, const XclChPicFormat& rPicFmt,
XclChPropertyMode ePropMode )
{
- if( rEscherFmt.mxItemSet.is() )
+ if( rEscherFmt.mxItemSet )
{
if( const XFillStyleItem* pStyleItem = static_cast< const XFillStyleItem* >( rEscherFmt.mxItemSet->GetItem( XATTR_FILLSTYLE, FALSE ) ) )
{
diff --git a/sc/source/filter/excel/xlformula.cxx b/sc/source/filter/excel/xlformula.cxx
index 04e428c3de7d..b5710123ebd8 100644
--- a/sc/source/filter/excel/xlformula.cxx
+++ b/sc/source/filter/excel/xlformula.cxx
@@ -563,7 +563,7 @@ XclExpStream& operator<<( XclExpStream& rStrm, const XclTokenArray& rTokArr )
XclExpStream& operator<<( XclExpStream& rStrm, const XclTokenArrayRef& rxTokArr )
{
- if( rxTokArr.is() )
+ if( rxTokArr )
rxTokArr->Write( rStrm );
else
rStrm << sal_uInt16( 0 );
diff --git a/sc/source/filter/excel/xlpage.cxx b/sc/source/filter/excel/xlpage.cxx
index 53cdd0550081..1fd4d155f5c4 100644
--- a/sc/source/filter/excel/xlpage.cxx
+++ b/sc/source/filter/excel/xlpage.cxx
@@ -33,6 +33,7 @@
#include <editeng/svxenum.hxx>
#include <editeng/paperinf.hxx>
#include <vcl/svapp.hxx>
+#include <sal/macros.h>
#include "scitems.hxx"
#include <editeng/brshitem.hxx>
#include "global.hxx"
@@ -209,7 +210,7 @@ void XclPageData::SetDefaults()
Size XclPageData::GetScPaperSize() const
{
const XclPaperSize* pEntry = pPaperSizeTable;
- if( mnPaperSize < STATIC_TABLE_SIZE( pPaperSizeTable ) )
+ if( mnPaperSize < SAL_N_ELEMENTS( pPaperSizeTable ) )
pEntry += mnPaperSize;
Size aSize;
diff --git a/sc/source/filter/excel/xlroot.cxx b/sc/source/filter/excel/xlroot.cxx
index fbca2c85918a..5d439a249bc1 100644
--- a/sc/source/filter/excel/xlroot.cxx
+++ b/sc/source/filter/excel/xlroot.cxx
@@ -178,8 +178,9 @@ XclRoot::XclRoot( XclRootData& rRootData ) :
// filter tracer
// do not use CREATE_OUSTRING for conditional expression
- mrData.mxTracer.reset( new XclTracer( GetDocUrl(), OUString::createFromAscii(
- IsExport() ? "Office.Tracing/Export/Excel" : "Office.Tracing/Import/Excel" ) ) );
+ mrData.mxTracer.reset( new XclTracer( GetDocUrl(), IsExport() ?
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Office.Tracing/Export/Excel"))
+ : OUString(RTL_CONSTASCII_USTRINGPARAM("Office.Tracing/Import/Excel" )) ) );
}
XclRoot::XclRoot( const XclRoot& rRoot ) :
diff --git a/sc/source/filter/excel/xlstyle.cxx b/sc/source/filter/excel/xlstyle.cxx
index cb95fd1658ed..83f19f994ce8 100644
--- a/sc/source/filter/excel/xlstyle.cxx
+++ b/sc/source/filter/excel/xlstyle.cxx
@@ -36,6 +36,7 @@
#include <com/sun/star/i18n/ScriptType.hpp>
#include <vcl/svapp.hxx>
#include <vcl/font.hxx>
+#include <sal/macros.h>
#include <rtl/tencinfo.h>
#include <toolkit/unohlp.hxx>
#include <editeng/svxfont.hxx>
@@ -112,20 +113,20 @@ XclDefaultPalette::XclDefaultPalette( const XclRoot& rRoot ) :
{
case EXC_BIFF2:
mpnColorTable = spnDefColorTable2;
- mnTableSize = STATIC_TABLE_SIZE( spnDefColorTable2 );
+ mnTableSize = SAL_N_ELEMENTS( spnDefColorTable2 );
break;
case EXC_BIFF3:
case EXC_BIFF4:
mpnColorTable = spnDefColorTable3;
- mnTableSize = STATIC_TABLE_SIZE( spnDefColorTable3 );
+ mnTableSize = SAL_N_ELEMENTS( spnDefColorTable3 );
break;
case EXC_BIFF5:
mpnColorTable = spnDefColorTable5;
- mnTableSize = STATIC_TABLE_SIZE( spnDefColorTable5 );
+ mnTableSize = SAL_N_ELEMENTS( spnDefColorTable5 );
break;
case EXC_BIFF8:
mpnColorTable = spnDefColorTable8;
- mnTableSize = STATIC_TABLE_SIZE( spnDefColorTable8 );
+ mnTableSize = SAL_N_ELEMENTS( spnDefColorTable8 );
break;
default:
DBG_ERROR_BIFF();
diff --git a/sc/source/filter/excel/xltoolbar.cxx b/sc/source/filter/excel/xltoolbar.cxx
index 0f0d985a3cf6..ebb6dabd4a17 100644
--- a/sc/source/filter/excel/xltoolbar.cxx
+++ b/sc/source/filter/excel/xltoolbar.cxx
@@ -257,21 +257,6 @@ bool TBC::ImportToolBarControl( CTBWrapper& rWrapper, const css::uno::Reference<
if ( tbcd.get() )
{
std::vector< css::beans::PropertyValue > props;
-/*
- if ( bBuiltin )
- {
- rtl::OUString sCommand = helper.MSOCommandToOOCommand( cmdId );
- if ( sCommand.getLength() > 0 )
- {
- beans::PropertyValue aProp;
-
- aProp.Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("CommandURL") );
- aProp.Value <<= sCommand;
- props.push_back( aProp );
- }
-
- }
-*/
bool bBeginGroup = false;
if ( ! tbcd->ImportToolBarControl( helper, props, bBeginGroup, bIsMenuToolbar ) )
return false;
diff --git a/sc/source/filter/excel/xltools.cxx b/sc/source/filter/excel/xltools.cxx
index 5ee9429ebac7..f4b79daa7e66 100644
--- a/sc/source/filter/excel/xltools.cxx
+++ b/sc/source/filter/excel/xltools.cxx
@@ -34,6 +34,7 @@
#include <sal/mathconf.h>
#include <unotools/fontcvt.hxx>
#include <sfx2/objsh.hxx>
+#include <sal/macros.h>
#include <editeng/editstat.hxx>
#include <filter/msfilter/msvbahelper.hxx>
#include "xestream.hxx"
@@ -358,7 +359,7 @@ Color XclTools::GetPatternColor( const Color& rPattColor, const Color& rBackColo
0x40, 0x40, 0x20, 0x60, 0x60, 0x60, 0x60, 0x48, // 08 - 15
0x50, 0x70, 0x78 // 16 - 18
};
- return (nXclPattern < STATIC_TABLE_SIZE( pnRatioTable )) ?
+ return (nXclPattern < SAL_N_ELEMENTS( pnRatioTable )) ?
ScfTools::GetMixedColor( rPattColor, rBackColor, pnRatioTable[ nXclPattern ] ) : rPattColor;
}
@@ -488,10 +489,10 @@ static const sal_Char* const ppcDefNames[] =
String XclTools::GetXclBuiltInDefName( sal_Unicode cBuiltIn )
{
- DBG_ASSERT( STATIC_TABLE_SIZE( ppcDefNames ) == EXC_BUILTIN_UNKNOWN,
+ DBG_ASSERT( SAL_N_ELEMENTS( ppcDefNames ) == EXC_BUILTIN_UNKNOWN,
"XclTools::GetXclBuiltInDefName - built-in defined name list modified" );
String aDefName;
- if( cBuiltIn < STATIC_TABLE_SIZE( ppcDefNames ) )
+ if( cBuiltIn < SAL_N_ELEMENTS( ppcDefNames ) )
aDefName.AssignAscii( ppcDefNames[ cBuiltIn ] );
else
aDefName = String::CreateFromInt32( cBuiltIn );
@@ -555,7 +556,7 @@ String XclTools::GetBuiltInStyleName( sal_uInt8 nStyleId, const String& rName, s
else
{
aStyleName = maStyleNamePrefix1;
- if( nStyleId < STATIC_TABLE_SIZE( ppcStyleNames ) )
+ if( nStyleId < SAL_N_ELEMENTS( ppcStyleNames ) )
aStyleName.AppendAscii( ppcStyleNames[ nStyleId ] );
else if( rName.Len() > 0 )
aStyleName.Append( rName );
@@ -595,7 +596,7 @@ bool XclTools::IsBuiltInStyleName( const String& rStyleName, sal_uInt8* pnStyleI
if( nPrefixLen > 0 )
{
String aShortName;
- for( sal_uInt8 nId = 0; nId < STATIC_TABLE_SIZE( ppcStyleNames ); ++nId )
+ for( sal_uInt8 nId = 0; nId < SAL_N_ELEMENTS( ppcStyleNames ); ++nId )
{
if( nId != EXC_STYLE_NORMAL )
{
diff --git a/sc/source/filter/ftools/fprogressbar.cxx b/sc/source/filter/ftools/fprogressbar.cxx
index 533891b0d6fc..418ea656ebda 100644
--- a/sc/source/filter/ftools/fprogressbar.cxx
+++ b/sc/source/filter/ftools/fprogressbar.cxx
@@ -80,12 +80,11 @@ void ScfProgressBar::Init( SfxObjectShell* pDocShell )
mbInProgress = false;
}
-ScfProgressBar::ScfProgressSegment* ScfProgressBar::GetSegment( sal_Int32 nSegment ) const
+ScfProgressBar::ScfProgressSegment* ScfProgressBar::GetSegment( sal_Int32 nSegment )
{
if( nSegment < 0 )
return 0;
- DBG_ASSERT( maSegments.GetObject( nSegment ), "ScfProgressBar::GetSegment - invalid segment index" );
- return maSegments.GetObject( nSegment );
+ return &(maSegments.at( nSegment ));
}
void ScfProgressBar::SetCurrSegment( ScfProgressSegment* pSegment )
@@ -155,9 +154,9 @@ sal_Int32 ScfProgressBar::AddSegment( sal_Size nSize )
if( nSize == 0 )
return SCF_INV_SEGMENT;
- maSegments.Append( new ScfProgressSegment( nSize ) );
+ maSegments.push_back( new ScfProgressSegment( nSize ) );
mnTotalSize += nSize;
- return static_cast< sal_Int32 >( maSegments.Count() - 1 );
+ return static_cast< sal_Int32 >( maSegments.size() - 1 );
}
ScfProgressBar& ScfProgressBar::GetSegmentProgressBar( sal_Int32 nSegment )
diff --git a/sc/source/filter/ftools/makefile.mk b/sc/source/filter/ftools/makefile.mk
index d37e74a133a0..39c6984d5198 100644
--- a/sc/source/filter/ftools/makefile.mk
+++ b/sc/source/filter/ftools/makefile.mk
@@ -43,13 +43,13 @@ PROJECTPCHSOURCE=..\pch\filt_pch
# --- Files --------------------------------------------------------
SLOFILES = \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES = \
$(SLO)$/fapihelper.obj \
$(SLO)$/fprogressbar.obj \
$(SLO)$/ftools.obj
-EXCEPTIONSFILES = \
- $(SLO)$/fapihelper.obj
-
# --- Targets -------------------------------------------------------
.INCLUDE : target.mk
diff --git a/sc/source/filter/html/htmlexp.cxx b/sc/source/filter/html/htmlexp.cxx
index 3b656448af39..33acd0f79e83 100644
--- a/sc/source/filter/html/htmlexp.cxx
+++ b/sc/source/filter/html/htmlexp.cxx
@@ -105,12 +105,12 @@
//========================================================================
-const static sal_Char __FAR_DATA sMyBegComment[] = "<!-- ";
-const static sal_Char __FAR_DATA sMyEndComment[] = " -->";
-const static sal_Char __FAR_DATA sFontFamily[] = "font-family:";
-const static sal_Char __FAR_DATA sFontSize[] = "font-size:";
+const static sal_Char sMyBegComment[] = "<!-- ";
+const static sal_Char sMyEndComment[] = " -->";
+const static sal_Char sFontFamily[] = "font-family:";
+const static sal_Char sFontSize[] = "font-size:";
-const USHORT __FAR_DATA ScHTMLExport::nDefaultFontSize[SC_HTML_FONTSIZES] =
+const USHORT ScHTMLExport::nDefaultFontSize[SC_HTML_FONTSIZES] =
{
HTMLFONTSZ1_DFLT, HTMLFONTSZ2_DFLT, HTMLFONTSZ3_DFLT, HTMLFONTSZ4_DFLT,
HTMLFONTSZ5_DFLT, HTMLFONTSZ6_DFLT, HTMLFONTSZ7_DFLT
@@ -118,13 +118,13 @@ const USHORT __FAR_DATA ScHTMLExport::nDefaultFontSize[SC_HTML_FONTSIZES] =
USHORT ScHTMLExport::nFontSize[SC_HTML_FONTSIZES] = { 0 };
-const char* __FAR_DATA ScHTMLExport::pFontSizeCss[SC_HTML_FONTSIZES] =
+const char* ScHTMLExport::pFontSizeCss[SC_HTML_FONTSIZES] =
{
"xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large"
};
const USHORT ScHTMLExport::nCellSpacing = 0;
-const sal_Char __FAR_DATA ScHTMLExport::sIndentSource[nIndentMax+1] =
+const sal_Char ScHTMLExport::sIndentSource[nIndentMax+1] =
"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
//========================================================================
@@ -214,26 +214,6 @@ void lcl_AppendHTMLColorTripel( ByteString& rStr, const Color& rColor )
rStr += '\"';
}
-
-/*void lcl_TagOn( String& rResult, const String& rTag, const String* pStrOpt )
-{
- rResult = '<';
- rResult += rTag;
- if ( pStrOpt )
- {
- rResult += ' ';
- rResult += *pStrOpt;
- }
- rResult += '>';
-}
-*/
-
-/*void lcl_TagOff( String& rResult, const String& rTag )
-{
- rResult = '<'; rResult += rTag; rResult += '>';
-}
-*/
-
//////////////////////////////////////////////////////////////////////////////
ScHTMLExport::ScHTMLExport( SvStream& rStrmP, const String& rBaseURL, ScDocument* pDocP,
@@ -293,8 +273,7 @@ ScHTMLExport::ScHTMLExport( SvStream& rStrmP, const String& rBaseURL, ScDocument
ScHTMLExport::~ScHTMLExport()
{
- for ( ScHTMLGraphEntry* pE = aGraphList.First(); pE; pE = aGraphList.Next() )
- delete pE;
+ aGraphList.clear();
delete pSrcArr;
delete pDestArr;
}
@@ -705,7 +684,6 @@ void ScHTMLExport::WriteTables()
// <TABLE ...>
ByteString aByteStrOut = OOO_STRING_SVTOOLS_HTML_table;
-// aStrOut = OOO_STRING_SVTOOLS_HTML_table;
// FRAME=VOID, we do the styling of the cells in <TD>
(((aByteStrOut += ' ') += OOO_STRING_SVTOOLS_HTML_frame) += '=') += OOO_STRING_SVTOOLS_HTML_TF_void;
@@ -798,13 +776,14 @@ void ScHTMLExport::WriteTables()
if ( bTabHasGraphics )
{
// the rest that is not in a cell
- for ( ScHTMLGraphEntry* pE = aGraphList.First(); pE; pE = aGraphList.Next() )
+ size_t ListSize = aGraphList.size();
+ for ( size_t i = 0; i < ListSize; ++i )
{
+ ScHTMLGraphEntry* pE = &aGraphList[ i ];
if ( !pE->bWritten )
WriteGraphEntry( pE );
- delete pE;
}
- aGraphList.Clear();
+ aGraphList.clear();
if ( bTabAlignedLeft )
{ // clear <TABLE ALIGN=LEFT> with <BR CLEAR=LEFT>
aByteStrOut = OOO_STRING_SVTOOLS_HTML_linebreak;
@@ -832,9 +811,10 @@ void ScHTMLExport::WriteCell( SCCOL nCol, SCROW nRow, SCTAB nTab )
ScHTMLGraphEntry* pGraphEntry = NULL;
if ( bTabHasGraphics )
{
- for ( pGraphEntry = aGraphList.First(); pGraphEntry;
- pGraphEntry = aGraphList.Next() )
+ size_t ListSize = aGraphList.size();
+ for ( size_t i = 0; i < ListSize; ++i )
{
+ pGraphEntry = &aGraphList[ i ];
if ( pGraphEntry->bInCell && pGraphEntry->aRange.In( aPos ) )
{
if ( pGraphEntry->aRange.aStart == aPos )
@@ -996,10 +976,10 @@ void ScHTMLExport::WriteCell( SCCOL nCol, SCROW nRow, SCTAB nTab )
break;
case SVX_HOR_JUSTIFY_CENTER: pChar = OOO_STRING_SVTOOLS_HTML_AL_center; break;
case SVX_HOR_JUSTIFY_BLOCK: pChar = OOO_STRING_SVTOOLS_HTML_AL_justify; break;
- case SVX_HOR_JUSTIFY_RIGHT: pChar = OOO_STRING_SVTOOLS_HTML_AL_right; break;
+ case SVX_HOR_JUSTIFY_RIGHT: pChar = OOO_STRING_SVTOOLS_HTML_AL_right; break;
case SVX_HOR_JUSTIFY_LEFT:
case SVX_HOR_JUSTIFY_REPEAT:
- default: pChar = OOO_STRING_SVTOOLS_HTML_AL_left; break;
+ default: pChar = OOO_STRING_SVTOOLS_HTML_AL_left; break;
}
(((aStrTD += ' ') += OOO_STRING_SVTOOLS_HTML_O_align) += '=') += pChar;
@@ -1278,9 +1258,6 @@ BOOL ScHTMLExport::CopyLocalFileToINet( String& rFileNm,
SfxMedium aMedium( *pDest, STREAM_WRITE | STREAM_SHARE_DENYNONE,
FALSE );
- // temp. File anlegen
- // aMedium.DownLoad();
-
{
SvFileStream aCpy( aMedium.GetPhysicalName(), STREAM_WRITE );
aCpy << aTmp;
diff --git a/sc/source/filter/html/htmlexp2.cxx b/sc/source/filter/html/htmlexp2.cxx
index c6299bda127a..ae072892e7d4 100644
--- a/sc/source/filter/html/htmlexp2.cxx
+++ b/sc/source/filter/html/htmlexp2.cxx
@@ -66,11 +66,11 @@ void ScHTMLExport::PrepareGraphics( ScDrawLayer* pDrawLayer, SCTAB nTab,
if ( pDrawPage )
{
bTabHasGraphics = TRUE;
- FillGraphList( pDrawPage, nTab,
- nStartCol, nStartRow, nEndCol, nEndRow );
- for ( ScHTMLGraphEntry* pE = aGraphList.First(); pE;
- pE = aGraphList.Next() )
+ FillGraphList( pDrawPage, nTab, nStartCol, nStartRow, nEndCol, nEndRow );
+ size_t ListSize = aGraphList.size();
+ for ( size_t i = 0; i < ListSize; ++i )
{
+ ScHTMLGraphEntry* pE = &aGraphList[ i ];
if ( !pE->bInCell )
{ // nicht alle in Zellen: einige neben Tabelle
bTabAlignedLeft = TRUE;
@@ -127,7 +127,7 @@ void ScHTMLExport::FillGraphList( const SdrPage* pPage, SCTAB nTab,
}
ScHTMLGraphEntry* pE = new ScHTMLGraphEntry( pObject,
aR, aSize, bInCell, aSpace );
- aGraphList.Insert( pE, LIST_APPEND );
+ aGraphList.push_back( pE );
}
pObject = aIter.Next();
}
diff --git a/sc/source/filter/html/htmlimp.cxx b/sc/source/filter/html/htmlimp.cxx
index 0c5e0ffd0b4c..90ece03f8646 100644
--- a/sc/source/filter/html/htmlimp.cxx
+++ b/sc/source/filter/html/htmlimp.cxx
@@ -150,8 +150,10 @@ void ScHTMLImport::WriteToDocument(
pGlobTable->ApplyCellBorders( mpDoc, maRange.aStart );
// correct cell borders for merged cells
- for ( ScEEParseEntry* pEntry = pParser->First(); pEntry; pEntry = pParser->Next() )
+ size_t ListSize = pParser->ListSize();
+ for ( size_t i = 0; i < ListSize; ++i )
{
+ const ScEEParseEntry* pEntry = pParser->ListEntry( i );
if( (pEntry->nColOverlap > 1) || (pEntry->nRowOverlap > 1) )
{
SCTAB nTab = maRange.aStart.Tab();
diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx
index e7caef029ed1..b6aac9b67b22 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -128,7 +128,16 @@ ScHTMLLayoutParser::~ScHTMLLayoutParser()
ScHTMLTableStackEntry* pS;
while ( (pS = aTableStack.Pop()) != 0 )
{
- if ( pList->GetPos( pS->pCellEntry ) == LIST_ENTRY_NOTFOUND )
+ bool found = false;
+ for ( size_t i = 0, nListSize = maList.size(); i < nListSize; ++i )
+ {
+ if ( pS->pCellEntry == maList[ i ] )
+ {
+ found = true;
+ break;
+ }
+ }
+ if ( !found )
delete pS->pCellEntry;
if ( pS->pLocalColOffset != pLocalColOffset )
delete pS->pLocalColOffset;
@@ -361,8 +370,9 @@ void ScHTMLLayoutParser::SkipLocked( ScEEParseEntry* pE, BOOL bJoin )
do
{
bAgain = FALSE;
- for ( ScRange* pR = xLockedList->First(); pR; pR = xLockedList->Next() )
+ for ( size_t i = 0, nRanges = xLockedList->size(); i < nRanges; ++i )
{
+ ScRange* pR = (*xLockedList)[i];
if ( pR->Intersects( aRange ) )
{
pE->nCol = pR->aEnd.Col() + 1;
@@ -387,9 +397,8 @@ void ScHTMLLayoutParser::SkipLocked( ScEEParseEntry* pE, BOOL bJoin )
void ScHTMLLayoutParser::Adjust()
{
- for ( ScRange* pR = xLockedList->First(); pR; pR = xLockedList->Next() )
- delete pR;
- xLockedList->Clear();
+ xLockedList->RemoveAll();
+
ScHTMLAdjustStack aStack;
ScHTMLAdjustStackEntry* pS;
USHORT nTab = 0;
@@ -398,8 +407,9 @@ void ScHTMLLayoutParser::Adjust()
SCROW nCurRow = 0;
USHORT nPageWidth = (USHORT) aPageSize.Width();
Table* pTab = NULL;
- for ( ScEEParseEntry* pE = pList->First(); pE; pE = pList->Next() )
+ for ( size_t i = 0, nListSize = maList.size(); i < nListSize; ++i )
{
+ ScEEParseEntry* pE = maList[ i ];
if ( pE->nTab < nTab )
{ // Table beendet
if ( (pS = aStack.Pop()) != 0 )
@@ -539,30 +549,29 @@ void ScHTMLLayoutParser::SetWidths()
MakeColNoRef( pLocalColOffset, nOff, 0, 0, 0 );
}
nTableWidth = (USHORT)((*pLocalColOffset)[pLocalColOffset->Count() -1 ] - (*pLocalColOffset)[0]);
- pE = pList->Seek( nFirstTableCell );
- while ( pE )
+ for ( size_t i = nFirstTableCell, nListSize = maList.size(); i < nListSize; ++i )
{
+ pE = maList[ i ];
if ( pE->nTab == nTable )
{
pE->nOffset = (USHORT) (*pLocalColOffset)[pE->nCol - nColCntStart];
pE->nWidth = 0; // to be recalculated later
}
- pE = pList->Next();
}
}
else
{ // einige mit einige ohne Width
- pE = pList->Seek( nFirstTableCell );
// #36350# wieso eigentlich kein pE ?!?
- if ( pE )
+ if ( nFirstTableCell < maList.size() )
{
USHORT* pOffsets = new USHORT[ nColsPerRow+1 ];
memset( pOffsets, 0, (nColsPerRow+1) * sizeof(USHORT) );
USHORT* pWidths = new USHORT[ nColsPerRow ];
memset( pWidths, 0, nColsPerRow * sizeof(USHORT) );
pOffsets[0] = nColOffsetStart;
- while ( pE )
+ for ( size_t i = nFirstTableCell, nListSize = maList.size(); i < nListSize; ++i )
{
+ pE = maList[ i ];
if ( pE->nTab == nTable && pE->nWidth )
{
nCol = pE->nCol - nColCntStart;
@@ -599,7 +608,6 @@ void ScHTMLLayoutParser::SetWidths()
}
}
}
- pE = pList->Next();
}
USHORT nWidths = 0;
USHORT nUnknown = 0;
@@ -632,9 +640,9 @@ void ScHTMLLayoutParser::SetWidths()
}
nTableWidth = pOffsets[nColsPerRow] - pOffsets[0];
- pE = pList->Seek( nFirstTableCell );
- while ( pE )
+ for ( size_t i = nFirstTableCell, nListSize = maList.size(); i < nListSize; ++i )
{
+ pE = maList[ i ];
if ( pE->nTab == nTable )
{
nCol = pE->nCol - nColCntStart;
@@ -648,7 +656,6 @@ void ScHTMLLayoutParser::SetWidths()
pE->nWidth = pOffsets[nCol] - pE->nOffset;
}
}
- pE = pList->Next();
}
delete [] pWidths;
@@ -661,9 +668,9 @@ void ScHTMLLayoutParser::SetWidths()
if ( aPageSize.Width() < nMax )
aPageSize.Width() = nMax;
}
- pE = pList->Seek( nFirstTableCell );
- while ( pE )
+ for ( size_t i = nFirstTableCell, nListSize = maList.size(); i < nListSize; ++i )
{
+ pE = maList[ i ];
if ( pE->nTab == nTable )
{
if ( !pE->nWidth )
@@ -673,7 +680,6 @@ void ScHTMLLayoutParser::SetWidths()
}
MakeCol( pColOffset, pE->nOffset, pE->nWidth, nOffsetTolerance, nOffsetTolerance );
}
- pE = pList->Next();
}
}
@@ -713,9 +719,18 @@ void ScHTMLLayoutParser::CloseEntry( ImportInfo* pInfo )
if ( bTabInTabCell )
{ // in TableOff vom Stack geholt
bTabInTabCell = FALSE;
- if ( pList->GetPos( pActEntry ) == LIST_ENTRY_NOTFOUND )
+ bool found = false;
+ for ( size_t i = 0, nListSize = maList.size(); i < nListSize; ++i )
+ {
+ if ( pActEntry == maList[ i ] )
+ {
+ found = true;
+ break;
+ }
+ }
+ if ( !found )
delete pActEntry;
- NewActEntry( pList->Last() ); // neuer freifliegender pActEntry
+ NewActEntry( maList.back() ); // neuer freifliegender pActEntry
return ;
}
if ( pActEntry->nTab == 0 )
@@ -745,7 +760,7 @@ void ScHTMLLayoutParser::CloseEntry( ImportInfo* pInfo )
}
if ( rSel.HasRange() )
pActEntry->aItemSet.Put( SfxBoolItem( ATTR_LINEBREAK, TRUE ) );
- pList->Insert( pActEntry, LIST_APPEND );
+ maList.push_back( pActEntry );
NewActEntry( pActEntry ); // neuer freifliegender pActEntry
}
@@ -1097,7 +1112,7 @@ void ScHTMLLayoutParser::TableOn( ImportInfo* pInfo )
nColOffsetStart = nColOffset;
}
- ScEEParseEntry* pE = pList->Last();
+ ScEEParseEntry* pE = maList.back();
NewActEntry( pE ); // neuer freifliegender pActEntry
xLockedList = new ScRangeList;
}
@@ -1144,7 +1159,7 @@ void ScHTMLLayoutParser::TableOn( ImportInfo* pInfo )
}
nTable = ++nMaxTable;
bFirstRow = TRUE;
- nFirstTableCell = pList->Count();
+ nFirstTableCell = maList.size();
pLocalColOffset = new ScHTMLColOffset;
MakeColNoRef( pLocalColOffset, nColOffsetStart, 0, 0, 0 );
@@ -1316,11 +1331,8 @@ void ScHTMLLayoutParser::TableOff( ImportInfo* pInfo )
void ScHTMLLayoutParser::Image( ImportInfo* pInfo )
{
- if ( !pActEntry->pImageList )
- pActEntry->pImageList = new ScHTMLImageList;
- ScHTMLImageList* pIL = pActEntry->pImageList;
ScHTMLImage* pImage = new ScHTMLImage;
- pIL->Insert( pImage, LIST_APPEND );
+ pActEntry->maImageList.push_back( pImage );
const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
USHORT nArrLen = pOptions->Count();
for ( USHORT i = 0; i < nArrLen; i++ )
@@ -1393,11 +1405,12 @@ void ScHTMLLayoutParser::Image( ImportInfo* pInfo )
pImage->aSize = pDefaultDev->LogicToPixel( pGraphic->GetPrefSize(),
pGraphic->GetPrefMapMode() );
}
- if ( pIL->Count() > 0 )
+ if ( pActEntry->maImageList.size() > 0 )
{
long nWidth = 0;
- for ( ScHTMLImage* pI = pIL->First(); pI; pI = pIL->Next() )
+ for ( sal_uInt32 i=0; i < pActEntry->maImageList.size(); ++i )
{
+ ScHTMLImage* pI = &pActEntry->maImageList[ i ];
if ( pI->nDir & nHorizontal )
nWidth += pI->aSize.Width() + 2 * pI->aSpace.X();
else
@@ -1406,7 +1419,7 @@ void ScHTMLLayoutParser::Image( ImportInfo* pInfo )
if ( pActEntry->nWidth
&& (nWidth + pImage->aSize.Width() + 2 * pImage->aSpace.X()
>= pActEntry->nWidth) )
- pIL->Last()->nDir = nVertical;
+ pActEntry->maImageList.back().nDir = nVertical;
}
}
@@ -1444,7 +1457,7 @@ USHORT ScHTMLLayoutParser::GetWidthPixel( const HTMLOption* pOption )
{
if ( rOptVal.Search('*') != STRING_NOTFOUND )
{ // relativ zu was?!?
-//2do: ColArray aller relativen Werte sammeln und dann MakeCol
+ //todo: ColArray aller relativen Werte sammeln und dann MakeCol
return 0;
}
else
@@ -1622,8 +1635,8 @@ void ScHTMLLayoutParser::ProcToken( ImportInfo* pInfo )
break;
case HTML_PARABREAK_OFF:
{ // nach einem Image geht es vertikal weiter
- if ( pActEntry->pImageList && pActEntry->pImageList->Count() > 0 )
- pActEntry->pImageList->Last()->nDir = nVertical;
+ if ( pActEntry->maImageList.size() > 0 )
+ pActEntry->maImageList.back().nDir = nVertical;
}
break;
case HTML_ANCHOR_ON:
@@ -1638,7 +1651,7 @@ void ScHTMLLayoutParser::ProcToken( ImportInfo* pInfo )
break;
case HTML_BIGPRINT_ON :
{
-//2do: aktuelle Fontgroesse merken und einen groesser
+ //tpdo: aktuelle Fontgroesse merken und einen groesser
if ( IsAtBeginningOfText( pInfo ) )
pActEntry->aItemSet.Put( SvxFontHeightItem(
maFontHeights[3], 100, ATTR_FONT_HEIGHT ) );
@@ -1646,7 +1659,7 @@ void ScHTMLLayoutParser::ProcToken( ImportInfo* pInfo )
break;
case HTML_SMALLPRINT_ON :
{
-//2do: aktuelle Fontgroesse merken und einen kleiner
+ //todo: aktuelle Fontgroesse merken und einen kleiner
if ( IsAtBeginningOfText( pInfo ) )
pActEntry->aItemSet.Put( SvxFontHeightItem(
maFontHeights[0], 100, ATTR_FONT_HEIGHT ) );
@@ -1866,7 +1879,8 @@ private:
// ----------------------------------------------------------------------------
ScHTMLTableMap::ScHTMLTableMap( ScHTMLTable& rParentTable ) :
- mrParentTable( rParentTable )
+ mrParentTable(rParentTable),
+ mpCurrTable(NULL)
{
}
@@ -1987,7 +2001,12 @@ ScHTMLTable::ScHTMLTable( ScHTMLTable& rParentTable, const ImportInfo& rInfo, bo
CreateNewEntry( rInfo );
}
-ScHTMLTable::ScHTMLTable( SfxItemPool& rPool, EditEngine& rEditEngine, ScEEParseList& rEEParseList, ScHTMLTableId& rnUnusedId ) :
+ScHTMLTable::ScHTMLTable(
+ SfxItemPool& rPool,
+ EditEngine& rEditEngine,
+ ::std::vector< ScEEParseEntry* >& rEEParseList,
+ ScHTMLTableId& rnUnusedId
+) :
mpParentTable( 0 ),
maTableId( rnUnusedId ),
maTableItemSet( rPool ),
@@ -2020,8 +2039,10 @@ const SfxItemSet& ScHTMLTable::GetCurrItemSet() const
ScHTMLSize ScHTMLTable::GetSpan( const ScHTMLPos& rCellPos ) const
{
ScHTMLSize aSpan( 1, 1 );
- ScRange* pRange = 0;
- if( ((pRange = maVMergedCells.Find( rCellPos.MakeAddr() )) != 0) || ((pRange = maHMergedCells.Find( rCellPos.MakeAddr() )) != 0) )
+ const ScRange* pRange = NULL;
+ if( ( (pRange = maVMergedCells.Find( rCellPos.MakeAddr() ) ) != 0)
+ || ( (pRange = maHMergedCells.Find( rCellPos.MakeAddr() ) ) != 0)
+ )
aSpan.Set( pRange->aEnd.Col() - pRange->aStart.Col() + 1, pRange->aEnd.Row() - pRange->aStart.Row() + 1 );
return aSpan;
}
@@ -2338,7 +2359,7 @@ void ScHTMLTable::ImplPushEntryToList( ScHTMLEntryList& rEntryList, ScHTMLEntryP
// HTML entry list does not own the entries
rEntryList.push_back( rxEntry.get() );
// mrEEParseList (reference to member of ScEEParser) owns the entries
- mrEEParseList.Insert( rxEntry.release(), LIST_APPEND );
+ mrEEParseList.push_back( rxEntry.release() );
}
bool ScHTMLTable::PushEntry( ScHTMLEntryPtr& rxEntry )
@@ -2603,8 +2624,11 @@ void ScHTMLTable::FillEmptyCells()
aIter->FillEmptyCells();
// insert the final vertically merged ranges into maUsedCells
- for( const ScRange* pRange = maVMergedCells.First(); pRange; pRange = maVMergedCells.Next() )
+ for ( size_t i = 0, nRanges = maVMergedCells.size(); i < nRanges; ++i )
+ {
+ ScRange* pRange = maVMergedCells[ i ];
maUsedCells.Join( *pRange );
+ }
for( ScAddress aAddr; aAddr.Row() < maSize.mnRows; aAddr.IncRow() )
{
@@ -2768,7 +2792,12 @@ void ScHTMLTable::RecalcDocPos( const ScHTMLPos& rBasePos )
// ============================================================================
-ScHTMLGlobalTable::ScHTMLGlobalTable( SfxItemPool& rPool, EditEngine& rEditEngine, ScEEParseList& rEEParseList, ScHTMLTableId& rnUnusedId ) :
+ScHTMLGlobalTable::ScHTMLGlobalTable(
+ SfxItemPool& rPool,
+ EditEngine& rEditEngine,
+ ::std::vector< ScEEParseEntry* >& rEEParseList,
+ ScHTMLTableId& rnUnusedId
+) :
ScHTMLTable( rPool, rEditEngine, rEEParseList, rnUnusedId )
{
}
@@ -2794,7 +2823,7 @@ ScHTMLQueryParser::ScHTMLQueryParser( EditEngine* pEditEngine, ScDocument* pDoc
mnUnusedId( SC_HTML_GLOBAL_TABLE ),
mbTitleOn( false )
{
- mxGlobTable.reset( new ScHTMLGlobalTable( *pPool, *pEdit, *pList, mnUnusedId ) );
+ mxGlobTable.reset( new ScHTMLGlobalTable( *pPool, *pEdit, maList, mnUnusedId ) );
mpCurrTable = mxGlobTable.get();
}
diff --git a/sc/source/filter/html/makefile.mk b/sc/source/filter/html/makefile.mk
index 41db4de9780f..cb6312b3601d 100644
--- a/sc/source/filter/html/makefile.mk
+++ b/sc/source/filter/html/makefile.mk
@@ -44,14 +44,13 @@ VISIBILITY_HIDDEN=TRUE
# --- Files --------------------------------------------------------
-SLOFILES = \
- $(SLO)$/htmlexp.obj \
- $(SLO)$/htmlexp2.obj \
- $(SLO)$/htmlimp.obj \
- $(SLO)$/htmlpars.obj
+SLOFILES = \
+ $(EXCEPTIONSFILES)
-EXCEPTIONSFILES = \
+EXCEPTIONSFILES = \
$(SLO)$/htmlexp.obj \
+ $(SLO)$/htmlexp2.obj \
+ $(SLO)$/htmlimp.obj \
$(SLO)$/htmlpars.obj
# --- Targets -------------------------------------------------------
diff --git a/sc/source/filter/inc/eeparser.hxx b/sc/source/filter/inc/eeparser.hxx
index b0d7a20e7743..45abeeab9051 100644
--- a/sc/source/filter/inc/eeparser.hxx
+++ b/sc/source/filter/inc/eeparser.hxx
@@ -36,6 +36,8 @@
#include <svl/itemset.hxx>
#include <editeng/editdata.hxx>
#include <address.hxx>
+#include <boost/ptr_container/ptr_vector.hpp>
+#include <vector>
const sal_Char nHorizontal = 1;
const sal_Char nVertical = 2;
@@ -57,7 +59,6 @@ struct ScHTMLImage
~ScHTMLImage()
{ if ( pGraphic ) delete pGraphic; }
};
-DECLARE_LIST( ScHTMLImageList, ScHTMLImage* )
struct ScEEParseEntry
{
@@ -67,28 +68,28 @@ struct ScEEParseEntry
String* pNumStr; // HTML evtl. SDNUM String
String* pName; // HTML evtl. Anchor/RangeName
String aAltText; // HTML IMG ALT Text
- ScHTMLImageList* pImageList; // Grafiken in dieser Zelle
+ boost::ptr_vector< ScHTMLImage > maImageList; // Grafiken in dieser Zelle
SCCOL nCol; // relativ zum Beginn des Parse
SCROW nRow;
- USHORT nTab; // HTML TableInTable
- USHORT nTwips; // RTF ColAdjust etc.
+ sal_uInt16 nTab; // HTML TableInTable
+ sal_uInt16 nTwips; // RTF ColAdjust etc.
SCCOL nColOverlap; // merged cells wenn >1
SCROW nRowOverlap; // merged cells wenn >1
- USHORT nOffset; // HTML PixelOffset
- USHORT nWidth; // HTML PixelWidth
- BOOL bHasGraphic; // HTML any image loaded
+ sal_uInt16 nOffset; // HTML PixelOffset
+ sal_uInt16 nWidth; // HTML PixelWidth
+ bool bHasGraphic; // HTML any image loaded
bool bEntirePara; // TRUE = use entire paragraph, false = use selection
ScEEParseEntry( SfxItemPool* pPool ) :
aItemSet( *pPool ), pValStr( NULL ),
- pNumStr( NULL ), pName( NULL ), pImageList( NULL ),
+ pNumStr( NULL ), pName( NULL ),
nCol(SCCOL_MAX), nRow(SCROW_MAX), nTab(0),
nColOverlap(1), nRowOverlap(1),
nOffset(0), nWidth(0), bHasGraphic(FALSE), bEntirePara(true)
{}
ScEEParseEntry( const SfxItemSet& rItemSet ) :
aItemSet( rItemSet ), pValStr( NULL ),
- pNumStr( NULL ), pName( NULL ), pImageList( NULL ),
+ pNumStr( NULL ), pName( NULL ),
nCol(SCCOL_MAX), nRow(SCROW_MAX), nTab(0),
nColOverlap(1), nRowOverlap(1),
nOffset(0), nWidth(0), bHasGraphic(FALSE), bEntirePara(true)
@@ -101,18 +102,10 @@ struct ScEEParseEntry
delete pNumStr;
if ( pName )
delete pName;
- if ( pImageList )
- {
- for ( ScHTMLImage* pI = pImageList->First();
- pI; pI = pImageList->Next() )
- {
- delete pI;
- }
- delete pImageList;
- }
+ if ( maImageList.size() )
+ maImageList.clear();
}
};
-DECLARE_LIST( ScEEParseList, ScEEParseEntry* )
class EditEngine;
@@ -123,7 +116,7 @@ protected:
EditEngine* pEdit;
SfxItemPool* pPool;
SfxItemPool* pDocPool;
- ScEEParseList* pList;
+ ::std::vector< ScEEParseEntry* > maList;
ScEEParseEntry* pActEntry;
Table* pColWidths;
int nLastToken;
@@ -138,14 +131,15 @@ public:
ScEEParser( EditEngine* );
virtual ~ScEEParser();
- virtual ULONG Read( SvStream&, const String& rBaseURL ) = 0;
+ virtual ULONG Read( SvStream&, const String& rBaseURL ) = 0;
- void GetDimensions( SCCOL& nCols, SCROW& nRows ) const
- { nCols = nColMax; nRows = nRowMax; }
- ULONG Count() const { return pList->Count(); }
- ScEEParseEntry* First() const { return pList->First(); }
- ScEEParseEntry* Next() const { return pList->Next(); }
- Table* GetColWidths() const { return pColWidths; }
+ Table* GetColWidths() const { return pColWidths; }
+ void GetDimensions( SCCOL& nCols, SCROW& nRows ) const
+ { nCols = nColMax; nRows = nRowMax; }
+
+ inline size_t ListSize() const{ return maList.size(); }
+ ScEEParseEntry* ListEntry( size_t index ) { return maList[ index ]; }
+ const ScEEParseEntry* ListEntry( size_t index ) const { return maList[ index ]; }
};
diff --git a/sc/source/filter/inc/excdoc.hxx b/sc/source/filter/inc/excdoc.hxx
index 26b9a64ef89a..3ba8b5e65936 100644
--- a/sc/source/filter/inc/excdoc.hxx
+++ b/sc/source/filter/inc/excdoc.hxx
@@ -33,6 +33,7 @@
#include "excrecds.hxx"
#include "xeroot.hxx"
#include "root.hxx"
+#include <boost/shared_ptr.hpp>
//------------------------------------------------------------------ Forwards -
@@ -55,7 +56,7 @@ class ExcTable : public XclExpRecordBase, public XclExpRoot
{
private:
typedef XclExpRecordList< ExcBundlesheetBase > ExcBoundsheetList;
- typedef ScfRef< XclExpCellTable > XclExpCellTableRef;
+ typedef boost::shared_ptr< XclExpCellTable > XclExpCellTableRef;
XclExpRecordList<> aRecList;
XclExpCellTableRef mxCellTable;
diff --git a/sc/source/filter/inc/excrecds.hxx b/sc/source/filter/inc/excrecds.hxx
index a450fb00f368..7e1ce313c26b 100644
--- a/sc/source/filter/inc/excrecds.hxx
+++ b/sc/source/filter/inc/excrecds.hxx
@@ -47,6 +47,7 @@
#include "root.hxx"
#include "excdefs.hxx"
#include "cell.hxx"
+#include <boost/shared_ptr.hpp>
//------------------------------------------------------------------ Forwards -
@@ -500,7 +501,7 @@ public:
private:
using XclExpRoot::CreateRecord;
- typedef ScfRef< ExcAutoFilterRecs > XclExpTabFilterRef;
+ typedef boost::shared_ptr< ExcAutoFilterRecs > XclExpTabFilterRef;
typedef ::std::map< SCTAB, XclExpTabFilterRef > XclExpTabFilterMap;
XclExpTabFilterMap maFilterMap;
diff --git a/sc/source/filter/inc/expbase.hxx b/sc/source/filter/inc/expbase.hxx
index 1500e7d634f5..807d83d02e4e 100644
--- a/sc/source/filter/inc/expbase.hxx
+++ b/sc/source/filter/inc/expbase.hxx
@@ -41,9 +41,9 @@ class ScExportBase
{
public:
#if defined UNX
- static const sal_Char __FAR_DATA sNewLine;
+ static const sal_Char sNewLine;
#else
- static const sal_Char __FAR_DATA sNewLine[];
+ static const sal_Char sNewLine[];
#endif
protected:
diff --git a/sc/source/filter/inc/fapihelper.hxx b/sc/source/filter/inc/fapihelper.hxx
index babf2cc575d7..31ac93ad934a 100644
--- a/sc/source/filter/inc/fapihelper.hxx
+++ b/sc/source/filter/inc/fapihelper.hxx
@@ -183,7 +183,7 @@ public:
{ UnoAny aAny; return GetAnyProperty( aAny, rPropName ) && (aAny >>= rValue); }
/** Gets the specified Boolean property from the property set.
- @return true = property contains true; false = property contains false or error occured. */
+ @return true = property contains true; false = property contains false or error occurred. */
bool GetBoolProperty( const ::rtl::OUString& rPropName ) const;
/** Gets the specified Boolean property from the property set.
diff --git a/sc/source/filter/inc/fprogressbar.hxx b/sc/source/filter/inc/fprogressbar.hxx
index b65b12d981f0..3828327f3b92 100644
--- a/sc/source/filter/inc/fprogressbar.hxx
+++ b/sc/source/filter/inc/fprogressbar.hxx
@@ -29,6 +29,8 @@
#ifndef SC_FPROGRESSBAR_HXX
#define SC_FPROGRESSBAR_HXX
+#include <boost/noncopyable.hpp>
+#include <boost/ptr_container/ptr_vector.hpp>
#include "globstr.hrc"
#include "ftools.hxx"
#include "scdllapi.h"
@@ -111,7 +113,7 @@ const sal_Int32 SCF_INV_SEGMENT = -1;
// not allowed (second segment active): aProgress.Progress();
// not allowed (first segment not empty): aProgress.GetSegmentProgressBar( nSeg1 );
*/
-class ScfProgressBar : ScfNoCopy
+class ScfProgressBar : private boost::noncopyable
{
public:
explicit ScfProgressBar( SfxObjectShell* pDocShell, const String& rText );
@@ -153,7 +155,7 @@ private:
void Init( SfxObjectShell* pDocShell );
/** Returns the segment specified by list index. */
- ScfProgressSegment* GetSegment( sal_Int32 nSegment ) const;
+ ScfProgressSegment* GetSegment( sal_Int32 nSegment );
/** Activates progress bar and sets current segment. */
void SetCurrSegment( ScfProgressSegment* pSegment );
/** Increases mnTotalPos and calls the system progress bar. */
@@ -173,8 +175,8 @@ private:
~ScfProgressSegment();
};
- typedef ::std::auto_ptr< ScProgress > ScProgressPtr;
- typedef ScfDelList< ScfProgressSegment > ScfSegmentList;
+ typedef ::std::auto_ptr< ScProgress > ScProgressPtr;
+ typedef boost::ptr_vector< ScfProgressSegment > ScfSegmentList;
ScfSegmentList maSegments; /// List of progress segments.
String maText; /// UI string for system progress.
diff --git a/sc/source/filter/inc/ftools.hxx b/sc/source/filter/inc/ftools.hxx
index d02cba498fcf..56c787c04bc3 100644
--- a/sc/source/filter/inc/ftools.hxx
+++ b/sc/source/filter/inc/ftools.hxx
@@ -36,16 +36,17 @@
#include <tools/string.hxx>
#include <tools/list.hxx>
#include <tools/debug.hxx>
+#include <sal/macros.h>
#include <oox/helper/helper.hxx>
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
#include "filter.hxx"
#include "scdllapi.h"
// Common macros ==============================================================
-/** Expands to the size of a STATIC data array. */
-#define STATIC_TABLE_SIZE( array ) (sizeof(array)/sizeof(*(array)))
/** Expands to a pointer behind the last element of a STATIC data array (like STL end()). */
-#define STATIC_TABLE_END( array ) ((array)+STATIC_TABLE_SIZE(array))
+#define STATIC_TABLE_END( array ) ((array)+SAL_N_ELEMENTS(array))
/** Expands to a temporary String, created from an ASCII character array. */
#define CREATE_STRING( ascii ) String( RTL_CONSTASCII_USTRINGPARAM( ascii ) )
@@ -138,116 +139,49 @@ void insert_value( Type& rnBitField, InsertType nValue, sal_uInt8 nStartBit, sal
// ============================================================================
-/** Deriving from this class prevents copy construction. */
-class ScfNoCopy
-{
-private:
- ScfNoCopy( const ScfNoCopy& );
- ScfNoCopy& operator=( const ScfNoCopy& );
-protected:
- inline ScfNoCopy() {}
-};
-
-// ----------------------------------------------------------------------------
-
-/** Deriving from this class prevents construction in general. */
-class ScfNoInstance : private ScfNoCopy {};
-
-// ============================================================================
-
-/** Simple shared pointer (NOT thread-save, but faster than boost::shared_ptr). */
-template< typename Type >
-class ScfRef
-{
- template< typename > friend class ScfRef;
-
-public:
- typedef Type element_type;
- typedef ScfRef this_type;
-
- inline explicit ScfRef( element_type* pObj = 0 ) { eat( pObj ); }
- inline /*implicit*/ ScfRef( const this_type& rRef ) { eat( rRef.mpObj, rRef.mpnCount ); }
- template< typename Type2 >
- inline /*implicit*/ ScfRef( const ScfRef< Type2 >& rRef ) { eat( rRef.mpObj, rRef.mpnCount ); }
- inline ~ScfRef() { rel(); }
-
- inline void reset( element_type* pObj = 0 ) { rel(); eat( pObj ); }
- inline this_type& operator=( const this_type& rRef ) { if( this != &rRef ) { rel(); eat( rRef.mpObj, rRef.mpnCount ); } return *this; }
- template< typename Type2 >
- inline this_type& operator=( const ScfRef< Type2 >& rRef ) { rel(); eat( rRef.mpObj, rRef.mpnCount ); return *this; }
-
- inline element_type* get() const { return mpObj; }
- inline bool is() const { return mpObj != 0; }
-
- inline element_type* operator->() const { return mpObj; }
- inline element_type& operator*() const { return *mpObj; }
-
- inline bool operator!() const { return mpObj == 0; }
-
-private:
- inline void eat( element_type* pObj, size_t* pnCount = 0 ) { mpObj = pObj; mpnCount = mpObj ? (pnCount ? pnCount : new size_t( 0 )) : 0; if( mpnCount ) ++*mpnCount; }
- inline void rel() { if( mpnCount && !--*mpnCount ) { DELETEZ( mpObj ); DELETEZ( mpnCount ); } }
-
-private:
- Type* mpObj;
- size_t* mpnCount;
-};
-
-template< typename Type >
-inline bool operator==( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
- return rxRef1.get() == rxRef2.get();
-}
-
-template< typename Type >
-inline bool operator!=( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
- return rxRef1.get() != rxRef2.get();
-}
-
-template< typename Type >
-inline bool operator<( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
- return rxRef1.get() < rxRef2.get();
-}
-
-template< typename Type >
-inline bool operator>( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
- return rxRef1.get() > rxRef2.get();
-}
-
-template< typename Type >
-inline bool operator<=( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
- return rxRef1.get() <= rxRef2.get();
-}
-
-template< typename Type >
-inline bool operator>=( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
- return rxRef1.get() >= rxRef2.get();
-}
-
-// ----------------------------------------------------------------------------
-
-/** Template for a map of ref-counted objects with additional accessor functions. */
+/**
+ * Template for a map of ref-counted objects with additional accessor functions.
+ *
+ * Note that unlike <c>std::map</c> or ,c>boost::ptr_map</c> this map can be
+ * used for classes that do not have a default constructor.
+ *
+ * @tparam KeyType The key type used to access elements.
+ * @tparam ObjType The element type to be stored. Note that this is stored
+ * internally as <c>boost::shared_ptr&lt;ObjType&gt;</c>
+ **/
template< typename KeyType, typename ObjType >
-class ScfRefMap : public ::std::map< KeyType, ScfRef< ObjType > >
+class ScfRefMap : public ::std::map< KeyType, boost::shared_ptr< ObjType > >
{
public:
typedef KeyType key_type;
- typedef ScfRef< ObjType > ref_type;
+ typedef boost::shared_ptr< ObjType > ref_type;
typedef ::std::map< key_type, ref_type > map_type;
- /** Returns true, if the object accossiated to the passed key exists. */
+ /**
+ * Does a valid object with the passed key exist in the map?
+ *
+ * @param nKey The key to look for in the map.
+ * @return true if the key exists in the map and points to a valid instance
+ * of <c>ObjType<c>.
+ **/
inline bool has( key_type nKey ) const
{
typename map_type::const_iterator aIt = find( nKey );
- return (aIt != this->end()) && aIt->second.is();
+ return (aIt != this->end()) && aIt->second;
}
- /** Returns a reference to the object accossiated to the passed key, or 0 on error. */
+ /**
+ * Returns a reference to the object associated to the passed key.
+ *
+ * If the key does not exist in the map, a new (empty) instance of ref_type
+ * is created and returned.
+ *
+ * Note: This method differs from the behaviour of <c>std::map::operator[]</c>
+ * in that if a new instance is returned, it is NOT added to the map.
+ *
+ * @param nKey The key to look for in the map.
+ * @return The instance of <c>ref_type</c> corresponding to nKey or a new instance.
+ **/
inline ref_type get( key_type nKey ) const
{
typename map_type::const_iterator aIt = find( nKey );
@@ -269,7 +203,7 @@ class SotStorageStreamRef;
class SvStream;
/** Contains static methods used anywhere in the filters. */
-class ScfTools : ScfNoInstance
+class ScfTools : boost::noncopyable
{
public:
@@ -400,6 +334,10 @@ private:
static const String& GetHTMLIndexPrefix();
/** Returns the prefix for table names. */
static const String& GetHTMLNamePrefix();
+ /** We don't want anybody to instantiate this class, since it is just a
+ collection of static items. To enforce this, the default constructor
+ is made private */
+ ScfTools();
};
// Containers =================================================================
@@ -415,94 +353,6 @@ typedef ::std::vector< String > ScfStringVec;
// ----------------------------------------------------------------------------
-/** Template for a list that owns the contained objects.
- @descr This list stores pointers to objects and deletes the objects itself
- on destruction. The Clear() method deletes all objects too. */
-template< typename Type > class ScfDelList
-{
-public:
- inline explicit ScfDelList( USHORT nInitSize = 16, USHORT nResize = 16 ) :
- maList( nInitSize, nResize ) {}
- /** Creates a deep copy of the passed list (copy-constructs all contained objects). */
- inline explicit ScfDelList( const ScfDelList& rSrc ) { *this = rSrc; }
- virtual ~ScfDelList();
-
- /** Creates a deep copy of the passed list (copy-constructs all contained objects). */
- ScfDelList& operator=( const ScfDelList& rSrc );
-
- inline void Insert( Type* pObj, ULONG nIndex ) { if( pObj ) maList.Insert( pObj, nIndex ); }
- inline void Append( Type* pObj ) { if( pObj ) maList.Insert( pObj, LIST_APPEND ); }
- /** Removes the object without deletion. */
- inline Type* Remove( ULONG nIndex ) { return static_cast< Type* >( maList.Remove( nIndex ) ); }
- /** Removes and deletes the object. */
- inline void Delete( ULONG nIndex ) { delete Remove( nIndex ); }
- /** Exchanges the contained object with the passed, returns the old. */
- inline Type* Exchange( Type* pObj, ULONG nIndex ) { return static_cast< Type* >( maList.Replace( pObj, nIndex ) ); }
- /** Replaces (deletes) the contained object. */
- inline void Replace( Type* pObj, ULONG nIndex ) { delete Exchange( pObj, nIndex ); }
-
- void Clear();
- inline ULONG Count() const { return maList.Count(); }
- inline bool Empty() const { return maList.Count() == 0; }
-
- inline Type* GetCurObject() const { return static_cast< Type* >( maList.GetCurObject() ); }
- inline ULONG GetCurPos() const { return maList.GetCurPos(); }
- inline Type* GetObject( sal_uInt32 nIndex ) const { return static_cast< Type* >( maList.GetObject( nIndex ) ); }
-
- inline Type* First() const { return static_cast< Type* >( maList.First() ); }
- inline Type* Last() const { return static_cast< Type* >( maList.Last() ); }
- inline Type* Next() const { return static_cast< Type* >( maList.Next() ); }
- inline Type* Prev() const { return static_cast< Type* >( maList.Prev() ); }
-
-private:
- mutable List maList; /// The base container object.
-};
-
-template< typename Type > ScfDelList< Type >& ScfDelList< Type >::operator=( const ScfDelList& rSrc )
-{
- Clear();
- for( const Type* pObj = rSrc.First(); pObj; pObj = rSrc.Next() )
- Append( new Type( *pObj ) );
- return *this;
-}
-
-template< typename Type > ScfDelList< Type >::~ScfDelList()
-{
- Clear();
-}
-
-template< typename Type > void ScfDelList< Type >::Clear()
-{
- for( Type* pObj = First(); pObj; pObj = Next() )
- delete pObj;
- maList.Clear();
-}
-
-// ----------------------------------------------------------------------------
-
-/** Template for a stack that owns the contained objects.
- @descr This stack stores pointers to objects and deletes the objects
- itself on destruction. The Clear() method deletes all objects too.
- The Pop() method removes the top object from stack without deletion. */
-template< typename Type >
-class ScfDelStack : private ScfDelList< Type >
-{
-public:
- inline ScfDelStack( USHORT nInitSize = 16, USHORT nResize = 16 ) :
- ScfDelList< Type >( nInitSize, nResize ) {}
-
- inline void Push( Type* pObj ) { Append( pObj ); }
- /** Removes the top object without deletion. */
- inline Type* Pop() { return Remove( Count() - 1 ); }
-
- inline Type* Top() const { return GetObject( Count() - 1 ); }
-
- using ScfDelList< Type >::Clear;
- using ScfDelList< Type >::Count;
- using ScfDelList< Type >::Empty;
-};
-
-// ----------------------------------------------------------------------------
class ScFormatFilterPluginImpl : public ScFormatFilterPlugin {
public:
ScFormatFilterPluginImpl();
diff --git a/sc/source/filter/inc/htmlexp.hxx b/sc/source/filter/inc/htmlexp.hxx
index 4a7e8f3f32b9..e4392944abdc 100644
--- a/sc/source/filter/inc/htmlexp.hxx
+++ b/sc/source/filter/inc/htmlexp.hxx
@@ -33,6 +33,7 @@
#include <rtl/textenc.h>
#include <tools/gen.hxx>
#include <tools/color.hxx>
+#include <boost/ptr_container/ptr_vector.hpp>
#include "expbase.hxx"
@@ -87,7 +88,6 @@ struct ScHTMLGraphEntry
pObject( pObj ), bInCell( bIn ), bWritten( FALSE ) {}
};
-DECLARE_LIST( ScHTMLGraphList, ScHTMLGraphEntry* )
#define SC_HTML_FONTSIZES 7
const short nIndentMax = 23;
@@ -100,9 +100,9 @@ class ScHTMLExport : public ScExportBase
static USHORT nFontSize[SC_HTML_FONTSIZES];
static const char* pFontSizeCss[SC_HTML_FONTSIZES];
static const USHORT nCellSpacing;
- static const sal_Char __FAR_DATA sIndentSource[];
+ static const sal_Char sIndentSource[];
- ScHTMLGraphList aGraphList;
+ boost::ptr_vector< ScHTMLGraphEntry > aGraphList;
ScHTMLStyle aHTMLStyle;
String aBaseURL;
String aStreamPath;
diff --git a/sc/source/filter/inc/htmlpars.hxx b/sc/source/filter/inc/htmlpars.hxx
index ffad22b23828..84b0b04dcd2f 100644
--- a/sc/source/filter/inc/htmlpars.hxx
+++ b/sc/source/filter/inc/htmlpars.hxx
@@ -442,7 +442,7 @@ protected:
explicit ScHTMLTable(
SfxItemPool& rPool,
EditEngine& rEditEngine,
- ScEEParseList& rEEParseList,
+ ::std::vector< ScEEParseEntry* >& rEEParseList,
ScHTMLTableId& rnUnusedId );
/** Fills all empty cells in this and nested tables with dummy parse entries. */
@@ -542,7 +542,7 @@ private:
ScRangeList maVMergedCells; /// List of all vertically merged cells.
ScRangeList maUsedCells; /// List of all used cells.
EditEngine& mrEditEngine; /// Edit engine (from ScEEParser).
- ScEEParseList& mrEEParseList; /// List that owns the parse entries (from ScEEParser).
+ ::std::vector< ScEEParseEntry* >& mrEEParseList; /// List that owns the parse entries (from ScEEParser).
ScHTMLEntryMap maEntryMap; /// List of entries for each cell.
ScHTMLEntryList* mpCurrEntryList; /// Current entry list from map for faster access.
ScHTMLEntryPtr mxCurrEntry; /// Working entry, not yet inserted in a list.
@@ -566,7 +566,7 @@ public:
explicit ScHTMLGlobalTable(
SfxItemPool& rPool,
EditEngine& rEditEngine,
- ScEEParseList& rEEParseList,
+ ::std::vector< ScEEParseEntry* >& rEEParseList,
ScHTMLTableId& rnUnusedId );
virtual ~ScHTMLGlobalTable();
diff --git a/sc/source/filter/inc/imp_op.hxx b/sc/source/filter/inc/imp_op.hxx
index f5d85328afdf..cad73ce95517 100644
--- a/sc/source/filter/inc/imp_op.hxx
+++ b/sc/source/filter/inc/imp_op.hxx
@@ -39,6 +39,8 @@
#include "otlnbuff.hxx"
#include "colrowst.hxx"
#include "excdefs.hxx"
+#include <boost/shared_ptr.hpp>
+#include <boost/ptr_container/ptr_vector.hpp>
class SfxItemSet;
@@ -78,8 +80,8 @@ public:
void Convert();
private:
- typedef ScfRef< XclImpOutlineBuffer > XclImpOutlineBfrRef;
- typedef ScfRef< XclImpColRowSettings > XclImpColRowSettRef;
+ typedef boost::shared_ptr< XclImpOutlineBuffer > XclImpOutlineBfrRef;
+ typedef boost::shared_ptr< XclImpColRowSettings > XclImpColRowSettRef;
XclImpOutlineBfrRef mxColOutlineBuff;
XclImpOutlineBfrRef mxRowOutlineBuff;
@@ -107,7 +109,7 @@ protected:
XclImpOutlineBuffer* pRowOutlineBuff;
XclImpColRowSettings* pColRowBuff; // Col/Row-Einstellungen 1 Tabelle
- typedef ScfDelList< XclImpOutlineDataBuffer > XclImpOutlineListBuffer;
+ typedef boost::ptr_vector< XclImpOutlineDataBuffer > XclImpOutlineListBuffer;
XclImpOutlineListBuffer* pOutlineListBuffer;
sal_Int16 mnLastRefIdx;
diff --git a/sc/source/filter/inc/rtfparse.hxx b/sc/source/filter/inc/rtfparse.hxx
index e2011e8206de..0d691ba9f874 100644
--- a/sc/source/filter/inc/rtfparse.hxx
+++ b/sc/source/filter/inc/rtfparse.hxx
@@ -32,6 +32,7 @@
#include "eeparser.hxx"
#ifdef SC_RTFPARSE_CXX
+#include <boost/ptr_container/ptr_vector.hpp>
struct ScRTFCellDefault
{
@@ -43,9 +44,8 @@ struct ScRTFCellDefault
ScRTFCellDefault( SfxItemPool* pPool ) :
aItemSet( *pPool ), nColOverlap(1) {}
};
+typedef boost::ptr_vector< ScRTFCellDefault > ScRTFDefaultList;
-DECLARE_LIST( ScRTFDefaultList, ScRTFCellDefault* )
-// Remove: (const unsigned short &) not sufficiently different from (unsigned short)
// deswegen ULONG, typedef bringt's auch nicht :-(
SV_DECL_VARARR_SORT( ScRTFColTwips, ULONG, 16, 4)
diff --git a/sc/source/filter/inc/xechart.hxx b/sc/source/filter/inc/xechart.hxx
index bbf9c764539e..f1b3f9b03726 100644
--- a/sc/source/filter/inc/xechart.hxx
+++ b/sc/source/filter/inc/xechart.hxx
@@ -36,6 +36,7 @@
#include "xlstyle.hxx"
#include "xeroot.hxx"
#include "xestring.hxx"
+#include <boost/shared_ptr.hpp>
class Size;
@@ -158,7 +159,7 @@ protected:
void FinalizeFutureRecBlock( XclExpStream& rStrm );
private:
- typedef ScfRef< XclExpChRootData > XclExpChRootDataRef;
+ typedef boost::shared_ptr< XclExpChRootData > XclExpChRootDataRef;
XclExpChRootDataRef mxChData; /// Reference to the root data object.
};
@@ -225,7 +226,7 @@ private:
XclChFramePos maData; /// Position of the frame.
};
-typedef ScfRef< XclExpChFramePos > XclExpChFramePosRef;
+typedef boost::shared_ptr< XclExpChFramePos > XclExpChFramePosRef;
// ----------------------------------------------------------------------------
@@ -260,7 +261,7 @@ private:
sal_uInt32 mnColorId; /// Line color identifier.
};
-typedef ScfRef< XclExpChLineFormat > XclExpChLineFormatRef;
+typedef boost::shared_ptr< XclExpChLineFormat > XclExpChLineFormatRef;
// ----------------------------------------------------------------------------
@@ -294,7 +295,7 @@ private:
sal_uInt32 mnBackColorId; /// Pattern background color identifier.
};
-typedef ScfRef< XclExpChAreaFormat > XclExpChAreaFormatRef;
+typedef boost::shared_ptr< XclExpChAreaFormat > XclExpChAreaFormatRef;
// ----------------------------------------------------------------------------
@@ -329,7 +330,7 @@ private:
sal_uInt32 mnColor2Id; /// Second fill color identifier.
};
-typedef ScfRef< XclExpChEscherFormat > XclExpChEscherFormatRef;
+typedef boost::shared_ptr< XclExpChEscherFormat > XclExpChEscherFormatRef;
// ----------------------------------------------------------------------------
@@ -398,7 +399,7 @@ private:
XclChObjectType meObjType; /// Type of the represented object.
};
-typedef ScfRef< XclExpChFrame > XclExpChFrameRef;
+typedef boost::shared_ptr< XclExpChFrame > XclExpChFrameRef;
// Source links ===============================================================
@@ -422,7 +423,7 @@ public:
void AppendString( const String& rStr );
/** Returns true, if this source link contains explicit string data. */
- inline bool HasString() const { return mxString.is() && !mxString->IsEmpty(); }
+ inline bool HasString() const { return mxString && !mxString->IsEmpty(); }
/** Writes the CHSOURCELINK record and optionally a CHSTRING record with explicit string data. */
virtual void Save( XclExpStream& rStrm );
@@ -436,7 +437,7 @@ private:
XclExpStringRef mxString; /// Text data (CHSTRING record).
};
-typedef ScfRef< XclExpChSourceLink > XclExpChSourceLinkRef;
+typedef boost::shared_ptr< XclExpChSourceLink > XclExpChSourceLinkRef;
// Text =======================================================================
@@ -447,7 +448,7 @@ public:
explicit XclExpChFont( sal_uInt16 nFontIdx );
};
-typedef ScfRef< XclExpChFont > XclExpChFontRef;
+typedef boost::shared_ptr< XclExpChFont > XclExpChFontRef;
// ----------------------------------------------------------------------------
@@ -464,7 +465,7 @@ private:
XclChObjectLink maData; /// Contents of the CHOBJECTLINK record.
};
-typedef ScfRef< XclExpChObjectLink > XclExpChObjectLinkRef;
+typedef boost::shared_ptr< XclExpChObjectLink > XclExpChObjectLinkRef;
// ----------------------------------------------------------------------------
@@ -487,7 +488,7 @@ private:
XclChFrLabelProps maData; /// Contents of the CHFRLABELPROPS record.
};
-typedef ScfRef< XclExpChFrLabelProps > XclExpChFrLabelPropsRef;
+typedef boost::shared_ptr< XclExpChFrLabelProps > XclExpChFrLabelPropsRef;
// ----------------------------------------------------------------------------
@@ -542,7 +543,7 @@ public:
void ConvertTrendLineEquation( const ScfPropertySet& rPropSet, const XclChDataPointPos& rPointPos );
/** Returns true, if the string object does not contain any text data. */
- inline bool HasString() const { return mxSrcLink.is() && mxSrcLink->HasString(); }
+ inline bool HasString() const { return mxSrcLink && mxSrcLink->HasString(); }
/** Returns the flags needed for the CHATTACHEDLABEL record. */
sal_uInt16 GetAttLabelFlags() const;
@@ -563,7 +564,7 @@ private:
sal_uInt32 mnTextColorId; /// Text color identifier.
};
-typedef ScfRef< XclExpChText > XclExpChTextRef;
+typedef boost::shared_ptr< XclExpChText > XclExpChTextRef;
// Data series ================================================================
@@ -599,7 +600,7 @@ private:
sal_uInt32 mnFillColorId; /// Fill color identifier.
};
-typedef ScfRef< XclExpChMarkerFormat > XclExpChMarkerFormatRef;
+typedef boost::shared_ptr< XclExpChMarkerFormat > XclExpChMarkerFormatRef;
// ----------------------------------------------------------------------------
@@ -613,7 +614,7 @@ public:
void Convert( const ScfPropertySet& rPropSet );
};
-typedef ScfRef< XclExpChPieFormat > XclExpChPieFormatRef;
+typedef boost::shared_ptr< XclExpChPieFormat > XclExpChPieFormatRef;
// ----------------------------------------------------------------------------
@@ -633,7 +634,7 @@ private:
XclCh3dDataFormat maData; /// Contents of the CH3DDATAFORMAT record.
};
-typedef ScfRef< XclExpCh3dDataFormat > XclExpCh3dDataFormatRef;
+typedef boost::shared_ptr< XclExpCh3dDataFormat > XclExpCh3dDataFormatRef;
// ----------------------------------------------------------------------------
@@ -644,7 +645,7 @@ public:
explicit XclExpChAttachedLabel( sal_uInt16 nFlags );
};
-typedef ScfRef< XclExpChAttachedLabel > XclExpChAttLabelRef;
+typedef boost::shared_ptr< XclExpChAttachedLabel > XclExpChAttLabelRef;
// ----------------------------------------------------------------------------
@@ -685,7 +686,7 @@ private:
XclExpChAttLabelRef mxAttLabel; /// Data point label type (CHATTACHEDLABEL record).
};
-typedef ScfRef< XclExpChDataFormat > XclExpChDataFormatRef;
+typedef boost::shared_ptr< XclExpChDataFormat > XclExpChDataFormatRef;
// ----------------------------------------------------------------------------
@@ -715,7 +716,7 @@ private:
XclExpChTextRef mxLabel; /// Formatting of the equation text box.
};
-typedef ScfRef< XclExpChSerTrendLine > XclExpChSerTrendLineRef;
+typedef boost::shared_ptr< XclExpChSerTrendLine > XclExpChSerTrendLineRef;
// ----------------------------------------------------------------------------
@@ -735,7 +736,7 @@ private:
XclChSerErrorBar maData; /// Contents of the CHSERERRORBAR record.
};
-typedef ScfRef< XclExpChSerErrorBar > XclExpChSerErrorBarRef;
+typedef boost::shared_ptr< XclExpChSerErrorBar > XclExpChSerErrorBarRef;
// ----------------------------------------------------------------------------
@@ -809,7 +810,7 @@ private:
sal_uInt16 mnParentIdx; /// 0-based index of parent series (trend lines and error bars).
};
-typedef ScfRef< XclExpChSeries > XclExpChSeriesRef;
+typedef boost::shared_ptr< XclExpChSeries > XclExpChSeriesRef;
// Chart type groups ==========================================================
@@ -865,7 +866,7 @@ private:
XclChChart3d maData; /// Contents of the CHCHART3D record.
};
-typedef ScfRef< XclExpChChart3d > XclExpChChart3dRef;
+typedef boost::shared_ptr< XclExpChChart3d > XclExpChChart3dRef;
// ----------------------------------------------------------------------------
@@ -895,7 +896,7 @@ private:
XclExpChFrameRef mxFrame; /// Legend frame format (CHFRAME group).
};
-typedef ScfRef< XclExpChLegend > XclExpChLegendRef;
+typedef boost::shared_ptr< XclExpChLegend > XclExpChLegendRef;
// ----------------------------------------------------------------------------
@@ -923,7 +924,7 @@ private:
sal_uInt16 mnBarDist; /// Distance between bars (CHDROPBAR record).
};
-typedef ScfRef< XclExpChDropBar > XclExpChDropBarRef;
+typedef boost::shared_ptr< XclExpChDropBar > XclExpChDropBarRef;
// ----------------------------------------------------------------------------
@@ -967,7 +968,7 @@ public:
/** Returns true, if chart type supports wall and floor format. */
inline bool Is3dWallChart() const { return Is3dChart() && (maTypeInfo.meTypeCateg != EXC_CHTYPECATEG_PIE); }
/** Returns true, if the series in this chart type group are ordered on the Z axis. */
- inline bool Is3dDeepChart() const { return Is3dWallChart() && mxChart3d.is() && !mxChart3d->IsClustered(); }
+ inline bool Is3dDeepChart() const { return Is3dWallChart() && mxChart3d && !mxChart3d->IsClustered(); }
/** Returns true, if this chart type can be combined with other types. */
inline bool IsCombinable2d() const { return !Is3dChart() && maTypeInfo.mbCombinable2d; }
@@ -1004,7 +1005,7 @@ private:
XclExpChLineFormatMap maChartLines; /// Global line formats (CHCHARTLINE group).
};
-typedef ScfRef< XclExpChTypeGroup > XclExpChTypeGroupRef;
+typedef boost::shared_ptr< XclExpChTypeGroup > XclExpChTypeGroupRef;
// Axes =======================================================================
@@ -1028,7 +1029,7 @@ private:
XclChLabelRange maData; /// Contents of the CHLABELRANGE record.
};
-typedef ScfRef< XclExpChLabelRange > XclExpChLabelRangeRef;
+typedef boost::shared_ptr< XclExpChLabelRange > XclExpChLabelRangeRef;
// ----------------------------------------------------------------------------
@@ -1049,7 +1050,7 @@ private:
XclChValueRange maData; /// Contents of the CHVALUERANGE record.
};
-typedef ScfRef< XclExpChValueRange > XclExpChValueRangeRef;
+typedef boost::shared_ptr< XclExpChValueRange > XclExpChValueRangeRef;
// ----------------------------------------------------------------------------
@@ -1073,7 +1074,7 @@ private:
sal_uInt32 mnTextColorId; /// Axis labels text color identifier.
};
-typedef ScfRef< XclExpChTick > XclExpChTickRef;
+typedef boost::shared_ptr< XclExpChTick > XclExpChTickRef;
// ----------------------------------------------------------------------------
@@ -1126,7 +1127,7 @@ private:
sal_uInt16 mnNumFmtIdx; /// Index into number format buffer (CHFORMAT record).
};
-typedef ScfRef< XclExpChAxis > XclExpChAxisRef;
+typedef boost::shared_ptr< XclExpChAxis > XclExpChAxisRef;
// ----------------------------------------------------------------------------
@@ -1190,7 +1191,7 @@ private:
XclExpChTypeGroupList maTypeGroups; /// Chart type groups (CHTYPEGROUP group).
};
-typedef ScfRef< XclExpChAxesSet > XclExpChAxesSetRef;
+typedef boost::shared_ptr< XclExpChAxesSet > XclExpChAxesSetRef;
// The chart object ===========================================================
@@ -1255,8 +1256,8 @@ public:
virtual void Save( XclExpStream& rStrm );
private:
- ScfRef< XclExpObjectManager > mxObjMgr;
- ScfRef< XclExpRecordBase > mxObjRecs;
+ boost::shared_ptr< XclExpObjectManager > mxObjMgr;
+ boost::shared_ptr< XclExpRecordBase > mxObjRecs;
};
// ----------------------------------------------------------------------------
diff --git a/sc/source/filter/inc/xeescher.hxx b/sc/source/filter/inc/xeescher.hxx
index 1e6178ef6c62..34c80c4021ea 100644
--- a/sc/source/filter/inc/xeescher.hxx
+++ b/sc/source/filter/inc/xeescher.hxx
@@ -35,6 +35,7 @@
#include "xlescher.hxx"
#include <com/sun/star/chart/XChartDocument.hpp>
#include "svx/sdtaitm.hxx"
+#include <boost/shared_ptr.hpp>
namespace com { namespace sun { namespace star {
@@ -330,7 +331,7 @@ public:
void WriteShapeTransformation( sax_fastparser::FSHelperPtr pFS, const XShapeRef& rXShape, sal_Bool bFlipH = false, sal_Bool bFlipV = false, sal_Int32 nRotation = 0 );
private:
- typedef ScfRef< XclExpChart > XclExpChartRef;
+ typedef boost::shared_ptr< XclExpChart > XclExpChartRef;
XclExpChartRef mxChart; /// The chart itself (BOF/EOF substream data).
XShapeRef mxShape;
XChartDocRef mxChartDoc;
@@ -423,17 +424,17 @@ public:
/** Creates and returns the MSODRAWINGGROUP record containing global DFF
data in the DGGCONTAINER. */
- ScfRef< XclExpRecordBase > CreateDrawingGroup();
+ boost::shared_ptr< XclExpRecordBase > CreateDrawingGroup();
/** Initializes the object manager for a new sheet. */
void StartSheet();
/** Processes a drawing page and returns the record block containing all
related records (MSODRAWING, OBJ, TXO, charts, etc.). */
- ScfRef< XclExpRecordBase > ProcessDrawing( SdrPage* pSdrPage );
+ boost::shared_ptr< XclExpRecordBase > ProcessDrawing( SdrPage* pSdrPage );
/** Processes a collection of UNO shapes and returns the record block
containing all related records (MSODRAWING, OBJ, TXO, charts, etc.). */
- ScfRef< XclExpRecordBase > ProcessDrawing( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& rxShapes );
+ boost::shared_ptr< XclExpRecordBase > ProcessDrawing( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& rxShapes );
/** Finalizes the object manager after conversion of all sheets. */
void EndDocument();
@@ -451,10 +452,10 @@ private:
void InitStream( bool bTempFile );
private:
- ScfRef< ::utl::TempFile > mxTempFile;
- ScfRef< SvStream > mxDffStrm;
- ScfRef< XclEscherEx > mxEscherEx;
- ScfRef< XclExpObjList > mxObjList;
+ boost::shared_ptr< ::utl::TempFile > mxTempFile;
+ boost::shared_ptr< SvStream > mxDffStrm;
+ boost::shared_ptr< XclEscherEx > mxEscherEx;
+ boost::shared_ptr< XclExpObjList > mxObjList;
};
// ----------------------------------------------------------------------------
diff --git a/sc/source/filter/inc/xeformula.hxx b/sc/source/filter/inc/xeformula.hxx
index 5cc3107bd25d..698ca9b0f494 100644
--- a/sc/source/filter/inc/xeformula.hxx
+++ b/sc/source/filter/inc/xeformula.hxx
@@ -31,6 +31,7 @@
#include "xlformula.hxx"
#include "xeroot.hxx"
+#include <boost/shared_ptr.hpp>
// External reference log =====================================================
@@ -88,7 +89,7 @@ public:
XclTokenArrayRef CreateNameXFormula( sal_uInt16 nExtSheet, sal_uInt16 nExtName );
private:
- typedef ScfRef< XclExpFmlaCompImpl > XclExpFmlaCompImplRef;
+ typedef boost::shared_ptr< XclExpFmlaCompImpl > XclExpFmlaCompImplRef;
XclExpFmlaCompImplRef mxImpl;
};
diff --git a/sc/source/filter/inc/xehelper.hxx b/sc/source/filter/inc/xehelper.hxx
index 00d758dd1991..f02e8ad12bc1 100644
--- a/sc/source/filter/inc/xehelper.hxx
+++ b/sc/source/filter/inc/xehelper.hxx
@@ -29,6 +29,8 @@
#ifndef SC_XEHELPER_HXX
#define SC_XEHELPER_HXX
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
#include "xladdress.hxx"
#include "xeroot.hxx"
#include "xestring.hxx"
@@ -175,14 +177,14 @@ class XclExpHyperlink;
/** Helper to create HLINK records during creation of formatted cell strings.
In Excel it is not possible to have more than one hyperlink in a cell. This
- helper detects multiple occurences of hyperlinks and fills a string which
+ helper detects multiple occurrences of hyperlinks and fills a string which
is used to create a cell note containing all URLs. Only cells containing
one hyperlink are exported as hyperlink cells.
*/
class XclExpHyperlinkHelper : protected XclExpRoot
{
public:
- typedef ScfRef< XclExpHyperlink > XclExpHyperlinkRef;
+ typedef boost::shared_ptr< XclExpHyperlink > XclExpHyperlinkRef;
explicit XclExpHyperlinkHelper( const XclExpRoot& rRoot, const ScAddress& rScPos );
~XclExpHyperlinkHelper();
@@ -219,7 +221,7 @@ class ScPatternAttr;
/** This class provides methods to create an XclExpString.
@descr The string can be created from an edit engine text object or
directly from a Calc edit cell. */
-class XclExpStringHelper : ScfNoInstance
+class XclExpStringHelper : boost::noncopyable
{
public:
/** Creates a new unformatted string from the passed string.
@@ -329,6 +331,12 @@ public:
/** Returns the script type first text portion different to WEAK, or the system
default script type, if there is only weak script in the passed string. */
static sal_Int16 GetLeadingScriptType( const XclExpRoot& rRoot, const String& rString );
+
+private:
+ /** We don't want anybody to instantiate this class, since it is just a
+ collection of static methods. To enforce this, the default constructor
+ is made private */
+ XclExpStringHelper();
};
// Header/footer conversion ===================================================
@@ -364,7 +372,7 @@ class EditEngine;
Known but unsupported control sequences:
&G picture
*/
-class XclExpHFConverter : protected XclExpRoot, ScfNoCopy
+class XclExpHFConverter : protected XclExpRoot, private boost::noncopyable
{
public:
explicit XclExpHFConverter( const XclExpRoot& rRoot );
@@ -397,7 +405,7 @@ private:
/** This class contains static methods to encode a file URL.
@descr Excel stores URLs in a format that contains special control characters,
i.e. for directory separators or volume names. */
-class XclExpUrlHelper : ScfNoInstance
+class XclExpUrlHelper : boost::noncopyable
{
public:
/** Encodes and returns the URL passed in rAbsUrl to an Excel like URL.
@@ -405,6 +413,12 @@ public:
static String EncodeUrl( const XclExpRoot& rRoot, const String& rAbsUrl, const String* pTableName = 0 );
/** Encodes and returns the passed DDE link to an Excel like DDE link. */
static String EncodeDde( const String& rApplic, const String rTopic );
+
+private:
+ /** We don't want anybody to instantiate this class, since it is just a
+ collection of static methods. To enforce this, the default constructor
+ is made private */
+ XclExpUrlHelper();
};
// ----------------------------------------------------------------------------
diff --git a/sc/source/filter/inc/xelink.hxx b/sc/source/filter/inc/xelink.hxx
index ecdccae3172b..866151df28f5 100644
--- a/sc/source/filter/inc/xelink.hxx
+++ b/sc/source/filter/inc/xelink.hxx
@@ -35,6 +35,7 @@
#include "xehelper.hxx"
#include "xeformula.hxx"
#include "externalrefmgr.hxx"
+#include <boost/shared_ptr.hpp>
class ScRange;
struct ScSingleRefData;
@@ -210,7 +211,7 @@ public:
virtual void Save( XclExpStream& rStrm );
private:
- typedef ScfRef< XclExpLinkManagerImpl > XclExpLinkMgrImplPtr;
+ typedef boost::shared_ptr< XclExpLinkManagerImpl > XclExpLinkMgrImplPtr;
XclExpLinkMgrImplPtr mxImpl;
};
diff --git a/sc/source/filter/inc/xename.hxx b/sc/source/filter/inc/xename.hxx
index 66e903553da8..24371e19b4dd 100644
--- a/sc/source/filter/inc/xename.hxx
+++ b/sc/source/filter/inc/xename.hxx
@@ -33,6 +33,7 @@
#include "xlname.hxx"
#include "xlformula.hxx"
#include "xeroot.hxx"
+#include <boost/shared_ptr.hpp>
// ============================================================================
@@ -80,7 +81,7 @@ public:
virtual void SaveXml( XclExpXmlStream& rStrm );
private:
- typedef ScfRef< XclExpNameManagerImpl > XclExpNameMgrImplRef;
+ typedef boost::shared_ptr< XclExpNameManagerImpl > XclExpNameMgrImplRef;
XclExpNameMgrImplRef mxImpl;
};
diff --git a/sc/source/filter/inc/xerecord.hxx b/sc/source/filter/inc/xerecord.hxx
index 712da2b89d6e..17673e840d7b 100644
--- a/sc/source/filter/inc/xerecord.hxx
+++ b/sc/source/filter/inc/xerecord.hxx
@@ -31,6 +31,7 @@
#include "xlconst.hxx"
#include "xestream.hxx"
+#include <boost/shared_ptr.hpp>
// Base classes to export Excel records =======================================
@@ -333,7 +334,7 @@ template< typename RecType = XclExpRecordBase >
class XclExpRecordList : public XclExpRecordBase
{
public:
- typedef ScfRef< RecType > RecordRefType;
+ typedef boost::shared_ptr< RecType > RecordRefType;
/** Returns pointer to an existing record or 0 on error. */
inline bool IsEmpty() const { return maRecs.empty(); }
diff --git a/sc/source/filter/inc/xeroot.hxx b/sc/source/filter/inc/xeroot.hxx
index 0f8774489954..cac22f4101ae 100644
--- a/sc/source/filter/inc/xeroot.hxx
+++ b/sc/source/filter/inc/xeroot.hxx
@@ -30,6 +30,7 @@
#define SC_XEROOT_HXX
#include "xlroot.hxx"
+#include <boost/shared_ptr.hpp>
// Forward declarations of objects in public use ==============================
@@ -37,8 +38,8 @@ class XclExpStream;
class XclExpRecordBase;
class XclExpString;
-typedef ScfRef< XclExpRecordBase > XclExpRecordRef;
-typedef ScfRef< XclExpString > XclExpStringRef;
+typedef boost::shared_ptr< XclExpRecordBase > XclExpRecordRef;
+typedef boost::shared_ptr< XclExpString > XclExpStringRef;
// Global data ================================================================
@@ -60,21 +61,21 @@ class XclExpPivotTableManager;
/** Stores global buffers and data needed for Excel export filter. */
struct XclExpRootData : public XclRootData
{
- typedef ScfRef< XclExpTabInfo > XclExpTabInfoRef;
- typedef ScfRef< XclExpAddressConverter > XclExpAddrConvRef;
- typedef ScfRef< XclExpFormulaCompiler > XclExpFmlaCompRef;
- typedef ScfRef< XclExpProgressBar > XclExpProgressRef;
-
- typedef ScfRef< XclExpSst > XclExpSstRef;
- typedef ScfRef< XclExpPalette > XclExpPaletteRef;
- typedef ScfRef< XclExpFontBuffer > XclExpFontBfrRef;
- typedef ScfRef< XclExpNumFmtBuffer > XclExpNumFmtBfrRef;
- typedef ScfRef< XclExpXFBuffer > XclExpXFBfrRef;
- typedef ScfRef< XclExpNameManager > XclExpNameMgrRef;
- typedef ScfRef< XclExpLinkManager > XclExpLinkMgrRef;
- typedef ScfRef< XclExpObjectManager > XclExpObjectMgrRef;
- typedef ScfRef< XclExpFilterManager > XclExpFilterMgrRef;
- typedef ScfRef< XclExpPivotTableManager > XclExpPTableMgrRef;
+ typedef boost::shared_ptr< XclExpTabInfo > XclExpTabInfoRef;
+ typedef boost::shared_ptr< XclExpAddressConverter > XclExpAddrConvRef;
+ typedef boost::shared_ptr< XclExpFormulaCompiler > XclExpFmlaCompRef;
+ typedef boost::shared_ptr< XclExpProgressBar > XclExpProgressRef;
+
+ typedef boost::shared_ptr< XclExpSst > XclExpSstRef;
+ typedef boost::shared_ptr< XclExpPalette > XclExpPaletteRef;
+ typedef boost::shared_ptr< XclExpFontBuffer > XclExpFontBfrRef;
+ typedef boost::shared_ptr< XclExpNumFmtBuffer > XclExpNumFmtBfrRef;
+ typedef boost::shared_ptr< XclExpXFBuffer > XclExpXFBfrRef;
+ typedef boost::shared_ptr< XclExpNameManager > XclExpNameMgrRef;
+ typedef boost::shared_ptr< XclExpLinkManager > XclExpLinkMgrRef;
+ typedef boost::shared_ptr< XclExpObjectManager > XclExpObjectMgrRef;
+ typedef boost::shared_ptr< XclExpFilterManager > XclExpFilterMgrRef;
+ typedef boost::shared_ptr< XclExpPivotTableManager > XclExpPTableMgrRef;
XclExpTabInfoRef mxTabInfo; /// Calc->Excel sheet index conversion.
XclExpAddrConvRef mxAddrConv; /// The address converter.
diff --git a/sc/source/filter/inc/xestream.hxx b/sc/source/filter/inc/xestream.hxx
index d0e56961e812..2d7e9c095fbc 100644
--- a/sc/source/filter/inc/xestream.hxx
+++ b/sc/source/filter/inc/xestream.hxx
@@ -52,7 +52,7 @@ Output stream class for Excel export
class XclExpRoot;
class XclExpBiff8Encrypter;
-typedef ScfRef< XclExpBiff8Encrypter > XclExpEncrypterRef;
+typedef boost::shared_ptr< XclExpBiff8Encrypter > XclExpEncrypterRef;
/** This class is used to export Excel record streams.
@descr An instance is constructed with an SvStream and the maximum size of Excel
@@ -266,7 +266,7 @@ class ScRangeList;
class ScTokenArray;
struct XclAddress;
struct XclFontData;
-class XclRange;
+struct XclRange;
class XclRangeList;
class XclXmlUtils
diff --git a/sc/source/filter/inc/xestyle.hxx b/sc/source/filter/inc/xestyle.hxx
index fa2d3e8eb782..458c2bb1e5ec 100644
--- a/sc/source/filter/inc/xestyle.hxx
+++ b/sc/source/filter/inc/xestyle.hxx
@@ -38,6 +38,7 @@
#include "xerecord.hxx"
#include "xlstyle.hxx"
#include "xeroot.hxx"
+#include <boost/shared_ptr.hpp>
/* ============================================================================
- Buffers for style records (PALETTE, FONT, FORMAT, XF, STYLE).
@@ -125,7 +126,7 @@ private:
virtual void WriteBody( XclExpStream& rStrm );
private:
- typedef ScfRef< XclExpPaletteImpl > XclExpPaletteImplRef;
+ typedef boost::shared_ptr< XclExpPaletteImpl > XclExpPaletteImplRef;
XclExpPaletteImplRef mxImpl;
};
diff --git a/sc/source/filter/inc/xetable.hxx b/sc/source/filter/inc/xetable.hxx
index 2c18f14d91f0..bb3f182768f6 100644
--- a/sc/source/filter/inc/xetable.hxx
+++ b/sc/source/filter/inc/xetable.hxx
@@ -100,7 +100,7 @@ protected:
XclAddress maBaseXclPos; /// Address of base cell (first FORMULA record).
};
-typedef ScfRef< XclExpRangeFmlaBase > XclExpRangeFmlaRef;
+typedef boost::shared_ptr< XclExpRangeFmlaBase > XclExpRangeFmlaRef;
// Array formulas =============================================================
@@ -130,7 +130,7 @@ private:
XclTokenArrayRef mxTokArr; /// The token array of a matrix formula.
};
-typedef ScfRef< XclExpArray > XclExpArrayRef;
+typedef boost::shared_ptr< XclExpArray > XclExpArrayRef;
// ----------------------------------------------------------------------------
@@ -181,7 +181,7 @@ private:
sal_uInt8 mnUsedCount; /// Number of FORMULA records referring to this record.
};
-typedef ScfRef< XclExpShrfmla > XclExpShrfmlaRef;
+typedef boost::shared_ptr< XclExpShrfmla > XclExpShrfmlaRef;
// ----------------------------------------------------------------------------
@@ -248,7 +248,7 @@ private:
bool mbValid; /// true = Contains valid references.
};
-typedef ScfRef< XclExpTableop > XclExpTableopRef;
+typedef boost::shared_ptr< XclExpTableop > XclExpTableopRef;
// ----------------------------------------------------------------------------
@@ -324,7 +324,7 @@ private:
XclAddress maXclPos; /// Address of the cell.
};
-typedef ScfRef< XclExpCellBase > XclExpCellRef;
+typedef boost::shared_ptr< XclExpCellBase > XclExpCellRef;
// Single cell records ========================================================
@@ -1046,11 +1046,11 @@ private:
typedef XclExpRecordList< XclExpNote > XclExpNoteList;
typedef XclExpRecordList< XclExpHyperlink > XclExpHyperlinkList;
- typedef ScfRef< XclExpDefrowheight > XclExpDefrowhRef;
- typedef ScfRef< XclExpNoteList > XclExpNoteListRef;
- typedef ScfRef< XclExpMergedcells > XclExpMergedcellsRef;
- typedef ScfRef< XclExpHyperlinkList > XclExpHyperlinkRef;
- typedef ScfRef< XclExpDval > XclExpDvalRef;
+ typedef boost::shared_ptr< XclExpDefrowheight > XclExpDefrowhRef;
+ typedef boost::shared_ptr< XclExpNoteList > XclExpNoteListRef;
+ typedef boost::shared_ptr< XclExpMergedcells > XclExpMergedcellsRef;
+ typedef boost::shared_ptr< XclExpHyperlinkList > XclExpHyperlinkRef;
+ typedef boost::shared_ptr< XclExpDval > XclExpDvalRef;
XclExpColinfoBuffer maColInfoBfr; /// Buffer for column formatting.
XclExpRowBuffer maRowBfr; /// Rows and cell records.
diff --git a/sc/source/filter/inc/xichart.hxx b/sc/source/filter/inc/xichart.hxx
index 12b2e2d473b2..c731ba48e16f 100644
--- a/sc/source/filter/inc/xichart.hxx
+++ b/sc/source/filter/inc/xichart.hxx
@@ -42,6 +42,8 @@
#include "xlstyle.hxx"
#include "xiescher.hxx"
#include "xistring.hxx"
+#include <boost/shared_ptr.hpp>
+#include <boost/ptr_container/ptr_map.hpp>
namespace com { namespace sun { namespace star {
namespace awt
@@ -168,7 +170,7 @@ public:
sal_uInt16 nAngle );
private:
- typedef ScfRef< XclImpChRootData > XclImpChRootDataRef;
+ typedef boost::shared_ptr< XclImpChRootData > XclImpChRootDataRef;
XclImpChRootDataRef mxChData; /// Reference to the root data object.
};
@@ -215,7 +217,7 @@ private:
XclChFramePos maData; /// Position of the frame.
};
-typedef ScfRef< XclImpChFramePos > XclImpChFramePosRef;
+typedef boost::shared_ptr< XclImpChFramePos > XclImpChFramePosRef;
// ----------------------------------------------------------------------------
@@ -249,7 +251,7 @@ private:
XclChLineFormat maData; /// Contents of the CHLINEFORMAT record.
};
-typedef ScfRef< XclImpChLineFormat > XclImpChLineFormatRef;
+typedef boost::shared_ptr< XclImpChLineFormat > XclImpChLineFormatRef;
// ----------------------------------------------------------------------------
@@ -279,7 +281,7 @@ private:
XclChAreaFormat maData; /// Contents of the CHAREAFORMAT record.
};
-typedef ScfRef< XclImpChAreaFormat > XclImpChAreaFormatRef;
+typedef boost::shared_ptr< XclImpChAreaFormat > XclImpChAreaFormatRef;
// ----------------------------------------------------------------------------
@@ -303,7 +305,7 @@ private:
XclChPicFormat maPicFmt; /// Image options, e.g. stretched, stacked (CHPICFORMAT record).
};
-typedef ScfRef< XclImpChEscherFormat > XclImpChEscherFormatRef;
+typedef boost::shared_ptr< XclImpChEscherFormat > XclImpChEscherFormatRef;
// ----------------------------------------------------------------------------
@@ -329,12 +331,12 @@ public:
/** Returns true, if the line style is set to something visible. */
inline bool HasLine() const { return IsAutoLine() || mxLineFmt->HasLine(); }
/** Returns the line weight used for this frame. */
- inline sal_Int16 GetLineWeight() const { return mxLineFmt.is() ? mxLineFmt->GetWeight() : EXC_CHLINEFORMAT_SINGLE; }
+ inline sal_Int16 GetLineWeight() const { return mxLineFmt ? mxLineFmt->GetWeight() : EXC_CHLINEFORMAT_SINGLE; }
/** Returns true, if the area format is set to automatic. */
inline bool IsAutoArea() const { return !mxEscherFmt && (!mxAreaFmt || mxAreaFmt->IsAuto()); }
/** Returns true, if the area style is set to something visible. */
- inline bool HasArea() const { return mxEscherFmt.is() || IsAutoArea() || mxAreaFmt->HasArea(); }
+ inline bool HasArea() const { return mxEscherFmt || IsAutoArea() || mxAreaFmt->HasArea(); }
protected:
/** Converts and writes the contained line formatting to the passed property set. */
@@ -385,7 +387,7 @@ private:
XclChObjectType meObjType; /// Type of the represented object.
};
-typedef ScfRef< XclImpChFrame > XclImpChFrameRef;
+typedef boost::shared_ptr< XclImpChFrame > XclImpChFrameRef;
// Source links ===============================================================
@@ -413,9 +415,9 @@ public:
inline sal_uInt8 GetLinkType() const { return maData.mnLinkType; }
/** Returns true, if the source link contains explicit string data. */
- inline bool HasString() const { return mxString.is() && !mxString->IsEmpty(); }
+ inline bool HasString() const { return mxString && !mxString->IsEmpty(); }
/** Returns explicit string data or an empty string. */
- inline const String& GetString() const { return mxString.is() ? mxString->GetText() : String::EmptyString(); }
+ inline const String& GetString() const { return mxString ? mxString->GetText() : String::EmptyString(); }
/** Returns the number of data points of this source link. */
sal_uInt16 GetCellCount() const;
@@ -428,15 +430,15 @@ public:
XFormattedStringSeq CreateStringSequence( const XclImpChRoot& rRoot,
sal_uInt16 nLeadFontIdx, const Color& rLeadFontColor ) const;
- void FillSourceLink(::std::vector<ScSharedTokenRef>& rTokens) const;
+ void FillSourceLink(::std::vector<ScTokenRef>& rTokens) const;
private:
XclChSourceLink maData; /// Contents of the CHSOURCELINK record.
XclImpStringRef mxString; /// Text data (CHSTRING record).
- ScfRef< ScTokenArray> mxTokenArray; /// Token array representing the data ranges.
+ boost::shared_ptr< ScTokenArray> mxTokenArray; /// Token array representing the data ranges.
};
-typedef ScfRef< XclImpChSourceLink > XclImpChSourceLinkRef;
+typedef boost::shared_ptr< XclImpChSourceLink > XclImpChSourceLinkRef;
// Text =======================================================================
@@ -476,7 +478,7 @@ private:
sal_uInt16 mnFontIdx; /// Index into font buffer.
};
-typedef ScfRef< XclImpChFont > XclImpChFontRef;
+typedef boost::shared_ptr< XclImpChFont > XclImpChFontRef;
// ----------------------------------------------------------------------------
@@ -517,7 +519,7 @@ public:
/** Returns the position of the data point label this text is linked to. */
inline const XclChDataPointPos& GetPointPos() const { return maObjLink.maPointPos; }
/** Returns true, if this text group contains string data. */
- inline bool HasString() const { return mxSrcLink.is() && mxSrcLink->HasString(); }
+ inline bool HasString() const { return mxSrcLink && mxSrcLink->HasString(); }
/** Returns true, if the text object is marked as deleted. */
inline bool IsDeleted() const { return ::get_flag( maData.mnFlags, EXC_CHTEXT_DELETED ); }
@@ -543,7 +545,7 @@ private:
void ReadChFrLabelProps( XclImpStream& rStrm );
private:
- typedef ScfRef< XclChFrLabelProps > XclChFrLabelPropsRef;
+ typedef boost::shared_ptr< XclChFrLabelProps > XclChFrLabelPropsRef;
XclChText maData; /// Contents of the CHTEXT record.
XclChObjectLink maObjLink; /// Link target for this text object.
@@ -555,7 +557,7 @@ private:
XclChFrLabelPropsRef mxLabelProps; /// Extended data label properties (CHFRLABELPROPS record).
};
-typedef ScfRef< XclImpChText > XclImpChTextRef;
+typedef boost::shared_ptr< XclImpChText > XclImpChTextRef;
// Data series ================================================================
@@ -580,7 +582,7 @@ private:
XclChMarkerFormat maData; /// Contents of the CHMARKERFORMAT record.
};
-typedef ScfRef< XclImpChMarkerFormat > XclImpChMarkerFormatRef;
+typedef boost::shared_ptr< XclImpChMarkerFormat > XclImpChMarkerFormatRef;
// ----------------------------------------------------------------------------
@@ -598,7 +600,7 @@ private:
sal_uInt16 mnPieDist; /// Pie distance to diagram center.
};
-typedef ScfRef< XclImpChPieFormat > XclImpChPieFormatRef;
+typedef boost::shared_ptr< XclImpChPieFormat > XclImpChPieFormatRef;
// ----------------------------------------------------------------------------
@@ -616,7 +618,7 @@ private:
sal_uInt16 mnFlags; /// Additional flags.
};
-typedef ScfRef< XclImpChSeriesFormat > XclImpChSeriesFormatRef;
+typedef boost::shared_ptr< XclImpChSeriesFormat > XclImpChSeriesFormatRef;
// ----------------------------------------------------------------------------
@@ -633,7 +635,7 @@ private:
XclCh3dDataFormat maData; /// Contents of the CH3DDATAFORMAT record.
};
-typedef ScfRef< XclImpCh3dDataFormat > XclImpCh3dDataFormatRef;
+typedef boost::shared_ptr< XclImpCh3dDataFormat > XclImpCh3dDataFormatRef;
// ----------------------------------------------------------------------------
@@ -651,7 +653,7 @@ private:
sal_uInt16 mnFlags; /// Additional flags.
};
-typedef ScfRef< XclImpChAttachedLabel > XclImpChAttLabelRef;
+typedef boost::shared_ptr< XclImpChAttachedLabel > XclImpChAttLabelRef;
// ----------------------------------------------------------------------------
@@ -692,7 +694,7 @@ public:
/** Returns true, if markers are set to automatic format. */
inline bool IsAutoMarker() const { return !mxMarkerFmt || mxMarkerFmt->IsAuto(); }
/** Returns true, if the series line is smoothed. */
- inline bool HasSpline() const { return mxSeriesFmt.is() && mxSeriesFmt->HasSpline(); }
+ inline bool HasSpline() const { return mxSeriesFmt && mxSeriesFmt->HasSpline(); }
/** Returns the data label text object. */
inline XclImpChTextRef GetDataLabel() const { return mxLabel; }
@@ -719,7 +721,7 @@ private:
XclImpChTextRef mxLabel; /// Data point label formatting (CHTEXT group).
};
-typedef ScfRef< XclImpChDataFormat > XclImpChDataFormatRef;
+typedef boost::shared_ptr< XclImpChDataFormat > XclImpChDataFormatRef;
// ----------------------------------------------------------------------------
@@ -745,7 +747,7 @@ private:
XclImpChDataFormatRef mxDataFmt; /// Formatting settings of the trend line.
};
-typedef ScfRef< XclImpChSerTrendLine > XclImpChSerTrendLineRef;
+typedef boost::shared_ptr< XclImpChSerTrendLine > XclImpChSerTrendLineRef;
// ----------------------------------------------------------------------------
@@ -782,7 +784,7 @@ private:
XclImpChDataFormatRef mxDataFmt; /// Formatting settings of the error bars.
};
-typedef ScfRef< XclImpChSerErrorBar > XclImpChSerErrorBarRef;
+typedef boost::shared_ptr< XclImpChSerErrorBar > XclImpChSerErrorBarRef;
// ----------------------------------------------------------------------------
@@ -823,16 +825,16 @@ public:
/** Returns the 0-based index of the parent series (e.g. of a trend line). */
inline sal_uInt16 GetParentIdx() const { return mnParentIdx; }
/** Returns the format index of the series used for automatic line and area colors. */
- inline sal_uInt16 GetFormatIdx() const { return mxSeriesFmt.is() ? mxSeriesFmt->GetFormatIdx() : EXC_CHDATAFORMAT_DEFAULT; }
+ inline sal_uInt16 GetFormatIdx() const { return mxSeriesFmt ? mxSeriesFmt->GetFormatIdx() : EXC_CHDATAFORMAT_DEFAULT; }
/** Returns true, if the series is child of another series (e.g. trend line). */
inline bool HasParentSeries() const { return mnParentIdx != EXC_CHSERIES_INVALID; }
/** Returns true, if the series contains child series (e.g. trend lines). */
inline bool HasChildSeries() const { return !maTrendLines.empty() || !maErrorBars.empty(); }
/** Returns series title or an empty string, if the series does not contain a title. */
- inline const String& GetTitle() const { return mxTitleLink.is() ? mxTitleLink->GetString() : String::EmptyString(); }
+ inline const String& GetTitle() const { return mxTitleLink ? mxTitleLink->GetString() : String::EmptyString(); }
/** Returns true, if the series line is smoothed. */
- inline bool HasSpline() const { return mxSeriesFmt.is() && mxSeriesFmt->HasSpline(); }
+ inline bool HasSpline() const { return mxSeriesFmt && mxSeriesFmt->HasSpline(); }
/** Creates a labeled data sequence object from value data link. */
XLabeledDataSeqRef CreateValueSequence( const ::rtl::OUString& rValueRole ) const;
@@ -841,7 +843,7 @@ public:
/** Creates a data series object with initialized source links. */
XDataSeriesRef CreateDataSeries() const;
- void FillAllSourceLinks(::std::vector<ScSharedTokenRef>& rTokens) const;
+ void FillAllSourceLinks(::std::vector<ScTokenRef>& rTokens) const;
private:
/** Reads a CHSOURCELINK record. */
@@ -888,7 +890,7 @@ private:
sal_uInt16 mnParentIdx; /// 0-based index of parent series (trend lines and error bars).
};
-typedef ScfRef< XclImpChSeries > XclImpChSeriesRef;
+typedef boost::shared_ptr< XclImpChSeries > XclImpChSeriesRef;
// Chart type groups ==========================================================
@@ -946,7 +948,7 @@ private:
XclChChart3d maData; /// Contents of the CHCHART3D record.
};
-typedef ScfRef< XclImpChChart3d > XclImpChChart3dRef;
+typedef boost::shared_ptr< XclImpChChart3d > XclImpChChart3dRef;
// ----------------------------------------------------------------------------
@@ -980,7 +982,7 @@ private:
XclImpChFrameRef mxFrame; /// Legend frame format (CHFRAME group).
};
-typedef ScfRef< XclImpChLegend > XclImpChLegendRef;
+typedef boost::shared_ptr< XclImpChLegend > XclImpChLegendRef;
// ----------------------------------------------------------------------------
@@ -1005,7 +1007,7 @@ private:
sal_uInt16 mnBarDist; /// Distance between bars (CHDROPBAR record).
};
-typedef ScfRef< XclImpChDropBar > XclImpChDropBarRef;
+typedef boost::shared_ptr< XclImpChDropBar > XclImpChDropBarRef;
// ----------------------------------------------------------------------------
@@ -1054,11 +1056,11 @@ public:
/** Returns true, if the series in this chart type group are stacked on each other as percentage. */
inline bool IsPercent() const { return maType.IsPercent(); }
/** Returns true, if the chart is three-dimensional. */
- inline bool Is3dChart() const { return mxChart3d.is() && maTypeInfo.mbSupports3d; }
+ inline bool Is3dChart() const { return mxChart3d && maTypeInfo.mbSupports3d; }
/** Returns true, if chart type supports wall and floor format in 3d mode. */
inline bool Is3dWallChart() const { return Is3dChart() && (maTypeInfo.meTypeCateg != EXC_CHTYPECATEG_PIE); }
/** Returns true, if the series in this chart type group are ordered on the Z axis. */
- inline bool Is3dDeepChart() const { return Is3dWallChart() && mxChart3d.is() && !mxChart3d->IsClustered(); }
+ inline bool Is3dDeepChart() const { return Is3dWallChart() && mxChart3d && !mxChart3d->IsClustered(); }
/** Returns true, if category (X axis) labels are enabled (may be disabled in radar charts). */
inline bool HasCategoryLabels() const { return maType.HasCategoryLabels(); }
/** Returns true, if points of a series show varying automatic area format. */
@@ -1091,7 +1093,7 @@ private:
void ReadChDataFormat( XclImpStream& rStrm );
/** Returns true, if the chart type group contains a hi-lo line format. */
- inline bool HasHiLoLine() const { return maChartLines.has( EXC_CHCHARTLINE_HILO ); }
+ inline bool HasHiLoLine() const { return maChartLines.find( EXC_CHCHARTLINE_HILO ) != maChartLines.end(); }
/** Returns true, if the chart type group contains drop bar formats. */
inline bool HasDropBars() const { return !maDropBars.empty(); }
@@ -1104,10 +1106,10 @@ private:
void CreateStockSeries( XChartTypeRef xChartType, sal_Int32 nApiAxesSetIdx ) const;
private:
- typedef ::std::vector< XclImpChSeriesRef > XclImpChSeriesVec;
- typedef ScfRefMap< sal_uInt16, XclImpChDropBar > XclImpChDropBarMap;
- typedef ScfRefMap< sal_uInt16, XclImpChLineFormat > XclImpChLineFormatMap;
- typedef ::std::set< sal_uInt16 > UInt16Set;
+ typedef ::std::vector< XclImpChSeriesRef > XclImpChSeriesVec;
+ typedef ScfRefMap< sal_uInt16, XclImpChDropBar > XclImpChDropBarMap;
+ typedef boost::ptr_map< sal_uInt16, XclImpChLineFormat > XclImpChLineFormatMap;
+ typedef ::std::set< sal_uInt16 > UInt16Set;
XclChTypeGroup maData; /// Contents of the CHTYPEGROUP record.
XclImpChType maType; /// Chart type (e.g. CHBAR, CHLINE, ...).
@@ -1122,7 +1124,7 @@ private:
UInt16Set maUnusedFormats; /// Contains unused format indexes for automatic colors.
};
-typedef ScfRef< XclImpChTypeGroup > XclImpChTypeGroupRef;
+typedef boost::shared_ptr< XclImpChTypeGroup > XclImpChTypeGroupRef;
// Axes =======================================================================
@@ -1144,7 +1146,7 @@ private:
XclChLabelRange maData; /// Contents of the CHLABELRANGE record.
};
-typedef ScfRef< XclImpChLabelRange > XclImpChLabelRangeRef;
+typedef boost::shared_ptr< XclImpChLabelRange > XclImpChLabelRangeRef;
// ----------------------------------------------------------------------------
@@ -1166,7 +1168,7 @@ private:
XclChValueRange maData; /// Contents of the CHVALUERANGE record.
};
-typedef ScfRef< XclImpChValueRange > XclImpChValueRangeRef;
+typedef boost::shared_ptr< XclImpChValueRange > XclImpChValueRangeRef;
// ----------------------------------------------------------------------------
@@ -1191,7 +1193,7 @@ private:
XclChTick maData; /// Contents of the CHTICK record.
};
-typedef ScfRef< XclImpChTick > XclImpChTickRef;
+typedef boost::shared_ptr< XclImpChTick > XclImpChTickRef;
// ----------------------------------------------------------------------------
@@ -1232,9 +1234,9 @@ public:
/** Returns true, if the axis contains caption labels. */
inline bool HasLabels() const { return !mxTick || mxTick->HasLabels(); }
/** Returns true, if the axis shows its major grid lines. */
- inline bool HasMajorGrid() const { return mxMajorGrid.is(); }
+ inline bool HasMajorGrid() const { return mxMajorGrid; }
/** Returns true, if the axis shows its minor grid lines. */
- inline bool HasMinorGrid() const { return mxMinorGrid.is(); }
+ inline bool HasMinorGrid() const { return mxMinorGrid; }
/** Creates an API axis object. */
XAxisRef CreateAxis( const XclImpChTypeGroup& rTypeGroup, const XclImpChAxis* pCrossingAxis ) const;
@@ -1262,7 +1264,7 @@ private:
sal_uInt16 mnNumFmtIdx; /// Index into number format buffer (CHFORMAT record).
};
-typedef ScfRef< XclImpChAxis > XclImpChAxisRef;
+typedef boost::shared_ptr< XclImpChAxis > XclImpChAxisRef;
// ----------------------------------------------------------------------------
@@ -1350,7 +1352,7 @@ private:
XclImpChTypeGroupMap maTypeGroups; /// Chart type groups (CHTYPEGROUP group).
};
-typedef ScfRef< XclImpChAxesSet > XclImpChAxesSetRef;
+typedef boost::shared_ptr< XclImpChAxesSet > XclImpChAxesSetRef;
// The chart object ===========================================================
@@ -1436,7 +1438,7 @@ private:
XclImpChLegendRef mxLegend; /// Chart legend (CHLEGEND group).
};
-typedef ScfRef< XclImpChChart > XclImpChChartRef;
+typedef boost::shared_ptr< XclImpChChart > XclImpChChartRef;
// ----------------------------------------------------------------------------
@@ -1501,7 +1503,7 @@ private:
void ReadChChart( XclImpStream& rStrm );
private:
- typedef ScfRef< XclImpChartDrawing > XclImpChartDrawingRef;
+ typedef boost::shared_ptr< XclImpChartDrawing > XclImpChartDrawingRef;
XclImpChChartRef mxChartData; /// The chart data (CHCHART group).
XclImpChartDrawingRef mxChartDrawing; /// Drawing container for embedded shapes.
diff --git a/sc/source/filter/inc/xicontent.hxx b/sc/source/filter/inc/xicontent.hxx
index 6bd2e38355f6..31a62aba7aa5 100644
--- a/sc/source/filter/inc/xicontent.hxx
+++ b/sc/source/filter/inc/xicontent.hxx
@@ -38,6 +38,7 @@
#include <map>
#include <boost/ptr_container/ptr_vector.hpp>
+#include <boost/noncopyable.hpp>
/* ============================================================================
Classes to import the big Excel document contents (related to several cells or
@@ -84,7 +85,7 @@ private:
// Hyperlinks =================================================================
/** Provides importing hyperlinks and inserting them into a document. */
-class XclImpHyperlink : ScfNoInstance
+class XclImpHyperlink : private boost::noncopyable
{
public:
/** Reads a HLINK record and inserts it into the document.
@@ -100,17 +101,29 @@ public:
/** Convert the sheet name with invalid character(s) in URL when the URL is
to a location within the same document (e.g. #'Sheet&Name'.A1). */
static void ConvertToValidTabName(String& rName);
+
+private:
+ /** We don't want anybody to instantiate this class, since it is just a
+ collection of static methods. To enforce this, the default constructor
+ is made private */
+ XclImpHyperlink();
};
// Label ranges ===============================================================
/** Provides importing label ranges and inserting them into a document. */
-class XclImpLabelranges : ScfNoInstance
+class XclImpLabelranges : private boost::noncopyable
{
public:
/** Reads a LABELRANGES record and inserts the label ranges into the document.
@descr Import stream must be located at start of a LABELRANGES record. */
static void ReadLabelranges( XclImpStream& rStrm );
+
+private:
+ /** We don't want anybody to instantiate this class, since it is just a
+ collection of static methods. To enforce this, the default constructor
+ is made private */
+ XclImpLabelranges();
};
// Conditional formatting =====================================================
@@ -159,7 +172,7 @@ public:
void Apply();
private:
- typedef ScfDelList< XclImpCondFormat > XclImpCondFmtList;
+ typedef boost::ptr_vector< XclImpCondFormat > XclImpCondFmtList;
XclImpCondFmtList maCondFmtList; /// List with all conditional formattings.
};
@@ -193,7 +206,7 @@ private:
// Web queries ================================================================
/** Stores the data of one web query. */
-class XclImpWebQuery : ScfNoCopy
+class XclImpWebQuery : private boost::noncopyable
{
public:
explicit XclImpWebQuery( const ScRange& rDestRange );
@@ -249,19 +262,25 @@ public:
void Apply();
private:
- typedef ScfDelList< XclImpWebQuery > XclImpWebQueryList;
+ typedef boost::ptr_vector< XclImpWebQuery > XclImpWebQueryList;
XclImpWebQueryList maWQList; /// List of the web query objects.
};
// Decryption =================================================================
/** Provides static functions to import stream decryption settings. */
-class XclImpDecryptHelper : ScfNoInstance
+class XclImpDecryptHelper : private boost::noncopyable
{
public:
/** Reads the FILEPASS record, queries a password and sets decryption algorihm.
@return Error code that may cause an error message after import. */
static ErrCode ReadFilepass( XclImpStream& rStrm );
+
+private:
+ /** We don't want anybody to instantiate this class, since it is just a
+ collection of static methods. To enforce this, the default constructor
+ is made private */
+ XclImpDecryptHelper();
};
// ============================================================================
@@ -322,7 +341,6 @@ private:
ProtectedSheetMap maProtectedSheets;
};
-
// ============================================================================
#endif
diff --git a/sc/source/filter/inc/xiescher.hxx b/sc/source/filter/inc/xiescher.hxx
index bf623b4a2da5..a41d39c1901b 100644
--- a/sc/source/filter/inc/xiescher.hxx
+++ b/sc/source/filter/inc/xiescher.hxx
@@ -38,6 +38,7 @@
#include "xlescher.hxx"
#include "xiroot.hxx"
#include "xistring.hxx"
+#include <boost/shared_ptr.hpp>
namespace com { namespace sun { namespace star {
namespace drawing { class XShape; }
@@ -54,7 +55,7 @@ class XclImpDrawing;
// Drawing objects ============================================================
class XclImpDrawObjBase;
-typedef ScfRef< XclImpDrawObjBase > XclImpDrawObjRef;
+typedef boost::shared_ptr< XclImpDrawObjBase > XclImpDrawObjRef;
/** Base class for drawing objects (OBJ records). */
class XclImpDrawObjBase : protected XclImpRoot
@@ -448,7 +449,7 @@ private:
void FinalizeTabChart();
private:
- typedef ScfRef< XclImpChart > XclImpChartRef;
+ typedef boost::shared_ptr< XclImpChart > XclImpChartRef;
XclImpChartRef mxChart; /// The chart itself (BOF/EOF substream data).
bool mbOwnTab; /// true = own sheet; false = embedded object.
@@ -484,9 +485,9 @@ public:
virtual ~XclImpControlHelper();
/** Returns true, if a linked cell address is present. */
- inline bool HasCellLink() const { return mxCellLink.is(); }
+ inline bool HasCellLink() const { return mxCellLink != 0; }
/** Returns true, if a linked source cell range is present. */
- inline bool HasSourceRange() const { return mxSrcRange.is(); }
+ inline bool HasSourceRange() const { return mxSrcRange != 0; }
/** Returns the SdrObject from the passed control shape and sets the bounding rectangle. */
SdrObject* CreateSdrObjectFromShape(
@@ -507,8 +508,8 @@ protected:
void ApplySheetLinkProps() const;
mutable ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
- mxShape; /// The UNO wrapper of the control shape.
- ScfRef< ScAddress > mxCellLink; /// Linked cell in the Calc document.
+ mxShape; /// The UNO wrapper of the control shape.
+ boost::shared_ptr< ScAddress > mxCellLink; /// Linked cell in the Calc document.
private:
/** Reads a list of cell ranges from a formula at the current stream position. */
void ReadRangeList( ScRangeList& rScRanges, XclImpStream& rStrm );
@@ -516,9 +517,9 @@ private:
void ReadRangeList( ScRangeList& rScRanges, XclImpStream& rStrm, bool bWithBoundSize );
private:
- const XclImpRoot& mrRoot; /// Not derived from XclImpRoot to allow multiple inheritance.
- ScfRef< ScRange > mxSrcRange; /// Source data range in the Calc document.
- XclCtrlBindMode meBindMode; /// Value binding mode.
+ const XclImpRoot& mrRoot; /// Not derived from XclImpRoot to allow multiple inheritance.
+ boost::shared_ptr< ScRange > mxSrcRange; /// Source data range in the Calc document.
+ XclCtrlBindMode meBindMode; /// Value binding mode.
};
// ----------------------------------------------------------------------------
@@ -977,7 +978,7 @@ public:
protected:
/** Returns a color from the Excel color palette. */
- virtual int GetColorFromPalette( USHORT nIndex, Color& rColor ) const;
+ virtual bool GetColorFromPalette( USHORT nIndex, Color& rColor ) const;
};
// ----------------------------------------------------------------------------
@@ -1091,8 +1092,8 @@ private:
void InitControlForm();
private:
- typedef ScfRef< ScfProgressBar > ScfProgressBarRef;
- typedef ScfRef< XclImpDffConvData > XclImpDffConvDataRef;
+ typedef boost::shared_ptr< ScfProgressBar > ScfProgressBarRef;
+ typedef boost::shared_ptr< XclImpDffConvData > XclImpDffConvDataRef;
typedef ::std::vector< XclImpDffConvDataRef > XclImpDffConvDataStack;
const ::rtl::OUString maStdFormName; /// Standard name of control forms.
@@ -1162,7 +1163,7 @@ private:
private:
typedef ::std::map< sal_Size, XclImpDrawObjRef > XclImpObjMap;
typedef ::std::map< sal_uInt16, XclImpDrawObjRef > XclImpObjMapById;
- typedef ScfRef< XclImpObjTextData > XclImpObjTextRef;
+ typedef boost::shared_ptr< XclImpObjTextData > XclImpObjTextRef;
typedef ::std::map< sal_Size, XclImpObjTextRef > XclImpObjTextMap;
XclImpDrawObjVector maRawObjs; /// BIFF5 objects without DFF data.
@@ -1213,8 +1214,6 @@ private:
/** Stores all drawing and OLE objects and additional data related to these objects. */
class XclImpObjectManager : protected XclImpRoot
{
-typedef std::hash_map< sal_Int32, String > CntrlObjIdToName;
-typedef std::map< String, CntrlObjIdToName > CodeNameToCntrlObjIdInfo;
public:
explicit XclImpObjectManager( const XclImpRoot& rRoot );
virtual ~XclImpObjectManager();
@@ -1231,13 +1230,15 @@ public:
String GetDefaultObjName( const XclImpDrawObjBase& rDrawObj ) const;
/** Returns the used area in the sheet with the passed index. */
ScRange GetUsedArea( SCTAB nScTab ) const;
- void SetOleNameOverrideInfo( const CodeNameToCntrlObjIdInfo& rOverrideInfo ) { maOleCtrlNameOverride = rOverrideInfo; }
+ /** Sets the container to receive overridden shape/ctrl names from
+ the filter. */
+ void SetOleNameOverrideInfo( const com::sun::star::uno::Reference< com::sun::star::container::XNameContainer >& rxOverrideInfo ) { mxOleCtrlNameOverride = rxOverrideInfo; }
+ /** Returns the name of overridden name ( or zero length string ) for
+ associated object id. */
String GetOleNameOverride( SCTAB nTab, sal_uInt16 nObjId );
// ------------------------------------------------------------------------
private:
- CodeNameToCntrlObjIdInfo maOleCtrlNameOverride;
-
/** Reads and returns a bitmap from WMF/PICT format. */
static void ReadWmf( Graphic& rGraphic, XclImpStream& rStrm );
/** Reads and returns a bitmap from BMP format. */
@@ -1262,14 +1263,15 @@ private:
private:
typedef ::std::map< sal_Size, XclImpDrawObjRef > XclImpObjMap;
typedef ::std::map< XclObjId, XclImpDrawObjRef > XclImpObjMapById;
- typedef ScfRef< XclImpObjTextData > XclImpObjTextRef;
+ typedef boost::shared_ptr< XclImpObjTextData > XclImpObjTextRef;
typedef ::std::map< sal_Size, XclImpObjTextRef > XclImpObjTextMap;
typedef ::std::vector< XclObjId > XclObjIdVec;
typedef ::std::map< sal_uInt16, String > DefObjNameMap;
- typedef ScfRef< XclImpSheetDrawing > XclImpSheetDrawingRef;
+ typedef boost::shared_ptr< XclImpSheetDrawing > XclImpSheetDrawingRef;
typedef ::std::map< SCTAB, XclImpSheetDrawingRef > XclImpSheetDrawingMap;
+ com::sun::star::uno::Reference< com::sun::star::container::XNameContainer > mxOleCtrlNameOverride;
DefObjNameMap maDefObjNames; /// Default base names for all object types.
SvMemoryStream maDggStrm; /// Copy of global DFF data (DGG container) in memory.
XclImpSheetDrawingMap maSheetDrawings; /// Drawing managers of all sheets.
diff --git a/sc/source/filter/inc/xiformula.hxx b/sc/source/filter/inc/xiformula.hxx
index 5ed9d04b0ea9..b245fe92cee1 100644
--- a/sc/source/filter/inc/xiformula.hxx
+++ b/sc/source/filter/inc/xiformula.hxx
@@ -31,6 +31,7 @@
#include "xlformula.hxx"
#include "xiroot.hxx"
+#include <boost/shared_ptr.hpp>
// Formula compiler ===========================================================
@@ -59,7 +60,7 @@ public:
const ScTokenArray* CreateFormula( XclFormulaType eType, const XclTokenArray& rXclTokArr );
private:
- typedef ScfRef< XclImpFmlaCompImpl > XclImpFmlaCompImplRef;
+ typedef boost::shared_ptr< XclImpFmlaCompImpl > XclImpFmlaCompImplRef;
XclImpFmlaCompImplRef mxImpl;
};
diff --git a/sc/source/filter/inc/xihelper.hxx b/sc/source/filter/inc/xihelper.hxx
index 6ee969c6b0a0..278d601f13ac 100644
--- a/sc/source/filter/inc/xihelper.hxx
+++ b/sc/source/filter/inc/xihelper.hxx
@@ -30,6 +30,9 @@
#define SC_XIHELPER_HXX
#include <editeng/editdata.hxx>
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/ptr_container/ptr_vector.hpp>
#include "scmatrix.hxx"
#include "xladdress.hxx"
#include "xiroot.hxx"
@@ -111,7 +114,7 @@ class EditTextObject;
/** This class provides methods to convert an XclImpString.
@The string can be converted to an edit engine text object or directly
to a Calc edit cell. */
-class XclImpStringHelper : ScfNoInstance
+class XclImpStringHelper : boost::noncopyable
{
public:
/** Returns a new edit engine text object.
@@ -126,6 +129,11 @@ public:
const XclImpRoot& rRoot,
const XclImpString& rString,
sal_uInt16 nXFIndex = 0 );
+private:
+ /** We don't want anybody to instantiate this class, since it is just a
+ collection of static methods. To enforce this, the default constructor
+ is made private */
+ XclImpStringHelper();
};
// Header/footer conversion ===================================================
@@ -165,7 +173,7 @@ struct XclFontData;
Known but unsupported control sequences:
&G picture
*/
-class XclImpHFConverter : protected XclImpRoot, ScfNoCopy
+class XclImpHFConverter : protected XclImpRoot, private boost::noncopyable
{
public:
explicit XclImpHFConverter( const XclImpRoot& rRoot );
@@ -188,7 +196,7 @@ private: // types
/** Contains all information about a header/footer portion. */
struct XclImpHFPortionInfo
{
- typedef ScfRef< EditTextObject > EditTextObjectRef;
+ typedef boost::shared_ptr< EditTextObject > EditTextObjectRef;
EditTextObjectRef mxObj; /// Edit engine text object.
ESelection maSel; /// Edit engine selection.
sal_Int32 mnHeight; /// Height of previous lines in twips.
@@ -250,7 +258,7 @@ private:
/** This class contains static methods to decode an URL stored in an Excel file.
@descr Excel URLs can contain a sheet name, for instance: path\[test.xls]Sheet1
This sheet name will be extracted automatically. */
-class XclImpUrlHelper : ScfNoInstance
+class XclImpUrlHelper : boost::noncopyable
{
public:
/** Decodes an encoded external document URL with optional sheet name.
@@ -280,6 +288,12 @@ public:
For OLE object links: Decodes to class name and document URL.
@return true = decoding was successful, returned strings are valid (not empty). */
static bool DecodeLink( String& rApplic, String& rTopic, const String rEncUrl );
+
+private:
+ /** We don't want anybody to instantiate this class, since it is just a
+ collection of static methods. To enforce this, the default constructor
+ is made private */
+ XclImpUrlHelper();
};
// Cached values ==============================================================
@@ -288,7 +302,7 @@ class ScTokenArray;
/** This class stores one cached value of a cached value list (used for instance in
CRN, EXTERNNAME, tArray). */
-class XclImpCachedValue : ScfNoCopy
+class XclImpCachedValue : boost::noncopyable
{
public:
/** Creates a cached value and reads contents from stream and stores it with its array address. */
@@ -334,7 +348,7 @@ public:
ScMatrixRef CreateScMatrix() const;
private:
- typedef ScfDelList< XclImpCachedValue > XclImpValueList;
+ typedef boost::ptr_vector< XclImpCachedValue > XclImpValueList;
XclImpValueList maValueList; /// List of cached cell values.
SCSIZE mnScCols; /// Number of cached columns.
diff --git a/sc/source/filter/inc/xiname.hxx b/sc/source/filter/inc/xiname.hxx
index bf260a76548e..8d05d680d690 100644
--- a/sc/source/filter/inc/xiname.hxx
+++ b/sc/source/filter/inc/xiname.hxx
@@ -29,7 +29,7 @@
#ifndef SC_XINAME_HXX
#define SC_XINAME_HXX
-#include <map>
+#include <boost/ptr_container/ptr_vector.hpp>
#include "xlname.hxx"
#include "xiroot.hxx"
@@ -91,7 +91,7 @@ public:
const XclImpName* GetName( sal_uInt16 nXclNameIdx ) const;
private:
- typedef ScfDelList< XclImpName > XclImpNameList;
+ typedef boost::ptr_vector< XclImpName > XclImpNameList;
XclImpNameList maNameList;
};
diff --git a/sc/source/filter/inc/xipivot.hxx b/sc/source/filter/inc/xipivot.hxx
index 72bb174b8d62..5096ff97bc2b 100644
--- a/sc/source/filter/inc/xipivot.hxx
+++ b/sc/source/filter/inc/xipivot.hxx
@@ -32,6 +32,7 @@
#include <list>
#include "xlpivot.hxx"
#include "xiroot.hxx"
+#include <boost/shared_ptr.hpp>
class ScDPSaveData;
class ScDPSaveDimension;
@@ -66,7 +67,7 @@ private:
void ReadSxempty( XclImpStream& rStrm );
};
-typedef ScfRef< XclImpPCItem > XclImpPCItemRef;
+typedef boost::shared_ptr< XclImpPCItem > XclImpPCItemRef;
// ============================================================================
@@ -153,7 +154,7 @@ private:
bool mbNumGroupInfoRead; /// true = Numeric grouping info read (SXNUMGROUP record).
};
-typedef ScfRef< XclImpPCField > XclImpPCFieldRef;
+typedef boost::shared_ptr< XclImpPCField > XclImpPCFieldRef;
// ============================================================================
@@ -199,7 +200,7 @@ private:
bool mbSelfRef; /// true = Source data from own document.
};
-typedef ScfRef< XclImpPivotCache > XclImpPivotCacheRef;
+typedef boost::shared_ptr< XclImpPivotCache > XclImpPivotCacheRef;
// ============================================================================
// Pivot table
@@ -230,7 +231,7 @@ private:
const XclImpPCField* mpCacheField; /// Corresponding pivot cache field.
};
-typedef ScfRef< XclImpPTItem > XclImpPTItemRef;
+typedef boost::shared_ptr< XclImpPTItem > XclImpPTItemRef;
// ============================================================================
@@ -309,7 +310,7 @@ private:
XclImpPTItemVec maItems; /// List of all items of this field.
};
-typedef ScfRef< XclImpPTField > XclImpPTFieldRef;
+typedef boost::shared_ptr< XclImpPTField > XclImpPTFieldRef;
// ============================================================================
@@ -385,7 +386,7 @@ private:
ScDPObject* mpDPObj;
};
-typedef ScfRef< XclImpPivotTable > XclImpPivotTableRef;
+typedef boost::shared_ptr< XclImpPivotTable > XclImpPivotTableRef;
// ============================================================================
// ============================================================================
diff --git a/sc/source/filter/inc/xiroot.hxx b/sc/source/filter/inc/xiroot.hxx
index c53c09029bdc..898f4eea4971 100644
--- a/sc/source/filter/inc/xiroot.hxx
+++ b/sc/source/filter/inc/xiroot.hxx
@@ -30,13 +30,14 @@
#define SC_XIROOT_HXX
#include "xlroot.hxx"
+#include <boost/shared_ptr.hpp>
// Forward declarations of objects in public use ==============================
class XclImpStream;
class XclImpString;
-typedef ScfRef< XclImpString > XclImpStringRef;
+typedef boost::shared_ptr< XclImpString > XclImpStringRef;
// Global data ================================================================
@@ -70,28 +71,28 @@ class ExcelToSc;
/** Stores global buffers and data needed for Excel import filter. */
struct XclImpRootData : public XclRootData
{
- typedef ScfRef< XclImpAddressConverter > XclImpAddrConvRef;
- typedef ScfRef< XclImpFormulaCompiler > XclImpFmlaCompRef;
-
- typedef ScfRef< XclImpSst > XclImpSstRef;
- typedef ScfRef< XclImpPalette > XclImpPaletteRef;
- typedef ScfRef< XclImpFontBuffer > XclImpFontBfrRef;
- typedef ScfRef< XclImpNumFmtBuffer > XclImpNumFmtBfrRef;
- typedef ScfRef< XclImpXFBuffer > XclImpXFBfrRef;
- typedef ScfRef< XclImpXFRangeBuffer > XclImpXFRangeBfrRef;
- typedef ScfRef< XclImpTabInfo > XclImpTabInfoRef;
- typedef ScfRef< XclImpNameManager > XclImpNameMgrRef;
- typedef ScfRef< XclImpLinkManager > XclImpLinkMgrRef;
- typedef ScfRef< XclImpObjectManager > XclImpObjectMgrRef;
- typedef ScfRef< XclImpCondFormatManager > XclImpCondFmtMgrRef;
- typedef ScfRef< XclImpValidationManager > XclImpValidationMgrRef;
- typedef ScfRef< XclImpWebQueryBuffer > XclImpWebQueryBfrRef;
- typedef ScfRef< XclImpPivotTableManager > XclImpPTableMgrRef;
- typedef ScfRef< XclImpPageSettings > XclImpPageSettRef;
- typedef ScfRef< XclImpDocViewSettings > XclImpDocViewSettRef;
- typedef ScfRef< XclImpTabViewSettings > XclImpTabViewSettRef;
- typedef ScfRef< XclImpSheetProtectBuffer > XclImpTabProtectRef;
- typedef ScfRef< XclImpDocProtectBuffer > XclImpDocProtectRef;
+ typedef boost::shared_ptr< XclImpAddressConverter > XclImpAddrConvRef;
+ typedef boost::shared_ptr< XclImpFormulaCompiler > XclImpFmlaCompRef;
+
+ typedef boost::shared_ptr< XclImpSst > XclImpSstRef;
+ typedef boost::shared_ptr< XclImpPalette > XclImpPaletteRef;
+ typedef boost::shared_ptr< XclImpFontBuffer > XclImpFontBfrRef;
+ typedef boost::shared_ptr< XclImpNumFmtBuffer > XclImpNumFmtBfrRef;
+ typedef boost::shared_ptr< XclImpXFBuffer > XclImpXFBfrRef;
+ typedef boost::shared_ptr< XclImpXFRangeBuffer > XclImpXFRangeBfrRef;
+ typedef boost::shared_ptr< XclImpTabInfo > XclImpTabInfoRef;
+ typedef boost::shared_ptr< XclImpNameManager > XclImpNameMgrRef;
+ typedef boost::shared_ptr< XclImpLinkManager > XclImpLinkMgrRef;
+ typedef boost::shared_ptr< XclImpObjectManager > XclImpObjectMgrRef;
+ typedef boost::shared_ptr< XclImpCondFormatManager > XclImpCondFmtMgrRef;
+ typedef boost::shared_ptr< XclImpValidationManager > XclImpValidationMgrRef;
+ typedef boost::shared_ptr< XclImpWebQueryBuffer > XclImpWebQueryBfrRef;
+ typedef boost::shared_ptr< XclImpPivotTableManager > XclImpPTableMgrRef;
+ typedef boost::shared_ptr< XclImpPageSettings > XclImpPageSettRef;
+ typedef boost::shared_ptr< XclImpDocViewSettings > XclImpDocViewSettRef;
+ typedef boost::shared_ptr< XclImpTabViewSettings > XclImpTabViewSettRef;
+ typedef boost::shared_ptr< XclImpSheetProtectBuffer > XclImpTabProtectRef;
+ typedef boost::shared_ptr< XclImpDocProtectBuffer > XclImpDocProtectRef;
XclImpAddrConvRef mxAddrConv; /// The address converter.
XclImpFmlaCompRef mxFmlaComp; /// The formula compiler.
diff --git a/sc/source/filter/inc/xistream.hxx b/sc/source/filter/inc/xistream.hxx
index 6dff1a867f2e..86428c199639 100644
--- a/sc/source/filter/inc/xistream.hxx
+++ b/sc/source/filter/inc/xistream.hxx
@@ -31,6 +31,7 @@
#include <comphelper/docpasswordhelper.hxx>
#include <filter/msfilter/mscodec.hxx>
+#include <boost/shared_ptr.hpp>
#include "xlstream.hxx"
#include "xlconst.hxx"
@@ -48,7 +49,7 @@ Input stream class for Excel import
// ============================================================================
class XclImpDecrypter;
-typedef ScfRef< XclImpDecrypter > XclImpDecrypterRef;
+typedef boost::shared_ptr< XclImpDecrypter > XclImpDecrypterRef;
/** Base class for BIFF stream decryption. */
class XclImpDecrypter : public ::comphelper::IDocPasswordVerifier
diff --git a/sc/source/filter/inc/xistyle.hxx b/sc/source/filter/inc/xistyle.hxx
index b4aa9e96d384..399f0027b155 100644
--- a/sc/source/filter/inc/xistyle.hxx
+++ b/sc/source/filter/inc/xistyle.hxx
@@ -31,6 +31,9 @@
#include <list>
#include <tools/mempool.hxx>
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/ptr_container/ptr_vector.hpp>
#include "rangelst.hxx"
#include "patattr.hxx"
#include "xladdress.hxx"
@@ -38,7 +41,7 @@
#include "xiroot.hxx"
class ScDocumentPool;
-class ScAttrEntry;
+struct ScAttrEntry;
/* ============================================================================
- Buffers for style records (PALETTE, FONT, FORMAT, XF)
@@ -168,7 +171,7 @@ private:
// ----------------------------------------------------------------------------
/** Stores the data of all fonts occurred in an Excel file. */
-class XclImpFontBuffer : protected XclImpRoot, ScfNoCopy
+class XclImpFontBuffer : protected XclImpRoot, private boost::noncopyable
{
public:
explicit XclImpFontBuffer( const XclImpRoot& rRoot );
@@ -206,15 +209,15 @@ private:
void UpdateAppFont( const XclFontData& rFontData, bool bHasCharSet );
private:
- ScfDelList< XclImpFont > maFontList; /// List of all FONT records in the Excel file.
- XclFontData maAppFont; /// Application font (for column width).
- XclImpFont maFont4; /// Built-in font with index 4.
- XclImpFont maCtrlFont; /// BIFF5 default form controls font (Helv,8pt,bold).
+ boost::ptr_vector< XclImpFont > maFontList; /// List of all FONT records in the Excel file.
+ XclFontData maAppFont; /// Application font (for column width).
+ XclImpFont maFont4; /// Built-in font with index 4.
+ XclImpFont maCtrlFont; /// BIFF5 default form controls font (Helv,8pt,bold).
};
// FORMAT record - number formats =============================================
-/** Stores all user defined number formats occured in the file. */
+/** Stores all user defined number formats occurred in the file. */
class XclImpNumFmtBuffer : public XclNumFmtBuffer, protected XclImpRoot
{
public:
@@ -392,7 +395,7 @@ inline bool operator!=( const XclImpXFIndex& rLeft, const XclImpXFIndex& rRight
// ----------------------------------------------------------------------------
/** Contains all data of a XF record and a Calc item set. */
-class XclImpXF : public XclXFBase, protected XclImpRoot, ScfNoCopy
+class XclImpXF : public XclXFBase, protected XclImpRoot, private boost::noncopyable
{
public:
explicit XclImpXF( const XclImpRoot& rRoot );
@@ -478,9 +481,9 @@ private:
// ----------------------------------------------------------------------------
-/** Contains all XF records occured in the file.
+/** Contains all XF records occurred in the file.
@descr This class is able to read XF records (BIFF2 - BIFF8) and STYLE records (BIFF8). */
-class XclImpXFBuffer : protected XclImpRoot, ScfNoCopy
+class XclImpXFBuffer : protected XclImpRoot, private boost::noncopyable
{
public:
explicit XclImpXFBuffer( const XclImpRoot& rRoot );
@@ -494,8 +497,11 @@ public:
void ReadStyle( XclImpStream& rStrm );
/** Returns the object that stores all contents of an XF record. */
- inline XclImpXF* GetXF( sal_uInt16 nXFIndex ) const
- { return maXFList.GetObject( nXFIndex ); }
+ inline XclImpXF* GetXF( sal_uInt16 nXFIndex )
+ { return (nXFIndex >= maXFList.size()) ? NULL : &maXFList.at(nXFIndex); }
+
+ inline const XclImpXF* GetXF( sal_uInt16 nXFIndex ) const
+ { return (nXFIndex >= maXFList.size()) ? NULL : &maXFList.at(nXFIndex); }
/** Returns the index to the Excel font used in the specified XF record. */
sal_uInt16 GetFontIndex( sal_uInt16 nXFIndex ) const;
@@ -509,10 +515,10 @@ public:
ScStyleSheet* CreateStyleSheet( sal_uInt16 nXFIndex );
private:
- typedef ScfDelList< XclImpStyle > XclImpStyleList;
+ typedef boost::ptr_vector< XclImpStyle > XclImpStyleList;
typedef ::std::map< sal_uInt16, XclImpStyle* > XclImpStyleMap;
- ScfDelList< XclImpXF > maXFList; /// List of contents of all XF record.
+ boost::ptr_vector< XclImpXF > maXFList; /// List of contents of all XF record.
XclImpStyleList maBuiltinStyles; /// List of built-in cell styles.
XclImpStyleList maUserStyles; /// List of user defined cell styles.
XclImpStyleMap maStylesByXf; /// Maps XF records to cell styles.
@@ -564,15 +570,15 @@ inline bool XclImpXFRange::Contains( SCROW nScRow ) const
// ----------------------------------------------------------------------------
/** Contains the XF indexes for every used cell in a column. */
-class XclImpXFRangeColumn : ScfNoCopy
+class XclImpXFRangeColumn : private boost::noncopyable
{
public:
+ typedef ::boost::ptr_vector<XclImpXFRange> IndexList;
+
inline explicit XclImpXFRangeColumn() {}
- /** Returns the first formatted cell range in this column. */
- inline XclImpXFRange* First() { return maIndexList.First(); }
- /** Returns the next formatted cell range in this column. */
- inline XclImpXFRange* Next() { return maIndexList.Next(); }
+ IndexList::iterator begin() { return maIndexList.begin(); }
+ IndexList::iterator end() { return maIndexList.end(); }
/** Inserts a single row range into the list. */
void SetDefaultXF( const XclImpXFIndex& rXFIndex );
@@ -587,21 +593,24 @@ private:
XclImpXFRange*& rpPrevRange,
XclImpXFRange*& rpNextRange,
ULONG& rnNextIndex,
- SCROW nScRow ) const;
+ SCROW nScRow );
/** Tries to concatenate a range with its predecessor.
@descr The ranges must have the same XF index and must not have a gap.
The resulting range has the index nIndex-1. */
void TryConcatPrev( ULONG nIndex );
+ /** Insert a range into the list at the specified index. */
+ void Insert(XclImpXFRange* pXFRange, ULONG nIndex);
+
private:
- ScfDelList< XclImpXFRange > maIndexList; /// The list of XF index range.
+ IndexList maIndexList; /// The list of XF index range.
};
// ----------------------------------------------------------------------------
/** Contains the XF indexes for every used cell in a single sheet. */
-class XclImpXFRangeBuffer : protected XclImpRoot, ScfNoCopy
+class XclImpXFRangeBuffer : protected XclImpRoot, private boost::noncopyable
{
public:
explicit XclImpXFRangeBuffer( const XclImpRoot& rRoot );
@@ -654,10 +663,10 @@ private:
void SetBorderLine( const ScRange& rRange, SCTAB nScTab, USHORT nLine );
private:
- typedef ScfRef< XclImpXFRangeColumn > XclImpXFRangeColumnRef;
- typedef ::std::vector< XclImpXFRangeColumnRef > XclImpXFRangeColumnVec;
- typedef ::std::pair< XclRange, String > XclImpHyperlinkRange;
- typedef ::std::list< XclImpHyperlinkRange > XclImpHyperlinkList;
+ typedef boost::shared_ptr< XclImpXFRangeColumn > XclImpXFRangeColumnRef;
+ typedef ::std::vector< XclImpXFRangeColumnRef > XclImpXFRangeColumnVec;
+ typedef ::std::pair< XclRange, String > XclImpHyperlinkRange;
+ typedef ::std::list< XclImpHyperlinkRange > XclImpHyperlinkList;
XclImpXFRangeColumnVec maColumns; /// Array of column XF index buffers.
XclImpHyperlinkList maHyperlinks; /// Maps URLs to hyperlink cells.
diff --git a/sc/source/filter/inc/xlchart.hxx b/sc/source/filter/inc/xlchart.hxx
index c6ebe7382c7b..6c4ced698745 100644
--- a/sc/source/filter/inc/xlchart.hxx
+++ b/sc/source/filter/inc/xlchart.hxx
@@ -37,6 +37,7 @@
#include <map>
#include <tools/gen.hxx>
#include "fapihelper.hxx"
+#include <boost/shared_ptr.hpp>
namespace com { namespace sun { namespace star {
namespace container { class XNameContainer; }
@@ -823,8 +824,8 @@ class EscherPropertyContainer;
struct XclChEscherFormat
{
- typedef ScfRef< SfxItemSet > SfxItemSetRef;
- typedef ScfRef< EscherPropertyContainer > EscherPropSetRef;
+ typedef boost::shared_ptr< SfxItemSet > SfxItemSetRef;
+ typedef boost::shared_ptr< EscherPropertyContainer > EscherPropSetRef;
SfxItemSetRef mxItemSet; /// Item set for Escher properties import.
EscherPropSetRef mxEscherSet; /// Container for Escher properties export.
@@ -1445,9 +1446,9 @@ private:
/** Base struct for internal root data structs for import and export. */
struct XclChRootData
{
- typedef ScfRef< XclChTypeInfoProvider > XclChTypeProvRef;
- typedef ScfRef< XclChFormatInfoProvider > XclChFmtInfoProvRef;
- typedef ScfRef< XclChObjectTable > XclChObjectTableRef;
+ typedef boost::shared_ptr< XclChTypeInfoProvider > XclChTypeProvRef;
+ typedef boost::shared_ptr< XclChFormatInfoProvider > XclChFmtInfoProvRef;
+ typedef boost::shared_ptr< XclChObjectTable > XclChObjectTableRef;
typedef ::std::map< XclChTextKey, XclChGetShapeFunc > XclChGetShapeFuncMap;
::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartDocument >
diff --git a/sc/source/filter/inc/xlformula.hxx b/sc/source/filter/inc/xlformula.hxx
index 5dfdb3ca1c12..520af6f1d69b 100644
--- a/sc/source/filter/inc/xlformula.hxx
+++ b/sc/source/filter/inc/xlformula.hxx
@@ -33,6 +33,7 @@
#include <formula/opcode.hxx>
#include "address.hxx"
#include "ftools.hxx"
+#include <boost/shared_ptr.hpp>
// Constants ==================================================================
@@ -409,7 +410,7 @@ private:
bool mbVolatile; /// True = Formula contains volatile function.
};
-typedef ScfRef< XclTokenArray > XclTokenArrayRef;
+typedef boost::shared_ptr< XclTokenArray > XclTokenArrayRef;
/** Calls the Read() function at the passed token array. */
XclImpStream& operator>>( XclImpStream& rStrm, XclTokenArray& rTokArr );
diff --git a/sc/source/filter/inc/xlpage.hxx b/sc/source/filter/inc/xlpage.hxx
index dfed44b91afd..f58f815edcbe 100644
--- a/sc/source/filter/inc/xlpage.hxx
+++ b/sc/source/filter/inc/xlpage.hxx
@@ -30,6 +30,7 @@
#define SC_XLPAGE_HXX
#include <tools/gen.hxx>
+#include <boost/noncopyable.hpp>
#include "xltools.hxx"
// Constants and Enumerations =================================================
@@ -100,7 +101,7 @@ class SvxBrushItem;
class SfxPrinter;
/** Contains all page (print) settings for a single sheet. */
-struct XclPageData : ScfNoCopy
+struct XclPageData : private boost::noncopyable
{
typedef ::std::auto_ptr< SvxBrushItem > SvxBrushItemPtr;
diff --git a/sc/source/filter/inc/xlroot.hxx b/sc/source/filter/inc/xlroot.hxx
index e1261be05be0..9df1ccc04e44 100644
--- a/sc/source/filter/inc/xlroot.hxx
+++ b/sc/source/filter/inc/xlroot.hxx
@@ -33,6 +33,7 @@
#include <sot/storage.hxx>
#include "xlconst.hxx"
#include "xltools.hxx"
+#include <boost/shared_ptr.hpp>
namespace comphelper { class IDocPasswordVerifier; }
@@ -76,14 +77,14 @@ struct XclRootData
: public XclDebugObjCounter
#endif
{
- typedef ScfRef< ScEditEngineDefaulter > ScEEDefaulterRef;
- typedef ScfRef< ScHeaderEditEngine > ScHeaderEERef;
- typedef ScfRef< EditEngine > EditEngineRef;
- typedef ScfRef< XclFontPropSetHelper > XclFontPropSetHlpRef;
- typedef ScfRef< XclChPropSetHelper > XclChPropSetHlpRef;
- typedef ScfRef< ScExtDocOptions > ScExtDocOptRef;
- typedef ScfRef< XclTracer > XclTracerRef;
- typedef ScfRef< RootData > RootDataRef;
+ typedef boost::shared_ptr< ScEditEngineDefaulter > ScEEDefaulterRef;
+ typedef boost::shared_ptr< ScHeaderEditEngine > ScHeaderEERef;
+ typedef boost::shared_ptr< EditEngine > EditEngineRef;
+ typedef boost::shared_ptr< XclFontPropSetHelper > XclFontPropSetHlpRef;
+ typedef boost::shared_ptr< XclChPropSetHelper > XclChPropSetHlpRef;
+ typedef boost::shared_ptr< ScExtDocOptions > ScExtDocOptRef;
+ typedef boost::shared_ptr< XclTracer > XclTracerRef;
+ typedef boost::shared_ptr< RootData > RootDataRef;
XclBiff meBiff; /// Current BIFF version.
XclOutput meOutput; /// Current Output format.
diff --git a/sc/source/filter/inc/xltools.hxx b/sc/source/filter/inc/xltools.hxx
index 7ae02d758151..b34cd4c3b8cf 100644
--- a/sc/source/filter/inc/xltools.hxx
+++ b/sc/source/filter/inc/xltools.hxx
@@ -31,6 +31,7 @@
#include "address.hxx"
#include "ftools.hxx"
+#include <boost/noncopyable.hpp>
class SfxObjectShell;
@@ -89,7 +90,7 @@ class SvStream;
class ScDocument;
/** This class contains static helper methods for the Excel import and export filters. */
-class XclTools : ScfNoInstance
+class XclTools : boost::noncopyable
{
public:
// GUID's -----------------------------------------------------------------
@@ -250,6 +251,11 @@ private:
static const String maCFStyleNamePrefix2; /// Prefix for cond. formatting style names from OOX filter.
static const ::rtl::OUString maSbMacroPrefix; /// Prefix for StarBasic macros.
static const ::rtl::OUString maSbMacroSuffix; /// Suffix for StarBasic macros.
+
+ /** We don't want anybody to instantiate this class, since it is just a
+ collection of static items. To enforce this, the default constructor
+ is made private */
+ XclTools();
};
// read/write colors ----------------------------------------------------------
diff --git a/sc/source/filter/inc/xlview.hxx b/sc/source/filter/inc/xlview.hxx
index 0b2f91ad6e21..be84506a6fe8 100644
--- a/sc/source/filter/inc/xlview.hxx
+++ b/sc/source/filter/inc/xlview.hxx
@@ -33,6 +33,7 @@
#include <tools/color.hxx>
#include "ftools.hxx"
#include "xladdress.hxx"
+#include <boost/shared_ptr.hpp>
// Constants and enumerations =================================================
@@ -122,7 +123,7 @@ struct XclSelectionData
inline explicit XclSelectionData() : mnCursorIdx( 0 ) {}
};
-typedef ScfRef< XclSelectionData > XclSelectionDataRef;
+typedef boost::shared_ptr< XclSelectionData > XclSelectionDataRef;
// ----------------------------------------------------------------------------
diff --git a/sc/source/filter/lotus/lotform.cxx b/sc/source/filter/lotus/lotform.cxx
index c307af332680..7a050d22f69c 100644
--- a/sc/source/filter/lotus/lotform.cxx
+++ b/sc/source/filter/lotus/lotform.cxx
@@ -166,7 +166,6 @@ void LotusToSc::DoFunc( DefTokenId eOc, BYTE nAnz, const sal_Char* pExtString )
if( nAnz > 0 )
{
- INT16 nNull = -1; // gibt einen auszulassenden Parameter an
// ACHTUNG: 0 ist der letzte Parameter, nAnz-1 der erste
INT16 nLast = nAnz - 1;
@@ -184,6 +183,7 @@ void LotusToSc::DoFunc( DefTokenId eOc, BYTE nAnz, const sal_Char* pExtString )
// [Parameter{;Parameter}]
aPool << eParam[ nLast ];
+ INT16 nNull = -1; // gibt einen auszulassenden Parameter an
for( nLauf = nLast - 1 ; nLauf >= 0 ; nLauf-- )
{
if( nLauf != nNull )
diff --git a/sc/source/filter/lotus/makefile.mk b/sc/source/filter/lotus/makefile.mk
index e4d18f8f9a7d..96e0133af309 100644
--- a/sc/source/filter/lotus/makefile.mk
+++ b/sc/source/filter/lotus/makefile.mk
@@ -44,22 +44,22 @@ VISIBILITY_HIDDEN=TRUE
# --- Files --------------------------------------------------------
-SLOFILES = \
+SLOFILES = \
+ $(EXCEPTIONSFILES) \
+ $(SLO)$/optab.obj
+
+EXCEPTIONSFILES = \
+ $(SLO)$/expop.obj \
+ $(SLO)$/export.obj \
$(SLO)$/filter.obj \
- $(SLO)$/lotus.obj \
- $(SLO)$/lotimpop.obj \
- $(SLO)$/lotread.obj \
+ $(SLO)$/lotattr.obj \
$(SLO)$/lotform.obj \
+ $(SLO)$/lotimpop.obj \
+ $(SLO)$/lotread.obj \
+ $(SLO)$/lotus.obj \
$(SLO)$/memory.obj \
$(SLO)$/op.obj \
- $(SLO)$/optab.obj \
- $(SLO)$/tool.obj \
- $(SLO)$/expop.obj \
- $(SLO)$/export.obj \
- $(SLO)$/lotattr.obj
-
-EXCEPTIONSFILES = \
- $(SLO)$/op.obj
+ $(SLO)$/tool.obj
# --- Tagets -------------------------------------------------------
diff --git a/sc/source/filter/lotus/op.cxx b/sc/source/filter/lotus/op.cxx
index 5d38852c2170..e92e52bfb5e9 100644
--- a/sc/source/filter/lotus/op.cxx
+++ b/sc/source/filter/lotus/op.cxx
@@ -256,12 +256,10 @@ void OP_SymphNamedRange( SvStream& r, UINT16 /*n*/ )
// POST: waren Koordinaten ungueltig, wird nicht gespeichert
UINT16 nColSt, nRowSt, nColEnd, nRowEnd;
BYTE nType;
- sal_Char* pName;
sal_Char cPuffer[ 32 ];
r.Read( cPuffer, 16 );
cPuffer[ 16 ] = 0;
- pName = cPuffer;
r >> nColSt >> nRowSt >> nColEnd >> nRowEnd >> nType;
diff --git a/sc/source/filter/qpro/makefile.mk b/sc/source/filter/qpro/makefile.mk
index 7406f05e3308..f5e66ea0e514 100644
--- a/sc/source/filter/qpro/makefile.mk
+++ b/sc/source/filter/qpro/makefile.mk
@@ -43,11 +43,14 @@ AUTOSEG=true
# --- Files --------------------------------------------------------
-SLOFILES = \
- $(SLO)$/qpro.obj \
+SLOFILES = \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES = \
+ $(SLO)$/biff.obj \
+ $(SLO)$/qpro.obj \
$(SLO)$/qproform.obj \
- $(SLO)$/qprostyle.obj \
- $(SLO)$/biff.obj
+ $(SLO)$/qprostyle.obj
# --- Tagets -------------------------------------------------------
diff --git a/sc/source/filter/qpro/qproform.cxx b/sc/source/filter/qpro/qproform.cxx
index b579dade9331..0e39d2c7a919 100644
--- a/sc/source/filter/qpro/qproform.cxx
+++ b/sc/source/filter/qpro/qproform.cxx
@@ -152,7 +152,6 @@ void QProToSc::DoFunc( DefTokenId eOc, sal_uInt16 nArgs, const sal_Char* pExtStr
if( nArgs> 0 )
{
- INT16 nNull = -1;
INT16 nLast = nArgs- 1;
if( eOc == ocZGZ )
@@ -161,6 +160,7 @@ void QProToSc::DoFunc( DefTokenId eOc, sal_uInt16 nArgs, const sal_Char* pExtStr
aPool << eParam[ 3 ] << ocSep << eParam[ 2 ] << ocSep << eParam[ 1 ] << ocSep << eParam[ 0 ];
else
{
+ INT16 nNull = -1;
aPool << eParam[ nLast ];
for( nCount = nLast - 1 ; nCount >= 0 ; nCount-- )
{
diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx
index 126ce0ef6865..71e67bde85ca 100644
--- a/sc/source/filter/rtf/eeimpars.cxx
+++ b/sc/source/filter/rtf/eeimpars.cxx
@@ -131,7 +131,7 @@ ULONG ScEEImport::Read( SvStream& rStream, const String& rBaseURL )
void ScEEImport::WriteToDocument( BOOL bSizeColsRows, double nOutputFactor, SvNumberFormatter* pFormatter, bool bConvertDate )
{
ScProgress* pProgress = new ScProgress( mpDoc->GetDocumentShell(),
- ScGlobal::GetRscString( STR_LOAD_DOC ), mpParser->Count() );
+ ScGlobal::GetRscString( STR_LOAD_DOC ), mpParser->ListSize() );
ULONG nProgress = 0;
SCCOL nStartCol, nEndCol;
@@ -160,8 +160,9 @@ void ScEEImport::WriteToDocument( BOOL bSizeColsRows, double nOutputFactor, SvNu
}
ScDocumentPool* pDocPool = mpDoc->GetPool();
ScRangeName* pRangeNames = mpDoc->GetRangeName();
- for ( pE = mpParser->First(); pE; pE = mpParser->Next() )
+ for ( size_t i = 0, nListSize = mpParser->ListSize(); i < nListSize; ++i )
{
+ pE = mpParser->ListEntry( i );
SCROW nRow = nStartRow + pE->nRow;
if ( nRow != nLastMergedRow )
nMergeColAdd = 0;
@@ -279,22 +280,22 @@ void ScEEImport::WriteToDocument( BOOL bSizeColsRows, double nOutputFactor, SvNu
BYTE nScriptType = mpDoc->GetStringScriptType( aStr );
const BYTE nScripts[3] = { SCRIPTTYPE_LATIN,
SCRIPTTYPE_ASIAN, SCRIPTTYPE_COMPLEX };
- for ( BYTE i=0; i<3; ++i )
+ for ( BYTE j=0; j<3; ++j )
{
- if ( nScriptType & nScripts[i] )
+ if ( nScriptType & nScripts[j] )
{
if ( pFont )
rSet.Put( *pFont, ScGlobal::GetScriptedWhichID(
- nScripts[i], ATTR_FONT ));
+ nScripts[j], ATTR_FONT ));
if ( pHeight )
rSet.Put( *pHeight, ScGlobal::GetScriptedWhichID(
- nScripts[i], ATTR_FONT_HEIGHT ));
+ nScripts[j], ATTR_FONT_HEIGHT ));
if ( pWeight )
rSet.Put( *pWeight, ScGlobal::GetScriptedWhichID(
- nScripts[i], ATTR_FONT_WEIGHT ));
+ nScripts[j], ATTR_FONT_WEIGHT ));
if ( pPosture )
rSet.Put( *pPosture, ScGlobal::GetScriptedWhichID(
- nScripts[i], ATTR_FONT_POSTURE ));
+ nScripts[j], ATTR_FONT_POSTURE ));
}
}
}
@@ -399,7 +400,7 @@ void ScEEImport::WriteToDocument( BOOL bSizeColsRows, double nOutputFactor, SvNu
mpDoc, mpEngine->GetEditTextObjectPool() ) );
delete pObject;
}
- if ( pE->pImageList )
+ if ( pE->maImageList.size() )
bHasGraphics |= GraphicSize( nCol, nRow, nTab, pE );
if ( pE->pName )
{ // Anchor Name => RangeName
@@ -451,10 +452,12 @@ void ScEEImport::WriteToDocument( BOOL bSizeColsRows, double nOutputFactor, SvNu
}
}
if ( bHasGraphics )
- { // Grafiken einfuegen
- for ( pE = mpParser->First(); pE; pE = mpParser->Next() )
+ {
+ // Grafiken einfuegen
+ for ( size_t i = 0, nListSize = mpParser->ListSize(); i < nListSize; ++i )
{
- if ( pE->pImageList )
+ pE = mpParser->ListEntry( i );
+ if ( !pE->maImageList.empty() )
{
SCCOL nCol = pE->nCol;
SCROW nRow = pE->nRow;
@@ -468,19 +471,18 @@ void ScEEImport::WriteToDocument( BOOL bSizeColsRows, double nOutputFactor, SvNu
}
-BOOL ScEEImport::GraphicSize( SCCOL nCol, SCROW nRow, SCTAB /*nTab*/,
- ScEEParseEntry* pE )
+BOOL ScEEImport::GraphicSize( SCCOL nCol, SCROW nRow, SCTAB /*nTab*/, ScEEParseEntry* pE )
{
- ScHTMLImageList* pIL = pE->pImageList;
- if ( !pIL || !pIL->Count() )
+ if ( !pE->maImageList.size() )
return FALSE;
BOOL bHasGraphics = FALSE;
OutputDevice* pDefaultDev = Application::GetDefaultDevice();
long nWidth, nHeight;
nWidth = nHeight = 0;
sal_Char nDir = nHorizontal;
- for ( ScHTMLImage* pI = pIL->First(); pI; pI = pIL->Next() )
+ for ( sal_uInt32 i = 0; i < pE->maImageList.size() ; ++i )
{
+ ScHTMLImage* pI = &pE->maImageList[ i ];
if ( pI->pGraphic )
bHasGraphics = TRUE;
Size aSizePix = pI->aSize;
@@ -536,8 +538,7 @@ BOOL ScEEImport::GraphicSize( SCCOL nCol, SCROW nRow, SCTAB /*nTab*/,
void ScEEImport::InsertGraphic( SCCOL nCol, SCROW nRow, SCTAB nTab,
ScEEParseEntry* pE )
{
- ScHTMLImageList* pIL = pE->pImageList;
- if ( !pIL || !pIL->Count() )
+ if ( !pE->maImageList.size() )
return ;
ScDrawLayer* pModel = mpDoc->GetDrawLayer();
if (!pModel)
@@ -556,8 +557,9 @@ void ScEEImport::InsertGraphic( SCCOL nCol, SCROW nRow, SCTAB nTab,
Point aSpace;
Size aLogicSize;
sal_Char nDir = nHorizontal;
- for ( ScHTMLImage* pI = pIL->First(); pI; pI = pIL->Next() )
+ for ( sal_uInt32 i = 0; i < pE->maImageList.size(); ++i )
{
+ ScHTMLImage* pI = &pE->maImageList[ i ];
if ( nDir & nHorizontal )
{ // horizontal
aInsertPos.X() += aLogicSize.Width();
@@ -604,7 +606,6 @@ ScEEParser::ScEEParser( EditEngine* pEditP ) :
pEdit( pEditP ),
pPool( EditEngine::CreatePool() ),
pDocPool( new ScDocumentPool ),
- pList( new ScEEParseList ),
pColWidths( new Table ),
nLastToken(0),
nColCnt(0),
@@ -623,9 +624,7 @@ ScEEParser::~ScEEParser()
{
delete pActEntry;
delete pColWidths;
- for ( ScEEParseEntry* pE = pList->First(); pE; pE = pList->Next() )
- delete pE;
- delete pList;
+ if ( !maList.empty() ) maList.clear();
// Pool erst loeschen nachdem die Listen geloescht wurden
pPool->SetSecondaryPool( NULL );
diff --git a/sc/source/filter/rtf/expbase.cxx b/sc/source/filter/rtf/expbase.cxx
index 4c0aa3a1619c..6ae7a310a69a 100644
--- a/sc/source/filter/rtf/expbase.cxx
+++ b/sc/source/filter/rtf/expbase.cxx
@@ -40,9 +40,9 @@
//------------------------------------------------------------------
#if defined(UNX)
-const sal_Char __FAR_DATA ScExportBase::sNewLine = '\012';
+const sal_Char ScExportBase::sNewLine = '\012';
#else
-const sal_Char __FAR_DATA ScExportBase::sNewLine[] = "\015\012";
+const sal_Char ScExportBase::sNewLine[] = "\015\012";
#endif
diff --git a/sc/source/filter/rtf/makefile.mk b/sc/source/filter/rtf/makefile.mk
index 651309fb454d..3aa6dbe8ad8d 100644
--- a/sc/source/filter/rtf/makefile.mk
+++ b/sc/source/filter/rtf/makefile.mk
@@ -44,8 +44,11 @@ VISIBILITY_HIDDEN=TRUE
# --- Files --------------------------------------------------------
-SLOFILES = \
- $(SLO)$/eeimpars.obj \
+SLOFILES = \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES = \
+ $(SLO)$/eeimpars.obj \
$(SLO)$/expbase.obj \
$(SLO)$/rtfexp.obj \
$(SLO)$/rtfimp.obj \
diff --git a/sc/source/filter/rtf/rtfparse.cxx b/sc/source/filter/rtf/rtfparse.cxx
index b9db5db760f8..d3db0458bc6a 100644
--- a/sc/source/filter/rtf/rtfparse.cxx
+++ b/sc/source/filter/rtf/rtfparse.cxx
@@ -79,8 +79,7 @@ ScRTFParser::~ScRTFParser()
{
delete pInsDefault;
delete pColTwips;
- for ( ScRTFCellDefault* pD = pDefaultList->First(); pD; pD = pDefaultList->Next() )
- delete pD;
+ pDefaultList->clear();
delete pDefaultList;
}
@@ -92,18 +91,23 @@ ULONG ScRTFParser::Read( SvStream& rStream, const String& rBaseURL )
ULONG nErr = pEdit->Read( rStream, rBaseURL, EE_FORMAT_RTF );
if ( nLastToken == RTF_PAR )
{
- ScEEParseEntry* pE = pList->Last();
- if ( pE
- // komplett leer
- && (( pE->aSel.nStartPara == pE->aSel.nEndPara
- && pE->aSel.nStartPos == pE->aSel.nEndPos)
- // leerer Paragraph
- || ( pE->aSel.nStartPara + 1 == pE->aSel.nEndPara
- && pE->aSel.nStartPos == pEdit->GetTextLen( pE->aSel.nStartPara )
- && pE->aSel.nEndPos == 0 )) )
- { // den letzten leeren Absatz nicht uebernehmen
- pList->Remove();
- delete pE;
+ if ( !maList.empty() )
+ {
+ ScEEParseEntry* pE = maList.back();
+ if ( // komplett leer
+ ( ( pE->aSel.nStartPara == pE->aSel.nEndPara
+ && pE->aSel.nStartPos == pE->aSel.nEndPos
+ )
+ || // leerer Paragraph
+ ( pE->aSel.nStartPara + 1 == pE->aSel.nEndPara
+ && pE->aSel.nStartPos == pEdit->GetTextLen( pE->aSel.nStartPara )
+ && pE->aSel.nEndPos == 0
+ )
+ )
+ )
+ { // den letzten leeren Absatz nicht uebernehmen
+ maList.pop_back();
+ }
}
}
ColAdjust();
@@ -158,9 +162,9 @@ void ScRTFParser::ColAdjust()
{
SCCOL nCol = 0;
ScEEParseEntry* pE;
- pE = pList->Seek( nStartAdjust );
- while ( pE )
+ for ( size_t i = nStartAdjust, nListSize = maList.size(); i < nListSize; ++ i )
{
+ pE = maList[ i ];
if ( pE->nCol == 0 )
nCol = 0;
pE->nCol = nCol;
@@ -175,7 +179,6 @@ void ScRTFParser::ColAdjust()
}
if ( nCol > nColMax )
nColMax = nCol;
- pE = pList->Next();
}
nStartAdjust = (ULONG)~0;
pColTwips->Remove( (USHORT)0, pColTwips->Count() );
@@ -236,8 +239,10 @@ void ScRTFParser::NewCellRow( ImportInfo* /*pInfo*/ )
ScRTFCellDefault* pD;
bNewDef = FALSE;
// rechts nicht buendig? => neue Tabelle
- if ( nLastWidth
- && ((pD = pDefaultList->Last()) != 0) && pD->nTwips != nLastWidth )
+ if ( nLastWidth
+ && ( (pD = &(pDefaultList->back())) != 0 )
+ && pD->nTwips != nLastWidth
+ )
{
SCCOL n1, n2;
if ( !( SeekTwips( nLastWidth, &n1 )
@@ -245,15 +250,16 @@ void ScRTFParser::NewCellRow( ImportInfo* /*pInfo*/ )
ColAdjust();
}
// TwipCols aufbauen, erst nach nLastWidth Vergleich!
- for ( pD = pDefaultList->First(); pD; pD = pDefaultList->Next() )
+ for ( size_t i = 0, nListSize = pDefaultList->size(); i < nListSize; ++i )
{
+ pD = &( pDefaultList->at( i ) );
SCCOL n;
if ( !SeekTwips( pD->nTwips, &n ) )
pColTwips->Insert( pD->nTwips );
}
}
pDefMerge = NULL;
- pActDefault = pDefaultList->First();
+ pActDefault = &(pDefaultList->front());
DBG_ASSERT( pActDefault, "NewCellRow: pActDefault==0" );
}
@@ -293,12 +299,10 @@ void ScRTFParser::ProcToken( ImportInfo* pInfo )
{
case RTF_TROWD: // denotes table row defauls, before RTF_CELLX
{
- if ( (pD = pDefaultList->Last()) != 0 )
+ if ( (pD = &(pDefaultList->back())) != 0 )
nLastWidth = pD->nTwips;
nColCnt = 0;
- for ( pD = pDefaultList->First(); pD; pD = pDefaultList->Next() )
- delete pD;
- pDefaultList->Clear();
+ pDefaultList->clear();
pDefMerge = NULL;
nLastToken = pInfo->nToken;
}
@@ -311,8 +315,10 @@ void ScRTFParser::ProcToken( ImportInfo* pInfo )
break;
case RTF_CLMRG: // A cell to be merged with the preceding cell
{
- if ( !pDefMerge )
- pDefMerge = pDefaultList->Last();
+ if ( !pDefMerge
+ && !(pDefaultList->empty())
+ )
+ pDefMerge = &( pDefaultList->back() );
DBG_ASSERT( pDefMerge, "RTF_CLMRG: pDefMerge==0" );
if ( pDefMerge ) // sonst rottes RTF
pDefMerge->nColOverlap++; // mehrere nacheinander moeglich
@@ -325,7 +331,7 @@ void ScRTFParser::ProcToken( ImportInfo* pInfo )
bNewDef = TRUE;
pInsDefault->nCol = nColCnt;
pInsDefault->nTwips = pInfo->nTokenValue; // rechter Zellenrand
- pDefaultList->Insert( pInsDefault, LIST_APPEND );
+ pDefaultList->push_back( pInsDefault );
// neuer freifliegender pInsDefault
pInsDefault = new ScRTFCellDefault( pPool );
if ( ++nColCnt > nColMax )
@@ -362,19 +368,25 @@ void ScRTFParser::ProcToken( ImportInfo* pInfo )
EntryEnd( pActEntry, pInfo->aSelection );
if ( nStartAdjust == (ULONG)~0 )
- nStartAdjust = pList->Count();
- pList->Insert( pActEntry, LIST_APPEND );
+ nStartAdjust = maList.size();
+ maList.push_back( pActEntry );
NewActEntry( pActEntry ); // neuer freifliegender pActEntry
}
else
{ // aktuelle Twips der MergeCell zuweisen
- if ( (pE = pList->Last()) != 0 )
+ if ( !maList.empty() )
+ {
+ pE = maList.back();
pE->nTwips = pActDefault->nTwips;
+ }
// Selection des freifliegenden pActEntry anpassen
// Paragraph -1 wg. Textaufbruch in EditEngine waehrend Parse
pActEntry->aSel.nStartPara = pInfo->aSelection.nEndPara - 1;
}
- pActDefault = pDefaultList->Next();
+ if ( pDefaultList->empty() )
+ pActDefault = NULL;
+ else
+ pActDefault = &( pDefaultList->back() );
nLastToken = pInfo->nToken;
}
break;
@@ -392,7 +404,7 @@ void ScRTFParser::ProcToken( ImportInfo* pInfo )
pActEntry->nCol = 0;
pActEntry->nRow = nRowCnt;
EntryEnd( pActEntry, pInfo->aSelection );
- pList->Insert( pActEntry, LIST_APPEND );
+ maList.push_back( pActEntry );
NewActEntry( pActEntry ); // new pActEntry
NextRow();
}
diff --git a/sc/source/filter/starcalc/makefile.mk b/sc/source/filter/starcalc/makefile.mk
index 157059d433ec..a9c06eb14a4d 100644
--- a/sc/source/filter/starcalc/makefile.mk
+++ b/sc/source/filter/starcalc/makefile.mk
@@ -44,8 +44,11 @@ VISIBILITY_HIDDEN=TRUE
# --- Files --------------------------------------------------------
-SLOFILES = \
- $(SLO)$/scflt.obj \
+SLOFILES = \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES = \
+ $(SLO)$/scflt.obj \
$(SLO)$/scfobj.obj
# --- Tagets -------------------------------------------------------
diff --git a/sc/source/filter/xcl97/XclExpChangeTrack.cxx b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
index daab6245d730..5d460bf44d77 100644
--- a/sc/source/filter/xcl97/XclExpChangeTrack.cxx
+++ b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
@@ -741,7 +741,7 @@ void XclExpChTrData::Clear()
void XclExpChTrData::WriteFormula( XclExpStream& rStrm, const XclExpChTrTabIdBuffer& rTabIdBuffer )
{
- DBG_ASSERT( mxTokArr.is() && !mxTokArr->Empty(), "XclExpChTrData::Write - no formula" );
+ DBG_ASSERT( mxTokArr && !mxTokArr->Empty(), "XclExpChTrData::Write - no formula" );
rStrm << *mxTokArr;
for( XclExpRefLog::const_iterator aIt = maRefLog.begin(), aEnd = maRefLog.end(); aIt != aEnd; ++aIt )
@@ -949,24 +949,26 @@ static const char* lcl_GetType( XclExpChTrData* pData )
{
switch( pData->nType )
{
- case EXC_CHTR_TYPE_RK:
- case EXC_CHTR_TYPE_DOUBLE:
- return "n";
- break;
- case EXC_CHTR_TYPE_FORMULA:
- {
- ScFormulaCell* pFormulaCell = const_cast< ScFormulaCell* >( pData->mpFormulaCell );
- const char* sType;
- OUString sValue;
- XclXmlUtils::GetFormulaTypeAndValue( *pFormulaCell, sType, sValue );
- return sType;
- }
- break;
- case EXC_CHTR_TYPE_STRING:
- return "inlineStr";
- default:
- return "*unknown*";
+ case EXC_CHTR_TYPE_RK:
+ case EXC_CHTR_TYPE_DOUBLE:
+ return "n";
+ break;
+ case EXC_CHTR_TYPE_FORMULA:
+ {
+ ScFormulaCell* pFormulaCell = const_cast< ScFormulaCell* >( pData->mpFormulaCell );
+ const char* sType;
+ OUString sValue;
+ XclXmlUtils::GetFormulaTypeAndValue( *pFormulaCell, sType, sValue );
+ return sType;
+ }
+ break;
+ case EXC_CHTR_TYPE_STRING:
+ return "inlineStr";
+ break;
+ default:
+ break;
}
+ return "*unknown*";
}
static void lcl_WriteCell( XclExpXmlStream& rStrm, sal_Int32 nElement, const ScAddress& rPosition, XclExpChTrData* pData )
@@ -1000,7 +1002,7 @@ static void lcl_WriteCell( XclExpXmlStream& rStrm, sal_Int32 nElement, const ScA
break;
case EXC_CHTR_TYPE_STRING:
pStream->startElement( XML_is, FSEND );
- if( pData->mpFormattedString.is() )
+ if( pData->mpFormattedString )
pData->mpFormattedString->WriteXml( rStrm );
else
pData->pString->WriteXml( rStrm );
@@ -1661,8 +1663,8 @@ void XclExpChangeTrack::Write()
static void lcl_WriteUserNamesXml( XclExpXmlStream& rWorkbookStrm )
{
sax_fastparser::FSHelperPtr pUserNames = rWorkbookStrm.CreateOutputStream(
- OUString::createFromAscii( "xl/revisions/userNames.xml" ),
- OUString::createFromAscii( "revisions/userNames.xml" ),
+ OUString(RTL_CONSTASCII_USTRINGPARAM( "xl/revisions/userNames.xml" )),
+ OUString(RTL_CONSTASCII_USTRINGPARAM( "revisions/userNames.xml" )),
rWorkbookStrm.GetCurrentStream()->getOutputStream(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/usernames" );
@@ -1685,8 +1687,8 @@ void XclExpChangeTrack::WriteXml( XclExpXmlStream& rWorkbookStrm )
lcl_WriteUserNamesXml( rWorkbookStrm );
sax_fastparser::FSHelperPtr pRevisionHeaders = rWorkbookStrm.CreateOutputStream(
- OUString::createFromAscii( "xl/revisions/revisionHeaders.xml" ),
- OUString::createFromAscii( "revisions/revisionHeaders.xml" ),
+ OUString(RTL_CONSTASCII_USTRINGPARAM( "xl/revisions/revisionHeaders.xml" )),
+ OUString(RTL_CONSTASCII_USTRINGPARAM( "revisions/revisionHeaders.xml" )),
rWorkbookStrm.GetCurrentStream()->getOutputStream(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/revisionHeaders" );
diff --git a/sc/source/filter/xcl97/makefile.mk b/sc/source/filter/xcl97/makefile.mk
index 04a028e04af3..0ce4670875b2 100644
--- a/sc/source/filter/xcl97/makefile.mk
+++ b/sc/source/filter/xcl97/makefile.mk
@@ -44,14 +44,13 @@ VISIBILITY_HIDDEN=TRUE
# --- Files --------------------------------------------------------
-SLOFILES = \
- $(SLO)$/xcl97esc.obj \
- $(SLO)$/xcl97rec.obj \
- $(SLO)$/XclImpChangeTrack.obj \
- $(SLO)$/XclExpChangeTrack.obj
+SLOFILES = \
+ $(EXCEPTIONSFILES)
-EXCEPTIONSFILES = \
- $(SLO)$/xcl97esc.obj \
+EXCEPTIONSFILES = \
+ $(SLO)$/XclImpChangeTrack.obj \
+ $(SLO)$/XclExpChangeTrack.obj \
+ $(SLO)$/xcl97esc.obj \
$(SLO)$/xcl97rec.obj
# --- Targets -------------------------------------------------------
diff --git a/sc/source/filter/xcl97/xcl97rec.cxx b/sc/source/filter/xcl97/xcl97rec.cxx
index 14858d41362c..eb82c188592c 100644
--- a/sc/source/filter/xcl97/xcl97rec.cxx
+++ b/sc/source/filter/xcl97/xcl97rec.cxx
@@ -103,9 +103,9 @@ sal_Int32 XclExpObjList::mnVmlCount;
XclExpObjList::XclExpObjList( const XclExpRoot& rRoot, XclEscherEx& rEscherEx ) :
XclExpRoot( rRoot ),
+ mnScTab( rRoot.GetCurrScTab() ),
mrEscherEx( rEscherEx ),
- pSolverContainer( 0 ),
- mnScTab( rRoot.GetCurrScTab() )
+ pSolverContainer( 0 )
{
pMsodrawingPerSheet = new XclExpMsoDrawing( rEscherEx );
// open the DGCONTAINER and the patriarch group shape
@@ -972,49 +972,13 @@ void XclObjAny::WriteFromTo( XclExpXmlStream& rStrm, const XclObjAny& rObj )
WriteFromTo( rStrm, rObj.GetShape(), rObj.GetTab() );
}
-static void
-WritePicPr( sax_fastparser::FSHelperPtr pDrawing, sal_Int32 nId, Reference< XPropertySet > xPropSet )
-{
- pDrawing->startElement( FSNS( XML_xdr, XML_nvPicPr ),
- FSEND );
- OUString sName, sDescr;
- xPropSet->getPropertyValue( XclXmlUtils::ToOUString( "Name" ) ) >>= sName;
- xPropSet->getPropertyValue( XclXmlUtils::ToOUString( "Description" ) ) >>= sDescr;
- pDrawing->singleElement( FSNS( XML_xdr, XML_cNvPr ),
- XML_id, OString::valueOf( nId ).getStr(),
- XML_name, XclXmlUtils::ToOString( sName ).getStr(),
- XML_descr, XclXmlUtils::ToOString( sDescr ).getStr(),
- FSEND );
- // OOXTODO: //xdr:cNvPr children: XML_extLst, XML_hlinkClick, XML_hlinkHover
- pDrawing->startElement( FSNS( XML_xdr, XML_cNvPicPr ),
- // OOXTODO: FSNS( XML_xdr, XML_preferRelativeSize )
- FSEND );
- // OOXTODO: XML_extLst
- pDrawing->singleElement( FSNS( XML_a, XML_picLocks ),
- // OOXTODO: XML_noGrp,
- // OOXTODO: XML_noSelect,
- // OOXTODO: XML_noRot,
- // OOXTODO: XML_noChangeAspect,
- // OOXTODO: XML_noMove,
- // OOXTODO: XML_noResize,
- // OOXTODO: XML_noEditPoints,
- // OOXTODO: XML_noAdjustHandles,
- // OOXTODO: XML_noChangeArrowheads,
- // OOXTODO: XML_noChangeShapeType,
- // OOXTODO: XML_noCrop,
- FSEND );
- pDrawing->endElement( FSNS( XML_xdr, XML_cNvPicPr ) );
- pDrawing->endElement( FSNS( XML_xdr, XML_nvPicPr ) );
-}
-
-
static const char*
GetEditAs( XclObjAny& rObj )
{
if( const SdrObject* pShape = EscherEx::GetSdrObject( rObj.GetShape() ) )
{
// OOXTODO: returning "twoCell"
- switch( ScDrawLayer::GetAnchor( pShape ) )
+ switch( ScDrawLayer::GetAnchorType( *pShape ) )
{
case SCA_CELL: return "oneCell";
default: break;
@@ -1252,9 +1216,9 @@ ExcEScenario::ExcEScenario( const XclExpRoot& rRoot, SCTAB nTab )
String sText;
double fVal;
- for( UINT32 nRange = 0; (nRange < pRList->Count()) && bContLoop; nRange++ )
+ for( size_t nRange = 0; (nRange < pRList->size()) && bContLoop; nRange++ )
{
- const ScRange* pRange = pRList->GetObject( nRange );
+ const ScRange* pRange = (*pRList)[nRange];
for( nRow = pRange->aStart.Row(); (nRow <= pRange->aEnd.Row()) && bContLoop; nRow++ )
for( nCol = pRange->aStart.Col(); (nCol <= pRange->aEnd.Col()) && bContLoop; nCol++ )
{
diff --git a/sc/source/filter/xml/XMLCalculationSettingsContext.cxx b/sc/source/filter/xml/XMLCalculationSettingsContext.cxx
index 98d7a41da7c7..cd4875a9079a 100644
--- a/sc/source/filter/xml/XMLCalculationSettingsContext.cxx
+++ b/sc/source/filter/xml/XMLCalculationSettingsContext.cxx
@@ -157,11 +157,10 @@ void ScXMLCalculationSettingsContext::EndElement()
xPropertySet->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_NULLDATE)), uno::makeAny(aNullDate) );
if (GetScImport().GetDocument())
{
- GetScImport().LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(GetScImport());
ScDocOptions aDocOptions (GetScImport().GetDocument()->GetDocOptions());
aDocOptions.SetYear2000(nYear2000);
GetScImport().GetDocument()->SetDocOptions(aDocOptions);
- GetScImport().UnlockSolarMutex();
}
}
}
diff --git a/sc/source/filter/xml/XMLConsolidationContext.cxx b/sc/source/filter/xml/XMLConsolidationContext.cxx
index f075dfc68129..4be134c74f7d 100644
--- a/sc/source/filter/xml/XMLConsolidationContext.cxx
+++ b/sc/source/filter/xml/XMLConsolidationContext.cxx
@@ -57,7 +57,7 @@ ScXMLConsolidationContext::ScXMLConsolidationContext(
bLinkToSource( sal_False ),
bTargetAddr(sal_False)
{
- rImport.LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(GetScImport());
if( !xAttrList.is() ) return;
sal_Int16 nAttrCount = xAttrList->getLength();
diff --git a/sc/source/filter/xml/XMLConverter.cxx b/sc/source/filter/xml/XMLConverter.cxx
index ee6a345fdc11..f18c26d3b188 100644
--- a/sc/source/filter/xml/XMLConverter.cxx
+++ b/sc/source/filter/xml/XMLConverter.cxx
@@ -585,7 +585,7 @@ bool lclSkipEmptyParentheses( const sal_Unicode*& rpcString, const sal_Unicode*
// ----------------------------------------------------------------------------
-/*static*/ void ScXMLConditionHelper::parseCondition(
+void ScXMLConditionHelper::parseCondition(
ScXMLConditionParseResult& rParseResult, const OUString& rAttribute, sal_Int32 nStartIndex )
{
rParseResult.meToken = XML_COND_INVALID;
diff --git a/sc/source/filter/xml/XMLDDELinksContext.cxx b/sc/source/filter/xml/XMLDDELinksContext.cxx
index 792c19b5e30a..1ebfab3a212c 100644
--- a/sc/source/filter/xml/XMLDDELinksContext.cxx
+++ b/sc/source/filter/xml/XMLDDELinksContext.cxx
@@ -137,7 +137,7 @@ void ScXMLDDELinkContext::CreateDDELink()
String sAppl(sApplication);
String sTop(sTopic);
String sIt(sItem);
- GetScImport().GetDocument()->CreateDdeLink(sAppl, sTop, sIt, nMode);
+ GetScImport().GetDocument()->CreateDdeLink(sAppl, sTop, sIt, nMode, ScMatrixRef());
sal_uInt16 nPos;
if(GetScImport().GetDocument()->FindDdeLink(sAppl, sTop, sIt, nMode, nPos))
nPosition = nPos;
diff --git a/sc/source/filter/xml/XMLDetectiveContext.cxx b/sc/source/filter/xml/XMLDetectiveContext.cxx
index 131dea72379d..3c52f96b558a 100644
--- a/sc/source/filter/xml/XMLDetectiveContext.cxx
+++ b/sc/source/filter/xml/XMLDetectiveContext.cxx
@@ -154,9 +154,8 @@ ScXMLDetectiveHighlightedContext::ScXMLDetectiveHighlightedContext(
case XML_TOK_DETECTIVE_HIGHLIGHTED_ATTR_CELL_RANGE:
{
sal_Int32 nOffset(0);
- GetScImport().LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(GetScImport());
bValid = ScRangeStringConverter::GetRangeFromString( aDetectiveObj.aSourceRange, sValue, GetScImport().GetDocument(), ::formula::FormulaGrammar::CONV_OOO, nOffset );
- GetScImport().UnlockSolarMutex();
}
break;
case XML_TOK_DETECTIVE_HIGHLIGHTED_ATTR_DIRECTION:
diff --git a/sc/source/filter/xml/XMLExportDDELinks.cxx b/sc/source/filter/xml/XMLExportDDELinks.cxx
index f0b80840098c..810edc372ba3 100644
--- a/sc/source/filter/xml/XMLExportDDELinks.cxx
+++ b/sc/source/filter/xml/XMLExportDDELinks.cxx
@@ -29,8 +29,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-
-
// INCLUDE ---------------------------------------------------------------
#include "XMLExportDDELinks.hxx"
#include <xmloff/xmltoken.hxx>
@@ -47,6 +45,7 @@ class ScMatrix;
using namespace com::sun::star;
using namespace xmloff::token;
+using ::rtl::OUStringBuffer;
ScXMLExportDDELinks::ScXMLExportDDELinks(ScXMLExport& rTempExport)
: rExport(rTempExport)
@@ -58,7 +57,7 @@ ScXMLExportDDELinks::~ScXMLExportDDELinks()
}
sal_Bool ScXMLExportDDELinks::CellsEqual(const sal_Bool bPrevEmpty, const sal_Bool bPrevString, const String& sPrevValue, const double& fPrevValue,
- const sal_Bool bEmpty, const sal_Bool bString, const String& sValue, const double& fValue)
+ const sal_Bool bEmpty, const sal_Bool bString, const String& sValue, const double& fValue) const
{
if (bEmpty == bPrevEmpty)
if (bEmpty)
@@ -74,103 +73,78 @@ sal_Bool ScXMLExportDDELinks::CellsEqual(const sal_Bool bPrevEmpty, const sal_Bo
return sal_False;
}
-void ScXMLExportDDELinks::WriteCell(const sal_Bool bEmpty, const sal_Bool bString, const String& sValue, const double& fValue, const sal_Int32 nRepeat)
+void ScXMLExportDDELinks::WriteCell(const ScMatrixValue& aVal, sal_Int32 nRepeat)
{
- rtl::OUStringBuffer sBuffer;
+ bool bString = ScMatrix::IsNonValueType(aVal.nType);
+ bool bEmpty = ScMatrix::IsEmptyType(aVal.nType);
+
if (!bEmpty)
{
if (bString)
{
rExport.AddAttribute(XML_NAMESPACE_OFFICE, XML_VALUE_TYPE, XML_STRING);
- rExport.AddAttribute(XML_NAMESPACE_OFFICE, XML_STRING_VALUE, rtl::OUString(sValue));
+ rExport.AddAttribute(XML_NAMESPACE_OFFICE, XML_STRING_VALUE, aVal.GetString());
}
else
{
+ OUStringBuffer aBuf;
rExport.AddAttribute(XML_NAMESPACE_OFFICE, XML_VALUE_TYPE, XML_FLOAT);
- rExport.GetMM100UnitConverter().convertDouble(sBuffer, fValue);
- rExport.AddAttribute(XML_NAMESPACE_OFFICE, XML_VALUE, sBuffer.makeStringAndClear());
+ rExport.GetMM100UnitConverter().convertDouble(aBuf, aVal.fVal);
+ rExport.AddAttribute(XML_NAMESPACE_OFFICE, XML_VALUE, aBuf.makeStringAndClear());
}
}
+
if (nRepeat > 1)
{
- rExport.GetMM100UnitConverter().convertNumber(sBuffer, nRepeat);
- rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_NUMBER_COLUMNS_REPEATED, sBuffer.makeStringAndClear());
+ OUStringBuffer aBuf;
+ rExport.GetMM100UnitConverter().convertNumber(aBuf, nRepeat);
+ rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_NUMBER_COLUMNS_REPEATED, aBuf.makeStringAndClear());
}
SvXMLElementExport(rExport, XML_NAMESPACE_TABLE, XML_TABLE_CELL, sal_True, sal_True);
}
void ScXMLExportDDELinks::WriteTable(const sal_Int32 nPos)
{
- const ScMatrix* pMatrix(NULL);
- if (rExport.GetDocument())
- pMatrix = rExport.GetDocument()->GetDdeLinkResultMatrix( static_cast<USHORT>(nPos) );
- if (pMatrix)
+ ScDocument* pDoc = rExport.GetDocument();
+ if (!pDoc)
+ return;
+
+ const ScMatrix* pMatrix = pDoc->GetDdeLinkResultMatrix(static_cast<USHORT>(nPos));
+ if (!pMatrix)
+ return;
+
+ SCSIZE nCols, nRows;
+ pMatrix->GetDimensions(nCols, nRows);
+
+ SvXMLElementExport aTableElem(rExport, XML_NAMESPACE_TABLE, XML_TABLE, sal_True, sal_True);
+ if (nCols > 1)
{
- SCSIZE nuCol;
- SCSIZE nuRow;
- pMatrix->GetDimensions( nuCol, nuRow );
- sal_Int32 nRowCount = static_cast<sal_Int32>(nuRow);
- sal_Int32 nColCount = static_cast<sal_Int32>(nuCol);
- SvXMLElementExport aTableElem(rExport, XML_NAMESPACE_TABLE, XML_TABLE, sal_True, sal_True);
- rtl::OUStringBuffer sBuffer;
- if (nColCount > 1)
- {
- rExport.GetMM100UnitConverter().convertNumber(sBuffer, nColCount);
- rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_NUMBER_COLUMNS_REPEATED, sBuffer.makeStringAndClear());
- }
- {
- SvXMLElementExport aElemCol(rExport, XML_NAMESPACE_TABLE, XML_TABLE_COLUMN, sal_True, sal_True);
- }
- sal_Bool bPrevString(sal_True);
- sal_Bool bPrevEmpty(sal_True);
- double fPrevValue;
- String sPrevValue;
- sal_Int32 nRepeatColsCount(1);
- for(sal_Int32 nRow = 0; nRow < nRowCount; ++nRow)
+ OUStringBuffer aBuf;
+ rExport.GetMM100UnitConverter().convertNumber(aBuf, static_cast<sal_Int32>(nCols));
+ rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_NUMBER_COLUMNS_REPEATED, aBuf.makeStringAndClear());
+ }
+ {
+ SvXMLElementExport aElemCol(rExport, XML_NAMESPACE_TABLE, XML_TABLE_COLUMN, sal_True, sal_True);
+ }
+
+ for (SCSIZE nRow = 0; nRow < nRows; ++nRow)
+ {
+ sal_Int32 nRepeat = 0;
+ ScMatrixValue aPrevVal;
+ SvXMLElementExport aElemRow(rExport, XML_NAMESPACE_TABLE, XML_TABLE_ROW, sal_True, sal_True);
+ for (SCSIZE nCol = 0; nCol < nCols; ++nCol, ++nRepeat)
{
- SvXMLElementExport aElemRow(rExport, XML_NAMESPACE_TABLE, XML_TABLE_ROW, sal_True, sal_True);
- for(sal_Int32 nColumn = 0; nColumn < nColCount; ++nColumn)
+ ScMatrixValue aVal = pMatrix->Get(nCol, nRow);
+ if (nCol > 0 && aVal != aPrevVal)
{
- ScMatValType nType = SC_MATVAL_VALUE;
- const ScMatrixValue* pMatVal = pMatrix->Get( static_cast<SCSIZE>(nColumn), static_cast<SCSIZE>(nRow), nType );
- BOOL bIsString = ScMatrix::IsNonValueType( nType);
-
- if (nColumn == 0)
- {
- bPrevEmpty = !pMatVal;
- bPrevString = bIsString;
- if( bIsString )
- sPrevValue = pMatVal->GetString();
- else
- fPrevValue = pMatVal->fVal;
- }
- else
- {
- double fValue;
- String sValue;
- sal_Bool bEmpty(!pMatVal);
- sal_Bool bString(bIsString);
- if( bIsString )
- sValue = pMatVal->GetString();
- else
- fValue = pMatVal->fVal;
-
- if (CellsEqual(bPrevEmpty, bPrevString, sPrevValue, fPrevValue,
- bEmpty, bString, sValue, fValue))
- ++nRepeatColsCount;
- else
- {
- WriteCell(bPrevEmpty, bPrevString, sPrevValue, fPrevValue, nRepeatColsCount);
- nRepeatColsCount = 1;
- bPrevEmpty = bEmpty;
- fPrevValue = fValue;
- sPrevValue = sValue;
- }
- }
+ // Cell value differs. Flush the cell content.
+ WriteCell(aPrevVal, nRepeat);
+ nRepeat = 0;
}
- WriteCell(bPrevEmpty, bPrevString, sPrevValue, fPrevValue, nRepeatColsCount);
- nRepeatColsCount = 1;
+ aPrevVal = aVal;
}
+
+ WriteCell(aPrevVal, nRepeat);
}
}
diff --git a/sc/source/filter/xml/XMLExportDDELinks.hxx b/sc/source/filter/xml/XMLExportDDELinks.hxx
index f7fd55574cf9..7edb3e8ed8dc 100644
--- a/sc/source/filter/xml/XMLExportDDELinks.hxx
+++ b/sc/source/filter/xml/XMLExportDDELinks.hxx
@@ -33,14 +33,15 @@
class String;
class ScXMLExport;
+class ScMatrixValue;
class ScXMLExportDDELinks
{
ScXMLExport& rExport;
sal_Bool CellsEqual(const sal_Bool bPrevEmpty, const sal_Bool bPrevString, const String& sPrevValue, const double& fPrevValue,
- const sal_Bool bEmpty, const sal_Bool bString, const String& sValue, const double& fValue);
- void WriteCell(const sal_Bool bEmpty, const sal_Bool bString, const String& sValue, const double& fValue, const sal_Int32 nRepeat);
+ const sal_Bool bEmpty, const sal_Bool bString, const String& sValue, const double& fValue) const;
+ void WriteCell(const ScMatrixValue& aVal, sal_Int32 nRepeat);
void WriteTable(const sal_Int32 nPos);
public:
ScXMLExportDDELinks(ScXMLExport& rExport);
diff --git a/sc/source/filter/xml/XMLExportDataPilot.cxx b/sc/source/filter/xml/XMLExportDataPilot.cxx
index 0bfdafc4d566..2fe7957cb1b8 100644
--- a/sc/source/filter/xml/XMLExportDataPilot.cxx
+++ b/sc/source/filter/xml/XMLExportDataPilot.cxx
@@ -479,7 +479,7 @@ void ScXMLExportDataPilot::WriteMembers(ScDPSaveDimension* pDim)
{
SvXMLElementExport aElemDPMs(rExport, XML_NAMESPACE_TABLE, XML_DATA_PILOT_MEMBERS, sal_True, sal_True);
rExport.CheckAttrList();
- for (ScDPSaveDimension::MemberList::const_iterator i=rMembers.begin(); i != rMembers.end() ; i++)
+ for (ScDPSaveDimension::MemberList::const_iterator i=rMembers.begin(); i != rMembers.end() ; ++i)
{
rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_NAME, rtl::OUString((*i)->GetName()));
@@ -755,12 +755,12 @@ void ScXMLExportDataPilot::WriteDataPilots(const uno::Reference <sheet::XSpreads
ScDPCollection* pDPs = pDoc->GetDPCollection();
if (pDPs)
{
- sal_Int16 nDPCount = pDPs->GetCount();
+ size_t nDPCount = pDPs->GetCount();
if (nDPCount > 0)
{
SvXMLElementExport aElemDPs(rExport, XML_NAMESPACE_TABLE, XML_DATA_PILOT_TABLES, sal_True, sal_True);
rExport.CheckAttrList();
- for (sal_Int16 i = 0; i < nDPCount; ++i)
+ for (size_t i = 0; i < nDPCount; ++i)
{
ScDPSaveData* pDPSave = (*pDPs)[i]->GetSaveData();
if (pDPSave)
diff --git a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
index 530ea31e47c7..1414193dc947 100644
--- a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
+++ b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
@@ -80,7 +80,6 @@ ScMyEmptyDatabaseRangesContainer ScXMLExportDatabaseRanges::GetEmptyDatabaseRang
ScMyEmptyDatabaseRangesContainer aSkipRanges;
if (rExport.GetModel().is())
{
- sal_Int32 nSkipRangesCount = 0;
uno::Reference <beans::XPropertySet> xPropertySet (rExport.GetModel(), uno::UNO_QUERY);
if (xPropertySet.is())
{
@@ -118,8 +117,6 @@ ScMyEmptyDatabaseRangesContainer ScXMLExportDatabaseRanges::GetEmptyDatabaseRang
}
}
}
- if (nSkipRangesCount > 1)
- aSkipRanges.Sort();
}
}
}
diff --git a/sc/source/filter/xml/XMLExportIterator.cxx b/sc/source/filter/xml/XMLExportIterator.cxx
index 57b2534ed6ad..47ce7964ae77 100644
--- a/sc/source/filter/xml/XMLExportIterator.cxx
+++ b/sc/source/filter/xml/XMLExportIterator.cxx
@@ -614,6 +614,7 @@ void ScMyDetectiveOpContainer::Sort()
ScMyCell::ScMyCell() :
aShapeList(),
aDetectiveObjVec(),
+ fValue(0.0),
nValidationIndex(-1),
pBaseCell(NULL),
bIsAutoStyle( sal_False ),
diff --git a/sc/source/filter/xml/XMLExportIterator.hxx b/sc/source/filter/xml/XMLExportIterator.hxx
index 1334e42c3e5c..faa3e9bf75c2 100644
--- a/sc/source/filter/xml/XMLExportIterator.hxx
+++ b/sc/source/filter/xml/XMLExportIterator.hxx
@@ -71,6 +71,8 @@ struct ScMyShape
{
ScAddress aAddress;
ScAddress aEndAddress;
+ sal_Int32 nEndX;
+ sal_Int32 nEndY;
com::sun::star::uno::Reference<com::sun::star::drawing::XShape> xShape;
sal_Bool operator<(const ScMyShape& aShape) const;
@@ -91,7 +93,7 @@ public:
using ScMyIteratorBase::UpdateAddress;
void AddNewShape(const ScMyShape& aShape);
sal_Bool HasShapes() { return !aShapeList.empty(); }
- const ScMyShapeList* GetShapes() { return &aShapeList; }
+ const ScMyShapeList* GetShapes() const { return &aShapeList; }
virtual void SetCellData( ScMyCell& rMyCell );
virtual void Sort();
void SkipTable(SCTAB nSkip);
@@ -120,7 +122,7 @@ public:
using ScMyIteratorBase::UpdateAddress;
void AddNewNote(const ScMyNoteShape& aNote);
sal_Bool HasNotes() { return !aNoteShapeList.empty(); }
- const ScMyNoteShapeList* GetNotes() { return &aNoteShapeList; }
+ const ScMyNoteShapeList* GetNotes() const { return &aNoteShapeList; }
virtual void SetCellData( ScMyCell& rMyCell );
virtual void Sort();
void SkipTable(SCTAB nSkip);
diff --git a/sc/source/filter/xml/XMLExportSharedData.cxx b/sc/source/filter/xml/XMLExportSharedData.cxx
index a3e4d3ae80b5..1e7b3e506cc5 100644
--- a/sc/source/filter/xml/XMLExportSharedData.cxx
+++ b/sc/source/filter/xml/XMLExportSharedData.cxx
@@ -69,7 +69,7 @@ void ScMySharedData::SetLastColumn(const sal_Int32 nTable, const sal_Int32 nCol)
if(nCol > nLastColumns[nTable]) nLastColumns[nTable] = nCol;
}
-sal_Int32 ScMySharedData::GetLastColumn(const sal_Int32 nTable)
+sal_Int32 ScMySharedData::GetLastColumn(const sal_Int32 nTable) const
{
return nLastColumns[nTable];
}
@@ -79,7 +79,7 @@ void ScMySharedData::SetLastRow(const sal_Int32 nTable, const sal_Int32 nRow)
if(nRow > nLastRows[nTable]) nLastRows[nTable] = nRow;
}
-sal_Int32 ScMySharedData::GetLastRow(const sal_Int32 nTable)
+sal_Int32 ScMySharedData::GetLastRow(const sal_Int32 nTable) const
{
return nLastRows[nTable];
}
diff --git a/sc/source/filter/xml/XMLExportSharedData.hxx b/sc/source/filter/xml/XMLExportSharedData.hxx
index 7337cbbc27e7..e12a7111fd9e 100644
--- a/sc/source/filter/xml/XMLExportSharedData.hxx
+++ b/sc/source/filter/xml/XMLExportSharedData.hxx
@@ -68,12 +68,12 @@ public:
void SetLastColumn(const sal_Int32 nTable, const sal_Int32 nCol);
void SetLastRow(const sal_Int32 nTable, const sal_Int32 nRow);
- sal_Int32 GetLastColumn(const sal_Int32 nTable);
- sal_Int32 GetLastRow(const sal_Int32 nTable);
+ sal_Int32 GetLastColumn(const sal_Int32 nTable) const;
+ sal_Int32 GetLastRow(const sal_Int32 nTable) const;
void AddDrawPage(const ScMyDrawPage& aDrawPage, const sal_Int32 nTable);
void SetDrawPageHasForms(const sal_Int32 nTable, sal_Bool bHasForms);
com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPage> GetDrawPage(const sal_Int32 nTable);
- sal_Bool HasDrawPage() { return pDrawPages != NULL; }
+ sal_Bool HasDrawPage() const { return pDrawPages != NULL; }
sal_Bool HasForm(const sal_Int32 nTable, com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPage>& xDrawPage);
void AddNewShape(const ScMyShape& aMyShape);
void SortShapesContainer();
diff --git a/sc/source/filter/xml/XMLStylesExportHelper.cxx b/sc/source/filter/xml/XMLStylesExportHelper.cxx
index 79c0d24eb1f8..d01b08b99d01 100644
--- a/sc/source/filter/xml/XMLStylesExportHelper.cxx
+++ b/sc/source/filter/xml/XMLStylesExportHelper.cxx
@@ -746,18 +746,20 @@ sal_Bool ScRowFormatRanges::GetNext(ScMyRowFormatRange& aFormatRange)
return sal_False;
}
-sal_Int32 ScRowFormatRanges::GetMaxRows()
+sal_Int32 ScRowFormatRanges::GetMaxRows() const
{
- ScMyRowFormatRangesList::iterator aItr(aRowFormatRanges.begin());
- ScMyRowFormatRangesList::iterator aEndItr(aRowFormatRanges.end());
+ ScMyRowFormatRangesList::const_iterator aItr(aRowFormatRanges.begin());
+ ScMyRowFormatRangesList::const_iterator aEndItr(aRowFormatRanges.end());
sal_Int32 nMaxRows = MAXROW + 1;
if (aItr != aEndItr)
+ {
while (aItr != aEndItr)
{
if ((*aItr).nRepeatRows < nMaxRows)
nMaxRows = (*aItr).nRepeatRows;
++aItr;
}
+ }
else
{
DBG_ERROR("no ranges found");
@@ -765,7 +767,7 @@ sal_Int32 ScRowFormatRanges::GetMaxRows()
return nMaxRows;
}
-sal_Int32 ScRowFormatRanges::GetSize()
+sal_Int32 ScRowFormatRanges::GetSize() const
{
return nSize;
}
@@ -1201,9 +1203,16 @@ rtl::OUString* ScColumnStyles::GetStyleName(const sal_Int32 nTable, const sal_In
//===========================================================================
+ScRowStyles::Cache::Cache() :
+ mnTable(-1), mnStart(-1), mnEnd(-1), mnStyle(-1) {}
+
+bool ScRowStyles::Cache::hasCache(sal_Int32 nTable, sal_Int32 nField) const
+{
+ return mnTable == nTable && mnStart <= nField && nField <= mnEnd;
+}
+
ScRowStyles::ScRowStyles()
- : ScColumnRowStylesBase(),
- aTables()
+ : ScColumnRowStylesBase()
{
}
@@ -1217,29 +1226,41 @@ void ScRowStyles::AddNewTable(const sal_Int32 nTable, const sal_Int32 nFields)
if (nTable > nSize)
for (sal_Int32 i = nSize; i < nTable; ++i)
{
- ScMysalInt32Vec aFieldsVec(nFields + 1, -1);
- aTables.push_back(aFieldsVec);
+ aTables.push_back(new StylesType(0, nFields+1, -1));
}
}
sal_Int32 ScRowStyles::GetStyleNameIndex(const sal_Int32 nTable, const sal_Int32 nField)
{
DBG_ASSERT(static_cast<size_t>(nTable) < aTables.size(), "wrong table");
- if (static_cast<size_t>(nField) < aTables[nTable].size())
- return aTables[nTable][nField];
- else
- return aTables[nTable][aTables[nTable].size() - 1];
+ if (maCache.hasCache(nTable, nField))
+ // Cache hit !
+ return maCache.mnStyle;
+
+ StylesType& r = aTables[nTable];
+ if (!r.is_tree_valid())
+ r.build_tree();
+ sal_Int32 nStyle;
+ sal_Int32 nStart, nEnd;
+ if (r.search_tree(nField, nStyle, &nStart, &nEnd))
+ {
+ // Cache this value for better performance.
+ maCache.mnTable = nTable;
+ maCache.mnStart = nStart;
+ maCache.mnEnd = nEnd;
+ maCache.mnStyle = nStyle;
+ return nStyle;
+ }
+
+ return -1;
}
void ScRowStyles::AddFieldStyleName(const sal_Int32 nTable, const sal_Int32 nField,
const sal_Int32 nStringIndex)
{
DBG_ASSERT(static_cast<size_t>(nTable) < aTables.size(), "wrong table");
- DBG_ASSERT(aTables[nTable].size() >= static_cast<size_t>(nField), "wrong field");
- if (aTables[nTable].size() == static_cast<size_t>(nField))
- aTables[nTable].push_back(nStringIndex);
- else
- aTables[nTable][nField] = nStringIndex;
+ StylesType& r = aTables[nTable];
+ r.insert_back(nField, nField+1, nStringIndex);
}
void ScRowStyles::AddFieldStyleName(const sal_Int32 nTable, const sal_Int32 nStartField,
@@ -1247,19 +1268,8 @@ void ScRowStyles::AddFieldStyleName(const sal_Int32 nTable, const sal_Int32 nSta
{
DBG_ASSERT( nStartField <= nEndField, "bad field range");
DBG_ASSERT(static_cast<size_t>(nTable) < aTables.size(), "wrong table");
- DBG_ASSERT(aTables[nTable].size() >= static_cast<size_t>(nStartField), "wrong field");
- ScMysalInt32Vec& rTable = aTables[nTable];
- size_t nSize = rTable.size();
- if (nSize == static_cast<size_t>(nStartField))
- rTable.insert( rTable.end(), static_cast<size_t>(nEndField - nStartField + 1), nStringIndex);
- else
- {
- size_t nField = static_cast<size_t>(nStartField);
- for ( ; nField < nSize && nField <= static_cast<size_t>(nEndField); ++nField)
- rTable[nField] = nStringIndex;
- if (nField <= static_cast<size_t>(nEndField))
- rTable.insert( rTable.end(), static_cast<size_t>(nEndField - nField + 1), nStringIndex);
- }
+ StylesType& r = aTables[nTable];
+ r.insert_back(nStartField, nEndField+1, nStringIndex);
}
rtl::OUString* ScRowStyles::GetStyleName(const sal_Int32 nTable, const sal_Int32 nField)
diff --git a/sc/source/filter/xml/XMLStylesExportHelper.hxx b/sc/source/filter/xml/XMLStylesExportHelper.hxx
index 405dedf9f26b..e3baa64cb68c 100644
--- a/sc/source/filter/xml/XMLStylesExportHelper.hxx
+++ b/sc/source/filter/xml/XMLStylesExportHelper.hxx
@@ -38,6 +38,9 @@
#include <com/sun/star/sheet/ValidationAlertStyle.hpp>
#include <com/sun/star/sheet/ValidationType.hpp>
+#include <boost/ptr_container/ptr_vector.hpp>
+#include <mdds/flat_segment_tree.hpp>
+
class ScDocument;
class ScXMLExport;
@@ -139,8 +142,8 @@ public:
const sal_Int32 nLastRow, const sal_Int32 nLastCol,
const ScFormatRangeStyles* pCellStyles, ScDocument* pDoc);
- const ScMyDefaultStyleList* GetRowDefaults() { return pRowDefaults; }
- const ScMyDefaultStyleList* GetColDefaults() { return pColDefaults; }
+ const ScMyDefaultStyleList* GetRowDefaults() const { return pRowDefaults; }
+ const ScMyDefaultStyleList* GetColDefaults() const { return pColDefaults; }
};
struct ScMyRowFormatRange
@@ -156,10 +159,9 @@ struct ScMyRowFormatRange
sal_Bool operator<(const ScMyRowFormatRange& rRange) const;
};
-typedef std::list<ScMyRowFormatRange> ScMyRowFormatRangesList;
-
class ScRowFormatRanges
{
+ typedef std::list<ScMyRowFormatRange> ScMyRowFormatRangesList;
ScMyRowFormatRangesList aRowFormatRanges;
const ScMyDefaultStyleList* pRowDefaults;
const ScMyDefaultStyleList* pColDefaults;
@@ -178,8 +180,8 @@ public:
void Clear();
void AddRange(ScMyRowFormatRange& rFormatRange, const sal_Int32 nStartRow);
sal_Bool GetNext(ScMyRowFormatRange& rFormatRange);
- sal_Int32 GetMaxRows();
- sal_Int32 GetSize();
+ sal_Int32 GetMaxRows() const;
+ sal_Int32 GetSize() const;
void Sort();
};
@@ -197,11 +199,11 @@ struct ScMyFormatRange
sal_Bool operator< (const ScMyFormatRange& rRange) const;
};
-typedef std::list<ScMyFormatRange> ScMyFormatRangeAddresses;
-typedef std::vector<ScMyFormatRangeAddresses*> ScMyFormatRangeListVec;
-
class ScFormatRangeStyles
{
+ typedef std::list<ScMyFormatRange> ScMyFormatRangeAddresses;
+ typedef std::vector<ScMyFormatRangeAddresses*> ScMyFormatRangeListVec;
+
ScMyFormatRangeListVec aTables;
ScMyOUStringVec aStyleNames;
ScMyOUStringVec aAutoStyleNames;
@@ -254,12 +256,10 @@ struct ScColumnStyle
ScColumnStyle() : nIndex(-1), bIsVisible(sal_True) {}
};
-
-typedef std::vector<ScColumnStyle> ScMyColumnStyleVec;
-typedef std::vector<ScMyColumnStyleVec> ScMyColumnVectorVec;
-
class ScColumnStyles : public ScColumnRowStylesBase
{
+ typedef std::vector<ScColumnStyle> ScMyColumnStyleVec;
+ typedef std::vector<ScMyColumnStyleVec> ScMyColumnVectorVec;
ScMyColumnVectorVec aTables;
public:
@@ -273,12 +273,21 @@ public:
virtual rtl::OUString* GetStyleName(const sal_Int32 nTable, const sal_Int32 nField);
};
-typedef std::vector<sal_Int32> ScMysalInt32Vec;
-typedef std::vector<ScMysalInt32Vec> ScMyRowVectorVec;
-
class ScRowStyles : public ScColumnRowStylesBase
{
- ScMyRowVectorVec aTables;
+ typedef ::mdds::flat_segment_tree<sal_Int32, sal_Int32> StylesType;
+ ::boost::ptr_vector<StylesType> aTables;
+ struct Cache
+ {
+ sal_Int32 mnTable;
+ sal_Int32 mnStart;
+ sal_Int32 mnEnd;
+ sal_Int32 mnStyle;
+ Cache();
+
+ bool hasCache(sal_Int32 nTable, sal_Int32 nField) const;
+ };
+ Cache maCache;
public:
ScRowStyles();
diff --git a/sc/source/filter/xml/XMLStylesImportHelper.cxx b/sc/source/filter/xml/XMLStylesImportHelper.cxx
index 3a4ea8384539..bc0063fd07df 100644
--- a/sc/source/filter/xml/XMLStylesImportHelper.cxx
+++ b/sc/source/filter/xml/XMLStylesImportHelper.cxx
@@ -65,54 +65,6 @@ ScMyStyleRanges::~ScMyStyleRanges()
delete pCurrencyList;
}
-void ScMyStyleRanges::AddRange(const ScRange& rRange, ScRangeList* pList,
- const rtl::OUString* pStyleName, const sal_Int16 nType,
- ScXMLImport& rImport, const sal_uInt32 nMaxRanges)
-{
- pList->Join(rRange);
- DBG_ASSERT(nMaxRanges > 0, "MaxRanges to less");
- if (pList->Count() > nMaxRanges)
- {
- sal_Int32 nCount(pList->Count());
- ScRange* pRange(NULL);
- for (sal_Int32 i = 0; i < nCount; ++i)
- {
- pRange = pList->GetObject(i);
- if (pRange && (pRange->aEnd.Row() + 1 < rRange.aStart.Row()))
- {
- rImport.SetStyleToRange(*pRange, pStyleName, nType, NULL);
- delete pRange;
- pRange = NULL;
- pList->Remove(i);
- }
- }
- }
-}
-
-void ScMyStyleRanges::AddCurrencyRange(const ScRange& rRange, ScRangeListRef xList,
- const rtl::OUString* pStyleName, const rtl::OUString* pCurrency,
- ScXMLImport& rImport, const sal_uInt32 nMaxRanges)
-{
- xList->Join(rRange);
- DBG_ASSERT(nMaxRanges > 0, "MaxRanges to less");
- if (xList->Count() > nMaxRanges)
- {
- sal_Int32 nCount(xList->Count());
- ScRange* pRange(NULL);
- for (sal_Int32 i = 0; i < nCount; ++i)
- {
- pRange = xList->GetObject(i);
- if (pRange && (pRange->aEnd.Row() + 1 < rRange.aStart.Row()))
- {
- rImport.SetStyleToRange(*pRange, pStyleName, util::NumberFormat::CURRENCY, pCurrency);
- delete pRange;
- pRange = NULL;
- xList->Remove(i);
- }
- }
- }
-}
-
void ScMyStyleRanges::AddRange(const ScRange& rRange,
const rtl::OUString* /*pStyleName*/, const sal_Int16 nType,
ScXMLImport& /*rImport*/, const sal_uInt32 /*nMaxRanges*/)
@@ -270,18 +222,16 @@ void ScMyStyleRanges::SetStylesToRanges(ScRangeList* pList,
const rtl::OUString* pStyleName, const sal_Int16 nCellType,
const rtl::OUString* pCurrency, ScXMLImport& rImport)
{
- sal_Int32 nCount(pList->Count());
- for (sal_Int32 i = 0; i < nCount; ++i)
- rImport.SetStyleToRange(*pList->GetObject(i), pStyleName, nCellType, pCurrency);
+ for ( size_t i = 0, nCount = pList->size(); i < nCount; ++i)
+ rImport.SetStyleToRange( *(*pList)[i], pStyleName, nCellType, pCurrency );
}
void ScMyStyleRanges::SetStylesToRanges(ScRangeListRef xList,
const rtl::OUString* pStyleName, const sal_Int16 nCellType,
const rtl::OUString* pCurrency, ScXMLImport& rImport)
{
- sal_Int32 nCount(xList->Count());
- for (sal_Int32 i = 0; i < nCount; ++i)
- rImport.SetStyleToRange(*xList->GetObject(i), pStyleName, nCellType, pCurrency);
+ for (size_t i = 0, nCount = xList->size(); i < nCount; ++i)
+ rImport.SetStyleToRange( *(*xList)[i], pStyleName, nCellType, pCurrency );
}
void ScMyStyleRanges::SetStylesToRanges(const rtl::OUString* pStyleName, ScXMLImport& rImport)
@@ -578,7 +528,7 @@ void ScMyStylesImportHelper::AddCell(const com::sun::star::table::CellAddress& r
void ScMyStylesImportHelper::InsertRow(const sal_Int32 nRow, const sal_Int32 nTab, ScDocument* pDoc)
{
- rImport.LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(rImport);
ScMyStylesSet::iterator aItr(aCellStyles.begin());
ScMyStylesSet::iterator aEndItr(aCellStyles.end());
while (aItr != aEndItr)
@@ -586,12 +536,11 @@ void ScMyStylesImportHelper::InsertRow(const sal_Int32 nRow, const sal_Int32 nTa
aItr->xRanges->InsertRow(nRow, nTab, pDoc);
++aItr;
}
- rImport.UnlockSolarMutex();
}
void ScMyStylesImportHelper::InsertCol(const sal_Int32 nCol, const sal_Int32 nTab, ScDocument* pDoc)
{
- rImport.LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(rImport);
ScMyStylesSet::iterator aItr(aCellStyles.begin());
ScMyStylesSet::iterator aEndItr(aCellStyles.end());
while (aItr != aEndItr)
@@ -599,7 +548,6 @@ void ScMyStylesImportHelper::InsertCol(const sal_Int32 nCol, const sal_Int32 nTa
aItr->xRanges->InsertCol(nCol, nTab, pDoc);
++aItr;
}
- rImport.UnlockSolarMutex();
}
void ScMyStylesImportHelper::EndTable()
diff --git a/sc/source/filter/xml/XMLStylesImportHelper.hxx b/sc/source/filter/xml/XMLStylesImportHelper.hxx
index 2c39d4eacf12..b7f3e18906aa 100644
--- a/sc/source/filter/xml/XMLStylesImportHelper.hxx
+++ b/sc/source/filter/xml/XMLStylesImportHelper.hxx
@@ -105,12 +105,6 @@ class ScMyStyleRanges : public SvRefBase
::boost::shared_ptr<ScSimpleRangeList> mpUndefinedList;
ScMyCurrencyStylesSet* pCurrencyList;
- void AddRange(const ScRange& rRange, ScRangeList* pList,
- const rtl::OUString* pStyleName, const sal_Int16 nType,
- ScXMLImport& rImport, const sal_uInt32 nMaxRanges);
- void AddCurrencyRange(const ScRange& rRange, ScRangeListRef xList,
- const rtl::OUString* pStyleName, const rtl::OUString* pCurrency,
- ScXMLImport& rImport, const sal_uInt32 nMaxRanges);
void SetStylesToRanges(const ::std::list<ScRange>& rList,
const rtl::OUString* pStyleName, const sal_Int16 nCellType,
const rtl::OUString* pCurrency, ScXMLImport& rImport);
diff --git a/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx b/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
index ec79d21aba40..07c983e90180 100644
--- a/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
+++ b/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
@@ -57,10 +57,10 @@ XMLTableHeaderFooterContext::XMLTableHeaderFooterContext( SvXMLImport& rImport,
sal_Bool bFooter, sal_Bool bLft ) :
SvXMLImportContext( rImport, nPrfx, rLName ),
xPropSet( rPageStylePropSet ),
- sOn( OUString::createFromAscii( bFooter ? SC_UNO_PAGE_FTRON : SC_UNO_PAGE_HDRON ) ),
- sShareContent( OUString::createFromAscii( bFooter ? SC_UNO_PAGE_FTRSHARED : SC_UNO_PAGE_HDRSHARED ) ),
- sContent( OUString::createFromAscii( bFooter ? SC_UNO_PAGE_RIGHTFTRCON : SC_UNO_PAGE_RIGHTHDRCON ) ),
- sContentLeft( OUString::createFromAscii( bFooter ? SC_UNO_PAGE_LEFTFTRCONT : SC_UNO_PAGE_LEFTHDRCONT ) ),
+ sOn( bFooter ? OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_PAGE_FTRON)) : OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_PAGE_HDRON)) ),
+ sShareContent( bFooter ? OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_PAGE_FTRSHARED)) : OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_PAGE_HDRSHARED)) ),
+ sContent( bFooter ? OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_PAGE_RIGHTFTRCON)) : OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_PAGE_RIGHTHDRCON)) ),
+ sContentLeft( bFooter ? OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_PAGE_LEFTFTRCONT)) : OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_PAGE_LEFTHDRCONT)) ),
bDisplay( sal_True ),
bInsertContent( sal_True ),
bLeft( bLft ),
diff --git a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
index 9ddc5ede06a5..cf0581f9ff58 100644
--- a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
+++ b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
@@ -34,6 +34,7 @@
#include "drwlayer.hxx"
#include "xmlannoi.hxx"
#include "rangeutl.hxx"
+#include "userdat.hxx"
#include "docuno.hxx"
#include "sheetdata.hxx"
#include <xmloff/nmspmap.hxx>
@@ -90,6 +91,11 @@ void XMLTableShapeImportHelper::finishShape(
{
if (!pAnnotationContext)
{
+ ScDrawObjData aAnchor;
+ aAnchor.maStart = ScAddress(aStartCell.Column, aStartCell.Row, aStartCell.Sheet);
+ awt::Point aStartPoint(rShape->getPosition());
+ aAnchor.maStartOffset = Point(aStartPoint.X, aStartPoint.Y);
+
sal_Int32 nEndX(-1);
sal_Int32 nEndY(-1);
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
@@ -111,11 +117,18 @@ void XMLTableShapeImportHelper::finishShape(
{
sal_Int32 nOffset(0);
ScRangeStringConverter::GetAddressFromString(aEndCell, rValue, static_cast<ScXMLImport&>(mrImporter).GetDocument(), ::formula::FormulaGrammar::CONV_OOO, nOffset);
+ aAnchor.maEnd = ScAddress(aEndCell.Column, aEndCell.Row, aEndCell.Sheet);
}
else if (IsXMLToken(aLocalName, XML_END_X))
+ {
static_cast<ScXMLImport&>(mrImporter).GetMM100UnitConverter().convertMeasure(nEndX, rValue);
+ aAnchor.maEndOffset.X() = nEndX;
+ }
else if (IsXMLToken(aLocalName, XML_END_Y))
+ {
static_cast<ScXMLImport&>(mrImporter).GetMM100UnitConverter().convertMeasure(nEndY, rValue);
+ aAnchor.maEndOffset.Y() = nEndY;
+ }
else if (IsXMLToken(aLocalName, XML_TABLE_BACKGROUND))
if (IsXMLToken(rValue, XML_TRUE))
nLayerID = SC_LAYER_BACK;
@@ -128,39 +141,28 @@ void XMLTableShapeImportHelper::finishShape(
}
SetLayer(rShape, nLayerID, rShape->getShapeType());
- if (!bOnTable)
+ if (SvxShape* pShapeImp = SvxShape::getImplementation(rShape))
{
- rTables.AddShape(rShape,
- pRangeList, aStartCell, aEndCell, nEndX, nEndY);
- SvxShape* pShapeImp = SvxShape::getImplementation(rShape);
- if (pShapeImp)
+ if (SdrObject *pSdrObj = pShapeImp->GetSdrObject())
{
- SdrObject *pSdrObj = pShapeImp->GetSdrObject();
- if (pSdrObj)
- ScDrawLayer::SetAnchor(pSdrObj, SCA_CELL);
+ if (!bOnTable)
+ ScDrawLayer::SetCellAnchored(*pSdrObj, aAnchor);
+ else
+ ScDrawLayer::SetPageAnchored(*pSdrObj);
}
}
- else
- {
- if ( pRangeList )
- {
- // #i78086# If there are notification ranges, the ChartListener must be created
- // also when anchored to the sheet
- // -> call AddShape with invalid cell position (checked in ScMyShapeResizer::ResizeShapes)
- table::CellAddress aInvalidPos( -1, -1, -1 );
- rTables.AddShape(rShape,
- pRangeList, aInvalidPos, aInvalidPos, 0, 0);
- }
+ if ( bOnTable && pRangeList )
+ {
+ // #i78086# If there are notification ranges, the ChartListener must be created
+ // also when anchored to the sheet
+ // -> call AddOLE with invalid cell position (checked in ScMyShapeResizer::ResizeShapes)
- SvxShape* pShapeImp = SvxShape::getImplementation(rShape);
- if (pShapeImp)
- {
- SdrObject *pSdrObj = pShapeImp->GetSdrObject();
- if (pSdrObj)
- ScDrawLayer::SetAnchor(pSdrObj, SCA_PAGE);
- }
+ if (rTables.IsOLE(rShape))
+ rTables.AddOLE(rShape, *pRangeList);
}
+
+ delete pRangeList;
}
else // shape is annotation
{
diff --git a/sc/source/filter/xml/XMLTableShapeResizer.cxx b/sc/source/filter/xml/XMLTableShapeResizer.cxx
index 23e72c369267..6207885ac5a8 100644
--- a/sc/source/filter/xml/XMLTableShapeResizer.cxx
+++ b/sc/source/filter/xml/XMLTableShapeResizer.cxx
@@ -49,38 +49,38 @@ using ::std::auto_ptr;
using ::std::vector;
using ::rtl::OUString;
-ScMyShapeResizer::ScMyShapeResizer(ScXMLImport& rTempImport)
+ScMyOLEFixer::ScMyOLEFixer(ScXMLImport& rTempImport)
: rImport(rTempImport),
aShapes(),
pCollection(NULL)
{
}
-ScMyShapeResizer::~ScMyShapeResizer()
+ScMyOLEFixer::~ScMyOLEFixer()
{
}
-sal_Bool ScMyShapeResizer::IsOLE(uno::Reference< drawing::XShape >& rShape) const
+sal_Bool ScMyOLEFixer::IsOLE(uno::Reference< drawing::XShape >& rShape)
{
- return rShape->getShapeType().equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.OLE2Shape")));
+ return rShape->getShapeType().equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.OLE2Shape"));
}
-void ScMyShapeResizer::CreateChartListener(ScDocument* pDoc,
+void ScMyOLEFixer::CreateChartListener(ScDocument* pDoc,
const rtl::OUString& rName,
- const rtl::OUString* pRangeList)
+ const rtl::OUString& rRangeList)
{
- if (!pDoc || !pRangeList)
- // These are minimum required.
+ // This is the minimum required.
+ if (!pDoc)
return;
- if (!pRangeList->getLength())
+ if (!rRangeList.getLength())
{
pDoc->AddOLEObjectToCollection(rName);
return;
}
OUString aRangeStr;
- ScRangeStringConverter::GetStringFromXMLRangeString(aRangeStr, *pRangeList, pDoc);
+ ScRangeStringConverter::GetStringFromXMLRangeString(aRangeStr, rRangeList, pDoc);
if (!aRangeStr.getLength())
{
pDoc->AddOLEObjectToCollection(rName);
@@ -93,7 +93,7 @@ void ScMyShapeResizer::CreateChartListener(ScDocument* pDoc,
if (!pCollection)
return;
- auto_ptr< vector<ScSharedTokenRef> > pRefTokens(new vector<ScSharedTokenRef>);
+ auto_ptr< vector<ScTokenRef> > pRefTokens(new vector<ScTokenRef>);
ScRefTokenHelper::compileRangeRepresentation(*pRefTokens, aRangeStr, pDoc);
if (!pRefTokens->empty())
{
@@ -116,271 +116,43 @@ void ScMyShapeResizer::CreateChartListener(ScDocument* pDoc,
}
}
-void ScMyShapeResizer::AddShape(uno::Reference <drawing::XShape>& rShape,
- rtl::OUString* pRangeList,
- table::CellAddress& rStartAddress, table::CellAddress& rEndAddress,
- sal_Int32 nEndX, sal_Int32 nEndY)
+void ScMyOLEFixer::AddOLE(uno::Reference <drawing::XShape>& rShape,
+ const rtl::OUString &rRangeList)
{
- ScMyToResizeShape aShape;
+ ScMyToFixupOLE aShape;
aShape.xShape.set(rShape);
- aShape.pRangeList = pRangeList;
- aShape.aEndCell = rEndAddress;
- aShape.aStartCell = rStartAddress;
- aShape.nEndY = nEndY;
- aShape.nEndX = nEndX;
+ aShape.sRangeList = rRangeList;
aShapes.push_back(aShape);
}
-void ScMyShapeResizer::GetNewShapeSizePos(ScDocument* pDoc, const Rectangle& rStartRect,
- const table::CellAddress& rEndCell,
- awt::Point& rPoint, awt::Size& rSize,
- sal_Int32& rEndX, sal_Int32& rEndY) const
-{
- awt::Point aRefPoint;
- BOOL bNegativePage(pDoc->IsNegativePage(rEndCell.Sheet));
- if (bNegativePage)
- aRefPoint.X = rStartRect.Right();
- else
- aRefPoint.X = rStartRect.Left();
- aRefPoint.Y = rStartRect.Top();
- Rectangle aRect(pDoc->GetMMRect(
- static_cast<SCCOL>(rEndCell.Column), static_cast<SCROW>(rEndCell.Row),
- static_cast<SCCOL>(rEndCell.Column), static_cast<SCROW>(rEndCell.Row), rEndCell.Sheet ));
- if (bNegativePage)
- rEndX = -rEndX + aRect.Right();
- else
- rEndX += aRect.Left();
- rEndY += aRect.Top();
- rPoint.X += aRefPoint.X;
- if (bNegativePage)
- {
- if (rPoint.X < rStartRect.Left())
- rPoint.X = rStartRect.Left() + 2; // increment by 2 100th_mm because the cellwidth is internal in twips
- }
- else
- {
- if (rPoint.X > rStartRect.Right())
- rPoint.X = rStartRect.Right() - 2; // decrement by 2 100th_mm because the cellwidth is internal in twips
- }
- rPoint.Y += aRefPoint.Y;
- if (rPoint.Y > rStartRect.Bottom())
- rPoint.Y = rStartRect.Bottom() - 2; // decrement by 2 100th_mm because the cellheight is internal in twips
- if (bNegativePage)
- {
- rSize.Width = -(rEndX - rPoint.X);
- }
- else
- rSize.Width = rEndX - rPoint.X;
- rSize.Height = rEndY - rPoint.Y;
-}
-
-void ScMyShapeResizer::ResizeShapes()
+void ScMyOLEFixer::FixupOLEs()
{
if (!aShapes.empty() && rImport.GetModel().is())
{
- rtl::OUString sRowHeight(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_CELLHGT));
rtl::OUString sPersistName (RTL_CONSTASCII_USTRINGPARAM("PersistName"));
- rtl::OUString sCaptionPoint( RTL_CONSTASCII_USTRINGPARAM( "CaptionPoint" ));
- rtl::OUString sConnectorShape( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.ConnectorShape") );
- rtl::OUString sCaptionShape( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.CaptionShape") );
- rtl::OUString sStartShape(RTL_CONSTASCII_USTRINGPARAM("StartShape"));
- rtl::OUString sEndShape(RTL_CONSTASCII_USTRINGPARAM("EndShape"));
- rtl::OUString sStartPosition(RTL_CONSTASCII_USTRINGPARAM("StartPosition"));
- rtl::OUString sEndPosition(RTL_CONSTASCII_USTRINGPARAM("EndPosition"));
- uno::Reference<table::XCellRange> xTableRow;
- uno::Reference<sheet::XSpreadsheet> xSheet;
- uno::Reference<table::XTableRows> xTableRows;
- sal_Int32 nOldRow(-1);
- sal_Int32 nOldSheet(-1);
- ScMyToResizeShapes::iterator aItr(aShapes.begin());
- ScMyToResizeShapes::iterator aEndItr(aShapes.end());
- uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( rImport.GetModel(), uno::UNO_QUERY );
- if ( xSpreadDoc.is() )
- {
- uno::Reference<container::XIndexAccess> xIndex( xSpreadDoc->getSheets(), uno::UNO_QUERY );
- ScDocument* pDoc(rImport.GetDocument());
- if ( pDoc && xIndex.is() )
- {
- rImport.LockSolarMutex();
- while (aItr != aEndItr)
- {
- // #i78086# invalid cell position is used to call CreateChartListener only
- if ( aItr->aEndCell.Sheet >= 0 )
- {
- if ((nOldSheet != aItr->aEndCell.Sheet) || !xSheet.is())
- {
- nOldSheet = aItr->aEndCell.Sheet;
- xSheet.set(xIndex->getByIndex(nOldSheet), uno::UNO_QUERY);
- if (xSheet.is())
- {
- uno::Reference<table::XColumnRowRange> xColumnRowRange (xSheet, uno::UNO_QUERY);
- if (xColumnRowRange.is())
- xTableRows = xColumnRowRange->getRows();
- }
- }
- if (xTableRows.is())
- {
- if (nOldRow != aItr->aEndCell.Row || !xTableRow.is())
- {
- nOldRow = aItr->aEndCell.Row;
- xTableRows->getByIndex(nOldRow) >>= xTableRow;
- }
- if (xTableRow.is())
- {
- uno::Reference <beans::XPropertySet> xRowProperties(xTableRow, uno::UNO_QUERY);
- if (xRowProperties.is())
- {
- sal_Int32 nHeight;
- if (xRowProperties->getPropertyValue(sRowHeight) >>= nHeight)
- {
- Rectangle aRec = pDoc->GetMMRect(static_cast<SCCOL>(aItr->aStartCell.Column), static_cast<SCROW>(aItr->aStartCell.Row),
- static_cast<SCCOL>(aItr->aStartCell.Column), static_cast<SCROW>(aItr->aStartCell.Row), aItr->aStartCell.Sheet);
- awt::Point aPoint(aItr->xShape->getPosition());
- awt::Size aSize(aItr->xShape->getSize());
- if (pDoc->IsNegativePage(static_cast<SCTAB>(nOldSheet)))
- aPoint.X += aSize.Width;
- if (aItr->nEndY >= 0 && aItr->nEndX >= 0)
- {
- if (aItr->xShape->getShapeType().equals(sConnectorShape))
- {
- //#103122#; handle connected Connectorshapes
- uno::Reference<beans::XPropertySet> xShapeProps (aItr->xShape, uno::UNO_QUERY);
- if(xShapeProps.is())
- {
- uno::Reference<drawing::XShape> xStartShape(xShapeProps->getPropertyValue( sStartShape ), uno::UNO_QUERY);
- uno::Reference<drawing::XShape> xEndShape(xShapeProps->getPropertyValue( sEndShape ), uno::UNO_QUERY);
- if (!xStartShape.is() && !xEndShape.is())
- {
- awt::Size aOldSize(aSize);
- GetNewShapeSizePos(pDoc, aRec, aItr->aEndCell, aPoint, aSize, aItr->nEndX, aItr->nEndY);
- aItr->xShape->setPosition(aPoint);
- if( (aSize.Width != aOldSize.Width) ||
- (aSize.Height != aOldSize.Height) )
- aItr->xShape->setSize(aSize);
- }
- else if (xStartShape.is() && xEndShape.is())
- {
- // do nothing, because they are connected
- }
- else
- {
- // only one point is connected, the other should be moved
-
- rtl::OUString sProperty;
- if (xStartShape.is())
- {
- awt::Point aEndPoint;
- xShapeProps->getPropertyValue(sEndPosition) >>= aEndPoint;
- aPoint.X = aRec.Left() + aEndPoint.X;
- aPoint.Y = aRec.Top() + aEndPoint.Y;
- sProperty = sEndPosition;
- }
- else
- {
- awt::Point aStartPoint;
- xShapeProps->getPropertyValue(sStartPosition) >>= aStartPoint;
- aPoint.X = aRec.Left() + aStartPoint.X;
- aPoint.Y = aRec.Top() + aStartPoint.Y;
- sProperty = sStartPosition;
- }
- xShapeProps->setPropertyValue(sProperty, uno::makeAny(aPoint));
- }
- }
- }
- else
- {
- awt::Size aOldSize(aSize);
- GetNewShapeSizePos(pDoc, aRec, aItr->aEndCell, aPoint, aSize, aItr->nEndX, aItr->nEndY);
- if (pDoc->IsNegativePage(static_cast<SCTAB>(nOldSheet)))
- aPoint.X -= aSize.Width;
- aItr->xShape->setPosition(aPoint);
- if( (aSize.Width != aOldSize.Width) ||
- (aSize.Height != aOldSize.Height) )
- aItr->xShape->setSize(aSize);
- }
- }
- else
- {
- if (aItr->xShape->getShapeType().equals(sCaptionShape))
- {
- Rectangle aRectangle(aPoint.X, aPoint.Y, aPoint.X + aSize.Width, aPoint.Y + aSize.Height);
+ ScMyToFixupOLEs::iterator aItr(aShapes.begin());
+ ScMyToFixupOLEs::iterator aEndItr(aShapes.end());
+ ScDocument* pDoc(rImport.GetDocument());
- awt::Point aCaptionPoint;
- uno::Reference< beans::XPropertySet > xShapeProps(aItr->xShape, uno::UNO_QUERY);
- if (xShapeProps.is())
- {
- try
- {
- xShapeProps->getPropertyValue( sCaptionPoint ) >>= aCaptionPoint;
- }
- catch ( uno::Exception& )
- {
- DBG_ERROR("This Captionshape has no CaptionPoint property.");
- }
- }
- Point aCorePoint(aPoint.X, aPoint.Y);
- Point aCoreCaptionPoint(aCaptionPoint.X, aCaptionPoint.Y);
- aCoreCaptionPoint += aCorePoint;
- aRectangle.Union(Rectangle(aCoreCaptionPoint, aCoreCaptionPoint));
+ ScXMLImport::MutexGuard aGuard(rImport);
- Point aBeforeRightBottomPoint(aRectangle.BottomRight());
-
- aRectangle += aRec.TopLeft();
- if (aRectangle.Left() > aRec.Right())
- aRectangle -= (Point(aRectangle.Left() - aRec.Right() + 2, 0));
- if (aRectangle.Top() > aRec.Bottom())
- aRectangle -= (Point(0, aRectangle.Top() - aRec.Bottom() + 2));
+ while (aItr != aEndItr)
+ {
+ // #i78086# also call CreateChartListener for invalid position (anchored to sheet)
+ if (!IsOLE(aItr->xShape))
+ DBG_ERROR("Only OLEs should be in here now");
- Point aDifferencePoint(aRectangle.BottomRight() - aBeforeRightBottomPoint);
- aPoint.X += aDifferencePoint.X();
- aPoint.Y += aDifferencePoint.Y();
+ if (IsOLE(aItr->xShape))
+ {
+ uno::Reference < beans::XPropertySet > xShapeProps ( aItr->xShape, uno::UNO_QUERY );
+ uno::Reference < beans::XPropertySetInfo > xShapeInfo(xShapeProps->getPropertySetInfo());
- aItr->xShape->setPosition(aPoint);
- }
- else
- {
- // #96159# it is possible, that shapes have a negative position
- // this is now handled here
- DBG_ERROR("no or negative end address of this shape");
- awt::Point aRefPoint;
- aRefPoint.X = aRec.Left();
- aRefPoint.Y = aRec.Top();
- aPoint.X += aRefPoint.X;
- if (aPoint.X > aRec.Right())
- aPoint.X = aRec.Right() - 2; // decrement by 2 100th_mm because the cellheight is internal in twips
- aPoint.Y += aRefPoint.Y;
- if (aPoint.Y > aRec.Bottom())
- aPoint.Y = aRec.Bottom() - 2; // decrement by 2 100th_mm because the cellheight is internal in twips
- aItr->xShape->setPosition(aPoint);
- }
- }
- }
- }
- }
- }
- else
- {
- DBG_ERROR("something wents wrong");
- }
- }
- // #i78086# call CreateChartListener also for invalid position (anchored to sheet)
- if (IsOLE(aItr->xShape))
- {
- uno::Reference < beans::XPropertySet > xShapeProps ( aItr->xShape, uno::UNO_QUERY );
- uno::Reference < beans::XPropertySetInfo > xShapeInfo(xShapeProps->getPropertySetInfo());
- rtl::OUString sName;
- if (xShapeProps.is() && xShapeInfo.is() && xShapeInfo->hasPropertyByName(sPersistName) &&
- (xShapeProps->getPropertyValue(sPersistName) >>= sName))
- CreateChartListener(pDoc, sName, aItr->pRangeList);
- }
- if (aItr->pRangeList)
- delete aItr->pRangeList;
- aItr = aShapes.erase(aItr);
- }
- rImport.UnlockSolarMutex();
-// if (pCollection)
-// pDoc->SetChartListenerCollection(pCollection);
+ rtl::OUString sName;
+ if (pDoc && xShapeProps.is() && xShapeInfo.is() && xShapeInfo->hasPropertyByName(sPersistName) &&
+ (xShapeProps->getPropertyValue(sPersistName) >>= sName))
+ CreateChartListener(pDoc, sName, aItr->sRangeList);
}
+ aItr = aShapes.erase(aItr);
}
}
}
diff --git a/sc/source/filter/xml/XMLTableShapeResizer.hxx b/sc/source/filter/xml/XMLTableShapeResizer.hxx
index 6372f50be673..fde729ef2e7c 100644
--- a/sc/source/filter/xml/XMLTableShapeResizer.hxx
+++ b/sc/source/filter/xml/XMLTableShapeResizer.hxx
@@ -39,44 +39,31 @@ class ScChartListenerCollection;
class ScDocument;
class Rectangle;
-struct ScMyToResizeShape
+struct ScMyToFixupOLE
{
com::sun::star::uno::Reference <com::sun::star::drawing::XShape> xShape;
- rtl::OUString* pRangeList;
- com::sun::star::table::CellAddress aEndCell;
- com::sun::star::table::CellAddress aStartCell;
- sal_Int32 nEndX;
- sal_Int32 nEndY;
-
- ScMyToResizeShape() : pRangeList(NULL) {}
+ rtl::OUString sRangeList;
};
-typedef std::list<ScMyToResizeShape> ScMyToResizeShapes;
+typedef std::list<ScMyToFixupOLE> ScMyToFixupOLEs;
-class ScMyShapeResizer
+class ScMyOLEFixer
{
ScXMLImport& rImport;
- ScMyToResizeShapes aShapes;
+ ScMyToFixupOLEs aShapes;
ScChartListenerCollection* pCollection;
- sal_Bool IsOLE(com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& rShape) const;
void CreateChartListener(ScDocument* pDoc,
const rtl::OUString& rName,
- const rtl::OUString* pRangeList);
- void GetNewShapeSizePos(ScDocument* pDoc, const Rectangle& rStartRect,
- const com::sun::star::table::CellAddress& rEndCell,
- com::sun::star::awt::Point& rPoint, com::sun::star::awt::Size& rSize,
- sal_Int32& rEndX, sal_Int32& rEndY) const;
+ const rtl::OUString& rRangeList);
public:
- ScMyShapeResizer(ScXMLImport& rImport);
- ~ScMyShapeResizer();
+ ScMyOLEFixer(ScXMLImport& rImport);
+ ~ScMyOLEFixer();
- void AddShape(com::sun::star::uno::Reference <com::sun::star::drawing::XShape>& rShape,
- rtl::OUString* pRangeList,
- com::sun::star::table::CellAddress& rStartAddress,
- com::sun::star::table::CellAddress& rEndAddress,
- sal_Int32 nEndX, sal_Int32 nEndY);
- void ResizeShapes();
+ static sal_Bool IsOLE(com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& rShape);
+ void AddOLE(com::sun::star::uno::Reference <com::sun::star::drawing::XShape>& rShape,
+ const rtl::OUString &rRangeList);
+ void FixupOLEs();
};
#endif
diff --git a/sc/source/filter/xml/XMLTableSourceContext.cxx b/sc/source/filter/xml/XMLTableSourceContext.cxx
index 9cc6d9a7090a..d3607a2ab279 100644
--- a/sc/source/filter/xml/XMLTableSourceContext.cxx
+++ b/sc/source/filter/xml/XMLTableSourceContext.cxx
@@ -117,7 +117,7 @@ void ScXMLTableSourceContext::EndElement()
ScDocument* pDoc(GetScImport().GetDocument());
if (xLinkable.is() && pDoc)
{
- GetScImport().LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(GetScImport());
if (pDoc->RenameTab( static_cast<SCTAB>(GetScImport().GetTables().GetCurrentSheet()),
GetScImport().GetTables().GetCurrentSheetName(), sal_False, sal_True))
{
@@ -140,7 +140,6 @@ void ScXMLTableSourceContext::EndElement()
nLinkMode, aFileString, aFilterString, aOptString,
aSheetString, nRefresh );
}
- GetScImport().UnlockSolarMutex();
}
}
}
diff --git a/sc/source/filter/xml/cachedattraccess.cxx b/sc/source/filter/xml/cachedattraccess.cxx
new file mode 100644
index 000000000000..b5ef932a4410
--- /dev/null
+++ b/sc/source/filter/xml/cachedattraccess.cxx
@@ -0,0 +1,70 @@
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * [ Kohei Yoshida <kyoshida@novell.com> ]
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_sc.hxx"
+
+#include "cachedattraccess.hxx"
+#include "document.hxx"
+
+ScXMLCachedRowAttrAccess::Cache::Cache() :
+ mnTab(-1), mnRow1(-1), mnRow2(-1), mbValue(false) {}
+
+bool ScXMLCachedRowAttrAccess::Cache::hasCache(sal_Int32 nTab, sal_Int32 nRow) const
+{
+ return mnTab == nTab && mnRow1 <= nRow && nRow <= mnRow2;
+}
+
+ScXMLCachedRowAttrAccess::ScXMLCachedRowAttrAccess(ScDocument* pDoc) :
+ mpDoc(pDoc) {}
+
+bool ScXMLCachedRowAttrAccess::rowHidden(sal_Int32 nTab, sal_Int32 nRow)
+{
+ if (!maHidden.hasCache(nTab, nRow))
+ {
+ SCROW nRow1, nRow2;
+ maHidden.mbValue = mpDoc->RowHidden(
+ static_cast<SCTAB>(nTab), static_cast<SCROW>(nRow), &nRow1, &nRow2);
+ maHidden.mnRow1 = static_cast<sal_Int32>(nRow1);
+ maHidden.mnRow2 = static_cast<sal_Int32>(nRow2);
+ }
+ return maHidden.mbValue;
+}
+
+bool ScXMLCachedRowAttrAccess::rowFiltered(sal_Int32 nTab, sal_Int32 nRow)
+{
+ if (!maFiltered.hasCache(nTab, nRow))
+ {
+ SCROW nRow1, nRow2;
+ maFiltered.mbValue = mpDoc->RowFiltered(
+ static_cast<SCTAB>(nTab), static_cast<SCROW>(nRow), &nRow1, &nRow2);
+ maFiltered.mnRow1 = static_cast<sal_Int32>(nRow1);
+ maFiltered.mnRow2 = static_cast<sal_Int32>(nRow2);
+ }
+ return maFiltered.mbValue;
+}
+
diff --git a/sc/source/filter/xml/cachedattraccess.hxx b/sc/source/filter/xml/cachedattraccess.hxx
new file mode 100644
index 000000000000..5ef6e4118089
--- /dev/null
+++ b/sc/source/filter/xml/cachedattraccess.hxx
@@ -0,0 +1,63 @@
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * [ Kohei Yoshida <kyoshida@novell.com> ]
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef __SC_FILTER_XML_CACHEDATTRACCESS_HXX__
+#define __SC_FILTER_XML_CACHEDATTRACCESS_HXX__
+
+#include "sal/types.h"
+
+class ScDocument;
+
+/**
+ * Wrapper for accessing hidden and filtered row attributes. It caches last
+ * accessed values for a current range, to avoid fetching values for every
+ * single row.
+ */
+class ScXMLCachedRowAttrAccess
+{
+ struct Cache
+ {
+ sal_Int32 mnTab;
+ sal_Int32 mnRow1;
+ sal_Int32 mnRow2;
+ bool mbValue;
+ Cache();
+ bool hasCache(sal_Int32 nTab, sal_Int32 nRow) const;
+ };
+
+public:
+ ScXMLCachedRowAttrAccess(ScDocument* pDoc);
+
+ bool rowHidden(sal_Int32 nTab, sal_Int32 nRow);
+ bool rowFiltered(sal_Int32 nTab, sal_Int32 nRow);
+private:
+ Cache maHidden;
+ Cache maFiltered;
+ ScDocument* mpDoc;
+};
+
+#endif
diff --git a/sc/source/filter/xml/makefile.mk b/sc/source/filter/xml/makefile.mk
index 47d428157993..777d68c086bf 100644
--- a/sc/source/filter/xml/makefile.mk
+++ b/sc/source/filter/xml/makefile.mk
@@ -47,6 +47,7 @@ PROJECTPCHSOURCE=..\pch\filt_pch
SLOFILES = \
$(SLO)$/sheetdata.obj \
+ $(SLO)$/cachedattraccess.obj \
$(SLO)$/xmlwrap.obj \
$(SLO)$/xmlimprt.obj \
$(SLO)$/xmlexprt.obj \
diff --git a/sc/source/filter/xml/xmlbodyi.cxx b/sc/source/filter/xml/xmlbodyi.cxx
index 7f92f82aa1a6..3f8539d9b37c 100644
--- a/sc/source/filter/xml/xmlbodyi.cxx
+++ b/sc/source/filter/xml/xmlbodyi.cxx
@@ -268,7 +268,9 @@ void ScXMLBodyContext::EndElement()
SvXMLImportContext *pContext = new ScXMLCalculationSettingsContext( GetScImport(), XML_NAMESPACE_TABLE, GetXMLToken(XML_CALCULATION_SETTINGS), NULL );
pContext->EndElement();
}
- GetScImport().LockSolarMutex();
+
+ ScXMLImport::MutexGuard aGuard(GetScImport());
+
ScMyImpDetectiveOpArray* pDetOpArray = GetScImport().GetDetectiveOpArray();
ScDocument* pDoc = GetScImport().GetDocument();
ScMyImpDetectiveOp aDetOp;
@@ -304,7 +306,6 @@ void ScXMLBodyContext::EndElement()
pDoc->SetDocProtection(pProtection.get());
}
}
- GetScImport().UnlockSolarMutex();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/xml/xmlcoli.cxx b/sc/source/filter/xml/xmlcoli.cxx
index 4b05c89dc4e2..fa2cc817fa7a 100644
--- a/sc/source/filter/xml/xmlcoli.cxx
+++ b/sc/source/filter/xml/xmlcoli.cxx
@@ -319,7 +319,7 @@ void ScXMLTableColsContext::EndElement()
ScDocument* pDoc = GetScImport().GetDocument();
if (pDoc)
{
- rXMLImport.LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(GetScImport());
ScOutlineTable* pOutlineTable = pDoc->GetOutlineTable(static_cast<SCTAB>(nSheet), sal_True);
ScOutlineArray* pColArray = pOutlineTable ? pOutlineTable->GetColArray() : NULL;
if (pColArray)
@@ -327,7 +327,6 @@ void ScXMLTableColsContext::EndElement()
sal_Bool bResized;
pColArray->Insert(static_cast<SCCOL>(nGroupStartCol), static_cast<SCCOL>(nGroupEndCol), bResized, !bGroupDisplay, sal_True);
}
- rXMLImport.UnlockSolarMutex();
}
}
}
diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
index 2f31b209d375..e5229d2fbcf5 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -69,6 +69,7 @@
#include "externalrefmgr.hxx"
#include "editutil.hxx"
#include "tabprotection.hxx"
+#include "cachedattraccess.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlnmspe.hxx>
@@ -161,11 +162,13 @@
#define SC_SHOW_CHANGES_BY_RANGES 11
#define SC_SHOW_CHANGES_BY_RANGES_LIST 12
-using namespace rtl;
using namespace formula;
using namespace com::sun::star;
using namespace xmloff::token;
using ::std::vector;
+using ::rtl::OUString;
+using ::rtl::OUStringBuffer;
+using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::UNO_QUERY;
//----------------------------------------------------------------------------
@@ -527,7 +530,7 @@ ScXMLExport::ScXMLExport(
// This name is reserved for the external ref cache tables. This
// should not conflict with user-defined styles since this name is
// used for a table style which is not available in the UI.
- sExternalRefTabStyleName = rtl::OUString::createFromAscii("ta_extref");
+ sExternalRefTabStyleName = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ta_extref"));
GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_TABLE_TABLE, sExternalRefTabStyleName);
sAttrName = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_NAME));
@@ -679,39 +682,21 @@ void ScXMLExport::CollectSharedData(sal_Int32& nTableCount, sal_Int32& nShapesCo
else
{
++nShapesCount;
- SvxShape* pShapeImp(SvxShape::getImplementation(xShape));
- if (pShapeImp)
+ if (SvxShape* pShapeImp = SvxShape::getImplementation(xShape))
{
- SdrObject *pSdrObj(pShapeImp->GetSdrObject());
- if (pSdrObj)
+ if (SdrObject *pSdrObj = pShapeImp->GetSdrObject())
{
- if (ScDrawLayer::GetAnchor(pSdrObj) == SCA_CELL)
+ if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjData( pSdrObj ))
{
- if (pDoc)
- {
-
- awt::Point aPoint(xShape->getPosition());
- awt::Size aSize(xShape->getSize());
- rtl::OUString sType(xShape->getShapeType());
- Rectangle aRectangle(aPoint.X, aPoint.Y, aPoint.X + aSize.Width, aPoint.Y + aSize.Height);
- if ( sType.equals(sCaptionShape) )
- {
- awt::Point aRelativeCaptionPoint;
- xShapeProp->getPropertyValue( sCaptionPoint ) >>= aRelativeCaptionPoint;
- Point aCoreRelativeCaptionPoint(aRelativeCaptionPoint.X, aRelativeCaptionPoint.Y);
- Point aCoreAbsoluteCaptionPoint(aPoint.X, aPoint.Y);
- aCoreAbsoluteCaptionPoint += aCoreRelativeCaptionPoint;
- aRectangle.Union(Rectangle(aCoreAbsoluteCaptionPoint, aCoreAbsoluteCaptionPoint));
- }
- ScRange aRange(pDoc->GetRange(static_cast<SCTAB>(nTable), aRectangle));
- ScMyShape aMyShape;
- aMyShape.aAddress = aRange.aStart;
- aMyShape.aEndAddress = aRange.aEnd;
- aMyShape.xShape = xShape;
- pSharedData->AddNewShape(aMyShape);
- pSharedData->SetLastColumn(nTable, aRange.aStart.Col());
- pSharedData->SetLastRow(nTable, aRange.aStart.Row());
- }
+ ScMyShape aMyShape;
+ aMyShape.aAddress = pAnchor->maStart;
+ aMyShape.aEndAddress = pAnchor->maEnd;
+ aMyShape.nEndX = pAnchor->maEndOffset.X();
+ aMyShape.nEndY = pAnchor->maEndOffset.Y();
+ aMyShape.xShape = xShape;
+ pSharedData->AddNewShape(aMyShape);
+ pSharedData->SetLastColumn(nTable, pAnchor->maStart.Col());
+ pSharedData->SetLastRow(nTable, pAnchor->maStart.Row());
}
else
pSharedData->AddTableShape(nTable, xShape);
@@ -825,11 +810,11 @@ void ScXMLExport::_ExportMeta()
CollectSharedData(nTableCount, nShapesCount, nCellCount);
uno::Sequence<beans::NamedValue> stats(3);
- stats[0] = beans::NamedValue(::rtl::OUString::createFromAscii("TableCount"),
+ stats[0] = beans::NamedValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TableCount")),
uno::makeAny(nTableCount));
- stats[1] = beans::NamedValue(::rtl::OUString::createFromAscii("CellCount"),
+ stats[1] = beans::NamedValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CellCount")),
uno::makeAny(nCellCount));
- stats[2] = beans::NamedValue(::rtl::OUString::createFromAscii("ObjectCount"),
+ stats[2] = beans::NamedValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ObjectCount")),
uno::makeAny(nShapesCount));
// update document statistics at the model
@@ -1089,7 +1074,7 @@ void ScXMLExport::ExportColumns(const sal_Int32 nTable, const table::CellRangeAd
void ScXMLExport::ExportExternalRefCacheStyles()
{
sal_Int32 nEntryIndex = GetCellStylesPropertySetMapper()->FindEntryIndex(
- "NumberFormat", XML_NAMESPACE_STYLE, OUString::createFromAscii("data-style-name"));
+ "NumberFormat", XML_NAMESPACE_STYLE, OUString(RTL_CONSTASCII_USTRINGPARAM("data-style-name")));
if (nEntryIndex < 0)
// No entry index for the number format is found.
@@ -1103,7 +1088,7 @@ void ScXMLExport::ExportExternalRefCacheStyles()
// Export each unique number format used in the external ref cache.
vector<sal_uInt32> aNumFmts;
pRefMgr->getAllCachedNumberFormats(aNumFmts);
- const OUString aDefaultStyle = OUString::createFromAscii("Default").intern();
+ const OUString aDefaultStyle = OUString(RTL_CONSTASCII_USTRINGPARAM("Default")).intern();
for (vector<sal_uInt32>::const_iterator itr = aNumFmts.begin(), itrEnd = aNumFmts.end();
itr != itrEnd; ++itr)
{
@@ -1130,7 +1115,7 @@ void ScXMLExport::ExportExternalRefCacheStyles()
{
sal_Bool bIsAuto;
nIndex = pCellStyles->GetIndexOfStyleName(
- aName, OUString::createFromAscii(XML_STYLE_FAMILY_TABLE_CELL_STYLES_PREFIX), bIsAuto);
+ aName, OUString(RTL_CONSTASCII_USTRINGPARAM(XML_STYLE_FAMILY_TABLE_CELL_STYLES_PREFIX)), bIsAuto);
}
// store the number format to index mapping for later use.
@@ -1211,18 +1196,18 @@ void ScXMLExport::WriteRowContent()
}
}
-void ScXMLExport::WriteRowStartTag(sal_Int32 nRow, const sal_Int32 nIndex,
- const sal_Int8 nFlag, const sal_Int32 nEqualRows)
+void ScXMLExport::WriteRowStartTag(
+ sal_Int32 nRow, const sal_Int32 nIndex, const sal_Int32 nEqualRows,
+ bool bHidden, bool bFiltered)
{
AddAttribute(sAttrStyleName, *pRowStyles->GetStyleNameByIndex(nIndex));
- if (nFlag)
- if (nFlag & CR_HIDDEN)
- {
- if (nFlag & CR_FILTERED)
- AddAttribute(XML_NAMESPACE_TABLE, XML_VISIBILITY, XML_FILTER);
- else
- AddAttribute(XML_NAMESPACE_TABLE, XML_VISIBILITY, XML_COLLAPSE);
- }
+ if (bHidden)
+ {
+ if (bFiltered)
+ AddAttribute(XML_NAMESPACE_TABLE, XML_VISIBILITY, XML_FILTER);
+ else
+ AddAttribute(XML_NAMESPACE_TABLE, XML_VISIBILITY, XML_COLLAPSE);
+ }
if (nEqualRows > 1)
{
rtl::OUStringBuffer aBuf;
@@ -1256,7 +1241,9 @@ void ScXMLExport::CloseHeaderRows()
EndElement(XML_NAMESPACE_TABLE, XML_TABLE_HEADER_ROWS, sal_True);
}
-void ScXMLExport::OpenNewRow(const sal_Int32 nIndex, const sal_Int8 nFlag, const sal_Int32 nStartRow, const sal_Int32 nEqualRows)
+void ScXMLExport::OpenNewRow(
+ const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEqualRows,
+ bool bHidden, bool bFiltered)
{
nOpenRow = nStartRow;
if (pGroupRows->IsGroupStart(nStartRow))
@@ -1276,35 +1263,38 @@ void ScXMLExport::OpenNewRow(const sal_Int32 nIndex, const sal_Int8 nFlag, const
nEquals = aRowHeaderRange.EndRow - nStartRow + 1;
else
nEquals = nEqualRows;
- WriteRowStartTag(nStartRow, nIndex, nFlag, nEquals);
+ WriteRowStartTag(nStartRow, nIndex, nEquals, bHidden, bFiltered);
nOpenRow = nStartRow + nEquals - 1;
if (nEquals < nEqualRows)
{
CloseRow(nStartRow + nEquals - 1);
- WriteRowStartTag(nStartRow, nIndex, nFlag, nEqualRows - nEquals);
+ WriteRowStartTag(nStartRow, nIndex, nEqualRows - nEquals, bHidden, bFiltered);
nOpenRow = nStartRow + nEqualRows - 1;
}
}
else
- WriteRowStartTag(nStartRow, nIndex, nFlag, nEqualRows);
+ WriteRowStartTag(nStartRow, nIndex, nEqualRows, bHidden, bFiltered);
}
-void ScXMLExport::OpenAndCloseRow(const sal_Int32 nIndex, const sal_Int8 nFlag,
- const sal_Int32 nStartRow, const sal_Int32 nEqualRows)
+void ScXMLExport::OpenAndCloseRow(
+ const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEqualRows,
+ bool bHidden, bool bFiltered)
{
- OpenNewRow(nIndex, nFlag, nStartRow, nEqualRows);
+ OpenNewRow(nIndex, nStartRow, nEqualRows, bHidden, bFiltered);
WriteRowContent();
CloseRow(nStartRow + nEqualRows - 1);
pRowFormatRanges->Clear();
}
-void ScXMLExport::OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, const sal_Int32 nRepeatRow)
+void ScXMLExport::OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, const sal_Int32 nRepeatRow, ScXMLCachedRowAttrAccess& rRowAttr)
{
if (nRepeatRow > 1)
{
sal_Int32 nPrevIndex(0), nIndex;
- sal_Int8 nPrevFlag(0);
- sal_Int8 nFlag(0);
+ bool bPrevHidden = false;
+ bool bPrevFiltered = false;
+ bool bHidden = false;
+ bool bFiltered = false;
sal_Int32 nEqualRows(1);
sal_Int32 nEndRow(nStartRow + nRepeatRow);
sal_Int32 nRow;
@@ -1314,14 +1304,20 @@ void ScXMLExport::OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, con
{
nPrevIndex = pRowStyles->GetStyleNameIndex(nTable, nRow);
if (pDoc)
- nPrevFlag = (pDoc->GetRowFlags(static_cast<SCROW>(nRow), static_cast<SCTAB>(nTable))) & (CR_HIDDEN | CR_FILTERED);
+ {
+ bPrevHidden = rRowAttr.rowHidden(nTable, nRow);
+ bPrevFiltered = rRowAttr.rowFiltered(nTable, nRow);
+ }
}
else
{
nIndex = pRowStyles->GetStyleNameIndex(nTable, nRow);
if (pDoc)
- nFlag = (pDoc->GetRowFlags(static_cast<SCROW>(nRow), static_cast<SCTAB>(nTable))) & (CR_HIDDEN | CR_FILTERED);
- if (nIndex == nPrevIndex && nFlag == nPrevFlag &&
+ {
+ bHidden = rRowAttr.rowHidden(nTable, nRow);
+ bFiltered = rRowAttr.rowFiltered(nTable, nRow);
+ }
+ if (nIndex == nPrevIndex && bHidden == bPrevHidden && bFiltered == bPrevFiltered &&
!(bHasRowHeader && ((nRow == aRowHeaderRange.StartRow) || (nRow - 1 == aRowHeaderRange.EndRow))) &&
!(pGroupRows->IsGroupStart(nRow)) &&
!(pGroupRows->IsGroupEnd(nRow - 1)))
@@ -1331,27 +1327,32 @@ void ScXMLExport::OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, con
if (nRow < nEndRow)
{
ScRowFormatRanges* pTempRowFormatRanges = new ScRowFormatRanges(pRowFormatRanges);
- OpenAndCloseRow(nPrevIndex, nPrevFlag, nRow - nEqualRows, nEqualRows);
+ OpenAndCloseRow(nPrevIndex, nRow - nEqualRows, nEqualRows, bPrevHidden, bPrevFiltered);
delete pRowFormatRanges;
pRowFormatRanges = pTempRowFormatRanges;
}
else
- OpenAndCloseRow(nPrevIndex, nPrevFlag, nRow - nEqualRows, nEqualRows);
+ OpenAndCloseRow(nPrevIndex, nRow - nEqualRows, nEqualRows, bPrevHidden, bPrevFiltered);
nEqualRows = 1;
nPrevIndex = nIndex;
- nPrevFlag = nFlag;
+ bPrevHidden = bHidden;
+ bPrevFiltered = bFiltered;
}
}
}
- OpenNewRow(nPrevIndex, nPrevFlag, nRow - nEqualRows, nEqualRows);
+ OpenNewRow(nPrevIndex, nRow - nEqualRows, nEqualRows, bPrevHidden, bPrevFiltered);
}
else
{
sal_Int32 nIndex = pRowStyles->GetStyleNameIndex(nTable, nStartRow);
- sal_Int8 nFlag(0);
+ bool bHidden = false;
+ bool bFiltered = false;
if (pDoc)
- nFlag = (pDoc->GetRowFlags(static_cast<SCROW>(nStartRow), static_cast<SCTAB>(nTable))) & (CR_HIDDEN | CR_FILTERED);
- OpenNewRow(nIndex, nFlag, nStartRow, 1);
+ {
+ bHidden = rRowAttr.rowHidden(nTable, nStartRow);
+ bFiltered = rRowAttr.rowFiltered(nTable, nStartRow);
+ }
+ OpenNewRow(nIndex, nStartRow, 1, bHidden, bFiltered);
}
nOpenRow = nStartRow + nRepeatRow - 1;
}
@@ -1382,11 +1383,12 @@ void ScXMLExport::ExportFormatRanges(const sal_Int32 nStartCol, const sal_Int32
const sal_Int32 nEndCol, const sal_Int32 nEndRow, const sal_Int32 nSheet)
{
pRowFormatRanges->Clear();
+ ScXMLCachedRowAttrAccess aRowAttr(pDoc);
if (nStartRow == nEndRow)
{
pCellStyles->GetFormatRanges(nStartCol, nEndCol, nStartRow, nSheet, pRowFormatRanges);
if (nOpenRow == - 1)
- OpenRow(nSheet, nStartRow, 1);
+ OpenRow(nSheet, nStartRow, 1, aRowAttr);
WriteRowContent();
pRowFormatRanges->Clear();
}
@@ -1407,12 +1409,12 @@ void ScXMLExport::ExportFormatRanges(const sal_Int32 nStartCol, const sal_Int32
DBG_ASSERT(nMaxRows, "something wents wrong");
if (nMaxRows >= nTotalRows - nRows)
{
- OpenRow(nSheet, nStartRow + nRows, nTotalRows - nRows);
+ OpenRow(nSheet, nStartRow + nRows, nTotalRows - nRows, aRowAttr);
nRows += nTotalRows - nRows;
}
else
{
- OpenRow(nSheet, nStartRow + nRows, nMaxRows);
+ OpenRow(nSheet, nStartRow + nRows, nMaxRows, aRowAttr);
nRows += nMaxRows;
}
if (!pRowFormatRanges->GetSize())
@@ -1422,7 +1424,7 @@ void ScXMLExport::ExportFormatRanges(const sal_Int32 nStartCol, const sal_Int32
}
if (nTotalRows == 1)
CloseRow(nStartRow);
- OpenRow(nSheet, nEndRow, 1);
+ OpenRow(nSheet, nEndRow, 1, aRowAttr);
pRowFormatRanges->Clear();
pCellStyles->GetFormatRanges(0, nEndCol, nEndRow, nSheet, pRowFormatRanges);
WriteRowContent();
@@ -1437,12 +1439,12 @@ void ScXMLExport::ExportFormatRanges(const sal_Int32 nStartCol, const sal_Int32
sal_Int32 nMaxRows = pRowFormatRanges->GetMaxRows();
if (nMaxRows >= nTotalRows - nRows)
{
- OpenRow(nSheet, nStartRow + nRows, nTotalRows - nRows);
+ OpenRow(nSheet, nStartRow + nRows, nTotalRows - nRows, aRowAttr);
nRows += nTotalRows - nRows;
}
else
{
- OpenRow(nSheet, nStartRow + nRows, nMaxRows);
+ OpenRow(nSheet, nStartRow + nRows, nMaxRows, aRowAttr);
nRows += nMaxRows;
}
if (!pRowFormatRanges->GetSize())
@@ -1450,7 +1452,7 @@ void ScXMLExport::ExportFormatRanges(const sal_Int32 nStartCol, const sal_Int32
WriteRowContent();
CloseRow(nStartRow + nRows - 1);
}
- OpenRow(nSheet, nEndRow, 1);
+ OpenRow(nSheet, nEndRow, 1, aRowAttr);
pRowFormatRanges->Clear();
pCellStyles->GetFormatRanges(0, nEndCol, nEndRow, nSheet, pRowFormatRanges);
WriteRowContent();
@@ -1749,46 +1751,45 @@ void ScXMLExport::_ExportContent()
AddAttribute(sAttrStyleName, aTableStyles[nTable]);
uno::Reference<util::XProtectable> xProtectable (xTable, uno::UNO_QUERY);
- ScTableProtection* pProtect = NULL;
+ ScTableProtection* pProtect = NULL;
if (xProtectable.is() && xProtectable->isProtected())
{
AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTED, XML_TRUE);
if (pDoc)
{
- pProtect = pDoc->GetTabProtection(static_cast<SCTAB>(nTable));
+ pProtect = pDoc->GetTabProtection(static_cast<SCTAB>(nTable));
if (pProtect)
- {
- rtl::OUStringBuffer aBuffer;
- ScPasswordHash eHashUsed = PASSHASH_UNSPECIFIED;
- if (pProtect->hasPasswordHash(PASSHASH_SHA1))
- {
- SvXMLUnitConverter::encodeBase64(aBuffer, pProtect->getPasswordHash(PASSHASH_SHA1));
- eHashUsed = PASSHASH_SHA1;
- }
- else if (pProtect->hasPasswordHash(PASSHASH_XL, PASSHASH_SHA1))
- {
- // Double-hash this by SHA1 on top of the legacy xls hash.
- uno::Sequence<sal_Int8> aHash = pProtect->getPasswordHash(PASSHASH_XL, PASSHASH_SHA1);
- SvXMLUnitConverter::encodeBase64(aBuffer, aHash);
- eHashUsed = PASSHASH_XL;
- }
- if (aBuffer.getLength())
{
- AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTION_KEY, aBuffer.makeStringAndClear());
- if (eHashUsed == PASSHASH_XL)
+ rtl::OUStringBuffer aBuffer;
+ ScPasswordHash eHashUsed = PASSHASH_UNSPECIFIED;
+ if (pProtect->hasPasswordHash(PASSHASH_SHA1))
{
- AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTION_KEY_DIGEST_ALGORITHM,
- ScPassHashHelper::getHashURI(PASSHASH_XL));
- AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTION_KEY_DIGEST_ALGORITHM_2,
- ScPassHashHelper::getHashURI(PASSHASH_SHA1));
+ SvXMLUnitConverter::encodeBase64(aBuffer, pProtect->getPasswordHash(PASSHASH_SHA1));
+ eHashUsed = PASSHASH_SHA1;
+ }
+ else if (pProtect->hasPasswordHash(PASSHASH_XL, PASSHASH_SHA1))
+ {
+ // Double-hash this by SHA1 on top of the legacy xls hash.
+ uno::Sequence<sal_Int8> aHash = pProtect->getPasswordHash(PASSHASH_XL, PASSHASH_SHA1);
+ SvXMLUnitConverter::encodeBase64(aBuffer, aHash);
+ eHashUsed = PASSHASH_XL;
+ }
+ if (aBuffer.getLength())
+ {
+ AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTION_KEY, aBuffer.makeStringAndClear());
+ if (eHashUsed == PASSHASH_XL)
+ {
+ AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTION_KEY_DIGEST_ALGORITHM,
+ ScPassHashHelper::getHashURI(PASSHASH_XL));
+ AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTION_KEY_DIGEST_ALGORITHM_2,
+ ScPassHashHelper::getHashURI(PASSHASH_SHA1));
+ }
+ else if (eHashUsed == PASSHASH_SHA1)
+ AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTION_KEY_DIGEST_ALGORITHM,
+ ScPassHashHelper::getHashURI(PASSHASH_SHA1));
}
- else if (eHashUsed == PASSHASH_SHA1)
- AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTION_KEY_DIGEST_ALGORITHM,
- ScPassHashHelper::getHashURI(PASSHASH_SHA1));
-
}
}
- }
}
rtl::OUString sPrintRanges;
table::CellRangeAddress aColumnHeaderRange;
@@ -1800,18 +1801,18 @@ void ScXMLExport::_ExportContent()
AddAttribute( XML_NAMESPACE_TABLE, XML_PRINT, XML_FALSE);
SvXMLElementExport aElemT(*this, sElemTab, sal_True, sal_True);
- if (pProtect && pProtect->isProtected())
- {
- if (pProtect->isOptionEnabled(ScTableProtection::SELECT_LOCKED_CELLS))
- AddAttribute(XML_NAMESPACE_TABLE, XML_SELECT_PROTECTED_CELLS, XML_TRUE);
- if (pProtect->isOptionEnabled(ScTableProtection::SELECT_UNLOCKED_CELLS))
- AddAttribute(XML_NAMESPACE_TABLE, XML_SELECT_UNPROTECTED_CELLS, XML_TRUE);
+ if (pProtect && pProtect->isProtected())
+ {
+ if (pProtect->isOptionEnabled(ScTableProtection::SELECT_LOCKED_CELLS))
+ AddAttribute(XML_NAMESPACE_TABLE, XML_SELECT_PROTECTED_CELLS, XML_TRUE);
+ if (pProtect->isOptionEnabled(ScTableProtection::SELECT_UNLOCKED_CELLS))
+ AddAttribute(XML_NAMESPACE_TABLE, XML_SELECT_UNPROTECTED_CELLS, XML_TRUE);
- rtl::OUString aElemName = GetNamespaceMap().GetQNameByKey(
- XML_NAMESPACE_TABLE, GetXMLToken(XML_TABLE_PROTECTION));
+ rtl::OUString aElemName = GetNamespaceMap().GetQNameByKey(
+ XML_NAMESPACE_TABLE, GetXMLToken(XML_TABLE_PROTECTION));
- SvXMLElementExport aElemProtected(*this, aElemName, true, true);
- }
+ SvXMLElementExport aElemProtected(*this, aElemName, true, true);
+ }
CheckAttrList();
@@ -1948,10 +1949,6 @@ void ScXMLExport::_ExportStyles( sal_Bool bUsed )
if (pSharedData->HasShapes())
{
GetShapeExport()->ExportGraphicDefaults();
-/* xInterface = xMultiServiceFactory->createInstance(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.Defaults")));
- uno::Reference <beans::XPropertySet> xDrawProperties(xInterface, uno::UNO_QUERY);
- if (xDrawProperties.is())
- aStylesExp.exportDefaultStyle(xDrawProperties, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(XML_STYLE_FAMILY_SD_GRAPHICS_NAME)), GetShapeExport()->CreateShapePropMapper(*this));*/
}
}
uno::Reference <style::XStyleFamiliesSupplier> xStyleFamiliesSupplier (GetModel(), uno::UNO_QUERY);
@@ -2231,11 +2228,11 @@ void ScXMLExport::_ExportAutoStyles()
if (!GetModel().is())
return;
- uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( GetModel(), uno::UNO_QUERY );
+ Reference <sheet::XSpreadsheetDocument> xSpreadDoc( GetModel(), uno::UNO_QUERY );
if (!xSpreadDoc.is())
return;
- uno::Reference<container::XIndexAccess> xIndex( xSpreadDoc->getSheets(), uno::UNO_QUERY );
+ Reference<container::XIndexAccess> xIndex( xSpreadDoc->getSheets(), uno::UNO_QUERY );
if (!xIndex.is())
return;
@@ -2272,8 +2269,8 @@ void ScXMLExport::_ExportAutoStyles()
bool bCopySheet = pDoc->IsStreamValid( static_cast<SCTAB>(nTable) );
if (bCopySheet)
{
- uno::Reference <sheet::XSpreadsheet> xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY);
- uno::Reference <beans::XPropertySet> xProperties(
+ Reference <sheet::XSpreadsheet> xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY);
+ Reference <beans::XPropertySet> xProperties(
xTable->getCellByPosition( aPos.Col(), aPos.Row() ), uno::UNO_QUERY );
AddStyleFromCells(xProperties, xTable, nTable, &aCellIter->maName);
@@ -2292,9 +2289,9 @@ void ScXMLExport::_ExportAutoStyles()
bool bCopySheet = pDoc->IsStreamValid( static_cast<SCTAB>(nTable) );
if (bCopySheet)
{
- uno::Reference<table::XColumnRowRange> xColumnRowRange(xIndex->getByIndex(nTable), uno::UNO_QUERY);
- uno::Reference<table::XTableColumns> xTableColumns(xColumnRowRange->getColumns());
- uno::Reference<beans::XPropertySet> xColumnProperties(xTableColumns->getByIndex( aPos.Col() ), uno::UNO_QUERY);
+ Reference<table::XColumnRowRange> xColumnRowRange(xIndex->getByIndex(nTable), uno::UNO_QUERY);
+ Reference<table::XTableColumns> xTableColumns(xColumnRowRange->getColumns());
+ Reference<beans::XPropertySet> xColumnProperties(xTableColumns->getByIndex( aPos.Col() ), uno::UNO_QUERY);
sal_Int32 nIndex(-1);
sal_Bool bIsVisible(sal_True);
@@ -2314,9 +2311,9 @@ void ScXMLExport::_ExportAutoStyles()
bool bCopySheet = pDoc->IsStreamValid( static_cast<SCTAB>(nTable) );
if (bCopySheet)
{
- uno::Reference<table::XColumnRowRange> xColumnRowRange(xIndex->getByIndex(nTable), uno::UNO_QUERY);
- uno::Reference<table::XTableRows> xTableRows(xColumnRowRange->getRows());
- uno::Reference<beans::XPropertySet> xRowProperties(xTableRows->getByIndex( aPos.Row() ), uno::UNO_QUERY);
+ Reference<table::XColumnRowRange> xColumnRowRange(xIndex->getByIndex(nTable), uno::UNO_QUERY);
+ Reference<table::XTableRows> xTableRows(xColumnRowRange->getRows());
+ Reference<beans::XPropertySet> xRowProperties(xTableRows->getByIndex( aPos.Row() ), uno::UNO_QUERY);
sal_Int32 nIndex(-1);
AddStyleFromRow( xRowProperties, &aRowIter->maName, nIndex );
@@ -2336,7 +2333,7 @@ void ScXMLExport::_ExportAutoStyles()
if (bCopySheet)
{
//! separate method AddStyleFromTable needed?
- uno::Reference<beans::XPropertySet> xTableProperties(xIndex->getByIndex(nTable), uno::UNO_QUERY);
+ Reference<beans::XPropertySet> xTableProperties(xIndex->getByIndex(nTable), uno::UNO_QUERY);
if (xTableProperties.is())
{
std::vector<XMLPropertyState> xPropStates(xTableStylesExportPropertySetMapper->Filter(xTableProperties));
@@ -2372,7 +2369,7 @@ void ScXMLExport::_ExportAutoStyles()
{
SdrCaptionObj* pDrawObj = pNote->GetOrCreateCaption( aPos );
// all uno shapes are created anyway in CollectSharedData
- uno::Reference<beans::XPropertySet> xShapeProperties( pDrawObj->getUnoShape(), uno::UNO_QUERY );
+ Reference<beans::XPropertySet> xShapeProperties( pDrawObj->getUnoShape(), uno::UNO_QUERY );
if (xShapeProperties.is())
{
if ( aNoteIter->maStyleName.getLength() )
@@ -2400,7 +2397,6 @@ void ScXMLExport::_ExportAutoStyles()
// note paragraph styles
- //UniReference<SvXMLExportPropertyMapper> xParaPropMapper = XMLTextParagraphExport::CreateParaExtPropMapper( *this );
UniReference<SvXMLExportPropertyMapper> xParaPropMapper = GetTextParagraphExport()->GetParagraphPropertyMapper();
const std::vector<ScTextStyleEntry>& rNoteParaEntries = pSheetData->GetNoteParaStyles();
@@ -2418,8 +2414,8 @@ void ScXMLExport::_ExportAutoStyles()
if (pNote)
{
SdrCaptionObj* pDrawObj = pNote->GetOrCreateCaption( aPos );
- uno::Reference<container::XEnumerationAccess> xCellText(pDrawObj->getUnoShape(), uno::UNO_QUERY);
- uno::Reference<beans::XPropertySet> xParaProp(
+ Reference<container::XEnumerationAccess> xCellText(pDrawObj->getUnoShape(), uno::UNO_QUERY);
+ Reference<beans::XPropertySet> xParaProp(
lcl_GetEnumerated( xCellText, aNoteParaIter->maSelection.nStartPara ), uno::UNO_QUERY );
if ( xParaProp.is() )
{
@@ -2453,8 +2449,8 @@ void ScXMLExport::_ExportAutoStyles()
if (pNote)
{
SdrCaptionObj* pDrawObj = pNote->GetOrCreateCaption( aPos );
- uno::Reference<text::XSimpleText> xCellText(pDrawObj->getUnoShape(), uno::UNO_QUERY);
- uno::Reference<beans::XPropertySet> xCursorProp(xCellText->createTextCursor(), uno::UNO_QUERY);
+ Reference<text::XSimpleText> xCellText(pDrawObj->getUnoShape(), uno::UNO_QUERY);
+ Reference<beans::XPropertySet> xCursorProp(xCellText->createTextCursor(), uno::UNO_QUERY);
ScDrawTextCursor* pCursor = ScDrawTextCursor::getImplementation( xCursorProp );
if (pCursor)
{
@@ -2473,8 +2469,6 @@ void ScXMLExport::_ExportAutoStyles()
// stored text styles
- //UniReference<SvXMLExportPropertyMapper> xTextPropMapper = XMLTextParagraphExport::CreateCharExtPropMapper( *this );
-
const std::vector<ScTextStyleEntry>& rTextEntries = pSheetData->GetTextStyles();
std::vector<ScTextStyleEntry>::const_iterator aTextIter = rTextEntries.begin();
std::vector<ScTextStyleEntry>::const_iterator aTextEnd = rTextEntries.end();
@@ -2488,9 +2482,9 @@ void ScXMLExport::_ExportAutoStyles()
//! separate method AddStyleFromText needed?
//! cache sheet object
- uno::Reference<table::XCellRange> xCellRange(xIndex->getByIndex(nTable), uno::UNO_QUERY);
- uno::Reference<text::XSimpleText> xCellText(xCellRange->getCellByPosition(aPos.Col(), aPos.Row()), uno::UNO_QUERY);
- uno::Reference<beans::XPropertySet> xCursorProp(xCellText->createTextCursor(), uno::UNO_QUERY);
+ Reference<table::XCellRange> xCellRange(xIndex->getByIndex(nTable), uno::UNO_QUERY);
+ Reference<text::XSimpleText> xCellText(xCellRange->getCellByPosition(aPos.Col(), aPos.Row()), uno::UNO_QUERY);
+ Reference<beans::XPropertySet> xCursorProp(xCellText->createTextCursor(), uno::UNO_QUERY);
ScCellTextCursor* pCursor = ScCellTextCursor::getImplementation( xCursorProp );
if (pCursor)
{
@@ -2515,176 +2509,169 @@ void ScXMLExport::_ExportAutoStyles()
sal_Int32 nShapesCount(0);
sal_Int32 nCellCount(pDoc ? pDoc->GetCellCount() : 0);
CollectSharedData(nTableCount, nShapesCount, nCellCount);
- //DBG_ERROR("no shared data setted");
}
sal_Int32 nTableCount(xIndex->getCount());
pCellStyles->AddNewTable(nTableCount - 1);
CollectShapesAutoStyles(nTableCount);
- for (sal_Int32 nTable = 0; nTable < nTableCount; ++nTable)
+ for (sal_Int32 nTable = 0; nTable < nTableCount; ++nTable, IncrementProgressBar(sal_False))
{
bool bUseStream = pSheetData && pDoc && pDoc->IsStreamValid((SCTAB)nTable) &&
pSheetData->HasStreamPos(nTable) && xSourceStream.is();
- uno::Reference <sheet::XSpreadsheet> xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY);
- if (xTable.is())
+ Reference <sheet::XSpreadsheet> xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY);
+ if (!xTable.is())
+ continue;
+
+ // table styles array must be complete, including copied tables - Add should find the stored style
+ Reference<beans::XPropertySet> xTableProperties(xTable, uno::UNO_QUERY);
+ if (xTableProperties.is())
{
- // table styles array must be complete, including copied tables - Add should find the stored style
- uno::Reference<beans::XPropertySet> xTableProperties(xTable, uno::UNO_QUERY);
- if (xTableProperties.is())
+ std::vector<XMLPropertyState> xPropStates(xTableStylesExportPropertySetMapper->Filter(xTableProperties));
+ if(xPropStates.size())
{
- std::vector<XMLPropertyState> xPropStates(xTableStylesExportPropertySetMapper->Filter(xTableProperties));
- if(xPropStates.size())
- {
- rtl::OUString sParent;
- rtl::OUString sName;
- GetAutoStylePool()->Add(sName, XML_STYLE_FAMILY_TABLE_TABLE, sParent, xPropStates);
- aTableStyles.push_back(sName);
- }
+ rtl::OUString sParent;
+ rtl::OUString sName;
+ GetAutoStylePool()->Add(sName, XML_STYLE_FAMILY_TABLE_TABLE, sParent, xPropStates);
+ aTableStyles.push_back(sName);
}
}
+
+ if (bUseStream)
+ continue;
+
// collect other auto-styles only for non-copied sheets
- if (xTable.is() && !bUseStream)
+ Reference<sheet::XUniqueCellFormatRangesSupplier> xCellFormatRanges ( xTable, uno::UNO_QUERY );
+ if ( xCellFormatRanges.is() )
{
- uno::Reference<sheet::XUniqueCellFormatRangesSupplier> xCellFormatRanges ( xTable, uno::UNO_QUERY );
- if ( xCellFormatRanges.is() )
+ Reference<container::XIndexAccess> xFormatRangesIndex(xCellFormatRanges->getUniqueCellFormatRanges());
+ if (xFormatRangesIndex.is())
{
- uno::Reference<container::XIndexAccess> xFormatRangesIndex(xCellFormatRanges->getUniqueCellFormatRanges());
- if (xFormatRangesIndex.is())
+ sal_Int32 nFormatRangesCount(xFormatRangesIndex->getCount());
+ GetProgressBarHelper()->ChangeReference(GetProgressBarHelper()->GetReference() + nFormatRangesCount);
+ for (sal_Int32 nFormatRange = 0; nFormatRange < nFormatRangesCount; ++nFormatRange)
{
- sal_Int32 nFormatRangesCount(xFormatRangesIndex->getCount());
- GetProgressBarHelper()->ChangeReference(GetProgressBarHelper()->GetReference() + nFormatRangesCount);
- for (sal_Int32 nFormatRange = 0; nFormatRange < nFormatRangesCount; ++nFormatRange)
+ Reference< sheet::XSheetCellRanges> xCellRanges(xFormatRangesIndex->getByIndex(nFormatRange), uno::UNO_QUERY);
+ if (xCellRanges.is())
{
- uno::Reference< sheet::XSheetCellRanges> xCellRanges(xFormatRangesIndex->getByIndex(nFormatRange), uno::UNO_QUERY);
- if (xCellRanges.is())
+ Reference <beans::XPropertySet> xProperties (xCellRanges, uno::UNO_QUERY);
+ if (xProperties.is())
{
- uno::Reference <beans::XPropertySet> xProperties (xCellRanges, uno::UNO_QUERY);
- if (xProperties.is())
- {
- AddStyleFromCells(xProperties, xTable, nTable, NULL);
- IncrementProgressBar(sal_False);
- }
+ AddStyleFromCells(xProperties, xTable, nTable, NULL);
+ IncrementProgressBar(sal_False);
}
}
}
}
- uno::Reference<table::XColumnRowRange> xColumnRowRange (xTable, uno::UNO_QUERY);
- if (xColumnRowRange.is())
+ }
+ Reference<table::XColumnRowRange> xColumnRowRange (xTable, uno::UNO_QUERY);
+ if (xColumnRowRange.is())
+ {
+ if (pDoc)
{
- if (pDoc)
+ pDoc->SyncColRowFlags();
+ Reference<table::XTableColumns> xTableColumns(xColumnRowRange->getColumns());
+ if (xTableColumns.is())
{
- pDoc->SyncColRowFlags();
- uno::Reference<table::XTableColumns> xTableColumns(xColumnRowRange->getColumns());
- if (xTableColumns.is())
+ sal_Int32 nColumns(pDoc->GetLastChangedCol(sal::static_int_cast<SCTAB>(nTable)));
+ pSharedData->SetLastColumn(nTable, nColumns);
+ table::CellRangeAddress aCellAddress(GetEndAddress(xTable, nTable));
+ if (aCellAddress.EndColumn > nColumns)
{
- sal_Int32 nColumns(pDoc->GetLastChangedCol(sal::static_int_cast<SCTAB>(nTable)));
- pSharedData->SetLastColumn(nTable, nColumns);
- table::CellRangeAddress aCellAddress(GetEndAddress(xTable, nTable));
- if (aCellAddress.EndColumn > nColumns)
- {
- ++nColumns;
- pColumnStyles->AddNewTable(nTable, aCellAddress.EndColumn);
- }
-// else if (nColumns < MAXCOL)
-// pColumnStyles->AddNewTable(nTable, ++nColumns);
- else
- pColumnStyles->AddNewTable(nTable, nColumns);
- sal_Int32 nColumn = 0;
- while (/*nColumn <= nColumns && */nColumn <= MAXCOL)
- {
- sal_Int32 nIndex(-1);
- sal_Bool bIsVisible(sal_True);
- uno::Reference <beans::XPropertySet> xColumnProperties(xTableColumns->getByIndex(nColumn), uno::UNO_QUERY);
- if (xColumnProperties.is())
- {
- AddStyleFromColumn( xColumnProperties, NULL, nIndex, bIsVisible );
- //if(xPropStates.size())
- pColumnStyles->AddFieldStyleName(nTable, nColumn, nIndex, bIsVisible);
- }
- sal_Int32 nOld(nColumn);
- nColumn = pDoc->GetNextDifferentChangedCol(sal::static_int_cast<SCTAB>(nTable), static_cast<SCCOL>(nColumn));
- for (sal_Int32 i = nOld + 1; i < nColumn; ++i)
- pColumnStyles->AddFieldStyleName(nTable, i, nIndex, bIsVisible);
- }
- if (aCellAddress.EndColumn > nColumns)
- {
- sal_Bool bIsVisible(sal_True);
- sal_Int32 nIndex(pColumnStyles->GetStyleNameIndex(nTable, nColumns, bIsVisible));
- for (sal_Int32 i = nColumns + 1; i <= aCellAddress.EndColumn; ++i)
- pColumnStyles->AddFieldStyleName(nTable, i, nIndex, bIsVisible);
- }
+ ++nColumns;
+ pColumnStyles->AddNewTable(nTable, aCellAddress.EndColumn);
}
- uno::Reference<table::XTableRows> xTableRows(xColumnRowRange->getRows());
- if (xTableRows.is())
+ else
+ pColumnStyles->AddNewTable(nTable, nColumns);
+ sal_Int32 nColumn = 0;
+ while (nColumn <= MAXCOL)
{
- sal_Int32 nRows(pDoc->GetLastChangedRow(sal::static_int_cast<SCTAB>(nTable)));
- pSharedData->SetLastRow(nTable, nRows);
- table::CellRangeAddress aCellAddress(GetEndAddress(xTable, nTable));
- if (aCellAddress.EndRow > nRows)
- {
- ++nRows;
- pRowStyles->AddNewTable(nTable, aCellAddress.EndRow);
- }
-// else if (nRows < MAXROW)
-// pRowStyles->AddNewTable(nTable, ++nRows);
- else
- pRowStyles->AddNewTable(nTable, nRows);
- sal_Int32 nRow = 0;
- while (nRow <= nRows && nRow <= MAXROW)
+ sal_Int32 nIndex(-1);
+ sal_Bool bIsVisible(sal_True);
+ Reference <beans::XPropertySet> xColumnProperties(xTableColumns->getByIndex(nColumn), uno::UNO_QUERY);
+ if (xColumnProperties.is())
{
- sal_Int32 nIndex = 0;
- uno::Reference <beans::XPropertySet> xRowProperties(xTableRows->getByIndex(nRow), uno::UNO_QUERY);
- if(xRowProperties.is())
- {
- AddStyleFromRow( xRowProperties, NULL, nIndex );
- //if(xPropStates.size())
- pRowStyles->AddFieldStyleName(nTable, nRow, nIndex);
- }
- sal_Int32 nOld(nRow);
- nRow = pDoc->GetNextDifferentChangedRow(sal::static_int_cast<SCTAB>(nTable), static_cast<SCROW>(nRow), false);
- if (nRow > nOld + 1)
- pRowStyles->AddFieldStyleName(nTable, nOld + 1, nIndex, nRow - 1);
+ AddStyleFromColumn( xColumnProperties, NULL, nIndex, bIsVisible );
+ pColumnStyles->AddFieldStyleName(nTable, nColumn, nIndex, bIsVisible);
}
- if (aCellAddress.EndRow > nRows)
+ sal_Int32 nOld(nColumn);
+ nColumn = pDoc->GetNextDifferentChangedCol(sal::static_int_cast<SCTAB>(nTable), static_cast<SCCOL>(nColumn));
+ for (sal_Int32 i = nOld + 1; i < nColumn; ++i)
+ pColumnStyles->AddFieldStyleName(nTable, i, nIndex, bIsVisible);
+ }
+ if (aCellAddress.EndColumn > nColumns)
+ {
+ sal_Bool bIsVisible(sal_True);
+ sal_Int32 nIndex(pColumnStyles->GetStyleNameIndex(nTable, nColumns, bIsVisible));
+ for (sal_Int32 i = nColumns + 1; i <= aCellAddress.EndColumn; ++i)
+ pColumnStyles->AddFieldStyleName(nTable, i, nIndex, bIsVisible);
+ }
+ }
+ Reference<table::XTableRows> xTableRows(xColumnRowRange->getRows());
+ if (xTableRows.is())
+ {
+ sal_Int32 nRows(pDoc->GetLastChangedRow(sal::static_int_cast<SCTAB>(nTable)));
+ pSharedData->SetLastRow(nTable, nRows);
+ table::CellRangeAddress aCellAddress(GetEndAddress(xTable, nTable));
+ if (aCellAddress.EndRow > nRows)
+ {
+ ++nRows;
+ pRowStyles->AddNewTable(nTable, aCellAddress.EndRow);
+ }
+ else
+ pRowStyles->AddNewTable(nTable, nRows);
+ sal_Int32 nRow = 0;
+ while (nRow <= nRows && nRow <= MAXROW)
+ {
+ sal_Int32 nIndex = 0;
+ Reference <beans::XPropertySet> xRowProperties(xTableRows->getByIndex(nRow), uno::UNO_QUERY);
+ if(xRowProperties.is())
{
- sal_Int32 nIndex(pRowStyles->GetStyleNameIndex(nTable, nRows));
- pRowStyles->AddFieldStyleName(nTable, nRows + 1, nIndex, aCellAddress.EndRow);
+ AddStyleFromRow( xRowProperties, NULL, nIndex );
+ pRowStyles->AddFieldStyleName(nTable, nRow, nIndex);
}
+ sal_Int32 nOld(nRow);
+ nRow = pDoc->GetNextDifferentChangedRow(sal::static_int_cast<SCTAB>(nTable), static_cast<SCROW>(nRow), false);
+ if (nRow > nOld + 1)
+ pRowStyles->AddFieldStyleName(nTable, nOld + 1, nIndex, nRow - 1);
+ }
+ if (aCellAddress.EndRow > nRows)
+ {
+ sal_Int32 nIndex(pRowStyles->GetStyleNameIndex(nTable, nRows));
+ pRowStyles->AddFieldStyleName(nTable, nRows + 1, nIndex, aCellAddress.EndRow);
}
}
}
- uno::Reference<sheet::XCellRangesQuery> xCellRangesQuery (xTable, uno::UNO_QUERY);
- if (xCellRangesQuery.is())
+ }
+ Reference<sheet::XCellRangesQuery> xCellRangesQuery (xTable, uno::UNO_QUERY);
+ if (xCellRangesQuery.is())
+ {
+ Reference<sheet::XSheetCellRanges> xSheetCellRanges(xCellRangesQuery->queryContentCells(sheet::CellFlags::FORMATTED));
+ Reference<sheet::XSheetOperation> xSheetOperation(xSheetCellRanges, uno::UNO_QUERY);
+ if (xSheetCellRanges.is() && xSheetOperation.is())
{
- uno::Reference<sheet::XSheetCellRanges> xSheetCellRanges(xCellRangesQuery->queryContentCells(sheet::CellFlags::FORMATTED));
- uno::Reference<sheet::XSheetOperation> xSheetOperation(xSheetCellRanges, uno::UNO_QUERY);
- if (xSheetCellRanges.is() && xSheetOperation.is())
+ sal_uInt32 nCount(sal_uInt32(xSheetOperation->computeFunction(sheet::GeneralFunction_COUNT)));
+ Reference<container::XEnumerationAccess> xCellsAccess(xSheetCellRanges->getCells());
+ if (xCellsAccess.is())
{
- sal_uInt32 nCount(sal_uInt32(xSheetOperation->computeFunction(sheet::GeneralFunction_COUNT)));
- uno::Reference<container::XEnumerationAccess> xCellsAccess(xSheetCellRanges->getCells());
- if (xCellsAccess.is())
+ GetProgressBarHelper()->ChangeReference(GetProgressBarHelper()->GetReference() + nCount);
+ Reference<container::XEnumeration> xCells(xCellsAccess->createEnumeration());
+ if (xCells.is())
{
- GetProgressBarHelper()->ChangeReference(GetProgressBarHelper()->GetReference() + nCount);
- uno::Reference<container::XEnumeration> xCells(xCellsAccess->createEnumeration());
- if (xCells.is())
+ sal_uInt32 nCount2(0);
+ while (xCells->hasMoreElements())
{
- sal_uInt32 nCount2(0);
- while (xCells->hasMoreElements())
- {
- uno::Reference<text::XText> xText(xCells->nextElement(), uno::UNO_QUERY);
- if (xText.is())
- GetTextParagraphExport()->collectTextAutoStyles(xText, sal_False, sal_False);
- ++nCount2;
- IncrementProgressBar(sal_False);
- }
- if(nCount2 > nCount)
- GetProgressBarHelper()->SetReference(GetProgressBarHelper()->GetReference() + nCount2 - nCount);
+ Reference<text::XText> xText(xCells->nextElement(), uno::UNO_QUERY);
+ if (xText.is())
+ GetTextParagraphExport()->collectTextAutoStyles(xText, sal_False, sal_False);
+ ++nCount2;
+ IncrementProgressBar(sal_False);
}
+ if(nCount2 > nCount)
+ GetProgressBarHelper()->SetReference(GetProgressBarHelper()->GetReference() + nCount2 - nCount);
}
}
}
}
- IncrementProgressBar(sal_False);
}
pChangeTrackingExportHelper->CollectAutoStyles();
@@ -2840,44 +2827,6 @@ sal_Bool ScXMLExport::IsMatrix (const ScAddress& aCell,
}
return sal_False;
-
-/* uno::Reference <sheet::XArrayFormulaRange> xArrayFormulaRange (xCell, uno::UNO_QUERY);
- if (xArrayFormulaRange.is())
- {
- rtl::OUString sArrayFormula(xArrayFormulaRange->getArrayFormula());
- if (sArrayFormula.getLength())
- {
- uno::Reference<sheet::XSheetCellRange> xMatrixSheetCellRange (xCell, uno::UNO_QUERY);
- if (xMatrixSheetCellRange.is())
- {
- uno::Reference<sheet::XSheetCellCursor> xMatrixSheetCursor(xTable->createCursorByRange(xMatrixSheetCellRange));
- if (xMatrixSheetCursor.is())
- {
- xMatrixSheetCursor->collapseToCurrentArray();
- uno::Reference<sheet::XCellRangeAddressable> xMatrixCellAddress (xMatrixSheetCursor, uno::UNO_QUERY);
- if (xMatrixCellAddress.is())
- {
- aCellAddress = xMatrixCellAddress->getRangeAddress();
- if ((aCellAddress.StartColumn == nCol && aCellAddress.StartRow == nRow) &&
- (aCellAddress.EndColumn > nCol || aCellAddress.EndRow > nRow))
- {
- bIsFirst = sal_True;
- return sal_True;
- }
- else if (aCellAddress.StartColumn != nCol || aCellAddress.StartRow != nRow ||
- aCellAddress.EndColumn != nCol || aCellAddress.EndRow != nRow)
- return sal_True;
- else
- {
- bIsFirst = sal_True;
- return sal_True;
- }
- }
- }
- }
- }
- }
- return sal_False;*/
}
sal_Bool ScXMLExport::GetCellText (ScMyCell& rMyCell, const ScAddress& aPos) const
@@ -2886,17 +2835,9 @@ sal_Bool ScXMLExport::GetCellText (ScMyCell& rMyCell, const ScAddress& aPos) con
return sal_True;
else
{
-/* if (!rMyCell.bHasXText)
- {
- rMyCell.xText.set(xCurrentTableCellRange->getCellByPosition(rMyCell.aCellAddress.Column, rMyCell.aCellAddress.Row), uno::UNO_QUERY);
- rMyCell.bHasXText = sal_True;
- }*/
-// if (rMyCell.xText.is())
-// {
rMyCell.sStringValue = ScCellObj::GetOutputString_Impl(pDoc, aPos);
rMyCell.bHasStringValue = sal_True;
return sal_True;
-// }
}
}
@@ -3190,15 +3131,6 @@ void ScXMLExport::ExportShape(const uno::Reference < drawing::XShape >& xShape,
//BM }
//BM }
-/* SchMemChart* pMemChart = pDoc->FindChartData(sName);
- if (pMemChart && pMemChart->GetSeriesAddresses().getLength())
- {
- bMemChart = sal_True;
- rtl::OUString sRanges(pMemChart->getXMLStringForChartRange());
- if (sRanges.getLength())
- AddAttribute(XML_NAMESPACE_DRAW, XML_NOTIFY_ON_UPDATE_OF_RANGES, sRanges);
- GetShapeExport()->exportShape(xShape, SEF_EXPORT_NO_CHART_DATA | SEF_DEFAULT, pPoint);
- }*/
}
}
}
@@ -3258,29 +3190,15 @@ void ScXMLExport::WriteShapes(const ScMyCell& rMyCell)
aPoint.X = 2 * aItr->xShape->getPosition().X + aItr->xShape->getSize().Width - aPoint.X;
if ( !aItr->xShape->getShapeType().equals(sCaptionShape) )
{
- awt::Point aEndPoint;
Rectangle aEndRec(pDoc->GetMMRect(aItr->aEndAddress.Col(), aItr->aEndAddress.Row(),
aItr->aEndAddress.Col(), aItr->aEndAddress.Row(), aItr->aEndAddress.Tab()));
rtl::OUString sEndAddress;
ScRangeStringConverter::GetStringFromAddress(sEndAddress, aItr->aEndAddress, pDoc, FormulaGrammar::CONV_OOO);
AddAttribute(XML_NAMESPACE_TABLE, XML_END_CELL_ADDRESS, sEndAddress);
- if (bNegativePage)
- aEndPoint.X = -aEndRec.Right();
- else
- aEndPoint.X = aEndRec.Left();
- aEndPoint.Y = aEndRec.Top();
- awt::Point aStartPoint(aItr->xShape->getPosition());
- awt::Size aSize(aItr->xShape->getSize());
- sal_Int32 nEndX;
- if (bNegativePage)
- nEndX = -aStartPoint.X - aEndPoint.X;
- else
- nEndX = aStartPoint.X + aSize.Width - aEndPoint.X;
- sal_Int32 nEndY(aStartPoint.Y + aSize.Height - aEndPoint.Y);
rtl::OUStringBuffer sBuffer;
- GetMM100UnitConverter().convertMeasure(sBuffer, nEndX);
+ GetMM100UnitConverter().convertMeasure(sBuffer, aItr->nEndX);
AddAttribute(XML_NAMESPACE_TABLE, XML_END_X, sBuffer.makeStringAndClear());
- GetMM100UnitConverter().convertMeasure(sBuffer, nEndY);
+ GetMM100UnitConverter().convertMeasure(sBuffer, aItr->nEndY);
AddAttribute(XML_NAMESPACE_TABLE, XML_END_Y, sBuffer.makeStringAndClear());
}
ExportShape(aItr->xShape, &aPoint);
@@ -3394,46 +3312,6 @@ void ScXMLExport::WriteAnnotation(ScMyCell& rMyCell)
{
if( rMyCell.bHasAnnotation && rMyCell.xAnnotation.is())
{
-/* rtl::OUString sAuthor(rMyCell.xAnnotation->getAuthor());
- if (sAuthor.getLength())
- {
- SvXMLElementExport aCreatorElem( *this, XML_NAMESPACE_DC,
- XML_CREATOR, sal_True,
- sal_False );
- rtl::OUString sAuthor(sAuthor);
- Characters(sAuthor);
- }
-
- String aDate(rMyCell.xAnnotation->getDate());
- if (pDoc)
- {
- SvNumberFormatter* pNumForm(pDoc->GetFormatTable());
- double fDate;
- sal_uInt32 nfIndex = pNumForm->GetFormatIndex(NF_DATE_SYS_DDMMYYYY, LANGUAGE_SYSTEM);
- if (pNumForm->IsNumberFormat(aDate, nfIndex, fDate))
- {
- rtl::OUStringBuffer sBuf;
- GetMM100UnitConverter().convertDateTime(sBuf, fDate);
- SvXMLElementExport aDateElem( *this, XML_NAMESPACE_DC,
- XML_DATE, sal_True,
- sal_False );
- Characters(sBuf.makeStringAndClear());
- }
- else
- {
- SvXMLElementExport aDateElem( *this, XML_NAMESPACE_META,
- XML_DATE_STRING, sal_True,
- sal_False );
- Characters(rtl::OUString(aDate));
- }
- }
- else
- {
- SvXMLElementExport aDateElem( *this, XML_NAMESPACE_META,
- XML_DATE_STRING, sal_True,
- sal_False );
- Characters(rtl::OUString(aDate));
- }*/
if (rMyCell.xAnnotation->getIsVisible())
AddAttribute(XML_NAMESPACE_OFFICE, XML_DISPLAY, XML_TRUE);
diff --git a/sc/source/filter/xml/xmlexprt.hxx b/sc/source/filter/xml/xmlexprt.hxx
index 07b494dce2af..43b32949898e 100644
--- a/sc/source/filter/xml/xmlexprt.hxx
+++ b/sc/source/filter/xml/xmlexprt.hxx
@@ -65,6 +65,7 @@ class ScChartListener;
class SfxItemPool;
class ScAddress;
class ScBaseCell;
+class ScXMLCachedRowAttrAccess;
typedef std::vector< com::sun::star::uno::Reference < com::sun::star::drawing::XShapes > > ScMyXShapesVec;
@@ -160,13 +161,14 @@ class ScXMLExport : public SvXMLExport
void ExportFormatRanges(const sal_Int32 nStartCol, const sal_Int32 nStartRow,
const sal_Int32 nEndCol, const sal_Int32 nEndRow, const sal_Int32 nSheet);
void WriteRowContent();
- void WriteRowStartTag(sal_Int32 nRow, const sal_Int32 nIndex, const sal_Int8 nFlag, const sal_Int32 nEmptyRows);
+ void WriteRowStartTag(sal_Int32 nRow, const sal_Int32 nIndex, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered);
void OpenHeaderRows();
void CloseHeaderRows();
- void OpenNewRow(const sal_Int32 nIndex, const sal_Int8 nFlag, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows);
- void OpenAndCloseRow(const sal_Int32 nIndex, const sal_Int8 nFlag,
- const sal_Int32 nStartRow, const sal_Int32 nEmptyRows);
- void OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, const sal_Int32 nRepeatRow);
+ void OpenNewRow(const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows,
+ bool bHidden, bool bFiltered);
+ void OpenAndCloseRow(const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows,
+ bool bHidden, bool bFiltered);
+ void OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, const sal_Int32 nRepeatRow, ScXMLCachedRowAttrAccess& rRowAttr);
void CloseRow(const sal_Int32 nRow);
void GetColumnRowHeader(sal_Bool& bHasColumnHeader, com::sun::star::table::CellRangeAddress& aColumnHeaderRange,
sal_Bool& bHasRowHeader, com::sun::star::table::CellRangeAddress& aRowHeaderRange,
diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx
index b14b71f72540..6acaf645d6e0 100644
--- a/sc/source/filter/xml/xmlimprt.cxx
+++ b/sc/source/filter/xml/xmlimprt.cxx
@@ -209,7 +209,7 @@ uno::Reference< uno::XInterface > SAL_CALL ScXMLImport_Settings_createInstance(
const SvXMLTokenMap& ScXMLImport::GetTableRowCellAttrTokenMap()
{
- static __FAR_DATA SvXMLTokenMapEntry aTableRowCellAttrTokenMap[] =
+ static SvXMLTokenMapEntry aTableRowCellAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_STYLE_NAME, XML_TOK_TABLE_ROW_CELL_ATTR_STYLE_NAME },
{ XML_NAMESPACE_TABLE, XML_CONTENT_VALIDATION_NAME, XML_TOK_TABLE_ROW_CELL_ATTR_CONTENT_VALIDATION_NAME },
@@ -428,7 +428,7 @@ const SvXMLTokenMap& ScXMLImport::GetDocElemTokenMap()
{
if( !pDocElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDocTokenMap[] =
+ static SvXMLTokenMapEntry aDocTokenMap[] =
{
{ XML_NAMESPACE_OFFICE, XML_FONT_FACE_DECLS, XML_TOK_DOC_FONTDECLS },
{ XML_NAMESPACE_OFFICE, XML_STYLES, XML_TOK_DOC_STYLES },
@@ -453,7 +453,7 @@ const SvXMLTokenMap& ScXMLImport::GetBodyElemTokenMap()
{
if( !pBodyElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aBodyTokenMap[] =
+ static SvXMLTokenMapEntry aBodyTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_TRACKED_CHANGES, XML_TOK_BODY_TRACKED_CHANGES },
{ XML_NAMESPACE_TABLE, XML_CALCULATION_SETTINGS, XML_TOK_BODY_CALCULATION_SETTINGS },
@@ -479,7 +479,7 @@ const SvXMLTokenMap& ScXMLImport::GetContentValidationsElemTokenMap()
{
if( !pContentValidationsElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aContentValidationsElemTokenMap[] =
+ static SvXMLTokenMapEntry aContentValidationsElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_CONTENT_VALIDATION, XML_TOK_CONTENT_VALIDATION },
XML_TOKEN_MAP_END
@@ -495,7 +495,7 @@ const SvXMLTokenMap& ScXMLImport::GetContentValidationElemTokenMap()
{
if( !pContentValidationElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aContentValidationElemTokenMap[] =
+ static SvXMLTokenMapEntry aContentValidationElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_HELP_MESSAGE, XML_TOK_CONTENT_VALIDATION_ELEM_HELP_MESSAGE },
{ XML_NAMESPACE_TABLE, XML_ERROR_MESSAGE, XML_TOK_CONTENT_VALIDATION_ELEM_ERROR_MESSAGE },
@@ -514,7 +514,7 @@ const SvXMLTokenMap& ScXMLImport::GetContentValidationAttrTokenMap()
{
if( !pContentValidationAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aContentValidationAttrTokenMap[] =
+ static SvXMLTokenMapEntry aContentValidationAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_CONTENT_VALIDATION_NAME },
{ XML_NAMESPACE_TABLE, XML_CONDITION, XML_TOK_CONTENT_VALIDATION_CONDITION },
@@ -534,7 +534,7 @@ const SvXMLTokenMap& ScXMLImport::GetContentValidationMessageElemTokenMap()
{
if( !pContentValidationMessageElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aContentValidationMessageElemTokenMap[] =
+ static SvXMLTokenMapEntry aContentValidationMessageElemTokenMap[] =
{
{ XML_NAMESPACE_TEXT, XML_P, XML_TOK_P },
XML_TOKEN_MAP_END
@@ -550,7 +550,7 @@ const SvXMLTokenMap& ScXMLImport::GetContentValidationHelpMessageAttrTokenMap()
{
if( !pContentValidationHelpMessageAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aContentValidationHelpMessageAttrTokenMap[] =
+ static SvXMLTokenMapEntry aContentValidationHelpMessageAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_TITLE, XML_TOK_HELP_MESSAGE_ATTR_TITLE },
{ XML_NAMESPACE_TABLE, XML_DISPLAY, XML_TOK_HELP_MESSAGE_ATTR_DISPLAY },
@@ -567,7 +567,7 @@ const SvXMLTokenMap& ScXMLImport::GetContentValidationErrorMessageAttrTokenMap()
{
if( !pContentValidationErrorMessageAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aContentValidationErrorMessageAttrTokenMap[] =
+ static SvXMLTokenMapEntry aContentValidationErrorMessageAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_TITLE, XML_TOK_ERROR_MESSAGE_ATTR_TITLE },
{ XML_NAMESPACE_TABLE, XML_DISPLAY, XML_TOK_ERROR_MESSAGE_ATTR_DISPLAY },
@@ -585,7 +585,7 @@ const SvXMLTokenMap& ScXMLImport::GetContentValidationErrorMacroAttrTokenMap()
{
if( !pContentValidationErrorMacroAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aContentValidationErrorMacroAttrTokenMap[] =
+ static SvXMLTokenMapEntry aContentValidationErrorMacroAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_ERROR_MACRO_ATTR_NAME },
{ XML_NAMESPACE_TABLE, XML_EXECUTE, XML_TOK_ERROR_MACRO_ATTR_EXECUTE },
@@ -602,7 +602,7 @@ const SvXMLTokenMap& ScXMLImport::GetLabelRangesElemTokenMap()
{
if( !pLabelRangesElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aLabelRangesElemTokenMap[] =
+ static SvXMLTokenMapEntry aLabelRangesElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_LABEL_RANGE, XML_TOK_LABEL_RANGE_ELEM },
XML_TOKEN_MAP_END
@@ -618,7 +618,7 @@ const SvXMLTokenMap& ScXMLImport::GetLabelRangeAttrTokenMap()
{
if( !pLabelRangeAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aLabelRangeAttrTokenMap[] =
+ static SvXMLTokenMapEntry aLabelRangeAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_LABEL_CELL_RANGE_ADDRESS, XML_TOK_LABEL_RANGE_ATTR_LABEL_RANGE },
{ XML_NAMESPACE_TABLE, XML_DATA_CELL_RANGE_ADDRESS, XML_TOK_LABEL_RANGE_ATTR_DATA_RANGE },
@@ -636,7 +636,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableElemTokenMap()
{
if( !pTableElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aTableTokenMap[] =
+ static SvXMLTokenMapEntry aTableTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_TABLE_COLUMN_GROUP, XML_TOK_TABLE_COL_GROUP },
{ XML_NAMESPACE_TABLE, XML_TABLE_HEADER_COLUMNS, XML_TOK_TABLE_HEADER_COLS },
@@ -666,7 +666,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableProtectionAttrTokenMap()
{
if (!pTableProtectionElemTokenMap)
{
- static __FAR_DATA SvXMLTokenMapEntry aTableProtectionTokenMap[] =
+ static SvXMLTokenMapEntry aTableProtectionTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_SELECT_PROTECTED_CELLS, XML_TOK_TABLE_SELECT_PROTECTED_CELLS },
{ XML_NAMESPACE_TABLE, XML_SELECT_UNPROTECTED_CELLS, XML_TOK_TABLE_SELECT_UNPROTECTED_CELLS },
@@ -682,7 +682,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableRowsElemTokenMap()
{
if( !pTableRowsElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aTableRowsElemTokenMap[] =
+ static SvXMLTokenMapEntry aTableRowsElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_TABLE_ROW_GROUP, XML_TOK_TABLE_ROWS_ROW_GROUP },
{ XML_NAMESPACE_TABLE, XML_TABLE_HEADER_ROWS, XML_TOK_TABLE_ROWS_HEADER_ROWS },
@@ -701,7 +701,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableColsElemTokenMap()
{
if( !pTableColsElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aTableColsElemTokenMap[] =
+ static SvXMLTokenMapEntry aTableColsElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_TABLE_COLUMN_GROUP, XML_TOK_TABLE_COLS_COL_GROUP },
{ XML_NAMESPACE_TABLE, XML_TABLE_HEADER_COLUMNS, XML_TOK_TABLE_COLS_HEADER_COLS },
@@ -720,7 +720,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableAttrTokenMap()
{
if( !pTableAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aTableAttrTokenMap[] =
+ static SvXMLTokenMapEntry aTableAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_TABLE_NAME },
{ XML_NAMESPACE_TABLE, XML_STYLE_NAME, XML_TOK_TABLE_STYLE_NAME },
@@ -743,7 +743,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableScenarioAttrTokenMap()
{
if( !pTableScenarioAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aTableScenarioAttrTokenMap[] =
+ static SvXMLTokenMapEntry aTableScenarioAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DISPLAY_BORDER, XML_TOK_TABLE_SCENARIO_ATTR_DISPLAY_BORDER },
{ XML_NAMESPACE_TABLE, XML_BORDER_COLOR, XML_TOK_TABLE_SCENARIO_ATTR_BORDER_COLOR },
@@ -767,7 +767,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableColAttrTokenMap()
{
if( !pTableColAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aTableColAttrTokenMap[] =
+ static SvXMLTokenMapEntry aTableColAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_STYLE_NAME, XML_TOK_TABLE_COL_ATTR_STYLE_NAME },
{ XML_NAMESPACE_TABLE, XML_NUMBER_COLUMNS_REPEATED, XML_TOK_TABLE_COL_ATTR_REPEATED },
@@ -786,7 +786,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableRowElemTokenMap()
{
if( !pTableRowElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aTableRowTokenMap[] =
+ static SvXMLTokenMapEntry aTableRowTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_TABLE_CELL, XML_TOK_TABLE_ROW_CELL },
{ XML_NAMESPACE_TABLE, XML_COVERED_TABLE_CELL, XML_TOK_TABLE_ROW_COVERED_CELL },
@@ -803,7 +803,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableRowAttrTokenMap()
{
if( !pTableRowAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aTableRowAttrTokenMap[] =
+ static SvXMLTokenMapEntry aTableRowAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_STYLE_NAME, XML_TOK_TABLE_ROW_ATTR_STYLE_NAME },
{ XML_NAMESPACE_TABLE, XML_VISIBILITY, XML_TOK_TABLE_ROW_ATTR_VISIBILITY },
@@ -823,7 +823,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableRowCellElemTokenMap()
{
if( !pTableRowCellElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aTableRowCellTokenMap[] =
+ static SvXMLTokenMapEntry aTableRowCellTokenMap[] =
{
{ XML_NAMESPACE_TEXT, XML_P, XML_TOK_TABLE_ROW_CELL_P },
{ XML_NAMESPACE_TABLE, XML_SUB_TABLE, XML_TOK_TABLE_ROW_CELL_TABLE },
@@ -843,7 +843,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableAnnotationAttrTokenMap()
{
if( !pTableAnnotationAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aTableAnnotationAttrTokenMap[] =
+ static SvXMLTokenMapEntry aTableAnnotationAttrTokenMap[] =
{
{ XML_NAMESPACE_OFFICE, XML_AUTHOR, XML_TOK_TABLE_ANNOTATION_ATTR_AUTHOR },
{ XML_NAMESPACE_OFFICE, XML_CREATE_DATE, XML_TOK_TABLE_ANNOTATION_ATTR_CREATE_DATE },
@@ -864,7 +864,7 @@ const SvXMLTokenMap& ScXMLImport::GetDetectiveElemTokenMap()
{
if( !pDetectiveElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDetectiveElemTokenMap[]=
+ static SvXMLTokenMapEntry aDetectiveElemTokenMap[]=
{
{ XML_NAMESPACE_TABLE, XML_HIGHLIGHTED_RANGE, XML_TOK_DETECTIVE_ELEM_HIGHLIGHTED },
{ XML_NAMESPACE_TABLE, XML_OPERATION, XML_TOK_DETECTIVE_ELEM_OPERATION },
@@ -881,7 +881,7 @@ const SvXMLTokenMap& ScXMLImport::GetDetectiveHighlightedAttrTokenMap()
{
if( !pDetectiveHighlightedAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDetectiveHighlightedAttrTokenMap[]=
+ static SvXMLTokenMapEntry aDetectiveHighlightedAttrTokenMap[]=
{
{ XML_NAMESPACE_TABLE, XML_CELL_RANGE_ADDRESS, XML_TOK_DETECTIVE_HIGHLIGHTED_ATTR_CELL_RANGE },
{ XML_NAMESPACE_TABLE, XML_DIRECTION, XML_TOK_DETECTIVE_HIGHLIGHTED_ATTR_DIRECTION },
@@ -900,7 +900,7 @@ const SvXMLTokenMap& ScXMLImport::GetDetectiveOperationAttrTokenMap()
{
if( !pDetectiveOperationAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDetectiveOperationAttrTokenMap[]=
+ static SvXMLTokenMapEntry aDetectiveOperationAttrTokenMap[]=
{
{ XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_DETECTIVE_OPERATION_ATTR_NAME },
{ XML_NAMESPACE_TABLE, XML_INDEX, XML_TOK_DETECTIVE_OPERATION_ATTR_INDEX },
@@ -917,7 +917,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableCellRangeSourceAttrTokenMap()
{
if( !pTableCellRangeSourceAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aTableCellRangeSourceAttrTokenMap[] =
+ static SvXMLTokenMapEntry aTableCellRangeSourceAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_TABLE_CELL_RANGE_SOURCE_ATTR_NAME },
{ XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_TABLE_CELL_RANGE_SOURCE_ATTR_HREF },
@@ -939,7 +939,7 @@ const SvXMLTokenMap& ScXMLImport::GetNamedExpressionsElemTokenMap()
{
if( !pNamedExpressionsElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aNamedExpressionsTokenMap[] =
+ static SvXMLTokenMapEntry aNamedExpressionsTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_NAMED_RANGE, XML_TOK_NAMED_EXPRESSIONS_NAMED_RANGE },
{ XML_NAMESPACE_TABLE, XML_NAMED_EXPRESSION, XML_TOK_NAMED_EXPRESSIONS_NAMED_EXPRESSION },
@@ -956,7 +956,7 @@ const SvXMLTokenMap& ScXMLImport::GetNamedRangeAttrTokenMap()
{
if( !pNamedRangeAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aNamedRangeAttrTokenMap[] =
+ static SvXMLTokenMapEntry aNamedRangeAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_NAMED_RANGE_ATTR_NAME },
{ XML_NAMESPACE_TABLE, XML_CELL_RANGE_ADDRESS, XML_TOK_NAMED_RANGE_ATTR_CELL_RANGE_ADDRESS },
@@ -975,7 +975,7 @@ const SvXMLTokenMap& ScXMLImport::GetNamedExpressionAttrTokenMap()
{
if( !pNamedExpressionAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aNamedExpressionAttrTokenMap[] =
+ static SvXMLTokenMapEntry aNamedExpressionAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_NAMED_EXPRESSION_ATTR_NAME },
{ XML_NAMESPACE_TABLE, XML_BASE_CELL_ADDRESS, XML_TOK_NAMED_EXPRESSION_ATTR_BASE_CELL_ADDRESS },
@@ -993,7 +993,7 @@ const SvXMLTokenMap& ScXMLImport::GetDatabaseRangesElemTokenMap()
{
if( !pDatabaseRangesElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDatabaseRangesTokenMap[] =
+ static SvXMLTokenMapEntry aDatabaseRangesTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATABASE_RANGE, XML_TOK_DATABASE_RANGE },
XML_TOKEN_MAP_END
@@ -1009,7 +1009,7 @@ const SvXMLTokenMap& ScXMLImport::GetDatabaseRangeElemTokenMap()
{
if( !pDatabaseRangeElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDatabaseRangeTokenMap[] =
+ static SvXMLTokenMapEntry aDatabaseRangeTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATABASE_SOURCE_SQL, XML_TOK_DATABASE_RANGE_SOURCE_SQL },
{ XML_NAMESPACE_TABLE, XML_DATABASE_SOURCE_TABLE, XML_TOK_DATABASE_RANGE_SOURCE_TABLE },
@@ -1030,7 +1030,7 @@ const SvXMLTokenMap& ScXMLImport::GetDatabaseRangeAttrTokenMap()
{
if( !pDatabaseRangeAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDatabaseRangeAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDatabaseRangeAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_DATABASE_RANGE_ATTR_NAME },
{ XML_NAMESPACE_TABLE, XML_IS_SELECTION, XML_TOK_DATABASE_RANGE_ATTR_IS_SELECTION },
@@ -1055,7 +1055,7 @@ const SvXMLTokenMap& ScXMLImport::GetDatabaseRangeSourceSQLAttrTokenMap()
{
if( !pDatabaseRangeSourceSQLAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDatabaseRangeSourceSQLAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDatabaseRangeSourceSQLAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATABASE_NAME, XML_TOK_SOURCE_SQL_ATTR_DATABASE_NAME },
{ XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_SOURCE_SQL_ATTR_HREF },
@@ -1075,7 +1075,7 @@ const SvXMLTokenMap& ScXMLImport::GetDatabaseRangeSourceTableAttrTokenMap()
{
if( !pDatabaseRangeSourceTableAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDatabaseRangeSourceTableAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDatabaseRangeSourceTableAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATABASE_NAME, XML_TOK_SOURCE_TABLE_ATTR_DATABASE_NAME },
{ XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_SOURCE_TABLE_ATTR_HREF },
@@ -1094,7 +1094,7 @@ const SvXMLTokenMap& ScXMLImport::GetDatabaseRangeSourceQueryAttrTokenMap()
{
if( !pDatabaseRangeSourceQueryAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDatabaseRangeSourceQueryAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDatabaseRangeSourceQueryAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATABASE_NAME, XML_TOK_SOURCE_QUERY_ATTR_DATABASE_NAME },
{ XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_SOURCE_QUERY_ATTR_HREF },
@@ -1113,7 +1113,7 @@ const SvXMLTokenMap& ScXMLImport::GetFilterElemTokenMap()
{
if( !pFilterElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aFilterTokenMap[] =
+ static SvXMLTokenMapEntry aFilterTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_FILTER_AND, XML_TOK_FILTER_AND },
{ XML_NAMESPACE_TABLE, XML_FILTER_OR, XML_TOK_FILTER_OR },
@@ -1131,7 +1131,7 @@ const SvXMLTokenMap& ScXMLImport::GetFilterAttrTokenMap()
{
if( !pFilterAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aFilterAttrTokenMap[] =
+ static SvXMLTokenMapEntry aFilterAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_TARGET_RANGE_ADDRESS, XML_TOK_FILTER_ATTR_TARGET_RANGE_ADDRESS },
{ XML_NAMESPACE_TABLE, XML_CONDITION_SOURCE_RANGE_ADDRESS, XML_TOK_FILTER_ATTR_CONDITION_SOURCE_RANGE_ADDRESS },
@@ -1150,7 +1150,7 @@ const SvXMLTokenMap& ScXMLImport::GetFilterConditionAttrTokenMap()
{
if( !pFilterConditionAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aFilterConditionAttrTokenMap[] =
+ static SvXMLTokenMapEntry aFilterConditionAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_FIELD_NUMBER, XML_TOK_CONDITION_ATTR_FIELD_NUMBER },
{ XML_NAMESPACE_TABLE, XML_CASE_SENSITIVE, XML_TOK_CONDITION_ATTR_CASE_SENSITIVE },
@@ -1170,7 +1170,7 @@ const SvXMLTokenMap& ScXMLImport::GetSortElemTokenMap()
{
if( !pSortElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aSortTokenMap[] =
+ static SvXMLTokenMapEntry aSortTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_SORT_BY, XML_TOK_SORT_SORT_BY },
XML_TOKEN_MAP_END
@@ -1186,7 +1186,7 @@ const SvXMLTokenMap& ScXMLImport::GetSortAttrTokenMap()
{
if( !pSortAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aSortAttrTokenMap[] =
+ static SvXMLTokenMapEntry aSortAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_BIND_STYLES_TO_CONTENT, XML_TOK_SORT_ATTR_BIND_STYLES_TO_CONTENT },
{ XML_NAMESPACE_TABLE, XML_TARGET_RANGE_ADDRESS, XML_TOK_SORT_ATTR_TARGET_RANGE_ADDRESS },
@@ -1207,7 +1207,7 @@ const SvXMLTokenMap& ScXMLImport::GetSortSortByAttrTokenMap()
{
if( !pSortSortByAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aSortSortByAttrTokenMap[] =
+ static SvXMLTokenMapEntry aSortSortByAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_FIELD_NUMBER, XML_TOK_SORT_BY_ATTR_FIELD_NUMBER },
{ XML_NAMESPACE_TABLE, XML_DATA_TYPE, XML_TOK_SORT_BY_ATTR_DATA_TYPE },
@@ -1225,7 +1225,7 @@ const SvXMLTokenMap& ScXMLImport::GetDatabaseRangeSubTotalRulesElemTokenMap()
{
if( !pDatabaseRangeSubTotalRulesElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDatabaseRangeSubTotalRulesTokenMap[] =
+ static SvXMLTokenMapEntry aDatabaseRangeSubTotalRulesTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_SORT_GROUPS, XML_TOK_SUBTOTAL_RULES_SORT_GROUPS },
{ XML_NAMESPACE_TABLE, XML_SUBTOTAL_RULE, XML_TOK_SUBTOTAL_RULES_SUBTOTAL_RULE },
@@ -1242,7 +1242,7 @@ const SvXMLTokenMap& ScXMLImport::GetDatabaseRangeSubTotalRulesAttrTokenMap()
{
if( !pDatabaseRangeSubTotalRulesAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDatabaseRangeSubTotalRulesAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDatabaseRangeSubTotalRulesAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_BIND_STYLES_TO_CONTENT, XML_TOK_SUBTOTAL_RULES_ATTR_BIND_STYLES_TO_CONTENT },
{ XML_NAMESPACE_TABLE, XML_CASE_SENSITIVE, XML_TOK_SUBTOTAL_RULES_ATTR_CASE_SENSITIVE },
@@ -1260,7 +1260,7 @@ const SvXMLTokenMap& ScXMLImport::GetSubTotalRulesSortGroupsAttrTokenMap()
{
if( !pSubTotalRulesSortGroupsAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aSubTotalRulesSortGroupsAttrTokenMap[] =
+ static SvXMLTokenMapEntry aSubTotalRulesSortGroupsAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATA_TYPE, XML_TOK_SORT_GROUPS_ATTR_DATA_TYPE },
{ XML_NAMESPACE_TABLE, XML_ORDER, XML_TOK_SORT_GROUPS_ATTR_ORDER },
@@ -1277,7 +1277,7 @@ const SvXMLTokenMap& ScXMLImport::GetSubTotalRulesSubTotalRuleElemTokenMap()
{
if( !pSubTotalRulesSubTotalRuleElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aSubTotalRulesSubTotalRuleTokenMap[] =
+ static SvXMLTokenMapEntry aSubTotalRulesSubTotalRuleTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_SUBTOTAL_FIELD, XML_TOK_SUBTOTAL_RULE_SUBTOTAL_FIELD },
XML_TOKEN_MAP_END
@@ -1293,7 +1293,7 @@ const SvXMLTokenMap& ScXMLImport::GetSubTotalRulesSubTotalRuleAttrTokenMap()
{
if( !pSubTotalRulesSubTotalRuleAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aSubTotalRulesSubTotalRuleAttrTokenMap[] =
+ static SvXMLTokenMapEntry aSubTotalRulesSubTotalRuleAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_GROUP_BY_FIELD_NUMBER, XML_TOK_SUBTOTAL_RULE_ATTR_GROUP_BY_FIELD_NUMBER },
XML_TOKEN_MAP_END
@@ -1309,7 +1309,7 @@ const SvXMLTokenMap& ScXMLImport::GetSubTotalRuleSubTotalFieldAttrTokenMap()
{
if( !pSubTotalRuleSubTotalFieldAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aSubTotalRuleSubTotalFieldAttrTokenMap[] =
+ static SvXMLTokenMapEntry aSubTotalRuleSubTotalFieldAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_FIELD_NUMBER, XML_TOK_SUBTOTAL_FIELD_ATTR_FIELD_NUMBER },
{ XML_NAMESPACE_TABLE, XML_FUNCTION, XML_TOK_SUBTOTAL_FIELD_ATTR_FUNCTION },
@@ -1326,7 +1326,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotTablesElemTokenMap()
{
if( !pDataPilotTablesElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotTablesElemTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotTablesElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATA_PILOT_TABLE, XML_TOK_DATA_PILOT_TABLE },
XML_TOKEN_MAP_END
@@ -1342,7 +1342,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotTableAttrTokenMap()
{
if( !pDataPilotTableAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotTableAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotTableAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_DATA_PILOT_TABLE_ATTR_NAME },
{ XML_NAMESPACE_TABLE, XML_APPLICATION_DATA, XML_TOK_DATA_PILOT_TABLE_ATTR_APPLICATION_DATA },
@@ -1367,7 +1367,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotTableElemTokenMap()
{
if( !pDataPilotTableElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotTableElemTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotTableElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATABASE_SOURCE_SQL, XML_TOK_DATA_PILOT_TABLE_ELEM_SOURCE_SQL },
{ XML_NAMESPACE_TABLE, XML_DATABASE_SOURCE_TABLE, XML_TOK_DATA_PILOT_TABLE_ELEM_SOURCE_TABLE },
@@ -1389,7 +1389,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotTableSourceServiceAttrTokenMap()
{
if( !pDataPilotTableSourceServiceAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotTableSourceServiceAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotTableSourceServiceAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_SOURCE_SERVICE_ATTR_NAME },
{ XML_NAMESPACE_TABLE, XML_SOURCE_NAME, XML_TOK_SOURCE_SERVICE_ATTR_SOURCE_NAME },
@@ -1409,7 +1409,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotGrandTotalAttrTokenMap()
{
if (!pDataPilotGrandTotalAttrTokenMap)
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotGrandTotalAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotGrandTotalAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DISPLAY, XML_TOK_DATA_PILOT_GRAND_TOTAL_ATTR_DISPLAY },
{ XML_NAMESPACE_TABLE, XML_ORIENTATION, XML_TOK_DATA_PILOT_GRAND_TOTAL_ATTR_ORIENTATION },
@@ -1428,7 +1428,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotTableSourceCellRangeAttrTokenMap()
{
if( !pDataPilotTableSourceCellRangeAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotTableSourceCellRangeAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotTableSourceCellRangeAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_CELL_RANGE_ADDRESS, XML_TOK_SOURCE_CELL_RANGE_ATTR_CELL_RANGE_ADDRESS},
XML_TOKEN_MAP_END
@@ -1444,7 +1444,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotTableSourceCellRangeElemTokenMap()
{
if( !pDataPilotTableSourceCellRangeElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotTableSourceCellRangeElemTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotTableSourceCellRangeElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_FILTER, XML_TOK_SOURCE_CELL_RANGE_ELEM_FILTER},
XML_TOKEN_MAP_END
@@ -1460,7 +1460,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotFieldAttrTokenMap()
{
if( !pDataPilotFieldAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotFieldAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotFieldAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_SOURCE_FIELD_NAME, XML_TOK_DATA_PILOT_FIELD_ATTR_SOURCE_FIELD_NAME },
{ XML_NAMESPACE_TABLE, XML_DISPLAY_NAME, XML_TOK_DATA_PILOT_FIELD_ATTR_DISPLAY_NAME },
@@ -1483,7 +1483,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotFieldElemTokenMap()
{
if( !pDataPilotFieldElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotFieldElemTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotFieldElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATA_PILOT_LEVEL, XML_TOK_DATA_PILOT_FIELD_ELEM_DATA_PILOT_LEVEL },
{ XML_NAMESPACE_TABLE, XML_DATA_PILOT_FIELD_REFERENCE, XML_TOK_DATA_PILOT_FIELD_ELEM_DATA_PILOT_REFERENCE },
@@ -1501,7 +1501,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotLevelAttrTokenMap()
{
if( !pDataPilotLevelAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotLevelAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotLevelAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_SHOW_EMPTY, XML_TOK_DATA_PILOT_LEVEL_ATTR_SHOW_EMPTY },
XML_TOKEN_MAP_END
@@ -1517,7 +1517,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotLevelElemTokenMap()
{
if( !pDataPilotLevelElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotLevelElemTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotLevelElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATA_PILOT_SUBTOTALS, XML_TOK_DATA_PILOT_LEVEL_ELEM_DATA_PILOT_SUBTOTALS },
{ XML_NAMESPACE_TABLE, XML_DATA_PILOT_MEMBERS, XML_TOK_DATA_PILOT_LEVEL_ELEM_DATA_PILOT_MEMBERS },
@@ -1537,7 +1537,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotSubTotalsElemTokenMap()
{
if( !pDataPilotSubTotalsElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotSubTotalsElemTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotSubTotalsElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATA_PILOT_SUBTOTAL, XML_TOK_DATA_PILOT_SUBTOTALS_ELEM_DATA_PILOT_SUBTOTAL },
XML_TOKEN_MAP_END
@@ -1553,7 +1553,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotSubTotalAttrTokenMap()
{
if( !pDataPilotSubTotalAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotSubTotalAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotSubTotalAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_FUNCTION, XML_TOK_DATA_PILOT_SUBTOTAL_ATTR_FUNCTION },
{ XML_NAMESPACE_TABLE, XML_DISPLAY_NAME, XML_TOK_DATA_PILOT_SUBTOTAL_ATTR_DISPLAY_NAME },
@@ -1571,7 +1571,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotMembersElemTokenMap()
{
if( !pDataPilotMembersElemTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotMembersElemTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotMembersElemTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_DATA_PILOT_MEMBER, XML_TOK_DATA_PILOT_MEMBERS_ELEM_DATA_PILOT_MEMBER },
XML_TOKEN_MAP_END
@@ -1587,7 +1587,7 @@ const SvXMLTokenMap& ScXMLImport::GetDataPilotMemberAttrTokenMap()
{
if( !pDataPilotMemberAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aDataPilotMemberAttrTokenMap[] =
+ static SvXMLTokenMapEntry aDataPilotMemberAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_DATA_PILOT_MEMBER_ATTR_NAME },
{ XML_NAMESPACE_TABLE, XML_DISPLAY_NAME, XML_TOK_DATA_PILOT_MEMBER_ATTR_DISPLAY_NAME },
@@ -1607,7 +1607,7 @@ const SvXMLTokenMap& ScXMLImport::GetConsolidationAttrTokenMap()
{
if( !pConsolidationAttrTokenMap )
{
- static __FAR_DATA SvXMLTokenMapEntry aConsolidationAttrTokenMap[] =
+ static SvXMLTokenMapEntry aConsolidationAttrTokenMap[] =
{
{ XML_NAMESPACE_TABLE, XML_FUNCTION, XML_TOK_CONSOLIDATION_ATTR_FUNCTION },
{ XML_NAMESPACE_TABLE, XML_SOURCE_CELL_RANGE_ADDRESSES, XML_TOK_CONSOLIDATION_ATTR_SOURCE_RANGES },
@@ -1642,8 +1642,8 @@ SvXMLImportContext *ScXMLImport::CreateContext( USHORT nPrefix,
} else if ( (XML_NAMESPACE_OFFICE == nPrefix) &&
( IsXMLToken(rLocalName, XML_DOCUMENT)) ) {
uno::Reference<xml::sax::XDocumentHandler> xDocBuilder(
- mxServiceFactory->createInstance(::rtl::OUString::createFromAscii(
- "com.sun.star.xml.dom.SAXDocumentBuilder")),
+ mxServiceFactory->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.xml.dom.SAXDocumentBuilder"))),
uno::UNO_QUERY_THROW);
uno::Reference<document::XDocumentPropertiesSupplier> xDPS(
GetModel(), uno::UNO_QUERY_THROW);
@@ -1894,55 +1894,43 @@ ScXMLImport::~ScXMLImport() throw()
SvXMLImportContext *ScXMLImport::CreateFontDeclsContext(const USHORT nPrefix, const ::rtl::OUString& rLocalName,
const uno::Reference<xml::sax::XAttributeList>& xAttrList)
{
- SvXMLImportContext *pContext = NULL;
- if (!pContext)
- {
- XMLFontStylesContext *pFSContext(
- new XMLFontStylesContext( *this, nPrefix,
- rLocalName, xAttrList,
- gsl_getSystemTextEncoding() ));
- SetFontDecls( pFSContext );
- pContext = pFSContext;
- }
+ XMLFontStylesContext *pFSContext = new XMLFontStylesContext(
+ *this, nPrefix, rLocalName, xAttrList, gsl_getSystemTextEncoding());
+ SetFontDecls(pFSContext);
+ SvXMLImportContext* pContext = pFSContext;
return pContext;
}
SvXMLImportContext *ScXMLImport::CreateStylesContext(const ::rtl::OUString& rLocalName,
const uno::Reference<xml::sax::XAttributeList>& xAttrList, sal_Bool bIsAutoStyle )
{
- SvXMLImportContext *pContext(NULL);
- if (!pContext)
- {
- pContext = new XMLTableStylesContext(*this, XML_NAMESPACE_OFFICE, rLocalName, xAttrList, bIsAutoStyle);
- if (bIsAutoStyle)
- //xAutoStyles = pContext;
- SetAutoStyles((SvXMLStylesContext*)pContext);
- else
- //xStyles = pContext;
- SetStyles((SvXMLStylesContext*)pContext);
- }
+ SvXMLImportContext* pContext = new XMLTableStylesContext(
+ *this, XML_NAMESPACE_OFFICE, rLocalName, xAttrList, bIsAutoStyle);
+
+ if (bIsAutoStyle)
+ SetAutoStyles((SvXMLStylesContext*)pContext);
+ else
+ SetStyles((SvXMLStylesContext*)pContext);
+
return pContext;
}
SvXMLImportContext *ScXMLImport::CreateBodyContext(const ::rtl::OUString& rLocalName,
const uno::Reference<xml::sax::XAttributeList>& xAttrList)
{
- //GetShapeImport()->SetAutoStylesContext((XMLTableStylesContext *)&xAutoStyles);
- //GetChartImport()->SetAutoStylesContext(GetAutoStyles()/*(XMLTableStylesContext *)&xAutoStyles*/);
-
return new ScXMLBodyContext(*this, XML_NAMESPACE_OFFICE, rLocalName, xAttrList);
}
SvXMLImportContext *ScXMLImport::CreateMetaContext(
const OUString& rLocalName )
{
- SvXMLImportContext *pContext(0);
+ SvXMLImportContext* pContext = NULL;
if( !IsStylesOnlyMode() && (getImportFlags() & IMPORT_META))
{
uno::Reference<xml::sax::XDocumentHandler> xDocBuilder(
- mxServiceFactory->createInstance(::rtl::OUString::createFromAscii(
- "com.sun.star.xml.dom.SAXDocumentBuilder")),
+ mxServiceFactory->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.xml.dom.SAXDocumentBuilder"))),
uno::UNO_QUERY_THROW);
uno::Reference<document::XDocumentPropertiesSupplier> xDPS(
GetModel(), uno::UNO_QUERY_THROW);
@@ -1961,7 +1949,7 @@ SvXMLImportContext *ScXMLImport::CreateMetaContext(
SvXMLImportContext *ScXMLImport::CreateScriptContext(
const OUString& rLocalName )
{
- SvXMLImportContext *pContext(0);
+ SvXMLImportContext* pContext = NULL;
if( !(IsStylesOnlyMode()) )
{
@@ -2017,10 +2005,7 @@ sal_Int16 ScXMLImport::GetCellType(const OUString& rStrValue) const
XMLShapeImportHelper* ScXMLImport::CreateShapeImport()
{
- /*UniReference < XMLPropertySetMapper > xShapeStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScShapeStylesProperties, xScPropHdlFactory);
- SvXMLImportPropertyMapper *pShapeStylesImportPropertySetMapper = new SvXMLImportPropertyMapper( xShapeStylesPropertySetMapper );*/
-
- return new XMLTableShapeImportHelper( *this/*, pShapeStylesImportPropertySetMapper*/ );
+ return new XMLTableShapeImportHelper(*this);
}
sal_Bool ScXMLImport::GetValidation(const rtl::OUString& sName, ScMyImportValidation& aValidation)
@@ -2109,7 +2094,7 @@ void ScXMLImport::SetChangeTrackingViewSettings(const com::sun::star::uno::Seque
sal_Int32 nCount(rChangeProps.getLength());
if (nCount)
{
- LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(*this);
sal_Int16 nTemp16(0);
ScChangeViewSettings* pViewSettings(new ScChangeViewSettings());
for (sal_Int32 i = 0; i < nCount; ++i)
@@ -2185,7 +2170,6 @@ void ScXMLImport::SetChangeTrackingViewSettings(const com::sun::star::uno::Seque
}
}
pDoc->SetChangeViewSettings(*pViewSettings);
- UnlockSolarMutex();
}
}
}
@@ -2318,18 +2302,19 @@ sal_Int32 ScXMLImport::SetCurrencySymbol(const sal_Int32 nKey, const rtl::OUStri
lang::Locale aLocale;
if (GetDocument() && (xProperties->getPropertyValue(sLocale) >>= aLocale))
{
- LockSolarMutex();
- LocaleDataWrapper aLocaleData( GetDocument()->GetServiceManager(), aLocale );
- rtl::OUStringBuffer aBuffer(15);
- aBuffer.appendAscii("#");
- aBuffer.append( aLocaleData.getNumThousandSep() );
- aBuffer.appendAscii("##0");
- aBuffer.append( aLocaleData.getNumDecimalSep() );
- aBuffer.appendAscii("00 [$");
- aBuffer.append(rCurrency);
- aBuffer.appendAscii("]");
- UnlockSolarMutex();
- sFormatString = aBuffer.makeStringAndClear();
+ {
+ ScXMLImport::MutexGuard aGuard(*this);
+ LocaleDataWrapper aLocaleData( GetDocument()->GetServiceManager(), aLocale );
+ rtl::OUStringBuffer aBuffer(15);
+ aBuffer.appendAscii("#");
+ aBuffer.append( aLocaleData.getNumThousandSep() );
+ aBuffer.appendAscii("##0");
+ aBuffer.append( aLocaleData.getNumDecimalSep() );
+ aBuffer.appendAscii("00 [$");
+ aBuffer.append(rCurrency);
+ aBuffer.appendAscii("]");
+ sFormatString = aBuffer.makeStringAndClear();
+ }
sal_Int32 nNewKey = xLocalNumberFormats->queryKey(sFormatString, aLocale, sal_True);
if (nNewKey == -1)
nNewKey = xLocalNumberFormats->addNew(sFormatString, aLocale);
@@ -2603,7 +2588,7 @@ void ScXMLImport::SetStylesToRangesFinished()
void SAL_CALL ScXMLImport::setTargetDocument( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& xDoc )
throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException)
{
- LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(*this);
SvXMLImport::setTargetDocument( xDoc );
uno::Reference<frame::XModel> xModel(xDoc, uno::UNO_QUERY);
@@ -2617,7 +2602,6 @@ throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::R
uno::Reference<document::XActionLockable> xActionLockable(xDoc, uno::UNO_QUERY);
if (xActionLockable.is())
xActionLockable->addActionLock();
- UnlockSolarMutex();
}
// XServiceInfo
@@ -2647,7 +2631,7 @@ throw(::com::sun::star::uno::RuntimeException)
void SAL_CALL ScXMLImport::startDocument(void)
throw( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException )
{
- LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(*this);
SvXMLImport::startDocument();
if (pDoc && !pDoc->IsImportingXML())
{
@@ -2671,8 +2655,6 @@ throw( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeE
pSheetData->StoreInitialNamespaces(rNamespaces);
}
}
-
- UnlockSolarMutex();
}
sal_Int32 ScXMLImport::GetRangeType(const rtl::OUString sRangeType) const
@@ -2781,11 +2763,13 @@ void ScXMLImport::SetNamedRanges()
if (!pNamedExpressions)
return;
- uno::Reference <beans::XPropertySet> xPropertySet (GetModel(), uno::UNO_QUERY);
+ Reference <beans::XPropertySet> xPropertySet (GetModel(), UNO_QUERY);
if (!xPropertySet.is())
return;
- uno::Reference <sheet::XNamedRanges> xNamedRanges(xPropertySet->getPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_NAMEDRANGES))), uno::UNO_QUERY);
+ Reference <sheet::XNamedRanges> xNamedRanges(
+ xPropertySet->getPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_NAMEDRANGES))), UNO_QUERY);
+
if (!xNamedRanges.is())
return;
@@ -2793,52 +2777,61 @@ void ScXMLImport::SetNamedRanges()
if (!xPropSet.is())
return;
+ // Turn off broadcasting while adding imported range names.
NamedRangesSwitch aSwitch(xPropSet);
ScMyNamedExpressions::iterator aItr(pNamedExpressions->begin());
ScMyNamedExpressions::const_iterator aEndItr(pNamedExpressions->end());
table::CellAddress aCellAddress;
- rtl::OUString sTempContent(RTL_CONSTASCII_USTRINGPARAM("0"));
- while (aItr != aEndItr)
+ OUString sTempContent(RTL_CONSTASCII_USTRINGPARAM("0"));
+
+ for (; aItr != aEndItr; ++aItr)
{
- sal_Int32 nOffset(0);
- if (ScRangeStringConverter::GetAddressFromString(
- aCellAddress, (*aItr)->sBaseCellAddress, GetDocument(), FormulaGrammar::CONV_OOO, nOffset ))
+ sal_Int32 nOffset = 0;
+ bool bSuccess = ScRangeStringConverter::GetAddressFromString(
+ aCellAddress, (*aItr)->sBaseCellAddress, GetDocument(), FormulaGrammar::CONV_OOO, nOffset);
+
+ if (!bSuccess)
+ // Conversion of base cell address failed. Skip this.
+ continue;
+
+ try
{
- try
- {
- xNamedRanges->addNewByName((*aItr)->sName, sTempContent, aCellAddress, GetRangeType((*aItr)->sRangeType));
- }
- catch( uno::RuntimeException& )
+ xNamedRanges->addNewByName(
+ (*aItr)->sName, sTempContent, aCellAddress, GetRangeType((*aItr)->sRangeType));
+ }
+ catch( uno::RuntimeException& )
+ {
+ DBG_ERROR("here are some Named Ranges with the same name");
+ uno::Reference < container::XIndexAccess > xIndex(xNamedRanges, uno::UNO_QUERY);
+ if (xIndex.is())
{
- DBG_ERROR("here are some Named Ranges with the same name");
- uno::Reference < container::XIndexAccess > xIndex(xNamedRanges, uno::UNO_QUERY);
- if (xIndex.is())
+ sal_Int32 nMax = xIndex->getCount();
+ bool bInserted = false;
+ sal_Int32 nCount = 1;
+ OUStringBuffer sName((*aItr)->sName);
+ sName.append(sal_Unicode('_'));
+ while (!bInserted && nCount <= nMax)
{
- sal_Int32 nMax(xIndex->getCount());
- sal_Bool bInserted(sal_False);
- sal_Int32 nCount(1);
- rtl::OUStringBuffer sName((*aItr)->sName);
- sName.append(sal_Unicode('_'));
- while (!bInserted && nCount <= nMax)
+ OUStringBuffer sTemp(sName);
+ sTemp.append(OUString::valueOf(nCount));
+ try
{
- rtl::OUStringBuffer sTemp(sName);
- sTemp.append(rtl::OUString::valueOf(nCount));
- try
- {
- xNamedRanges->addNewByName(sTemp.makeStringAndClear(), sTempContent, aCellAddress, GetRangeType((*aItr)->sRangeType));
- bInserted = sal_True;
- }
- catch( uno::RuntimeException& )
- {
- ++nCount;
- }
+ xNamedRanges->addNewByName(
+ sTemp.makeStringAndClear(), sTempContent, aCellAddress,
+ GetRangeType((*aItr)->sRangeType));
+ bInserted = true;
+ }
+ catch( uno::RuntimeException& )
+ {
+ ++nCount;
}
}
+ UnlockSolarMutex();
}
}
- ++aItr;
}
+
aItr = pNamedExpressions->begin();
while (aItr != aEndItr)
{
@@ -2849,7 +2842,7 @@ void ScXMLImport::SetNamedRanges()
uno::Reference <sheet::XNamedRange> xNamedRange(xNamedRanges->getByName((*aItr)->sName), uno::UNO_QUERY);
if (xNamedRange.is())
{
- LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(*this);
ScNamedRangeObj* pNamedRangeObj = ScNamedRangeObj::getImplementation( xNamedRange);
if (pNamedRangeObj)
{
@@ -2859,7 +2852,6 @@ void ScXMLImport::SetNamedRanges()
ScXMLConverter::ParseFormula( sTempContent, false);
pNamedRangeObj->SetContentWithGrammar( sTempContent, (*aItr)->eGrammar);
}
- UnlockSolarMutex();
}
}
delete *aItr;
@@ -2870,7 +2862,7 @@ void ScXMLImport::SetNamedRanges()
void SAL_CALL ScXMLImport::endDocument(void)
throw( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException )
{
- LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(*this);
if (getImportFlags() & IMPORT_CONTENT)
{
if (GetModel().is())
@@ -2926,7 +2918,7 @@ throw( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeE
}
aTables.UpdateRowHeights();
- aTables.ResizeShapes();
+ aTables.FixupOLEs();
}
if (GetModel().is())
{
@@ -2940,8 +2932,6 @@ throw( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeE
{
ScModelObj::getImplementation(GetModel())->AfterXMLLoading(sal_True);
}
-
- UnlockSolarMutex();
}
// XEventListener
@@ -2951,6 +2941,17 @@ void ScXMLImport::DisposingModel()
pDoc = NULL;
}
+ScXMLImport::MutexGuard::MutexGuard(ScXMLImport& rImport) :
+ mrImport(rImport)
+{
+ mrImport.LockSolarMutex();
+}
+
+ScXMLImport::MutexGuard::~MutexGuard()
+{
+ mrImport.UnlockSolarMutex();
+}
+
void ScXMLImport::LockSolarMutex()
{
// #i62677# When called from DocShell/Wrapper, the SolarMutex is already locked,
diff --git a/sc/source/filter/xml/xmlimprt.hxx b/sc/source/filter/xml/xmlimprt.hxx
index 49e89406d8eb..a76e5d8fc50a 100644
--- a/sc/source/filter/xml/xmlimprt.hxx
+++ b/sc/source/filter/xml/xmlimprt.hxx
@@ -1003,6 +1003,18 @@ public:
virtual void DisposingModel();
+ /**
+ * Use this class to manage solar mutex locking instead of calling
+ * LockSolarMutex() and UnlockSolarMutex() directly.
+ */
+ class MutexGuard
+ {
+ public:
+ explicit MutexGuard(ScXMLImport& rImport);
+ ~MutexGuard();
+ private:
+ ScXMLImport& mrImport;
+ };
void LockSolarMutex();
void UnlockSolarMutex();
diff --git a/sc/source/filter/xml/xmlrowi.cxx b/sc/source/filter/xml/xmlrowi.cxx
index b1daf5d18575..aa0e0e367326 100644
--- a/sc/source/filter/xml/xmlrowi.cxx
+++ b/sc/source/filter/xml/xmlrowi.cxx
@@ -349,12 +349,11 @@ void ScXMLTableRowsContext::EndElement()
ScDocument* pDoc(GetScImport().GetDocument());
if (pDoc)
{
- GetScImport().LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(GetScImport());
ScOutlineTable* pOutlineTable(pDoc->GetOutlineTable(static_cast<SCTAB>(nSheet), sal_True));
ScOutlineArray* pRowArray(pOutlineTable->GetRowArray());
sal_Bool bResized;
pRowArray->Insert(static_cast<SCROW>(nGroupStartRow), static_cast<SCROW>(nGroupEndRow), bResized, !bGroupDisplay, sal_True);
- GetScImport().UnlockSolarMutex();
}
}
}
diff --git a/sc/source/filter/xml/xmlsceni.cxx b/sc/source/filter/xml/xmlsceni.cxx
index 3235941af5b2..f8ae7c9d64fb 100644
--- a/sc/source/filter/xml/xmlsceni.cxx
+++ b/sc/source/filter/xml/xmlsceni.cxx
@@ -163,9 +163,9 @@ void ScXMLTableScenarioContext::EndElement()
if( bProtected )
nFlags |= SC_SCENARIO_PROTECT;
pDoc->SetScenarioData( nCurrTable, String( sComment ), aBorderColor, nFlags );
- for( sal_Int32 i = 0; i < static_cast<sal_Int32>(aScenarioRanges.Count()); ++i )
+ for( size_t i = 0; i < aScenarioRanges.size(); ++i )
{
- ScRange* pRange(aScenarioRanges.GetObject( i ));
+ ScRange* pRange(aScenarioRanges[ i ]);
if( pRange )
pDoc->ApplyFlagsTab( pRange->aStart.Col(), pRange->aStart.Row(),
pRange->aEnd.Col(), pRange->aEnd.Row(), nCurrTable, SC_MF_SCENARIO );
diff --git a/sc/source/filter/xml/xmlsorti.cxx b/sc/source/filter/xml/xmlsorti.cxx
index bf1f0427854d..c71e4c38c40c 100644
--- a/sc/source/filter/xml/xmlsorti.cxx
+++ b/sc/source/filter/xml/xmlsorti.cxx
@@ -155,19 +155,19 @@ void ScXMLSortContext::EndElement()
if (nAlgoLength)
++i;
uno::Sequence <beans::PropertyValue> aSortDescriptor(7 + i);
- aSortDescriptor[0].Name = rtl::OUString::createFromAscii(SC_UNONAME_BINDFMT);
+ aSortDescriptor[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_BINDFMT));
aSortDescriptor[0].Value = ::cppu::bool2any(bBindFormatsToContent);
- aSortDescriptor[1].Name = rtl::OUString::createFromAscii(SC_UNONAME_COPYOUT);
+ aSortDescriptor[1].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_COPYOUT));
aSortDescriptor[1].Value = ::cppu::bool2any(bCopyOutputData);
- aSortDescriptor[2].Name = rtl::OUString::createFromAscii(SC_UNONAME_ISCASE);
+ aSortDescriptor[2].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_ISCASE));
aSortDescriptor[2].Value = ::cppu::bool2any(bIsCaseSensitive);
- aSortDescriptor[3].Name = rtl::OUString::createFromAscii(SC_UNONAME_ISULIST);
+ aSortDescriptor[3].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_ISULIST));
aSortDescriptor[3].Value = ::cppu::bool2any(bEnabledUserList);
- aSortDescriptor[4].Name = rtl::OUString::createFromAscii(SC_UNONAME_OUTPOS);
+ aSortDescriptor[4].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_OUTPOS));
aSortDescriptor[4].Value <<= aOutputPosition;
- aSortDescriptor[5].Name = rtl::OUString::createFromAscii(SC_UNONAME_UINDEX);
+ aSortDescriptor[5].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_UINDEX));
aSortDescriptor[5].Value <<= nUserListIndex;
- aSortDescriptor[6].Name = rtl::OUString::createFromAscii(SC_UNONAME_SORTFLD);
+ aSortDescriptor[6].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_SORTFLD));
aSortDescriptor[6].Value <<= aSortFields;
if (nLangLength || nCountryLength)
{
diff --git a/sc/source/filter/xml/xmlstyle.cxx b/sc/source/filter/xml/xmlstyle.cxx
index f686ed36bf9b..d3830fce5bd8 100644
--- a/sc/source/filter/xml/xmlstyle.cxx
+++ b/sc/source/filter/xml/xmlstyle.cxx
@@ -1176,7 +1176,7 @@ bool XmlScPropHdl_JustifyMethod::equals(
const ::com::sun::star::uno::Any& r1,
const ::com::sun::star::uno::Any& r2 ) const
{
- sal_Int32 nVal1, nVal2;
+ sal_Int32 nVal1(0), nVal2(0);
if((r1 >>= nVal1) && (r2 >>= nVal2))
return (nVal1 == nVal2);
@@ -1214,7 +1214,7 @@ sal_Bool XmlScPropHdl_JustifyMethod::exportXML(
const ::com::sun::star::uno::Any& rValue,
const SvXMLUnitConverter& /* rUnitConverter */ ) const
{
- sal_Int32 nVal;
+ sal_Int32 nVal(0);
bool bRetval = false;
if (rValue >>= nVal)
@@ -1597,7 +1597,7 @@ bool XmlScPropHdl_RotateReference::equals(
const ::com::sun::star::uno::Any& r1,
const ::com::sun::star::uno::Any& r2 ) const
{
- sal_Int32 aReference1, aReference2;
+ sal_Int32 aReference1(0), aReference2(0);
if((r1 >>= aReference1) && (r2 >>= aReference2))
return (aReference1 == aReference2);
@@ -1645,7 +1645,7 @@ sal_Bool XmlScPropHdl_RotateReference::exportXML(
const ::com::sun::star::uno::Any& rValue,
const SvXMLUnitConverter& /* rUnitConverter */ ) const
{
- sal_Int32 nVal;
+ sal_Int32 nVal(0);
sal_Bool bRetval(sal_False);
if(rValue >>= nVal)
@@ -1694,7 +1694,7 @@ bool XmlScPropHdl_VertJustify::equals(
const ::com::sun::star::uno::Any& r1,
const ::com::sun::star::uno::Any& r2 ) const
{
- sal_Int32 aReference1, aReference2;
+ sal_Int32 aReference1(0), aReference2(0);
if((r1 >>= aReference1) && (r2 >>= aReference2))
return (aReference1 == aReference2);
@@ -1748,7 +1748,7 @@ sal_Bool XmlScPropHdl_VertJustify::exportXML(
const ::com::sun::star::uno::Any& rValue,
const SvXMLUnitConverter& /* rUnitConverter */ ) const
{
- sal_Int32 nVal;
+ sal_Int32 nVal(0);
sal_Bool bRetval(sal_False);
if(rValue >>= nVal)
diff --git a/sc/source/filter/xml/xmlstyli.cxx b/sc/source/filter/xml/xmlstyli.cxx
index ffecefb2d653..6e36d59ea944 100644
--- a/sc/source/filter/xml/xmlstyli.cxx
+++ b/sc/source/filter/xml/xmlstyli.cxx
@@ -75,7 +75,6 @@ using namespace ::com::sun::star::frame;
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::container;
using namespace xmloff::token;
-//using namespace ::com::sun::star::text;
using namespace ::formula;
using rtl::OUString;
diff --git a/sc/source/filter/xml/xmlsubti.cxx b/sc/source/filter/xml/xmlsubti.cxx
index d3e949acabd0..d7b592db5caa 100644
--- a/sc/source/filter/xml/xmlsubti.cxx
+++ b/sc/source/filter/xml/xmlsubti.cxx
@@ -29,7 +29,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-
// INCLUDE ---------------------------------------------------------------
#include "xmlsubti.hxx"
#include "global.hxx"
@@ -160,26 +159,16 @@ ScXMLTabProtectionData::ScXMLTabProtectionData() :
ScMyTables::ScMyTables(ScXMLImport& rTempImport)
: rImport(rTempImport),
- aResizeShapes(rTempImport),
+ aFixupOLEs(rTempImport),
nCurrentColStylePos(0),
nCurrentDrawPage( -1 ),
nCurrentXShapes( -1 ),
- nTableCount( 0 ),
nCurrentSheet( -1 )
{
- aTableVec.resize(nDefaultTabCount, NULL);
}
ScMyTables::~ScMyTables()
{
- ScMyTableData* pTable;
- while (nTableCount > 0)
- {
- pTable = aTableVec[nTableCount - 1];
- delete pTable;
- aTableVec[nTableCount - 1] = NULL;
- --nTableCount;
- }
}
void ScMyTables::NewSheet(const rtl::OUString& sTableName, const rtl::OUString& sStyleName,
@@ -189,14 +178,7 @@ void ScMyTables::NewSheet(const rtl::OUString& sTableName, const rtl::OUString&
{
nCurrentColStylePos = 0;
sCurrentSheetName = sTableName;
- ScMyTableData* aTable;
- while (nTableCount > 0)
- {
- aTable = aTableVec[nTableCount - 1];
- delete aTable;
- aTableVec[nTableCount - 1] = NULL;
- --nTableCount;
- }
+ maTables.clear();
++nCurrentSheet;
maProtectionData = rProtectData;
@@ -217,12 +199,11 @@ void ScMyTables::NewSheet(const rtl::OUString& sTableName, const rtl::OUString&
ScDocument *pDoc = ScXMLConverter::GetScDocument(rImport.GetModel());
if (pDoc)
{
- rImport.LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(rImport);
String sTabName(String::CreateFromAscii("Table"));
pDoc->CreateValidTabName(sTabName);
rtl::OUString sOUTabName(sTabName);
xSheets->insertNewByName(sOUTabName, sal::static_int_cast<sal_Int16>(nCurrentSheet));
- rImport.UnlockSolarMutex();
}
}
}
@@ -246,12 +227,11 @@ void ScMyTables::NewSheet(const rtl::OUString& sTableName, const rtl::OUString&
ScDocument *pDoc = ScXMLConverter::GetScDocument(rImport.GetModel());
if (pDoc)
{
- rImport.LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(rImport);
String sTabName(String::CreateFromAscii("Table"));
pDoc->CreateValidTabName(sTabName);
rtl::OUString sOUTabName(sTabName);
xNamed->setName(sOUTabName);
- rImport.UnlockSolarMutex();
}
}
}
@@ -355,16 +335,21 @@ void ScMyTables::DoMerge(sal_Int32 nCount)
//merge
uno::Reference <table::XCellRange> xMergeCellRange;
if (nCount == -1)
- xMergeCellRange.set(xCurrentCellRange->getCellRangeByPosition(aCellAddress.StartColumn, aCellAddress.StartRow,
- aCellAddress.EndColumn
- + aTableVec[nTableCount - 1]->GetColsPerCol(aTableVec[nTableCount - 1]->GetColumn()) - 1,
- aCellAddress.EndRow
- + aTableVec[nTableCount - 1]->GetRowsPerRow(aTableVec[nTableCount - 1]->GetRow()) - 1));
+ {
+ const ScMyTableData& r = maTables.back();
+ xMergeCellRange.set(
+ xCurrentCellRange->getCellRangeByPosition(
+ aCellAddress.StartColumn, aCellAddress.StartRow,
+ aCellAddress.EndColumn + r.GetColsPerCol(r.GetColumn()) - 1,
+ aCellAddress.EndRow + r.GetRowsPerRow(r.GetRow()) - 1));
+ }
else
- xMergeCellRange.set(xCurrentCellRange->getCellRangeByPosition(aCellAddress.StartColumn, aCellAddress.StartRow,
- aCellAddress.StartColumn
- + nCount - 1,
- aCellAddress.EndRow));
+ xMergeCellRange.set(
+ xCurrentCellRange->getCellRangeByPosition(
+ aCellAddress.StartColumn, aCellAddress.StartRow,
+ aCellAddress.StartColumn + nCount - 1,
+ aCellAddress.EndRow));
+
uno::Reference <util::XMergeable> xMergeable (xMergeCellRange, uno::UNO_QUERY);
if (xMergeable.is())
xMergeable->merge(sal_True);
@@ -377,7 +362,8 @@ void ScMyTables::InsertRow()
{
table::CellRangeAddress aCellAddress;
sal_Int32 nRow(GetRealCellPos().Row);
- for (sal_Int32 j = 0; j < GetRealCellPos().Column - aTableVec[nTableCount - 1]->GetColumn() - 1; ++j)
+ const ScMyTableData& rTab = maTables.back();
+ for (sal_Int32 j = 0; j < GetRealCellPos().Column - rTab.GetColumn() - 1; ++j)
{
if (IsMerged(xCurrentCellRange, j, nRow - 1, aCellAddress))
{
@@ -401,34 +387,41 @@ void ScMyTables::InsertRow()
void ScMyTables::NewRow()
{
- if (nTableCount > 1)
- if (aTableVec[nTableCount - 1]->GetRealRows(aTableVec[nTableCount - 1]->GetRow()) >
- aTableVec[nTableCount - 2]->GetRowsPerRow(aTableVec[nTableCount - 2]->GetRow()) - 1)
+ size_t n = maTables.size();
+ if (n <= 1)
+ return;
+
+ if (maTables[n-1].GetRealRows(maTables[n-1].GetRow()) >
+ maTables[n-2].GetRowsPerRow(maTables[n-2].GetRow()) - 1)
+ {
+ if (GetRealCellPos().Column > 0)
+ InsertRow();
+
+ for (size_t i = n - 1; i > 0; --i)
{
- if (GetRealCellPos().Column > 0)
- InsertRow();
- for (sal_Int16 i = sal::static_int_cast<sal_Int16>(nTableCount - 1); i > 0; i--)
- {
- sal_Int32 nRow = aTableVec[i - 1]->GetRow();
- aTableVec[i - 1]->SetRowsPerRow(nRow,
- aTableVec[i - 1]->GetRowsPerRow(nRow) + 1);
- aTableVec[i - 1]->SetRealRows(nRow + 1,
- aTableVec[i - 1]->GetRealRows(nRow)
- + aTableVec[i - 1]->GetRowsPerRow(nRow));
- }
+ sal_Int32 nRow = maTables[i-1].GetRow();
+ maTables[i-1].SetRowsPerRow(
+ nRow,
+ maTables[i-1].GetRowsPerRow(nRow) + 1);
+
+ maTables[i-1].SetRealRows(
+ nRow + 1,
+ maTables[i-1].GetRealRows(nRow) + maTables[i-1].GetRowsPerRow(nRow));
}
+ }
}
void ScMyTables::AddRow()
{
- aTableVec[nTableCount - 1]->AddRow();
- aTableVec[nTableCount - 1]->SetFirstColumn();
- sal_Int32 nRow = aTableVec[nTableCount - 1]->GetRow();
+ ScMyTableData& rTab = maTables.back();
+ rTab.AddRow();
+ rTab.SetFirstColumn();
+ sal_Int32 nRow = rTab.GetRow();
if (nRow > 0)
NewRow();
- aTableVec[nTableCount - 1]->SetRealRows(nRow + 1,
- aTableVec[nTableCount - 1]->GetRealRows(nRow)
- + aTableVec[nTableCount - 1]->GetRowsPerRow(nRow));
+
+ rTab.SetRealRows(
+ nRow + 1, rTab.GetRealRows(nRow) + rTab.GetRowsPerRow(nRow));
}
void ScMyTables::SetRowStyle(const rtl::OUString& rCellStyleName)
@@ -442,7 +435,8 @@ void ScMyTables::InsertColumn()
{
table::CellRangeAddress aCellAddress;
sal_Int32 nCol(GetRealCellPos().Column);
- for (sal_Int32 j = 0; j <= GetRealCellPos().Row - aTableVec[nTableCount - 1]->GetRow() - 1; ++j)
+ sal_Int32 n = GetRealCellPos().Row - maTables.back().GetRow() - 1;
+ for (sal_Int32 j = 0; j <= n; ++j)
{
table::CellRangeAddress aTempCellAddress;
if (IsMerged(xCurrentCellRange, nCol - 1, j, aCellAddress))
@@ -481,49 +475,51 @@ void ScMyTables::InsertColumn()
void ScMyTables::NewColumn(sal_Bool bIsCovered)
{
- if (!bIsCovered)
+ if (bIsCovered)
+ return;
+
+ ScMyTableData& rLastTab = maTables.back();
+ sal_Int32 nColCount = rLastTab.GetColCount();
+ sal_Int32 nSpannedCols = rLastTab.GetSpannedCols();
+ if ( (nSpannedCols > nColCount) &&
+ (rLastTab.GetRow() == 0) &&
+ (rLastTab.GetColumn() == 0) )
{
- sal_Int32 nColCount(aTableVec[nTableCount - 1]->GetColCount());
- sal_Int32 nSpannedCols(aTableVec[nTableCount - 1]->GetSpannedCols());
- if ( (nSpannedCols > nColCount) &&
- (aTableVec[nTableCount - 1]->GetRow() == 0) &&
- (aTableVec[nTableCount - 1]->GetColumn() == 0) )
+ if (nColCount > 0)
{
- if (nColCount > 0)
+ sal_Int32 FirstColsSpanned(nSpannedCols / nColCount);
+ sal_Int32 LastColSpanned(FirstColsSpanned
+ + (nSpannedCols % nColCount));
+ for (sal_Int32 i = 0; i < nColCount - 1; ++i)
{
- sal_Int32 FirstColsSpanned(nSpannedCols / nColCount);
- sal_Int32 LastColSpanned(FirstColsSpanned
- + (nSpannedCols % nColCount));
- for (sal_Int32 i = 0; i < nColCount - 1; ++i)
- {
- aTableVec[nTableCount - 1]->SetColsPerCol(i, FirstColsSpanned);
- aTableVec[nTableCount - 1]->SetRealCols(i + 1,
- aTableVec[nTableCount - 1]->GetRealCols(i)
- + FirstColsSpanned);
- }
- aTableVec[nTableCount - 1]->SetColsPerCol(nColCount - 1, LastColSpanned);
- aTableVec[nTableCount - 1]->SetRealCols(nColCount - 1 + 1,
- aTableVec[nTableCount - 1]->GetRealCols(nColCount - 1)
- + LastColSpanned);
+ rLastTab.SetColsPerCol(i, FirstColsSpanned);
+ rLastTab.SetRealCols(i + 1, rLastTab.GetRealCols(i) + FirstColsSpanned);
}
+ rLastTab.SetColsPerCol(nColCount - 1, LastColSpanned);
+ rLastTab.SetRealCols(
+ nColCount, rLastTab.GetRealCols(nColCount - 1) + LastColSpanned);
}
- if (aTableVec[nTableCount - 1]->GetRealCols(aTableVec[nTableCount - 1]->GetColumn()) > nSpannedCols - 1)
+ }
+ if (rLastTab.GetRealCols(rLastTab.GetColumn()) > nSpannedCols - 1)
+ {
+ if (rLastTab.GetRow() == 0)
{
- if ( aTableVec[nTableCount - 1]->GetRow() == 0)
+ InsertColumn();
+ size_t n = maTables.size();
+ for (size_t i = n - 1; i > 0; --i)
{
- InsertColumn();
- for (sal_Int16 i = sal::static_int_cast<sal_Int16>(nTableCount - 1); i > 0; i--)
- {
- sal_Int32 nColPos = aTableVec[i - 1]->GetColumn() +
- aTableVec[i]->GetSpannedCols() - 1;
- aTableVec[i - 1]->SetColsPerCol(nColPos,
- aTableVec[i - 1]->GetColsPerCol(nColPos) +
- aTableVec[nTableCount - 1]->GetColsPerCol(aTableVec[nTableCount - 1]->GetColumn()));
- aTableVec[i - 1]->SetRealCols(nColPos + 1,
- aTableVec[i - 1]->GetRealCols(nColPos)
- + aTableVec[i - 1]->GetColsPerCol(nColPos));
- aTableVec[i - 1]->SetChangedCols(nColPos);
- }
+ sal_Int32 nColPos =
+ maTables[i-1].GetColumn() + maTables[i].GetSpannedCols() - 1;
+
+ maTables[i-1].SetColsPerCol(nColPos,
+ maTables[i-1].GetColsPerCol(nColPos) +
+ rLastTab.GetColsPerCol(rLastTab.GetColumn()));
+
+ maTables[i-1].SetRealCols(
+ nColPos + 1,
+ maTables[i-1].GetRealCols(nColPos) + maTables[i-1].GetColsPerCol(nColPos));
+
+ maTables[i-1].SetChangedCols(nColPos);
}
}
}
@@ -531,21 +527,21 @@ void ScMyTables::NewColumn(sal_Bool bIsCovered)
void ScMyTables::AddColumn(sal_Bool bIsCovered)
{
- aTableVec[nTableCount - 1]->AddColumn();
- if (aTableVec[nTableCount - 1]->GetSubTableSpanned() > 1)
- aTableVec[nTableCount - 1]->SetSubTableSpanned(aTableVec[nTableCount - 1]->GetSubTableSpanned() - 1);
+ ScMyTableData& rLastTab = maTables.back();
+ rLastTab.AddColumn();
+ if (rLastTab.GetSubTableSpanned() > 1)
+ rLastTab.SetSubTableSpanned(rLastTab.GetSubTableSpanned() - 1);
else
{
NewColumn(bIsCovered);
- // if (!bIsCovered)
- aTableVec[nTableCount - 1]->SetRealCols(aTableVec[nTableCount - 1]->GetColumn() + 1,
- aTableVec[nTableCount - 1]->GetRealCols(aTableVec[nTableCount - 1]->GetColumn())
- + aTableVec[nTableCount - 1]->GetColsPerCol(aTableVec[nTableCount - 1]->GetColumn()));
- if ((!bIsCovered) || (bIsCovered &&
- (aTableVec[nTableCount - 1]->GetColsPerCol(aTableVec[nTableCount - 1]->GetColumn()) > 1)))
+ sal_Int32 nCol = rLastTab.GetColumn();
+ sal_Int32 nRow = rLastTab.GetRow();
+ rLastTab.SetRealCols(
+ nCol + 1, rLastTab.GetRealCols(nCol) + rLastTab.GetColsPerCol(nCol));
+
+ if ((!bIsCovered) || (bIsCovered && (rLastTab.GetColsPerCol(nCol) > 1)))
{
- if ((aTableVec[nTableCount - 1]->GetRowsPerRow(aTableVec[nTableCount - 1]->GetRow()) > 1) ||
- (aTableVec[nTableCount - 1]->GetColsPerCol(aTableVec[nTableCount - 1]->GetColumn()) > 1))
+ if ((rLastTab.GetRowsPerRow(nRow) > 1) || (rLastTab.GetColsPerCol(nCol) > 1))
DoMerge();
}
}
@@ -553,38 +549,41 @@ void ScMyTables::AddColumn(sal_Bool bIsCovered)
void ScMyTables::NewTable(sal_Int32 nTempSpannedCols)
{
- ++nTableCount;
- if (static_cast<sal_uInt32>(nTableCount) >= aTableVec.size())
- aTableVec.resize(aTableVec.size() + nDefaultTabCount);
- ScMyTableData* aTable(new ScMyTableData(nCurrentSheet));
- if (nTableCount > 1)
+ maTables.push_back(new ScMyTableData(nCurrentSheet));
+
+ if (maTables.size() > 1)
{
- ScMyTableData* pTableData = aTableVec[nTableCount - 2];
- const sal_Int32 nCol(pTableData->GetColumn());
- const sal_Int32 nColCount(pTableData->GetColCount());
- const sal_Int32 nColsPerCol(pTableData->GetColsPerCol(nCol));
- sal_Int32 nSpannedCols(pTableData->GetSpannedCols());
- sal_Int32 nTemp(nSpannedCols - nColCount);
- sal_Int32 nTemp2(nCol - (nColCount - 1));
+ ScMyTableData& rFirstTab = maTables.front();
+
+ const sal_Int32 nCol = rFirstTab.GetColumn();
+ const sal_Int32 nColCount = rFirstTab.GetColCount();
+ const sal_Int32 nColsPerCol = rFirstTab.GetColsPerCol(nCol);
+
+ sal_Int32 nSpannedCols = rFirstTab.GetSpannedCols();
+ sal_Int32 nTemp = nSpannedCols - nColCount;
+ sal_Int32 nTemp2 = nCol - nColCount + 1;
if ((nTemp > 0) && (nTemp2 == 0))
- nTempSpannedCols *= (nTemp + 1);
+ nTempSpannedCols *= nTemp + 1;
else
if (nColsPerCol > 1)
nTempSpannedCols *= nColsPerCol;
sal_Int32 nToMerge;
if (nSpannedCols > nColCount)
- nToMerge = pTableData->GetChangedCols(nCol, nCol + nColsPerCol + nSpannedCols - nColCount);
+ nToMerge = rFirstTab.GetChangedCols(nCol, nCol + nColsPerCol + nSpannedCols - nColCount);
else
- nToMerge = pTableData->GetChangedCols(nCol, nCol + nColsPerCol);
+ nToMerge = rFirstTab.GetChangedCols(nCol, nCol + nColsPerCol);
if (nToMerge > nCol)
nTempSpannedCols += nToMerge;
}
- aTable->SetSpannedCols(nTempSpannedCols);
- aTableVec[nTableCount - 1] = aTable;
- if (nTableCount > 1)
+
+ ScMyTableData& rNewTab = maTables.back();
+ rNewTab.SetSpannedCols(nTempSpannedCols);
+
+ size_t n = maTables.size();
+ if (n > 1)
{
- aTableVec[nTableCount - 2]->SetSubTableSpanned(aTable->GetSpannedCols());
+ maTables[n-2].SetSubTableSpanned(rNewTab.GetSpannedCols());
UnMerge();
}
}
@@ -593,7 +592,8 @@ void ScMyTables::UpdateRowHeights()
{
if (rImport.GetModel().is())
{
- rImport.LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(rImport);
+
// update automatic row heights
// For sheets with any kind of shapes (including notes),
@@ -627,24 +627,18 @@ void ScMyTables::UpdateRowHeights()
pDoc->LockStreamValid( false );
}
}
-
- rImport.UnlockSolarMutex();
}
}
void ScMyTables::DeleteTable()
{
- rImport.LockSolarMutex();
+ ScXMLImport::MutexGuard aGuard(rImport);
nCurrentColStylePos = 0;
- if (nTableCount > 0)
- {
- ScMyTableData* aTable = aTableVec[nTableCount - 1];
- delete aTable;
- aTableVec[nTableCount - 1] = NULL;
- nTableCount--;
- }
- if (nTableCount == 0) // only set the styles if all subtables are importet and the table is finished
+ if (!maTables.empty())
+ maTables.pop_back();
+
+ if (maTables.empty()) // only set the styles if all subtables are importet and the table is finished
{
rImport.GetStylesImportHelper()->SetStylesToRanges();
rImport.SetStylesToRangesFinished();
@@ -676,8 +670,6 @@ void ScMyTables::DeleteTable()
rImport.GetDocument()->SetTabProtection(static_cast<SCTAB>(nCurrentSheet), pProtect.get());
}
- rImport.UnlockSolarMutex();
-
//#95582#; find out whether it was possible to set the sheet name
// test it here, because if it is a linked table the name is changed by importing
// the linking informations
@@ -704,14 +696,16 @@ void ScMyTables::DeleteTable()
table::CellAddress ScMyTables::GetRealCellPos()
{
- sal_Int32 nRow(0);
- sal_Int32 nCol(0);
- for (sal_Int32 i = 0; i < nTableCount; ++i)
+ sal_Int32 nRow = 0;
+ sal_Int32 nCol = 0;
+ size_t n = maTables.size();
+ for (size_t i = 0; i < n; ++i)
{
- ScMyTableData* pTableData = aTableVec[i];
- nCol += pTableData->GetRealCols(pTableData->GetColumn());
- nRow += pTableData->GetRealRows(pTableData->GetRow());
+ const ScMyTableData& rTab = maTables[i];
+ nCol += rTab.GetRealCols(rTab.GetColumn());
+ nRow += rTab.GetRealRows(rTab.GetRow());
}
+
aRealCellPos.Row = nRow;
aRealCellPos.Column = nCol;
aRealCellPos.Sheet = sal::static_int_cast<sal_Int16>(nCurrentSheet);
@@ -720,12 +714,13 @@ table::CellAddress ScMyTables::GetRealCellPos()
void ScMyTables::AddColCount(sal_Int32 nTempColCount)
{
- aTableVec[nTableCount - 1]->SetColCount(aTableVec[nTableCount - 1]->GetColCount() + nTempColCount);
+ ScMyTableData& rLastTab = maTables.back();
+ rLastTab.SetColCount(rLastTab.GetColCount() + nTempColCount);
}
void ScMyTables::AddColStyle(const sal_Int32 nRepeat, const rtl::OUString& rCellStyleName)
{
- DBG_ASSERT(nTableCount == 1, "not possible to use default styles on columns in subtables");
+ DBG_ASSERT(maTables.size() == 1, "not possible to use default styles on columns in subtables");
rImport.GetStylesImportHelper()->AddColumnStyle(rCellStyleName, nCurrentColStylePos, nRepeat);
nCurrentColStylePos += nRepeat;
}
@@ -766,12 +761,10 @@ sal_Bool ScMyTables::HasXShapes()
return !((nCurrentSheet != nCurrentXShapes) || !xShapes.is());
}
-void ScMyTables::AddShape(uno::Reference <drawing::XShape>& rShape,
- rtl::OUString* pRangeList,
- table::CellAddress& rStartAddress, table::CellAddress& rEndAddress,
- sal_Int32 nEndX, sal_Int32 nEndY)
+void ScMyTables::AddOLE(uno::Reference <drawing::XShape>& rShape,
+ const rtl::OUString &rRangeList)
{
- aResizeShapes.AddShape(rShape, pRangeList, rStartAddress, rEndAddress, nEndX, nEndY);
+ aFixupOLEs.AddOLE(rShape, rRangeList);
}
void ScMyTables::AddMatrixRange(
diff --git a/sc/source/filter/xml/xmlsubti.hxx b/sc/source/filter/xml/xmlsubti.hxx
index 6268a874d357..1091e6e242c2 100644
--- a/sc/source/filter/xml/xmlsubti.hxx
+++ b/sc/source/filter/xml/xmlsubti.hxx
@@ -37,12 +37,14 @@
#include <com/sun/star/table/CellRangeAddress.hpp>
#include <com/sun/star/frame/XModel.hpp>
-#include <vector>
-#include <list>
#include "XMLTableShapeResizer.hxx"
#include "formula/grammar.hxx"
#include "tabprotection.hxx"
+#include <vector>
+#include <list>
+#include <boost/ptr_container/ptr_vector.hpp>
+
class ScXMLImport;
typedef std::vector<sal_Int32> ScMysalIntVec;
@@ -127,21 +129,20 @@ private:
ScXMLImport& rImport;
- ScMyShapeResizer aResizeShapes;
+ ScMyOLEFixer aFixupOLEs;
::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet > xCurrentSheet;
::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > xCurrentCellRange;
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > xDrawPage;
::com::sun::star::uno::Reference < ::com::sun::star::drawing::XShapes > xShapes;
rtl::OUString sCurrentSheetName;
- std::vector<ScMyTableData*> aTableVec;
+ ::boost::ptr_vector<ScMyTableData> maTables;
ScXMLTabProtectionData maProtectionData;
ScMyMatrixRangeList aMatrixRangeList;
com::sun::star::table::CellAddress aRealCellPos;
sal_Int32 nCurrentColStylePos;
sal_Int16 nCurrentDrawPage;
sal_Int16 nCurrentXShapes;
- sal_Int32 nTableCount;
sal_Int32 nCurrentSheet;
sal_Bool IsMerged (const com::sun::star::uno::Reference <com::sun::star::table::XCellRange>& xCellRange,
@@ -163,7 +164,9 @@ public:
void AddColumn(sal_Bool bIsCovered);
void NewTable(sal_Int32 nTempSpannedCols);
void UpdateRowHeights();
- void ResizeShapes() { aResizeShapes.ResizeShapes(); }
+ void FixupOLEs() { aFixupOLEs.FixupOLEs(); }
+ sal_Bool IsOLE(com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& rShape) const
+ { return ScMyOLEFixer::IsOLE(rShape); }
void DeleteTable();
com::sun::star::table::CellAddress GetRealCellPos();
void AddColCount(sal_Int32 nTempColCount);
@@ -171,23 +174,20 @@ public:
ScXMLTabProtectionData& GetCurrentProtectionData() { return maProtectionData; }
rtl::OUString GetCurrentSheetName() const { return sCurrentSheetName; }
sal_Int32 GetCurrentSheet() const { return nCurrentSheet; }
- sal_Int32 GetCurrentColumn() const { return aTableVec[nTableCount - 1]->GetColCount(); }
- sal_Int32 GetCurrentRow() const { return aTableVec[nTableCount - 1]->GetRow(); }
+ sal_Int32 GetCurrentColumn() const { return maTables.back().GetColCount(); }
+ sal_Int32 GetCurrentRow() const { return maTables.back().GetRow(); }
::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet >
- GetCurrentXSheet() { return xCurrentSheet; }
+ GetCurrentXSheet() const { return xCurrentSheet; }
::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange >
- GetCurrentXCellRange() { return xCurrentCellRange; }
+ GetCurrentXCellRange() const { return xCurrentCellRange; }
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >
GetCurrentXDrawPage();
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >
GetCurrentXShapes();
sal_Bool HasDrawPage();
sal_Bool HasXShapes();
- void AddShape(com::sun::star::uno::Reference <com::sun::star::drawing::XShape>& rShape,
- rtl::OUString* pRangeList,
- com::sun::star::table::CellAddress& rStartAddress,
- com::sun::star::table::CellAddress& rEndAddress,
- sal_Int32 nEndX, sal_Int32 nEndY);
+ void AddOLE(com::sun::star::uno::Reference <com::sun::star::drawing::XShape>& rShape,
+ const rtl::OUString &rRangeList);
void AddMatrixRange( sal_Int32 nStartColumn,
sal_Int32 nStartRow,
diff --git a/sc/source/filter/xml/xmltabi.cxx b/sc/source/filter/xml/xmltabi.cxx
index 01e613b1ea74..a80093e5a0e0 100644
--- a/sc/source/filter/xml/xmltabi.cxx
+++ b/sc/source/filter/xml/xmltabi.cxx
@@ -65,6 +65,8 @@
using namespace com::sun::star;
using namespace xmloff::token;
using ::com::sun::star::uno::Reference;
+using ::com::sun::star::uno::Sequence;
+using ::com::sun::star::uno::UNO_QUERY;
using ::com::sun::star::xml::sax::XAttributeList;
using ::rtl::OUString;
@@ -356,80 +358,81 @@ SvXMLImportContext *ScXMLTableContext::CreateChildContext( USHORT nPrefix,
void ScXMLTableContext::EndElement()
{
- // get end offset in file (if available)
-// sal_Int32 nEndOffset = GetScImport().GetByteOffset();
-
- GetScImport().LockSolarMutex();
+ ScXMLImport::MutexGuard aMutexGuard(GetScImport());
GetScImport().GetStylesImportHelper()->EndTable();
ScDocument* pDoc(GetScImport().GetDocument());
- if (pDoc)
+ if (!pDoc)
+ return;
+
+ SCTAB nCurTab = static_cast<SCTAB>(GetScImport().GetTables().GetCurrentSheet());
+ if (sPrintRanges.getLength())
{
- if (sPrintRanges.getLength())
+ Reference< sheet::XPrintAreas > xPrintAreas(
+ GetScImport().GetTables().GetCurrentXSheet(), UNO_QUERY);
+
+ if( xPrintAreas.is() )
{
- uno::Reference< sheet::XPrintAreas > xPrintAreas( GetScImport().GetTables().GetCurrentXSheet(), uno::UNO_QUERY );
- if( xPrintAreas.is() )
- {
- uno::Sequence< table::CellRangeAddress > aRangeList;
- ScRangeStringConverter::GetRangeListFromString( aRangeList, sPrintRanges, pDoc, ::formula::FormulaGrammar::CONV_OOO );
- xPrintAreas->setPrintAreas( aRangeList );
- }
+ Sequence< table::CellRangeAddress > aRangeList;
+ ScRangeStringConverter::GetRangeListFromString( aRangeList, sPrintRanges, pDoc, ::formula::FormulaGrammar::CONV_OOO );
+ xPrintAreas->setPrintAreas( aRangeList );
}
- else if (bPrintEntireSheet) pDoc->SetPrintEntireSheet(static_cast<SCTAB>(GetScImport().GetTables().GetCurrentSheet()));
+ }
+ else if (!bPrintEntireSheet)
+ // Sheet has "print entire sheet" option by default. Remove it.
+ pDoc->ClearPrintRanges(nCurTab);
- ScOutlineTable* pOutlineTable(pDoc->GetOutlineTable(static_cast<SCTAB>(GetScImport().GetTables().GetCurrentSheet()), sal_False));
- if (pOutlineTable)
+ ScOutlineTable* pOutlineTable(pDoc->GetOutlineTable(nCurTab, sal_False));
+ if (pOutlineTable)
+ {
+ ScOutlineArray* pColArray(pOutlineTable->GetColArray());
+ sal_Int32 nDepth(pColArray->GetDepth());
+ sal_Int32 i;
+ for (i = 0; i < nDepth; ++i)
{
- ScOutlineArray* pColArray(pOutlineTable->GetColArray());
- sal_Int32 nDepth(pColArray->GetDepth());
- sal_Int32 i;
- for (i = 0; i < nDepth; ++i)
- {
- sal_Int32 nCount(pColArray->GetCount(static_cast<USHORT>(i)));
- for (sal_Int32 j = 0; j < nCount; ++j)
- {
- ScOutlineEntry* pEntry(pColArray->GetEntry(static_cast<USHORT>(i), static_cast<USHORT>(j)));
- if (pEntry->IsHidden())
- pColArray->SetVisibleBelow(static_cast<USHORT>(i), static_cast<USHORT>(j), sal_False);
- }
- }
- ScOutlineArray* pRowArray(pOutlineTable->GetRowArray());
- nDepth = pRowArray->GetDepth();
- for (i = 0; i < nDepth; ++i)
+ sal_Int32 nCount(pColArray->GetCount(static_cast<USHORT>(i)));
+ for (sal_Int32 j = 0; j < nCount; ++j)
{
- sal_Int32 nCount(pRowArray->GetCount(static_cast<USHORT>(i)));
- for (sal_Int32 j = 0; j < nCount; ++j)
- {
- ScOutlineEntry* pEntry(pRowArray->GetEntry(static_cast<USHORT>(i), static_cast<USHORT>(j)));
- if (pEntry->IsHidden())
- pRowArray->SetVisibleBelow(static_cast<USHORT>(i), static_cast<USHORT>(j), sal_False);
- }
+ ScOutlineEntry* pEntry(pColArray->GetEntry(static_cast<USHORT>(i), static_cast<USHORT>(j)));
+ if (pEntry->IsHidden())
+ pColArray->SetVisibleBelow(static_cast<USHORT>(i), static_cast<USHORT>(j), sal_False);
}
}
- if (GetScImport().GetTables().HasDrawPage())
+ ScOutlineArray* pRowArray(pOutlineTable->GetRowArray());
+ nDepth = pRowArray->GetDepth();
+ for (i = 0; i < nDepth; ++i)
{
- if (GetScImport().GetTables().HasXShapes())
+ sal_Int32 nCount(pRowArray->GetCount(static_cast<USHORT>(i)));
+ for (sal_Int32 j = 0; j < nCount; ++j)
{
- GetScImport().GetShapeImport()->popGroupAndSort();
- uno::Reference < drawing::XShapes > xTempShapes(GetScImport().GetTables().GetCurrentXShapes());
- GetScImport().GetShapeImport()->endPage(xTempShapes);
+ ScOutlineEntry* pEntry(pRowArray->GetEntry(static_cast<USHORT>(i), static_cast<USHORT>(j)));
+ if (pEntry->IsHidden())
+ pRowArray->SetVisibleBelow(static_cast<USHORT>(i), static_cast<USHORT>(j), sal_False);
}
- if (bStartFormPage)
- GetScImport().GetFormImport()->endPage();
}
-
- GetScImport().GetTables().DeleteTable();
- GetScImport().ProgressBarIncrement(sal_False);
-
- // store stream positions
- if (!pExternalRefInfo.get() && nStartOffset >= 0 /* && nEndOffset >= 0 */)
+ }
+ if (GetScImport().GetTables().HasDrawPage())
+ {
+ if (GetScImport().GetTables().HasXShapes())
{
- ScSheetSaveData* pSheetData = ScModelObj::getImplementation(GetScImport().GetModel())->GetSheetSaveData();
- sal_Int32 nTab = GetScImport().GetTables().GetCurrentSheet();
- // pSheetData->AddStreamPos( nTab, nStartOffset, nEndOffset );
- pSheetData->StartStreamPos( nTab, nStartOffset );
+ GetScImport().GetShapeImport()->popGroupAndSort();
+ uno::Reference < drawing::XShapes > xTempShapes(GetScImport().GetTables().GetCurrentXShapes());
+ GetScImport().GetShapeImport()->endPage(xTempShapes);
}
+ if (bStartFormPage)
+ GetScImport().GetFormImport()->endPage();
+ }
+
+ GetScImport().GetTables().DeleteTable();
+ GetScImport().ProgressBarIncrement(sal_False);
+
+ // store stream positions
+ if (!pExternalRefInfo.get() && nStartOffset >= 0 /* && nEndOffset >= 0 */)
+ {
+ ScSheetSaveData* pSheetData = ScModelObj::getImplementation(GetScImport().GetModel())->GetSheetSaveData();
+ sal_Int32 nTab = GetScImport().GetTables().GetCurrentSheet();
+ // pSheetData->AddStreamPos( nTab, nStartOffset, nEndOffset );
+ pSheetData->StartStreamPos( nTab, nStartOffset );
}
- GetScImport().UnlockSolarMutex();
}
// ============================================================================
diff --git a/sc/source/filter/xml/xmlwrap.cxx b/sc/source/filter/xml/xmlwrap.cxx
index e61cdb4927ef..6dc190374708 100644
--- a/sc/source/filter/xml/xmlwrap.cxx
+++ b/sc/source/filter/xml/xmlwrap.cxx
@@ -180,7 +180,7 @@ sal_uInt32 ScXMLImportWrapper::ImportFromComponent(uno::Reference<lang::XMultiSe
// get a pipe for connecting the data source to the parser
xPipe = xServiceFactory->createInstance(
- OUString::createFromAscii("com.sun.star.io.Pipe") );
+ OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.io.Pipe")) );
DBG_ASSERT( xPipe.is(),
"XMLReader::Read: com.sun.star.io.Pipe service missing" );
if( !xPipe.is() )
@@ -450,7 +450,7 @@ sal_Bool ScXMLImportWrapper::Import(sal_Bool bStylesOnly, ErrCode& nError)
aName = pDocHierarchItem->GetValue();
}
else
- aName = ::rtl::OUString::createFromAscii( "dummyObjectName" );
+ aName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "dummyObjectName" ));
if( aName.getLength() )
{
@@ -842,7 +842,7 @@ sal_Bool ScXMLImportWrapper::Export(sal_Bool bStylesOnly)
// TODO/LATER: do not do it for embedded links
if( SFX_CREATE_MODE_EMBEDDED == pObjSh->GetCreateMode() )
{
- OUString aName = ::rtl::OUString::createFromAscii( "dummyObjectName" );
+ OUString aName(RTL_CONSTASCII_USTRINGPARAM("dummyObjectName"));
if ( pMedium && pMedium->GetItemSet() )
{
const SfxStringItem* pDocHierarchItem = static_cast<const SfxStringItem*>(
@@ -994,5 +994,4 @@ sal_Bool ScXMLImportWrapper::Export(sal_Bool bStylesOnly)
}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/Accessibility/AccessibleContextBase.cxx b/sc/source/ui/Accessibility/AccessibleContextBase.cxx
index 621a55ae0c18..54e2b0e45834 100644
--- a/sc/source/ui/Accessibility/AccessibleContextBase.cxx
+++ b/sc/source/ui/Accessibility/AccessibleContextBase.cxx
@@ -336,7 +336,6 @@ sal_Int16 SAL_CALL
if (!msDescription.getLength())
{
OUString sDescription(createAccessibleDescription());
-// DBG_ASSERT(sDescription.getLength(), "We should give always a descripition.");
if (msDescription != sDescription)
{
diff --git a/sc/source/ui/Accessibility/AccessibleCsvControl.cxx b/sc/source/ui/Accessibility/AccessibleCsvControl.cxx
index c70aa3a5e56e..dd2e5028d588 100644
--- a/sc/source/ui/Accessibility/AccessibleCsvControl.cxx
+++ b/sc/source/ui/Accessibility/AccessibleCsvControl.cxx
@@ -489,13 +489,6 @@ Sequence< PropertyValue > SAL_CALL ScAccessibleCsvRuler::getCharacterAttributes(
ensureValidIndexWithEnd( nIndex );
Sequence< PropertyValue > aSeq;
lcl_FillFontAttributes( aSeq, implGetRuler().GetFont() );
-//! TODO split attribute: waiting for #102221#
-// if( implHasSplit( nIndex ) )
-// {
-// sal_Int32 nIndex = lcl_ExpandSequence( aSeq, 1 );
-// aSeq[ nIndex ].Name = CREATE_OUSTRING( "..." );
-// aSeq[ nIndex ].Value <<= ...;
-// }
return aSeq;
}
diff --git a/sc/source/ui/Accessibility/AccessibleDataPilotControl.cxx b/sc/source/ui/Accessibility/AccessibleDataPilotControl.cxx
index ea4865c91724..f4915eee443d 100644
--- a/sc/source/ui/Accessibility/AccessibleDataPilotControl.cxx
+++ b/sc/source/ui/Accessibility/AccessibleDataPilotControl.cxx
@@ -53,7 +53,7 @@ public:
ScAccessibleDataPilotButton(
const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible>& rxParent,
- ScDPFieldWindow* pDPFieldWindow,
+ ScDPFieldControlBase* pDPFieldWindow,
sal_Int32 nIndex);
virtual void Init();
@@ -146,14 +146,14 @@ protected:
throw (::com::sun::star::uno::RuntimeException);
private:
- ScDPFieldWindow* mpDPFieldWindow;
+ ScDPFieldControlBase* mpDPFieldWindow;
sal_Int32 mnIndex;
};
//===== internal ========================================================
ScAccessibleDataPilotControl::ScAccessibleDataPilotControl(
const uno::Reference<XAccessible>& rxParent,
- ScDPFieldWindow* pDPFieldWindow)
+ ScDPFieldControlBase* pDPFieldWindow)
:
ScAccessibleContextBase(rxParent, AccessibleRole::GROUP_BOX),
mpDPFieldWindow(pDPFieldWindow)
@@ -381,7 +381,7 @@ sal_Int32 SAL_CALL ScAccessibleDataPilotControl::getBackground( )
sal_Int32 nColor(0);
if (mpDPFieldWindow)
{
- if (mpDPFieldWindow->GetType() == TYPE_SELECT)
+ if (mpDPFieldWindow->GetFieldType() == TYPE_SELECT)
{
nColor = mpDPFieldWindow->GetSettings().GetStyleSettings().GetFaceColor().GetColor();
}
@@ -527,7 +527,7 @@ Rectangle ScAccessibleDataPilotControl::GetBoundingBox(void) const
ScAccessibleDataPilotButton::ScAccessibleDataPilotButton(
const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible>& rxParent,
- ScDPFieldWindow* pDPFieldWindow,
+ ScDPFieldControlBase* pDPFieldWindow,
sal_Int32 nIndex)
: ScAccessibleContextBase(rxParent, AccessibleRole::PUSH_BUTTON),
mpDPFieldWindow(pDPFieldWindow),
diff --git a/sc/source/ui/Accessibility/AccessibleDocument.cxx b/sc/source/ui/Accessibility/AccessibleDocument.cxx
index ae1d1b590350..eeb3180e14d7 100644
--- a/sc/source/ui/Accessibility/AccessibleDocument.cxx
+++ b/sc/source/ui/Accessibility/AccessibleDocument.cxx
@@ -41,6 +41,7 @@
#include "drawview.hxx"
#include "gridwin.hxx"
#include "AccessibleEditObject.hxx"
+#include "userdat.hxx"
#include "scresid.hxx"
#include "sc.hrc"
#include <com/sun/star/accessibility/AccessibleEventId.hpp>
@@ -82,7 +83,6 @@ struct ScAccessibleShapeData
~ScAccessibleShapeData();
mutable ::accessibility::AccessibleShape* pAccShape;
mutable ScAddress* pRelationCell; // if it is NULL this shape is anchored on the table
-// SdrObject* pShape;
com::sun::star::uno::Reference< com::sun::star::drawing::XShape > xShape;
mutable sal_Bool bSelected;
sal_Bool bSelectable;
@@ -978,35 +978,10 @@ ScAddress* ScChildrenShapes::GetAnchor(const uno::Reference<drawing::XShape>& xS
uno::Reference<beans::XPropertySet> xShapeProp(xShape, uno::UNO_QUERY);
if (pShapeImp && xShapeProp.is())
{
- SdrObject *pSdrObj = pShapeImp->GetSdrObject();
- if (pSdrObj)
+ if (SdrObject *pSdrObj = pShapeImp->GetSdrObject())
{
- if (ScDrawLayer::GetAnchor(pSdrObj) == SCA_CELL)
- {
- ScDocument* pDoc = mpViewShell->GetViewData()->GetDocument();
- if (pDoc)
- {
- rtl::OUString sCaptionShape(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.CaptionShape"));
- awt::Point aPoint(xShape->getPosition());
- awt::Size aSize(xShape->getSize());
- rtl::OUString sType(xShape->getShapeType());
- Rectangle aRectangle(aPoint.X, aPoint.Y, aPoint.X + aSize.Width, aPoint.Y + aSize.Height);
- if ( sType.equals(sCaptionShape) )
- {
- awt::Point aRelativeCaptionPoint;
- rtl::OUString sCaptionPoint( RTL_CONSTASCII_USTRINGPARAM( "CaptionPoint" ));
- xShapeProp->getPropertyValue( sCaptionPoint ) >>= aRelativeCaptionPoint;
- Point aCoreRelativeCaptionPoint(aRelativeCaptionPoint.X, aRelativeCaptionPoint.Y);
- Point aCoreAbsoluteCaptionPoint(aPoint.X, aPoint.Y);
- aCoreAbsoluteCaptionPoint += aCoreRelativeCaptionPoint;
- aRectangle.Union(Rectangle(aCoreAbsoluteCaptionPoint, aCoreAbsoluteCaptionPoint));
- }
- ScRange aRange = pDoc->GetRange(mpAccessibleDocument->getVisibleTable(), aRectangle);
- pAddress = new ScAddress(aRange.aStart);
- }
- }
-// else
-// do nothing, because it is always a NULL Pointer
+ if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjData(pSdrObj))
+ return new ScAddress(pAnchor->maStart);
}
}
}
diff --git a/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx b/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx
index f1ffe5dbd580..2cac097b8ce3 100644
--- a/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx
+++ b/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx
@@ -792,21 +792,6 @@ void ScShapeChilds::Notify(SfxBroadcaster&, const SfxHint& rHint)
{
}
break;
- // no longer necessary
-/* case HINT_OBJINSERTED : // Neues Zeichenobjekt eingefuegt
- {
- uno::Reference<drawing::XShape> xShape (pObj->getUnoShape(), uno::UNO_QUERY);
- if (xShape.is())
- AddShape(xShape, pObj->GetLayer());
- }
- break;
- case HINT_OBJREMOVED : // Zeichenobjekt aus Liste entfernt
- {
- uno::Reference<drawing::XShape> xShape (pObj->getUnoShape(), uno::UNO_QUERY);
- if (xShape.is())
- RemoveShape(xShape, pObj->GetLayer());
- }
- break;*/
default :
{
// other events are not interesting
@@ -1201,144 +1186,6 @@ void ScShapeChilds::FillShapes(const Rectangle& aPixelPaintRect, const MapMode&
}
}
-
-/*void ScShapeChilds::AddShape(const uno::Reference<drawing::XShape>& xShape, SdrLayerID aLayerID)
-{
- uno::Reference < XAccessible > xNew;
- Window* pWin = mpViewShell->GetWindow();
- if (pWin)
- {
- ScShapeRangeVec::iterator aEndItr = maShapeRanges.end();
- ScShapeRangeVec::iterator aItr = maShapeRanges.begin();
- sal_Bool bNotify(sal_False);
- uno::Reference <XAccessible> xAcc;
- while (aItr != aEndItr)
- {
- Rectangle aLogicPaintRect(pWin->PixelToLogic(aItr->maPixelRect, aItr->maMapMode));
- Rectangle aRect(VCLPoint(xShape->getPosition()), VCLSize(xShape->getSize()));
- if(!aRect.GetIntersection(aLogicPaintRect).IsEmpty())
- {
- ScShapeChild aShape;
- aShape.mxShape = xShape;
- switch (aLayerID)
- {
- case SC_LAYER_INTERN:
- case SC_LAYER_FRONT:
- {
- SetAnchor(aShape);
- aItr->maForeShapes.push_back(aShape);
- std::sort(aItr->maForeShapes.begin(), aItr->maForeShapes.end(),ScShapeChildLess());
-
- }
- break;
- case SC_LAYER_BACK:
- {
- aItr->maBackShapes.push_back(aShape);
- std::sort(aItr->maBackShapes.begin(), aItr->maBackShapes.end(),ScShapeChildLess());
- }
- break;
- case SC_LAYER_CONTROLS:
- {
- SetAnchor(aShape);
- aItr->maControls.push_back(aShape);
- std::sort(aItr->maControls.begin(), aItr->maControls.end(),ScShapeChildLess());
- }
- break;
- default:
- {
- DBG_ERRORFILE("I don't know this layer.");
- }
- break;
- }
- if (bNotify)
- {
- xAcc = GetAccShape(aShape);
- AccessibleEventObject aEvent;
- aEvent.Source = uno::Reference<XAccessibleContext> (mpAccDoc);
- aEvent.EventId = AccessibleEventId::CHILD;
- aEvent.NewValue <<= xAcc;
- mpAccDoc->CommitChange(aEvent);
- bNotify = sal_False;
- }
- xAcc = NULL;
- }
- ++aItr;
- }
- }
-}*/
-
-/*sal_Bool HaveToNotify(uno::Reference<XAccessible>& xAcc, ScShapeChildVec::iterator aItr)
-{
- sal_Bool bResult(sal_False);
- if (aItr->mpAccShape)
- {
- bResult = sal_True;
- xAcc = aItr->mpAccShape;
- }
- else
- DBG_ERRORFILE("No Accessible object found. Don't know how to notify.");
- return bResult;
-}*/
-
-/*void ScShapeChilds::RemoveShape(const uno::Reference<drawing::XShape>& xShape, SdrLayerID aLayerID)
-{
- ScShapeRangeVec::iterator aEndItr = maShapeRanges.end();
- ScShapeRangeVec::iterator aItr = maShapeRanges.begin();
- ScShapeChildVec::iterator aEraseItr;
- sal_Bool bNotify(sal_False);
- uno::Reference <XAccessible> xAcc;
- while (aItr != aEndItr)
- {
- switch (aLayerID)
- {
- case SC_LAYER_INTERN:
- case SC_LAYER_FRONT:
- {
- if (FindShape(aItr->maForeShapes, xShape, aEraseItr))
- {
- bNotify = HaveToNotify(xAcc, aEraseItr);
- aItr->maForeShapes.erase(aEraseItr);
- }
- }
- break;
- case SC_LAYER_BACK:
- {
- if (FindShape(aItr->maBackShapes, xShape, aEraseItr))
- {
- bNotify = HaveToNotify(xAcc, aEraseItr);
- aItr->maBackShapes.erase(aEraseItr);
- }
- }
- break;
- case SC_LAYER_CONTROLS:
- {
- if (FindShape(aItr->maControls, xShape, aEraseItr))
- {
- bNotify = HaveToNotify(xAcc, aEraseItr);
- aItr->maControls.erase(aEraseItr);
- }
- }
- break;
- default:
- {
- DBG_ERRORFILE("I don't know this layer.");
- }
- break;
- }
- if (bNotify)
- {
- AccessibleEventObject aEvent;
- aEvent.Source = uno::Reference<XAccessibleContext> (mpAccDoc);
- aEvent.EventId = AccessibleEventId::CHILD;
- aEvent.OldValue <<= xAcc;
- mpAccDoc->CommitChange(aEvent);
- bNotify = sal_False;
- }
- xAcc = NULL;
- ++aItr;
- }
-}*/
-
SdrPage* ScShapeChilds::GetDrawPage() const
{
SCTAB nTab( mpViewShell->GetLocationData().GetPrintTab() );
@@ -1431,8 +1278,6 @@ ScAccessibleDocumentPagePreview::ScAccessibleDocumentPagePreview(
if (pViewShell)
pViewShell->AddAccessibilityObject(*this);
-// GetNotesChilds(); not neccessary and reduces the creation performance
-// GetShapeChilds();
}
ScAccessibleDocumentPagePreview::~ScAccessibleDocumentPagePreview(void)
@@ -1592,19 +1437,6 @@ uno::Reference< XAccessible > SAL_CALL ScAccessibleDocumentPagePreview::getAcces
const ScPreviewLocationData& rData = mpViewShell->GetLocationData();
ScPagePreviewCountData aCount( rData, mpViewShell->GetWindow(), GetNotesChilds(), GetShapeChilds() );
-/* if ( rData.HasCellsInRange( Rectangle( rPoint, rPoint ) ) )
- {
- if ( !mpTable && (aCount.nTables > 0) )
- {
- //! order is background shapes, header, table or notes, footer, foreground shapes, controls
- sal_Int32 nIndex (aCount.nBackShapes + aCount.nHeaders);
-
- mpTable = new ScAccessiblePreviewTable( this, mpViewShell, nIndex );
- mpTable->acquire();
- mpTable->Init();
- }
- xAccessible = mpTable;
- }*/
if ( !mpTable && (aCount.nTables > 0) )
{
//! order is background shapes, header, table or notes, footer, foreground shapes, controls
diff --git a/sc/source/ui/Accessibility/AccessibleFilterMenu.cxx b/sc/source/ui/Accessibility/AccessibleFilterMenu.cxx
index b4948460be42..ce7e7d4de919 100644
--- a/sc/source/ui/Accessibility/AccessibleFilterMenu.cxx
+++ b/sc/source/ui/Accessibility/AccessibleFilterMenu.cxx
@@ -173,7 +173,7 @@ Reference<XAccessibleStateSet> ScAccessibleFilterMenu::getAccessibleStateSet()
OUString ScAccessibleFilterMenu::getImplementationName()
throw (RuntimeException)
{
- return OUString::createFromAscii("ScAccessibleFilterMenu");
+ return OUString(RTL_CONSTASCII_USTRINGPARAM("ScAccessibleFilterMenu"));
}
// XAccessibleEventBroadcaster
diff --git a/sc/source/ui/Accessibility/AccessibleFilterMenuItem.cxx b/sc/source/ui/Accessibility/AccessibleFilterMenuItem.cxx
index 1c70ee6ba5c5..bff9ad5bd88e 100644
--- a/sc/source/ui/Accessibility/AccessibleFilterMenuItem.cxx
+++ b/sc/source/ui/Accessibility/AccessibleFilterMenuItem.cxx
@@ -90,7 +90,7 @@ Reference<XAccessibleStateSet> ScAccessibleFilterMenuItem::getAccessibleStateSet
OUString ScAccessibleFilterMenuItem::getImplementationName()
throw (RuntimeException)
{
- return OUString::createFromAscii("ScAccessibleFilterMenuItem");
+ return OUString(RTL_CONSTASCII_USTRINGPARAM("ScAccessibleFilterMenuItem"));
}
// XAccessibleAction
@@ -110,7 +110,7 @@ sal_Bool ScAccessibleFilterMenuItem::doAccessibleAction(sal_Int32 /*nIndex*/)
OUString ScAccessibleFilterMenuItem::getAccessibleActionDescription(sal_Int32 /*nIndex*/)
throw (IndexOutOfBoundsException, RuntimeException)
{
- return OUString::createFromAscii("click");
+ return OUString(RTL_CONSTASCII_USTRINGPARAM("click"));
}
Reference<XAccessibleKeyBinding> ScAccessibleFilterMenuItem::getAccessibleActionKeyBinding(
diff --git a/sc/source/ui/Accessibility/AccessibleFilterTopWindow.cxx b/sc/source/ui/Accessibility/AccessibleFilterTopWindow.cxx
index fb649eba5f4f..4e28e8bbb7cf 100644
--- a/sc/source/ui/Accessibility/AccessibleFilterTopWindow.cxx
+++ b/sc/source/ui/Accessibility/AccessibleFilterTopWindow.cxx
@@ -97,7 +97,7 @@ Reference<XAccessible> ScAccessibleFilterTopWindow::getAccessibleChild(
OUString ScAccessibleFilterTopWindow::getImplementationName() throw (RuntimeException)
{
- return OUString::createFromAscii("ScAccessibleFilterTopWindow");
+ return OUString(RTL_CONSTASCII_USTRINGPARAM("ScAccessibleFilterTopWindow"));
}
void ScAccessibleFilterTopWindow::setAccessibleChild(
diff --git a/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx b/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx
index fd98a67dbd7e..342c7f68d91f 100644
--- a/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx
+++ b/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx
@@ -172,31 +172,6 @@ sal_Int32 SAL_CALL ScAccessiblePreviewTable::getAccessibleColumnCount() throw (u
rtl::OUString SAL_CALL ScAccessiblePreviewTable::getAccessibleRowDescription( sal_Int32 nRow )
throw (lang::IndexOutOfBoundsException, uno::RuntimeException)
{
- // is not supported or specified so not implemented
-/* SolarMutexGuard aGuard;
- IsObjectValid();
-
- FillTableInfo();
-
- rtl::OUString sName;
- if ( mpTableInfo && nRow >= 0 && nRow < mpTableInfo->GetRows() )
- {
- const ScPreviewColRowInfo& rInfo = mpTableInfo->GetRowInfo()[nRow];
- if ( rInfo.bIsHeader )
- {
- //! name of column headers row?
-
- sName = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Column Headers"));
- }
- else
- {
- // normal row name
- sName = rtl::OUString::valueOf( (sal_Int32) ( rInfo.nDocIndex + 1 ) );
- }
- }
- else
- throw lang::IndexOutOfBoundsException();*/
-
SolarMutexGuard aGuard;
FillTableInfo();
if ( nRow < 0 || (mpTableInfo && nRow >= mpTableInfo->GetRows()) )
@@ -208,31 +183,6 @@ rtl::OUString SAL_CALL ScAccessiblePreviewTable::getAccessibleRowDescription( sa
rtl::OUString SAL_CALL ScAccessiblePreviewTable::getAccessibleColumnDescription( sal_Int32 nColumn )
throw (lang::IndexOutOfBoundsException, uno::RuntimeException)
{
- // is not supported or specified so not implemented
-/* SolarMutexGuard aGuard;
- IsObjectValid();
-
- FillTableInfo();
-
- rtl::OUString sName;
- if ( mpTableInfo && nColumn >= 0 && nColumn < mpTableInfo->GetCols() )
- {
- const ScPreviewColRowInfo& rInfo = mpTableInfo->GetColInfo()[nColumn];
- if ( rInfo.bIsHeader )
- {
- //! name of row headers column?
-
- sName = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Row Headers"));
- }
- else
- {
- // normal column name
- sName = ScColToAlpha( rInfo.nDocIndex );
- }
- }
- else
- throw lang::IndexOutOfBoundsException();*/
-
SolarMutexGuard aGuard;
FillTableInfo();
if ( nColumn < 0 || (mpTableInfo && nColumn >= mpTableInfo->GetCols()) )
@@ -670,18 +620,6 @@ uno::Sequence<sal_Int8> SAL_CALL ScAccessiblePreviewTable::getImplementationId()
throw (uno::RuntimeException)
{
String sDesc(ScResId(STR_ACC_TABLE_DESCR));
-/* if (mpViewShell && mpViewShell->GetDocument())
- {
- FillTableInfo();
-
- if ( mpTableInfo )
- {
- String sCoreName;
- if (mpViewShell->GetDocument()->GetName( mpTableInfo->GetTab(), sCoreName ))
- sDesc.SearchAndReplaceAscii("%1", sCoreName);
- }
- }
- sDesc.SearchAndReplaceAscii("%2", String(ScResId(SCSTR_UNKNOWN)));*/
return rtl::OUString(sDesc);
}
diff --git a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
index 5d18beb574b4..8fc350f439bb 100644
--- a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
+++ b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
@@ -270,14 +270,6 @@ void ScAccessibleSpreadsheet::Notify( SfxBroadcaster& rBC, const SfxHint& rHint
else
mbDelIns = sal_False;
}
- // no longer needed, because the document calls the VisAreaChanged method
-/* else if (rRef.GetId() == SC_HINT_ACC_VISAREACHANGED)
- {
- AccessibleEventObject aEvent;
- aEvent.EventId = AccessibleEventId::VISIBLE_DATA_CHANGED;
- aEvent.Source = uno::Reference< XAccessibleContext >(this);
-
- CommitChange(aEvent);*/
// commented out, because to use a ModelChangeEvent is not the right way
// at the moment there is no way, but the Java/Gnome Api should be extended sometime
/* if (mpViewShell)
@@ -296,15 +288,6 @@ void ScAccessibleSpreadsheet::Notify( SfxBroadcaster& rBC, const SfxHint& rHint
CommitTableModelChange(aNewPos.Top(), aNewPos.Left(), aNewPos.Bottom(), aNewPos.Right(), AccessibleTableModelChangeType::UPDATE);
}
}*/
- // no longer needed, because the document calls the BoundingBoxChanged method
-/* else if (rRef.GetId() == SC_HINT_ACC_WINDOWRESIZED)
- {
- AccessibleEventObject aEvent;
- aEvent.EventId = AccessibleEventId::BOUNDRECT_CHANGED;
- aEvent.Source = uno::Reference< XAccessibleContext >(this);
-
- CommitChange(aEvent);
- }*/
}
else if (rHint.ISA( ScUpdateRefHint ))
{
@@ -781,9 +764,9 @@ void ScAccessibleSpreadsheet::CreateSortedMarkedCells()
{
mpSortedMarkedCells = new std::vector<ScMyAddress>();
mpSortedMarkedCells->reserve(mpMarkedRanges->GetCellCount());
- ScRange* pRange = mpMarkedRanges->First();
- while (pRange)
+ for ( size_t i = 0, ListSize = mpMarkedRanges->size(); i < ListSize; ++i )
{
+ ScRange* pRange = (*mpMarkedRanges)[i];
if (pRange->aStart.Tab() != pRange->aEnd.Tab())
{
if ((maActiveCell.Tab() >= pRange->aStart.Tab()) ||
@@ -805,7 +788,6 @@ void ScAccessibleSpreadsheet::CreateSortedMarkedCells()
{
DBG_ERROR("Range of wrong table");
}
- pRange = mpMarkedRanges->Next();
}
std::sort(mpSortedMarkedCells->begin(), mpSortedMarkedCells->end());
}
diff --git a/sc/source/ui/Accessibility/AccessibleTableBase.cxx b/sc/source/ui/Accessibility/AccessibleTableBase.cxx
index e998fd7fd4fa..8118043a6415 100644
--- a/sc/source/ui/Accessibility/AccessibleTableBase.cxx
+++ b/sc/source/ui/Accessibility/AccessibleTableBase.cxx
@@ -355,10 +355,6 @@ uno::Reference< XAccessible > SAL_CALL
throw (uno::RuntimeException)
{
String sDesc(ScResId(STR_ACC_TABLE_DESCR));
-/* String sCoreName;
- if (mpDoc && mpDoc->GetName( maRange.aStart.Tab(), sCoreName ))
- sDesc.SearchAndReplaceAscii("%1", sCoreName);
- sDesc.SearchAndReplaceAscii("%2", String(ScResId(SCSTR_UNKNOWN)));*/
return rtl::OUString(sDesc);
}
@@ -402,8 +398,7 @@ sal_Bool SAL_CALL
ScAccessibleTableBase::isAccessibleChildSelected( sal_Int32 nChildIndex )
throw (lang::IndexOutOfBoundsException, uno::RuntimeException)
{
- // I don't need to guard, because the called funtions have a guard
-// SolarMutexGuard aGuard;
+ // I don't need to guard, because the called functions have a guard
if (nChildIndex < 0 || nChildIndex >= getAccessibleChildCount())
throw lang::IndexOutOfBoundsException();
return isAccessibleSelected(getAccessibleRow(nChildIndex), getAccessibleColumn(nChildIndex));
diff --git a/sc/source/ui/Accessibility/AccessibleText.cxx b/sc/source/ui/Accessibility/AccessibleText.cxx
index a4c470093398..c1ddd833af9c 100644
--- a/sc/source/ui/Accessibility/AccessibleText.cxx
+++ b/sc/source/ui/Accessibility/AccessibleText.cxx
@@ -804,47 +804,7 @@ void ScAccessibleCellTextData::GetCellText(const ScAddress& rCellPos, String& rT
SvxTextForwarder* ScAccessibleCellTextData::GetTextForwarder()
{
-/* sal_Bool bHasForwarder(sal_False);
- if (mpViewShell && mpViewShell->GetViewData() &&
- (mpViewShell->GetViewData()->GetCurPos() == aCellPos) &&
- (mpViewShell->GetViewData()->HasEditView(meSplitPos)) &&
- (mpViewShell->GetViewData()->GetEditViewCol() == aCellPos.Col()) &&
- (mpViewShell->GetViewData()->GetEditViewRow() == aCellPos.Row()))
- {
- if (!mbViewEditEngine)
- {
- if (pForwarder)
- DELETEZ( pForwarder );
- if (pEditEngine)
- DELETEZ( pEditEngine );
-
- SCCOL nCol;
- SCROW nRow;
- EditView* pEditView;
- mpViewShell->GetViewData()->GetEditView( meSplitPos, pEditView, nCol, nRow );
- if (pEditView)
- {
- pEditEngine = (ScFieldEditEngine*)pEditView->GetEditEngine();
- pForwarder = new SvxEditEngineForwarder(*pEditEngine);
- bHasForwarder = sal_True;
- }
- }
- else
- bHasForwarder = sal_True;
- }
- else if (mbViewEditEngine)
- {
- // remove Forwarder created with EditEngine from EditView
- if (pForwarder)
- DELETEZ( pForwarder );
- pEditEngine->SetNotifyHdl(Link());
- // don't delete, because it is the EditEngine of the EditView
- pEditEngine = NULL;
- mbViewEditEngine = sal_False;
- }
-
- if (!bHasForwarder)*/
- ScCellTextData::GetTextForwarder(); // creates Forwarder and EditEngine
+ ScCellTextData::GetTextForwarder(); // creates Forwarder and EditEngine
ScDocument* pDoc = ( pDocShell ? pDocShell->GetDocument() : NULL );
if ( pDoc && pEditEngine && mpViewShell )
@@ -1109,9 +1069,8 @@ SvxViewForwarder* ScAccessibleEditObjectTextData::GetViewForwarder()
{
if (!mpViewForwarder)
{
- // --> OD 2005-12-21 #i49561#
+ // i#49561 Get right-aligned cell content to be read by screenreader.
mpViewForwarder = new ScEditObjectViewForwarder( mpWindow, mpEditView );
- // <--
}
return mpViewForwarder;
}
@@ -1255,8 +1214,6 @@ SvxEditViewForwarder* ScAccessibleEditLineTextData::GetEditViewForwarder( sal_Bo
{
pTxtWnd->StartEditEngine();
pTxtWnd->GrabFocus();
-// pTxtWnd->SetTextString( rText );
-// pTxtWnd->GetEditView()->SetSelection( rSel );
mpEditView = pTxtWnd->GetEditView();
}
diff --git a/sc/source/ui/Accessibility/makefile.mk b/sc/source/ui/Accessibility/makefile.mk
index f041ca095bdd..49f3fb1fb39c 100644
--- a/sc/source/ui/Accessibility/makefile.mk
+++ b/sc/source/ui/Accessibility/makefile.mk
@@ -37,53 +37,33 @@ TARGET=accessibility
# --- Files --------------------------------------------------------
-SLOFILES = \
+SLOFILES = \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES= \
+ $(SLO)$/AccessibleCell.obj \
+ $(SLO)$/AccessibleCellBase.obj \
$(SLO)$/AccessibleContextBase.obj \
- $(SLO)$/AccessibleTableBase.obj \
+ $(SLO)$/AccessibleCsvControl.obj \
+ $(SLO)$/AccessibleDataPilotControl.obj \
$(SLO)$/AccessibleDocument.obj \
- $(SLO)$/AccessibleGlobal.obj \
- $(SLO)$/AccessibleSpreadsheet.obj \
- $(SLO)$/AccessibleCell.obj \
- $(SLO)$/AccessibilityHints.obj \
$(SLO)$/AccessibleDocumentBase.obj \
- $(SLO)$/AccessibleCellBase.obj \
- $(SLO)$/AccessibleDocumentPagePreview.obj \
- $(SLO)$/AccessibleFilterMenu.obj \
- $(SLO)$/AccessibleFilterMenuItem.obj \
- $(SLO)$/AccessibleFilterTopWindow.obj \
- $(SLO)$/AccessiblePreviewTable.obj \
- $(SLO)$/AccessiblePreviewCell.obj \
- $(SLO)$/AccessiblePreviewHeaderCell.obj \
- $(SLO)$/AccessiblePageHeader.obj \
- $(SLO)$/AccessibleText.obj \
- $(SLO)$/AccessiblePageHeaderArea.obj \
- $(SLO)$/DrawModelBroadcaster.obj \
+ $(SLO)$/AccessibleDocumentPagePreview.obj \
$(SLO)$/AccessibleEditObject.obj \
- $(SLO)$/AccessibleDataPilotControl.obj \
- $(SLO)$/AccessibleCsvControl.obj
-
-EXCEPTIONSFILES= \
- $(SLO)$/AccessibleContextBase.obj \
- $(SLO)$/AccessibleTableBase.obj \
- $(SLO)$/AccessibleDocument.obj \
+ $(SLO)$/AccessibleFilterMenu.obj \
+ $(SLO)$/AccessibleFilterMenuItem.obj \
+ $(SLO)$/AccessibleFilterTopWindow.obj \
$(SLO)$/AccessibleGlobal.obj \
- $(SLO)$/AccessibleSpreadsheet.obj \
- $(SLO)$/AccessibleCell.obj \
- $(SLO)$/AccessibleDocumentBase.obj \
- $(SLO)$/AccessibleCellBase.obj \
- $(SLO)$/AccessibleDocumentPagePreview.obj \
- $(SLO)$/AccessibleFilterMenu.obj \
- $(SLO)$/AccessibleFilterMenuItem.obj \
- $(SLO)$/AccessibleFilterTopWindow.obj \
- $(SLO)$/AccessiblePreviewTable.obj \
- $(SLO)$/AccessiblePreviewCell.obj \
- $(SLO)$/AccessiblePreviewHeaderCell.obj \
+ $(SLO)$/AccessibilityHints.obj \
$(SLO)$/AccessiblePageHeader.obj \
- $(SLO)$/AccessiblePageHeaderArea.obj \
+ $(SLO)$/AccessiblePageHeaderArea.obj \
+ $(SLO)$/AccessiblePreviewCell.obj \
+ $(SLO)$/AccessiblePreviewHeaderCell.obj \
+ $(SLO)$/AccessiblePreviewTable.obj \
+ $(SLO)$/AccessibleSpreadsheet.obj \
+ $(SLO)$/AccessibleTableBase.obj \
+ $(SLO)$/AccessibleText.obj \
$(SLO)$/DrawModelBroadcaster.obj \
- $(SLO)$/AccessibleEditObject.obj \
- $(SLO)$/AccessibleDataPilotControl.obj \
- $(SLO)$/AccessibleCsvControl.obj
# --- Tagets -------------------------------------------------------
diff --git a/sc/source/ui/app/client.cxx b/sc/source/ui/app/client.cxx
index 1553f37cc05c..c2557feb501f 100644
--- a/sc/source/ui/app/client.cxx
+++ b/sc/source/ui/app/client.cxx
@@ -64,7 +64,7 @@ ScClient::ScClient( ScTabViewShell* pViewShell, Window* pDraw, SdrModel* pSdrMod
SetObject( pObj->GetObjRef() );
}
-__EXPORT ScClient::~ScClient()
+ScClient::~ScClient()
{
}
@@ -94,7 +94,7 @@ SdrOle2Obj* ScClient::GetDrawObj()
return pOle2Obj;
}
-void __EXPORT ScClient::RequestNewObjectArea( Rectangle& aLogicRect )
+void ScClient::RequestNewObjectArea( Rectangle& aLogicRect )
{
SfxViewShell* pSfxViewSh = GetViewShell();
ScTabViewShell* pViewSh = PTR_CAST( ScTabViewShell, pSfxViewSh );
@@ -156,7 +156,7 @@ void __EXPORT ScClient::RequestNewObjectArea( Rectangle& aLogicRect )
}
}
-void __EXPORT ScClient::ObjectAreaChanged()
+void ScClient::ObjectAreaChanged()
{
SfxViewShell* pSfxViewSh = GetViewShell();
ScTabViewShell* pViewSh = PTR_CAST( ScTabViewShell, pSfxViewSh );
@@ -184,7 +184,7 @@ void __EXPORT ScClient::ObjectAreaChanged()
pViewSh->ScrollToObject( pDrawObj );
}
-void __EXPORT ScClient::ViewChanged()
+void ScClient::ViewChanged()
{
if ( GetAspect() == embed::Aspects::MSOLE_ICON )
{
@@ -243,7 +243,7 @@ void __EXPORT ScClient::ViewChanged()
}
}
-void __EXPORT ScClient::MakeVisible()
+void ScClient::MakeVisible()
{
SdrOle2Obj* pDrawObj = GetDrawObj();
if (pDrawObj)
diff --git a/sc/source/ui/app/drwtrans.cxx b/sc/source/ui/app/drwtrans.cxx
index cba682688f1f..0726f2c2faec 100644
--- a/sc/source/ui/app/drwtrans.cxx
+++ b/sc/source/ui/app/drwtrans.cxx
@@ -160,9 +160,9 @@ ScDrawTransferObj::ScDrawTransferObj( SdrModel* pClipModel, ScDocShell* pContain
uno::Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY );
uno::Reference< beans::XPropertySetInfo > xInfo = xPropSet->getPropertySetInfo();
- rtl::OUString sPropButtonType = rtl::OUString::createFromAscii( "ButtonType" );
- rtl::OUString sPropTargetURL = rtl::OUString::createFromAscii( "TargetURL" );
- rtl::OUString sPropLabel = rtl::OUString::createFromAscii( "Label" );
+ rtl::OUString sPropButtonType(RTL_CONSTASCII_USTRINGPARAM( "ButtonType" ));
+ rtl::OUString sPropTargetURL(RTL_CONSTASCII_USTRINGPARAM( "TargetURL" ));
+ rtl::OUString sPropLabel(RTL_CONSTASCII_USTRINGPARAM( "Label" ));
if(xInfo->hasPropertyByName( sPropButtonType ))
{
@@ -268,7 +268,6 @@ ScDrawTransferObj::~ScDrawTransferObj()
delete pDragSourceView;
}
-// static
ScDrawTransferObj* ScDrawTransferObj::GetOwnClipboard( Window* )
{
ScDrawTransferObj* pObj = SC_MOD()->GetClipData().pDrawClipboard;
@@ -540,7 +539,7 @@ sal_Bool ScDrawTransferObj::WriteObject( SotStorageStreamRef& rxOStm, void* pUse
try
{
uno::Sequence < beans::PropertyValue > aSeq;
- ::rtl::OUString aDummyName = ::rtl::OUString::createFromAscii("Dummy");
+ ::rtl::OUString aDummyName(RTL_CONSTASCII_USTRINGPARAM("Dummy"));
xPers->storeToEntry( xWorkStore, aDummyName, aSeq, aSeq );
if ( xWorkStore->isStreamElement( aDummyName ) )
{
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 697f573cf630..9622b5ef9e47 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -106,7 +106,7 @@ BOOL ScInputHandler::bAutoComplete = FALSE; // wird in KeyInput gesetzt
// only characters that are allowed in formulas next to references
// and the quotation mark (so string constants can be skipped)
-static const sal_Char __FAR_DATA pMinDelimiters[] = " !\"";
+static const sal_Char pMinDelimiters[] = " !\"";
extern USHORT nEditAdjust; //! Member an ViewData
@@ -472,7 +472,7 @@ ScInputHandler::ScInputHandler()
// Bindings (nur noch fuer Invalidate benutzt) werden bei Bedarf aktuell geholt
}
-__EXPORT ScInputHandler::~ScInputHandler()
+ScInputHandler::~ScInputHandler()
{
// Wenn dies der Applikations-InputHandler ist, wird der dtor erst nach SfxApplication::Main
// gerufen, darf sich also auf keine Sfx-Funktionen mehr verlassen
@@ -684,7 +684,7 @@ void ScInputHandler::GetFormulaData()
if ( pDesc->pFuncName )
{
pDesc->initArgumentInfo();
- String aEntry = pDesc->GetSignature();
+ String aEntry = pDesc->getSignature();
TypedStrData* pData = new TypedStrData( aEntry, 0.0, SC_STRTYPE_FUNCTIONS );
if (!pFormulaDataPara->Insert(pData))
delete pData;
@@ -748,7 +748,6 @@ void ScInputHandler::ShowTipCursor()
String aFormula = pEngine->GetText( (USHORT) 0 );
ESelection aSel = pActiveView->GetSelection();
aSel.Adjust();
- xub_StrLen nLeftParentPos = 0;
if( aSel.nEndPos )
{
if ( aFormula.Len() < aSel.nEndPos )
@@ -767,7 +766,7 @@ void ScInputHandler::ShowTipCursor()
while( !bFound )
{
aSelText.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ")" ) );
- nLeftParentPos = lcl_MatchParenthesis( aSelText, aSelText.Len()-1 );
+ xub_StrLen nLeftParentPos = lcl_MatchParenthesis( aSelText, aSelText.Len()-1 );
if( nLeftParentPos != STRING_NOTFOUND )
{
sal_Unicode c = ( nLeftParentPos > 0 ) ? aSelText.GetChar( nLeftParentPos-1 ) : 0;
@@ -781,17 +780,12 @@ void ScInputHandler::ShowTipCursor()
nArgPos = aHelper.GetArgStart( aSelText, nNextFStart, 0 );
nArgs = static_cast<USHORT>(ppFDesc->getParameterCount());
- USHORT nActive = 0;
- USHORT nCount = 0;
- USHORT nCountSemicolon = 0;
- USHORT nCountDot = 0;
- USHORT nStartPosition = 0;
- USHORT nEndPosition = 0;
BOOL bFlag = FALSE;
String aNew;
USHORT nParAutoPos = SCPOS_INVALID;
if( pFormulaDataPara->FindText( ppFDesc->getFunctionName(), aNew, nParAutoPos, FALSE ) )
{
+ USHORT nActive = 0;
for( USHORT i=0; i < nArgs; i++ )
{
xub_StrLen nLength = static_cast<xub_StrLen>(aArgs[i].getLength());
@@ -804,8 +798,10 @@ void ScInputHandler::ShowTipCursor()
}
if( bFlag )
{
- nCountSemicolon = aNew.GetTokenCount(cSep)-1;
- nCountDot = aNew.GetTokenCount(cSheetSep)-1;
+ USHORT nCountSemicolon = aNew.GetTokenCount(cSep)-1;
+ USHORT nCountDot = aNew.GetTokenCount(cSheetSep)-1;
+ USHORT nStartPosition = 0;
+ USHORT nEndPosition = 0;
if( !nCountSemicolon )
{
@@ -820,6 +816,7 @@ void ScInputHandler::ShowTipCursor()
}
else if( !nCountDot )
{
+ USHORT nCount = 0;
for( USHORT i = 0; i < aNew.Len(); i++ )
{
sal_Unicode cNext = aNew.GetChar( i );
@@ -841,6 +838,7 @@ void ScInputHandler::ShowTipCursor()
}
else
{
+ USHORT nCount = 0;
for( USHORT i = 0; i < aNew.Len(); i++ )
{
sal_Unicode cNext = aNew.GetChar( i );
@@ -1026,17 +1024,12 @@ void ScInputHandler::UseFormulaData()
nArgPos = aHelper.GetArgStart( aFormula, nNextFStart, 0 );
nArgs = static_cast<USHORT>(ppFDesc->getParameterCount());
- USHORT nActive = 0;
- USHORT nCount = 0;
- USHORT nCountSemicolon = 0;
- USHORT nCountDot = 0;
- USHORT nStartPosition = 0;
- USHORT nEndPosition = 0;
BOOL bFlag = FALSE;
String aNew;
USHORT nParAutoPos = SCPOS_INVALID;
if( pFormulaDataPara->FindText( ppFDesc->getFunctionName(), aNew, nParAutoPos, FALSE ) )
{
+ USHORT nActive = 0;
for( USHORT i=0; i < nArgs; i++ )
{
xub_StrLen nLength = static_cast<xub_StrLen>(aArgs[i].getLength());
@@ -1049,8 +1042,10 @@ void ScInputHandler::UseFormulaData()
}
if( bFlag )
{
- nCountSemicolon = aNew.GetTokenCount(cSep)-1;
- nCountDot = aNew.GetTokenCount(cSheetSep)-1;
+ USHORT nCountSemicolon = aNew.GetTokenCount(cSep)-1;
+ USHORT nCountDot = aNew.GetTokenCount(cSheetSep)-1;
+ USHORT nStartPosition = 0;
+ USHORT nEndPosition = 0;
if( !nCountSemicolon )
{
@@ -1065,6 +1060,7 @@ void ScInputHandler::UseFormulaData()
}
else if( !nCountDot )
{
+ USHORT nCount = 0;
for( USHORT i = 0; i < aNew.Len(); i++ )
{
sal_Unicode cNext = aNew.GetChar( i );
@@ -1086,6 +1082,7 @@ void ScInputHandler::UseFormulaData()
}
else
{
+ USHORT nCount = 0;
for( USHORT i = 0; i < aNew.Len(); i++ )
{
sal_Unicode cNext = aNew.GetChar( i );
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index c49345f3672b..9549380d7006 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -119,7 +119,7 @@ ScInputWindowWrapper::ScInputWindowWrapper( Window* pParentP,
// GetInfo fliegt wieder raus, wenn es ein SFX_IMPL_TOOLBOX gibt !!!!
-SfxChildWinInfo __EXPORT ScInputWindowWrapper::GetInfo() const
+SfxChildWinInfo ScInputWindowWrapper::GetInfo() const
{
SfxChildWinInfo aInfo = SfxChildWindow::GetInfo();
return aInfo;
@@ -127,7 +127,7 @@ SfxChildWinInfo __EXPORT ScInputWindowWrapper::GetInfo() const
//==================================================================
-#define IMAGE(id) pImgMgr->SeekImage(id, bHC)
+#define IMAGE(id) pImgMgr->SeekImage(id)
//==================================================================
// class ScInputWindow
@@ -166,8 +166,6 @@ ScInputWindow::ScInputWindow( Window* pParent, SfxBindings* pBind ) :
}
DBG_ASSERT( pViewSh, "no view shell for input window" );
- BOOL bHC = GetSettings().GetStyleSettings().GetHighContrastMode();
-
// Positionsfenster, 3 Buttons, Eingabefenster
InsertWindow ( 1, &aWndPos, 0, 0 );
InsertSeparator ( 1 );
@@ -226,7 +224,7 @@ ScInputWindow::ScInputWindow( Window* pParent, SfxBindings* pBind ) :
pImgMgr->RegisterToolBox( this );
}
-__EXPORT ScInputWindow::~ScInputWindow()
+ScInputWindow::~ScInputWindow()
{
BOOL bDown = ( ScGlobal::pSysLocale == NULL ); // after Clear?
@@ -275,11 +273,11 @@ sal_Bool ScInputWindow::UseSubTotal(ScRangeList* pRangeList) const
if ( pViewSh )
{
ScDocument* pDoc = pViewSh->GetViewData()->GetDocument();
- sal_Int32 nRangeCount (pRangeList->Count());
- sal_Int32 nRangeIndex (0);
+ size_t nRangeCount (pRangeList->size());
+ size_t nRangeIndex (0);
while (!bSubTotal && nRangeIndex < nRangeCount)
{
- const ScRange* pRange = pRangeList->GetObject( nRangeIndex );
+ const ScRange* pRange = (*pRangeList)[nRangeIndex];
if( pRange )
{
SCTAB nTabEnd(pRange->aEnd.Tab());
@@ -312,7 +310,7 @@ sal_Bool ScInputWindow::UseSubTotal(ScRangeList* pRangeList) const
nRangeIndex = 0;
while (!bSubTotal && nRangeIndex < nRangeCount)
{
- const ScRange* pRange = pRangeList->GetObject( nRangeIndex );
+ const ScRange* pRange = (*pRangeList)[nRangeIndex];
if( pRange )
{
ScRange aDBArea;
@@ -329,7 +327,7 @@ sal_Bool ScInputWindow::UseSubTotal(ScRangeList* pRangeList) const
return bSubTotal;
}
-void __EXPORT ScInputWindow::Select()
+void ScInputWindow::Select()
{
ScModule* pScMod = SC_MOD();
ToolBox::Select();
@@ -377,10 +375,10 @@ void __EXPORT ScInputWindow::Select()
// check if one of the marked ranges is empty
bool bEmpty = false;
- const ULONG nCount = aMarkRangeList.Count();
- for ( ULONG i = 0; i < nCount; ++i )
+ const size_t nCount = aMarkRangeList.size();
+ for ( size_t i = 0; i < nCount; ++i )
{
- const ScRange aRange( *aMarkRangeList.GetObject( i ) );
+ const ScRange aRange( *aMarkRangeList[i] );
if ( pDoc->IsBlockEmpty( aRange.aStart.Tab(),
aRange.aStart.Col(), aRange.aStart.Row(),
aRange.aEnd.Col(), aRange.aEnd.Row() ) )
@@ -396,7 +394,7 @@ void __EXPORT ScInputWindow::Select()
const BOOL bDataFound = pViewSh->GetAutoSumArea( aRangeList );
if ( bDataFound )
{
- ScAddress aAddr = aRangeList.Last()->aEnd;
+ ScAddress aAddr = aRangeList.back()->aEnd;
aAddr.IncRow();
const sal_Bool bSubTotal( UseSubTotal( &aRangeList ) );
pViewSh->EnterAutoSum( aRangeList, bSubTotal, aAddr );
@@ -405,9 +403,9 @@ void __EXPORT ScInputWindow::Select()
else
{
const sal_Bool bSubTotal( UseSubTotal( &aMarkRangeList ) );
- for ( ULONG i = 0; i < nCount; ++i )
+ for ( size_t i = 0; i < nCount; ++i )
{
- const ScRange aRange( *aMarkRangeList.GetObject( i ) );
+ const ScRange aRange( *aMarkRangeList[i] );
const bool bSetCursor = ( i == nCount - 1 ? true : false );
const bool bContinue = ( i != 0 ? true : false );
if ( !pViewSh->AutoSum( aRange, bSubTotal, bSetCursor, bContinue ) )
@@ -487,7 +485,7 @@ void __EXPORT ScInputWindow::Select()
}
}
-void __EXPORT ScInputWindow::Resize()
+void ScInputWindow::Resize()
{
ToolBox::Resize();
@@ -560,8 +558,6 @@ void ScInputWindow::SetOkCancelMode()
SfxImageManager* pImgMgr = SfxImageManager::GetImageManager( pScMod );
if (!bIsOkCancelMode)
{
- BOOL bHC = GetSettings().GetStyleSettings().GetHighContrastMode();
-
RemoveItem( 3 ); // SID_INPUT_SUM und SID_INPUT_EQUAL entfernen
RemoveItem( 3 );
InsertItem( SID_INPUT_CANCEL, IMAGE( SID_INPUT_CANCEL ), 0, 3 );
@@ -584,8 +580,6 @@ void ScInputWindow::SetSumAssignMode()
SfxImageManager* pImgMgr = SfxImageManager::GetImageManager( pScMod );
if (bIsOkCancelMode)
{
- BOOL bHC = GetSettings().GetStyleSettings().GetHighContrastMode();
-
// SID_INPUT_CANCEL, und SID_INPUT_OK entfernen
RemoveItem( 3 );
RemoveItem( 3 );
@@ -607,12 +601,12 @@ void ScInputWindow::SetFormulaMode( BOOL bSet )
aTextWindow.SetFormulaMode(bSet);
}
-void __EXPORT ScInputWindow::SetText( const String& rString )
+void ScInputWindow::SetText( const String& rString )
{
ToolBox::SetText(rString);
}
-String __EXPORT ScInputWindow::GetText() const
+String ScInputWindow::GetText() const
{
return ToolBox::GetText();
}
@@ -694,11 +688,9 @@ void ScInputWindow::DataChanged( const DataChangedEvent& rDCEvt )
if ( rDCEvt.GetType() == DATACHANGED_SETTINGS && (rDCEvt.GetFlags() & SETTINGS_STYLE) )
{
// update item images
-
ScModule* pScMod = SC_MOD();
SfxImageManager* pImgMgr = SfxImageManager::GetImageManager( pScMod );
- BOOL bHC = GetSettings().GetStyleSettings().GetHighContrastMode();
- // IMAGE macro uses pScMod, pImgMgr, bHC
+ // IMAGE macro uses pScMod, pImgMg
SetItemImage( SID_INPUT_FUNCTION, IMAGE( SID_INPUT_FUNCTION ) );
if ( bIsOkCancelMode )
@@ -756,7 +748,7 @@ ScTextWnd::ScTextWnd( Window* pParent )
SetPointer ( POINTER_TEXT );
}
-__EXPORT ScTextWnd::~ScTextWnd()
+ScTextWnd::~ScTextWnd()
{
while (!maAccTextDatas.empty()) {
maAccTextDatas.back()->Dispose();
@@ -765,7 +757,7 @@ __EXPORT ScTextWnd::~ScTextWnd()
delete pEditEngine;
}
-void __EXPORT ScTextWnd::Paint( const Rectangle& rRec )
+void ScTextWnd::Paint( const Rectangle& rRec )
{
if (pEditView)
pEditView->Paint( rRec );
@@ -791,7 +783,7 @@ void __EXPORT ScTextWnd::Paint( const Rectangle& rRec )
}
}
-void __EXPORT ScTextWnd::Resize()
+void ScTextWnd::Resize()
{
if (pEditView)
{
@@ -812,13 +804,13 @@ void __EXPORT ScTextWnd::Resize()
}
}
-void __EXPORT ScTextWnd::MouseMove( const MouseEvent& rMEvt )
+void ScTextWnd::MouseMove( const MouseEvent& rMEvt )
{
if (pEditView)
pEditView->MouseMove( rMEvt );
}
-void __EXPORT ScTextWnd::MouseButtonDown( const MouseEvent& rMEvt )
+void ScTextWnd::MouseButtonDown( const MouseEvent& rMEvt )
{
if (!HasFocus())
{
@@ -834,7 +826,7 @@ void __EXPORT ScTextWnd::MouseButtonDown( const MouseEvent& rMEvt )
}
}
-void __EXPORT ScTextWnd::MouseButtonUp( const MouseEvent& rMEvt )
+void ScTextWnd::MouseButtonUp( const MouseEvent& rMEvt )
{
if (pEditView)
if (pEditView->MouseButtonUp( rMEvt ))
@@ -850,7 +842,7 @@ void __EXPORT ScTextWnd::MouseButtonUp( const MouseEvent& rMEvt )
}
}
-void __EXPORT ScTextWnd::Command( const CommandEvent& rCEvt )
+void ScTextWnd::Command( const CommandEvent& rCEvt )
{
bInputMode = TRUE;
USHORT nCommand = rCEvt.GetCommand();
@@ -924,7 +916,7 @@ void ScTextWnd::StartDrag( sal_Int8 /* nAction */, const Point& rPosPixel )
}
}
-void __EXPORT ScTextWnd::KeyInput(const KeyEvent& rKEvt)
+void ScTextWnd::KeyInput(const KeyEvent& rKEvt)
{
bInputMode = TRUE;
if (!SC_MOD()->InputKeyEvent( rKEvt ))
@@ -939,18 +931,18 @@ void __EXPORT ScTextWnd::KeyInput(const KeyEvent& rKEvt)
bInputMode = FALSE;
}
-void __EXPORT ScTextWnd::GetFocus()
+void ScTextWnd::GetFocus()
{
ScTabViewShell* pViewSh = ScTabViewShell::GetActiveViewShell();
if ( pViewSh )
pViewSh->SetFormShellAtTop( FALSE ); // focus in input line -> FormShell no longer on top
}
-void __EXPORT ScTextWnd::LoseFocus()
+void ScTextWnd::LoseFocus()
{
}
-String __EXPORT ScTextWnd::GetText() const
+String ScTextWnd::GetText() const
{
// ueberladen, um per Testtool an den Text heranzukommen
@@ -1175,10 +1167,6 @@ void ScTextWnd::SetTextString( const String& rNewString )
// Position der Aenderung suchen, nur Rest painten
- long nInvPos = 0;
- long nStartPos = 0;
- long nTextSize = 0;
-
if (!pEditEngine)
{
BOOL bPaintAll;
@@ -1207,6 +1195,7 @@ void ScTextWnd::SetTextString( const String& rNewString )
}
else
{
+ long nTextSize = 0;
xub_StrLen nDifPos;
if (rNewString.Len() > aString.Len())
nDifPos = rNewString.Match(aString);
@@ -1225,8 +1214,8 @@ void ScTextWnd::SetTextString( const String& rNewString )
// -1 wegen Rundung und "A"
Point aLogicStart = PixelToLogic(Point(TEXT_STARTPOS-1,0));
- nStartPos = aLogicStart.X();
- nInvPos = nStartPos;
+ long nStartPos = aLogicStart.X();
+ long nInvPos = nStartPos;
if (nDifPos)
nInvPos += GetTextWidth(aString,0,nDifPos);
@@ -1382,7 +1371,7 @@ ScPosWnd::ScPosWnd( Window* pParent ) :
StartListening( *SFX_APP() ); // fuer Navigator-Bereichsnamen-Updates
}
-__EXPORT ScPosWnd::~ScPosWnd()
+ScPosWnd::~ScPosWnd()
{
EndListening( *SFX_APP() );
@@ -1638,7 +1627,7 @@ void ScPosWnd::Modify()
}
}
-void __EXPORT ScPosWnd::Select()
+void ScPosWnd::Select()
{
ComboBox::Select(); // in VCL gibt GetText() erst danach den ausgewaehlten Eintrag
@@ -1734,7 +1723,7 @@ void ScPosWnd::DoEnter()
ReleaseFocus_Impl();
}
-long __EXPORT ScPosWnd::Notify( NotifyEvent& rNEvt )
+long ScPosWnd::Notify( NotifyEvent& rNEvt )
{
long nHandled = 0;
diff --git a/sc/source/ui/app/makefile.mk b/sc/source/ui/app/makefile.mk
index 9d487ba207fc..95b36b1e7323 100644
--- a/sc/source/ui/app/makefile.mk
+++ b/sc/source/ui/app/makefile.mk
@@ -38,29 +38,23 @@ TARGET=app
# --- Files --------------------------------------------------------
SLOFILES = \
- $(SLO)$/scmod.obj \
- $(SLO)$/scmod2.obj \
- $(SLO)$/scdll.obj \
- $(SLO)$/typemap.obj \
- $(SLO)$/transobj.obj \
- $(SLO)$/drwtrans.obj \
- $(SLO)$/lnktrans.obj \
- $(SLO)$/seltrans.obj \
- $(SLO)$/inputhdl.obj \
- $(SLO)$/inputwin.obj \
- $(SLO)$/rfindlst.obj \
- $(SLO)$/uiitems.obj \
+ $(EXCEPTIONSFILES) \
$(SLO)$/msgpool.obj \
- $(SLO)$/client.obj
+ $(SLO)$/rfindlst.obj \
+ $(SLO)$/uiitems.obj
EXCEPTIONSFILES= \
+ $(SLO)$/client.obj \
$(SLO)$/drwtrans.obj \
- $(SLO)$/scdll.obj \
- $(SLO)$/scmod2.obj \
+ $(SLO)$/inputhdl.obj \
+ $(SLO)$/inputwin.obj \
+ $(SLO)$/lnktrans.obj \
+ $(SLO)$/scdll.obj \
$(SLO)$/scmod.obj \
- $(SLO)$/typemap.obj \
- $(SLO)$/client.obj \
- $(SLO)$/inputwin.obj
+ $(SLO)$/scmod2.obj \
+ $(SLO)$/seltrans.obj \
+ $(SLO)$/typemap.obj \
+ $(SLO)$/transobj.obj
#LIB3TARGET=$(SLB)$/ysclib.lib
#LIB3OBJFILES=$(SLO)$/sclib.obj
diff --git a/sc/source/ui/app/msgpool.cxx b/sc/source/ui/app/msgpool.cxx
index 0de23989202f..31c31734612d 100644
--- a/sc/source/ui/app/msgpool.cxx
+++ b/sc/source/ui/app/msgpool.cxx
@@ -40,7 +40,7 @@
//------------------------------------------------------------------------
-static SfxItemInfo __READONLY_DATA aMsgItemInfos[] =
+static SfxItemInfo const aMsgItemInfos[] =
{
{ 0, SFX_ITEM_POOLABLE }, // SCITEM_STRING
{ 0, SFX_ITEM_POOLABLE }, // SCITEM_SEARCHDATA - nicht mehr benutzt !!!
@@ -94,7 +94,7 @@ ScMessagePool::ScMessagePool()
}
-__EXPORT ScMessagePool::~ScMessagePool()
+ScMessagePool::~ScMessagePool()
{
Delete();
SetSecondaryPool( NULL ); // before deleting defaults (accesses defaults)
@@ -108,7 +108,7 @@ __EXPORT ScMessagePool::~ScMessagePool()
}
-SfxMapUnit __EXPORT ScMessagePool::GetMetric( USHORT nWhich ) const
+SfxMapUnit ScMessagePool::GetMetric( USHORT nWhich ) const
{
// eigene Attribute: Twips, alles andere 1/100 mm
diff --git a/sc/source/ui/app/rfindlst.cxx b/sc/source/ui/app/rfindlst.cxx
index 8f2526197787..c82bc7d79512 100644
--- a/sc/source/ui/app/rfindlst.cxx
+++ b/sc/source/ui/app/rfindlst.cxx
@@ -59,7 +59,7 @@ ScRangeFindList::~ScRangeFindList()
}
}
-ColorData ScRangeFindList::GetColorName( USHORT nIndex ) // static
+ColorData ScRangeFindList::GetColorName( size_t nIndex )
{
return aColNames[nIndex % SC_RANGECOLORS];
}
diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx
index 8cd7a4e74686..9e80a7a8dfdc 100644
--- a/sc/source/ui/app/scdll.cxx
+++ b/sc/source/ui/app/scdll.cxx
@@ -152,9 +152,7 @@ void ScDLL::Init()
ScModule* pMod = new ScModule( &ScDocShell::Factory() );
(*ppShlPtr) = pMod;
-//REMOVE ScDocShell::RegisterFactory( SDT_SC_DOCFACTPRIO );
-
- ScDocShell::Factory().SetDocumentServiceName( rtl::OUString::createFromAscii( "com.sun.star.sheet.SpreadsheetDocument" ) );
+ ScDocShell::Factory().SetDocumentServiceName( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sheet.SpreadsheetDocument" )) );
ScGlobal::Init(); // erst wenn der ResManager initialisiert ist
// erst nach ScGlobal::Init duerfen die App-Optionen
@@ -296,20 +294,13 @@ void ScDLL::Init()
ScSpellDialogChildWindow ::RegisterChildWindow(FALSE, pMod);
::avmedia::MediaPlayer ::RegisterChildWindow(FALSE, pMod);
- //<!--Added by PengYunQuan for Validity Cell Range Picker
ScValidityRefChildWin::RegisterChildWindow(FALSE, pMod);
- //-->Added by PengYunQuan for Validity Cell Range Picker
// Edit-Engine-Felder, soweit nicht schon in OfficeApplication::Init
SvClassManager& rClassManager = SvxFieldItem::GetClassManager();
-// rClassManager.SV_CLASS_REGISTER( SvxURLField );
-// rClassManager.SV_CLASS_REGISTER( SvxDateField );
-// rClassManager.SV_CLASS_REGISTER( SvxPageField );
rClassManager.SV_CLASS_REGISTER( SvxPagesField );
-// rClassManager.SV_CLASS_REGISTER( SvxTimeField );
rClassManager.SV_CLASS_REGISTER( SvxFileField );
-// rClassManager.SV_CLASS_REGISTER( SvxExtFileField );
rClassManager.SV_CLASS_REGISTER( SvxTableField );
SdrRegisterFieldClasses(); // SvDraw-Felder registrieren
diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx
index 66b9fade4d8f..029cd9e900a7 100644
--- a/sc/source/ui/app/scmod.cxx
+++ b/sc/source/ui/app/scmod.cxx
@@ -628,7 +628,7 @@ void ScModule::Execute( SfxRequest& rReq )
{
try
{
- com::sun::star::uno::Reference < ::com::sun::star::ui::dialogs::XExecutableDialog > xDialog(::comphelper::getProcessServiceFactory()->createInstance(rtl::OUString::createFromAscii("com.sun.star.comp.ui.XSLTFilterDialog")), com::sun::star::uno::UNO_QUERY);
+ com::sun::star::uno::Reference < ::com::sun::star::ui::dialogs::XExecutableDialog > xDialog(::comphelper::getProcessServiceFactory()->createInstance(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.ui.XSLTFilterDialog"))), com::sun::star::uno::UNO_QUERY);
if( xDialog.is() )
{
xDialog->execute();
@@ -1918,7 +1918,7 @@ IMPL_LINK( ScModule, IdleHandler, Timer*, EMPTYARG )
bMore = bLinks || bWidth || bSpell; // ueberhaupt noch was?
- // While calculating a Basic formula, a paint event may have occured,
+ // While calculating a Basic formula, a paint event may have occurred,
// so check the bNeedsRepaint flags for this document's views
if (bWidth)
lcl_CheckNeedsRepaint( pDocSh );
@@ -2263,7 +2263,7 @@ Window * ScModule::Find1RefWindow( USHORT nSlotId, Window *pWndAncestor )
while( Window *pParent = pWndAncestor->GetParent() ) pWndAncestor = pParent;
- for( std::list<Window*>::iterator i = rlRefWindow.begin(); i!=rlRefWindow.end(); i++ )
+ for( std::list<Window*>::iterator i = rlRefWindow.begin(); i!=rlRefWindow.end(); ++i )
if ( pWndAncestor->IsWindowOrChild( *i, (*i)->IsSystemWindow() ) )
return *i;
@@ -2278,8 +2278,8 @@ Window * ScModule::Find1RefWindow( Window *pWndAncestor )
while( Window *pParent = pWndAncestor->GetParent() ) pWndAncestor = pParent;
for( std::map<USHORT, std::list<Window*> >::iterator i = m_mapRefWindow.begin();
- i!=m_mapRefWindow.end(); i++ )
- for( std::list<Window*>::iterator j = i->second.begin(); j!=i->second.end(); j++ )
+ i!=m_mapRefWindow.end(); ++i )
+ for( std::list<Window*>::iterator j = i->second.begin(); j!=i->second.end(); ++j )
if ( pWndAncestor->IsWindowOrChild( *j, (*j)->IsSystemWindow() ) )
return *j;
diff --git a/sc/source/ui/app/scmod2.cxx b/sc/source/ui/app/scmod2.cxx
index 246d204038ae..6cf559d950fd 100644
--- a/sc/source/ui/app/scmod2.cxx
+++ b/sc/source/ui/app/scmod2.cxx
@@ -50,7 +50,6 @@ using namespace com::sun::star;
//------------------------------------------------------------------
-// static
void ScModule::GetSpellSettings( USHORT& rDefLang, USHORT& rCjkLang, USHORT& rCtlLang,
BOOL& rAutoSpell )
{
@@ -67,7 +66,6 @@ void ScModule::GetSpellSettings( USHORT& rDefLang, USHORT& rCjkLang, USHORT& rCt
rAutoSpell = aOptions.bIsSpellAuto;
}
-// static
void ScModule::SetAutoSpellProperty( BOOL bSet )
{
// use SvtLinguConfig instead of service LinguProperties to avoid
@@ -76,12 +74,11 @@ void ScModule::SetAutoSpellProperty( BOOL bSet )
uno::Any aAny;
aAny <<= bSet;
- aConfig.SetProperty( rtl::OUString::createFromAscii( LINGUPROP_AUTOSPELL ), aAny );
+ aConfig.SetProperty( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( LINGUPROP_AUTOSPELL )), aAny );
}
-// static
BOOL ScModule::HasThesaurusLanguage( USHORT nLang )
{
if ( nLang == LANGUAGE_NONE )
diff --git a/sc/source/ui/app/seltrans.cxx b/sc/source/ui/app/seltrans.cxx
index 1866008f6782..f229e885d0d5 100644
--- a/sc/source/ui/app/seltrans.cxx
+++ b/sc/source/ui/app/seltrans.cxx
@@ -70,7 +70,7 @@ BOOL lcl_IsURLButton( SdrObject* pObject )
uno::Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY );
uno::Reference< beans::XPropertySetInfo > xInfo = xPropSet->getPropertySetInfo();
- rtl::OUString sPropButtonType = rtl::OUString::createFromAscii( "ButtonType" );
+ rtl::OUString sPropButtonType(RTL_CONSTASCII_USTRINGPARAM( "ButtonType" ));
if(xInfo->hasPropertyByName( sPropButtonType ))
{
uno::Any aAny = xPropSet->getPropertyValue( sPropButtonType );
@@ -84,7 +84,6 @@ BOOL lcl_IsURLButton( SdrObject* pObject )
return bRet;
}
-// static
ScSelectionTransferObj* ScSelectionTransferObj::CreateFromView( ScTabView* pView )
{
diff --git a/sc/source/ui/app/template.cxx b/sc/source/ui/app/template.cxx
index edb30ff6468d..b9bddee4fe1d 100644
--- a/sc/source/ui/app/template.cxx
+++ b/sc/source/ui/app/template.cxx
@@ -43,7 +43,7 @@ ScTemplateDlg::ScTemplateDlg(Window * pParent, USHORT nAppResource) :
//------------------------------------------------------------------------
-__EXPORT ScTemplateDlg::~ScTemplateDlg()
+ScTemplateDlg::~ScTemplateDlg()
{
}
diff --git a/sc/source/ui/app/transobj.cxx b/sc/source/ui/app/transobj.cxx
index 906a0f3e150a..91a972cab1cd 100644
--- a/sc/source/ui/app/transobj.cxx
+++ b/sc/source/ui/app/transobj.cxx
@@ -85,7 +85,6 @@ using namespace com::sun::star;
// -----------------------------------------------------------------------
-// static
void ScTransferObj::GetAreaSize( ScDocument* pDoc, SCTAB nTab1, SCTAB nTab2, SCROW& nRow, SCCOL& nCol )
{
SCCOL nMaxCol = 0;
@@ -107,7 +106,6 @@ void ScTransferObj::GetAreaSize( ScDocument* pDoc, SCTAB nTab1, SCTAB nTab2, SCR
nCol = nMaxCol;
}
-// static
void ScTransferObj::PaintToDev( OutputDevice* pDev, ScDocument* pDoc, double nPrintFactor,
const ScRange& rBlock, BOOL bMetaFile )
{
@@ -216,7 +214,6 @@ ScTransferObj::~ScTransferObj()
}
-// static
ScTransferObj* ScTransferObj::GetOwnClipboard( Window* pUIWin )
{
ScTransferObj* pObj = SC_MOD()->GetClipData().pCellClipboard;
@@ -311,8 +308,15 @@ sal_Bool ScTransferObj::GetData( const datatransfer::DataFlavor& rFlavor )
BOOL bIncludeFiltered = pDoc->IsCutMode() || bUsedForLink;
ScImportExport aObj( pDoc, aBlock );
+ ScExportTextOptions aTextOptions(ScExportTextOptions::None, 0, true);
if ( bUsedForLink )
- aObj.SetExportTextOptions( ScExportTextOptions( ScExportTextOptions::ToSpace, ' ', false ) );
+ {
+ // For a DDE link, convert line breaks and separators to space.
+ aTextOptions.meNewlineConversion = ScExportTextOptions::ToSpace;
+ aTextOptions.mcSeparatorConvertTo = ' ';
+ aTextOptions.mbAddQuotes = false;
+ }
+ aObj.SetExportTextOptions(aTextOptions);
aObj.SetFormulas( pDoc->GetViewOptions().GetOption( VOPT_FORMULAS ) );
aObj.SetIncludeFiltered( bIncludeFiltered );
@@ -725,7 +729,6 @@ void ScTransferObj::InitDocShell()
}
}
-// static
SfxObjectShell* ScTransferObj::SetDrawClipDoc( BOOL bAnyOle )
{
// update ScGlobal::pDrawClipDocShellRef
@@ -745,7 +748,6 @@ SfxObjectShell* ScTransferObj::SetDrawClipDoc( BOOL bAnyOle )
}
}
-// static
void ScTransferObj::StripRefs( ScDocument* pDoc,
SCCOL nStartX, SCROW nStartY, SCCOL nEndX, SCROW nEndY,
ScDocument* pDestDoc, SCCOL nSubX, SCROW nSubY )
diff --git a/sc/source/ui/app/uiitems.cxx b/sc/source/ui/app/uiitems.cxx
index 4148b96675c6..1d6be7abdfc3 100644
--- a/sc/source/ui/app/uiitems.cxx
+++ b/sc/source/ui/app/uiitems.cxx
@@ -83,17 +83,17 @@ ScInputStatusItem::ScInputStatusItem( const ScInputStatusItem& rItem )
{
}
-__EXPORT ScInputStatusItem::~ScInputStatusItem()
+ScInputStatusItem::~ScInputStatusItem()
{
delete pEditData;
}
-String __EXPORT ScInputStatusItem::GetValueText() const
+String ScInputStatusItem::GetValueText() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("InputStatus"));
}
-int __EXPORT ScInputStatusItem::operator==( const SfxPoolItem& rItem ) const
+int ScInputStatusItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -104,7 +104,7 @@ int __EXPORT ScInputStatusItem::operator==( const SfxPoolItem& rItem ) const
//! Edit-Daten vergleichen!
}
-SfxPoolItem* __EXPORT ScInputStatusItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScInputStatusItem::Clone( SfxItemPool * ) const
{
return new ScInputStatusItem( *this );
}
@@ -190,20 +190,20 @@ ScSortItem::ScSortItem( const ScSortItem& rItem ) :
{
}
-__EXPORT ScSortItem::~ScSortItem()
+ScSortItem::~ScSortItem()
{
}
//------------------------------------------------------------------------
-String __EXPORT ScSortItem::GetValueText() const
+String ScSortItem::GetValueText() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("SortItem"));
}
//------------------------------------------------------------------------
-int __EXPORT ScSortItem::operator==( const SfxPoolItem& rItem ) const
+int ScSortItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -215,7 +215,7 @@ int __EXPORT ScSortItem::operator==( const SfxPoolItem& rItem ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT ScSortItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScSortItem::Clone( SfxItemPool * ) const
{
return new ScSortItem( *this );
}
@@ -265,7 +265,7 @@ ScQueryItem::ScQueryItem( const ScQueryItem& rItem ) :
{
}
-__EXPORT ScQueryItem::~ScQueryItem()
+ScQueryItem::~ScQueryItem()
{
}
@@ -290,14 +290,14 @@ BOOL ScQueryItem::GetAdvancedQuerySource(ScRange& rSource) const
//------------------------------------------------------------------------
-String __EXPORT ScQueryItem::GetValueText() const
+String ScQueryItem::GetValueText() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("QueryItem"));
}
//------------------------------------------------------------------------
-int __EXPORT ScQueryItem::operator==( const SfxPoolItem& rItem ) const
+int ScQueryItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -311,7 +311,7 @@ int __EXPORT ScQueryItem::operator==( const SfxPoolItem& rItem ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT ScQueryItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScQueryItem::Clone( SfxItemPool * ) const
{
return new ScQueryItem( *this );
}
@@ -348,20 +348,20 @@ ScSubTotalItem::ScSubTotalItem( const ScSubTotalItem& rItem ) :
{
}
-__EXPORT ScSubTotalItem::~ScSubTotalItem()
+ScSubTotalItem::~ScSubTotalItem()
{
}
//------------------------------------------------------------------------
-String __EXPORT ScSubTotalItem::GetValueText() const
+String ScSubTotalItem::GetValueText() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("SubTotalItem"));
}
//------------------------------------------------------------------------
-int __EXPORT ScSubTotalItem::operator==( const SfxPoolItem& rItem ) const
+int ScSubTotalItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -373,7 +373,7 @@ int __EXPORT ScSubTotalItem::operator==( const SfxPoolItem& rItem ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT ScSubTotalItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScSubTotalItem::Clone( SfxItemPool * ) const
{
return new ScSubTotalItem( *this );
}
@@ -408,21 +408,21 @@ ScUserListItem::ScUserListItem( const ScUserListItem& rItem )
pUserList = NULL;
}
-__EXPORT ScUserListItem::~ScUserListItem()
+ScUserListItem::~ScUserListItem()
{
delete pUserList;
}
//------------------------------------------------------------------------
-String __EXPORT ScUserListItem::GetValueText() const
+String ScUserListItem::GetValueText() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("ScUserListItem"));
}
//------------------------------------------------------------------------
-int __EXPORT ScUserListItem::operator==( const SfxPoolItem& rItem ) const
+int ScUserListItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -440,7 +440,7 @@ int __EXPORT ScUserListItem::operator==( const SfxPoolItem& rItem ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT ScUserListItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScUserListItem::Clone( SfxItemPool * ) const
{
return new ScUserListItem( *this );
}
@@ -475,20 +475,20 @@ ScConsolidateItem::ScConsolidateItem( const ScConsolidateItem& rItem ) :
//------------------------------------------------------------------------
-__EXPORT ScConsolidateItem::~ScConsolidateItem()
+ScConsolidateItem::~ScConsolidateItem()
{
}
//------------------------------------------------------------------------
-String __EXPORT ScConsolidateItem::GetValueText() const
+String ScConsolidateItem::GetValueText() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("ScConsolidateItem"));
}
//------------------------------------------------------------------------
-int __EXPORT ScConsolidateItem::operator==( const SfxPoolItem& rItem ) const
+int ScConsolidateItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -499,7 +499,7 @@ int __EXPORT ScConsolidateItem::operator==( const SfxPoolItem& rItem ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT ScConsolidateItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScConsolidateItem::Clone( SfxItemPool * ) const
{
return new ScConsolidateItem( *this );
}
@@ -535,21 +535,21 @@ ScPivotItem::ScPivotItem( const ScPivotItem& rItem ) :
//------------------------------------------------------------------------
-__EXPORT ScPivotItem::~ScPivotItem()
+ScPivotItem::~ScPivotItem()
{
delete pSaveData;
}
//------------------------------------------------------------------------
-String __EXPORT ScPivotItem::GetValueText() const
+String ScPivotItem::GetValueText() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("ScPivotItem"));
}
//------------------------------------------------------------------------
-int __EXPORT ScPivotItem::operator==( const SfxPoolItem& rItem ) const
+int ScPivotItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -562,7 +562,7 @@ int __EXPORT ScPivotItem::operator==( const SfxPoolItem& rItem ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT ScPivotItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScPivotItem::Clone( SfxItemPool * ) const
{
return new ScPivotItem( *this );
}
@@ -589,20 +589,20 @@ ScSolveItem::ScSolveItem( const ScSolveItem& rItem )
//------------------------------------------------------------------------
-__EXPORT ScSolveItem::~ScSolveItem()
+ScSolveItem::~ScSolveItem()
{
}
//------------------------------------------------------------------------
-String __EXPORT ScSolveItem::GetValueText() const
+String ScSolveItem::GetValueText() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("ScSolveItem"));
}
//------------------------------------------------------------------------
-int __EXPORT ScSolveItem::operator==( const SfxPoolItem& rItem ) const
+int ScSolveItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -613,7 +613,7 @@ int __EXPORT ScSolveItem::operator==( const SfxPoolItem& rItem ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT ScSolveItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScSolveItem::Clone( SfxItemPool * ) const
{
return new ScSolveItem( *this );
}
@@ -639,20 +639,20 @@ ScTabOpItem::ScTabOpItem( const ScTabOpItem& rItem )
//------------------------------------------------------------------------
-__EXPORT ScTabOpItem::~ScTabOpItem()
+ScTabOpItem::~ScTabOpItem()
{
}
//------------------------------------------------------------------------
-String __EXPORT ScTabOpItem::GetValueText() const
+String ScTabOpItem::GetValueText() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("ScTabOpItem"));
}
//------------------------------------------------------------------------
-int __EXPORT ScTabOpItem::operator==( const SfxPoolItem& rItem ) const
+int ScTabOpItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -663,7 +663,7 @@ int __EXPORT ScTabOpItem::operator==( const SfxPoolItem& rItem ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT ScTabOpItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScTabOpItem::Clone( SfxItemPool * ) const
{
return new ScTabOpItem( *this );
}
@@ -692,20 +692,20 @@ ScCondFrmtItem::ScCondFrmtItem( const ScCondFrmtItem& rItem )
//------------------------------------------------------------------------
-__EXPORT ScCondFrmtItem::~ScCondFrmtItem()
+ScCondFrmtItem::~ScCondFrmtItem()
{
}
//------------------------------------------------------------------------
-String __EXPORT ScCondFrmtItem::GetValueText() const
+String ScCondFrmtItem::GetValueText() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("ScCondFrmtItem"));
}
//------------------------------------------------------------------------
-int __EXPORT ScCondFrmtItem::operator==( const SfxPoolItem& rItem ) const
+int ScCondFrmtItem::operator==( const SfxPoolItem& rItem ) const
{
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal Which or Type" );
@@ -716,7 +716,7 @@ int __EXPORT ScCondFrmtItem::operator==( const SfxPoolItem& rItem ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT ScCondFrmtItem::Clone( SfxItemPool * ) const
+SfxPoolItem* ScCondFrmtItem::Clone( SfxItemPool * ) const
{
return new ScCondFrmtItem( *this );
}
diff --git a/sc/source/ui/attrdlg/attrdlg.cxx b/sc/source/ui/attrdlg/attrdlg.cxx
index 6c33476e9d89..1f2e11e49985 100644
--- a/sc/source/ui/attrdlg/attrdlg.cxx
+++ b/sc/source/ui/attrdlg/attrdlg.cxx
@@ -99,13 +99,13 @@ ScAttrDlg::ScAttrDlg( SfxViewFrame* pFrameP,
// -----------------------------------------------------------------------
-__EXPORT ScAttrDlg::~ScAttrDlg()
+ScAttrDlg::~ScAttrDlg()
{
}
// -----------------------------------------------------------------------
-void __EXPORT ScAttrDlg::PageCreated( USHORT nPageId, SfxTabPage& rTabPage )
+void ScAttrDlg::PageCreated( USHORT nPageId, SfxTabPage& rTabPage )
{
SfxObjectShell* pDocSh = SfxObjectShell::Current();
SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool()));
diff --git a/sc/source/ui/attrdlg/condfrmt.cxx b/sc/source/ui/attrdlg/condfrmt.cxx
index dbdad9aace69..a36edf55fd33 100644
--- a/sc/source/ui/attrdlg/condfrmt.cxx
+++ b/sc/source/ui/attrdlg/condfrmt.cxx
@@ -29,7 +29,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-
#include <sfx2/dispatch.hxx>
#include <svl/stritem.hxx>
@@ -48,6 +47,7 @@
#include "condfrmt.hxx"
#undef _CONDFRMT_CXX
+#include "rangelst.hxx"
//============================================================================
// class ScConditionalFormat
@@ -262,7 +262,6 @@ ScConditionalFormatDlg::ScConditionalFormatDlg(
}
}
-
if ( pCurrentFormat->Count() > 1 )
{
aCbxCond2.Check( TRUE );
@@ -325,15 +324,13 @@ ScConditionalFormatDlg::ScConditionalFormatDlg(
// SFX_APPWINDOW->Disable();
}
-
//----------------------------------------------------------------------------
// Destruktor
-__EXPORT ScConditionalFormatDlg::~ScConditionalFormatDlg()
+ScConditionalFormatDlg::~ScConditionalFormatDlg()
{
}
-
//----------------------------------------------------------------------------
void ScConditionalFormatDlg::SetReference( const ScRange& rRef, ScDocument* pDocP )
@@ -380,7 +377,6 @@ BOOL ScConditionalFormatDlg::IsRefInputMode() const
return (pEdActive != NULL);
}
-
//----------------------------------------------------------------------------
void ScConditionalFormatDlg::SetActive()
@@ -397,7 +393,6 @@ void ScConditionalFormatDlg::SetActive()
RefInputDone();
}
-
//----------------------------------------------------------------------------
// Holt die ausgewaehlte bedingte Formatierung ab
@@ -413,6 +408,9 @@ void ScConditionalFormatDlg::GetConditionalFormat( ScConditionalFormat& rCndFmt
if (pViewShell)
{
ScViewData* pData = pViewShell->GetViewData();
+ ScRangeListRef rRanges;
+ pData->GetMultiArea( rRanges );
+ rCndFmt.AddRangeInfo( rRanges );
aCurPos = ScAddress( pData->GetCurX(), pData->GetCurY(), pData->GetTabNo() );
}
@@ -456,7 +454,6 @@ void ScConditionalFormatDlg::GetConditionalFormat( ScConditionalFormat& rCndFmt
}
}
-
//----------------------------------------------------------------------------
// Zerstoert den Dialog
@@ -465,7 +462,6 @@ BOOL ScConditionalFormatDlg::Close()
return DoClose( ScCondFormatDlgWrapper::GetChildWindowId() );
}
-
//----------------------------------------------------------------------------
// Handler:
@@ -490,7 +486,6 @@ IMPL_LINK( ScConditionalFormatDlg, ClickCond1Hdl, void *, EMPTYARG )
return( 0L );
}
-
//----------------------------------------------------------------------------
// Zellwert/Formel
@@ -518,7 +513,6 @@ IMPL_LINK( ScConditionalFormatDlg, ChangeCond11Hdl, void *, EMPTYARG )
return( 0L );
}
-
//----------------------------------------------------------------------------
// zwischen, gleich, groesser, ...
@@ -528,7 +522,17 @@ IMPL_LINK( ScConditionalFormatDlg, ChangeCond12Hdl, void *, EMPTYARG )
{
USHORT nPos = aLbCond12.GetSelectEntryPos();
- if( nPos == 6 || nPos == 7 ) // zwischen, n. zwischen
+ aEdtCond11.Show();
+ aRbCond11.Show();
+ if( nPos > 7 )
+ {
+ aEdtCond11.Hide();
+ aRbCond11.Hide();
+ aFtCond1And.Hide();
+ aEdtCond12.Hide();
+ aRbCond12.Hide();
+ }
+ else if( nPos == 6 || nPos == 7 ) // zwischen, n. zwischen
{
aEdtCond11.SetSizePixel( aCond1Size3 );
aRbCond11.SetPosPixel( aRBtn1Pos1 );
@@ -549,7 +553,6 @@ IMPL_LINK( ScConditionalFormatDlg, ChangeCond12Hdl, void *, EMPTYARG )
return( 0L );
}
-
//----------------------------------------------------------------------------
// Enabled/Disabled Condition2-Controls
@@ -571,7 +574,6 @@ IMPL_LINK( ScConditionalFormatDlg, ClickCond2Hdl, void *, EMPTYARG )
return( 0L );
}
-
//----------------------------------------------------------------------------
// Zellwert/Formel
@@ -599,7 +601,6 @@ IMPL_LINK( ScConditionalFormatDlg, ChangeCond21Hdl, void *, EMPTYARG )
return( 0L );
}
-
//----------------------------------------------------------------------------
// zwischen, gleich, groesser, ...
@@ -609,7 +610,17 @@ IMPL_LINK( ScConditionalFormatDlg, ChangeCond22Hdl, void *, EMPTYARG )
{
USHORT nPos = aLbCond22.GetSelectEntryPos();
- if( nPos == 6 || nPos == 7 ) // zwischen, n. zwischen
+ aEdtCond21.Show();
+ aRbCond21.Show();
+ if( nPos > 7 )
+ {
+ aEdtCond21.Hide();
+ aRbCond21.Hide();
+ aFtCond2And.Hide();
+ aEdtCond22.Hide();
+ aRbCond22.Hide();
+ }
+ else if( nPos == 6 || nPos == 7 ) // zwischen, n. zwischen
{
aEdtCond21.SetSizePixel( aCond2Size3 );
aRbCond21.SetPosPixel( aRBtn2Pos1 );
@@ -630,7 +641,6 @@ IMPL_LINK( ScConditionalFormatDlg, ChangeCond22Hdl, void *, EMPTYARG )
return( 0L );
}
-
//----------------------------------------------------------------------------
// Enabled/Disabled Condition3-Controls
@@ -652,7 +662,6 @@ IMPL_LINK( ScConditionalFormatDlg, ClickCond3Hdl, void *, EMPTYARG )
return( 0L );
}
-
//----------------------------------------------------------------------------
// Zellwert/Formel
@@ -680,7 +689,6 @@ IMPL_LINK( ScConditionalFormatDlg, ChangeCond31Hdl, void *, EMPTYARG )
return( 0L );
}
-
//----------------------------------------------------------------------------
// zwischen, gleich, groesser, ...
@@ -690,7 +698,17 @@ IMPL_LINK( ScConditionalFormatDlg, ChangeCond32Hdl, void *, EMPTYARG )
{
USHORT nPos = aLbCond32.GetSelectEntryPos();
- if( nPos == 6 || nPos == 7 ) // zwischen, n. zwischen
+ aEdtCond31.Show();
+ aRbCond31.Show();
+ if( nPos > 7 )
+ {
+ aEdtCond31.Hide();
+ aRbCond31.Hide();
+ aFtCond3And.Hide();
+ aEdtCond32.Hide();
+ aRbCond32.Hide();
+ }
+ else if( nPos == 6 || nPos == 7 ) // zwischen, n. zwischen
{
aEdtCond31.SetSizePixel( aCond3Size3 );
aRbCond31.SetPosPixel( aRBtn3Pos1 );
@@ -711,7 +729,6 @@ IMPL_LINK( ScConditionalFormatDlg, ChangeCond32Hdl, void *, EMPTYARG )
return( 0L );
}
-
//----------------------------------------------------------------------------
IMPL_LINK( ScConditionalFormatDlg, GetFocusHdl, Control*, pCtrl )
@@ -737,7 +754,6 @@ IMPL_LINK( ScConditionalFormatDlg, GetFocusHdl, Control*, pCtrl )
return 0;
}
-
//----------------------------------------------------------------------------
IMPL_LINK( ScConditionalFormatDlg, LoseFocusHdl, Control*, EMPTYARG )
@@ -746,7 +762,6 @@ IMPL_LINK( ScConditionalFormatDlg, LoseFocusHdl, Control*, EMPTYARG )
return 0;
}
-
//----------------------------------------------------------------------------
// [OK], [Cancel]
@@ -771,7 +786,6 @@ IMPL_LINK( ScConditionalFormatDlg, BtnHdl, PushButton*, pBtn )
return( 0L );
}
-
//----------------------------------------------------------------------------
IMPL_LINK( ScConditionalFormatDlg, NewBtnHdl, PushButton*, pBtn )
diff --git a/sc/source/ui/attrdlg/makefile.mk b/sc/source/ui/attrdlg/makefile.mk
index 9b4dc49dec57..a979840b6063 100644
--- a/sc/source/ui/attrdlg/makefile.mk
+++ b/sc/source/ui/attrdlg/makefile.mk
@@ -42,12 +42,16 @@ CXXFILES = attrdlg.cxx \
tabpages.cxx \
condfrmt.cxx
-SLOFILES = $(SLO)$/attrdlg.obj \
- $(SLO)$/tabpages.obj \
+SLOFILES = \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES = \
+ $(SLO)$/attrdlg.obj \
$(SLO)$/condfrmt.obj \
$(SLO)$/scabstdlg.obj \
- $(SLO)$/scuiexp.obj \
- $(SLO)$/scdlgfact.obj
+ $(SLO)$/scdlgfact.obj \
+ $(SLO)$/scuiexp.obj \
+ $(SLO)$/tabpages.obj
LIB1TARGET = $(SLB)$/$(TARGET).lib
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx
index b4035b187197..64006c450e44 100644
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@ -38,91 +38,91 @@
#include "scdlgfact.hxx"
#include "sc.hrc"
-#include "scuiasciiopt.hxx" //add for ScImportAsciiDlg
-#include "scuiautofmt.hxx" //add for ScAutoFormatDlg
-#include "corodlg.hxx" //add for ScColRowLabelDlg
-#include "crdlg.hxx" //add for ScColOrRowDlg
-#include "dapidata.hxx" //add for ScDataPilotDatabaseDlg
-#include "dapitype.hxx" //add for ScDataPilotSourceTypeDlg, ScDataPilotServiceDlg
-#include "delcldlg.hxx" //add for ScDeleteCellDlg
-#include "delcodlg.hxx" //add for ScDeleteContentsDlg
-#include "filldlg.hxx" //add for ScFillSeriesDlg
-#include "groupdlg.hxx" //add for ScGroupDlg
-#include "inscldlg.hxx" //add for ScInsertCellDlg
-#include "inscodlg.hxx" //add for ScInsertContentsDlg
-#include "instbdlg.hxx" //add for ScInsertTableDlg
-#include "lbseldlg.hxx" //add for ScSelEntryDlg
-#include "linkarea.hxx" //add for ScLinkedAreaDlg
-#include "mtrindlg.hxx" //add for ScMetricInputDlg
-#include "mvtabdlg.hxx" //add for ScMoveTableDlg
-#include "namecrea.hxx" //add for ScNameCreateDlg
-#include "namepast.hxx" //add for ScNamePasteDlg
-#include "pfiltdlg.hxx" //add for ScPivotFilterDlg
-#include "pvfundlg.hxx" //add for ScDPFunctionDlg
+#include "scuiasciiopt.hxx"
+#include "scuiautofmt.hxx"
+#include "corodlg.hxx"
+#include "crdlg.hxx"
+#include "dapidata.hxx"
+#include "dapitype.hxx"
+#include "delcldlg.hxx"
+#include "delcodlg.hxx"
+#include "filldlg.hxx"
+#include "groupdlg.hxx"
+#include "inscldlg.hxx"
+#include "inscodlg.hxx"
+#include "instbdlg.hxx"
+#include "lbseldlg.hxx"
+#include "linkarea.hxx"
+#include "mtrindlg.hxx"
+#include "mvtabdlg.hxx"
+#include "namecrea.hxx"
+#include "namepast.hxx"
+#include "pfiltdlg.hxx"
+#include "pvfundlg.hxx"
#include "dpgroupdlg.hxx"
-#include "scendlg.hxx" //add for ScNewScenarioDlg
-#include "shtabdlg.hxx" //add for ScShowTabDlg
-#include "strindlg.hxx" //add for ScStringInputDlg
-#include "tabbgcolordlg.hxx"//add for ScTabBgColorDlg
-#include "scuiimoptdlg.hxx" //add for ScImportOptionsDlg
-#include "attrdlg.hxx" //add for ScAttrDlg
-#include "hfedtdlg.hxx" //add for ScHFEditDlg
-#include "styledlg.hxx" //add for ScStyleDlg
-#include "subtdlg.hxx" //add for ScSubTotalDlg
-#include "textdlgs.hxx" //add for ScCharDlg, ScParagraphDlg
-#include "validate.hxx" //add for ScValidationDlg
-#include "validate.hrc" //add for ScValidationDlg
-#include "sortdlg.hxx" //add for ScSortDlg
+#include "scendlg.hxx"
+#include "shtabdlg.hxx"
+#include "strindlg.hxx"
+#include "tabbgcolordlg.hxx"
+#include "scuiimoptdlg.hxx"
+#include "attrdlg.hxx"
+#include "hfedtdlg.hxx"
+#include "styledlg.hxx"
+#include "subtdlg.hxx"
+#include "textdlgs.hxx"
+#include "validate.hxx"
+#include "validate.hrc"
+#include "sortdlg.hxx"
#include "textimportoptions.hxx"
-#include "opredlin.hxx" //add for ScRedlineOptionsTabPage
-#include "tpcalc.hxx" //add for ScTpCalcOptions
-#include "tpprint.hxx" //add for ScTpPrintOptions
-#include "tpstat.hxx" //add for ScDocStatPage
-#include "tpusrlst.hxx" //add for ScTpUserLists
-#include "tpview.hxx" //add for ScTpContentOptions
+#include "opredlin.hxx"
+#include "tpcalc.hxx"
+#include "tpprint.hxx"
+#include "tpstat.hxx"
+#include "tpusrlst.hxx"
+#include "tpview.hxx"
#include "tpformula.hxx"
-#include "datafdlg.hxx" //add for ScDataFormDlg
+#include "datafdlg.hxx"
#include "tpcompatibility.hxx"
// ause
#include "editutil.hxx"
#include <sfx2/layout.hxx>
-IMPL_ABSTDLG_BASE(VclAbstractDialog_Impl); //add for ScColOrRowDlg
-IMPL_ABSTDLG_BASE(AbstractScImportAsciiDlg_Impl);//add for ScImportAsciiDlg
-IMPL_ABSTDLG_BASE(AbstractScAutoFormatDlg_Impl); //add for ScAutoFormatDlg
-IMPL_ABSTDLG_BASE(AbstractScColRowLabelDlg_Impl); //add for ScColRowLabelDlg
-IMPL_ABSTDLG_BASE(AbstractScDataPilotDatabaseDlg_Impl); //add for ScDataPilotDatabaseDlg
-IMPL_ABSTDLG_BASE(AbstractScDataPilotSourceTypeDlg_Impl); //add for ScDataPilotSourceTypeDlg
-IMPL_ABSTDLG_BASE(AbstractScDataPilotServiceDlg_Impl); //add for ScDataPilotServiceDlg
-IMPL_ABSTDLG_BASE(AbstractScDeleteCellDlg_Impl); //add for ScDeleteCellDlg
+IMPL_ABSTDLG_BASE(VclAbstractDialog_Impl);
+IMPL_ABSTDLG_BASE(AbstractScImportAsciiDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScAutoFormatDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScColRowLabelDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScDataPilotDatabaseDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScDataPilotSourceTypeDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScDataPilotServiceDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScDeleteCellDlg_Impl);
//for dataform
-IMPL_ABSTDLG_BASE(AbstractScDataFormDlg_Impl); //add for ScDataFormDlg
-IMPL_ABSTDLG_BASE(AbstractScDeleteContentsDlg_Impl); //add for ScDeleteContentsDlg
-IMPL_ABSTDLG_BASE(AbstractScFillSeriesDlg_Impl); //add for ScFillSeriesDlg
-IMPL_ABSTDLG_BASE(AbstractScGroupDlg_Impl); //add for ScGroupDlg
-IMPL_ABSTDLG_BASE(AbstractScInsertCellDlg_Impl); //add for ScInsertCellDlg
-IMPL_ABSTDLG_BASE(AbstractScInsertContentsDlg_Impl); //add for ScInsertContentsDlg
-IMPL_ABSTDLG_BASE(AbstractScInsertTableDlg_Impl); //add for ScInsertTableDlg
-IMPL_ABSTDLG_BASE(AbstractScSelEntryDlg_Impl); //add for ScSelEntryDlg
-IMPL_ABSTDLG2_BASE(AbstractScLinkedAreaDlg_Impl); //add for ScLinkedAreaDlg
-IMPL_ABSTDLG_BASE(AbstractScMetricInputDlg_Impl); //add for ScMetricInputDlg
-IMPL_ABSTDLG_BASE(AbstractScMoveTableDlg_Impl); //add for ScMoveTableDlg
-IMPL_ABSTDLG_BASE(AbstractScNameCreateDlg_Impl); //add for ScNameCreateDlg
-IMPL_ABSTDLG_BASE(AbstractScNamePasteDlg_Impl); //add for ScNamePasteDlg
-IMPL_ABSTDLG_BASE(AbstractScPivotFilterDlg_Impl); //add for ScPivotFilterDlg
-IMPL_ABSTDLG_BASE(AbstractScDPFunctionDlg_Impl); //add for ScDPFunctionDlg
-IMPL_ABSTDLG_BASE(AbstractScDPSubtotalDlg_Impl); //add for ScDPSubtotalDlg
+IMPL_ABSTDLG_BASE(AbstractScDataFormDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScDeleteContentsDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScFillSeriesDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScGroupDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScInsertCellDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScInsertContentsDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScInsertTableDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScSelEntryDlg_Impl);
+IMPL_ABSTDLG2_BASE(AbstractScLinkedAreaDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScMetricInputDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScMoveTableDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScNameCreateDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScNamePasteDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScPivotFilterDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScDPFunctionDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScDPSubtotalDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScDPNumGroupDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScDPDateGroupDlg_Impl);
-IMPL_ABSTDLG_BASE(AbstractScDPShowDetailDlg_Impl); //add for ScDPShowDetailDlg
-IMPL_ABSTDLG_BASE(AbstractScNewScenarioDlg_Impl); //add for ScNewScenarioDlg
-IMPL_ABSTDLG_BASE(AbstractScShowTabDlg_Impl); //add for ScShowTabDlg
-IMPL_ABSTDLG_BASE(AbstractScStringInputDlg_Impl); //add for ScStringInputDlg
-IMPL_ABSTDLG_BASE(AbstractScTabBgColorDlg_Impl); //add for ScTabBgColorDlg
-IMPL_ABSTDLG_BASE(AbstractScImportOptionsDlg_Impl); //add for ScImportOptionsDlg
+IMPL_ABSTDLG_BASE(AbstractScDPShowDetailDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScNewScenarioDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScShowTabDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScStringInputDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScTabBgColorDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScImportOptionsDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScTextImportOptionsDlg_Impl);
-IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl); //add for ScAttrDlg, ScHFEditDlg, ScStyleDlg, ScSubTotalDlg,ScCharDlg, ScParagraphDlg, ScValidationDlg, ScSortDlg
+IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl);
// AbstractTabDialog_Impl begin
void AbstractTabDialog_Impl::SetCurPageId( USHORT nId )
@@ -157,7 +157,7 @@ String AbstractTabDialog_Impl::GetText() const
#if ENABLE_LAYOUT
namespace layout
{
-IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl); //add for ScAttrDlg, ScHFEditDlg, ScStyleDlg, ScSubTotalDlg,ScCharDlg, ScParagraphDlg, ScValidationDlg, ScSortDlg
+IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl);
// AbstractTabDialog_Impl begin
void AbstractTabDialog_Impl::SetCurPageId( USHORT nId )
@@ -191,7 +191,7 @@ String AbstractTabDialog_Impl::GetText() const
}
#endif /* ENABLE_LAYOUT */
-//add for AbstractTabDialog_Impl end
+
// AbstractScImportAsciiDlg_Impl begin
void AbstractScImportAsciiDlg_Impl::GetOptions( ScAsciiOptions& rOpt )
{
@@ -289,13 +289,13 @@ String AbstractScDataPilotServiceDlg_Impl::GetParPass() const
//AbstractScDataPilotServiceDlg_Impl end
//AbstractScDeleteCellDlg_Impl begin
-DelCellCmd AbstractScDeleteCellDlg_Impl::GetDelCellCmd() const //add for ScDeleteCellDlg
+DelCellCmd AbstractScDeleteCellDlg_Impl::GetDelCellCmd() const
{
return pDlg->GetDelCellCmd();
}
//AbstractScDeleteCellDlg_Impl end
-//add for AbstractScDeleteContentsDlg_Impl begin
+
void AbstractScDeleteContentsDlg_Impl::DisableObjects()
{
pDlg->DisableObjects();
@@ -304,9 +304,9 @@ USHORT AbstractScDeleteContentsDlg_Impl::GetDelContentsCmdBits() const
{
return pDlg->GetDelContentsCmdBits();
}
-//add for AbstractScDeleteContentsDlg_Impl end
-//add for AbstractScFillSeriesDlg_Impl begin
+
+
FillDir AbstractScFillSeriesDlg_Impl::GetFillDir() const
{
return pDlg->GetFillDir();
@@ -342,26 +342,26 @@ void AbstractScFillSeriesDlg_Impl::SetEdStartValEnabled(BOOL bFlag)
{
pDlg->SetEdStartValEnabled(bFlag);
}
-//add for AbstractScFillSeriesDlg_Impl end
-//add for AbstractScGroupDlg_Impl begin
+
+
BOOL AbstractScGroupDlg_Impl::GetColsChecked() const
{
return pDlg->GetColsChecked();
}
-//add for AbstractScGroupDlg_Impl end
-//add for AbstractScInsertCellDlg_Impl begin
+
+
InsCellCmd AbstractScInsertCellDlg_Impl::GetInsCellCmd() const
{
return pDlg->GetInsCellCmd();
}
-//add for AbstractScInsertCellDlg_Impl end
-//add for AbstractScInsertContentsDlg_Impl begin
+
+
USHORT AbstractScInsertContentsDlg_Impl::GetInsContentsCmdBits() const
{
return pDlg->GetInsContentsCmdBits();
@@ -407,10 +407,10 @@ InsCellCmd AbstractScInsertContentsDlg_Impl::GetMoveMode()
{
return pDlg->GetMoveMode();
}
-//add for AbstractScInsertContentsDlg_Impl end
-//add for AbstractScInsertTableDlg_Impl begin
+
+
BOOL AbstractScInsertTableDlg_Impl::GetTablesFromFile()
{
return pDlg->GetTablesFromFile();
@@ -440,16 +440,16 @@ const String* AbstractScInsertTableDlg_Impl::GetNextTable( USHORT* pN )
{
return pDlg->GetNextTable( pN );
}
-//add for AbstractScInsertTableDlg_Impl end
-//add for AbstractScSelEntryDlg_Impl begin
+
+
String AbstractScSelEntryDlg_Impl::GetSelectEntry() const
{
return pDlg->GetSelectEntry();
}
-//add for AbstractScSelEntryDlg_Impl end
-//add for AbstractScLinkedAreaDlg_Impl begin
+
+
void AbstractScLinkedAreaDlg_Impl::InitFromOldLink( const String& rFile, const String& rFilter,
const String& rOptions, const String& rSource,
ULONG nRefresh )
@@ -477,19 +477,19 @@ ULONG AbstractScLinkedAreaDlg_Impl::GetRefresh()
{
return pDlg->GetRefresh();
}
-//add for AbstractScLinkedAreaDlg_Impl end
-//add for AbstractScMetricInputDlg_Impl begin
+
+
long AbstractScMetricInputDlg_Impl::GetInputValue( FieldUnit eUnit ) const
{
return pDlg->GetInputValue( eUnit );
}
-//add for AbstractScMetricInputDlg_Impl end
-//add for AbstractScMoveTableDlg_Impl begin
-USHORT AbstractScMoveTableDlg_Impl::GetSelectedDocument() const //add for ScMoveTableDlg
+
+
+USHORT AbstractScMoveTableDlg_Impl::GetSelectedDocument() const
{
return pDlg->GetSelectedDocument();
}
@@ -498,44 +498,57 @@ USHORT AbstractScMoveTableDlg_Impl::GetSelectedTable() const
{
return pDlg->GetSelectedTable();
}
-BOOL AbstractScMoveTableDlg_Impl::GetCopyTable() const
+bool AbstractScMoveTableDlg_Impl::GetCopyTable() const
{
return pDlg->GetCopyTable();
}
-void AbstractScMoveTableDlg_Impl::SetCopyTable(BOOL bFla)
+bool AbstractScMoveTableDlg_Impl::GetRenameTable() const
+{
+ return pDlg->GetRenameTable();
+}
+void AbstractScMoveTableDlg_Impl::GetTabNameString( String& rString ) const
+{
+ pDlg->GetTabNameString( rString );
+}
+void AbstractScMoveTableDlg_Impl::SetForceCopyTable()
{
- return pDlg->SetCopyTable( bFla );
+ return pDlg->SetForceCopyTable();
}
void AbstractScMoveTableDlg_Impl::EnableCopyTable(BOOL bFlag)
{
return pDlg->EnableCopyTable( bFlag);
}
-//add for AbstractScMoveTableDlg_Impl end
+void AbstractScMoveTableDlg_Impl::EnableRenameTable(BOOL bFlag)
+{
+ return pDlg->EnableRenameTable( bFlag);
+}
+
+
-//add for AbstractScNameCreateDlg_Impl begin
-USHORT AbstractScNameCreateDlg_Impl::GetFlags() const //add for ScNameCreateDlg
+
+USHORT AbstractScNameCreateDlg_Impl::GetFlags() const
{
return pDlg->GetFlags();
}
-//add for AbstractScNameCreateDlg_Impl end
-//add for AbstractScNamePasteDlg_Impl begin
-String AbstractScNamePasteDlg_Impl::GetSelectedName() const //add for ScNamePasteDlg
+
+
+String AbstractScNamePasteDlg_Impl::GetSelectedName() const
{
return pDlg->GetSelectedName();
}
-//add for AbstractScNamePasteDlg_Impl end
-//add for AbstractScPivotFilterDlg_Impl begin
-const ScQueryItem& AbstractScPivotFilterDlg_Impl::GetOutputItem() //add for ScPivotFilterDlg
+
+
+const ScQueryItem& AbstractScPivotFilterDlg_Impl::GetOutputItem()
{
return pDlg->GetOutputItem();
}
-//add for AbstractScPivotFilterDlg_Impl end
-//add for AbstractScDPFunctionDlg_Impl begin
-USHORT AbstractScDPFunctionDlg_Impl::GetFuncMask() const //add for ScDPFunctionDlg
+
+
+USHORT AbstractScDPFunctionDlg_Impl::GetFuncMask() const
{
return pDlg->GetFuncMask();
}
@@ -543,10 +556,10 @@ USHORT AbstractScDPFunctionDlg_Impl::GetFuncMask() const //add for ScDPFunctionD
{
return pDlg->GetFieldRef();
}
-//add for AbstractScDPFunctionDlg_Impl end
-//add for AbstractScDPSubtotalDlg_Impl begin
-USHORT AbstractScDPSubtotalDlg_Impl::GetFuncMask() const //add for ScDPSubtotalDlg
+
+
+USHORT AbstractScDPSubtotalDlg_Impl::GetFuncMask() const
{
return pDlg->GetFuncMask();
}
@@ -554,7 +567,7 @@ void AbstractScDPSubtotalDlg_Impl::FillLabelData( ScDPLabelData& rLabelData ) co
{
pDlg->FillLabelData( rLabelData );
}
-//add for AbstractScDPSubtotalDlg_Impl end
+
ScDPNumGroupInfo AbstractScDPNumGroupDlg_Impl::GetGroupInfo() const
{
@@ -571,14 +584,14 @@ sal_Int32 AbstractScDPDateGroupDlg_Impl::GetDatePart() const
return pDlg->GetDatePart();
}
-//add for AbstractScDPShowDetailDlg_Impl begin
+
String AbstractScDPShowDetailDlg_Impl::GetDimensionName() const
{
return pDlg->GetDimensionName();
}
-//add for AbstractScDPShowDetailDlg_Impl end
-//add for AbstractScNewScenarioDlg_Impl begin
+
+
void AbstractScNewScenarioDlg_Impl::SetScenarioData( const String& rName, const String& rComment,
const Color& rColor, USHORT nFlags )
{
@@ -591,10 +604,10 @@ void AbstractScNewScenarioDlg_Impl::GetScenarioData( String& rName, String& rCom
pDlg->GetScenarioData( rName,rComment,rColor,rFlags);
}
-//add for AbstractScNewScenarioDlg_Impl end
-//add for AbstractScShowTabDlg_Impl begin
-void AbstractScShowTabDlg_Impl::Insert( const String& rString, BOOL bSelected ) //add for ScShowTabDlg
+
+
+void AbstractScShowTabDlg_Impl::Insert( const String& rString, BOOL bSelected )
{
pDlg->Insert( rString, bSelected);
}
@@ -617,31 +630,31 @@ String AbstractScShowTabDlg_Impl::GetSelectEntry(USHORT nPos) const
{
return pDlg->GetSelectEntry(nPos);
}
-//add for AbstractScShowTabDlg_Impl end
-//add for AbstractScStringInputDlg_Impl begin
-void AbstractScStringInputDlg_Impl::GetInputString( String& rString ) const //add for ScStringInputDlg
+
+
+void AbstractScStringInputDlg_Impl::GetInputString( String& rString ) const
{
pDlg->GetInputString( rString );
}
-//add for AbstractScStringInputDlg_Impl end
-//add for AbstractScTabBgColorDlg_Impl begin
-void AbstractScTabBgColorDlg_Impl::GetSelectedColor( Color& rColor ) const //add for ScTabBgColorDlg
+
+
+void AbstractScTabBgColorDlg_Impl::GetSelectedColor( Color& rColor ) const
{
pDlg->GetSelectedColor( rColor );
}
-//add for AbstractScTabBgColorDlg_Impl end
-//add for AbstractScImportOptionsDlg_Impl begin
-void AbstractScImportOptionsDlg_Impl::GetImportOptions( ScImportOptions& rOptions ) const //add for ScImportOptionsDlg
+
+
+void AbstractScImportOptionsDlg_Impl::GetImportOptions( ScImportOptions& rOptions ) const
{
pDlg->GetImportOptions(rOptions);
}
// add for AbstractScImportOptionsDlg_Impl end
-//add for AbstractScLangChooserDlg_Impl begin
+
LanguageType AbstractScTextImportOptionsDlg_Impl::GetLanguageType() const
{
return pDlg->getLanguageType();
@@ -652,11 +665,11 @@ bool AbstractScTextImportOptionsDlg_Impl::IsDateConversionSet() const
return pDlg->isDateConversionSet();
}
-//add for AbstractScLangChooserDlg_Impl end
+
// =========================Factories for createdialog ===================
-//add for ScImportAsciiDlg begin
+
AbstractScImportAsciiDlg * ScAbstractDialogFactory_Impl::CreateScImportAsciiDlg ( Window* pParent, String aDatName,
SvStream* pInStream, int nId, sal_Unicode cSep )
{
@@ -691,9 +704,9 @@ AbstractScTextImportOptionsDlg * ScAbstractDialogFactory_Impl::CreateScTextImpor
return pDlg ? new AbstractScTextImportOptionsDlg_Impl(pDlg) : NULL;
}
-//add for ScAutoFormatDlg begin
-AbstractScAutoFormatDlg * ScAbstractDialogFactory_Impl::CreateScAutoFormatDlg( Window* pParent, //add for ScAutoFormatDlg
+
+AbstractScAutoFormatDlg * ScAbstractDialogFactory_Impl::CreateScAutoFormatDlg( Window* pParent,
ScAutoFormat* pAutoFormat,
const ScAutoFormatData* pSelFormatData,
ScDocument* pDoc,
@@ -713,11 +726,11 @@ AbstractScAutoFormatDlg * ScAbstractDialogFactory_Impl::CreateScAutoFormatDlg( W
return new AbstractScAutoFormatDlg_Impl( pDlg );
return 0;
}
-//add for ScAutoFormatDlg end
-//add for ScColRowLabelDlg begin
-AbstractScColRowLabelDlg * ScAbstractDialogFactory_Impl::CreateScColRowLabelDlg(Window* pParent, //add for ScColRowLabelDlg
+
+
+AbstractScColRowLabelDlg * ScAbstractDialogFactory_Impl::CreateScColRowLabelDlg(Window* pParent,
int nId,
BOOL bCol ,
BOOL bRow)
@@ -736,10 +749,10 @@ AbstractScColRowLabelDlg * ScAbstractDialogFactory_Impl::CreateScColRowLabelDlg
return new AbstractScColRowLabelDlg_Impl( pDlg );
return 0;
}
-//add for ScColRowLabelDlg end
-//add for ScColOrRowDlg begin
+
+
VclAbstractDialog * ScAbstractDialogFactory_Impl::CreateScColOrRowDlg(Window* pParent,
const String& rStrTitle,
@@ -761,9 +774,9 @@ VclAbstractDialog * ScAbstractDialogFactory_Impl::CreateScColOrRowDlg(Window*
return new VclAbstractDialog_Impl( pDlg );
return 0;
}
-//add for ScColOrRowDlg end
-//add for ScSortWarningDlg begin
+
+
VclAbstractDialog * ScAbstractDialogFactory_Impl::CreateScSortWarningDlg( Window* pParent, const String& rExtendText,
const String& rCurrentText, int nId )
{
@@ -780,12 +793,12 @@ VclAbstractDialog * ScAbstractDialogFactory_Impl::CreateScSortWarningDlg( Window
return new VclAbstractDialog_Impl( pDlg );
return 0;
}
-//add for ScSortWarningDlg end
-//add for ScDataPilotDatabaseDlg begin
+
+
AbstractScDataPilotDatabaseDlg * ScAbstractDialogFactory_Impl::CreateScDataPilotDatabaseDlg (Window* pParent ,
- int nId ) //add for ScDataPilotDatabaseDlg
+ int nId )
{
ScDataPilotDatabaseDlg * pDlg=NULL;
switch ( nId )
@@ -801,9 +814,9 @@ AbstractScDataPilotDatabaseDlg * ScAbstractDialogFactory_Impl::CreateScDataPilo
return new AbstractScDataPilotDatabaseDlg_Impl( pDlg );
return 0;
}
-//add for ScDataPilotDatabaseDlg end
-//add for ScDataPilotSourceTypeDlg begin
+
+
AbstractScDataPilotSourceTypeDlg* ScAbstractDialogFactory_Impl::CreateScDataPilotSourceTypeDlg( Window* pParent,
BOOL bEnableExternal,
int nId )
@@ -826,7 +839,7 @@ AbstractScDataPilotSourceTypeDlg* ScAbstractDialogFactory_Impl::CreateScDataPilo
// add for ScDataPilotSourceTypeDlg end
-//add for ScDataPilotServiceDlg begin
+
AbstractScDataPilotServiceDlg* ScAbstractDialogFactory_Impl::CreateScDataPilotServiceDlg( Window* pParent,
const com::sun::star::uno::Sequence<rtl::OUString>& rServices,
int nId )
@@ -848,7 +861,7 @@ AbstractScDataPilotServiceDlg* ScAbstractDialogFactory_Impl::CreateScDataPilotSe
// add for ScDataPilotServiceDlg end
-//add for ScDeleteCellDlg begin
+
AbstractScDeleteCellDlg* ScAbstractDialogFactory_Impl::CreateScDeleteCellDlg( Window* pParent, int nId,
BOOL bDisallowCellMove )
{
@@ -867,9 +880,9 @@ AbstractScDeleteCellDlg* ScAbstractDialogFactory_Impl::CreateScDeleteCellDlg( Wi
return 0;
}
-//add for ScDeleteCellDlg end
-//add for ScDataFormDlg begin
+
+
AbstractScDataFormDlg* ScAbstractDialogFactory_Impl::CreateScDataFormDlg( Window* pParent, int nId, ScTabViewShell* pTabViewShell )
{
ScDataFormDlg * pDlg=NULL;
@@ -887,10 +900,10 @@ AbstractScDataFormDlg* ScAbstractDialogFactory_Impl::CreateScDataFormDlg( Window
return 0;
}
-//add for ScDataFormDlg end
-//add for ScDeleteContentsDlg begin
-AbstractScDeleteContentsDlg* ScAbstractDialogFactory_Impl::CreateScDeleteContentsDlg(Window* pParent,int nId, //add for ScDeleteContentsDlg
+
+
+AbstractScDeleteContentsDlg* ScAbstractDialogFactory_Impl::CreateScDeleteContentsDlg(Window* pParent,int nId,
USHORT nCheckDefaults )
{
ScDeleteContentsDlg * pDlg=NULL;
@@ -908,10 +921,10 @@ AbstractScDeleteContentsDlg* ScAbstractDialogFactory_Impl::CreateScDeleteContent
return 0;
}
-//add for ScDeleteContentsDlg end
-//add for ScFillSeriesDlg begin
-AbstractScFillSeriesDlg* ScAbstractDialogFactory_Impl::CreateScFillSeriesDlg( Window* pParent, //add for ScFillSeriesDlg
+
+
+AbstractScFillSeriesDlg* ScAbstractDialogFactory_Impl::CreateScFillSeriesDlg( Window* pParent,
ScDocument& rDocument,
FillDir eFillDir,
FillCmd eFillCmd,
@@ -937,9 +950,9 @@ AbstractScFillSeriesDlg* ScAbstractDialogFactory_Impl::CreateScFillSeriesDlg( Wi
return 0;
}
-//add for ScFillSeriesDlg end
-//add for ScGroupDlg begin
+
+
AbstractScGroupDlg* ScAbstractDialogFactory_Impl::CreateAbstractScGroupDlg( Window* pParent,
USHORT nResId,
int nId,
@@ -962,11 +975,11 @@ AbstractScGroupDlg* ScAbstractDialogFactory_Impl::CreateAbstractScGroupDlg( Wind
return 0;
}
-//add for ScGroupDlg end
-//add for ScInsertCellDlg begin
-AbstractScInsertCellDlg * ScAbstractDialogFactory_Impl::CreateScInsertCellDlg( Window* pParent, //add for ScInsertCellDlg
+
+
+AbstractScInsertCellDlg * ScAbstractDialogFactory_Impl::CreateScInsertCellDlg( Window* pParent,
int nId,
BOOL bDisallowCellMove )
{
@@ -985,9 +998,9 @@ AbstractScInsertCellDlg * ScAbstractDialogFactory_Impl::CreateScInsertCellDlg( W
return 0;
}
-//add for ScInsertCellDlg end
-//add for ScInsertContentsDlg begin
+
+
AbstractScInsertContentsDlg * ScAbstractDialogFactory_Impl::CreateScInsertContentsDlg( Window* pParent,
int nId,
USHORT nCheckDefaults,
@@ -1007,9 +1020,9 @@ AbstractScInsertContentsDlg * ScAbstractDialogFactory_Impl::CreateScInsertConten
return new AbstractScInsertContentsDlg_Impl( pDlg );
return 0;
}
-//add for ScInsertContentsDlg end
-//add for ScInsertTableDlg begin
+
+
AbstractScInsertTableDlg * ScAbstractDialogFactory_Impl::CreateScInsertTableDlg ( Window* pParent, ScViewData& rViewData,
SCTAB nTabCount, bool bFromFile, int nId)
{
@@ -1027,7 +1040,7 @@ AbstractScInsertTableDlg * ScAbstractDialogFactory_Impl::CreateScInsertTableDlg
return new AbstractScInsertTableDlg_Impl( pDlg );
return 0;
}
-//add for ScInsertTableDlg end
+
// add for ScSelEntryDlg begin
AbstractScSelEntryDlg * ScAbstractDialogFactory_Impl::CreateScSelEntryDlg ( Window* pParent,
@@ -1053,7 +1066,7 @@ AbstractScSelEntryDlg * ScAbstractDialogFactory_Impl::CreateScSelEntryDlg ( Wind
}
// add for ScSelEntryDlg end
-//add for ScLinkedAreaDlg begin
+
AbstractScLinkedAreaDlg * ScAbstractDialogFactory_Impl::CreateScLinkedAreaDlg ( Window* pParent,
int nId)
{
@@ -1071,9 +1084,9 @@ AbstractScLinkedAreaDlg * ScAbstractDialogFactory_Impl::CreateScLinkedAreaDlg (
return new AbstractScLinkedAreaDlg_Impl( pDlg );
return 0;
}
-//add for ScLinkedAreaDlg end
-//add for ScMetricInputDlg begin
+
+
AbstractScMetricInputDlg * ScAbstractDialogFactory_Impl::CreateScMetricInputDlg ( Window* pParent,
USHORT nResId, // Ableitung fuer jeden Dialog!
long nCurrent,
@@ -1104,17 +1117,19 @@ AbstractScMetricInputDlg * ScAbstractDialogFactory_Impl::CreateScMetricInputDlg
return new AbstractScMetricInputDlg_Impl( pDlg );
return 0;
}
-//add for ScMetricInputDlg end
-//add for ScMoveTableDlg begin
-AbstractScMoveTableDlg * ScAbstractDialogFactory_Impl::CreateScMoveTableDlg( Window* pParent, int nId )
+
+
+AbstractScMoveTableDlg * ScAbstractDialogFactory_Impl::CreateScMoveTableDlg( Window* pParent,
+ const String& rDefault,
+ int nId )
{
ScMoveTableDlg * pDlg=NULL;
switch ( nId )
{
case RID_SCDLG_MOVETAB :
- pDlg = new ScMoveTableDlg( pParent );
+ pDlg = new ScMoveTableDlg( pParent, rDefault );
break;
default:
break;
@@ -1124,10 +1139,10 @@ AbstractScMoveTableDlg * ScAbstractDialogFactory_Impl::CreateScMoveTableDlg( Wi
return new AbstractScMoveTableDlg_Impl( pDlg );
return 0;
}
-//add for ScMoveTableDlg end
-//add for ScNameCreateDlg begin
+
+
AbstractScNameCreateDlg * ScAbstractDialogFactory_Impl::CreateScNameCreateDlg ( Window * pParent, USHORT nFlags, int nId )
{
ScNameCreateDlg * pDlg=NULL;
@@ -1144,10 +1159,10 @@ AbstractScNameCreateDlg * ScAbstractDialogFactory_Impl::CreateScNameCreateDlg (
return new AbstractScNameCreateDlg_Impl( pDlg );
return 0;
}
-//add for ScNameCreateDlg end
-//add for ScNamePasteDlg begin
+
+
AbstractScNamePasteDlg * ScAbstractDialogFactory_Impl::CreateScNamePasteDlg ( Window * pParent, const ScRangeName* pList,
int nId , BOOL bInsList )
{
@@ -1165,9 +1180,9 @@ AbstractScNameCreateDlg * ScAbstractDialogFactory_Impl::CreateScNameCreateDlg (
return new AbstractScNamePasteDlg_Impl( pDlg );
return 0;
}
-//add for ScNamePasteDlg end
-//add for ScPivotFilterDlg begin
+
+
AbstractScPivotFilterDlg * ScAbstractDialogFactory_Impl::CreateScPivotFilterDlg ( Window* pParent,
const SfxItemSet& rArgSet, USHORT nSourceTab , int nId )
{
@@ -1185,10 +1200,10 @@ AbstractScPivotFilterDlg * ScAbstractDialogFactory_Impl::CreateScPivotFilterDlg
return new AbstractScPivotFilterDlg_Impl( pDlg );
return 0;
}
-//add for ScPivotFilterDlg end
-//add for ScDPFunctionDlg begin
+
+
AbstractScDPFunctionDlg * ScAbstractDialogFactory_Impl::CreateScDPFunctionDlg ( Window* pParent,
int nId,
const ScDPLabelDataVec& rLabelVec,
@@ -1209,9 +1224,9 @@ AbstractScDPFunctionDlg * ScAbstractDialogFactory_Impl::CreateScDPFunctionDlg (
return new AbstractScDPFunctionDlg_Impl( pDlg );
return 0;
}
-//add for ScDPFunctionDlg end
-//add for ScDPSubtotalDlg begin
+
+
AbstractScDPSubtotalDlg * ScAbstractDialogFactory_Impl::CreateScDPSubtotalDlg ( Window* pParent,
int nId,
ScDPObject& rDPObj,
@@ -1234,7 +1249,7 @@ AbstractScDPSubtotalDlg * ScAbstractDialogFactory_Impl::CreateScDPSubtotalDlg (
return new AbstractScDPSubtotalDlg_Impl( pDlg );
return 0;
}
-//add for ScDPSubtotalDlg end
+
AbstractScDPNumGroupDlg * ScAbstractDialogFactory_Impl::CreateScDPNumGroupDlg(
Window* pParent, int nId, const ScDPNumGroupInfo& rInfo )
@@ -1253,7 +1268,7 @@ AbstractScDPDateGroupDlg * ScAbstractDialogFactory_Impl::CreateScDPDateGroupDlg(
return 0;
}
-//add for ScDPShowDetailDlg begin
+
AbstractScDPShowDetailDlg * ScAbstractDialogFactory_Impl::CreateScDPShowDetailDlg (
Window* pParent, int nId, ScDPObject& rDPObj, USHORT nOrient )
{
@@ -1261,9 +1276,9 @@ AbstractScDPShowDetailDlg * ScAbstractDialogFactory_Impl::CreateScDPShowDetailDl
return new AbstractScDPShowDetailDlg_Impl( new ScDPShowDetailDlg( pParent, rDPObj, nOrient ) );
return 0;
}
-//add for ScDPShowDetailDlg end
-//add for ScNewScenarioDlg begin
+
+
AbstractScNewScenarioDlg * ScAbstractDialogFactory_Impl::CreateScNewScenarioDlg ( Window* pParent, const String& rName,
int nId,
BOOL bEdit , BOOL bSheetProtected )
@@ -1282,9 +1297,9 @@ AbstractScNewScenarioDlg * ScAbstractDialogFactory_Impl::CreateScNewScenarioDlg
return new AbstractScNewScenarioDlg_Impl( pDlg );
return 0;
}
-//add for ScNewScenarioDlg end
-//add for ScShowTabDlg begin
+
+
AbstractScShowTabDlg * ScAbstractDialogFactory_Impl::CreateScShowTabDlg ( Window* pParent, int nId )
{
ScShowTabDlg * pDlg=NULL;
@@ -1302,10 +1317,10 @@ AbstractScShowTabDlg * ScAbstractDialogFactory_Impl::CreateScShowTabDlg ( Window
return 0;
}
-//add for ScShowTabDlg end
-//add for ScStringInputDlg begin
+
+
AbstractScStringInputDlg * ScAbstractDialogFactory_Impl::CreateScStringInputDlg ( Window* pParent,
const String& rTitle,
const String& rEditTitle,
@@ -1327,9 +1342,9 @@ AbstractScShowTabDlg * ScAbstractDialogFactory_Impl::CreateScShowTabDlg ( Window
return new AbstractScStringInputDlg_Impl( pDlg );
return 0;
}
- //add for ScStringInputDlg end
-//add for ScTabBgColorDlg begin
+
+
AbstractScTabBgColorDlg * ScAbstractDialogFactory_Impl::CreateScTabBgColorDlg (
Window* pParent,
const String& rTitle,
@@ -1352,9 +1367,9 @@ if ( pDlg )
return new AbstractScTabBgColorDlg_Impl( pDlg );
return 0;
}
-//add for ScTabBgColorDlg end
-//add for ScImportOptionsDlg begin
+
+
AbstractScImportOptionsDlg * ScAbstractDialogFactory_Impl::CreateScImportOptionsDlg ( Window* pParent,
int nId,
BOOL bAscii,
@@ -1378,13 +1393,13 @@ AbstractScImportOptionsDlg * ScAbstractDialogFactory_Impl::CreateScImportOptions
return new AbstractScImportOptionsDlg_Impl( pDlg );
return 0;
}
-//add for ScImportOptionsDlg end
+
#if ENABLE_LAYOUT && !LAYOUT_SFX_TABDIALOG_BROKEN
#define SfxTabDialog layout::SfxTabDialog
#define AbstractTabDialog_Impl layout::AbstractTabDialog_Impl
#endif /* ENABLE_LAYOUT */
-//add for ScAttrDlg begin
+
SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScAttrDlg( SfxViewFrame* pFrame,
Window* pParent,
const SfxItemSet* pCellAttrs,
@@ -1405,11 +1420,11 @@ SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScAttrDlg( SfxViewFra
return 0;
}
-//add for ScAttrDlg end
+
#undef SfxTabDialog
#undef AbstractTabDialog_Impl
-//add for ScHFEditDlg begin
+
SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScHFEditDlg( SfxViewFrame* pFrame,
Window* pParent,
const SfxItemSet& rCoreSet,
@@ -1431,9 +1446,9 @@ SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScHFEditDlg( SfxViewF
return new AbstractTabDialog_Impl( pDlg );
return 0;
}
-//add for ScHFEditDlg end
-//add for ScStyleDlg begin
+
+
SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScStyleDlg( Window* pParent,
SfxStyleSheetBase& rStyleBase,
USHORT nRscId,
@@ -1454,9 +1469,9 @@ SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScStyleDlg( Window*
return new AbstractTabDialog_Impl( pDlg );
return 0;
}
-//add for ScStyleDlg end
-//add for ScSubTotalDlg begin
+
+
SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScSubTotalDlg( Window* pParent,
const SfxItemSet* pArgSet,
int nId)
@@ -1475,9 +1490,9 @@ SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScSubTotalDlg( Window
return new AbstractTabDialog_Impl( pDlg );
return 0;
}
-//add for ScSubTotalDlg end
-//add for ScCharDlg begin
+
+
SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScCharDlg( Window* pParent, const SfxItemSet* pAttr,
const SfxObjectShell* pDocShell, int nId )
{
@@ -1495,9 +1510,9 @@ SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScCharDlg( Window* pP
return new AbstractTabDialog_Impl( pDlg );
return 0;
}
-//add for ScCharDlg end
-//add for ScParagraphDlg begin
+
+
SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScParagraphDlg( Window* pParent, const SfxItemSet* pAttr ,
int nId )
{
@@ -1515,23 +1530,17 @@ SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScParagraphDlg( Windo
return new AbstractTabDialog_Impl( pDlg );
return 0;
}
-//add for ScParagraphDlg end
-//add for ScValidationDlg begin
+
+
SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScValidationDlg( Window* pParent,
-//<!--Modified by PengYunQuan for Validity Cell Range Picker
-// const SfxItemSet* pArgSet,int nId )
const SfxItemSet* pArgSet,int nId, ScTabViewShell *pTabVwSh )
-//-->Modified by PengYunQuan for Validity Cell Range Picke
{
SfxTabDialog* pDlg=NULL;
switch ( nId )
{
case TAB_DLG_VALIDATION :
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //pDlg = new ScValidationDlg( pParent, pArgSet );
pDlg = new ScValidationDlg( pParent, pArgSet, pTabVwSh );
- //-->Modified by PengYunQuan for Validity Cell Range Picker
break;
default:
break;
@@ -1541,13 +1550,13 @@ SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScValidationDlg( Wind
return new AbstractTabDialog_Impl( pDlg );
return 0;
}
-//add for ScValidationDlg end
+
#if ENABLE_LAYOUT && !LAYOUT_SFX_TABDIALOG_BROKEN
#define SfxTabDialog layout::SfxTabDialog
#define AbstractTabDialog_Impl layout::AbstractTabDialog_Impl
#endif /* ENABLE_LAYOUT */
-//add for ScSortDlg begin
+
SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScSortDlg( Window* pParent,
const SfxItemSet* pArgSet,int nId )
{
@@ -1568,7 +1577,7 @@ SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScSortDlg( Window*
#undef SfxTabDialog
#undef AbstractTabDialog_Impl
-//add for ScSortDlg end
+
//------------------ Factories for TabPages--------------------
CreateTabPage ScAbstractDialogFactory_Impl::GetTabPageCreatorFunc( USHORT nId )
{
@@ -1621,11 +1630,4 @@ GetTabPageRanges ScAbstractDialogFactory_Impl::GetTabPageRangesFunc( USHORT nId
return 0;
}
-void ScDPFunctionDlg_Dummy()
-{
- // use ScDPListBoxWrapper to avoid warning (this isn't called)
- ListBox* pListBox = NULL;
- ScDPListBoxWrapper aWrapper( *pListBox );
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx
index 9815fd22d51e..d89ee8203dbe 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -262,9 +262,12 @@ class AbstractScMoveTableDlg_Impl : public AbstractScMoveTableDlg //add for ScM
DECL_ABSTDLG_BASE( AbstractScMoveTableDlg_Impl, ScMoveTableDlg)
virtual USHORT GetSelectedDocument () const;
virtual USHORT GetSelectedTable () const;
- virtual BOOL GetCopyTable () const;
- virtual void SetCopyTable (BOOL bFlag=TRUE);
+ virtual bool GetCopyTable () const;
+ virtual bool GetRenameTable () const;
+ virtual void GetTabNameString( String& rString ) const;
+ virtual void SetForceCopyTable ();
virtual void EnableCopyTable (BOOL bFlag=TRUE);
+ virtual void EnableRenameTable (BOOL bFlag=TRUE);
};
class AbstractScNameCreateDlg_Impl : public AbstractScNameCreateDlg //add for ScNameCreateDlg
@@ -488,7 +491,10 @@ public:
long nFirst = 1,
long nLast = 100 );
- virtual AbstractScMoveTableDlg * CreateScMoveTableDlg( Window* pParent, int nId ); //add for ScMoveTableDlg
+ virtual AbstractScMoveTableDlg * CreateScMoveTableDlg( Window* pParent, //add for ScMoveTableDlg
+ const String& rDefault,
+ int nId );
+
virtual AbstractScNameCreateDlg * CreateScNameCreateDlg ( Window * pParent, USHORT nFlags, int nId ); //add for ScNameCreateDlg
virtual AbstractScNamePasteDlg * CreateScNamePasteDlg ( Window * pParent, const ScRangeName* pList, //add for ScNamePasteDlg
diff --git a/sc/source/ui/attrdlg/tabpages.cxx b/sc/source/ui/attrdlg/tabpages.cxx
index 84298f174211..7d9ec8b40682 100644
--- a/sc/source/ui/attrdlg/tabpages.cxx
+++ b/sc/source/ui/attrdlg/tabpages.cxx
@@ -86,20 +86,20 @@ ScTabPageProtection::ScTabPageProtection( Window* pParent,
// -----------------------------------------------------------------------
-__EXPORT ScTabPageProtection::~ScTabPageProtection()
+ScTabPageProtection::~ScTabPageProtection()
{
}
//------------------------------------------------------------------------
-USHORT* __EXPORT ScTabPageProtection::GetRanges()
+USHORT* ScTabPageProtection::GetRanges()
{
return pProtectionRanges;
}
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScTabPageProtection::Create( Window* pParent,
+SfxTabPage* ScTabPageProtection::Create( Window* pParent,
const SfxItemSet& rAttrSet )
{
return ( new ScTabPageProtection( pParent, rAttrSet ) );
@@ -107,7 +107,7 @@ SfxTabPage* __EXPORT ScTabPageProtection::Create( Window* pParent,
//------------------------------------------------------------------------
-void __EXPORT ScTabPageProtection::Reset( const SfxItemSet& rCoreAttrs )
+void ScTabPageProtection::Reset( const SfxItemSet& rCoreAttrs )
{
// Variablen initialisieren
@@ -151,7 +151,7 @@ void __EXPORT ScTabPageProtection::Reset( const SfxItemSet& rCoreAttrs )
// -----------------------------------------------------------------------
-BOOL __EXPORT ScTabPageProtection::FillItemSet( SfxItemSet& rCoreAttrs )
+BOOL ScTabPageProtection::FillItemSet( SfxItemSet& rCoreAttrs )
{
BOOL bAttrsChanged = FALSE;
USHORT nWhich = GetWhich( SID_SCATTR_PROTECTION );
@@ -185,7 +185,7 @@ BOOL __EXPORT ScTabPageProtection::FillItemSet( SfxItemSet& rCoreAttrs )
//------------------------------------------------------------------------
-int __EXPORT ScTabPageProtection::DeactivatePage( SfxItemSet* pSetP )
+int ScTabPageProtection::DeactivatePage( SfxItemSet* pSetP )
{
if ( pSetP )
FillItemSet( *pSetP );
diff --git a/sc/source/ui/cctrl/cbuttonw.cxx b/sc/source/ui/cctrl/cbuttonw.cxx
index 4634b179664a..34698c7b9104 100644
--- a/sc/source/ui/cctrl/cbuttonw.cxx
+++ b/sc/source/ui/cctrl/cbuttonw.cxx
@@ -47,7 +47,7 @@ ScDDComboBoxButton::ScDDComboBoxButton( OutputDevice* pOutputDevice )
// -------------------------------------------------------------------------
-__EXPORT ScDDComboBoxButton::~ScDDComboBoxButton()
+ScDDComboBoxButton::~ScDDComboBoxButton()
{
}
diff --git a/sc/source/ui/cctrl/dpcontrol.cxx b/sc/source/ui/cctrl/dpcontrol.cxx
index 78c1871c1e1e..74333ef21a44 100644
--- a/sc/source/ui/cctrl/dpcontrol.cxx
+++ b/sc/source/ui/cctrl/dpcontrol.cxx
@@ -1040,14 +1040,14 @@ ScDPFieldPopupWindow::ScDPFieldPopupWindow(Window* pParent, ScDocument* pDoc) :
getSectionPosSize(aPos, aSize, BTN_SINGLE_SELECT);
maBtnSelectSingle.SetPosSizePixel(aPos, aSize);
maBtnSelectSingle.SetQuickHelpText(ScRscStrLoader(RID_POPUP_FILTER, STR_BTN_SELECT_CURRENT).GetString());
- maBtnSelectSingle.SetModeImage(Image(ScResId(RID_IMG_SELECT_CURRENT)), BMP_COLOR_NORMAL);
+ maBtnSelectSingle.SetModeImage(Image(ScResId(RID_IMG_SELECT_CURRENT)));
maBtnSelectSingle.SetClickHdl( LINK(this, ScDPFieldPopupWindow, ButtonHdl) );
maBtnSelectSingle.Show();
getSectionPosSize(aPos, aSize, BTN_SINGLE_UNSELECT);
maBtnUnselectSingle.SetPosSizePixel(aPos, aSize);
maBtnUnselectSingle.SetQuickHelpText(ScRscStrLoader(RID_POPUP_FILTER, STR_BTN_UNSELECT_CURRENT).GetString());
- maBtnUnselectSingle.SetModeImage(Image(ScResId(RID_IMG_UNSELECT_CURRENT)), BMP_COLOR_NORMAL);
+ maBtnUnselectSingle.SetModeImage(Image(ScResId(RID_IMG_UNSELECT_CURRENT)));
maBtnUnselectSingle.SetClickHdl( LINK(this, ScDPFieldPopupWindow, ButtonHdl) );
maBtnUnselectSingle.Show();
}
diff --git a/sc/source/ui/cctrl/makefile.mk b/sc/source/ui/cctrl/makefile.mk
index 70b5490a9626..41598f7901c1 100644
--- a/sc/source/ui/cctrl/makefile.mk
+++ b/sc/source/ui/cctrl/makefile.mk
@@ -39,16 +39,15 @@ LIBTARGET=NO
# --- Files --------------------------------------------------------
EXCEPTIONSFILES= \
- $(SLO)$/tbinsert.obj \
- $(SLO)$/tbzoomsliderctrl.obj \
- $(SLO)$/dpcontrol.obj
+ $(SLO)$/cbuttonw.obj \
+ $(SLO)$/dpcontrol.obj \
+ $(SLO)$/editfield.obj \
+ $(SLO)$/tbinsert.obj \
+ $(SLO)$/tbzoomsliderctrl.obj
SLOFILES = \
+ $(SLO)$/dpcontrol.obj \
$(SLO)$/popmenu.obj \
- $(SLO)$/tbinsert.obj \
- $(SLO)$/cbuttonw.obj \
- $(SLO)$/dpcontrol.obj \
- $(SLO)$/editfield.obj \
$(EXCEPTIONSFILES)
SRS1NAME=$(TARGET)
diff --git a/sc/source/ui/cctrl/popmenu.cxx b/sc/source/ui/cctrl/popmenu.cxx
index 742104ea517f..03414b4e25ec 100644
--- a/sc/source/ui/cctrl/popmenu.cxx
+++ b/sc/source/ui/cctrl/popmenu.cxx
@@ -39,7 +39,7 @@
//------------------------------------------------------------------
-void __EXPORT ScPopupMenu::Select()
+void ScPopupMenu::Select()
{
nSel = GetCurItemId();
bHit = TRUE;
diff --git a/sc/source/ui/cctrl/tbinsert.cxx b/sc/source/ui/cctrl/tbinsert.cxx
index 6c439fd94693..b75d5d3fe7cf 100644
--- a/sc/source/ui/cctrl/tbinsert.cxx
+++ b/sc/source/ui/cctrl/tbinsert.cxx
@@ -70,11 +70,11 @@ ScTbxInsertCtrl::ScTbxInsertCtrl( USHORT nSlotId, USHORT nId, ToolBox& rTbx ) :
rTbx.SetItemBits( nId, TIB_DROPDOWN | rTbx.GetItemBits( nId ) );
}
-__EXPORT ScTbxInsertCtrl::~ScTbxInsertCtrl()
+ScTbxInsertCtrl::~ScTbxInsertCtrl()
{
}
-void __EXPORT ScTbxInsertCtrl::StateChanged( USHORT /* nSID */, SfxItemState eState,
+void ScTbxInsertCtrl::StateChanged( USHORT /* nSID */, SfxItemState eState,
const SfxPoolItem* pState )
{
GetToolBox().EnableItem( GetId(), (GetItemState(pState) != SFX_ITEM_DISABLED) );
@@ -91,56 +91,40 @@ void __EXPORT ScTbxInsertCtrl::StateChanged( USHORT /* nSID */, SfxItemState eSt
aSlotURL += rtl::OUString::valueOf( sal_Int32( nImageId ));
Image aImage = GetImage( m_xFrame,
aSlotURL,
- hasBigImages(),
- GetToolBox().GetSettings().GetStyleSettings().GetHighContrastMode() );
+ hasBigImages()
+ );
GetToolBox().SetItemImage(GetId(), aImage);
}
}
}
-SfxPopupWindow* __EXPORT ScTbxInsertCtrl::CreatePopupWindow()
+SfxPopupWindow* ScTbxInsertCtrl::CreatePopupWindow()
{
-// USHORT nWinResId, nTbxResId;
USHORT nSlotId = GetSlotId();
if (nSlotId == SID_TBXCTL_INSERT)
{
rtl::OUString aInsertBarResStr( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/insertbar" ));
createAndPositionSubToolBar( aInsertBarResStr );
-// nWinResId = RID_TBXCTL_INSERT;
-// nTbxResId = RID_TOOLBOX_INSERT;
}
else if (nSlotId == SID_TBXCTL_INSCELLS)
{
rtl::OUString aInsertCellsBarResStr( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/insertcellsbar" ));
createAndPositionSubToolBar( aInsertCellsBarResStr );
-// nWinResId = RID_TBXCTL_INSCELLS;
-// nTbxResId = RID_TOOLBOX_INSCELLS;
}
- else /* SID_TBXCTL_INSOBJ */
+ else
{
rtl::OUString aInsertObjectBarResStr( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/insertobjectbar" ));
createAndPositionSubToolBar( aInsertObjectBarResStr );
-// nWinResId = RID_TBXCTL_INSOBJ;
-// nTbxResId = RID_TOOLBOX_INSOBJ;
}
-/*
- WindowAlign eNewAlign = ( GetToolBox().IsHorizontal() ) ? WINDOWALIGN_LEFT : WINDOWALIGN_TOP;
- ScTbxInsertPopup *pWin = new ScTbxInsertPopup( nSlotId, eNewAlign,
- ScResId(nWinResId), ScResId(nTbxResId), GetBindings() );
- pWin->StartPopupMode(&GetToolBox(), TRUE);
- pWin->StartSelection();
- pWin->Show();
- return pWin;
-*/
return NULL;
}
-SfxPopupWindowType __EXPORT ScTbxInsertCtrl::GetPopupWindowType() const
+SfxPopupWindowType ScTbxInsertCtrl::GetPopupWindowType() const
{
return nLastSlotId ? SFX_POPUPWINDOW_ONTIMEOUT : SFX_POPUPWINDOW_ONCLICK;
}
-void __EXPORT ScTbxInsertCtrl::Select( BOOL /* bMod1 */ )
+void ScTbxInsertCtrl::Select( BOOL /* bMod1 */ )
{
SfxViewShell* pCurSh( SfxViewShell::Current() );
SfxDispatcher* pDispatch( 0 );
@@ -155,80 +139,6 @@ void __EXPORT ScTbxInsertCtrl::Select( BOOL /* bMod1 */ )
if ( pDispatch )
pDispatch->Execute(nLastSlotId);
}
-/*
-//------------------------------------------------------------------
-//
-// Popup - Window
-//
-//------------------------------------------------------------------
-
-ScTbxInsertPopup::ScTbxInsertPopup( USHORT nId, WindowAlign eNewAlign,
- const ResId& rRIdWin, const ResId& rRIdTbx,
- SfxBindings& rBindings ) :
- SfxPopupWindow ( nId, rRIdWin, rBindings),
- aTbx ( this, GetBindings(), rRIdTbx ),
- aRIdWinTemp(rRIdWin),
- aRIdTbxTemp(rRIdTbx)
-{
- aTbx.UseDefault();
- FreeResource();
-
- aTbx.GetToolBox().SetAlign( eNewAlign );
- if (eNewAlign == WINDOWALIGN_LEFT || eNewAlign == WINDOWALIGN_RIGHT)
- SetText( EMPTY_STRING );
-
- Size aSize = aTbx.CalcWindowSizePixel();
- aTbx.SetPosSizePixel( Point(), aSize );
- SetOutputSizePixel( aSize );
- aTbx.GetToolBox().SetSelectHdl( LINK(this, ScTbxInsertPopup, TbxSelectHdl));
- aTbxClickHdl = aTbx.GetToolBox().GetClickHdl();
- aTbx.GetToolBox().SetClickHdl( LINK(this, ScTbxInsertPopup, TbxClickHdl));
-}
-
-ScTbxInsertPopup::~ScTbxInsertPopup()
-{
-}
-
-SfxPopupWindow* __EXPORT ScTbxInsertPopup::Clone() const
-{
- return new ScTbxInsertPopup( GetId(), aTbx.GetToolBox().GetAlign(),
- aRIdWinTemp, aRIdTbxTemp,
- (SfxBindings&) GetBindings() );
-}
-
-void ScTbxInsertPopup::StartSelection()
-{
- aTbx.GetToolBox().StartSelection();
-}
-
-IMPL_LINK(ScTbxInsertPopup, TbxSelectHdl, ToolBox*, pBox)
-{
- EndPopupMode();
-
- USHORT nLastSlotId = pBox->GetCurItemId();
- SfxUInt16Item aItem( GetId(), nLastSlotId );
- SfxDispatcher* pDisp = GetBindings().GetDispatcher();
- pDisp->Execute( GetId(), SFX_CALLMODE_SYNCHRON, &aItem, 0L );
- pDisp->Execute( nLastSlotId, SFX_CALLMODE_ASYNCHRON );
- return 0;
-}
-
-IMPL_LINK(ScTbxInsertPopup, TbxClickHdl, ToolBox*, pBox)
-{
- USHORT nLastSlotId = pBox->GetCurItemId();
- SfxUInt16Item aItem( GetId(), nLastSlotId );
- GetBindings().GetDispatcher()->Execute( GetId(), SFX_CALLMODE_SYNCHRON, &aItem, 0L );
- if(aTbxClickHdl.IsSet())
- aTbxClickHdl.Call(pBox);
- return 0;
-}
-
-void __EXPORT ScTbxInsertPopup::PopupModeEnd()
-{
- aTbx.GetToolBox().EndSelection();
- SfxPopupWindow::PopupModeEnd();
-}
-*/
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/cctrl/tbzoomsliderctrl.cxx b/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
index 9fe3acc0af73..1b6cb14279b2 100644
--- a/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
+++ b/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
@@ -64,7 +64,7 @@ ScZoomSliderControl::ScZoomSliderControl(
// -----------------------------------------------------------------------
-__EXPORT ScZoomSliderControl::~ScZoomSliderControl()
+ScZoomSliderControl::~ScZoomSliderControl()
{
}
@@ -256,10 +256,9 @@ ScZoomSliderWnd::ScZoomSliderWnd( Window* pParent, const ::com::sun::star::uno::
m_xDispatchProvider( rDispatchProvider ),
m_xFrame( _xFrame )
{
- BOOL bIsHC = GetSettings().GetStyleSettings().GetHighContrastMode();
- mpImpl->maSliderButton = Image( SVX_RES( bIsHC ? RID_SVXBMP_SLIDERBUTTON_HC : RID_SVXBMP_SLIDERBUTTON ) );
- mpImpl->maIncreaseButton = Image( SVX_RES( bIsHC ? RID_SVXBMP_SLIDERINCREASE_HC : RID_SVXBMP_SLIDERINCREASE ) );
- mpImpl->maDecreaseButton = Image( SVX_RES( bIsHC ? RID_SVXBMP_SLIDERDECREASE_HC : RID_SVXBMP_SLIDERDECREASE ) );
+ mpImpl->maSliderButton = Image( SVX_RES( RID_SVXBMP_SLIDERBUTTON ) );
+ mpImpl->maIncreaseButton = Image( SVX_RES( RID_SVXBMP_SLIDERINCREASE ) );
+ mpImpl->maDecreaseButton = Image( SVX_RES( RID_SVXBMP_SLIDERDECREASE ) );
Size aSliderSize = LogicToPixel( Size( aLogicalSize), MapMode( MAP_10TH_MM ) );
SetSizePixel( Size( aSliderSize.Width() * nSliderWidth-1, aSliderSize.Height() + nSliderHeight ) );
}
diff --git a/sc/source/ui/dbgui/asciiopt.cxx b/sc/source/ui/dbgui/asciiopt.cxx
index f101809552c9..73826a06c9d9 100644
--- a/sc/source/ui/dbgui/asciiopt.cxx
+++ b/sc/source/ui/dbgui/asciiopt.cxx
@@ -44,8 +44,8 @@
// ============================================================================
-static const sal_Char __FAR_DATA pStrFix[] = "FIX";
-static const sal_Char __FAR_DATA pStrMrg[] = "MRG";
+static const sal_Char pStrFix[] = "FIX";
+static const sal_Char pStrMrg[] = "MRG";
// ============================================================================
diff --git a/sc/source/ui/dbgui/asciiopt.hrc b/sc/source/ui/dbgui/asciiopt.hrc
index 7bf6d42d6e2f..6e1c9ae92877 100644
--- a/sc/source/ui/dbgui/asciiopt.hrc
+++ b/sc/source/ui/dbgui/asciiopt.hrc
@@ -25,7 +25,7 @@
*
************************************************************************/
#include "sc.hrc"
-//#define RID_SCDLG_ASCII 256
+
#define BTN_OK 1
#define BTN_CANCEL 2
#define BTN_HELP 3
@@ -60,12 +60,3 @@
#define LB_TYPE1 28
#define CTR_TABLEBOX 29
#define STR_TEXTTOCOLUMNS 30
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/dbgui/asciiopt.src b/sc/source/ui/dbgui/asciiopt.src
index 9efbfe0f557f..9396b862d2f3 100644
--- a/sc/source/ui/dbgui/asciiopt.src
+++ b/sc/source/ui/dbgui/asciiopt.src
@@ -258,48 +258,3 @@ ModalDialog RID_SCDLG_ASCII
Text [ en-US ] = "Text to Columns" ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/dbgui/consdlg.cxx b/sc/source/ui/dbgui/consdlg.cxx
index 7e2bafd2c42b..22dc1827e3f9 100644
--- a/sc/source/ui/dbgui/consdlg.cxx
+++ b/sc/source/ui/dbgui/consdlg.cxx
@@ -142,7 +142,7 @@ ScConsolidateDlg::ScConsolidateDlg( SfxBindings* pB, SfxChildWindow* pCW, Window
//----------------------------------------------------------------------------
-__EXPORT ScConsolidateDlg::~ScConsolidateDlg()
+ScConsolidateDlg::~ScConsolidateDlg()
{
delete [] pAreaData;
delete pRangeUtil;
@@ -315,7 +315,7 @@ void ScConsolidateDlg::SetReference( const ScRange& rRef, ScDocument* pDocP )
//----------------------------------------------------------------------------
-BOOL __EXPORT ScConsolidateDlg::Close()
+BOOL ScConsolidateDlg::Close()
{
return DoClose( ScConsolidateDlgWrapper::GetChildWindowId() );
}
@@ -344,7 +344,7 @@ void ScConsolidateDlg::SetActive()
//----------------------------------------------------------------------------
-void __EXPORT ScConsolidateDlg::Deactivate()
+void ScConsolidateDlg::Deactivate()
{
bDlgLostFocus = TRUE;
}
diff --git a/sc/source/ui/dbgui/consdlg.hrc b/sc/source/ui/dbgui/consdlg.hrc
index 6f9f6708c388..0e52b94ce052 100644
--- a/sc/source/ui/dbgui/consdlg.hrc
+++ b/sc/source/ui/dbgui/consdlg.hrc
@@ -58,4 +58,3 @@
#define FL_OPTIONS 60
#define BTN_REFS 61
-
diff --git a/sc/source/ui/dbgui/consdlg.src b/sc/source/ui/dbgui/consdlg.src
index 5226c22629c6..9716b190c886 100644
--- a/sc/source/ui/dbgui/consdlg.src
+++ b/sc/source/ui/dbgui/consdlg.src
@@ -214,4 +214,3 @@ ModelessDialog RID_SCDLG_CONSOLIDATE
TabStop = TRUE ;
};
};
-
diff --git a/sc/source/ui/dbgui/csvgrid.cxx b/sc/source/ui/dbgui/csvgrid.cxx
index a18bbb7e2607..eb179a83d3c5 100644
--- a/sc/source/ui/dbgui/csvgrid.cxx
+++ b/sc/source/ui/dbgui/csvgrid.cxx
@@ -34,8 +34,11 @@
#include "csvgrid.hxx"
#include <algorithm>
+#include <memory>
+
#include <svtools/colorcfg.hxx>
#include <svl/smplhint.hxx>
+#include <sal/macros.h>
#include <tools/poly.hxx>
#include "scmod.hxx"
#include "asciiopt.hxx"
@@ -61,14 +64,16 @@ struct Func_SetType
{
sal_Int32 mnType;
inline Func_SetType( sal_Int32 nType ) : mnType( nType ) {}
- inline void operator()( ScCsvColState& rState ) { rState.mnType = mnType; }
+ inline void operator()( ScCsvColState& rState ) const
+ { rState.mnType = mnType; }
};
struct Func_Select
{
bool mbSelect;
inline Func_Select( bool bSelect ) : mbSelect( bSelect ) {}
- inline void operator()( ScCsvColState& rState ) { rState.Select( mbSelect ); }
+ inline void operator()( ScCsvColState& rState ) const
+ { rState.Select( mbSelect ); }
};
@@ -76,7 +81,7 @@ struct Func_Select
ScCsvGrid::ScCsvGrid( ScCsvControl& rParent ) :
ScCsvControl( rParent ),
- mrColorConfig( SC_MOD()->GetColorConfig() ),
+ mpColorConfig( 0 ),
mpEditEngine( new ScEditEngineDefaulter( EditEngine::CreatePool(), TRUE ) ),
maHeaderFont( GetFont() ),
maColStates( 1 ),
@@ -91,17 +96,25 @@ ScCsvGrid::ScCsvGrid( ScCsvControl& rParent ) :
maPopup.SetMenuFlags( maPopup.GetMenuFlags() | MENU_FLAG_NOAUTOMNEMONICS );
EnableRTL( false ); // #107812# RTL
- InitColors();
InitFonts();
ImplClearSplits();
- mrColorConfig.AddListener(this);
}
ScCsvGrid::~ScCsvGrid()
{
- mrColorConfig.RemoveListener(this);
+ OSL_ENSURE(mpColorConfig, "the object hasn't been initialized properly");
+ if (mpColorConfig)
+ mpColorConfig->RemoveListener(this);
}
+void
+ScCsvGrid::Init()
+{
+ OSL_PRECOND(!mpColorConfig, "the object has already been initialized");
+ mpColorConfig = &SC_MOD()->GetColorConfig();
+ InitColors();
+ mpColorConfig->AddListener(this);
+}
// common grid handling -------------------------------------------------------
@@ -200,11 +213,14 @@ sal_Int32 ScCsvGrid::GetNoScrollCol( sal_Int32 nPos ) const
void ScCsvGrid::InitColors()
{
- maBackColor.SetColor( static_cast< sal_uInt32 >( mrColorConfig.GetColorValue( ::svtools::DOCCOLOR ).nColor ) );
- maGridColor.SetColor( static_cast< sal_uInt32 >( mrColorConfig.GetColorValue( ::svtools::CALCGRID ).nColor ) );
- maGridPBColor.SetColor( static_cast< sal_uInt32 >( mrColorConfig.GetColorValue( ::svtools::CALCPAGEBREAK ).nColor ) );
- maAppBackColor.SetColor( static_cast< sal_uInt32 >( mrColorConfig.GetColorValue( ::svtools::APPBACKGROUND ).nColor ) );
- maTextColor.SetColor( static_cast< sal_uInt32 >( mrColorConfig.GetColorValue( ::svtools::FONTCOLOR ).nColor ) );
+ OSL_PRECOND(mpColorConfig, "the object hasn't been initialized properly");
+ if ( !mpColorConfig )
+ return;
+ maBackColor.SetColor( static_cast< sal_uInt32 >( mpColorConfig->GetColorValue( ::svtools::DOCCOLOR ).nColor ) );
+ maGridColor.SetColor( static_cast< sal_uInt32 >( mpColorConfig->GetColorValue( ::svtools::CALCGRID ).nColor ) );
+ maGridPBColor.SetColor( static_cast< sal_uInt32 >( mpColorConfig->GetColorValue( ::svtools::CALCPAGEBREAK ).nColor ) );
+ maAppBackColor.SetColor( static_cast< sal_uInt32 >( mpColorConfig->GetColorValue( ::svtools::APPBACKGROUND ).nColor ) );
+ maTextColor.SetColor( static_cast< sal_uInt32 >( mpColorConfig->GetColorValue( ::svtools::FONTCOLOR ).nColor ) );
const StyleSettings& rSett = GetSettings().GetStyleSettings();
maHeaderBackColor = rSett.GetFaceColor();
@@ -508,7 +524,7 @@ sal_uInt8 lcl_GetExtColumnType( sal_Int32 nIntType )
{
static sal_uInt8 pExtTypes[] =
{ SC_COL_STANDARD, SC_COL_TEXT, SC_COL_DMY, SC_COL_MDY, SC_COL_YMD, SC_COL_ENGLISH, SC_COL_SKIP };
- static sal_Int32 nExtTypeCount = sizeof( pExtTypes ) / sizeof( *pExtTypes );
+ static sal_Int32 nExtTypeCount = SAL_N_ELEMENTS(pExtTypes);
return pExtTypes[ ((0 <= nIntType) && (nIntType < nExtTypeCount)) ? nIntType : 0 ];
}
@@ -1348,7 +1364,9 @@ void ScCsvGrid::ImplDrawTrackingRect( sal_uInt32 nColIndex )
ScAccessibleCsvControl* ScCsvGrid::ImplCreateAccessible()
{
- return new ScAccessibleCsvGrid( *this );
+ std::auto_ptr<ScAccessibleCsvControl> pControl(new ScAccessibleCsvGrid( *this ));
+ pControl->Init();
+ return pControl.release();
}
diff --git a/sc/source/ui/dbgui/csvruler.cxx b/sc/source/ui/dbgui/csvruler.cxx
index 84d5ad6bee1b..2dd2ebc21faf 100644
--- a/sc/source/ui/dbgui/csvruler.cxx
+++ b/sc/source/ui/dbgui/csvruler.cxx
@@ -61,9 +61,9 @@ static void load_FixedWidthList(ScCsvSplits &aSplits)
const Any *pProperties;
Sequence<OUString> aNames(1);
OUString* pNames = aNames.getArray();
- ScLinkConfigItem aItem( OUString::createFromAscii( SEP_PATH ) );
+ ScLinkConfigItem aItem( OUString(RTL_CONSTASCII_USTRINGPARAM( SEP_PATH )) );
- pNames[0] = OUString::createFromAscii( FIXED_WIDTH_LIST );
+ pNames[0] = OUString(RTL_CONSTASCII_USTRINGPARAM( FIXED_WIDTH_LIST ));
aValues = aItem.GetProperties( aNames );
pProperties = aValues.getConstArray();
@@ -96,9 +96,9 @@ static void save_FixedWidthList(ScCsvSplits aSplits)
Any *pProperties;
Sequence<OUString> aNames(1);
OUString* pNames = aNames.getArray();
- ScLinkConfigItem aItem( OUString::createFromAscii( SEP_PATH ) );
+ ScLinkConfigItem aItem( OUString(RTL_CONSTASCII_USTRINGPARAM( SEP_PATH )) );
- pNames[0] = OUString::createFromAscii( FIXED_WIDTH_LIST );
+ pNames[0] = OUString(RTL_CONSTASCII_USTRINGPARAM( FIXED_WIDTH_LIST ));
aValues = aItem.GetProperties( aNames );
pProperties = aValues.getArray();
pProperties[0] <<= sFixedWidthLists;
diff --git a/sc/source/ui/dbgui/csvtablebox.cxx b/sc/source/ui/dbgui/csvtablebox.cxx
index e7d3071da1f3..0dcbacc4746e 100644
--- a/sc/source/ui/dbgui/csvtablebox.cxx
+++ b/sc/source/ui/dbgui/csvtablebox.cxx
@@ -48,7 +48,27 @@ ScCsvTableBox::ScCsvTableBox( Window* pParent, const ResId& rResId ) :
maVScroll( this, WB_VERT | WB_DRAG ),
maScrollBox( this )
{
- Init();
+ mbFixedMode = false;
+ mnFixedWidth = 1;
+
+ maHScroll.EnableRTL( false ); // #107812# RTL
+ maHScroll.SetLineSize( 1 );
+ maVScroll.SetLineSize( 1 );
+
+ Link aLink = LINK( this, ScCsvTableBox, CsvCmdHdl );
+ SetCmdHdl( aLink );
+ maRuler.SetCmdHdl( aLink );
+ maGrid.SetCmdHdl( aLink );
+
+ aLink = LINK( this, ScCsvTableBox, ScrollHdl );
+ maHScroll.SetScrollHdl( aLink );
+ maVScroll.SetScrollHdl( aLink );
+
+ aLink = LINK( this, ScCsvTableBox, ScrollEndHdl );
+ maHScroll.SetEndScrollHdl( aLink );
+ maVScroll.SetEndScrollHdl( aLink );
+
+ InitControls();
}
@@ -95,27 +115,7 @@ void ScCsvTableBox::SetFixedWidthMode()
void ScCsvTableBox::Init()
{
- mbFixedMode = false;
- mnFixedWidth = 1;
-
- maHScroll.EnableRTL( false ); // #107812# RTL
- maHScroll.SetLineSize( 1 );
- maVScroll.SetLineSize( 1 );
-
- Link aLink = LINK( this, ScCsvTableBox, CsvCmdHdl );
- SetCmdHdl( aLink );
- maRuler.SetCmdHdl( aLink );
- maGrid.SetCmdHdl( aLink );
-
- aLink = LINK( this, ScCsvTableBox, ScrollHdl );
- maHScroll.SetScrollHdl( aLink );
- maVScroll.SetScrollHdl( aLink );
-
- aLink = LINK( this, ScCsvTableBox, ScrollEndHdl );
- maHScroll.SetEndScrollHdl( aLink );
- maVScroll.SetEndScrollHdl( aLink );
-
- InitControls();
+ maGrid.Init();
}
void ScCsvTableBox::InitControls()
diff --git a/sc/source/ui/dbgui/dapidata.cxx b/sc/source/ui/dbgui/dapidata.cxx
index ab2159af2f93..1be379894444 100644
--- a/sc/source/ui/dbgui/dapidata.cxx
+++ b/sc/source/ui/dbgui/dapidata.cxx
@@ -91,7 +91,7 @@ ScDataPilotDatabaseDlg::ScDataPilotDatabaseDlg( Window* pParent ) :
uno::Reference<container::XNameAccess> xContext(
comphelper::getProcessServiceFactory()->createInstance(
- rtl::OUString::createFromAscii( DP_SERVICE_DBCONTEXT ) ),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( DP_SERVICE_DBCONTEXT )) ),
uno::UNO_QUERY);
if (xContext.is())
{
@@ -166,7 +166,7 @@ void ScDataPilotDatabaseDlg::FillObjects()
uno::Reference<container::XNameAccess> xContext(
comphelper::getProcessServiceFactory()->createInstance(
- rtl::OUString::createFromAscii( DP_SERVICE_DBCONTEXT ) ),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( DP_SERVICE_DBCONTEXT )) ),
uno::UNO_QUERY);
if ( !xContext.is() ) return;
@@ -177,7 +177,7 @@ void ScDataPilotDatabaseDlg::FillObjects()
uno::Reference<task::XInteractionHandler> xHandler(
comphelper::getProcessServiceFactory()->createInstance(
- rtl::OUString::createFromAscii( SC_SERVICE_INTHANDLER ) ),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_SERVICE_INTHANDLER )) ),
uno::UNO_QUERY);
uno::Reference<sdbc::XConnection> xConnection = xSource->connectWithCompletion( xHandler );
diff --git a/sc/source/ui/dbgui/dapitype.hrc b/sc/source/ui/dbgui/dapitype.hrc
index efbabe64fa04..6358763d7fd1 100644
--- a/sc/source/ui/dbgui/dapitype.hrc
+++ b/sc/source/ui/dbgui/dapitype.hrc
@@ -50,4 +50,3 @@
#define CB_OBJECT 21
#define FT_OBJTYPE 22
#define LB_OBJTYPE 23
-
diff --git a/sc/source/ui/dbgui/dapitype.src b/sc/source/ui/dbgui/dapitype.src
index 5cf1dacad819..3c03150e400b 100644
--- a/sc/source/ui/dbgui/dapitype.src
+++ b/sc/source/ui/dbgui/dapitype.src
@@ -285,24 +285,3 @@ ModalDialog RID_SCDLG_DAPIDATA
};
Text [ en-US ] = "Select Data Source";
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/dbgui/dbnamdlg.cxx b/sc/source/ui/dbgui/dbnamdlg.cxx
index 1782e4245b1d..69672f9802d3 100644
--- a/sc/source/ui/dbgui/dbnamdlg.cxx
+++ b/sc/source/ui/dbgui/dbnamdlg.cxx
@@ -191,7 +191,7 @@ ScDbNameDlg::ScDbNameDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent,
//----------------------------------------------------------------------------
-__EXPORT ScDbNameDlg::~ScDbNameDlg()
+ScDbNameDlg::~ScDbNameDlg()
{
DELETEZ( pSaveObj );
@@ -219,14 +219,6 @@ void ScDbNameDlg::Init()
aBtnMore.AddWindow( &aFTSource );
aBtnMore.AddWindow( &aFTOperations );
- String theAreaStr;
- SCCOL nStartCol = 0;
- SCROW nStartRow = 0;
- SCTAB nStartTab = 0;
- SCCOL nEndCol = 0;
- SCROW nEndRow = 0;
- SCTAB nEndTab = 0;
-
aBtnOk.SetClickHdl ( LINK( this, ScDbNameDlg, OkBtnHdl ) );
aBtnCancel.SetClickHdl ( LINK( this, ScDbNameDlg, CancelBtnHdl ) );
aBtnAdd.SetClickHdl ( LINK( this, ScDbNameDlg, AddBtnHdl ) );
@@ -235,8 +227,17 @@ void ScDbNameDlg::Init()
aEdAssign.SetModifyHdl ( LINK( this, ScDbNameDlg, AssModifyHdl ) );
UpdateNames();
+ String theAreaStr;
+
if ( pViewData && pDoc )
{
+ SCCOL nStartCol = 0;
+ SCROW nStartRow = 0;
+ SCTAB nStartTab = 0;
+ SCCOL nEndCol = 0;
+ SCROW nEndRow = 0;
+ SCTAB nEndTab = 0;
+
ScDBCollection* pDBColl = pDoc->GetDBCollection();
ScDBData* pDBData = NULL;
@@ -342,7 +343,7 @@ void ScDbNameDlg::SetReference( const ScRange& rRef, ScDocument* pDocP )
//----------------------------------------------------------------------------
-BOOL __EXPORT ScDbNameDlg::Close()
+BOOL ScDbNameDlg::Close()
{
return DoClose( ScDbNameDlgWrapper::GetChildWindowId() );
}
diff --git a/sc/source/ui/dbgui/dpgroupdlg.hrc b/sc/source/ui/dbgui/dpgroupdlg.hrc
index 5a4797489ddf..27adea32c4e1 100644
--- a/sc/source/ui/dbgui/dpgroupdlg.hrc
+++ b/sc/source/ui/dbgui/dpgroupdlg.hrc
@@ -61,4 +61,3 @@
#define STR_UNITS 1
#endif
-
diff --git a/sc/source/ui/dbgui/dpgroupdlg.src b/sc/source/ui/dbgui/dpgroupdlg.src
index f9a5ac589af5..6e6ba170f1b1 100644
--- a/sc/source/ui/dbgui/dpgroupdlg.src
+++ b/sc/source/ui/dbgui/dpgroupdlg.src
@@ -267,4 +267,3 @@ ModalDialog RID_SCDLG_DPDATEGROUP
} ;
// ----------------------------------------------------------------------------
-
diff --git a/sc/source/ui/dbgui/dpuiglobal.hxx b/sc/source/ui/dbgui/dpuiglobal.hxx
new file mode 100644
index 000000000000..b64875030bcf
--- /dev/null
+++ b/sc/source/ui/dbgui/dpuiglobal.hxx
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * Kohei Yoshida <kyoshida@novell.com>
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef __SC_DPUIGLOBAL_HXX__
+#define __SC_DPUIGLOBAL_HXX__
+
+#define OUTER_MARGIN_HOR 4
+#define OUTER_MARGIN_VER 4
+#define DATA_FIELD_BTN_GAP 2 // must be an even number
+#define ROW_FIELD_BTN_GAP 2 // must be an even number
+#define FIELD_BTN_WIDTH 81
+#define FIELD_BTN_HEIGHT 23
+#define SELECT_FIELD_BTN_SPACE 2
+#define FIELD_AREA_GAP 3 // gap between row/column/data/page areas
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/dbgui/expftext.cxx b/sc/source/ui/dbgui/expftext.cxx
index b05d9c193638..605cd6756b48 100644
--- a/sc/source/ui/dbgui/expftext.cxx
+++ b/sc/source/ui/dbgui/expftext.cxx
@@ -35,7 +35,7 @@
#include <vcl/help.hxx>
/*************************************************************************
-#* Member: ScExpandedFixedText Datum:18.09.97
+#* Member: ScExpandedFixedText
#*------------------------------------------------------------------------
#*
#* Klasse: MD_Test
@@ -56,7 +56,7 @@ ScExpandedFixedText::ScExpandedFixedText( Window* pParent,
}
/*************************************************************************
-#* Member: RequestHelp Datum:18.09.97
+#* Member: RequestHelp
#*------------------------------------------------------------------------
#*
#* Klasse: ScExpandedFixedText
diff --git a/sc/source/ui/dbgui/fieldwnd.cxx b/sc/source/ui/dbgui/fieldwnd.cxx
index 8c181959f049..f612250a89a3 100644
--- a/sc/source/ui/dbgui/fieldwnd.cxx
+++ b/sc/source/ui/dbgui/fieldwnd.cxx
@@ -38,65 +38,42 @@
#include "fieldwnd.hxx"
#include "pvlaydlg.hxx"
-#include "pvglob.hxx"
+#include "dpuiglobal.hxx"
#include "AccessibleDataPilotControl.hxx"
#include "scresid.hxx"
-#include "sc.hrc"
+#include "pivot.hrc"
-const size_t INVALID_INDEX = static_cast< size_t >( -1 );
+using ::rtl::OUString;
+using ::std::vector;
+using ::com::sun::star::uno::Reference;
+using ::com::sun::star::uno::WeakReference;
+using ::com::sun::star::accessibility::XAccessible;
-//===================================================================
+const size_t INVALID_INDEX = static_cast<size_t>(-1);
-ScDPFieldWindow::ScDPFieldWindow(
- ScDPLayoutDlg* pDialog,
- const ResId& rResId,
- ScDPFieldType eFieldType,
- FixedText* pFtFieldCaption ) :
- Control( pDialog, rResId ),
- pDlg( pDialog ),
- pFtCaption( pFtFieldCaption ),
- eType( eFieldType ),
- nFieldSelected( 0 ),
- pAccessible( NULL )
+ScDPFieldControlBase::ScrollBar::ScrollBar(Window* pParent, WinBits nStyle) :
+ ::ScrollBar(pParent, nStyle),
+ mpParent(pParent)
{
- Init();
- if (eType != TYPE_SELECT && pFtCaption)
- aName = MnemonicGenerator::EraseAllMnemonicChars( pFtCaption->GetText() );
}
-ScDPFieldWindow::ScDPFieldWindow(
- ScDPLayoutDlg* pDialog,
- const ResId& rResId,
- ScDPFieldType eFieldType,
- const String& rName ) :
- Control( pDialog, rResId ),
- aName(rName),
- pDlg( pDialog ),
- pFtCaption( NULL ),
- eType( eFieldType ),
- nFieldSelected( 0 ),
- pAccessible( NULL )
+void ScDPFieldControlBase::ScrollBar::Command( const CommandEvent& rCEvt )
{
- Init();
+ mpParent->Command(rCEvt);
}
-void ScDPFieldWindow::Init()
+ScDPFieldControlBase::ScDPFieldControlBase( ScDPLayoutDlg* pParent, const ResId& rResId, FixedText* pCaption ) :
+ Control(pParent, rResId),
+ mpDlg(pParent),
+ mpCaption(pCaption),
+ mnFieldSelected(0),
+ pAccessible(NULL)
{
- aWndRect = Rectangle( GetPosPixel(), GetSizePixel() );
- nFieldSize = (eType == TYPE_SELECT) ? PAGE_SIZE : ((eType == TYPE_PAGE) ? MAX_PAGEFIELDS : MAX_FIELDS);
-
- if( pFtCaption )
- {
- Size aWinSize( aWndRect.GetSize() );
- Size aTextSize( GetTextWidth( pFtCaption->GetText() ), GetTextHeight() );
- aTextPos.X() = (aWinSize.Width() - aTextSize.Width()) / 2;
- aTextPos.Y() = (aWinSize.Height() - aTextSize.Height()) / 2;
- }
-
- GetStyleSettings();
+ if (pCaption)
+ maName = MnemonicGenerator::EraseAllMnemonicChars( pCaption->GetText() );
}
-__EXPORT ScDPFieldWindow::~ScDPFieldWindow()
+ScDPFieldControlBase::~ScDPFieldControlBase()
{
if (pAccessible)
{
@@ -106,134 +83,447 @@ __EXPORT ScDPFieldWindow::~ScDPFieldWindow()
}
}
-//-------------------------------------------------------------------
+void ScDPFieldControlBase::UseMnemonic()
+{
+ // Now the FixedText has its mnemonic char. Grab the text and hide the
+ // FixedText to be able to handle tabstop and mnemonics separately.
+ if (mpCaption)
+ {
+ SetText(mpCaption->GetText());
+ mpCaption->Hide();
+ }
-void ScDPFieldWindow::GetStyleSettings()
+ // after reading the mnemonics, tab stop style bits can be updated
+ UpdateStyle();
+}
+
+OUString ScDPFieldControlBase::GetName() const
{
- const StyleSettings& rStyleSet = GetSettings().GetStyleSettings();
- aFaceColor = rStyleSet.GetFaceColor();
- aWinColor = rStyleSet.GetWindowColor();
- aTextColor = rStyleSet.GetButtonTextColor();
- aWinTextColor = rStyleSet.GetWindowTextColor();
+ return maName;
}
-//-------------------------------------------------------------------
+void ScDPFieldControlBase::SetName(const OUString& rName)
+{
+ maName = rName;
+}
-Point ScDPFieldWindow::GetFieldPosition( size_t nIndex ) const
+bool ScDPFieldControlBase::IsExistingIndex( size_t nIndex ) const
{
- Point aPos;
- switch( eType )
- {
- case TYPE_PAGE:
- aPos.X() = OWIDTH * (nIndex % (MAX_PAGEFIELDS / 2));
- aPos.Y() = OHEIGHT * (nIndex / (MAX_PAGEFIELDS / 2));
- break;
- case TYPE_COL:
- aPos.X() = OWIDTH * (nIndex % (MAX_FIELDS / 2));
- aPos.Y() = OHEIGHT * (nIndex / (MAX_FIELDS / 2));
- break;
- case TYPE_ROW:
- case TYPE_DATA:
- aPos.X() = 0;
- aPos.Y() = OHEIGHT * nIndex;
- break;
- case TYPE_SELECT:
- aPos.X() = (OWIDTH + SSPACE) * (nIndex / LINE_SIZE);
- aPos.Y() = (OHEIGHT + SSPACE) * (nIndex % LINE_SIZE);
- break;
+ return nIndex < maFieldNames.size();
+}
+
+void ScDPFieldControlBase::AddField( const String& rText, size_t nNewIndex )
+{
+ DBG_ASSERT( nNewIndex == maFieldNames.size(), "ScDPFieldWindow::AddField - invalid index" );
+ if( IsValidIndex( nNewIndex ) )
+ {
+ maFieldNames.push_back( FieldName( rText, true ) );
+ if (pAccessible)
+ {
+ com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
+ if (xTempAcc.is())
+ pAccessible->AddField(nNewIndex);
+ else
+ pAccessible = NULL;
+ }
}
- return aPos;
}
-Size ScDPFieldWindow::GetFieldSize() const
+bool ScDPFieldControlBase::AddField( const String& rText, const Point& rPos, size_t& rnIndex )
{
- return Size( (eType == TYPE_DATA) ? GetSizePixel().Width() : OWIDTH, OHEIGHT );
+ size_t nNewIndex = 0;
+ if( GetFieldIndex( rPos, nNewIndex ) )
+ {
+ if( nNewIndex > maFieldNames.size() )
+ nNewIndex = maFieldNames.size();
+
+ maFieldNames.insert( maFieldNames.begin() + nNewIndex, FieldName( rText, true ) );
+ mnFieldSelected = nNewIndex;
+ ResetScrollBar();
+ Redraw();
+ rnIndex = nNewIndex;
+
+ if (pAccessible)
+ {
+ com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
+ if (xTempAcc.is())
+ pAccessible->AddField(nNewIndex);
+ else
+ pAccessible = NULL;
+ }
+
+ return true;
+ }
+
+ return false;
}
-Point ScDPFieldWindow::GetLastPosition() const
+bool ScDPFieldControlBase::AppendField(const String& rText, size_t& rnIndex)
{
- return OutputToScreenPixel( GetFieldPosition( nFieldSize - 1 ) );
+ if (!IsValidIndex(maFieldNames.size()))
+ return false;
+
+ maFieldNames.push_back(FieldName(rText, true));
+ mnFieldSelected = maFieldNames.size() - 1;
+ ResetScrollBar();
+ Redraw();
+
+ rnIndex = mnFieldSelected;
+ return true;
}
-bool ScDPFieldWindow::GetFieldIndex( const Point& rPos, size_t& rnIndex ) const
+void ScDPFieldControlBase::DelField( size_t nDelIndex )
{
- rnIndex = INVALID_INDEX;
- if( (rPos.X() >= 0) && (rPos.Y() >= 0) )
+ if ( IsExistingIndex(nDelIndex) )
{
- switch( eType )
+ if (pAccessible) // before decrement fieldcount
{
- case TYPE_ROW:
- case TYPE_DATA:
- rnIndex = rPos.Y() / OHEIGHT;
- break;
- case TYPE_PAGE:
- {
- size_t nRow = rPos.Y() / OHEIGHT;
- size_t nCol = rPos.X() / OWIDTH;
- rnIndex = nRow * MAX_PAGEFIELDS / 2 + nCol;
- }
- break;
- case TYPE_COL:
- {
- size_t nRow = rPos.Y() / OHEIGHT;
- size_t nCol = rPos.X() / OWIDTH;
- rnIndex = nRow * MAX_FIELDS / 2 + nCol;
- }
- break;
- case TYPE_SELECT:
+ com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
+ if (xTempAcc.is())
+ pAccessible->RemoveField(nDelIndex);
+ else
+ pAccessible = NULL;
+ }
+ maFieldNames.erase( maFieldNames.begin() + nDelIndex );
+ if (mnFieldSelected >= maFieldNames.size())
+ mnFieldSelected = maFieldNames.size() - 1;
+
+ ResetScrollBar();
+ Redraw();
+ }
+}
+
+size_t ScDPFieldControlBase::GetFieldCount() const
+{
+ return maFieldNames.size();
+}
+
+bool ScDPFieldControlBase::IsEmpty() const
+{
+ return maFieldNames.empty();
+}
+
+void ScDPFieldControlBase::ClearFields()
+{
+ com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
+ if (!xTempAcc.is() && pAccessible)
+ pAccessible = NULL;
+ if (pAccessible)
+ for( size_t nIdx = maFieldNames.size(); nIdx > 0; --nIdx )
+ pAccessible->RemoveField( nIdx - 1 );
+
+ maFieldNames.clear();
+}
+
+void ScDPFieldControlBase::SetFieldText( const String& rText, size_t nIndex )
+{
+ if( IsExistingIndex( nIndex ) )
+ {
+ maFieldNames[ nIndex ] = FieldName( rText, true );
+ Redraw();
+
+ if (pAccessible)
+ {
+ com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
+ if (xTempAcc.is())
+ pAccessible->FieldNameChange(nIndex);
+ else
+ pAccessible = NULL;
+ }
+ }
+}
+
+const String& ScDPFieldControlBase::GetFieldText( size_t nIndex ) const
+{
+ if( IsExistingIndex( nIndex ) )
+ return maFieldNames[ nIndex ].first;
+ return EMPTY_STRING;
+}
+
+void ScDPFieldControlBase::GetExistingIndex( const Point& rPos, size_t& rnIndex )
+{
+ if( !maFieldNames.empty() && (GetFieldType() != TYPE_SELECT) && GetFieldIndex( rPos, rnIndex ) )
+ {
+ if( rnIndex >= maFieldNames.size() )
+ rnIndex = maFieldNames.size() - 1;
+ }
+ else
+ rnIndex = 0;
+}
+
+size_t ScDPFieldControlBase::GetSelectedField() const
+{
+ return mnFieldSelected;
+}
+
+void ScDPFieldControlBase::SetSelectedField(size_t nSelected)
+{
+ mnFieldSelected = nSelected;
+}
+
+vector<ScDPFieldControlBase::FieldName>& ScDPFieldControlBase::GetFieldNames()
+{
+ return maFieldNames;
+}
+
+const vector<ScDPFieldControlBase::FieldName>& ScDPFieldControlBase::GetFieldNames() const
+{
+ return maFieldNames;
+}
+
+void ScDPFieldControlBase::Paint( const Rectangle& /* rRect */ )
+{
+ // #124828# hiding the caption is now done from StateChanged
+ Redraw();
+}
+
+void ScDPFieldControlBase::DataChanged( const DataChangedEvent& rDCEvt )
+{
+ if( (rDCEvt.GetType() == DATACHANGED_SETTINGS) && (rDCEvt.GetFlags() & SETTINGS_STYLE) )
+ {
+ Redraw();
+ }
+ Control::DataChanged( rDCEvt );
+}
+
+void ScDPFieldControlBase::Command( const CommandEvent& rCEvt )
+{
+ if (rCEvt.GetCommand() == COMMAND_WHEEL)
+ {
+ const CommandWheelData* pData = rCEvt.GetWheelData();
+ if (pData->GetMode() == COMMAND_WHEEL_SCROLL && !pData->IsHorz())
+ {
+ // Handle vertical mouse wheel scrolls.
+ long nNotch = pData->GetNotchDelta(); // positive => up; negative => down
+ HandleWheelScroll(nNotch);
+ }
+ }
+}
+
+void ScDPFieldControlBase::MouseButtonDown( const MouseEvent& rMEvt )
+{
+ if( rMEvt.IsLeft() )
+ {
+ size_t nIndex = 0;
+ if( GetFieldIndex( rMEvt.GetPosPixel(), nIndex ) && IsExistingIndex( nIndex ) )
+ {
+ GrabFocusWithSel( nIndex );
+
+ if( rMEvt.GetClicks() == 1 )
{
- size_t nRow = rPos.Y() / (OHEIGHT + SSPACE);
- size_t nCol = rPos.X() / (OWIDTH + SSPACE);
- // is not between controls?
- if( (rPos.Y() % (OHEIGHT + SSPACE) < OHEIGHT) && (rPos.X() % (OWIDTH + SSPACE) < OWIDTH) )
- rnIndex = nCol * LINE_SIZE + nRow;
+ PointerStyle ePtr = mpDlg->NotifyMouseButtonDown( GetFieldType(), nIndex );
+ CaptureMouse();
+ SetPointer( Pointer( ePtr ) );
}
+ else
+ mpDlg->NotifyDoubleClick( GetFieldType(), nIndex );
+ }
+ }
+}
+
+void ScDPFieldControlBase::MouseButtonUp( const MouseEvent& rMEvt )
+{
+ if( rMEvt.IsLeft() )
+ {
+ if( rMEvt.GetClicks() == 1 )
+ {
+ mpDlg->NotifyMouseButtonUp( OutputToScreenPixel( rMEvt.GetPosPixel() ) );
+ SetPointer( Pointer( POINTER_ARROW ) );
+ }
+
+ if( IsMouseCaptured() )
+ ReleaseMouse();
+ }
+}
+
+void ScDPFieldControlBase::MouseMove( const MouseEvent& rMEvt )
+{
+ if( IsMouseCaptured() )
+ {
+ PointerStyle ePtr = mpDlg->NotifyMouseMove( OutputToScreenPixel( rMEvt.GetPosPixel() ) );
+ SetPointer( Pointer( ePtr ) );
+ }
+ size_t nIndex = 0;
+ if( GetFieldIndex( rMEvt.GetPosPixel(), nIndex ) && IsShortenedText( nIndex ) )
+ {
+ Point aPos = OutputToScreenPixel( rMEvt.GetPosPixel() );
+ Rectangle aRect( aPos, GetSizePixel() );
+ String aHelpText = GetFieldText(nIndex);
+ Help::ShowQuickHelp( this, aRect, aHelpText );
+ }
+}
+
+void ScDPFieldControlBase::KeyInput( const KeyEvent& rKEvt )
+{
+ const KeyCode& rKeyCode = rKEvt.GetKeyCode();
+ USHORT nCode = rKeyCode.GetCode();
+ bool bKeyEvaluated = false;
+
+ const FieldNames& rFields = GetFieldNames();
+ if( rKeyCode.IsMod1() && (GetFieldType() != TYPE_SELECT) )
+ {
+ bKeyEvaluated = true;
+ switch( nCode )
+ {
+ case KEY_UP: MoveFieldRel( 0, -1 ); break;
+ case KEY_DOWN: MoveFieldRel( 0, 1 ); break;
+ case KEY_LEFT: MoveFieldRel( -1, 0 ); break;
+ case KEY_RIGHT: MoveFieldRel( 1, 0 ); break;
+ case KEY_HOME: MoveField( 0 ); break;
+ case KEY_END: MoveField( rFields.size() - 1 ); break;
+ default: bKeyEvaluated = false;
+ }
+ }
+ else
+ {
+ bKeyEvaluated = true;
+ switch( nCode )
+ {
+ case KEY_UP: MoveSelection( 0, -1 ); break;
+ case KEY_DOWN: MoveSelection( 0, 1 ); break;
+ case KEY_LEFT: MoveSelection( -1, 0 ); break;
+ case KEY_RIGHT: MoveSelection( 1, 0 ); break;
+ case KEY_HOME: SetSelectionHome(); break;
+ case KEY_END: SetSelectionEnd(); break;
+ case KEY_DELETE:
+ mpDlg->NotifyRemoveField( GetFieldType(), mnFieldSelected );
break;
+ default:
+ bKeyEvaluated = false;
}
}
- return IsValidIndex( rnIndex );
+
+ if (bKeyEvaluated)
+ {
+ ScrollToShowSelection();
+ Redraw();
+ }
+ else
+ Control::KeyInput( rKEvt );
}
-//-------------------------------------------------------------------
+void ScDPFieldControlBase::GetFocus()
+{
+ Control::GetFocus();
+ Redraw();
+ if( GetGetFocusFlags() & GETFOCUS_MNEMONIC ) // move field on shortcut
+ {
+ size_t nOldCount = GetFieldCount();
+ mpDlg->NotifyMoveFieldToEnd( GetFieldType() );
+ if (GetFieldCount() > nOldCount)
+ // Scroll to the end only when a new field is inserted.
+ ScrollToEnd();
+ }
+ else // else change focus
+ mpDlg->NotifyFieldFocus( GetFieldType(), TRUE );
-void ScDPFieldWindow::DrawBackground( OutputDevice& rDev )
+ AccessibleSetFocus(true);
+}
+
+void ScDPFieldControlBase::LoseFocus()
{
- Point aPos0;
- Size aSize( GetSizePixel() );
+ Control::LoseFocus();
+ Redraw();
+ mpDlg->NotifyFieldFocus( GetFieldType(), FALSE );
+
+ AccessibleSetFocus(false);
+}
+
+Reference<XAccessible> ScDPFieldControlBase::CreateAccessible()
+{
+ pAccessible =
+ new ScAccessibleDataPilotControl(GetAccessibleParentWindow()->GetAccessible(), this);
- if ( eType == TYPE_SELECT )
+ com::sun::star::uno::Reference < ::com::sun::star::accessibility::XAccessible > xReturn = pAccessible;
+
+ pAccessible->Init();
+ xAccessible = xReturn;
+
+ return xReturn;
+}
+
+void ScDPFieldControlBase::FieldFocusChanged(size_t nOldSelected, size_t nFieldSelected)
+{
+ if (!pAccessible)
+ return;
+
+ com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
+ if (xTempAcc.is())
+ pAccessible->FieldFocusChange(nOldSelected, nFieldSelected);
+ else
+ pAccessible = NULL;
+}
+
+void ScDPFieldControlBase::AccessibleSetFocus(bool bOn)
+{
+ if (!pAccessible)
+ return;
+
+ com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
+ if (!xTempAcc.is())
{
- rDev.SetLineColor();
- rDev.SetFillColor( aFaceColor );
- rDev.DrawRect( Rectangle( aPos0, aSize ) );
+ pAccessible = NULL;
+ return;
}
+
+ if (bOn)
+ pAccessible->GotFocus();
else
+ pAccessible->LostFocus();
+}
+
+void ScDPFieldControlBase::UpdateStyle()
+{
+ WinBits nMask = ~(WB_TABSTOP | WB_NOTABSTOP);
+ SetStyle( (GetStyle() & nMask) | (IsEmpty() ? WB_NOTABSTOP : WB_TABSTOP) );
+}
+
+void ScDPFieldControlBase::DrawBackground( OutputDevice& rDev )
+{
+ const StyleSettings& rStyleSet = GetSettings().GetStyleSettings();
+ Color aFaceColor = rStyleSet.GetFaceColor();
+ Color aWinColor = rStyleSet.GetWindowColor();
+ Color aTextColor = rStyleSet.GetButtonTextColor();
+ Color aWinTextColor = rStyleSet.GetWindowTextColor();
+
+ Point aPos0;
+ Size aSize( GetSizePixel() );
+
+ if (mpCaption)
{
rDev.SetLineColor( aWinTextColor );
rDev.SetFillColor( aWinColor );
- rDev.DrawRect( Rectangle( aPos0, aSize ) );
+ }
+ else
+ {
+ rDev.SetLineColor( aFaceColor );
+ rDev.SetFillColor( aFaceColor );
+ }
+ rDev.DrawRect( Rectangle( aPos0, aSize ) );
- rDev.SetTextColor( aWinTextColor );
+ rDev.SetTextColor( aWinTextColor );
- /* Draw the caption text. This needs some special handling, because we
- support hard line breaks here. This part will draw each line of the
- text for itself. */
+ /* Draw the caption text. This needs some special handling, because we
+ support hard line breaks here. This part will draw each line of the
+ text for itself. */
- xub_StrLen nTokenCnt = GetText().GetTokenCount( '\n' );
- long nY = (aSize.Height() - nTokenCnt * rDev.GetTextHeight()) / 2;
- for( xub_StrLen nToken = 0, nStringIx = 0; nToken < nTokenCnt; ++nToken )
- {
- String aLine( GetText().GetToken( 0, '\n', nStringIx ) );
- Point aLinePos( (aSize.Width() - rDev.GetCtrlTextWidth( aLine )) / 2, nY );
- rDev.DrawCtrlText( aLinePos, aLine );
- nY += rDev.GetTextHeight();
- }
+ xub_StrLen nTokenCnt = GetText().GetTokenCount('\n');
+ long nY = (aSize.Height() - nTokenCnt * rDev.GetTextHeight()) / 2;
+ for( xub_StrLen nToken = 0, nStringIx = 0; nToken < nTokenCnt; ++nToken )
+ {
+ String aLine( GetText().GetToken( 0, '\n', nStringIx ) );
+ Point aLinePos( (aSize.Width() - rDev.GetCtrlTextWidth( aLine )) / 2, nY );
+ rDev.DrawCtrlText( aLinePos, aLine );
+ nY += rDev.GetTextHeight();
}
}
-void ScDPFieldWindow::DrawField(
- OutputDevice& rDev, const Rectangle& rRect, FieldString& rText, bool bFocus )
+void ScDPFieldControlBase::DrawField(
+ OutputDevice& rDev, const Rectangle& rRect, FieldName& rText, bool bFocus )
{
+ const StyleSettings& rStyleSet = GetSettings().GetStyleSettings();
+ Color aTextColor = rStyleSet.GetButtonTextColor();
+
VirtualDevice aVirDev( rDev );
// #i97623# VirtualDevice is always LTR while other windows derive direction from parent
aVirDev.EnableRTL( IsRTLEnabled() );
@@ -273,506 +563,730 @@ void ScDPFieldWindow::DrawField(
rDev.DrawBitmap( rRect.TopLeft(), aVirDev.GetBitmap( Point( 0, 0 ), aDevSize ) );
}
-void ScDPFieldWindow::Redraw()
+ScDPLayoutDlg* ScDPFieldControlBase::GetParentDlg() const
{
- VirtualDevice aVirDev;
- // #i97623# VirtualDevice is always LTR while other windows derive direction from parent
- aVirDev.EnableRTL( IsRTLEnabled() );
- aVirDev.SetMapMode( MAP_PIXEL );
-
- Point aPos0;
- Size aSize( GetSizePixel() );
- Font aFont( GetFont() ); // Font vom Window
- aFont.SetTransparent( TRUE );
- aVirDev.SetFont( aFont );
- aVirDev.SetOutputSizePixel( aSize );
+ return mpDlg;
+}
- DrawBackground( aVirDev );
+void ScDPFieldControlBase::AppendPaintable(Window* p)
+{
+ maPaintables.push_back(p);
+}
- if( !aFieldArr.empty() && (nFieldSelected >= aFieldArr.size()) )
- nFieldSelected = aFieldArr.size() - 1;
- Rectangle aFieldRect( aPos0, GetFieldSize() );
- for( size_t nIx = 0; nIx < aFieldArr.size(); ++nIx )
+void ScDPFieldControlBase::DrawPaintables()
+{
+ Rectangle aRect(GetPosPixel(), GetSizePixel());
+ Paintables::iterator itr = maPaintables.begin(), itrEnd = maPaintables.end();
+ for (; itr != itrEnd; ++itr)
{
- aFieldRect.SetPos( GetFieldPosition( nIx ) );
- bool bFocus = HasFocus() && (nIx == nFieldSelected);
- DrawField( aVirDev, aFieldRect, aFieldArr[ nIx ], bFocus );
- }
- DrawBitmap( aPos0, aVirDev.GetBitmap( aPos0, aSize ) );
+ Window* p = *itr;
+ if (!p->IsVisible())
+ continue;
- if( HasFocus() && (nFieldSelected < aFieldArr.size()) )
- {
- long nFieldWidth = aFieldRect.GetWidth();
- long nSelectionWidth = Min( GetTextWidth( aFieldArr[ nFieldSelected ].first ) + 4, nFieldWidth - 6 );
- Rectangle aSelection(
- GetFieldPosition( nFieldSelected ) + Point( (nFieldWidth - nSelectionWidth) / 2, 3 ),
- Size( nSelectionWidth, aFieldRect.GetHeight() - 6 ) );
- InvertTracking( aSelection, SHOWTRACK_SMALL | SHOWTRACK_WINDOW );
+ p->Paint(aRect);
}
-
- UpdateStyle();
}
-void ScDPFieldWindow::UpdateStyle()
+void ScDPFieldControlBase::DrawInvertSelection()
{
- WinBits nMask = ~(WB_TABSTOP | WB_NOTABSTOP);
- SetStyle( (GetStyle() & nMask) | (IsEmpty() ? WB_NOTABSTOP : WB_TABSTOP) );
-}
+ if (!HasFocus())
+ return;
-//-------------------------------------------------------------------
+ if (mnFieldSelected >= maFieldNames.size())
+ return;
-bool ScDPFieldWindow::IsValidIndex( size_t nIndex ) const
-{
- return nIndex < nFieldSize;
-}
+ size_t nPos = GetDisplayPosition(mnFieldSelected);
+ if (nPos == INVALID_INDEX)
+ return;
-bool ScDPFieldWindow::IsExistingIndex( size_t nIndex ) const
-{
- return nIndex < aFieldArr.size();
+ Size aFldSize = GetFieldSize();
+ long nFldWidth = aFldSize.Width();
+ long nSelWidth = std::min<long>(
+ GetTextWidth(maFieldNames[mnFieldSelected].first) + 4, nFldWidth - 6);
+
+ Point aPos = GetFieldPosition(nPos);
+ aPos += Point((nFldWidth - nSelWidth) / 2, 3);
+ Size aSize(nSelWidth, aFldSize.Height() - 6);
+
+ Rectangle aSel(aPos, aSize);
+ InvertTracking(aSel, SHOWTRACK_SMALL | SHOWTRACK_WINDOW);
}
-bool ScDPFieldWindow::IsShortenedText( size_t nIndex ) const
+bool ScDPFieldControlBase::IsShortenedText( size_t nIndex ) const
{
- return (nIndex < aFieldArr.size()) && !aFieldArr[ nIndex ].second;
+ const FieldNames& rFields = GetFieldNames();
+ return (nIndex < rFields.size()) && !rFields[nIndex].second;
}
-size_t ScDPFieldWindow::CalcNewFieldIndex( SCsCOL nDX, SCsROW nDY ) const
+void ScDPFieldControlBase::MoveField( size_t nDestIndex )
{
- size_t nNewField = nFieldSelected;
- switch( eType )
+ if (nDestIndex != mnFieldSelected)
{
- case TYPE_PAGE:
- nNewField += static_cast<SCsCOLROW>(nDX) + nDY * MAX_PAGEFIELDS / 2;
- break;
- case TYPE_COL:
- nNewField += static_cast<SCsCOLROW>(nDX) + nDY * MAX_FIELDS / 2;
- break;
- case TYPE_ROW:
- case TYPE_DATA:
- nNewField += nDY;
- break;
- case TYPE_SELECT:
- nNewField += static_cast<SCsCOLROW>(nDX) * LINE_SIZE + nDY;
- break;
+ swap(maFieldNames[nDestIndex], maFieldNames[mnFieldSelected]);
+ mnFieldSelected = nDestIndex;
}
+}
- return IsExistingIndex( nNewField ) ? nNewField : nFieldSelected;
+void ScDPFieldControlBase::MoveFieldRel( SCsCOL nDX, SCsROW nDY )
+{
+ MoveField( CalcNewFieldIndex( nDX, nDY ) );
}
-void ScDPFieldWindow::SetSelection( size_t nIndex )
+void ScDPFieldControlBase::SetSelection(size_t nIndex)
{
- if( !aFieldArr.empty() )
+ FieldNames& rFields = GetFieldNames();
+ if (rFields.empty())
+ return;
+
+ if( mnFieldSelected >= rFields.size() )
+ mnFieldSelected = rFields.size() - 1;
+ if( mnFieldSelected != nIndex )
{
- if( nFieldSelected >= aFieldArr.size() )
- nFieldSelected = aFieldArr.size() - 1;
- if( nFieldSelected != nIndex )
- {
- sal_Int32 nOldSelected(nFieldSelected);
- nFieldSelected = nIndex;
- Redraw();
+ size_t nOldSelected = mnFieldSelected;
+ mnFieldSelected = nIndex;
+ Redraw();
- if (pAccessible && HasFocus())
- {
- com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
- if (xTempAcc.is())
- pAccessible->FieldFocusChange(nOldSelected, nFieldSelected);
- else
- pAccessible = NULL;
- }
- }
+ if (HasFocus())
+ FieldFocusChanged(nOldSelected, mnFieldSelected);
}
}
-void ScDPFieldWindow::SetSelectionHome()
+void ScDPFieldControlBase::SetSelectionHome()
{
- if( !aFieldArr.empty() )
+ const FieldNames& rFields = GetFieldNames();
+ if( !rFields.empty() )
{
- if( eType == TYPE_SELECT )
- pDlg->NotifyMoveSlider( KEY_HOME );
SetSelection( 0 );
}
}
-void ScDPFieldWindow::SetSelectionEnd()
+void ScDPFieldControlBase::SetSelectionEnd()
{
- if( !aFieldArr.empty() )
+ const FieldNames& rFields = GetFieldNames();
+ if( !rFields.empty() )
{
- if( eType == TYPE_SELECT )
- pDlg->NotifyMoveSlider( KEY_END );
- SetSelection( aFieldArr.size() - 1 );
+ SetSelection( rFields.size() - 1 );
}
}
-void ScDPFieldWindow::MoveSelection( USHORT nKeyCode, SCsCOL nDX, SCsROW nDY )
+void ScDPFieldControlBase::MoveSelection(SCsCOL nDX, SCsROW nDY)
{
size_t nNewIndex = CalcNewFieldIndex( nDX, nDY );
- if( (eType == TYPE_SELECT) && (nNewIndex == nFieldSelected) )
- {
- if( pDlg->NotifyMoveSlider( nKeyCode ) )
- {
- switch( nKeyCode )
- {
- case KEY_UP: nNewIndex += (LINE_SIZE - 1); break;
- case KEY_DOWN: nNewIndex -= (LINE_SIZE - 1); break;
- }
- }
- }
SetSelection( nNewIndex );
}
-void ScDPFieldWindow::ModifySelectionOffset( long nOffsetDiff )
+void ScDPFieldControlBase::ModifySelectionOffset( long nOffsetDiff )
{
- nFieldSelected -= nOffsetDiff;
+ mnFieldSelected -= nOffsetDiff;
Redraw();
}
-void ScDPFieldWindow::SelectNext()
+void ScDPFieldControlBase::SelectNext()
{
- if( eType == TYPE_SELECT )
- MoveSelection( KEY_DOWN, 0, 1 );
+ SetSelection(mnFieldSelected + 1);
}
-void ScDPFieldWindow::GrabFocusWithSel( size_t nIndex )
+void ScDPFieldControlBase::GrabFocusWithSel( size_t nIndex )
{
SetSelection( nIndex );
if( !HasFocus() )
GrabFocus();
}
-void ScDPFieldWindow::MoveField( size_t nDestIndex )
+//=============================================================================
+
+ScDPHorFieldControl::ScDPHorFieldControl(
+ ScDPLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption) :
+ ScDPFieldControlBase(pDialog, rResId, pCaption),
+ maScroll(this, WB_HORZ | WB_DRAG),
+ mnFieldBtnRowCount(0),
+ mnFieldBtnColCount(0)
{
- if( nDestIndex != nFieldSelected )
- {
- // "recycle" existing functionality
- pDlg->NotifyMouseButtonDown( eType, nFieldSelected );
- pDlg->NotifyMouseButtonUp( OutputToScreenPixel( GetFieldPosition( nDestIndex ) ) );
- }
+ maScroll.SetScrollHdl( LINK(this, ScDPHorFieldControl, ScrollHdl) );
+ maScroll.SetEndScrollHdl( LINK(this, ScDPHorFieldControl, EndScrollHdl) );
+ maScroll.Hide();
+
+ AppendPaintable(&maScroll);
}
-void ScDPFieldWindow::MoveFieldRel( SCsCOL nDX, SCsROW nDY )
+ScDPHorFieldControl::~ScDPHorFieldControl()
{
- MoveField( CalcNewFieldIndex( nDX, nDY ) );
}
-//-------------------------------------------------------------------
+Point ScDPHorFieldControl::GetFieldPosition( size_t nIndex )
+{
+ Point aPos;
+ Size aSize;
+ GetFieldBtnPosSize(nIndex, aPos, aSize);
+ return aPos;
+}
-void __EXPORT ScDPFieldWindow::Paint( const Rectangle& /* rRect */ )
+Size ScDPHorFieldControl::GetFieldSize() const
{
- // #124828# hiding the caption is now done from StateChanged
- Redraw();
+ return Size(FIELD_BTN_WIDTH, FIELD_BTN_HEIGHT);
}
-void ScDPFieldWindow::UseMnemonic()
+bool ScDPHorFieldControl::GetFieldIndex( const Point& rPos, size_t& rnIndex )
{
- // Now the FixedText has its mnemonic char. Grab the text and hide the
- // FixedText to be able to handle tabstop and mnemonics separately.
- if( pFtCaption )
+ rnIndex = INVALID_INDEX;
+ if (rPos.X() < 0 || rPos.Y() < 0)
+ return false;
+
+ Size aWndSize = GetSizePixel();
+ if (rPos.X() > aWndSize.Width() || rPos.Y() > aWndSize.Height())
+ return false;
+
+ size_t nX = rPos.X();
+ size_t nY = rPos.Y();
+ size_t nW = aWndSize.Width();
+ size_t nH = aWndSize.Height();
+
+ Size aFldSize = GetFieldSize();
+ size_t nCurX = OUTER_MARGIN_HOR + aFldSize.Width() + ROW_FIELD_BTN_GAP/2;
+ size_t nCurY = OUTER_MARGIN_VER + aFldSize.Height() + ROW_FIELD_BTN_GAP/2;
+ size_t nCol = 0;
+ size_t nRow = 0;
+ while (nX > nCurX && nCurX <= nW)
{
- SetText( pFtCaption->GetText() );
- pFtCaption->Hide();
+ nCurX += aFldSize.Width() + ROW_FIELD_BTN_GAP;
+ ++nCol;
+ }
+ while (nY > nCurY && nCurY <= nH)
+ {
+ nCurY += aFldSize.Height() + ROW_FIELD_BTN_GAP;
+ ++nRow;
}
- // after reading the mnemonics, tab stop style bits can be updated
- UpdateStyle();
+ size_t nOffset = maScroll.GetThumbPos();
+ nCol += nOffset; // convert to logical column ID.
+ rnIndex = nCol * mnFieldBtnRowCount + nRow;
+ size_t nFldCount = GetFieldCount();
+ if (rnIndex > nFldCount)
+ rnIndex = nFldCount;
+ return IsValidIndex(rnIndex);
}
-void __EXPORT ScDPFieldWindow::DataChanged( const DataChangedEvent& rDCEvt )
+void ScDPHorFieldControl::Redraw()
{
- if( (rDCEvt.GetType() == DATACHANGED_SETTINGS) && (rDCEvt.GetFlags() & SETTINGS_STYLE) )
+ const StyleSettings& rStyleSet = GetSettings().GetStyleSettings();
+ Color aFaceColor = rStyleSet.GetFaceColor();
+ Color aWinColor = rStyleSet.GetWindowColor();
+ Color aTextColor = rStyleSet.GetButtonTextColor();
+ Color aWinTextColor = rStyleSet.GetWindowTextColor();
+
+ VirtualDevice aVirDev;
+ // #i97623# VirtualDevice is always LTR while other windows derive direction from parent
+ aVirDev.EnableRTL( IsRTLEnabled() );
+ aVirDev.SetMapMode( MAP_PIXEL );
+
+ Point aPos0;
+ Size aSize( GetSizePixel() );
+ Font aFont( GetFont() ); // Font vom Window
+ aFont.SetTransparent( TRUE );
+ aVirDev.SetFont( aFont );
+ aVirDev.SetOutputSizePixel( aSize );
+
+ DrawBackground( aVirDev );
+
+ FieldNames& rFields = GetFieldNames();
{
- GetStyleSettings();
- Redraw();
+ long nScrollOffset = maScroll.GetThumbPos();
+ FieldNames::iterator itr = rFields.begin(), itrEnd = rFields.end();
+ if (nScrollOffset)
+ ::std::advance(itr, nScrollOffset*mnFieldBtnRowCount);
+
+ for (size_t i = 0; itr != itrEnd; ++itr, ++i)
+ {
+ Point aFldPt;
+ Size aFldSize;
+ if (!GetFieldBtnPosSize(i, aFldPt, aFldSize))
+ break;
+
+ size_t nField = i + nScrollOffset*mnFieldBtnRowCount;
+ bool bFocus = HasFocus() && (nField == GetSelectedField());
+ DrawField(aVirDev, Rectangle(aFldPt, aFldSize), *itr, bFocus);
+ }
}
- Control::DataChanged( rDCEvt );
+
+ DrawBitmap( aPos0, aVirDev.GetBitmap( aPos0, aSize ) );
+ DrawPaintables();
+ DrawInvertSelection();
+ UpdateStyle();
}
-void __EXPORT ScDPFieldWindow::MouseButtonDown( const MouseEvent& rMEvt )
+void ScDPHorFieldControl::CalcSize()
{
- if( rMEvt.IsLeft() )
- {
- size_t nIndex = 0;
- if( GetFieldIndex( rMEvt.GetPosPixel(), nIndex ) && IsExistingIndex( nIndex ) )
- {
- GrabFocusWithSel( nIndex );
+ Size aWndSize = GetSizePixel();
- if( rMEvt.GetClicks() == 1 )
- {
- PointerStyle ePtr = pDlg->NotifyMouseButtonDown( eType, nIndex );
- CaptureMouse();
- SetPointer( Pointer( ePtr ) );
- }
- else
- pDlg->NotifyDoubleClick( eType, nIndex );
- }
- }
+ long nScrollSize = GetSettings().GetStyleSettings().GetScrollBarSize();
+ maScroll.SetSizePixel(Size(aWndSize.Width() - OUTER_MARGIN_HOR*2, nScrollSize));
+ maScroll.SetPosPixel(Point(OUTER_MARGIN_HOR, aWndSize.Height() - OUTER_MARGIN_VER - nScrollSize));
+
+ long nTotalH = aWndSize.Height() - nScrollSize - OUTER_MARGIN_VER*2;
+ long nTotalW = aWndSize.Width() - OUTER_MARGIN_HOR*2;
+ mnFieldBtnRowCount = nTotalH / (GetFieldSize().Height() + ROW_FIELD_BTN_GAP);
+ mnFieldBtnColCount = (nTotalW + ROW_FIELD_BTN_GAP) / (GetFieldSize().Width() + ROW_FIELD_BTN_GAP);
+
+ maScroll.SetLineSize(1);
+ maScroll.SetVisibleSize(mnFieldBtnColCount);
+ maScroll.SetPageSize(mnFieldBtnColCount);
+ maScroll.SetRange(Range(0, mnFieldBtnColCount));
}
-void __EXPORT ScDPFieldWindow::MouseButtonUp( const MouseEvent& rMEvt )
+bool ScDPHorFieldControl::IsValidIndex(size_t /*nIndex*/) const
{
- if( rMEvt.IsLeft() )
- {
- if( rMEvt.GetClicks() == 1 )
- {
- pDlg->NotifyMouseButtonUp( OutputToScreenPixel( rMEvt.GetPosPixel() ) );
- SetPointer( Pointer( POINTER_ARROW ) );
- }
+ return true;
+}
- if( IsMouseCaptured() )
- ReleaseMouse();
- }
+size_t ScDPHorFieldControl::CalcNewFieldIndex(SCsCOL nDX, SCsROW nDY) const
+{
+ size_t nSel = GetSelectedField();
+ size_t nFldCount = GetFieldCount();
+ SCsROW nRow = nSel % mnFieldBtnRowCount;
+ SCsCOL nCol = nSel / mnFieldBtnRowCount;
+ SCsCOL nColUpper = ceil(
+ static_cast<double>(nFldCount) / static_cast<double>(mnFieldBtnRowCount)) - 1;
+ SCsROW nRowUpper = mnFieldBtnRowCount - 1;
+
+ nCol += nDX;
+ if (nCol < 0)
+ nCol = 0;
+ else if (nColUpper < nCol)
+ nCol = nColUpper;
+ nRow += nDY;
+ if (nRow < 0)
+ nRow = 0;
+ else if (nRowUpper < nRow)
+ nRow = nRowUpper;
+
+ nSel = nCol*mnFieldBtnRowCount + nRow;
+ if (nSel >= nFldCount)
+ nSel = nFldCount - 1;
+
+ return nSel;
}
-void __EXPORT ScDPFieldWindow::MouseMove( const MouseEvent& rMEvt )
+size_t ScDPHorFieldControl::GetDisplayPosition(size_t nIndex) const
{
- if( IsMouseCaptured() )
+ size_t nColFirst = maScroll.GetThumbPos();
+ size_t nColLast = nColFirst + mnFieldBtnColCount - 1;
+ size_t nCol = nIndex / mnFieldBtnRowCount;
+ size_t nRow = nIndex % mnFieldBtnRowCount;
+ if (nCol < nColFirst || nColLast < nCol)
+ // index is outside the visible area.
+ return INVALID_INDEX;
+
+ size_t nPos = (nCol - nColFirst)*mnFieldBtnRowCount + nRow;
+ return nPos;
+}
+
+String ScDPHorFieldControl::GetDescription() const
+{
+ return ScResId(STR_ACC_DATAPILOT_COL_DESCR);
+}
+
+void ScDPHorFieldControl::ScrollToEnd()
+{
+ maScroll.DoScroll(maScroll.GetRangeMax());
+}
+
+void ScDPHorFieldControl::ScrollToShowSelection()
+{
+ size_t nLower = maScroll.GetThumbPos();
+ size_t nUpper = nLower + mnFieldBtnColCount - 1;
+ size_t nCol = GetSelectedField() / mnFieldBtnRowCount;
+ if (nCol < nLower)
{
- PointerStyle ePtr = pDlg->NotifyMouseMove( OutputToScreenPixel( rMEvt.GetPosPixel() ) );
- SetPointer( Pointer( ePtr ) );
+ // scroll to left.
+ maScroll.DoScroll(nCol);
}
- size_t nIndex = 0;
- if( GetFieldIndex( rMEvt.GetPosPixel(), nIndex ) && IsShortenedText( nIndex ) )
+ else if (nUpper < nCol)
{
- Point aPos = OutputToScreenPixel( rMEvt.GetPosPixel() );
- Rectangle aRect( aPos, GetSizePixel() );
- String aHelpText = GetFieldText(nIndex);
- Help::ShowQuickHelp( this, aRect, aHelpText );
+ // scroll to right.
+ maScroll.DoScroll(nCol - mnFieldBtnColCount + 1);
}
}
-void __EXPORT ScDPFieldWindow::KeyInput( const KeyEvent& rKEvt )
+void ScDPHorFieldControl::ResetScrollBar()
{
- const KeyCode& rKeyCode = rKEvt.GetKeyCode();
- USHORT nCode = rKeyCode.GetCode();
- BOOL bKeyEvaluated = FALSE;
+ long nOldMax = maScroll.GetRangeMax();
+ long nNewMax = ceil(
+ static_cast<double>(GetFieldCount()) / static_cast<double>(mnFieldBtnRowCount));
- if( rKeyCode.IsMod1() && (eType != TYPE_SELECT) )
+ if (nOldMax != nNewMax)
{
- bKeyEvaluated = TRUE;
- switch( nCode )
- {
- case KEY_UP: MoveFieldRel( 0, -1 ); break;
- case KEY_DOWN: MoveFieldRel( 0, 1 ); break;
- case KEY_LEFT: MoveFieldRel( -1, 0 ); break;
- case KEY_RIGHT: MoveFieldRel( 1, 0 ); break;
- case KEY_HOME: MoveField( 0 ); break;
- case KEY_END: MoveField( aFieldArr.size() - 1 ); break;
- default: bKeyEvaluated = FALSE;
- }
- }
- else
- {
- bKeyEvaluated = TRUE;
- switch( nCode )
- {
- case KEY_UP: MoveSelection( nCode, 0, -1 ); break;
- case KEY_DOWN: MoveSelection( nCode, 0, 1 ); break;
- case KEY_LEFT: MoveSelection( nCode, -1, 0 ); break;
- case KEY_RIGHT: MoveSelection( nCode, 1, 0 ); break;
- case KEY_HOME: SetSelectionHome(); break;
- case KEY_END: SetSelectionEnd(); break;
- case KEY_DELETE:
- pDlg->NotifyRemoveField( eType, nFieldSelected ); break;
- default: bKeyEvaluated = FALSE;
- }
+ maScroll.SetRangeMax(nNewMax);
+ bool bShow = mnFieldBtnColCount*mnFieldBtnRowCount < GetFieldCount();
+ maScroll.Show(bShow);
}
+}
- if( !bKeyEvaluated )
- Control::KeyInput( rKEvt );
+void ScDPHorFieldControl::HandleWheelScroll(long /*nNotch*/)
+{
+ // not handled for horizontal field controls.
}
-void __EXPORT ScDPFieldWindow::GetFocus()
+bool ScDPHorFieldControl::GetFieldBtnPosSize(size_t nPos, Point& rPos, Size& rSize)
{
- Control::GetFocus();
- Redraw();
- if( GetGetFocusFlags() & GETFOCUS_MNEMONIC ) // move field on shortcut
- pDlg->NotifyMoveField( eType );
- else // else change focus
- pDlg->NotifyFieldFocus( eType, TRUE );
+ if (nPos >= mnFieldBtnColCount*mnFieldBtnRowCount)
+ return false;
- if (pAccessible)
- {
- com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
- if (xTempAcc.is())
- pAccessible->GotFocus();
- else
- pAccessible = NULL;
- }
+ Point aPos = Point(OUTER_MARGIN_HOR, OUTER_MARGIN_VER);
+ size_t nRow = nPos % mnFieldBtnRowCount;
+ size_t nCol = nPos / mnFieldBtnRowCount;
+
+ aPos.X() += nCol*(GetFieldSize().Width() + ROW_FIELD_BTN_GAP);
+ aPos.Y() += nRow*(GetFieldSize().Height() + ROW_FIELD_BTN_GAP);
+
+ rPos = aPos;
+ rSize = GetFieldSize();
+ return true;
}
-void __EXPORT ScDPFieldWindow::LoseFocus()
+void ScDPHorFieldControl::HandleScroll()
{
- Control::LoseFocus();
Redraw();
- pDlg->NotifyFieldFocus( eType, FALSE );
+}
- if (pAccessible)
- {
- com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
- if (xTempAcc.is())
- pAccessible->LostFocus();
- else
- pAccessible = NULL;
- }
+IMPL_LINK(ScDPHorFieldControl, ScrollHdl, ScrollBar*, EMPTYARG)
+{
+ HandleScroll();
+ return 0;
+}
+
+IMPL_LINK(ScDPHorFieldControl, EndScrollHdl, ScrollBar*, EMPTYARG)
+{
+ HandleScroll();
+ return 0;
+}
+
+//=============================================================================
+
+ScDPPageFieldControl::ScDPPageFieldControl(
+ ScDPLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption) :
+ ScDPHorFieldControl(pDialog, rResId, pCaption)
+{
+}
+
+ScDPPageFieldControl::~ScDPPageFieldControl()
+{
+}
+
+ScDPFieldType ScDPPageFieldControl::GetFieldType() const
+{
+ return TYPE_PAGE;
+}
+
+String ScDPPageFieldControl::GetDescription() const
+{
+ return ScResId(STR_ACC_DATAPILOT_PAGE_DESCR);
+}
+
+//=============================================================================
+
+ScDPColFieldControl::ScDPColFieldControl(
+ ScDPLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption) :
+ ScDPHorFieldControl(pDialog, rResId, pCaption)
+{
+}
+
+ScDPColFieldControl::~ScDPColFieldControl()
+{
+}
+
+ScDPFieldType ScDPColFieldControl::GetFieldType() const
+{
+ return TYPE_COL;
+}
+
+String ScDPColFieldControl::GetDescription() const
+{
+ return ScResId(STR_ACC_DATAPILOT_COL_DESCR);
+}
+
+//=============================================================================
+
+ScDPRowFieldControl::ScDPRowFieldControl(
+ ScDPLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption ) :
+ ScDPFieldControlBase( pDialog, rResId, pCaption ),
+ maScroll(this, WB_VERT | WB_DRAG),
+ mnColumnBtnCount(0)
+{
+ maScroll.SetScrollHdl( LINK(this, ScDPRowFieldControl, ScrollHdl) );
+ maScroll.SetEndScrollHdl( LINK(this, ScDPRowFieldControl, EndScrollHdl) );
+ maScroll.Show(false);
+
+ AppendPaintable(&maScroll);
+}
+
+ScDPRowFieldControl::~ScDPRowFieldControl()
+{
}
//-------------------------------------------------------------------
-void ScDPFieldWindow::AddField( const String& rText, size_t nNewIndex )
+Point ScDPRowFieldControl::GetFieldPosition(size_t nIndex)
{
- DBG_ASSERT( nNewIndex == aFieldArr.size(), "ScDPFieldWindow::AddField - invalid index" );
- if( IsValidIndex( nNewIndex ) )
- {
- aFieldArr.push_back( FieldString( rText, true ) );
- if (pAccessible)
- {
- com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
- if (xTempAcc.is())
- pAccessible->AddField(nNewIndex);
- else
- pAccessible = NULL;
- }
- }
+ Point aPos;
+ Size aSize;
+ GetFieldBtnPosSize(nIndex, aPos, aSize);
+ return aPos;
}
-void ScDPFieldWindow::DelField( size_t nDelIndex )
+Size ScDPRowFieldControl::GetFieldSize() const
{
- if( IsExistingIndex( nDelIndex ) )
- {
- if (pAccessible) // before decrement fieldcount
- {
- com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
- if (xTempAcc.is())
- pAccessible->RemoveField(nDelIndex);
- else
- pAccessible = NULL;
- }
- aFieldArr.erase( aFieldArr.begin() + nDelIndex );
- Redraw();
- }
+ return Size(FIELD_BTN_WIDTH, FIELD_BTN_HEIGHT);
}
-void ScDPFieldWindow::ClearFields()
+bool ScDPRowFieldControl::GetFieldIndex( const Point& rPos, size_t& rnIndex )
{
- if( eType == TYPE_SELECT || eType == TYPE_PAGE || eType == TYPE_COL || eType == TYPE_ROW || eType == TYPE_DATA)
+ rnIndex = INVALID_INDEX;
+ if (rPos.X() < 0 || rPos.Y() < 0)
+ return false;
+
+ long nFldH = GetFieldSize().Height();
+ long nThreshold = OUTER_MARGIN_VER + nFldH + ROW_FIELD_BTN_GAP / 2;
+
+ size_t nIndex = 0;
+ for (; nIndex < mnColumnBtnCount; ++nIndex)
{
- com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
- if (!xTempAcc.is() && pAccessible)
- pAccessible = NULL;
- if (pAccessible)
- for( size_t nIdx = aFieldArr.size(); nIdx > 0; --nIdx )
- pAccessible->RemoveField( nIdx - 1 );
+ if (rPos.Y() < nThreshold)
+ break;
- aFieldArr.clear();
+ nThreshold += nFldH + ROW_FIELD_BTN_GAP;
}
+
+ if (nIndex >= mnColumnBtnCount)
+ nIndex = mnColumnBtnCount - 1;
+
+ nIndex += maScroll.GetThumbPos();
+ rnIndex = nIndex;
+ return IsValidIndex(rnIndex);
}
-void ScDPFieldWindow::SetFieldText( const String& rText, size_t nIndex )
+void ScDPRowFieldControl::Redraw()
{
- if( IsExistingIndex( nIndex ) )
+ VirtualDevice aVirDev;
+ // #i97623# VirtualDevice is always LTR while other windows derive direction from parent
+ aVirDev.EnableRTL( IsRTLEnabled() );
+ aVirDev.SetMapMode( MAP_PIXEL );
+
+ Point aPos0;
+ Size aWndSize = GetSizePixel();
+ Font aFont = GetFont();
+ aFont.SetTransparent(true);
+ aVirDev.SetFont(aFont);
+ aVirDev.SetOutputSizePixel(aWndSize);
+
+ DrawBackground(aVirDev);
+
+ FieldNames& rFields = GetFieldNames();
{
- aFieldArr[ nIndex ] = FieldString( rText, true );
- Redraw();
+ long nScrollOffset = maScroll.GetThumbPos();
+ FieldNames::iterator itr = rFields.begin(), itrEnd = rFields.end();
+ if (nScrollOffset)
+ ::std::advance(itr, nScrollOffset);
- if (pAccessible)
+ for (size_t i = 0; itr != itrEnd; ++itr, ++i)
{
- com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
- if (xTempAcc.is())
- pAccessible->FieldNameChange(nIndex);
- else
- pAccessible = NULL;
+ Point aFldPt;
+ Size aFldSize;
+ if (!GetFieldBtnPosSize(i, aFldPt, aFldSize))
+ break;
+
+ size_t nField = i + nScrollOffset;
+ bool bFocus = HasFocus() && (nField == GetSelectedField());
+ DrawField(aVirDev, Rectangle(aFldPt, aFldSize), *itr, bFocus);
}
}
+
+ // Create a bitmap from the virtual device, and place that bitmap onto
+ // this control.
+ DrawBitmap(aPos0, aVirDev.GetBitmap(aPos0, aWndSize));
+
+ DrawPaintables();
+ DrawInvertSelection();
+ UpdateStyle();
}
-const String& ScDPFieldWindow::GetFieldText( size_t nIndex ) const
+void ScDPRowFieldControl::CalcSize()
{
- if( IsExistingIndex( nIndex ) )
- return aFieldArr[ nIndex ].first;
- return EMPTY_STRING;
+ Size aWndSize = GetSizePixel();
+
+ long nTotal = aWndSize.Height() - OUTER_MARGIN_VER;
+ mnColumnBtnCount = nTotal / (GetFieldSize().Height() + ROW_FIELD_BTN_GAP);
+
+ long nScrollSize = GetSettings().GetStyleSettings().GetScrollBarSize();
+
+ maScroll.SetSizePixel(Size(nScrollSize, aWndSize.Height() - OUTER_MARGIN_VER*2));
+ maScroll.SetPosPixel(Point(aWndSize.Width() - nScrollSize - OUTER_MARGIN_HOR, OUTER_MARGIN_VER));
+ maScroll.SetLineSize(1);
+ maScroll.SetVisibleSize(mnColumnBtnCount);
+ maScroll.SetPageSize(mnColumnBtnCount);
+ maScroll.SetRange(Range(0, mnColumnBtnCount));
+ maScroll.DoScroll(0);
+
}
-//-------------------------------------------------------------------
+bool ScDPRowFieldControl::IsValidIndex(size_t /*nIndex*/) const
+{
+ // This method is here in case we decide to impose an arbitrary upper
+ // boundary on the number of fields.
+ return true;
+}
-bool ScDPFieldWindow::AddField( const String& rText, const Point& rPos, size_t& rnIndex )
+size_t ScDPRowFieldControl::CalcNewFieldIndex(SCsCOL /*nDX*/, SCsROW nDY) const
{
- if ( aFieldArr.size() == nFieldSize )
- return FALSE;
+ size_t nNewField = GetSelectedField();
+ nNewField += nDY;
+ return IsExistingIndex(nNewField) ? nNewField : GetSelectedField();
+}
- size_t nNewIndex = 0;
- if( GetFieldIndex( rPos, nNewIndex ) )
- {
- if( nNewIndex > aFieldArr.size() )
- nNewIndex = aFieldArr.size();
+size_t ScDPRowFieldControl::GetDisplayPosition(size_t nIndex) const
+{
+ size_t nLower = maScroll.GetThumbPos();
+ size_t nUpper = nLower + mnColumnBtnCount;
+ if (nLower <= nIndex && nIndex <= nUpper)
+ return nIndex - nLower;
- aFieldArr.insert( aFieldArr.begin() + nNewIndex, FieldString( rText, true ) );
- nFieldSelected = nNewIndex;
- Redraw();
- rnIndex = nNewIndex;
+ return INVALID_INDEX;
+}
- if (pAccessible)
- {
- com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
- if (xTempAcc.is())
- pAccessible->AddField(nNewIndex);
- else
- pAccessible = NULL;
- }
+//-------------------------------------------------------------------
- return true;
- }
+String ScDPRowFieldControl::GetDescription() const
+{
+ return ScResId(STR_ACC_DATAPILOT_ROW_DESCR);
+}
- return false;
+ScDPFieldType ScDPRowFieldControl::GetFieldType() const
+{
+ return TYPE_ROW;
}
-void ScDPFieldWindow::GetExistingIndex( const Point& rPos, size_t& rnIndex )
+void ScDPRowFieldControl::ScrollToEnd()
{
- if( !aFieldArr.empty() && (eType != TYPE_SELECT) && GetFieldIndex( rPos, rnIndex ) )
+ maScroll.DoScroll(maScroll.GetRangeMax());
+}
+
+void ScDPRowFieldControl::ScrollToShowSelection()
+{
+ size_t nLower = maScroll.GetThumbPos();
+ size_t nUpper = nLower + mnColumnBtnCount - 1;
+ size_t nSel = GetSelectedField();
+ if (nSel < nLower)
{
- if( rnIndex >= aFieldArr.size() )
- rnIndex = aFieldArr.size() - 1;
+ // scroll up
+ maScroll.DoScroll(nSel);
+ }
+ else if (nUpper < nSel)
+ {
+ // scroll down
+ size_t nD = nSel - nUpper;
+ maScroll.DoScroll(nLower + nD);
}
- else
- rnIndex = 0;
}
-String ScDPFieldWindow::GetDescription() const
-{
- String sDescription;
- switch( eType )
- {
- case TYPE_COL:
- sDescription = ScResId(STR_ACC_DATAPILOT_COL_DESCR);
- break;
- case TYPE_ROW:
- sDescription = ScResId(STR_ACC_DATAPILOT_ROW_DESCR);
- break;
- case TYPE_DATA:
- sDescription = ScResId(STR_ACC_DATAPILOT_DATA_DESCR);
- break;
- case TYPE_SELECT:
- sDescription = ScResId(STR_ACC_DATAPILOT_SEL_DESCR);
- break;
- default:
- {
- // added to avoid warnings
- }
+void ScDPRowFieldControl::ResetScrollBar()
+{
+ long nOldMax = maScroll.GetRangeMax();
+ long nNewMax = std::max<long>(mnColumnBtnCount, GetFieldCount());
+
+ if (nOldMax != nNewMax)
+ {
+ maScroll.SetRangeMax(nNewMax);
+ maScroll.Show(GetFieldCount() > mnColumnBtnCount);
}
- return sDescription;
}
-::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > ScDPFieldWindow::CreateAccessible()
+void ScDPRowFieldControl::HandleWheelScroll(long nNotch)
{
- pAccessible =
- new ScAccessibleDataPilotControl(GetAccessibleParentWindow()->GetAccessible(), this);
+ maScroll.DoScroll(maScroll.GetThumbPos() - nNotch);
+}
- com::sun::star::uno::Reference < ::com::sun::star::accessibility::XAccessible > xReturn = pAccessible;
+bool ScDPRowFieldControl::GetFieldBtnPosSize(size_t nPos, Point& rPos, Size& rSize)
+{
+ if (nPos >= mnColumnBtnCount)
+ return false;
- pAccessible->Init();
- xAccessible = xReturn;
+ size_t nOffset = maScroll.GetThumbPos();
+ if (nPos + nOffset >= GetFieldCount())
+ return false;
- return xReturn;
+ rSize = GetFieldSize();
+ rPos = Point(OUTER_MARGIN_HOR, OUTER_MARGIN_VER);
+ rPos.Y() += nPos * (rSize.Height() + ROW_FIELD_BTN_GAP);
+ return true;
+}
+
+void ScDPRowFieldControl::HandleScroll()
+{
+ Redraw();
+}
+
+IMPL_LINK(ScDPRowFieldControl, ScrollHdl, ScrollBar*, EMPTYARG)
+{
+ HandleScroll();
+ return 0;
+}
+
+IMPL_LINK(ScDPRowFieldControl, EndScrollHdl, ScrollBar*, EMPTYARG)
+{
+ HandleScroll();
+ return 0;
+}
+
+//=============================================================================
+
+ScDPSelectFieldControl::ScDPSelectFieldControl(
+ ScDPLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption) :
+ ScDPHorFieldControl(pDialog, rResId, pCaption)
+{
+ SetName(String(ScResId(STR_SELECT)));
}
-//===================================================================
+ScDPSelectFieldControl::~ScDPSelectFieldControl()
+{
+}
+
+ScDPFieldType ScDPSelectFieldControl::GetFieldType() const
+{
+ return TYPE_SELECT;
+}
+
+String ScDPSelectFieldControl::GetDescription() const
+{
+ return ScResId(STR_ACC_DATAPILOT_SEL_DESCR);
+}
+
+//=============================================================================
+
+ScDPDataFieldControl::ScDPDataFieldControl(
+ ScDPLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption) :
+ ScDPHorFieldControl(pDialog, rResId, pCaption)
+{
+}
+
+ScDPDataFieldControl::~ScDPDataFieldControl()
+{
+}
+
+ScDPFieldType ScDPDataFieldControl::GetFieldType() const
+{
+ return TYPE_DATA;
+}
+
+Size ScDPDataFieldControl::GetFieldSize() const
+{
+ Size aWndSize = GetSizePixel();
+ long nFieldObjWidth = aWndSize.Width() / 2.0 - OUTER_MARGIN_HOR - DATA_FIELD_BTN_GAP/2;
+ Size aFieldSize(nFieldObjWidth, FIELD_BTN_HEIGHT);
+ return aFieldSize;
+}
+
+String ScDPDataFieldControl::GetDescription() const
+{
+ return ScResId(STR_ACC_DATAPILOT_DATA_DESCR);
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/dbgui/filtdlg.cxx b/sc/source/ui/dbgui/filtdlg.cxx
index b95535f91717..7383513a06bf 100644
--- a/sc/source/ui/dbgui/filtdlg.cxx
+++ b/sc/source/ui/dbgui/filtdlg.cxx
@@ -138,7 +138,7 @@ ScFilterDlg::ScFilterDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent,
//----------------------------------------------------------------------------
-__EXPORT ScFilterDlg::~ScFilterDlg()
+ScFilterDlg::~ScFilterDlg()
{
for (USHORT i=0; i<=MAXCOL; i++)
delete pEntryLists[i];
@@ -154,7 +154,7 @@ __EXPORT ScFilterDlg::~ScFilterDlg()
//----------------------------------------------------------------------------
-void __EXPORT ScFilterDlg::Init( const SfxItemSet& rArgSet )
+void ScFilterDlg::Init( const SfxItemSet& rArgSet )
{
const ScQueryItem& rQueryItem = (const ScQueryItem&)
rArgSet.Get( nWhichQuery );
@@ -341,7 +341,7 @@ void __EXPORT ScFilterDlg::Init( const SfxItemSet& rArgSet )
//----------------------------------------------------------------------------
-BOOL __EXPORT ScFilterDlg::Close()
+BOOL ScFilterDlg::Close()
{
if (pViewData)
pViewData->GetDocShell()->CancelAutoDBRange();
diff --git a/sc/source/ui/dbgui/imoptdlg.hrc b/sc/source/ui/dbgui/imoptdlg.hrc
index 5fd9256e8009..6fab4c6db907 100644
--- a/sc/source/ui/dbgui/imoptdlg.hrc
+++ b/sc/source/ui/dbgui/imoptdlg.hrc
@@ -26,8 +26,6 @@
************************************************************************/
#include "sc.hrc"
-//#define RID_SCDLG_IMPORTOPT 2256
-
#define BTN_OK 1
#define BTN_CANCEL 2
#define BTN_HELP 3
@@ -41,4 +39,3 @@
#define FL_FIELDOPT 11
#define CB_FIXEDWIDTH 12
#define CB_SAVESHOWN 13
-
diff --git a/sc/source/ui/dbgui/imoptdlg.src b/sc/source/ui/dbgui/imoptdlg.src
index 914f2d1fb027..b63d83210c00 100644
--- a/sc/source/ui/dbgui/imoptdlg.src
+++ b/sc/source/ui/dbgui/imoptdlg.src
@@ -25,7 +25,6 @@
*
************************************************************************/
-
#include "imoptdlg.hrc"
ModalDialog RID_SCDLG_IMPORTOPT
@@ -121,21 +120,3 @@ ModalDialog RID_SCDLG_IMPORTOPT
Size = MAP_APPFONT ( 50 , 14 ) ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/dbgui/makefile.mk b/sc/source/ui/dbgui/makefile.mk
index ab632bf1b1e7..33b8cdbfca7a 100644
--- a/sc/source/ui/dbgui/makefile.mk
+++ b/sc/source/ui/dbgui/makefile.mk
@@ -39,45 +39,37 @@ LIBTARGET=no
# --- Files --------------------------------------------------------
SLOFILES = \
- $(SLO)$/sortdlg.obj \
- $(SLO)$/tpsort.obj \
- $(SLO)$/filtdlg.obj \
- $(SLO)$/sfiltdlg.obj \
- $(SLO)$/foptmgr.obj \
- $(SLO)$/pfiltdlg.obj \
- $(SLO)$/dbnamdlg.obj \
- $(SLO)$/expftext.obj \
- $(SLO)$/textimportoptions.obj \
- $(SLO)$/subtdlg.obj \
- $(SLO)$/tpsubt.obj \
- $(SLO)$/fieldwnd.obj \
- $(SLO)$/pvlaydlg.obj \
- $(SLO)$/pvfundlg.obj \
- $(SLO)$/dpgroupdlg.obj \
- $(SLO)$/dapitype.obj \
- $(SLO)$/dapidata.obj \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES= \
+ $(SLO)$/asciiopt.obj \
$(SLO)$/consdlg.obj \
- $(SLO)$/scendlg.obj \
- $(SLO)$/imoptdlg.obj \
- $(SLO)$/validate.obj \
- $(SLO)$/csvsplits.obj \
$(SLO)$/csvcontrol.obj \
- $(SLO)$/csvruler.obj \
$(SLO)$/csvgrid.obj \
+ $(SLO)$/csvruler.obj \
+ $(SLO)$/csvsplits.obj \
$(SLO)$/csvtablebox.obj \
- $(SLO)$/asciiopt.obj \
- $(SLO)$/scuiasciiopt.obj \
- $(SLO)$/scuiimoptdlg.obj
-
-EXCEPTIONSFILES= \
- $(SLO)$/csvgrid.obj \
- $(SLO)$/csvruler.obj \
- $(SLO)$/csvsplits.obj \
- $(SLO)$/csvtablebox.obj \
- $(SLO)$/fieldwnd.obj \
+ $(SLO)$/dapidata.obj \
+ $(SLO)$/dapitype.obj \
+ $(SLO)$/dbnamdlg.obj \
+ $(SLO)$/dpgroupdlg.obj \
+ $(SLO)$/expftext.obj \
+ $(SLO)$/fieldwnd.obj \
+ $(SLO)$/filtdlg.obj \
+ $(SLO)$/foptmgr.obj \
+ $(SLO)$/imoptdlg.obj \
+ $(SLO)$/pfiltdlg.obj \
$(SLO)$/pvfundlg.obj \
$(SLO)$/pvlaydlg.obj \
- $(SLO)$/dapidata.obj \
+ $(SLO)$/scendlg.obj \
+ $(SLO)$/scuiasciiopt.obj \
+ $(SLO)$/scuiimoptdlg.obj \
+ $(SLO)$/sfiltdlg.obj \
+ $(SLO)$/sortdlg.obj \
+ $(SLO)$/subtdlg.obj \
+ $(SLO)$/textimportoptions.obj \
+ $(SLO)$/tpsort.obj \
+ $(SLO)$/tpsubt.obj \
$(SLO)$/validate.obj
SRS1NAME=$(TARGET)
diff --git a/sc/source/ui/dbgui/outline.src b/sc/source/ui/dbgui/outline.src
index cd59bf3b099d..f1a895ddea23 100644
--- a/sc/source/ui/dbgui/outline.src
+++ b/sc/source/ui/dbgui/outline.src
@@ -27,7 +27,6 @@
#include "sc.hrc"
-
// Imageliste hier, damit sie nicht in ui.src beim Zusammenbauen der
// "echten" Imagelisten stoert
@@ -41,11 +40,3 @@ ImageList RID_OUTLINEBITMAPS
MaskColor = STD_MASKCOLOR;
OUTLINE_ID_LIST
};
-
-ImageList RID_OUTLINEBITMAPS_H
-{
- Prefix = "ouh";
- MaskColor = SC_HC_MASKCOLOR;
- OUTLINE_ID_LIST
-};
-
diff --git a/sc/source/ui/dbgui/pfiltdlg.cxx b/sc/source/ui/dbgui/pfiltdlg.cxx
index dfbf7e8989fa..55ce7b9499b7 100644
--- a/sc/source/ui/dbgui/pfiltdlg.cxx
+++ b/sc/source/ui/dbgui/pfiltdlg.cxx
@@ -115,7 +115,7 @@ ScPivotFilterDlg::ScPivotFilterDlg( Window* pParent,
//------------------------------------------------------------------------
-__EXPORT ScPivotFilterDlg::~ScPivotFilterDlg()
+ScPivotFilterDlg::~ScPivotFilterDlg()
{
for (USHORT i=0; i<=MAXCOL; i++)
delete pEntryLists[i];
@@ -126,7 +126,7 @@ __EXPORT ScPivotFilterDlg::~ScPivotFilterDlg()
//------------------------------------------------------------------------
-void __EXPORT ScPivotFilterDlg::Init( const SfxItemSet& rArgSet )
+void ScPivotFilterDlg::Init( const SfxItemSet& rArgSet )
{
const ScQueryItem& rQueryItem = (const ScQueryItem&)
rArgSet.Get( nWhichQuery );
diff --git a/sc/source/ui/dbgui/pivot.hrc b/sc/source/ui/dbgui/pivot.hrc
index 1a97d4c75b52..883be5e7f4c8 100644
--- a/sc/source/ui/dbgui/pivot.hrc
+++ b/sc/source/ui/dbgui/pivot.hrc
@@ -38,9 +38,6 @@
#define WND_ROW 12
#define WND_DATA 13
#define WND_SELECT 14
-#define WND_FIELD 15
-#define WND_FIELD_SPACE 16
-#define WND_HSCROLL 17
#define WND_PAGE 18
#define FT_COL 31
#define FT_ROW 32
@@ -78,4 +75,3 @@
#define PIVOTSTR_DEV2 9
#define PIVOTSTR_VAR 10
#define PIVOTSTR_VAR2 11
-
diff --git a/sc/source/ui/dbgui/pivot.src b/sc/source/ui/dbgui/pivot.src
index 359c8a92d8e5..514a37153ab0 100644
--- a/sc/source/ui/dbgui/pivot.src
+++ b/sc/source/ui/dbgui/pivot.src
@@ -31,7 +31,7 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
{
OutputSize = TRUE ;
HelpId = SID_OPENDLG_PIVOTTABLE ;
- Size = MAP_APPFONT ( 336 , 190 ) ;
+ Size = MAP_APPFONT ( 350 , 216 ) ;
Hide = TRUE ;
SVLook = TRUE ;
Moveable = TRUE ;
@@ -46,8 +46,9 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
};
Control WND_PAGE
{
- Pos = MAP_APPFONT ( 6 , 14 ) ;
- Size = MAP_APPFONT ( 182 , 24 ) ;
+ /* Size is calculated in the dialog code. */
+ Pos = MAP_APPFONT ( 20 , 14 ) ;
+ Size = MAP_APPFONT ( 1 , 1 ) ;
TabStop = TRUE ;
};
FixedText FT_COL
@@ -58,8 +59,9 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
};
Control WND_COL
{
- Pos = MAP_APPFONT ( 44 , 40 ) ;
- Size = MAP_APPFONT ( 144 , 24 ) ;
+ /* Size is calculated in the dialog code. */
+ Pos = MAP_APPFONT ( 56 , 56 ) ;
+ Size = MAP_APPFONT ( 1 , 1 ) ;
TabStop = TRUE ;
};
FixedText FT_ROW
@@ -70,42 +72,38 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
};
Control WND_ROW
{
- Pos = MAP_APPFONT ( 6 , 66 ) ;
- Size = MAP_APPFONT ( 36 , 96 ) ;
+ /* Size is calculated in the dialog code. */
+ Pos = MAP_APPFONT ( 6 , 98 ) ;
+ Size = MAP_APPFONT ( 1 , 1 ) ;
TabStop = TRUE ;
};
FixedText FT_DATA
{
- Pos = MAP_APPFONT ( 231, 176 ) ;
+ Pos = MAP_APPFONT ( 227, 176 ) ;
Size = MAP_APPFONT ( 37 , 8 ) ;
Text [ en-US ] = "Data Fields" ;
};
Control WND_DATA
{
- Pos = MAP_APPFONT ( 44 , 66 ) ;
- Size = MAP_APPFONT ( 144 , 96 ) ;
+ /* Size is calculated in the dialog code. */
+ Pos = MAP_APPFONT ( 56 , 98 ) ;
+ Size = MAP_APPFONT ( 1 , 1 ) ;
TabStop = TRUE ;
};
Control WND_SELECT
{
- Pos = MAP_APPFONT ( 194 , 14 ) ;
- Size = MAP_APPFONT ( 70 , 126 ) ;
+ /* Size is calculated in the dialog code. */
+ Pos = MAP_APPFONT ( 210 , 14 ) ;
+ Size = MAP_APPFONT ( 1 , 1 ) ;
TabStop = TRUE ;
};
String STR_SELECT
{
Text [ en-US ] = "Selection area";
};
- ScrollBar WND_HSCROLL
- {
- Pos = MAP_APPFONT ( 194 , 144 ) ;
- Size = MAP_APPFONT ( 70 , 8 ) ;
- HScroll = TRUE ;
- TabStop = FALSE ;
- };
FixedText FT_INFO
{
- Pos = MAP_APPFONT ( 6 , 168 ) ;
+ Pos = MAP_APPFONT ( 6 , 200 ) ;
Size = MAP_APPFONT ( 182 , 16 ) ;
WordBreak = TRUE ;
Text [ en-US ] = "Drag the fields from the right into the desired position." ;
@@ -113,64 +111,53 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
FixedLine FL_LAYOUT
{
Pos = MAP_APPFONT ( 6 , 3 ) ;
- Size = MAP_APPFONT ( 268 , 8 ) ;
+ Size = MAP_APPFONT ( 282 , 8 ) ;
Text [ en-US ] = "Layout";
};
OKButton BTN_OK
{
- Pos = MAP_APPFONT ( 280 , 6 ) ;
+ Pos = MAP_APPFONT ( 294 , 6 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
DefButton = TRUE ;
};
CancelButton BTN_CANCEL
{
- Pos = MAP_APPFONT ( 280 , 23 ) ;
+ Pos = MAP_APPFONT ( 294 , 23 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
};
HelpButton BTN_HELP
{
- Pos = MAP_APPFONT ( 280 , 43 ) ;
+ Pos = MAP_APPFONT ( 294 , 43 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
};
PushButton BTN_REMOVE
{
- Pos = MAP_APPFONT ( 280 , 63 ) ;
+ Pos = MAP_APPFONT ( 294 , 63 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
Text [ en-US ] = "Remove";
};
PushButton BTN_OPTIONS
{
- Pos = MAP_APPFONT ( 280 , 80 ) ;
+ Pos = MAP_APPFONT ( 294 , 80 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
Text [ en-US ] = "Options...";
};
MoreButton BTN_MORE
{
- Pos = MAP_APPFONT ( 280 , 170 ) ;
+ Pos = MAP_APPFONT ( 294 , 190 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
MapUnit = MAP_APPFONT ;
Delta = 90 ;
};
- Window WND_FIELD
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 0 , 0 ) ;
- Size = MAP_APPFONT ( 36 , 12 ) ;
- };
- Window WND_FIELD_SPACE
- {
- Pos = MAP_APPFONT ( 0 , 0 ) ;
- Size = MAP_APPFONT ( 2 , 2 ) ;
- };
FixedLine FL_OUTPUT
{
- Pos = MAP_APPFONT ( 6 , 190 ) ;
+ Pos = MAP_APPFONT ( 6 , 216 ) ;
Size = MAP_APPFONT ( 268 , 8 ) ;
Text [ en-US ] = "Result" ;
Hide = TRUE ;
@@ -178,7 +165,7 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
FixedText FT_INAREA
{
- Pos = MAP_APPFONT ( 12 , 203 ) ;
+ Pos = MAP_APPFONT ( 12 , 229 ) ;
Size = MAP_APPFONT ( 59 , 8 ) ;
Hide = TRUE ;
Text [ en-US ] = "Selection from" ;
@@ -186,14 +173,14 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
Edit ED_INAREA
{
Border = TRUE ;
- Pos = MAP_APPFONT ( 73 , 201 ) ;
+ Pos = MAP_APPFONT ( 73 , 227 ) ;
Size = MAP_APPFONT ( 100 , 12 ) ;
TabStop = TRUE ;
Hide = TRUE ;
};
ImageButton RB_INAREA
{
- Pos = MAP_APPFONT ( 177 , 200 ) ;
+ Pos = MAP_APPFONT ( 177 , 226 ) ;
Size = MAP_APPFONT ( 13 , 15 ) ;
TabStop = TRUE ;
Hide = TRUE ;
@@ -202,7 +189,7 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
FixedText FT_OUTAREA
{
- Pos = MAP_APPFONT ( 12 , 221 ) ;
+ Pos = MAP_APPFONT ( 12 , 247 ) ;
Size = MAP_APPFONT ( 59 , 8 ) ;
Hide = TRUE ;
Text [ en-US ] = "Results to" ;
@@ -210,7 +197,7 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
ListBox LB_OUTAREA
{
Border = TRUE ;
- Pos = MAP_APPFONT ( 73 , 219 ) ;
+ Pos = MAP_APPFONT ( 73 , 245 ) ;
Size = MAP_APPFONT ( 75 , 90 ) ;
TabStop = TRUE ;
DropDown = TRUE ;
@@ -219,14 +206,14 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
Edit ED_OUTAREA
{
Border = TRUE ;
- Pos = MAP_APPFONT ( 152 , 219 ) ;
+ Pos = MAP_APPFONT ( 152 , 245 ) ;
Size = MAP_APPFONT ( 100 , 12 ) ;
TabStop = TRUE ;
Hide = TRUE ;
};
ImageButton RB_OUTAREA
{
- Pos = MAP_APPFONT ( 256 , 218 ) ;
+ Pos = MAP_APPFONT ( 256 , 244 ) ;
Size = MAP_APPFONT ( 13 , 15 ) ;
TabStop = TRUE ;
Hide = TRUE ;
@@ -234,7 +221,7 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
};
CheckBox BTN_IGNEMPTYROWS
{
- Pos = MAP_APPFONT ( 12 , 237 ) ;
+ Pos = MAP_APPFONT ( 12 , 263 ) ;
Size = MAP_APPFONT ( 124 , 10 ) ;
TabStop = TRUE ;
Hide = TRUE ;
@@ -242,7 +229,7 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
};
CheckBox BTN_DETECTCAT
{
- Pos = MAP_APPFONT ( 142 , 237 ) ;
+ Pos = MAP_APPFONT ( 142 , 263 ) ;
Size = MAP_APPFONT ( 124 , 10 ) ;
TabStop = TRUE ;
Hide = TRUE ;
@@ -250,7 +237,7 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
};
CheckBox BTN_TOTALCOL
{
- Pos = MAP_APPFONT ( 12 , 251 ) ;
+ Pos = MAP_APPFONT ( 12 , 277 ) ;
Size = MAP_APPFONT ( 124 , 10 ) ;
TabStop = TRUE ;
Hide = TRUE ;
@@ -258,7 +245,7 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
};
CheckBox BTN_TOTALROW
{
- Pos = MAP_APPFONT ( 142 , 251 ) ;
+ Pos = MAP_APPFONT ( 142 , 277 ) ;
Size = MAP_APPFONT ( 124 , 10 ) ;
TabStop = TRUE ;
Hide = TRUE ;
@@ -266,7 +253,7 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
};
CheckBox BTN_FILTER
{
- Pos = MAP_APPFONT ( 12 , 265 ) ;
+ Pos = MAP_APPFONT ( 12 , 291 ) ;
Size = MAP_APPFONT ( 124 , 10 ) ;
TabStop = TRUE ;
Hide = TRUE ;
@@ -274,7 +261,7 @@ ModelessDialog RID_SCDLG_PIVOT_LAYOUT
};
CheckBox BTN_DRILLDOWN
{
- Pos = MAP_APPFONT ( 142 , 265 ) ;
+ Pos = MAP_APPFONT ( 142 , 291 ) ;
Size = MAP_APPFONT ( 124 , 10 ) ;
TabStop = TRUE ;
Hide = TRUE ;
diff --git a/sc/source/ui/dbgui/pvfundlg.hrc b/sc/source/ui/dbgui/pvfundlg.hrc
index c9b6f562a9e1..fdff335fd247 100644
--- a/sc/source/ui/dbgui/pvfundlg.hrc
+++ b/sc/source/ui/dbgui/pvfundlg.hrc
@@ -27,9 +27,6 @@
#include "sc.hrc"
-// RID_SCDLG_DPDATAFIELD - DataPilot Data Field Function
-// RID_SCDLG_PIVOTSUBT - DataPilot Page/Row/Column Field Subtotals
-
#define BTN_OK 1
#define BTN_CANCEL 2
#define BTN_HELP 3
@@ -80,4 +77,3 @@
#define NF_SHOW 1
#define CT_HIDE 1
-
diff --git a/sc/source/ui/dbgui/pvglob.hxx b/sc/source/ui/dbgui/pvglob.hxx
deleted file mode 100644
index 2ad61405aae8..000000000000
--- a/sc/source/ui/dbgui/pvglob.hxx
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef SC_PVGLOB_HXX
-#define SC_PVGLOB_HXX
-
-//-------------------------------------------------------------------
-
-class PivotGlobal
-{
-public:
- static long nObjHeight;
- static long nObjWidth;
- static long nSelSpace;
-};
-
-
-#endif // SC_PVGLOB_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/dbgui/pvlaydlg.cxx b/sc/source/ui/dbgui/pvlaydlg.cxx
index 3b26d1c836f6..088891dcde22 100644
--- a/sc/source/ui/dbgui/pvlaydlg.cxx
+++ b/sc/source/ui/dbgui/pvlaydlg.cxx
@@ -29,12 +29,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-
-
//----------------------------------------------------------------------------
#include "pvlaydlg.hxx"
#include "dbdocfun.hxx"
+#include "dpuiglobal.hxx"
#include <sfx2/dispatch.hxx>
#include <vcl/msgbox.hxx>
@@ -49,7 +48,6 @@
#include "tabvwsh.hxx"
#include "reffact.hxx"
#include "scresid.hxx"
-#include "pvglob.hxx"
#include "globstr.hrc"
#include "pivot.hrc"
#include "dpobject.hxx"
@@ -59,9 +57,11 @@
#include "sc.hrc"
#include "scabstdlg.hxx"
+
using namespace com::sun::star;
using ::rtl::OUString;
using ::std::vector;
+using ::std::for_each;
//----------------------------------------------------------------------------
@@ -69,22 +69,10 @@ using ::std::vector;
#define STD_FORMAT SCA_VALID | SCA_TAB_3D \
| SCA_COL_ABSOLUTE | SCA_ROW_ABSOLUTE | SCA_TAB_ABSOLUTE
-long PivotGlobal::nObjHeight = 0; // initialized with resource data
-long PivotGlobal::nObjWidth = 0;
-long PivotGlobal::nSelSpace = 0;
-
-
//============================================================================
namespace {
-void lcl_FillToPivotField( PivotField& rPivotField, const ScDPFuncData& rFuncData )
-{
- rPivotField.nCol = rFuncData.mnCol;
- rPivotField.nFuncMask = rFuncData.mnFuncMask;
- rPivotField.maFieldRef = rFuncData.maFieldRef;
-}
-
PointerStyle lclGetPointerForField( ScDPFieldType eType )
{
switch( eType )
@@ -109,15 +97,14 @@ ScDPLayoutDlg::ScDPLayoutDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pPar
: ScAnyRefDlg ( pB, pCW, pParent, RID_SCDLG_PIVOT_LAYOUT ),
aFlLayout ( this, ScResId( FL_LAYOUT ) ),
aFtPage ( this, ScResId( FT_PAGE ) ),
- aWndPage ( this, ScResId( WND_PAGE ), TYPE_PAGE, &aFtPage ),
+ aWndPage ( this, ScResId( WND_PAGE ), &aFtPage ),
aFtCol ( this, ScResId( FT_COL ) ),
- aWndCol ( this, ScResId( WND_COL ), TYPE_COL, &aFtCol ),
+ aWndCol ( this, ScResId( WND_COL ), &aFtCol ),
aFtRow ( this, ScResId( FT_ROW ) ),
- aWndRow ( this, ScResId( WND_ROW ), TYPE_ROW, &aFtRow ),
+ aWndRow ( this, ScResId( WND_ROW ), &aFtRow ),
aFtData ( this, ScResId( FT_DATA ) ),
- aWndData ( this, ScResId( WND_DATA ), TYPE_DATA, &aFtData ),
- aWndSelect ( this, ScResId( WND_SELECT ), TYPE_SELECT, String(ScResId(STR_SELECT)) ),
- aSlider ( this, ScResId( WND_HSCROLL ) ),
+ aWndData ( this, ScResId( WND_DATA ), &aFtData ),
+ aWndSelect ( this, ScResId( WND_SELECT ), NULL ),
aFtInfo ( this, ScResId( FT_INFO ) ),
aFlAreas ( this, ScResId( FL_OUTPUT ) ),
@@ -159,7 +146,8 @@ ScDPLayoutDlg::ScDPLayoutDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pPar
GetViewData() ),
pDoc ( ((ScTabViewShell*)SfxViewShell::Current())->
GetViewData()->GetDocument() ),
- bRefInputMode ( FALSE )
+ bRefInputMode (false),
+ mbValidSrcRange (false)
{
xDlgDPObject->SetAlive( TRUE ); // needed to get structure information
xDlgDPObject->FillOldParam( thePivotData, FALSE );
@@ -169,7 +157,6 @@ ScDPLayoutDlg::ScDPLayoutDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pPar
FreeResource();
}
-
//----------------------------------------------------------------------------
ScDPLayoutDlg::~ScDPLayoutDlg()
@@ -181,26 +168,9 @@ ScDPLayoutDlg::~ScDPLayoutDlg()
delete (String*)aLbOutPos.GetEntryData( i );
}
-
//----------------------------------------------------------------------------
-ScDPFieldWindow& ScDPLayoutDlg::GetFieldWindow( ScDPFieldType eType )
-{
- switch( eType )
- {
- case TYPE_PAGE: return aWndPage;
- case TYPE_ROW: return aWndRow;
- case TYPE_COL: return aWndCol;
- case TYPE_DATA: return aWndData;
- default:
- {
- // added to avoid warnings
- }
- }
- return aWndSelect;
-}
-
-void __EXPORT ScDPLayoutDlg::Init(bool bNewOutput)
+void ScDPLayoutDlg::Init(bool bNewOutput)
{
DBG_ASSERT( pViewData && pDoc,
"Ctor-Initialisierung fehlgeschlagen!" );
@@ -208,8 +178,8 @@ void __EXPORT ScDPLayoutDlg::Init(bool bNewOutput)
aBtnRemove.SetClickHdl( LINK( this, ScDPLayoutDlg, ClickHdl ) );
aBtnOptions.SetClickHdl( LINK( this, ScDPLayoutDlg, ClickHdl ) );
- aFuncNameArr.reserve( FUNC_COUNT );
- for ( USHORT i = 0; i < FUNC_COUNT; ++i )
+ aFuncNameArr.reserve( PIVOT_MAXFUNC );
+ for ( USHORT i = 0; i < PIVOT_MAXFUNC; ++i )
aFuncNameArr.push_back( String( ScResId( i + 1 ) ) );
aBtnMore.AddWindow( &aFlAreas );
@@ -228,21 +198,8 @@ void __EXPORT ScDPLayoutDlg::Init(bool bNewOutput)
aBtnMore.AddWindow( &aBtnDrillDown );
aBtnMore.SetClickHdl( LINK( this, ScDPLayoutDlg, MoreClickHdl ) );
- {
- Size aFieldSize( Window( this, ScResId( WND_FIELD ) ).GetSizePixel() );
- OHEIGHT = aFieldSize.Height();
- OWIDTH = aFieldSize.Width();
- }
- SSPACE = Window( this, ScResId( WND_FIELD_SPACE ) ).GetSizePixel().Width();
-
CalcWndSizes();
- aSelectArr.resize( MAX_LABELS );
- aPageArr.resize( MAX_PAGEFIELDS );
- aColArr.resize( MAX_FIELDS );
- aRowArr.resize( MAX_FIELDS );
- aDataArr.resize( MAX_FIELDS );
-
ScRange inRange;
String inString;
if (xDlgDPObject->GetSheetDesc())
@@ -351,17 +308,11 @@ void __EXPORT ScDPLayoutDlg::Init(bool bNewOutput)
aWndSelect.SetHelpId( HID_SC_DPLAY_SELECT );
InitFocus();
-
-// SetDispatcherLock( TRUE ); // Modal-Modus einschalten
-
- //@BugID 54702 Enablen/Disablen nur noch in Basisklasse
- //SFX_APPWINDOW->Disable(FALSE); //! allgemeine Methode im ScAnyRefDlg
}
-
//----------------------------------------------------------------------------
-BOOL __EXPORT ScDPLayoutDlg::Close()
+BOOL ScDPLayoutDlg::Close()
{
return DoClose( ScPivotLayoutWrapper::GetChildWindowId() );
}
@@ -394,104 +345,66 @@ void ScDPLayoutDlg::InitWndSelect( const vector<ScDPLabelDataRef>& rLabels )
size_t nLabelCount = rLabels.size();
if (nLabelCount > MAX_LABELS)
nLabelCount = MAX_LABELS;
- size_t nLast = (nLabelCount > PAGE_SIZE) ? (PAGE_SIZE - 1) : (nLabelCount - 1);
aLabelDataArr.clear();
aLabelDataArr.reserve( nLabelCount );
for ( size_t i=0; i < nLabelCount; i++ )
{
aLabelDataArr.push_back(*rLabels[i]);
-
- if ( i <= nLast )
- {
- aWndSelect.AddField(aLabelDataArr[i].getDisplayName(), i);
- aSelectArr[i].reset( new ScDPFuncData( aLabelDataArr[i].mnCol, aLabelDataArr[i].mnFuncMask ) );
- }
+ aWndSelect.AddField(aLabelDataArr[i].getDisplayName(), i);
+ ScDPFuncDataRef p(new ScDPFuncData(aLabelDataArr[i].mnCol, aLabelDataArr[i].mnFuncMask));
+ aSelectArr.push_back(p);
}
+ aWndSelect.ResetScrollBar();
}
-
//----------------------------------------------------------------------------
-void ScDPLayoutDlg::InitWnd( PivotField* pArr, long nCount, ScDPFieldType eType )
+void ScDPLayoutDlg::InitFieldWindow( const vector<PivotField>& rFields, ScDPFieldType eType )
{
- if ( pArr && (eType != TYPE_SELECT) )
- {
- ScDPFuncDataVec* pInitArr = NULL;
- ScDPFieldWindow* pInitWnd = NULL;
- BOOL bDataArr = FALSE;
-
- switch ( eType )
- {
- case TYPE_PAGE:
- pInitArr = &aPageArr;
- pInitWnd = &aWndPage;
- break;
+ ScDPFuncDataVec* pInitArr = GetFieldDataArray(eType);
+ ScDPFieldControlBase* pInitWnd = GetFieldWindow(eType);
- case TYPE_COL:
- pInitArr = &aColArr;
- pInitWnd = &aWndCol;
- break;
+ if (!pInitArr || !pInitWnd)
+ return;
- case TYPE_ROW:
- pInitArr = &aRowArr;
- pInitWnd = &aWndRow;
- break;
+ vector<PivotField>::const_iterator itr = rFields.begin(), itrEnd = rFields.end();
+ for (; itr != itrEnd; ++itr)
+ {
+ SCCOL nCol = itr->nCol;
+ USHORT nMask = itr->nFuncMask;
+ if (nCol == PIVOT_DATA_FIELD)
+ continue;
- case TYPE_DATA:
- pInitArr = &aDataArr;
- pInitWnd = &aWndData;
- bDataArr = TRUE;
- break;
- default:
- break;
- }
+ size_t nFieldIndex = pInitArr->size();
+ ScDPFuncDataRef p(new ScDPFuncData(nCol, nMask, itr->maFieldRef));
+ pInitArr->push_back(p);
- if ( pInitArr && pInitWnd )
+ if (eType == TYPE_DATA)
{
- long j=0;
- for ( long i=0; (i<nCount); i++ )
+ // data field - we need to concatenate function name with the field name.
+ ScDPLabelData* pData = GetLabelData(nCol);
+ DBG_ASSERT( pData, "ScDPLabelData not found" );
+ if (pData)
{
- SCCOL nCol = pArr[i].nCol;
- USHORT nMask = pArr[i].nFuncMask;
-
- if ( nCol != PIVOT_DATA_FIELD )
+ OUString aStr = pData->maLayoutName;
+ if (!aStr.getLength())
{
- (*pInitArr)[j].reset( new ScDPFuncData( nCol, nMask, pArr[i].maFieldRef ) );
-
- if ( !bDataArr )
- {
- pInitWnd->AddField( GetLabelString( nCol ), j );
- }
- else
- {
- ScDPLabelData* pData = GetLabelData( nCol );
- DBG_ASSERT( pData, "ScDPLabelData not found" );
- if (pData)
- {
- OUString aStr = pData->maLayoutName;
- if (!aStr.getLength())
- {
- USHORT nInitMask = (*pInitArr)[j]->mnFuncMask;
- aStr = GetFuncString(nInitMask, pData->mbIsValue);
- aStr += pData->maName;
- }
-
- pInitWnd->AddField( aStr, j );
-
- pData->mnFuncMask = nMask;
- }
- }
- ++j;
+ USHORT nInitMask = pInitArr->back()->mnFuncMask;
+ aStr = GetFuncString(nInitMask, pData->mbIsValue);
+ aStr += pData->maName;
}
+
+ pInitWnd->AddField(aStr, nFieldIndex);
+ pData->mnFuncMask = nMask;
}
-// Do not redraw here -> first the FixedText has to get its mnemonic char
-// pInitWnd->Redraw();
}
+ else
+ pInitWnd->AddField(GetLabelString(nCol), nFieldIndex);
}
+ pInitWnd->ResetScrollBar();
}
-
//----------------------------------------------------------------------------
void ScDPLayoutDlg::InitFocus()
@@ -508,24 +421,10 @@ void ScDPLayoutDlg::InitFocus()
void ScDPLayoutDlg::InitFields()
{
InitWndSelect(thePivotData.maLabelArray);
- InitWnd( thePivotData.aPageArr, static_cast<long>(thePivotData.nPageCount), TYPE_PAGE );
- InitWnd( thePivotData.aColArr, static_cast<long>(thePivotData.nColCount), TYPE_COL );
- InitWnd( thePivotData.aRowArr, static_cast<long>(thePivotData.nRowCount), TYPE_ROW );
- InitWnd( thePivotData.aDataArr, static_cast<long>(thePivotData.nDataCount), TYPE_DATA );
-
- size_t nLabels = thePivotData.maLabelArray.size();
- aSlider.SetPageSize( PAGE_SIZE );
- aSlider.SetVisibleSize( PAGE_SIZE );
- aSlider.SetLineSize( LINE_SIZE );
- aSlider.SetRange( Range( 0, static_cast<long>(((nLabels+LINE_SIZE-1)/LINE_SIZE)*LINE_SIZE) ) );
-
- if ( nLabels > PAGE_SIZE )
- {
- aSlider.SetEndScrollHdl( LINK( this, ScDPLayoutDlg, ScrollHdl ) );
- aSlider.Show();
- }
- else
- aSlider.Hide();
+ InitFieldWindow(thePivotData.maPageFields, TYPE_PAGE);
+ InitFieldWindow(thePivotData.maColFields, TYPE_COL);
+ InitFieldWindow(thePivotData.maRowFields, TYPE_ROW);
+ InitFieldWindow(thePivotData.maDataFields, TYPE_DATA);
}
//----------------------------------------------------------------------------
@@ -533,60 +432,21 @@ void ScDPLayoutDlg::InitFields()
void ScDPLayoutDlg::AddField( size_t nFromIndex, ScDPFieldType eToType, const Point& rAtPos )
{
ScDPFuncData fData( *(aSelectArr[nFromIndex]) );
- size_t nAt = 0;
- ScDPFieldWindow* toWnd = NULL;
- ScDPFieldWindow* rmWnd1 = NULL;
- ScDPFieldWindow* rmWnd2 = NULL;
- ScDPFuncDataVec* toArr = NULL;
+ size_t nAt = 0;
+ ScDPFieldControlBase* toWnd = GetFieldWindow(eToType);
+ ScDPFieldControlBase* rmWnd1 = NULL;
+ ScDPFieldControlBase* rmWnd2 = NULL;
+ GetOtherFieldWindows(eToType, rmWnd1, rmWnd2);
+
+ ScDPFuncDataVec* toArr = GetFieldDataArray(eToType);
ScDPFuncDataVec* rmArr1 = NULL;
ScDPFuncDataVec* rmArr2 = NULL;
- BOOL bDataArr = FALSE;
+ GetOtherDataArrays(eToType, rmArr1, rmArr2);
- switch ( eToType )
- {
- case TYPE_PAGE:
- toWnd = &aWndPage;
- rmWnd1 = &aWndRow;
- rmWnd2 = &aWndCol;
- toArr = &aPageArr;
- rmArr1 = &aRowArr;
- rmArr2 = &aColArr;
- break;
-
- case TYPE_COL:
- toWnd = &aWndCol;
- rmWnd1 = &aWndPage;
- rmWnd2 = &aWndRow;
- toArr = &aColArr;
- rmArr1 = &aPageArr;
- rmArr2 = &aRowArr;
- break;
-
- case TYPE_ROW:
- toWnd = &aWndRow;
- rmWnd1 = &aWndPage;
- rmWnd2 = &aWndCol;
- toArr = &aRowArr;
- rmArr1 = &aPageArr;
- rmArr2 = &aColArr;
- break;
-
- case TYPE_DATA:
- toWnd = &aWndData;
- toArr = &aDataArr;
- bDataArr = TRUE;
- break;
-
- default:
- {
- // added to avoid warnings
- }
- }
+ bool bDataArr = eToType == TYPE_DATA;
bool bAllowed = IsOrientationAllowed( fData.mnCol, eToType );
- if ( bAllowed
- && (toArr->back().get() == NULL)
- && (!Contains( toArr, fData.mnCol, nAt )) )
+ if ( bAllowed && (!Contains( toArr, fData.mnCol, nAt )) )
{
// ggF. in anderem Fenster entfernen
if ( rmArr1 )
@@ -643,107 +503,111 @@ void ScDPLayoutDlg::AddField( size_t nFromIndex, ScDPFieldType eToType, const Po
}
}
-
-//----------------------------------------------------------------------------
-
-void ScDPLayoutDlg::MoveField( ScDPFieldType eFromType, size_t nFromIndex, ScDPFieldType eToType, const Point& rAtPos )
+void ScDPLayoutDlg::AppendField(size_t nFromIndex, ScDPFieldType eToType)
{
- if ( eFromType == TYPE_SELECT )
- AddField( nFromIndex, eToType, rAtPos );
- else if ( eFromType != eToType )
- {
- ScDPFieldWindow* fromWnd = NULL;
- ScDPFieldWindow* toWnd = NULL;
- ScDPFieldWindow* rmWnd1 = NULL;
- ScDPFieldWindow* rmWnd2 = NULL;
- ScDPFuncDataVec* fromArr = NULL;
- ScDPFuncDataVec* toArr = NULL;
- ScDPFuncDataVec* rmArr1 = NULL;
- ScDPFuncDataVec* rmArr2 = NULL;
- size_t nAt = 0;
- BOOL bDataArr = FALSE;
+ ScDPFuncData aFuncData = *aSelectArr[nFromIndex];
- switch ( eFromType )
- {
- case TYPE_PAGE:
- fromWnd = &aWndPage;
- fromArr = &aPageArr;
- break;
-
- case TYPE_COL:
- fromWnd = &aWndCol;
- fromArr = &aColArr;
- break;
+ size_t nAt = 0;
+ ScDPFieldControlBase* toWnd = GetFieldWindow(eToType);
+ ScDPFieldControlBase* rmWnd1 = NULL;
+ ScDPFieldControlBase* rmWnd2 = NULL;
+ GetOtherFieldWindows(eToType, rmWnd1, rmWnd2);
- case TYPE_ROW:
- fromWnd = &aWndRow;
- fromArr = &aRowArr;
- break;
+ ScDPFuncDataVec* toArr = GetFieldDataArray(eToType);
+ ScDPFuncDataVec* rmArr1 = NULL;
+ ScDPFuncDataVec* rmArr2 = NULL;
+ GetOtherDataArrays(eToType, rmArr1, rmArr2);
- case TYPE_DATA:
- fromWnd = &aWndData;
- fromArr = &aDataArr;
- break;
+ bool bDataArr = eToType == TYPE_DATA;
- default:
+ if ( (!Contains( toArr, aFuncData.mnCol, nAt )) )
+ {
+ // ggF. in anderem Fenster entfernen
+ if ( rmArr1 )
+ {
+ if ( Contains( rmArr1, aFuncData.mnCol, nAt ) )
{
- // added to avoid warnings
+ rmWnd1->DelField( nAt );
+ Remove( rmArr1, nAt );
}
}
-
- switch ( eToType )
+ if ( rmArr2 )
{
- case TYPE_PAGE:
- toWnd = &aWndPage;
- toArr = &aPageArr;
- rmWnd1 = &aWndCol;
- rmWnd2 = &aWndRow;
- rmArr1 = &aColArr;
- rmArr2 = &aRowArr;
- break;
-
- case TYPE_COL:
- toWnd = &aWndCol;
- toArr = &aColArr;
- rmWnd1 = &aWndPage;
- rmWnd2 = &aWndRow;
- rmArr1 = &aPageArr;
- rmArr2 = &aRowArr;
- break;
+ if ( Contains( rmArr2, aFuncData.mnCol, nAt ) )
+ {
+ rmWnd2->DelField( nAt );
+ Remove( rmArr2, nAt );
+ }
+ }
- case TYPE_ROW:
- toWnd = &aWndRow;
- toArr = &aRowArr;
- rmWnd1 = &aWndPage;
- rmWnd2 = &aWndCol;
- rmArr1 = &aPageArr;
- rmArr2 = &aColArr;
- break;
+ ScDPLabelData& rData = aLabelDataArr[nFromIndex+nOffset];
+ size_t nAddedAt = 0;
- case TYPE_DATA:
- toWnd = &aWndData;
- toArr = &aDataArr;
- bDataArr = TRUE;
- break;
+ if ( !bDataArr )
+ {
+ if ( toWnd->AppendField(rData.getDisplayName(), nAddedAt) )
+ {
+ Insert( toArr, aFuncData, nAddedAt );
+ toWnd->GrabFocus();
+ }
+ }
+ else
+ {
+ ScDPLabelData* p = GetLabelData(aFuncData.mnCol);
+ OUString aStr = p->maLayoutName;
+ USHORT nMask = aFuncData.mnFuncMask;
+ if (!aStr.getLength())
+ {
+ aStr = GetFuncString(nMask);
+ aStr += p->maName;
+ }
- default:
+ if ( toWnd->AppendField(aStr, nAddedAt) )
{
- // added to avoid warnings
+ aFuncData.mnFuncMask = nMask;
+ Insert( toArr, aFuncData, nAddedAt );
+ toWnd->GrabFocus();
}
}
+ }
+}
+
+//----------------------------------------------------------------------------
+
+void ScDPLayoutDlg::MoveField( ScDPFieldType eFromType, size_t nFromIndex, ScDPFieldType eToType, const Point& rAtPos )
+{
+ if ( eFromType == TYPE_SELECT )
+ AddField( nFromIndex, eToType, rAtPos );
+ else if ( eFromType != eToType )
+ {
+ ScDPFieldControlBase* fromWnd = GetFieldWindow(eFromType);
+ ScDPFieldControlBase* toWnd = GetFieldWindow(eToType);
+
+ ScDPFieldControlBase* rmWnd1 = NULL;
+ ScDPFieldControlBase* rmWnd2 = NULL;
+ GetOtherFieldWindows(eToType, rmWnd1, rmWnd2);
+
+ ScDPFuncDataVec* fromArr = GetFieldDataArray(eFromType);
+ ScDPFuncDataVec* toArr = GetFieldDataArray(eToType);
+
+ ScDPFuncDataVec* rmArr1 = NULL;
+ ScDPFuncDataVec* rmArr2 = NULL;
+ GetOtherDataArrays(eToType, rmArr1, rmArr2);
+
+ bool bDataArr = eToType == TYPE_DATA;
if ( fromArr && toArr && fromWnd && toWnd )
{
ScDPFuncData fData( *((*fromArr)[nFromIndex]) );
-
bool bAllowed = IsOrientationAllowed( fData.mnCol, eToType );
+
+ size_t nAt = 0;
if ( bAllowed && Contains( fromArr, fData.mnCol, nAt ) )
{
fromWnd->DelField( nAt );
Remove( fromArr, nAt );
- if ( (toArr->back().get() == NULL)
- && (!Contains( toArr, fData.mnCol, nAt )) )
+ if (!Contains( toArr, fData.mnCol, nAt ))
{
size_t nAddedAt = 0;
if ( !bDataArr )
@@ -800,47 +664,156 @@ void ScDPLayoutDlg::MoveField( ScDPFieldType eFromType, size_t nFromIndex, ScDPF
}
else // -> eFromType == eToType
{
- ScDPFieldWindow* theWnd = NULL;
- ScDPFuncDataVec* theArr = NULL;
+ ScDPFieldControlBase* theWnd = GetFieldWindow(eFromType);
+ ScDPFuncDataVec* theArr = GetFieldDataArray(eFromType);
size_t nAt = 0;
- size_t nToIndex = 0;
Point aToPos;
- BOOL bDataArr = FALSE;
+ BOOL bDataArr = eFromType == TYPE_DATA;
- switch ( eFromType )
+ ScDPFuncData fData( *((*theArr)[nFromIndex]) );
+
+ if ( Contains( theArr, fData.mnCol, nAt ) )
{
- case TYPE_PAGE:
- theWnd = &aWndPage;
- theArr = &aPageArr;
- break;
+ size_t nToIndex = 0;
+ aToPos = DlgPos2WndPos( rAtPos, *theWnd );
+ theWnd->GetExistingIndex( aToPos, nToIndex );
- case TYPE_COL:
- theWnd = &aWndCol;
- theArr = &aColArr;
- break;
+ if ( nToIndex != nAt )
+ {
+ size_t nAddedAt = 0;
- case TYPE_ROW:
- theWnd = &aWndRow;
- theArr = &aRowArr;
- break;
+ theWnd->DelField( nAt );
+ Remove( theArr, nAt );
- case TYPE_DATA:
- theWnd = &aWndData;
- theArr = &aDataArr;
- bDataArr = TRUE;
- break;
+ if ( !bDataArr )
+ {
+ if ( theWnd->AddField( GetLabelString( fData.mnCol ),
+ aToPos,
+ nAddedAt ) )
+ {
+ Insert( theArr, fData, nAddedAt );
+ }
+ }
+ else
+ {
+ ScDPLabelData* p = GetLabelData(fData.mnCol);
+ OUString aStr = p->maLayoutName;
+ USHORT nMask = fData.mnFuncMask;
+ if (!aStr.getLength())
+ {
+ aStr = GetFuncString(nMask);
+ aStr += p->maName;
+ }
- default:
+ if ( theWnd->AddField( aStr,
+ DlgPos2WndPos( rAtPos, *theWnd ),
+ nAddedAt ) )
+ {
+ fData.mnFuncMask = nMask;
+ Insert( theArr, fData, nAddedAt );
+ }
+ }
+ }
+ }
+ }
+}
+
+void ScDPLayoutDlg::MoveFieldToEnd( ScDPFieldType eFromType, size_t nFromIndex, ScDPFieldType eToType )
+{
+ if ( eFromType == TYPE_SELECT )
+ AppendField( nFromIndex, eToType );
+ else if ( eFromType != eToType )
+ {
+ ScDPFieldControlBase* fromWnd = GetFieldWindow(eFromType);
+ ScDPFieldControlBase* toWnd = GetFieldWindow(eToType);
+
+ ScDPFieldControlBase* rmWnd1 = NULL;
+ ScDPFieldControlBase* rmWnd2 = NULL;
+ GetOtherFieldWindows(eToType, rmWnd1, rmWnd2);
+
+ ScDPFuncDataVec* fromArr = GetFieldDataArray(eFromType);
+ ScDPFuncDataVec* toArr = GetFieldDataArray(eToType);
+
+ ScDPFuncDataVec* rmArr1 = NULL;
+ ScDPFuncDataVec* rmArr2 = NULL;
+ GetOtherDataArrays(eToType, rmArr1, rmArr2);
+
+ bool bDataArr = eToType == TYPE_DATA;
+
+ if ( fromArr && toArr && fromWnd && toWnd )
+ {
+ ScDPFuncData fData( *((*fromArr)[nFromIndex]) );
+
+ size_t nAt = 0;
+ if ( Contains( fromArr, fData.mnCol, nAt ) )
{
- // added to avoid warnings
+ fromWnd->DelField( nAt );
+ Remove( fromArr, nAt );
+
+ if (!Contains( toArr, fData.mnCol, nAt ))
+ {
+ size_t nAddedAt = 0;
+ if ( !bDataArr )
+ {
+ // ggF. in anderem Fenster entfernen
+ if ( rmArr1 )
+ {
+ if ( Contains( rmArr1, fData.mnCol, nAt ) )
+ {
+ rmWnd1->DelField( nAt );
+ Remove( rmArr1, nAt );
+ }
+ }
+ if ( rmArr2 )
+ {
+ if ( Contains( rmArr2, fData.mnCol, nAt ) )
+ {
+ rmWnd2->DelField( nAt );
+ Remove( rmArr2, nAt );
+ }
+ }
+
+ if ( toWnd->AppendField( GetLabelString( fData.mnCol ), nAddedAt ) )
+ {
+ Insert( toArr, fData, nAddedAt );
+ toWnd->GrabFocus();
+ }
+ }
+ else
+ {
+ ScDPLabelData* p = GetLabelData(fData.mnCol);
+ OUString aStr = p->maLayoutName;
+ USHORT nMask = fData.mnFuncMask;
+ if (!aStr.getLength())
+ {
+ aStr = GetFuncString(nMask);
+ aStr += p->maName;
+ }
+
+ if ( toWnd->AppendField(aStr, nAddedAt) )
+ {
+ fData.mnFuncMask = nMask;
+ Insert( toArr, fData, nAddedAt );
+ toWnd->GrabFocus();
+ }
+ }
+ }
}
}
+ }
+ else // -> eFromType == eToType
+ {
+ ScDPFieldControlBase* theWnd = GetFieldWindow(eFromType);
+ ScDPFuncDataVec* theArr = GetFieldDataArray(eFromType);
+ size_t nAt = 0;
+ Point aToPos;
+ BOOL bDataArr = eFromType == TYPE_DATA;
ScDPFuncData fData( *((*theArr)[nFromIndex]) );
if ( Contains( theArr, fData.mnCol, nAt ) )
{
- aToPos = DlgPos2WndPos( rAtPos, *theWnd );
+ size_t nToIndex = 0;
theWnd->GetExistingIndex( aToPos, nToIndex );
if ( nToIndex != nAt )
@@ -852,9 +825,7 @@ void ScDPLayoutDlg::MoveField( ScDPFieldType eFromType, size_t nFromIndex, ScDPF
if ( !bDataArr )
{
- if ( theWnd->AddField( GetLabelString( fData.mnCol ),
- aToPos,
- nAddedAt ) )
+ if ( theWnd->AppendField(GetLabelString( fData.mnCol ), nAddedAt) )
{
Insert( theArr, fData, nAddedAt );
}
@@ -870,9 +841,7 @@ void ScDPLayoutDlg::MoveField( ScDPFieldType eFromType, size_t nFromIndex, ScDPF
aStr += p->maName;
}
- if ( theWnd->AddField( aStr,
- DlgPos2WndPos( rAtPos, *theWnd ),
- nAddedAt ) )
+ if ( theWnd->AppendField(aStr, nAddedAt) )
{
fData.mnFuncMask = nMask;
Insert( theArr, fData, nAddedAt );
@@ -887,25 +856,17 @@ void ScDPLayoutDlg::MoveField( ScDPFieldType eFromType, size_t nFromIndex, ScDPF
void ScDPLayoutDlg::RemoveField( ScDPFieldType eFromType, size_t nIndex )
{
- ScDPFuncDataVec* pArr = NULL;
- switch( eFromType )
- {
- case TYPE_PAGE: pArr = &aPageArr; break;
- case TYPE_COL: pArr = &aColArr; break;
- case TYPE_ROW: pArr = &aRowArr; break;
- case TYPE_DATA: pArr = &aDataArr; break;
- default:
- {
- // added to avoid warnings
- }
- }
+ ScDPFuncDataVec* pArr = GetFieldDataArray(eFromType);
if( pArr )
{
- ScDPFieldWindow& rWnd = GetFieldWindow( eFromType );
- rWnd.DelField( nIndex );
- Remove( pArr, nIndex );
- if( rWnd.IsEmpty() ) InitFocus();
+ ScDPFieldControlBase* pWnd = GetFieldWindow( eFromType );
+ if (pWnd)
+ {
+ pWnd->DelField( nIndex );
+ Remove( pArr, nIndex );
+ if( pWnd->IsEmpty() ) InitFocus();
+ }
}
}
@@ -919,44 +880,42 @@ void ScDPLayoutDlg::NotifyMouseButtonUp( const Point& rAt )
ScDPFieldType eDnDToType = TYPE_SELECT;
Point aPos = ScreenToOutputPixel( rAt );
- BOOL bDel = FALSE;
+ bool bDel = false;
if ( aRectPage.IsInside( aPos ) )
{
eDnDToType = TYPE_PAGE;
- bDel = FALSE;
}
else if ( aRectCol.IsInside( aPos ) )
{
eDnDToType = TYPE_COL;
- bDel = FALSE;
}
else if ( aRectRow.IsInside( aPos ) )
{
eDnDToType = TYPE_ROW;
- bDel = FALSE;
}
else if ( aRectData.IsInside( aPos ) )
{
eDnDToType = TYPE_DATA;
- bDel = FALSE;
}
else if ( aRectSelect.IsInside( aPos ) )
{
eDnDToType = TYPE_SELECT;
- bDel = TRUE;
}
else
- bDel = TRUE;
+ bDel = true;
- if ( bDel )
- RemoveField( eDnDFromType, nDnDFromIndex );
+ if (bDel)
+ {
+ // We don't remove any buttons from the select field.
+ if (eDnDFromType != TYPE_SELECT)
+ RemoveField( eDnDFromType, nDnDFromIndex );
+ }
else
MoveField( eDnDFromType, nDnDFromIndex, eDnDToType, aPos );
}
}
-
//----------------------------------------------------------------------------
PointerStyle ScDPLayoutDlg::NotifyMouseMove( const Point& rAt )
@@ -1006,7 +965,6 @@ PointerStyle ScDPLayoutDlg::NotifyMouseMove( const Point& rAt )
return ePtr;
}
-
//----------------------------------------------------------------------------
PointerStyle ScDPLayoutDlg::NotifyMouseButtonDown( ScDPFieldType eType, size_t nFieldIndex )
@@ -1017,23 +975,11 @@ PointerStyle ScDPLayoutDlg::NotifyMouseButtonDown( ScDPFieldType eType, size_t n
return lclGetPointerForField( eType );
}
-
//----------------------------------------------------------------------------
void ScDPLayoutDlg::NotifyDoubleClick( ScDPFieldType eType, size_t nFieldIndex )
{
- ScDPFuncDataVec* pArr = NULL;
- switch ( eType )
- {
- case TYPE_PAGE: pArr = &aPageArr; break;
- case TYPE_COL: pArr = &aColArr; break;
- case TYPE_ROW: pArr = &aRowArr; break;
- case TYPE_DATA: pArr = &aDataArr; break;
- default:
- {
- // added to avoid warnings
- }
- }
+ ScDPFuncDataVec* pArr = GetFieldDataArray(eType);
if ( pArr )
{
@@ -1140,7 +1086,8 @@ void ScDPLayoutDlg::NotifyFieldFocus( ScDPFieldType eType, BOOL bGotFocus )
// #128113# The TestTool may set the focus into an empty field.
// Then the Remove/Options buttons must be disabled.
- if ( bEnable && bGotFocus && GetFieldWindow( eType ).IsEmpty() )
+ ScDPFieldControlBase* pWnd = GetFieldWindow(eType);
+ if ( bEnable && bGotFocus && pWnd && pWnd->IsEmpty() )
bEnable = FALSE;
aBtnRemove.Enable( bEnable );
@@ -1151,16 +1098,18 @@ void ScDPLayoutDlg::NotifyFieldFocus( ScDPFieldType eType, BOOL bGotFocus )
//----------------------------------------------------------------------------
-void ScDPLayoutDlg::NotifyMoveField( ScDPFieldType eToType )
+void ScDPLayoutDlg::NotifyMoveFieldToEnd( ScDPFieldType eToType )
{
- ScDPFieldWindow& rWnd = GetFieldWindow( eLastActiveType );
- if( (eToType != TYPE_SELECT) && !rWnd.IsEmpty() )
+ ScDPFieldControlBase* pWnd = GetFieldWindow(eLastActiveType);
+ ScDPFieldControlBase* pToWnd = GetFieldWindow(eToType);
+ if (pWnd && pToWnd && (eToType != TYPE_SELECT) && !pWnd->IsEmpty())
{
- MoveField( eLastActiveType, rWnd.GetSelectedField(), eToType, GetFieldWindow( eToType ).GetLastPosition() );
- if( rWnd.IsEmpty() )
+ MoveFieldToEnd(eLastActiveType, pWnd->GetSelectedField(), eToType);
+
+ if( pWnd->IsEmpty() )
NotifyFieldFocus( eToType, TRUE );
else
- rWnd.GrabFocus();
+ pWnd->GrabFocus();
if( eLastActiveType == TYPE_SELECT )
aWndSelect.SelectNext();
}
@@ -1176,25 +1125,6 @@ void ScDPLayoutDlg::NotifyRemoveField( ScDPFieldType eType, size_t nFieldIndex )
RemoveField( eType, nFieldIndex );
}
-//----------------------------------------------------------------------------
-
-BOOL ScDPLayoutDlg::NotifyMoveSlider( USHORT nKeyCode )
-{
- long nOldPos = aSlider.GetThumbPos();
- switch( nKeyCode )
- {
- case KEY_HOME: aSlider.DoScroll( 0 ); break;
- case KEY_END: aSlider.DoScroll( aSlider.GetRangeMax() ); break;
- case KEY_UP:
- case KEY_LEFT: aSlider.DoScrollAction( SCROLL_LINEUP ); break;
- case KEY_DOWN:
- case KEY_RIGHT: aSlider.DoScrollAction( SCROLL_LINEDOWN ); break;
- }
- return nOldPos != aSlider.GetThumbPos();
-}
-
-//----------------------------------------------------------------------------
-
void ScDPLayoutDlg::Deactivate()
{
/* #107616# If the dialog has been deactivated (click into document), the LoseFocus
@@ -1208,24 +1138,22 @@ void ScDPLayoutDlg::Deactivate()
BOOL ScDPLayoutDlg::Contains( ScDPFuncDataVec* pArr, SCsCOL nCol, size_t& nAt )
{
- if ( !pArr )
+ if (!pArr || pArr->empty())
return FALSE;
- BOOL bFound = FALSE;
- size_t i = 0;
-
- while ( (i<pArr->size()) && ((*pArr)[i].get() != NULL) && !bFound )
+ ScDPFuncDataVec::const_iterator itr, itrBeg = pArr->begin(), itrEnd = pArr->end();
+ for (itr = itrBeg; itr != itrEnd; ++itr)
{
- bFound = ((*pArr)[i]->mnCol == nCol);
- if ( bFound )
- nAt = i;
- i++;
+ if ((*itr)->mnCol == nCol)
+ {
+ // found!
+ nAt = ::std::distance(itrBeg, itr);
+ return true;
+ }
}
-
- return bFound;
+ return false;
}
-
//----------------------------------------------------------------------------
void ScDPLayoutDlg::Remove( ScDPFuncDataVec* pArr, size_t nAt )
@@ -1234,32 +1162,22 @@ void ScDPLayoutDlg::Remove( ScDPFuncDataVec* pArr, size_t nAt )
return;
pArr->erase( pArr->begin() + nAt );
- pArr->push_back( ScDPFuncDataRef() );
}
-
//----------------------------------------------------------------------------
void ScDPLayoutDlg::Insert( ScDPFuncDataVec* pArr, const ScDPFuncData& rFData, size_t nAt )
{
- if ( !pArr || (nAt>=pArr->size()) )
+ if (!pArr)
return;
- if ( (*pArr)[nAt].get() == NULL )
- {
- (*pArr)[nAt].reset( new ScDPFuncData( rFData ) );
- }
+ ScDPFuncDataRef p (new ScDPFuncData(rFData));
+ if (nAt >= pArr->size())
+ pArr->push_back(p);
else
- {
- if ( pArr->back().get() == NULL ) // mind. ein Slot frei?
- {
- pArr->insert( pArr->begin() + nAt, ScDPFuncDataRef( new ScDPFuncData( rFData ) ) );
- pArr->erase( pArr->end() - 1 );
- }
- }
+ pArr->insert(pArr->begin() + nAt, p);
}
-
//----------------------------------------------------------------------------
ScDPLabelData* ScDPLayoutDlg::GetLabelData( SCsCOL nCol, size_t* pnPos )
@@ -1276,7 +1194,6 @@ ScDPLabelData* ScDPLayoutDlg::GetLabelData( SCsCOL nCol, size_t* pnPos )
return pData;
}
-
//----------------------------------------------------------------------------
String ScDPLayoutDlg::GetLabelString( SCsCOL nCol )
@@ -1351,7 +1268,6 @@ String ScDPLayoutDlg::GetFuncString( USHORT& rFuncMask, BOOL bIsValue )
return aStr;
}
-
//----------------------------------------------------------------------------
Point ScDPLayoutDlg::DlgPos2WndPos( const Point& rPt, Window& rWnd )
@@ -1363,78 +1279,100 @@ Point ScDPLayoutDlg::DlgPos2WndPos( const Point& rPt, Window& rWnd )
return aWndPt;
}
-
//----------------------------------------------------------------------------
void ScDPLayoutDlg::CalcWndSizes()
{
// row/column/data area sizes
- aWndPage.SetSizePixel( Size( MAX_PAGEFIELDS * OWIDTH / 2, 2 * OHEIGHT ) );
- aWndRow.SetSizePixel( Size( OWIDTH, MAX_FIELDS * OHEIGHT ) );
- aWndCol.SetSizePixel( Size( MAX_FIELDS * OWIDTH / 2, 2 * OHEIGHT ) );
- aWndData.SetSizePixel( Size( MAX_FIELDS * OWIDTH / 2, MAX_FIELDS * OHEIGHT ) );
+ long nFldW = FIELD_BTN_WIDTH;
+ long nFldH = FIELD_BTN_HEIGHT;
+ aWndData.SetSizePixel(Size(338, 185));
+ aWndPage.SetSizePixel(
+ Size(aWndData.GetSizePixel().Width() + 85,
+ aWndCol.GetPosPixel().Y() - aWndPage.GetPosPixel().Y() - FIELD_AREA_GAP));
+ aWndRow.SetSizePixel(
+ Size(aWndData.GetPosPixel().X()-aWndRow.GetPosPixel().X() - FIELD_AREA_GAP,
+ aWndData.GetSizePixel().Height()));
+ aWndCol.SetSizePixel(
+ Size(aWndData.GetPosPixel().X() - aWndCol.GetPosPixel().X() + aWndData.GetSizePixel().Width(),
+ aWndData.GetPosPixel().Y() - aWndCol.GetPosPixel().Y() - FIELD_AREA_GAP));
// #i29203# align right border of page window with data window
long nDataPosX = aWndData.GetPosPixel().X() + aWndData.GetSizePixel().Width();
- aWndPage.SetPosPixel( Point( nDataPosX - aWndPage.GetSizePixel().Width(), aWndPage.GetPosPixel().Y() ) );
+ aWndPage.SetPosPixel(
+ Point(nDataPosX - aWndPage.GetSizePixel().Width(),
+ aWndPage.GetPosPixel().Y()));
// selection area
- aWndSelect.SetSizePixel( Size(
- 2 * OWIDTH + SSPACE, LINE_SIZE * OHEIGHT + (LINE_SIZE - 1) * SSPACE ) );
-
- // scroll bar
- Point aSliderPos( aWndSelect.GetPosPixel() );
- Size aSliderSize( aWndSelect.GetSizePixel() );
- aSliderPos.Y() += aSliderSize.Height() + SSPACE;
- aSliderSize.Height() = GetSettings().GetStyleSettings().GetScrollBarSize();
- aSlider.SetPosSizePixel( aSliderPos, aSliderSize );
+ long nLineSize = 10; // number of fields per column.
+ long nH = OUTER_MARGIN_VER + nLineSize* nFldH + nLineSize * ROW_FIELD_BTN_GAP;
+ nH += ROW_FIELD_BTN_GAP;
+ nH += GetSettings().GetStyleSettings().GetScrollBarSize() + OUTER_MARGIN_VER;
+ aWndSelect.SetSizePixel(
+ Size(2 * nFldW + ROW_FIELD_BTN_GAP + 10, nH));
aRectPage = Rectangle( aWndPage.GetPosPixel(), aWndPage.GetSizePixel() );
aRectRow = Rectangle( aWndRow.GetPosPixel(), aWndRow.GetSizePixel() );
aRectCol = Rectangle( aWndCol.GetPosPixel(), aWndCol.GetSizePixel() );
aRectData = Rectangle( aWndData.GetPosPixel(), aWndData.GetSizePixel() );
aRectSelect = Rectangle( aWndSelect.GetPosPixel(), aWndSelect.GetSizePixel() );
-}
+ aWndPage.CalcSize();
+ aWndRow.CalcSize();
+ aWndCol.CalcSize();
+ aWndData.CalcSize();
+ aWndSelect.CalcSize();
+}
-//----------------------------------------------------------------------------
+namespace {
-BOOL ScDPLayoutDlg::GetPivotArrays( PivotField* pPageArr,
- PivotField* pColArr,
- PivotField* pRowArr,
- PivotField* pDataArr,
- USHORT& rPageCount,
- USHORT& rColCount,
- USHORT& rRowCount,
- USHORT& rDataCount )
+class PivotFieldInserter : public ::std::unary_function<void, boost::shared_ptr<ScDPFuncData> >
{
- BOOL bFit = TRUE;
- USHORT i=0;
+ vector<PivotField>& mrFields;
+public:
+ explicit PivotFieldInserter(vector<PivotField>& r, size_t nSize) : mrFields(r)
+ {
+ mrFields.reserve(nSize);
+ }
- for ( i=0; (i<aDataArr.size()) && (aDataArr[i].get() != NULL ); i++ )
- lcl_FillToPivotField( pDataArr[i], *aDataArr[i] );
- rDataCount = i;
+ PivotFieldInserter(const PivotFieldInserter& r) : mrFields(r.mrFields) {}
- for ( i=0; (i<aPageArr.size()) && (aPageArr[i].get() != NULL ); i++ )
- lcl_FillToPivotField( pPageArr[i], *aPageArr[i] );
- rPageCount = i;
+ void operator() (const ::boost::shared_ptr<ScDPFuncData>& p)
+ {
+ PivotField aField;
+ aField.nCol = p->mnCol;
+ aField.nFuncMask = p->mnFuncMask;
+ aField.maFieldRef = p->maFieldRef;
+ mrFields.push_back(aField);
+ }
+};
- for ( i=0; (i<aColArr.size()) && (aColArr[i].get() != NULL ); i++ )
- lcl_FillToPivotField( pColArr[i], *aColArr[i] );
- rColCount = i;
+}
- for ( i=0; (i<aRowArr.size()) && (aRowArr[i].get() != NULL ); i++ )
- lcl_FillToPivotField( pRowArr[i], *aRowArr[i] );
- rRowCount = i;
+bool ScDPLayoutDlg::GetPivotArrays(
+ vector<PivotField>& rPageFields, vector<PivotField>& rColFields,
+ vector<PivotField>& rRowFields, vector<PivotField>& rDataFields )
+{
+ vector<PivotField> aPageFields;
+ for_each(aPageArr.begin(), aPageArr.end(), PivotFieldInserter(aPageFields, aPageArr.size()));
- if ( rRowCount < aRowArr.size() )
- pRowArr[rRowCount++].nCol = PIVOT_DATA_FIELD;
- else if ( rColCount < aColArr.size() )
- pColArr[rColCount++].nCol = PIVOT_DATA_FIELD;
- else
- bFit = FALSE; // kein Platz fuer Datenfeld
+ vector<PivotField> aColFields;
+ for_each(aColArr.begin(), aColArr.end(), PivotFieldInserter(aColFields, aColArr.size()));
+
+ // default data pilot table always has an extra row field as a data layout field.
+ vector<PivotField> aRowFields;
+ for_each(aRowArr.begin(), aRowArr.end(), PivotFieldInserter(aRowFields, aRowArr.size()+1));
+ aRowFields.push_back(PivotField(PIVOT_DATA_FIELD, 0));
- return bFit;
+ vector<PivotField> aDataFields;
+ for_each(aDataArr.begin(), aDataArr.end(), PivotFieldInserter(aDataFields, aDataArr.size()));
+
+ rPageFields.swap(aPageFields);
+ rColFields.swap(aColFields);
+ rRowFields.swap(aRowFields);
+ rDataFields.swap(aDataFields);
+
+ return true;
}
void ScDPLayoutDlg::UpdateSrcRange()
@@ -1469,20 +1407,100 @@ void ScDPLayoutDlg::UpdateSrcRange()
aWndCol.ClearFields();
aWndPage.ClearFields();
- for (size_t i = 0; i < MAX_LABELS; ++i)
- aSelectArr[i].reset();
+ aSelectArr.clear();
+ aRowArr.clear();
+ aColArr.clear();
+ aDataArr.clear();
+ aPageArr.clear();
+
+ InitFields();
+}
+
+ScDPFieldControlBase* ScDPLayoutDlg::GetFieldWindow(ScDPFieldType eType)
+{
+ switch (eType)
+ {
+ case TYPE_PAGE:
+ return &aWndPage;
+ case TYPE_COL:
+ return &aWndCol;
+ case TYPE_ROW:
+ return &aWndRow;
+ case TYPE_DATA:
+ return &aWndData;
+ case TYPE_SELECT:
+ return &aWndSelect;
+ default:
+ ;
+ }
+ return NULL;
+}
- for (size_t i = 0; i < MAX_FIELDS; ++i)
+void ScDPLayoutDlg::GetOtherFieldWindows(ScDPFieldType eType, ScDPFieldControlBase*& rpWnd1, ScDPFieldControlBase*& rpWnd2)
+{
+ rpWnd1 = NULL;
+ rpWnd2 = NULL;
+ switch (eType)
{
- aRowArr[i].reset();
- aColArr[i].reset();
- aDataArr[i].reset();
+ case TYPE_PAGE:
+ rpWnd1 = &aWndRow;
+ rpWnd2 = &aWndCol;
+ break;
+ case TYPE_COL:
+ rpWnd1 = &aWndPage;
+ rpWnd2 = &aWndRow;
+ break;
+ case TYPE_ROW:
+ rpWnd1 = &aWndPage;
+ rpWnd2 = &aWndCol;
+ break;
+ default:
+ ;
}
+}
- for (size_t i = 0; i < MAX_PAGEFIELDS; ++i)
- aPageArr[i].reset();
+ScDPLayoutDlg::ScDPFuncDataVec* ScDPLayoutDlg::GetFieldDataArray(ScDPFieldType eType)
+{
+ switch (eType)
+ {
+ case TYPE_PAGE:
+ return &aPageArr;
+ case TYPE_COL:
+ return &aColArr;
+ case TYPE_ROW:
+ return &aRowArr;
+ case TYPE_DATA:
+ return &aDataArr;
+ case TYPE_SELECT:
+ return &aSelectArr;
+ default:
+ ;
+ }
+ return NULL;
+}
- InitFields();
+void ScDPLayoutDlg::GetOtherDataArrays(
+ ScDPFieldType eType, ScDPFuncDataVec*& rpArr1, ScDPFuncDataVec*& rpArr2)
+{
+ rpArr1 = NULL;
+ rpArr2 = NULL;
+ switch (eType)
+ {
+ case TYPE_PAGE:
+ rpArr1 = &aRowArr;
+ rpArr2 = &aColArr;
+ break;
+ case TYPE_COL:
+ rpArr1 = &aPageArr;
+ rpArr2 = &aRowArr;
+ break;
+ case TYPE_ROW:
+ rpArr1 = &aPageArr;
+ rpArr2 = &aColArr;
+ break;
+ default:
+ ;
+ }
}
//----------------------------------------------------------------------------
@@ -1509,7 +1527,6 @@ void ScDPLayoutDlg::SetReference( const ScRange& rRef, ScDocument* pDocP )
}
}
-
//----------------------------------------------------------------------------
void ScDPLayoutDlg::SetActive()
@@ -1538,17 +1555,19 @@ void ScDPLayoutDlg::SetActive()
IMPL_LINK( ScDPLayoutDlg, ClickHdl, PushButton *, pBtn )
{
+ ScDPFieldControlBase* pWnd = GetFieldWindow( eLastActiveType );
+ if (!pWnd)
+ return 0;
+
if( pBtn == &aBtnRemove )
{
- ScDPFieldWindow& rWnd = GetFieldWindow( eLastActiveType );
- RemoveField( eLastActiveType, rWnd.GetSelectedField() );
- if( !rWnd.IsEmpty() ) rWnd.GrabFocus();
+ RemoveField( eLastActiveType, pWnd->GetSelectedField() );
+ if( !pWnd->IsEmpty() ) pWnd->GrabFocus();
}
else if( pBtn == &aBtnOptions )
{
- ScDPFieldWindow& rWnd = GetFieldWindow( eLastActiveType );
- NotifyDoubleClick( eLastActiveType, rWnd.GetSelectedField() );
- rWnd.GrabFocus();
+ NotifyDoubleClick( eLastActiveType, pWnd->GetSelectedField() );
+ pWnd->GrabFocus();
}
return 0;
}
@@ -1562,169 +1581,158 @@ IMPL_LINK( ScDPLayoutDlg, OkHdl, OKButton *, EMPTYARG )
BOOL bToNewTable = (aLbOutPos.GetSelectEntryPos() == 1);
USHORT nResult = !bToNewTable ? aAdrDest.Parse( aOutPosStr, pDoc, pDoc->GetAddressConvention() ) : 0;
- if ( bToNewTable
- || ( (aOutPosStr.Len() > 0) && (SCA_VALID == (nResult & SCA_VALID)) ) )
+ if (!bToNewTable && (aOutPosStr.Len() == 0 || (nResult & SCA_VALID) != SCA_VALID))
{
- //@BugID 54702 Enablen/Disablen nur noch in Basisklasse
- //SFX_APPWINDOW->Enable();
+ // Invalid reference. Bail out.
+ if ( !aBtnMore.GetState() )
+ aBtnMore.SetState(true);
- ScPivotParam theOutParam;
- PivotPageFieldArr aPageFieldArr;
- PivotFieldArr aColFieldArr;
- PivotFieldArr aRowFieldArr;
- PivotFieldArr aDataFieldArr;
- USHORT nPageCount;
- USHORT nColCount;
- USHORT nRowCount;
- USHORT nDataCount;
-
- BOOL bFit = GetPivotArrays( aPageFieldArr, aColFieldArr, aRowFieldArr, aDataFieldArr,
- nPageCount, nColCount, nRowCount, nDataCount );
- if ( bFit )
- {
- ScDPSaveData* pOldSaveData = xDlgDPObject->GetSaveData();
-
- ScRange aOutRange( aAdrDest ); // bToNewTable is passed separately
-
- ScDPSaveData aSaveData;
- aSaveData.SetIgnoreEmptyRows( aBtnIgnEmptyRows.IsChecked() );
- aSaveData.SetRepeatIfEmpty( aBtnDetectCat.IsChecked() );
- aSaveData.SetColumnGrand( aBtnTotalCol.IsChecked() );
- aSaveData.SetRowGrand( aBtnTotalRow.IsChecked() );
- aSaveData.SetFilterButton( aBtnFilter.IsChecked() );
- aSaveData.SetDrillDown( aBtnDrillDown.IsChecked() );
-
- uno::Reference<sheet::XDimensionsSupplier> xSource = xDlgDPObject->GetSource();
-
- ScDPObject::ConvertOrientation( aSaveData, aPageFieldArr, nPageCount,
- sheet::DataPilotFieldOrientation_PAGE, NULL, 0, 0, xSource, FALSE );
- ScDPObject::ConvertOrientation( aSaveData, aColFieldArr, nColCount,
- sheet::DataPilotFieldOrientation_COLUMN, NULL, 0, 0, xSource, FALSE );
- ScDPObject::ConvertOrientation( aSaveData, aRowFieldArr, nRowCount,
- sheet::DataPilotFieldOrientation_ROW, NULL, 0, 0, xSource, FALSE );
- ScDPObject::ConvertOrientation( aSaveData, aDataFieldArr, nDataCount,
- sheet::DataPilotFieldOrientation_DATA, NULL, 0, 0, xSource, FALSE,
- aColFieldArr, nColCount, aRowFieldArr, nRowCount, aPageFieldArr, nPageCount );
-
- for( ScDPLabelDataVec::const_iterator aIt = aLabelDataArr.begin(), aEnd = aLabelDataArr.end(); aIt != aEnd; ++aIt )
- {
- if( ScDPSaveDimension* pDim = aSaveData.GetExistingDimensionByName( aIt->maName ) )
- {
- pDim->SetUsedHierarchy( aIt->mnUsedHier );
- pDim->SetShowEmpty( aIt->mbShowAll );
- pDim->SetSortInfo( &aIt->maSortInfo );
- pDim->SetLayoutInfo( &aIt->maLayoutInfo );
- pDim->SetAutoShowInfo( &aIt->maShowInfo );
- ScDPSaveDimension* pOldDim = NULL;
- if (pOldSaveData)
- {
- // Transfer the existing layout names to new dimension instance.
- pOldDim = pOldSaveData->GetExistingDimensionByName(aIt->maName);
- if (pOldDim)
- {
- const OUString* pLayoutName = pOldDim->GetLayoutName();
- if (pLayoutName)
- pDim->SetLayoutName(*pLayoutName);
+ ErrorBox(this, WinBits(WB_OK | WB_DEF_OK), ScGlobal::GetRscString(STR_INVALID_TABREF)).Execute();
+ aEdOutPos.GrabFocus();
+ return 0;
+ }
- const OUString* pSubtotalName = pOldDim->GetSubtotalName();
- if (pSubtotalName)
- pDim->SetSubtotalName(*pSubtotalName);
- }
- }
+ ScPivotParam theOutParam;
+ vector<PivotField> aPageFields;
+ vector<PivotField> aColFields;
+ vector<PivotField> aRowFields;
+ vector<PivotField> aDataFields;
- bool bManualSort = ( aIt->maSortInfo.Mode == sheet::DataPilotFieldSortMode::MANUAL );
+ // Convert an array of function data into an array of pivot field data.
+ bool bFit = GetPivotArrays(aPageFields, aColFields, aRowFields, aDataFields);
- // visibility of members
- for (vector<ScDPLabelData::Member>::const_iterator itr = aIt->maMembers.begin(), itrEnd = aIt->maMembers.end();
- itr != itrEnd; ++itr)
- {
- ScDPSaveMember* pMember = pDim->GetMemberByName(itr->maName);
+ if (!bFit)
+ {
+ // General data pilot table error. Bail out.
+ ErrorBox(this, WinBits(WB_OK | WB_DEF_OK), ScGlobal::GetRscString(STR_PIVOT_ERROR)).Execute();
+ return 0;
+ }
- // #i40054# create/access members only if flags are not default
- // (or in manual sorting mode - to keep the order)
- if (bManualSort || !itr->mbVisible || !itr->mbShowDetails)
- {
- pMember->SetIsVisible(itr->mbVisible);
- pMember->SetShowDetails(itr->mbShowDetails);
- }
- if (pOldDim)
- {
- // Transfer the existing layout name.
- ScDPSaveMember* pOldMember = pOldDim->GetMemberByName(itr->maName);
- if (pOldMember)
- {
- const OUString* pLayoutName = pOldMember->GetLayoutName();
- if (pLayoutName)
- pMember->SetLayoutName(*pLayoutName);
- }
- }
- }
- }
- }
- ScDPSaveDimension* pDim = aSaveData.GetDataLayoutDimension();
- if (pDim && pOldSaveData)
+ ScDPSaveData* pOldSaveData = xDlgDPObject->GetSaveData();
+
+ ScRange aOutRange( aAdrDest ); // bToNewTable is passed separately
+
+ ScDPSaveData aSaveData;
+ aSaveData.SetIgnoreEmptyRows( aBtnIgnEmptyRows.IsChecked() );
+ aSaveData.SetRepeatIfEmpty( aBtnDetectCat.IsChecked() );
+ aSaveData.SetColumnGrand( aBtnTotalCol.IsChecked() );
+ aSaveData.SetRowGrand( aBtnTotalRow.IsChecked() );
+ aSaveData.SetFilterButton( aBtnFilter.IsChecked() );
+ aSaveData.SetDrillDown( aBtnDrillDown.IsChecked() );
+
+ uno::Reference<sheet::XDimensionsSupplier> xSource = xDlgDPObject->GetSource();
+
+ ScDPObject::ConvertOrientation(
+ aSaveData, aPageFields, sheet::DataPilotFieldOrientation_PAGE, xSource );
+ ScDPObject::ConvertOrientation(
+ aSaveData, aColFields, sheet::DataPilotFieldOrientation_COLUMN, xSource );
+ ScDPObject::ConvertOrientation(
+ aSaveData, aRowFields, sheet::DataPilotFieldOrientation_ROW, xSource );
+ ScDPObject::ConvertOrientation(
+ aSaveData, aDataFields, sheet::DataPilotFieldOrientation_DATA, xSource,
+ &aColFields, &aRowFields, &aPageFields );
+
+ for( ScDPLabelDataVec::const_iterator aIt = aLabelDataArr.begin(), aEnd = aLabelDataArr.end(); aIt != aEnd; ++aIt )
+ {
+ if( ScDPSaveDimension* pDim = aSaveData.GetExistingDimensionByName( aIt->maName ) )
+ {
+ pDim->SetUsedHierarchy( aIt->mnUsedHier );
+ pDim->SetShowEmpty( aIt->mbShowAll );
+ pDim->SetSortInfo( &aIt->maSortInfo );
+ pDim->SetLayoutInfo( &aIt->maLayoutInfo );
+ pDim->SetAutoShowInfo( &aIt->maShowInfo );
+ ScDPSaveDimension* pOldDim = NULL;
+ if (pOldSaveData)
{
- ScDPSaveDimension* pOldDim = pOldSaveData->GetDataLayoutDimension();
+ // Transfer the existing layout names to new dimension instance.
+ pOldDim = pOldSaveData->GetExistingDimensionByName(aIt->maName);
if (pOldDim)
{
const OUString* pLayoutName = pOldDim->GetLayoutName();
if (pLayoutName)
pDim->SetLayoutName(*pLayoutName);
+
+ const OUString* pSubtotalName = pOldDim->GetSubtotalName();
+ if (pSubtotalName)
+ pDim->SetSubtotalName(*pSubtotalName);
}
}
- USHORT nWhichPivot = SC_MOD()->GetPool().GetWhich( SID_PIVOT_TABLE );
- ScPivotItem aOutItem( nWhichPivot, &aSaveData, &aOutRange, bToNewTable );
-
- bRefInputMode = FALSE; // to allow deselecting when switching sheets
-
- SetDispatcherLock( FALSE );
- SwitchToDocument();
+ bool bManualSort = ( aIt->maSortInfo.Mode == sheet::DataPilotFieldSortMode::MANUAL );
- // #95513# don't hide the dialog before executing the slot, instead it is used as
- // parent for message boxes in ScTabViewShell::GetDialogParent
-
- const SfxPoolItem* pRet = GetBindings().GetDispatcher()->Execute(
- SID_PIVOT_TABLE, SFX_CALLMODE_SLOT | SFX_CALLMODE_RECORD, &aOutItem, 0L, 0L );
-
- bool bSuccess = true;
- if (pRet)
+ // visibility of members
+ for (vector<ScDPLabelData::Member>::const_iterator itr = aIt->maMembers.begin(), itrEnd = aIt->maMembers.end();
+ itr != itrEnd; ++itr)
{
- const SfxBoolItem* pItem = dynamic_cast<const SfxBoolItem*>(pRet);
- if (pItem)
- bSuccess = pItem->GetValue();
- }
- if (bSuccess)
- // Table successfully inserted.
- Close();
- else
- {
- // Table insertion failed. Keep the dialog open.
- bRefInputMode = true;
- SetDispatcherLock(true);
+ ScDPSaveMember* pMember = pDim->GetMemberByName(itr->maName);
+
+ // #i40054# create/access members only if flags are not default
+ // (or in manual sorting mode - to keep the order)
+ if (bManualSort || !itr->mbVisible || !itr->mbShowDetails)
+ {
+ pMember->SetIsVisible(itr->mbVisible);
+ pMember->SetShowDetails(itr->mbShowDetails);
+ }
+ if (pOldDim)
+ {
+ // Transfer the existing layout name.
+ ScDPSaveMember* pOldMember = pOldDim->GetMemberByName(itr->maName);
+ if (pOldMember)
+ {
+ const OUString* pLayoutName = pOldMember->GetLayoutName();
+ if (pLayoutName)
+ pMember->SetLayoutName(*pLayoutName);
+ }
+ }
}
}
- else
+ }
+ ScDPSaveDimension* pDim = aSaveData.GetDataLayoutDimension();
+ if (pDim && pOldSaveData)
+ {
+ ScDPSaveDimension* pOldDim = pOldSaveData->GetDataLayoutDimension();
+ if (pOldDim)
{
- ErrorBox( this, WinBits( WB_OK | WB_DEF_OK ),
- ScGlobal::GetRscString( STR_PIVOT_ERROR )
- ).Execute();
+ const OUString* pLayoutName = pOldDim->GetLayoutName();
+ if (pLayoutName)
+ pDim->SetLayoutName(*pLayoutName);
}
}
+
+ USHORT nWhichPivot = SC_MOD()->GetPool().GetWhich( SID_PIVOT_TABLE );
+ ScPivotItem aOutItem( nWhichPivot, &aSaveData, &aOutRange, bToNewTable );
+
+ bRefInputMode = FALSE; // to allow deselecting when switching sheets
+
+ SetDispatcherLock( FALSE );
+ SwitchToDocument();
+
+ // #95513# don't hide the dialog before executing the slot, instead it is used as
+ // parent for message boxes in ScTabViewShell::GetDialogParent
+
+ const SfxPoolItem* pRet = GetBindings().GetDispatcher()->Execute(
+ SID_PIVOT_TABLE, SFX_CALLMODE_SLOT | SFX_CALLMODE_RECORD, &aOutItem, 0L, 0L );
+
+ bool bSuccess = true;
+ if (pRet)
+ {
+ const SfxBoolItem* pItem = dynamic_cast<const SfxBoolItem*>(pRet);
+ if (pItem)
+ bSuccess = pItem->GetValue();
+ }
+ if (bSuccess)
+ // Table successfully inserted.
+ Close();
else
{
- if ( !aBtnMore.GetState() )
- aBtnMore.SetState( TRUE );
-
- ErrorBox( this, WinBits( WB_OK | WB_DEF_OK ),
- ScGlobal::GetRscString( STR_INVALID_TABREF )
- ).Execute();
- aEdOutPos.GrabFocus();
+ // Table insertion failed. Keep the dialog open.
+ bRefInputMode = true;
+ SetDispatcherLock(true);
}
+
return 0;
}
-
//----------------------------------------------------------------------------
IMPL_LINK( ScDPLayoutDlg, CancelHdl, CancelButton *, EMPTYARG )
@@ -1733,7 +1741,6 @@ IMPL_LINK( ScDPLayoutDlg, CancelHdl, CancelButton *, EMPTYARG )
return 0;
}
-
//----------------------------------------------------------------------------
IMPL_LINK( ScDPLayoutDlg, MoreClickHdl, MoreButton *, EMPTYARG )
@@ -1765,7 +1772,6 @@ IMPL_LINK( ScDPLayoutDlg, MoreClickHdl, MoreButton *, EMPTYARG )
return 0;
}
-
//----------------------------------------------------------------------------
IMPL_LINK( ScDPLayoutDlg, EdModifyHdl, Edit *, EMPTYARG )
@@ -1794,14 +1800,12 @@ IMPL_LINK( ScDPLayoutDlg, EdModifyHdl, Edit *, EMPTYARG )
return 0;
}
-
IMPL_LINK( ScDPLayoutDlg, EdInModifyHdl, Edit *, EMPTYARG )
{
UpdateSrcRange();
return 0;
}
-
//----------------------------------------------------------------------------
IMPL_LINK( ScDPLayoutDlg, SelAreaHdl, ListBox *, EMPTYARG )
@@ -1828,35 +1832,6 @@ IMPL_LINK( ScDPLayoutDlg, SelAreaHdl, ListBox *, EMPTYARG )
return 0;
}
-
-//----------------------------------------------------------------------------
-
-IMPL_LINK( ScDPLayoutDlg, ScrollHdl, ScrollBar *, EMPTYARG )
-{
- long nNewOffset = aSlider.GetThumbPos();
- long nOffsetDiff = nNewOffset - nOffset;
- nOffset = nNewOffset;
-
- size_t nFields = std::min< size_t >( aLabelDataArr.size() - nOffset, PAGE_SIZE );
-
- aWndSelect.ClearFields();
-
- size_t i=0;
- for ( i=0; i<nFields; i++ )
- {
- const ScDPLabelData& rData = aLabelDataArr[nOffset+i];
- aWndSelect.AddField(rData.getDisplayName(), i);
- aSelectArr[i].reset( new ScDPFuncData( rData.mnCol, rData.mnFuncMask ) );
- }
- for ( ; i<aSelectArr.size(); i++ )
- aSelectArr[i].reset();
-
- aWndSelect.ModifySelectionOffset( nOffsetDiff ); // adjusts selection & redraws
- return 0;
-}
-
-//----------------------------------------------------------------------------
-
IMPL_LINK( ScDPLayoutDlg, GetFocusHdl, Control*, pCtrl )
{
pEditActive = NULL;
diff --git a/sc/source/ui/dbgui/scendlg.cxx b/sc/source/ui/dbgui/scendlg.cxx
index 916bb0db8a34..4f0207fd948d 100644
--- a/sc/source/ui/dbgui/scendlg.cxx
+++ b/sc/source/ui/dbgui/scendlg.cxx
@@ -147,7 +147,7 @@ ScNewScenarioDlg::ScNewScenarioDlg( Window* pParent, const String& rName, BOOL b
//------------------------------------------------------------------------
-__EXPORT ScNewScenarioDlg::~ScNewScenarioDlg()
+ScNewScenarioDlg::~ScNewScenarioDlg()
{
}
diff --git a/sc/source/ui/dbgui/scendlg.hrc b/sc/source/ui/dbgui/scendlg.hrc
index 83818773bf5a..8fbf9a2d5b54 100644
--- a/sc/source/ui/dbgui/scendlg.hrc
+++ b/sc/source/ui/dbgui/scendlg.hrc
@@ -25,7 +25,7 @@
*
************************************************************************/
#include "sc.hrc"
-//#define RID_SCDLG_NEWSCENARIO 256
+
#define BTN_OK 1
#define BTN_CANCEL 2
#define BTN_HELP 3
diff --git a/sc/source/ui/dbgui/scendlg.src b/sc/source/ui/dbgui/scendlg.src
index 40cfeb01b8ff..eb8e18532531 100644
--- a/sc/source/ui/dbgui/scendlg.src
+++ b/sc/source/ui/dbgui/scendlg.src
@@ -155,41 +155,3 @@ ModalDialog RID_SCDLG_NEWSCENARIO
Text [ en-US ] = "Settings";
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/dbgui/scuiasciiopt.cxx b/sc/source/ui/dbgui/scuiasciiopt.cxx
index 67817a140af2..acb6d73c4a85 100644
--- a/sc/source/ui/dbgui/scuiasciiopt.cxx
+++ b/sc/source/ui/dbgui/scuiasciiopt.cxx
@@ -127,17 +127,17 @@ static void load_Separators( OUString &sFieldSeparators, OUString &sTextSeparato
const Any *pProperties;
Sequence<OUString> aNames(9);
OUString* pNames = aNames.getArray();
- ScLinkConfigItem aItem( OUString::createFromAscii( SEP_PATH ) );
-
- pNames[0] = OUString::createFromAscii( MERGE_DELIMITERS );
- pNames[1] = OUString::createFromAscii( SEPARATORS );
- pNames[2] = OUString::createFromAscii( TEXT_SEPARATORS );
- pNames[3] = OUString::createFromAscii( FIXED_WIDTH );
- pNames[4] = OUString::createFromAscii( FROM_ROW );
- pNames[5] = OUString::createFromAscii( CHAR_SET );
- pNames[6] = OUString::createFromAscii( QUOTED_AS_TEXT );
- pNames[7] = OUString::createFromAscii( DETECT_SPECIAL_NUM );
- pNames[8] = OUString::createFromAscii( LANGUAGE );
+ ScLinkConfigItem aItem( OUString(RTL_CONSTASCII_USTRINGPARAM( SEP_PATH )) );
+
+ pNames[0] = OUString(RTL_CONSTASCII_USTRINGPARAM( MERGE_DELIMITERS ));
+ pNames[1] = OUString(RTL_CONSTASCII_USTRINGPARAM( SEPARATORS ));
+ pNames[2] = OUString(RTL_CONSTASCII_USTRINGPARAM( TEXT_SEPARATORS ));
+ pNames[3] = OUString(RTL_CONSTASCII_USTRINGPARAM( FIXED_WIDTH ));
+ pNames[4] = OUString(RTL_CONSTASCII_USTRINGPARAM( FROM_ROW ));
+ pNames[5] = OUString(RTL_CONSTASCII_USTRINGPARAM( CHAR_SET ));
+ pNames[6] = OUString(RTL_CONSTASCII_USTRINGPARAM( QUOTED_AS_TEXT ));
+ pNames[7] = OUString(RTL_CONSTASCII_USTRINGPARAM( DETECT_SPECIAL_NUM ));
+ pNames[8] = OUString(RTL_CONSTASCII_USTRINGPARAM( LANGUAGE ));
aValues = aItem.GetProperties( aNames );
pProperties = aValues.getConstArray();
if( pProperties[1].hasValue() )
@@ -178,17 +178,17 @@ static void save_Separators(
Any *pProperties;
Sequence<OUString> aNames(9);
OUString* pNames = aNames.getArray();
- ScLinkConfigItem aItem( OUString::createFromAscii( SEP_PATH ) );
-
- pNames[0] = OUString::createFromAscii( MERGE_DELIMITERS );
- pNames[1] = OUString::createFromAscii( SEPARATORS );
- pNames[2] = OUString::createFromAscii( TEXT_SEPARATORS );
- pNames[3] = OUString::createFromAscii( FIXED_WIDTH );
- pNames[4] = OUString::createFromAscii( FROM_ROW );
- pNames[5] = OUString::createFromAscii( CHAR_SET );
- pNames[6] = OUString::createFromAscii( QUOTED_AS_TEXT );
- pNames[7] = OUString::createFromAscii( DETECT_SPECIAL_NUM );
- pNames[8] = OUString::createFromAscii( LANGUAGE );
+ ScLinkConfigItem aItem( OUString(RTL_CONSTASCII_USTRINGPARAM( SEP_PATH )) );
+
+ pNames[0] = OUString(RTL_CONSTASCII_USTRINGPARAM( MERGE_DELIMITERS ));
+ pNames[1] = OUString(RTL_CONSTASCII_USTRINGPARAM( SEPARATORS ));
+ pNames[2] = OUString(RTL_CONSTASCII_USTRINGPARAM( TEXT_SEPARATORS ));
+ pNames[3] = OUString(RTL_CONSTASCII_USTRINGPARAM( FIXED_WIDTH ));
+ pNames[4] = OUString(RTL_CONSTASCII_USTRINGPARAM( FROM_ROW ));
+ pNames[5] = OUString(RTL_CONSTASCII_USTRINGPARAM( CHAR_SET ));
+ pNames[6] = OUString(RTL_CONSTASCII_USTRINGPARAM( QUOTED_AS_TEXT ));
+ pNames[7] = OUString(RTL_CONSTASCII_USTRINGPARAM( DETECT_SPECIAL_NUM ));
+ pNames[8] = OUString(RTL_CONSTASCII_USTRINGPARAM( LANGUAGE ));
aValues = aItem.GetProperties( aNames );
pProperties = aValues.getArray();
pProperties[1] <<= sFieldSeparators;
@@ -274,9 +274,9 @@ ScImportAsciiDlg::ScImportAsciiDlg( Window* pParent,String aDatName,
}
SetText( aName );
-
- OUString sFieldSeparators;
- OUString sTextSeparators;
+ // Default options
+ OUString sFieldSeparators(RTL_CONSTASCII_USTRINGPARAM("\t"));
+ OUString sTextSeparators(mcTextSep);
bool bMergeDelimiters = false;
bool bFixedWidth = false;
bool bQuotedFieldAsText = true;
@@ -403,6 +403,7 @@ ScImportAsciiDlg::ScImportAsciiDlg( Window* pParent,String aDatName,
aLbType.Disable();
// *** table box preview ***
+ maTableBox.Init();
maTableBox.SetUpdateTextHdl( LINK( this, ScImportAsciiDlg, UpdateTextHdl ) );
maTableBox.InitTypes( aLbType );
maTableBox.SetColTypeHdl( LINK( this, ScImportAsciiDlg, ColTypeHdl ) );
diff --git a/sc/source/ui/dbgui/scuiimoptdlg.cxx b/sc/source/ui/dbgui/scuiimoptdlg.cxx
index 547983af83fe..a6ee4ce71cb8 100644
--- a/sc/source/ui/dbgui/scuiimoptdlg.cxx
+++ b/sc/source/ui/dbgui/scuiimoptdlg.cxx
@@ -69,10 +69,10 @@ private:
USHORT ScDelimiterTable::GetCode( const String& rDel ) const
{
sal_Unicode nCode = 0;
- xub_StrLen i = 0;
if ( nCount >= 2 )
{
+ xub_StrLen i = 0;
while ( i<nCount )
{
if ( rDel == theDelTab.GetToken( i, cSep ) )
@@ -93,10 +93,10 @@ USHORT ScDelimiterTable::GetCode( const String& rDel ) const
String ScDelimiterTable::GetDelimiter( sal_Unicode nCode ) const
{
String aStrDel;
- xub_StrLen i = 0;
if ( nCount >= 2 )
{
+ xub_StrLen i = 0;
while ( i<nCount )
{
if ( nCode == (sal_Unicode) theDelTab.GetToken( i+1, cSep ).ToInt32() )
@@ -242,7 +242,7 @@ ScImportOptionsDlg::ScImportOptionsDlg(
//------------------------------------------------------------------------
-__EXPORT ScImportOptionsDlg::~ScImportOptionsDlg()
+ScImportOptionsDlg::~ScImportOptionsDlg()
{
delete pFieldSepTab;
delete pTextSepTab;
diff --git a/sc/source/ui/dbgui/sfiltdlg.cxx b/sc/source/ui/dbgui/sfiltdlg.cxx
index d66ff75d7530..1f455b52136f 100644
--- a/sc/source/ui/dbgui/sfiltdlg.cxx
+++ b/sc/source/ui/dbgui/sfiltdlg.cxx
@@ -109,7 +109,7 @@ ScSpecialFilterDlg::ScSpecialFilterDlg( SfxBindings* pB, SfxChildWindow* pCW, Wi
//----------------------------------------------------------------------------
-__EXPORT ScSpecialFilterDlg::~ScSpecialFilterDlg()
+ScSpecialFilterDlg::~ScSpecialFilterDlg()
{
USHORT nEntries = aLbFilterArea.GetEntryCount();
USHORT i;
@@ -130,7 +130,7 @@ __EXPORT ScSpecialFilterDlg::~ScSpecialFilterDlg()
//----------------------------------------------------------------------------
-void __EXPORT ScSpecialFilterDlg::Init( const SfxItemSet& rArgSet )
+void ScSpecialFilterDlg::Init( const SfxItemSet& rArgSet )
{
const ScQueryItem& rQueryItem = (const ScQueryItem&)
rArgSet.Get( nWhichQuery );
@@ -231,7 +231,7 @@ void __EXPORT ScSpecialFilterDlg::Init( const SfxItemSet& rArgSet )
//----------------------------------------------------------------------------
-BOOL __EXPORT ScSpecialFilterDlg::Close()
+BOOL ScSpecialFilterDlg::Close()
{
if (pViewData)
pViewData->GetDocShell()->CancelAutoDBRange();
diff --git a/sc/source/ui/dbgui/sortdlg.cxx b/sc/source/ui/dbgui/sortdlg.cxx
index 0fbbe991e327..1651a7ab1dda 100644
--- a/sc/source/ui/dbgui/sortdlg.cxx
+++ b/sc/source/ui/dbgui/sortdlg.cxx
@@ -55,15 +55,15 @@ ScSortDlg::ScSortDlg( Window* pParent,
AddTabPage( TP_FIELDS, ScTabPageSortFields::Create, 0 );
AddTabPage( TP_OPTIONS, ScTabPageSortOptions::Create, 0 );
#else
- String fields = rtl::OUString::createFromAscii ("fields");
+ String fields = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("fields"));
AddTabPage( TP_FIELDS, fields, ScTabPageSortFields::Create, 0, FALSE, TAB_APPEND);
- String options = rtl::OUString::createFromAscii ("options");
+ String options = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("options"));
AddTabPage( TP_OPTIONS, options, ScTabPageSortOptions::Create, 0, FALSE, TAB_APPEND);
#endif
FreeResource();
}
-__EXPORT ScSortDlg::~ScSortDlg()
+ScSortDlg::~ScSortDlg()
{
}
diff --git a/sc/source/ui/dbgui/textimportoptions.src b/sc/source/ui/dbgui/textimportoptions.src
index 69e2d69b3142..ad0a417c5519 100644
--- a/sc/source/ui/dbgui/textimportoptions.src
+++ b/sc/source/ui/dbgui/textimportoptions.src
@@ -107,4 +107,3 @@ ModalDialog RID_SCDLG_TEXT_IMPORT_OPTIONS
Text [ en-US ] = "Detect special numbers (such as dates)." ;
};
};
-
diff --git a/sc/source/ui/dbgui/tpsort.cxx b/sc/source/ui/dbgui/tpsort.cxx
index 7a54da38da03..547afd8517ba 100644
--- a/sc/source/ui/dbgui/tpsort.cxx
+++ b/sc/source/ui/dbgui/tpsort.cxx
@@ -81,7 +81,6 @@ static USHORT pSortRanges[] =
* geloest. Wird eine Seite Aktiviert/Deaktiviert, so gleicht sie diese
* Datenmember mit dem eigenen Zustand ab (->Activate()/Deactivate()).
*
- * 31.01.95:
* Die Klasse SfxTabPage bietet mittlerweile ein Verfahren an:
*
* virtual BOOL HasExchangeSupport() const; -> return TRUE;
@@ -138,7 +137,7 @@ ScTabPageSortFields::ScTabPageSortFields( Window* pParent,
// -----------------------------------------------------------------------
-__EXPORT ScTabPageSortFields::~ScTabPageSortFields()
+ScTabPageSortFields::~ScTabPageSortFields()
{
}
@@ -180,14 +179,14 @@ void ScTabPageSortFields::Init()
//------------------------------------------------------------------------
-USHORT* __EXPORT ScTabPageSortFields::GetRanges()
+USHORT* ScTabPageSortFields::GetRanges()
{
return pSortRanges;
}
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScTabPageSortFields::Create( Window* pParent,
+SfxTabPage* ScTabPageSortFields::Create( Window* pParent,
const SfxItemSet& rArgSet )
{
return ( new ScTabPageSortFields( pParent, rArgSet ) );
@@ -195,7 +194,7 @@ SfxTabPage* __EXPORT ScTabPageSortFields::Create( Window* pParent,
// -----------------------------------------------------------------------
-void __EXPORT ScTabPageSortFields::Reset( const SfxItemSet& /* rArgSet */ )
+void ScTabPageSortFields::Reset( const SfxItemSet& /* rArgSet */ )
{
bSortByRows = rSortData.bByRow;
bHasHeader = rSortData.bHasHeader;
@@ -263,7 +262,7 @@ void __EXPORT ScTabPageSortFields::Reset( const SfxItemSet& /* rArgSet */ )
// -----------------------------------------------------------------------
-BOOL __EXPORT ScTabPageSortFields::FillItemSet( SfxItemSet& rArgSet )
+BOOL ScTabPageSortFields::FillItemSet( SfxItemSet& rArgSet )
{
ScSortParam theSortData = rSortData;
if (pDlg)
@@ -334,7 +333,7 @@ BOOL __EXPORT ScTabPageSortFields::FillItemSet( SfxItemSet& rArgSet )
// fuer Datenaustausch ohne Dialog-Umweg: (! noch zu tun !)
// void ScTabPageSortFields::ActivatePage( const SfxItemSet& rSet )
-void __EXPORT ScTabPageSortFields::ActivatePage()
+void ScTabPageSortFields::ActivatePage()
{
if ( pDlg )
{
@@ -357,7 +356,7 @@ void __EXPORT ScTabPageSortFields::ActivatePage()
// -----------------------------------------------------------------------
-int __EXPORT ScTabPageSortFields::DeactivatePage( SfxItemSet* pSetP )
+int ScTabPageSortFields::DeactivatePage( SfxItemSet* pSetP )
{
if ( pDlg )
{
@@ -577,8 +576,6 @@ ScTabPageSortOptions::ScTabPageSortOptions( Window* pParent,
aLineDirection ( this, ScResId( FL_DIRECTION ) ),
aBtnTopDown ( this, ScResId( BTN_TOP_DOWN ) ),
aBtnLeftRight ( this, ScResId( BTN_LEFT_RIGHT ) ),
-// aFtAreaLabel ( this, ScResId( FT_AREA_LABEL ) ),
-// aFtArea ( this, ScResId( FT_AREA ) ),
//
#if ENABLE_LAYOUT_EXPERIMENTAL
#undef this
@@ -606,7 +603,7 @@ ScTabPageSortOptions::ScTabPageSortOptions( Window* pParent,
// -----------------------------------------------------------------------
-__EXPORT ScTabPageSortOptions::~ScTabPageSortOptions()
+ScTabPageSortOptions::~ScTabPageSortOptions()
{
USHORT nEntries = aLbOutPos.GetEntryCount();
@@ -700,10 +697,6 @@ void ScTabPageSortOptions::Init()
theArea += theDbName;
theArea += ')';
- //aFtArea.SetText( theArea );
- //theArea.Insert( aStrAreaLabel, 0 );
- //aFtAreaLabel.SetText( theArea );
-
aBtnHeader.SetText( aStrColLabel );
}
@@ -717,7 +710,7 @@ void ScTabPageSortOptions::Init()
//------------------------------------------------------------------------
-USHORT* __EXPORT ScTabPageSortOptions::GetRanges()
+USHORT* ScTabPageSortOptions::GetRanges()
{
return pSortRanges;
}
@@ -727,7 +720,7 @@ USHORT* __EXPORT ScTabPageSortOptions::GetRanges()
#if ENABLE_LAYOUT_EXPERIMENTAL
#undef SfxTabPage
#endif /* ENABLE_LAYOUT_EXPERIMENTAL */
-SfxTabPage* __EXPORT ScTabPageSortOptions::Create(
+SfxTabPage* ScTabPageSortOptions::Create(
Window* pParent,
const SfxItemSet& rArgSet )
{
@@ -736,7 +729,7 @@ SfxTabPage* __EXPORT ScTabPageSortOptions::Create(
// -----------------------------------------------------------------------
-void __EXPORT ScTabPageSortOptions::Reset( const SfxItemSet& /* rArgSet */ )
+void ScTabPageSortOptions::Reset( const SfxItemSet& /* rArgSet */ )
{
if ( rSortData.bUserDef )
{
@@ -806,7 +799,7 @@ void __EXPORT ScTabPageSortOptions::Reset( const SfxItemSet& /* rArgSet */ )
// -----------------------------------------------------------------------
-BOOL __EXPORT ScTabPageSortOptions::FillItemSet( SfxItemSet& rArgSet )
+BOOL ScTabPageSortOptions::FillItemSet( SfxItemSet& rArgSet )
{
ScSortParam theSortData = rSortData;
if (pDlg)
@@ -856,7 +849,7 @@ BOOL __EXPORT ScTabPageSortOptions::FillItemSet( SfxItemSet& rArgSet )
// fuer Datenaustausch ohne Dialog-Umweg: (! noch zu tun !)
// void ScTabPageSortOptions::ActivatePage( const SfxItemSet& rSet )
-void __EXPORT ScTabPageSortOptions::ActivatePage()
+void ScTabPageSortOptions::ActivatePage()
{
if ( pDlg )
{
@@ -879,7 +872,7 @@ void __EXPORT ScTabPageSortOptions::ActivatePage()
// -----------------------------------------------------------------------
-int __EXPORT ScTabPageSortOptions::DeactivatePage( SfxItemSet* pSetP )
+int ScTabPageSortOptions::DeactivatePage( SfxItemSet* pSetP )
{
BOOL bPosInputOk = TRUE;
@@ -1015,7 +1008,7 @@ IMPL_LINK( ScTabPageSortOptions, SortDirHdl, RadioButton *, pBtn )
// -----------------------------------------------------------------------
-void __EXPORT ScTabPageSortOptions::EdOutPosModHdl( Edit* pEd )
+void ScTabPageSortOptions::EdOutPosModHdl( Edit* pEd )
{
if ( pEd == &aEdOutPos )
{
diff --git a/sc/source/ui/dbgui/tpsubt.cxx b/sc/source/ui/dbgui/tpsubt.cxx
index b4d6519d3388..1893380071d9 100644
--- a/sc/source/ui/dbgui/tpsubt.cxx
+++ b/sc/source/ui/dbgui/tpsubt.cxx
@@ -93,7 +93,7 @@ ScTpSubTotalGroup::ScTpSubTotalGroup( Window* pParent, USHORT nResId,
// -----------------------------------------------------------------------
-__EXPORT ScTpSubTotalGroup::~ScTpSubTotalGroup()
+ScTpSubTotalGroup::~ScTpSubTotalGroup()
{
USHORT nCount = (USHORT)aLbColumns.GetEntryCount();
@@ -134,7 +134,7 @@ void ScTpSubTotalGroup::Init()
//------------------------------------------------------------------------
-USHORT* __EXPORT ScTpSubTotalGroup::GetRanges()
+USHORT* ScTpSubTotalGroup::GetRanges()
{
return pSubTotalsRanges;
}
@@ -439,19 +439,19 @@ IMPL_LINK( ScTpSubTotalGroup, CheckHdl, ListBox *, pLb )
//========================================================================
// Abgeleitete Gruppen-TabPages:
-SfxTabPage* __EXPORT ScTpSubTotalGroup1::Create( Window* pParent,
+SfxTabPage* ScTpSubTotalGroup1::Create( Window* pParent,
const SfxItemSet& rArgSet )
{ return ( new ScTpSubTotalGroup1( pParent, rArgSet ) ); }
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScTpSubTotalGroup2::Create( Window* pParent,
+SfxTabPage* ScTpSubTotalGroup2::Create( Window* pParent,
const SfxItemSet& rArgSet )
{ return ( new ScTpSubTotalGroup2( pParent, rArgSet ) ); }
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScTpSubTotalGroup3::Create( Window* pParent,
+SfxTabPage* ScTpSubTotalGroup3::Create( Window* pParent,
const SfxItemSet& rArgSet )
{ return ( new ScTpSubTotalGroup3( pParent, rArgSet ) ); }
@@ -474,11 +474,11 @@ ScTpSubTotalGroup3::ScTpSubTotalGroup3( Window* pParent, const SfxItemSet& rArgS
#define RESET(i) (ScTpSubTotalGroup::DoReset( (i), rArgSet ))
-void __EXPORT ScTpSubTotalGroup1::Reset( const SfxItemSet& rArgSet ) { RESET(1); }
+void ScTpSubTotalGroup1::Reset( const SfxItemSet& rArgSet ) { RESET(1); }
-void __EXPORT ScTpSubTotalGroup2::Reset( const SfxItemSet& rArgSet ) { RESET(2); }
+void ScTpSubTotalGroup2::Reset( const SfxItemSet& rArgSet ) { RESET(2); }
-void __EXPORT ScTpSubTotalGroup3::Reset( const SfxItemSet& rArgSet ) { RESET(3); }
+void ScTpSubTotalGroup3::Reset( const SfxItemSet& rArgSet ) { RESET(3); }
#undef RESET
@@ -486,11 +486,11 @@ void __EXPORT ScTpSubTotalGroup3::Reset( const SfxItemSet& rArgSet ) { RESET(3);
#define FILLSET(i) (ScTpSubTotalGroup::DoFillItemSet( (i), rArgSet ))
-BOOL __EXPORT ScTpSubTotalGroup1::FillItemSet( SfxItemSet& rArgSet ) { return FILLSET(1); }
+BOOL ScTpSubTotalGroup1::FillItemSet( SfxItemSet& rArgSet ) { return FILLSET(1); }
-BOOL __EXPORT ScTpSubTotalGroup2::FillItemSet( SfxItemSet& rArgSet ) { return FILLSET(2); }
+BOOL ScTpSubTotalGroup2::FillItemSet( SfxItemSet& rArgSet ) { return FILLSET(2); }
-BOOL __EXPORT ScTpSubTotalGroup3::FillItemSet( SfxItemSet& rArgSet ) { return FILLSET(3); }
+BOOL ScTpSubTotalGroup3::FillItemSet( SfxItemSet& rArgSet ) { return FILLSET(3); }
#undef FILL
@@ -528,7 +528,7 @@ ScTpSubTotalOptions::ScTpSubTotalOptions( Window* pParent,
// -----------------------------------------------------------------------
-__EXPORT ScTpSubTotalOptions::~ScTpSubTotalOptions()
+ScTpSubTotalOptions::~ScTpSubTotalOptions()
{
}
@@ -552,7 +552,7 @@ void ScTpSubTotalOptions::Init()
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScTpSubTotalOptions::Create( Window* pParent,
+SfxTabPage* ScTpSubTotalOptions::Create( Window* pParent,
const SfxItemSet& rArgSet )
{
return ( new ScTpSubTotalOptions( pParent, rArgSet ) );
@@ -560,7 +560,7 @@ SfxTabPage* __EXPORT ScTpSubTotalOptions::Create( Window* pParent
// -----------------------------------------------------------------------
-void __EXPORT ScTpSubTotalOptions::Reset( const SfxItemSet& /* rArgSet */ )
+void ScTpSubTotalOptions::Reset( const SfxItemSet& /* rArgSet */ )
{
aBtnPagebreak.Check ( rSubTotalData.bPagebreak );
aBtnCase.Check ( rSubTotalData.bCaseSens );
@@ -587,7 +587,7 @@ void __EXPORT ScTpSubTotalOptions::Reset( const SfxItemSet& /* rArgSet */ )
// -----------------------------------------------------------------------
-BOOL __EXPORT ScTpSubTotalOptions::FillItemSet( SfxItemSet& rArgSet )
+BOOL ScTpSubTotalOptions::FillItemSet( SfxItemSet& rArgSet )
{
ScSubTotalParam theSubTotalData; // auslesen, wenn schon teilweise gefuellt
SfxTabDialog* pDlg = GetTabDialog();
@@ -673,15 +673,15 @@ IMPL_LINK( ScTpSubTotalOptions, CheckHdl, CheckBox *, pBox )
return 0;
}
-__EXPORT ScTpSubTotalGroup1::~ScTpSubTotalGroup1()
+ScTpSubTotalGroup1::~ScTpSubTotalGroup1()
{
}
-__EXPORT ScTpSubTotalGroup2::~ScTpSubTotalGroup2()
+ScTpSubTotalGroup2::~ScTpSubTotalGroup2()
{
}
-__EXPORT ScTpSubTotalGroup3::~ScTpSubTotalGroup3()
+ScTpSubTotalGroup3::~ScTpSubTotalGroup3()
{
}
diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
index 6eed9ab7fee0..13bb0728bb32 100644
--- a/sc/source/ui/dbgui/validate.cxx
+++ b/sc/source/ui/dbgui/validate.cxx
@@ -112,7 +112,7 @@ void ScTPValidationValue:: SetActiveHdl()
}
}
-void ScTPValidationValue::RefInputStartPreHdl( ScRefEdit* pEdit, ScRefButton* pButton )
+void ScTPValidationValue::RefInputStartPreHdl( formula::RefEdit* pEdit, formula::RefButton* pButton )
{
if ( ScValidationDlg *pValidationDlg = GetValidationDlg() )
{
@@ -339,7 +339,7 @@ ScTPValidationValue::ScTPValidationValue( Window* pParent, const SfxItemSet& rAr
FreeResource();
// list separator in formulas
- String aListSep = ::GetScCompilerNativeSymbol( ocSep );
+ String aListSep = ::ScCompiler::GetNativeSymbol( ocSep );
DBG_ASSERT( aListSep.Len() == 1, "ScTPValidationValue::ScTPValidationValue - list separator error" );
mcFmlaSep = aListSep.Len() ? aListSep.GetChar( 0 ) : ';';
m_btnRef.Hide(); // cell range picker
@@ -570,7 +570,7 @@ void ScTPValidationValue::TidyListBoxes()
if ( pWnd )
{
- for ( std::list<Window*>::iterator i = alstOrder.begin(); i!=alstOrder.end(); i++ )
+ for ( std::list<Window*>::iterator i = alstOrder.begin(); i!=alstOrder.end(); ++i )
{
Window *pParent = (*i)->GetParent();
(*i)->SetParent( pWnd );
@@ -693,7 +693,7 @@ ScTPValidationHelp::ScTPValidationHelp( Window* pParent,
// -----------------------------------------------------------------------
-__EXPORT ScTPValidationHelp::~ScTPValidationHelp()
+ScTPValidationHelp::~ScTPValidationHelp()
{
}
@@ -706,14 +706,14 @@ void ScTPValidationHelp::Init()
//------------------------------------------------------------------------
-USHORT* __EXPORT ScTPValidationHelp::GetRanges()
+USHORT* ScTPValidationHelp::GetRanges()
{
return pValueRanges;
}
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScTPValidationHelp::Create( Window* pParent,
+SfxTabPage* ScTPValidationHelp::Create( Window* pParent,
const SfxItemSet& rArgSet )
{
return ( new ScTPValidationHelp( pParent, rArgSet ) );
@@ -721,7 +721,7 @@ SfxTabPage* __EXPORT ScTPValidationHelp::Create( Window* pParent,
// -----------------------------------------------------------------------
-void __EXPORT ScTPValidationHelp::Reset( const SfxItemSet& rArgSet )
+void ScTPValidationHelp::Reset( const SfxItemSet& rArgSet )
{
const SfxPoolItem* pItem;
@@ -743,7 +743,7 @@ void __EXPORT ScTPValidationHelp::Reset( const SfxItemSet& rArgSet )
// -----------------------------------------------------------------------
-BOOL __EXPORT ScTPValidationHelp::FillItemSet( SfxItemSet& rArgSet )
+BOOL ScTPValidationHelp::FillItemSet( SfxItemSet& rArgSet )
{
rArgSet.Put( SfxBoolItem( FID_VALID_SHOWHELP, aTsbHelp.GetState() == STATE_CHECK ) );
rArgSet.Put( SfxStringItem( FID_VALID_HELPTITLE, aEdtTitle.GetText() ) );
@@ -780,7 +780,7 @@ ScTPValidationError::ScTPValidationError( Window* pParent,
// -----------------------------------------------------------------------
-__EXPORT ScTPValidationError::~ScTPValidationError()
+ScTPValidationError::~ScTPValidationError()
{
}
@@ -799,14 +799,14 @@ void ScTPValidationError::Init()
//------------------------------------------------------------------------
-USHORT* __EXPORT ScTPValidationError::GetRanges()
+USHORT* ScTPValidationError::GetRanges()
{
return pValueRanges;
}
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScTPValidationError::Create( Window* pParent,
+SfxTabPage* ScTPValidationError::Create( Window* pParent,
const SfxItemSet& rArgSet )
{
return ( new ScTPValidationError( pParent, rArgSet ) );
@@ -814,7 +814,7 @@ SfxTabPage* __EXPORT ScTPValidationError::Create( Window* pParent,
// -----------------------------------------------------------------------
-void __EXPORT ScTPValidationError::Reset( const SfxItemSet& rArgSet )
+void ScTPValidationError::Reset( const SfxItemSet& rArgSet )
{
const SfxPoolItem* pItem;
@@ -843,7 +843,7 @@ void __EXPORT ScTPValidationError::Reset( const SfxItemSet& rArgSet )
// -----------------------------------------------------------------------
-BOOL __EXPORT ScTPValidationError::FillItemSet( SfxItemSet& rArgSet )
+BOOL ScTPValidationError::FillItemSet( SfxItemSet& rArgSet )
{
rArgSet.Put( SfxBoolItem( FID_VALID_SHOWERR, aTsbShow.GetState() == STATE_CHECK ) );
rArgSet.Put( SfxAllEnumItem( FID_VALID_ERRSTYLE, aLbAction.GetSelectEntryPos() ) );
@@ -970,7 +970,7 @@ void ScTPValidationValue::ScRefButtonEx::Click()
if( ScTPValidationValue *pParent = dynamic_cast< ScTPValidationValue*>( GetParent() ) )
pParent->OnClick( this );
- ScRefButton::Click();
+ formula::RefButton::Click();
}
void ScTPValidationValue::OnClick( Button *pBtn )
diff --git a/sc/source/ui/dbgui/validate.src b/sc/source/ui/dbgui/validate.src
index c861fbc200cb..0e1ea8403132 100644
--- a/sc/source/ui/dbgui/validate.src
+++ b/sc/source/ui/dbgui/validate.src
@@ -27,7 +27,6 @@
#include "validate.hrc"
-
TabDialog TAB_DLG_VALIDATION
{
OutputSize = TRUE ;
@@ -62,9 +61,9 @@ TabDialog TAB_DLG_VALIDATION
};
Text [ en-US ] = "Validity" ;
};
-//<!--Added by PengYunQuan for Validity Cell Range Picker
+
#define OFFSET_X 30
-//-->Added by PengYunQuan for Validity Cell Range Picker
+
TabPage TP_VALIDATION_VALUES
{
Hide = TRUE ;
@@ -74,19 +73,13 @@ TabPage TP_VALIDATION_VALUES
FixedText FT_ALLOW
{
Pos = MAP_APPFONT ( 6 , 16 ) ;
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Size = MAP_APPFONT ( 70 , 8 ) ;
Size = MAP_APPFONT ( 70 - OFFSET_X , 8 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
Text [ en-US ] = "~Allow" ;
};
ListBox LB_ALLOW
{
Border = TRUE ;
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Pos = MAP_APPFONT ( 80 , 14 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 14 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
Size = MAP_APPFONT ( 90 , 80 ) ;
TabStop = TRUE ;
DropDown = TRUE ;
@@ -105,19 +98,13 @@ TabPage TP_VALIDATION_VALUES
FixedText FT_VALUE
{
Pos = MAP_APPFONT ( 6 , 58 ) ;
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Size = MAP_APPFONT ( 70 , 8 ) ;
Size = MAP_APPFONT ( 70 - OFFSET_X , 8 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
Text [ en-US ] = "~Data" ;
};
ListBox LB_VALUE
{
Border = TRUE ;
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Pos = MAP_APPFONT ( 80 , 56 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 56 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
Size = MAP_APPFONT ( 90 , 90 ) ;
TabStop = TRUE ;
DropDown = TRUE ;
@@ -137,81 +124,54 @@ TabPage TP_VALIDATION_VALUES
FixedText FT_MIN
{
Pos = MAP_APPFONT ( 6 , 76 ) ;
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Size = MAP_APPFONT ( 70 , 8 ) ;
Size = MAP_APPFONT ( 70 - OFFSET_X , 8 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
Text [ en-US ] = "~Minimum" ;
};
Edit EDT_MIN
{
Border = TRUE ;
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Pos = MAP_APPFONT ( 80 , 74 ) ;
- //Size = MAP_APPFONT ( 174 , 12 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 74 ) ;
Size = MAP_APPFONT ( 90 , 12 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
TabStop = TRUE ;
};
MultiLineEdit EDT_LIST
{
Border = TRUE ;
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Pos = MAP_APPFONT ( 80 , 74 ) ;
- //Size = MAP_APPFONT ( 174 , 105 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 74 ) ;
Size = MAP_APPFONT ( 174 + OFFSET_X , 105 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
VScroll = TRUE ;
IgnoreTab = TRUE ;
};
FixedText FT_MAX
{
Pos = MAP_APPFONT ( 6 , 92 ) ;
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Size = MAP_APPFONT ( 70 , 8 ) ;
Size = MAP_APPFONT ( 70 - OFFSET_X , 8 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
Text [ en-US ] = "Ma~ximum" ;
};
Edit EDT_MAX
{
Border = TRUE ;
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Pos = MAP_APPFONT ( 80 , 90 ) ;
- //Size = MAP_APPFONT ( 174 , 12 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 90 ) ;
Size = MAP_APPFONT ( 90 , 12 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
TabStop = TRUE ;
};
CheckBox TSB_ALLOW_BLANKS
{
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Pos = MAP_APPFONT ( 80 , 30 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 30 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
Size = MAP_APPFONT ( 174 , 10 ) ;
TabStop = TRUE ;
Text [ en-US ] = "Allow ~blank cells" ;
};
CheckBox CB_SHOWLIST
{
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Pos = MAP_APPFONT ( 80 , 44 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 44 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
Size = MAP_APPFONT ( 174 , 10 ) ;
TabStop = TRUE ;
Text [ en-US ] = "Show selection ~list" ;
};
CheckBox CB_SORTLIST
{
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Pos = MAP_APPFONT ( 90 , 58 ) ;
Pos = MAP_APPFONT ( 90 - OFFSET_X , 58 ) ;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
Size = MAP_APPFONT ( 164 , 10 ) ;
TabStop = TRUE ;
Text [ en-US ] = "Sor~t entries ascending" ;
@@ -223,7 +183,6 @@ TabPage TP_VALIDATION_VALUES
WordBreak = TRUE ;
Text [ en-US ] = "A valid source can only consist of a contiguous selection of rows and columns, or a formula that results in an area or array.";
};
- //<!--Added by PengYunQuan for Validity Cell Range Picker
ImageButton RB_VALIDITY_REF
{
Pos = MAP_APPFONT ( 142 , 73 ) ;
@@ -231,7 +190,6 @@ TabPage TP_VALIDATION_VALUES
TabStop = TRUE ;
QuickHelpText [ en-US ] = "Shrink" ;
};
- //-->Added by PengYunQuan for Validity Cell Range Picker
};
TabPage TP_VALIDATION_INPUTHELP
@@ -360,48 +318,3 @@ TabPage TP_VALIDATION_ERROR
};
Text [ en-US ] = "Error Alert" ;
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx
index 69a62985e02f..b4436040321f 100644
--- a/sc/source/ui/docshell/arealink.cxx
+++ b/sc/source/ui/docshell/arealink.cxx
@@ -96,13 +96,13 @@ ScAreaLink::ScAreaLink( SfxObjectShell* pShell, const String& rFile,
SetRefreshControl( pImpl->m_pDocSh->GetDocument()->GetRefreshTimerControlAddress() );
}
-__EXPORT ScAreaLink::~ScAreaLink()
+ScAreaLink::~ScAreaLink()
{
StopRefreshTimer();
delete pImpl;
}
-void __EXPORT ScAreaLink::Edit(Window* pParent, const Link& /* rEndEditHdl */ )
+void ScAreaLink::Edit(Window* pParent, const Link& /* rEndEditHdl */ )
{
// use own dialog instead of SvBaseLink::Edit...
// DefModalDialogParent setzen, weil evtl. aus der DocShell beim ConvertFrom
@@ -118,7 +118,7 @@ void __EXPORT ScAreaLink::Edit(Window* pParent, const Link& /* rEndEditHdl */ )
pDlg->StartExecuteModal( LINK( this, ScAreaLink, AreaEndEditHdl ) );
}
-void __EXPORT ScAreaLink::DataChanged( const String&,
+void ScAreaLink::DataChanged( const String&,
const ::com::sun::star::uno::Any& )
{
// bei bInCreate nichts tun, damit Update gerufen werden kann, um den Status im
@@ -154,7 +154,7 @@ void __EXPORT ScAreaLink::DataChanged( const String&,
}
}
-void __EXPORT ScAreaLink::Closed()
+void ScAreaLink::Closed()
{
// Verknuepfung loeschen: Undo
@@ -271,7 +271,6 @@ BOOL ScAreaLink::Refresh( const String& rNewFile, const String& rNewFilter,
SfxMedium* pMed = new SfxMedium(aNewUrl, STREAM_STD_READ, FALSE, pFilter);
ScDocShell* pSrcShell = new ScDocShell(SFX_CREATE_MODE_INTERNAL);
-//REMOVE SvEmbeddedObjectRef aRef = pSrcShell;
SfxObjectShellRef aRef = pSrcShell;
pSrcShell->DoLoad(pMed);
diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx
index 4a5f68b3e658..1e4868eea978 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -1043,13 +1043,12 @@ BOOL ScDBDocFunc::DoSubTotals( SCTAB nTab, const ScSubTotalParam& rParam,
ScOutlineTable* pUndoTab = NULL;
ScRangeName* pUndoRange = NULL;
ScDBCollection* pUndoDB = NULL;
- SCTAB nTabCount = 0; // fuer Referenz-Undo
if (bRecord) // alte Daten sichern
{
BOOL bOldFilter = bDo && rParam.bDoSort;
- nTabCount = pDoc->GetTableCount();
+ SCTAB nTabCount = pDoc->GetTableCount();
pUndoDoc = new ScDocument( SCDOCMODE_UNDO );
ScOutlineTable* pTable = pDoc->GetOutlineTable( nTab );
if (pTable)
@@ -1306,7 +1305,7 @@ BOOL ScDBDocFunc::DataPilotUpdate( ScDPObject* pOldObj, const ScDPObject* pNewOb
if ( !pDestObj->GetName().Len() )
pDestObj->SetName( pDoc->GetDPCollection()->CreateNewName() );
- BOOL bOverflow = FALSE;
+ bool bOverflow = false;
ScRange aNewOut = pDestObj->GetNewOutputRange( bOverflow );
//! test for overlap with other data pilot tables
diff --git a/sc/source/ui/docshell/dbdocimp.cxx b/sc/source/ui/docshell/dbdocimp.cxx
index 8400f1ad8b6f..5902b552634d 100644
--- a/sc/source/ui/docshell/dbdocimp.cxx
+++ b/sc/source/ui/docshell/dbdocimp.cxx
@@ -80,7 +80,6 @@ using namespace com::sun::star;
#define SC_DBPROP_SELECTION "Selection"
#define SC_DBPROP_CURSOR "Cursor"
-// static
void ScDBDocFunc::ShowInBeamer( const ScImportParam& rParam, SfxViewFrame* pFrame )
{
// called after opening the database beamer
@@ -92,7 +91,7 @@ void ScDBDocFunc::ShowInBeamer( const ScImportParam& rParam, SfxViewFrame* pFram
uno::Reference<frame::XDispatchProvider> xDP(xFrame, uno::UNO_QUERY);
uno::Reference<frame::XFrame> xBeamerFrame = xFrame->findFrame(
- rtl::OUString::createFromAscii("_beamer"),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_beamer")),
frame::FrameSearchFlag::CHILDREN);
if (xBeamerFrame.is())
{
@@ -280,7 +279,6 @@ BOOL ScDBDocFunc::DoImport( SCTAB nTab, const ScImportParam& rParam,
// progress bar
// only text (title is still needed, for the cancel button)
ScProgress aProgress( &rDocShell, ScGlobal::GetRscString(STR_UNDO_IMPORTDATA), 0 );
- USHORT nInserted = 0;
uno::Reference<sdbc::XRowSet> xRowSet = uno::Reference<sdbc::XRowSet>(
xResultSet, uno::UNO_QUERY );
@@ -290,7 +288,7 @@ BOOL ScDBDocFunc::DoImport( SCTAB nTab, const ScImportParam& rParam,
bDispose = sal_True;
xRowSet = uno::Reference<sdbc::XRowSet>(
comphelper::getProcessServiceFactory()->createInstance(
- rtl::OUString::createFromAscii( SC_SERVICE_ROWSET ) ),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_SERVICE_ROWSET )) ),
uno::UNO_QUERY);
uno::Reference<beans::XPropertySet> xRowProp( xRowSet, uno::UNO_QUERY );
DBG_ASSERT( xRowProp.is(), "can't get RowSet" );
@@ -307,22 +305,22 @@ BOOL ScDBDocFunc::DoImport( SCTAB nTab, const ScImportParam& rParam,
aAny <<= rtl::OUString( rParam.aDBName );
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_DATASOURCENAME), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_DATASOURCENAME)), aAny );
aAny <<= rtl::OUString( rParam.aStatement );
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_COMMAND), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_COMMAND)), aAny );
aAny <<= nType;
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_COMMANDTYPE), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_COMMANDTYPE)), aAny );
uno::Reference<sdb::XCompletedExecution> xExecute( xRowSet, uno::UNO_QUERY );
if ( xExecute.is() )
{
uno::Reference<task::XInteractionHandler> xHandler(
comphelper::getProcessServiceFactory()->createInstance(
- rtl::OUString::createFromAscii( SC_SERVICE_INTHANDLER ) ),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_SERVICE_INTHANDLER )) ),
uno::UNO_QUERY);
xExecute->executeWithCompletion( xHandler );
}
@@ -380,6 +378,7 @@ BOOL ScDBDocFunc::DoImport( SCTAB nTab, const ScImportParam& rParam,
BOOL bEnd = FALSE;
if ( !bDoSelection )
xRowSet->beforeFirst();
+ USHORT nInserted = 0;
while ( !bEnd )
{
// skip rows that are not selected
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index 5a6d55e8f60f..7d040b269e9d 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -541,19 +541,20 @@ BOOL ScDocFunc::DetectiveRefresh( BOOL bAutomatic )
}
static void lcl_collectAllPredOrSuccRanges(
- const ScRangeList& rSrcRanges, vector<ScSharedTokenRef>& rRefTokens, ScDocShell& rDocShell,
+ const ScRangeList& rSrcRanges, vector<ScTokenRef>& rRefTokens, ScDocShell& rDocShell,
bool bPred)
{
ScDocument* pDoc = rDocShell.GetDocument();
- vector<ScSharedTokenRef> aRefTokens;
+ vector<ScTokenRef> aRefTokens;
ScRangeList aSrcRanges(rSrcRanges);
- ScRange* p = aSrcRanges.First();
- if (!p)
+ if ( aSrcRanges.empty() )
return;
+ ScRange* p = aSrcRanges.front();
ScDetectiveFunc aDetFunc(pDoc, p->aStart.Tab());
ScRangeList aDestRanges;
- for (; p; p = aSrcRanges.Next())
+ for ( size_t i = 1, ListSize = aSrcRanges.size(); i < ListSize; ++i )
{
+ p = aSrcRanges[ i ];
if (bPred)
{
aDetFunc.GetAllPreds(
@@ -568,12 +569,12 @@ static void lcl_collectAllPredOrSuccRanges(
rRefTokens.swap(aRefTokens);
}
-void ScDocFunc::DetectiveCollectAllPreds(const ScRangeList& rSrcRanges, vector<ScSharedTokenRef>& rRefTokens)
+void ScDocFunc::DetectiveCollectAllPreds(const ScRangeList& rSrcRanges, vector<ScTokenRef>& rRefTokens)
{
lcl_collectAllPredOrSuccRanges(rSrcRanges, rRefTokens, rDocShell, true);
}
-void ScDocFunc::DetectiveCollectAllSuccs(const ScRangeList& rSrcRanges, vector<ScSharedTokenRef>& rRefTokens)
+void ScDocFunc::DetectiveCollectAllSuccs(const ScRangeList& rSrcRanges, vector<ScTokenRef>& rRefTokens)
{
lcl_collectAllPredOrSuccRanges(rSrcRanges, rRefTokens, rDocShell, false);
}
@@ -686,7 +687,6 @@ BOOL ScDocFunc::DeleteContents( const ScMarkData& rMark, USHORT nFlags,
else
{
pDoc->DeleteSelection( nFlags, aMultiMark );
-// aMultiMark.MarkToSimple();
}
// add undo action after drawing undo is complete (objects and note captions)
@@ -700,10 +700,7 @@ BOOL ScDocFunc::DeleteContents( const ScMarkData& rMark, USHORT nFlags,
else if (nExtFlags & SC_PF_LINES)
lcl_PaintAbove( rDocShell, aExtendedRange ); // fuer Linien ueber dem Bereich
-// rDocShell.UpdateOle(GetViewData()); //! an der View?
aModificator.SetDocumentModified();
-//! CellContentChanged();
-//! ShowAllCursors();
return TRUE;
}
@@ -1332,14 +1329,8 @@ BOOL ScDocFunc::ApplyStyle( const ScMarkData& rMark, const String& rStyleName,
}
-// BOOL bPaintExt = pDoc->HasAttrib( aMultiRange, HASATTR_PAINTEXT );
-// pDoc->ApplySelectionPattern( rPattern, rMark );
-
pDoc->ApplySelectionStyle( (ScStyleSheet&)*pStyleSheet, rMark );
-// if (!bPaintExt)
-// bPaintExt = pDoc->HasAttrib( aMultiRange, HASATTR_PAINTEXT );
-// USHORT nExtFlags = bPaintExt ? SC_PF_LINES : 0;
USHORT nExtFlags = 0;
if (!AdjustRowHeight( aMultiRange ))
rDocShell.PostPaint( aMultiRange, PAINT_GRID, nExtFlags );
@@ -1750,7 +1741,6 @@ BOOL ScDocFunc::InsertCells( const ScRange& rRange, const ScMarkData* pTabMark,
rDocShell.PostPaint( nPaintStartX, nPaintStartY, i, nPaintEndX, nPaintEndY, i+nScenarioCount, nPaintFlags, nExtFlags );
}
}
- //aModificator.SetDocumentModified();
}
else
{
@@ -2672,14 +2662,14 @@ void VBA_InsertModule( ScDocument& rDoc, SCTAB nTab, String& sModuleName, String
sal_Int32 nNum = 0;
String genModuleName;
if ( sModuleName.Len() )
- sModuleName = sModuleName;
+ genModuleName = sModuleName;
else
{
genModuleName = String::CreateFromAscii( "Sheet1" );
nNum = 1;
}
- while( xLib->hasByName( genModuleName ) )
- genModuleName = rtl::OUString::createFromAscii( "Sheet" ) + rtl::OUString::valueOf( ++nNum );
+ while( xLib->hasByName( genModuleName ) )
+ genModuleName = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Sheet")) + rtl::OUString::valueOf( ++nNum );
uno::Any aSourceAny;
rtl::OUString sTmpSource = sSource;
@@ -2689,8 +2679,7 @@ void VBA_InsertModule( ScDocument& rDoc, SCTAB nTab, String& sModuleName, String
uno::Reference< script::vba::XVBAModuleInfo > xVBAModuleInfo( xLib, uno::UNO_QUERY );
if ( xVBAModuleInfo.is() )
{
- String sCodeName( genModuleName );
- rDoc.SetCodeName( nTab, sCodeName );
+ rDoc.SetCodeName( nTab, genModuleName );
script::ModuleInfo sModuleInfo = lcl_InitModuleInfo( rDocSh, genModuleName );
xVBAModuleInfo->insertModuleInfo( genModuleName, sModuleInfo );
xLib->insertByName( genModuleName, aSourceAny );
@@ -3598,7 +3587,6 @@ BOOL ScDocFunc::ClearItems( const ScMarkData& rMark, const USHORT* pWhich, BOOL
aMultiMark.MarkToMulti();
aMultiMark.GetMultiMarkArea( aMarkRange );
-// if (bRecord)
if (bUndo)
{
SCTAB nStartTab = aMarkRange.aStart.Tab();
@@ -3639,7 +3627,6 @@ BOOL ScDocFunc::ChangeIndent( const ScMarkData& rMark, BOOL bIncrement, BOOL bAp
ScRange aMarkRange;
rMark.GetMultiMarkArea( aMarkRange );
-// if (bRecord)
if (bUndo)
{
SCTAB nStartTab = aMarkRange.aStart.Tab();
@@ -3744,13 +3731,6 @@ BOOL ScDocFunc::AutoFormat( const ScRange& rRange, const ScMarkData* pTabMark,
if (bSize)
{
-/* SCCOL nCols[2];
- nCols[0] = nStartCol;
- nCols[1] = nEndCol;
- SCROW nRows[2];
- nRows[0] = nStartRow;
- nRows[1] = nEndRow;
-*/
SCCOLROW nCols[2] = { nStartCol, nEndCol };
SCCOLROW nRows[2] = { nStartRow, nEndRow };
@@ -3827,7 +3807,7 @@ BOOL ScDocFunc::EnterMatrix( const ScRange& rRange, const ScMarkData* pTabMark,
WaitObject aWait( rDocShell.GetActiveDialogParent() );
ScDocument* pUndoDoc = NULL;
-// if (bRecord) // immer
+
if (bUndo)
{
//! auch bei Undo selektierte Tabellen beruecksichtigen
@@ -3863,7 +3843,6 @@ BOOL ScDocFunc::EnterMatrix( const ScRange& rRange, const ScMarkData* pTabMark,
pDoc->InsertMatrixFormula( nStartCol, nStartRow, nEndCol, nEndRow,
aMark, rString, NULL, eGrammar);
-// if (bRecord) // immer
if (bUndo)
{
//! auch bei Undo selektierte Tabellen beruecksichtigen
@@ -4045,7 +4024,6 @@ BOOL ScDocFunc::FillSimple( const ScRange& rRange, const ScMarkData* pTabMark,
}
rDocShell.PostPaintGridAll();
-// rDocShell.PostPaintDataChanged();
aModificator.SetDocumentModified();
bSuccess = TRUE;
@@ -4154,7 +4132,6 @@ BOOL ScDocFunc::FillSeries( const ScRange& rRange, const ScMarkData* pTabMark,
AdjustRowHeight(rRange);
rDocShell.PostPaintGridAll();
-// rDocShell.PostPaintDataChanged();
aModificator.SetDocumentModified();
}
@@ -4295,7 +4272,6 @@ BOOL ScDocFunc::FillAuto( ScRange& rRange, const ScMarkData* pTabMark, FillDir e
}
rDocShell.PostPaintGridAll();
-// rDocShell.PostPaintDataChanged();
aModificator.SetDocumentModified();
rRange = aDestArea; // Zielbereich zurueckgeben (zum Markieren)
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index a777de7888e2..d6147bb6f108 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -137,7 +137,7 @@
#include <comphelper/processfactory.hxx>
#include "uiitems.hxx"
#include "cellsuno.hxx"
-
+#include "dpobject.hxx"
#include <vector>
#include <boost/shared_ptr.hpp>
@@ -155,36 +155,33 @@ using ::std::vector;
// Stream-Namen im Storage
-const sal_Char __FAR_DATA ScDocShell::pStarCalcDoc[] = STRING_SCSTREAM; // "StarCalcDocument"
-const sal_Char __FAR_DATA ScDocShell::pStyleName[] = "SfxStyleSheets";
+const sal_Char ScDocShell::pStarCalcDoc[] = STRING_SCSTREAM; // "StarCalcDocument"
+const sal_Char ScDocShell::pStyleName[] = "SfxStyleSheets";
// Filter-Namen (wie in sclib.cxx)
-static const sal_Char __FAR_DATA pFilterSc50[] = "StarCalc 5.0";
-//static const sal_Char __FAR_DATA pFilterSc50Temp[] = "StarCalc 5.0 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterSc40[] = "StarCalc 4.0";
-//static const sal_Char __FAR_DATA pFilterSc40Temp[] = "StarCalc 4.0 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterSc30[] = "StarCalc 3.0";
-//static const sal_Char __FAR_DATA pFilterSc30Temp[] = "StarCalc 3.0 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterSc10[] = "StarCalc 1.0";
-static const sal_Char __FAR_DATA pFilterXML[] = "StarOffice XML (Calc)";
-static const sal_Char __FAR_DATA pFilterAscii[] = "Text - txt - csv (StarCalc)";
-static const sal_Char __FAR_DATA pFilterLotus[] = "Lotus";
-static const sal_Char __FAR_DATA pFilterQPro6[] = "Quattro Pro 6.0";
-static const sal_Char __FAR_DATA pFilterExcel4[] = "MS Excel 4.0";
-static const sal_Char __FAR_DATA pFilterEx4Temp[] = "MS Excel 4.0 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterExcel5[] = "MS Excel 5.0/95";
-static const sal_Char __FAR_DATA pFilterEx5Temp[] = "MS Excel 5.0/95 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterExcel95[] = "MS Excel 95";
-static const sal_Char __FAR_DATA pFilterEx95Temp[] = "MS Excel 95 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterExcel97[] = "MS Excel 97";
-static const sal_Char __FAR_DATA pFilterEx97Temp[] = "MS Excel 97 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterDBase[] = "dBase";
-static const sal_Char __FAR_DATA pFilterDif[] = "DIF";
-static const sal_Char __FAR_DATA pFilterSylk[] = "SYLK";
-static const sal_Char __FAR_DATA pFilterHtml[] = "HTML (StarCalc)";
-static const sal_Char __FAR_DATA pFilterHtmlWebQ[] = "calc_HTML_WebQuery";
-static const sal_Char __FAR_DATA pFilterRtf[] = "Rich Text Format (StarCalc)";
+static const sal_Char pFilterSc50[] = "StarCalc 5.0";
+static const sal_Char pFilterSc40[] = "StarCalc 4.0";
+static const sal_Char pFilterSc30[] = "StarCalc 3.0";
+static const sal_Char pFilterSc10[] = "StarCalc 1.0";
+static const sal_Char pFilterXML[] = "StarOffice XML (Calc)";
+static const sal_Char pFilterAscii[] = "Text - txt - csv (StarCalc)";
+static const sal_Char pFilterLotus[] = "Lotus";
+static const sal_Char pFilterQPro6[] = "Quattro Pro 6.0";
+static const sal_Char pFilterExcel4[] = "MS Excel 4.0";
+static const sal_Char pFilterEx4Temp[] = "MS Excel 4.0 Vorlage/Template";
+static const sal_Char pFilterExcel5[] = "MS Excel 5.0/95";
+static const sal_Char pFilterEx5Temp[] = "MS Excel 5.0/95 Vorlage/Template";
+static const sal_Char pFilterExcel95[] = "MS Excel 95";
+static const sal_Char pFilterEx95Temp[] = "MS Excel 95 Vorlage/Template";
+static const sal_Char pFilterExcel97[] = "MS Excel 97";
+static const sal_Char pFilterEx97Temp[] = "MS Excel 97 Vorlage/Template";
+static const sal_Char pFilterDBase[] = "dBase";
+static const sal_Char pFilterDif[] = "DIF";
+static const sal_Char pFilterSylk[] = "SYLK";
+static const sal_Char pFilterHtml[] = "HTML (StarCalc)";
+static const sal_Char pFilterHtmlWebQ[] = "calc_HTML_WebQuery";
+static const sal_Char pFilterRtf[] = "Rich Text Format (StarCalc)";
//----------------------------------------------------------------------
@@ -204,7 +201,7 @@ TYPEINIT1( ScDocShell, SfxObjectShell ); // SfxInPlaceObject: kein Type-I
//------------------------------------------------------------------
-void __EXPORT ScDocShell::FillClass( SvGlobalName* pClassName,
+void ScDocShell::FillClass( SvGlobalName* pClassName,
sal_uInt32* pFormat,
String* /* pAppName */,
String* pFullTypeName,
@@ -378,8 +375,8 @@ void ScDocShell::AfterXMLLoading(sal_Bool bRet)
ScDPCollection* pDPCollection = aDocument.GetDPCollection();
if ( pDPCollection )
{
- USHORT nDPCount = pDPCollection->GetCount();
- for (USHORT nDP=0; nDP<nDPCount; nDP++)
+ size_t nDPCount = pDPCollection->GetCount();
+ for (size_t nDP=0; nDP<nDPCount; ++nDP)
{
ScDPObject* pDPObj = (*pDPCollection)[nDP];
if ( !pDPObj->GetName().Len() )
@@ -484,7 +481,7 @@ BOOL ScDocShell::SaveXML( SfxMedium* pSaveMedium, const ::com::sun::star::uno::R
return bRet;
}
-BOOL __EXPORT ScDocShell::Load( SfxMedium& rMedium )
+BOOL ScDocShell::Load( SfxMedium& rMedium )
{
RTL_LOGFILE_CONTEXT_AUTHOR ( aLog, "sc", "nn93723", "ScDocShell::Load" );
LoadMediumGuard aLoadGuard(&aDocument);
@@ -534,7 +531,7 @@ BOOL __EXPORT ScDocShell::Load( SfxMedium& rMedium )
return bRet;
}
-void __EXPORT ScDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
+void ScDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
{
uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents = aDocument.GetVbaEventProcessor();
if ( xVbaEvents.is() ) try
@@ -725,7 +722,7 @@ void __EXPORT ScDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
SfxFrame* pFrame = ( pViewFrame ? &pViewFrame->GetFrame() : NULL );
uno::Reference< frame::XController > xController = ( pFrame ? pFrame->GetController() : 0 );
uno::Reference< sheet::XSpreadsheetView > xSpreadsheetView( xController, uno::UNO_QUERY_THROW );
- aArgsForJob[0] = beans::NamedValue( ::rtl::OUString::createFromAscii( "SpreadsheetView" ),
+ aArgsForJob[0] = beans::NamedValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "SpreadsheetView" )),
uno::makeAny( xSpreadsheetView ) );
xJob->execute( aArgsForJob );
}
@@ -854,14 +851,14 @@ void __EXPORT ScDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
uno::Reference< frame::XStorable > xStor( GetModel(), uno::UNO_QUERY_THROW );
// TODO/LATER: More entries from the MediaDescriptor might be interesting for the merge
uno::Sequence< beans::PropertyValue > aValues(1);
- aValues[0].Name = ::rtl::OUString::createFromAscii( "FilterName" );
+ aValues[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "FilterName"));
aValues[0].Value <<= ::rtl::OUString( GetMedium()->GetFilter()->GetFilterName() );
SFX_ITEMSET_ARG( GetMedium()->GetItemSet(), pPasswordItem, SfxStringItem, SID_PASSWORD, sal_False);
if ( pPasswordItem && pPasswordItem->GetValue().Len() )
{
aValues.realloc( 2 );
- aValues[1].Name = ::rtl::OUString::createFromAscii( "Password" );
+ aValues[1].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Password") );
aValues[1].Value <<= ::rtl::OUString( pPasswordItem->GetValue() );
}
@@ -967,7 +964,7 @@ void __EXPORT ScDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
// Inhalte fuer Organizer laden
-BOOL __EXPORT ScDocShell::LoadFrom( SfxMedium& rMedium )
+BOOL ScDocShell::LoadFrom( SfxMedium& rMedium )
{
RTL_LOGFILE_CONTEXT_AUTHOR ( aLog, "sc", "nn93723", "ScDocShell::LoadFrom" );
LoadMediumGuard aLoadGuard(&aDocument);
@@ -1022,7 +1019,7 @@ static void lcl_parseHtmlFilterOption(const OUString& rOption, LanguageType& rLa
rDateConvert = static_cast<bool>(aTokens[1].toInt32());
}
-BOOL __EXPORT ScDocShell::ConvertFrom( SfxMedium& rMedium )
+BOOL ScDocShell::ConvertFrom( SfxMedium& rMedium )
{
RTL_LOGFILE_CONTEXT_AUTHOR ( aLog, "sc", "nn93723", "ScDocShell::ConvertFrom" );
@@ -1158,9 +1155,6 @@ BOOL __EXPORT ScDocShell::ConvertFrom( SfxMedium& rMedium )
}
else
bRet = TRUE;
-
- // #93255# update of row height done inside of Excel filter to speed up chart import
-// bSetRowHeights = TRUE; // #75357# optimal row heights must be updated
}
else if (aFltName.EqualsAscii(pFilterAscii))
{
@@ -1483,12 +1477,6 @@ BOOL __EXPORT ScDocShell::ConvertFrom( SfxMedium& rMedium )
nWidth + (USHORT)ScGlobal::nLastColWidthExtra );
}
}
-// if ( bSetRowHeights )
-// {
-// // nExtra must be 0
-// aDocument.SetOptimalHeight( 0, nEndRow, nTab, 0, &aVirtDev,
-// nPPTX, nPPTY, aZoom, aZoom, FALSE );
-// }
}
if (bSetRowHeights)
@@ -1557,7 +1545,7 @@ ScDocShell::PrepareSaveGuard::~PrepareSaveGuard()
}
-BOOL __EXPORT ScDocShell::Save()
+BOOL ScDocShell::Save()
{
RTL_LOGFILE_CONTEXT_AUTHOR ( aLog, "sc", "nn93723", "ScDocShell::Save" );
@@ -1573,11 +1561,10 @@ BOOL __EXPORT ScDocShell::Save()
}
-BOOL __EXPORT ScDocShell::SaveAs( SfxMedium& rMedium )
+BOOL ScDocShell::SaveAs( SfxMedium& rMedium )
{
RTL_LOGFILE_CONTEXT_AUTHOR ( aLog, "sc", "nn93723", "ScDocShell::SaveAs" );
-#if ENABLE_SHEET_PROTECTION
ScTabViewShell* pViewShell = GetBestViewShell();
bool bNeedsRehash = ScPassHashHelper::needsPassHashRegen(aDocument, PASSHASH_SHA1);
if (bNeedsRehash)
@@ -1590,7 +1577,6 @@ BOOL __EXPORT ScDocShell::SaveAs( SfxMedium& rMedium )
// password re-type cancelled. Don't save the document.
return false;
}
-#endif
ScRefreshTimerProtector( aDocument.GetRefreshTimerControlAddress() );
@@ -1605,15 +1591,8 @@ BOOL __EXPORT ScDocShell::SaveAs( SfxMedium& rMedium )
}
-BOOL __EXPORT ScDocShell::IsInformationLost()
+BOOL ScDocShell::IsInformationLost()
{
-/*
- const SfxFilter *pFilt = GetMedium()->GetFilter();
- BOOL bRet = pFilt && pFilt->IsAlienFormat() && bNoInformLost;
- if (bNoInformLost) // nur einmal!!
- bNoInformLost = FALSE;
- return bRet;
-*/
//!!! bei Gelegenheit ein korrekte eigene Behandlung einbauen
return SfxObjectShell::IsInformationLost();
@@ -1623,12 +1602,10 @@ BOOL __EXPORT ScDocShell::IsInformationLost()
// Xcl-like column width measured in characters of standard font.
xub_StrLen lcl_ScDocShell_GetColWidthInChars( USHORT nWidth )
{
- // double fColScale = 1.0;
- double f = nWidth;
+ double f = nWidth;
f *= 1328.0 / 25.0;
f += 90.0;
f *= 1.0 / 23.0;
- // f /= fColScale * 256.0;
f /= 256.0;
return xub_StrLen( f );
@@ -2057,7 +2034,7 @@ void ScDocShell::AsciiSave( SvStream& rStream, const ScImportOptions& rAsciiOpt
rStream.SetNumberFormatInt( nOldNumberFormatInt );
}
-BOOL __EXPORT ScDocShell::ConvertTo( SfxMedium &rMed )
+BOOL ScDocShell::ConvertTo( SfxMedium &rMed )
{
RTL_LOGFILE_CONTEXT_AUTHOR ( aLog, "sc", "nn93723", "ScDocShell::ConvertTo" );
@@ -2076,19 +2053,6 @@ BOOL __EXPORT ScDocShell::ConvertTo( SfxMedium &rMed )
BOOL bRet = FALSE;
String aFltName = rMed.GetFilter()->GetFilterName();
-/*
- if (aFltName.EqualsAscii(pFilterLotus))
- {
- SvStream* pStream = rMed.GetOutStream();
- if (pStream)
- {
- FltError eError = ScFormatFilter::Get().ScExportLotus123( *pStream, &aDocument, ExpWK1,
- CHARSET_IBMPC_437 );
- bRet = eError == eERR_OK;
- }
- }
- else
-*/
if (aFltName.EqualsAscii(pFilterXML))
{
//TODO/LATER: this shouldn't happen!
@@ -2125,13 +2089,11 @@ BOOL __EXPORT ScDocShell::ConvertTo( SfxMedium &rMed )
}
}
-#if ENABLE_SHEET_PROTECTION
if( bDoSave )
{
bool bNeedRetypePassDlg = ScPassHashHelper::needsPassHashRegen( aDocument, PASSHASH_XL );
bDoSave = !bNeedRetypePassDlg || pViewShell->ExecuteRetypePassDlg( PASSHASH_XL );
}
-#endif
}
if( bDoSave )
@@ -2215,12 +2177,8 @@ BOOL __EXPORT ScDocShell::ConvertTo( SfxMedium &rMed )
if ( eError != eERR_OK && (eError & ERRCODE_WARNING_MASK) )
{
-//! if ( !rMed.GetError() )
-//! rMed.SetError( eError, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) );
eError = eERR_OK;
}
-//! else if ( aDocument.GetTableCount() > 1 && !rMed.GetError() )
-//! rMed.SetError( SCWARN_EXPORT_ASCII, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) );
INetURLObject aTmpFile( rMed.GetPhysicalName(), INET_PROT_FILE );
if ( bHasMemo )
@@ -2328,13 +2286,13 @@ BOOL __EXPORT ScDocShell::ConvertTo( SfxMedium &rMed )
}
-BOOL __EXPORT ScDocShell::SaveCompleted( const uno::Reference < embed::XStorage >& xStor )
+BOOL ScDocShell::SaveCompleted( const uno::Reference < embed::XStorage >& xStor )
{
return SfxObjectShell::SaveCompleted( xStor );
}
-BOOL __EXPORT ScDocShell::DoSaveCompleted( SfxMedium * pNewStor )
+BOOL ScDocShell::DoSaveCompleted( SfxMedium * pNewStor )
{
BOOL bRet = SfxObjectShell::DoSaveCompleted( pNewStor );
@@ -2383,7 +2341,7 @@ sal_Bool ScDocShell::QuerySlotExecutable( USHORT nSlotId )
}
-USHORT __EXPORT ScDocShell::PrepareClose( BOOL bUI, BOOL bForBrowsing )
+USHORT ScDocShell::PrepareClose( BOOL bUI, BOOL bForBrowsing )
{
if(SC_MOD()->GetCurRefDlgId()>0)
{
@@ -2450,7 +2408,7 @@ void ScDocShell::PrepareReload()
}
-String ScDocShell::GetOwnFilterName() // static
+String ScDocShell::GetOwnFilterName()
{
return String::CreateFromAscii(pFilterSc50);
}
@@ -2460,32 +2418,32 @@ String ScDocShell::GetHtmlFilterName()
return String::CreateFromAscii(pFilterHtml);
}
-String ScDocShell::GetWebQueryFilterName() // static
+String ScDocShell::GetWebQueryFilterName()
{
return String::CreateFromAscii(pFilterHtmlWebQ);
}
-String ScDocShell::GetAsciiFilterName() // static
+String ScDocShell::GetAsciiFilterName()
{
return String::CreateFromAscii(pFilterAscii);
}
-String ScDocShell::GetLotusFilterName() // static
+String ScDocShell::GetLotusFilterName()
{
return String::CreateFromAscii(pFilterLotus);
}
-String ScDocShell::GetDBaseFilterName() // static
+String ScDocShell::GetDBaseFilterName()
{
return String::CreateFromAscii(pFilterDBase);
}
-String ScDocShell::GetDifFilterName() // static
+String ScDocShell::GetDifFilterName()
{
return String::CreateFromAscii(pFilterDif);
}
-BOOL ScDocShell::HasAutomaticTableName( const String& rFilter ) // static
+BOOL ScDocShell::HasAutomaticTableName( const String& rFilter )
{
// TRUE for those filters that keep the default table name
// (which is language specific)
@@ -2589,7 +2547,7 @@ ScDocShell::ScDocShell( const sal_uInt64 i_nSfxCreationFlags )
//------------------------------------------------------------------
-__EXPORT ScDocShell::~ScDocShell()
+ScDocShell::~ScDocShell()
{
ResetDrawObjectShell(); // #55570# falls der Drawing-Layer noch versucht, darauf zuzugreifen
@@ -2626,7 +2584,7 @@ __EXPORT ScDocShell::~ScDocShell()
//------------------------------------------------------------------
-SfxUndoManager* __EXPORT ScDocShell::GetUndoManager()
+SfxUndoManager* ScDocShell::GetUndoManager()
{
return aDocument.GetUndoManager();
}
@@ -2753,7 +2711,7 @@ void ScDocShell::GetDocStat( ScDocStat& rDocStat )
}
-SfxDocumentInfoDialog* __EXPORT ScDocShell::CreateDocumentInfoDialog(
+SfxDocumentInfoDialog* ScDocShell::CreateDocumentInfoDialog(
Window *pParent, const SfxItemSet &rSet )
{
SfxDocumentInfoDialog* pDlg = new SfxDocumentInfoDialog( pParent, rSet );
@@ -2830,7 +2788,7 @@ void ScDocShell::ResetKeyBindings( ScOptionsUtil::KeyBindingType eType )
Reference<XModuleUIConfigurationManagerSupplier> xModuleCfgSupplier(
xServiceManager->createInstance(
- OUString::createFromAscii("com.sun.star.ui.ModuleUIConfigurationManagerSupplier")), UNO_QUERY);
+ OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ui.ModuleUIConfigurationManagerSupplier"))), UNO_QUERY);
if (!xModuleCfgSupplier.is())
return;
@@ -2838,7 +2796,7 @@ void ScDocShell::ResetKeyBindings( ScOptionsUtil::KeyBindingType eType )
// Grab the Calc configuration.
Reference<XUIConfigurationManager> xConfigMgr =
xModuleCfgSupplier->getUIConfigurationManager(
- OUString::createFromAscii("com.sun.star.sheet.SpreadsheetDocument"));
+ OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sheet.SpreadsheetDocument")));
if (!xConfigMgr.is())
return;
@@ -2885,15 +2843,15 @@ void ScDocShell::ResetKeyBindings( ScOptionsUtil::KeyBindingType eType )
switch (eType)
{
case ScOptionsUtil::KEY_DEFAULT:
- xScAccel->setKeyEvent(aDelete, OUString::createFromAscii(".uno:ClearContents"));
- xScAccel->setKeyEvent(aBackspace, OUString::createFromAscii(".uno:Delete"));
- xScAccel->setKeyEvent(aCtrlD, OUString::createFromAscii(".uno:FillDown"));
- xScAccel->setKeyEvent(aCtrlShiftD, OUString::createFromAscii(".uno:DataSelect"));
+ xScAccel->setKeyEvent(aDelete, OUString(RTL_CONSTASCII_USTRINGPARAM(".uno:ClearContents")));
+ xScAccel->setKeyEvent(aBackspace, OUString(RTL_CONSTASCII_USTRINGPARAM(".uno:Delete")));
+ xScAccel->setKeyEvent(aCtrlD, OUString(RTL_CONSTASCII_USTRINGPARAM(".uno:FillDown")));
+ xScAccel->setKeyEvent(aCtrlShiftD, OUString(RTL_CONSTASCII_USTRINGPARAM(".uno:DataSelect")));
break;
case ScOptionsUtil::KEY_OOO_LEGACY:
- xScAccel->setKeyEvent(aDelete, OUString::createFromAscii(".uno:Delete"));
- xScAccel->setKeyEvent(aBackspace, OUString::createFromAscii(".uno:ClearContents"));
- xScAccel->setKeyEvent(aCtrlD, OUString::createFromAscii(".uno:DataSelect"));
+ xScAccel->setKeyEvent(aDelete, OUString(RTL_CONSTASCII_USTRINGPARAM(".uno:Delete")));
+ xScAccel->setKeyEvent(aBackspace, OUString(RTL_CONSTASCII_USTRINGPARAM(".uno:ClearContents")));
+ xScAccel->setKeyEvent(aCtrlD, OUString(RTL_CONSTASCII_USTRINGPARAM(".uno:DataSelect")));
break;
default:
;
@@ -2971,7 +2929,6 @@ void ScDocShellModificator::SetDocumentModified()
}
}
-//<!--Added by PengYunQuan for Validity Cell Range Picker
sal_Bool ScDocShell::AcceptStateUpdate() const
{
if( SfxObjectShell::AcceptStateUpdate() )
@@ -2982,7 +2939,6 @@ sal_Bool ScDocShell::AcceptStateUpdate() const
return sal_False;
}
-//-->Added by PengYunQuan for Validity Cell Range Picker
bool ScDocShell::IsChangeRecording() const
diff --git a/sc/source/ui/docshell/docsh2.cxx b/sc/source/ui/docshell/docsh2.cxx
index ab567f7d23df..d4d581dc7783 100644
--- a/sc/source/ui/docshell/docsh2.cxx
+++ b/sc/source/ui/docshell/docsh2.cxx
@@ -57,11 +57,6 @@
#include <sfx2/app.hxx>
// INCLUDE ---------------------------------------------------------------
-/*
-#include <svdrwetc.hxx>
-#include <svdrwobx.hxx>
-#include <sostor.hxx>
-*/
#include "drwlayer.hxx"
#include "stlpool.hxx"
#include "docsh.hxx"
@@ -73,7 +68,7 @@ using namespace com::sun::star;
//------------------------------------------------------------------
-BOOL __EXPORT ScDocShell::InitNew( const uno::Reference < embed::XStorage >& xStor )
+BOOL ScDocShell::InitNew( const uno::Reference < embed::XStorage >& xStor )
{
RTL_LOGFILE_CONTEXT_AUTHOR ( aLog, "sc", "nn93723", "ScDocShell::InitNew" );
@@ -103,27 +98,6 @@ BOOL __EXPORT ScDocShell::InitNew( const uno::Reference < embed::XStorage >& xSt
InitItems();
CalcOutputFactor();
-#if 0
- uno::Any aGlobs;
- uno::Sequence< uno::Any > aArgs(1);
- aArgs[ 0 ] <<= GetModel();
- aGlobs <<= ::comphelper::getProcessServiceFactory()->createInstanceWithArguments( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.excel.Globals" ) ), aArgs );
- GetBasicManager()->SetGlobalUNOConstant( "VBAGlobals", aGlobs );
- // Fake ThisComponent being setup by Activate ( which is a view
- // related thing ),
- // a) if another document is opened then in theory ThisComponent
- // will be reset as before,
- // b) when this document is 'really' Activated then ThisComponent
- // again will be set as before
- // The only wrinkle seems if this document is loaded 'InVisible'
- // but.. I don't see that this is possible from the vba API
- // I could be wrong though
- // There may be implications setting the current component
- // too early :-/ so I will just manually set the Basic Variables
- BasicManager* pAppMgr = SFX_APP()->GetBasicManager();
- if ( pAppMgr )
- pAppMgr->SetGlobalUNOConstant( "ThisExcelDoc", aArgs[ 0 ] );
-#endif
return bRet;
}
@@ -147,13 +121,8 @@ void ScDocShell::InitItems()
{
// AllItemSet fuer Controller mit benoetigten Items fuellen:
- // if ( pImpl->pFontList )
- // delete pImpl->pFontList;
-
// Druck-Optionen werden beim Drucken und evtl. in GetPrinter gesetzt
- // pImpl->pFontList = new FontList( GetPrinter(), Application::GetDefaultDevice() );
- //PutItem( SvxFontListItem( pImpl->pFontList, SID_ATTR_CHAR_FONTLIST ) );
UpdateFontList();
ScDrawLayer* pDrawLayer = aDocument.GetDrawLayer();
@@ -170,7 +139,6 @@ void ScDocShell::InitItems()
pDrawLayer->SetNotifyUndoActionHdl( LINK( pDocFunc, ScDocFunc, NotifyDrawUndo ) );
- //if (SfxObjectShell::HasSbxObject())
pDrawLayer->UpdateBasic(); // DocShell-Basic in DrawPages setzen
}
else
@@ -200,7 +168,6 @@ void ScDocShell::InitItems()
i18n::ForbiddenCharacters aForbidden;
aAsian.GetStartEndChars( pLocales[i], aForbidden.beginLine, aForbidden.endLine );
LanguageType eLang = SvxLocaleToLanguage(pLocales[i]);
- //pDoc->SetForbiddenCharacters( eLang, aForbidden );
xForbiddenTable->SetForbiddenCharacters( eLang, aForbidden );
}
@@ -234,12 +201,12 @@ void ScDocShell::ResetDrawObjectShell()
//------------------------------------------------------------------
-void __EXPORT ScDocShell::Activate()
+void ScDocShell::Activate()
{
}
-void __EXPORT ScDocShell::Deactivate()
+void ScDocShell::Deactivate()
{
}
@@ -258,7 +225,7 @@ ScDrawLayer* ScDocShell::MakeDrawLayer()
InitItems(); // incl. Undo und Basic
Broadcast( SfxSimpleHint( SC_HINT_DRWLAYER_NEW ) );
if (nDocumentLock)
- pDrawLayer->setLock(TRUE);
+ pDrawLayer->setLock(true);
}
return pDrawLayer;
}
diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
index 8e0719ad328b..133a5d889468 100644
--- a/sc/source/ui/docshell/docsh3.cxx
+++ b/sc/source/ui/docshell/docsh3.cxx
@@ -261,11 +261,10 @@ void ScDocShell::UnlockPaint_Impl(BOOL bDoc)
if (xRangeList)
{
USHORT nParts = pPaint->GetParts();
- ULONG nCount = xRangeList->Count();
- for ( ULONG i=0; i<nCount; i++ )
+ for ( size_t i = 0, nCount = xRangeList->size(); i < nCount; i++ )
{
//! nExtFlags ???
- ScRange aRange = *xRangeList->GetObject(i);
+ ScRange aRange = *(*xRangeList)[i];
PostPaint( aRange.aStart.Col(), aRange.aStart.Row(), aRange.aStart.Tab(),
aRange.aEnd.Col(), aRange.aEnd.Row(), aRange.aEnd.Tab(),
nParts );
@@ -290,7 +289,7 @@ void ScDocShell::LockDocument_Impl(USHORT nNew)
{
ScDrawLayer* pDrawLayer = aDocument.GetDrawLayer();
if (pDrawLayer)
- pDrawLayer->setLock(TRUE);
+ pDrawLayer->setLock(true);
}
nDocumentLock = nNew;
}
@@ -302,7 +301,7 @@ void ScDocShell::UnlockDocument_Impl(USHORT nNew)
{
ScDrawLayer* pDrawLayer = aDocument.GetDrawLayer();
if (pDrawLayer)
- pDrawLayer->setLock(FALSE);
+ pDrawLayer->setLock(false);
}
}
@@ -1221,7 +1220,7 @@ bool ScDocShell::MergeSharedDocument( ScDocShell* pSharedDocShell )
}
#if DEBUG_CHANGETRACK
- ::rtl::OUString aMessage = ::rtl::OUString::createFromAscii( "\nbefore merge:\n" );
+ ::rtl::OUString aMessage(RTL_CONSTASCII_USTRINGPARAM( "\nbefore merge:\n" ));
aMessage += pThisTrack->ToString();
::rtl::OString aMsg = ::rtl::OUStringToOString( aMessage, RTL_TEXTENCODING_UTF8 );
OSL_ENSURE( false, aMsg.getStr() );
@@ -1398,7 +1397,7 @@ bool ScDocShell::MergeSharedDocument( ScDocShell* pSharedDocShell )
}
#if DEBUG_CHANGETRACK
- aMessage = ::rtl::OUString::createFromAscii( "\nafter merge:\n" );
+ aMessage = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "\nafter merge:\n" ));
aMessage += pThisTrack->ToString();
aMsg = ::rtl::OUStringToOString( aMessage, RTL_TEXTENCODING_UTF8 );
OSL_ENSURE( false, aMsg.getStr() );
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index 6abc194aa105..394a3b1c8d61 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -309,7 +309,6 @@ void ScDocShell::Execute( SfxRequest& rReq )
if (pReqArgs)
{
ScDocument* pDoc = GetDocument();
-// BOOL bUndo (pDoc->IsUndoEnabled());
const SfxPoolItem* pItem;
String aChartName, aRangeName;
@@ -346,10 +345,10 @@ void ScDocShell::Execute( SfxRequest& rReq )
{
aRangeListRef = new ScRangeList;
aRangeListRef->Parse( aRangeName, pDoc );
- if ( aRangeListRef->Count() )
+ if ( !aRangeListRef->empty() )
{
bMultiRange = TRUE;
- aSingleRange = *aRangeListRef->GetObject(0); // fuer Header
+ aSingleRange = *aRangeListRef->front(); // fuer Header
bValid = TRUE;
}
else
@@ -459,7 +458,6 @@ void ScDocShell::Execute( SfxRequest& rReq )
if (pBindings)
{
pBindings->Invalidate( FID_AUTO_CALC );
-// pBindings->Invalidate( FID_RECALC ); // jetzt immer enabled
}
rReq.AppendItem( SfxBoolItem( FID_AUTO_CALC, bNewVal ) );
rReq.Done();
@@ -2094,7 +2092,6 @@ void ScDocShell::Print( SfxProgress& rProgress, PrintDialog* pPrintDialog,
long nTabStart = 0;
long nDisplayStart = 0;
long nAttrPage = 1;
- long nPrinted = 0;
for ( SCTAB nTab=0; nTab<nTabCount; nTab++ )
{
@@ -2115,7 +2112,7 @@ void ScDocShell::Print( SfxProgress& rProgress, PrintDialog* pPrintDialog,
ScPrintFunc aPrintFunc( this, pPrinter, nTab, nAttrPage, nTotalPages, pMarkedRange, &aOptions );
aPrintFunc.SetDrawView( pDrawView );
- nPrinted += aPrintFunc.DoPrint( aPageRanges, nTabStart, nDisplayStart, TRUE, &rProgress, NULL );
+ aPrintFunc.DoPrint( aPageRanges, nTabStart, nDisplayStart, TRUE, &rProgress, NULL );
nTabStart += aPageArr[nTab];
if ( aDocument.NeedPageResetAfterTab(nTab) )
@@ -2127,22 +2124,6 @@ void ScDocShell::Print( SfxProgress& rProgress, PrintDialog* pPrintDialog,
delete pDrawView;
}
}
-
-#if 0
- if ( n+1 < nCollateCopies &&
- (pPrinter->GetDuplexMode() == DUPLEX_SHORTEDGE || pPrinter->GetDuplexMode() == DUPLEX_LONGEDGE) &&
- ( nPrinted % 2 ) == 1 )
- {
- // #105584# when several collated copies are printed in duplex mode, and there is
- // an odd number of pages, print an empty page between copies, so the first page of
- // the second copy isn't printed on the back of the last page of the first copy.
- // (same as in Writer ViewShell::Prt)
-
- // FIXME: needs to be adapted to XRenderable interface
- pPrinter->StartPage();
- pPrinter->EndPage();
- }
-#endif
}
}
@@ -2223,10 +2204,6 @@ void ScDocShell::GetState( SfxItemSet &rSet )
// Wenn eine Formel editiert wird, muss FID_RECALC auf jeden Fall enabled sein.
// Recalc fuer das Doc war mal wegen #29898# disabled, wenn AutoCalc an war,
// ist jetzt wegen #41540# aber auch immer enabled.
-// case FID_RECALC:
-// if ( aDocument.GetAutoCalc() )
-// rSet.DisableItem( nWhich );
-// break;
case SID_TABLES_COUNT:
rSet.Put( SfxInt16Item( nWhich, aDocument.GetTableCount() ) );
@@ -2274,9 +2251,8 @@ void ScDocShell::GetSbxState( SfxItemSet &rSet )
pVisibleSh->GetState( rSet );
}
-void __EXPORT ScDocShell::Draw( OutputDevice* pDev, const JobSetup & /* rSetup */, USHORT nAspect )
+void ScDocShell::Draw( OutputDevice* pDev, const JobSetup & /* rSetup */, USHORT nAspect )
{
-// bIsOle = TRUE; // jetzt ueber den CreateMode
SCTAB nVisTab = aDocument.GetVisibleTab();
if (!aDocument.HasTable(nVisTab))
@@ -2307,7 +2283,7 @@ void __EXPORT ScDocShell::Draw( OutputDevice* pDev, const JobSetup & /* rSetup *
pDev->SetLayoutMode( nOldLayoutMode );
}
-Rectangle __EXPORT ScDocShell::GetVisArea( USHORT nAspect ) const
+Rectangle ScDocShell::GetVisArea( USHORT nAspect ) const
{
SfxObjectCreateMode eShellMode = GetCreateMode();
if ( eShellMode == SFX_CREATE_MODE_ORGANIZER )
@@ -2319,7 +2295,6 @@ Rectangle __EXPORT ScDocShell::GetVisArea( USHORT nAspect ) const
if( nAspect == ASPECT_THUMBNAIL )
{
-// Rectangle aArea( 0,0, 3175,3175 ); // 120x120 Pixel in 1:1
Rectangle aArea( 0,0, SC_PREVIEW_SIZE_X,SC_PREVIEW_SIZE_Y );
BOOL bNegativePage = aDocument.IsNegativePage( aDocument.GetVisibleTab() );
if ( bNegativePage )
@@ -2393,7 +2368,7 @@ void ScDocShell::GetPageOnFromPageStyleSet( const SfxItemSet* pStyleSet,
rbFooter = ((const SfxBoolItem&)pSet->Get(ATTR_PAGE_ON)).GetValue();
}
-long __EXPORT ScDocShell::DdeGetData( const String& rItem,
+long ScDocShell::DdeGetData( const String& rItem,
const String& rMimeType,
::com::sun::star::uno::Any & rValue )
{
@@ -2442,7 +2417,7 @@ long __EXPORT ScDocShell::DdeGetData( const String& rItem,
return 0;
}
-long __EXPORT ScDocShell::DdeSetData( const String& rItem,
+long ScDocShell::DdeSetData( const String& rItem,
const String& rMimeType,
const ::com::sun::star::uno::Any & rValue )
{
@@ -2481,7 +2456,7 @@ long __EXPORT ScDocShell::DdeSetData( const String& rItem,
return 0;
}
-::sfx2::SvLinkSource* __EXPORT ScDocShell::DdeCreateLinkSource( const String& rItem )
+::sfx2::SvLinkSource* ScDocShell::DdeCreateLinkSource( const String& rItem )
{
// only check for valid item string - range is parsed again in ScServerObject ctor
@@ -2678,7 +2653,7 @@ uno::Reference< frame::XModel > ScDocShell::LoadSharedDocument()
xFactory->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ) ),
uno::UNO_QUERY_THROW );
uno::Sequence < beans::PropertyValue > aArgs( 1 );
- aArgs[0].Name = ::rtl::OUString::createFromAscii( "Hidden" );
+ aArgs[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Hidden" ));
aArgs[0].Value <<= sal_True;
if ( GetMedium() )
@@ -2687,7 +2662,7 @@ uno::Reference< frame::XModel > ScDocShell::LoadSharedDocument()
if ( pPasswordItem && pPasswordItem->GetValue().Len() )
{
aArgs.realloc( 2 );
- aArgs[1].Name = ::rtl::OUString::createFromAscii( "Password" );
+ aArgs[1].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Password" ));
aArgs[1].Value <<= ::rtl::OUString( pPasswordItem->GetValue() );
}
}
diff --git a/sc/source/ui/docshell/docsh5.cxx b/sc/source/ui/docshell/docsh5.cxx
index e852ca29a948..9ac045c8da70 100644
--- a/sc/source/ui/docshell/docsh5.cxx
+++ b/sc/source/ui/docshell/docsh5.cxx
@@ -43,6 +43,7 @@
#include <svl/smplhint.hxx>
#include <com/sun/star/sdbc/XResultSet.hpp>
+#include <com/sun/star/script/vba/XVBACompatibility.hpp>
// INCLUDE ---------------------------------------------------------------
@@ -68,9 +69,21 @@
#include <basic/sbstar.hxx>
#include <basic/basmgr.hxx>
+#include <memory>
+#include <vector>
+
// defined in docfunc.cxx
void VBA_InsertModule( ScDocument& rDoc, SCTAB nTab, String& sModuleName, String& sModuleSource );
+using com::sun::star::script::XLibraryContainer;
+using com::sun::star::script::vba::XVBACompatibility;
+using com::sun::star::container::XNameContainer;
+using com::sun::star::uno::Reference;
+using com::sun::star::uno::UNO_QUERY;
+
+using ::std::auto_ptr;
+using ::std::vector;
+
// ---------------------------------------------------------------------------
//
@@ -247,15 +260,10 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
nStartCol = nEndCol = nCol;
nStartRow = nEndRow = nRow;
nStartTab = nEndTab = nTab;
-// bMark = FALSE; // nichts zu markieren
}
else
{
- if ( bSelected )
- {
-// bMark = FALSE;
- }
- else
+ if ( !bSelected )
{ // zusammenhaengender Bereich
nStartCol = nCol;
nStartRow = nRow;
@@ -927,31 +935,30 @@ BOOL ScDocShell::MoveTable( SCTAB nSrcTab, SCTAB nDestTab, BOOL bCopy, BOOL bRec
if (bRecord)
{
- SvShorts aSrcList;
- SvShorts aDestList;
- aSrcList.Insert(nSrcTab,0);
- aDestList.Insert(nDestTab,0);
+ auto_ptr< vector<SCTAB> > pSrcList(new vector<SCTAB>(1, nSrcTab));
+ auto_ptr< vector<SCTAB> > pDestList(new vector<SCTAB>(1, nDestTab));
GetUndoManager()->AddUndoAction(
- new ScUndoCopyTab( this, aSrcList, aDestList ) );
+ new ScUndoCopyTab(this, pSrcList.release(), pDestList.release()));
}
BOOL bVbaEnabled = aDocument.IsInVBAMode();
if ( bVbaEnabled )
{
- StarBASIC* pStarBASIC = GetBasic();
String aLibName( RTL_CONSTASCII_USTRINGPARAM( "Standard" ) );
- if ( GetBasicManager()->GetName().Len() > 0 )
+ Reference< XLibraryContainer > xLibContainer = GetBasicContainer();
+ Reference< XVBACompatibility > xVBACompat( xLibContainer, UNO_QUERY );
+
+ if ( xVBACompat.is() )
{
- aLibName = GetBasicManager()->GetName();
- pStarBASIC = GetBasicManager()->GetLib( aLibName );
+ aLibName = xVBACompat->getProjectName();
}
+
SCTAB nTabToUse = nDestTab;
if ( nDestTab == SC_TAB_APPEND )
nTabToUse = aDocument.GetMaxTableNumber() - 1;
String sCodeName;
String sSource;
- com::sun::star::uno::Reference< com::sun::star::script::XLibraryContainer > xLibContainer = GetBasicContainer();
- com::sun::star::uno::Reference< com::sun::star::container::XNameContainer > xLib;
+ Reference< XNameContainer > xLib;
if( xLibContainer.is() )
{
com::sun::star::uno::Any aLibAny = xLibContainer->getByName( aLibName );
@@ -986,12 +993,10 @@ BOOL ScDocShell::MoveTable( SCTAB nSrcTab, SCTAB nDestTab, BOOL bCopy, BOOL bRec
return FALSE;
else if (bRecord)
{
- SvShorts aSrcList;
- SvShorts aDestList;
- aSrcList.Insert(nSrcTab,0);
- aDestList.Insert(nDestTab,0);
+ auto_ptr< vector<SCTAB> > pSrcList(new vector<SCTAB>(1, nSrcTab));
+ auto_ptr< vector<SCTAB> > pDestList(new vector<SCTAB>(1, nDestTab));
GetUndoManager()->AddUndoAction(
- new ScUndoMoveTab( this, aSrcList, aDestList ) );
+ new ScUndoMoveTab(this, pSrcList.release(), pDestList.release()));
}
Broadcast( ScTablesHint( SC_TAB_MOVED, nSrcTab, nDestTab ) );
@@ -1018,7 +1023,7 @@ IMPL_LINK( ScDocShell, RefreshDBDataHdl, ScRefreshTimer*, pRefreshTimer )
{
ScRange aRange;
pDBData->GetArea( aRange );
- ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet> xResultSet;
+ Reference< ::com::sun::star::sdbc::XResultSet> xResultSet;
bContinue = aFunc.DoImport( aRange.aStart.Tab(), aImportParam, xResultSet, NULL, TRUE, FALSE ); //! Api-Flag as parameter
// internal operations (sort, query, subtotal) only if no error
if (bContinue)
diff --git a/sc/source/ui/docshell/docsh6.cxx b/sc/source/ui/docshell/docsh6.cxx
index 60f75c885a83..a7b38f78a6af 100644
--- a/sc/source/ui/docshell/docsh6.cxx
+++ b/sc/source/ui/docshell/docsh6.cxx
@@ -99,7 +99,7 @@ inline OUString C2U(const char* s)
// Ole
//
-void __EXPORT ScDocShell::SetVisArea( const Rectangle & rVisArea )
+void ScDocShell::SetVisArea( const Rectangle & rVisArea )
{
// with the SnapVisArea call in SetVisAreaOrSize, it's safe to always
// use both the size and position of the VisArea
@@ -254,7 +254,7 @@ void ScDocShell::UpdateOle( const ScViewData* pViewData, BOOL bSnapSize )
// Style-Krempel fuer Organizer etc.
//
-SfxStyleSheetBasePool* __EXPORT ScDocShell::GetStyleSheetPool()
+SfxStyleSheetBasePool* ScDocShell::GetStyleSheetPool()
{
return (SfxStyleSheetBasePool*)aDocument.GetStyleSheetPool();
}
@@ -292,7 +292,7 @@ void lcl_AdjustPool( SfxStyleSheetBasePool* pStylePool )
}
}
-void __EXPORT ScDocShell::LoadStyles( SfxObjectShell &rSource )
+void ScDocShell::LoadStyles( SfxObjectShell &rSource )
{
aDocument.StylesToNames();
@@ -375,7 +375,7 @@ void ScDocShell::LoadStylesArgs( ScDocShell& rSource, BOOL bReplace, BOOL bCellS
}
-BOOL __EXPORT ScDocShell::Insert( SfxObjectShell &rSource,
+BOOL ScDocShell::Insert( SfxObjectShell &rSource,
USHORT nSourceIdx1, USHORT nSourceIdx2, USHORT nSourceIdx3,
USHORT &nIdx1, USHORT &nIdx2, USHORT &nIdx3, USHORT &rIdxDeleted )
{
diff --git a/sc/source/ui/docshell/docsh8.cxx b/sc/source/ui/docshell/docsh8.cxx
index 1e94a7f3b2e4..3e63fae00963 100644
--- a/sc/source/ui/docshell/docsh8.cxx
+++ b/sc/source/ui/docshell/docsh8.cxx
@@ -98,7 +98,6 @@ using ::std::vector;
#define SC_SERVICE_DRVMAN "com.sun.star.sdbc.DriverManager"
//! move to a header file?
-//#define SC_DBPROP_DATASOURCENAME "DataSourceName"
#define SC_DBPROP_ACTIVECONNECTION "ActiveConnection"
#define SC_DBPROP_COMMAND "Command"
#define SC_DBPROP_COMMANDTYPE "CommandType"
@@ -131,7 +130,7 @@ namespace
if (!xFactory.is()) return SCERR_EXPORT_CONNECT;
_rDrvMgr.set( xFactory->createInstance(
- rtl::OUString::createFromAscii( SC_SERVICE_DRVMAN ) ),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_SERVICE_DRVMAN )) ),
uno::UNO_QUERY);
DBG_ASSERT( _rDrvMgr.is(), "can't get DriverManager" );
if (!_rDrvMgr.is()) return SCERR_EXPORT_CONNECT;
@@ -160,9 +159,9 @@ namespace
}
uno::Sequence<beans::PropertyValue> aProps(2);
- aProps[0].Name = rtl::OUString::createFromAscii(SC_DBPROP_EXTENSION);
+ aProps[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_EXTENSION));
aProps[0].Value <<= rtl::OUString( aExtension );
- aProps[1].Name = rtl::OUString::createFromAscii(SC_DBPROP_CHARSET);
+ aProps[1].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_CHARSET));
aProps[1].Value <<= aCharSetStr;
_rConnection = _rDrvMgr->getConnectionWithInfo( aConnUrl, aProps );
@@ -172,7 +171,6 @@ namespace
// -----------------------------------------------------------------------
// MoveFile/KillFile/IsDocument: similar to SfxContentHelper
-// static
BOOL ScDocShell::MoveFile( const INetURLObject& rSourceObj, const INetURLObject& rDestObj )
{
sal_Bool bMoveData = sal_True;
@@ -192,7 +190,7 @@ BOOL ScDocShell::MoveFile( const INetURLObject& rSourceObj, const INetURLObject&
::ucbhelper::Content aDestPath( aDestPathObj.GetMainURL(INetURLObject::NO_DECODE),
uno::Reference< ::com::sun::star::ucb::XCommandEnvironment > () );
uno::Reference< ::com::sun::star::ucb::XCommandInfo > xInfo = aDestPath.getCommands();
- rtl::OUString aTransferName = rtl::OUString::createFromAscii( "transfer" );
+ rtl::OUString aTransferName = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "transfer" ));
if ( xInfo->hasCommandByName( aTransferName ) )
{
aDestPath.executeCommand( aTransferName, uno::makeAny(
@@ -217,7 +215,6 @@ BOOL ScDocShell::MoveFile( const INetURLObject& rSourceObj, const INetURLObject&
}
-// static
BOOL ScDocShell::KillFile( const INetURLObject& rURL )
{
sal_Bool bRet = sal_True;
@@ -225,7 +222,7 @@ BOOL ScDocShell::KillFile( const INetURLObject& rURL )
{
::ucbhelper::Content aCnt( rURL.GetMainURL(INetURLObject::NO_DECODE),
uno::Reference< ::com::sun::star::ucb::XCommandEnvironment > () );
- aCnt.executeCommand( rtl::OUString::createFromAscii( "delete" ),
+ aCnt.executeCommand( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "delete" )),
comphelper::makeBoolAny( sal_True ) );
}
catch( uno::Exception& )
@@ -237,7 +234,6 @@ BOOL ScDocShell::KillFile( const INetURLObject& rURL )
return bRet;
}
-// static
BOOL ScDocShell::IsDocument( const INetURLObject& rURL )
{
sal_Bool bRet = sal_False;
@@ -333,7 +329,7 @@ ULONG ScDocShell::DBaseImport( const String& rFullFileName, CharSet eCharSet,
ScProgress aProgress( this, ScGlobal::GetRscString( STR_LOAD_DOC ), nRowCount );
uno::Reference<lang::XMultiServiceFactory> xFactory = comphelper::getProcessServiceFactory();
uno::Reference<sdbc::XRowSet> xRowSet( xFactory->createInstance(
- rtl::OUString::createFromAscii( SC_SERVICE_ROWSET ) ),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_SERVICE_ROWSET )) ),
uno::UNO_QUERY);
::utl::DisposableComponent aRowSetHelper(xRowSet);
uno::Reference<beans::XPropertySet> xRowProp( xRowSet, uno::UNO_QUERY );
@@ -345,19 +341,19 @@ ULONG ScDocShell::DBaseImport( const String& rFullFileName, CharSet eCharSet,
aAny <<= xConnection;
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_ACTIVECONNECTION), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_ACTIVECONNECTION)), aAny );
aAny <<= nType;
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_COMMANDTYPE), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_COMMANDTYPE)), aAny );
aAny <<= rtl::OUString( aTabName );
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_COMMAND), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_COMMAND)), aAny );
aAny <<= sal_False;
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_PROPCHANGE_NOTIFY), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_PROPCHANGE_NOTIFY)), aAny );
xRowSet->execute();
@@ -877,7 +873,7 @@ ULONG ScDocShell::DBaseExport( const String& rFullFileName, CharSet eCharSet, BO
if (!xTableDesc.is()) return SCERR_EXPORT_CONNECT;
aAny <<= rtl::OUString( aTabName );
- xTableDesc->setPropertyValue( rtl::OUString::createFromAscii(SC_DBPROP_NAME), aAny );
+ xTableDesc->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_NAME)), aAny );
// create columns
@@ -910,31 +906,26 @@ ULONG ScDocShell::DBaseExport( const String& rFullFileName, CharSet eCharSet, BO
if (!xColumnDesc.is()) return SCERR_EXPORT_CONNECT;
aAny <<= pColNames[nCol];
- xColumnDesc->setPropertyValue( rtl::OUString::createFromAscii(SC_DBPROP_NAME), aAny );
+ xColumnDesc->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_NAME)), aAny );
aAny <<= pColTypes[nCol];
- xColumnDesc->setPropertyValue( rtl::OUString::createFromAscii(SC_DBPROP_TYPE), aAny );
+ xColumnDesc->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_TYPE)), aAny );
aAny <<= pColLengths[nCol];
- xColumnDesc->setPropertyValue( rtl::OUString::createFromAscii(SC_DBPROP_PRECISION), aAny );
+ xColumnDesc->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_PRECISION)), aAny );
aAny <<= pColScales[nCol];
- xColumnDesc->setPropertyValue( rtl::OUString::createFromAscii(SC_DBPROP_SCALE), aAny );
+ xColumnDesc->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_SCALE)), aAny );
xColumnsAppend->appendByDescriptor( xColumnDesc );
}
xTablesAppend->appendByDescriptor( xTableDesc );
- // re-open connection
-// xConnection = xDrvMan->getConnectionWithInfo( aConnUrl, aProps );
-// DBG_ASSERT( xConnection.is(), "can't get Connection" );
-// if (!xConnection.is()) return SCERR_EXPORT_CONNECT;
-
// get row set for writing
uno::Reference<lang::XMultiServiceFactory> xFactory = comphelper::getProcessServiceFactory();
uno::Reference<sdbc::XRowSet> xRowSet( xFactory->createInstance(
- rtl::OUString::createFromAscii( SC_SERVICE_ROWSET ) ),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_SERVICE_ROWSET )) ),
uno::UNO_QUERY);
::utl::DisposableComponent aRowSetHelper(xRowSet);
uno::Reference<beans::XPropertySet> xRowProp( xRowSet, uno::UNO_QUERY );
@@ -943,15 +934,15 @@ ULONG ScDocShell::DBaseExport( const String& rFullFileName, CharSet eCharSet, BO
aAny <<= xConnection;
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_ACTIVECONNECTION), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_ACTIVECONNECTION)), aAny );
aAny <<= (sal_Int32) sdb::CommandType::TABLE;
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_COMMANDTYPE), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_COMMANDTYPE)), aAny );
aAny <<= rtl::OUString( aTabName );
xRowProp->setPropertyValue(
- rtl::OUString::createFromAscii(SC_DBPROP_COMMAND), aAny );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_DBPROP_COMMAND)), aAny );
xRowSet->execute();
diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx
index c0fc2fbfa215..741837b29db2 100644
--- a/sc/source/ui/docshell/externalrefmgr.cxx
+++ b/sc/source/ui/docshell/externalrefmgr.cxx
@@ -407,7 +407,7 @@ void ScExternalRefCache::Table::setCachedCell(SCCOL nCol, SCROW nRow)
void ScExternalRefCache::Table::setCachedCellRange(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
{
ScRange aRange(nCol1, nRow1, 0, nCol2, nRow2, 0);
- if (!maCachedRanges.Count())
+ if ( maCachedRanges.empty() )
maCachedRanges.Append(aRange);
else
maCachedRanges.Join(aRange);
@@ -585,11 +585,8 @@ ScExternalRefCache::TokenArrayRef ScExternalRefCache::getCellRangeData(
}
ScMatrixRef xMat = new ScMatrix(
- static_cast<SCSIZE>(nDataCol2-nDataCol1+1), static_cast<SCSIZE>(nDataRow2-nDataRow1+1));
-
-#if 0
- // TODO: Switch to this code block once we have support for sparsely-filled
- // matrices in ScMatrix.
+ static_cast<SCSIZE>(nDataCol2-nDataCol1+1),
+ static_cast<SCSIZE>(nDataRow2-nDataRow1+1), ScMatrix::SPARSE_EMPTY);
// Only fill non-empty cells, for better performance.
vector<SCROW> aRows;
@@ -621,46 +618,11 @@ ScExternalRefCache::TokenArrayRef ScExternalRefCache::getCellRangeData(
}
}
}
-#else
- vector<SCROW> aRows;
- pTab->getAllRows(aRows, nDataRow1, nDataRow2);
- if (aRows.empty())
- // Cache is empty.
- return TokenArrayRef();
- else
- // Trim the column below the last non-empty row.
- nDataRow2 = aRows.back();
-
- // Empty all matrix elements first, and fill only non-empty elements.
- for (SCROW nRow = nDataRow1; nRow <= nDataRow2; ++nRow)
- {
- for (SCCOL nCol = nDataCol1; nCol <= nDataCol2; ++nCol)
- {
- TokenRef pToken = pTab->getCell(nCol, nRow);
- SCSIZE nC = nCol - nCol1, nR = nRow - nRow1;
- if (!pToken)
- return TokenArrayRef();
-
- switch (pToken->GetType())
- {
- case svDouble:
- xMat->PutDouble(pToken->GetDouble(), nC, nR);
- break;
- case svString:
- xMat->PutString(pToken->GetString(), nC, nR);
- break;
- default:
- xMat->PutEmpty(nC, nR);
- }
- }
- }
-#endif
if (!bFirstTab)
pArray->AddOpCode(ocSep);
- ScMatrix* pMat2 = xMat;
- ScMatrixToken aToken(pMat2);
+ ScMatrixToken aToken(xMat);
if (!pArray)
pArray.reset(new ScTokenArray);
pArray->AddToken(aToken);
@@ -734,7 +696,7 @@ void ScExternalRefCache::setCellData(sal_uInt16 nFileId, const String& rTabName,
}
void ScExternalRefCache::setCellRangeData(sal_uInt16 nFileId, const ScRange& rRange, const vector<SingleRangeData>& rData,
- TokenArrayRef pArray)
+ const TokenArrayRef& pArray)
{
using ::std::pair;
if (rData.empty() || !isDocInitialized(nFileId))
@@ -1323,20 +1285,17 @@ static FormulaToken* lcl_convertToToken(ScBaseCell* pCell)
static_cast<ScEditCell*>(pCell)->GetString(aStr);
return new formula::FormulaStringToken(aStr);
}
- //break;
case CELLTYPE_STRING:
{
String aStr;
static_cast<ScStringCell*>(pCell)->GetString(aStr);
return new formula::FormulaStringToken(aStr);
}
- //break;
case CELLTYPE_VALUE:
{
double fVal = static_cast<ScValueCell*>(pCell)->GetValue();
return new formula::FormulaDoubleToken(fVal);
}
- //break;
case CELLTYPE_FORMULA:
{
ScFormulaCell* pFCell = static_cast<ScFormulaCell*>(pCell);
@@ -1355,7 +1314,6 @@ static FormulaToken* lcl_convertToToken(ScBaseCell* pCell)
return new formula::FormulaStringToken(aStr);
}
}
- //break;
default:
DBG_ERROR("attempted to convert an unknown cell type.");
}
@@ -1468,8 +1426,7 @@ static ScTokenArray* lcl_convertToTokenArray(const ScDocument* pSrcDoc, ScRange&
if (!bFirstTab)
pArray->AddOpCode(ocSep);
- ScMatrix* pMat2 = xMat;
- ScMatrixToken aToken(pMat2);
+ ScMatrixToken aToken(xMat);
pArray->AddToken(aToken);
itrCache->mpRangeData = xMat;
@@ -1497,8 +1454,7 @@ static ScTokenArray* lcl_fillEmptyMatrix(const ScRange& rRange)
for (SCSIZE j = 0; j < nR; ++j)
xMat->PutEmpty(i, j);
- ScMatrix* pMat2 = xMat;
- ScMatrixToken aToken(pMat2);
+ ScMatrixToken aToken(xMat);
auto_ptr<ScTokenArray> pArray(new ScTokenArray);
pArray->AddToken(aToken);
return pArray.release();
@@ -1683,8 +1639,18 @@ ScExternalRefCache::TokenRef ScExternalRefManager::getSingleRefToken(
if (pTab)
*pTab = nTab;
- return getSingleRefTokenFromSrcDoc(
- nFileId, pSrcDoc, ScAddress(rCell.Col(),rCell.Row(),nTab), pFmt);
+ ScExternalRefCache::TokenRef pToken =
+ getSingleRefTokenFromSrcDoc(
+ nFileId, pSrcDoc, ScAddress(rCell.Col(),rCell.Row(),nTab), pFmt);
+
+ // Now, insert the token into cache table but don't cache empty cells.
+ if (pToken->GetType() != formula::svEmptyCell)
+ {
+ sal_uInt32 nFmtIndex = pFmt->mbIsSet ? pFmt->mnIndex : 0;
+ maRefCache.setCellData(nFileId, rTabName, rCell.Col(), rCell.Row(), pToken, nFmtIndex);
+ }
+
+ return pToken;
}
// Check if the given table name and the cell position is cached.
@@ -1740,11 +1706,55 @@ ScExternalRefCache::TokenRef ScExternalRefManager::getSingleRefToken(
// Now, insert the token into cache table but don't cache empty cells.
if (pToken->GetType() != formula::svEmptyCell)
+ {
+ nFmtIndex = pFmt->mbIsSet ? pFmt->mnIndex : 0;
maRefCache.setCellData(nFileId, rTabName, rCell.Col(), rCell.Row(), pToken, nFmtIndex);
+ }
return pToken;
}
+namespace {
+
+/**
+ * Put the data into our internal cache table.
+ *
+ * @param rRefCache cache table set.
+ * @param pArray single range data to be returned.
+ * @param nFileId external file ID
+ * @param rTabName name of the table where the data should be cached.
+ * @param rCacheData range data to be cached.
+ * @param rCacheRange original cache range, including the empty region if
+ * any.
+ * @param rDataRange reduced cache range that includes only the non-empty
+ * data area.
+ */
+void putRangeDataIntoCache(
+ ScExternalRefCache& rRefCache, ScExternalRefCache::TokenArrayRef& pArray,
+ sal_uInt16 nFileId, const String& rTabName,
+ const vector<ScExternalRefCache::SingleRangeData>& rCacheData,
+ const ScRange& rCacheRange, const ScRange& rDataRange)
+{
+ if (pArray)
+ // Cache these values.
+ rRefCache.setCellRangeData(nFileId, rDataRange, rCacheData, pArray);
+ else
+ {
+ // Array is empty. Fill it with an empty matrix of the required size.
+ pArray.reset(lcl_fillEmptyMatrix(rCacheRange));
+
+ // Make sure to set this range 'cached', to prevent unnecessarily
+ // accessing the src document time and time again.
+ ScExternalRefCache::TableTypeRef pCacheTab =
+ rRefCache.getCacheTable(nFileId, rTabName, true, NULL);
+ if (pCacheTab)
+ pCacheTab->setCachedCellRange(
+ rCacheRange.aStart.Col(), rCacheRange.aStart.Row(), rCacheRange.aEnd.Col(), rCacheRange.aEnd.Row());
+ }
+}
+
+}
+
ScExternalRefCache::TokenArrayRef ScExternalRefManager::getDoubleRefTokens(
sal_uInt16 nFileId, const String& rTabName, const ScRange& rRange, const ScAddress* pCurPos)
{
@@ -1753,13 +1763,18 @@ ScExternalRefCache::TokenArrayRef ScExternalRefManager::getDoubleRefTokens(
maybeLinkExternalFile(nFileId);
- ScRange aRange(rRange);
+ ScRange aDataRange(rRange);
const ScDocument* pSrcDoc = getInMemorySrcDocument(nFileId);
if (pSrcDoc)
{
- // Document already loaded.
+ // Document already loaded in memory.
vector<ScExternalRefCache::SingleRangeData> aCacheData;
- return getDoubleRefTokensFromSrcDoc(pSrcDoc, rTabName, aRange, aCacheData);
+ ScExternalRefCache::TokenArrayRef pArray =
+ getDoubleRefTokensFromSrcDoc(pSrcDoc, rTabName, aDataRange, aCacheData);
+
+ // Put the data into cache.
+ putRangeDataIntoCache(maRefCache, pArray, nFileId, rTabName, aCacheData, rRange, aDataRange);
+ return pArray;
}
// Check if the given table name and the cell position is cached.
@@ -1779,25 +1794,10 @@ ScExternalRefCache::TokenArrayRef ScExternalRefManager::getDoubleRefTokens(
}
vector<ScExternalRefCache::SingleRangeData> aCacheData;
- pArray = getDoubleRefTokensFromSrcDoc(pSrcDoc, rTabName, aRange, aCacheData);
-
- if (pArray)
- // Cache these values.
- maRefCache.setCellRangeData(nFileId, aRange, aCacheData, pArray);
- else
- {
- // Array is empty. Fill it with an empty matrix of the required size.
- pArray.reset(lcl_fillEmptyMatrix(rRange));
-
- // Make sure to set this range 'cached', to prevent unnecessarily
- // accessing the src document time and time again.
- ScExternalRefCache::TableTypeRef pCacheTab =
- maRefCache.getCacheTable(nFileId, rTabName, true, NULL);
- if (pCacheTab)
- pCacheTab->setCachedCellRange(
- rRange.aStart.Col(), rRange.aStart.Row(), rRange.aEnd.Col(), rRange.aEnd.Row());
- }
+ pArray = getDoubleRefTokensFromSrcDoc(pSrcDoc, rTabName, aDataRange, aCacheData);
+ // Put the data into cache.
+ putRangeDataIntoCache(maRefCache, pArray, nFileId, rTabName, aCacheData, rRange, aDataRange);
return pArray;
}
@@ -1813,7 +1813,14 @@ ScExternalRefCache::TokenArrayRef ScExternalRefManager::getRangeNameTokens(sal_u
if (pSrcDoc)
{
// Document already loaded in memory.
- return getRangeNameTokensFromSrcDoc(nFileId, pSrcDoc, aName);
+ ScExternalRefCache::TokenArrayRef pArray =
+ getRangeNameTokensFromSrcDoc(nFileId, pSrcDoc, aName);
+
+ if (pArray)
+ // Cache this range name array.
+ maRefCache.setRangeNameTokens(nFileId, aName, pArray);
+
+ return pArray;
}
ScExternalRefCache::TokenArrayRef pArray = maRefCache.getRangeNameTokens(nFileId, rName);
@@ -2055,10 +2062,6 @@ const ScDocument* ScExternalRefManager::getSrcDocument(sal_uInt16 nFileId)
{
// document already loaded.
- // TODO: Find out a way to access a document that's already open in
- // memory and re-use that instance, instead of loading it from the
- // disk again.
-
SfxObjectShell* p = itr->second.maShell;
itr->second.maLastAccess = Time();
return static_cast<ScDocShell*>(p)->GetDocument();
@@ -2131,7 +2134,7 @@ SfxObjectShellRef ScExternalRefManager::loadSrcDocument(sal_uInt16 nFileId, Stri
{
// Generate a relative file path.
INetURLObject aBaseURL(getOwnDocumentName());
- aBaseURL.insertName(OUString::createFromAscii("content.xml"));
+ aBaseURL.insertName(OUString(RTL_CONSTASCII_USTRINGPARAM("content.xml")));
String aStr = URIHelper::simpleNormalizedMakeRelative(
aBaseURL.GetMainURL(INetURLObject::NO_DECODE), aFile);
@@ -2235,7 +2238,7 @@ void ScExternalRefManager::SrcFileData::maybeCreateRealFileName(const String& rO
// Formulate the absolute file path from the relative path.
const String& rRelPath = maRelativeName;
INetURLObject aBaseURL(rOwnDocName);
- aBaseURL.insertName(OUString::createFromAscii("content.xml"));
+ aBaseURL.insertName(OUString(RTL_CONSTASCII_USTRINGPARAM("content.xml")));
bool bWasAbs = false;
maRealFileName = aBaseURL.smartRel2Abs(rRelPath, bWasAbs).GetMainURL(INetURLObject::NO_DECODE);
}
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 1e85d17bd741..839b3bb3d563 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -516,7 +516,6 @@ BOOL ScImportExport::ExportStream( SvStream& rStrm, const String& rBaseURL, ULON
}
-//static
void ScImportExport::WriteUnicodeOrByteString( SvStream& rStrm, const String& rString, BOOL bZero )
{
rtl_TextEncoding eEnc = rStrm.GetStreamCharSet();
@@ -547,7 +546,6 @@ void ScImportExport::WriteUnicodeOrByteString( SvStream& rStrm, const String& rS
// This function could be replaced by endlub()
-// static
void ScImportExport::WriteUnicodeOrByteEndl( SvStream& rStrm )
{
if ( rStrm.GetStreamCharSet() == RTL_TEXTENCODING_UNICODE )
@@ -1361,7 +1359,6 @@ BOOL ScImportExport::ExtText2Doc( SvStream& rStrm )
}
-// static
const sal_Unicode* ScImportExport::ScanNextFieldFromString( const sal_Unicode* p,
String& rField, sal_Unicode cStr, const sal_Unicode* pSeps, bool bMergeSeps, bool& rbIsQuoted )
{
@@ -1398,10 +1395,38 @@ const sal_Unicode* ScImportExport::ScanNextFieldFromString( const sal_Unicode* p
return p;
}
- //
- //
- //
+namespace {
+
+/**
+ * Check if a given string has any line break characters or separators.
+ *
+ * @param rStr string to inspect.
+ * @param cSep separator character.
+ */
+bool hasLineBreaksOrSeps( const String& rStr, sal_Unicode cSep )
+{
+ const sal_Unicode* p = rStr.GetBuffer();
+ for (xub_StrLen i = 0, n = rStr.Len(); i < n; ++i, ++p)
+ {
+ sal_Unicode c = *p;
+ if (c == cSep)
+ // separator found.
+ return true;
+
+ switch (c)
+ {
+ case _LF:
+ case _CR:
+ // line break found.
+ return true;
+ default:
+ ;
+ }
+ }
+ return false;
+}
+}
BOOL ScImportExport::Doc2Text( SvStream& rStrm )
{
@@ -1428,7 +1453,7 @@ BOOL ScImportExport::Doc2Text( SvStream& rStrm )
{
if (bFormulas)
{
- pDoc->GetFormula( nCol, nRow, aRange.aStart.Tab(), aCell, TRUE );
+ pDoc->GetFormula( nCol, nRow, aRange.aStart.Tab(), aCell );
if( aCell.Search( cSep ) != STRING_NOTFOUND )
lcl_WriteString( rStrm, aCell, cStr, cStr );
else
@@ -1482,7 +1507,7 @@ BOOL ScImportExport::Doc2Text( SvStream& rStrm )
if( mExportTextOptions.mcSeparatorConvertTo && cSep )
aCell.SearchAndReplaceAll( cSep, mExportTextOptions.mcSeparatorConvertTo );
- if( mExportTextOptions.mbAddQuotes && ( aCell.Search( cSep ) != STRING_NOTFOUND ) )
+ if( mExportTextOptions.mbAddQuotes && hasLineBreaksOrSeps(aCell, cSep) )
lcl_WriteString( rStrm, aCell, cStr, cStr );
else
lcl_WriteSimpleString( rStrm, aCell );
@@ -1491,7 +1516,6 @@ BOOL ScImportExport::Doc2Text( SvStream& rStrm )
if( nCol < nEndCol )
lcl_WriteSimpleString( rStrm, String(cSep) );
}
-// if( nRow < nEndRow )
WriteUnicodeOrByteEndl( rStrm );
if( rStrm.GetError() != SVSTREAM_OK )
break;
@@ -2007,7 +2031,19 @@ BOOL ScImportExport::HTML2Doc( SvStream& rStrm, const String& rBaseURL )
USHORT nFlags = IDF_ALL & ~IDF_STYLES;
pDoc->DeleteAreaTab( aRange, nFlags );
- pImp->WriteToDocument();
+
+ if (pExtOptions)
+ {
+ // Pick up import options if available.
+ LanguageType eLang = pExtOptions->GetLanguage();
+ SvNumberFormatter aNumFormatter(pDoc->GetServiceManager(), eLang);
+ bool bSpecialNumber = pExtOptions->IsDetectSpecialNumber();
+ pImp->WriteToDocument(false, 1.0, &aNumFormatter, bSpecialNumber);
+ }
+ else
+ // Regular import, with no options.
+ pImp->WriteToDocument();
+
EndPaste();
}
delete pImp;
@@ -2058,7 +2094,7 @@ ScFormatFilterPlugin &ScFormatFilter::Get()
if ( aModule.loadRelative( &thisModule,
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( SVLIBRARY( "scfilt" ) ) ) ) )
{
- oslGenericFunction fn = aModule.getFunctionSymbol( ::rtl::OUString::createFromAscii( "ScFilterCreate" ) );
+ oslGenericFunction fn = aModule.getFunctionSymbol( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScFilterCreate" )) );
if (fn != NULL)
plugin = reinterpret_cast<FilterFn>(fn)();
}
diff --git a/sc/source/ui/docshell/makefile.mk b/sc/source/ui/docshell/makefile.mk
index 6776a0b7efdd..6736362d9565 100644
--- a/sc/source/ui/docshell/makefile.mk
+++ b/sc/source/ui/docshell/makefile.mk
@@ -66,43 +66,35 @@ CXXFILES = \
SLOFILES = \
- $(SLO)$/docsh.obj \
- $(SLO)$/docsh2.obj \
- $(SLO)$/docsh3.obj \
- $(SLO)$/docsh4.obj \
- $(SLO)$/docsh5.obj \
- $(SLO)$/docsh6.obj \
- $(SLO)$/docsh7.obj \
- $(SLO)$/docsh8.obj \
- $(SLO)$/externalrefmgr.obj \
- $(SLO)$/tablink.obj \
- $(SLO)$/arealink.obj \
- $(SLO)$/dbdocfun.obj \
- $(SLO)$/dbdocimp.obj \
- $(SLO)$/impex.obj \
- $(SLO)$/docfunc.obj \
- $(SLO)$/olinefun.obj \
- $(SLO)$/servobj.obj \
- $(SLO)$/tpstat.obj \
- $(SLO)$/autostyl.obj \
- $(SLO)$/pagedata.obj \
+ $(EXCEPTIONSFILES) \
$(SLO)$/hiranges.obj \
- $(SLO)$/pntlock.obj \
- $(SLO)$/sizedev.obj \
- $(SLO)$/editable.obj \
- $(SLO)$/macromgr.obj
+ $(SLO)$/pagedata.obj \
+ $(SLO)$/pntlock.obj
EXCEPTIONSFILES= \
+ $(SLO)$/arealink.obj \
+ $(SLO)$/autostyl.obj \
+ $(SLO)$/dbdocfun.obj \
+ $(SLO)$/dbdocimp.obj \
+ $(SLO)$/docfunc.obj \
$(SLO)$/docsh.obj \
- $(SLO)$/docsh3.obj \
+ $(SLO)$/docsh2.obj \
+ $(SLO)$/docsh3.obj \
$(SLO)$/docsh4.obj \
+ $(SLO)$/docsh5.obj \
$(SLO)$/docsh6.obj \
+ $(SLO)$/docsh7.obj \
$(SLO)$/docsh8.obj \
+ $(SLO)$/editable.obj \
$(SLO)$/externalrefmgr.obj \
- $(SLO)$/dbdocimp.obj \
- $(SLO)$/docfunc.obj \
- $(SLO)$/macromgr.obj
+ $(SLO)$/impex.obj \
+ $(SLO)$/macromgr.obj \
+ $(SLO)$/olinefun.obj \
+ $(SLO)$/servobj.obj \
+ $(SLO)$/sizedev.obj \
+ $(SLO)$/tablink.obj \
+ $(SLO)$/tpstat.obj
SRS1NAME=$(TARGET)
SRC1FILES = tpstat.src
@@ -133,7 +125,7 @@ LIB1OBJFILES = \
$(SLO)$/pntlock.obj \
$(SLO)$/sizedev.obj \
$(SLO)$/editable.obj \
- $(SLO)$/macromgr.obj
+ $(SLO)$/macromgr.obj
# --- Tagets -------------------------------------------------------
diff --git a/sc/source/ui/docshell/servobj.cxx b/sc/source/ui/docshell/servobj.cxx
index 186b94f3bf83..cd35f6068255 100644
--- a/sc/source/ui/docshell/servobj.cxx
+++ b/sc/source/ui/docshell/servobj.cxx
@@ -124,7 +124,7 @@ ScServerObject::ScServerObject( ScDocShell* pShell, const String& rItem ) :
StartListening(*SFX_APP()); // for SC_HINT_AREAS_CHANGED
}
-__EXPORT ScServerObject::~ScServerObject()
+ScServerObject::~ScServerObject()
{
Clear();
}
@@ -149,7 +149,7 @@ void ScServerObject::EndListeningAll()
SfxListener::EndListeningAll();
}
-BOOL __EXPORT ScServerObject::GetData(
+BOOL ScServerObject::GetData(
::com::sun::star::uno::Any & rData /*out param*/,
const String & rMimeType, BOOL /* bSynchron */ )
{
@@ -213,7 +213,7 @@ BOOL __EXPORT ScServerObject::GetData(
return 0;
}
-void __EXPORT ScServerObject::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
+void ScServerObject::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
{
BOOL bDataChanged = FALSE;
diff --git a/sc/source/ui/docshell/tablink.cxx b/sc/source/ui/docshell/tablink.cxx
index f949b3ffb45c..5116e54cb022 100644
--- a/sc/source/ui/docshell/tablink.cxx
+++ b/sc/source/ui/docshell/tablink.cxx
@@ -113,7 +113,7 @@ ScTableLink::ScTableLink(SfxObjectShell* pShell, const String& rFile,
SetRefreshControl( pImpl->m_pDocSh->GetDocument()->GetRefreshTimerControlAddress() );
}
-__EXPORT ScTableLink::~ScTableLink()
+ScTableLink::~ScTableLink()
{
// Verbindung aufheben
@@ -127,7 +127,7 @@ __EXPORT ScTableLink::~ScTableLink()
delete pImpl;
}
-void __EXPORT ScTableLink::Edit( Window* pParent, const Link& rEndEditHdl )
+void ScTableLink::Edit( Window* pParent, const Link& rEndEditHdl )
{
// DefModalDialogParent setzen, weil evtl. aus der DocShell beim ConvertFrom
// ein Optionen-Dialog kommt...
@@ -141,7 +141,7 @@ void __EXPORT ScTableLink::Edit( Window* pParent, const Link& rEndEditHdl )
SvBaseLink::Edit( pParent, LINK( this, ScTableLink, TableEndEditHdl ) );
}
-void __EXPORT ScTableLink::DataChanged( const String&,
+void ScTableLink::DataChanged( const String&,
const ::com::sun::star::uno::Any& )
{
sfx2::LinkManager* pLinkManager=pImpl->m_pDocSh->GetDocument()->GetLinkManager();
@@ -160,7 +160,7 @@ void __EXPORT ScTableLink::DataChanged( const String&,
}
}
-void __EXPORT ScTableLink::Closed()
+void ScTableLink::Closed()
{
// Verknuepfung loeschen: Undo
ScDocument* pDoc = pImpl->m_pDocSh->GetDocument();
@@ -341,7 +341,7 @@ BOOL ScTableLink::Refresh(const String& rNewFile, const String& rNewFilter,
pCell = aCellIter.GetNext();
}
- ULONG nRanges = aErrorCells.Count();
+ size_t nRanges = aErrorCells.size();
if ( nRanges ) // found any?
{
ScTokenArray aTokenArr;
@@ -350,9 +350,9 @@ BOOL ScTableLink::Refresh(const String& rNewFile, const String& rNewFilter,
aTokenArr.AddOpCode( ocClose );
aTokenArr.AddOpCode( ocStop );
- for (ULONG nPos=0; nPos<nRanges; nPos++)
+ for (size_t nPos=0; nPos < nRanges; nPos++)
{
- const ScRange* pRange = aErrorCells.GetObject(nPos);
+ const ScRange* pRange = aErrorCells[ nPos ];
SCCOL nStartCol = pRange->aStart.Col();
SCROW nStartRow = pRange->aStart.Row();
SCCOL nEndCol = pRange->aEnd.Col();
@@ -404,7 +404,6 @@ BOOL ScTableLink::Refresh(const String& rNewFile, const String& rNewFilter,
// aufraeumen
-// pSrcShell->DoClose();
aRef->DoClose();
// Undo
@@ -455,7 +454,7 @@ IMPL_LINK( ScTableLink, TableEndEditHdl, ::sfx2::SvBaseLink*, pLink )
// === ScDocumentLoader ==================================================
-String ScDocumentLoader::GetOptions( SfxMedium& rMedium ) // static
+String ScDocumentLoader::GetOptions( SfxMedium& rMedium )
{
SfxItemSet* pSet = rMedium.GetItemSet();
const SfxPoolItem* pItem;
@@ -467,7 +466,7 @@ String ScDocumentLoader::GetOptions( SfxMedium& rMedium ) // static
BOOL ScDocumentLoader::GetFilterName( const String& rFileName,
String& rFilter, String& rOptions,
- BOOL bWithContent, BOOL bWithInteraction ) // static
+ BOOL bWithContent, BOOL bWithInteraction )
{
TypeId aScType = TYPE(ScDocShell);
SfxObjectShell* pDocSh = SfxObjectShell::GetFirst( &aScType );
@@ -521,7 +520,7 @@ BOOL ScDocumentLoader::GetFilterName( const String& rFileName,
return bOK;
}
-void ScDocumentLoader::RemoveAppPrefix( String& rFilterName ) // static
+void ScDocumentLoader::RemoveAppPrefix( String& rFilterName )
{
String aAppPrefix = String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM( STRING_SCAPP ));
aAppPrefix.AppendAscii(RTL_CONSTASCII_STRINGPARAM( ": " ));
@@ -577,9 +576,6 @@ ScDocumentLoader::ScDocumentLoader( const String& rFileName,
ScDocumentLoader::~ScDocumentLoader()
{
-/* if ( pDocShell )
- pDocShell->DoClose();
-*/
if ( aRef.Is() )
aRef->DoClose();
else if ( pMedium )
diff --git a/sc/source/ui/docshell/tpstat.cxx b/sc/source/ui/docshell/tpstat.cxx
index b5ced9d105a8..32a45998827e 100644
--- a/sc/source/ui/docshell/tpstat.cxx
+++ b/sc/source/ui/docshell/tpstat.cxx
@@ -45,7 +45,7 @@
// Dokumentinfo-Tabpage:
//========================================================================
-SfxTabPage* __EXPORT ScDocStatPage::Create( Window *pParent, const SfxItemSet& rSet )
+SfxTabPage* ScDocStatPage::Create( Window *pParent, const SfxItemSet& rSet )
{
return new ScDocStatPage( pParent, rSet );
}
@@ -80,20 +80,20 @@ ScDocStatPage::ScDocStatPage( Window *pParent, const SfxItemSet& rSet )
//------------------------------------------------------------------------
-__EXPORT ScDocStatPage::~ScDocStatPage()
+ScDocStatPage::~ScDocStatPage()
{
}
//------------------------------------------------------------------------
-BOOL __EXPORT ScDocStatPage::FillItemSet( SfxItemSet& /* rSet */ )
+BOOL ScDocStatPage::FillItemSet( SfxItemSet& /* rSet */ )
{
return FALSE;
}
//------------------------------------------------------------------------
-void __EXPORT ScDocStatPage::Reset( const SfxItemSet& /* rSet */ )
+void ScDocStatPage::Reset( const SfxItemSet& /* rSet */ )
{
}
diff --git a/sc/source/ui/docshell/tpstat.src b/sc/source/ui/docshell/tpstat.src
index 7226da4642c3..3ee5b91a7b2e 100644
--- a/sc/source/ui/docshell/tpstat.src
+++ b/sc/source/ui/docshell/tpstat.src
@@ -77,36 +77,3 @@ TabPage RID_SCPAGE_STAT
Text [ en-US ] = "Document: " ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/drawfunc/drawsh.cxx b/sc/source/ui/drawfunc/drawsh.cxx
index 5da044f24d89..4e6ac3ad6b8b 100644
--- a/sc/source/ui/drawfunc/drawsh.cxx
+++ b/sc/source/ui/drawfunc/drawsh.cxx
@@ -113,7 +113,6 @@ void ScDrawShell::ExecDrawAttr( SfxRequest& rReq )
{
USHORT nSlot = rReq.GetSlot();
Window* pWin = pViewData->GetActiveWin();
-// SfxViewFrame* pViewFrame = SfxViewShell::Current()->GetViewFrame(); //!!! koennte knallen
ScDrawView* pView = pViewData->GetScDrawView();
SdrModel* pDoc = pViewData->GetDocument()->GetDrawLayer();
@@ -242,7 +241,6 @@ void ScDrawShell::ExecDrawAttr( SfxRequest& rReq )
if( !pArgs )
{
- // const SdrMarkList& rMarkList = pView->GetMarkedObjectList();
if( rMarkList.GetMark(0) != 0 )
{
SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
@@ -254,7 +252,6 @@ void ScDrawShell::ExecDrawAttr( SfxRequest& rReq )
// --------- Itemset fuer Groesse und Position --------
SfxItemSet aNewGeoAttr(pView->GetGeoAttrFromMarked());
- //SvxCaptionTabDialog* pDlg = new SvxCaptionTabDialog(pWin, pView);
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
if ( pFact )
{
diff --git a/sc/source/ui/drawfunc/drawsh2.cxx b/sc/source/ui/drawfunc/drawsh2.cxx
index 0a5b5ad7c21f..a1f34292647a 100644
--- a/sc/source/ui/drawfunc/drawsh2.cxx
+++ b/sc/source/ui/drawfunc/drawsh2.cxx
@@ -113,7 +113,7 @@ void ScDrawShell::GetState( SfxItemSet& rSet ) // Zustaende / Toggles
if ( !bDisableAnchor )
{
- switch( pView->GetAnchor() )
+ switch( pView->GetAnchorType() )
{
case SCA_PAGE:
rSet.Put( SfxBoolItem( SID_ANCHOR_PAGE, TRUE ) );
diff --git a/sc/source/ui/drawfunc/drawsh5.cxx b/sc/source/ui/drawfunc/drawsh5.cxx
index 23270038e419..abe07cf93986 100644
--- a/sc/source/ui/drawfunc/drawsh5.cxx
+++ b/sc/source/ui/drawfunc/drawsh5.cxx
@@ -108,10 +108,10 @@ void ScDrawShell::GetHLinkState( SfxItemSet& rSet ) // Hyperlink
uno::Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY );
uno::Reference< beans::XPropertySetInfo > xInfo = xPropSet->getPropertySetInfo();
- rtl::OUString sPropButtonType = rtl::OUString::createFromAscii( "ButtonType" );
- rtl::OUString sPropTargetURL = rtl::OUString::createFromAscii( "TargetURL" );
- rtl::OUString sPropTargetFrame = rtl::OUString::createFromAscii( "TargetFrame" );
- rtl::OUString sPropLabel = rtl::OUString::createFromAscii( "Label" );
+ rtl::OUString sPropButtonType(RTL_CONSTASCII_USTRINGPARAM( "ButtonType" ));
+ rtl::OUString sPropTargetURL(RTL_CONSTASCII_USTRINGPARAM( "TargetURL" ));
+ rtl::OUString sPropTargetFrame(RTL_CONSTASCII_USTRINGPARAM( "TargetFrame" ));
+ rtl::OUString sPropLabel(RTL_CONSTASCII_USTRINGPARAM( "Label" ));
if(xInfo->hasPropertyByName( sPropButtonType ))
{
@@ -195,20 +195,16 @@ void ScDrawShell::ExecuteHLink( SfxRequest& rReq )
uno::Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY );
uno::Reference< beans::XPropertySetInfo > xInfo = xPropSet->getPropertySetInfo();
- rtl::OUString sPropTargetURL =
- rtl::OUString::createFromAscii( "TargetURL" );
+ rtl::OUString sPropTargetURL(RTL_CONSTASCII_USTRINGPARAM( "TargetURL" ));
// Darf man eine URL an dem Objekt setzen?
if (xInfo->hasPropertyByName( sPropTargetURL ))
{
// Ja!
- rtl::OUString sPropButtonType =
- rtl::OUString::createFromAscii( "ButtonType" );
- rtl::OUString sPropTargetFrame =
- rtl::OUString::createFromAscii( "TargetFrame" );
- rtl::OUString sPropLabel =
- rtl::OUString::createFromAscii( "Label" );
+ rtl::OUString sPropButtonType(RTL_CONSTASCII_USTRINGPARAM( "ButtonType") );
+ rtl::OUString sPropTargetFrame(RTL_CONSTASCII_USTRINGPARAM( "TargetFrame" ));
+ rtl::OUString sPropLabel(RTL_CONSTASCII_USTRINGPARAM( "Label" ));
uno::Any aAny;
if ( xInfo->hasPropertyByName( sPropLabel ) )
@@ -389,26 +385,26 @@ void ScDrawShell::ExecDrawFunc( SfxRequest& rReq )
break;
case SID_ANCHOR_PAGE:
- pView->SetAnchor( SCA_PAGE );
+ pView->SetPageAnchored();
rBindings.Invalidate( SID_ANCHOR_PAGE );
rBindings.Invalidate( SID_ANCHOR_CELL );
break;
case SID_ANCHOR_CELL:
- pView->SetAnchor( SCA_CELL );
+ pView->SetCellAnchored();
rBindings.Invalidate( SID_ANCHOR_PAGE );
rBindings.Invalidate( SID_ANCHOR_CELL );
break;
case SID_ANCHOR_TOGGLE:
{
- switch( pView->GetAnchor() )
+ switch( pView->GetAnchorType() )
{
case SCA_CELL:
- pView->SetAnchor( SCA_PAGE );
+ pView->SetPageAnchored();
break;
default:
- pView->SetAnchor( SCA_CELL );
+ pView->SetCellAnchored();
break;
}
}
diff --git a/sc/source/ui/drawfunc/drformsh.src b/sc/source/ui/drawfunc/drformsh.src
index 65e98eea7b2c..751c2ea86db5 100644
--- a/sc/source/ui/drawfunc/drformsh.src
+++ b/sc/source/ui/drawfunc/drformsh.src
@@ -216,35 +216,3 @@ Menu RID_POPUP_DRAWFORM
ITEM_GROUP_MENU
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/drawfunc/drtxtob.cxx b/sc/source/ui/drawfunc/drtxtob.cxx
index aba4cfa8eabe..0246aa2f6ac6 100644
--- a/sc/source/ui/drawfunc/drtxtob.cxx
+++ b/sc/source/ui/drawfunc/drtxtob.cxx
@@ -139,7 +139,7 @@ ScDrawTextObjectBar::ScDrawTextObjectBar(ScViewData* pData) :
SetName(String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("DrawText")));
}
-__EXPORT ScDrawTextObjectBar::~ScDrawTextObjectBar()
+ScDrawTextObjectBar::~ScDrawTextObjectBar()
{
if ( pClipEvtLstnr )
{
@@ -159,7 +159,7 @@ __EXPORT ScDrawTextObjectBar::~ScDrawTextObjectBar()
//
//========================================================================
-void __EXPORT ScDrawTextObjectBar::Execute( SfxRequest &rReq )
+void ScDrawTextObjectBar::Execute( SfxRequest &rReq )
{
ScDrawView* pView = pViewData->GetScDrawView();
OutlinerView* pOutView = pView->GetTextEditOutlinerView();
@@ -373,7 +373,7 @@ void __EXPORT ScDrawTextObjectBar::Execute( SfxRequest &rReq )
}
}
-void __EXPORT ScDrawTextObjectBar::GetState( SfxItemSet& rSet )
+void ScDrawTextObjectBar::GetState( SfxItemSet& rSet )
{
SfxViewFrame* pViewFrm = pViewData->GetViewShell()->GetViewFrame();
BOOL bHasFontWork = pViewFrm->HasChildWindow(SID_FONTWORK);
@@ -501,7 +501,7 @@ IMPL_LINK( ScDrawTextObjectBar, ClipboardChanged, TransferableDataHelper*, pData
return 0;
}
-void __EXPORT ScDrawTextObjectBar::GetClipState( SfxItemSet& rSet )
+void ScDrawTextObjectBar::GetClipState( SfxItemSet& rSet )
{
SdrView* pView = pViewData->GetScDrawView();
if ( !pView->GetTextEditOutlinerView() )
@@ -562,7 +562,7 @@ void __EXPORT ScDrawTextObjectBar::GetClipState( SfxItemSet& rSet )
//
//========================================================================
-void __EXPORT ScDrawTextObjectBar::ExecuteToggle( SfxRequest &rReq )
+void ScDrawTextObjectBar::ExecuteToggle( SfxRequest &rReq )
{
// Unterstreichung
@@ -677,7 +677,7 @@ void lcl_RemoveFields( OutlinerView& rOutView )
rOutView.SetSelection( aOldSel );
}
-void __EXPORT ScDrawTextObjectBar::ExecuteAttr( SfxRequest &rReq )
+void ScDrawTextObjectBar::ExecuteAttr( SfxRequest &rReq )
{
SdrView* pView = pViewData->GetScDrawView();
const SfxItemSet* pArgs = rReq.GetArgs();
@@ -876,7 +876,7 @@ void __EXPORT ScDrawTextObjectBar::ExecuteAttr( SfxRequest &rReq )
}
}
-void __EXPORT ScDrawTextObjectBar::GetAttrState( SfxItemSet& rDestSet )
+void ScDrawTextObjectBar::GetAttrState( SfxItemSet& rDestSet )
{
if ( IsNoteEdit() )
{
diff --git a/sc/source/ui/drawfunc/drtxtob2.cxx b/sc/source/ui/drawfunc/drtxtob2.cxx
index aef408544aa4..056dea999853 100644
--- a/sc/source/ui/drawfunc/drtxtob2.cxx
+++ b/sc/source/ui/drawfunc/drtxtob2.cxx
@@ -70,7 +70,7 @@ BOOL ScDrawTextObjectBar::IsNoteEdit()
// wenn kein Text editiert wird, Funktionen wie in drawsh
-void __EXPORT ScDrawTextObjectBar::ExecuteGlobal( SfxRequest &rReq )
+void ScDrawTextObjectBar::ExecuteGlobal( SfxRequest &rReq )
{
ScTabView* pTabView = pViewData->GetView();
ScDrawView* pView = pTabView->GetScDrawView();
@@ -148,7 +148,7 @@ void ScDrawTextObjectBar::GetGlobalClipState( SfxItemSet& rSet )
}
}
-void __EXPORT ScDrawTextObjectBar::ExecuteExtra( SfxRequest &rReq )
+void ScDrawTextObjectBar::ExecuteExtra( SfxRequest &rReq )
{
ScTabView* pTabView = pViewData->GetView();
ScDrawView* pView = pTabView->GetScDrawView();
diff --git a/sc/source/ui/drawfunc/fuconarc.cxx b/sc/source/ui/drawfunc/fuconarc.cxx
index 48c529d923e6..664ab7c5c108 100644
--- a/sc/source/ui/drawfunc/fuconarc.cxx
+++ b/sc/source/ui/drawfunc/fuconarc.cxx
@@ -66,7 +66,7 @@ FuConstArc::~FuConstArc()
|*
\************************************************************************/
-BOOL __EXPORT FuConstArc::MouseButtonDown( const MouseEvent& rMEvt )
+BOOL FuConstArc::MouseButtonDown( const MouseEvent& rMEvt )
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -89,7 +89,7 @@ BOOL __EXPORT FuConstArc::MouseButtonDown( const MouseEvent& rMEvt )
|*
\************************************************************************/
-BOOL __EXPORT FuConstArc::MouseMove( const MouseEvent& rMEvt )
+BOOL FuConstArc::MouseMove( const MouseEvent& rMEvt )
{
return FuConstruct::MouseMove(rMEvt);
}
@@ -100,7 +100,7 @@ BOOL __EXPORT FuConstArc::MouseMove( const MouseEvent& rMEvt )
|*
\************************************************************************/
-BOOL __EXPORT FuConstArc::MouseButtonUp( const MouseEvent& rMEvt )
+BOOL FuConstArc::MouseButtonUp( const MouseEvent& rMEvt )
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -133,7 +133,7 @@ BOOL __EXPORT FuConstArc::MouseButtonUp( const MouseEvent& rMEvt )
|*
\************************************************************************/
-BOOL __EXPORT FuConstArc::KeyInput(const KeyEvent& rKEvt)
+BOOL FuConstArc::KeyInput(const KeyEvent& rKEvt)
{
BOOL bReturn = FuConstruct::KeyInput(rKEvt);
return(bReturn);
diff --git a/sc/source/ui/drawfunc/fuconcustomshape.cxx b/sc/source/ui/drawfunc/fuconcustomshape.cxx
index dfcbdb2f5d49..4310e9da8ce8 100644
--- a/sc/source/ui/drawfunc/fuconcustomshape.cxx
+++ b/sc/source/ui/drawfunc/fuconcustomshape.cxx
@@ -76,7 +76,7 @@ FuConstCustomShape::~FuConstCustomShape()
|*
\************************************************************************/
-BOOL __EXPORT FuConstCustomShape::MouseButtonDown(const MouseEvent& rMEvt)
+BOOL FuConstCustomShape::MouseButtonDown(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -114,7 +114,7 @@ BOOL __EXPORT FuConstCustomShape::MouseButtonDown(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstCustomShape::MouseMove(const MouseEvent& rMEvt)
+BOOL FuConstCustomShape::MouseMove(const MouseEvent& rMEvt)
{
return FuConstruct::MouseMove(rMEvt);
}
@@ -125,7 +125,7 @@ BOOL __EXPORT FuConstCustomShape::MouseMove(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstCustomShape::MouseButtonUp(const MouseEvent& rMEvt)
+BOOL FuConstCustomShape::MouseButtonUp(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -150,7 +150,7 @@ BOOL __EXPORT FuConstCustomShape::MouseButtonUp(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstCustomShape::KeyInput(const KeyEvent& rKEvt)
+BOOL FuConstCustomShape::KeyInput(const KeyEvent& rKEvt)
{
BOOL bReturn = FuConstruct::KeyInput(rKEvt);
return(bReturn);
diff --git a/sc/source/ui/drawfunc/fuconpol.cxx b/sc/source/ui/drawfunc/fuconpol.cxx
index d10259e3456e..05927c968e2e 100644
--- a/sc/source/ui/drawfunc/fuconpol.cxx
+++ b/sc/source/ui/drawfunc/fuconpol.cxx
@@ -74,7 +74,7 @@ FuConstPolygon::~FuConstPolygon()
|*
\************************************************************************/
-BOOL __EXPORT FuConstPolygon::MouseButtonDown(const MouseEvent& rMEvt)
+BOOL FuConstPolygon::MouseButtonDown(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -106,7 +106,7 @@ BOOL __EXPORT FuConstPolygon::MouseButtonDown(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstPolygon::MouseMove(const MouseEvent& rMEvt)
+BOOL FuConstPolygon::MouseMove(const MouseEvent& rMEvt)
{
pView->MouseMove(rMEvt, pWindow);
BOOL bReturn = FuConstruct::MouseMove(rMEvt);
@@ -119,7 +119,7 @@ BOOL __EXPORT FuConstPolygon::MouseMove(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstPolygon::MouseButtonUp(const MouseEvent& rMEvt)
+BOOL FuConstPolygon::MouseButtonUp(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -156,7 +156,7 @@ BOOL __EXPORT FuConstPolygon::MouseButtonUp(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstPolygon::KeyInput(const KeyEvent& rKEvt)
+BOOL FuConstPolygon::KeyInput(const KeyEvent& rKEvt)
{
BOOL bReturn = FuConstruct::KeyInput(rKEvt);
diff --git a/sc/source/ui/drawfunc/fuconrec.cxx b/sc/source/ui/drawfunc/fuconrec.cxx
index 71d46ea98b7c..f9b5b0b811d9 100644
--- a/sc/source/ui/drawfunc/fuconrec.cxx
+++ b/sc/source/ui/drawfunc/fuconrec.cxx
@@ -74,7 +74,7 @@ FuConstRectangle::~FuConstRectangle()
|*
\************************************************************************/
-BOOL __EXPORT FuConstRectangle::MouseButtonDown(const MouseEvent& rMEvt)
+BOOL FuConstRectangle::MouseButtonDown(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -107,7 +107,7 @@ BOOL __EXPORT FuConstRectangle::MouseButtonDown(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstRectangle::MouseMove(const MouseEvent& rMEvt)
+BOOL FuConstRectangle::MouseMove(const MouseEvent& rMEvt)
{
return FuConstruct::MouseMove(rMEvt);
}
@@ -118,7 +118,7 @@ BOOL __EXPORT FuConstRectangle::MouseMove(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstRectangle::MouseButtonUp(const MouseEvent& rMEvt)
+BOOL FuConstRectangle::MouseButtonUp(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -161,7 +161,7 @@ BOOL __EXPORT FuConstRectangle::MouseButtonUp(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstRectangle::KeyInput(const KeyEvent& rKEvt)
+BOOL FuConstRectangle::KeyInput(const KeyEvent& rKEvt)
{
BOOL bReturn = FuConstruct::KeyInput(rKEvt);
return(bReturn);
diff --git a/sc/source/ui/drawfunc/fuconstr.cxx b/sc/source/ui/drawfunc/fuconstr.cxx
index 63b1a34ac221..f6677d686754 100644
--- a/sc/source/ui/drawfunc/fuconstr.cxx
+++ b/sc/source/ui/drawfunc/fuconstr.cxx
@@ -83,7 +83,7 @@ BYTE FuConstruct::Command(const CommandEvent& rCEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstruct::MouseButtonDown(const MouseEvent& rMEvt)
+BOOL FuConstruct::MouseButtonDown(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -130,7 +130,7 @@ BOOL __EXPORT FuConstruct::MouseButtonDown(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstruct::MouseMove(const MouseEvent& rMEvt)
+BOOL FuConstruct::MouseMove(const MouseEvent& rMEvt)
{
FuDraw::MouseMove(rMEvt);
@@ -177,7 +177,7 @@ BOOL __EXPORT FuConstruct::MouseMove(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstruct::MouseButtonUp(const MouseEvent& rMEvt)
+BOOL FuConstruct::MouseButtonUp(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -275,7 +275,7 @@ BOOL FuConstruct::SimpleMouseButtonUp(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstruct::KeyInput(const KeyEvent& rKEvt)
+BOOL FuConstruct::KeyInput(const KeyEvent& rKEvt)
{
BOOL bReturn = FALSE;
diff --git a/sc/source/ui/drawfunc/fuconuno.cxx b/sc/source/ui/drawfunc/fuconuno.cxx
index 45df699b3e75..a1ff645f379a 100644
--- a/sc/source/ui/drawfunc/fuconuno.cxx
+++ b/sc/source/ui/drawfunc/fuconuno.cxx
@@ -68,7 +68,7 @@ FuConstUnoControl::~FuConstUnoControl()
|*
\************************************************************************/
-BOOL __EXPORT FuConstUnoControl::MouseButtonDown(const MouseEvent& rMEvt)
+BOOL FuConstUnoControl::MouseButtonDown(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -91,7 +91,7 @@ BOOL __EXPORT FuConstUnoControl::MouseButtonDown(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstUnoControl::MouseMove(const MouseEvent& rMEvt)
+BOOL FuConstUnoControl::MouseMove(const MouseEvent& rMEvt)
{
return FuConstruct::MouseMove(rMEvt);
}
@@ -102,7 +102,7 @@ BOOL __EXPORT FuConstUnoControl::MouseMove(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstUnoControl::MouseButtonUp(const MouseEvent& rMEvt)
+BOOL FuConstUnoControl::MouseButtonUp(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -127,7 +127,7 @@ BOOL __EXPORT FuConstUnoControl::MouseButtonUp(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuConstUnoControl::KeyInput(const KeyEvent& rKEvt)
+BOOL FuConstUnoControl::KeyInput(const KeyEvent& rKEvt)
{
BOOL bReturn = FuConstruct::KeyInput(rKEvt);
return(bReturn);
diff --git a/sc/source/ui/drawfunc/fudraw.cxx b/sc/source/ui/drawfunc/fudraw.cxx
index 70342cc10e24..2f2fb0690475 100644
--- a/sc/source/ui/drawfunc/fudraw.cxx
+++ b/sc/source/ui/drawfunc/fudraw.cxx
@@ -92,17 +92,10 @@ void FuDraw::DoModifiers(const MouseEvent& rMEvt)
// Alt = zentrisch
BOOL bShift = rMEvt.IsShift();
-// BOOL bCtrl = rMEvt.IsMod1();
BOOL bAlt = rMEvt.IsMod2();
-// ScViewData* pViewData = pViewShell->GetViewData();
-// const ScViewOptions& rOpt = pViewData->GetOptions();
-// const ScGridOptions& rGrid = rOpt.GetGridOptions();
-// BOOL bGridOpt = rGrid.GetUseGridSnap();
-
- BOOL bOrtho = bShift;
+ bool bOrtho = bShift;
BOOL bAngleSnap = bShift;
-// BOOL bGridSnap = ( bGridOpt != bCtrl ); // andere Snap's nicht unterstuetzt
BOOL bCenter = bAlt;
// #i33136#
@@ -116,13 +109,6 @@ void FuDraw::DoModifiers(const MouseEvent& rMEvt)
if (pView->IsAngleSnapEnabled() != bAngleSnap)
pView->SetAngleSnapEnabled(bAngleSnap);
-/* Control fuer Snap beisst sich beim Verschieben mit "kopieren" !!!
-
- if (pView->IsGridSnap() != bGridSnap)
- pView->SetGridSnap(bGridSnap);
- if (pView->IsSnapEnabled() != bGridSnap)
- pView->SetSnapEnabled(bGridSnap);
-*/
if (pView->IsCreate1stPointAsCenter() != bCenter)
pView->SetCreate1stPointAsCenter(bCenter);
if (pView->IsResizeAtCenter() != bCenter)
@@ -159,7 +145,7 @@ void FuDraw::ResetModifiers()
|*
\************************************************************************/
-BOOL __EXPORT FuDraw::MouseButtonDown(const MouseEvent& rMEvt)
+BOOL FuDraw::MouseButtonDown(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -174,7 +160,7 @@ BOOL __EXPORT FuDraw::MouseButtonDown(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuDraw::MouseMove(const MouseEvent& rMEvt)
+BOOL FuDraw::MouseMove(const MouseEvent& rMEvt)
{
// #106438# evaluate modifiers only if in a drawing layer action
// (don't interfere with keyboard shortcut handling)
@@ -190,7 +176,7 @@ BOOL __EXPORT FuDraw::MouseMove(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuDraw::MouseButtonUp(const MouseEvent& rMEvt)
+BOOL FuDraw::MouseButtonUp(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -241,7 +227,7 @@ BOOL lcl_KeyEditMode( SdrObject* pObj, ScTabViewShell* pViewShell, const KeyEven
return bReturn;
}
-BOOL __EXPORT FuDraw::KeyInput(const KeyEvent& rKEvt)
+BOOL FuDraw::KeyInput(const KeyEvent& rKEvt)
{
BOOL bReturn = FALSE;
ScViewData& rViewData = *pViewShell->GetViewData();
@@ -249,25 +235,6 @@ BOOL __EXPORT FuDraw::KeyInput(const KeyEvent& rKEvt)
switch ( rKEvt.GetKeyCode().GetCode() )
{
case KEY_ESCAPE:
-
- /* 18.12.95: TextShell beibehalten nicht mehr gewuenscht...
- *
- * if ( pView->IsAction() )
- * {
- * pView->BrkAction();
- * pWindow->ReleaseMouse();
- * bReturn = TRUE;
- * }
- * else if ( pView->IsTextEdit() )
- * {
- * pView->EndTextEdit();
- * pView->SetCreateMode();
- * pViewShell->GetScDrawView()->InvalidateDrawTextAttrs();
- * bReturn = TRUE;
- * }
- * else
- */
-
if ( pViewShell->IsDrawTextShell() || aSfxRequest.GetSlot() == SID_DRAW_NOTEEDIT )
{
// in normale Draw-Shell, wenn Objekt selektiert, sonst Zeichnen aus
diff --git a/sc/source/ui/drawfunc/fuins1.cxx b/sc/source/ui/drawfunc/fuins1.cxx
index 41501905fe61..b26e418ce9ed 100644
--- a/sc/source/ui/drawfunc/fuins1.cxx
+++ b/sc/source/ui/drawfunc/fuins1.cxx
@@ -87,7 +87,7 @@
//
////------------------------------------------------------------------------
//
-//__EXPORT ImportProgress::~ImportProgress()
+//ImportProgress::~ImportProgress()
//{
// aProgress.SetState( 100 );
//}
diff --git a/sc/source/ui/drawfunc/fuins2.cxx b/sc/source/ui/drawfunc/fuins2.cxx
index 89a483d736d5..c49ac8bd2b47 100644
--- a/sc/source/ui/drawfunc/fuins2.cxx
+++ b/sc/source/ui/drawfunc/fuins2.cxx
@@ -162,7 +162,7 @@ void lcl_ChartInit( const uno::Reference < embed::XEmbeddedObject >& xObj, ScVie
// use ScChartPositioner to auto-detect column/row headers (like ScChartArray in old version)
ScRangeListRef aRangeListRef( new ScRangeList );
aRangeListRef->Parse( aRangeString, pScDoc );
- if ( aRangeListRef->Count() )
+ if ( !aRangeListRef->empty() )
{
pScDoc->LimitChartIfAll( aRangeListRef ); // limit whole columns/rows to used area
@@ -193,16 +193,16 @@ void lcl_ChartInit( const uno::Reference < embed::XEmbeddedObject >& xObj, ScVie
uno::Sequence< beans::PropertyValue > aArgs( 4 );
aArgs[0] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("CellRangeRepresentation"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CellRangeRepresentation")), -1,
uno::makeAny( aRangeString ), beans::PropertyState_DIRECT_VALUE );
aArgs[1] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("HasCategories"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HasCategories")), -1,
uno::makeAny( bHasCategories ), beans::PropertyState_DIRECT_VALUE );
aArgs[2] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("FirstCellAsLabel"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FirstCellAsLabel")), -1,
uno::makeAny( bFirstCellAsLabel ), beans::PropertyState_DIRECT_VALUE );
aArgs[3] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("DataRowSource"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DataRowSource")), -1,
uno::makeAny( eDataRowSource ), beans::PropertyState_DIRECT_VALUE );
xReceiver->setArguments( aArgs );
@@ -312,7 +312,7 @@ FuInsertOLE::FuInsertOLE(ScTabViewShell* pViewSh, Window* pWin, ScDrawView* pVie
uno::Reference < beans::XPropertySet > xSet( xObj->getComponent(), uno::UNO_QUERY );
if ( xSet.is() )
{
- xSet->setPropertyValue( ::rtl::OUString::createFromAscii("PluginURL"),
+ xSet->setPropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PluginURL")),
uno::makeAny( ::rtl::OUString( aURL.GetMainURL( INetURLObject::NO_DECODE ) ) ) );
}
}
@@ -532,12 +532,13 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView*
aRangeString = aStr;
// get "total" range for positioning
- ULONG nCount = aRanges.Count();
- if ( nCount > 0 )
+ if ( !aRanges.empty() )
{
- aPositionRange = *aRanges.GetObject(0);
- for (ULONG i=1; i<nCount; i++)
- aPositionRange.ExtendTo( *aRanges.GetObject(i) );
+ aPositionRange = *aRanges[ 0 ];
+ for ( size_t i = 1, nCount = aRanges.size(); i < nCount; ++i )
+ {
+ aPositionRange.ExtendTo( *aRanges[ i ] );
+ }
}
if(bAutomaticMark)
@@ -716,7 +717,7 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView*
{
uno::Reference< ui::dialogs::XExecutableDialog > xDialog(
xMCF->createInstanceWithContext(
- rtl::OUString::createFromAscii("com.sun.star.comp.chart2.WizardDialog")
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.chart2.WizardDialog"))
, xContext), uno::UNO_QUERY);
uno::Reference< lang::XInitialization > xInit( xDialog, uno::UNO_QUERY );
if( xChartModel.is() && xInit.is() )
@@ -726,10 +727,10 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView*
uno::Sequence<uno::Any> aSeq(2);
uno::Any* pArray = aSeq.getArray();
beans::PropertyValue aParam1;
- aParam1.Name = rtl::OUString::createFromAscii("ParentWindow");
+ aParam1.Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParentWindow"));
aParam1.Value <<= uno::makeAny(xDialogParentWindow);
beans::PropertyValue aParam2;
- aParam2.Name = rtl::OUString::createFromAscii("ChartModel");
+ aParam2.Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ChartModel"));
aParam2.Value <<= uno::makeAny(xChartModel);
pArray[0] <<= uno::makeAny(aParam1);
pArray[1] <<= uno::makeAny(aParam2);
@@ -743,7 +744,7 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView*
{
//get dialog size:
awt::Size aDialogAWTSize;
- if( xDialogProps->getPropertyValue( ::rtl::OUString::createFromAscii("Size") )
+ if( xDialogProps->getPropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Size")) )
>>= aDialogAWTSize )
{
Size aDialogSize( aDialogAWTSize.Width, aDialogAWTSize.Height );
@@ -751,12 +752,12 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView*
{
//calculate and set new position
Point aDialogPos = pViewShell->GetChartDialogPos( aDialogSize, aRect );
- xDialogProps->setPropertyValue( ::rtl::OUString::createFromAscii("Position"),
+ xDialogProps->setPropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Position")),
uno::makeAny( awt::Point(aDialogPos.getX(),aDialogPos.getY()) ) );
}
}
//tell the dialog to unlock controller
- xDialogProps->setPropertyValue( ::rtl::OUString::createFromAscii("UnlockControllersOnExecute"),
+ xDialogProps->setPropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("UnlockControllersOnExecute")),
uno::makeAny( sal_True ) );
}
diff --git a/sc/source/ui/drawfunc/fusel.cxx b/sc/source/ui/drawfunc/fusel.cxx
index 1fdf75eabc2f..10a81e6de20a 100644
--- a/sc/source/ui/drawfunc/fusel.cxx
+++ b/sc/source/ui/drawfunc/fusel.cxx
@@ -108,7 +108,7 @@ BYTE FuSelection::Command(const CommandEvent& rCEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuSelection::MouseButtonDown(const MouseEvent& rMEvt)
+BOOL FuSelection::MouseButtonDown(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -220,7 +220,7 @@ BOOL __EXPORT FuSelection::MouseButtonDown(const MouseEvent& rMEvt)
{
try
{
- aCaller = xProps->getPropertyValue( rtl::OUString::createFromAscii("Name") );
+ aCaller = xProps->getPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Name")) );
}
catch( uno::Exception& ) {}
}
@@ -343,7 +343,7 @@ BOOL __EXPORT FuSelection::MouseButtonDown(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuSelection::MouseMove(const MouseEvent& rMEvt)
+BOOL FuSelection::MouseMove(const MouseEvent& rMEvt)
{
BOOL bReturn = FuDraw::MouseMove(rMEvt);
@@ -390,7 +390,7 @@ BOOL __EXPORT FuSelection::MouseMove(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuSelection::MouseButtonUp(const MouseEvent& rMEvt)
+BOOL FuSelection::MouseButtonUp(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
diff --git a/sc/source/ui/drawfunc/futext.cxx b/sc/source/ui/drawfunc/futext.cxx
index 6742ea4c8186..391708b4a147 100644
--- a/sc/source/ui/drawfunc/futext.cxx
+++ b/sc/source/ui/drawfunc/futext.cxx
@@ -132,7 +132,7 @@ FuText::~FuText()
|*
\************************************************************************/
-BOOL __EXPORT FuText::MouseButtonDown(const MouseEvent& rMEvt)
+BOOL FuText::MouseButtonDown(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -343,7 +343,7 @@ BOOL __EXPORT FuText::MouseButtonDown(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuText::MouseMove(const MouseEvent& rMEvt)
+BOOL FuText::MouseMove(const MouseEvent& rMEvt)
{
BOOL bReturn = FALSE;
@@ -366,9 +366,6 @@ BOOL __EXPORT FuText::MouseMove(const MouseEvent& rMEvt)
if ( pView->IsAction() )
{
-/* aNewPointer = Pointer(POINTER_TEXT);
- pViewShell->SetActivePointer(aNewPointer);
-*/
Point aPix(rMEvt.GetPosPixel());
Point aPnt(pWindow->PixelToLogic(aPix));
@@ -387,7 +384,7 @@ BOOL __EXPORT FuText::MouseMove(const MouseEvent& rMEvt)
|*
\************************************************************************/
-BOOL __EXPORT FuText::MouseButtonUp(const MouseEvent& rMEvt)
+BOOL FuText::MouseButtonUp(const MouseEvent& rMEvt)
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode(rMEvt.GetButtons());
@@ -524,49 +521,6 @@ BOOL __EXPORT FuText::MouseButtonUp(const MouseEvent& rMEvt)
void FuText::ForcePointer(const MouseEvent* /* pMEvt */)
{
pViewShell->SetActivePointer( aNewPointer );
-
-/*
- if ( !pView->IsAction() )
- {
- Point aPnt(pWindow->PixelToLogic( pWindow->ScreenToOutputPixel(
- Pointer::GetPosPixel() ) ) );
- SdrHdl* pHdl=pView->HitHandle(aPnt, *pWindow);
-
- if (pHdl!=NULL)
- {
- pViewShell->SetActivePointer(pHdl->GetPointer() );
- }
- else
- {
- SdrObject* pObj;
- SdrPageView* pPV;
-
- if ( pView->IsMarkedHit(aPnt) )
- {
- if ( pView->TakeTextEditObject(aPnt, pObj, pPV) )
- {
- pViewShell->SetActivePointer(Pointer(POINTER_TEXT));
- }
- else
- {
- pViewShell->SetActivePointer(Pointer(POINTER_MOVE));
- }
- }
- else
- {
-// if ( pView->TakeMacroObject(aPnt, pObj, pPV) )
- if ( pView->PickObj(aPnt, pObj, pPV, SDRSEARCH_PICKMACRO) )
- {
- pViewShell->SetActivePointer( pObj->GetMacroPointer() );
- }
- else
- {
- pViewShell->SetActivePointer( aNewPointer );
- }
- }
- }
- }
-*/
}
@@ -580,7 +534,7 @@ void FuText::ForcePointer(const MouseEvent* /* pMEvt */)
|*
\************************************************************************/
-BOOL __EXPORT FuText::KeyInput(const KeyEvent& rKEvt)
+BOOL FuText::KeyInput(const KeyEvent& rKEvt)
{
BOOL bReturn = FALSE;
@@ -622,17 +576,12 @@ void FuText::Activate()
**********************************************************************/
USHORT nObj = OBJ_TEXT;
-/* UINT16 nIdent;
- UINT32 nInvent;
- pView->TakeCurrentObj(nIdent, nInvent);
-*/
pView->SetCurrentObj(nObj);
pView->SetCreateMode();
}
aNewPointer = Pointer(POINTER_TEXT);
-// aNewPointer = Pointer(POINTER_CROSS); //! ???
aOldPointer = pWindow->GetPointer();
pViewShell->SetActivePointer( aNewPointer );
@@ -701,22 +650,6 @@ void FuText::SelectionHasChanged()
UINT32 nInvent;
pView->TakeCurrentObj(nIdent, nInvent);
-// if (! pView->IsEditMode() )
-// {
-// if (nIdent == OBJ_TEXT)
-// {
-// nObj = OBJ_TEXT;
-// }
-// else if (nIdent == OBJ_OUTLINETEXT)
-// {
-// nObj = OBJ_OUTLINETEXT;
-// }
-// else if (nIdent == OBJ_TITLETEXT)
-// {
-// nObj = OBJ_TITLETEXT;
-// }
-// }
-
pView->SetCurrentObj(nObj);
pView->SetCreateMode();
diff --git a/sc/source/ui/drawfunc/futext2.cxx b/sc/source/ui/drawfunc/futext2.cxx
index 354339dd0d75..c1a4e2ce6f22 100644
--- a/sc/source/ui/drawfunc/futext2.cxx
+++ b/sc/source/ui/drawfunc/futext2.cxx
@@ -42,92 +42,22 @@
#define _TREELIST_HXX
#define _CACHESTR_HXX
#define _NEW_HXX
-//#define _SHL_HXX
-//#define _LINK_HXX
-//#define _ERRCODE_HXX
-//#define _GEN_HXX
-//#define _FRACT_HXX
-//#define _STRING_HXX
-//#define _MTF_HXX
-//#define _CONTNR_HXX
-//#define _LIST_HXX
-//#define _TABLE_HXX
#define _DYNARY_HXX
-//#define _UNQIDX_HXX
#define _SVMEMPOOL_HXX
-//#define _UNQID_HXX
-//#define _DEBUG_HXX
-//#define _DATE_HXX
-//#define _TIME_HXX
-//#define _DATETIME_HXX
-//#define _INTN_HXX
-//#define _WLDCRD_HXX
-//#define _FSYS_HXX
-//#define _STREAM_HXX
#define _CACHESTR_HXX
#define _SV_MULTISEL_HXX
//SV
-//#define _CLIP_HXX ***
#define _CONFIG_HXX
#define _CURSOR_HXX
#define _FONTDLG_HXX
#define _PRVWIN_HXX
-//#define _COLOR_HXX
-//#define _PAL_HXX
-//#define _BITMAP_HXX
-//#define _GDIOBJ_HXX
-//#define _POINTR_HXX
-//#define _ICON_HXX
-//#define _IMAGE_HXX
-//#define _KEYCOD_HXX
-//#define _EVENT_HXX
#define _HELP_HXX
-//#define _APP_HXX
-//#define _MDIAPP_HXX
-//#define _TIMER_HXX
-//#define _METRIC_HXX
-//#define _REGION_HXX
-//#define _OUTDEV_HXX
-//#define _SYSTEM_HXX
-//#define _VIRDEV_HXX
-//#define _JOBSET_HXX
-//#define _PRINT_HXX
-//#define _WINDOW_HXX
-//#define _SYSWIN_HXX
-//#define _WRKWIN_HXX
#define _MDIWIN_HXX
-//#define _FLOATWIN_HXX
-//#define _DOCKWIN_HXX
-//#define _CTRL_HXX
-//#define _SCRBAR_HXX
-//#define _BUTTON_HXX
-//#define _IMAGEBTN_HXX
-//#define _FIXED_HXX
-//#define _GROUP_HXX
-//#define _EDIT_HXX
-//#define _COMBOBOX_HXX
-//#define _LSTBOX_HXX
-//#define _SELENG_HXX ***
-//#define _SPLIT_HXX
#define _SPIN_HXX
-//#define _FIELD_HXX
-//#define _MOREBTN_HXX ***
-//#define _TOOLBOX_HXX
#define _STATUS_HXX
#define _SVTCTRL3_HXX
-//#define _DIALOG_HXX
-//#define _MSGBOX_HXX
-//#define _SYSDLG_HXX
-//#define _FILDLG_HXX ***
-//#define _PRNDLG_HXX
#define _COLDLG_HXX
-//#define _TABDLG_HXX
-//#define _MENU_HXX ***
-//#define _GDIMTF_HXX
-//#define _POLY_HXX
-//#define _ACCEL_HXX
-//#define _GRAPH_HXX
#define _SOUND_HXX
#if defined WIN
@@ -137,48 +67,28 @@
//svtools
#define _SCRWIN_HXX
#define _RULER_HXX
-//#define _TABBAR_HXX
-//#define _VALUESET_HXX
#define _STDMENU_HXX
-//#define _STDCTRL_HXX
-//#define _CTRLBOX_HXX
#define _CTRLTOOL_HXX
#define _EXTATTR_HXX
#define _FRM3D_HXX
#define _EXTATTR_HXX
//SVTOOLS
-//#define _SVTREELIST_HXX
#define _FILTER_HXX
-//#define _SVLBOXITM_HXX
-//#define _SVTREEBOX_HXX
#define _SVICNVW_HXX
#define _SVTABBX_HXX
//sfxcore.hxx
-//#define _SFXINIMGR_HXX
-//#define _SFXCFGITEM_HXX
-//#define _SFX_PRINTER_HXX
#define _SFXGENLINK_HXX
#define _SFXHINTPOST_HXX
#define _SFXDOCINF_HXX
#define _SFXLINKHDL_HXX
-//#define _SFX_PROGRESS_HXX
//sfxsh.hxx
-//#define _SFX_SHELL_HXX
-//#define _SFXAPP_HXX
-//#define _SFXDISPATCH_HXX
-//#define _SFXMSG_HXX
-//#define _SFXOBJFACE_HXX
-//#define _SFXREQUEST_HXX
#define _SFXMACRO_HXX
// SFX
-//#define _SFXAPPWIN_HXX
#define _SFX_SAVEOPT_HXX
-//#define _SFX_CHILDWIN_HXX
-//#define _SFXCTRLITEM_HXX
#define _SFXPRNMON_HXX
#define _INTRO_HXX
#define _SFXMSGDESCR_HXX
@@ -195,79 +105,37 @@
#define _SFXEVENT_HXX
//sfxdoc.hxx
-//#define _SFX_OBJSH_HXX
-//#define _SFX_CLIENTSH_HXX
-//#define _SFXDOCINF_HXX
-//#define _SFX_OBJFAC_HXX
#define _SFX_DOCFILT_HXX
-//#define _SFXDOCFILE_HXX
-//define _VIEWFAC_HXX
-//#define _SFXVIEWFRM_HXX
-//#define _SFXVIEWSH_HXX
-//#define _MDIFRM_HXX
#define _SFX_IPFRM_HXX
-//#define _SFX_INTERNO_HXX
//sfxdlg.hxx
-//#define _SFXTABDLG_HXX
-//#define _BASEDLGS_HXX
#define _SFX_DINFDLG_HXX
#define _SFXDINFEDT_HXX
#define _SFX_MGETEMPL_HXX
#define _SFX_TPLPITEM_HXX
-//#define _SFX_STYLEDLG_HXX
#define _NEWSTYLE_HXX
-//#define _SFXDOCTEMPL_HXX
-//#define _SFXDOCTDLG_HXX
-//#define _SFX_TEMPLDLG_HXX
-//#define _SFXNEW_HXX
#define _SFXDOCMAN_HXX
-//#define _SFXDOCKWIN_HXX **
//sfxitems.hxx
#define _SFX_WHMAP_HXX
-//#define _ARGS_HXX ***
-//#define _SFXPOOLITEM_HXX
-//#define _SFXINTITEM_HXX
-//#define _SFXENUMITEM_HXX
#define _SFXFLAGITEM_HXX
-//#define _SFXSTRITEM_HXX
#define _SFXPTITEM_HXX
#define _SFXRECTITEM_HXX
-//#define _SFXITEMPOOL_HXX
-//#define _SFXITEMSET_HXX
#define _SFXITEMITER_HXX
#define _SFX_WHITER_HXX
#define _SFXPOOLCACH_HXX
-//#define _AEITEM_HXX
#define _SFXRNGITEM_HXX
-//#define _SFXSLSTITM_HXX
-//#define _SFXSTYLE_HXX
-
-//xout.hxx
-//#define _XENUM_HXX
-//#define _XPOLY_HXX
-//#define _XATTR_HXX
-//#define _XOUTX_HXX
-//#define _XPOOL_HXX
-//#define _XTABLE_HXX
//svdraw.hxx
#define _SDR_NOITEMS
#define _SDR_NOTOUCH
#define _SDR_NOTRANSFORM
-//#define _SDR_NOOBJECTS
-//#define _SDR_NOVIEWS
-//#define SI_NOITEMS
-//#define SI_NODRW
#define _SI_NOSBXCONTROLS
#define _VCATTR_HXX
#define _VCONT_HXX
-//#define _VCSBX_HXX ***
#define _SI_NOOTHERFORMS
#define _VCTRLS_HXX
-//#define _VCDRWOBJ_HXX ***
#define _SI_NOCONTROL
#define _SETBRW_HXX
#define _VCBRW_HXX
diff --git a/sc/source/ui/drawfunc/makefile.mk b/sc/source/ui/drawfunc/makefile.mk
index cf69944d3a1a..41aa76331df5 100644
--- a/sc/source/ui/drawfunc/makefile.mk
+++ b/sc/source/ui/drawfunc/makefile.mk
@@ -43,40 +43,37 @@ SRC1FILES = \
drformsh.src
SLOFILES = \
- $(SLO)$/fupoor.obj \
- $(SLO)$/fumark.obj \
- $(SLO)$/fudraw.obj \
- $(SLO)$/fusel.obj \
- $(SLO)$/fusel2.obj \
- $(SLO)$/fuconstr.obj \
- $(SLO)$/fuconrec.obj \
- $(SLO)$/fuconarc.obj \
- $(SLO)$/fuconuno.obj \
- $(SLO)$/fuconpol.obj \
- $(SLO)$/fuconcustomshape.obj \
- $(SLO)$/fuins1.obj \
- $(SLO)$/fuins2.obj \
- $(SLO)$/futext.obj \
- $(SLO)$/futext2.obj \
- $(SLO)$/futext3.obj \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES= \
+ $(SLO)$/chartsh.obj \
$(SLO)$/drawsh.obj \
$(SLO)$/drawsh2.obj \
$(SLO)$/drawsh4.obj \
$(SLO)$/drawsh5.obj \
+ $(SLO)$/drformsh.obj \
$(SLO)$/drtxtob.obj \
$(SLO)$/drtxtob1.obj \
$(SLO)$/drtxtob2.obj \
- $(SLO)$/drformsh.obj \
- $(SLO)$/oleobjsh.obj \
- $(SLO)$/chartsh.obj \
- $(SLO)$/graphsh.obj \
- $(SLO)$/mediash.obj
-
-EXCEPTIONSFILES= \
- $(SLO)$/fusel.obj \
+ $(SLO)$/fuconarc.obj \
+ $(SLO)$/fuconcustomshape.obj \
+ $(SLO)$/fuconpol.obj \
+ $(SLO)$/fuconrec.obj \
+ $(SLO)$/fuconstr.obj \
+ $(SLO)$/fuconuno.obj \
+ $(SLO)$/fudraw.obj \
+ $(SLO)$/fuins1.obj \
$(SLO)$/fuins2.obj \
- $(SLO)$/graphsh.obj \
- $(SLO)$/mediash.obj
+ $(SLO)$/fumark.obj \
+ $(SLO)$/fupoor.obj \
+ $(SLO)$/fusel.obj \
+ $(SLO)$/fusel2.obj \
+ $(SLO)$/futext.obj \
+ $(SLO)$/futext2.obj \
+ $(SLO)$/futext3.obj \
+ $(SLO)$/graphsh.obj \
+ $(SLO)$/mediash.obj \
+ $(SLO)$/oleobjsh.obj
NOOPTFILES=\
$(SLO)$/fusel.obj
diff --git a/sc/source/ui/formdlg/dwfunctr.cxx b/sc/source/ui/formdlg/dwfunctr.cxx
index d22531e76f59..cfc916a45e0d 100644
--- a/sc/source/ui/formdlg/dwfunctr.cxx
+++ b/sc/source/ui/formdlg/dwfunctr.cxx
@@ -60,7 +60,7 @@
SFX_IMPL_DOCKINGWINDOW( ScFunctionChildWindow, FID_FUNCTION_BOX )
/*************************************************************************
-#* Member: ScFunctionChildWindow Datum:06.10.97
+#* Member: ScFunctionChildWindow
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionChildWindow
@@ -75,7 +75,7 @@ SFX_IMPL_DOCKINGWINDOW( ScFunctionChildWindow, FID_FUNCTION_BOX )
#*
#************************************************************************/
-__EXPORT ScFunctionChildWindow::ScFunctionChildWindow( Window* pParentP,
+ScFunctionChildWindow::ScFunctionChildWindow( Window* pParentP,
USHORT nId,
SfxBindings* pBindings,
SfxChildWinInfo* pInfo ) :
@@ -91,7 +91,7 @@ __EXPORT ScFunctionChildWindow::ScFunctionChildWindow( Window* pParentP,
}
/*************************************************************************
-#* Member: ScFunctionDockWin Datum:06.10.97
+#* Member: ScFunctionDockWin
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -137,7 +137,6 @@ ScFunctionDockWin::ScFunctionDockWin( SfxBindings* pBindingsP,
aFont.SetColor(Color(COL_BLACK));
aFiFuncDesc.SetFont(aFont);
aFiFuncDesc.SetBackground( GetBackground() ); //! never transparent?
-//? SetBackground();
Link aLink=LINK( this, ScFunctionDockWin, SelHdl);
aCatBox.SetSelectHdl(aLink);
@@ -154,7 +153,6 @@ ScFunctionDockWin::ScFunctionDockWin( SfxBindings* pBindingsP,
StartListening( *pBindingsP, TRUE );
Point aTopLeft=aCatBox.GetPosPixel();
- //String aString=aCatBox.GetEntry( 0)+String("www");
String aString=String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("ww"));
Size aTxtSize( aFiFuncDesc.GetTextWidth(aString), aFiFuncDesc.GetTextHeight() );
nMinWidth=aTxtSize.Width()+aTopLeft.X()
@@ -170,7 +168,7 @@ ScFunctionDockWin::ScFunctionDockWin( SfxBindings* pBindingsP,
}
/*************************************************************************
-#* Member: ScFunctionDockWin Datum:06.10.97
+#* Member: ScFunctionDockWin
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -183,13 +181,13 @@ ScFunctionDockWin::ScFunctionDockWin( SfxBindings* pBindingsP,
#*
#************************************************************************/
-__EXPORT ScFunctionDockWin::~ScFunctionDockWin()
+ScFunctionDockWin::~ScFunctionDockWin()
{
EndListening( GetBindings() );
}
/*************************************************************************
-#* Member: UpdateFunctionList Datum:06.10.97
+#* Member: UpdateFunctionList
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -227,7 +225,7 @@ void ScFunctionDockWin::InitLRUList()
}
/*************************************************************************
-#* Member: UpdateFunctionList Datum:10.12.99
+#* Member: UpdateFunctionList
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -251,7 +249,7 @@ void ScFunctionDockWin::UpdateLRUList()
/*************************************************************************
-#* Member: SetSize Datum:06.10.97
+#* Member: SetSize
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -328,7 +326,7 @@ void ScFunctionDockWin::SetSize()
}
}
/*************************************************************************
-#* Member: SetLeftRightSize Datum:15.10.97
+#* Member: SetLeftRightSize
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -353,8 +351,6 @@ void ScFunctionDockWin::SetLeftRightSize()
aDiffSize.Width()-=aNewSize.Width();
aDiffSize.Height()-=aNewSize.Height();
- //@ SetUpdateMode( FALSE);
-
String aString = String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("ww"));
Size aTxtSize( aFuncList.GetTextWidth(aString), aFuncList.GetTextHeight() );
@@ -373,14 +369,12 @@ void ScFunctionDockWin::SetLeftRightSize()
aOldSize=aNewSize;
aNewSize.Width()+=aDiffSize.Width();
aNewSize.Height()+=aDiffSize.Height();
- //SetSizePixel(aNewSize);
- //@ SetUpdateMode( TRUE);
bSizeFlag=FALSE;
}
}
/*************************************************************************
-#* Member: SetTopBottonSize Datum:15.10.97
+#* Member: SetTopBottonSize
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -409,14 +403,12 @@ void ScFunctionDockWin::SetTopBottonSize()
aNewSize.Width()+=aDiffSize.Width();
aNewSize.Height()+=aDiffSize.Height();
- //SetSizePixel(aNewSize);
- //@ SetUpdateMode( TRUE);
bSizeFlag=FALSE;
}
}
/*************************************************************************
-#* Member: SetMyWidthLeRi Datum:15.10.97
+#* Member: SetMyWidthLeRi
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -456,7 +448,7 @@ void ScFunctionDockWin::SetMyWidthLeRi(Size &aNewSize)
}
/*************************************************************************
-#* Member: SetHeight Datum:06.10.97
+#* Member: SetHeight
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -504,7 +496,7 @@ void ScFunctionDockWin::SetMyHeightLeRi(Size &aNewSize)
}
/*************************************************************************
-#* Member: SetMyWidthToBo Datum:16.10.97
+#* Member: SetMyWidthToBo
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -545,7 +537,7 @@ void ScFunctionDockWin::SetMyWidthToBo(Size &aNewSize)
}
/*************************************************************************
-#* Member: SetHeight Datum:16.10.97
+#* Member: SetHeight
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -574,7 +566,7 @@ void ScFunctionDockWin::SetMyHeightToBo(Size &aNewSize)
}
/*************************************************************************
-#* Member: SetDescription Datum:13.10.97
+#* Member: SetDescription
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -597,30 +589,30 @@ void ScFunctionDockWin::SetDescription()
{
pDesc->initArgumentInfo(); // full argument info is needed
- String aString=pAllFuncList->GetSelectEntry();
+ ::rtl::OUStringBuffer aBuf(pAllFuncList->GetSelectEntry());
if(nDockMode==0)
{
- aString.AppendAscii(RTL_CONSTASCII_STRINGPARAM( ":\n\n" ));
+ aBuf.appendAscii(":\n\n");
}
else
{
- aString.AppendAscii(RTL_CONSTASCII_STRINGPARAM( ": " ));
+ aBuf.appendAscii(": ");
}
- aString+=pDesc->GetParamList();
+ aBuf.append(pDesc->GetParamList());
if(nDockMode==0)
{
- aString.AppendAscii(RTL_CONSTASCII_STRINGPARAM( "\n\n" ));
+ aBuf.appendAscii("\n\n");
}
else
{
- aString += '\n';
+ aBuf.appendAscii("\n");
}
- aString+=*(pDesc->pFuncDesc);
+ aBuf.append(*pDesc->pFuncDesc);
- aFiFuncDesc.SetText(aString);
+ aFiFuncDesc.SetText(aBuf.makeStringAndClear());
aFiFuncDesc.StateChanged(STATE_CHANGE_TEXT);
aFiFuncDesc.Invalidate();
aFiFuncDesc.Update();
@@ -629,7 +621,7 @@ void ScFunctionDockWin::SetDescription()
}
/*************************************************************************
-#* Member: Resizing Datum:06.10.97
+#* Member: Resizing
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -643,7 +635,7 @@ void ScFunctionDockWin::SetDescription()
#*
#************************************************************************/
-void __EXPORT ScFunctionDockWin::Resizing( Size& rNewSize )
+void ScFunctionDockWin::Resizing( Size& rNewSize )
{
if((ULONG)rNewSize.Width()<nMinWidth) rNewSize.Width()=nMinWidth;
if((ULONG)rNewSize.Height()<nMinHeight) rNewSize.Height()=nMinHeight;
@@ -651,7 +643,7 @@ void __EXPORT ScFunctionDockWin::Resizing( Size& rNewSize )
}
/*************************************************************************
-#* Member: Close Datum:07.10.97
+#* Member: Close
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -664,7 +656,7 @@ void __EXPORT ScFunctionDockWin::Resizing( Size& rNewSize )
#*
#************************************************************************/
-BOOL __EXPORT ScFunctionDockWin::Close()
+BOOL ScFunctionDockWin::Close()
{
SfxBoolItem aItem( FID_FUNCTION_BOX, FALSE );
@@ -679,7 +671,7 @@ BOOL __EXPORT ScFunctionDockWin::Close()
/*************************************************************************
-#* Member: CheckAlignment Datum:16.10.97
+#* Member: CheckAlignment
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -692,7 +684,7 @@ BOOL __EXPORT ScFunctionDockWin::Close()
#* Output: Das uebergebene Alignment
#*
#************************************************************************/
-SfxChildAlignment __EXPORT ScFunctionDockWin::CheckAlignment(SfxChildAlignment /* abla */,
+SfxChildAlignment ScFunctionDockWin::CheckAlignment(SfxChildAlignment /* abla */,
SfxChildAlignment aChildAlign)
{
String aString = String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("ww"));
@@ -719,9 +711,7 @@ SfxChildAlignment __EXPORT ScFunctionDockWin::CheckAlignment(SfxChildAlignment /
case SFX_ALIGN_TOOLBOXTOP:
case SFX_ALIGN_TOOLBOXBOTTOM:
- nMinWidth= 0;/*aDDFuncList.GetPosPixel().X()+
- 10*aTxtSize.Width()+
- aFuncList.GetPosPixel().X();*/
+ nMinWidth= 0;
nMinHeight=0;
break;
@@ -737,7 +727,6 @@ SfxChildAlignment __EXPORT ScFunctionDockWin::CheckAlignment(SfxChildAlignment /
nMinWidth=aTxtSize.Width()+aTopLeft.X()
+2*aFuncList.GetPosPixel().X();
nMinHeight=19*aTxtSize.Height();
- //aCatBox.SelectEntryPos(0);
break;
}
@@ -745,7 +734,7 @@ SfxChildAlignment __EXPORT ScFunctionDockWin::CheckAlignment(SfxChildAlignment /
return aChildAlign;
}
/*************************************************************************
-#* Member: Close Datum:07.10.97
+#* Member: Close
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -773,7 +762,7 @@ void ScFunctionDockWin::Notify( SfxBroadcaster&, const SfxHint& /* rHint */ )
/*************************************************************************
-#* Member: Resize Datum:06.10.97
+#* Member: Resize
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -787,7 +776,7 @@ void ScFunctionDockWin::Notify( SfxBroadcaster&, const SfxHint& /* rHint */ )
#*
#************************************************************************/
-void __EXPORT ScFunctionDockWin::Resize()
+void ScFunctionDockWin::Resize()
{
if ( !IsFloatingMode() ||
!GetFloatingWindow()->IsRollUp() )
@@ -800,7 +789,7 @@ void __EXPORT ScFunctionDockWin::Resize()
}
/*************************************************************************
-#* Member: UpdateFunctionList Datum:06.10.97
+#* Member: UpdateFunctionList
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -863,7 +852,7 @@ void ScFunctionDockWin::UpdateFunctionList()
}
/*************************************************************************
-#* Member: DoEnter Datum:06.10.97
+#* Member: DoEnter
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -979,7 +968,7 @@ void ScFunctionDockWin::DoEnter(BOOL /* bOk */) //@@ ???
/*************************************************************************
-#* Handle: SelHdl Datum:06.10.97
+#* Handle: SelHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -1012,7 +1001,7 @@ IMPL_LINK( ScFunctionDockWin, SelHdl, ListBox*, pLb )
}
/*************************************************************************
-#* Handle: SelHdl Datum:06.10.97
+#* Handle: SelHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -1039,7 +1028,7 @@ IMPL_LINK( ScFunctionDockWin, SetSelectionHdl, void*, pCtrl )
}
/*************************************************************************
-#* Handle: SetSplitHdl Datum:13.10.97
+#* Handle: SetSplitHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScFunctionDockWin
@@ -1068,12 +1057,6 @@ IMPL_LINK( ScFunctionDockWin, SetSplitHdl, ScPrivatSplit*, pCtrl )
aFuncList.SetSizePixel(aFLSize);
aFiFuncDesc.SetPosPixel(aFDTopLeft);
aFiFuncDesc.SetSizePixel(aFDSize);
- /*
- aFuncList.Invalidate();
- aFuncList.Update();
- aFiFuncDesc.Invalidate();
- aFiFuncDesc.Update();
- */
}
//...
diff --git a/sc/source/ui/formdlg/dwfunctr.hrc b/sc/source/ui/formdlg/dwfunctr.hrc
index 388fea28b7ca..a53c884583d2 100644
--- a/sc/source/ui/formdlg/dwfunctr.hrc
+++ b/sc/source/ui/formdlg/dwfunctr.hrc
@@ -31,7 +31,3 @@
#define IMB_INSERT 1
#define FI_FUNCDESC 1
#define FT_SPLIT 2
-
-
-// ********************************************************************** EOF
-
diff --git a/sc/source/ui/formdlg/dwfunctr.src b/sc/source/ui/formdlg/dwfunctr.src
index 6f8a054dd6ff..46061a512955 100644
--- a/sc/source/ui/formdlg/dwfunctr.src
+++ b/sc/source/ui/formdlg/dwfunctr.src
@@ -27,6 +27,7 @@
// include ---------------------------------------------------------------
#include "sc.hrc"
#include "dwfunctr.hrc"
+
// pragma ----------------------------------------------------------------
// RID_SVXDLG_CALCFUNC --------------------------------------------------
@@ -110,7 +111,7 @@ DockingWindow FID_FUNCTION_BOX
{
ImageBitmap = Bitmap
{
- File = "fx.bmp" ;
+ File = "fx.png";
};
MaskColor = STD_MASKCOLOR;
};
@@ -120,36 +121,3 @@ DockingWindow FID_FUNCTION_BOX
Text [ en-US ] = "Functions" ;
};
// ********************************************************************** EOF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/formdlg/formdlgs.src b/sc/source/ui/formdlg/formdlgs.src
index e3550030c74e..3d09f22ef985 100644
--- a/sc/source/ui/formdlg/formdlgs.src
+++ b/sc/source/ui/formdlg/formdlgs.src
@@ -26,4 +26,5 @@
************************************************************************/
#include "sc.hrc"
+
//---------------------------------------------------------------------------
diff --git a/sc/source/ui/formdlg/formula.cxx b/sc/source/ui/formdlg/formula.cxx
index 0510d503762b..2c4071d2e04f 100644
--- a/sc/source/ui/formdlg/formula.cxx
+++ b/sc/source/ui/formdlg/formula.cxx
@@ -97,7 +97,6 @@ ScFormulaDlg::ScFormulaDlg( SfxBindings* pB, SfxChildWindow* pCW,
// title has to be from the view that opened the dialog,
// even if it's not the current view
- SfxObjectShell* pParentDoc = NULL;
if ( pB )
{
SfxDispatcher* pMyDisp = pB->GetDispatcher();
@@ -109,14 +108,9 @@ ScFormulaDlg::ScFormulaDlg( SfxBindings* pB, SfxChildWindow* pCW,
pScViewShell = PTR_CAST( ScTabViewShell, pMyViewFrm->GetViewShell() );
if( pScViewShell )
pScViewShell->UpdateInputHandler(TRUE);
- pParentDoc = pMyViewFrm->GetObjectShell();
}
}
}
- //if ( !pParentDoc && pScViewShell ) // use current only if above fails
- // pParentDoc = pScViewShell->GetObjectShell();
- //if ( pParentDoc )
- // aDocName = pParentDoc->GetTitle();
if ( pDoc == NULL )
pDoc = pViewData->GetDocument();
@@ -209,7 +203,7 @@ ScFormulaDlg::ScFormulaDlg( SfxBindings* pB, SfxChildWindow* pCW,
pCell = new ScFormulaCell( pDoc, aCursorPos, rStrExp );
Update(rStrExp);
- } // if (!pData)
+ }
}
@@ -271,7 +265,7 @@ void ScFormulaDlg::fill()
}
}
-__EXPORT ScFormulaDlg::~ScFormulaDlg()
+ScFormulaDlg::~ScFormulaDlg()
{
ScModule* pScMod = SC_MOD();
ScFormEditData* pData = pScMod->GetFormEditData();
@@ -326,7 +320,7 @@ ScInputHandler* ScFormulaDlg::GetNextInputHandler(ScDocShell* pDocShell,PtrTabVi
}
-BOOL __EXPORT ScFormulaDlg::Close()
+BOOL ScFormulaDlg::Close()
{
DoEnter(FALSE);
return TRUE;
diff --git a/sc/source/ui/formdlg/makefile.mk b/sc/source/ui/formdlg/makefile.mk
index 2574ca48f348..4440abaf314d 100644
--- a/sc/source/ui/formdlg/makefile.mk
+++ b/sc/source/ui/formdlg/makefile.mk
@@ -38,10 +38,13 @@ TARGET=formdlgs
# --- Files --------------------------------------------------------
SLOFILES = \
- $(SLO)$/formula.obj \
- $(SLO)$/formdata.obj \
- $(SLO)$/privsplt.obj \
- $(SLO)$/dwfunctr.obj
+ $(EXCEPTIONSFILES) \
+ $(SLO)$/formdata.obj
+
+EXCEPTIONSFILES = \
+ $(SLO)$/dwfunctr.obj \
+ $(SLO)$/formula.obj \
+ $(SLO)$/privsplt.obj
SRS1NAME=$(TARGET)
SRC1FILES = \
diff --git a/sc/source/ui/formdlg/privsplt.cxx b/sc/source/ui/formdlg/privsplt.cxx
index 2497a86707d6..3639f2a6b4e6 100644
--- a/sc/source/ui/formdlg/privsplt.cxx
+++ b/sc/source/ui/formdlg/privsplt.cxx
@@ -34,7 +34,7 @@
#include "privsplt.hxx"
/*************************************************************************
-#* Member: ScPrivatSplit Datum:13.10.97
+#* Member: ScPrivatSplit
#*------------------------------------------------------------------------
#*
#* Klasse: MD_Test
@@ -78,7 +78,7 @@ ScPrivatSplit::ScPrivatSplit( Window* pParent, const ResId& rResId,
/*************************************************************************
-#* Member: MouseButtonDown Datum:13.10.97
+#* Member: MouseButtonDown
#*------------------------------------------------------------------------
#*
#* Klasse: ScPrivatSplit
@@ -103,7 +103,7 @@ void ScPrivatSplit::MouseButtonDown( const MouseEvent& rMEvt )
}
/*************************************************************************
-#* Member: MouseButtonUp Datum:13.10.97
+#* Member: MouseButtonUp
#*------------------------------------------------------------------------
#*
#* Klasse: ScPrivatSplit
@@ -165,7 +165,7 @@ void ScPrivatSplit::MouseButtonUp( const MouseEvent& rMEvt )
}
/*************************************************************************
-#* Member: MouseMove Datum:13.10.97
+#* Member: MouseMove
#*------------------------------------------------------------------------
#*
#* Klasse: ScPrivatSplit
@@ -230,7 +230,7 @@ void ScPrivatSplit::MouseMove( const MouseEvent& rMEvt )
}
/*************************************************************************
-#* Member: SetYRange Datum:14.10.97
+#* Member: SetYRange
#*------------------------------------------------------------------------
#*
#* Klasse: ScPrivatSplit
@@ -250,7 +250,7 @@ void ScPrivatSplit::SetYRange(Range cRgeY)
/*************************************************************************
-#* Member: GetDeltaY Datum:13.10.97
+#* Member: GetDeltaY
#*------------------------------------------------------------------------
#*
#* Klasse: ScPrivatSplit
@@ -268,7 +268,7 @@ short ScPrivatSplit::GetDeltaX()
}
/*************************************************************************
-#* Member: GetDeltaY Datum:13.10.97
+#* Member: GetDeltaY
#*------------------------------------------------------------------------
#*
#* Klasse: ScPrivatSplit
@@ -286,7 +286,7 @@ short ScPrivatSplit::GetDeltaY()
}
/*************************************************************************
-#* Member: CtrModified Datum:13.10.97
+#* Member: CtrModified
#*------------------------------------------------------------------------
#*
#* Klasse: ScPrivatSplit
diff --git a/sc/source/ui/inc/AccessibleDataPilotControl.hxx b/sc/source/ui/inc/AccessibleDataPilotControl.hxx
index 7d9c3f470bb8..fb0e0f40ecd6 100644
--- a/sc/source/ui/inc/AccessibleDataPilotControl.hxx
+++ b/sc/source/ui/inc/AccessibleDataPilotControl.hxx
@@ -32,7 +32,7 @@
#include "AccessibleContextBase.hxx"
-class ScDPFieldWindow;
+class ScDPFieldControlBase;
class ScAccessibleDataPilotButton;
class ScAccessibleDataPilotControl
@@ -43,7 +43,7 @@ public:
ScAccessibleDataPilotControl(
const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible>& rxParent,
- ScDPFieldWindow* pDPFieldWindow);
+ ScDPFieldControlBase* pDPFieldWindow);
virtual void Init();
@@ -132,7 +132,7 @@ protected:
throw (::com::sun::star::uno::RuntimeException);
private:
- ScDPFieldWindow* mpDPFieldWindow;
+ ScDPFieldControlBase* mpDPFieldWindow;
struct AccessibleWeak
{
::com::sun::star::uno::WeakReference< ::com::sun::star::accessibility::XAccessible > xWeakAcc;
diff --git a/sc/source/ui/inc/IAnyRefDialog.hxx b/sc/source/ui/inc/IAnyRefDialog.hxx
index 97212be8552e..d23f1d5ceebf 100644
--- a/sc/source/ui/inc/IAnyRefDialog.hxx
+++ b/sc/source/ui/inc/IAnyRefDialog.hxx
@@ -44,12 +44,6 @@ class SAL_NO_VTABLE IAnyRefDialog : public formula::IControlReferenceHandler
public:
virtual ~IAnyRefDialog(){}
- //virtual void ShowReference(const String& _sRef) = 0;
- //virtual void HideReference( BOOL bDoneRefMode = TRUE ) = 0;
- //virtual void ReleaseFocus( formula::RefEdit* pEdit, formula::RefButton* pButton = NULL ) = 0;
- //virtual void ToggleCollapsed( formula::RefEdit* pEdit, formula::RefButton* pButton = NULL ) = 0;
-
-
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) = 0;
virtual void RefInputStart( formula::RefEdit* pEdit, formula::RefButton* pButton = NULL ) = 0;
virtual void RefInputDone( BOOL bForced = FALSE ) = 0;
diff --git a/sc/source/ui/inc/acredlin.hrc b/sc/source/ui/inc/acredlin.hrc
index b21676ee6ae9..54ad490291af 100644
--- a/sc/source/ui/inc/acredlin.hrc
+++ b/sc/source/ui/inc/acredlin.hrc
@@ -30,17 +30,15 @@
#define BTN_OK 1
#define BTN_CANCEL 2
#define BTN_HELP 5
-//
+
#define CTR_REDLINING 10
#define TP_FILTER 11
#define TP_VIEW 12
-
#define FT_ASSIGN 14
#define ED_ASSIGN 15
#define RB_ASSIGN 16
-
#define STR_INSERT_COLS 20
#define STR_INSERT_ROWS 21
#define STR_INSERT_TABS 22
@@ -57,6 +55,7 @@
#define STR_CHILD_CONTENT 33
#define STR_CHILD_ORGCONTENT 34
#define STR_EMPTY 35
+
// Bitmaps
#define BMP_STR_CLOSE 41
#define BMP_STR_OPEN 42
@@ -70,6 +69,3 @@
#define SC_SORT_AUTHOR 53
#define SC_SORT_DATE 54
#define SC_SORT_COMMENT 55
-
-//
-
diff --git a/sc/source/ui/inc/anyrefdg.hxx b/sc/source/ui/inc/anyrefdg.hxx
index b10ccf083756..fa49f6dea5cf 100644
--- a/sc/source/ui/inc/anyrefdg.hxx
+++ b/sc/source/ui/inc/anyrefdg.hxx
@@ -33,29 +33,25 @@
#include <vcl/edit.hxx>
#include <vcl/accel.hxx>
#include <sfx2/basedlgs.hxx>
+#include <sfx2/tabdlg.hxx>
#include "address.hxx"
#include "cell.hxx"
#include "compiler.hxx"
#include "formula/funcutl.hxx"
#include "IAnyRefDialog.hxx"
#include "scresid.hxx"
+#include "scmod.hxx"
+
#include <memory>
class SfxObjectShell;
class ScRange;
class ScDocument;
class ScTabViewShell;
-//The class of ScAnyRefDlg is rewritten by PengYunQuan for Validity Cell Range Picker
-//class ScAnyRefDlg;
class ScRefHandler;
class ScRangeList;
-//<!--Added by PengYunQuan for Validity Cell Range Picker
class SfxShell;
-#include "scmod.hxx"
-typedef formula::RefButton ScRefButton;
-typedef formula::RefEdit ScRefEdit;
-//-->Added by PengYunQuan for Validity Cell Range Picker
class ScFormulaReferenceHelper
{
IAnyRefDialog* m_pDlg;
@@ -105,28 +101,27 @@ public:
void ViewShellChanged( ScTabViewShell* pScViewShell );
static void enableInput(BOOL _bInput);
-//<!--Added by PengYunQuan for Validity Cell Range Picker
+
protected:
Window * GetWindow(){ return m_pWindow; }
+
public:
- bool CanInputStart( const ScRefEdit *pEdit ){ return !!pEdit; }
+ bool CanInputStart( const formula::RefEdit *pEdit ){ return !!pEdit; }
bool CanInputDone( BOOL bForced ){ return pRefEdit && (bForced || !pRefBtn); }
-//<!--Added by PengYunQuan for Validity Cell Range Picker
};
+
//============================================================================
-//The class of ScAnyRefDlg is rewritten by PengYunQuan for Validity Cell Range Picker
class SC_DLLPUBLIC ScRefHandler : //public SfxModelessDialog,
public IAnyRefDialog
{
-//<!--Added by PengYunQuan for Validity Cell Range Picker
Window & m_rWindow;
bool m_bInRefMode;
+
public:
operator Window *(){ return &m_rWindow; }
Window * operator ->() { return static_cast<Window *>(*this); }
template<class,bool> friend class ScRefHdlrImplBase;
-//-->Added by PengYunQuan for Validity Cell Range Picker
friend class formula::RefButton;
friend class formula::RefEdit;
@@ -184,18 +179,15 @@ public:
//Overwrite TWindow will implemented by ScRefHdlrImplBase
//virtual void StateChanged( StateChangedType nStateChange );
-//<!--Added by PengYunQuan for Validity Cell Range Picker
public:
bool EnterRefMode();
bool LeaveRefMode();
- inline bool CanInputStart( const ScRefEdit *pEdit );
+ inline bool CanInputStart( const formula::RefEdit *pEdit );
inline bool CanInputDone( BOOL bForced );
-//-->Added by PengYunQuan for Validity Cell Range Picker
};
-
//============================================================================
-//<!--Added by PengYunQuan for Validity Cell Range Picker
+
template< class TWindow, bool bBindRef = true >
class ScRefHdlrImplBase:public TWindow, public ScRefHandler
{
@@ -255,7 +247,7 @@ struct ScAnyRefDlg : ::ScRefHdlrImpl< ScAnyRefDlg, SfxModelessDialog>
};
//============================================================================
-inline bool ScRefHandler::CanInputStart( const ScRefEdit *pEdit )
+inline bool ScRefHandler::CanInputStart( const formula::RefEdit *pEdit )
{
return m_aHelper.CanInputStart( pEdit );
}
@@ -267,11 +259,9 @@ inline bool ScRefHandler::CanInputDone( BOOL bForced )
template <> SC_DLLPUBLIC void ScRefHdlrImplBase<SfxModelessDialog,true>::StateChanged( StateChangedType nStateChange );
template <> SC_DLLPUBLIC long ScRefHdlrImplBase<SfxModelessDialog,true>::PreNotify( NotifyEvent& rNEvt );
-#include <sfx2/tabdlg.hxx>
template <> SC_DLLPUBLIC void ScRefHdlrImplBase<SfxTabDialog,false>::StateChanged( StateChangedType nStateChange );
template <> SC_DLLPUBLIC long ScRefHdlrImplBase<SfxTabDialog,false>::PreNotify( NotifyEvent& rNEvt );
-//<!--Added by PengYunQuan for Validity Cell Range Picker
#endif // SC_ANYREFDG_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/attrdlg.hrc b/sc/source/ui/inc/attrdlg.hrc
index f43c1cb30b86..d048e302f062 100644
--- a/sc/source/ui/inc/attrdlg.hrc
+++ b/sc/source/ui/inc/attrdlg.hrc
@@ -47,5 +47,3 @@
#define BTN_HIDE_PRINT 6
#define FT_HINT2 7
#define FL_PRINT 8
-
-
diff --git a/sc/source/ui/inc/condfrmt.hrc b/sc/source/ui/inc/condfrmt.hrc
index 099d82b2fa85..223e2f8d3918 100644
--- a/sc/source/ui/inc/condfrmt.hrc
+++ b/sc/source/ui/inc/condfrmt.hrc
@@ -70,4 +70,3 @@
#define BTN_COND1_NEW 34
#define BTN_COND2_NEW 35
#define BTN_COND3_NEW 36
-
diff --git a/sc/source/ui/inc/content.hxx b/sc/source/ui/inc/content.hxx
index 952215ffbdd6..03924cc998cf 100644
--- a/sc/source/ui/inc/content.hxx
+++ b/sc/source/ui/inc/content.hxx
@@ -61,7 +61,6 @@ class ScContentTree : public SvTreeListBox
{
ScNavigatorDlg* pParentWindow;
ImageList aEntryImages;
- ImageList aHCEntryImages;
SvLBoxEntry* pRootNodes[SC_CONTENT_COUNT];
USHORT nRootType; // als Root eingestellt
String aManualDoc; // im Navigator umgeschaltet (Title)
diff --git a/sc/source/ui/inc/crnrdlg.hrc b/sc/source/ui/inc/crnrdlg.hrc
index 1d27531f9bc1..7467b398d5fb 100644
--- a/sc/source/ui/inc/crnrdlg.hrc
+++ b/sc/source/ui/inc/crnrdlg.hrc
@@ -32,9 +32,9 @@
#define BTN_ADD 3
#define BTN_REMOVE 4
#define BTN_HELP 5
-//
+
#define LB_RANGE 11
-//
+
#define FL_ASSIGN 12
#define ED_AREA 13
#define RB_AREA 14
@@ -43,4 +43,3 @@
#define ED_DATA 17
#define RB_DATA 18
#define FT_DATA_LABEL 19
-//
diff --git a/sc/source/ui/inc/csvgrid.hxx b/sc/source/ui/inc/csvgrid.hxx
index c5d5eb58649f..acb21731528e 100644
--- a/sc/source/ui/inc/csvgrid.hxx
+++ b/sc/source/ui/inc/csvgrid.hxx
@@ -105,7 +105,7 @@ private:
VirtualDevice maGridDev; /// Data grid with selection and cursor.
PopupMenu maPopup; /// Popup menu for column types.
- ::svtools::ColorConfig& mrColorConfig; /// Application color configuration.
+ ::svtools::ColorConfig* mpColorConfig; /// Application color configuration.
Color maBackColor; /// Cell background color.
Color maGridColor; /// Table grid color.
Color maGridPBColor; /// Grid color for "first imported line" delimiter.
@@ -137,6 +137,9 @@ public:
explicit ScCsvGrid( ScCsvControl& rParent );
virtual ~ScCsvGrid();
+ /** Finishes initialization. Must be called after constructing a new object. */
+ void Init();
+
// common grid handling ---------------------------------------------------
public:
/** Updates layout data dependent from the control's state. */
diff --git a/sc/source/ui/inc/csvtablebox.hxx b/sc/source/ui/inc/csvtablebox.hxx
index 7837c4519da2..22bb380e38c2 100644
--- a/sc/source/ui/inc/csvtablebox.hxx
+++ b/sc/source/ui/inc/csvtablebox.hxx
@@ -77,6 +77,9 @@ private:
public:
explicit ScCsvTableBox( Window* pParent, const ResId& rResId );
+ /** Finishes initialization. Must be called after constructing a new object. */
+ void Init();
+
// common table box handling ----------------------------------------------
public:
/** Sets the control to separators mode. */
@@ -85,8 +88,6 @@ public:
void SetFixedWidthMode();
private:
- /** Initialisation on construction. */
- SC_DLLPRIVATE void Init();
/** Initializes the children controls (pos/size, scroll bars, ...). */
SC_DLLPRIVATE void InitControls();
/** Initializes size and position data of horizontal scrollbar. */
diff --git a/sc/source/ui/inc/dbfunc.hxx b/sc/source/ui/inc/dbfunc.hxx
index 9f01774f24b7..27a7c92f7ebc 100644
--- a/sc/source/ui/inc/dbfunc.hxx
+++ b/sc/source/ui/inc/dbfunc.hxx
@@ -86,10 +86,7 @@ public:
bool MakePivotTable( const ScDPSaveData& rData, const ScRange& rDest, BOOL bNewTable,
const ScDPObject& rSource, BOOL bApi = FALSE );
void DeletePivotTable();
- // Wang Xu Ming -- 2009-6-17
- // DataPilot Migration
ULONG RecalcPivotTable();
- // End Comments
BOOL HasSelectionForDateGroup( ScDPNumGroupInfo& rOldInfo, sal_Int32& rParts );
BOOL HasSelectionForNumGroup( ScDPNumGroupInfo& rOldInfo );
void GroupDataPilot();
diff --git a/sc/source/ui/inc/dbnamdlg.hrc b/sc/source/ui/inc/dbnamdlg.hrc
index fd0205e3bbed..ab3e51cbf1b2 100644
--- a/sc/source/ui/inc/dbnamdlg.hrc
+++ b/sc/source/ui/inc/dbnamdlg.hrc
@@ -48,4 +48,3 @@
#define STR_MODIFY 31
#define STR_DB_INVALID 32
#define BTN_MORE 33
-
diff --git a/sc/source/ui/inc/dbnamdlg.hxx b/sc/source/ui/inc/dbnamdlg.hxx
index 8c6e61f60943..cd7f757f3937 100644
--- a/sc/source/ui/inc/dbnamdlg.hxx
+++ b/sc/source/ui/inc/dbnamdlg.hxx
@@ -70,7 +70,7 @@ private:
CheckBox aBtnDoSize;
CheckBox aBtnKeepFmt;
CheckBox aBtnStripData;
- ScExpandedFixedText aFTSource; //@18.09.97 erweiterter FixedText
+ ScExpandedFixedText aFTSource;
FixedText aFTOperations;
OKButton aBtnOk;
diff --git a/sc/source/ui/inc/docfunc.hxx b/sc/source/ui/inc/docfunc.hxx
index d360750f1bbb..8fb4fcd83e76 100644
--- a/sc/source/ui/inc/docfunc.hxx
+++ b/sc/source/ui/inc/docfunc.hxx
@@ -80,8 +80,8 @@ public:
BOOL DetectiveMarkInvalid(SCTAB nTab);
BOOL DetectiveDelAll(SCTAB nTab);
BOOL DetectiveRefresh(BOOL bAutomatic = FALSE);
- void DetectiveCollectAllPreds(const ScRangeList& rSrcRanges, ::std::vector<ScSharedTokenRef>& rRefTokens);
- void DetectiveCollectAllSuccs(const ScRangeList& rSrcRanges, ::std::vector<ScSharedTokenRef>& rRefTokens);
+ void DetectiveCollectAllPreds(const ScRangeList& rSrcRanges, ::std::vector<ScTokenRef>& rRefTokens);
+ void DetectiveCollectAllSuccs(const ScRangeList& rSrcRanges, ::std::vector<ScTokenRef>& rRefTokens);
BOOL DeleteContents( const ScMarkData& rMark, USHORT nFlags,
BOOL bRecord, BOOL bApi );
diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx
index 6a1fa0ff5098..b4b5a2a5ee31 100644
--- a/sc/source/ui/inc/docsh.hxx
+++ b/sc/source/ui/inc/docsh.hxx
@@ -90,8 +90,8 @@ typedef ::std::hash_map< ULONG, ULONG > ScChangeActionMergeMap;
class SC_DLLPUBLIC ScDocShell: public SfxObjectShell, public SfxListener
{
- static const sal_Char __FAR_DATA pStarCalcDoc[];
- static const sal_Char __FAR_DATA pStyleName[];
+ static const sal_Char pStarCalcDoc[];
+ static const sal_Char pStyleName[];
ScDocument aDocument;
@@ -427,9 +427,7 @@ public:
const ScOptSolverSave* GetSolverSaveData() const { return pSolverSaveData; } // may be null
void SetSolverSaveData( const ScOptSolverSave& rData );
- //<!--Added by PengYunQuan for Validity Cell Range Picker
sal_Bool AcceptStateUpdate() const;
- //-->Added by PengYunQuan for Validity Cell Range Picker
ScSheetSaveData* GetSheetSaveData();
void ResetKeyBindings( ScOptionsUtil::KeyBindingType eType );
diff --git a/sc/source/ui/inc/drawview.hxx b/sc/source/ui/inc/drawview.hxx
index 408cbe4668b2..b49cd1488453 100644
--- a/sc/source/ui/inc/drawview.hxx
+++ b/sc/source/ui/inc/drawview.hxx
@@ -42,15 +42,14 @@ class ScDrawObjData;
class ScDrawView: public FmFormView
{
ScViewData* pViewData;
- OutputDevice* pDev; //! noetig ?
+ OutputDevice* pDev; //! needed ?
ScDocument* pDoc;
SCTAB nTab;
- Fraction aScaleX; // Faktor fuer Drawing-MapMode
+ Fraction aScaleX; // Factor for Drawing-MapMode
Fraction aScaleY;
SdrDropMarkerOverlay* pDropMarker;
SdrObject* pDropMarkObj;
BOOL bInConstruct;
- //HMHBOOL bDisableHdl;
void Construct();
void UpdateBrowser();
@@ -76,12 +75,8 @@ public:
virtual void DeleteMarked();
- void DrawMarks( OutputDevice* pOut ) const;
-
void MarkDropObj( SdrObject* pObj );
- //HMHBOOL IsDisableHdl() const { return bDisableHdl; }
-
void SetMarkedToLayer( BYTE nLayerNo );
void InvalidateAttribs();
@@ -98,8 +93,9 @@ public:
void CalcNormScale( Fraction& rFractX, Fraction& rFractY ) const;
- void SetAnchor( ScAnchorType );
- ScAnchorType GetAnchor() const;
+ void SetPageAnchored();
+ void SetCellAnchored();
+ ScAnchorType GetAnchorType() const;
void VCAddWin( Window* pWin );
void VCRemoveWin( Window* pWin );
@@ -139,7 +135,7 @@ public:
/** Unlocks the internal layer that contains caption objects of cell notes. */
inline void UnlockInternalLayer() { LockInternalLayer( false ); }
- SdrEndTextEditKind ScEndTextEdit(); // ruft SetDrawTextUndo(0)
+ SdrEndTextEditKind ScEndTextEdit(); // calls SetDrawTextUndo(0)
::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable > CopyToTransferable();
};
diff --git a/sc/source/ui/inc/drtxtob.hxx b/sc/source/ui/inc/drtxtob.hxx
index d159ab0ad669..4baea1857e55 100644
--- a/sc/source/ui/inc/drtxtob.hxx
+++ b/sc/source/ui/inc/drtxtob.hxx
@@ -29,9 +29,6 @@
#ifndef SC_DRTXTOB_HXX
#define SC_DRTXTOB_HXX
-#ifndef _SFX_HXX
-#endif
-
#include <sfx2/shell.hxx>
#include <sfx2/module.hxx>
#include <tools/link.hxx>
diff --git a/sc/source/ui/inc/drwtrans.hxx b/sc/source/ui/inc/drwtrans.hxx
index de256909fcf7..7690f860be41 100644
--- a/sc/source/ui/inc/drwtrans.hxx
+++ b/sc/source/ui/inc/drwtrans.hxx
@@ -51,8 +51,6 @@ private:
SdrModel* pModel;
TransferableDataHelper aOleData;
TransferableObjectDescriptor aObjDesc;
-//REMOVE SvEmbeddedObjectRef aDocShellRef;
-//REMOVE SvEmbeddedObjectRef aDrawPersistRef;
SfxObjectShellRef aDocShellRef;
SfxObjectShellRef aDrawPersistRef;
@@ -72,7 +70,6 @@ private:
void InitDocShell();
-//REMOVE SvInPlaceObjectRef GetSingleObject();
SdrOle2Obj* GetSingleObject();
public:
diff --git a/sc/source/ui/inc/fieldwnd.hxx b/sc/source/ui/inc/fieldwnd.hxx
index bc7ccfe135cc..78358557444c 100644
--- a/sc/source/ui/inc/fieldwnd.hxx
+++ b/sc/source/ui/inc/fieldwnd.hxx
@@ -31,19 +31,12 @@
#include <vector>
#include "address.hxx"
+#include "dpglobal.hxx"
#include <vcl/ctrl.hxx>
#include <vcl/fixed.hxx>
+#include <vcl/scrbar.hxx>
#include <cppuhelper/weakref.hxx>
-#define PAGE_SIZE 16 // count of visible fields for scrollbar
-#define LINE_SIZE 8 // count of fields per column for scrollbar
-#define MAX_FIELDS 8 // maximum count of fields for row/col/data area
-#define MAX_PAGEFIELDS 10 // maximum count of fields for page area
-
-#define OWIDTH PivotGlobal::nObjWidth
-#define OHEIGHT PivotGlobal::nObjHeight
-#define SSPACE PivotGlobal::nSelSpace
-
class ScDPLayoutDlg;
class ScAccessibleDataPilotControl;
@@ -61,53 +54,173 @@ enum ScDPFieldType
//-------------------------------------------------------------------
-/** Represents a field area in the DataPilot layout dialog. */
-class ScDPFieldWindow : public Control
+/**
+ * Represents a field area in the DataPilot layout dialog. This base class
+ * handles storage of field names and the accessibility object.
+ */
+class ScDPFieldControlBase : public Control
{
-private:
- typedef ::std::pair< String, bool > FieldString; // true = text fits into button
-
- String aName; /// name of the control, used in Accessibility
- ScDPLayoutDlg* pDlg; /// Parent dialog.
- Rectangle aWndRect; /// Area rectangle in pixels.
- FixedText* pFtCaption; /// FixedText containing the name of the control.
- Point aTextPos; /// Position of the caption text.
- std::vector< FieldString > aFieldArr; /// String array of the field names and flags, if text fits into button.
- ScDPFieldType eType; /// Type of this area.
- Color aFaceColor; /// Color for dialog background.
- Color aWinColor; /// Color for window background.
- Color aTextColor; /// Color for text in buttons.
- Color aWinTextColor; /// Color for text in field windows.
- size_t nFieldSize; /// Maximum count of fields.
- size_t nFieldSelected; /// Currently selected field.
+protected:
+ typedef ::std::pair<String, bool> FieldName; // true = text fits into button
+ typedef ::std::vector<FieldName> FieldNames;
- com::sun::star::uno::WeakReference< ::com::sun::star::accessibility::XAccessible > xAccessible;
- ScAccessibleDataPilotControl* pAccessible;
+public:
+
+ /**
+ * Custom scroll bar to pass the command event to its parent window.
+ * We need this to pass the mouse wheel events to its parent field
+ * control to have mouse wheel events appaer to be properly handled by the
+ * scroll bar.
+ */
+ class ScrollBar : public ::ScrollBar
+ {
+ public:
+ ScrollBar(Window* pParent, WinBits nStyle);
+ virtual void Command( const CommandEvent& rCEvt );
+ private:
+ Window* mpParent;
+ };
+
+ ScDPFieldControlBase(
+ ScDPLayoutDlg* pParent, const ResId& rResId, FixedText* pCaption );
+ virtual ~ScDPFieldControlBase();
+
+ virtual void CalcSize() = 0;
+
+ virtual bool IsValidIndex( size_t nIndex ) const = 0;
+ /** @return The pixel position of a field (without bound check). */
+ virtual Point GetFieldPosition( size_t nIndex ) = 0;
+ /** Calculates the field index at a specific pixel position.
+ @param rnIndex The index of the field is returned here.
+ @return TRUE, if the index value is valid. */
+ virtual bool GetFieldIndex( const Point& rPos, size_t& rnIndex ) = 0;
+ /** @return The pixel size of a field. */
+ virtual Size GetFieldSize() const = 0;
+
+ /** @return The description of the control which is used for the accessibility objects. */
+ virtual String GetDescription() const = 0;
+ /** @return The type of the FieldWindow. */
+ virtual ScDPFieldType GetFieldType() const = 0;
+ virtual void ScrollToShowSelection() = 0;
+ virtual void ScrollToEnd() = 0;
+ virtual void ResetScrollBar() = 0;
+ virtual void HandleWheelScroll(long nNotch) = 0;
+
+ /** Reads the FixedText's text with mnemonic and hides the FixedText. */
+ void UseMnemonic();
+
+ /** @return The name of the control without shortcut. */
+ ::rtl::OUString GetName() const;
+ void SetName(const ::rtl::OUString& rName);
+
+ /** @return TRUE, if the field with the given index exists. */
+ bool IsExistingIndex( size_t nIndex ) const;
+
+ /** Inserts a field to the specified index. */
+ void AddField( const String& rText, size_t nNewIndex );
+
+ /** Inserts a field using the specified pixel position.
+ @param rPos The coordinates to insert the field.
+ @param rnIndex The new index of the field is returned here.
+ @return true, if the field has been created. */
+ bool AddField( const String& rText, const Point& rPos, size_t& rnIndex );
+
+ bool AppendField(const String& rText, size_t& rnIndex);
+
+ /** Removes a field from the specified index. */
+ void DelField( size_t nDelIndex );
+
+ /** @return The count of existing fields. */
+ size_t GetFieldCount() const;
+
+ bool IsEmpty() const;
+
+ /** Removes all fields. */
+ void ClearFields();
+ /** Changes the text on an existing field. */
+ void SetFieldText( const String& rText, size_t nIndex );
+ /** Returns the text of an existing field. */
+ const String& GetFieldText( size_t nIndex ) const;
+
+ /** Calculates a field index at a specific pixel position. Returns in every
+ case the index of an existing field.
+ @param rnIndex The index of the field is returned here.
+ @return TRUE, if the index value is valid. */
+ void GetExistingIndex( const Point& rPos, size_t& rnIndex );
- /** Initilize the object. */
- void Init();
+ size_t GetSelectedField() const;
+ void SetSelectedField(size_t nSelected);
- /** Reads all needed style settings. */
- void GetStyleSettings();
+ /** Notifies this control that the offset of the first field has been changed.
+ The control has to adjust the selection to keep the same field selected
+ on scrolling with scrollbar. */
+ void ModifySelectionOffset( long nOffsetDiff );
+ /** Selects the next field. Called i.e. after moving a field from SELECT area. */
+ void SelectNext();
+ /** Grabs focus and sets new selection. */
+ void GrabFocusWithSel( size_t nIndex );
+
+ virtual void Paint( const Rectangle& rRect );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+ virtual void Command( const CommandEvent& rCEvt );
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void MouseButtonUp( const MouseEvent& rMEvt );
+ virtual void MouseMove( const MouseEvent& rMEvt );
+ virtual void KeyInput( const KeyEvent& rKEvt );
+ virtual void GetFocus();
+ virtual void LoseFocus();
+
+protected:
+ FieldNames& GetFieldNames();
+ const FieldNames& GetFieldNames() const;
+
+ virtual ::com::sun::star::uno::Reference<
+ ::com::sun::star::accessibility::XAccessible > CreateAccessible();
+
+ void FieldFocusChanged(size_t nOldSelected, size_t nFieldSelected);
+ void AccessibleSetFocus(bool bOn);
+
+ /** Updates the tab stop style bits. */
+ void UpdateStyle();
/** Draws the background. */
- void DrawBackground( OutputDevice& rDev );
+ void DrawBackground( OutputDevice& rDev );
+
/** Draws a field into the specified rectangle. */
- void DrawField(
- OutputDevice& rDev,
- const Rectangle& rRect,
- FieldString& rText,
- bool bFocus );
-
- /** @return TRUE, if the field index is inside of the control area. */
- bool IsValidIndex( size_t nIndex ) const;
- /** @return TRUE, if the field with the given index exists. */
- bool IsExistingIndex( size_t nIndex ) const;
+ void DrawField(
+ OutputDevice& rDev, const Rectangle& rRect, FieldName& rText, bool bFocus );
+
+ ScDPLayoutDlg* GetParentDlg() const;
+
+ void AppendPaintable(Window* p);
+ void DrawPaintables();
+ void DrawInvertSelection();
+
+ /** @return The new selection index after moving to the given direction. */
+ virtual size_t CalcNewFieldIndex( SCsCOL nDX, SCsROW nDY ) const = 0;
+
+ /**
+ * @param nIndex logical index of a field name, independent of scroll
+ * offsets.
+ * @return Display position of the button. The first displayed button is
+ * always 0 no matter what the current scroll offset is. In case
+ * the field specified by the index is outside the visible range,
+ * <code>INVALID_INDEX</code> is returned.
+ */
+ virtual size_t GetDisplayPosition(size_t nIndex) const = 0;
+
+ /** Draws the complete control. */
+ virtual void Redraw() = 0;
+
+private:
/** @return TRUE, if the field with the given index exists and the text is
too long for the button control. */
bool IsShortenedText( size_t nIndex ) const;
- /** @return The new selection index after moving to the given direction. */
- size_t CalcNewFieldIndex( SCsCOL nDX, SCsROW nDY ) const;
+
+ /** Moves the selected field to nDestIndex. */
+ void MoveField( size_t nDestIndex );
+ /** Moves the selected field to the given direction. */
+ void MoveFieldRel( SCsCOL nDX, SCsROW nDY );
/** Sets selection to the field with index nIndex. */
void SetSelection( size_t nIndex );
@@ -116,107 +229,164 @@ private:
/** Sets selection to last field. */
void SetSelectionEnd();
/** Sets selection to new position relative to current. */
- void MoveSelection( USHORT nKeyCode, SCsCOL nDX, SCsROW nDY );
+ void MoveSelection( SCsCOL nDX, SCsROW nDY );
- /** Moves the selected field to nDestIndex. */
- void MoveField( size_t nDestIndex );
- /** Moves the selected field to the given direction. */
- void MoveFieldRel( SCsCOL nDX, SCsROW nDY );
+private:
+ typedef ::std::vector<Window*> Paintables;
+ Paintables maPaintables;
- /** Updates the tab stop style bits. */
- void UpdateStyle();
+ FieldNames maFieldNames; /// String array of the field names and flags, if text fits into button.
+ ScDPLayoutDlg* mpDlg;
+ FixedText* mpCaption; /// FixedText containing the name of the control.
+ ::rtl::OUString maName;
+
+ size_t mnFieldSelected; /// Currently selected field.
+
+ com::sun::star::uno::WeakReference< ::com::sun::star::accessibility::XAccessible > xAccessible;
+ ScAccessibleDataPilotControl* pAccessible;
+};
+// ============================================================================
+
+/**
+ * Base class for field control with a horizontal scroll bar at the bottom.
+ * Page, column, data and select fields are derived from this class.
+ */
+class ScDPHorFieldControl : public ScDPFieldControlBase
+{
protected:
- virtual void Paint( const Rectangle& rRect );
- virtual void DataChanged( const DataChangedEvent& rDCEvt );
- virtual void MouseButtonDown( const MouseEvent& rMEvt );
- virtual void MouseButtonUp( const MouseEvent& rMEvt );
- virtual void MouseMove( const MouseEvent& rMEvt );
- virtual void KeyInput( const KeyEvent& rKEvt );
- virtual void GetFocus();
- virtual void LoseFocus();
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible();
+ virtual size_t CalcNewFieldIndex(SCsCOL nDX, SCsROW nDY) const;
+ virtual size_t GetDisplayPosition(size_t nIndex) const;
+ virtual void Redraw();
public:
- ScDPFieldWindow(
- ScDPLayoutDlg* pDialog,
- const ResId& rResId,
- ScDPFieldType eFieldType,
- FixedText* pFtFieldCaption );
- ScDPFieldWindow(
- ScDPLayoutDlg* pDialog,
- const ResId& rResId,
- ScDPFieldType eFieldType,
- const String& aName );
- virtual ~ScDPFieldWindow();
+ ScDPHorFieldControl(
+ ScDPLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption );
- /** Reads the FixedText's text with mnemonic and hides the FixedText. */
- void UseMnemonic();
+ virtual ~ScDPHorFieldControl();
- /** Draws the complete control. */
- void Redraw();
+ virtual void CalcSize();
+ virtual bool IsValidIndex( size_t nIndex ) const;
+ virtual Point GetFieldPosition(size_t nIndex);
+ virtual Size GetFieldSize() const;
+ virtual bool GetFieldIndex( const Point& rPos, size_t& rnIndex );
+ virtual String GetDescription() const;
- /** @return The pixel position of a field (without bound check). */
- Point GetFieldPosition( size_t nIndex ) const;
- /** @return The pixel size of a field. */
- Size GetFieldSize() const;
+ virtual void ScrollToEnd();
+ virtual void ScrollToShowSelection();
+ virtual void ResetScrollBar();
+ virtual void HandleWheelScroll(long nNotch);
- /** @return The index of the selected field. */
- inline bool IsEmpty() const { return aFieldArr.empty(); }
- /** @return The index of the selected field. */
- inline size_t GetSelectedField() const { return nFieldSelected; }
- /** @return The pixel position of the last possible field. */
- Point GetLastPosition() const;
+private:
+ bool GetFieldBtnPosSize(size_t nPos, Point& rPos, Size& rSize);
+ void HandleScroll();
- /** @return The count of existing fields. */
- inline size_t GetFieldCount() const { return aFieldArr.size(); }
- /** Inserts a field to the specified index. */
- void AddField( const String& rText, size_t nNewIndex );
- /** Removes a field from the specified index. */
- void DelField( size_t nDelIndex );
- /** Removes all fields. */
- void ClearFields();
- /** Changes the text on an existing field. */
- void SetFieldText( const String& rText, size_t nIndex );
- /** Returns the text of an existing field. */
- const String& GetFieldText( size_t nIndex ) const;
+ DECL_LINK(ScrollHdl, ScrollBar*);
+ DECL_LINK(EndScrollHdl, ScrollBar*);
- /** Inserts a field using the specified pixel position.
- @param rPos The coordinates to insert the field.
- @param rnIndex The new index of the field is returned here.
- @return TRUE, if the field has been created. */
- bool AddField( const String& rText, const Point& rPos, size_t& rnIndex );
- /** Calculates the field index at a specific pixel position.
- @param rnIndex The index of the field is returned here.
- @return TRUE, if the index value is valid. */
- bool GetFieldIndex( const Point& rPos, size_t& rnIndex ) const;
- /** Calculates a field index at a specific pixel position. Returns in every
- case the index of an existing field.
- @param rnIndex The index of the field is returned here.
- @return TRUE, if the index value is valid. */
- void GetExistingIndex( const Point& rPos, size_t& rnIndex );
+private:
- /** Notifies this control that the offset of the first field has been changed.
- The control has to adjust the selection to keep the same field selected
- on scrolling with scrollbar. */
- void ModifySelectionOffset( long nOffsetDiff );
- /** Selects the next field. Called i.e. after moving a field from SELECT area. */
- void SelectNext();
+ ScrollBar maScroll;
- /** @return The name of the control without shortcut. */
- inline String GetName() const { return aName; }
+ size_t mnFieldBtnRowCount;
+ size_t mnFieldBtnColCount;
+};
- /** @return The description of the control which is used for the accessibility objects. */
- String GetDescription() const;
+// ============================================================================
- /** Grabs focus and sets new selection. */
- void GrabFocusWithSel( size_t nIndex );
+class ScDPPageFieldControl : public ScDPHorFieldControl
+{
+public:
+ ScDPPageFieldControl(
+ ScDPLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption);
+ virtual ~ScDPPageFieldControl();
- /** @return The type of the FieldWindow. */
- inline ScDPFieldType GetType() const { return eType; }
+ virtual ScDPFieldType GetFieldType() const;
+ virtual String GetDescription() const;
};
-//===================================================================
+// ============================================================================
+
+class ScDPColFieldControl : public ScDPHorFieldControl
+{
+public:
+ ScDPColFieldControl(
+ ScDPLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption);
+ virtual ~ScDPColFieldControl();
+
+ virtual ScDPFieldType GetFieldType() const;
+ virtual String GetDescription() const;
+};
+
+// ============================================================================
+
+/**
+ * Row field control with a vertical scroll bar.
+ */
+class ScDPRowFieldControl : public ScDPFieldControlBase
+{
+public:
+ ScDPRowFieldControl(
+ ScDPLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption );
+
+ virtual ~ScDPRowFieldControl();
+
+ virtual void CalcSize();
+ virtual bool IsValidIndex( size_t nIndex ) const;
+ virtual Point GetFieldPosition( size_t nIndex );
+ virtual Size GetFieldSize() const;
+ virtual bool GetFieldIndex( const Point& rPos, size_t& rnIndex );
+ virtual String GetDescription() const;
+ virtual ScDPFieldType GetFieldType() const;
+
+ virtual void ScrollToEnd();
+ virtual void ScrollToShowSelection();
+ virtual void ResetScrollBar();
+ virtual void HandleWheelScroll(long nNotch);
+
+protected:
+ virtual size_t CalcNewFieldIndex( SCsCOL nDX, SCsROW nDY ) const;
+ virtual size_t GetDisplayPosition(size_t nIndex) const;
+ virtual void Redraw();
+
+private:
+ bool GetFieldBtnPosSize(size_t nPos, Point& rPos, Size& rSize);
+ void HandleScroll();
+
+ DECL_LINK(ScrollHdl, ScrollBar*);
+ DECL_LINK(EndScrollHdl, ScrollBar*);
+
+private:
+
+ ScDPFieldControlBase::ScrollBar maScroll;
+ size_t mnColumnBtnCount;
+};
+
+// ============================================================================
+
+class ScDPSelectFieldControl : public ScDPHorFieldControl
+{
+public:
+ ScDPSelectFieldControl(
+ ScDPLayoutDlg* pDialog, const ResId& rResId, FixedText* pCaption);
+ virtual ~ScDPSelectFieldControl();
+
+ virtual ScDPFieldType GetFieldType() const;
+ virtual String GetDescription() const;
+};
+
+// ============================================================================
+
+class ScDPDataFieldControl : public ScDPHorFieldControl
+{
+public:
+ ScDPDataFieldControl( ScDPLayoutDlg* pParent, const ResId& rResId, FixedText* pCaption );
+ virtual ~ScDPDataFieldControl();
+
+ virtual ScDPFieldType GetFieldType() const;
+ virtual Size GetFieldSize() const;
+ virtual String GetDescription() const;
+};
#endif // SC_FIELDWND_HXX
diff --git a/sc/source/ui/inc/filter.hrc b/sc/source/ui/inc/filter.hrc
index 508c5af9aab5..d973bb15180b 100644
--- a/sc/source/ui/inc/filter.hrc
+++ b/sc/source/ui/inc/filter.hrc
@@ -79,4 +79,3 @@
#define LB_CRITERIA_AREA 51
#define ED_CRITERIA_AREA 52
#define RB_CRITERIA_AREA 53
-
diff --git a/sc/source/ui/inc/fusel.hxx b/sc/source/ui/inc/fusel.hxx
index 20887a6d151a..7f0783537624 100644
--- a/sc/source/ui/inc/fusel.hxx
+++ b/sc/source/ui/inc/fusel.hxx
@@ -29,9 +29,6 @@
#ifndef SC_FUSEL_HXX
#define SC_FUSEL_HXX
-#ifndef _SV_HXX
-#endif
-
#include "fudraw.hxx"
//class Outliner;
diff --git a/sc/source/ui/inc/gridwin.hxx b/sc/source/ui/inc/gridwin.hxx
index 294287aada3e..3d4f33881da8 100644
--- a/sc/source/ui/inc/gridwin.hxx
+++ b/sc/source/ui/inc/gridwin.hxx
@@ -265,19 +265,10 @@ private:
void DrawMarkDropObj( SdrObject* pObj );
SdrObject* GetEditObject();
BOOL IsMyModel(SdrEditView* pSdrView);
- //void DrawStartTimer();
void DrawRedraw( ScOutputData& rOutputData, ScUpdateMode eMode, ULONG nLayer );
void DrawSdrGrid( const Rectangle& rDrawingRect, OutputDevice* pContentDev );
- //BOOL DrawBeforeScroll();
void DrawAfterScroll(/*BOOL bVal*/);
- //void DrawMarks();
- //BOOL NeedDrawMarks();
- void DrawComboButton( const Point& rCellPos,
- long nCellSizeX,
- long nCellSizeY,
- BOOL bArrowState,
- BOOL bBtnIn = FALSE );
Rectangle GetListValButtonRect( const ScAddress& rButtonPos );
void DrawPagePreview( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, OutputDevice* pContentDev );
diff --git a/sc/source/ui/inc/highred.hrc b/sc/source/ui/inc/highred.hrc
index 426c9ba29ee2..b6a4a1a4023c 100644
--- a/sc/source/ui/inc/highred.hrc
+++ b/sc/source/ui/inc/highred.hrc
@@ -34,7 +34,6 @@
#define CB_HIGHLIGHT_ACCEPT 6
#define CB_HIGHLIGHT_REJECT 7
-//
#define FL_FILTER 10
#define TP_FILTER 11
#define TP_VIEW 12
@@ -44,12 +43,6 @@
#define ED_ASSIGN 15
#define RB_ASSIGN 16
-
-
-
-
-
-
#define STR_INSERT_COLS 20
#define STR_INSERT_ROWS 21
#define STR_INSERT_TABS 22
@@ -65,7 +58,3 @@
#define BMP_STR_OPEN 32
#define BMP_STR_END 33
#define BMP_STR_ERROR 34
-
-
-//
-
diff --git a/sc/source/ui/inc/impex.hxx b/sc/source/ui/inc/impex.hxx
index 31ffe717817b..343e952abb3e 100644
--- a/sc/source/ui/inc/impex.hxx
+++ b/sc/source/ui/inc/impex.hxx
@@ -40,6 +40,10 @@ class SvStream;
class SfxMedium;
class ScAsciiOptions;
+/**
+ * These options control how multi-line cells are converted during export in
+ * certain lossy formats (such as csv).
+ */
struct ScExportTextOptions
{
enum NewlineConversion { ToSystem, ToSpace, None };
@@ -153,7 +157,6 @@ public:
};
-// static
inline BOOL ScImportExport::IsEndianSwap( const SvStream& rStrm )
{
#ifdef OSL_BIGENDIAN
@@ -163,7 +166,6 @@ inline BOOL ScImportExport::IsEndianSwap( const SvStream& rStrm )
#endif
}
-// static
inline void ScImportExport::SetNoEndianSwap( SvStream& rStrm )
{
#ifdef OSL_BIGENDIAN
diff --git a/sc/source/ui/inc/instbdlg.hrc b/sc/source/ui/inc/instbdlg.hrc
index 08bff85388dd..dbe7e98e342a 100644
--- a/sc/source/ui/inc/instbdlg.hrc
+++ b/sc/source/ui/inc/instbdlg.hrc
@@ -27,8 +27,6 @@
#include <sc.hrc> // -> RID_SCDLG_INSERT_TABLE
-//#define RID_SCDLG_INSERT_TABLE 300
-
#define BTN_OK 1
#define BTN_CANCEL 2
#define BTN_HELP 3
@@ -48,5 +46,3 @@
#define BTN_BROWSE 28
#define CB_LINK 29
#define FT_PATH 30
-
-
diff --git a/sc/source/ui/inc/linkarea.hrc b/sc/source/ui/inc/linkarea.hrc
index bc906fdb14ad..401739474acb 100644
--- a/sc/source/ui/inc/linkarea.hrc
+++ b/sc/source/ui/inc/linkarea.hrc
@@ -39,4 +39,3 @@
#define BTN_RELOAD 10
#define NF_DELAY 11
#define FT_SECONDS 12
-
diff --git a/sc/source/ui/inc/linkarea.hxx b/sc/source/ui/inc/linkarea.hxx
index 513cd6d19175..8c37f0a5685d 100644
--- a/sc/source/ui/inc/linkarea.hxx
+++ b/sc/source/ui/inc/linkarea.hxx
@@ -39,11 +39,6 @@
#include <svtools/stdctrl.hxx>
#include <svtools/inettbc.hxx>
-//REMOVE #ifndef SO2_DECL_SVEMBEDDEDOBJECT_DEFINED
-//REMOVE #define SO2_DECL_SVEMBEDDEDOBJECT_DEFINED
-//REMOVE SO2_DECL_REF(SvEmbeddedObject)
-//REMOVE #endif
-
namespace sfx2 { class DocumentInserter; }
namespace sfx2 { class FileDialogHelper; }
diff --git a/sc/source/ui/inc/miscdlgs.hrc b/sc/source/ui/inc/miscdlgs.hrc
index 00b1658849d6..3f1faa5492aa 100644
--- a/sc/source/ui/inc/miscdlgs.hrc
+++ b/sc/source/ui/inc/miscdlgs.hrc
@@ -36,20 +36,6 @@
// -> RID_SCDLG_FILLSERIES
// -> RID_SCDLG_AUTOFORMAT
-// Fuer den DesignEditor:
-/*
-#define RID_SCDLG_DELCELL 1256
-#define RID_SCDLG_INSCELL 1257
-#define RID_SCDLG_DELCONT 1258
-#define RID_SCDLG_INSCONT 1259
-#define RID_SCDLG_MOVETAB 1260
-#define RID_SCDLG_STRINPUT 1261
-#define RID_SCDLG_MTRINPUT 1262
-#define RID_SCDLG_SELENTRY 1263
-#define RID_SCDLG_FILLSERIES 1264
-#define RID_SCDLG_AUTOFORMAT 1255
-*/
-
// allgemein
#define BTN_OK 100
#define BTN_CANCEL 102
@@ -112,6 +98,16 @@
#define LB_INSERT 4
#define BTN_COPY 5
#define STR_NEWDOC 6
+#define BTN_MOVE 7
+#define FL_ACTION 8
+#define FL_LOCATION 9
+#define FL_NAME 11
+#define FT_TABNAME 12
+#define FT_TABNAME_WARN 13
+#define STR_CURRENTDOC 14
+#define STR_TABNAME_WARN_USED 15
+#define STR_TABNAME_WARN_EMPTY 16
+#define STR_TABNAME_WARN_INVALID 17
// Eingabe eines Strings
#define ED_INPUT 10
@@ -185,4 +181,3 @@
// Tab Bg Color
#define TAB_BG_COLOR_CT_BORDER 1
#define TAB_BG_COLOR_SET_BGDCOLOR 2
-
diff --git a/sc/source/ui/inc/mvtabdlg.hxx b/sc/source/ui/inc/mvtabdlg.hxx
index 27963f335bcb..e850d9bff41c 100644
--- a/sc/source/ui/inc/mvtabdlg.hxx
+++ b/sc/source/ui/inc/mvtabdlg.hxx
@@ -35,6 +35,7 @@
#include <vcl/imagebtn.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/fixed.hxx>
+#include <vcl/edit.hxx>
#include <layout/layout.hxx>
#include <layout/layout-pre.hxx>
@@ -44,33 +45,60 @@
class ScMoveTableDlg : public ModalDialog
{
public:
- ScMoveTableDlg( Window* pParent );
+ ScMoveTableDlg( Window* pParent, const String& rDefault );
~ScMoveTableDlg();
USHORT GetSelectedDocument () const;
SCTAB GetSelectedTable () const;
- BOOL GetCopyTable () const;
- void SetCopyTable (BOOL bFlag=TRUE);
+ bool GetCopyTable () const;
+ bool GetRenameTable () const;
+ void GetTabNameString( String& rString ) const;
+ void SetForceCopyTable ();
void EnableCopyTable (BOOL bFlag=TRUE);
+ void EnableRenameTable (BOOL bFlag=TRUE);
private:
+ void ResetRenameInput();
+ void CheckNewTabName();
+ ScDocument* GetSelectedDoc();
+
+private:
+ FixedLine aFlAction;
+ RadioButton aBtnMove;
+ RadioButton aBtnCopy;
+ FixedLine aFlLocation;
FixedText aFtDoc;
ListBox aLbDoc;
FixedText aFtTable;
ListBox aLbTable;
- CheckBox aBtnCopy;
+ FixedLine aFlName;
+ FixedText aFtTabName;
+ Edit aEdTabName;
+ FixedText aFtWarn;
OKButton aBtnOk;
CancelButton aBtnCancel;
HelpButton aBtnHelp;
+ String maStrTabNameUsed;
+ String maStrTabNameEmpty;
+ String maStrTabNameInvalid;
+
+ const String& mrDefaultName;
+
USHORT nDocument;
SCTAB nTable;
- BOOL bCopyTable;
+ bool bCopyTable:1;
+ bool bRenameTable:1;
+ bool mbEverEdited:1;
+
//--------------------------------------
void Init ();
+ void InitBtnRename ();
void InitDocListBox ();
DECL_LINK( OkHdl, void * );
DECL_LINK( SelHdl, ListBox * );
+ DECL_LINK( CheckBtnHdl, void * );
+ DECL_LINK( CheckNameHdl, Edit * );
};
#include <layout/layout-post.hxx>
diff --git a/sc/source/ui/inc/namedlg.hrc b/sc/source/ui/inc/namedlg.hrc
index b2eec6879ec3..0d49fe8c3f60 100644
--- a/sc/source/ui/inc/namedlg.hrc
+++ b/sc/source/ui/inc/namedlg.hrc
@@ -33,20 +33,19 @@
#define BTN_REMOVE 4
#define BTN_HELP 5
#define BTN_MORE 6
-//
+
#define FL_NAME 11
#define ED_NAME 12
#define FL_ASSIGN 13
#define ED_ASSIGN 15
#define RB_ASSIGN 16
-//
+
#define STR_ADD 21
#define STR_MODIFY 22
#define STR_INVALIDSYMBOL 23
-//
+
#define BTN_CRITERIA 31
#define BTN_PRINTAREA 32
#define BTN_COLHEADER 33
#define BTN_ROWHEADER 34
#define FL_TYPE 35
-
diff --git a/sc/source/ui/inc/navipi.hxx b/sc/source/ui/inc/navipi.hxx
index 6b804589e145..7d3559e3de9b 100644
--- a/sc/source/ui/inc/navipi.hxx
+++ b/sc/source/ui/inc/navipi.hxx
@@ -244,7 +244,6 @@ private:
SfxBindings& rBindings; // must be first member
ImageList aCmdImageList; // must be before aTbxCmd
- ImageList aCmdImageListH;
FixedInfo aFtCol;
ColumnEdit aEdCol;
FixedInfo aFtRow;
diff --git a/sc/source/ui/inc/optdlg.hrc b/sc/source/ui/inc/optdlg.hrc
index e03f3e807037..9ac8213cf621 100644
--- a/sc/source/ui/inc/optdlg.hrc
+++ b/sc/source/ui/inc/optdlg.hrc
@@ -109,19 +109,19 @@
// TP_LCONTENT
-#define GB_DISPLAY 20
-#define CB_FORMULA 21
-#define CB_NIL 22
+#define GB_DISPLAY 20
+#define CB_FORMULA 21
+#define CB_NIL 22
#define CB_ANNOT 23
#define CB_VALUE 24
#define CB_ANCHOR 25
#define GB_OBJECT 26
#define FT_OBJGRF 27
#define LB_OBJGRF 28
-#define FT_DIAGRAM 29
-#define LB_DIAGRAM 30
-#define FT_DRAW 31
-#define LB_DRAW 32
+#define FT_DIAGRAM 29
+#define LB_DIAGRAM 30
+#define FT_DRAW 31
+#define LB_DRAW 32
#define CB_CLIP 33
#define GB_ZOOM 34
#define CB_SYNCZOOM 35
@@ -162,9 +162,8 @@
#define FL_SEPARATOR1 71
#define FL_SEPARATOR2 72
#define FL_SEPARATOR 73
-#define FL_H_SEPARATOR 74
-// TP_INPUT
+// TP_INPUT
#define GB_OPTIONS 70
#define CB_ALIGN 71
#define LB_ALIGN 72
diff --git a/sc/source/ui/inc/optload.hrc b/sc/source/ui/inc/optload.hrc
index 992bb8c737e4..c090c64dc136 100644
--- a/sc/source/ui/inc/optload.hrc
+++ b/sc/source/ui/inc/optload.hrc
@@ -36,5 +36,3 @@
#define CB_AUTO_UPDATE_FIELDS 8
#define CB_AUTO_UPDATE_CHARTS 9
#define FT_UPDATE_LINKS 10
-
-
diff --git a/sc/source/ui/inc/optsolver.hrc b/sc/source/ui/inc/optsolver.hrc
index 9df8eea1d7f4..5ed7b8560060 100644
--- a/sc/source/ui/inc/optsolver.hrc
+++ b/sc/source/ui/inc/optsolver.hrc
@@ -91,8 +91,5 @@
#define BTN_OK 5
#define BTN_CANCEL 6
-#define IMG_DEL_H 1
-
#define STR_INVALIDINPUT 1
#define STR_INVALIDCONDITION 2
-
diff --git a/sc/source/ui/inc/pfiltdlg.hxx b/sc/source/ui/inc/pfiltdlg.hxx
index 64df881086db..6a57c9229eea 100644
--- a/sc/source/ui/inc/pfiltdlg.hxx
+++ b/sc/source/ui/inc/pfiltdlg.hxx
@@ -29,9 +29,6 @@
#ifndef SC_PFILTDLG_HXX
#define SC_PFILTDLG_HXX
-#ifndef _SV_HXX
-#endif
-
#include <vcl/morebtn.hxx>
#include <svtools/stdctrl.hxx>
#include <vcl/button.hxx>
diff --git a/sc/source/ui/inc/protectiondlg.hrc b/sc/source/ui/inc/protectiondlg.hrc
index 52e57040922c..2f7cc5ee21a8 100644
--- a/sc/source/ui/inc/protectiondlg.hrc
+++ b/sc/source/ui/inc/protectiondlg.hrc
@@ -40,5 +40,5 @@
#define FT_OPTIONS 10
#define CLB_OPTIONS 11
-#define ST_SELECT_LOCKED_CELLS 50
-#define ST_SELECT_UNLOCKED_CELLS 51
+#define ST_SELECT_PROTECTED_CELLS 50
+#define ST_SELECT_UNPROTECTED_CELLS 51
diff --git a/sc/source/ui/inc/pvlaydlg.hxx b/sc/source/ui/inc/pvlaydlg.hxx
index d9ae44cca438..98c3ba15ed96 100644
--- a/sc/source/ui/inc/pvlaydlg.hxx
+++ b/sc/source/ui/inc/pvlaydlg.hxx
@@ -73,8 +73,6 @@ class ScDPObject;
//============================================================================
-#define FUNC_COUNT 11
-
class ScDPLayoutDlg : public ScAnyRefDlg
{
public:
@@ -97,9 +95,8 @@ public:
void NotifyMouseButtonUp ( const Point& rAt );
PointerStyle NotifyMouseMove ( const Point& rAt );
void NotifyFieldFocus ( ScDPFieldType eType, BOOL bGotFocus );
- void NotifyMoveField ( ScDPFieldType eToType );
+ void NotifyMoveFieldToEnd ( ScDPFieldType eToType );
void NotifyRemoveField ( ScDPFieldType eType, size_t nFieldIndex );
- BOOL NotifyMoveSlider ( USHORT nKeyCode ); // return TRUE, if position changed
protected:
virtual void Deactivate();
@@ -111,15 +108,14 @@ private:
FixedLine aFlLayout;
FixedText aFtPage;
- ScDPFieldWindow aWndPage;
+ ScDPPageFieldControl aWndPage;
FixedText aFtCol;
- ScDPFieldWindow aWndCol;
+ ScDPColFieldControl aWndCol;
FixedText aFtRow;
- ScDPFieldWindow aWndRow;
+ ScDPRowFieldControl aWndRow;
FixedText aFtData;
- ScDPFieldWindow aWndData;
- ScDPFieldWindow aWndSelect;
- ScrollBar aSlider;
+ ScDPDataFieldControl aWndData;
+ ScDPSelectFieldControl aWndSelect;
FixedInfo aFtInfo;
FixedLine aFlAreas;
@@ -176,18 +172,20 @@ private:
ScDPFuncDataVec aRowArr;
ScDPFuncDataVec aDataArr;
+ long mnFieldObjSpace;
+
ScDPObjectPtr xDlgDPObject;
ScRange aOldRange;
ScPivotParam thePivotData;
ScViewData* pViewData;
ScDocument* pDoc;
- BOOL bRefInputMode;
+ bool bRefInputMode;
+ bool mbValidSrcRange;
private:
- ScDPFieldWindow& GetFieldWindow ( ScDPFieldType eType );
void Init (bool bNewOutput);
void InitWndSelect ( const ::std::vector<ScDPLabelDataRef>& rLabels );
- void InitWnd ( PivotField* pArr, long nCount, ScDPFieldType eType );
+ void InitFieldWindow ( const ::std::vector<PivotField>& rFields, ScDPFieldType eType );
void InitFocus ();
void InitFields ();
void CalcWndSizes ();
@@ -202,24 +200,39 @@ private:
void AddField ( size_t nFromIndex,
ScDPFieldType eToType, const Point& rAtPos );
+ void AppendField(size_t nFromIndex, ScDPFieldType eToType);
void MoveField ( ScDPFieldType eFromType, size_t nFromIndex,
ScDPFieldType eToType, const Point& rAtPos );
+ void MoveFieldToEnd(ScDPFieldType eFromType, size_t nFromIndex, ScDPFieldType eToType);
void RemoveField ( ScDPFieldType eRemType, size_t nRemIndex );
- BOOL GetPivotArrays ( PivotField* pPageArr,
- PivotField* pColArr,
- PivotField* pRowArr,
- PivotField* pDataArr,
- USHORT& rPageCount,
- USHORT& rColCount,
- USHORT& rRowCount,
- USHORT& rDataCount );
+ bool GetPivotArrays( ::std::vector<PivotField>& rPageFields,
+ ::std::vector<PivotField>& rColFields,
+ ::std::vector<PivotField>& rRowFields,
+ ::std::vector<PivotField>& rDataFields );
void UpdateSrcRange();
+ ScDPFieldControlBase* GetFieldWindow(ScDPFieldType eType);
+
+ /**
+ * Get pointers to field windows that are <b>not</b> the window of
+ * specified type. The select window type is not included.
+ */
+ void GetOtherFieldWindows(
+ ScDPFieldType eType, ScDPFieldControlBase*& rpWnd1, ScDPFieldControlBase*& rpWnd2);
+
+ ScDPFuncDataVec* GetFieldDataArray(ScDPFieldType eType);
+
+ /**
+ * Like GetOtherFieldWindows(), get pointers to data arrays of the fields
+ * that are <b>not</b> the specified field type.
+ */
+ void GetOtherDataArrays(
+ ScDPFieldType eType, ScDPFuncDataVec*& rpArr1, ScDPFuncDataVec*& rpArr2);
+
// Handler
DECL_LINK( ClickHdl, PushButton * );
- DECL_LINK( ScrollHdl, ScrollBar * );
DECL_LINK( SelAreaHdl, ListBox * );
DECL_LINK( MoreClickHdl, MoreButton * );
DECL_LINK( EdModifyHdl, Edit * );
@@ -229,8 +242,6 @@ private:
DECL_LINK( GetFocusHdl, Control* );
};
-
-
#endif // SC_PVLAYDLG_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/reffact.hxx b/sc/source/ui/inc/reffact.hxx
index 0be78421455b..f170fa7dc0e4 100644
--- a/sc/source/ui/inc/reffact.hxx
+++ b/sc/source/ui/inc/reffact.hxx
@@ -100,7 +100,6 @@ class ScSimpleRefDlgWrapper: public SfxChildWindow
void StartRefInput();
};
-//<!--Added by PengYunQuan for Validity Cell Range Picker
class SC_DLLPUBLIC ScValidityRefChildWin : public SfxChildWindow
{
bool m_bVisibleLock:1;
@@ -115,7 +114,6 @@ public:
void Hide(){ if( !m_bVisibleLock) SfxChildWindow::Hide(); }
void Show( USHORT nFlags ){ if( !m_bVisibleLock ) SfxChildWindow::Show( nFlags ); }
};
-//-->Added by PengYunQuan for Validity Cell Range Picker
//==================================================================
diff --git a/sc/source/ui/inc/rfindlst.hxx b/sc/source/ui/inc/rfindlst.hxx
index 03867631aa24..7e6f08adc4f3 100644
--- a/sc/source/ui/inc/rfindlst.hxx
+++ b/sc/source/ui/inc/rfindlst.hxx
@@ -50,7 +50,7 @@ class ScRangeFindList
{
List aEntries;
String aDocName;
- BOOL bHidden;
+ bool bHidden;
public:
ScRangeFindList(const String& rName);
@@ -64,9 +64,9 @@ public:
void SetHidden( BOOL bSet ) { bHidden = bSet; }
const String& GetDocName() const { return aDocName; }
- BOOL IsHidden() const { return bHidden; }
+ bool IsHidden() const { return bHidden; }
- static ColorData GetColorName( USHORT nIndex );
+ static ColorData GetColorName( size_t nIndex );
};
diff --git a/sc/source/ui/inc/select.hxx b/sc/source/ui/inc/select.hxx
index 7fdd0e780e54..c822ab267b1f 100644
--- a/sc/source/ui/inc/select.hxx
+++ b/sc/source/ui/inc/select.hxx
@@ -64,6 +64,9 @@ private:
ScSplitPos GetWhich();
+ ULONG CalcUpdateInterval( const Size& rWinSize, const Point& rEffPos,
+ bool bLeftScroll, bool bTopScroll, bool bRightScroll, bool bBottomScroll );
+
public:
ScViewFunctionSet( ScViewData* pNewViewData );
diff --git a/sc/source/ui/inc/simpref.hrc b/sc/source/ui/inc/simpref.hrc
index d6fb6d4412eb..c7dbb3ebdea9 100644
--- a/sc/source/ui/inc/simpref.hrc
+++ b/sc/source/ui/inc/simpref.hrc
@@ -34,4 +34,3 @@
#define FT_ASSIGN 10
#define ED_ASSIGN 11
#define RB_ASSIGN 12
-
diff --git a/sc/source/ui/inc/solveroptions.hrc b/sc/source/ui/inc/solveroptions.hrc
index e3be150ccd1b..3c543e61a8f5 100644
--- a/sc/source/ui/inc/solveroptions.hrc
+++ b/sc/source/ui/inc/solveroptions.hrc
@@ -44,4 +44,3 @@
#define NF_VALUE 1
#define ED_VALUE 1
-
diff --git a/sc/source/ui/inc/solvrdlg.hrc b/sc/source/ui/inc/solvrdlg.hrc
index 7139abd2a5f6..ab40fd3f72a2 100644
--- a/sc/source/ui/inc/solvrdlg.hrc
+++ b/sc/source/ui/inc/solvrdlg.hrc
@@ -43,4 +43,3 @@
#define STR_INVALIDVAR 2
#define STR_INVALIDFORM 3
#define STR_NOFORMULA 4
-
diff --git a/sc/source/ui/inc/sortdlg.hrc b/sc/source/ui/inc/sortdlg.hrc
index d079ea560779..f583dd3d2ce9 100644
--- a/sc/source/ui/inc/sortdlg.hrc
+++ b/sc/source/ui/inc/sortdlg.hrc
@@ -34,13 +34,6 @@
// -> SCSTR_UNDEFINED
// -> SCSTR_FIELD
-/*
-#define RID_SCDLG_SORT 256
-#define RID_SCPAGE_SORT_FIELDS 257
-#define RID_SCPAGE_SORT_OPTIONS 258
-#define RID_SCDLG_SORT_WARNING
-*/
-
#define TP_FIELDS 1
#define TP_OPTIONS 2
@@ -63,8 +56,6 @@
#define LB_SORT_USER 2
#define LB_OUTAREA 3
#define ED_OUTAREA 4
-//#define FT_AREA_LABEL 5
-//#define FT_AREA 6
#define BTN_SORT_USER 7
#define BTN_CASESENSITIVE 8
#define BTN_LABEL 9
@@ -80,12 +71,8 @@
#define LB_ALGORITHM 19
#define BTN_NATURALSORT 20
-//#define RID_SCDLG_SORT_WARNING
#define FT_TEXT 1
#define FT_TIP 2
#define BTN_EXTSORT 3
#define BTN_CURSORT 4
#define BTN_CANCEL 5
-
-
-
diff --git a/sc/source/ui/inc/styledlg.hxx b/sc/source/ui/inc/styledlg.hxx
index ed39fbf51b2b..6114da813f03 100644
--- a/sc/source/ui/inc/styledlg.hxx
+++ b/sc/source/ui/inc/styledlg.hxx
@@ -29,9 +29,6 @@
#ifndef SC_STYLEDLG_HXX
#define SC_STYLEDLG_HXX
-#ifndef _SFX_HXX
-#endif
-
#include <sfx2/styledlg.hxx>
//==================================================================
diff --git a/sc/source/ui/inc/subtdlg.hrc b/sc/source/ui/inc/subtdlg.hrc
index 66c63df48953..b0680ece924b 100644
--- a/sc/source/ui/inc/subtdlg.hrc
+++ b/sc/source/ui/inc/subtdlg.hrc
@@ -27,12 +27,6 @@
#include "sc.hrc"
-/*
-#define RID_SCDLG_SUBTOTALS 256
-#define RID_SCPAGE_SUBT_GROUP 256
-#define RID_SCPAGE_SUBT_OPTIONS 257
-*/
-
// TabDialog
#define BTN_REMOVE 1
#define PAGE_GROUP1 2
@@ -60,5 +54,3 @@
#define BTN_FORMATS 33
#define BTN_USERDEF 34
#define LB_USERDEF 35
-
-
diff --git a/sc/source/ui/inc/subtdlg.hxx b/sc/source/ui/inc/subtdlg.hxx
index 8cff085ae0f0..d2ca8b9e8d37 100644
--- a/sc/source/ui/inc/subtdlg.hxx
+++ b/sc/source/ui/inc/subtdlg.hxx
@@ -29,9 +29,6 @@
#ifndef SC_SUBTDLG_HXX
#define SC_SUBTDLG_HXX
-#ifndef _SFX_HXX
-#endif
-
#include <sfx2/tabdlg.hxx>
#include "scui_def.hxx"
diff --git a/sc/source/ui/inc/tabopdlg.hrc b/sc/source/ui/inc/tabopdlg.hrc
index 5ae127b63e73..633c69881776 100644
--- a/sc/source/ui/inc/tabopdlg.hrc
+++ b/sc/source/ui/inc/tabopdlg.hrc
@@ -46,5 +46,3 @@
#define STR_WRONGROWCOL 4
#define STR_NOCOLFORMULA 5
#define STR_NOROWFORMULA 6
-
-
diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx
index 8a4d79220cfd..3fbe63d6154e 100644
--- a/sc/source/ui/inc/tabview.hxx
+++ b/sc/source/ui/inc/tabview.hxx
@@ -30,11 +30,6 @@
#include <vcl/scrbar.hxx>
-//REMOVE #ifndef SO2_DECL_SVINPLACECLIENT_DEFINED
-//REMOVE #define SO2_DECL_SVINPLACECLIENT_DEFINED
-//REMOVE SO2_DECL_REF(SvInPlaceClient)
-//REMOVE #endif
-
#include <sfx2/ipclient.hxx>
#include "viewutil.hxx"
diff --git a/sc/source/ui/inc/tbinsert.hrc b/sc/source/ui/inc/tbinsert.hrc
index 44c0d295cfc6..78ff1ca0ec84 100644
--- a/sc/source/ui/inc/tbinsert.hrc
+++ b/sc/source/ui/inc/tbinsert.hrc
@@ -28,5 +28,3 @@
#define RID_TOOLBOX_INSERT 1
#define RID_TOOLBOX_INSCELLS 2
#define RID_TOOLBOX_INSOBJ 3
-
-
diff --git a/sc/source/ui/inc/tpcalc.hxx b/sc/source/ui/inc/tpcalc.hxx
index 12e12c8750b8..608670181f46 100644
--- a/sc/source/ui/inc/tpcalc.hxx
+++ b/sc/source/ui/inc/tpcalc.hxx
@@ -71,7 +71,6 @@ private:
RadioButton aBtnDateSc10;
RadioButton aBtnDate1904;
- FixedLine aHSeparatorFL;
CheckBox aBtnCase;
CheckBox aBtnCalc;
CheckBox aBtnMatch;
diff --git a/sc/source/ui/inc/tphf.hxx b/sc/source/ui/inc/tphf.hxx
index 5b7576320b13..386015e0337c 100644
--- a/sc/source/ui/inc/tphf.hxx
+++ b/sc/source/ui/inc/tphf.hxx
@@ -53,8 +53,6 @@ protected:
const SfxItemSet& rSet,
USHORT nSetId );
-// using SvxHFPage::ActivatePage;
-// using SvxHFPage::DeactivatePage;
virtual void ActivatePage();
virtual void DeactivatePage();
virtual void ActivatePage( const SfxItemSet& rSet );
diff --git a/sc/source/ui/inc/tptable.hxx b/sc/source/ui/inc/tptable.hxx
index 007fb3f795c1..b1b988811d6e 100644
--- a/sc/source/ui/inc/tptable.hxx
+++ b/sc/source/ui/inc/tptable.hxx
@@ -78,8 +78,6 @@ private:
FixedImage aBmpPageDir;
Image aImgLeftRight;
Image aImgTopDown;
- Image aImgLeftRightHC;
- Image aImgTopDownHC;
CheckBox aBtnPageNo;
NumericField aEdPageNo;
diff --git a/sc/source/ui/inc/transobj.hxx b/sc/source/ui/inc/transobj.hxx
index 04a2eac1df29..5940d806b43c 100644
--- a/sc/source/ui/inc/transobj.hxx
+++ b/sc/source/ui/inc/transobj.hxx
@@ -53,8 +53,6 @@ private:
SCROW nNonFiltered; // non-filtered rows
TransferableDataHelper aOleData;
TransferableObjectDescriptor aObjDesc;
-//REMOVE SvEmbeddedObjectRef aDocShellRef;
-//REMOVE SvEmbeddedObjectRef aDrawPersistRef;
SfxObjectShellRef aDocShellRef;
SfxObjectShellRef aDrawPersistRef;
com::sun::star::uno::Reference<com::sun::star::sheet::XSheetCellRanges> xDragSourceRanges;
diff --git a/sc/source/ui/inc/undotab.hxx b/sc/source/ui/inc/undotab.hxx
index 029754663b72..c6480c90f084 100644
--- a/sc/source/ui/inc/undotab.hxx
+++ b/sc/source/ui/inc/undotab.hxx
@@ -51,7 +51,9 @@
#include <com/sun/star/uno/Sequence.hxx>
+#include <boost/shared_ptr.hpp>
#include <memory>
+#include <vector>
class ScDocShell;
class ScDocument;
@@ -180,9 +182,13 @@ class ScUndoMoveTab: public ScSimpleUndo
{
public:
TYPEINFO();
- ScUndoMoveTab( ScDocShell* pNewDocShell,
- const SvShorts &aOldTab,
- const SvShorts &aNewTab);
+ ScUndoMoveTab(
+ ScDocShell* pNewDocShell,
+ ::std::vector<SCTAB>* pOldTabs,
+ ::std::vector<SCTAB>* pNewTabs,
+ ::std::vector< ::rtl::OUString>* pOldNames = NULL,
+ ::std::vector< ::rtl::OUString>* pNewNames = NULL );
+
virtual ~ScUndoMoveTab();
virtual void Undo();
@@ -193,8 +199,10 @@ public:
virtual String GetComment() const;
private:
- SvShorts theOldTabs;
- SvShorts theNewTabs;
+ ::boost::shared_ptr< ::std::vector<SCTAB> > mpOldTabs;
+ ::boost::shared_ptr< ::std::vector<SCTAB> > mpNewTabs;
+ ::boost::shared_ptr< ::std::vector< ::rtl::OUString> > mpOldNames;
+ ::boost::shared_ptr< ::std::vector< ::rtl::OUString> > mpNewNames;
void DoChange( BOOL bUndo ) const;
};
@@ -204,9 +212,11 @@ class ScUndoCopyTab: public ScSimpleUndo
{
public:
TYPEINFO();
- ScUndoCopyTab(ScDocShell* pNewDocShell,
- const SvShorts &aOldTab,
- const SvShorts &aNewTab);
+ ScUndoCopyTab(
+ ScDocShell* pNewDocShell,
+ ::std::vector<SCTAB>* pOldTabs,
+ ::std::vector<SCTAB>* pNewTabs,
+ ::std::vector< ::rtl::OUString>* pNewNames = NULL );
virtual ~ScUndoCopyTab();
@@ -218,9 +228,10 @@ public:
virtual String GetComment() const;
private:
+ ::boost::shared_ptr< ::std::vector<SCTAB> > mpOldTabs;
+ ::boost::shared_ptr< ::std::vector<SCTAB> > mpNewTabs;
+ ::boost::shared_ptr< ::std::vector< ::rtl::OUString> > mpNewNames;
SdrUndoAction* pDrawUndo;
- SvShorts theOldTabs;
- SvShorts theNewTabs;
void DoChange() const;
};
diff --git a/sc/source/ui/inc/validate.hrc b/sc/source/ui/inc/validate.hrc
index 45e5dda39c2d..bde827c84e00 100644
--- a/sc/source/ui/inc/validate.hrc
+++ b/sc/source/ui/inc/validate.hrc
@@ -58,9 +58,7 @@
#define CB_SORTLIST 28
#define EDT_LIST 29
#define FT_SOURCEHINT 30
-//<!--Added by PengYunQuan for Validity Cell Range Picker
#define RB_VALIDITY_REF 88
-//-->Added by PengYunQuan for Validity Cell Range Picker
/* Position indexes for "Allow" list box.
They do not map directly to ScValidationMode and can safely be modified to
@@ -85,4 +83,3 @@
#define SC_VALIDDLG_DATA_NOTEQUAL 5
#define SC_VALIDDLG_DATA_BETWEEN 6
#define SC_VALIDDLG_DATA_NOTBETWEEN 7
-
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
index 1f7e714bb6e0..050c54a00121 100644
--- a/sc/source/ui/inc/validate.hxx
+++ b/sc/source/ui/inc/validate.hxx
@@ -34,13 +34,11 @@
#include <vcl/fixed.hxx>
#include <vcl/lstbox.hxx>
#include <svtools/svmedit.hxx>
-//<!--Added by PengYunQuan for Validity Cell Range Picker
+
#include "anyrefdg.hxx"
-//-->Added by PengYunQuan for Validity Cell Range Picker
// ============================================================================
-//<!--Added by PengYunQuan for Validity Cell Range Picker
struct ScRefHandlerCaller{
virtual ~ScRefHandlerCaller(){}
};
@@ -50,15 +48,15 @@ protected:
ScRefHandlerCaller *m_pHandler;
void (ScRefHandlerCaller::*m_pSetReferenceHdl)( const ScRange& , ScDocument* );
void (ScRefHandlerCaller::*m_pSetActiveHdl)();
- void (ScRefHandlerCaller::*m_pRefInputStartPreHdl)( ScRefEdit* pEdit, ScRefButton* pButton );
- void (ScRefHandlerCaller::*m_pRefInputStartPostHdl)( ScRefEdit* pEdit, ScRefButton* pButton );
+ void (ScRefHandlerCaller::*m_pRefInputStartPreHdl)( formula::RefEdit* pEdit, formula::RefButton* pButton );
+ void (ScRefHandlerCaller::*m_pRefInputStartPostHdl)( formula::RefEdit* pEdit, formula::RefButton* pButton );
void (ScRefHandlerCaller::*m_pRefInputDonePreHdl)();
void (ScRefHandlerCaller::*m_pRefInputDonePostHdl)();
public:
typedef void (ScRefHandlerCaller::*PFUNCSETREFHDLTYPE)( const ScRange& , ScDocument* );
typedef void (ScRefHandlerCaller::*PCOMMONHDLTYPE)();
- typedef void (ScRefHandlerCaller::*PINPUTSTARTDLTYPE)( ScRefEdit* pEdit, ScRefButton* pButton );
+ typedef void (ScRefHandlerCaller::*PINPUTSTARTDLTYPE)( formula::RefEdit* pEdit, formula::RefButton* pButton );
PFUNCSETREFHDLTYPE SetSetRefHdl( PFUNCSETREFHDLTYPE pNewHdl )
{
@@ -87,33 +85,23 @@ public:
ScRefHandlerHelper():m_pHandler(NULL), m_pSetReferenceHdl( NULL ), m_pSetActiveHdl(NULL), m_pRefInputStartPreHdl( NULL ), m_pRefInputStartPostHdl( NULL ), m_pRefInputDonePreHdl( NULL ), m_pRefInputDonePostHdl( NULL ){}
};
-//-->Added by PengYunQuan for Validity Cell Range Picker
/** The "Validity" tab dialog. */
-//<!--Modified by PengYunQuan for Validity Cell Range Picker
-//class ScValidationDlg : public SfxTabDialog
class ScValidationDlg :public ScRefHdlrImpl<ScValidationDlg, SfxTabDialog, false>, public ScRefHandlerHelper
-//-->Modified by PengYunQuan for Validity Cell Range Picker
{
- //<!--Added by PengYunQuan for Validity Cell Range Picker
typedef ScRefHdlrImpl<ScValidationDlg, SfxTabDialog, false> ScValidationDlgBase;
- //Start_Moddify by liliang 03/26/2008 SODC_13677_2
DECL_LINK( OkHdl, Button * );
- //End_Moddify by liliang 03/26/2008 SODC_13677_2
+
bool m_bOwnRefHdlr:1;
ScTabViewShell *m_pTabVwSh;
bool m_bRefInputting:1;
bool EnterRefStatus();
bool LeaveRefStatus();
- //-->Added by PengYunQuan for Validity Cell Range Picker
+
public:
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //explicit ScValidationDlg( Window* pParent, const SfxItemSet* pArgSet );
explicit ScValidationDlg( Window* pParent, const SfxItemSet* pArgSet, ScTabViewShell * pTabViewSh, SfxBindings *pB = NULL );
- //-->Modified by PengYunQuan for Validity Cell Range Picker
- //<!--Added by PengYunQuan for Validity Cell Range Picker
virtual ~ScValidationDlg();
inline static ScValidationDlg * Find1AliveObject( Window *pAncestor );
bool IsAlive();
@@ -148,7 +136,7 @@ public:
bool IsRefInputting(){ return m_bRefInputting; }
- virtual void RefInputStart( ScRefEdit* pEdit, ScRefButton* pButton = NULL )
+ virtual void RefInputStart( formula::RefEdit* pEdit, formula::RefButton* pButton = NULL )
{
if( !CanInputStart( pEdit ) )
return;
@@ -181,17 +169,13 @@ public:
enum { SLOTID = SID_VALIDITY_REFERENCE };
BOOL Close();
- //-->Added by PengYunQuan for Validity Cell Range Picker
};
// ============================================================================
/** The tab page "Criteria" from the Validation dialog. */
-//<!--Modified by PengYunQuan for Validity Cell Range Picker
-//class ScTPValidationValue : public SfxTabPage
class ScTPValidationValue : public ScRefHandlerCaller, public SfxTabPage
-//-->Modified by PengYunQuan for Validity Cell Range Picker
{
public:
explicit ScTPValidationValue( Window* pParent, const SfxItemSet& rArgSet );
@@ -223,16 +207,10 @@ private:
FixedText maFtValue;
ListBox maLbValue;
FixedText maFtMin;
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Edit maEdMin;
- ScRefEdit maEdMin;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
+ formula::RefEdit maEdMin;
MultiLineEdit maEdList; /// Entries for explicit list
FixedText maFtMax;
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //Edit maEdMax;
- ScRefEdit maEdMax;
- //-->Modified by PengYunQuan for Validity Cell Range Picker
+ formula::RefEdit maEdMax;
FixedText maFtHint; /// Hint text for cell range validity.
String maStrMin;
@@ -241,33 +219,31 @@ private:
String maStrRange;
String maStrList;
sal_Unicode mcFmlaSep; /// List separator in formulas.
- //<!--Added by PengYunQuan for Validity Cell Range Picker
+
DECL_LINK( EditSetFocusHdl, Edit *);
DECL_LINK( KillFocusHdl, Window *);
void OnClick( Button *pBtn );
- ScRefEdit *m_pRefEdit;
- class ScRefButtonEx:public ::ScRefButton
+ formula::RefEdit* m_pRefEdit;
+ class ScRefButtonEx:public ::formula::RefButton
{
void Click();
public:
- ScRefButtonEx( Window* pParent, const ResId& rResId, ScRefEdit* pEdit = NULL, ScRefHandler *pRefHdlr = NULL ): ::ScRefButton( pParent, rResId, pEdit, pRefHdlr ){}
+ ScRefButtonEx( Window* pParent, const ResId& rResId, formula::RefEdit* pEdit = NULL, ScRefHandler *pRefHdlr = NULL ): ::formula::RefButton( pParent, rResId, pEdit, pRefHdlr ){}
}m_btnRef;
friend class ScRefButtonEx;
void SetReferenceHdl( const ScRange& , ScDocument* );
void SetActiveHdl();
- void RefInputStartPreHdl( ScRefEdit* pEdit, ScRefButton* pButton );
+ void RefInputStartPreHdl( formula::RefEdit* pEdit, formula::RefButton* pButton );
void RefInputDonePreHdl();
void RefInputDonePostHdl();
ScValidationDlg * GetValidationDlg();
- //TYPEINFO();
void TidyListBoxes();
public:
USHORT GetAllowEntryPos();
String GetMinText();
void SetupRefDlg();
void RemoveRefDlg();
- //-->Added by PengYunQuan for Validity Cell Range Picker
};
@@ -333,7 +309,6 @@ public:
virtual void Reset ( const SfxItemSet& rArgSet );
};
-//<!--Added by PengYunQuan for Validity Cell Range Picker
inline ScTabViewShell *ScValidationDlg::GetTabViewShell()
{
return m_pTabVwSh;
@@ -343,7 +318,7 @@ inline ScValidationDlg * ScValidationDlg::Find1AliveObject( Window *pAncestor )
{
return static_cast<ScValidationDlg *>( SC_MOD()->Find1RefWindow( SLOTID, pAncestor ) );
}
-//-->Added by PengYunQuan for Validity Cell Range Picker
+
#endif // SC_VALIDATE_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/viewfunc.hxx b/sc/source/ui/inc/viewfunc.hxx
index f231e91d3dd6..57498f346269 100644
--- a/sc/source/ui/inc/viewfunc.hxx
+++ b/sc/source/ui/inc/viewfunc.hxx
@@ -272,7 +272,7 @@ public:
BOOL DeleteTables(const SvShorts &TheTabs, BOOL bRecord = TRUE );
BOOL RenameTable( const String& rName, SCTAB nTabNr );
- void MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy );
+ void MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy, const String* pNewTabName = NULL );
void ImportTables( ScDocShell* pSrcShell,
SCTAB nCount, const SCTAB* pSrcTabs,
BOOL bLink,SCTAB nTab);
diff --git a/sc/source/ui/miscdlgs/acredlin.cxx b/sc/source/ui/miscdlgs/acredlin.cxx
index ce6473c2b068..eb2f58d127dd 100644
--- a/sc/source/ui/miscdlgs/acredlin.cxx
+++ b/sc/source/ui/miscdlgs/acredlin.cxx
@@ -142,7 +142,6 @@ ScAcceptChgDlg::ScAcceptChgDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pP
aStrEmpty ( ScResId( STR_EMPTY ))
{
FreeResource();
-// bScAcceptChgDlgIsDead=FALSE;
bNoSelection=FALSE;
bNeedsUpdate=FALSE;
bIgnoreMsg=FALSE;
@@ -202,7 +201,6 @@ ScAcceptChgDlg::ScAcceptChgDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pP
}
ScAcceptChgDlg::~ScAcceptChgDlg()
{
-// bScAcceptChgDlgIsDead=TRUE;
ClearView();
ScChangeTrack* pChanges=pDoc->GetChangeTrack();
@@ -246,7 +244,7 @@ void ScAcceptChgDlg::ReInit(ScViewData* ptrViewData)
}
}
-void __EXPORT ScAcceptChgDlg::Init()
+void ScAcceptChgDlg::Init()
{
String aAreaStr;
ScRange aRange;
@@ -298,11 +296,11 @@ void __EXPORT ScAcceptChgDlg::Init()
pTPFilter->CheckRange(aChangeViewSet.HasRange());
- ScRange* pRangeEntry=aChangeViewSet.GetTheRangeList().GetObject(0);
aRangeList=aChangeViewSet.GetTheRangeList();
- if(pRangeEntry!=NULL)
+ if( !aChangeViewSet.GetTheRangeList().empty() )
{
+ const ScRange* pRangeEntry = aChangeViewSet.GetTheRangeList().front();
String aRefStr;
pRangeEntry->Format( aRefStr, ABS_DREF3D, pDoc );
pTPFilter->SetRange(aRefStr);
@@ -396,17 +394,13 @@ BOOL ScAcceptChgDlg::IsValidAction(const ScChangeAction* pScChangeAction)
{
if(pTPFilter->IsRange())
{
- ScRange* pRangeEntry=aRangeList.First();
-
- while(pRangeEntry!=NULL)
- {
- if(pRangeEntry->Intersects(aRef)) break;
- pRangeEntry=aRangeList.Next();
- }
-
- if(pRangeEntry!=NULL)
+ for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i )
{
- bFlag=TRUE;
+ ScRange* pRangeEntry = aRangeList[ i ];
+ if (pRangeEntry->Intersects(aRef)) {
+ bFlag = TRUE;
+ break;
+ }
}
}
else
@@ -522,18 +516,15 @@ SvLBoxEntry* ScAcceptChgDlg::InsertChangeAction(const ScChangeAction* pScChangeA
{
if(pTPFilter->IsRange())
{
- ScRange* pRangeEntry=aRangeList.First();
-
- while(pRangeEntry!=NULL)
+ for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i )
{
- if(pRangeEntry->Intersects(aRef)) break;
- pRangeEntry=aRangeList.Next();
- }
- //SC_CAS_VIRGIN,SC_CAS_ACCEPTED,SC_CAS_REJECTED
- if(pRangeEntry!=NULL)
- {
- bHasFilterEntry=TRUE;
- bFlag=TRUE;
+ ScRange* pRangeEntry = aRangeList[ i ];
+ if( pRangeEntry->Intersects(aRef) )
+ {
+ bHasFilterEntry=TRUE;
+ bFlag=TRUE;
+ break;
+ }
}
}
else if(!bIsGenerated)
@@ -592,18 +583,15 @@ SvLBoxEntry* ScAcceptChgDlg::InsertFilteredAction(const ScChangeAction* pScChang
{
if(pTPFilter->IsRange())
{
- ScRange* pRangeEntry=aRangeList.First();
-
- while(pRangeEntry!=NULL)
+ for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i )
{
- if(pRangeEntry->Intersects(aRef)) break;
- pRangeEntry=aRangeList.Next();
- }
- //SC_CAS_VIRGIN,SC_CAS_ACCEPTED,SC_CAS_REJECTED
- if(pRangeEntry!=NULL &&
- pScChangeAction->GetState()==eState)
- {
- bFlag=TRUE;
+ ScRange* pRangeEntry=aRangeList[ i ];
+ if( pRangeEntry->Intersects(aRef) )
+ {
+ if( pScChangeAction->GetState()==eState )
+ bFlag=TRUE;
+ break;
+ }
}
}
else if(pScChangeAction->GetState()==eState && !bIsGenerated)
@@ -721,17 +709,14 @@ SvLBoxEntry* ScAcceptChgDlg::InsertChangeActionContent(const ScChangeActionConte
{
if(pTPFilter->IsRange())
{
- ScRange* pRangeEntry=aRangeList.First();
-
- while(pRangeEntry!=NULL)
- {
- if(pRangeEntry->Intersects(aRef)) break;
- pRangeEntry=aRangeList.Next();
- }
- //SC_CAS_VIRGIN,SC_CAS_ACCEPTED,SC_CAS_REJECTED
- if(pRangeEntry!=NULL)
+ for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i )
{
- bFlag=TRUE;
+ ScRange* pRangeEntry = aRangeList[ i ];
+ if( pRangeEntry->Intersects(aRef) )
+ {
+ bFlag=TRUE;
+ break;
+ }
}
}
else if(!bIsGenerated)
@@ -985,7 +970,6 @@ IMPL_LINK( ScAcceptChgDlg, RefHandle, SvxTPFilter*, EMPTYARG )
if(pWnd!=NULL)
{
-// bSimpleRefDlgStarted=TRUE;
USHORT nAcceptId=ScAcceptChgDlgWrapper::GetChildWindowId();
pViewFrm->ShowChildWindow(nAcceptId,FALSE);
pWnd->SetCloseHdl(LINK( this, ScAcceptChgDlg,RefInfoHandle));
@@ -1004,7 +988,6 @@ IMPL_LINK( ScAcceptChgDlg, RefInfoHandle, String*, pResult)
{
USHORT nId;
-// bSimpleRefDlgStarted=FALSE;
ScSimpleRefDlgWrapper::SetAutoReOpen(TRUE);
SfxViewFrame* pViewFrm = pViewData->GetViewShell()->GetViewFrame();
@@ -1040,7 +1023,7 @@ IMPL_LINK( ScAcceptChgDlg, FilterHandle, SvxTPFilter*, pRef )
if(pRef!=NULL)
{
ClearView();
- aRangeList.Clear();
+ aRangeList.RemoveAll();
aRangeList.Parse(pTPFilter->GetRange(),pDoc);
UpdateView();
}
@@ -1763,8 +1746,6 @@ void ScAcceptChgDlg::UpdateEntrys(ScChangeTrack* pChgTrack, ULONG nStartAction,U
IMPL_LINK( ScAcceptChgDlg, ChgTrackModHdl, ScChangeTrack*, pChgTrack)
{
-// if(bScAcceptChgDlgIsDead) return 0;
-
ScChangeTrackMsgQueue& aMsgQueue= pChgTrack->GetMsgQueue();
ScChangeTrackMsgInfo* pTrackInfo=aMsgQueue.Get();
diff --git a/sc/source/ui/miscdlgs/acredlin.src b/sc/source/ui/miscdlgs/acredlin.src
index 4baa9f3d388c..07ae0398134f 100644
--- a/sc/source/ui/miscdlgs/acredlin.src
+++ b/sc/source/ui/miscdlgs/acredlin.src
@@ -26,6 +26,7 @@
************************************************************************/
#include "acredlin.hrc"
+
ModelessDialog RID_SCDLG_CHANGES
{
OutputSize = TRUE ;
@@ -140,22 +141,23 @@ ModelessDialog RID_SCDLG_CHANGES
};
Bitmap BMP_STR_CLOSE
{
- File = "dir-clos.bmp" ;
+ File = "dir-clos.png" ;
};
Bitmap BMP_STR_OPEN
{
- File = "dir-open.bmp" ;
+ File = "dir-open.png" ;
};
Bitmap BMP_STR_END
{
- File = "basobj2.bmp" ;
+ File = "basobj2.png" ;
};
Bitmap BMP_STR_ERROR
{
- File = "basbrk.bmp" ;
+ File = "basbrk.png" ;
};
Text [ en-US ] = "Accept or Reject Changes" ;
};
+
Menu RID_POPUP_CHANGES
{
ItemList =
@@ -215,44 +217,3 @@ Menu RID_POPUP_CHANGES
};
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/miscdlgs/anyrefdg.cxx b/sc/source/ui/miscdlgs/anyrefdg.cxx
index 0c46284c77d7..3bff0199efc3 100644
--- a/sc/source/ui/miscdlgs/anyrefdg.cxx
+++ b/sc/source/ui/miscdlgs/anyrefdg.cxx
@@ -131,7 +131,7 @@ void ScFormulaReferenceHelper::enableInput( BOOL bEnable )
// -----------------------------------------------------------------------------
void ScFormulaReferenceHelper::ShowSimpleReference( const XubString& rStr )
{
- if( /*!pRefEdit &&*/ bEnableColorRef )
+ if( bEnableColorRef )
{
bHighLightRef=TRUE;
ScViewData* pViewData=ScDocShell::GetViewData();
@@ -147,16 +147,12 @@ void ScFormulaReferenceHelper::ShowSimpleReference( const XubString& rStr )
if( ParseWithNames( aRangeList, rStr, pDoc ) )
{
- ScRange* pRangeEntry = aRangeList.First();
-
- USHORT nIndex=0;
- while(pRangeEntry != NULL)
+ for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i )
{
- ColorData aColName = ScRangeFindList::GetColorName(nIndex++);
- pTabViewShell->AddHighlightRange(*pRangeEntry, aColName);
-
- pRangeEntry = aRangeList.Next();
- }
+ ScRange* pRangeEntry = aRangeList[ i ];
+ ColorData aColName = ScRangeFindList::GetColorName( i );
+ pTabViewShell->AddHighlightRange( *pRangeEntry, aColName );
+ }
}
}
}
@@ -304,8 +300,6 @@ void ScFormulaReferenceHelper::ReleaseFocus( formula::RefEdit* pEdit, formula::R
if( !pRefEdit && pEdit )
{
m_pDlg->RefInputStart( pEdit, pButton );
-// if( pRefEdit )
-// pRefEdit->SilentGrabFocus();
}
ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell();
@@ -319,9 +313,9 @@ void ScFormulaReferenceHelper::ReleaseFocus( formula::RefEdit* pEdit, formula::R
ScRangeList aRangeList;
if( ParseWithNames( aRangeList, pRefEdit->GetText(), pDoc ) )
{
- const ScRange* pRange = aRangeList.GetObject( 0 );
- if( pRange )
+ if ( !aRangeList.empty() )
{
+ const ScRange* pRange = aRangeList.front();
pViewShell->SetTabNo( pRange->aStart.Tab() );
pViewShell->MoveCursorAbs( pRange->aStart.Col(),
pRange->aStart.Row(), SC_FOLLOW_JUMP, FALSE, FALSE );
@@ -352,7 +346,7 @@ void ScFormulaReferenceHelper::Init()
pRefComp->SetCompileForFAP(TRUE);
nRefTab = nTab;
- } // if ( pViewData )
+ }
}
// -----------------------------------------------------------------------------
IMPL_LINK( ScFormulaReferenceHelper, AccelSelectHdl, Accelerator *, pSelAccel )
@@ -374,10 +368,7 @@ IMPL_LINK( ScFormulaReferenceHelper, AccelSelectHdl, Accelerator *, pSelAccel )
//----------------------------------------------------------------------------
void ScFormulaReferenceHelper::RefInputDone( BOOL bForced )
{
- //<!--Modified by PengYunQuan for Validity Cell Range Picker
- //if (pRefEdit && (bForced || !pRefBtn))
- if ( CanInputDone( bForced ) )//if (pRefEdit && (bForced || !pRefBtn))
- //-->Modified by PengYunQuan for Validity Cell Range Picker
+ if ( CanInputDone( bForced ) )
{
if (bAccInserted) // Accelerator wieder abschalten
{
@@ -488,18 +479,15 @@ void ScFormulaReferenceHelper::RefInputStart( formula::RefEdit* pEdit, formula::
// Fenstertitel anpassen
m_pWindow->SetText( MnemonicGenerator::EraseAllMnemonicChars( sNewDialogText ) );
-// if ( pButton ) // ueber den Button: Enter und Escape abfangen
-// {
- if (!pAccel.get())
- {
- pAccel.reset( new Accelerator );
- pAccel->InsertItem( 1, KeyCode( KEY_RETURN ) );
- pAccel->InsertItem( 2, KeyCode( KEY_ESCAPE ) );
- pAccel->SetSelectHdl( LINK( this, ScFormulaReferenceHelper, AccelSelectHdl ) );
- }
- Application::InsertAccel( pAccel.get() );
- bAccInserted = TRUE;
-// }
+ if (!pAccel.get())
+ {
+ pAccel.reset( new Accelerator );
+ pAccel->InsertItem( 1, KeyCode( KEY_RETURN ) );
+ pAccel->InsertItem( 2, KeyCode( KEY_ESCAPE ) );
+ pAccel->SetSelectHdl( LINK( this, ScFormulaReferenceHelper, AccelSelectHdl ) );
+ }
+ Application::InsertAccel( pAccel.get() );
+ bAccInserted = TRUE;
}
}
// -----------------------------------------------------------------------------
@@ -706,7 +694,6 @@ bool ScRefHandler::EnterRefMode()
if( m_bInRefMode ) return false;
SC_MOD()->InputEnterHandler();
-// ScTabViewShell* pScViewShell = ScTabViewShell::GetActiveViewShell();
ScTabViewShell* pScViewShell = NULL;
@@ -748,8 +735,6 @@ bool ScRefHandler::EnterRefMode()
m_aHelper.Init();
m_aHelper.SetDispatcherLock( TRUE );
- //@Test
- //SFX_APPWINDOW->Disable(TRUE); //@BugID 54702
return m_bInRefMode = true;
}
@@ -775,7 +760,6 @@ bool ScRefHandler::LeaveRefMode()
if( pScViewShell )
pScViewShell->UpdateInputHandler(TRUE);
- //SFX_APPWINDOW->Enable(TRUE,TRUE);
lcl_InvalidateWindows();
m_bInRefMode = false;
@@ -784,15 +768,6 @@ bool ScRefHandler::LeaveRefMode()
//----------------------------------------------------------------------------
-//SfxBindings& ScRefHandler::GetBindings()
-//{
-// //! SfxModelessDialog should allow access to pBindings pointer
-//
-// return *pMyBindings;
-//}
-
-//----------------------------------------------------------------------------
-
void ScRefHandler::SwitchToDocument()
{
ScTabViewShell* pCurrent = ScTabViewShell::GetActiveViewShell();
@@ -836,14 +811,14 @@ BOOL ScRefHandler::IsDocAllowed(SfxObjectShell* pDocSh) const // pDocSh may be
//----------------------------------------------------------------------------
-BOOL __EXPORT ScRefHandler::IsRefInputMode() const
+BOOL ScRefHandler::IsRefInputMode() const
{
return m_rWindow.IsVisible(); // nur wer sichtbar ist kann auch Referenzen bekommen
}
//----------------------------------------------------------------------------
-BOOL __EXPORT ScRefHandler::DoClose( USHORT nId )
+BOOL ScRefHandler::DoClose( USHORT nId )
{
m_aHelper.DoClose(nId);
return TRUE;
@@ -870,7 +845,7 @@ void ScRefHandler::AddRefEntry()
//----------------------------------------------------------------------------
-BOOL __EXPORT ScRefHandler::IsTableLocked() const
+BOOL ScRefHandler::IsTableLocked() const
{
// per Default kann bei Referenzeingabe auch die Tabelle umgeschaltet werden
@@ -895,38 +870,6 @@ void ScRefHandler::ToggleCollapsed( formula::RefEdit* pEdit, formula::RefButton*
m_aHelper.ToggleCollapsed( pEdit, pButton );
}
-//The two following function is commentted out by PengYunQuan for Validity Cell Range Picker
-//long ScAnyRefDlg::PreNotify( NotifyEvent& rNEvt )
-//{
-// USHORT nSwitch=rNEvt.GetType();
-// if(nSwitch==EVENT_GETFOCUS)
-// {
-// pActiveWin=rNEvt.GetWindow();
-// }
-// return SfxModelessDialog::PreNotify(rNEvt);
-//}
-//
-//void ScAnyRefDlg::StateChanged( StateChangedType nStateChange )
-//{
-// SfxModelessDialog::StateChanged( nStateChange );
-//
-// if(nStateChange == STATE_CHANGE_VISIBLE)
-// {
-// if(IsVisible())
-// {
-// m_aHelper.enableInput( FALSE );
-// m_aHelper.EnableSpreadsheets();
-// m_aHelper.SetDispatcherLock( TRUE );
-// aTimer.Start();
-// }
-// else
-// {
-// m_aHelper.enableInput( TRUE );
-// m_aHelper.SetDispatcherLock( FALSE ); //! here and in DoClose ?
-// }
-// }
-//}
-
#if defined( _MSC_VER )
#define INTRODUCE_TEMPLATE
#else
diff --git a/sc/source/ui/miscdlgs/autofmt.cxx b/sc/source/ui/miscdlgs/autofmt.cxx
index 18013a089306..b3eff6dde692 100644
--- a/sc/source/ui/miscdlgs/autofmt.cxx
+++ b/sc/source/ui/miscdlgs/autofmt.cxx
@@ -529,9 +529,6 @@ void ScAutoFmtPreview::NotifyChange( ScAutoFormatData* pNewData )
void ScAutoFmtPreview::DoPaint( const Rectangle& /* rRect */ )
{
sal_uInt32 nOldDrawMode = aVD.GetDrawMode();
- // #105733# SvtAccessibilityOptions::GetIsForBorders is no longer used (always assumed TRUE)
- if( GetSettings().GetStyleSettings().GetHighContrastMode() )
- aVD.SetDrawMode( DRAWMODE_SETTINGSLINE | DRAWMODE_SETTINGSFILL | DRAWMODE_SETTINGSTEXT | DRAWMODE_SETTINGSGRADIENT );
Size aWndSize( GetSizePixel() );
Font aFont( aVD.GetFont() );
diff --git a/sc/source/ui/miscdlgs/conflictsdlg.cxx b/sc/source/ui/miscdlgs/conflictsdlg.cxx
index de40dd9d1868..f7857232bd27 100644
--- a/sc/source/ui/miscdlgs/conflictsdlg.cxx
+++ b/sc/source/ui/miscdlgs/conflictsdlg.cxx
@@ -132,7 +132,7 @@ void ScConflictsListHelper::Transform_Impl( ScChangeActionList& rActionList, ScC
if ( aItrMap != pMergeMap->end() )
{
*aItr = aItrMap->second;
- aItr++;
+ ++aItr;
}
else
{
@@ -344,25 +344,6 @@ void ScConflictsResolver::HandleAction( ScChangeAction* pAction, bool bIsSharedA
}
}
}
- else if ( eConflictAction == SC_CONFLICT_ACTION_KEEP_OTHER )
- {
- if ( pAction->GetType() == SC_CAT_CONTENT )
- {
- if ( bHandleContentAction )
- {
- // do nothing
- //mpTrack->SelectContent( pAction );
- }
- }
- else
- {
- if ( bHandleNonContentAction )
- {
- // do nothing
- //mpTrack->Accept( pAction );
- }
- }
- }
}
}
else
diff --git a/sc/source/ui/miscdlgs/conflictsdlg.src b/sc/source/ui/miscdlgs/conflictsdlg.src
index 1facf85da95b..2e7bb6b93503 100644
--- a/sc/source/ui/miscdlgs/conflictsdlg.src
+++ b/sc/source/ui/miscdlgs/conflictsdlg.src
@@ -106,4 +106,3 @@ ModalDialog RID_SCDLG_CONFLICTS
Text [ en-US ] = "Unknown User" ;
};
};
-
diff --git a/sc/source/ui/miscdlgs/crdlg.cxx b/sc/source/ui/miscdlgs/crdlg.cxx
index 5100474274df..8692c8be0b87 100644
--- a/sc/source/ui/miscdlgs/crdlg.cxx
+++ b/sc/source/ui/miscdlgs/crdlg.cxx
@@ -71,7 +71,7 @@ ScColOrRowDlg::ScColOrRowDlg( Window* pParent,
//------------------------------------------------------------------------
-__EXPORT ScColOrRowDlg::~ScColOrRowDlg()
+ScColOrRowDlg::~ScColOrRowDlg()
{
}
diff --git a/sc/source/ui/miscdlgs/crnrdlg.cxx b/sc/source/ui/miscdlgs/crnrdlg.cxx
index 7afec7c603b4..73f65e48e90f 100644
--- a/sc/source/ui/miscdlgs/crnrdlg.cxx
+++ b/sc/source/ui/miscdlgs/crnrdlg.cxx
@@ -63,7 +63,7 @@ const ULONG nEntryDataDelim = 2;
/*************************************************************************
-#* Member: ScColRowNameRangesDlg Datum:04.09.97
+#* Member: ScColRowNameRangesDlg
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -87,7 +87,7 @@ ScColRowNameRangesDlg::ScColRowNameRangesDlg( SfxBindings* pB,
ScViewData* ptrViewData )
: ScAnyRefDlg ( pB, pCW, pParent, RID_SCDLG_COLROWNAMERANGES ),
- //
+
aFlAssign ( this, ScResId( FL_ASSIGN ) ),
aLbRange ( this, ScResId( LB_RANGE ) ),
@@ -119,7 +119,7 @@ ScColRowNameRangesDlg::ScColRowNameRangesDlg( SfxBindings* pB,
/*************************************************************************
-#* Member: ~ScColRowNameRangesDlg Datum:04.09.97
+#* Member: ~ScColRowNameRangesDlg
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -132,13 +132,13 @@ ScColRowNameRangesDlg::ScColRowNameRangesDlg( SfxBindings* pB,
#*
#************************************************************************/
-__EXPORT ScColRowNameRangesDlg::~ScColRowNameRangesDlg()
+ScColRowNameRangesDlg::~ScColRowNameRangesDlg()
{
}
/*************************************************************************
-#* Member: Init Datum:04.09.97
+#* Member: Init
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -155,13 +155,6 @@ __EXPORT ScColRowNameRangesDlg::~ScColRowNameRangesDlg()
void ScColRowNameRangesDlg::Init()
{
- SCCOL nStartCol = 0;
- SCROW nStartRow = 0;
- SCTAB nStartTab = 0;
- SCCOL nEndCol = 0;
- SCROW nEndRow = 0;
- SCTAB nEndTab = 0;
-
aBtnOk.SetClickHdl ( LINK( this, ScColRowNameRangesDlg, OkBtnHdl ) );
aBtnCancel.SetClickHdl ( LINK( this, ScColRowNameRangesDlg, CancelBtnHdl ) );
aBtnAdd.SetClickHdl ( LINK( this, ScColRowNameRangesDlg, AddBtnHdl ) );
@@ -190,6 +183,12 @@ void ScColRowNameRangesDlg::Init()
if ( pViewData && pDoc )
{
+ SCCOL nStartCol = 0;
+ SCROW nStartRow = 0;
+ SCTAB nStartTab = 0;
+ SCCOL nEndCol = 0;
+ SCROW nEndRow = 0;
+ SCTAB nEndTab = 0;
pViewData->GetSimpleArea( nStartCol, nStartRow, nStartTab,
nEndCol, nEndRow, nEndTab );
SetColRowData( ScRange( ScAddress( nStartCol, nStartRow, nStartTab ),
@@ -209,15 +208,13 @@ void ScColRowNameRangesDlg::Init()
aEdAssign.Enable();
aEdAssign.GrabFocus();
aRbAssign.Enable();
- //@BugID 54702 Enablen/Disablen nur noch in Basisklasse
- //SFX_APPWINDOW->Enable(); // Ref-Feld hat Focus
Range1SelectHdl( 0 );
}
/*************************************************************************
-#* Member: SetColRowData Datum:04.09.97
+#* Member: SetColRowData
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -318,7 +315,7 @@ void ScColRowNameRangesDlg::SetColRowData( const ScRange& rLabelRange,BOOL bRef)
/*************************************************************************
-#* Member: AdjustColRowData Datum:04.09.97
+#* Member: AdjustColRowData
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -394,7 +391,7 @@ void ScColRowNameRangesDlg::AdjustColRowData( const ScRange& rDataRange,BOOL bRe
/*************************************************************************
-#* Member: SetReference Datum:04.09.97
+#* Member: SetReference
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -431,7 +428,7 @@ void ScColRowNameRangesDlg::SetReference( const ScRange& rRef, ScDocument* /* pD
/*************************************************************************
-#* Member: Close Datum:04.09.97
+#* Member: Close
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -444,14 +441,14 @@ void ScColRowNameRangesDlg::SetReference( const ScRange& rRef, ScDocument* /* pD
#*
#************************************************************************/
-BOOL __EXPORT ScColRowNameRangesDlg::Close()
+BOOL ScColRowNameRangesDlg::Close()
{
return DoClose( ScColRowNameRangesDlgWrapper::GetChildWindowId() );
}
/*************************************************************************
-#* Member: SetActive Datum:04.09.97
+#* Member: SetActive
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -485,7 +482,7 @@ void ScColRowNameRangesDlg::SetActive()
/*************************************************************************
-#* Member: UpdateNames Datum:04.09.97
+#* Member: UpdateNames
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -506,10 +503,10 @@ void ScColRowNameRangesDlg::UpdateNames()
aRangeMap.clear();
aEdAssign.SetText( EMPTY_STRING );
- ULONG nCount, j;
+ size_t nCount, j;
USHORT nPos; //@008 Hilfsvariable q eingefuegt
- SCCOL nCol1; //@008 04.09.97
+ SCCOL nCol1;
SCROW nRow1; //Erweiterung fuer Bereichsnamen
SCTAB nTab1;
SCCOL nCol2;
@@ -526,7 +523,7 @@ void ScColRowNameRangesDlg::UpdateNames()
aString += strDelim;
nPos = aLbRange.InsertEntry( aString );
aLbRange.SetEntryData( nPos, (void*)nEntryDataDelim );
- if ( (nCount = xColNameRanges->Count()) > 0 )
+ if ( (nCount = xColNameRanges->size()) > 0 )
{
ScRangePair** ppSortArray = xColNameRanges->CreateNameSortedArray(
nCount, pDoc );
@@ -573,7 +570,7 @@ void ScColRowNameRangesDlg::UpdateNames()
aString += strDelim;
nPos = aLbRange.InsertEntry( aString );
aLbRange.SetEntryData( nPos, (void*)nEntryDataDelim );
- if ( (nCount = xRowNameRanges->Count()) > 0 )
+ if ( (nCount = xRowNameRanges->size()) > 0 )
{
ScRangePair** ppSortArray = xRowNameRanges->CreateNameSortedArray(
nCount, pDoc );
@@ -620,7 +617,7 @@ void ScColRowNameRangesDlg::UpdateNames()
/*************************************************************************
-#* Member: UpdateRangeData Datum:04.09.97
+#* Member: UpdateRangeData
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -671,7 +668,7 @@ void ScColRowNameRangesDlg::UpdateRangeData( const ScRange& rRange, BOOL bColNam
/*************************************************************************
-#* Member: IsRefInputMode Datum:04.09.97
+#* Member: IsRefInputMode
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -695,7 +692,7 @@ BOOL ScColRowNameRangesDlg::IsRefInputMode() const
// ========
/*************************************************************************
-#* Handler: OkBtnHdl Datum:04.09.97
+#* Handler: OkBtnHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -729,7 +726,7 @@ IMPL_LINK( ScColRowNameRangesDlg, OkBtnHdl, void *, EMPTYARG )
/*************************************************************************
-#* Handler: CancelBtnHdl Datum:04.09.97
+#* Handler: CancelBtnHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -751,7 +748,7 @@ IMPL_LINK_INLINE_END( ScColRowNameRangesDlg, CancelBtnHdl, void *, EMPTYARG )
/*************************************************************************
-#* Handler: AddBtnHdl Datum:04.09.97
+#* Handler: AddBtnHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -824,7 +821,7 @@ IMPL_LINK( ScColRowNameRangesDlg, AddBtnHdl, void *, EMPTYARG )
/*************************************************************************
-#* Handler: RemoveBtnHdl Datum:04.09.97
+#* Handler: RemoveBtnHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -901,7 +898,7 @@ IMPL_LINK( ScColRowNameRangesDlg, RemoveBtnHdl, void *, EMPTYARG )
/*************************************************************************
-#* Handler: Range1SelectHdl Datum:04.09.97
+#* Handler: Range1SelectHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -982,14 +979,12 @@ IMPL_LINK( ScColRowNameRangesDlg, Range1SelectHdl, void *, EMPTYARG )
aEdAssign.Enable();
aRbAssign.Enable();
- //@BugID 54702 Enablen/Disablen nur noch in Basisklasse
- //SFX_APPWINDOW->Enable();
return 0;
}
/*************************************************************************
-#* Handler: Range1DataModifyHdl Datum:04.09.97
+#* Handler: Range1DataModifyHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -1038,7 +1033,7 @@ IMPL_LINK( ScColRowNameRangesDlg, Range1DataModifyHdl, void *, EMPTYARG )
/*************************************************************************
-#* Handler: Range2DataModifyHdl Datum:04.09.97
+#* Handler: Range2DataModifyHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -1075,7 +1070,7 @@ IMPL_LINK( ScColRowNameRangesDlg, Range2DataModifyHdl, void *, EMPTYARG )
/*************************************************************************
-#* Handler: ColClickHdl Datum:04.09.97
+#* Handler: ColClickHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
@@ -1113,7 +1108,7 @@ IMPL_LINK( ScColRowNameRangesDlg, ColClickHdl, void *, EMPTYARG )
/*************************************************************************
-#* Handler: RowClickHdl Datum:04.09.97
+#* Handler: RowClickHdl
#*------------------------------------------------------------------------
#*
#* Klasse: ScColRowNameRangesDlg
diff --git a/sc/source/ui/miscdlgs/delcldlg.cxx b/sc/source/ui/miscdlgs/delcldlg.cxx
index 8d20d2ee50e6..2537db56ed42 100644
--- a/sc/source/ui/miscdlgs/delcldlg.cxx
+++ b/sc/source/ui/miscdlgs/delcldlg.cxx
@@ -113,7 +113,7 @@ DelCellCmd ScDeleteCellDlg::GetDelCellCmd() const
return nReturn;
}
-__EXPORT ScDeleteCellDlg::~ScDeleteCellDlg()
+ScDeleteCellDlg::~ScDeleteCellDlg()
{
}
diff --git a/sc/source/ui/miscdlgs/delcodlg.cxx b/sc/source/ui/miscdlgs/delcodlg.cxx
index e8c7dde31443..7ce7d492aa3a 100644
--- a/sc/source/ui/miscdlgs/delcodlg.cxx
+++ b/sc/source/ui/miscdlgs/delcodlg.cxx
@@ -173,7 +173,7 @@ IMPL_LINK_INLINE_START( ScDeleteContentsDlg, DelAllHdl, void *, EMPTYARG )
}
IMPL_LINK_INLINE_END( ScDeleteContentsDlg, DelAllHdl, void *, EMPTYARG )
-__EXPORT ScDeleteContentsDlg::~ScDeleteContentsDlg()
+ScDeleteContentsDlg::~ScDeleteContentsDlg()
{
}
diff --git a/sc/source/ui/miscdlgs/filldlg.cxx b/sc/source/ui/miscdlgs/filldlg.cxx
index 46af2992e4a5..2b544a1c5d7c 100644
--- a/sc/source/ui/miscdlgs/filldlg.cxx
+++ b/sc/source/ui/miscdlgs/filldlg.cxx
@@ -110,7 +110,7 @@ ScFillSeriesDlg::ScFillSeriesDlg( Window* pParent,
//----------------------------------------------------------------------------
-__EXPORT ScFillSeriesDlg::~ScFillSeriesDlg()
+ScFillSeriesDlg::~ScFillSeriesDlg()
{
}
@@ -231,10 +231,9 @@ void ScFillSeriesDlg::Init( USHORT nPossDir )
//----------------------------------------------------------------------------
-BOOL __EXPORT ScFillSeriesDlg::CheckStartVal()
+BOOL ScFillSeriesDlg::CheckStartVal()
{
BOOL bValOk = FALSE;
- sal_uInt32 nKey = 0;
String aStr( aEdStartVal.GetText() );
if ( aStr.Len() == 0 || aBtnAutoFill.IsChecked())
@@ -243,15 +242,17 @@ BOOL __EXPORT ScFillSeriesDlg::CheckStartVal()
bValOk = TRUE;
}
else
+ {
+ sal_uInt32 nKey = 0;
bValOk = rDoc.GetFormatTable()->IsNumberFormat( aStr, nKey, fStartVal );
-
+ }
return bValOk;
}
//----------------------------------------------------------------------------
-BOOL __EXPORT ScFillSeriesDlg::CheckIncrementVal()
+BOOL ScFillSeriesDlg::CheckIncrementVal()
{
sal_uInt32 nKey = 0;
String aStr( aEdIncrement.GetText() );
@@ -262,10 +263,9 @@ BOOL __EXPORT ScFillSeriesDlg::CheckIncrementVal()
//----------------------------------------------------------------------------
-BOOL __EXPORT ScFillSeriesDlg::CheckEndVal()
+BOOL ScFillSeriesDlg::CheckEndVal()
{
BOOL bValOk = FALSE;
- sal_uInt32 nKey = 0;
String aStr( aEdEndVal.GetText() );
if ( aStr.Len() == 0 )
@@ -274,8 +274,10 @@ BOOL __EXPORT ScFillSeriesDlg::CheckEndVal()
bValOk = TRUE;
}
else
+ {
+ sal_uInt32 nKey = 0;
bValOk = rDoc.GetFormatTable()->IsNumberFormat( aStr, nKey, fEndVal );
-
+ }
return bValOk;
}
diff --git a/sc/source/ui/miscdlgs/groupdlg.cxx b/sc/source/ui/miscdlgs/groupdlg.cxx
index d771e225ffdb..593a63934e03 100644
--- a/sc/source/ui/miscdlgs/groupdlg.cxx
+++ b/sc/source/ui/miscdlgs/groupdlg.cxx
@@ -76,7 +76,7 @@ BOOL ScGroupDlg::GetColsChecked() const
//------------------------------------------------------------------------
-__EXPORT ScGroupDlg::~ScGroupDlg()
+ScGroupDlg::~ScGroupDlg()
{
}
diff --git a/sc/source/ui/miscdlgs/highred.cxx b/sc/source/ui/miscdlgs/highred.cxx
index d2c2f2c7cf84..c44833102bb7 100644
--- a/sc/source/ui/miscdlgs/highred.cxx
+++ b/sc/source/ui/miscdlgs/highred.cxx
@@ -106,7 +106,6 @@ ScHighlightChgDlg::ScHighlightChgDlg( SfxBindings* pB, SfxChildWindow* pCW, Wind
aFilterCtr.HideRange(FALSE);
aFilterCtr.Show();
SetDispatcherLock( TRUE );
- //SFX_APPWINDOW->Disable(FALSE);
Init();
@@ -114,10 +113,9 @@ ScHighlightChgDlg::ScHighlightChgDlg( SfxBindings* pB, SfxChildWindow* pCW, Wind
ScHighlightChgDlg::~ScHighlightChgDlg()
{
SetDispatcherLock( FALSE );
- //SFX_APPWINDOW->Enable();
}
-void __EXPORT ScHighlightChgDlg::Init()
+void ScHighlightChgDlg::Init()
{
String aAreaStr;
ScRange aRange;
@@ -164,12 +162,11 @@ void __EXPORT ScHighlightChgDlg::Init()
}
aFilterCtr.CheckRange(aChangeViewSet.HasRange());
- ScRange* pRangeEntry=aChangeViewSet.GetTheRangeList().GetObject(0);
-
- if(pRangeEntry!=NULL)
+ if ( !aChangeViewSet.GetTheRangeList().empty() )
{
String aRefStr;
+ const ScRange* pRangeEntry = aChangeViewSet.GetTheRangeList().front();
pRangeEntry->Format( aRefStr, ABS_DREF3D, pDoc );
aFilterCtr.SetRange(aRefStr);
}
@@ -195,7 +192,7 @@ void ScHighlightChgDlg::SetReference( const ScRange& rRef, ScDocument* pDocP )
}
//----------------------------------------------------------------------------
-BOOL __EXPORT ScHighlightChgDlg::Close()
+BOOL ScHighlightChgDlg::Close()
{
return DoClose( ScHighlightChgDlgWrapper::GetChildWindowId() );
}
@@ -214,17 +211,6 @@ void ScHighlightChgDlg::RefInputDone( BOOL bForced)
void ScHighlightChgDlg::SetActive()
{
- /*
- if(pTPFilter!=NULL)
- {
- aAcceptChgCtr.GetFilterPage()->SetFocusToRange();
- aEdAssign.Hide();
- aRbAssign.Hide();
- SFX_APPWINDOW->Enable();
- SetDispatcherLock( FALSE );
- }
- //RefInputDone();
- */
}
BOOL ScHighlightChgDlg::IsRefInputMode() const
@@ -257,7 +243,6 @@ IMPL_LINK( ScHighlightChgDlg, RefHandle, SvxTPFilter*, pRef )
if(pRef!=NULL)
{
SetDispatcherLock( TRUE );
- //SFX_APPWINDOW->Disable(FALSE);
aEdAssign.Show();
aRbAssign.Show();
aEdAssign.SetText(aFilterCtr.GetRange());
diff --git a/sc/source/ui/miscdlgs/highred.src b/sc/source/ui/miscdlgs/highred.src
index a244a3e2a44e..259afee9a5be 100644
--- a/sc/source/ui/miscdlgs/highred.src
+++ b/sc/source/ui/miscdlgs/highred.src
@@ -100,34 +100,3 @@ ModelessDialog RID_SCDLG_HIGHLIGHT_CHANGES
};
Text [ en-US ] = "Show Changes" ;
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/miscdlgs/inscldlg.cxx b/sc/source/ui/miscdlgs/inscldlg.cxx
index f09513960ae4..32cba4161088 100644
--- a/sc/source/ui/miscdlgs/inscldlg.cxx
+++ b/sc/source/ui/miscdlgs/inscldlg.cxx
@@ -113,7 +113,7 @@ InsCellCmd ScInsertCellDlg::GetInsCellCmd() const
return nReturn;
}
-__EXPORT ScInsertCellDlg::~ScInsertCellDlg()
+ScInsertCellDlg::~ScInsertCellDlg()
{
}
diff --git a/sc/source/ui/miscdlgs/inscodlg.cxx b/sc/source/ui/miscdlgs/inscodlg.cxx
index 63d55ac6f41e..a9eea25d9c58 100644
--- a/sc/source/ui/miscdlgs/inscodlg.cxx
+++ b/sc/source/ui/miscdlgs/inscodlg.cxx
@@ -333,7 +333,7 @@ IMPL_LINK( ScInsertContentsDlg, LinkBtnHdl, void*, EMPTYARG )
return 0;
}
-__EXPORT ScInsertContentsDlg::~ScInsertContentsDlg()
+ScInsertContentsDlg::~ScInsertContentsDlg()
{
ScInsertContentsDlg::nPreviousChecks2 = 0;
if(aBtnSkipEmptyCells.IsChecked())
diff --git a/sc/source/ui/miscdlgs/instbdlg.cxx b/sc/source/ui/miscdlgs/instbdlg.cxx
index d3a5cbe4f0dd..132ba4282e6a 100644
--- a/sc/source/ui/miscdlgs/instbdlg.cxx
+++ b/sc/source/ui/miscdlgs/instbdlg.cxx
@@ -105,7 +105,7 @@ ScInsertTableDlg::ScInsertTableDlg( Window* pParent, ScViewData& rData, SCTAB nT
//------------------------------------------------------------------------
-__EXPORT ScInsertTableDlg::~ScInsertTableDlg()
+ScInsertTableDlg::~ScInsertTableDlg()
{
if (pDocShTables)
pDocShTables->DoClose();
@@ -170,7 +170,7 @@ void ScInsertTableDlg::Init_Impl( bool bFromFile )
#define ModalDialog Dialog
#endif /* ENABLE_LAYOUT */
-short __EXPORT ScInsertTableDlg::Execute()
+short ScInsertTableDlg::Execute()
{
// set Parent of DocumentInserter and Doc-Manager
Window* pOldDefParent = Application::GetDefDialogParent();
diff --git a/sc/source/ui/miscdlgs/instbdlg.src b/sc/source/ui/miscdlgs/instbdlg.src
index 6f64c0de1d62..d8432c0b505e 100644
--- a/sc/source/ui/miscdlgs/instbdlg.src
+++ b/sc/source/ui/miscdlgs/instbdlg.src
@@ -146,39 +146,3 @@ ModalDialog RID_SCDLG_INSERT_TABLE
Size = MAP_APPFONT ( 192 , 8 ) ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/miscdlgs/lbseldlg.cxx b/sc/source/ui/miscdlgs/lbseldlg.cxx
index f340cab4127c..73681eb998f8 100644
--- a/sc/source/ui/miscdlgs/lbseldlg.cxx
+++ b/sc/source/ui/miscdlgs/lbseldlg.cxx
@@ -94,7 +94,7 @@ IMPL_LINK_INLINE_END( ScSelEntryDlg, DblClkHdl, void *, EMPTYARG )
//------------------------------------------------------------------------
-__EXPORT ScSelEntryDlg::~ScSelEntryDlg()
+ScSelEntryDlg::~ScSelEntryDlg()
{
}
diff --git a/sc/source/ui/miscdlgs/linkarea.cxx b/sc/source/ui/miscdlgs/linkarea.cxx
index 26bc8cc56dad..ce23e6cb1728 100644
--- a/sc/source/ui/miscdlgs/linkarea.cxx
+++ b/sc/source/ui/miscdlgs/linkarea.cxx
@@ -132,7 +132,7 @@ IMPL_LINK( ScLinkedAreaDlg, FileHdl, ComboBox*, EMPTYARG )
String aFilter;
String aOptions;
// get filter name by looking at the file content (bWithContent = TRUE)
- // Break operation if any error occured inside.
+ // Break operation if any error occurred inside.
if (!ScDocumentLoader::GetFilterName( aEntered, aFilter, aOptions, TRUE, TRUE ))
return 0;
@@ -263,7 +263,6 @@ IMPL_LINK( ScLinkedAreaDlg, DialogClosedHdl, sfx2::FileDialogHelper*, _pFileDlg
if ( !pSourceShell->GetError() ) // only errors
{
- //aCbUrl.SetText( pSourceShell->GetTitle( SFX_TITLE_FULLNAME ) );
aCbUrl.SetText( pMed->GetName() );
}
else
diff --git a/sc/source/ui/miscdlgs/makefile.mk b/sc/source/ui/miscdlgs/makefile.mk
index 115fc3aebe57..403c98237f81 100644
--- a/sc/source/ui/miscdlgs/makefile.mk
+++ b/sc/source/ui/miscdlgs/makefile.mk
@@ -39,54 +39,46 @@ LIBTARGET=no
# --- Files --------------------------------------------------------
SLOFILES = \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES = \
+ $(SLO)$/acredlin.obj \
+ $(SLO)$/anyrefdg.obj \
+ $(SLO)$/autofmt.obj \
+ $(SLO)$/conflictsdlg.obj \
+ $(SLO)$/crdlg.obj \
+ $(SLO)$/crnrdlg.obj \
$(SLO)$/datafdlg.obj \
$(SLO)$/delcldlg.obj \
- $(SLO)$/inscldlg.obj \
$(SLO)$/delcodlg.obj \
+ $(SLO)$/filldlg.obj \
+ $(SLO)$/groupdlg.obj \
+ $(SLO)$/highred.obj \
+ $(SLO)$/inscldlg.obj \
$(SLO)$/inscodlg.obj \
- $(SLO)$/strindlg.obj \
- $(SLO)$/tabbgcolordlg.obj \
- $(SLO)$/mtrindlg.obj \
+ $(SLO)$/instbdlg.obj \
$(SLO)$/lbseldlg.obj \
- $(SLO)$/filldlg.obj \
- $(SLO)$/autofmt.obj \
- $(SLO)$/solvrdlg.obj \
- $(SLO)$/optsolver.obj \
- $(SLO)$/solveroptions.obj \
- $(SLO)$/solverutil.obj \
+ $(SLO)$/linkarea.obj \
+ $(SLO)$/mtrindlg.obj \
$(SLO)$/mvtabdlg.obj \
- $(SLO)$/groupdlg.obj \
- $(SLO)$/tabopdlg.obj \
- $(SLO)$/crdlg.obj \
$(SLO)$/namecrea.obj \
$(SLO)$/namepast.obj \
- $(SLO)$/textdlgs.obj \
- $(SLO)$/anyrefdg.obj \
- $(SLO)$/crnrdlg.obj \
- $(SLO)$/shtabdlg.obj \
- $(SLO)$/instbdlg.obj \
- $(SLO)$/acredlin.obj \
- $(SLO)$/highred.obj \
- $(SLO)$/simpref.obj \
+ $(SLO)$/optsolver.obj \
+ $(SLO)$/protectiondlg.obj \
$(SLO)$/redcom.obj \
- $(SLO)$/linkarea.obj \
- $(SLO)$/warnbox.obj \
- $(SLO)$/scuiautofmt.obj \
- $(SLO)$/conflictsdlg.obj \
- $(SLO)$/sharedocdlg.obj \
- $(SLO)$/protectiondlg.obj \
- $(SLO)$/retypepassdlg.obj
-
-EXCEPTIONSFILES = \
- $(SLO)$/acredlin.obj \
- $(SLO)$/conflictsdlg.obj \
+ $(SLO)$/retypepassdlg.obj \
+ $(SLO)$/scuiautofmt.obj \
$(SLO)$/sharedocdlg.obj \
- $(SLO)$/optsolver.obj \
- $(SLO)$/solveroptions.obj \
- $(SLO)$/crnrdlg.obj \
- $(SLO)$/solverutil.obj \
- $(SLO)$/protectiondlg.obj \
- $(SLO)$/retypepassdlg.obj
+ $(SLO)$/shtabdlg.obj \
+ $(SLO)$/simpref.obj \
+ $(SLO)$/solveroptions.obj \
+ $(SLO)$/solverutil.obj \
+ $(SLO)$/solvrdlg.obj \
+ $(SLO)$/strindlg.obj \
+ $(SLO)$/tabbgcolordlg.obj \
+ $(SLO)$/tabopdlg.obj \
+ $(SLO)$/textdlgs.obj \
+ $(SLO)$/warnbox.obj
SRS1NAME=$(TARGET)
SRC1FILES = \
diff --git a/sc/source/ui/miscdlgs/mtrindlg.cxx b/sc/source/ui/miscdlgs/mtrindlg.cxx
index 7bc19c14fa27..76b70d01056d 100644
--- a/sc/source/ui/miscdlgs/mtrindlg.cxx
+++ b/sc/source/ui/miscdlgs/mtrindlg.cxx
@@ -87,7 +87,7 @@ ScMetricInputDlg::ScMetricInputDlg( Window* pParent,
//------------------------------------------------------------------------
-__EXPORT ScMetricInputDlg::~ScMetricInputDlg()
+ScMetricInputDlg::~ScMetricInputDlg()
{
}
diff --git a/sc/source/ui/miscdlgs/mvtabdlg.cxx b/sc/source/ui/miscdlgs/mvtabdlg.cxx
index b3505aa005ff..7afa05bda563 100644
--- a/sc/source/ui/miscdlgs/mvtabdlg.cxx
+++ b/sc/source/ui/miscdlgs/mvtabdlg.cxx
@@ -56,22 +56,37 @@
//==================================================================
-ScMoveTableDlg::ScMoveTableDlg( Window* pParent )
+ScMoveTableDlg::ScMoveTableDlg( Window* pParent,
+ const String& rDefault )
: ModalDialog ( pParent, ScResId( RID_SCDLG_MOVETAB ) ),
//
+ aFlAction ( this, ScResId( FL_ACTION ) ),
+ aBtnMove ( this, ScResId( BTN_MOVE ) ),
+ aBtnCopy ( this, ScResId( BTN_COPY ) ),
+ aFlLocation ( this, ScResId( FL_LOCATION ) ),
aFtDoc ( this, ScResId( FT_DEST ) ),
aLbDoc ( this, ScResId( LB_DEST ) ),
aFtTable ( this, ScResId( FT_INSERT ) ),
aLbTable ( this, ScResId( LB_INSERT ) ),
- aBtnCopy ( this, ScResId( BTN_COPY ) ),
+ aFlName ( this, ScResId( FL_NAME ) ),
+ aFtTabName ( this, ScResId( FT_TABNAME ) ),
+ aEdTabName ( this, ScResId( ED_INPUT ) ),
+ aFtWarn ( this, ScResId( FT_TABNAME_WARN ) ),
aBtnOk ( this, ScResId( BTN_OK ) ),
aBtnCancel ( this, ScResId( BTN_CANCEL ) ),
aBtnHelp ( this, ScResId( BTN_HELP ) ),
+
+ maStrTabNameUsed( ScResId(STR_TABNAME_WARN_USED) ),
+ maStrTabNameEmpty( ScResId(STR_TABNAME_WARN_EMPTY) ),
+ maStrTabNameInvalid( ScResId(STR_TABNAME_WARN_INVALID) ),
//
+ mrDefaultName( rDefault ),
nDocument ( 0 ),
nTable ( 0 ),
- bCopyTable ( FALSE )
+ bCopyTable ( false ),
+ bRenameTable( false ),
+ mbEverEdited( false )
{
#if ENABLE_LAYOUT
#undef ScResId
@@ -83,7 +98,7 @@ ScMoveTableDlg::ScMoveTableDlg( Window* pParent )
//------------------------------------------------------------------------
-__EXPORT ScMoveTableDlg::~ScMoveTableDlg()
+ScMoveTableDlg::~ScMoveTableDlg()
{
}
@@ -93,12 +108,22 @@ USHORT ScMoveTableDlg::GetSelectedDocument () const { return nDocument; }
SCTAB ScMoveTableDlg::GetSelectedTable () const { return nTable; }
-BOOL ScMoveTableDlg::GetCopyTable () const { return bCopyTable; }
+bool ScMoveTableDlg::GetCopyTable () const { return bCopyTable; }
-void ScMoveTableDlg::SetCopyTable(BOOL bFlag)
+bool ScMoveTableDlg::GetRenameTable () const { return bRenameTable; }
+
+void ScMoveTableDlg::GetTabNameString( String& rString ) const
{
- aBtnCopy.Check(bFlag);
+ rString = aEdTabName.GetText();
}
+
+void ScMoveTableDlg::SetForceCopyTable()
+{
+ aBtnCopy.Check(true);
+ aBtnMove.Disable();
+ aBtnCopy.Disable();
+}
+
void ScMoveTableDlg::EnableCopyTable(BOOL bFlag)
{
if(bFlag)
@@ -107,14 +132,117 @@ void ScMoveTableDlg::EnableCopyTable(BOOL bFlag)
aBtnCopy.Disable();
}
+void ScMoveTableDlg::EnableRenameTable(BOOL bFlag)
+{
+ bRenameTable = bFlag;
+ aEdTabName.Enable(bFlag);
+ aFtTabName.Enable(bFlag);
+ ResetRenameInput();
+}
+
+void ScMoveTableDlg::ResetRenameInput()
+{
+ if (mbEverEdited)
+ // Don't reset the name when the sheet name has ever been edited.
+ return;
+
+ if (!aEdTabName.IsEnabled())
+ {
+ aEdTabName.SetText(String());
+ return;
+ }
+
+ bool bVal = aBtnCopy.IsChecked();
+ if (bVal)
+ {
+ // copy
+ ScDocument* pDoc = GetSelectedDoc();
+ if (pDoc)
+ {
+ String aStr = mrDefaultName;
+ pDoc->CreateValidTabName(aStr);
+ aEdTabName.SetText(aStr);
+ }
+ else
+ aEdTabName.SetText(mrDefaultName);
+ }
+ else
+ // move
+ aEdTabName.SetText(mrDefaultName);
+
+ CheckNewTabName();
+}
+
+void ScMoveTableDlg::CheckNewTabName()
+{
+ const String& rNewName = aEdTabName.GetText();
+ if (!rNewName.Len())
+ {
+ // New sheet name is empty. This is not good.
+ aFtWarn.SetText(maStrTabNameEmpty);
+ aFtWarn.Show();
+ aBtnOk.Disable();
+ return;
+ }
+
+ if (!ScDocument::ValidTabName(rNewName))
+ {
+ // New sheet name contains invalid characters.
+ aFtWarn.SetText(maStrTabNameInvalid);
+ aFtWarn.Show();
+ aBtnOk.Disable();
+ return;
+ }
+
+ bool bFound = false;
+ USHORT nLast = aLbTable.GetEntryCount() - 1;
+ for ( USHORT i=0; i<=nLast; ++i )
+ {
+ if ( rNewName == aLbTable.GetEntry( i ) )
+ {
+ if( ( aBtnMove.IsChecked() ) &&
+ ( aLbDoc.GetSelectEntryPos() == 0 ) &&
+ ( aEdTabName.GetText() == mrDefaultName) )
+
+ // Move inside same document, thus same name is allowed.
+ bFound = false;
+ else
+ bFound = true;
+ }
+ }
+
+ if ( bFound )
+ {
+ aFtWarn.SetText(maStrTabNameUsed);
+ aFtWarn.Show();
+ aBtnOk.Disable();
+ }
+ else
+ {
+ aFtWarn.Hide();
+ aBtnOk.Enable();
+ }
+}
+
+ScDocument* ScMoveTableDlg::GetSelectedDoc()
+{
+ USHORT nPos = aLbDoc.GetSelectEntryPos();
+ return static_cast<ScDocument*>(aLbDoc.GetEntryData(nPos));
+}
//------------------------------------------------------------------------
-void __EXPORT ScMoveTableDlg::Init()
+void ScMoveTableDlg::Init()
{
aBtnOk.SetClickHdl ( LINK( this, ScMoveTableDlg, OkHdl ) );
aLbDoc.SetSelectHdl ( LINK( this, ScMoveTableDlg, SelHdl ) );
+ aBtnCopy.SetToggleHdl( LINK( this, ScMoveTableDlg, CheckBtnHdl ) );
+ aEdTabName.SetModifyHdl( LINK( this, ScMoveTableDlg, CheckNameHdl ) );
+ aBtnMove.Check( TRUE );
aBtnCopy.Check( FALSE );
+ aEdTabName.Enable(false);
+ aFtWarn.SetControlBackground( Color( COL_YELLOW ) );
+ aFtWarn.Hide();
InitDocListBox();
SelHdl( &aLbDoc );
}
@@ -127,6 +255,7 @@ void ScMoveTableDlg::InitDocListBox()
ScDocShell* pScSh = NULL;
USHORT nSelPos = 0;
USHORT i = 0;
+ String aEntryName;
aLbDoc.Clear();
aLbDoc.SetUpdateMode( FALSE );
@@ -137,10 +266,16 @@ void ScMoveTableDlg::InitDocListBox()
if ( pScSh )
{
+ aEntryName = pScSh->GetTitle();
+
if ( pScSh == SfxObjectShell::Current() )
+ {
nSelPos = i;
+ aEntryName += sal_Unicode( ' ' );
+ aEntryName += String( ScResId( STR_CURRENTDOC ) );
+ }
- aLbDoc.InsertEntry( pScSh->GetTitle(), i );
+ aLbDoc.InsertEntry( aEntryName, i );
aLbDoc.SetEntryData( i, (void*)pScSh->GetDocument() );
i++;
@@ -153,10 +288,17 @@ void ScMoveTableDlg::InitDocListBox()
aLbDoc.SelectEntryPos( nSelPos );
}
-
//------------------------------------------------------------------------
// Handler:
+IMPL_LINK( ScMoveTableDlg, CheckBtnHdl, void *, pBtn )
+{
+ if (pBtn == &aBtnCopy)
+ ResetRenameInput();
+
+ return 0;
+}
+
IMPL_LINK( ScMoveTableDlg, OkHdl, void *, EMPTYARG )
{
USHORT nDocSel = aLbDoc.GetSelectEntryPos();
@@ -167,27 +309,43 @@ IMPL_LINK( ScMoveTableDlg, OkHdl, void *, EMPTYARG )
nDocument = (nDocSel != nDocLast) ? nDocSel : SC_DOC_NEW;
nTable = (nTabSel != nTabLast) ? static_cast<SCTAB>(nTabSel) : SC_TAB_APPEND;
bCopyTable = aBtnCopy.IsChecked();
+
+ if (bCopyTable)
+ {
+ // Return an empty string when the new name is the same as the
+ // automatic name assigned by the document.
+ String aCopyName = mrDefaultName;
+ ScDocument* pDoc = GetSelectedDoc();
+ if (pDoc)
+ pDoc->CreateValidTabName(aCopyName);
+ if (aCopyName == aEdTabName.GetText())
+ aEdTabName.SetText( String() );
+ }
+ else
+ {
+ // Return an empty string, when the new name is the same as the
+ // original name.
+ if( mrDefaultName == aEdTabName.GetText() )
+ aEdTabName.SetText( String() );
+ }
+
EndDialog( RET_OK );
return 0;
}
-//------------------------------------------------------------------------
-
IMPL_LINK( ScMoveTableDlg, SelHdl, ListBox *, pLb )
{
if ( pLb == &aLbDoc )
{
- ScDocument* pDoc = (ScDocument*)
- aLbDoc.GetEntryData( aLbDoc.GetSelectEntryPos() );
- SCTAB nLast = 0;
+ ScDocument* pDoc = GetSelectedDoc();
String aName;
aLbTable.Clear();
aLbTable.SetUpdateMode( FALSE );
if ( pDoc )
{
- nLast = pDoc->GetTableCount()-1;
+ SCTAB nLast = pDoc->GetTableCount()-1;
for ( SCTAB i=0; i<=nLast; i++ )
{
pDoc->GetName( i, aName );
@@ -197,6 +355,18 @@ IMPL_LINK( ScMoveTableDlg, SelHdl, ListBox *, pLb )
aLbTable.InsertEntry( ScGlobal::GetRscString(STR_MOVE_TO_END) );
aLbTable.SetUpdateMode( TRUE );
aLbTable.SelectEntryPos( 0 );
+ ResetRenameInput();
+ }
+
+ return 0;
+}
+
+IMPL_LINK( ScMoveTableDlg, CheckNameHdl, Edit *, pEdt )
+{
+ if ( pEdt == &aEdTabName )
+ {
+ mbEverEdited = true;
+ CheckNewTabName();
}
return 0;
diff --git a/sc/source/ui/miscdlgs/optsolver.cxx b/sc/source/ui/miscdlgs/optsolver.cxx
index 4f70376455b5..c4a4e5baac1d 100644
--- a/sc/source/ui/miscdlgs/optsolver.cxx
+++ b/sc/source/ui/miscdlgs/optsolver.cxx
@@ -290,13 +290,11 @@ void ScOptSolverDlg::Init(const ScAddress& rCursorPos)
rtl::OUString aSlotURL( RTL_CONSTASCII_USTRINGPARAM( "slot:" ));
aSlotURL += rtl::OUString::valueOf( sal_Int32( SID_DEL_ROWS ) );
uno::Reference<frame::XFrame> xFrame = GetBindings().GetActiveFrame();
- Image aDelNm = ::GetImage( xFrame, aSlotURL, FALSE, FALSE );
- Image aDelHC = ::GetImage( xFrame, aSlotURL, FALSE, TRUE ); // high contrast
+ Image aDelNm = ::GetImage( xFrame, aSlotURL, FALSE );
for ( sal_uInt16 nRow = 0; nRow < EDIT_ROW_COUNT; ++nRow )
{
- mpDelButton[nRow]->SetModeImage( aDelNm, BMP_COLOR_NORMAL );
- mpDelButton[nRow]->SetModeImage( aDelHC, BMP_COLOR_HIGHCONTRAST );
+ mpDelButton[nRow]->SetModeImage( aDelNm );
}
maBtnOpt.SetClickHdl( LINK( this, ScOptSolverDlg, BtnHdl ) );
@@ -843,10 +841,10 @@ bool ScOptSolverDlg::CallSolver() // return true -> close dialog after cal
}
uno::Sequence<table::CellAddress> aVariables;
sal_Int32 nVarPos = 0;
- ULONG nRangeCount = aVarRanges.Count();
- for (ULONG nRangePos=0; nRangePos<nRangeCount; ++nRangePos)
+
+ for ( size_t nRangePos=0, nRange = aVarRanges.size(); nRangePos < nRange; ++nRangePos )
{
- ScRange aRange(*aVarRanges.GetObject(nRangePos));
+ ScRange aRange(*aVarRanges[ nRangePos ] );
aRange.Justify();
SCTAB nTab = aRange.aStart.Tab();
diff --git a/sc/source/ui/miscdlgs/protectiondlg.cxx b/sc/source/ui/miscdlgs/protectiondlg.cxx
index d66bd541a174..4a8fbc15b4e7 100644
--- a/sc/source/ui/miscdlgs/protectiondlg.cxx
+++ b/sc/source/ui/miscdlgs/protectiondlg.cxx
@@ -62,8 +62,8 @@ ScTableProtectionDlg::ScTableProtectionDlg(Window* pParent) :
maBtnCancel (this, ScResId(BTN_CANCEL)),
maBtnHelp (this, ScResId(BTN_HELP)),
- maSelectLockedCells(ScResId(ST_SELECT_LOCKED_CELLS)),
- maSelectUnlockedCells(ScResId(ST_SELECT_UNLOCKED_CELLS))
+ maSelectLockedCells(ScResId(ST_SELECT_PROTECTED_CELLS)),
+ maSelectUnlockedCells(ScResId(ST_SELECT_UNPROTECTED_CELLS))
{
Init();
FreeResource();
diff --git a/sc/source/ui/miscdlgs/protectiondlg.src b/sc/source/ui/miscdlgs/protectiondlg.src
index 6b62efb4c784..d009f824580b 100644
--- a/sc/source/ui/miscdlgs/protectiondlg.src
+++ b/sc/source/ui/miscdlgs/protectiondlg.src
@@ -56,7 +56,7 @@ ModalDialog RID_SCDLG_TABPROTECTION
Pos = MAP_APPFONT ( 6 , 6 ) ;
Size = MAP_APPFONT ( 150 , 10 );
- Text [ en-US ] = "P~rotect this sheet and the contents of locked cells" ;
+ Text [ en-US ] = "P~rotect this sheet and the contents of protected cells" ;
};
FixedText FT_PASSWORD1
@@ -115,13 +115,13 @@ ModalDialog RID_SCDLG_TABPROTECTION
TabStop = TRUE ;
};
- String ST_SELECT_LOCKED_CELLS
+ String ST_SELECT_PROTECTED_CELLS
{
- Text [ en-US ] = "Select locked cells";
+ Text [ en-US ] = "Select protected cells";
};
- String ST_SELECT_UNLOCKED_CELLS
+ String ST_SELECT_UNPROTECTED_CELLS
{
- Text [ en-US ] = "Select unlocked cells";
+ Text [ en-US ] = "Select unprotected cells";
};
};
diff --git a/sc/source/ui/miscdlgs/retypepassdlg.src b/sc/source/ui/miscdlgs/retypepassdlg.src
index 794af9d43ebd..2c3f93a6d6a0 100644
--- a/sc/source/ui/miscdlgs/retypepassdlg.src
+++ b/sc/source/ui/miscdlgs/retypepassdlg.src
@@ -27,7 +27,6 @@
#include "retypepassdlg.hrc"
-
ModalDialog RID_SCDLG_RETYPEPASS
{
Text [ en-US ] = "Re-type Password" ;
@@ -309,5 +308,3 @@ ModalDialog RID_SCDLG_RETYPEPASS_INPUT
Text [ en-US ] = "Remove password from this protected item." ;
};
};
-
-
diff --git a/sc/source/ui/miscdlgs/scuiautofmt.cxx b/sc/source/ui/miscdlgs/scuiautofmt.cxx
index a7637afc5381..943b965e7b69 100644
--- a/sc/source/ui/miscdlgs/scuiautofmt.cxx
+++ b/sc/source/ui/miscdlgs/scuiautofmt.cxx
@@ -112,7 +112,7 @@ ScAutoFormatDlg::ScAutoFormatDlg( Window* pParent,
//------------------------------------------------------------------------
-__EXPORT ScAutoFormatDlg::~ScAutoFormatDlg()
+ScAutoFormatDlg::~ScAutoFormatDlg()
{
delete pWndPreview;
}
@@ -467,7 +467,7 @@ IMPL_LINK( ScAutoFormatDlg, SelFmtHdl, void *, EMPTYARG )
//------------------------------------------------------------------------
-String __EXPORT ScAutoFormatDlg::GetCurrFormatName()
+String ScAutoFormatDlg::GetCurrFormatName()
{
String aResult;
diff --git a/sc/source/ui/miscdlgs/shtabdlg.cxx b/sc/source/ui/miscdlgs/shtabdlg.cxx
index 66cf2c8034e7..5cb89a26d32e 100644
--- a/sc/source/ui/miscdlgs/shtabdlg.cxx
+++ b/sc/source/ui/miscdlgs/shtabdlg.cxx
@@ -104,7 +104,7 @@ IMPL_LINK_INLINE_START( ScShowTabDlg, DblClkHdl, void *, EMPTYARG )
}
IMPL_LINK_INLINE_END( ScShowTabDlg, DblClkHdl, void *, EMPTYARG )
-__EXPORT ScShowTabDlg::~ScShowTabDlg()
+ScShowTabDlg::~ScShowTabDlg()
{
}
diff --git a/sc/source/ui/miscdlgs/simpref.cxx b/sc/source/ui/miscdlgs/simpref.cxx
index 732543394634..f39a9b1fb927 100644
--- a/sc/source/ui/miscdlgs/simpref.cxx
+++ b/sc/source/ui/miscdlgs/simpref.cxx
@@ -94,7 +94,7 @@ ScSimpleRefDlg::ScSimpleRefDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pP
}
//----------------------------------------------------------------------------
-__EXPORT ScSimpleRefDlg::~ScSimpleRefDlg()
+ScSimpleRefDlg::~ScSimpleRefDlg()
{
SetDispatcherLock( FALSE ); // Modal-Modus einschalten
}
@@ -160,7 +160,7 @@ void ScSimpleRefDlg::SetReference( const ScRange& rRef, ScDocument* pDocP )
//----------------------------------------------------------------------------
-BOOL __EXPORT ScSimpleRefDlg::Close()
+BOOL ScSimpleRefDlg::Close()
{
CancelBtnHdl(&aBtnCancel);
return TRUE;
diff --git a/sc/source/ui/miscdlgs/solverutil.cxx b/sc/source/ui/miscdlgs/solverutil.cxx
index fbe2cccfc0ba..9414fc04a94f 100644
--- a/sc/source/ui/miscdlgs/solverutil.cxx
+++ b/sc/source/ui/miscdlgs/solverutil.cxx
@@ -83,13 +83,11 @@ uno::Reference<sheet::XSolver> lcl_CreateSolver( const uno::Reference<uno::XInte
return xSolver;
}
-// static
void ScSolverUtil::GetImplementations( uno::Sequence<rtl::OUString>& rImplNames,
uno::Sequence<rtl::OUString>& rDescriptions )
{
rImplNames.realloc(0); // clear
rDescriptions.realloc(0);
- sal_Int32 nCount = 0;
uno::Reference<uno::XComponentContext> xCtx;
uno::Reference<lang::XMultiServiceFactory> xMSF = comphelper::getProcessServiceFactory();
@@ -109,6 +107,7 @@ void ScSolverUtil::GetImplementations( uno::Sequence<rtl::OUString>& rImplNames,
xEnAc->createContentEnumeration( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SCSOLVER_SERVICE)) );
if ( xEnum.is() )
{
+ sal_Int32 nCount = 0;
while ( xEnum->hasMoreElements() )
{
uno::Any aAny = xEnum->nextElement();
@@ -142,7 +141,6 @@ void ScSolverUtil::GetImplementations( uno::Sequence<rtl::OUString>& rImplNames,
}
}
-// static
uno::Reference<sheet::XSolver> ScSolverUtil::GetSolver( const rtl::OUString& rImplName )
{
uno::Reference<sheet::XSolver> xSolver;
@@ -188,7 +186,6 @@ uno::Reference<sheet::XSolver> ScSolverUtil::GetSolver( const rtl::OUString& rIm
return xSolver;
}
-// static
uno::Sequence<beans::PropertyValue> ScSolverUtil::GetDefaults( const rtl::OUString& rImplName )
{
uno::Sequence<beans::PropertyValue> aDefaults;
diff --git a/sc/source/ui/miscdlgs/solvrdlg.cxx b/sc/source/ui/miscdlgs/solvrdlg.cxx
index 524fcb8420ed..d887b2a68cf6 100644
--- a/sc/source/ui/miscdlgs/solvrdlg.cxx
+++ b/sc/source/ui/miscdlgs/solvrdlg.cxx
@@ -93,13 +93,13 @@ ScSolverDlg::ScSolverDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent,
//----------------------------------------------------------------------------
-__EXPORT ScSolverDlg::~ScSolverDlg()
+ScSolverDlg::~ScSolverDlg()
{
}
//----------------------------------------------------------------------------
-void __EXPORT ScSolverDlg::Init()
+void ScSolverDlg::Init()
{
String aStr;
@@ -128,7 +128,7 @@ void __EXPORT ScSolverDlg::Init()
//----------------------------------------------------------------------------
-BOOL __EXPORT ScSolverDlg::Close()
+BOOL ScSolverDlg::Close()
{
return DoClose( ScSolverDlgWrapper::GetChildWindowId() );
}
@@ -212,7 +212,7 @@ BOOL ScSolverDlg::IsRefInputMode() const
//----------------------------------------------------------------------------
-BOOL __EXPORT ScSolverDlg::CheckTargetValue( String& rStrVal )
+BOOL ScSolverDlg::CheckTargetValue( String& rStrVal )
{
sal_uInt32 n1 = 0;
double n2;
diff --git a/sc/source/ui/miscdlgs/strindlg.cxx b/sc/source/ui/miscdlgs/strindlg.cxx
index f2bcd660bae6..08180d069473 100644
--- a/sc/source/ui/miscdlgs/strindlg.cxx
+++ b/sc/source/ui/miscdlgs/strindlg.cxx
@@ -100,7 +100,7 @@ void ScStringInputDlg::GetInputString( String& rString ) const
rString = aEdInput.GetText();
}
-__EXPORT ScStringInputDlg::~ScStringInputDlg()
+ScStringInputDlg::~ScStringInputDlg()
{
}
diff --git a/sc/source/ui/miscdlgs/tabopdlg.cxx b/sc/source/ui/miscdlgs/tabopdlg.cxx
index 2dce5792232d..ebb951652a4d 100644
--- a/sc/source/ui/miscdlgs/tabopdlg.cxx
+++ b/sc/source/ui/miscdlgs/tabopdlg.cxx
@@ -91,14 +91,14 @@ ScTabOpDlg::ScTabOpDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent,
//----------------------------------------------------------------------------
-__EXPORT ScTabOpDlg::~ScTabOpDlg()
+ScTabOpDlg::~ScTabOpDlg()
{
Hide();
}
//----------------------------------------------------------------------------
-void __EXPORT ScTabOpDlg::Init()
+void ScTabOpDlg::Init()
{
aBtnOk. SetClickHdl ( LINK( this, ScTabOpDlg, BtnHdl ) );
aBtnCancel. SetClickHdl ( LINK( this, ScTabOpDlg, BtnHdl ) );
@@ -128,7 +128,7 @@ void __EXPORT ScTabOpDlg::Init()
//----------------------------------------------------------------------------
-BOOL __EXPORT ScTabOpDlg::Close()
+BOOL ScTabOpDlg::Close()
{
return DoClose( ScTabOpDlgWrapper::GetChildWindowId() );
}
diff --git a/sc/source/ui/miscdlgs/textdlgs.cxx b/sc/source/ui/miscdlgs/textdlgs.cxx
index 5af55079dda6..9dddb5997f5a 100644
--- a/sc/source/ui/miscdlgs/textdlgs.cxx
+++ b/sc/source/ui/miscdlgs/textdlgs.cxx
@@ -66,7 +66,7 @@ ScCharDlg::ScCharDlg( Window* pParent, const SfxItemSet* pAttr,
// -----------------------------------------------------------------------
-void __EXPORT ScCharDlg::PageCreated( USHORT nId, SfxTabPage &rPage )
+void ScCharDlg::PageCreated( USHORT nId, SfxTabPage &rPage )
{
SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool()));
switch( nId )
@@ -112,7 +112,7 @@ ScParagraphDlg::ScParagraphDlg( Window* pParent, const SfxItemSet* pAttr ) :
// -----------------------------------------------------------------------
-void __EXPORT ScParagraphDlg::PageCreated( USHORT nId, SfxTabPage &rPage )
+void ScParagraphDlg::PageCreated( USHORT nId, SfxTabPage &rPage )
{
switch( nId )
{
diff --git a/sc/source/ui/miscdlgs/warnbox.cxx b/sc/source/ui/miscdlgs/warnbox.cxx
index acf12cf263b0..8fa78a0f1a1c 100644
--- a/sc/source/ui/miscdlgs/warnbox.cxx
+++ b/sc/source/ui/miscdlgs/warnbox.cxx
@@ -41,7 +41,10 @@
ScCbWarningBox::ScCbWarningBox( Window* pParent, const String& rMsgStr, bool bDefYes ) :
WarningBox( pParent, WB_YES_NO | (bDefYes ? WB_DEF_YES : WB_DEF_NO), rMsgStr )
{
- SetDefaultCheckBoxText();
+ // By default, the check box is ON, and the user needs to un-check it to
+ // disable all future warnings.
+ SetCheckBoxState(true);
+ SetCheckBoxText(String(ScResId(SCSTR_WARN_ME_IN_FUTURE_CHECK)));
}
sal_Int16 ScCbWarningBox::Execute()
@@ -50,7 +53,7 @@ sal_Int16 ScCbWarningBox::Execute()
if( IsDialogEnabled() )
{
nRet = WarningBox::Execute();
- if( GetCheckBoxState() )
+ if (!GetCheckBoxState())
DisableDialog();
}
return nRet;
@@ -76,14 +79,14 @@ ScReplaceWarnBox::ScReplaceWarnBox( Window* pParent ) :
bool ScReplaceWarnBox::IsDialogEnabled()
{
- return SC_MOD()->GetInputOptions().GetReplaceCellsWarn() == TRUE;
+ return SC_MOD()->GetInputOptions().GetReplaceCellsWarn() == true;
}
void ScReplaceWarnBox::DisableDialog()
{
ScModule* pScMod = SC_MOD();
ScInputOptions aInputOpt( pScMod->GetInputOptions() );
- aInputOpt.SetReplaceCellsWarn( FALSE );
+ aInputOpt.SetReplaceCellsWarn( false );
pScMod->SetInputOptions( aInputOpt );
}
diff --git a/sc/source/ui/namedlg/makefile.mk b/sc/source/ui/namedlg/makefile.mk
index 7bc7b2653b6a..f9cd60d008a4 100644
--- a/sc/source/ui/namedlg/makefile.mk
+++ b/sc/source/ui/namedlg/makefile.mk
@@ -41,6 +41,9 @@ CXXFILES = \
namedlg.cxx
SLOFILES = \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES = \
$(SLO)$/namedlg.obj
# --- Tagets -------------------------------------------------------
diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx
index f0eea3a665ed..5060f4d6aec6 100644
--- a/sc/source/ui/namedlg/namedlg.cxx
+++ b/sc/source/ui/namedlg/namedlg.cxx
@@ -160,7 +160,7 @@ ScNameDlg::ScNameDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent,
//----------------------------------------------------------------------------
-__EXPORT ScNameDlg::~ScNameDlg()
+ScNameDlg::~ScNameDlg()
{
DELETEZ( pSaveObj );
}
@@ -168,7 +168,7 @@ __EXPORT ScNameDlg::~ScNameDlg()
//----------------------------------------------------------------------------
-void __EXPORT ScNameDlg::Init()
+void ScNameDlg::Init()
{
String aAreaStr;
ScRange aRange;
@@ -252,7 +252,7 @@ void ScNameDlg::SetReference( const ScRange& rRef, ScDocument* pDocP )
//----------------------------------------------------------------------------
-BOOL __EXPORT ScNameDlg::Close()
+BOOL ScNameDlg::Close()
{
return DoClose( ScNameDlgWrapper::GetChildWindowId() );
}
@@ -269,7 +269,7 @@ void ScNameDlg::SetActive()
//----------------------------------------------------------------------------
-void __EXPORT ScNameDlg::UpdateChecks()
+void ScNameDlg::UpdateChecks()
{
USHORT nCurPos=0;
@@ -314,7 +314,7 @@ void __EXPORT ScNameDlg::UpdateChecks()
//----------------------------------------------------------------------------
-void __EXPORT ScNameDlg::UpdateNames()
+void ScNameDlg::UpdateNames()
{
USHORT nRangeCount = aLocalRangeName.GetCount();
@@ -359,7 +359,7 @@ void __EXPORT ScNameDlg::UpdateNames()
//----------------------------------------------------------------------------
-void __EXPORT ScNameDlg::CalcCurTableAssign( String& aAssign, USHORT nCurPos )
+void ScNameDlg::CalcCurTableAssign( String& aAssign, USHORT nCurPos )
{
ScRangeData* pRangeData = (ScRangeData*)(aLocalRangeName.At( nCurPos ));
@@ -424,7 +424,6 @@ IMPL_LINK( ScNameDlg, AddBtnHdl, void *, EMPTYARG )
{
ScRangeData* pNewEntry = NULL;
RangeType nType = RT_NAME;
- USHORT nFoundAt = 0;
String theSymbol = aEdAssign.GetText();
String aStrPos;
String aStrArea;
@@ -449,6 +448,7 @@ IMPL_LINK( ScNameDlg, AddBtnHdl, void *, EMPTYARG )
// in ein Token-Array uebersetzt werden?)
if ( 0 == pNewEntry->GetErrCode() )
{
+ USHORT nFoundAt = 0;
// Eintrag bereits vorhanden? Dann vorher entfernen (=Aendern)
if ( aLocalRangeName.SearchName( aNewEntry, nFoundAt ) )
{ // alten Index uebernehmen
diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx
index 5b55d47b70cd..78918415c40f 100644
--- a/sc/source/ui/navipi/content.cxx
+++ b/sc/source/ui/navipi/content.cxx
@@ -128,7 +128,6 @@ ScDocShell* ScContentTree::GetManualOrCurrent()
ScContentTree::ScContentTree( Window* pParent, const ResId& rResId ) :
SvTreeListBox ( pParent, rResId ),
aEntryImages ( ScResId( RID_IMAGELIST_NAVCONT ) ),
- aHCEntryImages ( ScResId( RID_IMAGELIST_H_NAVCONT ) ),
nRootType ( SC_CONTENT_ROOT ),
bHiddenDoc ( FALSE ),
pHiddenDocument ( NULL )
@@ -169,10 +168,6 @@ void ScContentTree::InitRoot( USHORT nType )
USHORT nPos = nRootType ? 0 : pPosList[nType]-1;
SvLBoxEntry* pNew = InsertEntry( aName, rImage, rImage, NULL, FALSE, nPos );
- const Image& rHCImage = aHCEntryImages.GetImage( nType );
- SetExpandedEntryBmp( pNew, rHCImage, BMP_COLOR_HIGHCONTRAST );
- SetCollapsedEntryBmp( pNew, rHCImage, BMP_COLOR_HIGHCONTRAST );
-
pRootNodes[nType] = pNew;
}
@@ -412,12 +407,12 @@ void ScContentTree::KeyInput( const KeyEvent& rKEvt )
SvTreeListBox::KeyInput(rKEvt);
}
-//BOOL __EXPORT ScContentTree::Drop( const DropEvent& rEvt )
+//BOOL ScContentTree::Drop( const DropEvent& rEvt )
//{
// return pParentWindow->Drop(rEvt); // Drop auf Navigator
//}
-//BOOL __EXPORT ScContentTree::QueryDrop( DropEvent& rEvt )
+//BOOL ScContentTree::QueryDrop( DropEvent& rEvt )
//{
// return pParentWindow->QueryDrop(rEvt); // Drop auf Navigator
//}
@@ -441,7 +436,7 @@ void ScContentTree::DragFinished( sal_Int8 /* nAction */ )
{
}
-void __EXPORT ScContentTree::Command( const CommandEvent& rCEvt )
+void ScContentTree::Command( const CommandEvent& rCEvt )
{
BOOL bDone = FALSE;
@@ -536,7 +531,7 @@ void __EXPORT ScContentTree::Command( const CommandEvent& rCEvt )
SvTreeListBox::Command(rCEvt);
}
-void __EXPORT ScContentTree::RequestHelp( const HelpEvent& rHEvt )
+void ScContentTree::RequestHelp( const HelpEvent& rHEvt )
{
BOOL bDone = FALSE;
if( rHEvt.GetMode() & HELPMODE_QUICK )
@@ -743,7 +738,7 @@ void ScContentTree::GetDbNames()
}
}
-bool ScContentTree::IsPartOfType( USHORT nContentType, USHORT nObjIdentifier ) // static
+bool ScContentTree::IsPartOfType( USHORT nContentType, USHORT nObjIdentifier )
{
bool bRet = false;
switch ( nContentType )
diff --git a/sc/source/ui/navipi/makefile.mk b/sc/source/ui/navipi/makefile.mk
index 992aefcd4f45..1ce4df4b4927 100644
--- a/sc/source/ui/navipi/makefile.mk
+++ b/sc/source/ui/navipi/makefile.mk
@@ -37,13 +37,13 @@ TARGET=navipi
# --- Files --------------------------------------------------------
-SLOFILES = \
- $(SLO)$/navipi.obj \
- $(SLO)$/navcitem.obj \
- $(SLO)$/scenwnd.obj \
- $(SLO)$/content.obj
+SLOFILES = \
+ $(EXCEPTIONSFILES)
-EXCEPTIONSFILES = \
+EXCEPTIONSFILES = \
+ $(SLO)$/content.obj \
+ $(SLO)$/navcitem.obj \
+ $(SLO)$/navipi.obj \
$(SLO)$/scenwnd.obj
SRS1NAME=$(TARGET)
diff --git a/sc/source/ui/navipi/navcitem.cxx b/sc/source/ui/navipi/navcitem.cxx
index c6346ccc32c7..c5cf72b51be0 100644
--- a/sc/source/ui/navipi/navcitem.cxx
+++ b/sc/source/ui/navipi/navcitem.cxx
@@ -56,7 +56,7 @@ ScNavigatorControllerItem::ScNavigatorControllerItem( USHORT nIdP,
//------------------------------------------------------------------------
-void __EXPORT ScNavigatorControllerItem::StateChanged( USHORT /* nSID */, SfxItemState /* eState */,
+void ScNavigatorControllerItem::StateChanged( USHORT /* nSID */, SfxItemState /* eState */,
const SfxPoolItem* pItem )
{
switch( GetId() )
diff --git a/sc/source/ui/navipi/navipi.cxx b/sc/source/ui/navipi/navipi.cxx
index f3b53f5818a6..d869904da174 100644
--- a/sc/source/ui/navipi/navipi.cxx
+++ b/sc/source/ui/navipi/navipi.cxx
@@ -77,7 +77,6 @@ static const xub_StrLen SCNAV_COLLETTERS = ::ScColToAlpha(SCNAV_MAXCOL).Len();
//------------------------------------------------------------------------
-// static
void ScNavigatorDlg::ReleaseFocus()
{
SfxViewShell* pCurSh = SfxViewShell::Current();
@@ -105,13 +104,13 @@ ColumnEdit::ColumnEdit( ScNavigatorDlg* pParent, const ResId& rResId )
//------------------------------------------------------------------------
-__EXPORT ColumnEdit::~ColumnEdit()
+ColumnEdit::~ColumnEdit()
{
}
//------------------------------------------------------------------------
-long __EXPORT ColumnEdit::Notify( NotifyEvent& rNEvt )
+long ColumnEdit::Notify( NotifyEvent& rNEvt )
{
long nHandled = SpinField::Notify( rNEvt );
@@ -143,7 +142,7 @@ long __EXPORT ColumnEdit::Notify( NotifyEvent& rNEvt )
//------------------------------------------------------------------------
-void __EXPORT ColumnEdit::LoseFocus()
+void ColumnEdit::LoseFocus()
{
EvalText();
}
@@ -151,7 +150,7 @@ void __EXPORT ColumnEdit::LoseFocus()
//------------------------------------------------------------------------
-void __EXPORT ColumnEdit::Up()
+void ColumnEdit::Up()
{
nCol++;
@@ -168,7 +167,7 @@ void __EXPORT ColumnEdit::Up()
//------------------------------------------------------------------------
-void __EXPORT ColumnEdit::Down()
+void ColumnEdit::Down()
{
if ( nCol>1 )
SetCol( nCol-1 );
@@ -180,7 +179,7 @@ void __EXPORT ColumnEdit::Down()
//------------------------------------------------------------------------
-void __EXPORT ColumnEdit::First()
+void ColumnEdit::First()
{
nCol = 1;
SetText( 'A' );
@@ -188,7 +187,7 @@ void __EXPORT ColumnEdit::First()
//------------------------------------------------------------------------
-void __EXPORT ColumnEdit::Last()
+void ColumnEdit::Last()
{
String aStr;
nCol = NumToAlpha( SCNAV_MAXCOL, aStr );
@@ -316,13 +315,13 @@ RowEdit::RowEdit( ScNavigatorDlg* pParent, const ResId& rResId )
//------------------------------------------------------------------------
-__EXPORT RowEdit::~RowEdit()
+RowEdit::~RowEdit()
{
}
//------------------------------------------------------------------------
-long __EXPORT RowEdit::Notify( NotifyEvent& rNEvt )
+long RowEdit::Notify( NotifyEvent& rNEvt )
{
long nHandled = NumericField::Notify( rNEvt );
@@ -343,7 +342,7 @@ long __EXPORT RowEdit::Notify( NotifyEvent& rNEvt )
//------------------------------------------------------------------------
-void __EXPORT RowEdit::LoseFocus()
+void RowEdit::LoseFocus()
{
}
@@ -370,13 +369,13 @@ ScDocListBox::ScDocListBox( ScNavigatorDlg* pParent, const ResId& rResId )
//------------------------------------------------------------------------
-__EXPORT ScDocListBox::~ScDocListBox()
+ScDocListBox::~ScDocListBox()
{
}
//------------------------------------------------------------------------
-void __EXPORT ScDocListBox::Select()
+void ScDocListBox::Select()
{
ScNavigatorDlg::ReleaseFocus();
@@ -397,13 +396,11 @@ CommandToolBox::CommandToolBox( ScNavigatorDlg* pParent, const ResId& rResId )
SetSizePixel( CalcWindowSizePixel() );
SetDropdownClickHdl( LINK(this, CommandToolBox, ToolBoxDropdownClickHdl) );
SetItemBits( IID_DROPMODE, GetItemBits( IID_DROPMODE ) | TIB_DROPDOWNONLY );
-// EnableItem( IID_UP, FALSE );
-// EnableItem( IID_DOWN, FALSE );
}
//------------------------------------------------------------------------
-__EXPORT CommandToolBox::~CommandToolBox()
+CommandToolBox::~CommandToolBox()
{
}
@@ -447,7 +444,6 @@ void CommandToolBox::Select( USHORT nSelId )
case IID_DOWN:
rDlg.EndOfDataArea();
break;
- // IID_DROPMODE ist in Click
case IID_CHANGEROOT:
rDlg.aLbEntries.ToggleRoot();
UpdateButtons();
@@ -455,14 +451,14 @@ void CommandToolBox::Select( USHORT nSelId )
}
}
-void __EXPORT CommandToolBox::Select()
+void CommandToolBox::Select()
{
Select( GetCurItemId() );
}
//------------------------------------------------------------------------
-void __EXPORT CommandToolBox::Click()
+void CommandToolBox::Click()
{
}
@@ -515,23 +511,19 @@ void CommandToolBox::UpdateButtons()
CheckItem( IID_CHANGEROOT, bRootSet );
}
- BOOL bHC = GetSettings().GetStyleSettings().GetHighContrastMode();
-
USHORT nImageId = 0;
switch ( rDlg.nDropMode )
{
- case SC_DROPMODE_URL: nImageId = bHC ? RID_IMG_H_DROP_URL : RID_IMG_DROP_URL; break;
- case SC_DROPMODE_LINK: nImageId = bHC ? RID_IMG_H_DROP_LINK : RID_IMG_DROP_LINK; break;
- case SC_DROPMODE_COPY: nImageId = bHC ? RID_IMG_H_DROP_COPY : RID_IMG_DROP_COPY; break;
+ case SC_DROPMODE_URL: nImageId = RID_IMG_DROP_URL; break;
+ case SC_DROPMODE_LINK: nImageId = RID_IMG_DROP_LINK; break;
+ case SC_DROPMODE_COPY: nImageId = RID_IMG_DROP_COPY; break;
}
SetItemImage( IID_DROPMODE, Image(ScResId(nImageId)) );
}
void CommandToolBox::InitImageList()
{
- BOOL bHC = GetSettings().GetStyleSettings().GetHighContrastMode();
-
- ImageList& rImgLst = bHC ? rDlg.aCmdImageListH : rDlg.aCmdImageList;
+ ImageList& rImgLst = rDlg.aCmdImageList;
USHORT nCount = GetItemCount();
for (USHORT i = 0; i < nCount; i++)
@@ -632,17 +624,9 @@ ScNavigatorDialogWrapper::ScNavigatorDialogWrapper(
}
pNavigator->bFirstBig = ( nCmdId == 0 ); // dann spaeter
-
-/*???
- FloatingWindow* pFloat = GetFloatingWindow();
- if ( pFloat )
- pFloat->SetMinOutputSizePixel( pNavigator->GetMinOutputSizePixel() );
-*/
-
-//!? pNavigator->Show();
}
-void __EXPORT ScNavigatorDialogWrapper::Resizing( Size& rSize )
+void ScNavigatorDialogWrapper::Resizing( Size& rSize )
{
((ScNavigatorDlg*)GetWindow())->Resizing(rSize);
}
@@ -660,7 +644,6 @@ ScNavigatorDlg::ScNavigatorDlg( SfxBindings* pB, SfxChildWindowContext* pCW, Win
Window( pParent, ScResId(RID_SCDLG_NAVIGATOR) ),
rBindings ( *pB ), // is used in CommandToolBox ctor
aCmdImageList( ScResId( IL_CMD ) ),
- aCmdImageListH( ScResId( ILH_CMD ) ),
aFtCol ( this, ScResId( FT_COL ) ),
aEdCol ( this, ScResId( ED_COL ) ),
aFtRow ( this, ScResId( FT_ROW ) ),
@@ -716,12 +699,6 @@ ScNavigatorDlg::ScNavigatorDlg( SfxBindings* pB, SfxChildWindowContext* pCW, Win
nListModeHeight = aInitSize.Height()
+ nInitListHeight;
- // kein Resize, eh der ganze Kontext-Kram initialisiert ist!
-// SetOutputSizePixel( aInitSize ); //???
-/*! FloatingWindow* pFloat = pContextWin->GetFloatingWindow();
- if ( pFloat)
- pFloat->SetMinOutputSizePixel( aInitSize );
-*/
ppBoundItems = new ScNavigatorControllerItem* [CTRL_ITEMS];
rBindings.ENTERREGISTRATIONS();
@@ -771,7 +748,7 @@ ScNavigatorDlg::ScNavigatorDlg( SfxBindings* pB, SfxChildWindowContext* pCW, Win
//------------------------------------------------------------------------
-__EXPORT ScNavigatorDlg::~ScNavigatorDlg()
+ScNavigatorDlg::~ScNavigatorDlg()
{
aContentTimer.Stop();
@@ -788,7 +765,7 @@ __EXPORT ScNavigatorDlg::~ScNavigatorDlg()
//------------------------------------------------------------------------
-void __EXPORT ScNavigatorDlg::Resizing( Size& rNewSize ) // Size = Outputsize?
+void ScNavigatorDlg::Resizing( Size& rNewSize ) // Size = Outputsize?
{
FloatingWindow* pFloat = pContextWin->GetFloatingWindow();
if ( pFloat )
@@ -806,8 +783,6 @@ void __EXPORT ScNavigatorDlg::Resizing( Size& rNewSize ) // Size = Outputsize?
rNewSize.Height() = aMinOut.Height();
}
}
-// else
-// SfxDockingWindow::Resizing(rNewSize);
}
@@ -838,7 +813,7 @@ void ScNavigatorDlg::DataChanged( const DataChangedEvent& rDCEvt )
//------------------------------------------------------------------------
-void __EXPORT ScNavigatorDlg::Resize()
+void ScNavigatorDlg::Resize()
{
DoResize();
}
@@ -870,7 +845,6 @@ void ScNavigatorDlg::DoResize()
// auch wenn die Inhalte nicht sichtbar sind, die Groessen anpassen,
// damit die Breite stimmt
- //@@ 03.11.97 changes begin
Point aEntryPos = aLbEntries.GetPosPixel();
Point aListPos = aLbDocuments.GetPosPixel();
aNewSize.Width() -= 2*nBorderOffset;
@@ -894,8 +868,6 @@ void ScNavigatorDlg::DoResize()
aWndScenarios.SetSizePixel( aNewSize );
aLbDocuments.SetSizePixel( aDocSize );
- //@@ 03.11.97 end
-
BOOL bListMode = (eListMode != NAV_LMODE_NONE);
FloatingWindow* pFloat = pContextWin->GetFloatingWindow();
if ( pFloat && bListMode )
@@ -904,7 +876,7 @@ void ScNavigatorDlg::DoResize()
//------------------------------------------------------------------------
-void __EXPORT ScNavigatorDlg::Notify( SfxBroadcaster&, const SfxHint& rHint )
+void ScNavigatorDlg::Notify( SfxBroadcaster&, const SfxHint& rHint )
{
if ( rHint.ISA(SfxSimpleHint) )
{
@@ -1160,7 +1132,6 @@ void ScNavigatorDlg::UpdateTable( const SCTAB* pTab )
else if ( GetViewData() )
nCurTab = pViewData->GetTabNo();
-// aLbTables.SetTab( nCurTab );
CheckDataArea();
}
@@ -1471,7 +1442,7 @@ void ScNavigatorDlg::EndOfDataArea()
//------------------------------------------------------------------------
-SfxChildAlignment __EXPORT ScNavigatorDlg::CheckAlignment(
+SfxChildAlignment ScNavigatorDlg::CheckAlignment(
SfxChildAlignment eActAlign, SfxChildAlignment eAlign )
{
SfxChildAlignment eRetAlign;
diff --git a/sc/source/ui/navipi/navipi.hrc b/sc/source/ui/navipi/navipi.hrc
index 0adb65a5a042..643435655a26 100644
--- a/sc/source/ui/navipi/navipi.hrc
+++ b/sc/source/ui/navipi/navipi.hrc
@@ -26,8 +26,6 @@
************************************************************************/
#include "sc.hrc"
-//#define RID_SCDLG_NAVIGATOR 256
-
#define FT_ROW 1
#define ED_ROW 2
#define FT_COL 3
@@ -41,13 +39,9 @@
#define STR_NOTACTIVE 11
#define STR_HIDDEN 12
#define STR_ACTIVEWIN 13
-//#define IMG_ENTRIES 14
#define STR_QHLP_SCEN_LISTBOX 15
#define STR_QHLP_SCEN_COMMENT 16
#define IL_CMD 17
-#define ILH_CMD 18
-
-
#define IID_AREAS 1
#define IID_DBAREAS 2
@@ -59,5 +53,3 @@
#define IID_DROPMODE 9
#define IID_CHANGEROOT 10
#define IID_ZOOMOUT 11
-
-
diff --git a/sc/source/ui/navipi/navipi.src b/sc/source/ui/navipi/navipi.src
index c2e9ecb6a4e6..08e57cf4bf3c 100644
--- a/sc/source/ui/navipi/navipi.src
+++ b/sc/source/ui/navipi/navipi.src
@@ -59,23 +59,13 @@ Window RID_SCDLG_NAVIGATOR
{
SVLook = TRUE ;
HelpId = HID_SC_NAVIGATOR ;
- //? Pos = MAP_APPFONT( 0, 0 );
Size = MAP_APPFONT ( 115 , 116 ) ;
OutputSize = TRUE ;
DialogControl = TRUE ;
Hide = TRUE ;
Text [ en-US ] = "Navigator" ;
- // Closeable = TRUE ;
- // Moveable = TRUE ;
- // Zoomable = TRUE ;
- // Sizeable = TRUE ;
- // EnableResizing = TRUE ;
- // HideWhenDeactivate = TRUE ;
- // Border = TRUE ;
- // Dockable = TRUE ;
FixedText FT_ROW
{
- // Pos = MAP_APPFONT( 2, 20 );
Pos = MAP_APPFONT ( 2 , 19 ) ;
// an kleinere Toolbox-Bitmaps angepasst
Size = MAP_APPFONT ( 19 , 10 ) ;
@@ -85,7 +75,6 @@ Window RID_SCDLG_NAVIGATOR
{
HelpId = HID_SC_NAVIPI_ROW ;
Border = TRUE ;
- // Pos = MAP_APPFONT( 31, 19 );
Pos = MAP_APPFONT ( 31 , 18 ) ;
// an kleinere Toolbox-Bitmaps angepasst
Size = MAP_APPFONT ( 30 , 12 ) ;
@@ -119,7 +108,6 @@ Window RID_SCDLG_NAVIGATOR
// "Control" braucht immer eigene HelpId
HelpId = HID_SC_NAVIPI_ENTRIES ;
Border = TRUE ;
- // Pos = MAP_APPFONT( 2, 52 );
Pos = MAP_APPFONT ( 2 , 35 ) ;
Size = MAP_APPFONT ( 110 , 100 ) ;
TabStop = TRUE ;
@@ -128,7 +116,6 @@ Window RID_SCDLG_NAVIGATOR
{
HelpId = HID_SC_NAVIPI_DOC ;
Border = TRUE ;
- // Pos = MAP_APPFONT( 2, 35 );
Pos = MAP_APPFONT ( 2 , 89 ) ;
Size = MAP_APPFONT ( 82 , 50 ) ;
TabStop = TRUE ;
@@ -141,12 +128,6 @@ Window RID_SCDLG_NAVIGATOR
MaskColor = STD_MASKCOLOR ;
SC_NAVI_CMD_IDLIST
};
- ImageList ILH_CMD
- {
- Prefix = "nah";
- MaskColor = SC_HC_MASKCOLOR ;
- SC_NAVI_CMD_IDLIST
- };
ToolBox TBX_CMD
{
Pos = MAP_APPFONT ( 66 , 3 ) ;
@@ -244,50 +225,30 @@ Window RID_SCDLG_NAVIGATOR
};
-
ImageList RID_IMAGELIST_NAVCONT
{
Prefix = "nc";
MaskColor = STD_MASKCOLOR ;
SC_NAVI_CONT_IDLIST
};
-ImageList RID_IMAGELIST_H_NAVCONT
-{
- Prefix = "nch";
- MaskColor = SC_HC_MASKCOLOR ;
- SC_NAVI_CONT_IDLIST
-};
Image RID_IMG_DROP_URL
{
- ImageBitmap = Bitmap { File = "dropurl.bmp" ; };
+ ImageBitmap = Bitmap { File = "dropurl.png" ; };
MaskColor = STD_MASKCOLOR ;
};
+
Image RID_IMG_DROP_LINK
{
- ImageBitmap = Bitmap { File = "droplink.bmp" ; };
+ ImageBitmap = Bitmap { File = "droplink.png" ; };
MaskColor = STD_MASKCOLOR ;
};
+
Image RID_IMG_DROP_COPY
{
- ImageBitmap = Bitmap { File = "dropcopy.bmp" ; };
+ ImageBitmap = Bitmap { File = "dropcopy.png" ; };
MaskColor = STD_MASKCOLOR ;
};
-Image RID_IMG_H_DROP_URL
-{
- ImageBitmap = Bitmap { File = "dropurl_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR ;
-};
-Image RID_IMG_H_DROP_LINK
-{
- ImageBitmap = Bitmap { File = "droplink_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR ;
-};
-Image RID_IMG_H_DROP_COPY
-{
- ImageBitmap = Bitmap { File = "dropcopy_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR ;
-};
// content description strings are also used in ScLinkTargetsObj
@@ -295,38 +256,47 @@ String SCSTR_CONTENT_ROOT
{
Text [ en-US ] = "Contents" ;
};
+
String SCSTR_CONTENT_TABLE
{
Text [ en-US ] = "Sheets" ;
};
+
String SCSTR_CONTENT_RANGENAME
{
Text [ en-US ] = "Range names" ;
};
+
String SCSTR_CONTENT_DBAREA
{
Text [ en-US ] = "Database Ranges" ;
};
+
String SCSTR_CONTENT_GRAPHIC
{
Text [ en-US ] = "Graphics" ;
};
+
String SCSTR_CONTENT_OLEOBJECT
{
Text [ en-US ] = "OLE objects" ;
};
+
String SCSTR_CONTENT_NOTE
{
Text [ en-US ] = "Comments" ;
};
+
String SCSTR_CONTENT_AREALINK
{
Text [ en-US ] = "Linked areas" ;
};
+
String SCSTR_CONTENT_DRAWING
{
Text [ en-US ] = "Drawing objects";
};
+
// PopupMenu -------------------------------------------------------------
Menu RID_POPUP_DROPMODE
{
@@ -352,6 +322,7 @@ Menu RID_POPUP_DROPMODE
};
};
};
+
Menu RID_POPUP_NAVIPI_SCENARIO
{
ItemList =
@@ -370,45 +341,3 @@ Menu RID_POPUP_NAVIPI_SCENARIO
};
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/optdlg/makefile.mk b/sc/source/ui/optdlg/makefile.mk
index 9c816f56f7b8..b2be3b5c02ad 100644
--- a/sc/source/ui/optdlg/makefile.mk
+++ b/sc/source/ui/optdlg/makefile.mk
@@ -45,20 +45,17 @@ CXXFILES = \
tpprint.cxx \
opredlin.cxx
-EXCEPTIONSFILES= \
- $(SLO)$/tpcompatibility.obj
-
SLOFILES = \
- $(SLO)$/tpusrlst.obj \
- $(SLO)$/tpview.obj \
- $(SLO)$/tpcalc.obj \
- $(SLO)$/tpformula.obj \
- $(SLO)$/tpcompatibility.obj \
- $(SLO)$/tpprint.obj \
- $(SLO)$/opredlin.obj
+ $(EXCEPTIONSFILES)
EXCEPTIONSFILES= \
- $(SLO)$/tpcompatibility.obj \
+ $(SLO)$/opredlin.obj \
+ $(SLO)$/tpcalc.obj \
+ $(SLO)$/tpcompatibility.obj \
+ $(SLO)$/tpformula.obj \
+ $(SLO)$/tpprint.obj \
+ $(SLO)$/tpusrlst.obj \
+ $(SLO)$/tpview.obj
# --- Tagets -------------------------------------------------------
diff --git a/sc/source/ui/optdlg/opredlin.cxx b/sc/source/ui/optdlg/opredlin.cxx
index f438b3cdfcbc..05e6fc3d855c 100644
--- a/sc/source/ui/optdlg/opredlin.cxx
+++ b/sc/source/ui/optdlg/opredlin.cxx
@@ -81,28 +81,16 @@ ScRedlineOptionsTabPage::ScRedlineOptionsTabPage( Window* pParent,
aRemoveColorLB.SetSelectHdl( aLk );
}
-/*-----------------------------------------------------------------------
- Beschreibung:
- -----------------------------------------------------------------------*/
-
-__EXPORT ScRedlineOptionsTabPage::~ScRedlineOptionsTabPage()
+ScRedlineOptionsTabPage::~ScRedlineOptionsTabPage()
{
}
-/*-----------------------------------------------------------------------
- Beschreibung:
- -----------------------------------------------------------------------*/
-
-SfxTabPage* __EXPORT ScRedlineOptionsTabPage::Create( Window* pParent, const SfxItemSet& rSet )
+SfxTabPage* ScRedlineOptionsTabPage::Create( Window* pParent, const SfxItemSet& rSet )
{
return new ScRedlineOptionsTabPage( pParent, rSet );
}
-/*-----------------------------------------------------------------------
- Beschreibung:
- -----------------------------------------------------------------------*/
-
-BOOL __EXPORT ScRedlineOptionsTabPage::FillItemSet( SfxItemSet& /* rSet */ )
+BOOL ScRedlineOptionsTabPage::FillItemSet( SfxItemSet& /* rSet */ )
{
ScAppOptions aAppOptions=SC_MOD()->GetAppOptions();
@@ -169,11 +157,7 @@ BOOL __EXPORT ScRedlineOptionsTabPage::FillItemSet( SfxItemSet& /* rSet */ )
return FALSE;
}
-/*-----------------------------------------------------------------------
- Beschreibung:
- -----------------------------------------------------------------------*/
-
-void __EXPORT ScRedlineOptionsTabPage::Reset( const SfxItemSet& /* rSet */ )
+void ScRedlineOptionsTabPage::Reset( const SfxItemSet& /* rSet */ )
{
XColorTable* pColorTbl = XColorTable::GetStdColorTable();
@@ -237,54 +221,6 @@ void __EXPORT ScRedlineOptionsTabPage::Reset( const SfxItemSet& /* rSet */ )
IMPL_LINK( ScRedlineOptionsTabPage, ColorHdl, ColorListBox *, EMPTYARG )
{
-/*
- SvxFontPrevWindow *pPrev;
- ListBox *pLB;
-
- if (pColorLB == &aInsertColorLB)
- {
- pPrev = &aInsertPreviewWN;
- pLB = &aInsertLB;
- }
- else
- {
- pPrev = &aDeletedPreviewWN;
- pLB = &aDeletedLB;
- }
-
- SvxFont& rFont = pPrev->GetFont();
- USHORT nPos = pLB->GetSelectEntryPos();
- if (nPos == LISTBOX_ENTRY_NOTFOUND)
- nPos = 0;
-
- CharAttr *pAttr = (CharAttr *)pLB->GetEntryData(nPos);
-
- if (pAttr->nItemId == SID_ATTR_BRUSH)
- {
- rFont.SetColor(Color(COL_BLACK));
- nPos = pColorLB->GetSelectEntryPos();
- if (nPos && nPos != LISTBOX_ENTRY_NOTFOUND)
- {
- Brush aBrush(Color(pColorLB->GetSelectEntryColor()));
- pPrev->SetBrush(aBrush);
- }
- else
- {
- Brush aBrush(Color(COL_LIGHTGRAY));
- pPrev->SetBrush(aBrush);
- }
- }
- else
- {
- nPos = pColorLB->GetSelectEntryPos();
- if (nPos && nPos != LISTBOX_ENTRY_NOTFOUND)
- rFont.SetColor(pColorLB->GetEntryColor(nPos));
- else
- rFont.SetColor(Color(COL_RED));
- }
-
- pPrev->Invalidate();
-*/
return 0;
}
diff --git a/sc/source/ui/optdlg/tpcalc.cxx b/sc/source/ui/optdlg/tpcalc.cxx
index 7d56184d014e..143cb41d4ea2 100644
--- a/sc/source/ui/optdlg/tpcalc.cxx
+++ b/sc/source/ui/optdlg/tpcalc.cxx
@@ -83,7 +83,6 @@ ScTpCalcOptions::ScTpCalcOptions( Window* pParent,
aBtnDateStd ( this, ScResId( BTN_DATESTD ) ),
aBtnDateSc10 ( this, ScResId( BTN_DATESC10 ) ),
aBtnDate1904 ( this, ScResId( BTN_DATE1904 ) ),
- aHSeparatorFL ( this, ScResId( FL_H_SEPARATOR ) ),
aBtnCase ( this, ScResId( BTN_CASE ) ),
aBtnCalc ( this, ScResId( BTN_CALC ) ),
aBtnMatch ( this, ScResId( BTN_MATCH ) ),
@@ -107,7 +106,7 @@ ScTpCalcOptions::ScTpCalcOptions( Window* pParent,
//-----------------------------------------------------------------------
-__EXPORT ScTpCalcOptions::~ScTpCalcOptions()
+ScTpCalcOptions::~ScTpCalcOptions()
{
delete pOldOptions;
delete pLocalOptions;
@@ -126,21 +125,21 @@ void ScTpCalcOptions::Init()
//-----------------------------------------------------------------------
-USHORT* __EXPORT ScTpCalcOptions::GetRanges()
+USHORT* ScTpCalcOptions::GetRanges()
{
return pCalcOptRanges;
}
//-----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScTpCalcOptions::Create( Window* pParent, const SfxItemSet& rAttrSet )
+SfxTabPage* ScTpCalcOptions::Create( Window* pParent, const SfxItemSet& rAttrSet )
{
return ( new ScTpCalcOptions( pParent, rAttrSet ) );
}
//-----------------------------------------------------------------------
-void __EXPORT ScTpCalcOptions::Reset( const SfxItemSet& /* rCoreAttrs */ )
+void ScTpCalcOptions::Reset( const SfxItemSet& /* rCoreAttrs */ )
{
USHORT d,m,y;
@@ -191,7 +190,7 @@ void __EXPORT ScTpCalcOptions::Reset( const SfxItemSet& /* rCoreAttrs */ )
//-----------------------------------------------------------------------
-BOOL __EXPORT ScTpCalcOptions::FillItemSet( SfxItemSet& rCoreAttrs )
+BOOL ScTpCalcOptions::FillItemSet( SfxItemSet& rCoreAttrs )
{
// alle weiteren Optionen werden in den Handlern aktualisiert
pLocalOptions->SetIterCount( (USHORT)aEdSteps.GetValue() );
@@ -218,7 +217,7 @@ BOOL __EXPORT ScTpCalcOptions::FillItemSet( SfxItemSet& rCoreAttrs )
//------------------------------------------------------------------------
-int __EXPORT ScTpCalcOptions::DeactivatePage( SfxItemSet* pSetP )
+int ScTpCalcOptions::DeactivatePage( SfxItemSet* pSetP )
{
int nReturn = KEEP_PAGE;
diff --git a/sc/source/ui/optdlg/tpformula.cxx b/sc/source/ui/optdlg/tpformula.cxx
index 8d7dd7daff95..9be3f8a0f139 100644
--- a/sc/source/ui/optdlg/tpformula.cxx
+++ b/sc/source/ui/optdlg/tpformula.cxx
@@ -213,7 +213,6 @@ IMPL_LINK( ScTpFormulaOptions, SepEditOnFocusHdl, Edit*, pEdit )
return 0;
}
-// static
SfxTabPage* ScTpFormulaOptions::Create(Window* pParent, const SfxItemSet& rCoreSet)
{
return new ScTpFormulaOptions(pParent, rCoreSet);
diff --git a/sc/source/ui/optdlg/tpusrlst.cxx b/sc/source/ui/optdlg/tpusrlst.cxx
index da188c65470b..5da25e2e260e 100644
--- a/sc/source/ui/optdlg/tpusrlst.cxx
+++ b/sc/source/ui/optdlg/tpusrlst.cxx
@@ -115,7 +115,7 @@ ScTpUserLists::ScTpUserLists( Window* pParent,
// -----------------------------------------------------------------------
-__EXPORT ScTpUserLists::~ScTpUserLists()
+ScTpUserLists::~ScTpUserLists()
{
delete pUserLists;
delete pRangeUtil;
@@ -173,21 +173,21 @@ void ScTpUserLists::Init()
// -----------------------------------------------------------------------
-USHORT* __EXPORT ScTpUserLists::GetRanges()
+USHORT* ScTpUserLists::GetRanges()
{
return pUserListsRanges;
}
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScTpUserLists::Create( Window* pParent, const SfxItemSet& rAttrSet )
+SfxTabPage* ScTpUserLists::Create( Window* pParent, const SfxItemSet& rAttrSet )
{
return ( new ScTpUserLists( pParent, rAttrSet ) );
}
// -----------------------------------------------------------------------
-void __EXPORT ScTpUserLists::Reset( const SfxItemSet& rCoreAttrs )
+void ScTpUserLists::Reset( const SfxItemSet& rCoreAttrs )
{
const ScUserListItem& rUserListItem = (const ScUserListItem&)
rCoreAttrs.Get( nWhichUserLists );
@@ -238,7 +238,7 @@ void __EXPORT ScTpUserLists::Reset( const SfxItemSet& rCoreAttrs )
// -----------------------------------------------------------------------
-BOOL __EXPORT ScTpUserLists::FillItemSet( SfxItemSet& rCoreAttrs )
+BOOL ScTpUserLists::FillItemSet( SfxItemSet& rCoreAttrs )
{
// Modifikationen noch nicht uebernommen?
// -> Click auf Add-Button simulieren
@@ -279,7 +279,7 @@ BOOL __EXPORT ScTpUserLists::FillItemSet( SfxItemSet& rCoreAttrs )
// -----------------------------------------------------------------------
-int __EXPORT ScTpUserLists::DeactivatePage( SfxItemSet* pSetP )
+int ScTpUserLists::DeactivatePage( SfxItemSet* pSetP )
{
if ( pSetP )
FillItemSet( *pSetP );
diff --git a/sc/source/ui/optdlg/tpview.cxx b/sc/source/ui/optdlg/tpview.cxx
index 7c49d6d2d54c..d408fb093bc5 100644
--- a/sc/source/ui/optdlg/tpview.cxx
+++ b/sc/source/ui/optdlg/tpview.cxx
@@ -57,10 +57,6 @@
-/*-----------------11.01.97 10.52-------------------
- Optionen Inhalte
---------------------------------------------------*/
-
ScTpContentOptions::ScTpContentOptions( Window* pParent,
const SfxItemSet& rArgSet ) :
SfxTabPage(pParent, ScResId( RID_SCPAGE_CONTENT ), rArgSet),
@@ -133,26 +129,18 @@ ScTpContentOptions::ScTpContentOptions( Window* pParent,
aGridCB .SetClickHdl( LINK( this, ScTpContentOptions, GridHdl ) );
}
-/*-----------------11.01.97 10.52-------------------
-
---------------------------------------------------*/
ScTpContentOptions::~ScTpContentOptions()
{
delete pLocalOptions;
}
-/*-----------------11.01.97 10.52-------------------
-
---------------------------------------------------*/
SfxTabPage* ScTpContentOptions::Create( Window* pParent,
const SfxItemSet& rCoreSet )
{
return new ScTpContentOptions(pParent, rCoreSet);
}
-/*-----------------11.01.97 10.52-------------------
---------------------------------------------------*/
BOOL ScTpContentOptions::FillItemSet( SfxItemSet& rCoreSet )
{
BOOL bRet = FALSE;
@@ -196,9 +184,6 @@ BOOL ScTpContentOptions::FillItemSet( SfxItemSet& rCoreSet )
return bRet;
}
-/*-----------------11.01.97 10.53-------------------
-
---------------------------------------------------*/
void ScTpContentOptions::Reset( const SfxItemSet& rCoreSet )
{
@@ -261,9 +246,6 @@ void ScTpContentOptions::Reset( const SfxItemSet& rCoreSet )
aHandleCB .SaveValue();
aBigHandleCB .SaveValue();
}
-/*-----------------11.01.97 12.45-------------------
-
---------------------------------------------------*/
void ScTpContentOptions::ActivatePage( const SfxItemSet& rSet)
{
@@ -271,9 +253,6 @@ void ScTpContentOptions::ActivatePage( const SfxItemSet& rSet)
if(SFX_ITEM_SET == rSet.GetItemState(SID_SCVIEWOPTIONS, FALSE , &pItem))
*pLocalOptions = ((const ScTpViewItem*)pItem)->GetViewOptions();
}
-/*-----------------11.01.97 12.45-------------------
-
---------------------------------------------------*/
int ScTpContentOptions::DeactivatePage( SfxItemSet* pSetP )
{
@@ -281,9 +260,6 @@ int ScTpContentOptions::DeactivatePage( SfxItemSet* pSetP )
FillItemSet(*pSetP);
return SfxTabPage::LEAVE_PAGE;
}
-/*-----------------11.01.97 13.43-------------------
-
---------------------------------------------------*/
IMPL_LINK( ScTpContentOptions, SelLbObjHdl, ListBox*, pLb )
{
@@ -301,10 +277,6 @@ IMPL_LINK( ScTpContentOptions, SelLbObjHdl, ListBox*, pLb )
return 0;
}
-/*-----------------11.01.97 14.25-------------------
-
---------------------------------------------------*/
-
IMPL_LINK( ScTpContentOptions, CBHdl, CheckBox*, pBtn )
{
ScViewOption eOption = VOPT_FORMULAS;
@@ -335,9 +307,6 @@ IMPL_LINK( ScTpContentOptions, CBHdl, CheckBox*, pBtn )
return 0;
}
-/*-----------------11.01.97 13.13-------------------
-
---------------------------------------------------*/
void ScTpContentOptions::InitGridOpt()
{
@@ -407,9 +376,6 @@ void ScTpContentOptions::InitGridOpt()
else
aColorLB.SelectEntryPos( aColorLB.InsertEntry( aCol, aName ) );
}
-/*-----------------11.01.97 13.40-------------------
-
---------------------------------------------------*/
IMPL_LINK( ScTpContentOptions, GridHdl, CheckBox*, pBox )
{
@@ -419,9 +385,6 @@ IMPL_LINK( ScTpContentOptions, GridHdl, CheckBox*, pBox )
pLocalOptions->SetOption( VOPT_GRID, bChecked );
return 0;
}
-/*-----------------11.01.97 10.53-------------------
-
---------------------------------------------------*/
ScTpLayoutOptions::ScTpLayoutOptions( Window* pParent,
const SfxItemSet& rArgSet ) :
@@ -485,16 +448,10 @@ ScTpLayoutOptions::ScTpLayoutOptions( Window* pParent,
}
}
-/*-----------------11.01.97 10.53-------------------
-
---------------------------------------------------*/
ScTpLayoutOptions::~ScTpLayoutOptions()
{
}
-/*-----------------11.01.97 10.53-------------------
-
---------------------------------------------------*/
SfxTabPage* ScTpLayoutOptions::Create( Window* pParent,
const SfxItemSet& rCoreSet )
@@ -506,9 +463,6 @@ SfxTabPage* ScTpLayoutOptions::Create( Window* pParent,
pNew->SetDocument(pDocSh->GetDocument());
return pNew;
}
-/*-----------------11.01.97 10.53-------------------
-
---------------------------------------------------*/
BOOL ScTpLayoutOptions::FillItemSet( SfxItemSet& rCoreSet )
{
@@ -601,9 +555,6 @@ BOOL ScTpLayoutOptions::FillItemSet( SfxItemSet& rCoreSet )
return bRet;
}
-/*-----------------11.01.97 10.53-------------------
-
---------------------------------------------------*/
void ScTpLayoutOptions::Reset( const SfxItemSet& rCoreSet )
{
@@ -697,16 +648,9 @@ void ScTpLayoutOptions::Reset( const SfxItemSet& rCoreSet )
aRequestRB.SaveValue();
}
-/*-----------------11.01.97 12.46-------------------
-
---------------------------------------------------*/
-
void ScTpLayoutOptions::ActivatePage( const SfxItemSet& /* rCoreSet */ )
{
}
-/*-----------------11.01.97 12.46-------------------
-
---------------------------------------------------*/
int ScTpLayoutOptions::DeactivatePage( SfxItemSet* pSetP )
{
@@ -715,11 +659,6 @@ int ScTpLayoutOptions::DeactivatePage( SfxItemSet* pSetP )
return SfxTabPage::LEAVE_PAGE;
}
-
-/*-----------------13.01.97 14.44-------------------
- Metric des Deftabstops umschalten
---------------------------------------------------*/
-
IMPL_LINK(ScTpLayoutOptions, MetricHdl, ListBox*, EMPTYARG)
{
const USHORT nMPos = aUnitLB.GetSelectEntryPos();
@@ -734,9 +673,7 @@ IMPL_LINK(ScTpLayoutOptions, MetricHdl, ListBox*, EMPTYARG)
return 0;
}
-/*-----------------11.01.97 15.30-------------------
---------------------------------------------------*/
IMPL_LINK( ScTpLayoutOptions, AlignHdl, CheckBox*, pBox )
{
aAlignLB.Enable(pBox->IsChecked());
diff --git a/sc/source/ui/pagedlg/areasdlg.cxx b/sc/source/ui/pagedlg/areasdlg.cxx
index d80e5062f2e9..5a489825aad7 100644
--- a/sc/source/ui/pagedlg/areasdlg.cxx
+++ b/sc/source/ui/pagedlg/areasdlg.cxx
@@ -211,9 +211,6 @@ void ScPrintAreasDlg::SetReference( const ScRange& rRef, ScDocument* /* pDoc */
if ( &aEdPrintArea == pRefInputEdit )
{
rRef.Format( aStr, SCR_ABS, pDoc, eConv );
-
-// aEdPrintArea.ReplaceSelected( aStr );
-
String aVal = aEdPrintArea.GetText();
Selection aSel = aEdPrintArea.GetSelection();
aSel.Justify();
@@ -390,7 +387,6 @@ BOOL ScPrintAreasDlg::Impl_CheckRefStrings()
const USHORT nValidRange = nValidAddr | SCA_VALID_ROW2 | SCA_VALID_COL2;
const formula::FormulaGrammar::AddressConvention eConv = pDoc->GetAddressConvention();
const sal_Unicode sep = ScCompiler::GetNativeSymbol(ocSep).GetChar(0);
- // const sal_Unicode rsep = ScCompiler::GetNativeSymbol(ocRange).GetChar(0);
ScAddress aAddr;
ScRange aRange;
@@ -429,7 +425,11 @@ BOOL ScPrintAreasDlg::Impl_CheckRefStrings()
else if ( !bRepeatColOk ) pEd = &aEdRepeatCol;
ERRORBOX( STR_INVALID_TABREF );
- pEd->GrabFocus();
+
+ OSL_ASSERT(pEd);
+
+ if (pEd)
+ pEd->GrabFocus();
}
return bOk;
@@ -473,7 +473,6 @@ void ScPrintAreasDlg::Impl_FillLists()
{
String aName;
String aSymbol;
-// ScRange aRange;
ScRangeData* pData = NULL;
for ( USHORT i=0; i<nCount; i++ )
diff --git a/sc/source/ui/pagedlg/hfedtdlg.cxx b/sc/source/ui/pagedlg/hfedtdlg.cxx
index 3fa032989dfc..8ba49db77dfc 100644
--- a/sc/source/ui/pagedlg/hfedtdlg.cxx
+++ b/sc/source/ui/pagedlg/hfedtdlg.cxx
@@ -168,13 +168,13 @@ ScHFEditDlg::ScHFEditDlg( SfxViewFrame* pFrameP,
// -----------------------------------------------------------------------
-__EXPORT ScHFEditDlg::~ScHFEditDlg()
+ScHFEditDlg::~ScHFEditDlg()
{
}
// -----------------------------------------------------------------------
-void __EXPORT ScHFEditDlg::PageCreated( USHORT /* nId */, SfxTabPage& rPage )
+void ScHFEditDlg::PageCreated( USHORT /* nId */, SfxTabPage& rPage )
{
// kann ja nur ne ScHFEditPage sein...
diff --git a/sc/source/ui/pagedlg/hfedtdlg.hrc b/sc/source/ui/pagedlg/hfedtdlg.hrc
index 30e6f8ecae63..f18cc50ce7b4 100644
--- a/sc/source/ui/pagedlg/hfedtdlg.hrc
+++ b/sc/source/ui/pagedlg/hfedtdlg.hrc
@@ -27,9 +27,6 @@
#include "sc.hrc"
-//#define RID_SCPAGE_HFEDIT 256
-//#define RID_SCDLG_HFEDIT 256
-
#define FT_LEFT 1
#define FT_CENTER 2
#define FT_RIGHT 3
@@ -52,13 +49,6 @@
#define FL_INFO 14
-#define IMG_TEXT_H 21
-#define IMG_PAGE_H 22
-#define IMG_PAGES_H 23
-#define IMG_DATE_H 24
-#define IMG_TIME_H 25
-#define IMG_FILE_H 26
-#define IMG_TABLE_H 27
#define FT_HF_DEFINED 28
#define LB_DEFINED 29
#define FT_HF_CUSTOM 30
diff --git a/sc/source/ui/pagedlg/hfedtdlg.src b/sc/source/ui/pagedlg/hfedtdlg.src
index 1445636e8cc6..b82497877763 100644
--- a/sc/source/ui/pagedlg/hfedtdlg.src
+++ b/sc/source/ui/pagedlg/hfedtdlg.src
@@ -81,6 +81,7 @@ TabDialog RID_SCDLG_HFED_HEADER
};
};
};
+
TabDialog RID_SCDLG_HFED_FOOTER
{
OutputSize = TRUE ;
@@ -112,6 +113,7 @@ TabDialog RID_SCDLG_HFED_FOOTER
};
};
};
+
//------------------------------------------------------------------------
// Bearbeiten/Kopf-Fusszeile:
//------------------------------------------------------------------------
@@ -158,6 +160,7 @@ TabDialog RID_SCDLG_HFEDIT_ALL
};
};
};
+
TabDialog RID_SCDLG_HFEDIT_SHDR
{
OutputSize = TRUE ;
@@ -195,6 +198,7 @@ TabDialog RID_SCDLG_HFEDIT_SHDR
};
};
};
+
TabDialog RID_SCDLG_HFEDIT_SFTR
{
OutputSize = TRUE ;
@@ -232,6 +236,7 @@ TabDialog RID_SCDLG_HFEDIT_SFTR
};
};
};
+
TabDialog RID_SCDLG_HFEDIT
{
OutputSize = TRUE ;
@@ -263,6 +268,7 @@ TabDialog RID_SCDLG_HFEDIT
};
};
};
+
TabDialog RID_SCDLG_HFEDIT_HEADER
{
OutputSize = TRUE ;
@@ -294,6 +300,7 @@ TabDialog RID_SCDLG_HFEDIT_HEADER
};
};
};
+
TabDialog RID_SCDLG_HFEDIT_FOOTER
{
OutputSize = TRUE ;
@@ -325,6 +332,7 @@ TabDialog RID_SCDLG_HFEDIT_FOOTER
};
};
};
+
TabDialog RID_SCDLG_HFEDIT_RIGHTHEADER
{
OutputSize = TRUE ;
@@ -350,6 +358,7 @@ TabDialog RID_SCDLG_HFEDIT_RIGHTHEADER
};
};
};
+
TabDialog RID_SCDLG_HFEDIT_LEFTHEADER
{
OutputSize = TRUE ;
@@ -375,6 +384,7 @@ TabDialog RID_SCDLG_HFEDIT_LEFTHEADER
};
};
};
+
TabDialog RID_SCDLG_HFEDIT_RIGHTFOOTER
{
OutputSize = TRUE ;
@@ -400,6 +410,7 @@ TabDialog RID_SCDLG_HFEDIT_RIGHTFOOTER
};
};
};
+
TabDialog RID_SCDLG_HFEDIT_LEFTFOOTER
{
OutputSize = TRUE ;
@@ -425,6 +436,7 @@ TabDialog RID_SCDLG_HFEDIT_LEFTFOOTER
};
};
};
+
//------------------------------------------------------------------------
// ScTpHFEdit
//------------------------------------------------------------------------
@@ -440,45 +452,18 @@ TabPage RID_HFBASE
Size = MAP_APPFONT ( 75 , 10 ) ;
Text [ en-US ] = "~Left area" ;
};
- /* "Control" braucht eigene HelpId, darum in der Ableitung:
- Control WND_LEFT
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 6 , 18 ) ;
- Size = MAP_APPFONT ( 80 , 72 ) ;
- TabStop = TRUE ;
- };
-*/
FixedText FT_CENTER
{
Pos = MAP_APPFONT ( 90 , 6 ) ;
Size = MAP_APPFONT ( 75 , 10 ) ;
Text [ en-US ] = "~Center area" ;
};
- /* "Control" braucht eigene HelpId, darum in der Ableitung:
- Control WND_CENTER
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 90 , 18 ) ;
- Size = MAP_APPFONT ( 80 , 72 ) ;
- TabStop = TRUE ;
- };
-*/
FixedText FT_RIGHT
{
Pos = MAP_APPFONT ( 174 , 6 ) ;
Size = MAP_APPFONT ( 75 , 10 ) ;
Text [ en-US ] = "R~ight area" ;
};
- /* "Control" braucht eigene HelpId, darum in der Ableitung:
- Control WND_RIGHT
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 174 , 18 ) ;
- Size = MAP_APPFONT ( 80 , 72 ) ;
- TabStop = TRUE ;
- };
-*/
FixedText FT_HF_DEFINED
{
Pos = MAP_APPFONT ( 12 , 102 ) ;
@@ -486,17 +471,6 @@ TabPage RID_HFBASE
Text [ en-US ] = "Hea~der" ;
};
- /* #i84123# list box needs own help id, which is set in the derived tab pages
- ListBox LB_DEFINED
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 90 , 100 ) ;
- Size = MAP_APPFONT ( 130 , 80 ) ;
- DropDown = TRUE ;
- TabStop = TRUE ;
- };
- */
-
FixedText FT_HF_CUSTOM
{
Pos = MAP_APPFONT ( 12 , 124 ) ;
@@ -513,15 +487,11 @@ TabPage RID_HFBASE
QuickHelpText [ en-US ] = "Text Attributes" ;
ButtonImage = Image
{
- ImageBitmap = Bitmap { File = "text.bmp" ; };
+ ImageBitmap = Bitmap { File = "text.png" ; };
MaskColor = STD_MASKCOLOR ;
};
};
- Image IMG_TEXT_H
- {
- ImageBitmap = Bitmap { File = "text_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR;
- };
+
ImageButton BTN_FILE
{
HelpId = HID_SC_HF_FILE ;
@@ -531,15 +501,10 @@ TabPage RID_HFBASE
QuickHelpText [ en-US ] = "Title" ;
ButtonImage = Image
{
- ImageBitmap = Bitmap { File = "file.bmp" ; };
+ ImageBitmap = Bitmap { File = "file.png" ; };
MaskColor = STD_MASKCOLOR ;
};
};
- Image IMG_FILE_H
- {
- ImageBitmap = Bitmap { File = "file_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR;
- };
Menu RID_POPUP_FCOMMAND
{
@@ -577,15 +542,11 @@ TabPage RID_HFBASE
QuickHelpText [ en-US ] = "Sheet Name" ;
ButtonImage = Image
{
- ImageBitmap = Bitmap { File = "table.bmp" ; };
+ ImageBitmap = Bitmap { File = "table.png" ; };
MaskColor = STD_MASKCOLOR;
};
};
- Image IMG_TABLE_H
- {
- ImageBitmap = Bitmap { File = "table_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR;
- };
+
ImageButton BTN_PAGE
{
HelpId = HID_SC_HF_PAGE ;
@@ -595,15 +556,11 @@ TabPage RID_HFBASE
QuickHelpText [ en-US ] = "Page" ;
ButtonImage = Image
{
- ImageBitmap = Bitmap { File = "page.bmp" ; };
+ ImageBitmap = Bitmap { File = "page.png" ; };
MaskColor = STD_MASKCOLOR ;
};
};
- Image IMG_PAGE_H
- {
- ImageBitmap = Bitmap { File = "page_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR;
- };
+
ImageButton BTN_PAGES
{
HelpId = HID_SC_HF_PAGES ;
@@ -613,15 +570,11 @@ TabPage RID_HFBASE
QuickHelpText [ en-US ] = "Pages" ;
ButtonImage = Image
{
- ImageBitmap = Bitmap { File = "pages.bmp" ; };
+ ImageBitmap = Bitmap { File = "pages.png" ; };
MaskColor = STD_MASKCOLOR ;
};
};
- Image IMG_PAGES_H
- {
- ImageBitmap = Bitmap { File = "pages_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR;
- };
+
ImageButton BTN_DATE
{
HelpId = HID_SC_HF_DATE ;
@@ -631,15 +584,11 @@ TabPage RID_HFBASE
QuickHelpText [ en-US ] = "Date" ;
ButtonImage = Image
{
- ImageBitmap = Bitmap { File = "date.bmp" ; };
+ ImageBitmap = Bitmap { File = "date.png" ; };
MaskColor = STD_MASKCOLOR ;
};
};
- Image IMG_DATE_H
- {
- ImageBitmap = Bitmap { File = "date_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR;
- };
+
ImageButton BTN_TIME
{
HelpId = HID_SC_HF_TIME ;
@@ -649,15 +598,11 @@ TabPage RID_HFBASE
QuickHelpText [ en-US ] = "Time" ;
ButtonImage = Image
{
- ImageBitmap = Bitmap { File = "time.bmp" ; };
+ ImageBitmap = Bitmap { File = "time.png" ; };
MaskColor = STD_MASKCOLOR ;
};
};
- Image IMG_TIME_H
- {
- ImageBitmap = Bitmap { File = "time_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR;
- };
+
FixedText FT_INFO
{
Pos = MAP_APPFONT ( 12 , 155 ) ;
@@ -672,6 +617,7 @@ TabPage RID_HFBASE
Text [ en-US ] = "Note" ;
};
};
+
// Kombinationen: Header/Footer links/rechts
// die Eingabefenster jeweils mit eigener ID, sonst aus RID_HFBASE kopiert
TabPage RID_SCPAGE_HFED_HL < RID_HFBASE
@@ -712,6 +658,7 @@ TabPage RID_SCPAGE_HFED_HL < RID_HFBASE
TabStop = TRUE ;
};
};
+
TabPage RID_SCPAGE_HFED_HR < RID_HFBASE
{
Hide = TRUE ;
@@ -750,6 +697,7 @@ TabPage RID_SCPAGE_HFED_HR < RID_HFBASE
TabStop = TRUE ;
};
};
+
TabPage RID_SCPAGE_HFED_FL < RID_HFBASE
{
Hide = TRUE ;
@@ -788,6 +736,7 @@ TabPage RID_SCPAGE_HFED_FL < RID_HFBASE
TabStop = TRUE ;
};
};
+
TabPage RID_SCPAGE_HFED_FR < RID_HFBASE
{
Hide = TRUE ;
@@ -826,4 +775,3 @@ TabPage RID_SCPAGE_HFED_FR < RID_HFBASE
TabStop = TRUE ;
};
};
-
diff --git a/sc/source/ui/pagedlg/makefile.mk b/sc/source/ui/pagedlg/makefile.mk
index 93224ec7cb58..a7984f7d19af 100644
--- a/sc/source/ui/pagedlg/makefile.mk
+++ b/sc/source/ui/pagedlg/makefile.mk
@@ -39,8 +39,8 @@ LIBTARGET=no
# --- Files --------------------------------------------------------
CXXFILES = \
- areasdlg.cxx \
- hfedtdlg.cxx \
+ areasdlg.cxx \
+ hfedtdlg.cxx \
tptable.cxx \
tphf.cxx \
tphfedit.cxx
@@ -48,13 +48,15 @@ CXXFILES = \
SLOFILES = \
- $(SLO)$/areasdlg.obj \
- $(SLO)$/hfedtdlg.obj \
- $(SLO)$/tptable.obj \
- $(SLO)$/tphf.obj \
- $(SLO)$/tphfedit.obj \
- $(SLO)$/scuitphfedit.obj
+ $(EXCEPTIONSFILES)
+EXCEPTIONSFILES = \
+ $(SLO)$/areasdlg.obj \
+ $(SLO)$/hfedtdlg.obj \
+ $(SLO)$/scuitphfedit.obj \
+ $(SLO)$/tphf.obj \
+ $(SLO)$/tphfedit.obj \
+ $(SLO)$/tptable.obj \
SRS1NAME=$(TARGET)
SRC1FILES = pagedlg.src \
@@ -65,7 +67,7 @@ LIB1TARGET = $(SLB)$/$(TARGET).lib
LIB1OBJFILES = \
$(SLO)$/areasdlg.obj \
- $(SLO)$/tphfedit.obj
+ $(SLO)$/tphfedit.obj
# --- Tagets -------------------------------------------------------
.INCLUDE : target.mk
diff --git a/sc/source/ui/pagedlg/pagedlg.hrc b/sc/source/ui/pagedlg/pagedlg.hrc
index 2f3593c2f6d1..0c26340599a1 100644
--- a/sc/source/ui/pagedlg/pagedlg.hrc
+++ b/sc/source/ui/pagedlg/pagedlg.hrc
@@ -71,9 +71,6 @@
#define FT_SCALEPAGEHEIGHT 53
#define FT_SCALEPAGENUM 54
-#define IMG_LEFTRIGHT_H 41
-#define IMG_TOPDOWN_H 42
-
// List box entries "Scaling mode"
#define SC_TPTABLE_SCALE_PERCENT 0
#define SC_TPTABLE_SCALE_TO 1
diff --git a/sc/source/ui/pagedlg/pagedlg.src b/sc/source/ui/pagedlg/pagedlg.src
index d0f95c3d9f6b..d02432d94cd9 100644
--- a/sc/source/ui/pagedlg/pagedlg.src
+++ b/sc/source/ui/pagedlg/pagedlg.src
@@ -25,6 +25,7 @@
*
************************************************************************/
#include "pagedlg.hrc"
+
ModelessDialog RID_SCDLG_AREAS
{
HelpId = HID_SCPAGE_AREAS ;
@@ -147,6 +148,7 @@ ModelessDialog RID_SCDLG_AREAS
QuickHelpText [ en-US ] = "Shrink" ;
};
};
+
TabPage RID_SCPAGE_TABLE
{
Hide = TRUE ;
@@ -237,24 +239,14 @@ TabPage RID_SCPAGE_TABLE
};
Image IMG_LEFTRIGHT
{
- ImageBitmap = Bitmap { File = "lftrgt.bmp" ; };
+ ImageBitmap = Bitmap { File = "lftrgt.png" ; };
MaskColor = STD_MASKCOLOR;
};
- Image IMG_LEFTRIGHT_H
- {
- ImageBitmap = Bitmap { File = "lftrgt_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR;
- };
Image IMG_TOPDOWN
{
- ImageBitmap = Bitmap { File = "topdown.bmp" ; };
+ ImageBitmap = Bitmap { File = "topdown.png" ; };
MaskColor = STD_MASKCOLOR;
};
- Image IMG_TOPDOWN_H
- {
- ImageBitmap = Bitmap { File = "topdown_h.bmp" ; };
- MaskColor = SC_HC_MASKCOLOR;
- };
CheckBox BTN_PAGENO
{
Pos = MAP_APPFONT ( 12 , 46 ) ;
@@ -389,28 +381,3 @@ TabPage RID_SCPAGE_TABLE
Text [ en-US ] = "Scale" ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/pagedlg/scuitphfedit.cxx b/sc/source/ui/pagedlg/scuitphfedit.cxx
index 5ea90ef0d77d..3d57d39bbe17 100644
--- a/sc/source/ui/pagedlg/scuitphfedit.cxx
+++ b/sc/source/ui/pagedlg/scuitphfedit.cxx
@@ -140,14 +140,6 @@ ScHFEditPage::ScHFEditPage( Window* pParent,
aBtnFile .SetClickHdl( LINK( this, ScHFEditPage, ClickHdl ) );
aBtnTable .SetClickHdl( LINK( this, ScHFEditPage, ClickHdl ) );
- aBtnText .SetModeImage( Image( ScResId( IMG_TEXT_H ) ), BMP_COLOR_HIGHCONTRAST );
- aBtnFile .SetModeImage( Image( ScResId( IMG_FILE_H ) ), BMP_COLOR_HIGHCONTRAST );
- aBtnTable .SetModeImage( Image( ScResId( IMG_TABLE_H ) ), BMP_COLOR_HIGHCONTRAST );
- aBtnPage .SetModeImage( Image( ScResId( IMG_PAGE_H ) ), BMP_COLOR_HIGHCONTRAST );
- aBtnLastPage.SetModeImage( Image( ScResId( IMG_PAGES_H ) ), BMP_COLOR_HIGHCONTRAST );
- aBtnDate .SetModeImage( Image( ScResId( IMG_DATE_H ) ), BMP_COLOR_HIGHCONTRAST );
- aBtnTime .SetModeImage( Image( ScResId( IMG_TIME_H ) ), BMP_COLOR_HIGHCONTRAST );
-
if(!bHeader)
{
maFtDefinedHF.SetText(ScGlobal::GetRscString( STR_FOOTER ));
@@ -180,7 +172,7 @@ ScHFEditPage::ScHFEditPage( Window* pParent,
// -----------------------------------------------------------------------
-__EXPORT ScHFEditPage::~ScHFEditPage()
+ScHFEditPage::~ScHFEditPage()
{
}
@@ -195,7 +187,7 @@ void ScHFEditPage::SetNumType(SvxNumType eNumType)
#define IS_AVAILABLE(w)(rCoreSet.GetItemState( (w) ) >= SFX_ITEM_AVAILABLE)
-void __EXPORT ScHFEditPage::Reset( const SfxItemSet& rCoreSet )
+void ScHFEditPage::Reset( const SfxItemSet& rCoreSet )
{
if ( IS_AVAILABLE( nWhich ) )
{
@@ -216,7 +208,7 @@ void __EXPORT ScHFEditPage::Reset( const SfxItemSet& rCoreSet )
// -----------------------------------------------------------------------
-BOOL __EXPORT ScHFEditPage::FillItemSet( SfxItemSet& rCoreSet )
+BOOL ScHFEditPage::FillItemSet( SfxItemSet& rCoreSet )
{
ScPageHFItem aItem( nWhich );
EditTextObject* pLeft = aWndLeft .CreateTextObject();
@@ -708,7 +700,7 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
ESelection aSel(0,0,0,0);
aWndCenter.GetEditEngine()->QuickInsertField(SvxFieldItem( SvxFileField(), EE_FEATURE_FIELD ), aSel );
++aSel.nEndPos;
- String aPageEntry(RTL_CONSTASCII_STRINGPARAM(", "));
+ String aPageEntry(RTL_CONSTASCII_USTRINGPARAM(", "));
aPageEntry += ScGlobal::GetRscString( STR_PAGE ) ;
aPageEntry += ' ';
aWndCenter.GetEditEngine()->QuickInsertText(aPageEntry, ESelection(aSel.nEndPara,aSel.nEndPos, aSel.nEndPara, aSel.nEndPos));
@@ -741,7 +733,7 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
aSel.nEndPos = aPageEntry.Len();
aWndCenter.GetEditEngine()->QuickInsertField(SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos));
++aSel.nEndPos;
- String aCommaSpace(RTL_CONSTASCII_STRINGPARAM(", "));
+ String aCommaSpace(RTL_CONSTASCII_USTRINGPARAM(", "));
aWndCenter.GetEditEngine()->QuickInsertText(aCommaSpace,ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos));
aSel.nEndPos = sal::static_int_cast<xub_StrLen>( aSel.nEndPos + aCommaSpace.Len() );
aWndCenter.GetEditEngine()->QuickInsertField( SvxFieldItem(SvxTableField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos));
@@ -762,7 +754,7 @@ void ScHFEditPage::ProcessDefinedListSel(ScHFEntryId eSel, bool bTravelling)
aSel.nEndPos = aPageEntry.Len();
aWndCenter.GetEditEngine()->QuickInsertField(SvxFieldItem(SvxPageField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos));
++aSel.nEndPos;
- String aCommaSpace(RTL_CONSTASCII_STRINGPARAM(", "));
+ String aCommaSpace(RTL_CONSTASCII_USTRINGPARAM(", "));
aWndCenter.GetEditEngine()->QuickInsertText(aCommaSpace,ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos));
aSel.nEndPos = sal::static_int_cast<xub_StrLen>( aSel.nEndPos + aCommaSpace.Len() );
aWndCenter.GetEditEngine()->QuickInsertField( SvxFieldItem(SvxFileField(), EE_FEATURE_FIELD), ESelection(aSel.nEndPara, aSel.nEndPos, aSel.nEndPara, aSel.nEndPos));
@@ -933,12 +925,12 @@ ScRightHeaderEditPage::ScRightHeaderEditPage( Window* pParent, const SfxItemSet&
// -----------------------------------------------------------------------
-USHORT* __EXPORT ScRightHeaderEditPage::GetRanges()
+USHORT* ScRightHeaderEditPage::GetRanges()
{ return pPageRightHeaderRanges; }
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScRightHeaderEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
+SfxTabPage* ScRightHeaderEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
{ return ( new ScRightHeaderEditPage( pParent, rCoreSet ) ); };
@@ -953,12 +945,12 @@ ScLeftHeaderEditPage::ScLeftHeaderEditPage( Window* pParent, const SfxItemSet& r
// -----------------------------------------------------------------------
-USHORT* __EXPORT ScLeftHeaderEditPage::GetRanges()
+USHORT* ScLeftHeaderEditPage::GetRanges()
{ return pPageLeftHeaderRanges; }
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScLeftHeaderEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
+SfxTabPage* ScLeftHeaderEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
{ return ( new ScLeftHeaderEditPage( pParent, rCoreSet ) ); };
//========================================================================
@@ -972,12 +964,12 @@ ScRightFooterEditPage::ScRightFooterEditPage( Window* pParent, const SfxItemSet&
// -----------------------------------------------------------------------
-USHORT* __EXPORT ScRightFooterEditPage::GetRanges()
+USHORT* ScRightFooterEditPage::GetRanges()
{ return pPageRightFooterRanges; }
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScRightFooterEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
+SfxTabPage* ScRightFooterEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
{ return ( new ScRightFooterEditPage( pParent, rCoreSet ) ); };
//========================================================================
@@ -991,12 +983,12 @@ ScLeftFooterEditPage::ScLeftFooterEditPage( Window* pParent, const SfxItemSet& r
// -----------------------------------------------------------------------
-USHORT* __EXPORT ScLeftFooterEditPage::GetRanges()
+USHORT* ScLeftFooterEditPage::GetRanges()
{ return pPageLeftFooterRanges; }
// -----------------------------------------------------------------------
-SfxTabPage* __EXPORT ScLeftFooterEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
+SfxTabPage* ScLeftFooterEditPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
{ return ( new ScLeftFooterEditPage( pParent, rCoreSet ) ); };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/pagedlg/tphf.cxx b/sc/source/ui/pagedlg/tphf.cxx
index 96150acf4960..77542e3d6052 100644
--- a/sc/source/ui/pagedlg/tphf.cxx
+++ b/sc/source/ui/pagedlg/tphf.cxx
@@ -105,13 +105,13 @@ ScHFPage::ScHFPage( Window* pParent, USHORT nResId,
//------------------------------------------------------------------
-__EXPORT ScHFPage::~ScHFPage()
+ScHFPage::~ScHFPage()
{
}
//------------------------------------------------------------------
-void __EXPORT ScHFPage::Reset( const SfxItemSet& rSet )
+void ScHFPage::Reset( const SfxItemSet& rSet )
{
SvxHFPage::Reset( rSet );
TurnOnHdl( 0 );
@@ -119,7 +119,7 @@ void __EXPORT ScHFPage::Reset( const SfxItemSet& rSet )
//------------------------------------------------------------------
-BOOL __EXPORT ScHFPage::FillItemSet( SfxItemSet& rOutSet )
+BOOL ScHFPage::FillItemSet( SfxItemSet& rOutSet )
{
BOOL bResult = SvxHFPage::FillItemSet( rOutSet );
@@ -139,7 +139,7 @@ BOOL __EXPORT ScHFPage::FillItemSet( SfxItemSet& rOutSet )
//------------------------------------------------------------------
-void __EXPORT ScHFPage::ActivatePage( const SfxItemSet& rSet )
+void ScHFPage::ActivatePage( const SfxItemSet& rSet )
{
USHORT nPageWhich = GetWhich( SID_ATTR_PAGE );
const SvxPageItem& rPageItem = (const SvxPageItem&)
@@ -157,7 +157,7 @@ void __EXPORT ScHFPage::ActivatePage( const SfxItemSet& rSet )
//------------------------------------------------------------------
-int __EXPORT ScHFPage::DeactivatePage( SfxItemSet* pSetP )
+int ScHFPage::DeactivatePage( SfxItemSet* pSetP )
{
if ( LEAVE_PAGE == SvxHFPage::DeactivatePage( pSetP ) )
if ( pSetP )
@@ -291,14 +291,14 @@ ScHeaderPage::ScHeaderPage( Window* pParent, const SfxItemSet& rSet )
//------------------------------------------------------------------
-SfxTabPage* __EXPORT ScHeaderPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
+SfxTabPage* ScHeaderPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
{
return ( new ScHeaderPage( pParent, rCoreSet ) );
}
//------------------------------------------------------------------
-USHORT* __EXPORT ScHeaderPage::GetRanges()
+USHORT* ScHeaderPage::GetRanges()
{
return SvxHeaderPage::GetRanges();
}
@@ -314,14 +314,14 @@ ScFooterPage::ScFooterPage( Window* pParent, const SfxItemSet& rSet )
//------------------------------------------------------------------
-SfxTabPage* __EXPORT ScFooterPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
+SfxTabPage* ScFooterPage::Create( Window* pParent, const SfxItemSet& rCoreSet )
{
return ( new ScFooterPage( pParent, rCoreSet ) );
}
//------------------------------------------------------------------
-USHORT* __EXPORT ScFooterPage::GetRanges()
+USHORT* ScFooterPage::GetRanges()
{
return SvxHeaderPage::GetRanges();
}
diff --git a/sc/source/ui/pagedlg/tphf.src b/sc/source/ui/pagedlg/tphf.src
index b2f59e06da72..d6cda1047cc1 100644
--- a/sc/source/ui/pagedlg/tphf.src
+++ b/sc/source/ui/pagedlg/tphf.src
@@ -26,6 +26,7 @@
************************************************************************/
#include "sc.hrc"
+
PushButton RID_SCBTN_HFEDIT
{
TabStop = TRUE ;
@@ -34,31 +35,3 @@ PushButton RID_SCBTN_HFEDIT
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~Edit..." ;
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/pagedlg/tphfedit.cxx b/sc/source/ui/pagedlg/tphfedit.cxx
index 52d8d7cad040..5f901b9a4ddd 100644
--- a/sc/source/ui/pagedlg/tphfedit.cxx
+++ b/sc/source/ui/pagedlg/tphfedit.cxx
@@ -130,7 +130,7 @@ ScEditWindow::ScEditWindow( Window* pParent, const ResId& rResId, ScEditWindowLo
// -----------------------------------------------------------------------
-__EXPORT ScEditWindow::~ScEditWindow()
+ScEditWindow::~ScEditWindow()
{
// delete Accessible object before deleting EditEngine and EditView
if (pAcc)
@@ -153,7 +153,7 @@ void ScEditWindow::SetNumType(SvxNumType eNumType)
// -----------------------------------------------------------------------
-EditTextObject* __EXPORT ScEditWindow::CreateTextObject()
+EditTextObject* ScEditWindow::CreateTextObject()
{
// wegen #38841# die Absatzattribute zuruecksetzen
// (GetAttribs beim Format-Dialog-Aufruf gibt immer gesetzte Items zurueck)
@@ -237,7 +237,7 @@ void ScEditWindow::SetCharAttriutes()
// -----------------------------------------------------------------------
-void __EXPORT ScEditWindow::Paint( const Rectangle& rRec )
+void ScEditWindow::Paint( const Rectangle& rRec )
{
const StyleSettings& rStyleSettings = Application::GetSettings().GetStyleSettings();
Color aBgColor = rStyleSettings.GetWindowColor();
@@ -253,14 +253,14 @@ void __EXPORT ScEditWindow::Paint( const Rectangle& rRec )
// -----------------------------------------------------------------------
-void __EXPORT ScEditWindow::MouseMove( const MouseEvent& rMEvt )
+void ScEditWindow::MouseMove( const MouseEvent& rMEvt )
{
pEdView->MouseMove( rMEvt );
}
// -----------------------------------------------------------------------
-void __EXPORT ScEditWindow::MouseButtonDown( const MouseEvent& rMEvt )
+void ScEditWindow::MouseButtonDown( const MouseEvent& rMEvt )
{
if ( !HasFocus() )
GrabFocus();
@@ -270,14 +270,14 @@ void __EXPORT ScEditWindow::MouseButtonDown( const MouseEvent& rMEvt )
// -----------------------------------------------------------------------
-void __EXPORT ScEditWindow::MouseButtonUp( const MouseEvent& rMEvt )
+void ScEditWindow::MouseButtonUp( const MouseEvent& rMEvt )
{
pEdView->MouseButtonUp( rMEvt );
}
// -----------------------------------------------------------------------
-void __EXPORT ScEditWindow::KeyInput( const KeyEvent& rKEvt )
+void ScEditWindow::KeyInput( const KeyEvent& rKEvt )
{
USHORT nKey = rKEvt.GetKeyCode().GetModifier()
+ rKEvt.GetKeyCode().GetCode();
@@ -301,7 +301,7 @@ void ScEditWindow::Command( const CommandEvent& rCEvt )
// -----------------------------------------------------------------------
-void __EXPORT ScEditWindow::GetFocus()
+void ScEditWindow::GetFocus()
{
pActiveEdWnd = this;
@@ -314,7 +314,7 @@ void __EXPORT ScEditWindow::GetFocus()
pAcc = NULL;
}
-void __EXPORT ScEditWindow::LoseFocus()
+void ScEditWindow::LoseFocus()
{
::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > xTemp = xAcc;
if (xTemp.is() && pAcc)
@@ -336,19 +336,16 @@ void __EXPORT ScEditWindow::LoseFocus()
case Left:
{
sName = String(ScResId(STR_ACC_LEFTAREA_NAME));
-// sDescription = String(ScResId(STR_ACC_LEFTAREA_DESCR));
}
break;
case Center:
{
sName = String(ScResId(STR_ACC_CENTERAREA_NAME));
-// sDescription = String(ScResId(STR_ACC_CENTERAREA_DESCR));
}
break;
case Right:
{
sName = String(ScResId(STR_ACC_RIGHTAREA_NAME));
-// sDescription = String(ScResId(STR_ACC_RIGHTAREA_DESCR));
}
break;
}
@@ -359,38 +356,6 @@ void __EXPORT ScEditWindow::LoseFocus()
return pAcc;
}
-/*
-class ScExtIButton : public ImageButton
-{
-private:
-
- Timer aTimer;
- ScPopupMenu* pPopupMenu;
-
- DECL_LINK( TimerHdl, Timer*);
-
- void DrawArrow();
-
-protected:
-
- virtual void MouseButtonDown( const MouseEvent& rMEvt );
- virtual void MouseButtonUp( const MouseEvent& rMEvt);
-
- virtual void StartPopup();
-
-public:
-
- ScExtIButton(Window* pParent, const ResId& rResId );
-
- void SetPopupMenu(ScPopupMenu* pPopUp);
-
- USHORT GetSelected();
-
- void SetMenuHdl( const Link& rLink ) { aFxLink = rLink; }
- const Link& GetMenuHdl() const { return aFxLink; }
-
-}
-*/
ScExtIButton::ScExtIButton(Window* pParent, const ResId& rResId )
: ImageButton(pParent,rResId),
pPopupMenu(NULL)
@@ -398,8 +363,6 @@ ScExtIButton::ScExtIButton(Window* pParent, const ResId& rResId )
nSelected=0;
aTimer.SetTimeout(600);
SetDropDown( TRUE);
-
-// DrawArrow();
}
void ScExtIButton::SetPopupMenu(ScPopupMenu* pPopUp)
@@ -474,94 +437,5 @@ IMPL_LINK( ScExtIButton, TimerHdl, Timer*, EMPTYARG )
return 0;
}
-/*
-static void ImplDrawToolArrow( ToolBox* pBox, long nX, long nY, BOOL bBlack,
- BOOL bLeft = FALSE, BOOL bTop = FALSE )
-{
- Color aOldFillColor = pBox->GetFillColor();
- WindowAlign eAlign = pBox->meAlign;
- if ( bLeft )
- eAlign = WINDOWALIGN_RIGHT;
- else if ( bTop )
- eAlign = WINDOWALIGN_BOTTOM;
-
- switch ( eAlign )
- {
- case WINDOWALIGN_LEFT:
- if ( bBlack )
- pBox->SetFillColor( Color( COL_BLACK ) );
- pBox->DrawRect( Rectangle( nX+0, nY+0, nX+0, nY+6 ) );
- pBox->DrawRect( Rectangle( nX+1, nY+1, nX+1, nY+5 ) );
- pBox->DrawRect( Rectangle( nX+2, nY+2, nX+2, nY+4 ) );
- pBox->DrawRect( Rectangle( nX+3, nY+3, nX+3, nY+3 ) );
- if ( bBlack )
- {
- pBox->SetFillColor( aOldFillColor );
- pBox->DrawRect( Rectangle( nX+1, nY+2, nX+1, nY+4 ) );
- pBox->DrawRect( Rectangle( nX+2, nY+3, nX+2, nY+3 ) );
- }
- break;
- case WINDOWALIGN_TOP:
- if ( bBlack )
- pBox->SetFillColor( Color( COL_BLACK ) );
- pBox->DrawRect( Rectangle( nX+0, nY+0, nX+6, nY+0 ) );
- pBox->DrawRect( Rectangle( nX+1, nY+1, nX+5, nY+1 ) );
- pBox->DrawRect( Rectangle( nX+2, nY+2, nX+4, nY+2 ) );
- pBox->DrawRect( Rectangle( nX+3, nY+3, nX+3, nY+3 ) );
- if ( bBlack )
- {
- pBox->SetFillColor( aOldFillColor );
- pBox->DrawRect( Rectangle( nX+2, nY+1, nX+4, nY+1 ) );
- pBox->DrawRect( Rectangle( nX+3, nY+2, nX+3, nY+2 ) );
- }
- break;
- case WINDOWALIGN_RIGHT:
- if ( bBlack )
- pBox->SetFillColor( Color( COL_BLACK ) );
- pBox->DrawRect( Rectangle( nX+3, nY+0, nX+3, nY+6 ) );
- pBox->DrawRect( Rectangle( nX+2, nY+1, nX+2, nY+5 ) );
- pBox->DrawRect( Rectangle( nX+1, nY+2, nX+1, nY+4 ) );
- pBox->DrawRect( Rectangle( nX+0, nY+3, nX+0, nY+3 ) );
- if ( bBlack )
- {
- pBox->SetFillColor( aOldFillColor );
- pBox->DrawRect( Rectangle( nX+2, nY+2, nX+2, nY+4 ) );
- pBox->DrawRect( Rectangle( nX+1, nY+3, nX+1, nY+3 ) );
- }
- break;
- case WINDOWALIGN_BOTTOM:
- if ( bBlack )
- pBox->SetFillColor( Color( COL_BLACK ) );
- pBox->DrawRect( Rectangle( nX+0, nY+3, nX+6, nY+3 ) );
- pBox->DrawRect( Rectangle( nX+1, nY+2, nX+5, nY+2 ) );
- pBox->DrawRect( Rectangle( nX+2, nY+1, nX+4, nY+1 ) );
- pBox->DrawRect( Rectangle( nX+3, nY+0, nX+3, nY+0 ) );
- if ( bBlack )
- {
- pBox->SetFillColor( aOldFillColor );
- pBox->DrawRect( Rectangle( nX+2, nY+2, nX+4, nY+2 ) );
- pBox->DrawRect( Rectangle( nX+3, nY+1, nX+3, nY+1 ) );
- }
- break;
- }
-}
-Down
- - Timer starten
-
-Click
- - Timer abbrechen
-
-Timer
- if ( ??? )
- {
- - SetPressed( TRUE );
- - EndSelection();
- - Menu anzeigen
- - SetPressed( FALSE );
- }
-
-
-*/
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/pagedlg/tptable.cxx b/sc/source/ui/pagedlg/tptable.cxx
index a85ef657a3e1..56a37f438717 100644
--- a/sc/source/ui/pagedlg/tptable.cxx
+++ b/sc/source/ui/pagedlg/tptable.cxx
@@ -126,10 +126,8 @@ ScTablePage::ScTablePage( Window* pParent, const SfxItemSet& rCoreAttrs ) :
aBtnTopDown ( this, ScResId( BTN_TOPDOWN ) ),
aBtnLeftRight ( this, ScResId( BTN_LEFTRIGHT ) ),
aBmpPageDir ( this, ScResId( BMP_PAGEDIR ) ),
- aImgLeftRight ( ScResId( IMG_LEFTRIGHT ) ),
- aImgTopDown ( ScResId( IMG_TOPDOWN ) ),
- aImgLeftRightHC ( ScResId( IMG_LEFTRIGHT_H ) ),
- aImgTopDownHC ( ScResId( IMG_TOPDOWN_H ) ),
+ aImgLeftRight ( ScResId( IMG_LEFTRIGHT ) ),
+ aImgTopDown ( ScResId( IMG_TOPDOWN ) ),
aBtnPageNo ( this, ScResId( BTN_PAGENO ) ),
aEdPageNo ( this, ScResId( ED_PAGENO ) ),
aFlPrint ( this, ScResId( FL_PRINT ) ),
@@ -169,11 +167,8 @@ ScTablePage::ScTablePage( Window* pParent, const SfxItemSet& rCoreAttrs ) :
void ScTablePage::ShowImage()
{
- bool bHC = GetSettings().GetStyleSettings().GetHighContrastMode();
bool bLeftRight = aBtnLeftRight.IsChecked();
- aBmpPageDir.SetImage( bHC ?
- (bLeftRight ? aImgLeftRightHC : aImgTopDownHC) :
- (bLeftRight ? aImgLeftRight : aImgTopDown) );
+ aBmpPageDir.SetImage( (bLeftRight ? aImgLeftRight : aImgTopDown) );
}
// -----------------------------------------------------------------------
diff --git a/sc/source/ui/src/attrdlg.src b/sc/source/ui/src/attrdlg.src
index ae130f7e8a96..bcdf62261fc2 100644
--- a/sc/source/ui/src/attrdlg.src
+++ b/sc/source/ui/src/attrdlg.src
@@ -162,42 +162,3 @@ TabPage RID_SCPAGE_PROTECTION
Text [ en-US ] = "Print" ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/autofmt.src b/sc/source/ui/src/autofmt.src
index cb56f6ac85a4..98261b94ef15 100644
--- a/sc/source/ui/src/autofmt.src
+++ b/sc/source/ui/src/autofmt.src
@@ -169,8 +169,6 @@ ModalDialog RID_SCDLG_AUTOFORMAT
String STR_ADD_TITLE
{
/* ### ACHTUNG: Neuer Text in Resource? AutoFormat hinzufgen : Autoformat hinzufgen */
- /* ### ACHTUNG: Neuer Text in Resource? AutoFormat hinzufgen : Autoformat hinzufgen */
- /* ### ACHTUNG: Neuer Text in Resource? AutoFormat hinzufgen : AutoFormat hinzufgen */
Text [ en-US ] = "Add AutoFormat" ;
};
@@ -229,43 +227,3 @@ ModalDialog RID_SCDLG_AUTOFORMAT
Text [ en-US ] = "Total" ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/condfrmt.src b/sc/source/ui/src/condfrmt.src
index 3018cc867e0d..cacfef8298e6 100644
--- a/sc/source/ui/src/condfrmt.src
+++ b/sc/source/ui/src/condfrmt.src
@@ -26,6 +26,7 @@
************************************************************************/
#include "condfrmt.hrc"
+
ModelessDialog RID_SCDLG_CONDFORMAT
{
OutputSize = TRUE ;
@@ -72,6 +73,8 @@ ModelessDialog RID_SCDLG_CONDFORMAT
< "not equal to" ; Default ; > ;
< "between" ; Default ; > ;
< "not between" ; Default ; > ;
+ < "duplicated values" ; Default ; > ;
+ < "non duplicated values" ; Default ; > ;
};
};
Edit EDT_COND1_1
@@ -174,6 +177,8 @@ ModelessDialog RID_SCDLG_CONDFORMAT
< "not equal to" ; Default ; > ;
< "between" ; Default ; > ;
< "not between" ; Default ; > ;
+ < "duplicated values" ; Default ; > ;
+ < "non duplicated values" ; Default ; > ;
};
};
Edit EDT_COND2_1
@@ -276,6 +281,8 @@ ModelessDialog RID_SCDLG_CONDFORMAT
< "not equal to" ; Default ; > ;
< "between" ; Default ; > ;
< "not between" ; Default ; > ;
+ < "duplicated values" ; Default ; > ;
+ < "non duplicated values" ; Default ; > ;
};
};
Edit EDT_COND3_1
@@ -357,42 +364,3 @@ ModelessDialog RID_SCDLG_CONDFORMAT
};
Text [ en-US ] = "Conditional Formatting" ;
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/crnrdlg.src b/sc/source/ui/src/crnrdlg.src
index b16a3506bf7b..f3560abede75 100644
--- a/sc/source/ui/src/crnrdlg.src
+++ b/sc/source/ui/src/crnrdlg.src
@@ -25,6 +25,7 @@
*
************************************************************************/
#include "crnrdlg.hrc"
+
ModelessDialog RID_SCDLG_COLROWNAMERANGES
{
OutputSize = TRUE ;
@@ -131,36 +132,3 @@ ModelessDialog RID_SCDLG_COLROWNAMERANGES
};
Text [ en-US ] = "Define Label Range" ;
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/dbnamdlg.src b/sc/source/ui/src/dbnamdlg.src
index 50152d95d9d5..c88491341310 100644
--- a/sc/source/ui/src/dbnamdlg.src
+++ b/sc/source/ui/src/dbnamdlg.src
@@ -175,24 +175,3 @@ ModelessDialog RID_SCDLG_DBNAMES
Text [ en-US ] = "Invalid range" ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/globstr.src b/sc/source/ui/src/globstr.src
index a3fd6d5b7116..9c5caaee81d1 100644
--- a/sc/source/ui/src/globstr.src
+++ b/sc/source/ui/src/globstr.src
@@ -27,8 +27,6 @@
#include "globstr.hrc"
#include "sc.hrc"
-
-
Resource RID_GLOBSTR
{
String STR_UNDO_INSERTCELLS
diff --git a/sc/source/ui/src/hdrcont.src b/sc/source/ui/src/hdrcont.src
index e4a82d38ec98..91d83fb3aa13 100644
--- a/sc/source/ui/src/hdrcont.src
+++ b/sc/source/ui/src/hdrcont.src
@@ -217,40 +217,3 @@ Menu RID_POPUP_COLHEADER
};
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/miscdlgs.src b/sc/source/ui/src/miscdlgs.src
index 6d4761c8589c..6da360c708dd 100644
--- a/sc/source/ui/src/miscdlgs.src
+++ b/sc/source/ui/src/miscdlgs.src
@@ -90,6 +90,7 @@ ModalDialog RID_SCDLG_DELCELL
Text [ en-US ] = "Selection" ;
};
};
+
ModalDialog RID_SCDLG_INSCELL
{
OutputSize = TRUE ;
@@ -432,73 +433,140 @@ ModalDialog RID_SCDLG_INSCONT
Size = MAP_APPFONT( 1 , 38 ) ;
};
};
+
ModalDialog RID_SCDLG_MOVETAB
{
OutputSize = TRUE ;
HelpId = FID_TAB_MOVE ;
SVLook = TRUE ;
- Size = MAP_APPFONT ( 168 , 130 ) ;
+ Size = MAP_APPFONT ( 158 , 236 ) ;
Text [ en-US ] = "Move/Copy Sheet" ;
Moveable = TRUE ;
Closeable = FALSE ;
OKButton BTN_OK
{
- Pos = MAP_APPFONT ( 112 , 6 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
+ Pos = MAP_APPFONT ( 66 , 216 ) ;
+ Size = MAP_APPFONT ( 42 , 14 ) ;
TabStop = TRUE ;
DefButton = TRUE ;
};
CancelButton BTN_CANCEL
{
- Pos = MAP_APPFONT ( 112 , 23 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
+ Pos = MAP_APPFONT ( 110 , 216 ) ;
+ Size = MAP_APPFONT ( 42 , 14 ) ;
TabStop = TRUE ;
};
HelpButton BTN_HELP
{
- Pos = MAP_APPFONT ( 112 , 43 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
+ Pos = MAP_APPFONT ( 6 , 216 ) ;
+ Size = MAP_APPFONT ( 42 , 14 ) ;
TabStop = TRUE ;
};
- FixedText FT_DEST
+ FixedLine FL_SEP1
+ {
+ Pos = MAP_APPFONT ( 0 , 208 ) ;
+ Size = MAP_APPFONT (168 , 4 ) ;
+ };
+ FixedLine FL_ACTION
{
Pos = MAP_APPFONT ( 6 , 6 ) ;
+ Size = MAP_APPFONT ( 146 , 8 ) ;
+ Text [ en-US ] = "Action" ;
+ };
+ RadioButton BTN_MOVE
+ {
+ Pos = MAP_APPFONT ( 12 , 17 ) ;
+ Size = MAP_APPFONT ( 114 , 10 ) ;
+ Text [ en-US ] = "~Move" ;
+ TabStop = TRUE ;
+ };
+ RadioButton BTN_COPY
+ {
+ Pos = MAP_APPFONT ( 12 , 30 ) ;
+ Size = MAP_APPFONT ( 114 , 10 ) ;
+ Text [ en-US ] = "~Copy" ;
+ TabStop = TRUE ;
+ };
+ FixedLine FL_LOCATION
+ {
+ Pos = MAP_APPFONT ( 6 , 43 ) ;
+ Size = MAP_APPFONT ( 146 , 8 ) ;
+ Text [ en-US ] = "Location" ;
+ };
+ FixedText FT_DEST
+ {
+ Pos = MAP_APPFONT ( 12 , 54 ) ;
Size = MAP_APPFONT ( 100 , 8 ) ;
Text [ en-US ] = "To ~document" ;
};
ListBox LB_DEST
{
Border = TRUE ;
- Pos = MAP_APPFONT ( 6 , 17 ) ;
- Size = MAP_APPFONT ( 100 , 60 ) ;
+ Pos = MAP_APPFONT ( 12 , 65 ) ;
+ Size = MAP_APPFONT ( 134 , 60 ) ;
TabStop = TRUE ;
DropDown = TRUE ;
};
FixedText FT_INSERT
{
- Pos = MAP_APPFONT ( 6 , 35 ) ;
+ Pos = MAP_APPFONT ( 12 , 83 ) ;
Size = MAP_APPFONT ( 100 , 8 ) ;
Text [ en-US ] = "~Insert before" ;
};
ListBox LB_INSERT
{
Border = TRUE ;
- Pos = MAP_APPFONT ( 6 , 46 ) ;
- Size = MAP_APPFONT ( 100 , 62 ) ;
+ Pos = MAP_APPFONT ( 12 , 93 ) ;
+ Size = MAP_APPFONT ( 134 , 62 ) ;
TabStop = TRUE ;
};
- CheckBox BTN_COPY
+ FixedLine FL_NAME
{
- Pos = MAP_APPFONT ( 6 , 114 ) ;
- Size = MAP_APPFONT ( 100 , 10 ) ;
- Text [ en-US ] = "~Copy" ;
+ Pos = MAP_APPFONT ( 6 , 162 ) ;
+ Size = MAP_APPFONT ( 146 , 8 ) ;
+ Text [ en-US ] = "Name" ;
+ };
+ FixedText FT_TABNAME
+ {
+ Pos = MAP_APPFONT ( 12 , 173 ) ;
+ Size = MAP_APPFONT ( 100 , 8 ) ;
+ Text [ en-US ] = "New ~name" ;
+ };
+ Edit ED_INPUT
+ {
+ Border = TRUE ;
+ Pos = MAP_APPFONT ( 12 , 183 ) ;
+ Size = MAP_APPFONT ( 134 , 12 ) ;
TabStop = TRUE ;
};
+ FixedText FT_TABNAME_WARN
+ {
+ Pos = MAP_APPFONT ( 12 , 197 ) ;
+ Size = MAP_APPFONT ( 134 , 8 ) ;
+ Text [ en-US ] = "..." ;
+ };
+ String STR_CURRENTDOC
+ {
+ Text [ en-US ] = "(current document)" ;
+ };
String STR_NEWDOC
{
Text [ en-US ] = "- new document -" ;
};
+ String STR_TABNAME_WARN_USED
+ {
+ Text [ en-US ] = "This name is already used." ;
+ };
+ String STR_TABNAME_WARN_EMPTY
+ {
+ Text [ en-US ] = "Name is empty." ;
+ };
+ String STR_TABNAME_WARN_INVALID
+ {
+ Text [ en-US ] = "Name contains one or more invalid characters." ;
+ };
};
+
ModalDialog RID_SCDLG_STRINPUT
{
OutputSize = TRUE ;
@@ -538,6 +606,7 @@ ModalDialog RID_SCDLG_STRINPUT
Size = MAP_APPFONT ( 110 , 8 ) ;
};
};
+
ModalDialog RID_SCDLG_TAB_BG_COLOR
{
OutputSize = TRUE ;
@@ -582,105 +651,6 @@ ModalDialog RID_SCDLG_TAB_BG_COLOR
DefButton = FALSE ;
};
};
-/*
-ModalDialog RID_SCDLG_TAB_BG_COLOR
-{
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Size = MAP_APPFONT ( 180 , 150 ) ;
- Moveable = TRUE ;
- Closeable = TRUE ;
- Control TAB_BG_COLOR_CT_BORDER
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 1 , 1 ) ; //12, 32
- Size = MAP_APPFONT ( 116+2 , 145+2 ) ;
- DialogControl = TRUE;
- };
- Control TAB_BG_COLOR_SET_BGDCOLOR
- {
- // * HelpId = HID_BACKGROUND_CTL_BGDCOLORSET ;
- Hide = FALSE ;
- Pos = MAP_APPFONT ( 0 , 0 ) ;
- Size = MAP_APPFONT ( 116 , 145 ) ;
- TabStop = TRUE ;
- };
- OKButton BTN_OK
- {
- Pos = MAP_APPFONT ( 125 , 50 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- DefButton = TRUE ;
- };
- CancelButton BTN_CANCEL
- {
- Pos = MAP_APPFONT ( 125 , 67 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- DefButton = FALSE ;
- };
- HelpButton BTN_HELP
- {
- Pos = MAP_APPFONT ( 125 , 84 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- DefButton = FALSE ;
- };
-};
-*/
-/*
-ModalDialog RID_SCDLG_MTRINPUT
-{
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Size = MAP_APPFONT ( 190 , 63 ) ;
- Moveable = TRUE ;
- Closeable = FALSE ;
- OKButton BTN_OK
- {
- Pos = MAP_APPFONT ( 136 , 6 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- DefButton = TRUE ;
- };
- CancelButton BTN_CANCEL
- {
- Pos = MAP_APPFONT ( 136 , 23 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- };
- HelpButton BTN_HELP
- {
- Pos = MAP_APPFONT ( 136 , 43 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- };
- FixedText FT_LABEL
- {
- Pos = MAP_APPFONT ( 6 , 8 ) ;
- Size = MAP_APPFONT ( 60 , 10 ) ;
- };
- MetricField ED_VALUE
- {
- // HelpID, weil die generierten aus den Ableitungen nicht in die hid.lst kommen
- HelpId = HID_SC_MTRIN_VAL ;
- Border = TRUE ;
- Pos = MAP_APPFONT ( 70 , 6 ) ;
- Size = MAP_APPFONT ( 60 , 12 ) ;
- TabStop = TRUE ;
- Repeat = TRUE ;
- Spin = TRUE ;
- };
- CheckBox BTN_DEFVAL
- {
- // HelpID, weil die generierten aus den Ableitungen nicht in die hid.lst kommen
- TabStop = TRUE ;
- Pos = MAP_APPFONT ( 70 , 24 ) ;
- Size = MAP_APPFONT ( 58 , 10 ) ;
- Text [ en-US ] = "~Default value" ;
- };
-};
-*/
ModalDialog RID_SCDLG_COL_MAN
{
@@ -1458,6 +1428,3 @@ ModalDialog RID_SCDLG_CHARTCOLROW
};
Text [ en-US ] = "Change Source Data Range" ;
};
-
-
-
diff --git a/sc/source/ui/src/opredlin.src b/sc/source/ui/src/opredlin.src
index a8c2daf4892a..86a5fc6498d4 100644
--- a/sc/source/ui/src/opredlin.src
+++ b/sc/source/ui/src/opredlin.src
@@ -97,40 +97,3 @@ TabPage RID_SCPAGE_OPREDLINE
Text [ en-US ] = "By author" ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/optdlg.src b/sc/source/ui/src/optdlg.src
index 39fae40428e3..dcdc1adaabdb 100644
--- a/sc/source/ui/src/optdlg.src
+++ b/sc/source/ui/src/optdlg.src
@@ -114,11 +114,6 @@ TabPage RID_SCPAGE_CALC
Size = MAP_APPFONT ( 121 , 8 ) ;
Text [ en-US ] = "Date" ;
};
- FixedLine FL_H_SEPARATOR
- {
- Pos = MAP_APPFONT ( 6 , 64 ) ;
- Size = MAP_APPFONT ( 248 , 8 ) ;
- };
CheckBox BTN_CASE
{
Pos = MAP_APPFONT ( 12 , 77 ) ;
diff --git a/sc/source/ui/src/optsolver.src b/sc/source/ui/src/optsolver.src
index 2fc5cf3a3c54..5ce6fa724475 100644
--- a/sc/source/ui/src/optsolver.src
+++ b/sc/source/ui/src/optsolver.src
@@ -402,8 +402,6 @@ ModelessDialog RID_SCDLG_OPTSOLVER
DefButton = TRUE ;
};
- // IMG_DEL_H not used - image is set dynamically
-
String STR_INVALIDINPUT
{
Text [ en-US ] = "Invalid input." ;
diff --git a/sc/source/ui/src/pseudo.src b/sc/source/ui/src/pseudo.src
index e3d27edf0ecb..73f78d1be0b8 100644
--- a/sc/source/ui/src/pseudo.src
+++ b/sc/source/ui/src/pseudo.src
@@ -25,38 +25,4 @@
*
************************************************************************/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#include <svx/svxids.hrc>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/sc.src b/sc/source/ui/src/sc.src
index dae422e15cd0..62da4f53488b 100644
--- a/sc/source/ui/src/sc.src
+++ b/sc/source/ui/src/sc.src
@@ -27,8 +27,6 @@
#include "sc.hrc" // -> #include <sfx.hrc>
-
-
// App-Titel------------------------------------------------------
String RID_APPTITLE
@@ -41,8 +39,6 @@ String RID_APPTITLE
// Icons & Bitmaps: ----------------------------------------------------------
-
-
// ???
String 30001 { Text = "Dummy1" ; };
String 30002 { Text = "Dummy2" ; };
diff --git a/sc/source/ui/src/scerrors.src b/sc/source/ui/src/scerrors.src
index bdb76b2b710c..2a2e2ad47169 100644
--- a/sc/source/ui/src/scerrors.src
+++ b/sc/source/ui/src/scerrors.src
@@ -132,7 +132,7 @@ Resource RID_ERRHDLSC
};
String SCWARN_IMPORT_SHEET_OVERFLOW & ERRCODE_RES_MASK
{
- Text [ en-US ] = "Some sheets could not be loaded because the maximum number of sheets was exceeded." ;
+ Text [ en-US ] = "Not all sheets have been loaded because the maximum number of sheets was exceeded.\n\nPlease be warned that re-saving this document will permanently delete those sheets that have not been loaded!" ;
};
String SCWARN_IMPORT_OPEN_FM3 & ERRCODE_RES_MASK
{
@@ -167,4 +167,3 @@ Resource RID_ERRHDLSC
Text [ en-US ] = "Format error discovered in the file in sub-document $(ARG1) at $(ARG2)(row,col).";
};
};
-
diff --git a/sc/source/ui/src/scstring.src b/sc/source/ui/src/scstring.src
index 9c47a42239cc..ac1458b66a61 100644
--- a/sc/source/ui/src/scstring.src
+++ b/sc/source/ui/src/scstring.src
@@ -24,6 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
+
#include "sc.hrc" // -> #include <sfx.hrc>
// Strings fuer Interface-Namen ------------------------------------------
@@ -32,38 +33,47 @@ String SCSTR_APPLICATION
{
Text [ en-US ] = "%PRODUCTNAME Calc 6.0";
};
+
String SCSTR_50_APPLICATION
{
Text [ en-US ] = "StarCalc 5.0" ;
};
+
String SCSTR_40_APPLICATION
{
Text [ en-US ] = "StarCalc 4.0" ;
};
+
String SCSTR_30_APPLICATION
{
Text [ en-US ] = "StarCalc 3.0" ;
};
+
String SCSTR_LONG_SCDOC_NAME
{
Text [ en-US ] = "%PRODUCTNAME %PRODUCTVERSION Spreadsheet";
};
+
String SCSTR_50_LONG_DOCNAME
{
Text [ en-US ] = "%PRODUCTNAME 5.0 Spreadsheet" ;
};
+
String SCSTR_40_LONG_DOCNAME
{
Text [ en-US ] = "%PRODUCTNAME 4.0 Spreadsheet" ;
};
+
String SCSTR_30_LONG_DOCNAME
{
Text [ en-US ] = "StarCalc 3.0 Spreadsheet" ;
};
+
String SCSTR_SHORT_SCDOC_NAME
{
Text [ en-US ] = "Spreadsheet" ;
};
+
String SCSTR_HUMAN_SCDOC_NAME
{
Text [ en-US ] = "Spreadsheet" ;
@@ -89,7 +99,6 @@ String SCSTR_FORMATSHELL
Text [ en-US ] = "Formats for Cells";
};
-
String SCSTR_DRAWSHELL
{
Text [ en-US ] = "Graphics objects" ;
@@ -119,6 +128,7 @@ String SCSTR_GRAPHICSHELL
{
Text [ en-US ] = "Graphics";
};
+
String SCSTR_PAGEBREAKSHELL
{
Text [ en-US ] = "Pagebreak";
@@ -150,148 +160,182 @@ String STR_ROWHEIGHT
{
Text [ en-US ] = "Height" ;
};
+
String STR_OPT_ROWHEIGHT
{
Text [ en-US ] = "Add" ;
};
+
String STR_ROWHEIGHT_TITLE
{
Text [ en-US ] = "Row Height" ;
};
+
String STR_OPT_ROWHEIGHT_TITLE
{
Text [ en-US ] = "Optimal Row Height" ;
};
+
String STR_COLWIDTH
{
Text [ en-US ] = "Width" ;
};
+
String STR_OPT_COLWIDTH
{
Text [ en-US ] = "Add" ;
};
+
String STR_COLWIDTH_TITLE
{
Text [ en-US ] = "Column Width" ;
};
+
String STR_OPT_COLWIDTH_TITLE
{
Text [ en-US ] = "Optimal Column Width" ;
};
+
String SCSTR_UNDEFINED
{
Text [ en-US ] = "- undefined -" ;
};
+
String SCSTR_NONE
{
Text [ en-US ] = "- none -" ;
};
+
String SCSTR_EMPTY
{
Text [ en-US ] = "- empty -" ;
};
+
String SCSTR_NOTEMPTY
{
Text [ en-US ] = "- not empty -" ;
};
+
String SCSTR_NEWTABLE
{
Text [ en-US ] = "- new sheet -" ;
};
+
String SCSTR_ALL
{
Text [ en-US ] = "- all -" ;
};
+
String SCSTR_STDFILTER
{
Text [ en-US ] = "Standard Filter..." ;
};
+
String SCSTR_TOP10FILTER
{
Text [ en-US ] = "Top 10" ;
};
+
String SCSTR_NONAME
{
Text [ en-US ] = "unnamed" ;
};
+
String SCSTR_COLUMN
{
Text [ en-US ] = "Column" ;
};
+
String SCSTR_ROW
{
Text [ en-US ] = "Row" ;
};
+
String SCSTR_NEW
{
Text [ en-US ] = "~New" ;
};
+
String SCSTR_ADD
{
Text [ en-US ] = "~Add" ;
};
+
String SCSTR_REMOVE
{
Text [ en-US ] = "~Delete" ;
};
+
String SCSTR_CANCEL
{
Text [ en-US ] = "Cance~l" ;
};
+
String SCSTR_MODIFY
{
Text [ en-US ] = "Modif~y" ;
};
-
String SCSTR_SHOWTABLE
{
Text [ en-US ] = "Show Sheet" ;
};
+
String SCSTR_HIDDENTABLES
{
Text [ en-US ] = "Hidden Sheets" ;
};
+
String SCSTR_SELECTDB
{
Text [ en-US ] = "Select Database Range" ;
};
+
String SCSTR_AREAS
{
Text [ en-US ] = "Ranges" ;
};
+
String SCSTR_TABLE
{
Text [ en-US ] = "Sheet" ;
};
+
String SCSTR_NAME
{
Text [ en-US ] = "Name" ;
};
+
String SCSTR_INSTABLE
{
Text [ en-US ] = "Insert Sheet" ;
};
+
String SCSTR_APDTABLE
{
Text [ en-US ] = "Append Sheet" ;
};
+
String SCSTR_RENAMETAB
{
Text [ en-US ] = "Rename Sheet" ;
};
+
String SCSTR_SET_TAB_BG_COLOR
{
Text [ en-US ] = "Tab Color" ;
};
+
String SCSTR_NO_TAB_BG_COLOR
{
Text [ en-US ] = "Default" ;
};
+
String SCSTR_RENAMEOBJECT
{
Text [ en-US ] = "Name Object";
};
+
String STR_INSERTGRAPHIC
{
Text [ en-US ] = "Insert Picture" ;
@@ -303,50 +347,62 @@ String SCSTR_HOR_JUSTIFY_LEFT
{
Text [ en-US ] = "Align left" ;
};
+
String SCSTR_HOR_JUSTIFY_CENTER
{
Text [ en-US ] = "Centered horizontally" ;
};
+
String SCSTR_HOR_JUSTIFY_RIGHT
{
Text [ en-US ] = "Align right" ;
};
+
String SCSTR_HOR_JUSTIFY_BLOCK
{
Text [ en-US ] = "Justify" ;
};
+
String SCSTR_HOR_JUSTIFY_REPEAT
{
Text [ en-US ] = "Repeat alignment" ;
};
+
String SCSTR_HOR_JUSTIFY_STANDARD
{
Text [ en-US ] = "Horizontal alignment default" ;
};
+
String SCSTR_VER_JUSTIFY_TOP
{
Text [ en-US ] = "Align to top" ;
};
+
String SCSTR_VER_JUSTIFY_CENTER
{
Text [ en-US ] = "Centered vertically" ;
};
+
String SCSTR_VER_JUSTIFY_BOTTOM
{
Text [ en-US ] = "Align to bottom" ;
};
+
String SCSTR_VER_JUSTIFY_STANDARD
{
Text [ en-US ] = "Vertical alignment default" ;
};
+
String SCSTR_ORIENTATION_TOPBOTTOM
{
Text [ en-US ] = "Top to bottom" ;
};
+
String SCSTR_ORIENTATION_BOTTOMTOP
{
Text [ en-US ] = "Bottom to Top" ;
};
+
String SCSTR_ORIENTATION_STANDARD
{
Text [ en-US ] = "Default orientation" ;
@@ -356,30 +412,37 @@ String SCSTR_PROTECTDOC
{
Text [ en-US ] = "Protect Document" ;
};
+
String SCSTR_UNPROTECTDOC
{
Text [ en-US ] = "Unprotect document" ;
};
+
String SCSTR_PROTECTTAB
{
Text [ en-US ] = "Protect Sheet" ;
};
+
String SCSTR_UNPROTECTTAB
{
Text [ en-US ] = "Unprotect sheet" ;
};
+
String SCSTR_CHG_PROTECT
{
Text [ en-US ] = "Protect Records" ;
};
+
String SCSTR_CHG_UNPROTECT
{
Text [ en-US ] = "Unprotect Records" ;
};
+
String SCSTR_PASSWORD
{
Text [ en-US ] = "Password:" ;
};
+
String SCSTR_PASSWORDOPT
{
Text [ en-US ] = "Password (optional):" ;
@@ -455,18 +518,22 @@ String SCSTR_VALID_MINIMUM
{
Text [ en-US ] = "~Minimum" ;
};
+
String SCSTR_VALID_MAXIMUM
{
Text [ en-US ] = "~Maximum" ;
};
+
String SCSTR_VALID_VALUE
{
Text [ en-US ] = "~Value" ;
};
+
String SCSTR_VALID_RANGE
{
Text [ en-US ] = "~Source" ;
};
+
String SCSTR_VALID_LIST
{
Text [ en-US ] = "~Entries" ;
@@ -505,26 +572,32 @@ String SCSTR_GRFILTER_OPENERROR
{
Text [ en-US ] = "Graphics file can not be opened" ;
};
+
String SCSTR_GRFILTER_IOERROR
{
Text [ en-US ] = "Graphics file can not be read" ;
};
+
String SCSTR_GRFILTER_FORMATERROR
{
Text [ en-US ] = "Unknown graphic format" ;
};
+
String SCSTR_GRFILTER_VERSIONERROR
{
Text [ en-US ] = "This graphic file version is not supported" ;
};
+
String SCSTR_GRFILTER_FILTERERROR
{
Text [ en-US ] = "Graphics filter not found" ;
};
+
String SCSTR_GRFILTER_TOOBIG
{
Text [ en-US ] = "Not enough memory available to insert graphics." ;
};
+
String SCSTR_UNDO_GRAFFILTER
{
Text [ en-US ] = "Graphics Filter" ;
@@ -723,6 +796,11 @@ String STR_ACC_DATAPILOT_SEL_DESCR
Text [ en-US ] = "Lists the fields that you can drag to one of the other three areas.";
};
+String STR_ACC_DATAPILOT_PAGE_DESCR
+{
+ Text [ en-US ] = "Fields that you drop here will be available as filter lists at the top of the final DataPilot table.";
+};
+
String SCSTR_MEDIASHELL
{
Text [ en-US ] = "Media Playback";
@@ -769,3 +847,7 @@ StringArray SCSTR_PRINT_OPTIONS
};
};
+String SCSTR_WARN_ME_IN_FUTURE_CHECK
+{
+ Text [ en-US ] = "Warn me about this in the future.";
+};
diff --git a/sc/source/ui/src/scwarngs.src b/sc/source/ui/src/scwarngs.src
index 9cd22567d77c..15792a596e46 100644
--- a/sc/source/ui/src/scwarngs.src
+++ b/sc/source/ui/src/scwarngs.src
@@ -28,8 +28,6 @@
#include "scwarngs.hxx"
#include "sc.hrc"
-
-
#define SH_MAX 0x7fff
Resource RID_WRNHDLSC
@@ -43,41 +41,4 @@ Resource RID_WRNHDLSC
/* ### ACHTUNG: Neuer Text in Resource? Die Maximalanzahl von Zeilen wurde berschritten. berzhlige Zeilen wurden nicht mitimportiert! : Die Maximalanzahl von Zeilen wurde berschritten. berzhlige Zeilen wurden nicht mitimportiert! */
Text [ en-US ] = "The number of rows exceeded the maximum. Additional rows were not imported!" ;
};
- /*
- String ERRCODE_SC_ & SH_MAX
- {
- Text = "";
- };
-*/
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/simpref.src b/sc/source/ui/src/simpref.src
index 03f41c1a56aa..2c8dfd665fcb 100644
--- a/sc/source/ui/src/simpref.src
+++ b/sc/source/ui/src/simpref.src
@@ -26,16 +26,15 @@
************************************************************************/
#include "simpref.hrc"
+
ModelessDialog RID_SCDLG_SIMPLEREF
{
OutputSize = TRUE ;
- //HelpId = SID_DEFINE_DBNAME ;
Hide = TRUE ;
SVLook = TRUE ;
Size = MAP_APPFONT ( 222 , 60 ) ;
Text = "Bereich festlegen" ;
Moveable = TRUE ;
- // Closeable = TRUE; // Dieser Dialog hat einen Cancel-Button !
FixedText FT_ASSIGN
{
Pos = MAP_APPFONT ( 6 , 6 ) ;
@@ -76,30 +75,3 @@ ModelessDialog RID_SCDLG_SIMPLEREF
TabStop = TRUE ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/solveroptions.src b/sc/source/ui/src/solveroptions.src
index 0a3432344f35..87c75277f413 100644
--- a/sc/source/ui/src/solveroptions.src
+++ b/sc/source/ui/src/solveroptions.src
@@ -95,7 +95,6 @@ ModalDialog RID_SCDLG_SOLVEROPTIONS
Text [ en-US ] = "Options" ;
};
-
ModalDialog RID_SCDLG_SOLVER_INTEGER
{
OutputSize = TRUE ;
@@ -186,4 +185,3 @@ ModalDialog RID_SCDLG_SOLVER_DOUBLE
};
Text [ en-US ] = "Edit Setting" ;
};
-
diff --git a/sc/source/ui/src/solvrdlg.src b/sc/source/ui/src/solvrdlg.src
index 6a8a3d955644..2dc1a8ef01c1 100644
--- a/sc/source/ui/src/solvrdlg.src
+++ b/sc/source/ui/src/solvrdlg.src
@@ -26,6 +26,7 @@
************************************************************************/
#include "solvrdlg.hrc"
+
ModelessDialog RID_SCDLG_SOLVER
{
OutputSize = TRUE ;
diff --git a/sc/source/ui/src/sortdlg.src b/sc/source/ui/src/sortdlg.src
index 1062eb58e1dc..3eb7e43585d0 100644
--- a/sc/source/ui/src/sortdlg.src
+++ b/sc/source/ui/src/sortdlg.src
@@ -25,6 +25,7 @@
*
************************************************************************/
#include "sortdlg.hrc"
+
TabPage RID_SCPAGE_SORT_FIELDS
{
Hide = TRUE ;
@@ -116,6 +117,7 @@ TabPage RID_SCPAGE_SORT_FIELDS
Text [ en-US ] = "T~hen by" ;
};
};
+
TabPage RID_SCPAGE_SORT_OPTIONS
{
Hide = TRUE ;
@@ -158,7 +160,7 @@ TabPage RID_SCPAGE_SORT_OPTIONS
Text [ de ] = "Enable ~natural sort" ;
Text [ en-US ] = "Enable ~natural sort" ;
Text [ cs ] = "Aktivovat přirozené třídění" ;
- Text [ sk ] = "Aktivovať prirodzené triedenie" ;
+ Text [ sk ] = "Aktivovať prirodzené triedenie" ;
TabStop = TRUE ;
Text [ x-comment ] = " " ;
};
@@ -250,15 +252,8 @@ TabPage RID_SCPAGE_SORT_OPTIONS
Text [ en-US ] = "L~eft to right (sort columns)" ;
TabStop = TRUE ;
};
-/*
- FixedText FT_AREA_LABEL
- {
- Pos = MAP_APPFONT ( 6 , 171 ) ;
- Size = MAP_APPFONT ( 248 , 8 ) ;
- Text [ en-US ] = "Data area:" ;
- };
-*/
};
+
TabDialog RID_SCDLG_SORT
{
OutputSize = TRUE ;
diff --git a/sc/source/ui/src/subtdlg.src b/sc/source/ui/src/subtdlg.src
index c0bcfba1b07b..1fe9bb0d777a 100644
--- a/sc/source/ui/src/subtdlg.src
+++ b/sc/source/ui/src/subtdlg.src
@@ -181,10 +181,12 @@ TabPage RID_SCPAGE_SUBT_GROUP1 < RID_SUBTBASE
{
HelpId = HID_SCPAGE_SUBT_GROUP1 ;
};
+
TabPage RID_SCPAGE_SUBT_GROUP2 < RID_SUBTBASE
{
HelpId = HID_SCPAGE_SUBT_GROUP2 ;
};
+
TabPage RID_SCPAGE_SUBT_GROUP3 < RID_SUBTBASE
{
HelpId = HID_SCPAGE_SUBT_GROUP3 ;
@@ -237,55 +239,3 @@ TabDialog RID_SCDLG_SUBTOTALS
TabStop = TRUE ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/tabopdlg.src b/sc/source/ui/src/tabopdlg.src
index 25af654f4147..e4f99ab59596 100644
--- a/sc/source/ui/src/tabopdlg.src
+++ b/sc/source/ui/src/tabopdlg.src
@@ -26,6 +26,7 @@
************************************************************************/
#include "tabopdlg.hrc"
+
ModelessDialog RID_SCDLG_TABOP
{
OutputSize = TRUE ;
diff --git a/sc/source/ui/src/textdlgs.src b/sc/source/ui/src/textdlgs.src
index 2b0e408262ba..6b2321ad2017 100644
--- a/sc/source/ui/src/textdlgs.src
+++ b/sc/source/ui/src/textdlgs.src
@@ -25,8 +25,6 @@
*
************************************************************************/
-
-
#include <svx/dialogs.hrc>
#include "sc.hrc"
@@ -112,13 +110,6 @@ TabDialog RID_SCDLG_PARAGRAPH
Text [ en-US ] = "Indents & Spacing" ;
PageResID = RID_SVXPAGE_STD_PARAGRAPH ;
};
- /*
- PageItem {
- Identifier = RID_SVXPAGE_EXT_PARAGRAPH;
- Text [ en-US ] = "Paragraph (Extensions)";
- PageResID = RID_SVXPAGE_EXT_PARAGRAPH;
- };
-*/
PageItem
{
Identifier = RID_SVXPAGE_ALIGN_PARAGRAPH ;
@@ -165,33 +156,3 @@ TabDialog RID_SCDLG_PARAGRAPH
TabStop = TRUE ;
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/src/toolbox.src b/sc/source/ui/src/toolbox.src
index 6e4b89e5faa0..2834917c4317 100644
--- a/sc/source/ui/src/toolbox.src
+++ b/sc/source/ui/src/toolbox.src
@@ -260,11 +260,11 @@ FloatingWindow RID_TBXCTL_INSOBJ
#define DEFAULT_IDLIST \
IdList = { \
/* Eingabezeile */ \
- SID_INPUT_FUNCTION; /* 20047 */ \
- SID_INPUT_SUM; /* 20048 */ \
- SID_INPUT_EQUAL; /* 20049 */ \
- SID_INPUT_CANCEL; \
- SID_INPUT_OK; \
+ SID_INPUT_FUNCTION; /* 26047 */ \
+ SID_INPUT_SUM; /* 26048 */ \
+ SID_INPUT_EQUAL; /* 26049 */ \
+ SID_INPUT_CANCEL; /* 26050 */ \
+ SID_INPUT_OK; /* 26051 */ \
}; \
IdCount = { \
5; \
@@ -283,17 +283,3 @@ ImageList RID_DEFAULTIMAGELIST_LC
MaskColor = STD_MASKCOLOR ;
DEFAULT_IDLIST
};
-
-ImageList RID_DEFAULTIMAGELIST_SCH
-{
- Prefix = "sch";
- MaskColor = SC_HC_MASKCOLOR ;
- DEFAULT_IDLIST
-};
-
-ImageList RID_DEFAULTIMAGELIST_LCH
-{
- Prefix = "lch";
- MaskColor = SC_HC_MASKCOLOR ;
- DEFAULT_IDLIST
-};
diff --git a/sc/source/ui/styleui/makefile.mk b/sc/source/ui/styleui/makefile.mk
index ccbd2e14f34c..16cdb2e7b791 100644
--- a/sc/source/ui/styleui/makefile.mk
+++ b/sc/source/ui/styleui/makefile.mk
@@ -41,6 +41,9 @@ CXXFILES = \
styledlg.cxx
SLOFILES = \
+ $(EXCEPTIONSFILES)
+
+EXCEPTIONSFILES = \
$(SLO)$/styledlg.obj \
SRS1NAME=$(TARGET)
diff --git a/sc/source/ui/styleui/scstyles.src b/sc/source/ui/styleui/scstyles.src
index 1968b6dca877..b70db0e615e2 100644
--- a/sc/source/ui/styleui/scstyles.src
+++ b/sc/source/ui/styleui/scstyles.src
@@ -27,6 +27,7 @@
#include "sc.hrc"
#include <svl/style.hrc>
+
#define IMPL_FAMILY(family,filter) \
StyleFamily = family; \
FilterList = { filter }
@@ -43,14 +44,15 @@ SfxStyleFamilies DLG_STYLE_DESIGNER
< STR_STYLE_FILTER_USED ; SFXSTYLEBIT_USED ; > ;
< STR_STYLE_FILTER_USERDEF ; SFXSTYLEBIT_USERDEF ; > ; ) ;
Text [ en-US ] = "Cell Styles" ;
-};
+ };
+
SfxStyleFamilyItem
{
IMPL_FAMILY ( SFX_STYLE_FAMILY_PAGE ,
< STR_STYLE_FILTER_ALL ; SFXSTYLEBIT_ALL ; > ;
< STR_STYLE_FILTER_USERDEF ; SFXSTYLEBIT_USERDEF ; > ; ) ;
Text [ en-US ] = "Page Styles" ;
-};
+ };
};
// style family images are now taken from an ImageList
@@ -60,11 +62,5 @@ SfxStyleFamilies DLG_STYLE_DESIGNER
Prefix = "sf";
MaskColor = STD_MASKCOLOR ;
IdList = { 1; 2; };
-};
- ImageList 2 // == BMP_COLOR_HIGHCONTRAST + 1
- {
- Prefix = "sfh";
- MaskColor = SC_HC_MASKCOLOR ;
- IdList = { 1; 2; };
-};
+ };
};
diff --git a/sc/source/ui/styleui/styledlg.cxx b/sc/source/ui/styleui/styledlg.cxx
index bc2d2f2dfdf0..fa3dc6485ec7 100644
--- a/sc/source/ui/styleui/styledlg.cxx
+++ b/sc/source/ui/styleui/styledlg.cxx
@@ -131,13 +131,13 @@ ScStyleDlg::ScStyleDlg( Window* pParent,
// -----------------------------------------------------------------------
-__EXPORT ScStyleDlg::~ScStyleDlg()
+ScStyleDlg::~ScStyleDlg()
{
}
// -----------------------------------------------------------------------
-void __EXPORT ScStyleDlg::PageCreated( USHORT nPageId, SfxTabPage& rTabPage )
+void ScStyleDlg::PageCreated( USHORT nPageId, SfxTabPage& rTabPage )
{
if ( nDlgRsc == RID_SCDLG_STYLES_PAR )
{
@@ -206,7 +206,7 @@ void __EXPORT ScStyleDlg::PageCreated( USHORT nPageId, SfxTabPage& rTabPage )
// -----------------------------------------------------------------------
-const SfxItemSet* __EXPORT ScStyleDlg::GetRefreshedSet()
+const SfxItemSet* ScStyleDlg::GetRefreshedSet()
{
SfxItemSet* pItemSet = GetInputSetImpl();
pItemSet->ClearItem();
diff --git a/sc/source/ui/styleui/styledlg.src b/sc/source/ui/styleui/styledlg.src
index 4c862e21ebd0..5fac741b05cb 100644
--- a/sc/source/ui/styleui/styledlg.src
+++ b/sc/source/ui/styleui/styledlg.src
@@ -27,6 +27,7 @@
#include "sc.hrc"
#include "styledlg.hrc" // -> TP_xxx
+
TabDialog RID_SCDLG_STYLES_PAR
{
OutputSize = TRUE ;
@@ -86,6 +87,7 @@ TabDialog RID_SCDLG_STYLES_PAR
};
};
};
+
TabDialog RID_SCDLG_STYLES_PAGE
{
OutputSize = TRUE ;
@@ -134,39 +136,3 @@ TabDialog RID_SCDLG_STYLES_PAGE
};
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sc/source/ui/undo/areasave.cxx b/sc/source/ui/undo/areasave.cxx
index 9f2b4eb7f03c..56eb56508336 100644
--- a/sc/source/ui/undo/areasave.cxx
+++ b/sc/source/ui/undo/areasave.cxx
@@ -201,7 +201,6 @@ void ScAreaLinkSaveCollection::Restore( ScDocument* pDoc ) const
}
}
-// static
ScAreaLinkSaveCollection* ScAreaLinkSaveCollection::CreateFromDoc( const ScDocument* pDoc )
{
ScAreaLinkSaveCollection* pColl = NULL;
diff --git a/sc/source/ui/undo/makefile.mk b/sc/source/ui/undo/makefile.mk
index 2b8dd60df32d..12c94fd32cc9 100644
--- a/sc/source/ui/undo/makefile.mk
+++ b/sc/source/ui/undo/makefile.mk
@@ -56,26 +56,23 @@ CXXFILES = \
SLOFILES = \
- $(SLO)$/target.obj \
- $(SLO)$/refundo.obj \
+ $(EXCEPTIONSFILES) \
+ $(SLO)$/target.obj
+
+EXCEPTIONSFILES= \
$(SLO)$/areasave.obj \
+ $(SLO)$/refundo.obj \
$(SLO)$/undobase.obj \
- $(SLO)$/undoutil.obj \
- $(SLO)$/undocell.obj \
- $(SLO)$/undostyl.obj \
- $(SLO)$/undoolk.obj \
$(SLO)$/undoblk.obj \
$(SLO)$/undoblk2.obj \
$(SLO)$/undoblk3.obj \
+ $(SLO)$/undocell.obj \
$(SLO)$/undodat.obj \
$(SLO)$/undodraw.obj \
- $(SLO)$/undotab.obj
-
-EXCEPTIONSFILES= \
- $(SLO)$/undoblk3.obj \
- $(SLO)$/undocell.obj \
- $(SLO)$/undostyl.obj \
- $(SLO)$/undotab.obj
+ $(SLO)$/undoolk.obj \
+ $(SLO)$/undostyl.obj \
+ $(SLO)$/undotab.obj \
+ $(SLO)$/undoutil.obj
# --- Tagets -------------------------------------------------------
diff --git a/sc/source/ui/undo/target.cxx b/sc/source/ui/undo/target.cxx
index 492c18bebc9a..d652e3f8931a 100644
--- a/sc/source/ui/undo/target.cxx
+++ b/sc/source/ui/undo/target.cxx
@@ -41,7 +41,7 @@
TYPEINIT1(ScTabViewTarget, SfxRepeatTarget);
-__EXPORT ScTabViewTarget::~ScTabViewTarget()
+ScTabViewTarget::~ScTabViewTarget()
{
}
diff --git a/sc/source/ui/undo/undobase.cxx b/sc/source/ui/undo/undobase.cxx
index e1d7c65c5072..240dba0a5c7d 100644
--- a/sc/source/ui/undo/undobase.cxx
+++ b/sc/source/ui/undo/undobase.cxx
@@ -62,12 +62,12 @@ ScSimpleUndo::ScSimpleUndo( ScDocShell* pDocSh ) :
{
}
-__EXPORT ScSimpleUndo::~ScSimpleUndo()
+ScSimpleUndo::~ScSimpleUndo()
{
delete pDetectiveUndo;
}
-BOOL __EXPORT ScSimpleUndo::Merge( SfxUndoAction *pNextAction )
+BOOL ScSimpleUndo::Merge( SfxUndoAction *pNextAction )
{
// Zu jeder Undo-Action kann eine SdrUndoGroup fuer das Aktualisieren
// der Detektiv-Pfeile gehoeren.
@@ -145,14 +145,14 @@ void ScSimpleUndo::EndRedo()
pDocShell->SetInUndo( FALSE );
}
-void ScSimpleUndo::ShowTable( SCTAB nTab ) // static
+void ScSimpleUndo::ShowTable( SCTAB nTab )
{
ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell();
if (pViewShell)
pViewShell->SetTabNo( nTab );
}
-void ScSimpleUndo::ShowTable( const ScRange& rRange ) // static
+void ScSimpleUndo::ShowTable( const ScRange& rRange )
{
ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell();
if (pViewShell)
@@ -177,7 +177,7 @@ ScBlockUndo::ScBlockUndo( ScDocShell* pDocSh, const ScRange& rRange,
pDrawUndo = GetSdrUndoAction( pDocShell->GetDocument() );
}
-__EXPORT ScBlockUndo::~ScBlockUndo()
+ScBlockUndo::~ScBlockUndo()
{
DeleteSdrUndoAction( pDrawUndo );
}
@@ -200,13 +200,6 @@ void ScBlockUndo::EndUndo()
ScSimpleUndo::EndUndo();
}
-/*
-void ScBlockUndo::BeginRedo()
-{
- ScSimpleUndo::BeginRedo();
-}
-*/
-
void ScBlockUndo::EndRedo()
{
if (eMode == SC_UNDO_AUTOHEIGHT)
@@ -286,7 +279,7 @@ ScMoveUndo::ScMoveUndo( ScDocShell* pDocSh, ScDocument* pRefDoc, ScRefUndoData*
pDrawUndo = GetSdrUndoAction( pDoc );
}
-__EXPORT ScMoveUndo::~ScMoveUndo()
+ScMoveUndo::~ScMoveUndo()
{
delete pRefUndoData;
delete pRefUndoDoc;
@@ -317,7 +310,6 @@ void ScMoveUndo::BeginUndo()
void ScMoveUndo::EndUndo()
{
- //@17.12.97 Reihenfolge der Fkt.s geaendert
DoSdrUndoAction( pDrawUndo, pDocShell->GetDocument() ); // #125875# must also be called when pointer is null
if (pRefUndoDoc && eMode == SC_UNDO_REFLAST)
@@ -328,20 +320,6 @@ void ScMoveUndo::EndUndo()
ScSimpleUndo::EndUndo();
}
-/*
-void ScMoveUndo::BeginRedo()
-{
- ScSimpleUndo::BeginRedo();
-}
-*/
-
-/*
-void ScMoveUndo::EndRedo()
-{
- ScSimpleUndo::EndRedo();
-}
-*/
-
// -----------------------------------------------------------------------
ScDBFuncUndo::ScDBFuncUndo( ScDocShell* pDocSh, const ScRange& rOriginal, SdrUndoAction* pDrawUndo ) :
diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx
index eda49aa114c5..e9fa40f40ae6 100644
--- a/sc/source/ui/undo/undoblk.cxx
+++ b/sc/source/ui/undo/undoblk.cxx
@@ -131,14 +131,14 @@ ScUndoInsertCells::ScUndoInsertCells( ScDocShell* pNewDocShell,
SetChangeTrack();
}
-__EXPORT ScUndoInsertCells::~ScUndoInsertCells()
+ScUndoInsertCells::~ScUndoInsertCells()
{
delete pPasteUndo;
delete []pTabs;
delete []pScenarios;
}
-String __EXPORT ScUndoInsertCells::GetComment() const
+String ScUndoInsertCells::GetComment() const
{
return ScGlobal::GetRscString( pPasteUndo ? STR_UNDO_PASTE : STR_UNDO_INSERTCELLS );
}
@@ -294,7 +294,7 @@ void ScUndoInsertCells::DoChange( const BOOL bUndo )
pViewShell->CellContentChanged();
}
-void __EXPORT ScUndoInsertCells::Undo()
+void ScUndoInsertCells::Undo()
{
if ( pPasteUndo )
pPasteUndo->Undo(); // undo paste first
@@ -305,7 +305,7 @@ void __EXPORT ScUndoInsertCells::Undo()
EndUndo();
}
-void __EXPORT ScUndoInsertCells::Redo()
+void ScUndoInsertCells::Redo()
{
WaitObject aWait( pDocShell->GetActiveDialogParent() ); // wichtig wegen TrackFormulas bei UpdateReference
BeginRedo();
@@ -316,7 +316,7 @@ void __EXPORT ScUndoInsertCells::Redo()
pPasteUndo->Redo(); // redo paste last
}
-void __EXPORT ScUndoInsertCells::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoInsertCells::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -332,7 +332,7 @@ void __EXPORT ScUndoInsertCells::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoInsertCells::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoInsertCells::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -370,13 +370,13 @@ ScUndoDeleteCells::ScUndoDeleteCells( ScDocShell* pNewDocShell,
SetChangeTrack();
}
-__EXPORT ScUndoDeleteCells::~ScUndoDeleteCells()
+ScUndoDeleteCells::~ScUndoDeleteCells()
{
delete []pTabs;
delete []pScenarios;
}
-String __EXPORT ScUndoDeleteCells::GetComment() const
+String ScUndoDeleteCells::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_DELETECELLS ); // "Loeschen"
}
@@ -529,7 +529,7 @@ void ScUndoDeleteCells::DoChange( const BOOL bUndo )
// CellContentChanged kommt mit der Markierung
}
-void __EXPORT ScUndoDeleteCells::Undo()
+void ScUndoDeleteCells::Undo()
{
WaitObject aWait( pDocShell->GetActiveDialogParent() ); // wichtig wegen TrackFormulas bei UpdateReference
BeginUndo();
@@ -548,7 +548,7 @@ void __EXPORT ScUndoDeleteCells::Undo()
}
}
-void __EXPORT ScUndoDeleteCells::Redo()
+void ScUndoDeleteCells::Redo()
{
WaitObject aWait( pDocShell->GetActiveDialogParent() ); // wichtig wegen TrackFormulas bei UpdateReference
BeginRedo();
@@ -561,13 +561,13 @@ void __EXPORT ScUndoDeleteCells::Redo()
pViewShell->DoneBlockMode(); // aktuelle weg
}
-void __EXPORT ScUndoDeleteCells::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoDeleteCells::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->DeleteCells( eCmd, TRUE );
}
-BOOL __EXPORT ScUndoDeleteCells::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoDeleteCells::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -593,12 +593,12 @@ ScUndoDeleteMulti::ScUndoDeleteMulti( ScDocShell* pNewDocShell,
SetChangeTrack();
}
-__EXPORT ScUndoDeleteMulti::~ScUndoDeleteMulti()
+ScUndoDeleteMulti::~ScUndoDeleteMulti()
{
delete [] pRanges;
}
-String __EXPORT ScUndoDeleteMulti::GetComment() const
+String ScUndoDeleteMulti::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_DELETECELLS ); // wie DeleteCells
}
@@ -675,7 +675,7 @@ void ScUndoDeleteMulti::SetChangeTrack()
nStartChangeAction = nEndChangeAction = 0;
}
-void __EXPORT ScUndoDeleteMulti::Undo()
+void ScUndoDeleteMulti::Undo()
{
WaitObject aWait( pDocShell->GetActiveDialogParent() ); // wichtig wegen TrackFormulas bei UpdateReference
BeginUndo();
@@ -721,7 +721,7 @@ void __EXPORT ScUndoDeleteMulti::Undo()
SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_AREALINKS_CHANGED ) );
}
-void __EXPORT ScUndoDeleteMulti::Redo()
+void ScUndoDeleteMulti::Redo()
{
WaitObject aWait( pDocShell->GetActiveDialogParent() ); // wichtig wegen TrackFormulas bei UpdateReference
BeginRedo();
@@ -753,14 +753,14 @@ void __EXPORT ScUndoDeleteMulti::Redo()
SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_AREALINKS_CHANGED ) );
}
-void __EXPORT ScUndoDeleteMulti::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoDeleteMulti::Repeat(SfxRepeatTarget& rTarget)
{
// DeleteCells, falls einfache Selektion
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->DeleteCells( DEL_DELROWS, TRUE );
}
-BOOL __EXPORT ScUndoDeleteMulti::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoDeleteMulti::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -782,12 +782,12 @@ ScUndoCut::ScUndoCut( ScDocShell* pNewDocShell,
SetChangeTrack();
}
-__EXPORT ScUndoCut::~ScUndoCut()
+ScUndoCut::~ScUndoCut()
{
delete pUndoDoc;
}
-String __EXPORT ScUndoCut::GetComment() const
+String ScUndoCut::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_CUT ); // "Ausschneiden"
}
@@ -842,14 +842,14 @@ void ScUndoCut::DoChange( const BOOL bUndo )
pViewShell->CellContentChanged();
}
-void __EXPORT ScUndoCut::Undo()
+void ScUndoCut::Undo()
{
BeginUndo();
DoChange( TRUE );
EndUndo();
}
-void __EXPORT ScUndoCut::Redo()
+void ScUndoCut::Redo()
{
BeginRedo();
ScDocument* pDoc = pDocShell->GetDocument();
@@ -859,13 +859,13 @@ void __EXPORT ScUndoCut::Redo()
EndRedo();
}
-void __EXPORT ScUndoCut::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoCut::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->CutToClip( NULL, TRUE );
}
-BOOL __EXPORT ScUndoCut::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoCut::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -910,7 +910,7 @@ ScUndoPaste::ScUndoPaste( ScDocShell* pNewDocShell,
SetChangeTrack();
}
-__EXPORT ScUndoPaste::~ScUndoPaste()
+ScUndoPaste::~ScUndoPaste()
{
delete pUndoDoc;
delete pRedoDoc;
@@ -918,7 +918,7 @@ __EXPORT ScUndoPaste::~ScUndoPaste()
delete pRefRedoData;
}
-String __EXPORT ScUndoPaste::GetComment() const
+String ScUndoPaste::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_PASTE ); // "Einfuegen"
}
@@ -1086,7 +1086,7 @@ void ScUndoPaste::DoChange( const BOOL bUndo )
pViewShell->CellContentChanged();
}
-void __EXPORT ScUndoPaste::Undo()
+void ScUndoPaste::Undo()
{
BeginUndo();
DoChange( TRUE );
@@ -1095,7 +1095,7 @@ void __EXPORT ScUndoPaste::Undo()
SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_AREALINKS_CHANGED ) );
}
-void __EXPORT ScUndoPaste::Redo()
+void ScUndoPaste::Redo()
{
BeginRedo();
ScDocument* pDoc = pDocShell->GetDocument();
@@ -1106,7 +1106,7 @@ void __EXPORT ScUndoPaste::Redo()
SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_AREALINKS_CHANGED ) );
}
-void __EXPORT ScUndoPaste::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoPaste::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -1124,7 +1124,7 @@ void __EXPORT ScUndoPaste::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoPaste::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoPaste::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -1166,11 +1166,11 @@ ScUndoDragDrop::ScUndoDragDrop( ScDocShell* pNewDocShell,
SetChangeTrack();
}
-__EXPORT ScUndoDragDrop::~ScUndoDragDrop()
+ScUndoDragDrop::~ScUndoDragDrop()
{
}
-String __EXPORT ScUndoDragDrop::GetComment() const
+String ScUndoDragDrop::GetComment() const
{ // "Verschieben" : "Kopieren"
return bCut ?
ScGlobal::GetRscString( STR_UNDO_MOVE ) :
@@ -1276,7 +1276,7 @@ void ScUndoDragDrop::DoUndo( ScRange aRange ) const
PaintArea( aPaintRange, nExtFlags );
}
-void __EXPORT ScUndoDragDrop::Undo()
+void ScUndoDragDrop::Undo()
{
BeginUndo();
DoUndo(aDestRange);
@@ -1286,7 +1286,7 @@ void __EXPORT ScUndoDragDrop::Undo()
SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_AREALINKS_CHANGED ) );
}
-void __EXPORT ScUndoDragDrop::Redo()
+void ScUndoDragDrop::Redo()
{
BeginRedo();
@@ -1369,11 +1369,11 @@ void __EXPORT ScUndoDragDrop::Redo()
SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_AREALINKS_CHANGED ) );
}
-void __EXPORT ScUndoDragDrop::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoDragDrop::Repeat(SfxRepeatTarget& /* rTarget */)
{
}
-BOOL __EXPORT ScUndoDragDrop::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoDragDrop::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE; // geht nicht
}
@@ -1393,13 +1393,13 @@ ScUndoListNames::ScUndoListNames( ScDocShell* pNewDocShell, const ScRange& rRang
{
}
-__EXPORT ScUndoListNames::~ScUndoListNames()
+ScUndoListNames::~ScUndoListNames()
{
delete pUndoDoc;
delete pRedoDoc;
}
-String __EXPORT ScUndoListNames::GetComment() const
+String ScUndoListNames::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_LISTNAMES );
}
@@ -1417,27 +1417,27 @@ void ScUndoListNames::DoChange( ScDocument* pSrcDoc ) const
pViewShell->CellContentChanged();
}
-void __EXPORT ScUndoListNames::Undo()
+void ScUndoListNames::Undo()
{
BeginUndo();
DoChange(pUndoDoc);
EndUndo();
}
-void __EXPORT ScUndoListNames::Redo()
+void ScUndoListNames::Redo()
{
BeginRedo();
DoChange(pRedoDoc);
EndRedo();
}
-void __EXPORT ScUndoListNames::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoListNames::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->InsertNameList();
}
-BOOL __EXPORT ScUndoListNames::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoListNames::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -1467,17 +1467,17 @@ ScUndoUseScenario::ScUndoUseScenario( ScDocShell* pNewDocShell,
aRange.aEnd.SetTab(rDestArea.nTab);
}
-__EXPORT ScUndoUseScenario::~ScUndoUseScenario()
+ScUndoUseScenario::~ScUndoUseScenario()
{
delete pUndoDoc;
}
-String __EXPORT ScUndoUseScenario::GetComment() const
+String ScUndoUseScenario::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_USESCENARIO );
}
-void __EXPORT ScUndoUseScenario::Undo()
+void ScUndoUseScenario::Undo()
{
BeginUndo();
@@ -1532,7 +1532,7 @@ void __EXPORT ScUndoUseScenario::Undo()
EndUndo();
}
-void __EXPORT ScUndoUseScenario::Redo()
+void ScUndoUseScenario::Redo()
{
SCTAB nTab = aRange.aStart.Tab();
BeginRedo();
@@ -1550,7 +1550,7 @@ void __EXPORT ScUndoUseScenario::Redo()
EndRedo();
}
-void __EXPORT ScUndoUseScenario::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoUseScenario::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -1559,7 +1559,7 @@ void __EXPORT ScUndoUseScenario::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoUseScenario::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoUseScenario::CanRepeat(SfxRepeatTarget& rTarget) const
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -1590,12 +1590,12 @@ ScUndoSelectionStyle::ScUndoSelectionStyle( ScDocShell* pNewDocShell,
aMarkData.MarkToMulti();
}
-__EXPORT ScUndoSelectionStyle::~ScUndoSelectionStyle()
+ScUndoSelectionStyle::~ScUndoSelectionStyle()
{
delete pUndoDoc;
}
-String __EXPORT ScUndoSelectionStyle::GetComment() const
+String ScUndoSelectionStyle::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_APPLYCELLSTYLE );
}
@@ -1644,21 +1644,21 @@ void ScUndoSelectionStyle::DoChange( const BOOL bUndo )
ShowTable( aWorkRange.aStart.Tab() );
}
-void __EXPORT ScUndoSelectionStyle::Undo()
+void ScUndoSelectionStyle::Undo()
{
BeginUndo();
DoChange( TRUE );
EndUndo();
}
-void __EXPORT ScUndoSelectionStyle::Redo()
+void ScUndoSelectionStyle::Redo()
{
BeginRedo();
DoChange( FALSE );
EndRedo();
}
-void __EXPORT ScUndoSelectionStyle::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoSelectionStyle::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -1677,12 +1677,12 @@ void __EXPORT ScUndoSelectionStyle::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoSelectionStyle::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoSelectionStyle::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
-USHORT __EXPORT ScUndoSelectionStyle::GetId() const
+USHORT ScUndoSelectionStyle::GetId() const
{
return STR_UNDO_APPLYCELLSTYLE;
}
@@ -1702,12 +1702,12 @@ ScUndoEnterMatrix::ScUndoEnterMatrix( ScDocShell* pNewDocShell, const ScRange& r
SetChangeTrack();
}
-__EXPORT ScUndoEnterMatrix::~ScUndoEnterMatrix()
+ScUndoEnterMatrix::~ScUndoEnterMatrix()
{
delete pUndoDoc;
}
-String __EXPORT ScUndoEnterMatrix::GetComment() const
+String ScUndoEnterMatrix::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_ENTERMATRIX );
}
@@ -1723,7 +1723,7 @@ void ScUndoEnterMatrix::SetChangeTrack()
nStartChangeAction = nEndChangeAction = 0;
}
-void __EXPORT ScUndoEnterMatrix::Undo()
+void ScUndoEnterMatrix::Undo()
{
BeginUndo();
@@ -1744,7 +1744,7 @@ void __EXPORT ScUndoEnterMatrix::Undo()
EndUndo();
}
-void __EXPORT ScUndoEnterMatrix::Redo()
+void ScUndoEnterMatrix::Redo()
{
BeginRedo();
@@ -1764,7 +1764,7 @@ void __EXPORT ScUndoEnterMatrix::Redo()
EndRedo();
}
-void __EXPORT ScUndoEnterMatrix::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoEnterMatrix::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -1773,7 +1773,7 @@ void __EXPORT ScUndoEnterMatrix::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoEnterMatrix::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoEnterMatrix::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -1801,18 +1801,18 @@ ScUndoIndent::ScUndoIndent( ScDocShell* pNewDocShell, const ScMarkData& rMark,
{
}
-__EXPORT ScUndoIndent::~ScUndoIndent()
+ScUndoIndent::~ScUndoIndent()
{
delete pUndoDoc;
}
-String __EXPORT ScUndoIndent::GetComment() const
+String ScUndoIndent::GetComment() const
{
USHORT nId = bIsIncrement ? STR_UNDO_INC_INDENT : STR_UNDO_DEC_INDENT;
return ScGlobal::GetRscString( nId );
}
-void __EXPORT ScUndoIndent::Undo()
+void ScUndoIndent::Undo()
{
BeginUndo();
@@ -1827,7 +1827,7 @@ void __EXPORT ScUndoIndent::Undo()
EndUndo();
}
-void __EXPORT ScUndoIndent::Redo()
+void ScUndoIndent::Redo()
{
BeginRedo();
@@ -1838,13 +1838,13 @@ void __EXPORT ScUndoIndent::Redo()
EndRedo();
}
-void __EXPORT ScUndoIndent::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoIndent::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->ChangeIndent( bIsIncrement );
}
-BOOL __EXPORT ScUndoIndent::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoIndent::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -1863,17 +1863,17 @@ ScUndoTransliterate::ScUndoTransliterate( ScDocShell* pNewDocShell, const ScMark
{
}
-__EXPORT ScUndoTransliterate::~ScUndoTransliterate()
+ScUndoTransliterate::~ScUndoTransliterate()
{
delete pUndoDoc;
}
-String __EXPORT ScUndoTransliterate::GetComment() const
+String ScUndoTransliterate::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_TRANSLITERATE );
}
-void __EXPORT ScUndoTransliterate::Undo()
+void ScUndoTransliterate::Undo()
{
BeginUndo();
@@ -1888,7 +1888,7 @@ void __EXPORT ScUndoTransliterate::Undo()
EndUndo();
}
-void __EXPORT ScUndoTransliterate::Redo()
+void ScUndoTransliterate::Redo()
{
BeginRedo();
@@ -1899,13 +1899,13 @@ void __EXPORT ScUndoTransliterate::Redo()
EndRedo();
}
-void __EXPORT ScUndoTransliterate::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoTransliterate::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->TransliterateText( nTransliterationType );
}
-BOOL __EXPORT ScUndoTransliterate::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoTransliterate::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -1932,18 +1932,18 @@ ScUndoClearItems::ScUndoClearItems( ScDocShell* pNewDocShell, const ScMarkData&
pWhich[i] = pW[i];
}
-__EXPORT ScUndoClearItems::~ScUndoClearItems()
+ScUndoClearItems::~ScUndoClearItems()
{
delete pUndoDoc;
delete pWhich;
}
-String __EXPORT ScUndoClearItems::GetComment() const
+String ScUndoClearItems::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_DELETECONTENTS );
}
-void __EXPORT ScUndoClearItems::Undo()
+void ScUndoClearItems::Undo()
{
BeginUndo();
@@ -1954,7 +1954,7 @@ void __EXPORT ScUndoClearItems::Undo()
EndUndo();
}
-void __EXPORT ScUndoClearItems::Redo()
+void ScUndoClearItems::Redo()
{
BeginRedo();
@@ -1965,7 +1965,7 @@ void __EXPORT ScUndoClearItems::Redo()
EndRedo();
}
-void __EXPORT ScUndoClearItems::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoClearItems::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -1975,7 +1975,7 @@ void __EXPORT ScUndoClearItems::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoClearItems::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoClearItems::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -1993,17 +1993,17 @@ ScUndoRemoveBreaks::ScUndoRemoveBreaks( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoRemoveBreaks::~ScUndoRemoveBreaks()
+ScUndoRemoveBreaks::~ScUndoRemoveBreaks()
{
delete pUndoDoc;
}
-String __EXPORT ScUndoRemoveBreaks::GetComment() const
+String ScUndoRemoveBreaks::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_REMOVEBREAKS );
}
-void __EXPORT ScUndoRemoveBreaks::Undo()
+void ScUndoRemoveBreaks::Undo()
{
BeginUndo();
@@ -2018,7 +2018,7 @@ void __EXPORT ScUndoRemoveBreaks::Undo()
EndUndo();
}
-void __EXPORT ScUndoRemoveBreaks::Redo()
+void ScUndoRemoveBreaks::Redo()
{
BeginRedo();
@@ -2034,7 +2034,7 @@ void __EXPORT ScUndoRemoveBreaks::Redo()
EndRedo();
}
-void __EXPORT ScUndoRemoveBreaks::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoRemoveBreaks::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -2043,7 +2043,7 @@ void __EXPORT ScUndoRemoveBreaks::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoRemoveBreaks::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoRemoveBreaks::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -2061,17 +2061,17 @@ ScUndoRemoveMerge::ScUndoRemoveMerge( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoRemoveMerge::~ScUndoRemoveMerge()
+ScUndoRemoveMerge::~ScUndoRemoveMerge()
{
delete pUndoDoc;
}
-String __EXPORT ScUndoRemoveMerge::GetComment() const
+String ScUndoRemoveMerge::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_REMERGE ); // "Zusammenfassung aufheben"
}
-void __EXPORT ScUndoRemoveMerge::Undo()
+void ScUndoRemoveMerge::Undo()
{
using ::std::set;
@@ -2102,7 +2102,7 @@ void __EXPORT ScUndoRemoveMerge::Undo()
EndUndo();
}
-void __EXPORT ScUndoRemoveMerge::Redo()
+void ScUndoRemoveMerge::Redo()
{
using ::std::set;
@@ -2149,13 +2149,13 @@ void __EXPORT ScUndoRemoveMerge::Redo()
EndRedo();
}
-void __EXPORT ScUndoRemoveMerge::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoRemoveMerge::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->RemoveMerge();
}
-BOOL __EXPORT ScUndoRemoveMerge::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoRemoveMerge::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -2175,26 +2175,18 @@ void ScUndoRemoveMerge::SetCurTab()
ScRange lcl_TotalRange( const ScRangeList& rRanges )
{
ScRange aTotal;
- ULONG nCount = rRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ if ( !rRanges.empty() )
{
- ScRange aRange = *rRanges.GetObject(i);
- if (i==0)
- aTotal = aRange;
- else
+ aTotal = *rRanges[ 0 ];
+ for ( size_t i = 1, nCount = rRanges.size(); i < nCount; ++i )
{
- if (aRange.aStart.Col() < aTotal.aStart.Col())
- aTotal.aStart.SetCol(aRange.aStart.Col());
- if (aRange.aStart.Row() < aTotal.aStart.Row())
- aTotal.aStart.SetRow(aRange.aStart.Row());
- if (aRange.aStart.Tab() < aTotal.aStart.Tab())
- aTotal.aStart.SetTab(aRange.aStart.Tab());
- if (aRange.aEnd.Col() > aTotal.aEnd.Col())
- aTotal.aEnd.SetCol(aRange.aEnd.Col());
- if (aRange.aEnd.Row() > aTotal.aEnd.Row())
- aTotal.aEnd.SetRow(aRange.aEnd.Row());
- if (aRange.aEnd.Tab() > aTotal.aEnd.Tab())
- aTotal.aEnd.SetTab(aRange.aEnd.Tab());
+ ScRange aRange = *rRanges[ i ];
+ if (aRange.aStart.Col() < aTotal.aStart.Col()) aTotal.aStart.SetCol(aRange.aStart.Col());
+ if (aRange.aStart.Row() < aTotal.aStart.Row()) aTotal.aStart.SetRow(aRange.aStart.Row());
+ if (aRange.aStart.Tab() < aTotal.aStart.Tab()) aTotal.aStart.SetTab(aRange.aStart.Tab());
+ if (aRange.aEnd.Col() > aTotal.aEnd.Col() ) aTotal.aEnd.SetCol( aRange.aEnd.Col() );
+ if (aRange.aEnd.Row() > aTotal.aEnd.Row() ) aTotal.aEnd.SetRow( aRange.aEnd.Row() );
+ if (aRange.aEnd.Tab() > aTotal.aEnd.Tab() ) aTotal.aEnd.SetTab(aRange.aEnd.Tab() );
}
}
return aTotal;
@@ -2211,7 +2203,7 @@ ScUndoBorder::ScUndoBorder( ScDocShell* pNewDocShell,
pInner = new SvxBoxInfoItem(rNewInner);
}
-__EXPORT ScUndoBorder::~ScUndoBorder()
+ScUndoBorder::~ScUndoBorder()
{
delete pUndoDoc;
delete pRanges;
@@ -2219,12 +2211,12 @@ __EXPORT ScUndoBorder::~ScUndoBorder()
delete pInner;
}
-String __EXPORT ScUndoBorder::GetComment() const
+String ScUndoBorder::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_SELATTRLINES ); //! eigener String?
}
-void __EXPORT ScUndoBorder::Undo()
+void ScUndoBorder::Undo()
{
BeginUndo();
@@ -2237,16 +2229,15 @@ void __EXPORT ScUndoBorder::Undo()
EndUndo();
}
-void __EXPORT ScUndoBorder::Redo()
+void ScUndoBorder::Redo()
{
BeginRedo();
ScDocument* pDoc = pDocShell->GetDocument(); //! Funktion an docfunc aufrufen
- ULONG nCount = pRanges->Count();
- ULONG i;
- for (i=0; i<nCount; i++)
+ size_t nCount = pRanges->size();
+ for (size_t i = 0; i < nCount; ++i )
{
- ScRange aRange = *pRanges->GetObject(i);
+ ScRange aRange = *(*pRanges)[i];
SCTAB nTab = aRange.aStart.Tab();
ScMarkData aMark;
@@ -2255,18 +2246,18 @@ void __EXPORT ScUndoBorder::Redo()
pDoc->ApplySelectionFrame( aMark, pOuter, pInner );
}
- for (i=0; i<nCount; i++)
- pDocShell->PostPaint( *pRanges->GetObject(i), PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE );
+ for (size_t i = 0; i < nCount; ++i)
+ pDocShell->PostPaint( *(*pRanges)[i], PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE );
EndRedo();
}
-void __EXPORT ScUndoBorder::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoBorder::Repeat(SfxRepeatTarget& /* rTarget */)
{
//! spaeter (wenn die Funktion aus cellsuno nach docfunc gewandert ist)
}
-BOOL __EXPORT ScUndoBorder::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoBorder::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE; // s.o.
}
diff --git a/sc/source/ui/undo/undoblk2.cxx b/sc/source/ui/undo/undoblk2.cxx
index 4a46c61683c5..2909f77ac9d1 100644
--- a/sc/source/ui/undo/undoblk2.cxx
+++ b/sc/source/ui/undo/undoblk2.cxx
@@ -87,7 +87,7 @@ ScUndoWidthOrHeight::ScUndoWidthOrHeight( ScDocShell* pNewDocShell,
pDrawUndo = GetSdrUndoAction( pDocShell->GetDocument() );
}
-__EXPORT ScUndoWidthOrHeight::~ScUndoWidthOrHeight()
+ScUndoWidthOrHeight::~ScUndoWidthOrHeight()
{
delete[] pRanges;
delete pUndoDoc;
@@ -95,7 +95,7 @@ __EXPORT ScUndoWidthOrHeight::~ScUndoWidthOrHeight()
DeleteSdrUndoAction( pDrawUndo );
}
-String __EXPORT ScUndoWidthOrHeight::GetComment() const
+String ScUndoWidthOrHeight::GetComment() const
{
// [ "optimale " ] "Spaltenbreite" | "Zeilenhoehe"
return ( bWidth ?
@@ -109,7 +109,7 @@ String __EXPORT ScUndoWidthOrHeight::GetComment() const
) );
}
-void __EXPORT ScUndoWidthOrHeight::Undo()
+void ScUndoWidthOrHeight::Undo()
{
BeginUndo();
@@ -168,7 +168,7 @@ void __EXPORT ScUndoWidthOrHeight::Undo()
EndUndo();
}
-void __EXPORT ScUndoWidthOrHeight::Redo()
+void ScUndoWidthOrHeight::Redo()
{
BeginRedo();
@@ -202,13 +202,13 @@ void __EXPORT ScUndoWidthOrHeight::Redo()
EndRedo();
}
-void __EXPORT ScUndoWidthOrHeight::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoWidthOrHeight::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->SetMarkedWidthOrHeight( bWidth, eMode, nNewSize, TRUE );
}
-BOOL __EXPORT ScUndoWidthOrHeight::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoWidthOrHeight::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
diff --git a/sc/source/ui/undo/undoblk3.cxx b/sc/source/ui/undo/undoblk3.cxx
index f73e664a5bcd..ce82b7f79904 100644
--- a/sc/source/ui/undo/undoblk3.cxx
+++ b/sc/source/ui/undo/undoblk3.cxx
@@ -119,7 +119,7 @@ ScUndoDeleteContents::ScUndoDeleteContents(
//----------------------------------------------------------------------------
-__EXPORT ScUndoDeleteContents::~ScUndoDeleteContents()
+ScUndoDeleteContents::~ScUndoDeleteContents()
{
delete pUndoDoc;
DeleteSdrUndoAction( pDrawUndo );
@@ -128,7 +128,7 @@ __EXPORT ScUndoDeleteContents::~ScUndoDeleteContents()
//----------------------------------------------------------------------------
-String __EXPORT ScUndoDeleteContents::GetComment() const
+String ScUndoDeleteContents::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_DELETECONTENTS ); // "Loeschen"
}
@@ -212,7 +212,7 @@ void ScUndoDeleteContents::DoChange( const BOOL bUndo )
//----------------------------------------------------------------------------
-void __EXPORT ScUndoDeleteContents::Undo()
+void ScUndoDeleteContents::Undo()
{
BeginUndo();
DoChange( TRUE );
@@ -231,7 +231,7 @@ void __EXPORT ScUndoDeleteContents::Undo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoDeleteContents::Redo()
+void ScUndoDeleteContents::Redo()
{
BeginRedo();
DoChange( FALSE );
@@ -250,7 +250,7 @@ void __EXPORT ScUndoDeleteContents::Redo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoDeleteContents::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoDeleteContents::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->DeleteContents( nFlags, TRUE );
@@ -259,7 +259,7 @@ void __EXPORT ScUndoDeleteContents::Repeat(SfxRepeatTarget& rTarget)
//----------------------------------------------------------------------------
-BOOL __EXPORT ScUndoDeleteContents::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoDeleteContents::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -298,7 +298,7 @@ ScUndoFillTable::ScUndoFillTable( ScDocShell* pNewDocShell,
//----------------------------------------------------------------------------
-__EXPORT ScUndoFillTable::~ScUndoFillTable()
+ScUndoFillTable::~ScUndoFillTable()
{
delete pUndoDoc;
}
@@ -306,7 +306,7 @@ __EXPORT ScUndoFillTable::~ScUndoFillTable()
//----------------------------------------------------------------------------
-String __EXPORT ScUndoFillTable::GetComment() const
+String ScUndoFillTable::GetComment() const
{
return ScGlobal::GetRscString( STR_FILL_TAB );
}
@@ -395,7 +395,7 @@ void ScUndoFillTable::DoChange( const BOOL bUndo )
//----------------------------------------------------------------------------
-void __EXPORT ScUndoFillTable::Undo()
+void ScUndoFillTable::Undo()
{
BeginUndo();
DoChange( TRUE );
@@ -405,7 +405,7 @@ void __EXPORT ScUndoFillTable::Undo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoFillTable::Redo()
+void ScUndoFillTable::Redo()
{
BeginRedo();
DoChange( FALSE );
@@ -415,7 +415,7 @@ void __EXPORT ScUndoFillTable::Redo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoFillTable::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoFillTable::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->FillTab( nFlags, nFunction, bSkipEmpty, bAsLink );
@@ -424,7 +424,7 @@ void __EXPORT ScUndoFillTable::Repeat(SfxRepeatTarget& rTarget)
//----------------------------------------------------------------------------
-BOOL __EXPORT ScUndoFillTable::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoFillTable::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -461,7 +461,7 @@ ScUndoSelectionAttr::ScUndoSelectionAttr( ScDocShell* pNewDocShell,
//----------------------------------------------------------------------------
-__EXPORT ScUndoSelectionAttr::~ScUndoSelectionAttr()
+ScUndoSelectionAttr::~ScUndoSelectionAttr()
{
ScDocumentPool* pPool = pDocShell->GetDocument()->GetPool();
pPool->Remove(*pApplyPattern);
@@ -476,7 +476,7 @@ __EXPORT ScUndoSelectionAttr::~ScUndoSelectionAttr()
//----------------------------------------------------------------------------
-String __EXPORT ScUndoSelectionAttr::GetComment() const
+String ScUndoSelectionAttr::GetComment() const
{
//"Attribute" "/Linien"
return ScGlobal::GetRscString( pLineOuter ? STR_UNDO_SELATTRLINES : STR_UNDO_SELATTR );
@@ -553,7 +553,7 @@ void ScUndoSelectionAttr::ChangeEditData( const bool bUndo )
//----------------------------------------------------------------------------
-void __EXPORT ScUndoSelectionAttr::Undo()
+void ScUndoSelectionAttr::Undo()
{
BeginUndo();
DoChange( TRUE );
@@ -563,7 +563,7 @@ void __EXPORT ScUndoSelectionAttr::Undo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoSelectionAttr::Redo()
+void ScUndoSelectionAttr::Redo()
{
BeginRedo();
DoChange( FALSE );
@@ -573,7 +573,7 @@ void __EXPORT ScUndoSelectionAttr::Redo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoSelectionAttr::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoSelectionAttr::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -588,7 +588,7 @@ void __EXPORT ScUndoSelectionAttr::Repeat(SfxRepeatTarget& rTarget)
//----------------------------------------------------------------------------
-BOOL __EXPORT ScUndoSelectionAttr::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoSelectionAttr::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -627,7 +627,7 @@ ScUndoAutoFill::ScUndoAutoFill( ScDocShell* pNewDocShell,
//----------------------------------------------------------------------------
-__EXPORT ScUndoAutoFill::~ScUndoAutoFill()
+ScUndoAutoFill::~ScUndoAutoFill()
{
pDocShell->GetDocument()->EraseNonUsedSharedNames(nMaxSharedIndex);
delete pUndoDoc;
@@ -636,7 +636,7 @@ __EXPORT ScUndoAutoFill::~ScUndoAutoFill()
//----------------------------------------------------------------------------
-String __EXPORT ScUndoAutoFill::GetComment() const
+String ScUndoAutoFill::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_AUTOFILL ); //"Ausfuellen"
}
@@ -655,7 +655,7 @@ void ScUndoAutoFill::SetChangeTrack()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoAutoFill::Undo()
+void ScUndoAutoFill::Undo()
{
BeginUndo();
@@ -721,7 +721,7 @@ void __EXPORT ScUndoAutoFill::Undo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoAutoFill::Redo()
+void ScUndoAutoFill::Redo()
{
BeginRedo();
@@ -772,7 +772,7 @@ void __EXPORT ScUndoAutoFill::Redo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoAutoFill::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoAutoFill::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -788,7 +788,7 @@ void __EXPORT ScUndoAutoFill::Repeat(SfxRepeatTarget& rTarget)
//----------------------------------------------------------------------------
-BOOL __EXPORT ScUndoAutoFill::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoAutoFill::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -973,7 +973,7 @@ ScUndoAutoFormat::ScUndoAutoFormat( ScDocShell* pNewDocShell,
//----------------------------------------------------------------------------
-__EXPORT ScUndoAutoFormat::~ScUndoAutoFormat()
+ScUndoAutoFormat::~ScUndoAutoFormat()
{
delete pUndoDoc;
}
@@ -981,7 +981,7 @@ __EXPORT ScUndoAutoFormat::~ScUndoAutoFormat()
//----------------------------------------------------------------------------
-String __EXPORT ScUndoAutoFormat::GetComment() const
+String ScUndoAutoFormat::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_AUTOFORMAT ); //"Auto-Format"
}
@@ -989,7 +989,7 @@ String __EXPORT ScUndoAutoFormat::GetComment() const
//----------------------------------------------------------------------------
-void __EXPORT ScUndoAutoFormat::Undo()
+void ScUndoAutoFormat::Undo()
{
BeginUndo();
@@ -1034,7 +1034,7 @@ void __EXPORT ScUndoAutoFormat::Undo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoAutoFormat::Redo()
+void ScUndoAutoFormat::Redo()
{
BeginRedo();
@@ -1117,7 +1117,7 @@ void __EXPORT ScUndoAutoFormat::Redo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoAutoFormat::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoAutoFormat::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->AutoFormat( nFormatNo, TRUE );
@@ -1126,7 +1126,7 @@ void __EXPORT ScUndoAutoFormat::Repeat(SfxRepeatTarget& rTarget)
//----------------------------------------------------------------------------
-BOOL __EXPORT ScUndoAutoFormat::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoAutoFormat::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -1158,7 +1158,7 @@ ScUndoReplace::ScUndoReplace( ScDocShell* pNewDocShell, const ScMarkData& rMark,
//----------------------------------------------------------------------------
-__EXPORT ScUndoReplace::~ScUndoReplace()
+ScUndoReplace::~ScUndoReplace()
{
delete pUndoDoc;
delete pSearchItem;
@@ -1196,7 +1196,7 @@ void ScUndoReplace::SetChangeTrack()
//----------------------------------------------------------------------------
-String __EXPORT ScUndoReplace::GetComment() const
+String ScUndoReplace::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_REPLACE ); // "Ersetzen"
}
@@ -1204,7 +1204,7 @@ String __EXPORT ScUndoReplace::GetComment() const
//----------------------------------------------------------------------------
-void __EXPORT ScUndoReplace::Undo()
+void ScUndoReplace::Undo()
{
BeginUndo();
@@ -1282,7 +1282,7 @@ void __EXPORT ScUndoReplace::Undo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoReplace::Redo()
+void ScUndoReplace::Redo()
{
BeginRedo();
@@ -1321,7 +1321,7 @@ void __EXPORT ScUndoReplace::Redo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoReplace::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoReplace::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->SearchAndReplace( pSearchItem, TRUE, FALSE );
@@ -1330,7 +1330,7 @@ void __EXPORT ScUndoReplace::Repeat(SfxRepeatTarget& rTarget)
//----------------------------------------------------------------------------
-BOOL __EXPORT ScUndoReplace::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoReplace::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -1367,7 +1367,7 @@ ScUndoTabOp::ScUndoTabOp( ScDocShell* pNewDocShell,
//----------------------------------------------------------------------------
-__EXPORT ScUndoTabOp::~ScUndoTabOp()
+ScUndoTabOp::~ScUndoTabOp()
{
delete pUndoDoc;
}
@@ -1375,7 +1375,7 @@ __EXPORT ScUndoTabOp::~ScUndoTabOp()
//----------------------------------------------------------------------------
-String __EXPORT ScUndoTabOp::GetComment() const
+String ScUndoTabOp::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_TABOP ); // "Mehrfachoperation"
}
@@ -1383,7 +1383,7 @@ String __EXPORT ScUndoTabOp::GetComment() const
//----------------------------------------------------------------------------
-void __EXPORT ScUndoTabOp::Undo()
+void ScUndoTabOp::Undo()
{
BeginUndo();
@@ -1407,7 +1407,7 @@ void __EXPORT ScUndoTabOp::Undo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoTabOp::Redo()
+void ScUndoTabOp::Redo()
{
BeginRedo();
@@ -1427,14 +1427,14 @@ void __EXPORT ScUndoTabOp::Redo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoTabOp::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoTabOp::Repeat(SfxRepeatTarget& /* rTarget */)
{
}
//----------------------------------------------------------------------------
-BOOL __EXPORT ScUndoTabOp::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoTabOp::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE;
}
@@ -1466,7 +1466,7 @@ ScUndoConversion::ScUndoConversion(
//----------------------------------------------------------------------------
-__EXPORT ScUndoConversion::~ScUndoConversion()
+ScUndoConversion::~ScUndoConversion()
{
delete pUndoDoc;
delete pRedoDoc;
@@ -1601,13 +1601,13 @@ nFlags ( nNewFlag )
SetChangeTrack();
}
-__EXPORT ScUndoRefConversion::~ScUndoRefConversion()
+ScUndoRefConversion::~ScUndoRefConversion()
{
delete pUndoDoc;
delete pRedoDoc;
}
-String __EXPORT ScUndoRefConversion::GetComment() const
+String ScUndoRefConversion::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_ENTERDATA ); // "Eingabe"
}
@@ -1642,7 +1642,7 @@ void ScUndoRefConversion::DoChange( ScDocument* pRefDoc)
if (pViewShell)
pViewShell->CellContentChanged();
}
-void __EXPORT ScUndoRefConversion::Undo()
+void ScUndoRefConversion::Undo()
{
BeginUndo();
if (pUndoDoc)
@@ -1653,7 +1653,7 @@ void __EXPORT ScUndoRefConversion::Undo()
EndUndo();
}
-void __EXPORT ScUndoRefConversion::Redo()
+void ScUndoRefConversion::Redo()
{
BeginRedo();
if (pRedoDoc)
@@ -1662,13 +1662,13 @@ void __EXPORT ScUndoRefConversion::Redo()
EndRedo();
}
-void __EXPORT ScUndoRefConversion::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoRefConversion::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->DoRefConversion();
}
-BOOL __EXPORT ScUndoRefConversion::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoRefConversion::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -1692,7 +1692,7 @@ ScUndoRefreshLink::ScUndoRefreshLink( ScDocShell* pNewDocShell,
//----------------------------------------------------------------------------
-__EXPORT ScUndoRefreshLink::~ScUndoRefreshLink()
+ScUndoRefreshLink::~ScUndoRefreshLink()
{
delete pUndoDoc;
delete pRedoDoc;
@@ -1701,7 +1701,7 @@ __EXPORT ScUndoRefreshLink::~ScUndoRefreshLink()
//----------------------------------------------------------------------------
-String __EXPORT ScUndoRefreshLink::GetComment() const
+String ScUndoRefreshLink::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_UPDATELINK );
}
@@ -1709,7 +1709,7 @@ String __EXPORT ScUndoRefreshLink::GetComment() const
//----------------------------------------------------------------------------
-void __EXPORT ScUndoRefreshLink::Undo()
+void ScUndoRefreshLink::Undo()
{
BeginUndo();
@@ -1759,7 +1759,7 @@ void __EXPORT ScUndoRefreshLink::Undo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoRefreshLink::Redo()
+void ScUndoRefreshLink::Redo()
{
DBG_ASSERT(pRedoDoc, "Kein RedoDoc bei ScUndoRefreshLink::Redo");
@@ -1792,7 +1792,7 @@ void __EXPORT ScUndoRefreshLink::Redo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoRefreshLink::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoRefreshLink::Repeat(SfxRepeatTarget& /* rTarget */)
{
// gippsnich
}
@@ -1800,7 +1800,7 @@ void __EXPORT ScUndoRefreshLink::Repeat(SfxRepeatTarget& /* rTarget */)
//----------------------------------------------------------------------------
-BOOL __EXPORT ScUndoRefreshLink::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoRefreshLink::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE;
}
@@ -1854,14 +1854,14 @@ ScUndoInsertAreaLink::ScUndoInsertAreaLink( ScDocShell* pShell,
//----------------------------------------------------------------------------
-__EXPORT ScUndoInsertAreaLink::~ScUndoInsertAreaLink()
+ScUndoInsertAreaLink::~ScUndoInsertAreaLink()
{
}
//----------------------------------------------------------------------------
-String __EXPORT ScUndoInsertAreaLink::GetComment() const
+String ScUndoInsertAreaLink::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_INSERTAREALINK );
}
@@ -1869,7 +1869,7 @@ String __EXPORT ScUndoInsertAreaLink::GetComment() const
//----------------------------------------------------------------------------
-void __EXPORT ScUndoInsertAreaLink::Undo()
+void ScUndoInsertAreaLink::Undo()
{
ScDocument* pDoc = pDocShell->GetDocument();
sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager();
@@ -1885,7 +1885,7 @@ void __EXPORT ScUndoInsertAreaLink::Undo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoInsertAreaLink::Redo()
+void ScUndoInsertAreaLink::Redo()
{
ScDocument* pDoc = pDocShell->GetDocument();
sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager();
@@ -1904,7 +1904,7 @@ void __EXPORT ScUndoInsertAreaLink::Redo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoInsertAreaLink::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoInsertAreaLink::Repeat(SfxRepeatTarget& /* rTarget */)
{
//! ....
}
@@ -1912,7 +1912,7 @@ void __EXPORT ScUndoInsertAreaLink::Repeat(SfxRepeatTarget& /* rTarget */)
//----------------------------------------------------------------------------
-BOOL __EXPORT ScUndoInsertAreaLink::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoInsertAreaLink::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE;
}
@@ -1944,14 +1944,14 @@ ScUndoRemoveAreaLink::ScUndoRemoveAreaLink( ScDocShell* pShell,
//----------------------------------------------------------------------------
-__EXPORT ScUndoRemoveAreaLink::~ScUndoRemoveAreaLink()
+ScUndoRemoveAreaLink::~ScUndoRemoveAreaLink()
{
}
//----------------------------------------------------------------------------
-String __EXPORT ScUndoRemoveAreaLink::GetComment() const
+String ScUndoRemoveAreaLink::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_REMOVELINK ); //! eigener Text ??
}
@@ -1959,7 +1959,7 @@ String __EXPORT ScUndoRemoveAreaLink::GetComment() const
//----------------------------------------------------------------------------
-void __EXPORT ScUndoRemoveAreaLink::Undo()
+void ScUndoRemoveAreaLink::Undo()
{
ScDocument* pDoc = pDocShell->GetDocument();
sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager();
@@ -1978,7 +1978,7 @@ void __EXPORT ScUndoRemoveAreaLink::Undo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoRemoveAreaLink::Redo()
+void ScUndoRemoveAreaLink::Redo()
{
ScDocument* pDoc = pDocShell->GetDocument();
sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager();
@@ -1994,7 +1994,7 @@ void __EXPORT ScUndoRemoveAreaLink::Redo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoRemoveAreaLink::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoRemoveAreaLink::Repeat(SfxRepeatTarget& /* rTarget */)
{
// gippsnich
}
@@ -2002,7 +2002,7 @@ void __EXPORT ScUndoRemoveAreaLink::Repeat(SfxRepeatTarget& /* rTarget */)
//----------------------------------------------------------------------------
-BOOL __EXPORT ScUndoRemoveAreaLink::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoRemoveAreaLink::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE;
}
@@ -2046,7 +2046,7 @@ ScUndoUpdateAreaLink::ScUndoUpdateAreaLink( ScDocShell* pShell,
//----------------------------------------------------------------------------
-__EXPORT ScUndoUpdateAreaLink::~ScUndoUpdateAreaLink()
+ScUndoUpdateAreaLink::~ScUndoUpdateAreaLink()
{
delete pUndoDoc;
delete pRedoDoc;
@@ -2055,7 +2055,7 @@ __EXPORT ScUndoUpdateAreaLink::~ScUndoUpdateAreaLink()
//----------------------------------------------------------------------------
-String __EXPORT ScUndoUpdateAreaLink::GetComment() const
+String ScUndoUpdateAreaLink::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_UPDATELINK ); //! eigener Text ??
}
@@ -2124,7 +2124,7 @@ void ScUndoUpdateAreaLink::DoChange( const BOOL bUndo ) const
//----------------------------------------------------------------------------
-void __EXPORT ScUndoUpdateAreaLink::Undo()
+void ScUndoUpdateAreaLink::Undo()
{
ScDocument* pDoc = pDocShell->GetDocument();
sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager();
@@ -2143,7 +2143,7 @@ void __EXPORT ScUndoUpdateAreaLink::Undo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoUpdateAreaLink::Redo()
+void ScUndoUpdateAreaLink::Redo()
{
ScDocument* pDoc = pDocShell->GetDocument();
sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager();
@@ -2162,7 +2162,7 @@ void __EXPORT ScUndoUpdateAreaLink::Redo()
//----------------------------------------------------------------------------
-void __EXPORT ScUndoUpdateAreaLink::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoUpdateAreaLink::Repeat(SfxRepeatTarget& /* rTarget */)
{
// gippsnich
}
@@ -2170,7 +2170,7 @@ void __EXPORT ScUndoUpdateAreaLink::Repeat(SfxRepeatTarget& /* rTarget */)
//----------------------------------------------------------------------------
-BOOL __EXPORT ScUndoUpdateAreaLink::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoUpdateAreaLink::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE;
}
diff --git a/sc/source/ui/undo/undocell.cxx b/sc/source/ui/undo/undocell.cxx
index 65e903c42990..7d4147f19ca6 100644
--- a/sc/source/ui/undo/undocell.cxx
+++ b/sc/source/ui/undo/undocell.cxx
@@ -95,7 +95,7 @@ ScUndoCursorAttr::ScUndoCursorAttr( ScDocShell* pNewDocShell,
pApplyPattern = (ScPatternAttr*) &pPool->Put( *pApplyPat );
}
-__EXPORT ScUndoCursorAttr::~ScUndoCursorAttr()
+ScUndoCursorAttr::~ScUndoCursorAttr()
{
ScDocumentPool* pPool = pDocShell->GetDocument()->GetPool();
pPool->Remove(*pNewPattern);
@@ -103,7 +103,7 @@ __EXPORT ScUndoCursorAttr::~ScUndoCursorAttr()
pPool->Remove(*pApplyPattern);
}
-String __EXPORT ScUndoCursorAttr::GetComment() const
+String ScUndoCursorAttr::GetComment() const
{
//! eigener Text fuer automatische Attributierung
@@ -148,7 +148,7 @@ void ScUndoCursorAttr::DoChange( const ScPatternAttr* pWhichPattern, const share
pDocShell->PostPaint( nCol,nRow,nTab, nCol,nRow,nTab, PAINT_GRID, nFlags );
}
-void __EXPORT ScUndoCursorAttr::Undo()
+void ScUndoCursorAttr::Undo()
{
BeginUndo();
DoChange(pOldPattern, pOldEditData);
@@ -166,20 +166,20 @@ void __EXPORT ScUndoCursorAttr::Undo()
EndUndo();
}
-void __EXPORT ScUndoCursorAttr::Redo()
+void ScUndoCursorAttr::Redo()
{
BeginRedo();
DoChange(pNewPattern, pNewEditData);
EndRedo();
}
-void __EXPORT ScUndoCursorAttr::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoCursorAttr::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->ApplySelectionPattern( *pApplyPattern );
}
-BOOL __EXPORT ScUndoCursorAttr::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoCursorAttr::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -210,7 +210,7 @@ ScUndoEnterData::ScUndoEnterData( ScDocShell* pNewDocShell,
SetChangeTrack();
}
-__EXPORT ScUndoEnterData::~ScUndoEnterData()
+ScUndoEnterData::~ScUndoEnterData()
{
for (USHORT i=0; i<nCount; i++)
if (ppOldCells[i])
@@ -224,7 +224,7 @@ __EXPORT ScUndoEnterData::~ScUndoEnterData()
delete pNewEditData;
}
-String __EXPORT ScUndoEnterData::GetComment() const
+String ScUndoEnterData::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_ENTERDATA ); // "Eingabe"
}
@@ -271,7 +271,7 @@ void ScUndoEnterData::SetChangeTrack()
nEndChangeAction = 0;
}
-void __EXPORT ScUndoEnterData::Undo()
+void ScUndoEnterData::Undo()
{
BeginUndo();
@@ -316,7 +316,7 @@ void __EXPORT ScUndoEnterData::Undo()
}
}
-void __EXPORT ScUndoEnterData::Redo()
+void ScUndoEnterData::Redo()
{
BeginRedo();
@@ -349,7 +349,7 @@ void __EXPORT ScUndoEnterData::Redo()
}
}
-void __EXPORT ScUndoEnterData::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoEnterData::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -358,7 +358,7 @@ void __EXPORT ScUndoEnterData::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoEnterData::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoEnterData::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -380,13 +380,13 @@ ScUndoEnterValue::ScUndoEnterValue( ScDocShell* pNewDocShell, const ScAddress& r
SetChangeTrack();
}
-__EXPORT ScUndoEnterValue::~ScUndoEnterValue()
+ScUndoEnterValue::~ScUndoEnterValue()
{
if (pOldCell)
pOldCell->Delete();
}
-String __EXPORT ScUndoEnterValue::GetComment() const
+String ScUndoEnterValue::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_ENTERDATA ); // "Eingabe"
}
@@ -406,7 +406,7 @@ void ScUndoEnterValue::SetChangeTrack()
nEndChangeAction = 0;
}
-void __EXPORT ScUndoEnterValue::Undo()
+void ScUndoEnterValue::Undo()
{
BeginUndo();
@@ -424,7 +424,7 @@ void __EXPORT ScUndoEnterValue::Undo()
EndUndo();
}
-void __EXPORT ScUndoEnterValue::Redo()
+void ScUndoEnterValue::Redo()
{
BeginRedo();
@@ -437,12 +437,12 @@ void __EXPORT ScUndoEnterValue::Redo()
EndRedo();
}
-void __EXPORT ScUndoEnterValue::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoEnterValue::Repeat(SfxRepeatTarget& /* rTarget */)
{
// gippsnich
}
-BOOL __EXPORT ScUndoEnterValue::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoEnterValue::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE;
}
@@ -464,7 +464,7 @@ ScUndoPutCell::ScUndoPutCell( ScDocShell* pNewDocShell, const ScAddress& rNewPos
SetChangeTrack();
}
-__EXPORT ScUndoPutCell::~ScUndoPutCell()
+ScUndoPutCell::~ScUndoPutCell()
{
if (pOldCell)
pOldCell->Delete();
@@ -472,7 +472,7 @@ __EXPORT ScUndoPutCell::~ScUndoPutCell()
pEnteredCell->Delete();
}
-String __EXPORT ScUndoPutCell::GetComment() const
+String ScUndoPutCell::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_ENTERDATA ); // "Eingabe"
}
@@ -492,7 +492,7 @@ void ScUndoPutCell::SetChangeTrack()
nEndChangeAction = 0;
}
-void __EXPORT ScUndoPutCell::Undo()
+void ScUndoPutCell::Undo()
{
BeginUndo();
@@ -510,7 +510,7 @@ void __EXPORT ScUndoPutCell::Undo()
EndUndo();
}
-void __EXPORT ScUndoPutCell::Redo()
+void ScUndoPutCell::Redo()
{
BeginRedo();
@@ -526,12 +526,12 @@ void __EXPORT ScUndoPutCell::Redo()
EndRedo();
}
-void __EXPORT ScUndoPutCell::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoPutCell::Repeat(SfxRepeatTarget& /* rTarget */)
{
// gippsnich
}
-BOOL __EXPORT ScUndoPutCell::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoPutCell::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE;
}
@@ -554,11 +554,11 @@ ScUndoPageBreak::ScUndoPageBreak( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoPageBreak::~ScUndoPageBreak()
+ScUndoPageBreak::~ScUndoPageBreak()
{
}
-String __EXPORT ScUndoPageBreak::GetComment() const
+String ScUndoPageBreak::GetComment() const
{
//"Spaltenumbruch" | "Zeilenumbruch" "einfuegen" | "loeschen"
return String ( bColumn ?
@@ -590,21 +590,21 @@ void ScUndoPageBreak::DoChange( BOOL bInsertP ) const
}
}
-void __EXPORT ScUndoPageBreak::Undo()
+void ScUndoPageBreak::Undo()
{
BeginUndo();
DoChange(!bInsert);
EndUndo();
}
-void __EXPORT ScUndoPageBreak::Redo()
+void ScUndoPageBreak::Redo()
{
BeginRedo();
DoChange(bInsert);
EndRedo();
}
-void __EXPORT ScUndoPageBreak::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoPageBreak::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -617,7 +617,7 @@ void __EXPORT ScUndoPageBreak::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoPageBreak::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoPageBreak::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -638,11 +638,11 @@ ScUndoPrintZoom::ScUndoPrintZoom( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoPrintZoom::~ScUndoPrintZoom()
+ScUndoPrintZoom::~ScUndoPrintZoom()
{
}
-String __EXPORT ScUndoPrintZoom::GetComment() const
+String ScUndoPrintZoom::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_PRINTSCALE );
}
@@ -668,21 +668,21 @@ void ScUndoPrintZoom::DoChange( BOOL bUndo )
}
}
-void __EXPORT ScUndoPrintZoom::Undo()
+void ScUndoPrintZoom::Undo()
{
BeginUndo();
DoChange(TRUE);
EndUndo();
}
-void __EXPORT ScUndoPrintZoom::Redo()
+void ScUndoPrintZoom::Redo()
{
BeginRedo();
DoChange(FALSE);
EndRedo();
}
-void __EXPORT ScUndoPrintZoom::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoPrintZoom::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -692,7 +692,7 @@ void __EXPORT ScUndoPrintZoom::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoPrintZoom::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoPrintZoom::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -726,13 +726,13 @@ ScUndoThesaurus::ScUndoThesaurus( ScDocShell* pNewDocShell,
pOldCell->Delete();
}
-__EXPORT ScUndoThesaurus::~ScUndoThesaurus()
+ScUndoThesaurus::~ScUndoThesaurus()
{
delete pUndoTObject;
delete pRedoTObject;
}
-String __EXPORT ScUndoThesaurus::GetComment() const
+String ScUndoThesaurus::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_THESAURUS ); // "Thesaurus"
}
@@ -751,7 +751,7 @@ void ScUndoThesaurus::SetChangeTrack( ScBaseCell* pOldCell )
nEndChangeAction = 0;
}
-void __EXPORT ScUndoThesaurus::DoChange( BOOL bUndo, const String& rStr,
+void ScUndoThesaurus::DoChange( BOOL bUndo, const String& rStr,
const EditTextObject* pTObj )
{
ScDocument* pDoc = pDocShell->GetDocument();
@@ -795,7 +795,7 @@ void __EXPORT ScUndoThesaurus::DoChange( BOOL bUndo, const String& rStr,
pDocShell->PostPaintCell( nCol, nRow, nTab );
}
-void __EXPORT ScUndoThesaurus::Undo()
+void ScUndoThesaurus::Undo()
{
BeginUndo();
DoChange( TRUE, aUndoStr, pUndoTObject );
@@ -805,20 +805,20 @@ void __EXPORT ScUndoThesaurus::Undo()
EndUndo();
}
-void __EXPORT ScUndoThesaurus::Redo()
+void ScUndoThesaurus::Redo()
{
BeginRedo();
DoChange( FALSE, aRedoStr, pRedoTObject );
EndRedo();
}
-void __EXPORT ScUndoThesaurus::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoThesaurus::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->DoThesaurus( TRUE );
}
-BOOL __EXPORT ScUndoThesaurus::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoThesaurus::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -988,13 +988,13 @@ ScUndoDetective::ScUndoDetective( ScDocShell* pNewDocShell,
}
}
-__EXPORT ScUndoDetective::~ScUndoDetective()
+ScUndoDetective::~ScUndoDetective()
{
DeleteSdrUndoAction( pDrawUndo );
delete pOldList;
}
-String __EXPORT ScUndoDetective::GetComment() const
+String ScUndoDetective::GetComment() const
{
USHORT nId = STR_UNDO_DETDELALL;
if ( !bIsDelete )
@@ -1011,7 +1011,7 @@ String __EXPORT ScUndoDetective::GetComment() const
}
-void __EXPORT ScUndoDetective::Undo()
+void ScUndoDetective::Undo()
{
BeginUndo();
@@ -1048,7 +1048,7 @@ void __EXPORT ScUndoDetective::Undo()
EndUndo();
}
-void __EXPORT ScUndoDetective::Redo()
+void ScUndoDetective::Redo()
{
BeginRedo();
@@ -1068,12 +1068,12 @@ void __EXPORT ScUndoDetective::Redo()
EndRedo();
}
-void __EXPORT ScUndoDetective::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoDetective::Repeat(SfxRepeatTarget& /* rTarget */)
{
// hammanich
}
-BOOL __EXPORT ScUndoDetective::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoDetective::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE;
}
@@ -1091,13 +1091,13 @@ ScUndoRangeNames::ScUndoRangeNames( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoRangeNames::~ScUndoRangeNames()
+ScUndoRangeNames::~ScUndoRangeNames()
{
delete pOldRanges;
delete pNewRanges;
}
-String __EXPORT ScUndoRangeNames::GetComment() const
+String ScUndoRangeNames::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_RANGENAMES );
}
@@ -1117,26 +1117,26 @@ void ScUndoRangeNames::DoChange( BOOL bUndo )
SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_AREAS_CHANGED ) );
}
-void __EXPORT ScUndoRangeNames::Undo()
+void ScUndoRangeNames::Undo()
{
BeginUndo();
DoChange( TRUE );
EndUndo();
}
-void __EXPORT ScUndoRangeNames::Redo()
+void ScUndoRangeNames::Redo()
{
BeginRedo();
DoChange( FALSE );
EndRedo();
}
-void __EXPORT ScUndoRangeNames::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoRangeNames::Repeat(SfxRepeatTarget& /* rTarget */)
{
// hammanich
}
-BOOL __EXPORT ScUndoRangeNames::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoRangeNames::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE;
}
diff --git a/sc/source/ui/undo/undodat.cxx b/sc/source/ui/undo/undodat.cxx
index 308a3e7b2ef7..6d52fab5aab9 100644
--- a/sc/source/ui/undo/undodat.cxx
+++ b/sc/source/ui/undo/undodat.cxx
@@ -99,19 +99,19 @@ ScUndoDoOutline::ScUndoDoOutline( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoDoOutline::~ScUndoDoOutline()
+ScUndoDoOutline::~ScUndoDoOutline()
{
delete pUndoDoc;
}
-String __EXPORT ScUndoDoOutline::GetComment() const
+String ScUndoDoOutline::GetComment() const
{ // Detail einblenden" "Detail ausblenden"
return bShow ?
ScGlobal::GetRscString( STR_UNDO_DOOUTLINE ) :
ScGlobal::GetRscString( STR_UNDO_REDOOUTLINE );
}
-void __EXPORT ScUndoDoOutline::Undo()
+void ScUndoDoOutline::Undo()
{
BeginUndo();
@@ -146,7 +146,7 @@ void __EXPORT ScUndoDoOutline::Undo()
EndUndo();
}
-void __EXPORT ScUndoDoOutline::Redo()
+void ScUndoDoOutline::Redo()
{
BeginRedo();
@@ -166,11 +166,11 @@ void __EXPORT ScUndoDoOutline::Redo()
EndRedo();
}
-void __EXPORT ScUndoDoOutline::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoDoOutline::Repeat(SfxRepeatTarget& /* rTarget */)
{
}
-BOOL __EXPORT ScUndoDoOutline::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoDoOutline::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE; // geht nicht
}
@@ -192,19 +192,19 @@ ScUndoMakeOutline::ScUndoMakeOutline( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoMakeOutline::~ScUndoMakeOutline()
+ScUndoMakeOutline::~ScUndoMakeOutline()
{
delete pUndoTable;
}
-String __EXPORT ScUndoMakeOutline::GetComment() const
+String ScUndoMakeOutline::GetComment() const
{ // "Gruppierung" "Gruppierung aufheben"
return bMake ?
ScGlobal::GetRscString( STR_UNDO_MAKEOUTLINE ) :
ScGlobal::GetRscString( STR_UNDO_REMAKEOUTLINE );
}
-void __EXPORT ScUndoMakeOutline::Undo()
+void ScUndoMakeOutline::Undo()
{
BeginUndo();
@@ -225,7 +225,7 @@ void __EXPORT ScUndoMakeOutline::Undo()
EndUndo();
}
-void __EXPORT ScUndoMakeOutline::Redo()
+void ScUndoMakeOutline::Redo()
{
BeginRedo();
@@ -243,7 +243,7 @@ void __EXPORT ScUndoMakeOutline::Redo()
EndRedo();
}
-void __EXPORT ScUndoMakeOutline::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoMakeOutline::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -256,7 +256,7 @@ void __EXPORT ScUndoMakeOutline::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoMakeOutline::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoMakeOutline::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -280,18 +280,18 @@ ScUndoOutlineLevel::ScUndoOutlineLevel( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoOutlineLevel::~ScUndoOutlineLevel()
+ScUndoOutlineLevel::~ScUndoOutlineLevel()
{
delete pUndoDoc;
delete pUndoTable;
}
-String __EXPORT ScUndoOutlineLevel::GetComment() const
+String ScUndoOutlineLevel::GetComment() const
{ // "Gliederungsebene auswaehlen";
return ScGlobal::GetRscString( STR_UNDO_OUTLINELEVEL );
}
-void __EXPORT ScUndoOutlineLevel::Undo()
+void ScUndoOutlineLevel::Undo()
{
BeginUndo();
@@ -323,7 +323,7 @@ void __EXPORT ScUndoOutlineLevel::Undo()
EndUndo();
}
-void __EXPORT ScUndoOutlineLevel::Redo()
+void ScUndoOutlineLevel::Redo()
{
BeginRedo();
@@ -340,13 +340,13 @@ void __EXPORT ScUndoOutlineLevel::Redo()
EndRedo();
}
-void __EXPORT ScUndoOutlineLevel::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoOutlineLevel::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->SelectLevel( bColumns, nLevel, TRUE );
}
-BOOL __EXPORT ScUndoOutlineLevel::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoOutlineLevel::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -368,20 +368,20 @@ ScUndoOutlineBlock::ScUndoOutlineBlock( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoOutlineBlock::~ScUndoOutlineBlock()
+ScUndoOutlineBlock::~ScUndoOutlineBlock()
{
delete pUndoDoc;
delete pUndoTable;
}
-String __EXPORT ScUndoOutlineBlock::GetComment() const
+String ScUndoOutlineBlock::GetComment() const
{ // "Detail einblenden" "Detail ausblenden"
return bShow ?
ScGlobal::GetRscString( STR_UNDO_DOOUTLINEBLK ) :
ScGlobal::GetRscString( STR_UNDO_REDOOUTLINEBLK );
}
-void __EXPORT ScUndoOutlineBlock::Undo()
+void ScUndoOutlineBlock::Undo()
{
BeginUndo();
@@ -426,7 +426,7 @@ void __EXPORT ScUndoOutlineBlock::Undo()
EndUndo();
}
-void __EXPORT ScUndoOutlineBlock::Redo()
+void ScUndoOutlineBlock::Redo()
{
BeginRedo();
@@ -441,7 +441,7 @@ void __EXPORT ScUndoOutlineBlock::Redo()
EndRedo();
}
-void __EXPORT ScUndoOutlineBlock::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoOutlineBlock::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -454,7 +454,7 @@ void __EXPORT ScUndoOutlineBlock::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoOutlineBlock::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoOutlineBlock::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -475,18 +475,18 @@ ScUndoRemoveAllOutlines::ScUndoRemoveAllOutlines( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoRemoveAllOutlines::~ScUndoRemoveAllOutlines()
+ScUndoRemoveAllOutlines::~ScUndoRemoveAllOutlines()
{
delete pUndoDoc;
delete pUndoTable;
}
-String __EXPORT ScUndoRemoveAllOutlines::GetComment() const
+String ScUndoRemoveAllOutlines::GetComment() const
{ // "Gliederung entfernen"
return ScGlobal::GetRscString( STR_UNDO_REMOVEALLOTLNS );
}
-void __EXPORT ScUndoRemoveAllOutlines::Undo()
+void ScUndoRemoveAllOutlines::Undo()
{
BeginUndo();
@@ -521,7 +521,7 @@ void __EXPORT ScUndoRemoveAllOutlines::Undo()
EndUndo();
}
-void __EXPORT ScUndoRemoveAllOutlines::Redo()
+void ScUndoRemoveAllOutlines::Redo()
{
BeginRedo();
@@ -539,13 +539,13 @@ void __EXPORT ScUndoRemoveAllOutlines::Redo()
EndRedo();
}
-void __EXPORT ScUndoRemoveAllOutlines::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoRemoveAllOutlines::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->RemoveAllOutlines( TRUE );
}
-BOOL __EXPORT ScUndoRemoveAllOutlines::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoRemoveAllOutlines::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -566,18 +566,18 @@ ScUndoAutoOutline::ScUndoAutoOutline( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoAutoOutline::~ScUndoAutoOutline()
+ScUndoAutoOutline::~ScUndoAutoOutline()
{
delete pUndoDoc;
delete pUndoTable;
}
-String __EXPORT ScUndoAutoOutline::GetComment() const
+String ScUndoAutoOutline::GetComment() const
{ // "Auto-Gliederung"
return ScGlobal::GetRscString( STR_UNDO_AUTOOUTLINE );
}
-void __EXPORT ScUndoAutoOutline::Undo()
+void ScUndoAutoOutline::Undo()
{
BeginUndo();
@@ -617,7 +617,7 @@ void __EXPORT ScUndoAutoOutline::Undo()
EndUndo();
}
-void __EXPORT ScUndoAutoOutline::Redo()
+void ScUndoAutoOutline::Redo()
{
BeginRedo();
@@ -648,13 +648,13 @@ void __EXPORT ScUndoAutoOutline::Redo()
EndRedo();
}
-void __EXPORT ScUndoAutoOutline::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoAutoOutline::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->AutoOutline( TRUE );
}
-BOOL __EXPORT ScUndoAutoOutline::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoAutoOutline::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -679,7 +679,7 @@ ScUndoSubTotals::ScUndoSubTotals( ScDocShell* pNewDocShell, SCTAB nNewTab,
{
}
-__EXPORT ScUndoSubTotals::~ScUndoSubTotals()
+ScUndoSubTotals::~ScUndoSubTotals()
{
delete pUndoDoc;
delete pUndoTable;
@@ -687,12 +687,12 @@ __EXPORT ScUndoSubTotals::~ScUndoSubTotals()
delete pUndoDB;
}
-String __EXPORT ScUndoSubTotals::GetComment() const
+String ScUndoSubTotals::GetComment() const
{ // "Teilergebnisse"
return ScGlobal::GetRscString( STR_UNDO_SUBTOTALS );
}
-void __EXPORT ScUndoSubTotals::Undo()
+void ScUndoSubTotals::Undo()
{
BeginUndo();
@@ -770,7 +770,7 @@ void __EXPORT ScUndoSubTotals::Undo()
EndUndo();
}
-void __EXPORT ScUndoSubTotals::Redo()
+void ScUndoSubTotals::Redo()
{
BeginRedo();
@@ -787,11 +787,11 @@ void __EXPORT ScUndoSubTotals::Redo()
EndRedo();
}
-void __EXPORT ScUndoSubTotals::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoSubTotals::Repeat(SfxRepeatTarget& /* rTarget */)
{
}
-BOOL __EXPORT ScUndoSubTotals::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoSubTotals::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE; // geht nicht wegen Spaltennummern
}
@@ -820,18 +820,18 @@ ScUndoSort::ScUndoSort( ScDocShell* pNewDocShell,
}
}
-__EXPORT ScUndoSort::~ScUndoSort()
+ScUndoSort::~ScUndoSort()
{
delete pUndoDoc;
delete pUndoDB;
}
-String __EXPORT ScUndoSort::GetComment() const
+String ScUndoSort::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_SORT );
}
-void __EXPORT ScUndoSort::Undo()
+void ScUndoSort::Undo()
{
BeginUndo();
@@ -886,7 +886,7 @@ void __EXPORT ScUndoSort::Undo()
EndUndo();
}
-void __EXPORT ScUndoSort::Redo()
+void ScUndoSort::Redo()
{
BeginRedo();
@@ -913,11 +913,11 @@ void __EXPORT ScUndoSort::Redo()
EndRedo();
}
-void __EXPORT ScUndoSort::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoSort::Repeat(SfxRepeatTarget& /* rTarget */)
{
}
-BOOL __EXPORT ScUndoSort::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoSort::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE; // geht nicht wegen Spaltennummern
}
@@ -955,7 +955,7 @@ ScUndoQuery::ScUndoQuery( ScDocShell* pNewDocShell, SCTAB nNewTab, const ScQuery
pDrawUndo = GetSdrUndoAction( pDocShell->GetDocument() );
}
-__EXPORT ScUndoQuery::~ScUndoQuery()
+ScUndoQuery::~ScUndoQuery()
{
delete pUndoDoc;
// delete pUndoDBData;
@@ -963,12 +963,12 @@ __EXPORT ScUndoQuery::~ScUndoQuery()
DeleteSdrUndoAction( pDrawUndo );
}
-String __EXPORT ScUndoQuery::GetComment() const
+String ScUndoQuery::GetComment() const
{ // "Filtern";
return ScGlobal::GetRscString( STR_UNDO_QUERY );
}
-void __EXPORT ScUndoQuery::Undo()
+void ScUndoQuery::Undo()
{
BeginUndo();
@@ -1071,7 +1071,7 @@ void __EXPORT ScUndoQuery::Undo()
EndUndo();
}
-void __EXPORT ScUndoQuery::Redo()
+void ScUndoQuery::Redo()
{
BeginRedo();
@@ -1089,11 +1089,11 @@ void __EXPORT ScUndoQuery::Redo()
EndRedo();
}
-void __EXPORT ScUndoQuery::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoQuery::Repeat(SfxRepeatTarget& /* rTarget */)
{
}
-BOOL __EXPORT ScUndoQuery::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoQuery::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE; // geht nicht wegen Spaltennummern
}
@@ -1182,18 +1182,18 @@ ScUndoDBData::ScUndoDBData( ScDocShell* pNewDocShell,
{
}
-__EXPORT ScUndoDBData::~ScUndoDBData()
+ScUndoDBData::~ScUndoDBData()
{
delete pUndoColl;
delete pRedoColl;
}
-String __EXPORT ScUndoDBData::GetComment() const
+String ScUndoDBData::GetComment() const
{ // "Datenbankbereiche aendern";
return ScGlobal::GetRscString( STR_UNDO_DBDATA );
}
-void __EXPORT ScUndoDBData::Undo()
+void ScUndoDBData::Undo()
{
BeginUndo();
@@ -1211,7 +1211,7 @@ void __EXPORT ScUndoDBData::Undo()
EndUndo();
}
-void __EXPORT ScUndoDBData::Redo()
+void ScUndoDBData::Redo()
{
BeginRedo();
@@ -1229,11 +1229,11 @@ void __EXPORT ScUndoDBData::Redo()
EndRedo();
}
-void __EXPORT ScUndoDBData::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoDBData::Repeat(SfxRepeatTarget& /* rTarget */)
{
}
-BOOL __EXPORT ScUndoDBData::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoDBData::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE; // geht nicht
}
@@ -1262,7 +1262,7 @@ ScUndoImportData::ScUndoImportData( ScDocShell* pNewDocShell, SCTAB nNewTab,
// redo doc doesn't contain imported data (but everything else)
}
-__EXPORT ScUndoImportData::~ScUndoImportData()
+ScUndoImportData::~ScUndoImportData()
{
delete pUndoDoc;
delete pRedoDoc;
@@ -1270,12 +1270,12 @@ __EXPORT ScUndoImportData::~ScUndoImportData()
delete pRedoDBData;
}
-String __EXPORT ScUndoImportData::GetComment() const
+String ScUndoImportData::GetComment() const
{ // "Importieren";
return ScGlobal::GetRscString( STR_UNDO_IMPORTDATA );
}
-void __EXPORT ScUndoImportData::Undo()
+void ScUndoImportData::Undo()
{
BeginUndo();
@@ -1364,7 +1364,7 @@ void __EXPORT ScUndoImportData::Undo()
EndUndo();
}
-void __EXPORT ScUndoImportData::Redo()
+void ScUndoImportData::Redo()
{
BeginRedo();
@@ -1436,7 +1436,7 @@ void __EXPORT ScUndoImportData::Redo()
EndRedo();
}
-void __EXPORT ScUndoImportData::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoImportData::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
{
@@ -1451,7 +1451,7 @@ void __EXPORT ScUndoImportData::Repeat(SfxRepeatTarget& rTarget)
}
}
-BOOL __EXPORT ScUndoImportData::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoImportData::CanRepeat(SfxRepeatTarget& rTarget) const
{
// Repeat nur fuer Import per DB-Bereich, dann ist pUndoDBData gesetzt
@@ -1490,7 +1490,7 @@ ScUndoRepeatDB::ScUndoRepeatDB( ScDocShell* pNewDocShell, SCTAB nNewTab,
}
}
-__EXPORT ScUndoRepeatDB::~ScUndoRepeatDB()
+ScUndoRepeatDB::~ScUndoRepeatDB()
{
delete pUndoDoc;
delete pUndoTable;
@@ -1498,12 +1498,12 @@ __EXPORT ScUndoRepeatDB::~ScUndoRepeatDB()
delete pUndoDB;
}
-String __EXPORT ScUndoRepeatDB::GetComment() const
+String ScUndoRepeatDB::GetComment() const
{ // "Wiederholen"; //! bessere Beschreibung!
return ScGlobal::GetRscString( STR_UNDO_REPEATDB );
}
-void __EXPORT ScUndoRepeatDB::Undo()
+void ScUndoRepeatDB::Undo()
{
BeginUndo();
@@ -1603,7 +1603,7 @@ void __EXPORT ScUndoRepeatDB::Undo()
EndUndo();
}
-void __EXPORT ScUndoRepeatDB::Redo()
+void ScUndoRepeatDB::Redo()
{
BeginRedo();
@@ -1623,13 +1623,13 @@ void __EXPORT ScUndoRepeatDB::Redo()
EndRedo();
}
-void __EXPORT ScUndoRepeatDB::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoRepeatDB::Repeat(SfxRepeatTarget& rTarget)
{
if (rTarget.ISA(ScTabViewTarget))
((ScTabViewTarget&)rTarget).GetViewShell()->RepeatDB( TRUE );
}
-BOOL __EXPORT ScUndoRepeatDB::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoRepeatDB::CanRepeat(SfxRepeatTarget& rTarget) const
{
return (rTarget.ISA(ScTabViewTarget));
}
@@ -1654,7 +1654,7 @@ ScUndoDataPilot::ScUndoDataPilot( ScDocShell* pNewDocShell,
pNewDPObject = new ScDPObject( *pNewObj );
}
-__EXPORT ScUndoDataPilot::~ScUndoDataPilot()
+ScUndoDataPilot::~ScUndoDataPilot()
{
delete pOldDPObject;
delete pNewDPObject;
@@ -1662,7 +1662,7 @@ __EXPORT ScUndoDataPilot::~ScUndoDataPilot()
delete pNewUndoDoc;
}
-String __EXPORT ScUndoDataPilot::GetComment() const
+String ScUndoDataPilot::GetComment() const
{
USHORT nIndex;
if ( pOldUndoDoc && pNewUndoDoc )
@@ -1675,7 +1675,7 @@ String __EXPORT ScUndoDataPilot::GetComment() const
return ScGlobal::GetRscString( nIndex );
}
-void __EXPORT ScUndoDataPilot::Undo()
+void ScUndoDataPilot::Undo()
{
BeginUndo();
@@ -1760,7 +1760,7 @@ void __EXPORT ScUndoDataPilot::Undo()
EndUndo();
}
-void __EXPORT ScUndoDataPilot::Redo()
+void ScUndoDataPilot::Redo()
{
BeginRedo();
@@ -1787,12 +1787,12 @@ void __EXPORT ScUndoDataPilot::Redo()
EndRedo();
}
-void __EXPORT ScUndoDataPilot::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoDataPilot::Repeat(SfxRepeatTarget& /* rTarget */)
{
//! allow deletion
}
-BOOL __EXPORT ScUndoDataPilot::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoDataPilot::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
//! allow deletion
return FALSE;
@@ -1818,19 +1818,19 @@ ScUndoConsolidate::ScUndoConsolidate( ScDocShell* pNewDocShell, const ScArea& rA
{
}
-__EXPORT ScUndoConsolidate::~ScUndoConsolidate()
+ScUndoConsolidate::~ScUndoConsolidate()
{
delete pUndoDoc;
delete pUndoTab;
delete pUndoData;
}
-String __EXPORT ScUndoConsolidate::GetComment() const
+String ScUndoConsolidate::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_CONSOLIDATE );
}
-void __EXPORT ScUndoConsolidate::Undo()
+void ScUndoConsolidate::Undo()
{
BeginUndo();
@@ -1927,7 +1927,7 @@ void __EXPORT ScUndoConsolidate::Undo()
EndUndo();
}
-void __EXPORT ScUndoConsolidate::Redo()
+void ScUndoConsolidate::Redo()
{
BeginRedo();
@@ -1944,11 +1944,11 @@ void __EXPORT ScUndoConsolidate::Redo()
EndRedo();
}
-void __EXPORT ScUndoConsolidate::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoConsolidate::Repeat(SfxRepeatTarget& /* rTarget */)
{
}
-BOOL __EXPORT ScUndoConsolidate::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoConsolidate::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE;
}
@@ -1993,16 +1993,16 @@ ScUndoChartData::ScUndoChartData( ScDocShell* pNewDocShell, const String& rName,
Init();
}
-__EXPORT ScUndoChartData::~ScUndoChartData()
+ScUndoChartData::~ScUndoChartData()
{
}
-String __EXPORT ScUndoChartData::GetComment() const
+String ScUndoChartData::GetComment() const
{
return ScGlobal::GetRscString( STR_UNDO_CHARTDATA );
}
-void __EXPORT ScUndoChartData::Undo()
+void ScUndoChartData::Undo()
{
BeginUndo();
@@ -2012,7 +2012,7 @@ void __EXPORT ScUndoChartData::Undo()
EndUndo();
}
-void __EXPORT ScUndoChartData::Redo()
+void ScUndoChartData::Redo()
{
BeginRedo();
@@ -2022,11 +2022,11 @@ void __EXPORT ScUndoChartData::Redo()
EndRedo();
}
-void __EXPORT ScUndoChartData::Repeat(SfxRepeatTarget& /* rTarget */)
+void ScUndoChartData::Repeat(SfxRepeatTarget& /* rTarget */)
{
}
-BOOL __EXPORT ScUndoChartData::CanRepeat(SfxRepeatTarget& /* rTarget */) const
+BOOL ScUndoChartData::CanRepeat(SfxRepeatTarget& /* rTarget */) const
{
return FALSE;
}
diff --git a/sc/source/ui/undo/undodraw.cxx b/sc/source/ui/undo/undodraw.cxx
index e1bfb468fb4e..cfc83b6592ac 100644
--- a/sc/source/ui/undo/undodraw.cxx
+++ b/sc/source/ui/undo/undodraw.cxx
@@ -42,96 +42,25 @@
#define _TREELIST_HXX
#define _CACHESTR_HXX
#define _NEW_HXX
-//#define _SHL_HXX
-//#define _LINK_HXX
-//#define _ERRCODE_HXX
-//#define _GEN_HXX
-//#define _FRACT_HXX
-//#define _STRING_HXX
-//#define _MTF_HXX
-//#define _CONTNR_HXX
-//#define _LIST_HXX
-//#define _TABLE_HXX
#define _DYNARY_HXX
-//#define _UNQIDX_HXX
#define _SVMEMPOOL_HXX
-//#define _UNQID_HXX
-//#define _DEBUG_HXX
-//#define _DATE_HXX
-//#define _TIME_HXX
-//#define _DATETIME_HXX
-//#define _INTN_HXX
-//#define _WLDCRD_HXX
-//#define _FSYS_HXX
-//#define _STREAM_HXX
#define _CACHESTR_HXX
#define _SV_MULTISEL_HXX
//SV
-//#define _CLIP_HXX
#define _CONFIG_HXX
#define _CURSOR_HXX
#define _FONTDLG_HXX
#define _PRVWIN_HXX
-//#define _COLOR_HXX
-//#define _PAL_HXX
-//#define _BITMAP_HXX
-//#define _GDIOBJ_HXX
-//#define _POINTR_HXX
-//#define _ICON_HXX
-//#define _IMAGE_HXX
-//#define _KEYCOD_HXX
-//#define _EVENT_HXX
#define _HELP_HXX
-//#define _APP_HXX
-//#define _MDIAPP_HXX
-//#define _TIMER_HXX
-//#define _METRIC_HXX
-//#define _REGION_HXX
-//#define _OUTDEV_HXX
-//#define _SYSTEM_HXX
-//#define _VIRDEV_HXX
-//#define _JOBSET_HXX
-//#define _PRINT_HXX
-//#define _WINDOW_HXX
-//#define _SYSWIN_HXX
-//#define _WRKWIN_HXX
#define _MDIWIN_HXX
-//#define _FLOATWIN_HXX
-//#define _DOCKWIN_HXX
-//#define _CTRL_HXX
-//#define _SCRBAR_HXX
-//#define _BUTTON_HXX
-//#define _IMAGEBTN_HXX
-//#define _FIXED_HXX
-//#define _GROUP_HXX
-//#define _EDIT_HXX
-//#define _COMBOBOX_HXX
-//#define _LSTBOX_HXX
-//#define _SELENG_HXX
-//#define _SPLIT_HXX
#define _SPIN_HXX
-//#define _FIELD_HXX
-//#define _MOREBTN_HXX
-//#define _TOOLBOX_HXX
-//#define _STATUS_HXX
-//#define _DIALOG_HXX
-//#define _MSGBOX_HXX
-//#define _SYSDLG_HXX
#define _FILDLG_HXX
-//#define _PRNDLG_HXX
#define _COLDLG_HXX
-//#define _TABDLG_HXX
-//#define _MENU_HXX
-//#define _GDIMTF_HXX
-//#define _POLY_HXX
-//#define _ACCEL_HXX
-//#define _GRAPH_HXX
#define _SOUND_HXX
#define SI_NOITEMS
-//#define SI_NODRW
#define _SI_NOSBXCONTROLS
#define _SI_NOOTHERFORMS
#define _SI_NOCONTROL
@@ -141,8 +70,6 @@
// SFX
#define _SFXAPPWIN_HXX
#define _SFX_SAVEOPT_HXX
-//#define _SFX_CHILDWIN_HXX
-//#define _SFXCTRLITEM_HXX
#define _SFXPRNMON_HXX
#define _INTRO_HXX
#define _SFXMSGDESCR_HXX
@@ -178,7 +105,7 @@ ScUndoDraw::ScUndoDraw( SfxUndoAction* pUndo, ScDocShell* pDocSh ) :
{
}
-__EXPORT ScUndoDraw::~ScUndoDraw()
+ScUndoDraw::~ScUndoDraw()
{
delete pDrawUndo;
}
@@ -188,7 +115,7 @@ void ScUndoDraw::ForgetDrawUndo()
pDrawUndo = NULL; // nicht loeschen (Draw-Undo muss dann von aussen gemerkt werden)
}
-String __EXPORT ScUndoDraw::GetComment() const
+String ScUndoDraw::GetComment() const
{
if (pDrawUndo)
return pDrawUndo->GetComment();
@@ -196,7 +123,7 @@ String __EXPORT ScUndoDraw::GetComment() const
return String();
}
-String __EXPORT ScUndoDraw::GetRepeatComment(SfxRepeatTarget& rTarget) const
+String ScUndoDraw::GetRepeatComment(SfxRepeatTarget& rTarget) const
{
if (pDrawUndo)
return pDrawUndo->GetRepeatComment(rTarget);
@@ -204,7 +131,7 @@ String __EXPORT ScUndoDraw::GetRepeatComment(SfxRepeatTarget& rTarget) const
return String();
}
-USHORT __EXPORT ScUndoDraw::GetId() const
+USHORT ScUndoDraw::GetId() const
{
if (pDrawUndo)
return pDrawUndo->GetId();
@@ -212,7 +139,7 @@ USHORT __EXPORT ScUndoDraw::GetId() const
return 0;
}
-BOOL __EXPORT ScUndoDraw::IsLinked()
+BOOL ScUndoDraw::IsLinked()
{
if (pDrawUndo)
return pDrawUndo->IsLinked();
@@ -220,13 +147,13 @@ BOOL __EXPORT ScUndoDraw::IsLinked()
return FALSE;
}
-void __EXPORT ScUndoDraw::SetLinked( BOOL bIsLinked )
+void ScUndoDraw::SetLinked( BOOL bIsLinked )
{
if (pDrawUndo)
pDrawUndo->SetLinked(bIsLinked);
}
-BOOL __EXPORT ScUndoDraw::Merge( SfxUndoAction* pNextAction )
+BOOL ScUndoDraw::Merge( SfxUndoAction* pNextAction )
{
if (pDrawUndo)
return pDrawUndo->Merge(pNextAction);
@@ -234,7 +161,7 @@ BOOL __EXPORT ScUndoDraw::Merge( SfxUndoAction* pNextAction )
return FALSE;
}
-void __EXPORT ScUndoDraw::Undo()
+void ScUndoDraw::Undo()
{
if (pDrawUndo)
{
@@ -243,7 +170,7 @@ void __EXPORT ScUndoDraw::Undo()
}
}
-void __EXPORT ScUndoDraw::Redo()
+void ScUndoDraw::Redo()
{
if (pDrawUndo)
{
@@ -252,13 +179,13 @@ void __EXPORT ScUndoDraw::Redo()
}
}
-void __EXPORT ScUndoDraw::Repeat(SfxRepeatTarget& rTarget)
+void ScUndoDraw::Repeat(SfxRepeatTarget& rTarget)
{
if (pDrawUndo)
pDrawUndo->Repeat(rTarget);
}
-BOOL __EXPORT ScUndoDraw::CanRepeat(SfxRepeatTarget& rTarget) const
+BOOL ScUndoDraw::CanRepeat(SfxRepeatTarget& rTarget) const
{
if (pDrawUndo)
return pDrawUndo->CanRepeat(rTarget);
diff --git a/sc/source/ui/undo/undostyl.cxx b/sc/source/ui/undo/undostyl.cxx
index 5d4af591a2bc..619736f8f188 100644
--- a/sc/source/ui/undo/undostyl.cxx
+++ b/sc/source/ui/undo/undostyl.cxx
@@ -141,7 +141,6 @@ void lcl_DocStyleChanged( ScDocument* pDoc, SfxStyleSheetBase* pStyle, BOOL bRem
pHdl->ForgetLastPattern();
}
-// static
void ScUndoModifyStyle::DoChange( ScDocShell* pDocSh, const String& rName,
SfxStyleFamily eStyleFamily, const ScStyleSaveData& rData )
{
diff --git a/sc/source/ui/undo/undotab.cxx b/sc/source/ui/undo/undotab.cxx
index c3fdfc156528..e51d749da84c 100644
--- a/sc/source/ui/undo/undotab.cxx
+++ b/sc/source/ui/undo/undotab.cxx
@@ -61,7 +61,10 @@ extern BOOL bDrawIsInUndo; //! irgendwo als Member !!!
using namespace com::sun::star;
using ::com::sun::star::uno::Sequence;
+using ::rtl::OUString;
using ::std::auto_ptr;
+using ::std::vector;
+using ::boost::shared_ptr;
// STATIC DATA -----------------------------------------------------------
@@ -543,23 +546,24 @@ BOOL ScUndoRenameTab::CanRepeat(SfxRepeatTarget& /* rTarget */) const
// Tabelle verschieben
//
-ScUndoMoveTab::ScUndoMoveTab( ScDocShell* pNewDocShell,
- const SvShorts &aOldTab,
- const SvShorts &aNewTab) :
- ScSimpleUndo( pNewDocShell )
+ScUndoMoveTab::ScUndoMoveTab(
+ ScDocShell* pNewDocShell, vector<SCTAB>* pOldTabs, vector<SCTAB>* pNewTabs,
+ vector<OUString>* pOldNames, vector<OUString>* pNewNames) :
+ ScSimpleUndo( pNewDocShell ),
+ mpOldTabs(pOldTabs), mpNewTabs(pNewTabs),
+ mpOldNames(pOldNames), mpNewNames(pNewNames)
{
- int i;
- for(i=0;i<aOldTab.Count();i++)
- theOldTabs.Insert(aOldTab[sal::static_int_cast<USHORT>(i)],theOldTabs.Count());
+ if (mpOldNames && mpOldTabs->size() != mpOldNames->size())
+ // The sizes differ. Something is wrong.
+ mpOldNames.reset();
- for(i=0;i<aNewTab.Count();i++)
- theNewTabs.Insert(aNewTab[sal::static_int_cast<USHORT>(i)],theNewTabs.Count());
+ if (mpNewNames && mpNewTabs->size() != mpNewNames->size())
+ // The sizes differ. Something is wrong.
+ mpNewNames.reset();
}
ScUndoMoveTab::~ScUndoMoveTab()
{
- theNewTabs.Remove(0,theNewTabs.Count());
- theOldTabs.Remove(0,theOldTabs.Count());
}
String ScUndoMoveTab::GetComment() const
@@ -574,31 +578,41 @@ void ScUndoMoveTab::DoChange( BOOL bUndo ) const
if (bUndo) // UnDo
{
- for(int i=theNewTabs.Count()-1;i>=0;i--)
+ for (size_t i = mpNewTabs->size(); i > 0; --i)
{
- SCTAB nDestTab = theNewTabs[sal::static_int_cast<USHORT>(i)];
- SCTAB nOldTab = theOldTabs[sal::static_int_cast<USHORT>(i)];
+ SCTAB nDestTab = (*mpNewTabs)[i-1];
+ SCTAB nOldTab = (*mpOldTabs)[i-1];
if (nDestTab > MAXTAB) // angehaengt ?
nDestTab = pDoc->GetTableCount() - 1;
pDoc->MoveTab( nDestTab, nOldTab );
pViewShell->GetViewData()->MoveTab( nDestTab, nOldTab );
pViewShell->SetTabNo( nOldTab, TRUE );
+ if (mpOldNames)
+ {
+ const OUString& rOldName = (*mpOldNames)[i-1];
+ pDoc->RenameTab(nOldTab, rOldName);
+ }
}
}
else
{
- for(int i=0;i<theNewTabs.Count();i++)
+ for (size_t i = 0, n = mpNewTabs->size(); i < n; ++i)
{
- SCTAB nDestTab = theNewTabs[sal::static_int_cast<USHORT>(i)];
- SCTAB nNewTab = theNewTabs[sal::static_int_cast<USHORT>(i)];
- SCTAB nOldTab = theOldTabs[sal::static_int_cast<USHORT>(i)];
+ SCTAB nDestTab = (*mpNewTabs)[i];
+ SCTAB nNewTab = nDestTab;
+ SCTAB nOldTab = (*mpOldTabs)[i];
if (nDestTab > MAXTAB) // angehaengt ?
nDestTab = pDoc->GetTableCount() - 1;
pDoc->MoveTab( nOldTab, nNewTab );
pViewShell->GetViewData()->MoveTab( nOldTab, nNewTab );
pViewShell->SetTabNo( nDestTab, TRUE );
+ if (mpNewNames)
+ {
+ const OUString& rNewName = (*mpNewNames)[i];
+ pDoc->RenameTab(nNewTab, rNewName);
+ }
}
}
@@ -635,20 +649,21 @@ BOOL ScUndoMoveTab::CanRepeat(SfxRepeatTarget& /* rTarget */) const
// Tabelle kopieren
//
-ScUndoCopyTab::ScUndoCopyTab( ScDocShell* pNewDocShell,
- const SvShorts &aOldTab,
- const SvShorts &aNewTab) :
+ScUndoCopyTab::ScUndoCopyTab(
+ ScDocShell* pNewDocShell,
+ vector<SCTAB>* pOldTabs, vector<SCTAB>* pNewTabs,
+ vector<OUString>* pNewNames) :
ScSimpleUndo( pNewDocShell ),
+ mpOldTabs(pOldTabs),
+ mpNewTabs(pNewTabs),
+ mpNewNames(pNewNames),
pDrawUndo( NULL )
{
pDrawUndo = GetSdrUndoAction( pDocShell->GetDocument() );
- int i;
- for(i=0;i<aOldTab.Count();i++)
- theOldTabs.Insert(aOldTab[sal::static_int_cast<USHORT>(i)],theOldTabs.Count());
-
- for(i=0;i<aNewTab.Count();i++)
- theNewTabs.Insert(aNewTab[sal::static_int_cast<USHORT>(i)],theNewTabs.Count());
+ if (mpNewNames && mpNewTabs->size() != mpNewNames->size())
+ // The sizes differ. Something is wrong.
+ mpNewNames.reset();
}
ScUndoCopyTab::~ScUndoCopyTab()
@@ -666,7 +681,7 @@ void ScUndoCopyTab::DoChange() const
ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell();
if (pViewShell)
- pViewShell->SetTabNo(theOldTabs[0],TRUE);
+ pViewShell->SetTabNo((*mpOldTabs)[0],TRUE);
SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_TABLES_CHANGED ) ); // Navigator
@@ -681,10 +696,10 @@ void ScUndoCopyTab::Undo()
DoSdrUndoAction( pDrawUndo, pDoc ); // before the sheets are deleted
- int i;
- for(i=theNewTabs.Count()-1;i>=0;i--)
+ vector<SCTAB>::const_reverse_iterator itr, itrEnd = mpNewTabs->rend();
+ for (itr = mpNewTabs->rbegin(); itr != itrEnd; ++itr)
{
- SCTAB nDestTab = theNewTabs[sal::static_int_cast<USHORT>(i)];
+ SCTAB nDestTab = *itr;
if (nDestTab > MAXTAB) // append?
nDestTab = pDoc->GetTableCount() - 1;
@@ -696,9 +711,9 @@ void ScUndoCopyTab::Undo()
// ScTablesHint broadcasts after all sheets have been deleted,
// so sheets and draw pages are in sync!
- for(i=theNewTabs.Count()-1;i>=0;i--)
+ for (itr = mpNewTabs->rbegin(); itr != itrEnd; ++itr)
{
- SCTAB nDestTab = theNewTabs[sal::static_int_cast<USHORT>(i)];
+ SCTAB nDestTab = *itr;
if (nDestTab > MAXTAB) // append?
nDestTab = pDoc->GetTableCount() - 1;
@@ -714,11 +729,11 @@ void ScUndoCopyTab::Redo()
ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell();
SCTAB nDestTab = 0;
- for(int i=0;i<theNewTabs.Count();i++)
+ for (size_t i = 0, n = mpNewTabs->size(); i < n; ++i)
{
- nDestTab = theNewTabs[sal::static_int_cast<USHORT>(i)];
- SCTAB nNewTab = theNewTabs[sal::static_int_cast<USHORT>(i)];
- SCTAB nOldTab = theOldTabs[sal::static_int_cast<USHORT>(i)];
+ nDestTab = (*mpNewTabs)[i];
+ SCTAB nNewTab = nDestTab;
+ SCTAB nOldTab = (*mpOldTabs)[i];
if (nDestTab > MAXTAB) // angehaengt ?
nDestTab = pDoc->GetTableCount() - 1;
@@ -748,6 +763,12 @@ void ScUndoCopyTab::Redo()
if ( pDoc->IsTabProtected( nAdjSource ) )
pDoc->CopyTabProtection(nAdjSource, nNewTab);
+
+ if (mpNewNames)
+ {
+ const OUString& rName = (*mpNewNames)[i];
+ pDoc->RenameTab(nNewTab, rName);
+ }
}
RedoSdrUndoAction( pDrawUndo ); // after the sheets are inserted
diff --git a/sc/source/ui/unoobj/ChartRangeSelectionListener.cxx b/sc/source/ui/unoobj/ChartRangeSelectionListener.cxx
index ac4b8550c292..d81e376fdfa7 100644
--- a/sc/source/ui/unoobj/ChartRangeSelectionListener.cxx
+++ b/sc/source/ui/unoobj/ChartRangeSelectionListener.cxx
@@ -70,16 +70,6 @@ void SAL_CALL ScChartRangeSelectionListener::selectionChanged( const lang::Event
{
m_pViewShell->DoChartSelection( aRanges );
}
-// SfxViewFrame *pFrame = SfxViewFrame::GetFirst( m_pDocShell );
-// while (pFrame)
-// {
-// SfxViewShell* pSh = pFrame->GetViewShell();
-// if (pSh && pSh->ISA(ScTabViewShell))
-// {
-// ScTabViewShell* pViewSh = (ScTabViewShell*)pSh;
-// }
-// pFrame = SfxViewFrame::GetNext( *pFrame, m_pDocShell );
-// }
}
}
diff --git a/sc/source/ui/unoobj/addruno.cxx b/sc/source/ui/unoobj/addruno.cxx
index e9618d43210c..4b4a0381e18f 100644
--- a/sc/source/ui/unoobj/addruno.cxx
+++ b/sc/source/ui/unoobj/addruno.cxx
@@ -117,7 +117,7 @@ uno::Reference<beans::XPropertySetInfo> SAL_CALL ScAddressConversionObj::getProp
{
{MAP_CHAR_LEN(SC_UNONAME_ADDRESS), 0, &getCppuType((table::CellRangeAddress*)0), 0, 0 },
{MAP_CHAR_LEN(SC_UNONAME_PERSREPR), 0, &getCppuType((rtl::OUString*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_XL_A1_REPR), 0, &getCppuType((rtl::OUString*)0), 0, 0 },
+ {MAP_CHAR_LEN(SC_UNONAME_XLA1REPR), 0, &getCppuType((rtl::OUString*)0), 0, 0 },
{MAP_CHAR_LEN(SC_UNONAME_REFSHEET), 0, &getCppuType((sal_Int32*)0), 0, 0 },
{MAP_CHAR_LEN(SC_UNONAME_UIREPR), 0, &getCppuType((rtl::OUString*)0), 0, 0 },
{0,0,0,0,0,0}
@@ -131,7 +131,7 @@ uno::Reference<beans::XPropertySetInfo> SAL_CALL ScAddressConversionObj::getProp
{
{MAP_CHAR_LEN(SC_UNONAME_ADDRESS), 0, &getCppuType((table::CellAddress*)0), 0, 0 },
{MAP_CHAR_LEN(SC_UNONAME_PERSREPR), 0, &getCppuType((rtl::OUString*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_XL_A1_REPR), 0, &getCppuType((rtl::OUString*)0), 0, 0 },
+ {MAP_CHAR_LEN(SC_UNONAME_XLA1REPR), 0, &getCppuType((rtl::OUString*)0), 0, 0 },
{MAP_CHAR_LEN(SC_UNONAME_REFSHEET), 0, &getCppuType((sal_Int32*)0), 0, 0 },
{MAP_CHAR_LEN(SC_UNONAME_UIREPR), 0, &getCppuType((rtl::OUString*)0), 0, 0 },
{0,0,0,0,0,0}
@@ -193,11 +193,11 @@ void SAL_CALL ScAddressConversionObj::setPropertyValue( const rtl::OUString& aPr
bSuccess = ParseUIString( aUIString );
}
}
- else if ( aNameStr.EqualsAscii( SC_UNONAME_PERSREPR ) || aNameStr.EqualsAscii( SC_UNONAME_XL_A1_REPR ) )
+ else if ( aNameStr.EqualsAscii( SC_UNONAME_PERSREPR ) || aNameStr.EqualsAscii( SC_UNONAME_XLA1REPR ) )
{
- ::formula::FormulaGrammar::AddressConvention aConv = ::formula::FormulaGrammar::CONV_OOO;
- if ( aNameStr.EqualsAscii( SC_UNONAME_XL_A1_REPR ) )
- aConv = ::formula::FormulaGrammar::CONV_XL_A1;
+ ::formula::FormulaGrammar::AddressConvention aConv = aNameStr.EqualsAscii( SC_UNONAME_PERSREPR ) ?
+ ::formula::FormulaGrammar::CONV_OOO : ::formula::FormulaGrammar::CONV_XL_A1;
+
// parse the file format string
rtl::OUString sRepresentation;
if (aValue >>= sRepresentation)
@@ -271,24 +271,23 @@ uno::Any SAL_CALL ScAddressConversionObj::getPropertyValue( const rtl::OUString&
aRange.aStart.Format( aFormatStr, nFlags, pDoc );
aRet <<= rtl::OUString( aFormatStr );
}
- else if ( aNameStr.EqualsAscii( SC_UNONAME_PERSREPR ) || aNameStr.EqualsAscii( SC_UNONAME_XL_A1_REPR ) )
+ else if ( aNameStr.EqualsAscii( SC_UNONAME_PERSREPR ) || aNameStr.EqualsAscii( SC_UNONAME_XLA1REPR ) )
{
- ::formula::FormulaGrammar::AddressConvention aConv = ::formula::FormulaGrammar::CONV_OOO;
- if ( aNameStr.EqualsAscii( SC_UNONAME_XL_A1_REPR ) )
- aConv = ::formula::FormulaGrammar::CONV_XL_A1;
+ ::formula::FormulaGrammar::AddressConvention eConv = aNameStr.EqualsAscii( SC_UNONAME_PERSREPR ) ?
+ ::formula::FormulaGrammar::CONV_OOO : ::formula::FormulaGrammar::CONV_XL_A1;
// generate file format string - always include sheet
String aFormatStr;
- aRange.aStart.Format( aFormatStr, SCA_VALID | SCA_TAB_3D, pDoc, aConv );
+ aRange.aStart.Format( aFormatStr, SCA_VALID | SCA_TAB_3D, pDoc, eConv );
if ( bIsRange )
{
// manually concatenate range so both parts always have the sheet name
aFormatStr.Append( (sal_Unicode) ':' );
String aSecond;
USHORT nFlags = SCA_VALID;
- if( aConv != ::formula::FormulaGrammar::CONV_XL_A1 )
- nFlags |= SCA_TAB_3D;
- aRange.aEnd.Format( aSecond, SCA_VALID | SCA_TAB_3D, pDoc, aConv );
+ if( eConv != ::formula::FormulaGrammar::CONV_XL_A1 )
+ nFlags |= SCA_TAB_3D;
+ aRange.aEnd.Format( aSecond, SCA_VALID | SCA_TAB_3D, pDoc, eConv );
aFormatStr.Append( aSecond );
}
aRet <<= rtl::OUString( aFormatStr );
@@ -305,7 +304,7 @@ SC_IMPL_DUMMY_PROPERTY_LISTENER( ScAddressConversionObj )
rtl::OUString SAL_CALL ScAddressConversionObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScAddressConversionObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScAddressConversionObj" ));
}
sal_Bool SAL_CALL ScAddressConversionObj::supportsService( const rtl::OUString& rServiceName )
@@ -321,8 +320,8 @@ uno::Sequence<rtl::OUString> SAL_CALL ScAddressConversionObj::getSupportedServic
{
uno::Sequence<rtl::OUString> aRet(1);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( bIsRange ? SC_SERVICENAME_RANGEADDRESS
- : SC_SERVICENAME_CELLADDRESS );
+ pArray[0] = bIsRange ? rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_SERVICENAME_RANGEADDRESS))
+ : rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_SERVICENAME_CELLADDRESS));
return aRet;
}
diff --git a/sc/source/ui/unoobj/afmtuno.cxx b/sc/source/ui/unoobj/afmtuno.cxx
index bd1991203887..8f98266d87d0 100644
--- a/sc/source/ui/unoobj/afmtuno.cxx
+++ b/sc/source/ui/unoobj/afmtuno.cxx
@@ -209,14 +209,14 @@ uno::Reference<uno::XInterface> SAL_CALL ScAutoFormatsObj_CreateInstance(
rtl::OUString ScAutoFormatsObj::getImplementationName_Static()
{
- return rtl::OUString::createFromAscii( "stardiv.StarCalc.ScAutoFormatsObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "stardiv.StarCalc.ScAutoFormatsObj" ));
}
uno::Sequence<rtl::OUString> ScAutoFormatsObj::getSupportedServiceNames_Static()
{
uno::Sequence<rtl::OUString> aRet(1);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCAUTOFORMATSOBJ_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCAUTOFORMATSOBJ_SERVICE ));
return aRet;
}
@@ -470,7 +470,6 @@ sal_Int64 SAL_CALL ScAutoFormatObj::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScAutoFormatObj::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -487,7 +486,6 @@ const uno::Sequence<sal_Int8>& ScAutoFormatObj::getUnoTunnelId()
return *pSeq;
}
-// static
ScAutoFormatObj* ScAutoFormatObj::getImplementation(
const uno::Reference<uno::XInterface> xObj )
{
diff --git a/sc/source/ui/unoobj/appluno.cxx b/sc/source/ui/unoobj/appluno.cxx
index 6db804e0bb9f..55883b5ed5f7 100644
--- a/sc/source/ui/unoobj/appluno.cxx
+++ b/sc/source/ui/unoobj/appluno.cxx
@@ -189,9 +189,9 @@ static void lcl_WriteInfo( registry::XRegistryKey* pRegistryKey,
const uno::Sequence< rtl::OUString >& rServices )
throw( registry::InvalidRegistryException )
{
- rtl::OUString aImpl(rtl::OUString::createFromAscii( "/" ));
+ rtl::OUString aImpl(RTL_CONSTASCII_USTRINGPARAM( "/" ));
aImpl += rImplementationName;
- aImpl += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
+ aImpl += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES" ));
uno::Reference<registry::XRegistryKey> xNewKey(pRegistryKey->createKey(aImpl));
const rtl::OUString* pArray = rServices.getConstArray();
@@ -504,14 +504,14 @@ uno::Reference<uno::XInterface> SAL_CALL ScSpreadsheetSettings_CreateInstance(
rtl::OUString ScSpreadsheetSettings::getImplementationName_Static()
{
- return rtl::OUString::createFromAscii( "stardiv.StarCalc.ScSpreadsheetSettings" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "stardiv.StarCalc.ScSpreadsheetSettings" ));
}
uno::Sequence<rtl::OUString> ScSpreadsheetSettings::getSupportedServiceNames_Static()
{
uno::Sequence<rtl::OUString> aRet(1);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCSPREADSHEETSETTINGS_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCSPREADSHEETSETTINGS_SERVICE ));
return aRet;
}
@@ -767,14 +767,14 @@ uno::Reference<uno::XInterface> SAL_CALL ScRecentFunctionsObj_CreateInstance(
rtl::OUString ScRecentFunctionsObj::getImplementationName_Static()
{
- return rtl::OUString::createFromAscii( "stardiv.StarCalc.ScRecentFunctionsObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "stardiv.StarCalc.ScRecentFunctionsObj" ));
}
uno::Sequence<rtl::OUString> ScRecentFunctionsObj::getSupportedServiceNames_Static()
{
uno::Sequence<rtl::OUString> aRet(1);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCRECENTFUNCTIONSOBJ_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCRECENTFUNCTIONSOBJ_SERVICE ));
return aRet;
}
@@ -848,14 +848,14 @@ uno::Reference<uno::XInterface> SAL_CALL ScFunctionListObj_CreateInstance(
rtl::OUString ScFunctionListObj::getImplementationName_Static()
{
- return rtl::OUString::createFromAscii( "stardiv.StarCalc.ScFunctionListObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "stardiv.StarCalc.ScFunctionListObj" ));
}
uno::Sequence<rtl::OUString> ScFunctionListObj::getSupportedServiceNames_Static()
{
uno::Sequence<rtl::OUString> aRet(1);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCFUNCTIONLISTOBJ_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCFUNCTIONLISTOBJ_SERVICE ));
return aRet;
}
@@ -868,21 +868,21 @@ static void lcl_FillSequence( uno::Sequence<beans::PropertyValue>& rSequence, co
beans::PropertyValue* pArray = rSequence.getArray();
- pArray[0].Name = rtl::OUString::createFromAscii( SC_UNONAME_ID );
+ pArray[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_ID ));
pArray[0].Value <<= (sal_Int32) rDesc.nFIndex;
- pArray[1].Name = rtl::OUString::createFromAscii( SC_UNONAME_CATEGORY );
+ pArray[1].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_CATEGORY ));
pArray[1].Value <<= (sal_Int32) rDesc.nCategory;
- pArray[2].Name = rtl::OUString::createFromAscii( SC_UNONAME_NAME );
+ pArray[2].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_NAME ));
if (rDesc.pFuncName)
pArray[2].Value <<= rtl::OUString( *rDesc.pFuncName );
- pArray[3].Name = rtl::OUString::createFromAscii( SC_UNONAME_DESCRIPTION );
+ pArray[3].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_DESCRIPTION ));
if (rDesc.pFuncDesc)
pArray[3].Value <<= rtl::OUString( *rDesc.pFuncDesc );
- pArray[4].Name = rtl::OUString::createFromAscii( SC_UNONAME_ARGUMENTS );
+ pArray[4].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_ARGUMENTS ));
if (rDesc.ppDefArgNames && rDesc.ppDefArgDescs && rDesc.pDefArgFlags )
{
USHORT nCount = rDesc.nArgCount;
@@ -952,7 +952,7 @@ uno::Any SAL_CALL ScFunctionListObj::getByName( const rtl::OUString& aName )
lang::WrappedTargetException, uno::RuntimeException)
{
SolarMutexGuard aGuard;
- String aNameStr(aName);
+ ::rtl::OUString aNameStr(aName);
const ScFunctionList* pFuncList = ScGlobal::GetStarCalcFunctionList();
if ( pFuncList )
{
@@ -982,10 +982,10 @@ uno::Any SAL_CALL ScFunctionListObj::getByName( const rtl::OUString& aName )
sal_Int32 SAL_CALL ScFunctionListObj::getCount() throw(uno::RuntimeException)
{
SolarMutexGuard aGuard;
- USHORT nCount = 0;
+ sal_Int32 nCount = 0;
const ScFunctionList* pFuncList = ScGlobal::GetStarCalcFunctionList();
if ( pFuncList )
- nCount = (USHORT)pFuncList->GetCount();
+ nCount = static_cast<sal_Int32>(pFuncList->GetCount());
return nCount;
}
@@ -1045,10 +1045,10 @@ uno::Sequence<rtl::OUString> SAL_CALL ScFunctionListObj::getElementNames() throw
const ScFunctionList* pFuncList = ScGlobal::GetStarCalcFunctionList();
if ( pFuncList )
{
- USHORT nCount = (USHORT)pFuncList->GetCount();
+ sal_uInt32 nCount = pFuncList->GetCount();
uno::Sequence<rtl::OUString> aSeq(nCount);
rtl::OUString* pAry = aSeq.getArray();
- for (USHORT nIndex=0; nIndex<nCount; nIndex++)
+ for (sal_uInt32 nIndex=0; nIndex<nCount; ++nIndex)
{
const ScFuncDesc* pDesc = pFuncList->GetFunction(nIndex);
if ( pDesc && pDesc->pFuncName )
@@ -1063,20 +1063,19 @@ sal_Bool SAL_CALL ScFunctionListObj::hasByName( const rtl::OUString& aName )
throw(uno::RuntimeException)
{
SolarMutexGuard aGuard;
- String aNameStr(aName);
const ScFunctionList* pFuncList = ScGlobal::GetStarCalcFunctionList();
if ( pFuncList )
{
- USHORT nCount = (USHORT)pFuncList->GetCount();
- for (USHORT nIndex=0; nIndex<nCount; nIndex++)
+ sal_uInt32 nCount = pFuncList->GetCount();
+ for (sal_uInt32 nIndex=0; nIndex<nCount; ++nIndex)
{
const ScFuncDesc* pDesc = pFuncList->GetFunction(nIndex);
//! Case-insensitiv ???
- if ( pDesc && pDesc->pFuncName && aNameStr == *pDesc->pFuncName )
- return TRUE;
+ if ( pDesc && pDesc->pFuncName && aName == *pDesc->pFuncName )
+ return sal_True;
}
}
- return FALSE;
+ return sal_False;
}
//------------------------------------------------------------------------
diff --git a/sc/source/ui/unoobj/celllistsource.cxx b/sc/source/ui/unoobj/celllistsource.cxx
index c10fadccea7c..cf058b3bb6da 100644
--- a/sc/source/ui/unoobj/celllistsource.cxx
+++ b/sc/source/ui/unoobj/celllistsource.cxx
@@ -90,7 +90,7 @@ namespace calc
// register our property at the base class
CellRangeAddress aInitialPropValue;
registerPropertyNoMember(
- ::rtl::OUString::createFromAscii( "CellRange" ),
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "CellRange" )),
PROP_HANDLE_RANGE_ADDRESS,
PropertyAttribute::BOUND | PropertyAttribute::READONLY,
::getCppuType( &aInitialPropValue ),
diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx
index 8514810406df..fc908d3b6e13 100644
--- a/sc/source/ui/unoobj/cellsuno.cxx
+++ b/sc/source/ui/unoobj/cellsuno.cxx
@@ -29,7 +29,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-
#include "scitems.hxx"
#include <editeng/eeitem.hxx>
#include <svx/svdpool.hxx>
@@ -126,6 +125,7 @@
#include "formula/errorcodes.hxx"
#include "unoreflist.hxx"
#include "formula/grammar.hxx"
+#include "editeng/escpitem.hxx"
#include <list>
@@ -133,7 +133,6 @@ using namespace com::sun::star;
//------------------------------------------------------------------------
-
class ScNamedEntry
{
String aName;
@@ -147,7 +146,6 @@ public:
const ScRange& GetRange() const { return aRange; }
};
-
//------------------------------------------------------------------------
// Die Namen in den Maps muessen (nach strcmp) sortiert sein!
@@ -456,6 +454,7 @@ const SfxItemPropertySet* lcl_GetCellPropertySet()
{MAP_CHAR_LEN(SC_UNONAME_CELLVJUS), ATTR_VER_JUSTIFY, &getCppuType((sal_Int32*)0), 0, 0 },
{MAP_CHAR_LEN(SC_UNONAME_CELLVJUS_METHOD), ATTR_VER_JUSTIFY_METHOD, &::getCppuType((const sal_Int32*)0), 0, 0 },
{MAP_CHAR_LEN(SC_UNONAME_WRITING), ATTR_WRITINGDIR, &getCppuType((sal_Int16*)0), 0, 0 },
+ {MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_ESCAPEMENT), EE_CHAR_ESCAPEMENT, &getCppuType((sal_Int32*)0), 0, 0 },
{0,0,0,0,0,0}
};
static SfxItemPropertySet aCellPropertySet( aCellPropertyMap_Impl );
@@ -813,7 +812,6 @@ const SvxItemPropertySet* lcl_GetEditPropertySet()
return &aEditPropertySet;
}
-
//------------------------------------------------------------------------
//! diese Funktionen in einen allgemeinen Header verschieben
@@ -880,8 +878,8 @@ void lcl_CopyProperties( beans::XPropertySet& rDest, beans::XPropertySet& rSourc
SCTAB lcl_FirstTab( const ScRangeList& rRanges )
{
- DBG_ASSERT(rRanges.Count() >= 1, "was fuer Ranges ?!?!");
- const ScRange* pFirst = rRanges.GetObject(0);
+ DBG_ASSERT(rRanges.size() >= 1, "was fuer Ranges ?!?!");
+ const ScRange* pFirst = rRanges[ 0 ];
if (pFirst)
return pFirst->aStart.Tab();
@@ -890,9 +888,9 @@ SCTAB lcl_FirstTab( const ScRangeList& rRanges )
BOOL lcl_WholeSheet( const ScRangeList& rRanges )
{
- if ( rRanges.Count() == 1 )
+ if ( rRanges.size() == 1 )
{
- ScRange* pRange = rRanges.GetObject(0);
+ const ScRange* pRange = rRanges[0];
if ( pRange && pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL &&
pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW )
return TRUE;
@@ -1033,11 +1031,10 @@ void ScHelperFunctions::ApplyBorder( ScDocShell* pDocShell, const ScRangeList& r
ScDocument* pUndoDoc = NULL;
if (bUndo)
pUndoDoc = new ScDocument( SCDOCMODE_UNDO );
- ULONG nCount = rRanges.Count();
- ULONG i;
- for (i=0; i<nCount; i++)
+ size_t nCount = rRanges.size();
+ for (size_t i = 0; i < nCount; ++i)
{
- ScRange aRange(*rRanges.GetObject(i));
+ ScRange aRange( *rRanges[ i ] );
SCTAB nTab = aRange.aStart.Tab();
if (bUndo)
@@ -1063,8 +1060,8 @@ void ScHelperFunctions::ApplyBorder( ScDocShell* pDocShell, const ScRangeList& r
new ScUndoBorder( pDocShell, rRanges, pUndoDoc, rOuter, rInner ) );
}
- for (i=0; i<nCount; i++)
- pDocShell->PostPaint( *rRanges.GetObject(i), PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE );
+ for (size_t i = 0; i < nCount; ++i )
+ pDocShell->PostPaint( *rRanges[ i ], PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE );
pDocShell->SetDocumentModified();
}
@@ -1338,25 +1335,6 @@ String lcl_GetInputString( ScDocument* pDoc, const ScAddress& rPosition, BOOL bE
//------------------------------------------------------------------------
-// Default-ctor fuer SMART_REFLECTION Krempel
-ScCellRangesBase::ScCellRangesBase() :
- pPropSet(lcl_GetCellsPropertySet()),
- pDocShell( NULL ),
- pValueListener( NULL ),
- pCurrentFlat( NULL ),
- pCurrentDeep( NULL ),
- pCurrentDataSet( NULL ),
- pNoDfltCurrentDataSet( NULL ),
- pMarkData( NULL ),
- nObjectId( 0 ),
- bChartColAsHdr( FALSE ),
- bChartRowAsHdr( FALSE ),
- bCursorOnly( FALSE ),
- bGotDataChangedHint( FALSE ),
- aValueListeners( 0 )
-{
-}
-
ScCellRangesBase::ScCellRangesBase(ScDocShell* pDocSh, const ScRange& rR) :
pPropSet(lcl_GetCellsPropertySet()),
pDocShell( pDocSh ),
@@ -1511,12 +1489,13 @@ void ScCellRangesBase::Notify( SfxBroadcaster&, const SfxHint& rHint )
if ( aRanges.UpdateReference( rRef.GetMode(), pDoc, rRef.GetRange(),
rRef.GetDx(), rRef.GetDy(), rRef.GetDz() ) )
{
- if (rRef.GetMode() == URM_INSDEL &&
- aRanges.Count() == 1 &&
- ScTableSheetObj::getImplementation( (cppu::OWeakObject*)this ))
+ if ( rRef.GetMode() == URM_INSDEL
+ && aRanges.size() == 1
+ && ScTableSheetObj::getImplementation( (cppu::OWeakObject*)this )
+ )
{
// #101755#; the range size of a sheet does not change
- ScRange* pR = aRanges.First();
+ ScRange* pR = aRanges.front();
if (pR)
{
pR->aStart.SetCol(0);
@@ -1621,9 +1600,8 @@ void ScCellRangesBase::RefChanged()
pValueListener->EndListeningAll();
ScDocument* pDoc = pDocShell->GetDocument();
- ULONG nCount = aRanges.Count();
- for (ULONG i=0; i<nCount; i++)
- pDoc->StartListeningArea( *aRanges.GetObject(i), pValueListener );
+ for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i )
+ pDoc->StartListeningArea( *aRanges[ i ], pValueListener );
}
ForgetCurrentAttrs();
@@ -1761,9 +1739,8 @@ uno::Sequence<sal_Int8> SAL_CALL ScCellRangesBase::getImplementationId()
void ScCellRangesBase::PaintRanges_Impl( USHORT nPart )
{
- ULONG nCount = aRanges.Count();
- for (ULONG i=0; i<nCount; i++)
- pDocShell->PostPaint( *aRanges.GetObject(i), nPart );
+ for (size_t i = 0, nCount = aRanges.size(); i < nCount; ++i)
+ pDocShell->PostPaint( *aRanges[ i ], nPart );
}
// XSheetOperation
@@ -1792,7 +1769,7 @@ double SAL_CALL ScCellRangesBase::computeFunction( sheet::GeneralFunction nFunct
void SAL_CALL ScCellRangesBase::clearContents( sal_Int32 nContentFlags ) throw(uno::RuntimeException)
{
SolarMutexGuard aGuard;
- if ( aRanges.Count() )
+ if ( !aRanges.empty() )
{
// only for clearContents: EDITATTR is only used if no contents are deleted
USHORT nDelFlags = static_cast< USHORT >( nContentFlags & IDF_ALL );
@@ -1899,7 +1876,7 @@ beans::PropertyState SAL_CALL ScCellRangesBase::getPropertyState( const rtl::OUS
throw(beans::UnknownPropertyException, uno::RuntimeException)
{
SolarMutexGuard aGuard;
- if ( aRanges.Count() == 0 )
+ if ( aRanges.empty() )
throw uno::RuntimeException();
const SfxItemPropertyMap* pMap = GetItemPropertyMap(); // from derived class
@@ -1941,7 +1918,7 @@ void SAL_CALL ScCellRangesBase::setPropertyToDefault( const rtl::OUString& aProp
lcl_GetPropertyWhich( pEntry, nItemWhich );
if ( nItemWhich ) // item wid (from map or special case)
{
- if ( aRanges.Count() ) // leer = nichts zu tun
+ if ( !aRanges.empty() ) // leer = nichts zu tun
{
ScDocFunc aFunc(*pDocShell);
@@ -2090,7 +2067,6 @@ uno::Reference<beans::XPropertySetInfo> SAL_CALL ScCellRangesBase::getPropertySe
return aRef;
}
-
void lcl_SetCellProperty( const SfxItemPropertySimpleEntry& rEntry, const uno::Any& rValue,
ScPatternAttr& rPattern, ScDocument* pDoc,
USHORT& rFirstItemId, USHORT& rSecondItemId )
@@ -2209,7 +2185,7 @@ void SAL_CALL ScCellRangesBase::setPropertyValue(
{
SolarMutexGuard aGuard;
- if ( !pDocShell || aRanges.Count() == 0 )
+ if ( !pDocShell || aRanges.empty() )
throw uno::RuntimeException();
const SfxItemPropertyMap* pPropertyMap = GetItemPropertyMap(); // from derived class
@@ -2227,7 +2203,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
{
if ( IsScItemWid( pEntry->nWID ) )
{
- if ( aRanges.Count() ) // leer = nichts zu tun
+ if ( !aRanges.empty() ) // leer = nichts zu tun
{
ScDocument* pDoc = pDocShell->GetDocument();
ScDocFunc aFunc(*pDocShell);
@@ -2256,6 +2232,40 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
else // implemented here
switch ( pEntry->nWID )
{
+ case EE_CHAR_ESCAPEMENT: // Specifically for xlsx import
+ {
+ sal_Int32 nValue(0);
+ aValue >>= nValue;
+ if( nValue )
+ {
+ size_t n = aRanges.size();
+ for( size_t i = 0; i < n; i++ )
+ {
+ ScRange aRange( *aRanges[ i ] );
+ /* TODO: Iterate through the range */
+ ScAddress aAddr = aRange.aStart;
+ ScDocument *pDoc = pDocShell->GetDocument();
+ ScBaseCell *pCell = pDoc->GetCell( aAddr );
+ String aStr( pCell->GetStringData() );
+ EditEngine aEngine( pDoc->GetEnginePool() );
+ /* EE_CHAR_ESCAPEMENT seems to be set on the cell _only_ when
+ * there are no other attribs for the cell.
+ * So, it is safe to overwrite the complete attribute set.
+ * If there is a need - getting CellType and processing
+ * the attributes could be considered.
+ */
+ SfxItemSet aAttr = aEngine.GetEmptyItemSet();
+ aEngine.SetText( aStr );
+ if( nValue < 0 ) // Subscript
+ aAttr.Put( SvxEscapementItem( SVX_ESCAPEMENT_SUBSCRIPT, EE_CHAR_ESCAPEMENT ) );
+ else // Superscript
+ aAttr.Put( SvxEscapementItem( SVX_ESCAPEMENT_SUPERSCRIPT, EE_CHAR_ESCAPEMENT ) );
+ aEngine.QuickSetAttribs( aAttr, ESelection( 0, 0, 0, aStr.Len()));
+ pDoc->PutCell( (aRanges[ 0 ])->aStart, new ScEditCell( aEngine.CreateTextObject(), pDoc, NULL ) );
+ }
+ }
+ }
+ break;
case SC_WID_UNO_CHCOLHDR:
// chart header flags are set for this object, not stored with document
bChartColAsHdr = ScUnoHelpFunctions::GetBoolFromAny( aValue );
@@ -2276,7 +2286,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
case SC_WID_UNO_TBLBORD:
{
table::TableBorder aBorder;
- if ( aRanges.Count() && ( aValue >>= aBorder ) ) // empty = nothing to do
+ if ( !aRanges.empty() && ( aValue >>= aBorder ) ) // empty = nothing to do
{
SvxBoxItem aOuter(ATTR_BORDER);
SvxBoxInfoItem aInner(ATTR_BORDER_INNER);
@@ -2291,7 +2301,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
case SC_WID_UNO_CONDXML:
{
uno::Reference<sheet::XSheetConditionalEntries> xInterface(aValue, uno::UNO_QUERY);
- if ( aRanges.Count() && xInterface.is() ) // leer = nichts zu tun
+ if ( !aRanges.empty() && xInterface.is() ) // leer = nichts zu tun
{
ScTableConditionalFormat* pFormat =
ScTableConditionalFormat::getImplementation( xInterface );
@@ -2322,7 +2332,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
case SC_WID_UNO_VALIXML:
{
uno::Reference<beans::XPropertySet> xInterface(aValue, uno::UNO_QUERY);
- if ( aRanges.Count() && xInterface.is() ) // leer = nichts zu tun
+ if ( !aRanges.empty() && xInterface.is() ) // leer = nichts zu tun
{
ScTableValidationObj* pValidObj =
ScTableValidationObj::getImplementation( xInterface );
@@ -2360,7 +2370,7 @@ uno::Any SAL_CALL ScCellRangesBase::getPropertyValue( const rtl::OUString& aProp
{
SolarMutexGuard aGuard;
- if ( !pDocShell || aRanges.Count() == 0 )
+ if ( !pDocShell || aRanges.empty() )
throw uno::RuntimeException();
const SfxItemPropertyMap* pPropertyMap = GetItemPropertyMap(); // from derived class
@@ -2437,9 +2447,9 @@ void ScCellRangesBase::GetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
case SC_WID_UNO_TBLBORD:
{
//! loop throgh all ranges
- const ScRange* pFirst = aRanges.GetObject(0);
- if (pFirst)
+ if ( !aRanges.empty() )
{
+ const ScRange* pFirst = aRanges[ 0 ];
SvxBoxItem aOuter(ATTR_BORDER);
SvxBoxInfoItem aInner(ATTR_BORDER_INNER);
@@ -2517,7 +2527,7 @@ void SAL_CALL ScCellRangesBase::addPropertyChangeListener( const rtl::OUString&
lang::WrappedTargetException, uno::RuntimeException)
{
SolarMutexGuard aGuard;
- if ( aRanges.Count() == 0 )
+ if ( aRanges.empty() )
throw uno::RuntimeException();
DBG_ERROR("not implemented");
@@ -2529,7 +2539,7 @@ void SAL_CALL ScCellRangesBase::removePropertyChangeListener( const rtl::OUStrin
lang::WrappedTargetException, uno::RuntimeException)
{
SolarMutexGuard aGuard;
- if ( aRanges.Count() == 0 )
+ if ( aRanges.empty() )
throw uno::RuntimeException();
DBG_ERROR("not implemented");
@@ -2638,7 +2648,7 @@ void SAL_CALL ScCellRangesBase::setPropertyValues( const uno::Sequence< rtl::OUS
}
}
- if ( pNewPattern && aRanges.Count() )
+ if ( pNewPattern && !aRanges.empty() )
{
ScDocFunc aFunc(*pDocShell);
aFunc.ApplyAttributes( *GetMarkData(), *pNewPattern, TRUE, TRUE );
@@ -2813,7 +2823,7 @@ uno::Sequence< beans::SetPropertyTolerantFailed > SAL_CALL ScCellRangesBase::set
}
}
- if ( pNewPattern && aRanges.Count() )
+ if ( pNewPattern && !aRanges.empty() )
{
ScDocFunc aFunc(*pDocShell);
aFunc.ApplyAttributes( *GetMarkData(), *pNewPattern, TRUE, TRUE );
@@ -2903,7 +2913,7 @@ uno::Sequence< beans::GetDirectPropertyTolerantResult > SAL_CALL ScCellRangesBas
void SAL_CALL ScCellRangesBase::decrementIndent() throw(::com::sun::star::uno::RuntimeException)
{
SolarMutexGuard aGuard;
- if ( pDocShell && aRanges.Count() ) // leer = nichts zu tun
+ if ( pDocShell && !aRanges.empty() ) // leer = nichts zu tun
{
ScDocFunc aFunc(*pDocShell);
//#97041#; put only MultiMarked ScMarkData in ChangeIndent
@@ -2916,7 +2926,7 @@ void SAL_CALL ScCellRangesBase::decrementIndent() throw(::com::sun::star::uno::R
void SAL_CALL ScCellRangesBase::incrementIndent() throw(::com::sun::star::uno::RuntimeException)
{
SolarMutexGuard aGuard;
- if ( pDocShell && aRanges.Count() ) // leer = nichts zu tun
+ if ( pDocShell && !aRanges.empty() ) // leer = nichts zu tun
{
ScDocFunc aFunc(*pDocShell);
//#97041#; put only MultiMarked ScMarkData in ChangeIndent
@@ -2930,16 +2940,16 @@ void SAL_CALL ScCellRangesBase::incrementIndent() throw(::com::sun::star::uno::R
ScMemChart* ScCellRangesBase::CreateMemChart_Impl() const
{
- if ( pDocShell && aRanges.Count() )
+ if ( pDocShell && !aRanges.empty() )
{
ScRangeListRef xChartRanges;
- if ( aRanges.Count() == 1 )
+ if ( aRanges.size() == 1 )
{
// ganze Tabelle sinnvoll begrenzen (auf belegten Datenbereich)
// (nur hier, Listener werden auf den ganzen Bereich angemeldet)
//! direkt testen, ob es ein ScTableSheetObj ist?
- ScRange* pRange = aRanges.GetObject(0);
+ const ScRange* pRange = aRanges[0];
if ( pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL &&
pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW )
{
@@ -3008,9 +3018,9 @@ uno::Sequence< uno::Sequence<double> > SAL_CALL ScCellRangesBase::getData()
ScRangeListRef ScCellRangesBase::GetLimitedChartRanges_Impl( long nDataColumns, long nDataRows ) const
{
- if ( aRanges.Count() == 1 )
+ if ( aRanges.size() == 1 )
{
- ScRange* pRange = aRanges.GetObject(0);
+ const ScRange* pRange = aRanges[0];
if ( pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL &&
pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW )
{
@@ -3277,7 +3287,7 @@ void SAL_CALL ScCellRangesBase::addChartDataChangeEventListener( const uno::Refe
throw(uno::RuntimeException)
{
SolarMutexGuard aGuard;
- if ( pDocShell && aRanges.Count() )
+ if ( pDocShell && !aRanges.empty() )
{
//! auf doppelte testen?
@@ -3298,7 +3308,7 @@ void SAL_CALL ScCellRangesBase::removeChartDataChangeEventListener( const uno::R
throw(uno::RuntimeException)
{
SolarMutexGuard aGuard;
- if ( pDocShell && aRanges.Count() )
+ if ( pDocShell && !aRanges.empty() )
{
ScDocument* pDoc = pDocShell->GetDocument();
ScChartListenerCollection* pColl = pDoc->GetChartListenerCollection();
@@ -3324,7 +3334,7 @@ void SAL_CALL ScCellRangesBase::addModifyListener( const uno::Reference<util::XM
throw(uno::RuntimeException)
{
SolarMutexGuard aGuard;
- if ( aRanges.Count() == 0 )
+ if ( aRanges.empty() )
throw uno::RuntimeException();
uno::Reference<util::XModifyListener> *pObj =
@@ -3337,9 +3347,8 @@ void SAL_CALL ScCellRangesBase::addModifyListener( const uno::Reference<util::XM
pValueListener = new ScLinkListener( LINK( this, ScCellRangesBase, ValueListenerHdl ) );
ScDocument* pDoc = pDocShell->GetDocument();
- ULONG nCount = aRanges.Count();
- for (ULONG i=0; i<nCount; i++)
- pDoc->StartListeningArea( *aRanges.GetObject(i), pValueListener );
+ for ( size_t i = 0, nCount = aRanges.size(); i < nCount; i++)
+ pDoc->StartListeningArea( *aRanges[ i ], pValueListener );
acquire(); // don't lose this object (one ref for all listeners)
}
@@ -3350,7 +3359,7 @@ void SAL_CALL ScCellRangesBase::removeModifyListener( const uno::Reference<util:
{
SolarMutexGuard aGuard;
- if ( aRanges.Count() == 0 )
+ if ( aRanges.empty() )
throw uno::RuntimeException();
acquire(); // in case the listeners have the last ref - released below
@@ -3431,10 +3440,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryEmptyCel
ScMarkData aMarkData(*GetMarkData());
// belegte Zellen wegmarkieren
- ULONG nCount = aRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ for (size_t i = 0, nCount = aRanges.size(); i < nCount; ++i)
{
- ScRange aRange = *aRanges.GetObject(i);
+ ScRange aRange = *aRanges[ i ];
ScCellIterator aIter( pDoc, aRange );
ScBaseCell* pCell = aIter.GetFirst();
@@ -3473,10 +3481,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryContentC
ScMarkData aMarkData;
// passende Zellen selektieren
- ULONG nCount = aRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i )
{
- ScRange aRange = *aRanges.GetObject(i);
+ ScRange aRange = *aRanges[ i ];
ScCellIterator aIter( pDoc, aRange );
ScBaseCell* pCell = aIter.GetFirst();
@@ -3562,10 +3569,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryFormulaC
ScMarkData aMarkData;
// passende Zellen selektieren
- ULONG nCount = aRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i )
{
- ScRange aRange = *aRanges.GetObject(i);
+ ScRange aRange = *aRanges[ i ];
ScCellIterator aIter( pDoc, aRange );
ScBaseCell* pCell = aIter.GetFirst();
@@ -3616,8 +3622,8 @@ uno::Reference<sheet::XSheetCellRanges> ScCellRangesBase::QueryDifferences_Impl(
{
if (pDocShell)
{
- ULONG nRangeCount = aRanges.Count();
- ULONG i;
+ size_t nRangeCount = aRanges.size();
+ size_t i;
ScDocument* pDoc = pDocShell->GetDocument();
ScMarkData aMarkData;
@@ -3647,7 +3653,7 @@ uno::Reference<sheet::XSheetCellRanges> ScCellRangesBase::QueryDifferences_Impl(
for (i=0; i<nRangeCount; i++)
{
- ScRange aRange(*aRanges.GetObject(i));
+ ScRange aRange( *aRanges[ i ] );
if ( aRange.Intersects( aCellRange ) )
{
if (bColumnDiff)
@@ -3673,7 +3679,7 @@ uno::Reference<sheet::XSheetCellRanges> ScCellRangesBase::QueryDifferences_Impl(
ScAddress aCmpAddr;
for (i=0; i<nRangeCount; i++)
{
- ScRange aRange(*aRanges.GetObject(i));
+ ScRange aRange( *aRanges[ i ] );
ScCellIterator aIter( pDoc, aRange );
ScBaseCell* pCell = aIter.GetFirst();
@@ -3726,10 +3732,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryIntersec
(SCCOL)aRange.EndColumn, (SCROW)aRange.EndRow, aRange.Sheet );
ScRangeList aNew;
- ULONG nCount = aRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i )
{
- ScRange aTemp(*aRanges.GetObject(i));
+ ScRange aTemp( *aRanges[ i ] );
if ( aTemp.Intersects( aMask ) )
aNew.Join( ScRange( Max( aTemp.aStart.Col(), aMask.aStart.Col() ),
Max( aTemp.aStart.Row(), aMask.aStart.Row() ),
@@ -3763,10 +3768,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryPreceden
aMarkData.MarkFromRangeList( aNewRanges, FALSE );
aMarkData.MarkToMulti(); // needed for IsAllMarked
- ULONG nCount = aNewRanges.Count();
- for (ULONG nR=0; nR<nCount; nR++)
+ for (size_t nR = 0, nCount = aNewRanges.size(); nR<nCount; ++nR)
{
- ScRange aRange(*aNewRanges.GetObject(nR));
+ ScRange aRange( *aNewRanges[ nR] );
ScCellIterator aIter( pDoc, aRange );
ScBaseCell* pCell = aIter.GetFirst();
while (pCell)
@@ -3811,7 +3815,6 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryDependen
do
{
bFound = FALSE;
- ULONG nRangesCount = aNewRanges.Count();
// #97205# aMarkData uses aNewRanges, not aRanges, so GetMarkData can't be used
ScMarkData aMarkData;
@@ -3831,9 +3834,10 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryDependen
ScRange aRefRange;
while ( aIter.GetNextRef( aRefRange) )
{
- for (ULONG nR=0; nR<nRangesCount; nR++)
+ size_t nRangesCount = aNewRanges.size();
+ for (size_t nR = 0; nR < nRangesCount; ++nR)
{
- ScRange aRange(*aNewRanges.GetObject(nR));
+ ScRange aRange( *aNewRanges[ nR ] );
if (aRange.Intersects(aRefRange))
bMark = TRUE; // von Teil des Ranges abhaengig
}
@@ -3975,9 +3979,9 @@ uno::Reference<uno::XInterface> SAL_CALL ScCellRangesBase::findNext(
if ( pRangesImp && pRangesImp->GetDocShell() == pDocShell )
{
const ScRangeList& rStartRanges = pRangesImp->GetRangeList();
- if ( rStartRanges.Count() == 1 )
+ if ( rStartRanges.size() == 1 )
{
- ScAddress aStartPos = rStartRanges.GetObject(0)->aStart;
+ ScAddress aStartPos = rStartRanges[ 0 ]->aStart;
return Find_Impl( xDesc, &aStartPos );
}
}
@@ -4086,7 +4090,6 @@ sal_Int64 SAL_CALL ScCellRangesBase::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScCellRangesBase::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -4103,7 +4106,6 @@ const uno::Sequence<sal_Int8>& ScCellRangesBase::getUnoTunnelId()
return *pSeq;
}
-// static
ScCellRangesBase* ScCellRangesBase::getImplementation( const uno::Reference<uno::XInterface> xObj )
{
ScCellRangesBase* pRet = NULL;
@@ -4195,9 +4197,9 @@ ScCellRangeObj* ScCellRangesObj::GetObjectByIndex_Impl(sal_Int32 nIndex) const
{
ScDocShell* pDocSh = GetDocShell();
const ScRangeList& rRanges = GetRangeList();
- if ( pDocSh && nIndex >= 0 && nIndex < sal::static_int_cast<sal_Int32>(rRanges.Count()) )
+ if ( pDocSh && nIndex >= 0 && nIndex < sal::static_int_cast<sal_Int32>(rRanges.size()) )
{
- ScRange aRange(*rRanges.GetObject(nIndex));
+ ScRange aRange( *rRanges[ nIndex ] );
if ( aRange.aStart == aRange.aEnd )
return new ScCellObj( pDocSh, aRange.aStart );
else
@@ -4213,15 +4215,15 @@ uno::Sequence<table::CellRangeAddress> SAL_CALL ScCellRangesObj::getRangeAddress
SolarMutexGuard aGuard;
ScDocShell* pDocSh = GetDocShell();
const ScRangeList& rRanges = GetRangeList();
- ULONG nCount = rRanges.Count();
+ size_t nCount = rRanges.size();
if ( pDocSh && nCount )
{
table::CellRangeAddress aRangeAddress;
uno::Sequence<table::CellRangeAddress> aSeq(nCount);
table::CellRangeAddress* pAry = aSeq.getArray();
- for (sal_uInt32 i=0; i<nCount; i++)
+ for ( size_t i=0; i < nCount; i++)
{
- ScUnoConversion::FillApiRange( aRangeAddress, *rRanges.GetObject(i) );
+ ScUnoConversion::FillApiRange( aRangeAddress, *rRanges[ i ] );
pAry[i] = aRangeAddress;
}
return aSeq;
@@ -4292,15 +4294,15 @@ void SAL_CALL ScCellRangesObj::removeRangeAddress( const table::CellRangeAddress
ScRangeList aSheetRanges;
ScRangeList aNotSheetRanges;
- for (sal_uInt32 i = 0; i < rRanges.Count(); ++i)
+ for (size_t i = 0; i < rRanges.size(); ++i)
{
- if (rRanges.GetObject(i)->aStart.Tab() == rRange.Sheet)
+ if (rRanges[ i]->aStart.Tab() == rRange.Sheet)
{
- aSheetRanges.Append(*rRanges.GetObject(i));
+ aSheetRanges.Append( *rRanges[ i ] );
}
else
{
- aNotSheetRanges.Append(*rRanges.GetObject(i));
+ aNotSheetRanges.Append( *rRanges[ i ] );
}
}
ScMarkData aMarkData;
@@ -4325,9 +4327,9 @@ void SAL_CALL ScCellRangesObj::removeRangeAddress( const table::CellRangeAddress
SetNewRanges(aNotSheetRanges);
ScRangeList aNew;
aMarkData.FillRangeListWithMarks( &aNew, FALSE );
- for (sal_uInt32 j = 0; j < aNew.Count(); ++j)
+ for ( size_t j = 0; j < aNew.size(); ++j)
{
- AddRange(*aNew.GetObject(j), sal_False);
+ AddRange(*aNew[ j ], sal_False);
}
}
@@ -4360,7 +4362,6 @@ void SAL_CALL ScCellRangesObj::removeRangeAddresses( const uno::Sequence<table::
// with this implementation not needed
// SolarMutexGuard aGuard;
-
// use sometimes a better/faster implementation
sal_uInt32 nCount(rRangeSeq.getLength());
if (nCount)
@@ -4412,9 +4413,9 @@ void SAL_CALL ScCellRangesObj::insertByName( const rtl::OUString& aName, const u
ScRangeList aNew(GetRangeList());
const ScRangeList& rAddRanges = pRangesImp->GetRangeList();
- ULONG nAddCount = rAddRanges.Count();
- for (ULONG i=0; i<nAddCount; i++)
- aNew.Join( *rAddRanges.GetObject(i) );
+ size_t nAddCount = rAddRanges.size();
+ for ( size_t i = 0; i < nAddCount; i++ )
+ aNew.Join( *rAddRanges[ i ] );
SetNewRanges(aNew);
bDone = TRUE;
@@ -4424,7 +4425,7 @@ void SAL_CALL ScCellRangesObj::insertByName( const rtl::OUString& aName, const u
// (only possible for a single range)
// name is not in aNamedEntries (tested above)
- ScNamedEntry* pEntry = new ScNamedEntry( aNamStr, *rAddRanges.GetObject(0) );
+ ScNamedEntry* pEntry = new ScNamedEntry( aNamStr, *rAddRanges[ 0 ] );
aNamedEntries.Insert( pEntry, aNamedEntries.Count() );
}
}
@@ -4438,16 +4439,15 @@ void SAL_CALL ScCellRangesObj::insertByName( const rtl::OUString& aName, const u
}
BOOL lcl_FindRangeByName( const ScRangeList& rRanges, ScDocShell* pDocSh,
- const String& rName, ULONG& rIndex )
+ const String& rName, size_t& rIndex )
{
if (pDocSh)
{
String aRangeStr;
ScDocument* pDoc = pDocSh->GetDocument();
- ULONG nCount = rRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ )
{
- rRanges.GetObject(i)->Format( aRangeStr, SCA_VALID | SCA_TAB_3D, pDoc );
+ rRanges[ i ]->Format( aRangeStr, SCA_VALID | SCA_TAB_3D, pDoc );
if ( aRangeStr == rName )
{
rIndex = i;
@@ -4464,10 +4464,10 @@ BOOL lcl_FindRangeOrEntry( const ScNamedEntryArr_Impl& rNamedEntries,
{
// exact range in list?
- ULONG nIndex = 0;
+ size_t nIndex = 0;
if ( lcl_FindRangeByName( rRanges, pDocSh, rName, nIndex ) )
{
- rFound = *rRanges.GetObject(nIndex);
+ rFound = *rRanges[ nIndex ];
return TRUE;
}
@@ -4520,15 +4520,14 @@ void SAL_CALL ScCellRangesObj::removeByName( const rtl::OUString& aName )
String aNameStr(aName);
ScDocShell* pDocSh = GetDocShell();
const ScRangeList& rRanges = GetRangeList();
- ULONG nIndex = 0;
+ size_t nIndex = 0;
if ( lcl_FindRangeByName( rRanges, pDocSh, aNameStr, nIndex ) )
{
// einzelnen Range weglassen
ScRangeList aNew;
- ULONG nCount = rRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ )
if (i != nIndex)
- aNew.Append( *rRanges.GetObject(i) );
+ aNew.Append( *rRanges[ i ] );
SetNewRanges(aNew);
bDone = TRUE;
}
@@ -4553,10 +4552,9 @@ void SAL_CALL ScCellRangesObj::removeByName( const rtl::OUString& aName )
ScMarkData aMarkData;
aMarkData.MarkFromRangeList( rRanges, FALSE );
- ULONG nDiffCount = aDiff.Count();
- for (ULONG i=0; i<nDiffCount; i++)
+ for ( size_t i = 0, nDiffCount = aDiff.size(); i < nDiffCount; i++ )
{
- ScRange* pDiffRange = aDiff.GetObject(i);
+ ScRange* pDiffRange = aDiff[ i ];
if (aMarkData.GetTableSelect( pDiffRange->aStart.Tab() ))
aMarkData.SetMultiMarkArea( *pDiffRange, FALSE );
}
@@ -4639,14 +4637,14 @@ uno::Sequence<rtl::OUString> SAL_CALL ScCellRangesObj::getElementNames()
{
String aRangeStr;
ScDocument* pDoc = pDocSh->GetDocument();
- ULONG nCount = rRanges.Count();
+ size_t nCount = rRanges.size();
uno::Sequence<rtl::OUString> aSeq(nCount);
rtl::OUString* pAry = aSeq.getArray();
- for (ULONG i=0; i<nCount; i++)
+ for (size_t i=0; i < nCount; i++)
{
// use given name if for exactly this range, otherwise just format
- ScRange aRange = *rRanges.GetObject(i);
+ ScRange aRange = *rRanges[ i ];
if ( !aNamedEntries.Count() || !lcl_FindEntryName( aNamedEntries, aRange, aRangeStr ) )
aRange.Format( aRangeStr, SCA_VALID | SCA_TAB_3D, pDoc );
pAry[i] = aRangeStr;
@@ -4682,7 +4680,7 @@ sal_Int32 SAL_CALL ScCellRangesObj::getCount() throw(uno::RuntimeException)
{
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
- return rRanges.Count();
+ return rRanges.size();
}
uno::Any SAL_CALL ScCellRangesObj::getByIndex( sal_Int32 nIndex )
@@ -4695,7 +4693,6 @@ uno::Any SAL_CALL ScCellRangesObj::getByIndex( sal_Int32 nIndex )
return uno::makeAny(xRange);
else
throw lang::IndexOutOfBoundsException();
-// return uno::Any();
}
uno::Type SAL_CALL ScCellRangesObj::getElementType() throw(uno::RuntimeException)
@@ -4708,14 +4705,14 @@ sal_Bool SAL_CALL ScCellRangesObj::hasElements() throw(uno::RuntimeException)
{
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
- return rRanges.Count() != 0;
+ return !rRanges.empty();
}
// XServiceInfo
rtl::OUString SAL_CALL ScCellRangesObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScCellRangesObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScCellRangesObj" ));
}
sal_Bool SAL_CALL ScCellRangesObj::supportsService( const rtl::OUString& rServiceName )
@@ -4733,16 +4730,15 @@ uno::Sequence<rtl::OUString> SAL_CALL ScCellRangesObj::getSupportedServiceNames(
{
uno::Sequence<rtl::OUString> aRet(4);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCSHEETCELLRANGES_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCCELLPROPERTIES_SERVICE );
- pArray[2] = rtl::OUString::createFromAscii( SCCHARPROPERTIES_SERVICE );
- pArray[3] = rtl::OUString::createFromAscii( SCPARAPROPERTIES_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCSHEETCELLRANGES_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCELLPROPERTIES_SERVICE ));
+ pArray[2] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCHARPROPERTIES_SERVICE ));
+ pArray[3] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCPARAPROPERTIES_SERVICE ));
return aRet;
}
//------------------------------------------------------------------------
-// static
uno::Reference<table::XCellRange> ScCellRangeObj::CreateRangeFromDoc( ScDocument* pDoc, const ScRange& rR )
{
SfxObjectShell* pObjSh = pDoc->GetDocumentShell();
@@ -4770,11 +4766,11 @@ void ScCellRangeObj::RefChanged()
ScCellRangesBase::RefChanged();
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT(rRanges.Count() == 1, "was fuer Ranges ?!?!");
- const ScRange* pFirst = rRanges.GetObject(0);
- if (pFirst)
+ DBG_ASSERT(rRanges.size() == 1, "was fuer Ranges ?!?!");
+ if ( !rRanges.empty() )
{
- aRange = *pFirst;
+ const ScRange* pFirst = rRanges[0];
+ aRange = ScRange(*pFirst);
aRange.Justify();
}
}
@@ -4930,7 +4926,6 @@ uno::Reference<table::XCellRange> SAL_CALL ScCellRangeObj::getCellRangeByPositio
// return NULL;
}
-
uno::Reference<table::XCellRange> SAL_CALL ScCellRangeObj::getCellRangeByName(
const rtl::OUString& aName ) throw(uno::RuntimeException)
{
@@ -6027,7 +6022,7 @@ const SfxItemPropertyMap* ScCellRangeObj::GetItemPropertyMap()
rtl::OUString SAL_CALL ScCellRangeObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScCellRangeObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScCellRangeObj" ));
}
sal_Bool SAL_CALL ScCellRangeObj::supportsService( const rtl::OUString& rServiceName )
@@ -6046,17 +6041,17 @@ uno::Sequence<rtl::OUString> SAL_CALL ScCellRangeObj::getSupportedServiceNames()
{
uno::Sequence<rtl::OUString> aRet(5);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCSHEETCELLRANGE_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCCELLRANGE_SERVICE );
- pArray[2] = rtl::OUString::createFromAscii( SCCELLPROPERTIES_SERVICE );
- pArray[3] = rtl::OUString::createFromAscii( SCCHARPROPERTIES_SERVICE );
- pArray[4] = rtl::OUString::createFromAscii( SCPARAPROPERTIES_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCSHEETCELLRANGE_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCELLRANGE_SERVICE ));
+ pArray[2] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCELLPROPERTIES_SERVICE ));
+ pArray[3] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCHARPROPERTIES_SERVICE ));
+ pArray[4] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCPARAPROPERTIES_SERVICE ));
return aRet;
}
//------------------------------------------------------------------------
-const SvxItemPropertySet* ScCellObj::GetEditPropertySet() // static
+const SvxItemPropertySet* ScCellObj::GetEditPropertySet()
{
return lcl_GetEditPropertySet();
}
@@ -6104,10 +6099,12 @@ void ScCellObj::RefChanged()
ScCellRangeObj::RefChanged();
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT(rRanges.Count() == 1, "was fuer Ranges ?!?!");
- const ScRange* pFirst = rRanges.GetObject(0);
- if (pFirst)
+ DBG_ASSERT(rRanges.size() == 1, "was fuer Ranges ?!?!");
+ if ( !rRanges.empty() )
+ {
+ const ScRange* pFirst = rRanges[ 0 ];
aCellPos = pFirst->aStart;
+ }
}
uno::Any SAL_CALL ScCellObj::queryInterface( const uno::Type& rType ) throw(uno::RuntimeException)
@@ -6704,7 +6701,7 @@ const SfxItemPropertyMap* ScCellObj::GetItemPropertyMap()
rtl::OUString SAL_CALL ScCellObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScCellObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScCellObj" ));
}
sal_Bool SAL_CALL ScCellObj::supportsService( const rtl::OUString& rServiceName )
@@ -6729,13 +6726,13 @@ uno::Sequence<rtl::OUString> SAL_CALL ScCellObj::getSupportedServiceNames()
{
uno::Sequence<rtl::OUString> aRet(7);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCSHEETCELL_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCCELL_SERVICE );
- pArray[2] = rtl::OUString::createFromAscii( SCCELLPROPERTIES_SERVICE );
- pArray[3] = rtl::OUString::createFromAscii( SCCHARPROPERTIES_SERVICE );
- pArray[4] = rtl::OUString::createFromAscii( SCPARAPROPERTIES_SERVICE );
- pArray[5] = rtl::OUString::createFromAscii( SCSHEETCELLRANGE_SERVICE );
- pArray[6] = rtl::OUString::createFromAscii( SCCELLRANGE_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCSHEETCELL_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCELL_SERVICE ));
+ pArray[2] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCELLPROPERTIES_SERVICE ));
+ pArray[3] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCHARPROPERTIES_SERVICE ));
+ pArray[4] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCPARAPROPERTIES_SERVICE ));
+ pArray[5] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCSHEETCELLRANGE_SERVICE ));
+ pArray[6] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCELLRANGE_SERVICE ));
return aRet;
}
@@ -6925,11 +6922,12 @@ uno::Sequence<sal_Int8> SAL_CALL ScTableSheetObj::getImplementationId() throw(un
SCTAB ScTableSheetObj::GetTab_Impl() const
{
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT(rRanges.Count() == 1, "was fuer Ranges ?!?!");
- const ScRange* pFirst = rRanges.GetObject(0);
- if (pFirst)
+ DBG_ASSERT(rRanges.size() == 1, "was fuer Ranges ?!?!");
+ if ( !rRanges.empty() )
+ {
+ const ScRange* pFirst = rRanges[ 0 ];
return pFirst->aStart.Tab();
-
+ }
return 0; // soll nicht sein
}
@@ -7016,8 +7014,8 @@ uno::Reference<sheet::XSheetCellCursor> SAL_CALL ScTableSheetObj::createCursorBy
if (pRangesImp)
{
const ScRangeList& rRanges = pRangesImp->GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- return new ScCellCursorObj( pDocSh, *rRanges.GetObject(0) );
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ return new ScCellCursorObj( pDocSh, *rRanges[ 0 ] );
}
}
return NULL;
@@ -8115,12 +8113,12 @@ uno::Sequence< table::CellRangeAddress > SAL_CALL ScTableSheetObj::getRanges( )
const ScRangeList* pRangeList = pDoc->GetScenarioRanges(nTab);
if (pRangeList)
{
- sal_Int32 nCount = pRangeList->Count();
- uno::Sequence< table::CellRangeAddress > aRetRanges(nCount);
+ size_t nCount = pRangeList->size();
+ uno::Sequence< table::CellRangeAddress > aRetRanges( nCount );
table::CellRangeAddress* pAry = aRetRanges.getArray();
- for( sal_Int32 nIndex = 0; nIndex < nCount; nIndex++ )
+ for( size_t nIndex = 0; nIndex < nCount; nIndex++ )
{
- const ScRange* pRange = pRangeList->GetObject( nIndex );
+ const ScRange* pRange = (*pRangeList)[nIndex];
pAry->StartColumn = pRange->aStart.Col();
pAry->StartRow = pRange->aStart.Row();
pAry->EndColumn = pRange->aEnd.Col();
@@ -8494,8 +8492,7 @@ void ScTableSheetObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEn
rtl::OUString aCodeName;
if ( pDocSh && ( aValue >>= aCodeName ) )
{
- String sNewName( aCodeName );
- pDocSh->GetDocument()->SetCodeName( GetTab_Impl(), sNewName );
+ pDocSh->GetDocument()->SetCodeName( GetTab_Impl(), aCodeName );
}
}
else
@@ -8661,7 +8658,7 @@ const SfxItemPropertyMap* ScTableSheetObj::GetItemPropertyMap()
rtl::OUString SAL_CALL ScTableSheetObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScTableSheetObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScTableSheetObj" ));
}
sal_Bool SAL_CALL ScTableSheetObj::supportsService( const rtl::OUString& rServiceName )
@@ -8682,13 +8679,13 @@ uno::Sequence<rtl::OUString> SAL_CALL ScTableSheetObj::getSupportedServiceNames(
{
uno::Sequence<rtl::OUString> aRet(7);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCSPREADSHEET_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCSHEETCELLRANGE_SERVICE );
- pArray[2] = rtl::OUString::createFromAscii( SCCELLRANGE_SERVICE );
- pArray[3] = rtl::OUString::createFromAscii( SCCELLPROPERTIES_SERVICE );
- pArray[4] = rtl::OUString::createFromAscii( SCCHARPROPERTIES_SERVICE );
- pArray[5] = rtl::OUString::createFromAscii( SCPARAPROPERTIES_SERVICE );
- pArray[6] = rtl::OUString::createFromAscii( SCLINKTARGET_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCSPREADSHEET_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCSHEETCELLRANGE_SERVICE ));
+ pArray[2] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCELLRANGE_SERVICE ));
+ pArray[3] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCELLPROPERTIES_SERVICE ));
+ pArray[4] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCHARPROPERTIES_SERVICE ));
+ pArray[5] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCPARAPROPERTIES_SERVICE ));
+ pArray[6] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCLINKTARGET_SERVICE ));
return aRet;
}
@@ -8707,7 +8704,6 @@ sal_Int64 SAL_CALL ScTableSheetObj::getSomething(
return ScCellRangeObj::getSomething( rId );
}
-// static
const uno::Sequence<sal_Int8>& ScTableSheetObj::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -8724,7 +8720,6 @@ const uno::Sequence<sal_Int8>& ScTableSheetObj::getUnoTunnelId()
return *pSeq;
}
-// static
ScTableSheetObj* ScTableSheetObj::getImplementation( const uno::Reference<uno::XInterface> xObj )
{
ScTableSheetObj* pRet = NULL;
@@ -9177,12 +9172,12 @@ ScCellsEnumeration::ScCellsEnumeration(ScDocShell* pDocSh, const ScRangeList& rR
ScDocument* pDoc = pDocShell->GetDocument();
pDoc->AddUnoObject(*this);
- if ( aRanges.Count() == 0 )
+ if ( aRanges.empty() )
bAtEnd = TRUE;
else
{
SCTAB nTab = 0;
- const ScRange* pFirst = aRanges.GetObject(0);
+ const ScRange* pFirst = aRanges[ 0 ];
if (pFirst)
nTab = pFirst->aStart.Tab();
aPos = ScAddress(0,0,nTab);
@@ -9258,9 +9253,9 @@ void ScCellsEnumeration::Notify( SfxBroadcaster&, const SfxHint& rHint )
aNew.Append(ScRange(aPos));
aNew.UpdateReference( rRef.GetMode(), pDocShell->GetDocument(), rRef.GetRange(),
rRef.GetDx(), rRef.GetDy(), rRef.GetDz() );
- if (aNew.Count()==1)
+ if (aNew.size()==1)
{
- aPos = aNew.GetObject(0)->aStart;
+ aPos = aNew[ 0 ]->aStart;
CheckPos_Impl();
}
}
@@ -9704,10 +9699,10 @@ struct ScUniqueFormatsOrder
bool operator()( const ScRangeList& rList1, const ScRangeList& rList2 ) const
{
// all range lists have at least one entry
- DBG_ASSERT( rList1.Count() > 0 && rList2.Count() > 0, "ScUniqueFormatsOrder: empty list" );
+ DBG_ASSERT( rList1.size() > 0 && rList2.size() > 0, "ScUniqueFormatsOrder: empty list" );
// compare start positions using ScAddress comparison operator
- return ( rList1.GetObject(0)->aStart < rList2.GetObject(0)->aStart );
+ return ( rList1[ 0 ]->aStart < rList2[ 0 ]->aStart );
}
};
@@ -9851,5 +9846,4 @@ uno::Any SAL_CALL ScUniqueCellFormatsEnumeration::nextElement() throw(container:
return uno::makeAny(uno::Reference<sheet::XSheetCellRangeContainer>(new ScCellRangesObj(pDocShell, aRangeLists[nCurrentPosition++])));
}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/unoobj/cellvaluebinding.cxx b/sc/source/ui/unoobj/cellvaluebinding.cxx
index 9e3cae0756c1..c2a5f6987166 100644
--- a/sc/source/ui/unoobj/cellvaluebinding.cxx
+++ b/sc/source/ui/unoobj/cellvaluebinding.cxx
@@ -96,7 +96,7 @@ namespace calc
// register our property at the base class
CellAddress aInitialPropValue;
registerPropertyNoMember(
- ::rtl::OUString::createFromAscii( "BoundCell" ),
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "BoundCell" )),
PROP_HANDLE_BOUND_CELL,
PropertyAttribute::BOUND | PropertyAttribute::READONLY,
::getCppuType( &aInitialPropValue ),
@@ -266,7 +266,7 @@ namespace calc
if ( xProp.is() )
{
CellContentType eResultType;
- if ( (xProp->getPropertyValue(::rtl::OUString::createFromAscii( "FormulaResultType" ) ) >>= eResultType) && eResultType == CellContentType_VALUE )
+ if ( (xProp->getPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "FormulaResultType" )) ) >>= eResultType) && eResultType == CellContentType_VALUE )
bHasValue = sal_True;
}
}
@@ -404,7 +404,7 @@ namespace calc
{
// set boolean number format if not already set
- ::rtl::OUString sPropName( ::rtl::OUString::createFromAscii( "NumberFormat" ) );
+ ::rtl::OUString sPropName( RTL_CONSTASCII_USTRINGPARAM( "NumberFormat" ) );
Reference<XPropertySet> xCellProp( m_xCell, UNO_QUERY );
Reference<XNumberFormatsSupplier> xSupplier( m_xDocument, UNO_QUERY );
if ( xSupplier.is() && xCellProp.is() )
@@ -429,10 +429,10 @@ namespace calc
if ( xOldFormat.is() )
{
// use the locale of the existing format
- xOldFormat->getPropertyValue( ::rtl::OUString::createFromAscii( "Locale" ) ) >>= aLocale;
+ xOldFormat->getPropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Locale" )) ) >>= aLocale;
sal_Int16 nOldType = ::comphelper::getINT16(
- xOldFormat->getPropertyValue( ::rtl::OUString::createFromAscii( "Type" ) ) );
+ xOldFormat->getPropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Type" )) ) );
if ( nOldType & NumberFormat::LOGICAL )
bWasBoolean = sal_True;
}
diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx
index 227869efe48e..912e88b97569 100644
--- a/sc/source/ui/unoobj/chart2uno.cxx
+++ b/sc/source/ui/unoobj/chart2uno.cxx
@@ -204,19 +204,19 @@ struct TokenTable
return nRet;
}
- vector<ScSharedTokenRef>* getColRanges(SCCOL nCol) const;
- vector<ScSharedTokenRef>* getRowRanges(SCROW nRow) const;
- vector<ScSharedTokenRef>* getAllRanges() const;
+ vector<ScTokenRef>* getColRanges(SCCOL nCol) const;
+ vector<ScTokenRef>* getRowRanges(SCROW nRow) const;
+ vector<ScTokenRef>* getAllRanges() const;
};
-vector<ScSharedTokenRef>* TokenTable::getColRanges(SCCOL nCol) const
+vector<ScTokenRef>* TokenTable::getColRanges(SCCOL nCol) const
{
if (nCol >= mnColCount)
return NULL;
if( mnRowCount<=0 )
return NULL;
- auto_ptr< vector<ScSharedTokenRef> > pTokens(new vector<ScSharedTokenRef>);
+ auto_ptr< vector<ScTokenRef> > pTokens(new vector<ScTokenRef>);
sal_uInt32 nLast = getIndex(nCol, mnRowCount-1);
for (sal_uInt32 i = getIndex(nCol, 0); i <= nLast; ++i)
{
@@ -224,20 +224,20 @@ vector<ScSharedTokenRef>* TokenTable::getColRanges(SCCOL nCol) const
if (!p)
continue;
- ScSharedTokenRef pCopy(static_cast<ScToken*>(p->Clone()));
+ ScTokenRef pCopy(static_cast<ScToken*>(p->Clone()));
ScRefTokenHelper::join(*pTokens, pCopy);
}
return pTokens.release();
}
-vector<ScSharedTokenRef>* TokenTable::getRowRanges(SCROW nRow) const
+vector<ScTokenRef>* TokenTable::getRowRanges(SCROW nRow) const
{
if (nRow >= mnRowCount)
return NULL;
if( mnColCount<=0 )
return NULL;
- auto_ptr< vector<ScSharedTokenRef> > pTokens(new vector<ScSharedTokenRef>);
+ auto_ptr< vector<ScTokenRef> > pTokens(new vector<ScTokenRef>);
sal_uInt32 nLast = getIndex(mnColCount-1, nRow);
for (sal_uInt32 i = getIndex(0, nRow); i <= nLast; i += mnRowCount)
{
@@ -245,15 +245,15 @@ vector<ScSharedTokenRef>* TokenTable::getRowRanges(SCROW nRow) const
if (!p)
continue;
- ScSharedTokenRef p2(static_cast<ScToken*>(p->Clone()));
+ ScTokenRef p2(static_cast<ScToken*>(p->Clone()));
ScRefTokenHelper::join(*pTokens, p2);
}
return pTokens.release();
}
-vector<ScSharedTokenRef>* TokenTable::getAllRanges() const
+vector<ScTokenRef>* TokenTable::getAllRanges() const
{
- auto_ptr< vector<ScSharedTokenRef> > pTokens(new vector<ScSharedTokenRef>);
+ auto_ptr< vector<ScTokenRef> > pTokens(new vector<ScTokenRef>);
sal_uInt32 nStop = mnColCount*mnRowCount;
for (sal_uInt32 i = 0; i < nStop; i++)
{
@@ -261,7 +261,7 @@ vector<ScSharedTokenRef>* TokenTable::getAllRanges() const
if (!p)
continue;
- ScSharedTokenRef p2(static_cast<ScToken*>(p->Clone()));
+ ScTokenRef p2(static_cast<ScToken*>(p->Clone()));
ScRefTokenHelper::join(*pTokens, p2);
}
return pTokens.release();
@@ -280,15 +280,15 @@ public:
SCCOL getDataColCount() const { return mnDataColCount; }
SCROW getDataRowCount() const { return mnDataRowCount; }
- vector<ScSharedTokenRef>* getLeftUpperCornerRanges() const;
- vector<ScSharedTokenRef>* getAllColHeaderRanges() const;
- vector<ScSharedTokenRef>* getAllRowHeaderRanges() const;
+ vector<ScTokenRef>* getLeftUpperCornerRanges() const;
+ vector<ScTokenRef>* getAllColHeaderRanges() const;
+ vector<ScTokenRef>* getAllRowHeaderRanges() const;
- vector<ScSharedTokenRef>* getColHeaderRanges(SCCOL nChartCol) const;
- vector<ScSharedTokenRef>* getRowHeaderRanges(SCROW nChartRow) const;
+ vector<ScTokenRef>* getColHeaderRanges(SCCOL nChartCol) const;
+ vector<ScTokenRef>* getRowHeaderRanges(SCROW nChartRow) const;
- vector<ScSharedTokenRef>* getDataColRanges(SCCOL nCol) const;
- vector<ScSharedTokenRef>* getDataRowRanges(SCROW nRow) const;
+ vector<ScTokenRef>* getDataColRanges(SCCOL nCol) const;
+ vector<ScTokenRef>* getDataRowRanges(SCROW nRow) const;
private:
SCCOL mnDataColCount;
@@ -333,7 +333,7 @@ Chart2PositionMap::Chart2PositionMap(SCCOL nAllColCount, SCROW nAllRowCount,
StackVar eType = pToken->GetType();
if( eType==svExternal || eType==svExternalSingleRef || eType==svExternalDoubleRef || eType==svExternalName )
bExternal = true;//lllll todo correct?
- ScSharedTokenRef pSharedToken(static_cast<ScToken*>(pToken->Clone()));
+ ScTokenRef pSharedToken(static_cast<ScToken*>(pToken->Clone()));
ScRefTokenHelper::getRangeFromToken(aRange, pSharedToken, bExternal );
SCCOL nCol1=0, nCol2=0;
SCROW nRow1=0, nRow2=0;
@@ -415,33 +415,33 @@ Chart2PositionMap::~Chart2PositionMap()
maData.clear();
}
-vector<ScSharedTokenRef>* Chart2PositionMap::getLeftUpperCornerRanges() const
+vector<ScTokenRef>* Chart2PositionMap::getLeftUpperCornerRanges() const
{
return maLeftUpperCorner.getAllRanges();
}
-vector<ScSharedTokenRef>* Chart2PositionMap::getAllColHeaderRanges() const
+vector<ScTokenRef>* Chart2PositionMap::getAllColHeaderRanges() const
{
return maColHeaders.getAllRanges();
}
-vector<ScSharedTokenRef>* Chart2PositionMap::getAllRowHeaderRanges() const
+vector<ScTokenRef>* Chart2PositionMap::getAllRowHeaderRanges() const
{
return maRowHeaders.getAllRanges();
}
-vector<ScSharedTokenRef>* Chart2PositionMap::getColHeaderRanges(SCCOL nCol) const
+vector<ScTokenRef>* Chart2PositionMap::getColHeaderRanges(SCCOL nCol) const
{
return maColHeaders.getColRanges( nCol);
}
-vector<ScSharedTokenRef>* Chart2PositionMap::getRowHeaderRanges(SCROW nRow) const
+vector<ScTokenRef>* Chart2PositionMap::getRowHeaderRanges(SCROW nRow) const
{
return maRowHeaders.getRowRanges( nRow);
}
-vector<ScSharedTokenRef>* Chart2PositionMap::getDataColRanges(SCCOL nCol) const
+vector<ScTokenRef>* Chart2PositionMap::getDataColRanges(SCCOL nCol) const
{
return maData.getColRanges( nCol);
}
-vector<ScSharedTokenRef>* Chart2PositionMap::getDataRowRanges(SCROW nRow) const
+vector<ScTokenRef>* Chart2PositionMap::getDataRowRanges(SCROW nRow) const
{
return maData.getRowRanges( nRow);
}
@@ -464,8 +464,8 @@ class Chart2Positioner
};
public:
- Chart2Positioner(ScDocument* pDoc, const vector<ScSharedTokenRef>& rRefTokens) :
- mpRefTokens(new vector<ScSharedTokenRef>(rRefTokens)),
+ Chart2Positioner(ScDocument* pDoc, const vector<ScTokenRef>& rRefTokens) :
+ mpRefTokens(new vector<ScTokenRef>(rRefTokens)),
mpPositionMap(NULL),
meGlue(GLUETYPE_NA),
mpDoc(pDoc),
@@ -502,7 +502,7 @@ private:
void createPositionMap();
private:
- shared_ptr< vector<ScSharedTokenRef> > mpRefTokens;
+ shared_ptr< vector<ScTokenRef> > mpRefTokens;
auto_ptr<Chart2PositionMap> mpPositionMap;
GlueType meGlue;
SCCOL mnStartCol;
@@ -527,7 +527,7 @@ void Chart2Positioner::glueState()
mbDummyUpperLeft = false;
if (mpRefTokens->size() <= 1)
{
- const ScSharedTokenRef& p = mpRefTokens->front();
+ const ScTokenRef& p = mpRefTokens->front();
ScComplexRefData aData;
if (ScRefTokenHelper::getDoubleRefDataFromToken(aData, p))
{
@@ -554,7 +554,7 @@ void Chart2Positioner::glueState()
SCCOL nMaxCols = 0, nEndCol = 0;
SCROW nMaxRows = 0, nEndRow = 0;
- for (vector<ScSharedTokenRef>::const_iterator itr = mpRefTokens->begin(), itrEnd = mpRefTokens->end()
+ for (vector<ScTokenRef>::const_iterator itr = mpRefTokens->begin(), itrEnd = mpRefTokens->end()
; itr != itrEnd; ++itr)
{
ScRefTokenHelper::getDoubleRefDataFromToken(aData, *itr);
@@ -618,7 +618,7 @@ void Chart2Positioner::glueState()
const sal_uInt8 nGlue = 3;
vector<sal_uInt8> aCellStates(nCR);
- for (vector<ScSharedTokenRef>::const_iterator itr = mpRefTokens->begin(), itrEnd = mpRefTokens->end();
+ for (vector<ScTokenRef>::const_iterator itr = mpRefTokens->begin(), itrEnd = mpRefTokens->end();
itr != itrEnd; ++itr)
{
ScRefTokenHelper::getDoubleRefDataFromToken(aData, *itr);
@@ -720,10 +720,10 @@ void Chart2Positioner::createPositionMap()
auto_ptr<Table> pNewRowTable(new Table);
Table* pCol = NULL;
SCROW nNoGlueRow = 0;
- for (vector<ScSharedTokenRef>::const_iterator itr = mpRefTokens->begin(), itrEnd = mpRefTokens->end();
+ for (vector<ScTokenRef>::const_iterator itr = mpRefTokens->begin(), itrEnd = mpRefTokens->end();
itr != itrEnd; ++itr)
{
- const ScSharedTokenRef& pToken = *itr;
+ const ScTokenRef& pToken = *itr;
bool bExternal = ScRefTokenHelper::isExternalRef(pToken);
sal_uInt16 nFileId = bExternal ? pToken->GetIndex() : 0;
@@ -837,7 +837,7 @@ void Chart2Positioner::createPositionMap()
/**
* Function object to create a range string from a token list.
*/
-class Tokens2RangeString : public unary_function<ScSharedTokenRef, void>
+class Tokens2RangeString : public unary_function<ScTokenRef, void>
{
public:
Tokens2RangeString(ScDocument* pDoc, FormulaGrammar::Grammar eGram, sal_Unicode cRangeSep) :
@@ -858,7 +858,7 @@ public:
{
}
- void operator() (const ScSharedTokenRef& rToken)
+ void operator() (const ScTokenRef& rToken)
{
ScCompiler aCompiler(mpDoc, ScAddress(0,0,0));
aCompiler.SetGrammar(meGrammar);
@@ -895,7 +895,7 @@ private:
*
* and each address doesn't include any '$' symbols.
*/
-class Tokens2RangeStringXML : public unary_function<ScSharedTokenRef, void>
+class Tokens2RangeStringXML : public unary_function<ScTokenRef, void>
{
public:
Tokens2RangeStringXML(ScDocument* pDoc) :
@@ -916,14 +916,14 @@ public:
{
}
- void operator() (const ScSharedTokenRef& rToken)
+ void operator() (const ScTokenRef& rToken)
{
if (mbFirst)
mbFirst = false;
else
mpRangeStr->append(mcRangeSep);
- ScSharedTokenRef aStart, aEnd;
+ ScTokenRef aStart, aEnd;
splitRangeToken(rToken, aStart, aEnd);
ScCompiler aCompiler(mpDoc, ScAddress(0,0,0));
aCompiler.SetGrammar(FormulaGrammar::GRAM_ENGLISH);
@@ -948,7 +948,7 @@ public:
private:
Tokens2RangeStringXML(); // disabled
- void splitRangeToken(const ScSharedTokenRef& pToken, ScSharedTokenRef& rStart, ScSharedTokenRef& rEnd) const
+ void splitRangeToken(const ScTokenRef& pToken, ScTokenRef& rStart, ScTokenRef& rEnd) const
{
ScComplexRefData aData;
ScRefTokenHelper::getDoubleRefDataFromToken(aData, pToken);
@@ -989,7 +989,7 @@ private:
bool mbFirst;
};
-void lcl_convertTokensToString(OUString& rStr, const vector<ScSharedTokenRef>& rTokens, ScDocument* pDoc)
+void lcl_convertTokensToString(OUString& rStr, const vector<ScTokenRef>& rTokens, ScDocument* pDoc)
{
const sal_Unicode cRangeSep = ScCompiler::GetNativeSymbol(ocSep).GetChar(0);
FormulaGrammar::Grammar eGrammar = pDoc->GetGrammar();
@@ -1044,7 +1044,7 @@ void ScChart2DataProvider::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
}
}
- vector<ScSharedTokenRef> aTokens;
+ vector<ScTokenRef> aTokens;
ScRefTokenHelper::compileRangeRepresentation(aTokens, aRangeRepresentation, m_pDocument, m_pDocument->GetGrammar());
return !aTokens.empty();
}
@@ -1052,7 +1052,7 @@ void ScChart2DataProvider::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
namespace
{
-ScChart2LabeledDataSequence* lcl_createScChart2DataSequenceFromTokens( auto_ptr< vector<ScSharedTokenRef> > pValueTokens, auto_ptr< vector<ScSharedTokenRef> > pLabelTokens,
+ScChart2LabeledDataSequence* lcl_createScChart2DataSequenceFromTokens( auto_ptr< vector<ScTokenRef> > pValueTokens, auto_ptr< vector<ScTokenRef> > pLabelTokens,
ScDocument* pDoc, const uno::Reference < chart2::data::XDataProvider >& xDP, bool bIncludeHiddenCells )
{
ScChart2LabeledDataSequence* pRet = 0;
@@ -1085,7 +1085,7 @@ ScChart2LabeledDataSequence* lcl_createScChart2DataSequenceFromTokens( auto_ptr<
*
* @return true if the corner was added, false otherwise.
*/
-bool lcl_addUpperLeftCornerIfMissing(vector<ScSharedTokenRef>& rRefTokens,
+bool lcl_addUpperLeftCornerIfMissing(vector<ScTokenRef>& rRefTokens,
SCROW nCornerRowCount=1, SCCOL nCornerColumnCount=1)
{
using ::std::max;
@@ -1104,10 +1104,10 @@ bool lcl_addUpperLeftCornerIfMissing(vector<ScSharedTokenRef>& rRefTokens,
String aExtTabName;
bool bExternal = false;
- vector<ScSharedTokenRef>::const_iterator itr = rRefTokens.begin(), itrEnd = rRefTokens.end();
+ vector<ScTokenRef>::const_iterator itr = rRefTokens.begin(), itrEnd = rRefTokens.end();
// Get the first ref token.
- ScSharedTokenRef pToken = *itr;
+ ScTokenRef pToken = *itr;
switch (pToken->GetType())
{
case svSingleRef:
@@ -1324,13 +1324,13 @@ bool lcl_addUpperLeftCornerIfMissing(vector<ScSharedTokenRef>& rRefTokens,
{
if (bExternal)
{
- ScSharedTokenRef pCorner(
+ ScTokenRef pCorner(
new ScExternalSingleRefToken(nFileId, aExtTabName, aData));
ScRefTokenHelper::join(rRefTokens, pCorner);
}
else
{
- ScSharedTokenRef pCorner(new ScSingleRefToken(aData));
+ ScTokenRef pCorner(new ScSingleRefToken(aData));
ScRefTokenHelper::join(rRefTokens, pCorner);
}
}
@@ -1344,13 +1344,13 @@ bool lcl_addUpperLeftCornerIfMissing(vector<ScSharedTokenRef>& rRefTokens,
r.Ref2=aDataEnd;
if (bExternal)
{
- ScSharedTokenRef pCorner(
+ ScTokenRef pCorner(
new ScExternalDoubleRefToken(nFileId, aExtTabName, r));
ScRefTokenHelper::join(rRefTokens, pCorner);
}
else
{
- ScSharedTokenRef pCorner(new ScDoubleRefToken(r));
+ ScTokenRef pCorner(new ScDoubleRefToken(r));
ScRefTokenHelper::join(rRefTokens, pCorner);
}
}
@@ -1407,7 +1407,7 @@ ScChart2DataProvider::createDataSource(
}
}
- vector<ScSharedTokenRef> aRefTokens;
+ vector<ScTokenRef> aRefTokens;
ScRefTokenHelper::compileRangeRepresentation(aRefTokens, aRangeRepresentation, m_pDocument, m_pDocument->GetGrammar());
if (aRefTokens.empty())
// Invalid range representation. Bail out.
@@ -1433,13 +1433,13 @@ ScChart2DataProvider::createDataSource(
// Fill Categories
if( bCategories )
{
- auto_ptr< vector<ScSharedTokenRef> > pValueTokens(NULL);
+ auto_ptr< vector<ScTokenRef> > pValueTokens(NULL);
if (bOrientCol)
pValueTokens.reset(pChartMap->getAllRowHeaderRanges());
else
pValueTokens.reset(pChartMap->getAllColHeaderRanges());
- auto_ptr< vector<ScSharedTokenRef> > pLabelTokens(NULL);
+ auto_ptr< vector<ScTokenRef> > pLabelTokens(NULL);
pLabelTokens.reset(pChartMap->getLeftUpperCornerRanges());
ScChart2LabeledDataSequence* pCategories = lcl_createScChart2DataSequenceFromTokens( pValueTokens, pLabelTokens, m_pDocument, this, m_bIncludeHiddenCells );//ownership of pointers is transfered!
@@ -1451,8 +1451,8 @@ ScChart2DataProvider::createDataSource(
sal_Int32 nCount = bOrientCol ? pChartMap->getDataColCount() : pChartMap->getDataRowCount();
for (sal_Int32 i = 0; i < nCount; ++i)
{
- auto_ptr< vector<ScSharedTokenRef> > pValueTokens(NULL);
- auto_ptr< vector<ScSharedTokenRef> > pLabelTokens(NULL);
+ auto_ptr< vector<ScTokenRef> > pValueTokens(NULL);
+ auto_ptr< vector<ScTokenRef> > pLabelTokens(NULL);
if (bOrientCol)
{
pValueTokens.reset(pChartMap->getDataColRanges(static_cast<SCCOL>(i)));
@@ -1512,7 +1512,7 @@ namespace
/**
* Function object to create a list of table numbers from a token list.
*/
-class InsertTabNumber : public unary_function<ScSharedTokenRef, void>
+class InsertTabNumber : public unary_function<ScTokenRef, void>
{
public:
InsertTabNumber() :
@@ -1525,7 +1525,7 @@ public:
{
}
- void operator() (const ScSharedTokenRef& pToken) const
+ void operator() (const ScTokenRef& pToken) const
{
if (!ScRefTokenHelper::isRef(pToken))
return;
@@ -1546,7 +1546,7 @@ class RangeAnalyzer
{
public:
RangeAnalyzer();
- void initRangeAnalyzer( const vector<ScSharedTokenRef>& rTokens );
+ void initRangeAnalyzer( const vector<ScTokenRef>& rTokens );
void analyzeRange( sal_Int32& rnDataInRows, sal_Int32& rnDataInCols,
bool& rbRowSourceAmbiguous ) const;
bool inSameSingleRow( RangeAnalyzer& rOther );
@@ -1574,7 +1574,7 @@ RangeAnalyzer::RangeAnalyzer()
{
}
-void RangeAnalyzer::initRangeAnalyzer( const vector<ScSharedTokenRef>& rTokens )
+void RangeAnalyzer::initRangeAnalyzer( const vector<ScTokenRef>& rTokens )
{
mnRowCount=0;
mnColumnCount=0;
@@ -1588,10 +1588,10 @@ void RangeAnalyzer::initRangeAnalyzer( const vector<ScSharedTokenRef>& rTokens )
}
mbEmpty=false;
- vector<ScSharedTokenRef>::const_iterator itr = rTokens.begin(), itrEnd = rTokens.end();
+ vector<ScTokenRef>::const_iterator itr = rTokens.begin(), itrEnd = rTokens.end();
for (; itr != itrEnd ; ++itr)
{
- ScSharedTokenRef aRefToken = *itr;
+ ScTokenRef aRefToken = *itr;
StackVar eVar = aRefToken->GetType();
if (eVar == svDoubleRef || eVar == svExternalDoubleRef)
{
@@ -1681,12 +1681,12 @@ uno::Sequence< beans::PropertyValue > SAL_CALL ScChart2DataProvider::detectArgum
::rtl::OUString sRangeRep;
bool bHasCategoriesLabels = false;
- vector<ScSharedTokenRef> aAllCategoriesValuesTokens;
- vector<ScSharedTokenRef> aAllSeriesLabelTokens;
+ vector<ScTokenRef> aAllCategoriesValuesTokens;
+ vector<ScTokenRef> aAllSeriesLabelTokens;
chart::ChartDataRowSource eRowSource = chart::ChartDataRowSource_COLUMNS;
- vector<ScSharedTokenRef> aAllTokens;
+ vector<ScTokenRef> aAllTokens;
// parse given data source and collect infos
{
@@ -1723,10 +1723,10 @@ uno::Sequence< beans::PropertyValue > SAL_CALL ScChart2DataProvider::detectArgum
if( xLabel.is())
{
bFirstCellAsLabel = true;
- vector<ScSharedTokenRef> aTokens;
+ vector<ScTokenRef> aTokens;
ScRefTokenHelper::compileRangeRepresentation( aTokens, xLabel->getSourceRangeRepresentation(), m_pDocument, m_pDocument->GetGrammar() );
aLabel.initRangeAnalyzer(aTokens);
- vector<ScSharedTokenRef>::const_iterator itr = aTokens.begin(), itrEnd = aTokens.end();
+ vector<ScTokenRef>::const_iterator itr = aTokens.begin(), itrEnd = aTokens.end();
for (; itr != itrEnd; ++itr)
{
ScRefTokenHelper::join(aAllTokens, *itr);
@@ -1740,10 +1740,10 @@ uno::Sequence< beans::PropertyValue > SAL_CALL ScChart2DataProvider::detectArgum
Reference< chart2::data::XDataSequence > xValues( xLS->getValues());
if( xValues.is())
{
- vector<ScSharedTokenRef> aTokens;
+ vector<ScTokenRef> aTokens;
ScRefTokenHelper::compileRangeRepresentation( aTokens, xValues->getSourceRangeRepresentation(), m_pDocument, m_pDocument->GetGrammar() );
aValues.initRangeAnalyzer(aTokens);
- vector<ScSharedTokenRef>::const_iterator itr = aTokens.begin(), itrEnd = aTokens.end();
+ vector<ScTokenRef>::const_iterator itr = aTokens.begin(), itrEnd = aTokens.end();
for (; itr != itrEnd; ++itr)
{
ScRefTokenHelper::join(aAllTokens, *itr);
@@ -1810,7 +1810,7 @@ uno::Sequence< beans::PropertyValue > SAL_CALL ScChart2DataProvider::detectArgum
func = ::std::for_each(aAllTokens.begin(), aAllTokens.end(), func);
func.getList(aTableNumList);
aResult.push_back(
- beans::PropertyValue( ::rtl::OUString::createFromAscii("TableNumberList"), -1,
+ beans::PropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TableNumberList")), -1,
uno::makeAny( lcl_createTableNumberList( aTableNumList ) ),
beans::PropertyState_DIRECT_VALUE ));
}
@@ -1819,7 +1819,7 @@ uno::Sequence< beans::PropertyValue > SAL_CALL ScChart2DataProvider::detectArgum
if( bRowSourceDetected )
{
aResult.push_back(
- beans::PropertyValue( ::rtl::OUString::createFromAscii("DataRowSource"), -1,
+ beans::PropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DataRowSource")), -1,
uno::makeAny( eRowSource ), beans::PropertyState_DIRECT_VALUE ));
}
@@ -1827,7 +1827,7 @@ uno::Sequence< beans::PropertyValue > SAL_CALL ScChart2DataProvider::detectArgum
if( bRowSourceDetected )
{
aResult.push_back(
- beans::PropertyValue( ::rtl::OUString::createFromAscii("HasCategories"), -1,
+ beans::PropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HasCategories")), -1,
uno::makeAny( bHasCategories ), beans::PropertyState_DIRECT_VALUE ));
}
@@ -1835,7 +1835,7 @@ uno::Sequence< beans::PropertyValue > SAL_CALL ScChart2DataProvider::detectArgum
if( bRowSourceDetected )
{
aResult.push_back(
- beans::PropertyValue( ::rtl::OUString::createFromAscii("FirstCellAsLabel"), -1,
+ beans::PropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FirstCellAsLabel")), -1,
uno::makeAny( bFirstCellAsLabel ), beans::PropertyState_DIRECT_VALUE ));
}
@@ -1861,7 +1861,7 @@ uno::Sequence< beans::PropertyValue > SAL_CALL ScChart2DataProvider::detectArgum
// add cell range property
aResult.push_back(
- beans::PropertyValue( ::rtl::OUString::createFromAscii("CellRangeRepresentation"), -1,
+ beans::PropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CellRangeRepresentation")), -1,
uno::makeAny( sRangeRep ), beans::PropertyState_DIRECT_VALUE ));
//Sequence Mapping
@@ -1931,7 +1931,7 @@ uno::Sequence< beans::PropertyValue > SAL_CALL ScChart2DataProvider::detectArgum
if( bDifferentIndexes && aSequenceMappingVector.size() )
{
aResult.push_back(
- beans::PropertyValue( ::rtl::OUString::createFromAscii("SequenceMapping"), -1,
+ beans::PropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SequenceMapping")), -1,
uno::makeAny( lcl_VectorToSequence(aSequenceMappingVector) )
, beans::PropertyState_DIRECT_VALUE ));
}
@@ -1947,7 +1947,7 @@ uno::Sequence< beans::PropertyValue > SAL_CALL ScChart2DataProvider::detectArgum
if( ! m_pDocument )
return false;
- vector<ScSharedTokenRef> aTokens;
+ vector<ScTokenRef> aTokens;
ScRefTokenHelper::compileRangeRepresentation(aTokens, aRangeRepresentation, m_pDocument, m_pDocument->GetGrammar());
return !aTokens.empty();
}
@@ -1971,13 +1971,13 @@ uno::Reference< chart2::data::XDataSequence > SAL_CALL
// method to allow the client code to directly pass tokens representing
// ranges.
- vector<ScSharedTokenRef> aRefTokens;
+ vector<ScTokenRef> aRefTokens;
ScRefTokenHelper::compileRangeRepresentation(aRefTokens, aRangeRepresentation, m_pDocument);
if (aRefTokens.empty())
return xResult;
// ScChart2DataSequence manages the life cycle of pRefTokens.
- vector<ScSharedTokenRef>* pRefTokens = new vector<ScSharedTokenRef>();
+ vector<ScTokenRef>* pRefTokens = new vector<ScTokenRef>();
pRefTokens->swap(aRefTokens);
xResult.set(new ScChart2DataSequence(m_pDocument, this, pRefTokens, m_bIncludeHiddenCells));
@@ -1996,12 +1996,6 @@ uno::Reference< sheet::XRangeSelection > SAL_CALL ScChart2DataProvider::getRange
return xResult;
}
-/*uno::Reference< util::XNumberFormatsSupplier > SAL_CALL ScChart2DataProvider::getNumberFormatsSupplier()
- throw (uno::RuntimeException)
-{
- return uno::Reference< util::XNumberFormatsSupplier >( lcl_GetXModel( m_pDocument ), uno::UNO_QUERY );
-}*/
-
// XRangeXMLConversion ---------------------------------------------------
rtl::OUString SAL_CALL ScChart2DataProvider::convertRangeToXML( const rtl::OUString& sRangeRepresentation )
@@ -2015,7 +2009,7 @@ rtl::OUString SAL_CALL ScChart2DataProvider::convertRangeToXML( const rtl::OUStr
// Empty data range is allowed.
return aRet;
- vector<ScSharedTokenRef> aRefTokens;
+ vector<ScTokenRef> aRefTokens;
ScRefTokenHelper::compileRangeRepresentation(aRefTokens, sRangeRepresentation, m_pDocument, m_pDocument->GetGrammar());
if (aRefTokens.empty())
throw lang::IllegalArgumentException();
@@ -2200,74 +2194,6 @@ ScChart2DataSource::getDataSequences() throw ( uno::RuntimeException)
}
return aRet;
-
-/* typedef ::std::vector< uno::Reference< chart2::data::XLabeledDataSequence > > tVec;
- tVec aVec;
- bool bSeries = false;
- // split into columns - FIXME: different if GlueState() is used
- for ( ScRangePtr p = m_xRanges->First(); p; p = m_xRanges->Next())
- {
- for ( SCCOL nCol = p->aStart.Col(); nCol <= p->aEnd.Col(); ++nCol)
- {
- uno::Reference< chart2::data::XLabeledDataSequence > xLabeledSeq(
- new ScChart2LabeledDataSequence( m_pDocument));
- if( xLabeledSeq.is())
- {
- aVec.push_back( xLabeledSeq );
- if( bSeries )
- {
- ScRangeListRef aColRanges = new ScRangeList;
- // one single sheet selected assumed for now
- aColRanges->Append( ScRange( nCol, p->aStart.Row(),
- p->aStart.Tab(), nCol, p->aStart.Row(),
- p->aStart.Tab()));
- // TEST: add range two times, once as label, once as data
- // TODO: create pure Numerical and Text sequences if possible
- uno::Reference< chart2::data::XDataSequence > xLabel(
- new ScChart2DataSequence( m_pDocument, aColRanges));
-
- // set role
- uno::Reference< beans::XPropertySet > xProp( xLabel, uno::UNO_QUERY );
- if( xProp.is())
- xProp->setPropertyValue(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Role" )),
- ::uno::makeAny( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "label" ))));
-
- xLabeledSeq->setLabel( xLabel );
- }
-
- ScRangeListRef aColRanges = new ScRangeList;
-
- // one single sheet selected assumed for now
- aColRanges->Append( ScRange( nCol, p->aStart.Row() + 1,
- p->aStart.Tab(), nCol, p->aEnd.Row(),
- p->aStart.Tab()));
- uno::Reference< chart2::data::XDataSequence > xData(
- new ScChart2DataSequence( m_pDocument, aColRanges));
-
- // set role
- uno::Reference< beans::XPropertySet > xProp( xData, uno::UNO_QUERY );
- if( xProp.is())
- xProp->setPropertyValue(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Role" )),
- ::uno::makeAny( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "values" ))));
-
- xLabeledSeq->setValues( xData );
-
- bSeries = true;
- }
- }
- }
- uno::Sequence< uno::Reference< chart2::data::XLabeledDataSequence> > aSequences(
- aVec.size());
- uno::Reference< chart2::data::XLabeledDataSequence> * pArr = aSequences.getArray();
- sal_Int32 j = 0;
- for ( tVec::const_iterator iSeq = aVec.begin(); iSeq != aVec.end();
- ++iSeq, ++j)
- {
- pArr[j] = *iSeq;
- }
- return aSequences;*/
}
void ScChart2DataSource::AddLabeledSequence(const uno::Reference < chart2::data::XLabeledDataSequence >& xNew)
@@ -2408,7 +2334,7 @@ void ScChart2DataSequence::HiddenRangeListener::notify()
ScChart2DataSequence::ScChart2DataSequence( ScDocument* pDoc,
const uno::Reference < chart2::data::XDataProvider >& xDP,
- vector<ScSharedTokenRef>* pTokens,
+ vector<ScTokenRef>* pTokens,
bool bIncludeHiddenCells )
: m_bIncludeHiddenCells( bIncludeHiddenCells)
, m_nObjectId( 0 )
@@ -2438,7 +2364,7 @@ ScChart2DataSequence::ScChart2DataSequence( ScDocument* pDoc,
// rRangeList->Format( aStr, SCR_ABS_3D, m_pDocument );
// m_aIdentifier = ::rtl::OUString( aStr );
-// m_aIdentifier = ::rtl::OUString::createFromAscii( "ID_");
+// m_aIdentifier = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ID_"));
// static sal_Int32 nID = 0;
// m_aIdentifier += ::rtl::OUString::valueOf( ++nID);
}
@@ -2476,7 +2402,7 @@ void ScChart2DataSequence::RefChanged()
pCLC->EndListeningHiddenRange(m_pHiddenListener.get());
}
- vector<ScSharedTokenRef>::const_iterator itr = m_pTokens->begin(), itrEnd = m_pTokens->end();
+ vector<ScTokenRef>::const_iterator itr = m_pTokens->begin(), itrEnd = m_pTokens->end();
for (; itr != itrEnd; ++itr)
{
ScRange aRange;
@@ -2510,7 +2436,7 @@ void ScChart2DataSequence::BuildDataCache()
sal_Int32 nDataCount = 0;
sal_Int32 nHiddenValueCount = 0;
- for (vector<ScSharedTokenRef>::const_iterator itr = m_pTokens->begin(), itrEnd = m_pTokens->end();
+ for (vector<ScTokenRef>::const_iterator itr = m_pTokens->begin(), itrEnd = m_pTokens->end();
itr != itrEnd; ++itr)
{
if (ScRefTokenHelper::isExternalRef(*itr))
@@ -2621,7 +2547,7 @@ void ScChart2DataSequence::RebuildDataCache()
}
}
-sal_Int32 ScChart2DataSequence::FillCacheFromExternalRef(const ScSharedTokenRef& pToken)
+sal_Int32 ScChart2DataSequence::FillCacheFromExternalRef(const ScTokenRef& pToken)
{
ScExternalRefManager* pRefMgr = m_pDocument->GetExternalRefManager();
ScRange aRange;
@@ -2709,11 +2635,10 @@ void ScChart2DataSequence::UpdateTokensFromRanges(const ScRangeList& rRanges)
if (!m_pRangeIndices.get())
return;
- sal_uInt32 nCount = rRanges.Count();
- for (sal_uInt32 i = 0; i < nCount; ++i)
+ for ( size_t i = 0, nCount = rRanges.size(); i < nCount; ++i )
{
- ScSharedTokenRef pToken;
- ScRange* pRange = static_cast<ScRange*>(rRanges.GetObject(i));
+ ScTokenRef pToken;
+ const ScRange* pRange = rRanges[i];
DBG_ASSERT(pRange, "range object is NULL.");
ScRefTokenHelper::getTokenFromRange(pToken, *pRange);
@@ -2828,8 +2753,8 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
ScRangeList aRanges;
m_pRangeIndices.reset(new vector<sal_uInt32>());
- vector<ScSharedTokenRef>::const_iterator itrBeg = m_pTokens->begin(), itrEnd = m_pTokens->end();
- for (vector<ScSharedTokenRef>::const_iterator itr = itrBeg ;itr != itrEnd; ++itr)
+ vector<ScTokenRef>::const_iterator itrBeg = m_pTokens->begin(), itrEnd = m_pTokens->end();
+ for (vector<ScTokenRef>::const_iterator itr = itrBeg ;itr != itrEnd; ++itr)
{
if (!ScRefTokenHelper::isExternalRef(*itr))
{
@@ -2841,7 +2766,7 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
}
}
- DBG_ASSERT(m_pRangeIndices->size() == static_cast<size_t>(aRanges.Count()),
+ DBG_ASSERT(m_pRangeIndices->size() == static_cast<size_t>(aRanges.size()),
"range list and range index list have different sizes.");
auto_ptr<ScRangeList> pUndoRanges;
@@ -2854,7 +2779,7 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
if (bChanged)
{
- DBG_ASSERT(m_pRangeIndices->size() == static_cast<size_t>(aRanges.Count()),
+ DBG_ASSERT(m_pRangeIndices->size() == aRanges.size(),
"range list and range index list have different sizes after the reference update.");
// Bring the change back from the range list to the token list.
@@ -2884,7 +2809,7 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
const ScRangeList& rRanges = rUndoHint.GetRanges();
- sal_uInt32 nCount = rRanges.Count();
+ size_t nCount = rRanges.size();
if (nCount != m_pRangeIndices->size())
{
DBG_ERROR("range count and range index count differ.");
@@ -3056,7 +2981,7 @@ namespace {
* This function object is used to accumulatively count the numbers of
* columns and rows in all reference tokens.
*/
-class AccumulateRangeSize : public unary_function<ScSharedTokenRef, void>
+class AccumulateRangeSize : public unary_function<ScTokenRef, void>
{
public:
AccumulateRangeSize() :
@@ -3065,7 +2990,7 @@ public:
AccumulateRangeSize(const AccumulateRangeSize& r) :
mnCols(r.mnCols), mnRows(r.mnRows) {}
- void operator() (const ScSharedTokenRef& pToken)
+ void operator() (const ScTokenRef& pToken)
{
ScRange r;
bool bExternal = ScRefTokenHelper::isExternalRef(pToken);
@@ -3086,7 +3011,7 @@ private:
* This function object is used to generate label strings from a list of
* reference tokens.
*/
-class GenerateLabelStrings : public unary_function<ScSharedTokenRef, void>
+class GenerateLabelStrings : public unary_function<ScTokenRef, void>
{
public:
GenerateLabelStrings(sal_Int32 nSize, chart2::data::LabelOrigin eOrigin, bool bColumn) :
@@ -3101,7 +3026,7 @@ public:
mnCount(r.mnCount),
mbColumn(r.mbColumn) {}
- void operator() (const ScSharedTokenRef& pToken)
+ void operator() (const ScTokenRef& pToken)
{
bool bExternal = ScRefTokenHelper::isExternalRef(pToken);
ScRange aRange;
@@ -3219,7 +3144,7 @@ uno::Sequence< ::rtl::OUString > SAL_CALL ScChart2DataSequence::generateLabel(ch
sal_Int32 nCount = 0;
bool bFound = false;
- ScRangePtr p;
+ ScRange* p;
uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( lcl_GetSpreadSheetDocument( m_pDocument ));
if (!xSpreadDoc.is())
@@ -3232,8 +3157,9 @@ uno::Sequence< ::rtl::OUString > SAL_CALL ScChart2DataSequence::generateLabel(ch
ScRangeList aRanges;
ScRefTokenHelper::getRangeListFromTokens(aRanges, *m_pTokens);
uno::Reference< table::XCellRange > xSheet;
- for ( p = aRanges.First(); p && !bFound; p = aRanges.Next())
+ for ( size_t rIndex = 0, nRanges = aRanges.size(); (rIndex < nRanges) && !bFound; ++rIndex )
{
+ p = aRanges[ rIndex ];
// TODO: use DocIter?
table::CellAddress aStart, aEnd;
ScUnoConversion::FillApiAddress( aStart, p->aStart );
@@ -3287,16 +3213,16 @@ uno::Reference< util::XCloneable > SAL_CALL ScChart2DataSequence::createClone()
{
SolarMutexGuard aGuard;
- auto_ptr< vector<ScSharedTokenRef> > pTokensNew;
+ auto_ptr< vector<ScTokenRef> > pTokensNew;
if (m_pTokens.get())
{
// Clone tokens.
- pTokensNew.reset(new vector<ScSharedTokenRef>);
+ pTokensNew.reset(new vector<ScTokenRef>);
pTokensNew->reserve(m_pTokens->size());
- vector<ScSharedTokenRef>::const_iterator itr = m_pTokens->begin(), itrEnd = m_pTokens->end();
+ vector<ScTokenRef>::const_iterator itr = m_pTokens->begin(), itrEnd = m_pTokens->end();
for (; itr != itrEnd; ++itr)
{
- ScSharedTokenRef p(static_cast<ScToken*>((*itr)->Clone()));
+ ScTokenRef p(static_cast<ScToken*>((*itr)->Clone()));
pTokensNew->push_back(p);
}
}
@@ -3335,7 +3261,7 @@ void SAL_CALL ScChart2DataSequence::addModifyListener( const uno::Reference< uti
if( m_pDocument )
{
ScChartListenerCollection* pCLC = m_pDocument->GetChartListenerCollection();
- vector<ScSharedTokenRef>::const_iterator itr = m_pTokens->begin(), itrEnd = m_pTokens->end();
+ vector<ScTokenRef>::const_iterator itr = m_pTokens->begin(), itrEnd = m_pTokens->end();
for (; itr != itrEnd; ++itr)
{
ScRange aRange;
@@ -3507,46 +3433,6 @@ void ScChart2DataSequence::setDataChangedHint(bool b)
m_bGotDataChangedHint = b;
}
-// XUnoTunnel
-
-// sal_Int64 SAL_CALL ScChart2DataSequence::getSomething(
-// const uno::Sequence<sal_Int8 >& rId ) throw(uno::RuntimeException)
-// {
-// if ( rId.getLength() == 16 &&
-// 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
-// rId.getConstArray(), 16 ) )
-// {
-// return (sal_Int64)this;
-// }
-// return 0;
-// }
-
-// // static
-// const uno::Sequence<sal_Int8>& ScChart2DataSequence::getUnoTunnelId()
-// {
-// static uno::Sequence<sal_Int8> * pSeq = 0;
-// if( !pSeq )
-// {
-// osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
-// if( !pSeq )
-// {
-// static uno::Sequence< sal_Int8 > aSeq( 16 );
-// rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
-// pSeq = &aSeq;
-// }
-// }
-// return *pSeq;
-// }
-
-// // static
-// ScChart2DataSequence* ScChart2DataSequence::getImplementation( const uno::Reference<uno::XInterface> xObj )
-// {
-// ScChart2DataSequence* pRet = NULL;
-// uno::Reference<lang::XUnoTunnel> xUT( xObj, uno::UNO_QUERY );
-// if (xUT.is())
-// pRet = (ScChart2DataSequence*) xUT->getSomething( getUnoTunnelId() );
-// return pRet;
-// }
#if USE_CHART2_EMPTYDATASEQUENCE
// DataSequence ==============================================================
@@ -3572,7 +3458,7 @@ ScChart2EmptyDataSequence::ScChart2EmptyDataSequence( ScDocument* pDoc,
// rRangeList->Format( aStr, SCR_ABS_3D, m_pDocument );
// m_aIdentifier = ::rtl::OUString( aStr );
-// m_aIdentifier = ::rtl::OUString::createFromAscii( "ID_");
+// m_aIdentifier = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ID_"));
// static sal_Int32 nID = 0;
// m_aIdentifier += ::rtl::OUString::valueOf( ++nID);
}
@@ -3613,7 +3499,7 @@ uno::Sequence< rtl::OUString > SAL_CALL ScChart2EmptyDataSequence::getTextualDat
throw uno::RuntimeException();
sal_Int32 nCount = 0;
- ScRangePtr p;
+ ScRange* p;
DBG_ASSERT(m_xRanges->Count() == 1, "not handled count of ranges");
@@ -3820,46 +3706,6 @@ void SAL_CALL ScChart2EmptyDataSequence::removeVetoableChangeListener(
OSL_ENSURE( false, "Not yet implemented" );
}
-// XUnoTunnel
-
-// sal_Int64 SAL_CALL ScChart2EmptyDataSequence::getSomething(
-// const uno::Sequence<sal_Int8 >& rId ) throw(uno::RuntimeException)
-// {
-// if ( rId.getLength() == 16 &&
-// 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
-// rId.getConstArray(), 16 ) )
-// {
-// return (sal_Int64)this;
-// }
-// return 0;
-// }
-
-// // static
-// const uno::Sequence<sal_Int8>& ScChart2EmptyDataSequence::getUnoTunnelId()
-// {
-// static uno::Sequence<sal_Int8> * pSeq = 0;
-// if( !pSeq )
-// {
-// osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
-// if( !pSeq )
-// {
-// static uno::Sequence< sal_Int8 > aSeq( 16 );
-// rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
-// pSeq = &aSeq;
-// }
-// }
-// return *pSeq;
-// }
-
-// // static
-// ScChart2DataSequence* ScChart2EmptyDataSequence::getImplementation( const uno::Reference<uno::XInterface> xObj )
-// {
-// ScChart2DataSequence* pRet = NULL;
-// uno::Reference<lang::XUnoTunnel> xUT( xObj, uno::UNO_QUERY );
-// if (xUT.is())
-// pRet = (ScChart2EmptyDataSequence*) xUT->getSomething( getUnoTunnelId() );
-// return pRet;
-// }
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/unoobj/chartuno.cxx b/sc/source/ui/unoobj/chartuno.cxx
index 0212ea15dff3..0b0b500402c5 100644
--- a/sc/source/ui/unoobj/chartuno.cxx
+++ b/sc/source/ui/unoobj/chartuno.cxx
@@ -272,16 +272,16 @@ void SAL_CALL ScChartsObj::addNewByName( const rtl::OUString& aName,
// set arguments
uno::Sequence< beans::PropertyValue > aArgs( 4 );
aArgs[0] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("CellRangeRepresentation"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CellRangeRepresentation")), -1,
uno::makeAny( ::rtl::OUString( sRangeStr )), beans::PropertyState_DIRECT_VALUE );
aArgs[1] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("HasCategories"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HasCategories")), -1,
uno::makeAny( bRowHeaders ), beans::PropertyState_DIRECT_VALUE );
aArgs[2] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("FirstCellAsLabel"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FirstCellAsLabel")), -1,
uno::makeAny( bColumnHeaders ), beans::PropertyState_DIRECT_VALUE );
aArgs[3] = beans::PropertyValue(
- ::rtl::OUString::createFromAscii("DataRowSource"), -1,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DataRowSource")), -1,
uno::makeAny( chart::ChartDataRowSource_COLUMNS ), beans::PropertyState_DIRECT_VALUE );
xReceiver->setArguments( aArgs );
}
@@ -466,7 +466,7 @@ ScChartObj::ScChartObj(ScDocShell* pDocSh, SCTAB nT, const String& rN)
pDocShell->GetDocument()->AddUnoObject(*this);
uno::Sequence< table::CellRangeAddress > aInitialPropValue;
- registerPropertyNoMember( ::rtl::OUString::createFromAscii( "RelatedCellRanges" ),
+ registerPropertyNoMember( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "RelatedCellRanges" )),
PROP_HANDLE_RELATED_CELLRANGES, beans::PropertyAttribute::MAYBEVOID,
::getCppuType( &aInitialPropValue ), &aInitialPropValue );
}
@@ -627,12 +627,12 @@ void ScChartObj::getFastPropertyValue( uno::Any& rValue, sal_Int32 nHandle ) con
const ScRangeListRef& rRangeList = pListener->GetRangeList();
if ( rRangeList.Is() )
{
- ULONG nCount = rRangeList->Count();
+ size_t nCount = rRangeList->size();
uno::Sequence< table::CellRangeAddress > aCellRanges( nCount );
table::CellRangeAddress* pCellRanges = aCellRanges.getArray();
- for ( USHORT i = 0; i < nCount; ++i )
+ for ( size_t i = 0; i < nCount; ++i )
{
- ScRange aRange( *rRangeList->GetObject( i ) );
+ ScRange aRange( *(*rRangeList)[i] );
table::CellRangeAddress aCellRange;
ScUnoConversion::FillApiRange( aCellRange, aRange );
pCellRanges[ i ] = aCellRange;
@@ -725,14 +725,14 @@ uno::Sequence<table::CellRangeAddress> SAL_CALL ScChartObj::getRanges() throw(un
GetData_Impl( xRanges, bColHeaders, bRowHeaders );
if ( xRanges.Is() )
{
- ULONG nCount = xRanges->Count();
+ size_t nCount = xRanges->size();
table::CellRangeAddress aRangeAddress;
uno::Sequence<table::CellRangeAddress> aSeq(nCount);
table::CellRangeAddress* pAry = aSeq.getArray();
- for (USHORT i=0; i<nCount; i++)
+ for (size_t i = 0; i < nCount; i++)
{
- ScRange aRange(*xRanges->GetObject(i));
+ ScRange aRange( *(*xRanges)[i] );
aRangeAddress.Sheet = aRange.aStart.Tab();
aRangeAddress.StartColumn = aRange.aStart.Col();
diff --git a/sc/source/ui/unoobj/confuno.cxx b/sc/source/ui/unoobj/confuno.cxx
index a00d65061007..5fbbe2a007f5 100644
--- a/sc/source/ui/unoobj/confuno.cxx
+++ b/sc/source/ui/unoobj/confuno.cxx
@@ -85,9 +85,7 @@ const SfxItemPropertyMapEntry* lcl_GetConfigPropertyMap()
{MAP_CHAR_LEN(SC_UNO_UPDTEMPL), 0, &getBooleanCppuType(), 0, 0},
/*Stampit enable/disable print cancel */
{MAP_CHAR_LEN(SC_UNO_ALLOWPRINTJOBCANCEL), 0, &getBooleanCppuType(), 0, 0},
- // --> PB 2004-08-25 #i33095# Security Options
{MAP_CHAR_LEN(SC_UNO_LOADREADONLY), 0, &getBooleanCppuType(), 0, 0},
- // <--
{MAP_CHAR_LEN(SC_UNO_SHAREDOC), 0, &getBooleanCppuType(), 0, 0},
{MAP_CHAR_LEN(SC_UNO_MODIFYPASSWORDINFO), 0, &getCppuType((uno::Sequence< beans::PropertyValue >*)0), 0, 0},
{0,0,0,0,0,0}
@@ -421,7 +419,6 @@ uno::Any SAL_CALL ScDocumentConfiguration::getPropertyValue( const rtl::OUString
aRet <<= pDocShell->IsQueryLoadTemplate();
else if ( aPropertyName.compareToAscii( SC_UNO_LOADREADONLY ) == 0 )
aRet <<= pDocShell->IsLoadReadonly();
- // <--
else if ( aPropertyName.compareToAscii( SC_UNO_SHAREDOC ) == 0 )
{
ScUnoHelpFunctions::SetBoolInAny( aRet, pDocShell->HasSharedXMLFlagSet() );
@@ -464,7 +461,7 @@ SC_IMPL_DUMMY_PROPERTY_LISTENER( ScDocumentConfiguration )
rtl::OUString SAL_CALL ScDocumentConfiguration::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScDocumentConfiguration" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScDocumentConfiguration" ));
}
sal_Bool SAL_CALL ScDocumentConfiguration::supportsService( const rtl::OUString& rServiceName )
@@ -480,8 +477,8 @@ uno::Sequence<rtl::OUString> SAL_CALL ScDocumentConfiguration::getSupportedServi
{
uno::Sequence<rtl::OUString> aRet(2);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCCOMPSCPREADSHEETSETTINGS_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCDOCUMENTSETTINGS_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCOMPSCPREADSHEETSETTINGS_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCDOCUMENTSETTINGS_SERVICE ));
return aRet;
}
diff --git a/sc/source/ui/unoobj/cursuno.cxx b/sc/source/ui/unoobj/cursuno.cxx
index 4685a4137c15..528b506d9f8a 100644
--- a/sc/source/ui/unoobj/cursuno.cxx
+++ b/sc/source/ui/unoobj/cursuno.cxx
@@ -120,8 +120,8 @@ void SAL_CALL ScCellCursorObj::collapseToCurrentRegion() throw(uno::RuntimeExcep
{
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aOneRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aOneRange( *rRanges[ 0 ] );
aOneRange.Justify();
ScDocShell* pDocSh = GetDocShell();
@@ -145,8 +145,8 @@ void SAL_CALL ScCellCursorObj::collapseToCurrentArray() throw(uno::RuntimeExcept
{
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aOneRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aOneRange( *rRanges[ 0 ] );
aOneRange.Justify();
ScAddress aCursor(aOneRange.aStart); // use the start address of the range
@@ -180,8 +180,8 @@ void SAL_CALL ScCellCursorObj::collapseToMergedArea() throw(uno::RuntimeExceptio
if ( pDocSh )
{
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aNewRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aNewRange( *rRanges[ 0 ] );
ScDocument* pDoc = pDocSh->GetDocument();
pDoc->ExtendOverlapped( aNewRange );
@@ -195,8 +195,8 @@ void SAL_CALL ScCellCursorObj::expandToEntireColumns() throw(uno::RuntimeExcepti
{
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aNewRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aNewRange( *rRanges[ 0 ] );
aNewRange.aStart.SetRow( 0 );
aNewRange.aEnd.SetRow( MAXROW );
@@ -208,8 +208,8 @@ void SAL_CALL ScCellCursorObj::expandToEntireRows() throw(uno::RuntimeException)
{
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aNewRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aNewRange( *rRanges[ 0 ] );
aNewRange.aStart.SetCol( 0 );
aNewRange.aEnd.SetCol( MAXCOL );
@@ -229,8 +229,8 @@ void SAL_CALL ScCellCursorObj::collapseToSize( sal_Int32 nColumns, sal_Int32 nRo
else
{
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aNewRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aNewRange( *rRanges[ 0 ] );
aNewRange.Justify(); //! wirklich?
@@ -261,8 +261,8 @@ void SAL_CALL ScCellCursorObj::gotoStartOfUsedArea( sal_Bool bExpand )
if ( pDocSh )
{
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aNewRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aNewRange( *rRanges[0] );
SCTAB nTab = aNewRange.aStart.Tab();
SCCOL nUsedX = 0; // Anfang holen
@@ -289,8 +289,8 @@ void SAL_CALL ScCellCursorObj::gotoEndOfUsedArea( sal_Bool bExpand )
if ( pDocSh )
{
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aNewRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aNewRange( *rRanges[ 0 ]);
SCTAB nTab = aNewRange.aStart.Tab();
SCCOL nUsedX = 0; // Ende holen
@@ -318,8 +318,8 @@ void SAL_CALL ScCellCursorObj::gotoStart() throw(uno::RuntimeException)
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aOneRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aOneRange( *rRanges[ 0 ]);
aOneRange.Justify();
ScDocShell* pDocSh = GetDocShell();
@@ -346,8 +346,8 @@ void SAL_CALL ScCellCursorObj::gotoEnd() throw(uno::RuntimeException)
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aOneRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aOneRange( *rRanges[ 0 ] );
aOneRange.Justify();
ScDocShell* pDocSh = GetDocShell();
@@ -371,8 +371,8 @@ void SAL_CALL ScCellCursorObj::gotoNext() throw(uno::RuntimeException)
{
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aOneRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aOneRange( *rRanges[ 0 ] );
aOneRange.Justify();
ScAddress aCursor(aOneRange.aStart); // bei Block immer den Start nehmen
@@ -393,8 +393,8 @@ void SAL_CALL ScCellCursorObj::gotoPrevious() throw(uno::RuntimeException)
{
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aOneRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aOneRange( *rRanges[ 0 ] );
aOneRange.Justify();
ScAddress aCursor(aOneRange.aStart); // bei Block immer den Start nehmen
@@ -416,8 +416,8 @@ void SAL_CALL ScCellCursorObj::gotoOffset( sal_Int32 nColumnOffset, sal_Int32 nR
{
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
- DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" );
- ScRange aOneRange(*rRanges.GetObject(0));
+ DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" );
+ ScRange aOneRange( *rRanges[ 0 ] );
aOneRange.Justify();
if ( aOneRange.aStart.Col() + nColumnOffset >= 0 &&
@@ -473,7 +473,7 @@ uno::Reference<table::XCellRange> SAL_CALL ScCellCursorObj::getCellRangeByName(
rtl::OUString SAL_CALL ScCellCursorObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScCellCursorObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScCellCursorObj" ));
}
sal_Bool SAL_CALL ScCellCursorObj::supportsService( const rtl::OUString& rServiceName )
@@ -496,8 +496,8 @@ uno::Sequence<rtl::OUString> SAL_CALL ScCellCursorObj::getSupportedServiceNames(
// SheetCellCursor should be first (?)
uno::Sequence<rtl::OUString> aTotalSeq( nParentLen + 2 );
rtl::OUString* pTotalArr = aTotalSeq.getArray();
- pTotalArr[0] = rtl::OUString::createFromAscii( SCSHEETCELLCURSOR_SERVICE );
- pTotalArr[1] = rtl::OUString::createFromAscii( SCCELLCURSOR_SERVICE );
+ pTotalArr[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCSHEETCELLCURSOR_SERVICE ));
+ pTotalArr[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCCELLCURSOR_SERVICE ));
// append cell range services
for (long i=0; i<nParentLen; i++)
diff --git a/sc/source/ui/unoobj/dapiuno.cxx b/sc/source/ui/unoobj/dapiuno.cxx
index fc3aa7583552..bec89eaeb9e0 100644
--- a/sc/source/ui/unoobj/dapiuno.cxx
+++ b/sc/source/ui/unoobj/dapiuno.cxx
@@ -265,8 +265,8 @@ ScDPObject* lcl_GetDPObject( ScDocShell* pDocShell, SCTAB nTab, const String& rN
ScDPCollection* pColl = pDoc->GetDPCollection();
if ( pColl )
{
- USHORT nCount = pColl->GetCount();
- for (USHORT i=0; i<nCount; i++)
+ size_t nCount = pColl->GetCount();
+ for (size_t i=0; i<nCount; ++i)
{
ScDPObject* pDPObj = (*pColl)[i];
if ( pDPObj->GetOutRange().aStart.Tab() == nTab &&
@@ -347,8 +347,8 @@ ScDataPilotTableObj* ScDataPilotTablesObj::GetObjectByIndex_Impl( sal_Int32 nInd
// api only handles sheet data at this time
//! allow all data sources!!!
sal_Int32 nFound = 0;
- USHORT nCount = pColl->GetCount();
- for (USHORT i=0; i<nCount; i++)
+ size_t nCount = pColl->GetCount();
+ for (size_t i=0; i<nCount; ++i)
{
ScDPObject* pDPObj = (*pColl)[i];
if ( pDPObj->GetOutRange().aStart.Tab() == nTab )
@@ -499,8 +499,8 @@ sal_Int32 SAL_CALL ScDataPilotTablesObj::getCount() throw(RuntimeException)
//! allow all data sources!!!
USHORT nFound = 0;
- USHORT nCount = pColl->GetCount();
- for (USHORT i=0; i<nCount; i++)
+ size_t nCount = pColl->GetCount();
+ for (size_t i=0; i<nCount; ++i)
{
ScDPObject* pDPObj = (*pColl)[i];
if ( pDPObj->GetOutRange().aStart.Tab() == nTab )
@@ -562,9 +562,9 @@ Sequence<OUString> SAL_CALL ScDataPilotTablesObj::getElementNames()
//! allow all data sources!!!
USHORT nFound = 0;
- USHORT nCount = pColl->GetCount();
- USHORT i;
- for (i=0; i<nCount; i++)
+ size_t nCount = pColl->GetCount();
+ size_t i;
+ for (i=0; i<nCount; ++i)
{
ScDPObject* pDPObj = (*pColl)[i];
if ( pDPObj->GetOutRange().aStart.Tab() == nTab )
@@ -574,7 +574,7 @@ Sequence<OUString> SAL_CALL ScDataPilotTablesObj::getElementNames()
USHORT nPos = 0;
Sequence<OUString> aSeq(nFound);
OUString* pAry = aSeq.getArray();
- for (i=0; i<nCount; i++)
+ for (i=0; i<nCount; ++i)
{
ScDPObject* pDPObj = (*pColl)[i];
if ( pDPObj->GetOutRange().aStart.Tab() == nTab )
@@ -598,8 +598,8 @@ sal_Bool SAL_CALL ScDataPilotTablesObj::hasByName( const OUString& aName )
if ( pColl )
{
String aNamStr(aName);
- USHORT nCount = pColl->GetCount();
- for (USHORT i=0; i<nCount; i++)
+ size_t nCount = pColl->GetCount();
+ for (size_t i=0; i<nCount; ++i)
{
// api only handles sheet data at this time
//! allow all data sources!!!
@@ -1008,13 +1008,13 @@ Any SAL_CALL ScDataPilotDescriptorBase::getPropertyValue( const OUString& aPrope
{
uno::Sequence<beans::PropertyValue> aSeq( 4 );
beans::PropertyValue* pArray = aSeq.getArray();
- pArray[0].Name = rtl::OUString::createFromAscii( SC_UNO_SOURCENAME );
+ pArray[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNO_SOURCENAME ));
pArray[0].Value <<= rtl::OUString( pServiceDesc->aParSource );
- pArray[1].Name = rtl::OUString::createFromAscii( SC_UNO_OBJECTNAME );
+ pArray[1].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNO_OBJECTNAME ));
pArray[1].Value <<= rtl::OUString( pServiceDesc->aParName );
- pArray[2].Name = rtl::OUString::createFromAscii( SC_UNO_USERNAME );
+ pArray[2].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNO_USERNAME ));
pArray[2].Value <<= rtl::OUString( pServiceDesc->aParUser );
- pArray[3].Name = rtl::OUString::createFromAscii( SC_UNO_PASSWORD );
+ pArray[3].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNO_PASSWORD ));
pArray[3].Value <<= rtl::OUString( pServiceDesc->aParPass );
aRet <<= aSeq;
}
@@ -1090,7 +1090,6 @@ sal_Int64 SAL_CALL ScDataPilotDescriptorBase::getSomething(
return 0;
}
-// static
const Sequence<sal_Int8>& ScDataPilotDescriptorBase::getUnoTunnelId()
{
static Sequence<sal_Int8> * pSeq = 0;
@@ -1107,7 +1106,6 @@ const Sequence<sal_Int8>& ScDataPilotDescriptorBase::getUnoTunnelId()
return *pSeq;
}
-// static
ScDataPilotDescriptorBase* ScDataPilotDescriptorBase::getImplementation(
const Reference<XDataPilotDescriptor> xObj )
{
@@ -1282,14 +1280,6 @@ void SAL_CALL ScDataPilotTableObj::refresh() throw(RuntimeException)
SolarMutexGuard aGuard;
if( ScDPObject* pDPObj = lcl_GetDPObject(GetDocShell(), nTab, aName) )
RefreshDPObject( pDPObj, NULL, GetDocShell(), TRUE, TRUE );
- //if (pDPObj)
- //{
- // ScDPObject* pNew = new ScDPObject(*pDPObj);
- // ScDBDocFunc aFunc(*GetDocShell());
- // aFunc.DataPilotUpdate( pDPObj, pNew, TRUE, TRUE );
- // delete pNew; // DataPilotUpdate copies settings from "new" object
- //}
-
}
Sequence< Sequence<Any> > SAL_CALL ScDataPilotTableObj::getDrillDownData(const CellAddress& aAddr)
@@ -2097,7 +2087,7 @@ void ScDataPilotFieldObj::setOrientation(DataPilotFieldOrientation eNew)
if ( pOneDim->GetOrientation() == DataPilotFieldOrientation_HIDDEN )
pNewDim = pOneDim; // use this one
else
- ++nFound; // count existing non-hidden occurences
+ ++nFound; // count existing non-hidden occurrences
}
}
@@ -2952,7 +2942,7 @@ void SAL_CALL ScDataPilotFieldGroupsObj::insertByName( const OUString& rName, co
if( !lclExtractGroupMembers( aMembers, rElement ) )
throw IllegalArgumentException();
- // create the new entry if no error has been occured
+ // create the new entry if no error has been occurred
maGroups.resize( maGroups.size() + 1 );
ScFieldGroup& rGroup = maGroups.back();
rGroup.maName = rName;
@@ -3035,8 +3025,6 @@ void ScDataPilotFieldGroupsObj::renameFieldGroup( const OUString& rOldName, cons
aOldIt->maName = rNewName;
}
-// private
-
ScFieldGroups::iterator ScDataPilotFieldGroupsObj::implFindByName( const OUString& rName )
{
for( ScFieldGroups::iterator aIt = maGroups.begin(), aEnd = maGroups.end(); aIt != aEnd; ++aIt )
diff --git a/sc/source/ui/unoobj/datauno.cxx b/sc/source/ui/unoobj/datauno.cxx
index 8cc00f714eab..a27e9b8ee7b3 100644
--- a/sc/source/ui/unoobj/datauno.cxx
+++ b/sc/source/ui/unoobj/datauno.cxx
@@ -151,7 +151,6 @@ SC_SIMPLE_SERVICE_INFO( ScSubTotalFieldObj, "ScSubTotalFieldObj", "com.sun.star.
//------------------------------------------------------------------------
-// static
ScSubTotalFunc ScDataUnoConversion::GeneralToSubTotal( sheet::GeneralFunction eSummary )
{
ScSubTotalFunc eSubTotal;
@@ -177,7 +176,6 @@ ScSubTotalFunc ScDataUnoConversion::GeneralToSubTotal( sheet::GeneralFunction eS
return eSubTotal;
}
-// static
sheet::GeneralFunction ScDataUnoConversion::SubTotalToGeneral( ScSubTotalFunc eSubTotal )
{
sheet::GeneralFunction eGeneral;
@@ -233,22 +231,22 @@ void ScImportDescriptor::FillProperties( uno::Sequence<beans::PropertyValue>& rS
aDescriptor.setDataSource(rParam.aDBName);
if (aDescriptor.has( svx::daDataSource ))
{
- pArray[0].Name = rtl::OUString::createFromAscii( SC_UNONAME_DBNAME );
+ pArray[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_DBNAME ));
pArray[0].Value <<= rtl::OUString( rParam.aDBName );
}
else if (aDescriptor.has( svx::daConnectionResource ))
{
- pArray[0].Name = rtl::OUString::createFromAscii( SC_UNONAME_CONRES );
+ pArray[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_CONRES ));
pArray[0].Value <<= rtl::OUString( rParam.aDBName );
}
- pArray[1].Name = rtl::OUString::createFromAscii( SC_UNONAME_SRCTYPE );
+ pArray[1].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_SRCTYPE ));
pArray[1].Value <<= eMode;
- pArray[2].Name = rtl::OUString::createFromAscii( SC_UNONAME_SRCOBJ );
+ pArray[2].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_SRCOBJ ));
pArray[2].Value <<= rtl::OUString( rParam.aStatement );
- pArray[3].Name = rtl::OUString::createFromAscii( SC_UNONAME_ISNATIVE );
+ pArray[3].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_ISNATIVE ));
ScUnoHelpFunctions::SetBoolInAny( pArray[3].Value, rParam.bNative );
}
@@ -356,31 +354,31 @@ void ScSortDescriptor::FillProperties( uno::Sequence<beans::PropertyValue>& rSeq
// Sequence fuellen
- pArray[0].Name = rtl::OUString::createFromAscii( SC_UNONAME_ISSORTCOLUMNS );
+ pArray[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_ISSORTCOLUMNS ));
pArray[0].Value = ::cppu::bool2any(!rParam.bByRow);
- pArray[1].Name = rtl::OUString::createFromAscii( SC_UNONAME_CONTHDR );
+ pArray[1].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_CONTHDR ));
ScUnoHelpFunctions::SetBoolInAny( pArray[1].Value, rParam.bHasHeader );
- pArray[2].Name = rtl::OUString::createFromAscii( SC_UNONAME_MAXFLD );
+ pArray[2].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_MAXFLD ));
pArray[2].Value <<= (sal_Int32) MAXSORT;
- pArray[3].Name = rtl::OUString::createFromAscii( SC_UNONAME_SORTFLD );
+ pArray[3].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_SORTFLD ));
pArray[3].Value <<= aFields;
- pArray[4].Name = rtl::OUString::createFromAscii( SC_UNONAME_BINDFMT );
+ pArray[4].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_BINDFMT ));
ScUnoHelpFunctions::SetBoolInAny( pArray[4].Value, rParam.bIncludePattern );
- pArray[5].Name = rtl::OUString::createFromAscii( SC_UNONAME_COPYOUT );
+ pArray[5].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_COPYOUT ));
ScUnoHelpFunctions::SetBoolInAny( pArray[5].Value, !rParam.bInplace );
- pArray[6].Name = rtl::OUString::createFromAscii( SC_UNONAME_OUTPOS );
+ pArray[6].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_OUTPOS ));
pArray[6].Value <<= aOutPos;
- pArray[7].Name = rtl::OUString::createFromAscii( SC_UNONAME_ISULIST );
+ pArray[7].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_ISULIST ));
ScUnoHelpFunctions::SetBoolInAny( pArray[7].Value, rParam.bUserDef );
- pArray[8].Name = rtl::OUString::createFromAscii( SC_UNONAME_UINDEX );
+ pArray[8].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_UINDEX ));
pArray[8].Value <<= (sal_Int32) rParam.nUserIndex;
}
@@ -856,7 +854,6 @@ sal_Int64 SAL_CALL ScSubTotalDescriptorBase::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScSubTotalDescriptorBase::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -873,7 +870,6 @@ const uno::Sequence<sal_Int8>& ScSubTotalDescriptorBase::getUnoTunnelId()
return *pSeq;
}
-// static
ScSubTotalDescriptorBase* ScSubTotalDescriptorBase::getImplementation(
const uno::Reference<sheet::XSubTotalDescriptor> xObj )
{
@@ -2148,7 +2144,7 @@ SC_IMPL_DUMMY_PROPERTY_LISTENER( ScDatabaseRangeObj )
rtl::OUString SAL_CALL ScDatabaseRangeObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScDatabaseRangeObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScDatabaseRangeObj" ));
}
sal_Bool SAL_CALL ScDatabaseRangeObj::supportsService( const rtl::OUString& rServiceName )
@@ -2164,8 +2160,8 @@ uno::Sequence<rtl::OUString> SAL_CALL ScDatabaseRangeObj::getSupportedServiceNam
{
uno::Sequence<rtl::OUString> aRet(2);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCDATABASERANGEOBJ_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCLINKTARGET_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCDATABASERANGEOBJ_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCLINKTARGET_SERVICE ));
return aRet;
}
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index 41bf1a16859f..5d9207818694 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -341,7 +341,6 @@ void ScPrintUIOptions::SetDefaults()
}
}
-// static
void ScModelObj::CreateAndSet(ScDocShell* pDocSh)
{
if (pDocSh)
@@ -998,7 +997,7 @@ uno::Sequence<beans::PropertyValue> SAL_CALL ScModelObj::getRenderer( sal_Int32
uno::Sequence<beans::PropertyValue> aSequence(1);
beans::PropertyValue* pArray = aSequence.getArray();
- pArray[0].Name = rtl::OUString::createFromAscii( SC_UNONAME_PAGESIZE );
+ pArray[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_PAGESIZE ));
pArray[0].Value <<= aPageSize;
if( ! pPrinterOptions )
@@ -1045,17 +1044,17 @@ uno::Sequence<beans::PropertyValue> SAL_CALL ScModelObj::getRenderer( sal_Int32
long nPropCount = bWasCellRange ? 3 : 2;
uno::Sequence<beans::PropertyValue> aSequence(nPropCount);
beans::PropertyValue* pArray = aSequence.getArray();
- pArray[0].Name = rtl::OUString::createFromAscii( SC_UNONAME_PAGESIZE );
+ pArray[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_PAGESIZE ));
pArray[0].Value <<= aPageSize;
// #i111158# all positions are relative to the whole page, including non-printable area
- pArray[1].Name = rtl::OUString::createFromAscii( SC_UNONAME_INC_NP_AREA );
+ pArray[1].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_INC_NP_AREA ));
pArray[1].Value = uno::makeAny( sal_True );
if ( bWasCellRange )
{
table::CellRangeAddress aRangeAddress( nTab,
aCellRange.aStart.Col(), aCellRange.aStart.Row(),
aCellRange.aEnd.Col(), aCellRange.aEnd.Row() );
- pArray[2].Name = rtl::OUString::createFromAscii( SC_UNONAME_SOURCERANGE );
+ pArray[2].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_SOURCERANGE ));
pArray[2].Value <<= aRangeAddress;
}
@@ -1256,7 +1255,7 @@ void SAL_CALL ScModelObj::render( sal_Int32 nSelRenderer, const uno::Any& aSelec
// external link, use as-is
pPDFData->SetLinkURL( aIter->nLinkId, aBookmark );
}
- aIter++;
+ ++aIter;
}
rBookmarks.clear();
}
@@ -1997,7 +1996,7 @@ uno::Sequence<rtl::OUString> SAL_CALL ScModelObj::getAvailableServiceNames()
rtl::OUString SAL_CALL ScModelObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScModelObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScModelObj" ));
}
sal_Bool SAL_CALL ScModelObj::supportsService( const rtl::OUString& rServiceName )
@@ -2014,8 +2013,8 @@ uno::Sequence<rtl::OUString> SAL_CALL ScModelObj::getSupportedServiceNames()
{
uno::Sequence<rtl::OUString> aRet(2);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCMODELOBJ_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCDOCSETTINGS_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCMODELOBJ_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCDOCSETTINGS_SERVICE ));
return aRet;
}
@@ -2060,7 +2059,6 @@ sal_Int64 SAL_CALL ScModelObj::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScModelObj::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -2077,7 +2075,6 @@ const uno::Sequence<sal_Int8>& ScModelObj::getUnoTunnelId()
return *pSeq;
}
-// static
ScModelObj* ScModelObj::getImplementation( const uno::Reference<uno::XInterface> xObj )
{
ScModelObj* pRet = NULL;
@@ -2121,13 +2118,13 @@ void ScModelObj::NotifyChanges( const ::rtl::OUString& rOperation, const ScRange
aEvent.Source.set( static_cast< cppu::OWeakObject* >( this ) );
aEvent.Base <<= aEvent.Source;
- ULONG nRangeCount = rRanges.Count();
+ size_t nRangeCount = rRanges.size();
aEvent.Changes.realloc( static_cast< sal_Int32 >( nRangeCount ) );
- for ( ULONG nIndex = 0; nIndex < nRangeCount; ++nIndex )
+ for ( size_t nIndex = 0; nIndex < nRangeCount; ++nIndex )
{
uno::Reference< table::XCellRange > xRangeObj;
- ScRange aRange( *rRanges.GetObject( nIndex ) );
+ ScRange aRange( *rRanges[ nIndex ] );
if ( aRange.aStart == aRange.aEnd )
{
xRangeObj.set( new ScCellObj( pDocShell, aRange.aStart ) );
@@ -2174,20 +2171,20 @@ void ScModelObj::NotifyChanges( const ::rtl::OUString& rOperation, const ScRange
if (pScript)
{
ScRangeList aTabRanges; // collect ranges on this sheet
- ULONG nRangeCount = rRanges.Count();
- for ( ULONG nIndex = 0; nIndex < nRangeCount; ++nIndex )
+ size_t nRangeCount = rRanges.size();
+ for ( size_t nIndex = 0; nIndex < nRangeCount; ++nIndex )
{
- ScRange aRange( *rRanges.GetObject( nIndex ) );
+ ScRange aRange( *rRanges[ nIndex ] );
if ( aRange.aStart.Tab() == nTab )
aTabRanges.Append( aRange );
}
- ULONG nTabRangeCount = aTabRanges.Count();
+ size_t nTabRangeCount = aTabRanges.size();
if ( nTabRangeCount > 0 )
{
uno::Reference<uno::XInterface> xTarget;
if ( nTabRangeCount == 1 )
{
- ScRange aRange( *aTabRanges.GetObject( 0 ) );
+ ScRange aRange( *aTabRanges[ 0 ] );
if ( aRange.aStart == aRange.aEnd )
xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellObj( pDocShell, aRange.aStart ) ) );
else
@@ -2642,13 +2639,13 @@ uno::Sequence < uno::Reference< table::XCellRange > > SAL_CALL ScTableSheetsObj:
ScDocument* pDoc = pDocShell->GetDocument();
if (ScRangeStringConverter::GetRangeListFromString( aRangeList, aRange, pDoc, ::formula::FormulaGrammar::CONV_OOO, ';' ))
{
- sal_Int32 nCount = aRangeList.Count();
+ size_t nCount = aRangeList.size();
if (nCount)
{
xRet.realloc(nCount);
- for( sal_Int32 nIndex = 0; nIndex < nCount; nIndex++ )
+ for( size_t nIndex = 0; nIndex < nCount; nIndex++ )
{
- const ScRange* pRange = aRangeList.GetObject( nIndex );
+ const ScRange* pRange = aRangeList[ nIndex ];
if( pRange )
xRet[nIndex] = new ScCellRangeObj(pDocShell, *pRange);
}
diff --git a/sc/source/ui/unoobj/eventuno.cxx b/sc/source/ui/unoobj/eventuno.cxx
index 8f0b38c0eed9..4edd9b8fb801 100644
--- a/sc/source/ui/unoobj/eventuno.cxx
+++ b/sc/source/ui/unoobj/eventuno.cxx
@@ -155,10 +155,10 @@ uno::Any SAL_CALL ScSheetEventsObj::getByName( const rtl::OUString& aName )
{
uno::Sequence<beans::PropertyValue> aPropSeq( 2 );
aPropSeq[0] = beans::PropertyValue(
- rtl::OUString::createFromAscii("EventType"), -1,
- uno::makeAny( rtl::OUString::createFromAscii("Script") ), beans::PropertyState_DIRECT_VALUE );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("EventType")), -1,
+ uno::makeAny( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Script")) ), beans::PropertyState_DIRECT_VALUE );
aPropSeq[1] = beans::PropertyValue(
- rtl::OUString::createFromAscii("Script"), -1,
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Script")), -1,
uno::makeAny( *pScript ), beans::PropertyState_DIRECT_VALUE );
aRet <<= aPropSeq;
}
diff --git a/sc/source/ui/unoobj/fielduno.cxx b/sc/source/ui/unoobj/fielduno.cxx
index 3af71007dfcf..5cbabe2d2679 100644
--- a/sc/source/ui/unoobj/fielduno.cxx
+++ b/sc/source/ui/unoobj/fielduno.cxx
@@ -808,7 +808,6 @@ sal_Int64 SAL_CALL ScCellFieldObj::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScCellFieldObj::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -825,7 +824,6 @@ const uno::Sequence<sal_Int8>& ScCellFieldObj::getUnoTunnelId()
return *pSeq;
}
-// static
ScCellFieldObj* ScCellFieldObj::getImplementation(
const uno::Reference<text::XTextContent> xObj )
{
@@ -840,7 +838,7 @@ ScCellFieldObj* ScCellFieldObj::getImplementation(
rtl::OUString SAL_CALL ScCellFieldObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScCellFieldObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScCellFieldObj" ));
}
sal_Bool SAL_CALL ScCellFieldObj::supportsService( const rtl::OUString& rServiceName )
@@ -856,8 +854,8 @@ uno::Sequence<rtl::OUString> SAL_CALL ScCellFieldObj::getSupportedServiceNames()
{
uno::Sequence<rtl::OUString> aRet(2);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCTEXTFIELD_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCTEXTCONTENT_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCTEXTFIELD_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCTEXTCONTENT_SERVICE ));
return aRet;
}
@@ -1469,7 +1467,6 @@ sal_Int64 SAL_CALL ScHeaderFieldObj::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScHeaderFieldObj::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -1486,7 +1483,6 @@ const uno::Sequence<sal_Int8>& ScHeaderFieldObj::getUnoTunnelId()
return *pSeq;
}
-// static
ScHeaderFieldObj* ScHeaderFieldObj::getImplementation(
const uno::Reference<text::XTextContent> xObj )
{
@@ -1501,7 +1497,7 @@ ScHeaderFieldObj* ScHeaderFieldObj::getImplementation(
rtl::OUString SAL_CALL ScHeaderFieldObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScHeaderFieldObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScHeaderFieldObj" ));
}
sal_Bool SAL_CALL ScHeaderFieldObj::supportsService( const rtl::OUString& rServiceName )
@@ -1517,8 +1513,8 @@ uno::Sequence<rtl::OUString> SAL_CALL ScHeaderFieldObj::getSupportedServiceNames
{
uno::Sequence<rtl::OUString> aRet(2);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCTEXTFIELD_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCTEXTCONTENT_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCTEXTFIELD_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCTEXTCONTENT_SERVICE ));
return aRet;
}
diff --git a/sc/source/ui/unoobj/filtuno.cxx b/sc/source/ui/unoobj/filtuno.cxx
index ed1880380089..257489993850 100644
--- a/sc/source/ui/unoobj/filtuno.cxx
+++ b/sc/source/ui/unoobj/filtuno.cxx
@@ -91,14 +91,14 @@ uno::Reference<uno::XInterface> SAL_CALL ScFilterOptionsObj_CreateInstance(
rtl::OUString ScFilterOptionsObj::getImplementationName_Static()
{
- return rtl::OUString::createFromAscii( SCFILTEROPTIONSOBJ_IMPLNAME );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCFILTEROPTIONSOBJ_IMPLNAME ));
}
uno::Sequence<rtl::OUString> ScFilterOptionsObj::getSupportedServiceNames_Static()
{
uno::Sequence<rtl::OUString> aRet(1);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCFILTEROPTIONSOBJ_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCFILTEROPTIONSOBJ_SERVICE ));
return aRet;
}
@@ -109,7 +109,7 @@ uno::Sequence<beans::PropertyValue> SAL_CALL ScFilterOptionsObj::getPropertyValu
uno::Sequence<beans::PropertyValue> aRet(1);
beans::PropertyValue* pArray = aRet.getArray();
- pArray[0].Name = rtl::OUString::createFromAscii( SC_UNONAME_FILTEROPTIONS );
+ pArray[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_FILTEROPTIONS ));
pArray[0].Value <<= aFilterOptions;
return aRet;
diff --git a/sc/source/ui/unoobj/fmtuno.cxx b/sc/source/ui/unoobj/fmtuno.cxx
index 72c10ee29c62..2dea92c13e5e 100644
--- a/sc/source/ui/unoobj/fmtuno.cxx
+++ b/sc/source/ui/unoobj/fmtuno.cxx
@@ -491,7 +491,6 @@ sal_Int64 SAL_CALL ScTableConditionalFormat::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScTableConditionalFormat::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -508,7 +507,6 @@ const uno::Sequence<sal_Int8>& ScTableConditionalFormat::getUnoTunnelId()
return *pSeq;
}
-// static
ScTableConditionalFormat* ScTableConditionalFormat::getImplementation(
const uno::Reference<sheet::XSheetConditionalEntries> xObj )
{
@@ -1027,7 +1025,6 @@ sal_Int64 SAL_CALL ScTableValidationObj::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScTableValidationObj::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -1044,7 +1041,6 @@ const uno::Sequence<sal_Int8>& ScTableValidationObj::getUnoTunnelId()
return *pSeq;
}
-// static
ScTableValidationObj* ScTableValidationObj::getImplementation(
const uno::Reference<beans::XPropertySet> xObj )
{
diff --git a/sc/source/ui/unoobj/funcuno.cxx b/sc/source/ui/unoobj/funcuno.cxx
index 7b1efbd8e20f..784eb4f9bad2 100644
--- a/sc/source/ui/unoobj/funcuno.cxx
+++ b/sc/source/ui/unoobj/funcuno.cxx
@@ -89,7 +89,6 @@ public:
//------------------------------------------------------------------------
-// static
ScDocument* ScTempDocSource::CreateDocument()
{
ScDocument* pDoc = new ScDocument; // SCDOCMODE_DOCUMENT
@@ -262,14 +261,14 @@ uno::Reference<uno::XInterface> SAL_CALL ScFunctionAccess_CreateInstance(
rtl::OUString ScFunctionAccess::getImplementationName_Static()
{
- return rtl::OUString::createFromAscii( "stardiv.StarCalc.ScFunctionAccess" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "stardiv.StarCalc.ScFunctionAccess" ));
}
uno::Sequence<rtl::OUString> ScFunctionAccess::getSupportedServiceNames_Static()
{
uno::Sequence<rtl::OUString> aRet(1);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCFUNCTIONACCESS_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCFUNCTIONACCESS_SERVICE ));
return aRet;
}
@@ -277,7 +276,7 @@ uno::Sequence<rtl::OUString> ScFunctionAccess::getSupportedServiceNames_Static()
rtl::OUString SAL_CALL ScFunctionAccess::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScFunctionAccess" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScFunctionAccess") );
}
sal_Bool SAL_CALL ScFunctionAccess::supportsService( const rtl::OUString& rServiceName )
@@ -293,8 +292,8 @@ uno::Sequence<rtl::OUString> SAL_CALL ScFunctionAccess::getSupportedServiceNames
{
uno::Sequence<rtl::OUString> aRet(2);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCFUNCTIONACCESS_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCDOCSETTINGS_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCFUNCTIONACCESS_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCDOCSETTINGS_SERVICE ));
return aRet;
}
@@ -467,7 +466,7 @@ public:
else
mbArgError = true;
}
- bool hasArgError() { return mbArgError; }
+ bool hasArgError() const { return mbArgError; }
};
template< class seq >
@@ -554,8 +553,6 @@ uno::Any SAL_CALL ScFunctionAccess::callFunction( const rtl::OUString& aName,
ScAddress aAdr;
ScCompiler aCompiler(pDoc,aAdr);
aCompiler.SetGrammar(pDoc->GetGrammar());
- //if (!ScCompiler::IsInitialized())
- // ScCompiler::InitSymbolsEnglish();
//
// find function
@@ -647,9 +644,9 @@ uno::Any SAL_CALL ScFunctionAccess::callFunction( const rtl::OUString& aName,
{
ScDocument* pSrcDoc = pImpl->GetDocument();
const ScRangeList& rRanges = pImpl->GetRangeList();
- if ( pSrcDoc && rRanges.Count() == 1 )
+ if ( pSrcDoc && rRanges.size() == 1 )
{
- ScRange aSrcRange = *rRanges.GetObject(0);
+ ScRange aSrcRange = *rRanges[ 0 ];
long nStartRow = nDocRow;
long nColCount = aSrcRange.aEnd.Col() - aSrcRange.aStart.Col() + 1;
diff --git a/sc/source/ui/unoobj/linkuno.cxx b/sc/source/ui/unoobj/linkuno.cxx
index 9f5d7a5dd1c2..4a06fec9725b 100644
--- a/sc/source/ui/unoobj/linkuno.cxx
+++ b/sc/source/ui/unoobj/linkuno.cxx
@@ -1474,7 +1474,7 @@ uno::Reference< sheet::XDDELink > ScDDELinksObj::addDDELink(
break;
}
- if ( pDoc->CreateDdeLink( aApplication, aTopic, aItem, nMod ) )
+ if ( pDoc->CreateDdeLink( aApplication, aTopic, aItem, nMod, ScMatrixRef() ) )
{
const ::rtl::OUString aName( lcl_BuildDDEName( aApplication, aTopic, aItem ) );
xLink.set( GetObjectByName_Impl( aName ) );
@@ -1687,8 +1687,8 @@ Reference< container::XEnumeration > SAL_CALL ScExternalDocLinkObj::createEnumer
{
SolarMutexGuard aGuard;
Reference< container::XEnumeration > aRef(
- new ScIndexEnumeration(this, OUString::createFromAscii(
- "com.sun.star.sheet.ExternalDocLink")));
+ new ScIndexEnumeration(this, OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.sheet.ExternalDocLink"))));
return aRef;
}
@@ -1801,8 +1801,8 @@ Reference< container::XEnumeration > SAL_CALL ScExternalDocLinksObj::createEnume
{
SolarMutexGuard aGuard;
Reference< container::XEnumeration > aRef(
- new ScIndexEnumeration(this, OUString::createFromAscii(
- "com.sun.star.sheet.ExternalDocLinks")));
+ new ScIndexEnumeration(this, OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.sheet.ExternalDocLinks"))));
return aRef;
}
diff --git a/sc/source/ui/unoobj/miscuno.cxx b/sc/source/ui/unoobj/miscuno.cxx
index f0c1798e8c73..cef54bb1a3ed 100644
--- a/sc/source/ui/unoobj/miscuno.cxx
+++ b/sc/source/ui/unoobj/miscuno.cxx
@@ -47,7 +47,6 @@ SC_SIMPLE_SERVICE_INFO( ScNameToIndexAccess, "ScNameToIndexAccess", "stardiv.unk
//------------------------------------------------------------------------
-// static
uno::Reference<uno::XInterface> ScUnoHelpFunctions::AnyToInterface( const uno::Any& rAny )
{
if ( rAny.getValueTypeClass() == uno::TypeClass_INTERFACE )
@@ -57,7 +56,6 @@ uno::Reference<uno::XInterface> ScUnoHelpFunctions::AnyToInterface( const uno::A
return uno::Reference<uno::XInterface>(); //! Exception?
}
-// static
sal_Bool ScUnoHelpFunctions::GetBoolProperty( const uno::Reference<beans::XPropertySet>& xProp,
const rtl::OUString& rName, sal_Bool bDefault )
{
@@ -83,7 +81,6 @@ sal_Bool ScUnoHelpFunctions::GetBoolProperty( const uno::Reference<beans::XPrope
return bRet;
}
-// static
sal_Int32 ScUnoHelpFunctions::GetLongProperty( const uno::Reference<beans::XPropertySet>& xProp,
const rtl::OUString& rName, long nDefault )
{
@@ -103,7 +100,6 @@ sal_Int32 ScUnoHelpFunctions::GetLongProperty( const uno::Reference<beans::XProp
return nRet;
}
-// static
sal_Int32 ScUnoHelpFunctions::GetEnumProperty( const uno::Reference<beans::XPropertySet>& xProp,
const rtl::OUString& rName, long nDefault )
{
@@ -133,7 +129,6 @@ sal_Int32 ScUnoHelpFunctions::GetEnumProperty( const uno::Reference<beans::XProp
return nRet;
}
-// static
OUString ScUnoHelpFunctions::GetStringProperty(
const Reference<beans::XPropertySet>& xProp, const OUString& rName, const OUString& rDefault )
{
@@ -153,7 +148,6 @@ OUString ScUnoHelpFunctions::GetStringProperty(
return aRet;
}
-// static
sal_Bool ScUnoHelpFunctions::GetBoolFromAny( const uno::Any& aAny )
{
if ( aAny.getValueTypeClass() == uno::TypeClass_BOOLEAN )
@@ -161,7 +155,6 @@ sal_Bool ScUnoHelpFunctions::GetBoolFromAny( const uno::Any& aAny )
return FALSE;
}
-// static
sal_Int16 ScUnoHelpFunctions::GetInt16FromAny( const uno::Any& aAny )
{
sal_Int16 nRet = 0;
@@ -170,7 +163,6 @@ sal_Int16 ScUnoHelpFunctions::GetInt16FromAny( const uno::Any& aAny )
return 0;
}
-// static
sal_Int32 ScUnoHelpFunctions::GetInt32FromAny( const uno::Any& aAny )
{
sal_Int32 nRet = 0;
@@ -179,7 +171,6 @@ sal_Int32 ScUnoHelpFunctions::GetInt32FromAny( const uno::Any& aAny )
return 0;
}
-// static
sal_Int32 ScUnoHelpFunctions::GetEnumFromAny( const uno::Any& aAny )
{
sal_Int32 nRet = 0;
@@ -190,13 +181,11 @@ sal_Int32 ScUnoHelpFunctions::GetEnumFromAny( const uno::Any& aAny )
return nRet;
}
-// static
void ScUnoHelpFunctions::SetBoolInAny( uno::Any& rAny, sal_Bool bValue )
{
rAny.setValue( &bValue, getBooleanCppuType() );
}
-// static
void ScUnoHelpFunctions::SetOptionalPropertyValue(
Reference<beans::XPropertySet>& rPropSet, const sal_Char* pPropName, const Any& rVal )
{
@@ -251,7 +240,7 @@ uno::Any SAL_CALL ScIndexEnumeration::nextElement() throw(container::NoSuchEleme
::rtl::OUString SAL_CALL ScIndexEnumeration::getImplementationName()
throw(::com::sun::star::uno::RuntimeException)
{
- return ::rtl::OUString::createFromAscii("ScIndexEnumeration");
+ return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ScIndexEnumeration"));
}
sal_Bool SAL_CALL ScIndexEnumeration::supportsService( const ::rtl::OUString& ServiceName )
diff --git a/sc/source/ui/unoobj/nameuno.cxx b/sc/source/ui/unoobj/nameuno.cxx
index abc2eaef0514..c71487d8f6db 100644
--- a/sc/source/ui/unoobj/nameuno.cxx
+++ b/sc/source/ui/unoobj/nameuno.cxx
@@ -218,7 +218,7 @@ void SAL_CALL ScNamedRangeObj::setName( const rtl::OUString& aNewName )
// GRAM_PODF_A1 for API compatibility.
Modify_Impl( &aNewStr, NULL, NULL, NULL, NULL,formula::FormulaGrammar::GRAM_PODF_A1 );
- if ( aName != aNewStr ) // some error occured...
+ if ( aName != aNewStr ) // some error occurred...
throw uno::RuntimeException(); // no other exceptions specified
}
@@ -461,7 +461,6 @@ sal_Int64 SAL_CALL ScNamedRangeObj::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScNamedRangeObj::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -478,7 +477,6 @@ const uno::Sequence<sal_Int8>& ScNamedRangeObj::getUnoTunnelId()
return *pSeq;
}
-// static
ScNamedRangeObj* ScNamedRangeObj::getImplementation( const uno::Reference<uno::XInterface> xObj )
{
ScNamedRangeObj* pRet = NULL;
@@ -1042,15 +1040,15 @@ void ScLabelRangesObj::Notify( SfxBroadcaster&, const SfxHint& rHint )
// sheet::XLabelRanges
-ScLabelRangeObj* ScLabelRangesObj::GetObjectByIndex_Impl(sal_uInt16 nIndex)
+ScLabelRangeObj* ScLabelRangesObj::GetObjectByIndex_Impl(size_t nIndex)
{
if (pDocShell)
{
ScDocument* pDoc = pDocShell->GetDocument();
ScRangePairList* pList = bColumn ? pDoc->GetColNameRanges() : pDoc->GetRowNameRanges();
- if ( pList && nIndex < pList->Count() )
+ if ( pList && nIndex < pList->size() )
{
- ScRangePair* pData = pList->GetObject(nIndex);
+ ScRangePair* pData = (*pList)[nIndex];
if (pData)
return new ScLabelRangeObj( pDocShell, bColumn, pData->GetRange(0) );
}
@@ -1101,11 +1099,11 @@ void SAL_CALL ScLabelRangesObj::removeByIndex( sal_Int32 nIndex )
ScDocument* pDoc = pDocShell->GetDocument();
ScRangePairList* pOldList = bColumn ? pDoc->GetColNameRanges() : pDoc->GetRowNameRanges();
- if ( pOldList && nIndex >= 0 && nIndex < (sal_Int32)pOldList->Count() )
+ if ( pOldList && nIndex >= 0 && nIndex < (sal_Int32)pOldList->size() )
{
ScRangePairListRef xNewList(pOldList->Clone());
- ScRangePair* pEntry = xNewList->GetObject( nIndex );
+ ScRangePair* pEntry = (*xNewList)[nIndex];
if (pEntry)
{
xNewList->Remove( pEntry );
@@ -1148,7 +1146,7 @@ sal_Int32 SAL_CALL ScLabelRangesObj::getCount() throw(uno::RuntimeException)
ScDocument* pDoc = pDocShell->GetDocument();
ScRangePairList* pList = bColumn ? pDoc->GetColNameRanges() : pDoc->GetRowNameRanges();
if (pList)
- return pList->Count();
+ return pList->size();
}
return 0;
}
diff --git a/sc/source/ui/unoobj/optuno.cxx b/sc/source/ui/unoobj/optuno.cxx
index bfd6e631bd31..e8a5f535a35c 100644
--- a/sc/source/ui/unoobj/optuno.cxx
+++ b/sc/source/ui/unoobj/optuno.cxx
@@ -43,7 +43,6 @@
using namespace com::sun::star;
//------------------------------------------------------------------------
-// static
const SfxItemPropertyMapEntry* ScDocOptionsHelper::GetPropertyMap()
{
static SfxItemPropertyMapEntry aMap[] =
@@ -65,7 +64,6 @@ const SfxItemPropertyMapEntry* ScDocOptionsHelper::GetPropertyMap()
return aMap;
}
-// static
sal_Bool ScDocOptionsHelper::setPropertyValue( ScDocOptions& rOptions,
const SfxItemPropertyMap& rPropMap,
const rtl::OUString& aPropertyName, const uno::Any& aValue )
@@ -138,7 +136,6 @@ sal_Bool ScDocOptionsHelper::setPropertyValue( ScDocOptions& rOptions,
return sal_True;
}
-// static
uno::Any ScDocOptionsHelper::getPropertyValue(
const ScDocOptions& rOptions,
const SfxItemPropertyMap& rPropMap,
diff --git a/sc/source/ui/unoobj/scdetect.cxx b/sc/source/ui/unoobj/scdetect.cxx
index d16edbbd9ea0..7dfbcfcae12f 100644
--- a/sc/source/ui/unoobj/scdetect.cxx
+++ b/sc/source/ui/unoobj/scdetect.cxx
@@ -97,32 +97,32 @@ ScFilterDetect::~ScFilterDetect()
{
}
-static const sal_Char __FAR_DATA pFilterSc50[] = "StarCalc 5.0";
-static const sal_Char __FAR_DATA pFilterSc50Temp[] = "StarCalc 5.0 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterSc40[] = "StarCalc 4.0";
-static const sal_Char __FAR_DATA pFilterSc40Temp[] = "StarCalc 4.0 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterSc30[] = "StarCalc 3.0";
-static const sal_Char __FAR_DATA pFilterSc30Temp[] = "StarCalc 3.0 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterSc10[] = "StarCalc 1.0";
-static const sal_Char __FAR_DATA pFilterXML[] = "StarOffice XML (Calc)";
-static const sal_Char __FAR_DATA pFilterAscii[] = "Text - txt - csv (StarCalc)";
-static const sal_Char __FAR_DATA pFilterLotus[] = "Lotus";
-static const sal_Char __FAR_DATA pFilterQPro6[] = "Quattro Pro 6.0";
-static const sal_Char __FAR_DATA pFilterExcel4[] = "MS Excel 4.0";
-static const sal_Char __FAR_DATA pFilterEx4Temp[] = "MS Excel 4.0 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterExcel5[] = "MS Excel 5.0/95";
-static const sal_Char __FAR_DATA pFilterEx5Temp[] = "MS Excel 5.0/95 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterExcel95[] = "MS Excel 95";
-static const sal_Char __FAR_DATA pFilterEx95Temp[] = "MS Excel 95 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilterExcel97[] = "MS Excel 97";
-static const sal_Char __FAR_DATA pFilterEx97Temp[] = "MS Excel 97 Vorlage/Template";
-static const sal_Char __FAR_DATA pFilter2003XML[] = "MS Excel 2003 XML";
-static const sal_Char __FAR_DATA pFilterDBase[] = "dBase";
-static const sal_Char __FAR_DATA pFilterDif[] = "DIF";
-static const sal_Char __FAR_DATA pFilterSylk[] = "SYLK";
-static const sal_Char __FAR_DATA pFilterHtml[] = "HTML (StarCalc)";
-static const sal_Char __FAR_DATA pFilterHtmlWeb[] = "calc_HTML_WebQuery";
-static const sal_Char __FAR_DATA pFilterRtf[] = "Rich Text Format (StarCalc)";
+static const sal_Char pFilterSc50[] = "StarCalc 5.0";
+static const sal_Char pFilterSc50Temp[] = "StarCalc 5.0 Vorlage/Template";
+static const sal_Char pFilterSc40[] = "StarCalc 4.0";
+static const sal_Char pFilterSc40Temp[] = "StarCalc 4.0 Vorlage/Template";
+static const sal_Char pFilterSc30[] = "StarCalc 3.0";
+static const sal_Char pFilterSc30Temp[] = "StarCalc 3.0 Vorlage/Template";
+static const sal_Char pFilterSc10[] = "StarCalc 1.0";
+static const sal_Char pFilterXML[] = "StarOffice XML (Calc)";
+static const sal_Char pFilterAscii[] = "Text - txt - csv (StarCalc)";
+static const sal_Char pFilterLotus[] = "Lotus";
+static const sal_Char pFilterQPro6[] = "Quattro Pro 6.0";
+static const sal_Char pFilterExcel4[] = "MS Excel 4.0";
+static const sal_Char pFilterEx4Temp[] = "MS Excel 4.0 Vorlage/Template";
+static const sal_Char pFilterExcel5[] = "MS Excel 5.0/95";
+static const sal_Char pFilterEx5Temp[] = "MS Excel 5.0/95 Vorlage/Template";
+static const sal_Char pFilterExcel95[] = "MS Excel 95";
+static const sal_Char pFilterEx95Temp[] = "MS Excel 95 Vorlage/Template";
+static const sal_Char pFilterExcel97[] = "MS Excel 97";
+static const sal_Char pFilterEx97Temp[] = "MS Excel 97 Vorlage/Template";
+static const sal_Char pFilter2003XML[] = "MS Excel 2003 XML";
+static const sal_Char pFilterDBase[] = "dBase";
+static const sal_Char pFilterDif[] = "DIF";
+static const sal_Char pFilterSylk[] = "SYLK";
+static const sal_Char pFilterHtml[] = "HTML (StarCalc)";
+static const sal_Char pFilterHtmlWeb[] = "calc_HTML_WebQuery";
+static const sal_Char pFilterRtf[] = "Rich Text Format (StarCalc)";
static BOOL lcl_MayBeAscii( SvStream& rStream )
@@ -435,10 +435,10 @@ static BOOL lcl_MayBeDBase( SvStream& rStream )
{
// Excel-5: detect through contained streams
// there are some "excel" formats from 3rd party vendors that need to be distinguished
- String aStreamName(RTL_CONSTASCII_STRINGPARAM("Workbook"));
+ String aStreamName(RTL_CONSTASCII_USTRINGPARAM("Workbook"));
BOOL bExcel97Stream = ( aStorage->IsStream( aStreamName ) );
- aStreamName = String(RTL_CONSTASCII_STRINGPARAM("Book"));
+ aStreamName = String(RTL_CONSTASCII_USTRINGPARAM("Book"));
BOOL bExcel5Stream = ( aStorage->IsStream( aStreamName ) );
if ( bExcel97Stream || bExcel5Stream )
{
@@ -637,8 +637,6 @@ static BOOL lcl_MayBeDBase( SvStream& rStream )
pFilterQPro6
};
- // const UINT16 nByteMask = 0xFF;
-
// suchen Sie jetzt!
// ... realisiert ueber 'Mustererkennung'
@@ -764,7 +762,7 @@ static BOOL lcl_MayBeDBase( SvStream& rStream )
{
// if input stream wasn't part of the descriptor, now it should be, otherwise the content would be opend twice
lDescriptor.realloc( nPropertyCount + 1 );
- lDescriptor[nPropertyCount].Name = ::rtl::OUString::createFromAscii("InputStream");
+ lDescriptor[nPropertyCount].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("InputStream"));
lDescriptor[nPropertyCount].Value <<= xStream;
nPropertyCount++;
}
@@ -773,7 +771,7 @@ static BOOL lcl_MayBeDBase( SvStream& rStream )
{
// if input stream wasn't part of the descriptor, now it should be, otherwise the content would be opend twice
lDescriptor.realloc( nPropertyCount + 1 );
- lDescriptor[nPropertyCount].Name = ::rtl::OUString::createFromAscii("UCBContent");
+ lDescriptor[nPropertyCount].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("UCBContent"));
lDescriptor[nPropertyCount].Value <<= xContent;
nPropertyCount++;
}
@@ -783,7 +781,7 @@ static BOOL lcl_MayBeDBase( SvStream& rStream )
if ( nIndexOfReadOnlyFlag == -1 )
{
lDescriptor.realloc( nPropertyCount + 1 );
- lDescriptor[nPropertyCount].Name = ::rtl::OUString::createFromAscii("ReadOnly");
+ lDescriptor[nPropertyCount].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ReadOnly"));
lDescriptor[nPropertyCount].Value <<= bReadOnly;
nPropertyCount++;
}
@@ -794,7 +792,7 @@ static BOOL lcl_MayBeDBase( SvStream& rStream )
if ( !bRepairPackage && bRepairAllowed )
{
lDescriptor.realloc( nPropertyCount + 1 );
- lDescriptor[nPropertyCount].Name = ::rtl::OUString::createFromAscii("RepairPackage");
+ lDescriptor[nPropertyCount].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RepairPackage"));
lDescriptor[nPropertyCount].Value <<= bRepairAllowed;
nPropertyCount++;
@@ -808,7 +806,7 @@ static BOOL lcl_MayBeDBase( SvStream& rStream )
if ( nIndexOfTemplateFlag == -1 )
{
lDescriptor.realloc( nPropertyCount + 1 );
- lDescriptor[nPropertyCount].Name = ::rtl::OUString::createFromAscii("AsTemplate");
+ lDescriptor[nPropertyCount].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AsTemplate"));
lDescriptor[nPropertyCount].Value <<= bOpenAsTemplate;
nPropertyCount++;
}
@@ -822,7 +820,7 @@ static BOOL lcl_MayBeDBase( SvStream& rStream )
if ( nIndexOfDocumentTitle == -1 )
{
lDescriptor.realloc( nPropertyCount + 1 );
- lDescriptor[nPropertyCount].Name = ::rtl::OUString::createFromAscii("DocumentTitle");
+ lDescriptor[nPropertyCount].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DocumentTitle"));
lDescriptor[nPropertyCount].Value <<= aDocumentTitle;
nPropertyCount++;
}
@@ -835,7 +833,7 @@ static BOOL lcl_MayBeDBase( SvStream& rStream )
if ( nIndexOfFilterName == -1 )
{
lDescriptor.realloc( nPropertyCount + 1 );
- lDescriptor[nPropertyCount].Name = ::rtl::OUString::createFromAscii("FilterName");
+ lDescriptor[nPropertyCount].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FilterName"));
lDescriptor[nPropertyCount].Value <<= rtl::OUString(pFilter->GetName());
nPropertyCount++;
}
@@ -884,14 +882,14 @@ UNOSEQUENCE< UNOOUSTRING > ScFilterDetect::impl_getStaticSupportedServiceNames()
{
UNOMUTEXGUARD aGuard( UNOMUTEX::getGlobalMutex() );
UNOSEQUENCE< UNOOUSTRING > seqServiceNames( 1 );
- seqServiceNames.getArray() [0] = UNOOUSTRING::createFromAscii( "com.sun.star.frame.ExtendedTypeDetection" );
+ seqServiceNames.getArray() [0] = UNOOUSTRING(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.ExtendedTypeDetection" ));
return seqServiceNames ;
}
/* Helper for XServiceInfo */
UNOOUSTRING ScFilterDetect::impl_getStaticImplementationName()
{
- return UNOOUSTRING::createFromAscii( "com.sun.star.comp.calc.FormatDetector" );
+ return UNOOUSTRING(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.calc.FormatDetector" ));
}
/* Helper for registry */
diff --git a/sc/source/ui/unoobj/servuno.cxx b/sc/source/ui/unoobj/servuno.cxx
index b942c7dd9f11..c96e7e4b851e 100644
--- a/sc/source/ui/unoobj/servuno.cxx
+++ b/sc/source/ui/unoobj/servuno.cxx
@@ -247,7 +247,7 @@ struct ProvNamesId_Type
sal_uInt16 nType;
};
-static const ProvNamesId_Type __FAR_DATA aProvNamesId[] =
+static const ProvNamesId_Type aProvNamesId[] =
{
{ "com.sun.star.sheet.Spreadsheet", SC_SERVICE_SHEET },
{ "com.sun.star.text.TextField.URL", SC_SERVICE_URLFIELD },
@@ -315,7 +315,7 @@ static const ProvNamesId_Type __FAR_DATA aProvNamesId[] =
// in case some macro is still using them
//
-static const sal_Char* __FAR_DATA aOldNames[SC_SERVICE_COUNT] =
+static const sal_Char* aOldNames[SC_SERVICE_COUNT] =
{
"", // SC_SERVICE_SHEET
"stardiv.one.text.TextField.URL", // SC_SERVICE_URLFIELD
diff --git a/sc/source/ui/unoobj/shapeuno.cxx b/sc/source/ui/unoobj/shapeuno.cxx
index 3f9ea0aabcab..3db616762f53 100644
--- a/sc/source/ui/unoobj/shapeuno.cxx
+++ b/sc/source/ui/unoobj/shapeuno.cxx
@@ -74,12 +74,13 @@ const SfxItemPropertyMapEntry* lcl_GetShapeMap()
{MAP_CHAR_LEN(SC_UNONAME_MOVEPROTECT), 0, &getCppuType((sal_Bool*)0), 0, 0 },
// #i66550 HLINK_FOR_SHAPES
{MAP_CHAR_LEN(SC_UNONAME_HYPERLINK), 0, &getCppuType((rtl::OUString*)0), 0, 0 },
+ {MAP_CHAR_LEN(SC_UNONAME_URL), 0, &getCppuType((rtl::OUString*)0), 0, 0 },
+
{0,0,0,0,0,0}
};
return aShapeMap_Impl;
}
-// static
const SvEventDescription* ScShapeObj::GetSupportedMacroItems()
{
static const SvEventDescription aMacroDescriptionsImpl[] =
@@ -385,20 +386,9 @@ void SAL_CALL ScShapeObj::setPropertyValue(
table::CellRangeAddress aAddress = xRangeAdd->getRangeAddress();
if (nTab == aAddress.Sheet)
{
- if (aAddress.StartRow != aAddress.EndRow) //should be a Spreadsheet
- {
- DBG_ASSERT(aAddress.StartRow == 0 && aAddress.EndRow == MAXROW &&
- aAddress.StartColumn == 0 && aAddress.EndColumn == MAXCOL, "here should be a XSpreadsheet");
- ScDrawLayer::SetAnchor(pObj, SCA_PAGE);
- }
- else
- {
- DBG_ASSERT(aAddress.StartRow == aAddress.EndRow &&
- aAddress.StartColumn == aAddress.EndColumn, "here should be a XCell");
- ScDrawLayer::SetAnchor(pObj, SCA_CELL);
- }
Rectangle aRect(pDoc->GetMMRect( static_cast<SCCOL>(aAddress.StartColumn), static_cast<SCROW>(aAddress.StartRow),
static_cast<SCCOL>(aAddress.EndColumn), static_cast<SCROW>(aAddress.EndRow), aAddress.Sheet ));
+ awt::Point aRelPoint;
uno::Reference<drawing::XShape> xShape( mxShapeAgg, uno::UNO_QUERY );
if (xShape.is())
{
@@ -417,7 +407,8 @@ void SAL_CALL ScShapeObj::setPropertyValue(
awt::Size aUnoSize;
awt::Point aCaptionPoint;
ScRange aRange;
- awt::Point aUnoPoint(lcl_GetRelativePos( xShape, pDoc, nTab, aRange, aUnoSize, aCaptionPoint ));
+ aRelPoint = lcl_GetRelativePos( xShape, pDoc, nTab, aRange, aUnoSize, aCaptionPoint );
+ awt::Point aUnoPoint(aRelPoint);
aUnoPoint.X += aPoint.X();
aUnoPoint.Y += aPoint.Y();
@@ -446,6 +437,24 @@ void SAL_CALL ScShapeObj::setPropertyValue(
xShape->setPosition(aUnoPoint);
pDocSh->SetModified();
}
+
+ if (aAddress.StartRow != aAddress.EndRow) //should be a Spreadsheet
+ {
+ DBG_ASSERT(aAddress.StartRow == 0 && aAddress.EndRow == MAXROW &&
+ aAddress.StartColumn == 0 && aAddress.EndColumn == MAXCOL, "here should be a XSpreadsheet");
+ ScDrawLayer::SetPageAnchored(*pObj);
+ }
+ else
+ {
+ DBG_ASSERT(aAddress.StartRow == aAddress.EndRow &&
+ aAddress.StartColumn == aAddress.EndColumn, "here should be a XCell");
+ ScDrawObjData aAnchor;
+ aAnchor.maStart = ScAddress(aAddress.StartColumn, aAddress.StartRow, aAddress.Sheet);
+ aAnchor.maStartOffset = Point(aRelPoint.X, aRelPoint.Y);
+ ScDrawLayer::SetCellAnchored(*pObj, aAnchor);
+ //Currently we've only got a start anchor, not an end-anchor, so generate that now
+ ScDrawLayer::UpdateCellAnchorFromPositionEnd(*pObj, *pDoc, aAddress.Sheet);
+ }
}
}
}
@@ -505,7 +514,7 @@ void SAL_CALL ScShapeObj::setPropertyValue(
uno::Reference<drawing::XShape> xShape( mxShapeAgg, uno::UNO_QUERY );
if (xShape.is())
{
- if (ScDrawLayer::GetAnchor(pObj) == SCA_PAGE)
+ if (ScDrawLayer::GetAnchorType(*pObj) == SCA_PAGE)
{
awt::Point aPoint(xShape->getPosition());
awt::Size aSize(xShape->getSize());
@@ -532,7 +541,7 @@ void SAL_CALL ScShapeObj::setPropertyValue(
xShape->setPosition(aPoint);
pDocSh->SetModified();
}
- else if (ScDrawLayer::GetAnchor(pObj) == SCA_CELL)
+ else if (ScDrawLayer::GetAnchorType(*pObj) == SCA_CELL)
{
awt::Size aUnoSize;
awt::Point aCaptionPoint;
@@ -603,7 +612,7 @@ void SAL_CALL ScShapeObj::setPropertyValue(
uno::Reference<drawing::XShape> xShape( mxShapeAgg, uno::UNO_QUERY );
if (xShape.is())
{
- if (ScDrawLayer::GetAnchor(pObj) == SCA_PAGE)
+ if (ScDrawLayer::GetAnchorType(*pObj) == SCA_PAGE)
{
awt::Point aPoint = xShape->getPosition();
awt::Point aCaptionPoint;
@@ -616,7 +625,7 @@ void SAL_CALL ScShapeObj::setPropertyValue(
xShape->setPosition(aPoint);
pDocSh->SetModified();
}
- else if (ScDrawLayer::GetAnchor(pObj) == SCA_CELL)
+ else if (ScDrawLayer::GetAnchorType(*pObj) == SCA_CELL)
{
awt::Size aUnoSize;
awt::Point aCaptionPoint;
@@ -647,7 +656,8 @@ void SAL_CALL ScShapeObj::setPropertyValue(
}
}
}
- else if ( aNameString.EqualsAscii( SC_UNONAME_HYPERLINK ) )
+ else if ( aNameString.EqualsAscii( SC_UNONAME_HYPERLINK ) ||
+ aNameString.EqualsAscii( SC_UNONAME_URL) )
{
rtl::OUString sHlink;
ScMacroInfo* pInfo = lcl_getShapeHyperMacroInfo(this, TRUE);
@@ -699,23 +709,10 @@ uno::Any SAL_CALL ScShapeObj::getPropertyValue( const rtl::OUString& aPropertyNa
{
ScDocShell* pDocSh = (ScDocShell*)pObjSh;
uno::Reference< uno::XInterface > xAnchor;
- if (ScDrawLayer::GetAnchor(pObj) == SCA_CELL)
- {
- uno::Reference<drawing::XShape> xShape( mxShapeAgg, uno::UNO_QUERY );
- if (xShape.is())
- {
- awt::Size aUnoSize;
- awt::Point aCaptionPoint;
- ScRange aRange;
- awt::Point aUnoPoint(lcl_GetRelativePos( xShape, pDoc, nTab, aRange, aUnoSize, aCaptionPoint ));
-
- xAnchor.set(static_cast<cppu::OWeakObject*>(new ScCellObj( pDocSh, aRange.aStart )));
- }
- }
+ if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjDataTab(pObj, nTab))
+ xAnchor.set(static_cast<cppu::OWeakObject*>(new ScCellObj( pDocSh, pAnchor->maStart)));
else
- {
xAnchor.set(static_cast<cppu::OWeakObject*>(new ScTableSheetObj( pDocSh, nTab )));
- }
aAny <<= xAnchor;
}
}
@@ -758,7 +755,7 @@ uno::Any SAL_CALL ScShapeObj::getPropertyValue( const rtl::OUString& aPropertyNa
uno::Reference<drawing::XShape> xShape( mxShapeAgg, uno::UNO_QUERY );
if (xShape.is())
{
- if (ScDrawLayer::GetAnchor(pObj) == SCA_CELL)
+ if (ScDrawLayer::GetAnchorType(*pObj) == SCA_CELL)
{
awt::Size aUnoSize;
awt::Point aCaptionPoint;
@@ -818,7 +815,7 @@ uno::Any SAL_CALL ScShapeObj::getPropertyValue( const rtl::OUString& aPropertyNa
if (xShape.is())
{
uno::Reference< uno::XInterface > xAnchor;
- if (ScDrawLayer::GetAnchor(pObj) == SCA_CELL)
+ if (ScDrawLayer::GetAnchorType(*pObj) == SCA_CELL)
{
awt::Size aUnoSize;
awt::Point aCaptionPoint;
@@ -844,7 +841,8 @@ uno::Any SAL_CALL ScShapeObj::getPropertyValue( const rtl::OUString& aPropertyNa
}
}
}
- else if ( aNameString.EqualsAscii( SC_UNONAME_HYPERLINK ) )
+ else if ( aNameString.EqualsAscii( SC_UNONAME_HYPERLINK ) ||
+ aNameString.EqualsAscii( SC_UNONAME_URL ) )
{
rtl::OUString sHlink;
if ( ScMacroInfo* pInfo = lcl_getShapeHyperMacroInfo(this) )
diff --git a/sc/source/ui/unoobj/srchuno.cxx b/sc/source/ui/unoobj/srchuno.cxx
index 6402f60d91aa..6bc561ec4201 100644
--- a/sc/source/ui/unoobj/srchuno.cxx
+++ b/sc/source/ui/unoobj/srchuno.cxx
@@ -207,7 +207,7 @@ SC_IMPL_DUMMY_PROPERTY_LISTENER( ScCellSearchObj )
rtl::OUString SAL_CALL ScCellSearchObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScCellSearchObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScCellSearchObj" ));
}
sal_Bool SAL_CALL ScCellSearchObj::supportsService( const rtl::OUString& rServiceName )
@@ -223,8 +223,8 @@ uno::Sequence<rtl::OUString> SAL_CALL ScCellSearchObj::getSupportedServiceNames(
{
uno::Sequence<rtl::OUString> aRet(2);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCSEARCHDESCRIPTOR_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCREPLACEDESCRIPTOR_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCSEARCHDESCRIPTOR_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCREPLACEDESCRIPTOR_SERVICE ));
return aRet;
}
@@ -242,7 +242,6 @@ sal_Int64 SAL_CALL ScCellSearchObj::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScCellSearchObj::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -259,7 +258,6 @@ const uno::Sequence<sal_Int8>& ScCellSearchObj::getUnoTunnelId()
return *pSeq;
}
-// static
ScCellSearchObj* ScCellSearchObj::getImplementation(
const uno::Reference<util::XSearchDescriptor> xObj )
{
diff --git a/sc/source/ui/unoobj/styleuno.cxx b/sc/source/ui/unoobj/styleuno.cxx
index 9383816528ab..61ab291076f2 100644
--- a/sc/source/ui/unoobj/styleuno.cxx
+++ b/sc/source/ui/unoobj/styleuno.cxx
@@ -492,7 +492,6 @@ BOOL lcl_EndsWithUser( const String& rString )
pChar[nLen-1] == ')';
}
-// static
String ScStyleNameConversion::DisplayToProgrammaticName( const String& rDispName, UINT16 nType )
{
BOOL bDisplayIsProgrammatic = FALSE;
@@ -523,7 +522,6 @@ String ScStyleNameConversion::DisplayToProgrammaticName( const String& rDispName
return rDispName;
}
-// static
String ScStyleNameConversion::ProgrammaticToDisplayName( const String& rProgName, UINT16 nType )
{
if ( lcl_EndsWithUser( rProgName ) )
@@ -671,8 +669,8 @@ uno::Sequence<rtl::OUString> SAL_CALL ScStyleFamiliesObj::getElementNames()
SolarMutexGuard aGuard;
uno::Sequence<rtl::OUString> aNames(SC_STYLE_FAMILY_COUNT);
rtl::OUString* pNames = aNames.getArray();
- pNames[0] = rtl::OUString::createFromAscii( SC_FAMILYNAME_CELL );
- pNames[1] = rtl::OUString::createFromAscii( SC_FAMILYNAME_PAGE );
+ pNames[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_FAMILYNAME_CELL ));
+ pNames[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_FAMILYNAME_PAGE ));
return aNames;
}
@@ -734,13 +732,13 @@ uno::Sequence<beans::PropertyValue> SAL_CALL ScStyleFamiliesObj::getStyleLoaderO
uno::Sequence<beans::PropertyValue> aSequence(3);
beans::PropertyValue* pArray = aSequence.getArray();
- pArray[0].Name = rtl::OUString::createFromAscii( SC_UNONAME_OVERWSTL );
+ pArray[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_OVERWSTL ));
ScUnoHelpFunctions::SetBoolInAny( pArray[0].Value, TRUE );
- pArray[1].Name = rtl::OUString::createFromAscii( SC_UNONAME_LOADCELL );
+ pArray[1].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_LOADCELL ));
ScUnoHelpFunctions::SetBoolInAny( pArray[1].Value, TRUE );
- pArray[2].Name = rtl::OUString::createFromAscii( SC_UNONAME_LOADPAGE );
+ pArray[2].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_LOADPAGE ));
ScUnoHelpFunctions::SetBoolInAny( pArray[2].Value, TRUE );
return aSequence;
@@ -1132,7 +1130,6 @@ sal_Int64 SAL_CALL ScStyleObj::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScStyleObj::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -1149,7 +1146,6 @@ const uno::Sequence<sal_Int8>& ScStyleObj::getUnoTunnelId()
return *pSeq;
}
-// static
ScStyleObj* ScStyleObj::getImplementation(
const uno::Reference<uno::XInterface> xObj )
{
@@ -1304,7 +1300,6 @@ void SAL_CALL ScStyleObj::setName( const rtl::OUString& aNewName )
}
}
-// static
uno::Reference<container::XIndexReplace> ScStyleObj::CreateEmptyNumberingRules()
{
SvxNumRule aRule( 0, 0, TRUE ); // nothing supported
@@ -2039,7 +2034,7 @@ uno::Any SAL_CALL ScStyleObj::getPropertyValue( const rtl::OUString& aPropertyNa
BYTE nValue = ((const SvxPaperBinItem&)pItemSet->Get(nWhich)).GetValue();
rtl::OUString aName;
if ( nValue == PAPERBIN_PRINTER_SETTINGS )
- aName = rtl::OUString::createFromAscii( SC_PAPERBIN_DEFAULTNAME );
+ aName = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_PAPERBIN_DEFAULTNAME ));
else
{
Printer* pPrinter = pDocShell->GetPrinter();
@@ -2107,7 +2102,7 @@ SC_IMPL_DUMMY_PROPERTY_LISTENER( ScStyleObj )
rtl::OUString SAL_CALL ScStyleObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScStyleObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScStyleObj" ));
}
sal_Bool SAL_CALL ScStyleObj::supportsService( const rtl::OUString& rServiceName )
@@ -2125,9 +2120,9 @@ uno::Sequence<rtl::OUString> SAL_CALL ScStyleObj::getSupportedServiceNames()
BOOL bPage = ( eFamily == SFX_STYLE_FAMILY_PAGE );
uno::Sequence<rtl::OUString> aRet(2);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCSTYLE_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( bPage ? SCPAGESTYLE_SERVICE
- : SCCELLSTYLE_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCSTYLE_SERVICE ));
+ pArray[1] = bPage ? rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SCPAGESTYLE_SERVICE))
+ : rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SCCELLSTYLE_SERVICE));
return aRet;
}
diff --git a/sc/source/ui/unoobj/targuno.cxx b/sc/source/ui/unoobj/targuno.cxx
index 6509b03d864d..c239c489c5a2 100644
--- a/sc/source/ui/unoobj/targuno.cxx
+++ b/sc/source/ui/unoobj/targuno.cxx
@@ -243,8 +243,7 @@ void ScLinkTargetTypeObj::SetLinkTargetBitmap( uno::Any& rRet, sal_uInt16 nType
}
if (nImgId)
{
- BOOL bHighContrast = Application::GetSettings().GetStyleSettings().GetHighContrastMode();
- ImageList aEntryImages( ScResId( bHighContrast ? RID_IMAGELIST_H_NAVCONT : RID_IMAGELIST_NAVCONT ) );
+ ImageList aEntryImages( ScResId( RID_IMAGELIST_NAVCONT ) );
const Image& rImage = aEntryImages.GetImage( nImgId );
rRet <<= uno::Reference< awt::XBitmap > (VCLUnoHelper::CreateBitmap( rImage.GetBitmapEx() ));
}
diff --git a/sc/source/ui/unoobj/textuno.cxx b/sc/source/ui/unoobj/textuno.cxx
index d97cce02b426..254cff9403d7 100644
--- a/sc/source/ui/unoobj/textuno.cxx
+++ b/sc/source/ui/unoobj/textuno.cxx
@@ -200,7 +200,6 @@ sal_Int64 SAL_CALL ScHeaderFooterContentObj::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScHeaderFooterContentObj::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -217,7 +216,6 @@ const uno::Sequence<sal_Int8>& ScHeaderFooterContentObj::getUnoTunnelId()
return *pSeq;
}
-// static
ScHeaderFooterContentObj* ScHeaderFooterContentObj::getImplementation(
const uno::Reference<sheet::XHeaderFooterContent> xObj )
{
@@ -385,7 +383,7 @@ uno::Reference<text::XTextCursor> SAL_CALL ScHeaderFooterTextObj::createTextCurs
//! wie ScCellObj::createTextCursorByRange, wenn SvxUnoTextRange_getReflection verfuegbar
}
-void ScHeaderFooterTextObj::FillDummyFieldData( ScHeaderFieldData& rData ) // static
+void ScHeaderFooterTextObj::FillDummyFieldData( ScHeaderFieldData& rData )
{
String aDummy(String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM( "???" )));
rData.aTitle = aDummy;
@@ -694,7 +692,6 @@ sal_Int64 SAL_CALL ScCellTextCursor::getSomething(
return SvxUnoTextCursor::getSomething( rId );
}
-// static
const uno::Sequence<sal_Int8>& ScCellTextCursor::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -711,7 +708,6 @@ const uno::Sequence<sal_Int8>& ScCellTextCursor::getUnoTunnelId()
return *pSeq;
}
-// static
ScCellTextCursor* ScCellTextCursor::getImplementation( const uno::Reference<uno::XInterface> xObj )
{
ScCellTextCursor* pRet = NULL;
@@ -798,7 +794,6 @@ sal_Int64 SAL_CALL ScHeaderFooterTextCursor::getSomething(
return SvxUnoTextCursor::getSomething( rId );
}
-// static
const uno::Sequence<sal_Int8>& ScHeaderFooterTextCursor::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -815,7 +810,6 @@ const uno::Sequence<sal_Int8>& ScHeaderFooterTextCursor::getUnoTunnelId()
return *pSeq;
}
-// static
ScHeaderFooterTextCursor* ScHeaderFooterTextCursor::getImplementation(
const uno::Reference<uno::XInterface> xObj )
{
@@ -902,7 +896,6 @@ sal_Int64 SAL_CALL ScDrawTextCursor::getSomething(
return SvxUnoTextCursor::getSomething( rId );
}
-// static
const uno::Sequence<sal_Int8>& ScDrawTextCursor::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -919,7 +912,6 @@ const uno::Sequence<sal_Int8>& ScDrawTextCursor::getUnoTunnelId()
return *pSeq;
}
-// static
ScDrawTextCursor* ScDrawTextCursor::getImplementation( const uno::Reference<uno::XInterface> xObj )
{
ScDrawTextCursor* pRet = NULL;
diff --git a/sc/source/ui/unoobj/tokenuno.cxx b/sc/source/ui/unoobj/tokenuno.cxx
index fff4fe64d8ba..aa736ac5ad5b 100644
--- a/sc/source/ui/unoobj/tokenuno.cxx
+++ b/sc/source/ui/unoobj/tokenuno.cxx
@@ -336,14 +336,12 @@ void lcl_SingleRefToApi( sheet::SingleReference& rAPI, const ScSingleRefData& rR
rAPI.Flags = nFlags;
}
-// static
bool ScTokenConversion::ConvertToTokenArray( ScDocument& rDoc,
ScTokenArray& rTokenArray, const uno::Sequence<sheet::FormulaToken>& rSequence )
{
return !rTokenArray.Fill(rSequence,rDoc.GetExternalRefManager());
}
-// static
bool ScTokenConversion::ConvertToTokenSequence( ScDocument& rDoc,
uno::Sequence<sheet::FormulaToken>& rSequence, const ScTokenArray& rTokenArray )
{
diff --git a/sc/source/ui/unoobj/viewuno.cxx b/sc/source/ui/unoobj/viewuno.cxx
index 297ae74b5de1..71f5bc0d3a42 100644
--- a/sc/source/ui/unoobj/viewuno.cxx
+++ b/sc/source/ui/unoobj/viewuno.cxx
@@ -469,7 +469,7 @@ private:
ScTabViewObj* pViewObj;
uno::Reference< script::vba::XVBAEventProcessor > xVbaEventsHelper;
sal_Bool bDelaySelectionEvent;
- sal_Bool bSelectionChangeOccured;
+ sal_Bool bSelectionChangeOccurred;
void fireSelectionChangeEvent();
@@ -487,7 +487,7 @@ public:
};
ScTabViewEventListener::ScTabViewEventListener(ScTabViewObj* pObj, uno::Reference< script::vba::XVBAEventProcessor >& rVbaEventsHelper):
- pViewObj( pObj ),xVbaEventsHelper( rVbaEventsHelper ), bDelaySelectionEvent( sal_False ), bSelectionChangeOccured( sal_False )
+ pViewObj( pObj ),xVbaEventsHelper( rVbaEventsHelper ), bDelaySelectionEvent( sal_False ), bSelectionChangeOccurred( sal_False )
{
}
@@ -514,14 +514,14 @@ void ScTabViewEventListener::fireSelectionChangeEvent()
}
}
bDelaySelectionEvent = sal_False;
- bSelectionChangeOccured = sal_False;
+ bSelectionChangeOccurred = sal_False;
}
sal_Bool SAL_CALL ScTabViewEventListener::mousePressed( const awt::EnhancedMouseEvent& e ) throw (uno::RuntimeException)
{
// Delay to fire the selection change event if clicking the left mouse button to do selection.
bDelaySelectionEvent = ( e.Buttons == ::com::sun::star::awt::MouseButton::RIGHT ) ? sal_False : sal_True;
- bSelectionChangeOccured = sal_False;
+ bSelectionChangeOccurred = sal_False;
// ScTabViewObj::MousePressed should handle process BeforeDoubleClick and BeforeRightClick events
return sal_True;
@@ -529,7 +529,7 @@ sal_Bool SAL_CALL ScTabViewEventListener::mousePressed( const awt::EnhancedMouse
sal_Bool SAL_CALL ScTabViewEventListener::mouseReleased( const awt::EnhancedMouseEvent&/*e*/) throw (uno::RuntimeException)
{
- if ( bSelectionChangeOccured )
+ if ( bSelectionChangeOccurred )
fireSelectionChangeEvent();
return sal_True;
}
@@ -542,7 +542,7 @@ void SAL_CALL ScTabViewEventListener::selectionChanged( const lang::EventObject&
}
else
{
- bSelectionChangeOccured = sal_True;
+ bSelectionChangeOccurred = sal_True;
}
}
@@ -755,10 +755,9 @@ uno::Sequence<sal_Int8> SAL_CALL ScTabViewObj::getImplementationId()
BOOL lcl_TabInRanges( SCTAB nTab, const ScRangeList& rRanges )
{
- ULONG nCount = rRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ for (size_t i = 0, nCount = rRanges.size(); i < nCount; ++i)
{
- const ScRange* pRange = rRanges.GetObject(i);
+ const ScRange* pRange = rRanges[ i ];
if ( nTab >= pRange->aStart.Tab() && nTab <= pRange->aEnd.Tab() )
return TRUE;
}
@@ -868,17 +867,17 @@ sal_Bool SAL_CALL ScTabViewObj::select( const uno::Any& aSelection )
// Ranges selektieren
const ScRangeList& rRanges = pRangesImp->GetRangeList();
- ULONG nRangeCount = rRanges.Count();
+ size_t nRangeCount = rRanges.size();
// for empty range list, remove selection (cursor remains where it was)
if ( nRangeCount == 0 )
pViewSh->Unmark();
else if ( nRangeCount == 1 )
- pViewSh->MarkRange( *rRanges.GetObject(0) );
+ pViewSh->MarkRange( *rRanges[ 0 ] );
else
{
// Mehrfachselektion
- const ScRange* pFirst = rRanges.GetObject(0);
+ const ScRange* pFirst = rRanges[ 0 ];
if ( pFirst && !lcl_TabInRanges( pViewData->GetTabNo(), rRanges ) )
pViewSh->SetTabNo( pFirst->aStart.Tab() );
pViewSh->DoneBlockMode();
@@ -1042,7 +1041,7 @@ uno::Any SAL_CALL ScTabViewObj::getSelection() throw(uno::RuntimeException)
ScRangeList aRangeList;
aFilteredMark.FillRangeListWithMarks( &aRangeList, FALSE);
// Theoretically a selection may start and end on a filtered row.
- switch (aRangeList.Count())
+ switch ( aRangeList.size() )
{
case 0:
// No unfiltered row, we have to return some object, so
@@ -1051,7 +1050,7 @@ uno::Any SAL_CALL ScTabViewObj::getSelection() throw(uno::RuntimeException)
break;
case 1:
{
- const ScRange& rRange = *(aRangeList.GetObject(0));
+ const ScRange& rRange = *(aRangeList[ 0 ]);
if (rRange.aStart == rRange.aEnd)
pObj = new ScCellObj( pDocSh, rRange.aStart );
else
@@ -1203,7 +1202,7 @@ uno::Reference<sheet::XSpreadsheet> SAL_CALL ScTabViewObj::getActiveSheet()
return NULL;
}
-//liuchen 2009-9-2 support expand (but not replace) the active sheet
+// support expand (but not replace) the active sheet
void SAL_CALL ScTabViewObj::setActiveSheet( const uno::Reference<sheet::XSpreadsheet>& xActiveSheet )
throw(uno::RuntimeException)
{
@@ -1227,9 +1226,9 @@ ScTabViewObj::selectSheet( const uno::Reference<sheet::XSpreadsheet>& xActiveShe
if ( pRangesImp && pViewSh->GetViewData()->GetDocShell() == pRangesImp->GetDocShell() )
{
const ScRangeList& rRanges = pRangesImp->GetRangeList();
- if ( rRanges.Count() == 1 )
+ if ( rRanges.size() == 1 )
{
- SCTAB nNewTab = rRanges.GetObject(0)->aStart.Tab();
+ SCTAB nNewTab = rRanges[ 0 ]->aStart.Tab();
if ( pViewSh->GetViewData()->GetDocument()->HasTable(nNewTab) )
pViewSh->SetTabNo( nNewTab, bNew, bExpand );
}
@@ -2255,7 +2254,7 @@ void ScTabViewObj::RangeSelChanged( const String& rText )
rtl::OUString SAL_CALL ScTabViewObj::getImplementationName() throw(uno::RuntimeException)
{
- return rtl::OUString::createFromAscii( "ScTabViewObj" );
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ScTabViewObj" ));
}
sal_Bool SAL_CALL ScTabViewObj::supportsService( const rtl::OUString& rServiceName )
@@ -2271,8 +2270,8 @@ uno::Sequence<rtl::OUString> SAL_CALL ScTabViewObj::getSupportedServiceNames()
{
uno::Sequence<rtl::OUString> aRet(2);
rtl::OUString* pArray = aRet.getArray();
- pArray[0] = rtl::OUString::createFromAscii( SCTABVIEWOBJ_SERVICE );
- pArray[1] = rtl::OUString::createFromAscii( SCVIEWSETTINGS_SERVICE );
+ pArray[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCTABVIEWOBJ_SERVICE ));
+ pArray[1] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SCVIEWSETTINGS_SERVICE ));
return aRet;
}
@@ -2290,7 +2289,6 @@ sal_Int64 SAL_CALL ScTabViewObj::getSomething(
return 0;
}
-// static
const uno::Sequence<sal_Int8>& ScTabViewObj::getUnoTunnelId()
{
static uno::Sequence<sal_Int8> * pSeq = 0;
@@ -2307,7 +2305,6 @@ const uno::Sequence<sal_Int8>& ScTabViewObj::getUnoTunnelId()
return *pSeq;
}
-// static
ScTabViewObj* ScTabViewObj::getImplementation( const uno::Reference<uno::XInterface> xObj )
{
ScTabViewObj* pRet = NULL;
diff --git a/sc/source/ui/vba/excelvbahelper.cxx b/sc/source/ui/vba/excelvbahelper.cxx
index 3ca5ba861dc8..99fda2b57a81 100644
--- a/sc/source/ui/vba/excelvbahelper.cxx
+++ b/sc/source/ui/vba/excelvbahelper.cxx
@@ -377,7 +377,7 @@ void CompileExcelFormulaToODF( ScDocument* pDoc, const String& rOldFormula, Stri
}
ScCompiler aCompiler( pDoc, ScAddress() );
aCompiler.SetGrammar( excel::GetFormulaGrammar( pDoc, ScAddress(), uno::Any( rtl::OUString( rOldFormula ) ) ) );
- ScTokenArray* pCode = aCompiler.CompileString( rOldFormula );
+ aCompiler.CompileString( rOldFormula );
aCompiler.SetGrammar( formula::FormulaGrammar::GRAM_PODF_A1 );
aCompiler.CreateStringFromTokenArray( rNewFormula );
}
diff --git a/sc/source/ui/vba/service.cxx b/sc/source/ui/vba/service.cxx
index e0ed82fbc0fd..05dc4ab91820 100644
--- a/sc/source/ui/vba/service.cxx
+++ b/sc/source/ui/vba/service.cxx
@@ -89,35 +89,10 @@ extern "C"
lang::XMultiServiceFactory * pServiceManager, registry::XRegistryKey * pRegistryKey )
{
OSL_TRACE("In component_writeInfo");
-#if 0
- // Component registration
- if ( component_writeInfoHelper( pServiceManager, pRegistryKey,
- range::serviceDecl, workbook::serviceDecl, worksheet::serviceDecl, globals::serviceDecl, window::serviceDecl, hyperlink::serviceDecl, application::serviceDecl ) && component_writeInfoHelper( pServiceManager, pRegistryKey, vbaeventshelper::serviceDecl ) )
- {
- // Singleton registration
- try
- {
- registry::XRegistryKey * pKey =
- reinterpret_cast< registry::XRegistryKey * >(pRegistryKey);
- Reference< registry::XRegistryKey >xKey = pKey->createKey(
- rtl::OUString::createFromAscii( ("ooo.vba.Globals/UNO/SINGLETONS/ooo.vba.theGlobals") ) );
- xKey->setStringValue( ::rtl::OUString::createFromAscii(
- ("ooo.vba.Globals") ) );
- return sal_True;
- }
- catch( uno::Exception& /*e*/ )
- {
- //recomp & friends will detect false returned and fail
- }
- }
- return sal_False;
-#else
// Component registration
return component_writeInfoHelper( pServiceManager, pRegistryKey,
range::serviceDecl, workbook::serviceDecl, worksheet::serviceDecl, globals::serviceDecl, window::serviceDecl, hyperlink::serviceDecl, application::serviceDecl ) && component_writeInfoHelper( pServiceManager, pRegistryKey, vbaeventshelper::serviceDecl, textframe::serviceDecl );
-#endif
-
}
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
diff --git a/sc/source/ui/vba/testvba/testvba.cxx b/sc/source/ui/vba/testvba/testvba.cxx
index cf04d45250db..d93f2515cc35 100644
--- a/sc/source/ui/vba/testvba/testvba.cxx
+++ b/sc/source/ui/vba/testvba/testvba.cxx
@@ -45,7 +45,7 @@ using ::rtl::OUString;
using ::std::auto_ptr;
-const OUString EXTN = rtl::OUString::createFromAscii(".xls");
+const OUString EXTN(RTL_CONSTASCII_USTRINGPARAM(".xls"));
OUString convertToURL( const OUString& rPath )
{
@@ -59,7 +59,7 @@ OUString convertToURL( const OUString& rPath )
{
osl::FileBase::getFileURLFromSystemPath( rPath, aURL );
if ( aURL.equals( rPath ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "could'nt convert " ).concat( rPath ).concat( rtl::OUString::createFromAscii( " to a URL, is it a fully qualified path name? " ) ), Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "could'nt convert " )).concat( rPath ).concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( " to a URL, is it a fully qualified path name? " )) ), Reference< uno::XInterface >() );
}
return aURL;
}
@@ -98,34 +98,28 @@ public:
const rtl::OUString& _outDirPath ) : mxContext( _xContext ), mxMCF( _xMCF ),
mxCompLoader( _xCompLoader ), msOutDirPath( convertToURL( _outDirPath ) )
{
- mxSFA.set( mxMCF->createInstanceWithContext( rtl::OUString::createFromAscii( "com.sun.star.ucb.SimpleFileAccess" ), mxContext), uno::UNO_QUERY_THROW );
+ mxSFA.set( mxMCF->createInstanceWithContext( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ucb.SimpleFileAccess" )), mxContext), uno::UNO_QUERY_THROW );
}
rtl::OUString getLogLocation() throw ( beans::UnknownPropertyException, lang::IllegalArgumentException, lang::WrappedTargetException, uno::Exception )
{
rtl::OUString sLogLocation;
- Reference< XPropertySet > pathSettings( mxMCF->createInstanceWithContext( rtl::OUString::createFromAscii( "com.sun.star.comp.framework.PathSettings" ), mxContext), uno::UNO_QUERY_THROW );
- pathSettings->getPropertyValue( rtl::OUString::createFromAscii( "Work" ) ) >>= sLogLocation;
- sLogLocation = sLogLocation.concat( rtl::OUString::createFromAscii( "/" ) ).concat( rtl::OUString::createFromAscii( "HelperAPI-test.log" ) );
+ Reference< XPropertySet > pathSettings( mxMCF->createInstanceWithContext( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.framework.PathSettings" )), mxContext), uno::UNO_QUERY_THROW );
+ pathSettings->getPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Work" )) ) >>= sLogLocation;
+ sLogLocation = sLogLocation.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/" )) ).concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "HelperAPI-test.log" )) );
return sLogLocation;
}
rtl::OUString getLogLocationWithName( OUString fileName ) throw ( beans::UnknownPropertyException, lang::IllegalArgumentException, lang::WrappedTargetException, uno::Exception )
{
printf("%s\n", getenv("HOME") );
printf("file name %s\n", rtl::OUStringToOString( fileName, RTL_TEXTENCODING_UTF8 ).getStr() );
- //rtl::OUString sLogLocation( rtl::OUString::createFromAscii( getenv("HOME") ) );
rtl::OUString sLogLocation;
- Reference< XPropertySet > pathSettings( mxMCF->createInstanceWithContext( rtl::OUString::createFromAscii( "com.sun.star.comp.framework.PathSettings" ), mxContext), uno::UNO_QUERY_THROW );
- pathSettings->getPropertyValue( rtl::OUString::createFromAscii( "Work" ) ) >>= sLogLocation;
- sLogLocation = sLogLocation.concat( rtl::OUString::createFromAscii( "/" ) ).concat( fileName.copy ( 0, fileName.lastIndexOf( EXTN ) ) + rtl::OUString::createFromAscii( ".log" ) );
+ Reference< XPropertySet > pathSettings( mxMCF->createInstanceWithContext( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.framework.PathSettings" )), mxContext), uno::UNO_QUERY_THROW );
+ pathSettings->getPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Work" )) ) >>= sLogLocation;
+ sLogLocation = sLogLocation.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/" )) ).concat( fileName.copy ( 0, fileName.lastIndexOf( EXTN ) ) + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( ".log" )) );
return sLogLocation;
}
- void init()
- {
- // blow away previous logs?
- }
-
void proccessDocument( const rtl::OUString& sUrl )
{
if ( !mxSFA->isFolder( sUrl ) && sUrl.endsWithIgnoreAsciiCaseAsciiL( ".xls", 4 ) )
@@ -137,13 +131,13 @@ mxCompLoader( _xCompLoader ), msOutDirPath( convertToURL( _outDirPath ) )
printf( "processing %s\n", rtl::OUStringToOString( sUrl, RTL_TEXTENCODING_UTF8 ).getStr() );
// Loading the wanted document
Sequence< PropertyValue > propertyValues(1);
- propertyValues[0].Name = rtl::OUString::createFromAscii( "Hidden" );
+ propertyValues[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Hidden" ));
propertyValues[0].Value <<= sal_False;
rtl::OUString sfileUrl = convertToURL( sUrl );
printf( "try to get xDoc %s\n", rtl::OUStringToOString( sfileUrl, RTL_TEXTENCODING_UTF8 ).getStr() );
Reference< uno::XInterface > xDoc =
- mxCompLoader->loadComponentFromURL( sfileUrl, rtl::OUString::createFromAscii( "_blank" ), 0, propertyValues);
+ mxCompLoader->loadComponentFromURL( sfileUrl, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "_blank" )), 0, propertyValues);
printf( "got xDoc\n" );
OUString logFileURL = convertToURL( getLogLocation() );
@@ -160,15 +154,15 @@ mxCompLoader( _xCompLoader ), msOutDirPath( convertToURL( _outDirPath ) )
Reference< script::provider::XScript > xScript;
try
{
- xScript = xProv->getScript( rtl::OUString::createFromAscii( "vnd.sun.star.script:VBAProject.TestMacros.Main?language=Basic&location=document" ));
+ xScript = xProv->getScript( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "vnd.sun.star.script:VBAProject.TestMacros.Main?language=Basic&location=document") ));
} catch ( uno::Exception& e )
{
try
{
- xScript = xProv->getScript( rtl::OUString::createFromAscii( "vnd.sun.star.script:VBAProject.testMacro.Main?language=Basic&location=document" ));
+ xScript = xProv->getScript( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "vnd.sun.star.script:VBAProject.testMacro.Main?language=Basic&location=document" )));
} catch ( uno::Exception& e2 )
{
- xScript = xProv->getScript( rtl::OUString::createFromAscii( "vnd.sun.star.script:VBAProject.testMain.Main?language=Basic&location=document" ));
+ xScript = xProv->getScript( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "vnd.sun.star.script:VBAProject.testMain.Main?language=Basic&location=document" )));
}
}
OSL_TRACE("Got script for doc %s", rtl::OUStringToOString( sUrl, RTL_TEXTENCODING_UTF8 ).getStr() );
@@ -180,7 +174,7 @@ mxCompLoader( _xCompLoader ), msOutDirPath( convertToURL( _outDirPath ) )
xScript->invoke(aArgs, aOutArgsIndex, aOutArgs);
OUString fileName = sUrl.copy ( sUrl.lastIndexOf( '/' ) );
- OUString newLocation = msOutDirPath + fileName.copy ( 0, fileName.lastIndexOf( EXTN ) ) + rtl::OUString::createFromAscii( ".log" );
+ OUString newLocation = msOutDirPath + fileName.copy ( 0, fileName.lastIndexOf( EXTN ) ) + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( ".log" ));
try
{
printf("move log file\n");
@@ -240,7 +234,7 @@ mxCompLoader( _xCompLoader ), msOutDirPath( convertToURL( _outDirPath ) )
rtl::OUString sFileDirectoryURL = convertToURL( sFileDirectory );
if ( !mxSFA->isFolder( sFileDirectoryURL) )
{
- throw lang::IllegalArgumentException( rtl::OUString::createFromAscii( "not a directory: ").concat( sFileDirectoryURL ), Reference<uno::XInterface>(), 1 );
+ throw lang::IllegalArgumentException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "not a directory: ")).concat( sFileDirectoryURL ), Reference<uno::XInterface>(), 1 );
}
// Getting all files and directories in the current directory
Sequence<OUString> entries = mxSFA->getFolderContents( sFileDirectoryURL, sal_False );
@@ -298,8 +292,6 @@ int main( int argv, char** argc )
dTest->traverse( ascii( argc[ 1 ] ) );
}
delete dTest;
-// tryDispose( xLoader, "desktop" );
-// tryDispose( xCC, "remote context" );
}
catch( uno::Exception& e )
diff --git a/sc/source/ui/vba/vbaapplication.cxx b/sc/source/ui/vba/vbaapplication.cxx
index 7ed96e7f900e..fa9ae584c88e 100644
--- a/sc/source/ui/vba/vbaapplication.cxx
+++ b/sc/source/ui/vba/vbaapplication.cxx
@@ -49,14 +49,12 @@
#include <com/sun/star/ui/dialogs/XFilePicker2.hpp>
#include <com/sun/star/ui/dialogs/XFilePickerControlAccess.hpp>
#include <com/sun/star/ui/dialogs/TemplateDescription.hpp>
-//2009-11-06 add by limingl
#include <com/sun/star/ui/dialogs/XFilterManager.hpp>
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
-//end
#include<ooo/vba/XCommandBars.hpp>
-#include <ooo/vba/excel/XlEnableCancelKey.hpp> //liuchen 2009-11-26
-#include <ooo/vba/excel/XlApplicationInternational.hpp> //liuchen 2009-11-26
-#include <unotools/localedatawrapper.hxx> //liuchen 2009-11-26
+#include <ooo/vba/excel/XlEnableCancelKey.hpp>
+#include <ooo/vba/excel/XlApplicationInternational.hpp>
+#include <unotools/localedatawrapper.hxx>
#include "vbaapplication.hxx"
#include "vbaworkbooks.hxx"
@@ -75,12 +73,12 @@
#include <vbahelper/vbashape.hxx>
#include "vbatextboxshape.hxx"
#include "vbaassistant.hxx"
-#include "vbafilesearch.hxx" //liuchen 2009-8-18, add the support of VBA Application.FileSearch
+#include "vbafilesearch.hxx" // add the support of VBA Application.FileSearch
#include "sc.hrc"
#include "macromgr.hxx"
-#include "global.hxx" //liuchen 2009-11-26
-#include "scmod.hxx" //liuchen 2009-11-26
-#include "docoptio.hxx" //liuchen 2009-11-26
+#include "global.hxx"
+#include "scmod.hxx"
+#include "docoptio.hxx"
#include "appoptio.hxx"
#include <osl/file.hxx>
@@ -122,7 +120,7 @@
#include <basic/sbx.hxx>
#include <basic/sbxobj.hxx>
#include <basic/sbuno.hxx>
-//limingl 2009-07-20
+
#include "vbafiledialog.hxx"
using namespace ::ooo::vba;
using namespace ::com::sun::star;
@@ -280,7 +278,7 @@ ScVbaApplication::getAssistant() throw (uno::RuntimeException)
return uno::Reference< XAssistant >( new ScVbaAssistant( this, mxContext ) );
}
-//liuchen 2009-8-18, add support of VBA Application.FileSearch
+// add support of VBA Application.FileSearch
uno::Reference< XFileSearch > SAL_CALL
ScVbaApplication::getFileSearch() throw (uno::RuntimeException)
{
@@ -291,7 +289,6 @@ ScVbaApplication::getFileSearch() throw (uno::RuntimeException)
return m_xFileSearch;
}
-//liuchen
uno::Any SAL_CALL
ScVbaApplication::getSelection() throw (uno::RuntimeException)
@@ -301,7 +298,7 @@ ScVbaApplication::getSelection() throw (uno::RuntimeException)
Reference< view::XSelectionSupplier > xSelSupp( xModel->getCurrentController(), UNO_QUERY_THROW );
Reference< beans::XPropertySet > xPropSet( xSelSupp, UNO_QUERY_THROW );
- OUString aPropName = OUString::createFromAscii( SC_UNO_FILTERED_RANGE_SELECTION );
+ OUString aPropName( RTL_CONSTASCII_USTRINGPARAM( SC_UNO_FILTERED_RANGE_SELECTION ) );
uno::Any aOldVal = xPropSet->getPropertyValue( aPropName );
uno::Any any;
any <<= sal_False;
@@ -313,7 +310,7 @@ ScVbaApplication::getSelection() throw (uno::RuntimeException)
if (!aSelection.is())
{
throw uno::RuntimeException(
- rtl::OUString::createFromAscii("failed to obtain current selection"),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("failed to obtain current selection")),
uno::Reference< uno::XInterface >() );
}
@@ -338,8 +335,8 @@ ScVbaApplication::getSelection() throw (uno::RuntimeException)
}
return uno::makeAny( uno::Reference< msforms::XShape >(new ScVbaShape( this, mxContext, xShape, xShapes, xModel, ScVbaShape::getType( xShape ) ) ) );
}
- else if( xServiceInfo->supportsService( rtl::OUString::createFromAscii("com.sun.star.sheet.SheetCellRange")) ||
- xServiceInfo->supportsService( rtl::OUString::createFromAscii("com.sun.star.sheet.SheetCellRanges")))
+ else if( xServiceInfo->supportsService( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sheet.SheetCellRange")) ) ||
+ xServiceInfo->supportsService( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sheet.SheetCellRanges")) ) )
{
uno::Reference< table::XCellRange > xRange( aSelection, ::uno::UNO_QUERY);
if ( !xRange.is() )
@@ -353,7 +350,8 @@ ScVbaApplication::getSelection() throw (uno::RuntimeException)
}
else
{
- throw uno::RuntimeException( sImplementationName + rtl::OUString::createFromAscii(" not supported"), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( sImplementationName + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
+ " not supported")), uno::Reference< uno::XInterface >() );
}
}
@@ -364,10 +362,10 @@ ScVbaApplication::getActiveCell() throw (uno::RuntimeException )
uno::Reference< table::XCellRange > xRange( xView->getActiveSheet(), ::uno::UNO_QUERY_THROW);
ScTabViewShell* pViewShell = excel::getCurrentBestViewShell(mxContext);
if ( !pViewShell )
- throw uno::RuntimeException( rtl::OUString::createFromAscii("No ViewShell available"), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("No ViewShell available")), uno::Reference< uno::XInterface >() );
ScViewData* pTabView = pViewShell->GetViewData();
if ( !pTabView )
- throw uno::RuntimeException( rtl::OUString::createFromAscii("No ViewData available"), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("No ViewData available")), uno::Reference< uno::XInterface >() );
sal_Int32 nCursorX = pTabView->GetCurX();
sal_Int32 nCursorY = pTabView->GetCurY();
@@ -399,8 +397,8 @@ ScVbaApplication::Worksheets( const uno::Any& aIndex ) throw (uno::RuntimeExcept
else
// Fixme - check if this is reasonable/desired behavior
- throw uno::RuntimeException( rtl::OUString::createFromAscii(
- "No ActiveWorkBook available" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "No ActiveWorkBook available" )),
+ uno::Reference< uno::XInterface >() );
return result;
}
@@ -535,7 +533,7 @@ ScVbaApplication::setStatusBar( const uno::Any& _statusbar ) throw (uno::Runtime
}
}
else
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Invalid prarameter. It should be a string or False" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Invalid prarameter. It should be a string or False" )),
uno::Reference< uno::XInterface >() );
}
@@ -607,7 +605,9 @@ ScVbaApplication::Names( const css::uno::Any& aIndex ) throw ( uno::RuntimeExcep
{
uno::Reference< frame::XModel > xModel( getCurrentDocument(), uno::UNO_QUERY_THROW );
uno::Reference< beans::XPropertySet > xPropertySet( xModel, uno::UNO_QUERY_THROW );
- uno::Reference< sheet::XNamedRanges > xNamedRanges( xPropertySet->getPropertyValue( rtl::OUString::createFromAscii("NamedRanges")) , uno::UNO_QUERY_THROW );
+ uno::Reference< sheet::XNamedRanges > xNamedRanges( xPropertySet->getPropertyValue(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "NamedRanges" )) ), uno::UNO_QUERY_THROW );
+
css::uno::Reference< excel::XNames > xNames ( new ScVbaNames( this , mxContext , xNamedRanges , xModel ) );
if ( aIndex.getValueTypeClass() == uno::TypeClass_VOID )
{
@@ -635,8 +635,8 @@ ScVbaApplication::getActiveSheet() throw (uno::RuntimeException)
if ( !result.is() )
{
// Fixme - check if this is reasonable/desired behavior
- throw uno::RuntimeException( rtl::OUString::createFromAscii(
- "No activeSheet available" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "No activeSheet available" )),
+ uno::Reference< uno::XInterface >() );
}
return result;
@@ -667,7 +667,7 @@ ScVbaApplication::GoTo( const uno::Any& Reference, const uno::Any& Scroll ) thro
bScroll = aScroll;
}
else
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "sencond parameter should be boolean" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "second parameter should be boolean" )),
uno::Reference< uno::XInterface >() );
}
@@ -709,11 +709,11 @@ ScVbaApplication::GoTo( const uno::Any& Reference, const uno::Any& Scroll ) thro
{
//maybe this should be a procedure name
//TODO for procedure name
- //browse::XBrowseNodeFactory is a singlton. OUString::createFromAscii( "/singletons/com.sun.star.script.browse.theBrowseNodeFactory")
+ //browse::XBrowseNodeFactory is a singlton. OUString(RTL_CONSTASCII_USTRINGPARAM( "/singletons/com.sun.star.script.browse.theBrowseNodeFactory"))
//and the createView( browse::BrowseNodeFactoryViewTypes::MACROSELECTOR ) to get a root browse::XBrowseNode.
//for query XInvocation interface.
//but how to directly get the XInvocation?
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "invalid reference for range name, it should be procedure name" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "invalid reference for range name, it should be procedure name" )),
uno::Reference< uno::XInterface >() );
}
return;
@@ -748,7 +748,7 @@ ScVbaApplication::GoTo( const uno::Any& Reference, const uno::Any& Scroll ) thro
}
return;
}
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "invalid reference or name" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "invalid reference or name" )),
uno::Reference< uno::XInterface >() );
}
@@ -864,7 +864,7 @@ ScVbaApplication::setVisible(sal_Bool /*bVisible*/) throw (uno::RuntimeException
{
}
-//liuchen 2009-11-25 add the support of Excel VBA Application.Iteration
+//add the support of Excel VBA Application.Iteration
//The Excel Iteration option is global and unique, but in Symphony there is an Iteration property in ScModule and one in every ScDocument,
//so the set method will set all the Iteration properties
sal_Bool SAL_CALL
@@ -886,7 +886,7 @@ ScVbaApplication::setIteration(sal_Bool bIteration) throw (uno::RuntimeException
uno::Any aIteration;
aIteration <<= bIteration;
- OUString aPropName = OUString::createFromAscii( "IsIterationEnabled" );
+ OUString aPropName(RTL_CONSTASCII_USTRINGPARAM( "IsIterationEnabled" ));
uno::Reference< XCollection > xWorkbooks( new ScVbaWorkbooks( this, mxContext ) );
sal_Int32 nCount = xWorkbooks->getCount();
@@ -903,9 +903,8 @@ ScVbaApplication::setIteration(sal_Bool bIteration) throw (uno::RuntimeException
xPropertySet->setPropertyValue( aPropName, aIteration );
}
}
-//liuchen 2009-11-25 end
-//liuchen 2009-11-26 add the support of Excel VBA Application.EnableCancelKey
+//add the support of Excel VBA Application.EnableCancelKey
sal_Int32 SAL_CALL
ScVbaApplication::getEnableCancelKey() throw (uno::RuntimeException)
{
@@ -916,7 +915,6 @@ void SAL_CALL
ScVbaApplication::setEnableCancelKey(sal_Int32 /*lEnableCancelKey*/) throw (uno::RuntimeException)
{
}
-//liuchen 2009-11-26 end
sal_Int32 SAL_CALL ScVbaApplication::getSheetsInNewWorkbook() throw (uno::RuntimeException)
{
@@ -928,7 +926,8 @@ void SAL_CALL ScVbaApplication::setSheetsInNewWorkbook( sal_Int32 SheetsInNewWor
{
if ( SheetsInNewWorkbook < 1 || SheetsInNewWorkbook > MAXTAB )
{
- DebugHelper::exception( OUString::createFromAscii("The number must be between 1 and 255"), uno::Exception(), SbERR_METHOD_FAILED, OUString() );
+ DebugHelper::exception( OUString(RTL_CONSTASCII_USTRINGPARAM("The number must be between 1 and 255")),
+ uno::Exception(), SbERR_METHOD_FAILED, OUString() );
}
else
{
@@ -951,7 +950,7 @@ uno::Reference< beans::XPropertySet > lcl_getPathSettingsService( const uno::Ref
if ( !xPathSettings.is() )
{
uno::Reference< lang::XMultiComponentFactory > xSMgr( xContext->getServiceManager(), uno::UNO_QUERY_THROW );
- xPathSettings.set( xSMgr->createInstanceWithContext(::rtl::OUString::createFromAscii("com.sun.star.util.PathSettings"), xContext), uno::UNO_QUERY_THROW );
+ xPathSettings.set( xSMgr->createInstanceWithContext( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.PathSettings")), xContext ), uno::UNO_QUERY_THROW );
}
return xPathSettings;
}
@@ -1173,12 +1172,12 @@ uno::Reference< excel::XRange > lclCreateVbaRange(
for( ListOfScRange::const_iterator aIt = rList.begin(), aEnd = rList.end(); aIt != aEnd; ++aIt )
aCellRanges.Append( *aIt );
- if( aCellRanges.Count() == 1 )
+ if( aCellRanges.size() == 1 )
{
- uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocShell, *aCellRanges.First() ) );
+ uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocShell, *aCellRanges.front() ) );
return new ScVbaRange( excel::getUnoSheetModuleObj( xRange ), rxContext, xRange );
}
- if( aCellRanges.Count() > 1 )
+ if( aCellRanges.size() > 1 )
{
uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( pDocShell, aCellRanges ) );
return new ScVbaRange( excel::getUnoSheetModuleObj( xRanges ), rxContext, xRanges );
@@ -1366,14 +1365,13 @@ ScVbaApplication::Caller( const uno::Any& /*aIndex*/ ) throw ( uno::RuntimeExcep
return aRet;
}
-//Add by minz@cn.ibm.com. 2009-07-08.
uno::Any SAL_CALL
ScVbaApplication::GetOpenFilename(const uno::Any& FileFilter, const uno::Any& FilterIndex, const uno::Any& Title, const uno::Any& ButtonText, const uno::Any& MultiSelect) throw (uno::RuntimeException)
{
uno::Any aRet = uno::makeAny( sal_False );
try
{
- const ::rtl::OUString sServiceName = ::rtl::OUString::createFromAscii( "com.sun.star.ui.dialogs.FilePicker" );
+ const rtl::OUString sServiceName = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ui.dialogs.FilePicker" ));
uno::Reference< lang::XMultiServiceFactory > xMSF( comphelper::getProcessServiceFactory(), uno::UNO_QUERY );
// Set the type of File Picker Dialog: TemplateDescription::FILEOPEN_SIMPLE.
uno::Sequence< uno::Any > aDialogType( 1 );
@@ -1405,7 +1403,8 @@ ScVbaApplication::GetOpenFilename(const uno::Any& FileFilter, const uno::Any& Fi
}
else if ( nCommaID < 0 && nIndex == 1 )
{
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Invalid FileFilter format!" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Invalid FileFilter format!" )),
+ uno::Reference< uno::XInterface >() );
}
xFilterManager->appendFilter( aFilterTitleToken, aFilterToken );
if ( nFilterIndex == nIndex )
@@ -1511,7 +1510,6 @@ ScVbaApplication::GetOpenFilename(const uno::Any& FileFilter, const uno::Any& Fi
return aRet;
}
-//liming 2009-7-17
::com::sun::star::uno::Reference< ::ooo::vba::XFileDialog > SAL_CALL
ScVbaApplication::getFileDialog() throw (::com::sun::star::uno::RuntimeException)
{
@@ -1521,14 +1519,13 @@ ScVbaApplication::getFileDialog() throw (::com::sun::star::uno::RuntimeException
typedef std::map< ::rtl::OUString, ::rtl::OUString > FileFilterMap;
-//2009-11-06 add by limingl
uno::Any SAL_CALL
ScVbaApplication::GetSaveAsFilename( const ::com::sun::star::uno::Any& InitialFilename, const ::com::sun::star::uno::Any& FileFilter, const ::com::sun::star::uno::Any& FilterIndex, const ::com::sun::star::uno::Any& Title, const ::com::sun::star::uno::Any& ButtonText ) throw (::com::sun::star::uno::RuntimeException)
{
uno::Any strRet;
try
{
- const ::rtl::OUString sServiceName = ::rtl::OUString::createFromAscii( "com.sun.star.ui.dialogs.FilePicker" );
+ const rtl::OUString sServiceName = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ui.dialogs.FilePicker" ));
uno::Reference< lang::XMultiServiceFactory > xMSF( comphelper::getProcessServiceFactory(), uno::UNO_QUERY );
uno::Sequence< uno::Any > aDialogType( 1 );
@@ -1568,7 +1565,8 @@ ScVbaApplication::GetSaveAsFilename( const ::com::sun::star::uno::Any& InitialFi
}
else if ( nCommaID < 0 && nIndex == 1 )
{
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Invalid FileFilter format!" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Invalid FileFilter format!" )),
+ uno::Reference< uno::XInterface >() );
}
FileFilterMap::const_iterator aIt = mFilterNameMap.find( aFilterTitleToken );
@@ -1633,7 +1631,7 @@ ScVbaApplication::GetSaveAsFilename( const ::com::sun::star::uno::Any& InitialFi
if ( sFileExtension.equalsAscii("") )
{
sFileExtension = sFirstFilter.equalsAscii("*.*") ? sFileExtension : sFirstFilter.copy( sFirstFilter.indexOfAsciiL("*.", 2) + 2 );
- aPathStr = sFileExtension.equalsAscii("") ? aPathStr : aPathStr + ::rtl::OUString::createFromAscii(".") + sFileExtension;
+ aPathStr = sFileExtension.equalsAscii("") ? aPathStr : aPathStr + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".")) + sFileExtension;
}
else
{
@@ -1646,7 +1644,7 @@ ScVbaApplication::GetSaveAsFilename( const ::com::sun::star::uno::Any& InitialFi
do
{
::rtl::OUString aFilterToken = sSelectedFilters.getToken( 0, ';' , nSemicolonID );
- if ( aFilterToken.trim().equalsIgnoreAsciiCase(::rtl::OUString::createFromAscii("*.") + sFileExtension) )
+ if ( aFilterToken.trim().equalsIgnoreAsciiCase( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*.")) + sFileExtension) )
{
bValidFilter = sal_True;
break;
@@ -1660,8 +1658,10 @@ ScVbaApplication::GetSaveAsFilename( const ::com::sun::star::uno::Any& InitialFi
}
if ( !bValidFilter )
{
- sFileExtension = sFirstFilter.equalsAscii("*.*") ? ::rtl::OUString::createFromAscii("") : sFirstFilter.copy( sFirstFilter.indexOfAsciiL("*.", 2) + 2 );
- aPathStr = sFileExtension.equalsAscii("") ? aPathStr : aPathStr + ::rtl::OUString::createFromAscii(".") + sFileExtension;
+ sFileExtension = sFirstFilter.equalsAscii("*.*") ? rtl::OUString()
+ : sFirstFilter.copy( sFirstFilter.indexOfAsciiL("*.", 2) + 2 );
+ aPathStr = sFileExtension.equalsAscii("") ? aPathStr
+ : aPathStr + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".")) + sFileExtension;
}
}
}
@@ -1698,39 +1698,39 @@ ScVbaApplication::MenuBars( const uno::Any& aIndex ) throw (uno::RuntimeExceptio
return uno::Any( xMenuBars );
}
-//liuchen 2009-11-26 add the support of Application.International
+//add the support of Application.International
sal_Int32 SAL_CALL
ConvertCountryCode(const OUString& language)
{
sal_Int32 nCode = 0;
- if( language == OUString::createFromAscii("ar") ) nCode = 966; // Arabic
- else if ( language == OUString::createFromAscii("cs") ) nCode = 42; // Czech
- else if ( language == OUString::createFromAscii("da") ) nCode = 45; // Danish
- else if ( language == OUString::createFromAscii("de") ) nCode = 49; // German
- else if ( language == OUString::createFromAscii("en") ) nCode = 1; // English
- else if ( language == OUString::createFromAscii("es") ) nCode = 34; // Spanish
- else if ( language == OUString::createFromAscii("el") ) nCode = 30; // Greek
- else if ( language == OUString::createFromAscii("fa") ) nCode = 98; // Persian = Farsi
- else if ( language == OUString::createFromAscii("fi") ) nCode = 358; // Finnish
- else if ( language == OUString::createFromAscii("fr") ) nCode = 33; // French
- else if ( language == OUString::createFromAscii("he") ) nCode = 972; // Hebrew
- else if ( language == OUString::createFromAscii("hi") ) nCode = 91; // Indian = Hindi
- else if ( language == OUString::createFromAscii("hu") ) nCode = 36; // Hungarian
- else if ( language == OUString::createFromAscii("it") ) nCode = 39; // Italian
- else if ( language == OUString::createFromAscii("ja") ) nCode = 81; // Japanese
- else if ( language == OUString::createFromAscii("ko") ) nCode = 82; // Korean
- else if ( language == OUString::createFromAscii("nl") ) nCode = 31; // Dutch
- else if ( language == OUString::createFromAscii("no") ) nCode = 47; // Norwegian
- else if ( language == OUString::createFromAscii("pl") ) nCode = 48; // Polish
- else if ( language == OUString::createFromAscii("pt") ) nCode = 351; // Portuguese
- else if ( language == OUString::createFromAscii("ru") ) nCode = 7; // Russian
- else if ( language == OUString::createFromAscii("sv") ) nCode = 46; // Swedish
- else if ( language == OUString::createFromAscii("th") ) nCode = 66; // Thai
- else if ( language == OUString::createFromAscii("tk") ) nCode = 90; // Turkish
- else if ( language == OUString::createFromAscii("ur") ) nCode = 92; // Urdu
- else if ( language == OUString::createFromAscii("vi") ) nCode = 84; // Vietnamese
- else if ( language == OUString::createFromAscii("zh") ) nCode = 86; // Simplified Chinese
+ if( language == OUString(RTL_CONSTASCII_USTRINGPARAM("ar")) ) nCode = 966; // Arabic
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("cs")) ) nCode = 42; // Czech
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("da")) ) nCode = 45; // Danish
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("de")) ) nCode = 49; // German
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("en")) ) nCode = 1; // English
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("es")) ) nCode = 34; // Spanish
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("el")) ) nCode = 30; // Greek
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("fa")) ) nCode = 98; // Persian = Farsi
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("fi")) ) nCode = 358; // Finnish
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("fr")) ) nCode = 33; // French
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("he")) ) nCode = 972; // Hebrew
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("hi")) ) nCode = 91; // Indian = Hindi
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("hu")) ) nCode = 36; // Hungarian
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("it")) ) nCode = 39; // Italian
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("ja")) ) nCode = 81; // Japanese
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("ko")) ) nCode = 82; // Korean
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("nl")) ) nCode = 31; // Dutch
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("no")) ) nCode = 47; // Norwegian
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("pl")) ) nCode = 48; // Polish
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("pt")) ) nCode = 351; // Portuguese
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("ru")) ) nCode = 7; // Russian
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("sv")) ) nCode = 46; // Swedish
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("th")) ) nCode = 66; // Thai
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("tk")) ) nCode = 90; // Turkish
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("ur")) ) nCode = 92; // Urdu
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("vi")) ) nCode = 84; // Vietnamese
+ else if ( language == OUString(RTL_CONSTASCII_USTRINGPARAM("zh")) ) nCode = 86; // Simplified Chinese
return nCode;
}
@@ -1759,9 +1759,7 @@ ScVbaApplication::International( sal_Int32 Index ) throw (uno::RuntimeException)
}
return aRet;
}
-//liuchen 2009-11-26 end
-//2009-12-11 add by limingl
void SAL_CALL ScVbaApplication::Undo( ) throw (::com::sun::star::uno::RuntimeException)
{
SfxAllItemSet reqList( SFX_APP()->GetPool() );
@@ -1773,7 +1771,6 @@ void SAL_CALL ScVbaApplication::Undo( ) throw (::com::sun::star::uno::RuntimeEx
pViewShell->ExecuteUndo(rReq);
}
}
-//end
double SAL_CALL ScVbaApplication::InchesToPoints( double Inches ) throw (uno::RuntimeException)
{
diff --git a/sc/source/ui/vba/vbaapplication.hxx b/sc/source/ui/vba/vbaapplication.hxx
index 6a5f655f0dbe..bc047b82c7b9 100644
--- a/sc/source/ui/vba/vbaapplication.hxx
+++ b/sc/source/ui/vba/vbaapplication.hxx
@@ -37,7 +37,6 @@
#include <vbahelper/vbaapplicationbase.hxx>
#include <cppuhelper/implbase1.hxx>
-//typedef InheritedHelperInterfaceImpl1< ov::excel::XApplication > ScVbaApplication_BASE;
typedef cppu::ImplInheritanceHelper1< VbaApplicationBase, ov::excel::XApplication > ScVbaApplication_BASE;
class ScVbaApplication : public ScVbaApplication_BASE
@@ -48,7 +47,7 @@ private:
sal_Bool m_bEnableEvents;
rtl::OUString getOfficePath( const rtl::OUString& sPath ) throw ( css::uno::RuntimeException );
- css::uno::Reference< ov::XFileSearch > m_xFileSearch; //
+ css::uno::Reference< ov::XFileSearch > m_xFileSearch;
protected:
virtual css::uno::Reference< css::frame::XModel > getCurrentDocument() throw (css::uno::RuntimeException);
@@ -91,7 +90,7 @@ public:
virtual void SAL_CALL setDisplayFormulaBar( ::sal_Bool _displayformulabar ) throw ( css::uno::RuntimeException );
virtual css::uno::Reference< ov::XAssistant > SAL_CALL getAssistant() throw (css::uno::RuntimeException);
- virtual css::uno::Reference< ov::XFileSearch > SAL_CALL getFileSearch() throw (css::uno::RuntimeException); //liuchen 2009-8-18 add the support of Application.FileSearch
+ virtual css::uno::Reference< ov::XFileSearch > SAL_CALL getFileSearch() throw (css::uno::RuntimeException); // add the support of Application.FileSearch
virtual css::uno::Reference< ov::excel::XWorkbook > SAL_CALL getThisWorkbook() throw (css::uno::RuntimeException);
virtual css::uno::Any SAL_CALL Workbooks( const css::uno::Any& aIndex ) throw (css::uno::RuntimeException);
virtual css::uno::Any SAL_CALL Worksheets( const css::uno::Any& aIndex ) throw (css::uno::RuntimeException);
@@ -108,10 +107,10 @@ public:
virtual sal_Bool SAL_CALL getVisible() throw (css::uno::RuntimeException);
virtual void SAL_CALL setVisible( sal_Bool bVisible ) throw (css::uno::RuntimeException);
- virtual sal_Bool SAL_CALL getIteration() throw (css::uno::RuntimeException); //liuchen 2009-11-25 add the support of Iteration
- virtual void SAL_CALL setIteration( sal_Bool bIteration ) throw (css::uno::RuntimeException); //liuchen 2009-11-25 add the support of Iteration
- virtual sal_Int32 SAL_CALL getEnableCancelKey() throw (css::uno::RuntimeException); //liuchen 2009-11-26 add the support of EnableCancelKey
- virtual void SAL_CALL setEnableCancelKey( sal_Int32 lEnableCancelKey ) throw (css::uno::RuntimeException); //liuchen 2009-11-26 add the support of EnableCancelKey
+ virtual sal_Bool SAL_CALL getIteration() throw (css::uno::RuntimeException); // add the support of Iteration
+ virtual void SAL_CALL setIteration( sal_Bool bIteration ) throw (css::uno::RuntimeException); // add the support of Iteration
+ virtual sal_Int32 SAL_CALL getEnableCancelKey() throw (css::uno::RuntimeException); // add the support of EnableCancelKey
+ virtual void SAL_CALL setEnableCancelKey( sal_Int32 lEnableCancelKey ) throw (css::uno::RuntimeException); // add the support of EnableCancelKey
virtual sal_Int32 SAL_CALL getSheetsInNewWorkbook() throw (css::uno::RuntimeException);
virtual void SAL_CALL setSheetsInNewWorkbook( sal_Int32 SheetsInNewWorkbook ) throw (css::script::BasicErrorException, css::uno::RuntimeException);
@@ -131,9 +130,8 @@ public:
virtual css::uno::Any SAL_CALL Caller( const css::uno::Any& aIndex ) throw (css::uno::RuntimeException);
virtual css::uno::Any SAL_CALL MenuBars( const css::uno::Any& aIndex ) throw (css::uno::RuntimeException);
virtual css::uno::Any SAL_CALL GetOpenFilename( const css::uno::Any& FileFilter, const css::uno::Any& FilterIndex, const css::uno::Any& Title, const css::uno::Any& ButtonText, const css::uno::Any& MultiSelect ) throw (css::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::ooo::vba::XFileDialog > SAL_CALL getFileDialog() throw (::com::sun::star::uno::RuntimeException); //liminl 2009-08-12 add
- virtual css::uno::Any SAL_CALL International( sal_Int32 Index ) throw (css::uno::RuntimeException); //liuchen 2009-11-26
- //2009-12-04 add by limingl
+ virtual ::com::sun::star::uno::Reference< ::ooo::vba::XFileDialog > SAL_CALL getFileDialog() throw (::com::sun::star::uno::RuntimeException);
+ virtual css::uno::Any SAL_CALL International( sal_Int32 Index ) throw (css::uno::RuntimeException);
virtual css::uno::Any SAL_CALL GetSaveAsFilename( const ::com::sun::star::uno::Any& InitialFilename, const ::com::sun::star::uno::Any& FileFilter, const ::com::sun::star::uno::Any& FilterIndex, const ::com::sun::star::uno::Any& Title, const ::com::sun::star::uno::Any& ButtonText ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL Undo( ) throw (::com::sun::star::uno::RuntimeException);
virtual double SAL_CALL InchesToPoints( double Inches ) throw (css::uno::RuntimeException);
diff --git a/sc/source/ui/vba/vbaassistant.cxx b/sc/source/ui/vba/vbaassistant.cxx
index 714bb783f3cb..126719c6fd56 100644
--- a/sc/source/ui/vba/vbaassistant.cxx
+++ b/sc/source/ui/vba/vbaassistant.cxx
@@ -38,12 +38,12 @@ using namespace ooo::vba;
using namespace ooo::vba::office::MsoAnimationType;
-ScVbaAssistant::ScVbaAssistant( const uno::Reference< XHelperInterface > xParent, const uno::Reference< uno::XComponentContext > xContext ): ScVbaAssistantImpl_BASE( xParent, xContext )
+ScVbaAssistant::ScVbaAssistant( const uno::Reference< XHelperInterface > xParent, const uno::Reference< uno::XComponentContext > xContext ): ScVbaAssistantImpl_BASE( xParent, xContext ),
+m_sName( RTL_CONSTASCII_USTRINGPARAM( "Clippit" ) )
{
m_bIsVisible = sal_False;
m_nPointsLeft = 795;
m_nPointsTop = 248;
- m_sName = rtl::OUString::createFromAscii( "Clippit" );
m_nAnimation = msoAnimationIdle;
}
diff --git a/sc/source/ui/vba/vbaaxes.cxx b/sc/source/ui/vba/vbaaxes.cxx
index eac7083a797c..9005ffdf6069 100644
--- a/sc/source/ui/vba/vbaaxes.cxx
+++ b/sc/source/ui/vba/vbaaxes.cxx
@@ -73,7 +73,7 @@ ScVbaAxes::createAxis( const uno::Reference< excel::XChart >& xChart, const uno:
{
ScVbaChart* pChart = static_cast< ScVbaChart* >( xChart.get() );
if ( !pChart )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Object failure, can't access chart implementation" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Object failure, can't access chart implementation" )), uno::Reference< uno::XInterface >() );
uno::Reference< beans::XPropertySet > xAxisPropertySet;
if (((nType == xlCategory) || (nType == xlSeriesAxis) || (nType == xlValue)))
@@ -169,7 +169,7 @@ ScVbaAxes::Item( const css::uno::Any& _nType, const css::uno::Any& _oAxisGroup)
sal_Int32 nAxisGroup = xlPrimary;
sal_Int32 nType = -1;
if ( !_nType.hasValue() || ( ( _nType >>= nType ) == sal_False ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Axes::Item Failed to extract type" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Axes::Item Failed to extract type" )), uno::Reference< uno::XInterface >() );
if ( _oAxisGroup.hasValue() )
_oAxisGroup >>= nAxisGroup ;
diff --git a/sc/source/ui/vba/vbaaxis.cxx b/sc/source/ui/vba/vbaaxis.cxx
index d51534264e38..3cab8e7cea53 100644
--- a/sc/source/ui/vba/vbaaxis.cxx
+++ b/sc/source/ui/vba/vbaaxis.cxx
@@ -47,7 +47,7 @@ ScVbaAxis::getChartPtr() throw( uno::RuntimeException )
{
ScVbaChart* pChart = static_cast< ScVbaChart* >( moChartParent.get() );
if ( !pChart )
- throw uno::RuntimeException( rtl::OUString::createFromAscii("Can't access parent chart impl"), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Can't access parent chart impl")), uno::Reference< uno::XInterface >() );
return pChart;
}
@@ -173,7 +173,6 @@ ScVbaAxis::getCrosses( ) throw (script::BasicErrorException, uno::RuntimeExcept
{
double forigin = 0.0;
mxPropertySet->getPropertyValue(ORIGIN) >>= forigin;
-//obsolete double fmax = AnyConverter.toDouble(mxPropertySet.getPropertyValue("Max"));
double fmin = 0.0;
mxPropertySet->getPropertyValue(VBA_MIN) >>= fmin;
if (forigin == fmin)
@@ -195,11 +194,9 @@ ScVbaAxis::setCrossesAt( double _fCrossesAt ) throw (script::BasicErrorException
{
try
{
-// if (getCrosses() == xlAxisCrossesCustom){
setMaximumScaleIsAuto( sal_False );
setMinimumScaleIsAuto( sal_False );
mxPropertySet->setPropertyValue(ORIGIN, uno::makeAny(_fCrossesAt));
-// }
}
catch (uno::Exception& e)
{
diff --git a/sc/source/ui/vba/vbachart.cxx b/sc/source/ui/vba/vbachart.cxx
index 705f79ed42f9..6e1459babd1f 100644
--- a/sc/source/ui/vba/vbachart.cxx
+++ b/sc/source/ui/vba/vbachart.cxx
@@ -96,7 +96,7 @@ ScVbaChart::getName() throw (css::uno::RuntimeException)
{
xProps->getPropertyValue( CHART_NAME ) >>= sName;
}
- catch( uno::Exception e ) // swallow exceptions
+ catch( uno::Exception & ) // swallow exceptions
{
}
return sName;
@@ -1035,7 +1035,6 @@ ScVbaChart::isSeriesIndexValid(sal_Int32 _seriesindex) throw( script::BasicError
try
{
uno::Reference< chart::XChartDataArray > xChartDataArray( mxChartDocument->getData(), uno::UNO_QUERY_THROW );
- // dblValues = xChartDataArray.getData();
//TODO I guess we have to differentiate between XlRowCol
if ( !xChartDataArray.is() )
{
@@ -1213,13 +1212,8 @@ ScVbaChart::getAxisPropertySet(sal_Int32 _nAxisType, sal_Int32 _nAxisGroup) thro
}
break;
case xlSeriesAxis:
-// if (_nAxisGroup == xlPrimary){
xAxisProps = xAxisZSupplier->getZAxis();
break;
-// }
-// else if (_nAxisGroup == xlSecondary){
- // return xTwoAxisXSupplier.getSecondaryZAxis();
- // }
case xlValue:
if (_nAxisGroup == xlPrimary)
xAxisProps = xAxisYSupplier->getYAxis();
diff --git a/sc/source/ui/vba/vbachart.hxx b/sc/source/ui/vba/vbachart.hxx
index a0cee5d04a29..581255d4c244 100644
--- a/sc/source/ui/vba/vbachart.hxx
+++ b/sc/source/ui/vba/vbachart.hxx
@@ -69,12 +69,11 @@ friend class ScVbaAxis;
bool hasMarkers() throw ( css::script::BasicErrorException );
sal_Int32 getMarkerType(sal_Int32 _nWithMarkers, sal_Int32 _nWithoutMarkers) throw ( css::script::BasicErrorException );
void assignDiagramAttributes();
- void setDefaultSeriesDescriptionLabels(){}
public:
ScVbaChart( const css::uno::Reference< ov::XHelperInterface >& _xParent, const css::uno::Reference< css::uno::XComponentContext >& _xContext, const css::uno::Reference< css::lang::XComponent >& _xChartComponent, const css::uno::Reference< css::table::XTableChart >& _xTableChart );
// Non-interface
- css::uno::Reference< css::beans::XPropertySet > xDiagramPropertySet() { return mxDiagramPropertySet; }
+ css::uno::Reference< css::beans::XPropertySet > xDiagramPropertySet() const { return mxDiagramPropertySet; }
bool isSeriesIndexValid(sal_Int32 _seriesindex) throw( css::script::BasicErrorException );
bool areIndicesValid(sal_Int32 _seriesindex, sal_Int32 _valindex) throw ( css::script::BasicErrorException );
void setSeriesName(sal_Int32 _index, rtl::OUString _sname) throw ( css::script::BasicErrorException );
diff --git a/sc/source/ui/vba/vbachartobject.cxx b/sc/source/ui/vba/vbachartobject.cxx
index eaa42d1cc309..f624f3f3f9e1 100644
--- a/sc/source/ui/vba/vbachartobject.cxx
+++ b/sc/source/ui/vba/vbachartobject.cxx
@@ -205,7 +205,7 @@ ScVbaChartObject::setTop(double _fTop)
}
uno::Reference< uno::XInterface >
-ScVbaChartObject::getUnoObject() throw (script::BasicErrorException)
+ScVbaChartObject::getUnoObject() const throw (script::BasicErrorException)
{
return uno::Reference< uno::XInterface >( xShape, uno::UNO_QUERY );
}
diff --git a/sc/source/ui/vba/vbachartobject.hxx b/sc/source/ui/vba/vbachartobject.hxx
index 73aa3d1fe119..45ba3e3ff213 100644
--- a/sc/source/ui/vba/vbachartobject.hxx
+++ b/sc/source/ui/vba/vbachartobject.hxx
@@ -75,7 +75,7 @@ public:
void setTop( double _ftop );
// should make this part of the XHelperInterface with a default
// implementation returning NULL
- css::uno::Reference< css::uno::XInterface > getUnoObject() throw ( css::script::BasicErrorException );
+ css::uno::Reference< css::uno::XInterface > getUnoObject() const throw ( css::script::BasicErrorException );
};
#endif //SC_VBA_WINDOW_HXX
diff --git a/sc/source/ui/vba/vbachartobjects.cxx b/sc/source/ui/vba/vbachartobjects.cxx
index b8706b233462..0ca3fa9112f2 100644
--- a/sc/source/ui/vba/vbachartobjects.cxx
+++ b/sc/source/ui/vba/vbachartobjects.cxx
@@ -83,10 +83,10 @@ ScVbaChartObjects::getChartObjectNames() throw( css::script::BasicErrorException
ScCellRangesBase* pUno= dynamic_cast< ScCellRangesBase* >( xIf.get() );
ScDocShell* pDocShell = NULL;
if ( !pUno )
- throw uno::RuntimeException( rtl::OUString::createFromAscii("Failed to obtain the impl class from the drawpage"), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Failed to obtain the impl class from the drawpage")), uno::Reference< uno::XInterface >() );
pDocShell = pUno->GetDocShell();
if ( !pDocShell )
- throw uno::RuntimeException( rtl::OUString::createFromAscii("Failed to obtain the docshell implclass"), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Failed to obtain the docshell implclass")), uno::Reference< uno::XInterface >() );
uno::Reference< sheet::XSpreadsheetDocument > xSpreadsheetDocument( pDocShell->GetModel(), uno::UNO_QUERY_THROW );
uno::Reference< sheet::XSpreadsheets > xSpreadsheets = xSpreadsheetDocument->getSheets();
diff --git a/sc/source/ui/vba/vbadialog.cxx b/sc/source/ui/vba/vbadialog.cxx
index 7b2a0edb4103..493d6b89db2f 100644
--- a/sc/source/ui/vba/vbadialog.cxx
+++ b/sc/source/ui/vba/vbadialog.cxx
@@ -32,7 +32,6 @@
using namespace ::ooo::vba;
using namespace ::com::sun::star;
-//liuchen 2009-7-27
//solve the problem that "Application.Dialogs.Item(***).Show" and "Application.Dialogs.Count" cannot get the correct result
struct DialogMatch
{
@@ -72,7 +71,6 @@ static const DialogMatch aDialogMatchList[] =
const sal_Int32 nDialogSize = SAL_N_ELEMENTS( aDialogMatchList ) ;
-//liuchen modified 2009-2-27
rtl::OUString
ScVbaDialog::mapIndexToName( sal_Int32 nIndex )
{
@@ -106,7 +104,6 @@ ScVbaDialog::getServiceNames()
return aServiceNames;
}
-//liuchen add 2009-7-27
sal_Int32 ScVbaDialog::GetSupportedDialogCount()
{
return nDialogSize;
diff --git a/sc/source/ui/vba/vbadialog.hxx b/sc/source/ui/vba/vbadialog.hxx
index da733ce92247..9a336937a7c1 100644
--- a/sc/source/ui/vba/vbadialog.hxx
+++ b/sc/source/ui/vba/vbadialog.hxx
@@ -47,7 +47,6 @@ public:
virtual rtl::OUString& getServiceImplName();
virtual css::uno::Sequence<rtl::OUString> getServiceNames();
- //liuchen 2009-7-27
static sal_Int32 GetSupportedDialogCount();
};
diff --git a/sc/source/ui/vba/vbadialogs.cxx b/sc/source/ui/vba/vbadialogs.cxx
index 361d1a45329c..c64babea9069 100644
--- a/sc/source/ui/vba/vbadialogs.cxx
+++ b/sc/source/ui/vba/vbadialogs.cxx
@@ -65,7 +65,6 @@ ScVbaDialogs::getServiceNames()
return aServiceNames;
}
-//liuchen 2009-7-27
::sal_Int32
ScVbaDialogs::getCount() throw (uno::RuntimeException)
{
diff --git a/sc/source/ui/vba/vbadialogs.hxx b/sc/source/ui/vba/vbadialogs.hxx
index ff4e1553f52f..70c818fa0031 100644
--- a/sc/source/ui/vba/vbadialogs.hxx
+++ b/sc/source/ui/vba/vbadialogs.hxx
@@ -45,7 +45,7 @@ public:
// XCollection
virtual css::uno::Any SAL_CALL Item( const css::uno::Any& Index ) throw (css::uno::RuntimeException);
- virtual ::sal_Int32 SAL_CALL getCount() throw (css::uno::RuntimeException); //liuchen 2009-7-27
+ virtual ::sal_Int32 SAL_CALL getCount() throw (css::uno::RuntimeException);
// XDialogs
virtual void SAL_CALL Dummy() throw (css::uno::RuntimeException);
diff --git a/sc/source/ui/vba/vbaeventshelper.cxx b/sc/source/ui/vba/vbaeventshelper.cxx
index 5e9eab58e8c4..7cbcc8592721 100644
--- a/sc/source/ui/vba/vbaeventshelper.cxx
+++ b/sc/source/ui/vba/vbaeventshelper.cxx
@@ -314,7 +314,7 @@ void SAL_CALL ScVbaEventsListener::changesOccurred( const util::ChangesEvent& aE
}
}
- if( (aRangeList.Count() > 0) && mpDocShell )
+ if( ( !aRangeList.empty() ) && mpDocShell )
{
uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( mpDocShell, aRangeList ) );
uno::Sequence< uno::Any > aArgs(1);
@@ -680,7 +680,7 @@ bool ScVbaEventsHelper::isSelectionChanged( const uno::Sequence< uno::Any >& rAr
maOldSelection = pNewCellRanges->GetRangeList();
return bChanged;
}
- maOldSelection.Clear();
+ maOldSelection.RemoveAll();
return true;
}
diff --git a/sc/source/ui/vba/vbafiledialog.cxx b/sc/source/ui/vba/vbafiledialog.cxx
index 482e6ab2d5e1..b08f336f2af9 100644
--- a/sc/source/ui/vba/vbafiledialog.cxx
+++ b/sc/source/ui/vba/vbafiledialog.cxx
@@ -90,7 +90,7 @@ ScVbaFileDialog::Show( ) throw (::com::sun::star::uno::RuntimeException)
{
m_sSelectedItems.realloc(0);
- const ::rtl::OUString sServiceName = ::rtl::OUString::createFromAscii( "com.sun.star.ui.dialogs.FilePicker" );
+ const ::rtl::OUString sServiceName(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ui.dialogs.FilePicker" ));
Reference< lang::XMultiServiceFactory > xMSF( comphelper::getProcessServiceFactory(), uno::UNO_QUERY );
// Set the type of File Picker Dialog: TemplateDescription::FILEOPEN_SIMPLE.
diff --git a/sc/source/ui/vba/vbafilesearch.cxx b/sc/source/ui/vba/vbafilesearch.cxx
index 6df035c21c2b..a6d41d03f491 100644
--- a/sc/source/ui/vba/vbafilesearch.cxx
+++ b/sc/source/ui/vba/vbafilesearch.cxx
@@ -56,7 +56,7 @@ static Reference< XSimpleFileAccess3 > getFileAccess( void )
if( xSMgr.is() )
{
xSFI = Reference< XSimpleFileAccess3 >( xSMgr->createInstance
- ( ::rtl::OUString::createFromAscii( "com.sun.star.ucb.SimpleFileAccess" ) ), UNO_QUERY );
+ ( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ucb.SimpleFileAccess" )) ), UNO_QUERY );
}
}
return xSFI;
@@ -171,7 +171,7 @@ sal_Int32 SAL_CALL ScVbaFileSearch::Execute( ) throw (css::uno::RuntimeExceptio
return 0;
}
- if ( m_sFileName == ::rtl::OUString::createFromAscii( "" ) )
+ if ( m_sFileName == ::rtl::OUString() )
{
return 1;
}
@@ -180,15 +180,15 @@ sal_Int32 SAL_CALL ScVbaFileSearch::Execute( ) throw (css::uno::RuntimeExceptio
if ( IsWildCard( aTempFileName ) )
{
bool bEndWithAsterisk = aTempFileName.endsWithAsciiL("*", 1);
- bool bStartWithAsterisk = (aTempFileName.indexOf(::rtl::OUString::createFromAscii("*")) == 0);
+ bool bStartWithAsterisk = (aTempFileName.indexOf(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*"))) == 0);
if ( !bEndWithAsterisk && !bStartWithAsterisk )
{
- aTempFileName = ::rtl::OUString::createFromAscii("*") + aTempFileName + ::rtl::OUString::createFromAscii("*");
+ aTempFileName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*")); + aTempFileName + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*"));
}
}
else
{
- aTempFileName = ::rtl::OUString::createFromAscii("*") + aTempFileName + ::rtl::OUString::createFromAscii("*");
+ aTempFileName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*")); + aTempFileName + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*"));
}
WildCard wildCard( aTempFileName );
SearchWildCard( wildCard, m_sLookIn, m_bSearchSubFolders, m_aSearchedFiles );
@@ -196,7 +196,7 @@ sal_Int32 SAL_CALL ScVbaFileSearch::Execute( ) throw (css::uno::RuntimeExceptio
return m_aSearchedFiles.getLength();
}
-//liuchen 2009-11-5 set ScVbaApplication::getDefaultFilePath( ) as the InitPath for FileSearch
+// set ScVbaApplication::getDefaultFilePath( ) as the InitPath for FileSearch
::rtl::OUString ScVbaFileSearch::getInitPath() throw (css::uno::RuntimeException)
{
String aPath;
@@ -211,7 +211,7 @@ sal_Int32 SAL_CALL ScVbaFileSearch::Execute( ) throw (css::uno::RuntimeExceptio
void SAL_CALL ScVbaFileSearch::NewSearch( ) throw (css::uno::RuntimeException)
{
- m_sFileName = ::rtl::OUString::createFromAscii( "" );
+ m_sFileName = ::rtl::OUString();
m_sLookIn = getInitPath();
m_bSearchSubFolders = false;
m_bMatchTextExactly = false;
diff --git a/sc/source/ui/vba/vbaformatconditions.hxx b/sc/source/ui/vba/vbaformatconditions.hxx
index dea8f4c45a62..192f9cdc5005 100644
--- a/sc/source/ui/vba/vbaformatconditions.hxx
+++ b/sc/source/ui/vba/vbaformatconditions.hxx
@@ -50,7 +50,7 @@ public:
rtl::OUString getA1Formula(const css::uno::Any& _aFormula) throw ( css::script::BasicErrorException );
rtl::OUString getStyleName();
void removeFormatCondition( const rtl::OUString& _sStyleName, sal_Bool _bRemoveStyle) throw ( css::script::BasicErrorException );
- css::uno::Reference< css::sheet::XSheetConditionalEntries > getSheetConditionalEntries() { return mxSheetConditionalEntries; }
+ css::uno::Reference< css::sheet::XSheetConditionalEntries > getSheetConditionalEntries() const { return mxSheetConditionalEntries; }
// XFormatConditions
virtual void SAL_CALL Delete( ) throw (css::script::BasicErrorException, css::uno::RuntimeException);
virtual css::uno::Reference< ov::excel::XFormatCondition > SAL_CALL Add( ::sal_Int32 Type, const css::uno::Any& Operator, const css::uno::Any& Formula1, const css::uno::Any& Formula2 ) throw (css::script::BasicErrorException, css::uno::RuntimeException);
diff --git a/sc/source/ui/vba/vbaglobals.cxx b/sc/source/ui/vba/vbaglobals.cxx
index e37a2bb933c0..59b8108858d5 100644
--- a/sc/source/ui/vba/vbaglobals.cxx
+++ b/sc/source/ui/vba/vbaglobals.cxx
@@ -57,7 +57,7 @@ ScVbaGlobals::ScVbaGlobals( uno::Sequence< uno::Any > const& aArgs, uno::Referen
OSL_TRACE("ScVbaGlobals::ScVbaGlobals()");
uno::Sequence< beans::PropertyValue > aInitArgs( 2 );
- aInitArgs[ 0 ].Name = rtl::OUString::createFromAscii("Application");
+ aInitArgs[ 0 ].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Application"));
aInitArgs[ 0 ].Value = uno::makeAny( getApplication() );
aInitArgs[ 1 ].Name = sDocCtxName;
aInitArgs[ 1 ].Value = uno::makeAny( getXSomethingFromArgs< frame::XModel >( aArgs, 0 ) );
@@ -101,8 +101,8 @@ ScVbaGlobals::getActiveWorkbook() throw (uno::RuntimeException)
return xWorkbook;
}
// FIXME check if this is correct/desired behavior
- throw uno::RuntimeException( rtl::OUString::createFromAscii(
- "No activeWorkbook available" ), Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "No activeWorkbook available" )), Reference< uno::XInterface >() );
}
diff --git a/sc/source/ui/vba/vbahelper.cxx b/sc/source/ui/vba/vbahelper.cxx
index 62d71a08f4fc..8178608eb3af 100644
--- a/sc/source/ui/vba/vbahelper.cxx
+++ b/sc/source/ui/vba/vbahelper.cxx
@@ -82,7 +82,7 @@ getIntrospectionAccess( const uno::Any& aObject ) throw (uno::RuntimeException)
if( !xIntrospection.is() )
{
uno::Reference< lang::XMultiServiceFactory > xFactory( comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
- xIntrospection.set( xFactory->createInstance( rtl::OUString::createFromAscii("com.sun.star.beans.Introspection") ), uno::UNO_QUERY_THROW );
+ xIntrospection.set( xFactory->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.beans.Introspection") ) ), uno::UNO_QUERY_THROW );
}
return xIntrospection->inspect( aObject );
}
@@ -279,7 +279,7 @@ getCurrentDocument() throw (uno::RuntimeException)
// test if vba service is present
uno::Reference< uno::XComponentContext > xCtx( xProps->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultContext" ))), uno::UNO_QUERY_THROW );
uno::Reference<lang::XMultiComponentFactory > xSMgr( xCtx->getServiceManager(), uno::UNO_QUERY_THROW );
- uno::Reference< frame::XDesktop > xDesktop (xSMgr->createInstanceWithContext(::rtl::OUString::createFromAscii("com.sun.star.frame.Desktop"), xCtx), uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop > xDesktop (xSMgr->createInstanceWithContext(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")), xCtx), uno::UNO_QUERY_THROW );
xModel.set( xDesktop->getCurrentComponent(), uno::UNO_QUERY );
if ( !xModel.is() )
{
@@ -531,7 +531,7 @@ rtl::OUString getAnyAsString( const uno::Any& pvargItem ) throw ( uno::RuntimeEx
break;
}
default:
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Invalid type, can't convert" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Invalid type, can't convert" ) ), uno::Reference< uno::XInterface >() );
}
return sString;
}
diff --git a/sc/source/ui/vba/vbahyperlinks.cxx b/sc/source/ui/vba/vbahyperlinks.cxx
index 083607ff345d..85c6ae6c218c 100644
--- a/sc/source/ui/vba/vbahyperlinks.cxx
+++ b/sc/source/ui/vba/vbahyperlinks.cxx
@@ -46,11 +46,11 @@ namespace {
bool lclContains( const ScRangeList& rScOuter, const uno::Reference< excel::XRange >& rxInner ) throw (uno::RuntimeException)
{
const ScRangeList& rScInner = ScVbaRange::getScRangeList( rxInner );
- if( (rScInner.Count() == 0) || (rScOuter.Count() == 0) )
+ if( (rScInner.size() == 0) || (rScOuter.size() == 0) )
throw uno::RuntimeException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Empty range objects" ) ), uno::Reference< uno::XInterface >() );
- for( ULONG nIndex = 0, nCount = rScInner.Count(); nIndex < nCount; ++nIndex )
- if( !rScOuter.In( *rScInner.GetObject( nIndex ) ) )
+ for( size_t nIndex = 0, nCount = rScInner.size(); nIndex < nCount; ++nIndex )
+ if( !rScOuter.In( *rScInner[ nIndex ] ) )
return false;
return true;
}
@@ -97,7 +97,7 @@ bool EqualAnchorFunctor::operator()( const uno::Reference< excel::XHyperlink >&
uno::Reference< excel::XRange > xAnchorRange( rxHlink->getRange(), uno::UNO_QUERY_THROW );
const ScRangeList& rScRanges1 = ScVbaRange::getScRangeList( xAnchorRange );
const ScRangeList& rScRanges2 = ScVbaRange::getScRangeList( mxAnchorRange );
- return (rScRanges1.Count() == 1) && (rScRanges2.Count() == 1) && (*rScRanges1.GetObject( 0 ) == *rScRanges2.GetObject( 0 ));
+ return (rScRanges1.size() == 1) && (rScRanges2.size() == 1) && (*rScRanges1[ 0 ] == *rScRanges2[ 0 ]);
}
case office::MsoHyperlinkType::msoHyperlinkShape:
case office::MsoHyperlinkType::msoHyperlinkInlineShape:
diff --git a/sc/source/ui/vba/vbainterior.cxx b/sc/source/ui/vba/vbainterior.cxx
index 733f394fabd4..58675d860a66 100644
--- a/sc/source/ui/vba/vbainterior.cxx
+++ b/sc/source/ui/vba/vbainterior.cxx
@@ -43,13 +43,13 @@
#include <map>
+#include <sal/macros.h>
#include <svx/xtable.hxx>
#include "vbainterior.hxx"
#include "vbapalette.hxx"
#include "document.hxx"
-#define STATIC_TABLE_SIZE( array ) (sizeof(array)/sizeof(*(array)))
#define COLORMAST 0xFFFFFF
const sal_uInt16 EXC_COLOR_WINDOWBACK = 65;
typedef std::map< sal_Int32, sal_Int32 > PatternMap;
@@ -92,7 +92,6 @@ static PatternMap aPatternMap( lcl_getPatternMap() );
ScVbaInterior::ScVbaInterior( const uno::Reference< XHelperInterface >& xParent, const uno::Reference< uno::XComponentContext >& xContext, const uno::Reference< beans::XPropertySet >& xProps, ScDocument* pScDoc ) throw ( lang::IllegalArgumentException) : ScVbaInterior_BASE( xParent, xContext ), m_xProps(xProps), m_pScDoc( pScDoc )
{
// auto color
- //m_aPattColor.SetColor( (sal_uInt32)0xFFFFFFFF );
m_aPattColor.SetColor( (sal_uInt32)0x0 );
m_nPattern = 0L;
if ( !m_xProps.is() )
@@ -113,7 +112,6 @@ ScVbaInterior::setColor( const uno::Any& _color ) throw (uno::RuntimeException)
if( _color >>= nColor )
{
SetUserDefinedAttributes( BACKCOLOR, SetAttributeData( XLRGBToOORGB( nColor ) ) );
- //m_xProps->setPropertyValue( BACKCOLOR , XLRGBToOORGB(_color));
SetMixedColor();
}
}
@@ -240,7 +238,7 @@ ScVbaInterior::GetPatternColor( const Color& rPattColor, const Color& rBackColor
0x40, 0x40, 0x20, 0x60, 0x60, 0x60, 0x60, 0x48, // 08 - 15
0x50, 0x70, 0x78 // 16 - 18
};
- return ( nXclPattern < STATIC_TABLE_SIZE( pnRatioTable ) ) ?
+ return ( nXclPattern < SAL_N_ELEMENTS( pnRatioTable ) ) ?
GetMixedColor( rPattColor, rBackColor, pnRatioTable[ nXclPattern ] ) : rPattColor;
}
Color
@@ -253,7 +251,7 @@ ScVbaInterior::GetMixedColor( const Color& rFore, const Color& rBack, sal_uInt8
GetMixedColorComp( rFore.GetBlue(), rBack.GetBlue(), nTrans ));
}
sal_uInt8
-ScVbaInterior::GetMixedColorComp( sal_uInt8 nFore, sal_uInt8 nBack, sal_uInt8 nTrans )
+ScVbaInterior::GetMixedColorComp( sal_uInt8 nFore, sal_uInt8 nBack, sal_uInt8 nTrans ) const
{
sal_uInt32 nTemp = ((static_cast< sal_Int32 >( nBack ) - nFore) * nTrans) / 0x80 + nFore;
return static_cast< sal_uInt8 >( nTemp );
@@ -261,7 +259,7 @@ ScVbaInterior::GetMixedColorComp( sal_uInt8 nFore, sal_uInt8 nBack, sal_uInt8 n
uno::Reference< container::XNameContainer >
ScVbaInterior::GetAttributeContainer()
{
- return uno::Reference < container::XNameContainer > ( m_xProps->getPropertyValue( rtl::OUString::createFromAscii( "UserDefinedAttributes" ) ), uno::UNO_QUERY_THROW );
+ return uno::Reference < container::XNameContainer > ( m_xProps->getPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "UserDefinedAttributes" )) ), uno::UNO_QUERY_THROW );
}
sal_Int32
ScVbaInterior::GetAttributeData( uno::Any aValue )
@@ -277,8 +275,7 @@ uno::Any
ScVbaInterior::SetAttributeData( sal_Int32 nValue )
{
xml::AttributeData aAttributeData;
- //aAttributeData.Namespace = rtl::OUString::createFromAscii( "ooo.vba.excel.CellPatten");
- aAttributeData.Type = rtl::OUString::createFromAscii( "sal_Int32" );
+ aAttributeData.Type = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "sal_Int32" ));
aAttributeData.Value = rtl::OUString::valueOf( nValue );
return uno::makeAny( aAttributeData );
}
@@ -301,7 +298,7 @@ ScVbaInterior::SetUserDefinedAttributes( const rtl::OUString& sName, const uno::
if( xNameContainer->hasByName( sName ) )
xNameContainer->removeByName( sName );
xNameContainer->insertByName( sName, aValue );
- m_xProps->setPropertyValue( rtl::OUString::createFromAscii( "UserDefinedAttributes" ), uno::makeAny( xNameContainer ) );
+ m_xProps->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "UserDefinedAttributes" )), uno::makeAny( xNameContainer ) );
}
}
// OOo do not support below API
@@ -323,7 +320,7 @@ ScVbaInterior::setPattern( const uno::Any& _pattern ) throw (uno::RuntimeExcepti
SetMixedColor();
}
else
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Invalid Pattern index" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Invalid Pattern index" )), uno::Reference< uno::XInterface >() );
}
Color
ScVbaInterior::GetBackColor()
@@ -371,7 +368,7 @@ ScVbaInterior::setPatternColor( const uno::Any& _patterncolor ) throw (uno::Runt
SetMixedColor();
}
else
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Invalid Pattern Color" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Invalid Pattern Color" )), uno::Reference< uno::XInterface >() );
}
uno::Any SAL_CALL
ScVbaInterior::getPatternColorIndex() throw (uno::RuntimeException)
@@ -394,7 +391,7 @@ ScVbaInterior::setPatternColorIndex( const uno::Any& _patterncolorindex ) throw
setPatternColor( uno::makeAny( OORGBToXLRGB( nPattColor ) ) );
}
else
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Invalid Pattern Color" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Invalid Pattern Color" )), uno::Reference< uno::XInterface >() );
}
rtl::OUString&
diff --git a/sc/source/ui/vba/vbainterior.hxx b/sc/source/ui/vba/vbainterior.hxx
index 72b0f3748ffe..9dfb14646487 100644
--- a/sc/source/ui/vba/vbainterior.hxx
+++ b/sc/source/ui/vba/vbainterior.hxx
@@ -58,7 +58,7 @@ class ScVbaInterior : public ScVbaInterior_BASE
protected:
Color GetPatternColor( const Color& rPattColor, const Color& rBackColor, sal_uInt32 nXclPattern );
Color GetMixedColor( const Color& rFore, const Color& rBack, sal_uInt8 nTrans );
- sal_uInt8 GetMixedColorComp( sal_uInt8 nFore, sal_uInt8 nBack, sal_uInt8 nTrans );
+ sal_uInt8 GetMixedColorComp( sal_uInt8 nFore, sal_uInt8 nBack, sal_uInt8 nTrans ) const;
css::uno::Any GetIndexColor( const sal_Int32& nColorIndex );
sal_Int32 GetColorIndex( const sal_Int32 nColor );
css::uno::Any GetUserDefinedAttributes( const rtl::OUString& sName );
diff --git a/sc/source/ui/vba/vbamenubars.cxx b/sc/source/ui/vba/vbamenubars.cxx
index 4dfaefcddda4..1c06e737bdd2 100644
--- a/sc/source/ui/vba/vbamenubars.cxx
+++ b/sc/source/ui/vba/vbamenubars.cxx
@@ -107,7 +107,7 @@ ScVbaMenuBars::Item( const uno::Any& aIndex, const uno::Any& /*aIndex2*/ ) throw
if( nIndex == excel::XlSheetType::xlWorksheet )
{
uno::Any aSource;
- aSource <<= rtl::OUString::createFromAscii( "Worksheet Menu Bar" );
+ aSource <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Worksheet Menu Bar" ));
uno::Reference< XCommandBar > xCommandBar( m_xCommandBars->Item( aSource, uno::Any() ), uno::UNO_QUERY_THROW );
uno::Reference< excel::XMenuBar > xMenuBar( new ScVbaMenuBar( this, mxContext, xCommandBar ) );
return uno::makeAny( xMenuBar );
diff --git a/sc/source/ui/vba/vbaname.cxx b/sc/source/ui/vba/vbaname.cxx
index 71d42038f89b..fab19796ced9 100644
--- a/sc/source/ui/vba/vbaname.cxx
+++ b/sc/source/ui/vba/vbaname.cxx
@@ -70,8 +70,6 @@ ScVbaName::getWorkSheet() throw (css::uno::RuntimeException)
ScVbaName::getName() throw (css::uno::RuntimeException)
{
String sName;
- //sName += UniString( getWorkSheet()->getName()); //liuchen 2009-9-9 resolve the defect that the name get by macro code are not the same with that in UI (for example, if a name of "AA" is found in the UI "Define Names" dialog box, the result of get that name through macro code will be "Sheet1!AA")
- //sName += String::CreateFromAscii("!");
sName += UniString ( mxNamedRange->getName() );
return ::rtl::OUString( sName );
}
@@ -125,7 +123,7 @@ ScVbaName::getValue(const formula::FormulaGrammar::Grammar eGrammar) throw (css:
}
if ( sValue.indexOf('=') != 0 )
{
- sValue = rtl::OUString::createFromAscii("=") + sValue;
+ sValue = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("=")) + sValue;
}
return sValue;
}
diff --git a/sc/source/ui/vba/vbanames.cxx b/sc/source/ui/vba/vbanames.cxx
index bee4fbb58856..8379ebafcbc4 100644
--- a/sc/source/ui/vba/vbanames.cxx
+++ b/sc/source/ui/vba/vbanames.cxx
@@ -81,10 +81,10 @@ ScVbaNames::getScDocument()
uno::Reference< frame::XModel > xModel( getModel() , uno::UNO_QUERY_THROW );
ScTabViewShell * pTabViewShell = excel::getBestViewShell( xModel );
if ( !pTabViewShell )
- throw uno::RuntimeException( rtl::OUString::createFromAscii("No ViewShell available"), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("No ViewShell available")), uno::Reference< uno::XInterface >() );
ScViewData* pViewData = pTabViewShell->GetViewData();
if ( !pViewData )
- throw uno::RuntimeException( rtl::OUString::createFromAscii("No ViewData available"), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("No ViewData available")), uno::Reference< uno::XInterface >() );
return pViewData->GetDocument();
}
@@ -156,7 +156,7 @@ ScVbaNames::Add( const css::uno::Any& Name ,
sResult = sName.copy( nIndex );
sName = sResult ;
if ( !ScRangeData::IsNameValid( sName , getScDocument() ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii("This Name is a invalid ."), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("This Name is a invalid .")), uno::Reference< uno::XInterface >() );
}
}
if ( RefersTo.hasValue() || RefersToR1C1.hasValue() || RefersToR1C1Local.hasValue() )
diff --git a/sc/source/ui/vba/vbaoleobject.cxx b/sc/source/ui/vba/vbaoleobject.cxx
index ebf87bf5275d..05cc60de33d7 100644
--- a/sc/source/ui/vba/vbaoleobject.cxx
+++ b/sc/source/ui/vba/vbaoleobject.cxx
@@ -38,18 +38,6 @@
using namespace com::sun::star;
using namespace ooo::vba;
-
-sal_Int32 pt2mm( double pt ) //1/100mm
-{
- return static_cast<sal_Int32>(pt * 0.352778);
-}
-
-double mm2pt( sal_Int32 mm )
-{
- return mm * 2.8345;
-}
-
-
ScVbaOLEObject::ScVbaOLEObject( const uno::Reference< XHelperInterface >& xParent, const uno::Reference< uno::XComponentContext >& xContext,
css::uno::Reference< css::drawing::XControlShape > xControlShape )
: OLEObjectImpl_BASE( xParent, xContext ), m_xControlShape( xControlShape )
diff --git a/sc/source/ui/vba/vbaoutline.cxx b/sc/source/ui/vba/vbaoutline.cxx
index b42d81052d15..caf506cdf73b 100644
--- a/sc/source/ui/vba/vbaoutline.cxx
+++ b/sc/source/ui/vba/vbaoutline.cxx
@@ -32,9 +32,9 @@ using namespace ::ooo::vba;
void
ScVbaOutline::ShowLevels( const uno::Any& RowLevels, const uno::Any& ColumnLevels ) throw (uno::RuntimeException)
{
- sal_Int16 nLevel = 0;
if (mxOutline.is())
{
+ sal_Int16 nLevel = 0;
if (RowLevels >>= nLevel)
{
mxOutline->showLevel(nLevel, table::TableOrientation_ROWS);
diff --git a/sc/source/ui/vba/vbapagebreaks.cxx b/sc/source/ui/vba/vbapagebreaks.cxx
index e6c83ed618c7..d8a574d5837d 100644
--- a/sc/source/ui/vba/vbapagebreaks.cxx
+++ b/sc/source/ui/vba/vbapagebreaks.cxx
@@ -117,7 +117,7 @@ sal_Int32 SAL_CALL RangePageBreaks::getCount( ) throw (uno::RuntimeException)
{
sal_Int32 nPos = aTablePageBreakData[i].Position;
- // VBA. minz@cn.ibm.com. All page breaks before the used range should be counted.
+ // All page breaks before the used range should be counted.
// And the page break at the end of the used range also should be counted.
if( nPos <= nUsedEnd + 1 )
nCount++;
@@ -154,7 +154,7 @@ sheet::TablePageBreakData RangePageBreaks::getTablePageBreakData( sal_Int32 nAPI
uno::Sequence<sheet::TablePageBreakData> aTablePageBreakDataList = getAllPageBreaks();
sal_Int32 nLength = aTablePageBreakDataList.getLength();
- //VBA. minz@cn.ibm.com. No need to filter the page break. All page breaks before the used range are counted.
+ // No need to filter the page break. All page breaks before the used range are counted.
if ( nAPIItemIndex < nLength && nAPIItemIndex>=0 )
aTablePageBreakData = aTablePageBreakDataList[nAPIItemIndex];
diff --git a/sc/source/ui/vba/vbapagesetup.cxx b/sc/source/ui/vba/vbapagesetup.cxx
index c80e407fb532..f03ee70b9231 100644
--- a/sc/source/ui/vba/vbapagesetup.cxx
+++ b/sc/source/ui/vba/vbapagesetup.cxx
@@ -101,7 +101,7 @@ void SAL_CALL ScVbaPageSetup::setPrintArea( const rtl::OUString& rAreas ) throw
{
uno::Reference< sheet::XPrintAreas > xPrintAreas( mxSheet, uno::UNO_QUERY_THROW );
if( rAreas.getLength() == 0 ||
- rAreas.equalsIgnoreAsciiCase ( rtl::OUString::createFromAscii("FALSE") ) )
+ rAreas.equalsIgnoreAsciiCase ( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FALSE")) ) )
{
// print the whole sheet
uno::Sequence< table::CellRangeAddress > aSeq;
@@ -113,10 +113,10 @@ void SAL_CALL ScVbaPageSetup::setPrintArea( const rtl::OUString& rAreas ) throw
ScRange aRange;
if( getScRangeListForAddress( rAreas, excel::getDocShell( mxModel ) , aRange, aCellRanges ) )
{
- uno::Sequence< table::CellRangeAddress > aSeq( aCellRanges.Count() );
- USHORT i=0;
- for( ScRange* pRange = aCellRanges.First(); pRange; pRange = aCellRanges.Next() )
+ uno::Sequence< table::CellRangeAddress > aSeq( aCellRanges.size() );
+ for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i )
{
+ ScRange* pRange = aCellRanges[ i ];
table::CellRangeAddress aRangeAddress;
ScUnoConversion::FillApiRange( aRangeAddress, *pRange );
aSeq[ i++ ] = aRangeAddress;
@@ -630,8 +630,6 @@ ScVbaPageSetup::getServiceNames()
return aServiceNames;
}
-//liuchen 2009-12-11
-
struct PaperSizeMap
{
Paper ePaper;
diff --git a/sc/source/ui/vba/vbapagesetup.hxx b/sc/source/ui/vba/vbapagesetup.hxx
index 57cc3dbbd153..86e92d67f748 100644
--- a/sc/source/ui/vba/vbapagesetup.hxx
+++ b/sc/source/ui/vba/vbapagesetup.hxx
@@ -83,8 +83,8 @@ public:
virtual void SAL_CALL setCenterHorizontally( sal_Bool centerHorizontally ) throw (css::uno::RuntimeException);
virtual sal_Bool SAL_CALL getPrintHeadings() throw (css::uno::RuntimeException);
virtual void SAL_CALL setPrintHeadings( sal_Bool printHeadings ) throw (css::uno::RuntimeException);
- virtual sal_Int32 SAL_CALL getPaperSize() throw (css::uno::RuntimeException); //liuchen 2009-12-11
- virtual void SAL_CALL setPaperSize( sal_Int32 paperSize ) throw (css::uno::RuntimeException); //liuchen 2009-12-11
+ virtual sal_Int32 SAL_CALL getPaperSize() throw (css::uno::RuntimeException);
+ virtual void SAL_CALL setPaperSize( sal_Int32 paperSize ) throw (css::uno::RuntimeException);
// XHelperInterface
virtual rtl::OUString& getServiceImplName();
diff --git a/sc/source/ui/vba/vbapane.cxx b/sc/source/ui/vba/vbapane.cxx
index e034ffeead41..8d606f31571b 100644
--- a/sc/source/ui/vba/vbapane.cxx
+++ b/sc/source/ui/vba/vbapane.cxx
@@ -57,7 +57,7 @@ ScVbaPane::setScrollColumn( sal_Int32 _scrollcolumn ) throw (uno::RuntimeExcepti
{
if( _scrollcolumn < 1 )
{
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Column number should not less than 1" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Column number should not less than 1" )),
uno::Reference< uno::XInterface >() );
}
m_xViewPane->setFirstVisibleColumn( _scrollcolumn - 1 );
@@ -74,7 +74,7 @@ ScVbaPane::setScrollRow( sal_Int32 _scrollrow ) throw (uno::RuntimeException)
{
if( _scrollrow < 1 )
{
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Row number should not less than 1" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Row number should not less than 1" )),
uno::Reference< uno::XInterface >() );
}
m_xViewPane->setFirstVisibleRow( _scrollrow - 1 );
@@ -108,7 +108,7 @@ ScVbaPane::SmallScroll( const uno::Any& Down, const uno::Any& Up, const uno::Any
if( Down >>= down )
downRows += down;
else
- messageBuffer += rtl::OUString::createFromAscii( "Error getting parameter: Down\n" );
+ messageBuffer += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Error getting parameter: Down\n" ));
}
if( Up.hasValue() )
{
@@ -116,7 +116,7 @@ ScVbaPane::SmallScroll( const uno::Any& Down, const uno::Any& Up, const uno::Any
if( Up >>= up )
downRows -= up;
else
- messageBuffer += rtl::OUString::createFromAscii( "Error getting parameter: Up\n" );
+ messageBuffer += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Error getting parameter: Up\n" ));
}
if( ToRight.hasValue() )
{
@@ -124,7 +124,7 @@ ScVbaPane::SmallScroll( const uno::Any& Down, const uno::Any& Up, const uno::Any
if( ToRight >>= right )
rightCols += right;
else
- messageBuffer += rtl::OUString::createFromAscii( "Error getting parameter: ToRight\n" );
+ messageBuffer += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Error getting parameter: ToRight\n" ));
}
if( ToLeft.hasValue() )
{
@@ -132,7 +132,7 @@ ScVbaPane::SmallScroll( const uno::Any& Down, const uno::Any& Up, const uno::Any
if( ToLeft >>= left )
rightCols -= left;
else
- messageBuffer += rtl::OUString::createFromAscii( "Error getting parameter: ToLeft\n" );
+ messageBuffer += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Error getting parameter: ToLeft\n" ));
}
if( messageBuffer.getLength() > 0 )
throw(uno::RuntimeException( messageBuffer, uno::Reference< uno::XInterface >() ) );
@@ -163,7 +163,7 @@ ScVbaPane::LargeScroll( const uno::Any& Down, const uno::Any& Up, const uno::Any
if( Down >>= down )
downPages += down;
else
- messageBuffer += rtl::OUString::createFromAscii( "Error getting parameter: Down\n" );
+ messageBuffer += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Error getting parameter: Down\n" ));
}
if( Up.hasValue() )
{
@@ -171,7 +171,7 @@ ScVbaPane::LargeScroll( const uno::Any& Down, const uno::Any& Up, const uno::Any
if( Up >>= up )
downPages -= up;
else
- messageBuffer += rtl::OUString::createFromAscii( "Error getting parameter: Up\n" );
+ messageBuffer += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Error getting parameter: Up\n" ));
}
if( ToRight.hasValue() )
{
@@ -179,7 +179,7 @@ ScVbaPane::LargeScroll( const uno::Any& Down, const uno::Any& Up, const uno::Any
if( ToRight >>= right )
acrossPages += right;
else
- messageBuffer += rtl::OUString::createFromAscii( "Error getting parameter: ToRight\n" );
+ messageBuffer += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Error getting parameter: ToRight\n" ));
}
if( ToLeft.hasValue() )
{
@@ -187,7 +187,7 @@ ScVbaPane::LargeScroll( const uno::Any& Down, const uno::Any& Up, const uno::Any
if( ToLeft >>= left )
acrossPages -= left;
else
- messageBuffer += rtl::OUString::createFromAscii( "Error getting parameter: ToLeft\n" );
+ messageBuffer += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Error getting parameter: ToLeft\n" ));
}
if( messageBuffer.getLength() > 0 )
throw(uno::RuntimeException( messageBuffer, uno::Reference< uno::XInterface >() ) );
diff --git a/sc/source/ui/vba/vbapane.hxx b/sc/source/ui/vba/vbapane.hxx
index 27a9c3529545..1590ace30b81 100644
--- a/sc/source/ui/vba/vbapane.hxx
+++ b/sc/source/ui/vba/vbapane.hxx
@@ -44,7 +44,7 @@ public:
const css::uno::Reference< css::frame::XModel >& xModel,
const css::uno::Reference< css::sheet::XViewPane > xViewPane ) throw (css::uno::RuntimeException);
- css::uno::Reference< css::sheet::XViewPane > getViewPane() { return m_xViewPane; }
+ css::uno::Reference< css::sheet::XViewPane > getViewPane() const { return m_xViewPane; }
// XPane attributes
virtual sal_Int32 SAL_CALL getScrollColumn() throw (css::uno::RuntimeException);
diff --git a/sc/source/ui/vba/vbapropvalue.hxx b/sc/source/ui/vba/vbapropvalue.hxx
index 289870e5b520..2cbc37ecc981 100644
--- a/sc/source/ui/vba/vbapropvalue.hxx
+++ b/sc/source/ui/vba/vbapropvalue.hxx
@@ -52,7 +52,7 @@ public:
virtual css::uno::Any SAL_CALL getValue() throw (css::uno::RuntimeException);
virtual void SAL_CALL setValue( const css::uno::Any& _value ) throw (css::uno::RuntimeException);
- rtl::OUString SAL_CALL getDefaultPropertyName() throw (css::uno::RuntimeException) { return ::rtl::OUString::createFromAscii("Value"); }
+ rtl::OUString SAL_CALL getDefaultPropertyName() throw (css::uno::RuntimeException) { return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Value")); }
};
#endif //SC_VBA_PROPVALULE_HXX
diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx
index c9dce622bf36..7f67ce77fc4a 100644
--- a/sc/source/ui/vba/vbarange.cxx
+++ b/sc/source/ui/vba/vbarange.cxx
@@ -243,9 +243,9 @@ uno::Reference< excel::XRange > lcl_makeXRangeFromSheetCellRanges( const uno::Re
aCellRanges.Append( refRange );
}
// Single range
- if ( aCellRanges.First() == aCellRanges.Last() )
+ if ( aCellRanges.size() == 1 )
{
- uno::Reference< table::XCellRange > xTmpRange( new ScCellRangeObj( pDoc, *aCellRanges.First() ) );
+ uno::Reference< table::XCellRange > xTmpRange( new ScCellRangeObj( pDoc, *aCellRanges.front() ) );
xRange = new ScVbaRange( xParent, xContext, xTmpRange );
}
else
@@ -263,7 +263,7 @@ ScCellRangesBase* ScVbaRange::getCellRangesBase() throw ( uno::RuntimeException
return ScCellRangesBase::getImplementation( mxRanges );
if( mxRange.is() )
return ScCellRangesBase::getImplementation( mxRange );
- throw uno::RuntimeException( rtl::OUString::createFromAscii("General Error creating range - Unknown" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("General Error creating range - Unknown" )), uno::Reference< uno::XInterface >() );
}
ScCellRangeObj* ScVbaRange::getCellRangeObj() throw ( uno::RuntimeException )
@@ -407,7 +407,7 @@ ScVbaRange::getScDocShell() throw (uno::RuntimeException)
return excel::GetDocShellFromRange( mxRange );
}
-/*static*/ ScVbaRange* ScVbaRange::getImplementation( const uno::Reference< excel::XRange >& rxRange )
+ScVbaRange* ScVbaRange::getImplementation( const uno::Reference< excel::XRange >& rxRange )
{
// FIXME: always save to use dynamic_cast? Or better to (implement and) use XTunnel?
return dynamic_cast< ScVbaRange* >( rxRange.get() );
@@ -420,7 +420,7 @@ uno::Reference< frame::XModel > ScVbaRange::getUnoModel() throw (uno::RuntimeExc
throw uno::RuntimeException();
}
-/*static*/ uno::Reference< frame::XModel > ScVbaRange::getUnoModel( const uno::Reference< excel::XRange >& rxRange ) throw (uno::RuntimeException)
+uno::Reference< frame::XModel > ScVbaRange::getUnoModel( const uno::Reference< excel::XRange >& rxRange ) throw (uno::RuntimeException)
{
if( ScVbaRange* pScVbaRange = getImplementation( rxRange ) )
return pScVbaRange->getUnoModel();
@@ -434,7 +434,7 @@ const ScRangeList& ScVbaRange::getScRangeList() throw (uno::RuntimeException)
throw uno::RuntimeException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Cannot obtain UNO range implementation object" ) ), uno::Reference< uno::XInterface >() );
}
-/*static*/ const ScRangeList& ScVbaRange::getScRangeList( const uno::Reference< excel::XRange >& rxRange ) throw (uno::RuntimeException)
+const ScRangeList& ScVbaRange::getScRangeList( const uno::Reference< excel::XRange >& rxRange ) throw (uno::RuntimeException)
{
if( ScVbaRange* pScVbaRange = getImplementation( rxRange ) )
return pScVbaRange->getScRangeList();
@@ -510,7 +510,7 @@ public:
{
uno::Reference< beans::XPropertySet > xNumberProps = getNumberProps();
sal_Int16 nType = ::comphelper::getINT16(
- xNumberProps->getPropertyValue( ::rtl::OUString::createFromAscii( "Type" ) ) );
+ xNumberProps->getPropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Type" )) ) );
return nType;
}
@@ -518,7 +518,7 @@ public:
{
lang::Locale aLocale;
uno::Reference< beans::XPropertySet > xNumProps = getNumberProps();
- xNumProps->getPropertyValue( ::rtl::OUString::createFromAscii( "Locale" ) ) >>= aLocale;
+ xNumProps->getPropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Locale" )) ) >>= aLocale;
sal_Int32 nNewIndex = mxFormats->queryKey(rFormat, aLocale, false );
if ( nNewIndex == -1 ) // format not defined
{
@@ -532,7 +532,7 @@ public:
{
uno::Reference< beans::XPropertySet > xNumberProps = getNumberProps();
lang::Locale aLocale;
- xNumberProps->getPropertyValue( ::rtl::OUString::createFromAscii( "Locale" ) ) >>= aLocale;
+ xNumberProps->getPropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Locale" )) ) >>= aLocale;
uno::Reference<util::XNumberFormatTypes> xTypes( mxFormats, uno::UNO_QUERY );
if ( xTypes.is() )
{
@@ -828,7 +828,7 @@ protected:
if ( pUnoRangesBase )
{
ScRangeList aCellRanges = pUnoRangesBase->GetRangeList();
- ScCompiler aCompiler( m_pDoc, aCellRanges.First()->aStart );
+ ScCompiler aCompiler( m_pDoc, aCellRanges.front()->aStart );
aCompiler.SetGrammar(m_eGrammar);
// compile the string in the format passed in
aCompiler.CompileString( sFormula );
@@ -872,7 +872,7 @@ public:
pUnoRangesBase )
{
ScRangeList aCellRanges = pUnoRangesBase->GetRangeList();
- ScCompiler aCompiler( m_pDoc, aCellRanges.First()->aStart );
+ ScCompiler aCompiler( m_pDoc, aCellRanges.front()->aStart );
aCompiler.SetGrammar(formula::FormulaGrammar::GRAM_DEFAULT);
aCompiler.CompileString( sVal );
// set desired convention
@@ -919,7 +919,7 @@ public:
};
-const static rtl::OUString sNA = rtl::OUString::createFromAscii("#N/A");
+const static rtl::OUString sNA(RTL_CONSTASCII_USTRINGPARAM("#N/A"));
class Dim1ArrayValueSetter : public ArrayVisitor
{
@@ -1160,8 +1160,9 @@ bool getScRangeListForAddress( const rtl::OUString& sName, ScDocShell* pDocSh, S
bool bTabFromReferrer = !( nFlags & SCA_TAB_3D );
- for ( ScRange* pRange = aCellRanges.First() ; pRange; pRange = aCellRanges.Next() )
+ for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i )
{
+ ScRange* pRange = aCellRanges[ i ];
pRange->aStart.SetCol( refRange.aStart.Col() + pRange->aStart.Col() );
pRange->aStart.SetRow( refRange.aStart.Row() + pRange->aStart.Row() );
pRange->aStart.SetTab( bTabFromReferrer ? refRange.aStart.Tab() : pRange->aStart.Tab() );
@@ -1183,9 +1184,9 @@ getRangeForName( const uno::Reference< uno::XComponentContext >& xContext, const
if ( !getScRangeListForAddress ( sName, pDocSh, refRange, aCellRanges, eConv ) )
throw uno::RuntimeException();
// Single range
- if ( aCellRanges.First() == aCellRanges.Last() )
+ if ( aCellRanges.size() == 1 )
{
- uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocSh, *aCellRanges.First() ) );
+ uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocSh, *aCellRanges.front() ) );
uno::Reference< XHelperInterface > xFixThisParent = excel::getUnoSheetModuleObj( xRange );
return new ScVbaRange( xFixThisParent, xContext, xRange );
}
@@ -1348,10 +1349,10 @@ table::CellRangeAddress getCellRangeAddressForVBARange( const uno::Any& aParam,
ScRange refRange;
if ( getScRangeListForAddress ( rString, pDocSh, refRange, aCellRanges, aConv ) )
{
- if ( aCellRanges.First() == aCellRanges.Last() )
+ if ( aCellRanges.size() == 1 )
{
table::CellRangeAddress aRangeAddress;
- ScUnoConversion::FillApiRange( aRangeAddress, *aCellRanges.First() );
+ ScUnoConversion::FillApiRange( aRangeAddress, *aCellRanges.front() );
return aRangeAddress;
}
}
@@ -1482,10 +1483,10 @@ uno::Any SAL_CALL ScVbaRange::getName() throw (uno::RuntimeException)
uno::Reference< frame::XModel > xModel = pDocShell ? pDocShell->GetModel() : NULL;
if ( !xModel.is() )
{
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Invalid document" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Invalid document" )), uno::Reference< uno::XInterface >() );
}
uno::Reference< beans::XPropertySet > xPropertySet( xModel, uno::UNO_QUERY_THROW );
- uno::Reference< sheet::XNamedRanges > xNamedRanges( xPropertySet->getPropertyValue( rtl::OUString::createFromAscii("NamedRanges")) , uno::UNO_QUERY_THROW );
+ uno::Reference< sheet::XNamedRanges > xNamedRanges( xPropertySet->getPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NamedRanges"))) , uno::UNO_QUERY_THROW );
uno::Reference< excel::XNames > xNames( new ScVbaNames( uno::Reference< XHelperInterface >(), mxContext , xNamedRanges , xModel ) );
sal_Int32 nCount = xNames->getCount();
@@ -1824,14 +1825,15 @@ ScVbaRange::HasFormula() throw (uno::RuntimeException)
uno::Reference<uno::XInterface> xRanges( pThisRanges->queryFormulaCells( ( sheet::FormulaResult::ERROR | sheet::FormulaResult::VALUE | sheet::FormulaResult::STRING ) ), uno::UNO_QUERY_THROW );
ScCellRangesBase* pFormulaRanges = dynamic_cast< ScCellRangesBase * > ( xRanges.get() );
// check if there are no formula cell, return false
- if ( pFormulaRanges->GetRangeList().Count() == 0 )
+ if ( pFormulaRanges->GetRangeList().empty() )
return uno::makeAny(sal_False);
// chech if there are holes (where some cells are not formulas)
// or returned range is not equal to this range
- if ( ( pFormulaRanges->GetRangeList().Count() > 1 )
- || ( pFormulaRanges->GetRangeList().GetObject(0)->aStart != pThisRanges->GetRangeList().GetObject(0)->aStart )
- || ( pFormulaRanges->GetRangeList().GetObject(0)->aEnd != pThisRanges->GetRangeList().GetObject(0)->aEnd ) )
+ if ( ( pFormulaRanges->GetRangeList().size() > 1 )
+ || ( pFormulaRanges->GetRangeList().front()->aStart != pThisRanges->GetRangeList().front()->aStart )
+ || ( pFormulaRanges->GetRangeList().front()->aEnd != pThisRanges->GetRangeList().front()->aEnd )
+ )
return aNULL(); // should return aNULL;
}
return uno::makeAny( sal_True );
@@ -1916,8 +1918,9 @@ ScVbaRange::Offset( const ::uno::Any &nRowOff, const uno::Any &nColOff ) throw (
ScRangeList aCellRanges = pUnoRangesBase->GetRangeList();
- for ( ScRange* pRange = aCellRanges.First() ; pRange; pRange = aCellRanges.Next() )
+ for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i )
{
+ ScRange* pRange = aCellRanges[ i ];
if ( bIsColumnOffset )
{
pRange->aStart.SetCol( pRange->aStart.Col() + nColOffset );
@@ -1930,13 +1933,13 @@ ScVbaRange::Offset( const ::uno::Any &nRowOff, const uno::Any &nColOff ) throw (
}
}
- if ( aCellRanges.Count() > 1 ) // Multi-Area
+ if ( aCellRanges.size() > 1 ) // Multi-Area
{
uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( pUnoRangesBase->GetDocShell(), aCellRanges ) );
return new ScVbaRange( mxParent, mxContext, xRanges );
}
// normal range
- uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.First() ) );
+ uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.front() ) );
return new ScVbaRange( mxParent, mxContext, xRange );
}
@@ -1998,7 +2001,6 @@ ScVbaRange::getFormulaArray() throw (uno::RuntimeException)
uno::Reference< script::XTypeConverter > xConverter = getTypeConverter( mxContext );
uno::Any aMatrix;
- //VBA, minz@cn.ibm.com
uno::Sequence< uno::Sequence<rtl::OUString> > aFmArray = xCellRangeFormula->getFormulaArray();
if( aFmArray.getLength() )
{
@@ -2375,31 +2377,27 @@ ScVbaRange::Activate() throw (uno::RuntimeException)
uno::Reference< excel::XRange >
ScVbaRange::Rows(const uno::Any& aIndex ) throw (uno::RuntimeException)
{
- SCROW nStartRow = 0;
- SCROW nEndRow = 0;
-
- sal_Int32 nValue = 0;
rtl::OUString sAddress;
if ( aIndex.hasValue() )
{
+ sal_Int32 nValue = 0;
ScCellRangesBase* pUnoRangesBase = getCellRangesBase();
ScRangeList aCellRanges = pUnoRangesBase->GetRangeList();
- ScRange aRange = *aCellRanges.First();
+ ScRange aRange = *aCellRanges.front();
if( aIndex >>= nValue )
{
aRange.aStart.SetRow( aRange.aStart.Row() + --nValue );
aRange.aEnd.SetRow( aRange.aStart.Row() );
}
-
else if ( aIndex >>= sAddress )
{
ScAddress::Details dDetails( formula::FormulaGrammar::CONV_XL_A1, 0, 0 );
ScRange tmpRange;
tmpRange.ParseRows( sAddress, excel::GetDocumentFromRange( mxRange ), dDetails );
- nStartRow = tmpRange.aStart.Row();
- nEndRow = tmpRange.aEnd.Row();
+ SCROW nStartRow = tmpRange.aStart.Row();
+ SCROW nEndRow = tmpRange.aEnd.Row();
aRange.aStart.SetRow( aRange.aStart.Row() + nStartRow );
aRange.aEnd.SetRow( aRange.aStart.Row() + ( nEndRow - nStartRow ));
@@ -2408,7 +2406,7 @@ ScVbaRange::Rows(const uno::Any& aIndex ) throw (uno::RuntimeException)
throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Illegal param" ) ), uno::Reference< uno::XInterface >() );
if ( aRange.aStart.Row() < 0 || aRange.aEnd.Row() < 0 )
- throw uno::RuntimeException( rtl::OUString::createFromAscii("Internal failure, illegal param"), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Internal failure, illegal param")), uno::Reference< uno::XInterface >() );
// return a normal range ( even for multi-selection
uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), aRange ) );
return new ScVbaRange( mxParent, mxContext, xRange, true );
@@ -2422,18 +2420,15 @@ ScVbaRange::Rows(const uno::Any& aIndex ) throw (uno::RuntimeException)
uno::Reference< excel::XRange >
ScVbaRange::Columns(const uno::Any& aIndex ) throw (uno::RuntimeException)
{
- SCCOL nStartCol = 0;
- SCCOL nEndCol = 0;
-
- sal_Int32 nValue = 0;
rtl::OUString sAddress;
ScCellRangesBase* pUnoRangesBase = getCellRangesBase();
ScRangeList aCellRanges = pUnoRangesBase->GetRangeList();
- ScRange aRange = *aCellRanges.First();
+ ScRange aRange = *aCellRanges.front();
if ( aIndex.hasValue() )
{
+ sal_Int32 nValue = 0;
if ( aIndex >>= nValue )
{
aRange.aStart.SetCol( aRange.aStart.Col() + static_cast< SCCOL > ( --nValue ) );
@@ -2445,8 +2440,8 @@ ScVbaRange::Columns(const uno::Any& aIndex ) throw (uno::RuntimeException)
ScAddress::Details dDetails( formula::FormulaGrammar::CONV_XL_A1, 0, 0 );
ScRange tmpRange;
tmpRange.ParseCols( sAddress, excel::GetDocumentFromRange( mxRange ), dDetails );
- nStartCol = tmpRange.aStart.Col();
- nEndCol = tmpRange.aEnd.Col();
+ SCCOL nStartCol = tmpRange.aStart.Col();
+ SCCOL nEndCol = tmpRange.aEnd.Col();
aRange.aStart.SetCol( aRange.aStart.Col() + nStartCol );
aRange.aEnd.SetCol( aRange.aStart.Col() + ( nEndCol - nStartCol ));
@@ -2455,7 +2450,7 @@ ScVbaRange::Columns(const uno::Any& aIndex ) throw (uno::RuntimeException)
throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Illegal param" ) ), uno::Reference< uno::XInterface >() );
if ( aRange.aStart.Col() < 0 || aRange.aEnd.Col() < 0 )
- throw uno::RuntimeException( rtl::OUString::createFromAscii("Internal failure, illegal param"), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Internal failure, illegal param")), uno::Reference< uno::XInterface >() );
}
// Columns() - no params
uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), aRange ) );
@@ -2573,7 +2568,6 @@ ScVbaRange::Cut(const ::uno::Any& Destination) throw (uno::RuntimeException)
uno::Reference< sheet::XCellRangeAddressable > xSource( mxRange, uno::UNO_QUERY);
xMover->moveRange( xDestination->getCellAddress(), xSource->getRangeAddress() );
}
- //VBA, minz@cn.ibm.com.
else {
uno::Reference< frame::XModel > xModel = excel::GetModelFromRange( mxRange );
Select();
@@ -2826,7 +2820,7 @@ uno::Any SAL_CALL ScVbaRange::getCellRange( ) throw (uno::RuntimeException)
return aAny;
}
-/*static*/ uno::Any ScVbaRange::getCellRange( const uno::Reference< excel::XRange >& rxRange ) throw (uno::RuntimeException)
+uno::Any ScVbaRange::getCellRange( const uno::Reference< excel::XRange >& rxRange ) throw (uno::RuntimeException)
{
if( ScVbaRange* pVbaRange = getImplementation( rxRange ) )
return pVbaRange->getCellRange();
@@ -2924,8 +2918,9 @@ ScVbaRange::getEntireColumnOrRow( bool bColumn ) throw (uno::RuntimeException)
// copy the range list
ScRangeList aCellRanges = pUnoRangesBase->GetRangeList();
- for ( ScRange* pRange = aCellRanges.First() ; pRange; pRange = aCellRanges.Next() )
+ for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i )
{
+ ScRange* pRange = aCellRanges[ i ];
if ( bColumn )
{
pRange->aStart.SetRow( 0 );
@@ -2937,13 +2932,13 @@ ScVbaRange::getEntireColumnOrRow( bool bColumn ) throw (uno::RuntimeException)
pRange->aEnd.SetCol( MAXCOL );
}
}
- if ( aCellRanges.Count() > 1 ) // Multi-Area
+ if ( aCellRanges.size() > 1 ) // Multi-Area
{
uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( pUnoRangesBase->GetDocShell(), aCellRanges ) );
return new ScVbaRange( mxParent, mxContext, xRanges, !bColumn, bColumn );
}
- uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.First() ) );
+ uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.front() ) );
return new ScVbaRange( mxParent, mxContext, xRange, !bColumn, bColumn );
}
@@ -3071,7 +3066,7 @@ ScVbaRange::Replace( const ::rtl::OUString& What, const ::rtl::OUString& Replace
}
// sanity check required params
- if ( !What.getLength() /*|| !Replacement.getLength()*/ )
+ if ( !What.getLength() )
throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Range::Replace, missing params" )) , uno::Reference< uno::XInterface >() );
rtl::OUString sWhat = VBAToRegexp( What);
// #TODO #FIXME SearchFormat & ReplacesFormat are not processed
@@ -3142,8 +3137,8 @@ ScVbaRange::Replace( const ::rtl::OUString& What, const ::rtl::OUString& Replace
if ( xIndexAccess.is() && xIndexAccess->getCount() > 0 )
{
// Fires the range change event.
- ScCellRangesBase* pScCellRangesBase = ScCellRangesBase::getImplementation( xIndexAccess ); //liuchen 2010-01-05
- lcl_NotifyRangeChanges( getScDocShell()->GetModel(), pScCellRangesBase ); //liuchen 2010-01-05 the original convert method will fail in SUSE
+ ScCellRangesBase* pScCellRangesBase = ScCellRangesBase::getImplementation( xIndexAccess );
+ lcl_NotifyRangeChanges( getScDocShell()->GetModel(), pScCellRangesBase ); // the original convert method will fail in SUSE
}
}
return sal_True; // always
@@ -3224,7 +3219,7 @@ ScVbaRange::Find( const uno::Any& What, const uno::Any& After, const uno::Any& L
throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Range::Replace, illegal value for LookIn." )) , uno::Reference< uno::XInterface >() );
}
newOptions.SetCellType( nSearchType );
- xDescriptor->setPropertyValue( rtl::OUString::createFromAscii( "SearchType" ), uno::makeAny( nSearchType ) );
+ xDescriptor->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "SearchType" )), uno::makeAny( nSearchType ) );
}
}
@@ -3273,7 +3268,7 @@ ScVbaRange::Find( const uno::Any& What, const uno::Any& After, const uno::Any& L
else
throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Range::Replace, illegal value for SearchDirection" )) , uno::Reference< uno::XInterface >() );
newOptions.SetBackward( bSearchBackwards );
- xDescriptor->setPropertyValue( rtl::OUString::createFromAscii( "SearchBackwards" ), uno::makeAny( bSearchBackwards ) );
+ xDescriptor->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "SearchBackwards" )), uno::makeAny( bSearchBackwards ) );
}
}
@@ -3425,15 +3420,6 @@ ScVbaRange::Sort( const uno::Any& Key1, const uno::Any& Order1, const uno::Any&
// 2) #TODO #FIXME need to refactor this ( below ) into a IsSingleCell() method
uno::Reference< table::XColumnRowRange > xColumnRowRange(mxRange, uno::UNO_QUERY_THROW );
- // 'Fraid I don't remember what I was trying to achieve here ???
-/*
- if ( isSingleCellRange() )
- {
- uno::Reference< XRange > xCurrent = CurrentRegion();
- xCurrent->Sort( Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3 );
- return;
- }
-*/
// set up defaults
sal_Int16 nOrder1 = aSortParam.bAscending[0] ? excel::XlSortOrder::xlAscending : excel::XlSortOrder::xlDescending;
@@ -4499,14 +4485,10 @@ ScVbaRange::AutoFilter( const uno::Any& Field, const uno::Any& Criteria1, const
sal_Int32 nOperator = excel::XlAutoFilterOperator::xlAnd;
sal_Bool bVisible = sal_True;
- bool bChangeDropDown = false;
VisibleDropDown >>= bVisible;
- if ( bVisible == bHasAuto ) // dropdown is displayed/notdisplayed as
- // required
+ if ( bVisible == bHasAuto ) // dropdown is displayed/notdisplayed as required
bVisible = sal_False;
- else
- bChangeDropDown = true;
sheet::FilterConnection nConn = sheet::FilterConnection_AND;
double nCriteria1 = 0;
@@ -4658,7 +4640,6 @@ ScVbaRange::AutoFilter( const uno::Any& Field, const uno::Any& Criteria1, const
// this is just to toggle autofilter on and off ( not to be confused with
// a VisibleDropDown option combined with a field, in that case just the
// button should be disabled ) - currently we don't support that
- bChangeDropDown = true;
uno::Reference< beans::XPropertySet > xDBRangeProps( xDataBaseRange, uno::UNO_QUERY_THROW );
if ( bHasAuto )
{
@@ -4789,7 +4770,7 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
if( Destination.hasValue() )
{
if( !( Destination >>= xRange ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Destination parameter should be a range" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Destination parameter should be a range" )),
uno::Reference< uno::XInterface >() );
OSL_TRACE("set range\n");
}
@@ -4804,7 +4785,7 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
if ( DataType.hasValue() )
{
if( !( DataType >>= xlTextParsingType ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "DataType parameter should be a short" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "DataType parameter should be a short" )),
uno::Reference< uno::XInterface >() );
OSL_TRACE("set Datatype\n" );
}
@@ -4814,7 +4795,7 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
if( TextQualifier.hasValue() )
{
if( !( TextQualifier >>= xlTextQualifier ))
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "TextQualifier parameter should be a short" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "TextQualifier parameter should be a short" )),
uno::Reference< uno::XInterface >() );
OSL_TRACE("set TextQualifier\n");
}
@@ -4823,7 +4804,7 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
if( ConsecutiveDelimiter.hasValue() )
{
if( !( ConsecutiveDelimiter >>= bConsecutiveDelimiter ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "ConsecutiveDelimiter parameter should be a boolean" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ConsecutiveDelimiter parameter should be a boolean" )),
uno::Reference< uno::XInterface >() );
OSL_TRACE("set ConsecutiveDelimiter\n");
}
@@ -4832,7 +4813,7 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
if( Tab.hasValue() && bDilimited )
{
if( !( Tab >>= bTab ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Tab parameter should be a boolean" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Tab parameter should be a boolean" )),
uno::Reference< uno::XInterface >() );
OSL_TRACE("set Tab\n");
}
@@ -4841,7 +4822,7 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
if( Semicolon.hasValue() && bDilimited )
{
if( !( Semicolon >>= bSemicolon ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Semicolon parameter should be a boolean" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Semicolon parameter should be a boolean" )),
uno::Reference< uno::XInterface >() );
OSL_TRACE("set Semicolon\n");
}
@@ -4849,7 +4830,7 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
if( Comma.hasValue() && bDilimited )
{
if( !( Comma >>= bComma ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Comma parameter should be a boolean" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Comma parameter should be a boolean" )),
uno::Reference< uno::XInterface >() );
OSL_TRACE("set Comma\n");
}
@@ -4857,7 +4838,7 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
if( Space.hasValue() && bDilimited )
{
if( !( Space >>= bSpace ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Space parameter should be a boolean" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Space parameter should be a boolean" )),
uno::Reference< uno::XInterface >() );
OSL_TRACE("set Space\n");
}
@@ -4869,12 +4850,12 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
{
if( OtherChar.hasValue() )
if( !( OtherChar >>= sOtherChar ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "OtherChar parameter should be a String" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "OtherChar parameter should be a String" )),
uno::Reference< uno::XInterface >() );
OSL_TRACE("set OtherChar\n" );
}
else if( bOther )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "Other parameter should be a True" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Other parameter should be a True" )),
uno::Reference< uno::XInterface >() );
}
// FieldInfo, Optional Variant. An array containing parse information for the individual columns of data.
@@ -4889,7 +4870,7 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
if( DecimalSeparator.hasValue() )
{
if( !( DecimalSeparator >>= sDecimalSeparator ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "DecimalSeparator parameter should be a String" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "DecimalSeparator parameter should be a String" )),
uno::Reference< uno::XInterface >() );
OSL_TRACE("set DecimalSeparator\n" );
}
@@ -4897,7 +4878,7 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
if( ThousandsSeparator.hasValue() )
{
if( !( ThousandsSeparator >>= sThousandsSeparator ) )
- throw uno::RuntimeException( rtl::OUString::createFromAscii( "ThousandsSeparator parameter should be a String" ),
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ThousandsSeparator parameter should be a String" )),
uno::Reference< uno::XInterface >() );
OSL_TRACE("set ThousandsSpeparator\n" );
}
@@ -4912,12 +4893,12 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
}
// Parse the value of parameter FieldInfo.
- USHORT nCount = 0, nRealCount = 0;
+ USHORT nRealCount = 0;
xub_StrLen* pColumns = NULL;
BYTE* pFormats = NULL;
if ( sFieldInfo.getLength() > 0 )
{
- nCount = sFieldInfo.getLength();
+ USHORT nCount = sFieldInfo.getLength();
pColumns = new xub_StrLen[nCount];
pFormats = new BYTE[nCount];
USHORT nFormat = 1;
@@ -4948,11 +4929,11 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
// Get field delimiters.
String rFieldDelimiters;
- if ( bTab ) rFieldDelimiters += '\t';
- if ( bSemicolon ) rFieldDelimiters += ';';
- if ( bComma ) rFieldDelimiters += ',';
- if ( bSpace ) rFieldDelimiters += ' ';
- if ( bOther ) rFieldDelimiters += *sOtherChar.getStr();
+ if ( bTab ) rFieldDelimiters += '\t';
+ if ( bSemicolon ) rFieldDelimiters += ';';
+ if ( bComma ) rFieldDelimiters += ',';
+ if ( bSpace ) rFieldDelimiters += ' ';
+ if ( bOther ) rFieldDelimiters += *sOtherChar.getStr();
// Get the text in current range to SvMemoryStream.
ScRange aSrcScRange;
@@ -4960,9 +4941,9 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any
if ( pSrcCellRangesBase )
{
ScRangeList aRangeList = pSrcCellRangesBase->GetRangeList();
- if ( aRangeList.First() )
+ if ( !aRangeList.empty() )
{
- aSrcScRange = *aRangeList.First();
+ aSrcScRange = *aRangeList.front();
}
}
ScImportExport aExport( getScDocument(), aSrcScRange );
@@ -5201,24 +5182,17 @@ void ScVbaRange::setShowDetail(const uno::Any& aShowDetail) throw ( css::uno::Ru
}
}
-//09-09-16 add by limingl
::com::sun::star::uno::Reference< ::ooo::vba::excel::XQueryTable > SAL_CALL
ScVbaRange::getQueryTable() throw (::com::sun::star::uno::RuntimeException)
{
- /*
- if (m_pQueryTable == NULL)
- {
- m_pQueryTable = new ScVbaQueryTable(mxParent ,mxContext, getScDocument(), this); //add by limingl
- }
- //*/
if (!m_xQueryTable.is())
{
- m_xQueryTable = new ScVbaQueryTable(mxParent ,mxContext, getScDocument(), this); //add by limingl
+ m_xQueryTable = new ScVbaQueryTable(mxParent ,mxContext, getScDocument(), this);
}
return m_xQueryTable;
}
-//end add
+
uno::Reference< excel::XRange > SAL_CALL
ScVbaRange::MergeArea() throw (script::BasicErrorException, uno::RuntimeException)
{
@@ -5248,7 +5222,6 @@ ScVbaRange::MergeArea() throw (script::BasicErrorException, uno::RuntimeExceptio
return new ScVbaRange( mxParent, mxContext, mxRange );
}
-//2008-08-25 add by limingl
//The recordset's member: Recordset.Fields.Item will get a Field obj.
//Field.value is the column value.
::sal_Int32 SAL_CALL
@@ -5271,8 +5244,7 @@ throw (::com::sun::star::script::BasicErrorException, ::com::sun::star::uno::Run
sal_Int32 nCol;
sal_Int32 nMaxRows = 0;
sal_Int32 nMaxColumns = 0;
- sal_Bool bEof;
-// sal_Bool bColName = sal_True;
+ sal_Bool bEof = sal_False;
long lColCnt = 0;
if (MaxColumns.hasValue())
{
@@ -5289,9 +5261,9 @@ throw (::com::sun::star::script::BasicErrorException, ::com::sun::star::uno::Run
Data >>= xIntRes;
uno::Reference< script::XInvocation > xInvRes(xIntRes, uno::UNO_QUERY_THROW);
- rtl::OUString oMoveNext = rtl::OUString::createFromAscii("MoveNext") ;
- rtl::OUString oEof = rtl::OUString::createFromAscii("EOF") ;
- rtl::OUString oFields = rtl::OUString::createFromAscii("Fields") ;
+ rtl::OUString oMoveNext(RTL_CONSTASCII_USTRINGPARAM("MoveNext")) ;
+ rtl::OUString oEof(RTL_CONSTASCII_USTRINGPARAM("EOF")) ;
+ rtl::OUString oFields(RTL_CONSTASCII_USTRINGPARAM("Fields")) ;
if( !xInvRes->hasMethod(oMoveNext))
{
@@ -5302,7 +5274,7 @@ throw (::com::sun::star::script::BasicErrorException, ::com::sun::star::uno::Run
aRet = xInvRes->getValue(oFields);
aRet >>= xIntFields;
uno::Reference< script::XInvocation > xInvFields(xIntFields, uno::UNO_QUERY_THROW);
- aRet = xInvFields->getValue( rtl::OUString::createFromAscii("Count")) ;
+ aRet = xInvFields->getValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Count"))) ;
aRet >>= lColCnt;
//Set the assign column number
@@ -5330,12 +5302,12 @@ throw (::com::sun::star::script::BasicErrorException, ::com::sun::star::uno::Run
nCol = l;
aPar <<= nCol;
//get every field
- aRet = xInvFields->invoke( rtl::OUString::createFromAscii("Item"), uno::Sequence< uno::Any >(&aPar,1) , aOutParamIndex,aOutParam);
+ aRet = xInvFields->invoke( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Item")), uno::Sequence< uno::Any >(&aPar,1) , aOutParamIndex,aOutParam);
aRet >>= xIntFld;
uno::Reference< script::XInvocation > xInvFld(xIntFld, uno::UNO_QUERY_THROW); //Get the Field obj
//set the field value
- aRet = xInvFld->getValue( rtl::OUString::createFromAscii("Value") );
+ aRet = xInvFld->getValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Value")) );
uno::Reference< excel::XRange > xRngToFill = xRngPos->Offset(aCrrRow,aCrrCol );
xRngToFill->setValue(aRet);
@@ -5359,7 +5331,7 @@ throw (::com::sun::star::script::BasicErrorException, ::com::sun::star::uno::Run
return 0;
}
-//end add
+
void SAL_CALL
ScVbaRange::PrintOut( const uno::Any& From, const uno::Any& To, const uno::Any& Copies, const uno::Any& Preview, const uno::Any& ActivePrinter, const uno::Any& PrintToFile, const uno::Any& Collate, const uno::Any& PrToFileName ) throw (uno::RuntimeException)
{
@@ -5410,11 +5382,6 @@ ScVbaRange::AutoFill( const uno::Reference< excel::XRange >& Destination, const
ScUnoConversion::FillScRange( destRange, destAddress );
ScUnoConversion::FillScRange( sourceRange, thisAddress );
-
- // source is valid
-// if ( !sourceRange.In( destRange ) )
-// throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "source not in destination" ) ), uno::Reference< uno::XInterface >() );
-
FillDir eDir = FILL_TO_BOTTOM;
double fStep = 1.0;
@@ -5423,10 +5390,10 @@ ScVbaRange::AutoFill( const uno::Reference< excel::XRange >& Destination, const
// default to include the number of Rows in the source range;
SCCOLROW nSourceCount = ( sourceRange.aEnd.Row() - sourceRange.aStart.Row() ) + 1;
- SCCOLROW nCount = 0;
if ( sourceRange != destRange )
{
+ SCCOLROW nCount = 0;
// Find direction of fill, vertical or horizontal
if ( sourceRange.aStart == destRange.aStart )
{
@@ -5667,8 +5634,8 @@ ScVbaRange::Merge( const uno::Any& Across ) throw (script::BasicErrorException,
// #TODO #FIXME this seems incredibly lame, this can't be right
for (sal_Int32 i=1; i <= oRangeRowsImpl->getCount();i++)
{
- oRangeRowsImpl->Cells( uno::makeAny( i ), uno::Any() )->Merge( uno::makeAny( sal_False ) );
- }
+ oRangeRowsImpl->Cells( uno::makeAny( i ), uno::Any() )->Merge( uno::makeAny( sal_False ) );
+ }
}
}
@@ -5826,9 +5793,9 @@ ScVbaRange::SpecialCells( const uno::Any& _oType, const uno::Any& _oValue) throw
aCellRanges.Append( refRange );
}
// Single range
- if ( aCellRanges.First() == aCellRanges.Last() )
+ if ( aCellRanges.size() == 1 )
{
- uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( getScDocShell(), *aCellRanges.First() ) );
+ uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( getScDocShell(), *aCellRanges.front() ) );
return new ScVbaRange( mxParent, mxContext, xRange );
}
uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( getScDocShell(), aCellRanges ) );
@@ -6135,7 +6102,7 @@ uno::Any SAL_CALL ScVbaRange::AdvancedFilter( sal_Int32 Action, const uno::Any&
return aRet;
}
-//Add by minz@cn.ibm.com. Range.PivotTable.
+//Range.PivotTable.
//Returns a PivotTable object that represents the PivotTable report containing the upper-left corner of the specified range.
uno::Reference< excel::XPivotTable >
ScVbaRange::PivotTable() throw (uno::RuntimeException)
@@ -6156,8 +6123,6 @@ ScVbaRange::PivotTable() throw (uno::RuntimeException)
xSheet = thisRange.getSpreadSheet();
}
-// RangeHelper thisRange( mxRange );
-// uno::Reference< sheet::XSpreadsheet > xSheet = thisRange.getSpreadSheet();
uno::Reference< sheet::XDataPilotTablesSupplier > xTables(xSheet, uno::UNO_QUERY_THROW ) ;
uno::Reference< container::XIndexAccess > xIndexAccess( xTables->getDataPilotTables(), uno::UNO_QUERY_THROW );
if ( xIndexAccess.is() )
diff --git a/sc/source/ui/vba/vbarange.hxx b/sc/source/ui/vba/vbarange.hxx
index 46c60ac35e50..fa7e9270d72c 100644
--- a/sc/source/ui/vba/vbarange.hxx
+++ b/sc/source/ui/vba/vbarange.hxx
@@ -52,7 +52,7 @@
#include <com/sun/star/sheet/XSpreadsheet.hpp>
#include <com/sun/star/sheet/XSheetCellRangeContainer.hpp>
#include <com/sun/star/table/CellAddress.hpp>
-#include "vbaquerytable.hxx" //09-09-18 add by limingl
+#include "vbaquerytable.hxx"
#include "vbaformat.hxx"
#include <formula/grammar.hxx>
@@ -101,7 +101,7 @@ class ScVbaRange : public ScVbaRange_BASE
sal_Bool mbIsRows;
sal_Bool mbIsColumns;
css::uno::Reference< ov::excel::XValidation > m_xValidation;
- css::uno::Reference<excel::XQueryTable> m_xQueryTable; //09-09-16 add by limingl
+ css::uno::Reference<excel::XQueryTable> m_xQueryTable;
double getCalcColWidth( const css::table::CellRangeAddress& ) throw (css::uno::RuntimeException);
double getCalcRowHeight( const css::table::CellRangeAddress& ) throw (css::uno::RuntimeException);
void visitArray( ArrayVisitor& vistor );
@@ -195,10 +195,10 @@ public:
virtual css::uno::Any SAL_CALL getPrefixCharacter() throw (css::uno::RuntimeException);
virtual css::uno::Any SAL_CALL getShowDetail() throw (css::uno::RuntimeException);
virtual void SAL_CALL setShowDetail(const css::uno::Any& aShowDetail) throw (css::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::ooo::vba::excel::XQueryTable > SAL_CALL getQueryTable() throw (::com::sun::star::uno::RuntimeException); //09-09-16 add by limingl
+ virtual ::com::sun::star::uno::Reference< ::ooo::vba::excel::XQueryTable > SAL_CALL getQueryTable() throw (::com::sun::star::uno::RuntimeException);
// Methods
- sal_Bool IsRows() { return mbIsRows; }
- sal_Bool IsColumns() { return mbIsColumns; }
+ sal_Bool IsRows() const { return mbIsRows; }
+ sal_Bool IsColumns() const { return mbIsColumns; }
virtual css::uno::Reference< ov::excel::XComment > SAL_CALL AddComment( const css::uno::Any& Text ) throw (css::uno::RuntimeException);
virtual void SAL_CALL Clear() throw (css::uno::RuntimeException);
virtual void SAL_CALL ClearComments() throw (css::uno::RuntimeException);
@@ -275,7 +275,7 @@ public:
virtual css::uno::Reference< ov::excel::XPivotTable > SAL_CALL PivotTable( ) throw (css::uno::RuntimeException);
- virtual ::sal_Int32 SAL_CALL CopyFromRecordset( const ::com::sun::star::uno::Any& Data, const ::com::sun::star::uno::Any& MaxRows, const ::com::sun::star::uno::Any& MaxColumns ) throw (::com::sun::star::script::BasicErrorException, ::com::sun::star::uno::RuntimeException); //2008-08-25 add by limingl
+ virtual ::sal_Int32 SAL_CALL CopyFromRecordset( const ::com::sun::star::uno::Any& Data, const ::com::sun::star::uno::Any& MaxRows, const ::com::sun::star::uno::Any& MaxColumns ) throw (::com::sun::star::script::BasicErrorException, ::com::sun::star::uno::RuntimeException);
// XEnumerationAccess
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() throw (css::uno::RuntimeException);
// XElementAccess
@@ -288,7 +288,7 @@ public:
// XDefaultMethod
::rtl::OUString SAL_CALL getDefaultMethodName( ) throw (css::uno::RuntimeException);
// XDefaultProperty
- ::rtl::OUString SAL_CALL getDefaultPropertyName( ) throw (css::uno::RuntimeException) { return ::rtl::OUString::createFromAscii("Value"); }
+ ::rtl::OUString SAL_CALL getDefaultPropertyName( ) throw (css::uno::RuntimeException) { return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Value")); }
// #TODO completely rewrite ScVbaRange, its become a hackfest
diff --git a/sc/source/ui/vba/vbastyle.cxx b/sc/source/ui/vba/vbastyle.cxx
index 83d72dd99c05..c32b0ed7ff09 100644
--- a/sc/source/ui/vba/vbastyle.cxx
+++ b/sc/source/ui/vba/vbastyle.cxx
@@ -133,7 +133,7 @@ ScVbaStyle::getNameLocal() throw (script::BasicErrorException, uno::RuntimeExcep
{
mxPropertySet->getPropertyValue(DISPLAYNAME) >>= sName;
}
- catch (uno::Exception e)
+ catch (uno::Exception &e)
{
DebugHelper::exception(SbERR_METHOD_FAILED, rtl::OUString() );
}
diff --git a/sc/source/ui/vba/vbavalidation.cxx b/sc/source/ui/vba/vbavalidation.cxx
index 36662c87c598..126b03577887 100644
--- a/sc/source/ui/vba/vbavalidation.cxx
+++ b/sc/source/ui/vba/vbavalidation.cxx
@@ -295,13 +295,13 @@ ScVbaValidation::Add( const uno::Any& Type, const uno::Any& AlertStyle, const un
xProps->setPropertyValue( ALERTSTYLE, uno::makeAny( eStyle ) );
- //2009-11-11 fix the defect that validatation cannot work when the input should be limited between a lower bound and an upper bound
+ // fix the defect that validatation cannot work when the input should be limited between a lower bound and an upper bound
if ( Operator.hasValue() )
{
css::sheet::ConditionOperator conOperator = ScVbaFormatCondition::retrieveAPIOperator( Operator );
xCond->setOperator( conOperator );
}
- //2009-11-11
+
if ( sFormula1.getLength() )
xCond->setFormula1( sFormula1 );
if ( sFormula2.getLength() )
diff --git a/sc/source/ui/vba/vbawindow.cxx b/sc/source/ui/vba/vbawindow.cxx
index a31d348ff7c8..1f0c9183708a 100644
--- a/sc/source/ui/vba/vbawindow.cxx
+++ b/sc/source/ui/vba/vbawindow.cxx
@@ -273,7 +273,7 @@ ScVbaWindow::ScrollWorkbookTabs( const uno::Any& /*Sheets*/, const uno::Any& /*P
/*
sal_Int32 nSheets = 0;
sal_Int32 nPosition = 0;
- throw uno::RuntimeException( rtl::OUString::createFromAscii("No Implemented" ), uno::Reference< uno::XInterface >() );
+ throw uno::RuntimeException( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("No Implemented" )), uno::Reference< uno::XInterface >() );
sal_Bool bSheets = ( Sheets >>= nSheets );
sal_Bool bPosition = ( Position >>= nPosition );
if ( bSheets || bPosition ) // at least one param specified
diff --git a/sc/source/ui/vba/vbawindows.cxx b/sc/source/ui/vba/vbawindows.cxx
index f7a3e6acb589..e5d0a09e33e7 100644
--- a/sc/source/ui/vba/vbawindows.cxx
+++ b/sc/source/ui/vba/vbawindows.cxx
@@ -78,7 +78,7 @@ public:
m_xContext->getServiceManager(), uno::UNO_QUERY_THROW );
uno::Reference< frame::XDesktop > xDesktop
- (xSMgr->createInstanceWithContext(::rtl::OUString::createFromAscii("com.sun.star.frame.Desktop"), m_xContext), uno::UNO_QUERY_THROW );
+ (xSMgr->createInstanceWithContext(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")), m_xContext), uno::UNO_QUERY_THROW );
uno::Reference< container::XEnumeration > mxComponents = xDesktop->getComponents()->createEnumeration();
while( mxComponents->hasMoreElements() )
{
diff --git a/sc/source/ui/vba/vbaworkbook.cxx b/sc/source/ui/vba/vbaworkbook.cxx
index 3e9fa27443cb..98b2250887c3 100644
--- a/sc/source/ui/vba/vbaworkbook.cxx
+++ b/sc/source/ui/vba/vbaworkbook.cxx
@@ -37,7 +37,7 @@
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <ooo/vba/excel/XlFileFormat.hpp>
-#include <ooo/vba/excel/XApplication.hpp> //liuchen 2009-12-16
+#include <ooo/vba/excel/XApplication.hpp>
#include "scextopt.hxx"
#include "vbaworksheet.hxx"
@@ -49,7 +49,7 @@
#include "vbapalette.hxx"
#include <osl/file.hxx>
#include <stdio.h>
-#include "vbanames.hxx" // Amelia Wang
+#include "vbanames.hxx"
#include "nameuno.hxx"
#include "docoptio.hxx"
#include "unonames.hxx"
@@ -187,7 +187,7 @@ ScVbaWorkbook::getFileFormat( ) throw (::uno::RuntimeException)
return aFileFormat;
}
-//VBA by minz@cn.ibm.com. Convert Excel fileformat to OO file filter
+// Convert Excel fileformat to OO file filter
::rtl::OUString ScVbaWorkbook::convertFileFormat(sal_Int32 aFileFormat)
{
rtl::OUString aFilterName;
@@ -325,13 +325,13 @@ ScVbaWorkbook::SaveCopyAs( const rtl::OUString& sFileName ) throw ( uno::Runtime
xStor->storeToURL( aURL, storeProps );
}
-//VBA by minz@cn.ibm.com. Add Workbook.SaveAs.
+// Add Workbook.SaveAs.
void
ScVbaWorkbook::SaveAs( const rtl::OUString& FileName, const uno::Any& FileFormat, const uno::Any& /*CreateBackup*/ ) throw ( uno::RuntimeException)
{
rtl::OUString aURL;
osl::FileBase::getFileURLFromSystemPath( FileName, aURL );
- //liuchen 2009-12-16 if the input parameter "FileName" takes the form as "MyFile", we need to get the current directory and combine the current directory and the file name
+ //if the input parameter "FileName" takes the form as "MyFile", we need to get the current directory and combine the current directory and the file name
INetURLObject aFileNameURL( aURL );
aURL = aFileNameURL.GetMainURL( INetURLObject::NO_DECODE );
if ( aURL.getLength() == 0 )
@@ -344,7 +344,7 @@ ScVbaWorkbook::SaveAs( const rtl::OUString& FileName, const uno::Any& FileFormat
aPathURL.Append( FileName );
aURL = aPathURL.GetMainURL( INetURLObject::NO_DECODE );
}
- //liuchen 2009-12-16
+
uno::Reference< frame::XStorable > xStor( getModel(), uno::UNO_QUERY_THROW );
sal_Int32 aFileFormat = excel::XlFileFormat::xlExcel9795;
@@ -381,7 +381,6 @@ ScVbaWorkbook::Styles( const::uno::Any& Item ) throw (uno::RuntimeException)
return uno::makeAny( dStyles );
}
-// Amelia Wang
uno::Any SAL_CALL
ScVbaWorkbook::Names( const css::uno::Any& aIndex ) throw (uno::RuntimeException)
{
diff --git a/sc/source/ui/vba/vbaworkbooks.cxx b/sc/source/ui/vba/vbaworkbooks.cxx
index 67de260af9aa..1ce20b8b2e47 100644
--- a/sc/source/ui/vba/vbaworkbooks.cxx
+++ b/sc/source/ui/vba/vbaworkbooks.cxx
@@ -246,7 +246,7 @@ ScVbaWorkbooks::isSpreadSheetFile( const rtl::OUString& sType )
rtl::OUString
ScVbaWorkbooks::getFileFilterType( const rtl::OUString& rFileName )
{
- uno::Reference< document::XTypeDetection > xTypeDetect( mxContext->getServiceManager()->createInstanceWithContext(::rtl::OUString::createFromAscii("com.sun.star.document.TypeDetection"), mxContext), uno::UNO_QUERY_THROW );
+ uno::Reference< document::XTypeDetection > xTypeDetect( mxContext->getServiceManager()->createInstanceWithContext(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.document.TypeDetection")), mxContext), uno::UNO_QUERY_THROW );
uno::Sequence< beans::PropertyValue > aMediaDesc(1);
aMediaDesc[ 0 ].Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ("URL" ) );
aMediaDesc[ 0 ].Value <<= rFileName;
@@ -269,12 +269,12 @@ ScVbaWorkbooks::Open( const rtl::OUString& rFileName, const uno::Any& /*UpdateLi
osl::FileBase::getFileURLFromSystemPath( rFileName, aURL );
uno::Sequence< beans::PropertyValue > sProps(0);
- sal_Int32 nIndex = 0;
rtl::OUString sType = getFileFilterType( aURL );
// A text file means it needs to be processed as a csv file
if ( isTextFile( sType ) )
{
+ sal_Int32 nIndex = 0;
// Values for format
// 1 Tabs
// 2 Commas
diff --git a/sc/source/ui/vba/vbaworksheet.cxx b/sc/source/ui/vba/vbaworksheet.cxx
index ca00ef9ee495..51a2292c2bf2 100644
--- a/sc/source/ui/vba/vbaworksheet.cxx
+++ b/sc/source/ui/vba/vbaworksheet.cxx
@@ -96,7 +96,7 @@
#include "vbaworksheets.hxx"
#include "vbahyperlinks.hxx"
#include "vbasheetobjects.hxx"
-#include "viewuno.hxx" //liuchen 2009-9-2
+#include "viewuno.hxx"
#define STANDARDWIDTH 2267
#define STANDARDHEIGHT 427
@@ -247,7 +247,6 @@ ScVbaWorksheet::setVisible( ::sal_Int32 _Visible ) throw (uno::RuntimeException)
{
uno::Reference< beans::XPropertySet > xProps( getSheet(), uno::UNO_QUERY_THROW );
- //VBA by minz@cn.ibm.com.
sal_Bool bVisible = true;
switch( _Visible )
{
@@ -479,7 +478,7 @@ ScVbaWorksheet::Activate() throw (uno::RuntimeException)
xSpreadsheet->setActiveSheet(getSheet());
}
-//liuchen 2009-9-2, support expand (but not replace) the active sheet
+// support expand (but not replace) the active sheet
void
ScVbaWorksheet::Select(const css::uno::Any& aReplace) throw (uno::RuntimeException)
{
@@ -577,9 +576,9 @@ ScVbaWorksheet::Copy( const uno::Any& Before, const uno::Any& After ) throw (uno
// set sheet name to be newSheet name
aSheetName = aCurrSheetName;
- SCTAB nDummy=0;
if ( bSheetExists && bDestSheetExists )
{
+ SCTAB nDummy=0;
sal_Bool bAfter = After.hasValue();
if(bAfter)
nDest++;
@@ -651,7 +650,7 @@ ScVbaWorksheet::getSheetAtOffset(SCTAB offset) throw (uno::RuntimeException)
uno::Reference< excel::XWorksheet >
ScVbaWorksheet::getNext() throw (uno::RuntimeException)
{
- //VBA, minz@cn.ibm.com. catch the exception for index out of bound
+ // catch the exception for index out of bound
try{
return getSheetAtOffset(static_cast<SCTAB>(1));
}catch( lang::IndexOutOfBoundsException& /*e*/ )
@@ -663,7 +662,7 @@ ScVbaWorksheet::getNext() throw (uno::RuntimeException)
uno::Reference< excel::XWorksheet >
ScVbaWorksheet::getPrevious() throw (uno::RuntimeException)
{
- //VBA, minz@cn.ibm.com. catch the exception for index out of bound
+ // catch the exception for index out of bound
try{
return getSheetAtOffset(-1);
}catch( lang::IndexOutOfBoundsException& /*e*/ )
@@ -753,7 +752,7 @@ ScVbaWorksheet::ChartObjects( const uno::Any& Index ) throw (uno::RuntimeExcepti
uno::Reference< table::XTableChartsSupplier > xChartSupplier( getSheet(), uno::UNO_QUERY_THROW );
uno::Reference< table::XTableCharts > xTableCharts = xChartSupplier->getCharts();
- uno::Reference< drawing::XDrawPageSupplier > xDrawPageSupplier( getSheet(), uno::UNO_QUERY_THROW ); //VBA, minz@cn.ibm.com.
+ uno::Reference< drawing::XDrawPageSupplier > xDrawPageSupplier( getSheet(), uno::UNO_QUERY_THROW );
mxCharts = new ScVbaChartObjects( this, mxContext, xTableCharts, xDrawPageSupplier );
}
if ( Index.hasValue() )
@@ -1072,7 +1071,7 @@ ScVbaWorksheet::getCodeName() throw (css::uno::RuntimeException)
sal_Int16
ScVbaWorksheet::getSheetID() throw (uno::RuntimeException)
{
- uno::Reference< sheet::XCellRangeAddressable > xAddressable( getSheet(), uno::UNO_QUERY_THROW ); //VBA. minz@cn.ibm.com. if ActiveSheet, mxSheet is null.
+ uno::Reference< sheet::XCellRangeAddressable > xAddressable( getSheet(), uno::UNO_QUERY_THROW ); // if ActiveSheet, mxSheet is null.
return xAddressable->getRangeAddress().Sheet;
}
diff --git a/sc/source/ui/vba/vbaworksheet.hxx b/sc/source/ui/vba/vbaworksheet.hxx
index abcdf60398af..3328c3c5b807 100644
--- a/sc/source/ui/vba/vbaworksheet.hxx
+++ b/sc/source/ui/vba/vbaworksheet.hxx
@@ -117,7 +117,7 @@ public:
// Methods
virtual void SAL_CALL Activate() throw (css::uno::RuntimeException);
- virtual void SAL_CALL Select(const css::uno::Any& aReplace) throw (css::uno::RuntimeException); //liuchen 2009-9-2, add the input parameter to support expand selection
+ virtual void SAL_CALL Select(const css::uno::Any& aReplace) throw (css::uno::RuntimeException); // add the input parameter to support expand selection
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Range( const css::uno::Any& Cell1, const css::uno::Any& Cell2 ) throw (css::uno::RuntimeException);
virtual void SAL_CALL Move( const css::uno::Any& Before, const css::uno::Any& After ) throw (css::uno::RuntimeException) ;
virtual void SAL_CALL Copy( const css::uno::Any& Before, const css::uno::Any& After ) throw (css::uno::RuntimeException);
diff --git a/sc/source/ui/vba/vbaworksheets.cxx b/sc/source/ui/vba/vbaworksheets.cxx
index cb345950958b..ed0cc73171cb 100644
--- a/sc/source/ui/vba/vbaworksheets.cxx
+++ b/sc/source/ui/vba/vbaworksheets.cxx
@@ -480,7 +480,7 @@ ScVbaWorksheets::getServiceNames()
return sNames;
}
-/*static*/ bool ScVbaWorksheets::nameExists( uno::Reference <sheet::XSpreadsheetDocument>& xSpreadDoc, const ::rtl::OUString & name, SCTAB& nTab ) throw ( lang::IllegalArgumentException )
+bool ScVbaWorksheets::nameExists( uno::Reference <sheet::XSpreadsheetDocument>& xSpreadDoc, const ::rtl::OUString & name, SCTAB& nTab ) throw ( lang::IllegalArgumentException )
{
if (!xSpreadDoc.is())
throw lang::IllegalArgumentException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "nameExists() xSpreadDoc is null" ) ), uno::Reference< uno::XInterface >(), 1 );
diff --git a/sc/source/ui/view/cellsh.cxx b/sc/source/ui/view/cellsh.cxx
index 7cfa50a4e686..94d75a0fe822 100644
--- a/sc/source/ui/view/cellsh.cxx
+++ b/sc/source/ui/view/cellsh.cxx
@@ -448,7 +448,7 @@ IMPL_LINK( ScCellShell, ClipboardChanged, TransferableDataHelper*, pDataHelper )
}
-void __EXPORT ScCellShell::GetClipState( SfxItemSet& rSet )
+void ScCellShell::GetClipState( SfxItemSet& rSet )
{
// SID_PASTE
// SID_PASTE_SPECIAL
@@ -517,11 +517,7 @@ void ScCellShell::GetHLinkState( SfxItemSet& rSet )
void ScCellShell::GetState(SfxItemSet &rSet)
{
- // removed: SID_BORDER_OBJECT (old Basic)
-
ScTabViewShell* pTabViewShell = GetViewData()->GetViewShell();
-// BOOL bOle = pTabViewShell->GetViewFrame()->GetFrame().IsInPlace();
-// BOOL bTabProt = GetViewData()->GetDocument()->IsTabProtected(GetViewData()->GetTabNo());
ScDocShell* pDocSh = GetViewData()->GetDocShell();
ScViewData* pData = GetViewData();
ScDocument* pDoc = pData->GetDocument();
@@ -742,8 +738,6 @@ void ScCellShell::GetState(SfxItemSet &rSet)
case SID_SELECT_SCENARIO:
{
- // ScDocument* pDoc = GetViewData()->GetDocument();
- // SCTAB nTab = GetViewData()->GetTabNo();
List aList;
Color aDummyCol;
@@ -796,19 +790,6 @@ void ScCellShell::GetState(SfxItemSet &rSet)
rSet.DisableItem( nWhich );
break;
-/* Zellschutz bei selektierten Zellen wird bei anderen Funktionen auch nicht abgefragt...
- case SID_DELETE:
- {
- if ( pDoc->IsTabProtected(nTab) )
- {
- const SfxItemSet& rAttrSet = GetSelectionPattern()->GetItemSet();
- const ScProtectionAttr& rProtAttr = (const ScProtectionAttr&)rAttrSet.Get( ATTR_PROTECTION, TRUE );
- if ( rProtAttr.GetProtection() )
- rSet.DisableItem( nWhich );
- }
- }
- break;
-*/
case SID_OUTLINE_MAKE:
{
if ( GetViewData()->GetDocument()->GetDPAtCursor( GetViewData()->GetCurX(),
@@ -915,10 +896,10 @@ void ScCellShell::GetState(SfxItemSet &rSet)
// look for at least one note in selection
ScRangeList aRanges;
rMark.FillRangeListWithMarks( &aRanges, FALSE );
- ULONG nCount = aRanges.Count();
- for (ULONG nPos=0; nPos<nCount && !bEnable; nPos++)
+ size_t nCount = aRanges.size();
+ for (size_t nPos = 0; nPos < nCount && !bEnable; ++nPos)
{
- ScCellIterator aCellIter( pDoc, *aRanges.GetObject(nPos) );
+ ScCellIterator aCellIter(pDoc, *aRanges[nPos]);
for( ScBaseCell* pCell = aCellIter.GetFirst(); pCell && !bEnable; pCell = aCellIter.GetNext() )
if ( pCell->HasNote() )
bEnable = TRUE; // note found
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index 750d3648631e..410e53de7670 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -103,8 +103,6 @@
#define IS_AVAILABLE(WhichId,ppItem) \
(pReqArgs->GetItemState((WhichId), TRUE, ppItem ) == SFX_ITEM_SET)
-#define C2U(cChar) rtl::OUString::createFromAscii(cChar)
-
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
@@ -1536,7 +1534,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
break;
case SID_SPELL_DIALOG:
-// pTabViewShell->DoSpellingChecker();
{
SfxViewFrame* pViewFrame = pTabViewShell->GetViewFrame();
if( rReq.GetArgs() )
@@ -1567,7 +1564,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
{
Reference< ui::dialogs::XExecutableDialog > xDialog(
xMCF->createInstanceWithContext(
- rtl::OUString::createFromAscii("com.sun.star.linguistic2.ChineseTranslationDialog")
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.linguistic2.ChineseTranslationDialog"))
, xContext), UNO_QUERY);
Reference< lang::XInitialization > xInit( xDialog, UNO_QUERY );
if( xInit.is() )
@@ -1577,7 +1574,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
Sequence<Any> aSeq(1);
Any* pArray = aSeq.getArray();
PropertyValue aParam;
- aParam.Name = rtl::OUString::createFromAscii("ParentWindow");
+ aParam.Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParentWindow"));
aParam.Value <<= makeAny(xDialogParentWindow);
pArray[0] <<= makeAny(aParam);
xInit->initialize( aSeq );
@@ -1595,9 +1592,9 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
{
try
{
- xProp->getPropertyValue( C2U("IsDirectionToSimplified") ) >>= bToSimplified;
- xProp->getPropertyValue( C2U("IsUseCharacterVariants") ) >>= bUseVariants;
- xProp->getPropertyValue( C2U("IsTranslateCommonTerms") ) >>= bCommonTerms;
+ xProp->getPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsDirectionToSimplified")) ) >>= bToSimplified;
+ xProp->getPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsUseCharacterVariants")) ) >>= bUseVariants;
+ xProp->getPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsTranslateCommonTerms")) ) >>= bCommonTerms;
}
catch( Exception& )
{
@@ -1685,8 +1682,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
{
const SfxBoolItem* pOkItem = (const SfxBoolItem*)&pReqArgs->Get( SID_DLG_RETOK );
-// pScMod->SetFunctionDlg( NULL );
-
if ( pOkItem->GetValue() ) // OK
{
String aFormula;
diff --git a/sc/source/ui/view/cellsh2.cxx b/sc/source/ui/view/cellsh2.cxx
index a74a73c85721..00fd916b9687 100644
--- a/sc/source/ui/view/cellsh2.cxx
+++ b/sc/source/ui/view/cellsh2.cxx
@@ -196,7 +196,6 @@ BOOL lcl_GetSortParam( const ScViewData* pData, ScSortParam& rSortParam )
return bSort;
}
-//<!-- Added by PengYunQuan for Validity Cell Range Picker
//after end execute from !IsModalInputMode, it is safer to delay deleting
namespace
{
@@ -206,7 +205,6 @@ namespace
return 0;
}
}
-//--> Added by PengYunQuan for Validity Cell Range Picker
void ScCellShell::ExecuteDB( SfxRequest& rReq )
{
@@ -234,7 +232,7 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
{
uno::Reference<frame::XFrame> xFrame = pViewFrame->GetFrame().GetFrameInterface();
uno::Reference<frame::XFrame> xBeamerFrame = xFrame->findFrame(
- rtl::OUString::createFromAscii("_beamer"),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_beamer")),
frame::FrameSearchFlag::CHILDREN);
if ( xBeamerFrame.is() )
bWasOpen = TRUE;
@@ -338,10 +336,10 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
case SID_DATA_FORM:
{
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
- DBG_ASSERT(pFact, "ScAbstractFactory create fail!");//CHINA001
+ DBG_ASSERT(pFact, "ScAbstractFactory create fail!");
AbstractScDataFormDlg* pDlg = pFact->CreateScDataFormDlg( pTabViewShell->GetDialogParent(),RID_SCDLG_DATAFORM, pTabViewShell);
- DBG_ASSERT(pDlg, "Dialog create fail!");//CHINA001
+ DBG_ASSERT(pDlg, "Dialog create fail!");
pDlg->Execute();
@@ -1131,11 +1129,9 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
pTabViewShell->SetValidation( aData );
rReq.Done( *pOutSet );
}
- //<!-- Modified by PengYunQuan for Validity Cell Range Picker
//after end execute from !IsModalInputMode, it is safer to delay deleting
//delete pDlg;
Application::PostUserEvent( Link( pDlg, &DelayDeleteAbstractDialog ) );
- //--> Modified by PengYunQuan for Validity Cell Range Picker
}
}
break;
@@ -1194,7 +1190,7 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
}
}
-void __EXPORT ScCellShell::GetDBState( SfxItemSet& rSet )
+void ScCellShell::GetDBState( SfxItemSet& rSet )
{
ScTabViewShell* pTabViewShell = GetViewData()->GetViewShell();
ScViewData* pData = GetViewData();
diff --git a/sc/source/ui/view/cellsh3.cxx b/sc/source/ui/view/cellsh3.cxx
index a57835fdf54d..76582b3ab844 100644
--- a/sc/source/ui/view/cellsh3.cxx
+++ b/sc/source/ui/view/cellsh3.cxx
@@ -871,16 +871,7 @@ void ScCellShell::Execute( SfxRequest& rReq )
{
// TODO/LATER: when is this code executed?
pTabViewShell->Escape();
- //SfxObjectShell* pObjSh = GetViewData()->GetSfxDocShell();
- //if (pObjSh->GetInPlaceObject() &&
- // pObjSh->GetInPlaceObject()->GetIPClient())
- //{
- // GetViewData()->GetDocShell()->
- // DoInPlaceActivate(FALSE); // OLE beenden
- //}
}
-
-// SetSumAssignMode(); //ScInputWindow
}
break;
diff --git a/sc/source/ui/view/colrowba.cxx b/sc/source/ui/view/colrowba.cxx
index c94e08803594..0aa828d78941 100644
--- a/sc/source/ui/view/colrowba.cxx
+++ b/sc/source/ui/view/colrowba.cxx
@@ -128,7 +128,6 @@ void ScColBar::SetEntrySize( SCCOLROW nPos, USHORT nNewSize )
nSizeTwips = (USHORT) ( nNewSize / pViewData->GetPPTX() );
ScMarkData& rMark = pViewData->GetMarkData();
-// SCTAB nTab = pViewData->GetTabNo();
SCCOLROW* pRanges = new SCCOLROW[MAXCOL+1];
SCCOL nRangeCnt = 0;
@@ -294,7 +293,6 @@ void ScRowBar::SetEntrySize( SCCOLROW nPos, USHORT nNewSize )
nSizeTwips = (USHORT) ( nNewSize / pViewData->GetPPTY() );
ScMarkData& rMark = pViewData->GetMarkData();
-// SCTAB nTab = pViewData->GetTabNo();
SCCOLROW* pRanges = new SCCOLROW[MAXROW+1];
SCROW nRangeCnt = 0;
diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx
index 2c2df72120fa..7e5b5bd484bb 100644
--- a/sc/source/ui/view/dbfunc3.cxx
+++ b/sc/source/ui/view/dbfunc3.cxx
@@ -456,13 +456,11 @@ void ScDBFunc::DoSubTotals( const ScSubTotalParam& rParam, BOOL bRecord,
ScOutlineTable* pUndoTab = NULL;
ScRangeName* pUndoRange = NULL;
ScDBCollection* pUndoDB = NULL;
- SCTAB nTabCount = 0; // fuer Referenz-Undo
if (bRecord) // alte Daten sichern
{
BOOL bOldFilter = bDo && rParam.bDoSort;
-
- nTabCount = pDoc->GetTableCount();
+ SCTAB nTabCount = pDoc->GetTableCount();
pUndoDoc = new ScDocument( SCDOCMODE_UNDO );
ScOutlineTable* pTable = pDoc->GetOutlineTable( nTab );
if (pTable)
@@ -500,7 +498,6 @@ void ScDBFunc::DoSubTotals( const ScSubTotalParam& rParam, BOOL bRecord,
pUndoDB = new ScDBCollection( *pDocDB );
}
-// pDoc->SetOutlineTable( nTab, NULL );
ScOutlineTable* pOut = pDoc->GetOutlineTable( nTab );
if (pOut)
pOut->GetRowArray()->RemoveAll(); // nur Zeilen-Outlines loeschen
@@ -532,7 +529,6 @@ void ScDBFunc::DoSubTotals( const ScSubTotalParam& rParam, BOOL bRecord,
if (bRecord)
{
-// ScDBData* pUndoDBData = pDBData ? new ScDBData( *pDBData ) : NULL;
pDocSh->GetUndoManager()->AddUndoAction(
new ScUndoSubTotals( pDocSh, nTab,
rParam, aNewParam.nRow2,
@@ -710,8 +706,8 @@ ULONG RefreshDPObject( ScDPObject *pDPObj, ScDocument *pDoc, ScDocShell *pDocSh,
{
//Refresh all dpobjects
ScDPCollection* pDPCollection = pDoc->GetDPCollection();
- USHORT nCount = pDPCollection->GetCount();
- for (USHORT i=0; i<nCount; i++)
+ size_t nCount = pDPCollection->GetCount();
+ for (size_t i=0; i<nCount; ++i)
{
if ( (*pDPCollection)[i]->GetCacheId() == pDPObj->GetCacheId() )
{
@@ -739,8 +735,6 @@ ULONG ScDBFunc::RecalcPivotTable()
GetViewData()->GetTabNo() );
if ( pDPObj )
{
- // Wang Xu Ming -- 2009-6-17
- // DataPilot Migration
//ScDBDocFunc aFunc( *pDocSh );
//aFunc.DataPilotUpdate( pDPObj, pDPObj, TRUE, FALSE );
//CursorPosChanged(); // shells may be switched
@@ -754,7 +748,6 @@ ULONG ScDBFunc::RecalcPivotTable()
else if (nErrId <= USHRT_MAX)
ErrorMessage(static_cast<USHORT>(nErrId));
return nErrId;
- // End Comments
}
else
ErrorMessage(STR_PIVOT_NOTFOUND);
@@ -774,12 +767,12 @@ void ScDBFunc::GetSelectedMemberList( ScStrCollection& rEntries, long& rDimensio
ScRangeListRef xRanges;
GetViewData()->GetMultiArea( xRanges ); // incl. cursor if nothing is selected
- ULONG nRangeCount = xRanges->Count();
+ size_t nRangeCount = xRanges->size();
BOOL bContinue = TRUE;
- for (ULONG nRangePos=0; nRangePos<nRangeCount && bContinue; nRangePos++)
+ for (size_t nRangePos=0; nRangePos < nRangeCount && bContinue; nRangePos++)
{
- ScRange aRange = *xRanges->GetObject(nRangePos);
+ ScRange aRange = *(*xRanges)[nRangePos];
SCCOL nStartCol = aRange.aStart.Col();
SCROW nStartRow = aRange.aStart.Row();
SCCOL nEndCol = aRange.aEnd.Col();
@@ -2173,7 +2166,7 @@ void ScDBFunc::ShowDataPilotSourceData( ScDPObject& rDPObj, const Sequence<sheet
if (!xPropSet.is())
continue;
- Any any = xPropSet->getPropertyValue( rtl::OUString::createFromAscii(SC_UNO_NUMBERFO) );
+ Any any = xPropSet->getPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_NUMBERFO)) );
sal_Int32 nNumFmt = 0;
if (!(any >>= nNumFmt))
continue;
diff --git a/sc/source/ui/view/dbfunc4.cxx b/sc/source/ui/view/dbfunc4.cxx
index a96dc2970875..940ffa5a37d6 100644
--- a/sc/source/ui/view/dbfunc4.cxx
+++ b/sc/source/ui/view/dbfunc4.cxx
@@ -53,7 +53,6 @@ using namespace com::sun::star;
//==================================================================
-// static
USHORT ScDBFunc::DoUpdateCharts( const ScAddress& rPos, ScDocument* pDoc, BOOL bAllCharts )
{
ScDrawLayer* pModel = pDoc->GetDrawLayer();
diff --git a/sc/source/ui/view/drawattr.cxx b/sc/source/ui/view/drawattr.cxx
index 36615b14525d..01809fd60e2e 100644
--- a/sc/source/ui/view/drawattr.cxx
+++ b/sc/source/ui/view/drawattr.cxx
@@ -35,14 +35,14 @@
//------------------------------------------------------------------------
-String __EXPORT SvxDrawToolItem::GetValueText() const
+String SvxDrawToolItem::GetValueText() const
{
return GetValueText(GetValue());
}
//------------------------------------------------------------------------
-String __EXPORT SvxDrawToolItem::GetValueText( USHORT nVal ) const
+String SvxDrawToolItem::GetValueText( USHORT nVal ) const
{
const sal_Char* p;
@@ -65,14 +65,14 @@ String __EXPORT SvxDrawToolItem::GetValueText( USHORT nVal ) const
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT SvxDrawToolItem::Clone( SfxItemPool * ) const
+SfxPoolItem* SvxDrawToolItem::Clone( SfxItemPool * ) const
{
return new SvxDrawToolItem(*this);
}
//------------------------------------------------------------------------
-SfxPoolItem* __EXPORT SvxDrawToolItem::Create( SvStream& rStream, USHORT nVer ) const
+SfxPoolItem* SvxDrawToolItem::Create( SvStream& rStream, USHORT nVer ) const
{
USHORT nVal;
rStream >> nVal;
diff --git a/sc/source/ui/view/drawvie3.cxx b/sc/source/ui/view/drawvie3.cxx
index 3ef141f2c526..4d6c8d84b380 100644
--- a/sc/source/ui/view/drawvie3.cxx
+++ b/sc/source/ui/view/drawvie3.cxx
@@ -62,7 +62,6 @@ ScDrawView::ScDrawView( OutputDevice* pOut, ScViewData* pData ) :
pDropMarker( NULL ),
pDropMarkObj( NULL ),
bInConstruct( TRUE )
- //HMHbDisableHdl( FALSE )
{
// #i73602# Use default from the configuration
SetBufferedOverlayAllowed(getOptionsDrawinglayer().IsOverlayBuffer_Calc());
@@ -75,7 +74,7 @@ ScDrawView::ScDrawView( OutputDevice* pOut, ScViewData* pData ) :
// Verankerung setzen
-void ScDrawView::SetAnchor( ScAnchorType eType )
+void ScDrawView::SetPageAnchored()
{
SdrObject* pObj = NULL;
if( AreObjectsMarked() )
@@ -85,7 +84,7 @@ void ScDrawView::SetAnchor( ScAnchorType eType )
for( ULONG i=0; i<nCount; i++ )
{
pObj = pMark->GetMark(i)->GetMarkedSdrObj();
- ScDrawLayer::SetAnchor( pObj, eType );
+ ScDrawLayer::SetPageAnchored( *pObj );
}
if ( pViewData )
@@ -93,7 +92,28 @@ void ScDrawView::SetAnchor( ScAnchorType eType )
}
}
-ScAnchorType ScDrawView::GetAnchor() const
+void ScDrawView::SetCellAnchored()
+{
+ if (!pDoc)
+ return;
+
+ SdrObject* pObj = NULL;
+ if( AreObjectsMarked() )
+ {
+ const SdrMarkList* pMark = &GetMarkedObjectList();
+ ULONG nCount = pMark->GetMarkCount();
+ for( ULONG i=0; i<nCount; i++ )
+ {
+ pObj = pMark->GetMark(i)->GetMarkedSdrObj();
+ ScDrawLayer::SetCellAnchoredFromPosition(*pObj, *pDoc, nTab);
+ }
+
+ if ( pViewData )
+ pViewData->GetDocShell()->SetDrawModified();
+ }
+}
+
+ScAnchorType ScDrawView::GetAnchorType() const
{
BOOL bPage = FALSE;
BOOL bCell = FALSE;
@@ -106,7 +126,7 @@ ScAnchorType ScDrawView::GetAnchor() const
for( ULONG i=0; i<nCount; i++ )
{
pObj = pMark->GetMark(i)->GetMarkedSdrObj();
- if( ScDrawLayer::GetAnchor( pObj ) == SCA_CELL )
+ if( ScDrawLayer::GetAnchorType( *pObj ) == SCA_CELL )
bCell =TRUE;
else
bPage = TRUE;
@@ -119,7 +139,7 @@ ScAnchorType ScDrawView::GetAnchor() const
return SCA_DONTKNOW;
}
-void __EXPORT ScDrawView::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
+void ScDrawView::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
{
if (rHint.ISA(ScTabDeletedHint)) // Tabelle geloescht
{
@@ -136,6 +156,20 @@ void __EXPORT ScDrawView::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
if ( nTab == ((ScTabSizeChangedHint&)rHint).GetTab() )
UpdateWorkArea();
}
+ else if ( rHint.ISA( SdrHint ) )
+ {
+ if (const SdrHint* pSdrHint = PTR_CAST( SdrHint, &rHint ))
+ {
+ //Update the anchors of any non note object that is cell anchored which has
+ //been moved since the last anchors for its position was calculated
+ if (pSdrHint->GetKind() == HINT_OBJCHG || pSdrHint->GetKind() == HINT_OBJINSERTED)
+ if (SdrObject* pObj = const_cast<SdrObject*>(pSdrHint->GetObject()))
+ if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjData(pObj))
+ if (!pAnchor->mbNote && pAnchor->maLastRect != pObj->GetLogicRect())
+ ScDrawLayer::SetCellAnchoredFromPosition(*pObj, *pDoc, nTab);
+ }
+ FmFormView::Notify( rBC,rHint );
+ }
else
FmFormView::Notify( rBC,rHint );
}
@@ -169,12 +203,8 @@ void ScDrawView::UpdateIMap( SdrObject* pObj )
ScIMapDlgSet( aGraphic, pImageMap, &aTargetList, pObj ); // aus imapwrap
// TargetListe kann von uns wieder geloescht werden
- String* pEntry = aTargetList.First();
- while( pEntry )
- {
- delete pEntry;
- pEntry = aTargetList.Next();
- }
+ for ( size_t i = 0, n = aTargetList.size(); i < n; ++i )
+ delete aTargetList[ i ];
}
}
diff --git a/sc/source/ui/view/drawview.cxx b/sc/source/ui/view/drawview.cxx
index 14b2c02fae00..0941994b02c8 100644
--- a/sc/source/ui/view/drawview.cxx
+++ b/sc/source/ui/view/drawview.cxx
@@ -88,7 +88,6 @@ void ScDrawView::Construct()
EnableExtendedCommandEventDispatcher(FALSE);
SetFrameDragSingles(TRUE);
-// SetSolidMarkHdl(TRUE); // einstellbar -> UpdateUserViewOptions
SetMinMoveDistancePixel( 2 );
SetHitTolerancePixel( 2 );
@@ -114,7 +113,7 @@ void ScDrawView::Construct()
if (pLayer)
{
SetLayerLocked( pLayer->GetName(), bProt );
- SetActiveLayer( pLayer->GetName() ); // FRONT als aktiven Layer setzen
+ SetActiveLayer( pLayer->GetName() ); // set active layer to FRONT
}
pLayer = rAdmin.GetLayerPerID(SC_LAYER_CONTROLS);
if (pLayer)
@@ -149,53 +148,22 @@ void ScDrawView::ImplClearCalcDropMarker()
}
}
-__EXPORT ScDrawView::~ScDrawView()
+ScDrawView::~ScDrawView()
{
ImplClearCalcDropMarker();
}
void ScDrawView::AddCustomHdl()
{
- BOOL bNegativePage = pDoc->IsNegativePage( nTab );
-
const SdrMarkList &rMrkList = GetMarkedObjectList();
UINT32 nCount = rMrkList.GetMarkCount();
for(UINT32 nPos=0; nPos<nCount; nPos++ )
{
- const SdrObject* pObj = rMrkList.GetMark(nPos)->GetMarkedSdrObj();
- if(ScDrawLayer::GetAnchor(pObj) == SCA_CELL)
+ SdrObject* pObj = rMrkList.GetMark(nPos)->GetMarkedSdrObj();
+ if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjDataTab(pObj, nTab))
{
- const INT32 nDelta = 1;
-
- Rectangle aBoundRect = pObj->GetCurrentBoundRect();
- Point aPos;
- if (bNegativePage)
- {
- aPos = aBoundRect.TopRight();
- aPos.X() = -aPos.X(); // so the loop below is the same
- }
- else
- aPos = aBoundRect.TopLeft();
- long nPosX = (long) (aPos.X() / HMM_PER_TWIPS) + nDelta;
- long nPosY = (long) (aPos.Y() / HMM_PER_TWIPS) + nDelta;
-
- SCCOL nCol;
- INT32 nWidth = 0;
-
- for(nCol=0; nCol<=MAXCOL && nWidth<=nPosX; nCol++)
- nWidth += pDoc->GetColWidth(nCol,nTab);
-
- if(nCol > 0)
- --nCol;
-
- SCROW nRow = nPosY <= 0 ? 0 : pDoc->GetRowForHeight( nTab,
- (ULONG) nPosY);
- if(nRow > 0)
- --nRow;
-
- ScTabView* pView = pViewData->GetView();
- ScAddress aScAddress(nCol, nRow, nTab);
- pView->CreateAnchorHandles(aHdl, aScAddress);
+ if (ScTabView* pView = pViewData->GetView())
+ pView->CreateAnchorHandles(aHdl, pAnchor->maStart);
}
}
}
@@ -205,7 +173,7 @@ void ScDrawView::InvalidateAttribs()
if (!pViewData) return;
SfxBindings& rBindings = pViewData->GetBindings();
- // echte Statuswerte:
+ // true status values:
rBindings.InvalidateAll( TRUE );
}
@@ -248,20 +216,6 @@ void ScDrawView::InvalidateDrawTextAttrs()
rBindings.Invalidate( SID_ALIGN_ANY_JUSTIFIED );
}
-//void ScDrawView::DrawMarks( OutputDevice* pOut ) const
-//{
-// DBG_ASSERT(pOut, "ScDrawView::DrawMarks: No OutputDevice (!)");
-// SdrPaintWindow* pPaintWindow = FindPaintWindow(*pOut);
-//
-// if(pPaintWindow)
-// {
-// if(pPaintWindow->isXorVisible())
-// {
-// ToggleShownXor(pOut, 0L);
-// }
-// }
-//}
-
void ScDrawView::SetMarkedToLayer( BYTE nLayerNo )
{
if (AreObjectsMarked())
@@ -416,9 +370,7 @@ void ScDrawView::MarkListHasChanged()
if ( pClient && pClient->IsObjectInPlaceActive() && !bUnoRefDialog )
{
// #41730# beim ViewShell::Activate aus dem Reset2Open nicht die Handles anzeigen
- //HMHbDisableHdl = TRUE;
pClient->DeactivateObject();
- //HMHbDisableHdl = FALSE;
// Image-Ole wieder durch Grafik ersetzen passiert jetzt in ScClient::UIActivate
}
@@ -587,7 +539,7 @@ void ScDrawView::MarkListHasChanged()
}
-void __EXPORT ScDrawView::ModelHasChanged()
+void ScDrawView::ModelHasChanged()
{
SdrObject* pEditObj = GetTextEditObject();
if ( pEditObj && !pEditObj->IsInserted() && pViewData )
@@ -601,7 +553,7 @@ void __EXPORT ScDrawView::ModelHasChanged()
FmFormView::ModelHasChanged();
}
-void __EXPORT ScDrawView::UpdateUserViewOptions()
+void ScDrawView::UpdateUserViewOptions()
{
if (pViewData)
{
@@ -618,9 +570,6 @@ void __EXPORT ScDrawView::UpdateUserViewOptions()
SetSnapEnabled( rGrid.GetUseGridSnap() );
SetGridSnap( rGrid.GetUseGridSnap() );
- // Snap from grid options is no longer used
-// SetSnapGrid( Size( rGrid.GetFldSnapX(), rGrid.GetFldSnapY() ) );
-
Fraction aFractX( rGrid.GetFldDrawX(), rGrid.GetFldDivisionX() + 1 );
Fraction aFractY( rGrid.GetFldDrawY(), rGrid.GetFldDivisionY() + 1 );
SetSnapGridWidth( aFractX, aFractY );
@@ -734,7 +683,7 @@ void ScDrawView::LockCalcLayer( SdrLayerID nLayer, bool bLock )
SetLayerLocked( pLockLayer->GetName(), bLock );
}
-void __EXPORT ScDrawView::MakeVisible( const Rectangle& rRect, Window& rWin )
+void ScDrawView::MakeVisible( const Rectangle& rRect, Window& rWin )
{
//! rWin richtig auswerten
//! ggf Zoom aendern
diff --git a/sc/source/ui/view/editsh.cxx b/sc/source/ui/view/editsh.cxx
index 01e5b5a9a3b1..3b4eff1c0218 100644
--- a/sc/source/ui/view/editsh.cxx
+++ b/sc/source/ui/view/editsh.cxx
@@ -626,7 +626,7 @@ void lcl_DisableAll( SfxItemSet& rSet ) // disable all slots
}
}
-void __EXPORT ScEditShell::GetState( SfxItemSet& rSet )
+void ScEditShell::GetState( SfxItemSet& rSet )
{
// #125326# When deactivating the view, edit mode is stopped, but the EditShell is left active
// (a shell can't be removed from within Deactivate). In that state, the EditView isn't inserted
@@ -747,7 +747,7 @@ IMPL_LINK( ScEditShell, ClipboardChanged, TransferableDataHelper*, pDataHelper )
return 0;
}
-void __EXPORT ScEditShell::GetClipState( SfxItemSet& rSet )
+void ScEditShell::GetClipState( SfxItemSet& rSet )
{
if ( !pClipEvtLstnr )
{
diff --git a/sc/source/ui/view/formatsh.cxx b/sc/source/ui/view/formatsh.cxx
index 6b71dbc61514..d1b2e230ee20 100644
--- a/sc/source/ui/view/formatsh.cxx
+++ b/sc/source/ui/view/formatsh.cxx
@@ -179,7 +179,7 @@ ScFormatShell::~ScFormatShell()
//------------------------------------------------------------------
-void __EXPORT ScFormatShell::GetStyleState( SfxItemSet& rSet )
+void ScFormatShell::GetStyleState( SfxItemSet& rSet )
{
ScDocument* pDoc = GetViewData()->GetDocument();
ScTabViewShell* pTabViewShell = GetViewData()->GetViewShell();
@@ -273,7 +273,7 @@ void __EXPORT ScFormatShell::GetStyleState( SfxItemSet& rSet )
//------------------------------------------------------------------
-void __EXPORT ScFormatShell::ExecuteStyle( SfxRequest& rReq )
+void ScFormatShell::ExecuteStyle( SfxRequest& rReq )
{
// Wenn ToolBar vertikal :
if ( !rReq.GetArgs() )
@@ -330,8 +330,6 @@ void __EXPORT ScFormatShell::ExecuteStyle( SfxRequest& rReq )
String aStyleName;
USHORT nRetMask = 0xffff;
-// #96983# only stylist sends focus to sheet
-// BOOL bGrabFocus = ( SID_STYLE_APPLY == nSlotId );
pStylePool->SetSearchMask( eFamily, SFXSTYLEBIT_ALL );
@@ -373,7 +371,7 @@ void __EXPORT ScFormatShell::ExecuteStyle( SfxRequest& rReq )
com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xInfo;
xStyles->getByName( pNameItem->GetValue() ) >>= xInfo;
::rtl::OUString aUIName;
- xInfo->getPropertyValue( ::rtl::OUString::createFromAscii("DisplayName") ) >>= aUIName;
+ xInfo->getPropertyValue( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DisplayName")) ) >>= aUIName;
if ( aUIName.getLength() )
rReq.AppendItem( SfxStringItem( SID_STYLE_APPLY, aUIName ) );
}
@@ -813,8 +811,6 @@ void __EXPORT ScFormatShell::ExecuteStyle( SfxRequest& rReq )
if ( SFX_STYLE_FAMILY_PARA == eFam )
{
-// pDoc->CellStyleChanged( *pStyleSheet, aOldSet );
-
SfxItemSet& rNewSet = pStyleSheet->GetItemSet();
BOOL bNumFormatChanged;
if ( ScGlobal::CheckWidthInvalidate(
@@ -889,13 +885,8 @@ void __EXPORT ScFormatShell::ExecuteStyle( SfxRequest& rReq )
}
}
-// if ( nRetMask != 0xffff )// Irgendein Wert MUSS geliefert werden JN
rReq.SetReturnValue( SfxUInt16Item( nSlotId, nRetMask ) );
-// #96983# only stylist sends focus to sheet
-// if ( bGrabFocus )
-// pTabViewShell->GetActiveWin()->GrabFocus();
-
if ( bAddUndo && bUndo)
pDocSh->GetUndoManager()->AddUndoAction(
new ScUndoModifyStyle( pDocSh, eFamily, aOldData, aNewData ) );
@@ -1340,7 +1331,6 @@ void ScFormatShell::ExecuteTextAttr( SfxRequest& rReq )
SVX_HOR_JUSTIFY_LEFT : SVX_HOR_JUSTIFY_STANDARD, SID_H_ALIGNCELL ) );
ExecuteSlot( rReq, GetInterface() );
return;
-// APPLY_HOR_JUSTIFY( SVX_HOR_JUSTIFY_LEFT );
//break;
case SID_ALIGNRIGHT:
@@ -1350,7 +1340,6 @@ void ScFormatShell::ExecuteTextAttr( SfxRequest& rReq )
SVX_HOR_JUSTIFY_RIGHT : SVX_HOR_JUSTIFY_STANDARD, SID_H_ALIGNCELL ) );
ExecuteSlot( rReq, GetInterface() );
return;
-// APPLY_HOR_JUSTIFY( SVX_HOR_JUSTIFY_RIGHT );
//break;
case SID_ALIGNCENTERHOR:
@@ -1360,7 +1349,6 @@ void ScFormatShell::ExecuteTextAttr( SfxRequest& rReq )
SVX_HOR_JUSTIFY_CENTER : SVX_HOR_JUSTIFY_STANDARD, SID_H_ALIGNCELL ) );
ExecuteSlot( rReq, GetInterface() );
return;
-// APPLY_HOR_JUSTIFY( SVX_HOR_JUSTIFY_CENTER );
//break;
case SID_ALIGNBLOCK:
@@ -1370,7 +1358,6 @@ void ScFormatShell::ExecuteTextAttr( SfxRequest& rReq )
SVX_HOR_JUSTIFY_BLOCK : SVX_HOR_JUSTIFY_STANDARD, SID_H_ALIGNCELL ) );
ExecuteSlot( rReq, GetInterface() );
return;
-// APPLY_HOR_JUSTIFY( SVX_HOR_JUSTIFY_BLOCK );
//break;
case SID_ALIGNTOP:
@@ -1380,7 +1367,6 @@ void ScFormatShell::ExecuteTextAttr( SfxRequest& rReq )
SVX_VER_JUSTIFY_TOP : SVX_VER_JUSTIFY_STANDARD, SID_V_ALIGNCELL ) );
ExecuteSlot( rReq, GetInterface() );
return;
-// APPLY_VER_JUSTIFY( SVX_VER_JUSTIFY_TOP );
//break;
case SID_ALIGNBOTTOM:
@@ -1390,7 +1376,6 @@ void ScFormatShell::ExecuteTextAttr( SfxRequest& rReq )
SVX_VER_JUSTIFY_BOTTOM : SVX_VER_JUSTIFY_STANDARD, SID_V_ALIGNCELL ) );
ExecuteSlot( rReq, GetInterface() );
return;
-// APPLY_VER_JUSTIFY( SVX_VER_JUSTIFY_BOTTOM );
//break;
case SID_ALIGNCENTERVER:
@@ -1400,7 +1385,6 @@ void ScFormatShell::ExecuteTextAttr( SfxRequest& rReq )
SVX_VER_JUSTIFY_CENTER : SVX_VER_JUSTIFY_STANDARD, SID_V_ALIGNCELL ) );
ExecuteSlot( rReq, GetInterface() );
return;
-// APPLY_VER_JUSTIFY( SVX_VER_JUSTIFY_CENTER );
//break;
default:
@@ -1410,7 +1394,6 @@ void ScFormatShell::ExecuteTextAttr( SfxRequest& rReq )
}
rBindings.Update();
-// rReq.Done();
if( pNewSet )
{
@@ -1737,13 +1720,6 @@ void ScFormatShell::GetAttrState( SfxItemSet& rSet )
rSet.Put( rBrushItem, GetPool().GetWhich(nWhich) );
}
break;
-/* case SID_ATTR_ALIGN_LINEBREAK:
- {
- const SfxBoolItem& rBreakItem = (const SfxBoolItem&)rAttrSet.Get( ATTR_LINEBREAK );
- rSet.Put( rBreakItem, GetPool().GetWhich(nWhich) );
- }
- break;
-*/
}
nWhich = aIter.NextWhich();
}
diff --git a/sc/source/ui/view/galwrap.cxx b/sc/source/ui/view/galwrap.cxx
index 2e5f8f831bad..8dde5477814e 100644
--- a/sc/source/ui/view/galwrap.cxx
+++ b/sc/source/ui/view/galwrap.cxx
@@ -63,7 +63,7 @@ String GalleryGetFullPath()
{
GalleryExplorer* pGal = SVX_GALLERY();
DBG_ASSERT( pGal, "Wo ist die Gallery?" );
-// return pGal->GetPath().GetFull();
+
return pGal->GetURL().GetMainURL(INetURLObject::NO_DECODE);
// URL as stored in GraphicLink must be encoded
}
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index f0fc67c22b76..a1f0555d988c 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -55,6 +55,7 @@
#include <vcl/hatch.hxx>
#include <sot/formats.hxx>
#include <sot/clsids.hxx>
+#include <sal/macros.h>
#include <svx/svdview.hxx> // fuer Command-Handler (COMMAND_INSERTTEXT)
#include <editeng/outliner.hxx> // fuer Command-Handler (COMMAND_INSERTTEXT)
@@ -234,7 +235,7 @@ ScFilterListBox::ScFilterListBox( Window* pParent, ScGridWindow* pGrid,
{
}
-__EXPORT ScFilterListBox::~ScFilterListBox()
+ScFilterListBox::~ScFilterListBox()
{
if (IsMouseCaptured())
ReleaseMouse();
@@ -251,7 +252,7 @@ void ScFilterListBox::EndInit()
bInit = FALSE;
}
-void __EXPORT ScFilterListBox::LoseFocus()
+void ScFilterListBox::LoseFocus()
{
#ifndef UNX
Hide();
@@ -286,13 +287,13 @@ long ScFilterListBox::PreNotify( NotifyEvent& rNEvt )
return nDone ? nDone : ListBox::PreNotify( rNEvt );
}
-void __EXPORT ScFilterListBox::Select()
+void ScFilterListBox::Select()
{
ListBox::Select();
SelectHdl();
}
-void __EXPORT ScFilterListBox::SelectHdl()
+void ScFilterListBox::SelectHdl()
{
if ( !IsTravelSelect() && !bInit && !bCancelled )
{
@@ -475,7 +476,6 @@ ScGridWindow::ScGridWindow( Window* pParent, ScViewData* pData, ScSplitPos eWhic
SetBackground();
SetMapMode(pViewData->GetLogicMode(eWhich));
-// EnableDrop();
EnableChildTransparentMode();
SetDialogControlFlags( WINDOW_DLGCTRL_RETURN | WINDOW_DLGCTRL_WANTFOCUS );
@@ -486,7 +486,7 @@ ScGridWindow::ScGridWindow( Window* pParent, ScViewData* pData, ScSplitPos eWhic
EnableRTL( FALSE );
}
-__EXPORT ScGridWindow::~ScGridWindow()
+ScGridWindow::~ScGridWindow()
{
// #114409#
ImpDestroyOverlayObjects();
@@ -496,7 +496,7 @@ __EXPORT ScGridWindow::~ScGridWindow()
delete pNoteMarker;
}
-void __EXPORT ScGridWindow::Resize( const Size& )
+void ScGridWindow::Resize( const Size& )
{
// gar nix
}
@@ -795,11 +795,6 @@ void ScGridWindow::DoScenarioMenue( const ScRange& rScenRange )
}
// SetSize spaeter
-/*
- pFilterBox->SetSelectionMode( SINGLE_SELECTION );
- pFilterBox->SetTabs( nFilterBoxTabs, MapUnit( MAP_APPFONT ));
- pFilterBox->SetTabJustify( 1, bLayoutRTL ? AdjustRight : AdjustLeft );
-*/
// ParentSize Abfrage fehlt
Size aSize( nSizeX, nHeight );
@@ -859,18 +854,14 @@ void ScGridWindow::DoScenarioMenue( const ScRange& rScenRange )
pFilterBox->SetUpdateMode(TRUE);
pFilterBox->GrabFocus();
- // Select erst nach GrabFocus, damit das Focus-Rechteck richtig landet
-//! SvLBoxEntry* pSelect = NULL;
USHORT nPos = LISTBOX_ENTRY_NOTFOUND;
if (aCurrent.Len())
{
nPos = pFilterBox->GetEntryPos( aCurrent );
-//! pSelect = pFilterBox->GetEntry( nPos );
}
- if (/*!pSelect*/ LISTBOX_ENTRY_NOTFOUND == nPos && pFilterBox->GetEntryCount() > 0 )
+ if (LISTBOX_ENTRY_NOTFOUND == nPos && pFilterBox->GetEntryCount() > 0 )
nPos = 0;
-//! pSelect = pFilterBox->GetEntry(0); // einer sollte immer selektiert sein
- if (/*pSelect*/ LISTBOX_ENTRY_NOTFOUND != nPos )
+ if (LISTBOX_ENTRY_NOTFOUND != nPos )
pFilterBox->SelectEntryPos(nPos);
pFilterBox->EndInit();
@@ -926,11 +917,6 @@ void ScGridWindow::DoAutoFilterMenue( SCCOL nCol, SCROW nRow, BOOL bDataSelect )
}
// SetSize spaeter
-/*
- pFilterBox->SetSelectionMode( SINGLE_SELECTION );
- pFilterBox->SetTabs( nFilterBoxTabs, MapUnit( MAP_APPFONT ));
- pFilterBox->SetTabJustify( 1, bLayoutRTL ? AdjustRight : AdjustLeft );
-*/
BOOL bEmpty = FALSE;
TypedScStrCollection aStrings( 128, 128 );
@@ -953,7 +939,7 @@ void ScGridWindow::DoAutoFilterMenue( SCCOL nCol, SCROW nRow, BOOL bDataSelect )
// default entries
static const USHORT nDefIDs[] = { SCSTR_ALLFILTER, SCSTR_TOP10FILTER, SCSTR_STDFILTER, SCSTR_EMPTY, SCSTR_NOTEMPTY };
- const USHORT nDefCount = sizeof(nDefIDs) / sizeof(USHORT);
+ const USHORT nDefCount = SAL_N_ELEMENTS(nDefIDs);
for (i=0; i<nDefCount; i++)
{
String aEntry( (ScResId) nDefIDs[i] );
@@ -1030,7 +1016,6 @@ void ScGridWindow::DoAutoFilterMenue( SCCOL nCol, SCROW nRow, BOOL bDataSelect )
pFilterBox->SetUpdateMode(TRUE);
}
-//! SvLBoxEntry* pSelect = NULL;
USHORT nSelPos = LISTBOX_ENTRY_NOTFOUND;
if (!bDataSelect) // AutoFilter: aktiven Eintrag selektieren
@@ -1059,7 +1044,6 @@ void ScGridWindow::DoAutoFilterMenue( SCCOL nCol, SCROW nRow, BOOL bDataSelect )
if (pStr)
{
nSelPos = pFilterBox->GetEntryPos( *pStr );
-//! pSelect = pFilterBox->GetEntry( nPos );
}
}
else if (rEntry.eOp == SC_TOPVAL && rEntry.pStr &&
@@ -1130,7 +1114,6 @@ void ScGridWindow::DoAutoFilterMenue( SCCOL nCol, SCROW nRow, BOOL bDataSelect )
}
else
{
-// pFilterBox->Show(); // schon vorne
pFilterBox->GrabFocus();
// Select erst nach GrabFocus, damit das Focus-Rechteck richtig landet
@@ -1157,17 +1140,7 @@ void ScGridWindow::DoAutoFilterMenue( SCCOL nCol, SCROW nRow, BOOL bDataSelect )
void ScGridWindow::FilterSelect( ULONG nSel )
{
- String aString;
-/*
- SvLBoxEntry* pEntry = pFilterBox->GetEntry( nSel );
- if (pEntry)
- {
- SvLBoxString* pStringEntry = (SvLBoxString*) pEntry->GetFirstItem( SV_ITEM_ID_LBOXSTRING );
- if ( pStringEntry )
- aString = pStringEntry->GetText();
- }
-*/
- aString = pFilterBox->GetEntry( static_cast< USHORT >( nSel ) );
+ String aString = pFilterBox->GetEntry( static_cast< USHORT >( nSel ) );
SCCOL nCol = pFilterBox->GetCol();
SCROW nRow = pFilterBox->GetRow();
@@ -1464,14 +1437,13 @@ BOOL ScGridWindow::TestMouse( const MouseEvent& rMEvt, BOOL bAction )
if (!bNewPointer && bAction)
{
-// SetPointer( POINTER_ARROW ); // in Fu...
pViewData->ResetFillMode();
}
return bNewPointer;
}
-void __EXPORT ScGridWindow::MouseButtonDown( const MouseEvent& rMEvt )
+void ScGridWindow::MouseButtonDown( const MouseEvent& rMEvt )
{
nNestedButtonState = SC_NESTEDBUTTON_DOWN;
@@ -1542,7 +1514,6 @@ void ScGridWindow::HandleMouseButtonDown( const MouseEvent& rMEvt )
if ( !nButtonDown || !bDouble ) // single (first) click is always valid
nButtonDown = rMEvt.GetButtons(); // set nButtonDown first, so StopMarking works
-// pViewData->GetViewShell()->GetViewFrame()->GetWindow().GrabFocus();
if ( ( bEditMode && pViewData->GetActivePart() == eWhich ) || !bFormulaMode )
GrabFocus();
@@ -1639,7 +1610,6 @@ void ScGridWindow::HandleMouseButtonDown( const MouseEvent& rMEvt )
if ( pViewData->GetActivePart() != eWhich )
pViewData->GetView()->ActivatePart( eWhich ); //! schon oben immer ???
- // CaptureMouse();
StartTracking();
return;
}
@@ -1660,7 +1630,6 @@ void ScGridWindow::HandleMouseButtonDown( const MouseEvent& rMEvt )
if (nPagebreakMouse)
{
bPagebreakDrawn = FALSE;
- // CaptureMouse();
StartTracking();
PagebreakMove( rMEvt, FALSE );
return;
@@ -1671,8 +1640,6 @@ void ScGridWindow::HandleMouseButtonDown( const MouseEvent& rMEvt )
{
if ( !bCrossPointer && DrawMouseButtonDown(rMEvt) )
{
- //if (DrawHasMarkedObj())
- // pViewData->GetViewShell()->SetDrawShellOrSub(); // Draw-Objekt selektiert
return;
}
@@ -1792,7 +1759,7 @@ void ScGridWindow::HandleMouseButtonDown( const MouseEvent& rMEvt )
}
}
-void __EXPORT ScGridWindow::MouseButtonUp( const MouseEvent& rMEvt )
+void ScGridWindow::MouseButtonUp( const MouseEvent& rMEvt )
{
aCurMousePos = rMEvt.GetPosPixel();
ScDocument* pDoc = pViewData->GetDocument();
@@ -1925,8 +1892,6 @@ void __EXPORT ScGridWindow::MouseButtonUp( const MouseEvent& rMEvt )
SCCOL nEndCol;
SCROW nEndRow;
pViewData->GetFillData( nStartCol, nStartRow, nEndCol, nEndRow );
-// DBG_ASSERT( nStartCol==pViewData->GetRefStartX() && nStartRow==pViewData->GetRefStartY(),
-// "Block falsch fuer AutoFill" );
ScRange aDelRange;
BOOL bIsDel = pViewData->GetDelMark( aDelRange );
@@ -2183,7 +2148,6 @@ void __EXPORT ScGridWindow::MouseButtonUp( const MouseEvent& rMEvt )
if ( rMEvt.IsLeft() && pViewData->GetView()->GetSelEngine()->SelMouseButtonUp( rMEvt ) )
{
-// rMark.MarkToSimple();
pViewData->GetView()->SelectionChanged();
SfxDispatcher* pDisp = pViewData->GetViewShell()->GetDispatcher();
@@ -2200,8 +2164,6 @@ void __EXPORT ScGridWindow::MouseButtonUp( const MouseEvent& rMEvt )
String aAddr; // CurrentCell
if( rMark.IsMarked() )
{
-// BOOL bKeep = rMark.IsMultiMarked(); //! wohin damit ???
-
ScRange aScRange;
rMark.GetMarkArea( aScRange );
aScRange.Format( aAddr, SCR_ABS );
@@ -2245,7 +2207,7 @@ void ScGridWindow::FakeButtonUp()
}
}
-void __EXPORT ScGridWindow::MouseMove( const MouseEvent& rMEvt )
+void ScGridWindow::MouseMove( const MouseEvent& rMEvt )
{
aCurMousePos = rMEvt.GetPosPixel();
@@ -2635,7 +2597,7 @@ void lcl_SetTextCursorPos( ScViewData* pViewData, ScSplitPos eWhich, Window* pWi
pWin->SetCursorRect( &aEditArea );
}
-void __EXPORT ScGridWindow::Command( const CommandEvent& rCEvt )
+void ScGridWindow::Command( const CommandEvent& rCEvt )
{
// The command event is send to the window after a possible context
// menu from an inplace client is closed. Now we have the chance to
@@ -3075,7 +3037,7 @@ static void ClearSingleSelection( ScViewData* pViewData )
}
}
-void __EXPORT ScGridWindow::KeyInput(const KeyEvent& rKEvt)
+void ScGridWindow::KeyInput(const KeyEvent& rKEvt)
{
// #96965# Cursor control for ref input dialog
const KeyCode& rKeyCode = rKEvt.GetKeyCode();
@@ -3211,10 +3173,6 @@ void ScGridWindow::UpdateInputContext()
BOOL ScGridWindow::DropScroll( const Point& rMousePos )
{
-/* doch auch auf nicht aktiven Views...
- if ( !pViewData->IsActive() )
- return FALSE;
-*/
SCsCOL nDx = 0;
SCsROW nDy = 0;
Size aSize = GetOutputSizePixel();
@@ -3238,16 +3196,10 @@ BOOL ScGridWindow::DropScroll( const Point& rMousePos )
if ( nDx != 0 || nDy != 0 )
{
-// if (bDragRect)
-// pViewData->GetView()->DrawDragRect( nDragStartX, nDragStartY, nDragEndX, nDragEndY, eWhich );
-
if ( nDx != 0 )
pViewData->GetView()->ScrollX( nDx, WhichH(eWhich) );
if ( nDy != 0 )
pViewData->GetView()->ScrollY( nDy, WhichV(eWhich) );
-
-// if (bDragRect)
-// pViewData->GetView()->DrawDragRect( nDragStartX, nDragStartY, nDragEndX, nDragEndY, eWhich );
}
return FALSE;
@@ -3314,8 +3266,6 @@ sal_Int8 ScGridWindow::AcceptPrivateDrop( const AcceptDropEvent& rEvt )
{
if ( rEvt.mbLeaving )
{
- // if (bDragRect)
- // pViewData->GetView()->DrawDragRect( nDragStartX, nDragStartY, nDragEndX, nDragEndY, eWhich );
bDragRect = FALSE;
UpdateDragRectOverlay();
return rEvt.mnAction;
@@ -3345,7 +3295,6 @@ sal_Int8 ScGridWindow::AcceptPrivateDrop( const AcceptDropEvent& rEvt )
{
if (bDragRect) // Rechteck loeschen
{
- // pViewData->GetView()->DrawDragRect( nDragStartX, nDragStartY, nDragEndX, nDragEndY, eWhich );
bDragRect = FALSE;
UpdateDragRectOverlay();
}
@@ -3353,15 +3302,9 @@ sal_Int8 ScGridWindow::AcceptPrivateDrop( const AcceptDropEvent& rEvt )
//! highlight chart? (selection border?)
sal_Int8 nRet = rEvt.mnAction;
-//! if ( rEvt.GetAction() == DROP_LINK )
-//! bOk = rEvt.SetAction( DROP_COPY ); // can't link onto chart
return nRet;
}
}
-//! else
-//! if ( rEvt.GetAction() == DROP_MOVE )
-//! rEvt.SetAction( DROP_COPY ); // different doc: default=COPY
-
if ( rData.pCellTransfer->GetDragSourceFlags() & SC_DROP_TABLE ) // whole sheet?
{
@@ -3402,7 +3345,6 @@ sal_Int8 ScGridWindow::AcceptPrivateDrop( const AcceptDropEvent& rEvt )
{
if (bDragRect)
{
- // pViewData->GetView()->DrawDragRect( nDragStartX, nDragStartY, nDragEndX, nDragEndY, eWhich );
bDragRect = FALSE;
UpdateDragRectOverlay();
}
@@ -3520,9 +3462,6 @@ sal_Int8 ScGridWindow::AcceptPrivateDrop( const AcceptDropEvent& rEvt )
nDragStartX+nSizeX-1 != nDragEndX || nDragStartY+nSizeY-1 != nDragEndY ||
!bDragRect || eDragInsertMode != meDragInsertMode )
{
- // if (bDragRect)
- // pViewData->GetView()->DrawDragRect( nDragStartX, nDragStartY, nDragEndX, nDragEndY, eWhich );
-
nDragStartX = nNewDragX;
nDragStartY = nNewDragY;
nDragEndX = nDragStartX+nSizeX-1;
@@ -3530,8 +3469,6 @@ sal_Int8 ScGridWindow::AcceptPrivateDrop( const AcceptDropEvent& rEvt )
bDragRect = TRUE;
meDragInsertMode = eDragInsertMode;
- // pViewData->GetView()->DrawDragRect( nDragStartX, nDragStartY, nDragEndX, nDragEndY, eWhich );
-
UpdateDragRectOverlay();
}
}
@@ -3813,8 +3750,6 @@ ULONG lcl_GetDropLinkId( const uno::Reference<datatransfer::XTransferable>& xTra
sal_Int8 ScGridWindow::ExecutePrivateDrop( const ExecuteDropEvent& rEvt )
{
// hide drop marker
- // if (bDragRect)
- // pViewData->GetView()->DrawDragRect( nDragStartX, nDragStartY, nDragEndX, nDragEndY, eWhich );
bDragRect = FALSE;
UpdateDragRectOverlay();
@@ -4410,7 +4345,6 @@ void ScGridWindow::ScrollPixel( long nDifX, long nDifY )
HideNoteMarker();
bIsInScroll = TRUE;
- //BOOL bXor=DrawBeforeScroll();
SetMapMode(MAP_PIXEL);
Scroll( nDifX, nDifY, SCROLL_CHILDREN );
@@ -4418,7 +4352,7 @@ void ScGridWindow::ScrollPixel( long nDifX, long nDifY )
UpdateEditViewPos();
- DrawAfterScroll(); //bXor);
+ DrawAfterScroll();
bIsInScroll = FALSE;
}
@@ -4566,7 +4500,7 @@ void ScGridWindow::ShowCursor()
--nCursorHideCount;
}
-void __EXPORT ScGridWindow::GetFocus()
+void ScGridWindow::GetFocus()
{
ScTabViewShell* pViewShell = pViewData->GetViewShell();
pViewShell->GotFocus();
@@ -4589,7 +4523,7 @@ void __EXPORT ScGridWindow::GetFocus()
Window::GetFocus();
}
-void __EXPORT ScGridWindow::LoseFocus()
+void ScGridWindow::LoseFocus()
{
ScTabViewShell* pViewShell = pViewData->GetViewShell();
pViewShell->LostFocus();
@@ -4626,8 +4560,6 @@ BOOL ScGridWindow::HitRangeFinder( const Point& rMouse, BOOL& rCorner,
// zusammengefasste (einzeln/Bereich) ???
ScAddress aAddr( nPosX, nPosY, nTab );
-// Point aNext = pViewData->GetScrPos( nPosX+1, nPosY+1, eWhich );
-
Point aNext = pViewData->GetScrPos( nPosX, nPosY, eWhich, TRUE );
long nSizeXPix;
long nSizeYPix;
@@ -5071,7 +5003,6 @@ BOOL ScGridWindow::GetEditUrlOrError( BOOL bSpellErr, const Point& rPos,
Point aLogicClick = PixelToLogic(rPos,aEditMode);
if ( aLogicEdit.IsInside(aLogicClick) )
{
-// aEngine.SetUpdateMode(FALSE);
EditView aTempView( &aEngine, this );
aTempView.SetOutputArea( aLogicEdit );
@@ -5143,10 +5074,10 @@ BOOL ScGridWindow::HasScenarioButton( const Point& rPosPixel, ScRange& rScenRang
aMarks.FillRangeListWithMarks( &aRanges, FALSE );
- ULONG nRangeCount = aRanges.Count();
- for (ULONG j=0; j<nRangeCount; j++)
+ size_t nRangeCount = aRanges.size();
+ for (size_t j=0; j< nRangeCount; ++j)
{
- ScRange aRange = *aRanges.GetObject(j);
+ ScRange aRange = *aRanges[j];
// Szenario-Rahmen immer dann auf zusammengefasste Zellen erweitern, wenn
// dadurch keine neuen nicht-ueberdeckten Zellen mit umrandet werden
pDoc->ExtendTotalMerge( aRange );
@@ -5267,8 +5198,9 @@ void ScGridWindow::UpdateCopySourceOverlay()
ScClipParam& rClipParam = pClipDoc->GetClipParam();
mpOOSelectionBorder = new ::sdr::overlay::OverlayObjectList;
- for (ScRange* p = rClipParam.maRanges.First(); p; p = rClipParam.maRanges.Next())
+ for ( size_t i = 0; i < rClipParam.maRanges.size(); ++i )
{
+ ScRange* p = rClipParam.maRanges[i];
if (p->aStart.Tab() != nCurTab)
continue;
@@ -5637,7 +5569,6 @@ void ScGridWindow::UpdateDragRectOverlay()
aScrPos.X() -= 2 * nLayoutSign;
aScrPos.Y() -= 2;
-// Rectangle aRect( aScrPos, Size( nSizeXPix + 3, nSizeYPix + 3 ) );
Rectangle aRect( aScrPos.X(), aScrPos.Y(),
aScrPos.X() + ( nSizeXPix + 2 ) * nLayoutSign, aScrPos.Y() + nSizeYPix + 2 );
if ( bLayoutRTL )
@@ -5673,7 +5604,6 @@ void ScGridWindow::UpdateDragRectOverlay()
if(pOverlayManager)
{
- // Color aHighlight = GetSettings().GetStyleSettings().GetHighlightColor();
std::vector< basegfx::B2DRange > aRanges;
const basegfx::B2DHomMatrix aTransform(GetInverseViewTransformation());
@@ -5793,7 +5723,6 @@ void ScGridWindow::UpdateShrinkOverlay()
if(pOverlayManager)
{
- // Color aHighlight = GetSettings().GetStyleSettings().GetHighlightColor();
std::vector< basegfx::B2DRange > aRanges;
const basegfx::B2DHomMatrix aTransform(GetInverseViewTransformation());
basegfx::B2DRange aRB(aPixRect.Left(), aPixRect.Top(), aPixRect.Right() + 1, aPixRect.Bottom() + 1);
diff --git a/sc/source/ui/view/gridwin2.cxx b/sc/source/ui/view/gridwin2.cxx
index dd19b66fcf25..ac0da9f44e25 100644
--- a/sc/source/ui/view/gridwin2.cxx
+++ b/sc/source/ui/view/gridwin2.cxx
@@ -471,7 +471,7 @@ void ScGridWindow::DPLaunchFieldPopupMenu(
const ScDPLabelData& rLabelData = *pDPData->maDPParam.maLabelArray[pDPData->mnDim];
mpDPFieldPopup.reset(new ScDPFieldPopupWindow(this, pViewData->GetDocument()));
- mpDPFieldPopup->setName(OUString::createFromAscii("DataPilot field member popup"));
+ mpDPFieldPopup->setName(OUString(RTL_CONSTASCII_USTRINGPARAM("DataPilot field member popup")));
mpDPFieldPopup->setExtendedData(pDPData.release());
mpDPFieldPopup->setOKAction(new DPFieldPopupOKAction(this));
{
@@ -639,8 +639,6 @@ void ScGridWindow::UpdateDragRect( BOOL bShowRange, const Rectangle& rPosRect )
return; // everything unchanged
}
- // if ( bDragRect )
- // DrawDragRect( nDragStartX, nDragStartY, nDragEndX, nDragEndY, FALSE );
if ( bShowRange )
{
nDragStartX = nStartX;
@@ -648,7 +646,6 @@ void ScGridWindow::UpdateDragRect( BOOL bShowRange, const Rectangle& rPosRect )
nDragEndX = nEndX;
nDragEndY = nEndY;
bDragRect = TRUE;
- // DrawDragRect( nDragStartX, nDragStartY, nDragEndX, nDragEndY, FALSE );
}
else
bDragRect = FALSE;
@@ -814,8 +811,6 @@ void ScGridWindow::PagebreakMove( const MouseEvent& rMEvt, BOOL bUp )
{
if ( bPagebreakDrawn ) // weginvertieren
{
- // DrawDragRect( aPagebreakDrag.aStart.Col(), aPagebreakDrag.aStart.Row(),
- // aPagebreakDrag.aEnd.Col(), aPagebreakDrag.aEnd.Row(), FALSE );
bPagebreakDrawn = FALSE;
UpdateDragRectOverlay();
}
@@ -922,16 +917,12 @@ void ScGridWindow::PagebreakMove( const MouseEvent& rMEvt, BOOL bUp )
if ( bPagebreakDrawn )
{
// weginvertieren
- // DrawDragRect( aPagebreakDrag.aStart.Col(), aPagebreakDrag.aStart.Row(),
- // aPagebreakDrag.aEnd.Col(), aPagebreakDrag.aEnd.Row(), FALSE );
bPagebreakDrawn = FALSE;
}
aPagebreakDrag = aDrawRange;
if ( !bUp && !bHide )
{
// hininvertieren
- // DrawDragRect( aPagebreakDrag.aStart.Col(), aPagebreakDrag.aStart.Row(),
- // aPagebreakDrag.aEnd.Col(), aPagebreakDrag.aEnd.Row(), FALSE );
bPagebreakDrawn = TRUE;
}
UpdateDragRectOverlay();
diff --git a/sc/source/ui/view/gridwin3.cxx b/sc/source/ui/view/gridwin3.cxx
index 4940fba35f82..20a889e391b1 100644
--- a/sc/source/ui/view/gridwin3.cxx
+++ b/sc/source/ui/view/gridwin3.cxx
@@ -287,19 +287,6 @@ MapMode ScGridWindow::GetDrawMapMode( BOOL bForce )
return aDrawMode;
}
-//BOOL ScGridWindow::DrawBeforeScroll()
-//{
-// ScDrawView* pDrView = pViewData->GetView()->GetScDrawView();
-//
-// BOOL bXor = FALSE;
-// if (pDrView)
-// {
-// bXor=pDrView->IsShownXorVisible(this);
-// if (bXor) pDrView->HideShownXor(this);
-// }
-// return bXor;
-//}
-
void ScGridWindow::DrawAfterScroll(/*BOOL bVal*/)
{
Update(); // immer, damit das Verhalten mit/ohne DrawingLayer gleich ist
@@ -307,28 +294,12 @@ void ScGridWindow::DrawAfterScroll(/*BOOL bVal*/)
ScDrawView* pDrView = pViewData->GetView()->GetScDrawView();
if (pDrView)
{
- //if (bVal)
- // pDrView->ShowShownXor(this);
-
OutlinerView* pOlView = pDrView->GetTextEditOutlinerView();
if (pOlView && pOlView->GetWindow() == this)
pOlView->ShowCursor(FALSE); // ist beim Scrollen weggekommen
}
}
-//void ScGridWindow::DrawMarks()
-//{
-// ScDrawView* pDrView = pViewData->GetView()->GetScDrawView();
-// if (pDrView)
-// pDrView->DrawMarks(this);
-//}
-
-//BOOL ScGridWindow::NeedDrawMarks()
-//{
-// ScDrawView* pDrView = pViewData->GetView()->GetScDrawView();
-// return pDrView && pDrView->IsMarkHdlShown() && pDrView->AreObjectsMarked();
-//}
-
void ScGridWindow::CreateAnchorHandle(SdrHdlList& rHdl, const ScAddress& rAddress)
{
ScDrawView* pDrView = pViewData->GetView()->GetScDrawView();
@@ -417,22 +388,6 @@ BOOL ScGridWindow::DrawHasMarkedObj()
return p ? p->AreObjectsMarked() : FALSE;
}
-//void ScGridWindow::DrawStartTimer()
-//{
- //ScDrawView* pDrView = pViewData->GetView()->GetScDrawView();
- //if (pDrView)
- //{
- /* jetzt in DrawMarks
- USHORT nWinNum = pDrView->FindWin(this);
- if (nWinNum!=SDRVIEWWIN_NOTFOUND)
- pDrView->AfterInitRedraw(nWinNum);
- */
-
- // pDrView->PostPaint();
- // pDrView->RestartAfterPaintTimer();
- //}
-//}
-
void ScGridWindow::DrawMarkDropObj( SdrObject* pObj )
{
ScDrawView* pDrView = pViewData->GetView()->GetScDrawView();
diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx
index 66358f6f8907..3a62132f2a8e 100644
--- a/sc/source/ui/view/gridwin4.cxx
+++ b/sc/source/ui/view/gridwin4.cxx
@@ -84,9 +84,7 @@
void lcl_LimitRect( Rectangle& rRect, const Rectangle& rVisible )
{
if ( rRect.Top() < rVisible.Top()-1 ) rRect.Top() = rVisible.Top()-1;
-// if ( rRect.Left() < rVisible.Left()-1 ) rRect.Left() = rVisible.Left()-1;
if ( rRect.Bottom() > rVisible.Bottom()+1 ) rRect.Bottom() = rVisible.Bottom()+1;
-// if ( rRect.Right() > rVisible.Right()+1 ) rRect.Right() = rVisible.Right()+1;
// #51122# auch wenn das inner-Rectangle nicht sichtbar ist, muss evtl.
// die Titelzeile gezeichnet werden, darum kein Rueckgabewert mehr.
@@ -220,10 +218,9 @@ void lcl_DrawScenarioFrames( OutputDevice* pDev, ScViewData* pViewData, ScSplitP
BOOL bLayoutRTL = pDoc->IsLayoutRTL( nTab );
long nLayoutSign = bLayoutRTL ? -1 : 1;
- USHORT nRangeCount = (USHORT)xRanges->Count();
- for (USHORT j=0; j<nRangeCount; j++)
+ for (size_t j = 0, n = xRanges->size(); j < n; ++j)
{
- ScRange aRange = *xRanges->GetObject(j);
+ ScRange aRange = *(*xRanges)[j];
// Szenario-Rahmen immer dann auf zusammengefasste Zellen erweitern, wenn
// dadurch keine neuen nicht-ueberdeckten Zellen mit umrandet werden
pDoc->ExtendTotalMerge( aRange );
@@ -297,8 +294,6 @@ void lcl_DrawHighlight( ScOutputData& rOutputData, ScViewData* pViewData,
void ScGridWindow::DoInvertRect( const Rectangle& rPixel )
{
-// Invert( PixelToLogic(rPixel) );
-
if ( rPixel == aInvertRect )
aInvertRect = Rectangle(); // aufheben
else
@@ -313,7 +308,7 @@ void ScGridWindow::DoInvertRect( const Rectangle& rPixel )
//------------------------------------------------------------------------
-void __EXPORT ScGridWindow::PrePaint()
+void ScGridWindow::PrePaint()
{
// forward PrePaint to DrawingLayer
ScTabViewShell* pTabViewShell = pViewData->GetViewShell();
@@ -331,7 +326,7 @@ void __EXPORT ScGridWindow::PrePaint()
//------------------------------------------------------------------------
-void __EXPORT ScGridWindow::Paint( const Rectangle& rRect )
+void ScGridWindow::Paint( const Rectangle& rRect )
{
//TODO/LATER: how to get environment? Do we need that?!
/*
@@ -807,11 +802,6 @@ void ScGridWindow::Draw( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, ScUpdateMod
pContentDev->SetMapMode(MAP_PIXEL);
-#ifdef OLD_SELECTION_PAINT
- if (pViewData->IsActive())
- aOutputData.DrawMark( this );
-#endif
-
if ( pViewData->IsRefMode() && nTab >= pViewData->GetRefStartZ() && nTab <= pViewData->GetRefEndZ() )
{
Color aRefColor( rColorCfg.GetColorValue(svtools::CALCREFERENCE).nColor );
@@ -1373,41 +1363,6 @@ BOOL ScGridWindow::IsAutoFilterActive( SCCOL nCol, SCROW nRow, SCTAB nTab )
return ( bSimpleQuery && bColumnFound );
}
-void ScGridWindow::DrawComboButton( const Point& rCellPos,
- long nCellSizeX,
- long nCellSizeY,
- BOOL bArrowState,
- BOOL bBtnIn )
-{
- Point aScrPos = rCellPos;
- Size aBtnSize = aComboButton.GetSizePixel();
-
- if ( nCellSizeX < aBtnSize.Width() || nCellSizeY < aBtnSize.Height() )
- {
- if ( nCellSizeX < aBtnSize.Width() )
- aBtnSize.Width() = nCellSizeX;
-
- if ( nCellSizeY < aBtnSize.Height() )
- aBtnSize.Height() = nCellSizeY;
-
- aComboButton.SetSizePixel( aBtnSize );
- }
-
- BOOL bLayoutRTL = pViewData->GetDocument()->IsLayoutRTL( pViewData->GetTabNo() );
-
- if ( bLayoutRTL )
- aScrPos.X() -= nCellSizeX - 1;
- else
- aScrPos.X() += nCellSizeX - aBtnSize.Width();
- aScrPos.Y() += nCellSizeY - aBtnSize.Height();
-
- aComboButton.SetPosPixel( aScrPos );
-
- HideCursor();
- aComboButton.Draw( bArrowState, bBtnIn );
- ShowCursor();
-}
-
void ScGridWindow::InvertSimple( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
BOOL bTestMerge, BOOL bRepeat )
{
@@ -1471,7 +1426,6 @@ void ScGridWindow::InvertSimple( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
if (bTestMerge)
if (bWasHidden) // auf versteckte zusammengefasste testen
{
-// --nY; // nY geaendert -> vorherige zeichnen
bDoHidden = TRUE;
bDoRow = TRUE;
}
@@ -1756,8 +1710,6 @@ void ScGridWindow::GetSelectionRects( ::std::vector< Rectangle >& rPixelRects )
nScrY = nEndY + 1;
}
}
-
-// aInvert.Flush(); // before restoring MapMode
}
// -------------------------------------------------------------------------
diff --git a/sc/source/ui/view/hdrcont.cxx b/sc/source/ui/view/hdrcont.cxx
index 1e2d45e4c091..becc94882f5d 100644
--- a/sc/source/ui/view/hdrcont.cxx
+++ b/sc/source/ui/view/hdrcont.cxx
@@ -291,12 +291,10 @@ void ScHeaderControl::Paint( const Rectangle& rRect )
long nLayoutSign = bLayoutRTL ? -1 : 1;
BOOL bMirrored = IsMirrored();
-// const FunctionSet* pFuncSet = pSelEngine->GetFunctionSet();
String aString;
USHORT nBarSize;
Point aScrPos;
Size aTextSize;
-// Size aSize = GetOutputSizePixel();
if (bVertical)
nBarSize = (USHORT) GetSizePixel().Width();
@@ -329,7 +327,6 @@ void ScHeaderControl::Paint( const Rectangle& rRect )
// aeussere Linien komplett durchzeichnen
// Zuerst Ende der letzten Zelle finden
-// long nLineEnd = -1;
long nLineEnd = nInitScrPos - nLayoutSign;
for (SCCOLROW i=nPos; i<nSize; i++)
@@ -622,8 +619,6 @@ SCCOLROW ScHeaderControl::GetMousePos( const MouseEvent& rMEvt, BOOL& rBorder )
{
SCCOLROW nEntryNo = nCount + nPos;
-// nScrPos = GetScrPos( nEntryNo ) - 1;
-
if (nEntryNo > nSize)
nScrPos = nEndPos + nLayoutSign;
else
@@ -716,7 +711,6 @@ void ScHeaderControl::MouseButtonDown( const MouseEvent& rMEvt )
ShowDragHelp();
DrawInvert( nDragPos );
- // CaptureMouse();
StartTracking();
bDragging = TRUE;
bDragMoved = FALSE;
@@ -758,8 +752,6 @@ void ScHeaderControl::MouseButtonUp( const MouseEvent& rMEvt )
SetMarking( FALSE );
bIgnoreMove = FALSE;
-// BOOL bFound;
-// SCCOLROW nHitNo = GetMousePos( rMEvt, bFound );
if ( bDragging )
{
@@ -893,13 +885,9 @@ void ScHeaderControl::Command( const CommandEvent& rCEvt )
sal::static_int_cast<SCCOL>(nPos), MAXROW, nTab );
// see if any part of the range is already selected
- BOOL bSelected = FALSE;
ScRangeList aRanges;
pViewData->GetMarkData().FillRangeListWithMarks( &aRanges, FALSE );
- ULONG nRangeCount = aRanges.Count();
- for (ULONG i=0; i<nRangeCount && !bSelected; i++)
- if ( aRanges.GetObject(i)->Intersects( aNewRange ) )
- bSelected = TRUE;
+ bool bSelected = aRanges.Intersects(aNewRange);
// select the range if no part of it was selected
if ( !bSelected )
diff --git a/sc/source/ui/view/hintwin.cxx b/sc/source/ui/view/hintwin.cxx
index 301ba616e769..0343ccfd7e00 100644
--- a/sc/source/ui/view/hintwin.cxx
+++ b/sc/source/ui/view/hintwin.cxx
@@ -92,7 +92,7 @@ ScHintWindow::~ScHintWindow()
}
-void __EXPORT ScHintWindow::Paint( const Rectangle& /* rRect */ )
+void ScHintWindow::Paint( const Rectangle& /* rRect */ )
{
SetFont( aHeadFont );
DrawText( Point(HINT_MARGIN,HINT_MARGIN), aTitle );
diff --git a/sc/source/ui/view/makefile.mk b/sc/source/ui/view/makefile.mk
index 3b1d570f71c0..f00db352cebe 100644
--- a/sc/source/ui/view/makefile.mk
+++ b/sc/source/ui/view/makefile.mk
@@ -39,22 +39,67 @@ TARGET=view
SLOFILES = \
+ $(EXCEPTIONSFILES) \
+ $(SLO)$/cellmergeoption.obj
+
+EXCEPTIONSFILES= \
+ $(SLO)$/auditsh.obj \
+ $(SLO)$/cellsh.obj \
+ $(SLO)$/cellsh1.obj \
+ $(SLO)$/cellsh2.obj \
+ $(SLO)$/cellsh3.obj \
+ $(SLO)$/cellsh4.obj \
+ $(SLO)$/colrowba.obj \
+ $(SLO)$/dbfunc.obj \
+ $(SLO)$/dbfunc2.obj \
+ $(SLO)$/dbfunc3.obj \
+ $(SLO)$/dbfunc4.obj \
+ $(SLO)$/drawutil.obj \
+ $(SLO)$/drawvie2.obj \
+ $(SLO)$/drawvie3.obj \
+ $(SLO)$/drawvie4.obj \
+ $(SLO)$/drawview.obj \
+ $(SLO)$/editsh.obj \
+ $(SLO)$/formatsh.obj \
+ $(SLO)$/galwrap.obj \
+ $(SLO)$/gridmerg.obj \
+ $(SLO)$/gridwin.obj \
+ $(SLO)$/gridwin2.obj \
+ $(SLO)$/gridwin3.obj \
+ $(SLO)$/gridwin4.obj \
+ $(SLO)$/gridwin5.obj \
+ $(SLO)$/hdrcont.obj \
+ $(SLO)$/hintwin.obj \
+ $(SLO)$/imapwrap.obj \
+ $(SLO)$/invmerge.obj \
+ $(SLO)$/notemark.obj \
+ $(SLO)$/olinewin.obj \
+ $(SLO)$/olkact.obj \
+ $(SLO)$/output.obj \
+ $(SLO)$/output2.obj \
+ $(SLO)$/output3.obj \
+ $(SLO)$/overlayobject.obj \
+ $(SLO)$/pfuncache.obj \
+ $(SLO)$/pgbrksh.obj \
+ $(SLO)$/pivotsh.obj \
+ $(SLO)$/preview.obj \
+ $(SLO)$/prevloc.obj \
+ $(SLO)$/prevwsh.obj \
+ $(SLO)$/prevwsh2.obj \
+ $(SLO)$/printfun.obj \
+ $(SLO)$/reffact.obj \
+ $(SLO)$/scextopt.obj \
+ $(SLO)$/select.obj \
+ $(SLO)$/selectionstate.obj \
+ $(SLO)$/spelldialog.obj \
+ $(SLO)$/spelleng.obj \
+ $(SLO)$/tabcont.obj \
+ $(SLO)$/tabsplit.obj \
$(SLO)$/tabview.obj \
$(SLO)$/tabview2.obj \
$(SLO)$/tabview3.obj \
$(SLO)$/tabview4.obj \
$(SLO)$/tabview5.obj \
- $(SLO)$/viewfunc.obj \
- $(SLO)$/viewfun2.obj \
- $(SLO)$/viewfun3.obj \
- $(SLO)$/viewfun4.obj \
- $(SLO)$/viewfun5.obj \
- $(SLO)$/viewfun6.obj \
- $(SLO)$/viewfun7.obj \
- $(SLO)$/dbfunc.obj \
- $(SLO)$/dbfunc2.obj \
- $(SLO)$/dbfunc3.obj \
- $(SLO)$/dbfunc4.obj \
$(SLO)$/tabvwsh.obj \
$(SLO)$/tabvwsh2.obj \
$(SLO)$/tabvwsh3.obj \
@@ -70,58 +115,16 @@ SLOFILES = \
$(SLO)$/tabvwshf.obj \
$(SLO)$/tabvwshg.obj \
$(SLO)$/tabvwshh.obj \
- $(SLO)$/printfun.obj \
- $(SLO)$/pfuncache.obj \
- $(SLO)$/preview.obj \
- $(SLO)$/prevwsh.obj \
- $(SLO)$/prevwsh2.obj \
- $(SLO)$/prevloc.obj \
- $(SLO)$/editsh.obj \
- $(SLO)$/pivotsh.obj \
- $(SLO)$/auditsh.obj \
- $(SLO)$/gridwin.obj \
- $(SLO)$/gridwin2.obj \
- $(SLO)$/gridwin3.obj \
- $(SLO)$/gridwin4.obj \
- $(SLO)$/gridwin5.obj \
- $(SLO)$/drawview.obj \
- $(SLO)$/drawvie2.obj \
- $(SLO)$/drawvie3.obj \
- $(SLO)$/drawvie4.obj \
- $(SLO)$/drawutil.obj \
- $(SLO)$/output.obj \
- $(SLO)$/output2.obj \
- $(SLO)$/output3.obj \
- $(SLO)$/overlayobject.obj \
- $(SLO)$/gridmerg.obj \
- $(SLO)$/invmerge.obj \
- $(SLO)$/cellmergeoption.obj \
- $(SLO)$/select.obj \
- $(SLO)$/olinewin.obj \
- $(SLO)$/hintwin.obj \
- $(SLO)$/notemark.obj \
- $(SLO)$/tabcont.obj \
- $(SLO)$/tabsplit.obj \
+ $(SLO)$/viewdata.obj \
+ $(SLO)$/viewfun2.obj \
+ $(SLO)$/viewfun3.obj \
+ $(SLO)$/viewfun4.obj \
+ $(SLO)$/viewfun5.obj \
+ $(SLO)$/viewfun6.obj \
+ $(SLO)$/viewfun7.obj \
+ $(SLO)$/viewfunc.obj \
$(SLO)$/viewutil.obj \
- $(SLO)$/hdrcont.obj \
- $(SLO)$/colrowba.obj \
- $(SLO)$/olkact.obj \
- $(SLO)$/galwrap.obj \
- $(SLO)$/imapwrap.obj \
- $(SLO)$/reffact.obj \
- $(SLO)$/selectionstate.obj \
- $(SLO)$/spelleng.obj \
- $(SLO)$/spelldialog.obj \
- $(SLO)$/waitoff.obj \
- $(SLO)$/cellsh.obj \
- $(SLO)$/cellsh1.obj\
- $(SLO)$/cellsh2.obj\
- $(SLO)$/cellsh3.obj\
- $(SLO)$/cellsh4.obj\
- $(SLO)$/formatsh.obj\
- $(SLO)$/pgbrksh.obj\
- $(SLO)$/viewdata.obj\
- $(SLO)$/scextopt.obj
+ $(SLO)$/waitoff.obj
.IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCSPARC"
NOOPTFILES= \
@@ -142,29 +145,6 @@ SLOFILES = \
$(SLO)$/tabvwsh2.obj
.ENDIF
-EXCEPTIONSFILES= \
- $(SLO)$/dbfunc3.obj \
- $(SLO)$/gridwin.obj \
- $(SLO)$/invmerge.obj \
- $(SLO)$/output2.obj \
- $(SLO)$/overlayobject.obj \
- $(SLO)$/pfuncache.obj \
- $(SLO)$/spelldialog.obj \
- $(SLO)$/cellsh1.obj \
- $(SLO)$/drawvie4.obj \
- $(SLO)$/formatsh.obj \
- $(SLO)$/gridwin2.obj \
- $(SLO)$/scextopt.obj \
- $(SLO)$/tabvwshb.obj \
- $(SLO)$/tabvwshf.obj \
- $(SLO)$/viewdata.obj \
- $(SLO)$/viewfunc.obj \
- $(SLO)$/viewfun2.obj \
- $(SLO)$/viewfun3.obj \
- $(SLO)$/viewfun5.obj \
- $(SLO)$/viewfun7.obj \
- $(SLO)$/reffact.obj
-
# goal seek -O2
diff --git a/sc/source/ui/view/olinewin.cxx b/sc/source/ui/view/olinewin.cxx
index 9fd8e497d3b7..1340547e66e1 100644
--- a/sc/source/ui/view/olinewin.cxx
+++ b/sc/source/ui/view/olinewin.cxx
@@ -165,7 +165,7 @@ void ScOutlineWindow::InitSettings()
const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
SetBackground( rStyleSettings.GetFaceColor() );
maLineColor = rStyleSettings.GetButtonTextColor();
- mpSymbols = ScGlobal::GetOutlineSymbols( rStyleSettings.GetHighContrastMode() );
+ mpSymbols = ScGlobal::GetOutlineSymbols();
Invalidate();
}
@@ -394,7 +394,6 @@ bool ScOutlineWindow::ItemHit( const Point& rPos, size_t& rnLevel, size_t& rnEnt
if ( nLevel == SC_OL_NOLEVEL )
return false;
-// long nLevelPos = GetLevelPos( nLevel );
long nEntryMousePos = mbHoriz ? rPos.X() : rPos.Y();
// --- level buttons ---
@@ -697,7 +696,6 @@ void ScOutlineWindow::Paint( const Rectangle& /* rRect */ )
const ScOutlineEntry* pEntry = pArray->GetEntry( sal::static_int_cast<USHORT>(nLevel),
sal::static_int_cast<USHORT>(nEntry) );
SCCOLROW nStart = pEntry->GetStart();
-// SCCOLROW nEnd = pEntry->GetEnd();
// visible range?
bool bDraw = (nStartIndex <= nStart) && (nStart <= nEndIndex + 1);
diff --git a/sc/source/ui/view/olkact.cxx b/sc/source/ui/view/olkact.cxx
index a5f63f5a15bd..8ca1fafa2f8d 100644
--- a/sc/source/ui/view/olkact.cxx
+++ b/sc/source/ui/view/olkact.cxx
@@ -53,19 +53,15 @@
#define _OUTLINER_HXX
#define _PASSWD_HXX
#define _PRNDLG_HXX
-//#define _POLY_HXX
#define _PVRWIN_HXX
#define _QUEUE_HXX
#define _RULER_HXX
#define _SCRWIN_HXX
#define _SETBRW_HXX
#define _STACK_HXX
-//#define _STATUS_HXX ***
#define _STDMENU_HXX
#define _TABBAR_HXX
-//#define _VCBRW_HXX
#define _VCTRLS_HXX
-//#define _VCSBX_HXX
#define _VCONT_HXX
#define _VDRWOBJ_HXX
@@ -83,29 +79,16 @@
//sfxcore.hxx
-//#define _SFXINIMGR_HXX ***
-//#define _SFXCFGITEM_HXX
-//#define _SFX_PRINTER_HXX
#define _SFXGENLINK_HXX
#define _SFXHINTPOST_HXX
#define _SFXDOCINF_HXX
#define _SFXLINKHDL_HXX
-//#define _SFX_PROGRESS_HXX
//sfxsh.hxx
-//#define _SFX_SHELL_HXX
-//#define _SFXAPP_HXX
-//#define _SFXDISPATCH_HXX
-//#define _SFXMSG_HXX ***
-//#define _SFXOBJFACE_HXX ***
-//#define _SFXREQUEST_HXX
#define _SFXMACRO_HXX
// SFX
-//#define _SFXAPPWIN_HXX ***
#define _SFX_SAVEOPT_HXX
-//#define _SFX_CHILDWIN_HXX
-//#define _SFXCTRLITEM_HXX
#define _SFXPRNMON_HXX
#define _INTRO_HXX
#define _SFXMSGDESCR_HXX
@@ -122,72 +105,32 @@
#define _SFXEVENT_HXX
//sfxdoc.hxx
-//#define _SFX_OBJSH_HXX
-//#define _SFX_CLIENTSH_HXX
-//#define _SFXDOCINF_HXX
-//#define _SFX_OBJFAC_HXX
#define _SFX_DOCFILT_HXX
-//#define _SFXDOCFILE_HXX ***
-//define _VIEWFAC_HXX
-//#define _SFXVIEWFRM_HXX
-//#define _SFXVIEWSH_HXX
-//#define _MDIFRM_HXX ***
#define _SFX_IPFRM_HXX
-//#define _SFX_INTERNO_HXX
//sfxdlg.hxx
-//#define _SFXTABDLG_HXX
-//#define _BASEDLGS_HXX ***
#define _SFX_DINFDLG_HXX
#define _SFXDINFEDT_HXX
#define _SFX_MGETEMPL_HXX
#define _SFX_TPLPITEM_HXX
-//#define _SFX_STYLEDLG_HXX
#define _NEWSTYLE_HXX
-//#define _SFXDOCTEMPL_HXX ***
-//#define _SFXDOCTDLG_HXX ***
-//#define _SFX_TEMPLDLG_HXX ***
-//#define _SFXNEW_HXX ***
#define _SFXDOCMAN_HXX
-//#define _SFXDOCKWIN_HXX
//sfxitems.hxx
#define _SFX_WHMAP_HXX
#define _ARGS_HXX
-//#define _SFXPOOLITEM_HXX
-//#define _SFXINTITEM_HXX
-//#define _SFXENUMITEM_HXX
#define _SFXFLAGITEM_HXX
-//#define _SFXSTRITEM_HXX
#define _SFXPTITEM_HXX
#define _SFXRECTITEM_HXX
-//#define _SFXITEMPOOL_HXX
-//#define _SFXITEMSET_HXX
#define _SFXITEMITER_HXX
#define _SFX_WHITER_HXX
#define _SFXPOOLCACH_HXX
-//#define _AEITEM_HXX
#define _SFXRNGITEM_HXX
-//#define _SFXSLSTITM_HXX
-//#define _SFXSTYLE_HXX
-
-//xout.hxx
-//#define _XENUM_HXX
-//#define _XPOLY_HXX
-//#define _XATTR_HXX
-//#define _XOUTX_HXX
-//#define _XPOOL_HXX
-//#define _XTABLE_HXX
//svdraw.hxx
#define _SDR_NOITEMS
#define _SDR_NOTOUCH
#define _SDR_NOTRANSFORM
-//#define _SDR_NOOBJECTS
-//#define _SDR_NOVIEWS
-
-
-
#define _SFXBASIC_HXX
#define _SFX_DOCFILE_HXX
@@ -213,21 +156,11 @@
//si
#define _SI_NOSBXCONTROLS
#define _SI_NOCONTROL
-//#define SI_NOITEMS
-//#define SI_NODRW
-//#define SI_NOOTHERFORMS
#define _SIDLL_HXX
-//#define _VCSBX_HXX
-//#define _VCBRW_HXX
-//#define _SVDATTR_HXX <--- der wars
#define _SVDXOUT_HXX
#define _SVDEC_HXX
-//#define _SVDIO_HXX
-//#define _SVDLAYER_HXX
-//#define _SVDRAG_HXX
#define _SVINCVW_HXX
-//#define _SV_MULTISEL_HXX
#define _SVRTV_HXX
#define _SVTABBX_HXX
diff --git a/sc/source/ui/view/output.cxx b/sc/source/ui/view/output.cxx
index fceb71a335db..ca0248599a29 100644
--- a/sc/source/ui/view/output.cxx
+++ b/sc/source/ui/view/output.cxx
@@ -453,9 +453,6 @@ void ScOutputData::DrawGrid( BOOL bGrid, BOOL bPage )
if (pThisRowInfo->bChanged && !bHOver)
{
- //Point aStart( nPosX-nSignedOneX, nPosY );
- //Point aEnd( nPosX-nSignedOneX, nNextY-nOneY );
- //pDev->DrawLine( aStart, aEnd );
aGrid.AddVerLine( nPosX-nSignedOneX, nPosY, nNextY-nOneY );
}
nPosY = nNextY;
@@ -463,9 +460,6 @@ void ScOutputData::DrawGrid( BOOL bGrid, BOOL bPage )
}
else
{
- //Point aStart( nPosX-nSignedOneX, nScrY );
- //Point aEnd( nPosX-nSignedOneX, nScrY+nScrH-nOneY );
- //pDev->DrawLine( aStart, aEnd );
aGrid.AddVerLine( nPosX-nSignedOneX, nScrY, nScrY+nScrH-nOneY );
}
}
@@ -556,9 +550,6 @@ void ScOutputData::DrawGrid( BOOL bGrid, BOOL bPage )
}
if (!bVOver)
{
- //Point aStart( nPosX, nPosY-nOneY );
- //Point aEnd( nNextX-nSignedOneX, nPosY-nOneY );
- //pDev->DrawLine( aStart, aEnd );
aGrid.AddHorLine( nPosX, nNextX-nSignedOneX, nPosY-nOneY );
}
}
@@ -567,9 +558,6 @@ void ScOutputData::DrawGrid( BOOL bGrid, BOOL bPage )
}
else
{
- //Point aStart( nScrX, nPosY-nOneY );
- //Point aEnd( nScrX+nScrW-nOneX, nPosY-nOneY );
- //pDev->DrawLine( aStart, aEnd );
aGrid.AddHorLine( nScrX, nScrX+nScrW-nOneX, nPosY-nOneY );
}
}
@@ -981,10 +969,6 @@ void ScOutputData::DrawExtraShadow(BOOL bLeft, BOOL bTop, BOOL bRight, BOOL bBot
nMaxWidth = pRowInfo[0].pCellInfo[nWx+1].nWidth;
}
-// Rectangle aRect( Point(nPosX,nPosY),
-// Size( pRowInfo[0].pCellInfo[nArrX].nWidth,
-// pRowInfo[nArrY].nHeight ) );
-
// rectangle is in logical orientation
Rectangle aRect( nPosX, nPosY,
nPosX + ( nThisWidth - 1 ) * nLayoutSign,
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index e744023568da..ddadb77e1b95 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -190,6 +190,7 @@ ScDrawStringsVars::ScDrawStringsVars(ScOutputData* pData, BOOL bPTL) :
pOutput ( pData ),
pPattern ( NULL ),
pCondSet ( NULL ),
+ nAscentPixel(0),
eAttrOrient ( SVX_ORIENTATION_STANDARD ),
eAttrHorJust( SVX_HOR_JUSTIFY_STANDARD ),
eAttrVerJust( SVX_VER_JUSTIFY_BOTTOM ),
@@ -419,13 +420,8 @@ void ScDrawStringsVars::SetPattern( const ScPatternAttr* pNew, const SfxItemSet*
// Zahlenformat
-// ULONG nOld = nValueFormat;
nValueFormat = pPattern->GetNumberFormat( pOutput->pDoc->GetFormatTable(), pCondSet );
-/* s.u.
- if (nValueFormat != nOld)
- pLastCell = NULL; // immer neu formatieren
-*/
// Raender
pMargin = (const SvxMarginItem*)&pPattern->GetItem( ATTR_MARGIN, pCondSet );
@@ -458,7 +454,6 @@ void ScDrawStringsVars::SetPatternSimple( const ScPatternAttr* pNew, const SfxIt
// Zahlenformat
ULONG nOld = nValueFormat;
-// nValueFormat = pPattern->GetNumberFormat( pFormatter );
const SfxPoolItem* pFormItem;
if ( !pCondSet || pCondSet->GetItemState(ATTR_VALUE_FORMAT,TRUE,&pFormItem) != SFX_ITEM_SET )
pFormItem = &pPattern->GetItem(ATTR_VALUE_FORMAT);
@@ -878,11 +873,6 @@ BOOL ScOutputData::GetMergeOrigin( SCCOL nX, SCROW nY, SCSIZE nArrY,
else if ( pInfo->bVOverlapped )
bDoMerge = bIsTop;
- // weiter solange versteckt
-/* if (!bDoMerge)
- return FALSE;
-*/
-
rOverX = nX;
rOverY = nY;
BOOL bHOver = pInfo->bHOverlapped;
@@ -898,14 +888,11 @@ BOOL ScOutputData::GetMergeOrigin( SCCOL nX, SCROW nY, SCSIZE nArrY,
if (rOverX >= nX1 && !bHidden)
{
-// rVirtPosX -= pRowInfo[0].pCellInfo[rOverX+1].nWidth;
bHOver = pRowInfo[nArrY].pCellInfo[rOverX+1].bHOverlapped;
bVOver = pRowInfo[nArrY].pCellInfo[rOverX+1].bVOverlapped;
}
else
{
-// if (!bClipVirt)
-// rVirtPosX -= (long) (pDoc->GetColWidth( rOverX, nTab ) * nPPTX);
USHORT nOverlap = ((ScMergeFlagAttr*)pDoc->GetAttr(
rOverX, rOverY, nTab, ATTR_MERGE_FLAG ))->GetValue();
bHOver = ((nOverlap & SC_MF_HOR) != 0);
@@ -928,14 +915,11 @@ BOOL ScOutputData::GetMergeOrigin( SCCOL nX, SCROW nY, SCSIZE nArrY,
!pDoc->RowHidden(rOverY, nTab) &&
pRowInfo[nArrY].nRowNo == rOverY)
{
-// rVirtPosY -= pRowInfo[nArrY].nHeight;
bHOver = pRowInfo[nArrY].pCellInfo[rOverX+1].bHOverlapped;
bVOver = pRowInfo[nArrY].pCellInfo[rOverX+1].bVOverlapped;
}
else
{
-// if (!bClipVirt)
-// rVirtPosY -= (long) (pDoc->GetRowHeight( rOverY, nTab ) * nPPTY);
USHORT nOverlap = ((ScMergeFlagAttr*)pDoc->GetAttr(
rOverX, rOverY, nTab, ATTR_MERGE_FLAG ))->GetValue();
bHOver = ((nOverlap & SC_MF_HOR) != 0);
@@ -1353,7 +1337,6 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic )
BOOL bWasIdleDisabled = pDoc->IsIdleDisabled();
pDoc->DisableIdle( TRUE );
Size aMinSize = pRefDevice->PixelToLogic(Size(0,100)); // erst darueber wird ausgegeben
-// UINT32 nMinHeight = aMinSize.Height() / 200; // 1/2 Pixel
ScDrawStringsVars aVars( this, bPixelToLogic );
@@ -1394,7 +1377,6 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic )
if ( pThisRowInfo->bChanged )
{
SCROW nY = pThisRowInfo->nRowNo;
-// long nCellHeight = (long) pThisRowInfo->nHeight;
long nPosX = nInitPosX;
if ( nLoopStartX < nX1 )
nPosX -= pRowInfo[0].pCellInfo[nLoopStartX+1].nWidth * nLayoutSign;
@@ -2382,7 +2364,6 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic)
{
vcl::PDFExtOutDevData* pPDFData = PTR_CAST( vcl::PDFExtOutDevData, pDev->GetExtOutDevData() );
Size aMinSize = pRefDevice->PixelToLogic(Size(0,100)); // erst darueber wird ausgegeben
-// UINT32 nMinHeight = aMinSize.Height() / 200; // 1/2 Pixel
ScModule* pScMod = SC_MOD();
sal_Int32 nConfBackColor = pScMod->GetColorConfig().GetColorValue(svtools::DOCCOLOR).nColor;
@@ -2415,7 +2396,7 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic)
for (SCSIZE nArrY=0; nArrY+1<nArrCount; nArrY++) // 0 fuer Reste von zusammengefassten
{
RowInfo* pThisRowInfo = &pRowInfo[nArrY];
-// long nCellHeight = (long) pThisRowInfo->nHeight;
+
if (nArrY==1) nRowPosY = nScrY; // vorher wird einzeln berechnet
if ( pThisRowInfo->bChanged || nArrY==0 )
@@ -3033,7 +3014,6 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic)
short nOriVal = 0;
if (aAlignParam.meOrient == SVX_ORIENTATION_TOPBOTTOM)
{
- // nOriVal = -900;
nOriVal = 2700;
if (aAlignParam.meHorJust != SVX_HOR_JUSTIFY_BLOCK)
{
@@ -3638,8 +3618,6 @@ void ScOutputData::DrawRotated(BOOL bPixelToLogic)
nEngineWidth = (long) ( nRealHeight / fabs( nSin ) );
}
- // BOOL bVClip = ( nEngineHeight > aCellSize.Height() );
-
long nClipStartX = nStartX;
if (nX<nX1)
{
diff --git a/sc/source/ui/view/output3.cxx b/sc/source/ui/view/output3.cxx
index b5bb920fb209..e98e1c93591d 100644
--- a/sc/source/ui/view/output3.cxx
+++ b/sc/source/ui/view/output3.cxx
@@ -69,10 +69,8 @@ Point ScOutputData::PrePrintDrawingLayer(long nLogStX, long nLogStY )
aOffset.Y() -= pDoc->GetRowHeight( 0, nY1-1, nTab );
long nDataWidth = 0;
- long nDataHeight = 0;
for (nCol=nX1; nCol<=nX2; nCol++)
nDataWidth += pDoc->GetColWidth( nCol, nTab );
- nDataHeight += pDoc->GetRowHeight( nY1, nY2, nTab );
if ( bLayoutRTL )
aOffset.X() += nDataWidth;
@@ -247,7 +245,6 @@ void ScOutputData::DrawSelectiveObjects(const sal_uInt16 nLayer)
void ScOutputData::DrawingSingle(const sal_uInt16 nLayer)
{
BOOL bHad = FALSE;
- long nPosY = nScrY;
SCSIZE nArrY;
for (nArrY=1; nArrY+1<nArrCount; nArrY++)
{
@@ -265,7 +262,6 @@ void ScOutputData::DrawingSingle(const sal_uInt16 nLayer)
DrawSelectiveObjects( nLayer );
bHad = FALSE;
}
- nPosY += pRowInfo[nArrY].nHeight;
}
if (bHad)
diff --git a/sc/source/ui/view/pivotsh.cxx b/sc/source/ui/view/pivotsh.cxx
index f23082e1a041..76ed780c3bb7 100644
--- a/sc/source/ui/view/pivotsh.cxx
+++ b/sc/source/ui/view/pivotsh.cxx
@@ -155,7 +155,7 @@ void ScPivotShell::Execute( SfxRequest& rReq )
}
//------------------------------------------------------------------------
-void __EXPORT ScPivotShell::GetState( SfxItemSet& rSet )
+void ScPivotShell::GetState( SfxItemSet& rSet )
{
ScDocShell* pDocSh = pViewShell->GetViewData()->GetDocShell();
ScDocument* pDoc = pDocSh->GetDocument();
diff --git a/sc/source/ui/view/preview.cxx b/sc/source/ui/view/preview.cxx
index 3222ef64531c..c17ee98042d0 100644
--- a/sc/source/ui/view/preview.cxx
+++ b/sc/source/ui/view/preview.cxx
@@ -144,7 +144,7 @@ ScPreview::ScPreview( Window* pParent, ScDocShell* pDocSh, ScPreviewShell* pView
}
-__EXPORT ScPreview::~ScPreview()
+ScPreview::~ScPreview()
{
delete pDrawView;
delete pLocationData;
@@ -226,7 +226,6 @@ void ScPreview::CalcPages( SCTAB /*nToWhichTab*/ )
ScDocument* pDoc = pDocShell->GetDocument();
nTabCount = pDoc->GetTableCount();
- //SCTAB nAnz = Min( nTabCount, SCTAB(nToWhichTab+1) );
SCTAB nAnz = nTabCount;
SCTAB nStart = nTabsTested;
if (!bValid)
@@ -320,8 +319,6 @@ void ScPreview::RecalcPages() // nur nPageNo geaendert
nTab = i;
nTabPage = nPageNo - nThisStart;
nTabStart = nThisStart;
-
-// aPageSize = aPrintFunc.GetPageSize();
}
}
@@ -400,7 +397,6 @@ void ScPreview::DoPrint( ScPreviewLocationData* pFillLocation )
DBG_ASSERT(nPrinted<=1, "was'n nu los?");
SetMapMode(aMMMode);
-// USHORT nPrintZoom = pPrintFunc->GetZoom();
if (nPrinted) // wenn nichts, alles grau zeichnen
{
@@ -484,7 +480,7 @@ void ScPreview::DoPrint( ScPreviewLocationData* pFillLocation )
}
//Issue51656 Add resizeable margin on page preview from maoyg
-void __EXPORT ScPreview::Paint( const Rectangle& /* rRect */ )
+void ScPreview::Paint( const Rectangle& /* rRect */ )
{
if (!bValid)
{
@@ -672,7 +668,7 @@ void __EXPORT ScPreview::Paint( const Rectangle& /* rRect */ )
}
//Issue51656 Add resizeable margin on page preview from maoyg
-void __EXPORT ScPreview::Command( const CommandEvent& rCEvt )
+void ScPreview::Command( const CommandEvent& rCEvt )
{
USHORT nCmd = rCEvt.GetCommand();
if ( nCmd == COMMAND_WHEEL || nCmd == COMMAND_STARTAUTOSCROLL || nCmd == COMMAND_AUTOSCROLL )
@@ -688,7 +684,7 @@ void __EXPORT ScPreview::Command( const CommandEvent& rCEvt )
}
-void __EXPORT ScPreview::KeyInput( const KeyEvent& rKEvt )
+void ScPreview::KeyInput( const KeyEvent& rKEvt )
{
// The + and - keys can't be configured as accelerator entries, so they must be handled directly
// (in ScPreview, not ScPreviewShell -> only if the preview window has the focus)
@@ -1010,7 +1006,7 @@ void ScPreview::DataChanged( const DataChangedEvent& rDCEvt )
}
//Issue51656 Add resizeable margin on page preview from maoyg
-void __EXPORT ScPreview::MouseButtonDown( const MouseEvent& rMEvt )
+void ScPreview::MouseButtonDown( const MouseEvent& rMEvt )
{
Fraction aPreviewZoom( nZoom, 100 );
Fraction aHorPrevZoom( (long)( 100 * nZoom / pDocShell->GetOutputFactor() ), 10000 );
@@ -1093,7 +1089,7 @@ void __EXPORT ScPreview::MouseButtonDown( const MouseEvent& rMEvt )
}
}
-void __EXPORT ScPreview::MouseButtonUp( const MouseEvent& rMEvt )
+void ScPreview::MouseButtonUp( const MouseEvent& rMEvt )
{
Fraction aPreviewZoom( nZoom, 100 );
Fraction aHorPrevZoom( (long)( 100 * nZoom / pDocShell->GetOutputFactor() ), 10000 );
@@ -1340,7 +1336,7 @@ void __EXPORT ScPreview::MouseButtonUp( const MouseEvent& rMEvt )
ReleaseMouse();
}
-void __EXPORT ScPreview::MouseMove( const MouseEvent& rMEvt )
+void ScPreview::MouseMove( const MouseEvent& rMEvt )
{
Fraction aPreviewZoom( nZoom, 100 );
Fraction aHorPrevZoom( (long)( 100 * nZoom / pDocShell->GetOutputFactor() ), 10000 );
diff --git a/sc/source/ui/view/prevwsh.cxx b/sc/source/ui/view/prevwsh.cxx
index ec316617e20e..f204852f754b 100644
--- a/sc/source/ui/view/prevwsh.cxx
+++ b/sc/source/ui/view/prevwsh.cxx
@@ -136,7 +136,6 @@ void ScPreviewShell::Construct( Window* pParent )
if (pDrawBC)
StartListening(*pDrawBC);
-// pPreview->Show(); // wird vom Sfx angezeigt
pHorScroll->Show();
pVerScroll->Show();
pCorner->Show();
@@ -172,7 +171,7 @@ ScPreviewShell::ScPreviewShell( SfxViewFrame* pViewFrame,
}
}
-__EXPORT ScPreviewShell::~ScPreviewShell()
+ScPreviewShell::~ScPreviewShell()
{
// #108333#; notify Accessibility that Shell is dying and before destroy all
BroadcastAccessibility( SfxSimpleHint( SFX_HINT_DYING ) );
@@ -201,12 +200,12 @@ void ScPreviewShell::InitStartTable(SCTAB nTab)
//------------------------------------------------------------------
-String __EXPORT ScPreviewShell::GetDescription() const
+String ScPreviewShell::GetDescription() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM(" ** Test ** "));
}
-Size __EXPORT ScPreviewShell::GetOptimalSizePixel() const
+Size ScPreviewShell::GetOptimalSizePixel() const
{
Size aOptSize(100,100);
@@ -242,12 +241,10 @@ Size __EXPORT ScPreviewShell::GetOptimalSizePixel() const
return aOptSize;
}
-void __EXPORT ScPreviewShell::AdjustPosSizePixel( const Point &rPos, const Size &rSize )
+void ScPreviewShell::AdjustPosSizePixel( const Point &rPos, const Size &rSize )
{
long nBarW = GetViewFrame()->GetWindow().GetSettings().GetStyleSettings().GetScrollBarSize();
long nBarH = nBarW;
-// long nBarW = pVerScroll->GetSizePixel().Width();
-// long nBarH = pHorScroll->GetSizePixel().Height();
Size aOutSize( rSize.Width()-nBarW, rSize.Height()-nBarH );
pPreview->SetPosSizePixel( rPos, aOutSize );
@@ -266,12 +263,12 @@ void __EXPORT ScPreviewShell::AdjustPosSizePixel( const Point &rPos, const Size
UpdateScrollBars();
}
-void __EXPORT ScPreviewShell::InnerResizePixel( const Point &rOfs, const Size &rSize )
+void ScPreviewShell::InnerResizePixel( const Point &rOfs, const Size &rSize )
{
AdjustPosSizePixel( rOfs,rSize );
}
-void __EXPORT ScPreviewShell::OuterResizePixel( const Point &rOfs, const Size &rSize )
+void ScPreviewShell::OuterResizePixel( const Point &rOfs, const Size &rSize )
{
AdjustPosSizePixel( rOfs,rSize );
}
@@ -297,7 +294,6 @@ void ScPreviewShell::UpdateScrollBars()
Size aWindowSize = pPreview->GetOutputSize();
Point aOfs = pPreview->GetOffset();
- long nMaxPos;
if( pHorScroll )
{
@@ -305,7 +301,7 @@ void ScPreviewShell::UpdateScrollBars()
pHorScroll->SetLineSize( aWindowSize.Width() / 16 );
pHorScroll->SetPageSize( aWindowSize.Width() );
pHorScroll->SetVisibleSize( aWindowSize.Width() );
- nMaxPos = aPageSize.Width() - aWindowSize.Width();
+ long nMaxPos = aPageSize.Width() - aWindowSize.Width();
if ( nMaxPos<0 )
{
// page smaller than window -> center (but put scrollbar to 0)
@@ -471,17 +467,17 @@ BOOL ScPreviewShell::ScrollCommand( const CommandEvent& rCEvt )
return bDone;
}
-SfxPrinter* __EXPORT ScPreviewShell::GetPrinter( BOOL bCreate )
+SfxPrinter* ScPreviewShell::GetPrinter( BOOL bCreate )
{
return pDocShell->GetPrinter(bCreate);
}
-USHORT __EXPORT ScPreviewShell::SetPrinter( SfxPrinter *pNewPrinter, USHORT nDiffFlags, bool )
+USHORT ScPreviewShell::SetPrinter( SfxPrinter *pNewPrinter, USHORT nDiffFlags, bool )
{
return pDocShell->SetPrinter( pNewPrinter, nDiffFlags );
}
-PrintDialog* __EXPORT ScPreviewShell::CreatePrintDialog( Window* pParent )
+PrintDialog* ScPreviewShell::CreatePrintDialog( Window* pParent )
{
pDocShell->GetDocument()->SetPrintOptions(); // Optionen aus OFA am Printer setzen
(void)GetPrinter();
@@ -525,7 +521,7 @@ SfxTabPage* ScPreviewShell::CreatePrintOptionsPage( Window *pParent, const SfxIt
return 0;
}
-void __EXPORT ScPreviewShell::PreparePrint( PrintDialog* pPrintDialog )
+void ScPreviewShell::PreparePrint( PrintDialog* pPrintDialog )
{
SfxViewShell::PreparePrint( pPrintDialog );
@@ -551,7 +547,7 @@ ErrCode ScPreviewShell::DoPrint( SfxPrinter *pPrinter,
return nRet;
}
-USHORT __EXPORT ScPreviewShell::Print( SfxProgress& rProgress, BOOL bIsAPI, PrintDialog* pPrintDialog )
+USHORT ScPreviewShell::Print( SfxProgress& rProgress, BOOL bIsAPI, PrintDialog* pPrintDialog )
{
pDocShell->GetDocument()->SetPrintOptions(); // Optionen aus OFA am Printer setzen
@@ -575,7 +571,7 @@ USHORT __EXPORT ScPreviewShell::Print( SfxProgress& rProgress, BOOL bIsAPI, Prin
}
uno::Sequence < beans::PropertyValue > aProps(1);
- aProps[0].Name = ::rtl::OUString::createFromAscii( "PrintSheets" );
+ aProps[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "PrintSheets" ));
aProps[0].Value <<= aSheets;
SetAdditionalPrintOptions( aProps );
@@ -587,7 +583,7 @@ USHORT __EXPORT ScPreviewShell::Print( SfxProgress& rProgress, BOOL bIsAPI, Prin
//------------------------------------------------------------------------
-void __EXPORT ScPreviewShell::Activate(BOOL bMDI)
+void ScPreviewShell::Activate(BOOL bMDI)
{
SfxViewShell::Activate(bMDI);
@@ -602,7 +598,7 @@ void __EXPORT ScPreviewShell::Activate(BOOL bMDI)
}
}
-void __EXPORT ScPreviewShell::Deactivate(BOOL bMDI)
+void ScPreviewShell::Deactivate(BOOL bMDI)
{
SfxViewShell::Deactivate(bMDI);
@@ -613,7 +609,7 @@ void __EXPORT ScPreviewShell::Deactivate(BOOL bMDI)
//------------------------------------------------------------------------
-void __EXPORT ScPreviewShell::Execute( SfxRequest& rReq )
+void ScPreviewShell::Execute( SfxRequest& rReq )
{
USHORT nSlot = rReq.GetSlot();
const SfxItemSet* pReqArgs = rReq.GetArgs();
@@ -827,7 +823,7 @@ void __EXPORT ScPreviewShell::Execute( SfxRequest& rReq )
}
}
-void __EXPORT ScPreviewShell::GetState( SfxItemSet& rSet )
+void ScPreviewShell::GetState( SfxItemSet& rSet )
{
pPreview->SetInGetState(TRUE);
@@ -955,7 +951,7 @@ void ScPreviewShell::FillFieldData( ScHeaderFieldData& rData )
// eNumType kennt der Dialog selber
}
-void __EXPORT ScPreviewShell::WriteUserData(String& rData, BOOL /* bBrowse */)
+void ScPreviewShell::WriteUserData(String& rData, BOOL /* bBrowse */)
{
// nZoom
// nPageNo
@@ -965,7 +961,7 @@ void __EXPORT ScPreviewShell::WriteUserData(String& rData, BOOL /* bBrowse */)
rData += String::CreateFromInt32(pPreview->GetPageNo());
}
-void __EXPORT ScPreviewShell::ReadUserData(const String& rData, BOOL /* bBrowse */)
+void ScPreviewShell::ReadUserData(const String& rData, BOOL /* bBrowse */)
{
xub_StrLen nCount = rData.GetTokenCount();
if (nCount)
@@ -977,7 +973,7 @@ void __EXPORT ScPreviewShell::ReadUserData(const String& rData, BOOL /* bBrowse
}
}
-void __EXPORT ScPreviewShell::WriteUserDataSequence(uno::Sequence < beans::PropertyValue >& rSeq, sal_Bool /* bBrowse */)
+void ScPreviewShell::WriteUserDataSequence(uno::Sequence < beans::PropertyValue >& rSeq, sal_Bool /* bBrowse */)
{
rSeq.realloc(3);
beans::PropertyValue* pSeq = rSeq.getArray();
@@ -995,12 +991,11 @@ void __EXPORT ScPreviewShell::WriteUserDataSequence(uno::Sequence < beans::Prope
}
}
-void __EXPORT ScPreviewShell::ReadUserDataSequence(const uno::Sequence < beans::PropertyValue >& rSeq, sal_Bool /* bBrowse */)
+void ScPreviewShell::ReadUserDataSequence(const uno::Sequence < beans::PropertyValue >& rSeq, sal_Bool /* bBrowse */)
{
sal_Int32 nCount(rSeq.getLength());
if (nCount)
{
- sal_Int32 nTemp = 0;
const beans::PropertyValue* pSeq = rSeq.getConstArray();
if(pSeq)
{
@@ -1009,11 +1004,13 @@ void __EXPORT ScPreviewShell::ReadUserDataSequence(const uno::Sequence < beans::
rtl::OUString sName(pSeq->Name);
if(sName.compareToAscii(SC_ZOOMVALUE) == 0)
{
+ sal_Int32 nTemp = 0;
if (pSeq->Value >>= nTemp)
pPreview->SetZoom(sal_uInt16(nTemp));
}
else if (sName.compareToAscii("PageNumber") == 0)
{
+ sal_Int32 nTemp = 0;
if (pSeq->Value >>= nTemp)
pPreview->SetPageNo(nTemp);
}
diff --git a/sc/source/ui/view/prevwsh2.cxx b/sc/source/ui/view/prevwsh2.cxx
index 6677798f9dcf..f8ec3ae261db 100644
--- a/sc/source/ui/view/prevwsh2.cxx
+++ b/sc/source/ui/view/prevwsh2.cxx
@@ -42,89 +42,19 @@
#define _TREELIST_HXX
#define _CACHESTR_HXX
#define _NEW_HXX
-//#define _SHL_HXX
-//#define _LINK_HXX
-//#define _ERRCODE_HXX
-//#define _GEN_HXX
-//#define _FRACT_HXX
-//#define _STRING_HXX
-//#define _MTF_HXX
-//#define _CONTNR_HXX
-//#define _LIST_HXX
-//#define _TABLE_HXX
#define _DYNARY_HXX
-//#define _UNQIDX_HXX
#define _SVMEMPOOL_HXX
-//#define _UNQID_HXX
-//#define _DEBUG_HXX
-//#define _DATE_HXX
-//#define _TIME_HXX
-//#define _DATETIME_HXX
-//#define _INTN_HXX
-//#define _WLDCRD_HXX
-//#define _FSYS_HXX
-//#define _STREAM_HXX
#define _CACHESTR_HXX
-//#define _SV_MULTISEL_HXX
//SV
-//#define _CLIP_HXX ***
#define _CONFIG_HXX
#define _CURSOR_HXX
#define _FONTDLG_HXX
#define _PRVWIN_HXX
-//#define _COLOR_HXX
-//#define _PAL_HXX
-//#define _BITMAP_HXX
-//#define _GDIOBJ_HXX
-//#define _POINTR_HXX
-//#define _ICON_HXX
-//#define _IMAGE_HXX
-//#define _KEYCOD_HXX
-//#define _EVENT_HXX
#define _HELP_HXX
-//#define _APP_HXX
-//#define _MDIAPP_HXX
-//#define _TIMER_HXX
-//#define _METRIC_HXX
-//#define _REGION_HXX
-//#define _OUTDEV_HXX
-//#define _SYSTEM_HXX
-//#define _VIRDEV_HXX
-//#define _JOBSET_HXX
-//#define _PRINT_HXX
-//#define _WINDOW_HXX
-//#define _SYSWIN_HXX
-//#define _WRKWIN_HXX
#define _MDIWIN_HXX
-//#define _FLOATWIN_HXX
-//#define _DOCKWIN_HXX
-//#define _CTRL_HXX
-//#define _SCRBAR_HXX
-//#define _BUTTON_HXX
-//#define _IMAGEBTN_HXX
-//#define _FIXED_HXX
-//#define _GROUP_HXX
-//#define _EDIT_HXX
-//#define _COMBOBOX_HXX
-//#define _LSTBOX_HXX
-//#define _SELENG_HXX ***
-//#define _SPLIT_HXX
#define _SPIN_HXX
-//#define _FIELD_HXX
-//#define _MOREBTN_HXX ***
-//#define _TOOLBOX_HXX
-//#define _STATUS_HXX ***
-//#define _DIALOG_HXX
-//#define _MSGBOX_HXX
-//#define _SYSDLG_HXX
-//#define _PRNDLG_HXX
#define _COLDLG_HXX
-//#define _TABDLG_HXX
-//#define _GDIMTF_HXX
-//#define _POLY_HXX
-//#define _ACCEL_HXX
-//#define _GRAPH_HXX
#define _SOUND_HXX
#if defined WIN
@@ -134,48 +64,28 @@
//svtools
#define _SCRWIN_HXX
#define _RULER_HXX
-//#define _TABBAR_HXX
-//#define _VALUESET_HXX
#define _STDMENU_HXX
-//#define _STDCTRL_HXX
-//#define _CTRLBOX_HXX
#define _CTRLTOOL_HXX
#define _EXTATTR_HXX
#define _FRM3D_HXX
#define _EXTATTR_HXX
//SVTOOLS
-//#define _SVTREELIST_HXX ***
#define _FILTER_HXX
-//#define _SVLBOXITM_HXX ***
-//#define _SVTREEBOX_HXX ***
#define _SVICNVW_HXX
#define _SVTABBX_HXX
//sfxcore.hxx
-//#define _SFXINIMGR_HXX ***
-//#define _SFXCFGITEM_HXX
-//#define _SFX_PRINTER_HXX
#define _SFXGENLINK_HXX
#define _SFXHINTPOST_HXX
#define _SFXDOCINF_HXX
#define _SFXLINKHDL_HXX
-//#define _SFX_PROGRESS_HXX
//sfxsh.hxx
-//#define _SFX_SHELL_HXX
-//#define _SFXAPP_HXX
-//#define _SFXDISPATCH_HXX
-//#define _SFXMSG_HXX ***
-//#define _SFXOBJFACE_HXX ***
-//#define _SFXREQUEST_HXX
#define _SFXMACRO_HXX
// SFX
-//#define _SFXAPPWIN_HXX ***
#define _SFX_SAVEOPT_HXX
-//#define _SFX_CHILDWIN_HXX
-//#define _SFXCTRLITEM_HXX
#define _SFXPRNMON_HXX
#define _INTRO_HXX
#define _SFXMSGDESCR_HXX
@@ -192,69 +102,32 @@
#define _SFXEVENT_HXX
//sfxdoc.hxx
-//#define _SFX_OBJSH_HXX
-//#define _SFX_CLIENTSH_HXX
-//#define _SFXDOCINF_HXX
-//#define _SFX_OBJFAC_HXX
#define _SFX_DOCFILT_HXX
-//#define _SFXDOCFILE_HXX ***
-//define _VIEWFAC_HXX
-//#define _SFXVIEWFRM_HXX
-//#define _SFXVIEWSH_HXX
-//#define _MDIFRM_HXX ***
#define _SFX_IPFRM_HXX
-//#define _SFX_INTERNO_HXX
//sfxdlg.hxx
-//#define _SFXTABDLG_HXX
-//#define _BASEDLGS_HXX ***
#define _SFX_DINFDLG_HXX
#define _SFXDINFEDT_HXX
#define _SFX_MGETEMPL_HXX
#define _SFX_TPLPITEM_HXX
-//#define _SFX_STYLEDLG_HXX
#define _NEWSTYLE_HXX
-//#define _SFXDOCTEMPL_HXX ***
-//#define _SFXDOCTDLG_HXX ***
-//#define _SFX_TEMPLDLG_HXX ***
-//#define _SFXNEW_HXX ***
#define _SFXDOCMAN_HXX
#define _SFXDOCKWIN_HXX
//sfxitems.hxx
#define _SFX_WHMAP_HXX
-//#define _ARGS_HXX ***
-//#define _SFXPOOLITEM_HXX
-//#define _SFXINTITEM_HXX
-//#define _SFXENUMITEM_HXX
#define _SFXFLAGITEM_HXX
-//#define _SFXSTRITEM_HXX
#define _SFXPTITEM_HXX
#define _SFXRECTITEM_HXX
-//#define _SFXITEMPOOL_HXX
-//#define _SFXITEMSET_HXX
#define _SFXITEMITER_HXX
#define _SFX_WHITER_HXX
#define _SFXPOOLCACH_HXX
-//#define _AEITEM_HXX
#define _SFXRNGITEM_HXX
-//#define _SFXSLSTITM_HXX
-//#define _SFXSTYLE_HXX
-
-//xout.hxx
-//#define _XENUM_HXX
-//#define _XPOLY_HXX
-//#define _XATTR_HXX
-//#define _XOUTX_HXX
-//#define _XPOOL_HXX
-//#define _XTABLE_HXX
//svdraw.hxx
#define _SDR_NOITEMS
#define _SDR_NOTOUCH
#define _SDR_NOTRANSFORM
-//#define _SDR_NOOBJECTS
-//#define _SDR_NOVIEWS
#define _SDR_NOTRANSFORM
#define _SDR_NOVIEWMARKER
#define _SDR_NODRAGMETHODS
@@ -262,20 +135,14 @@
#define _SDR_NOXOUTDEV
-//#define SI_NOITEMS
-//#define SI_NODRW
#define _SI_NOSBXCONTROLS
-//#define _VCATTR_HXX
#define _VCONT_HXX
-//#define _VCSBX_HXX
#define _SI_NOOTHERFORMS
#define _VCTRLS_HXX
-//#define _VCDRWOBJ_HXX
#define _SI_NOCONTROL
#define _SETBRW_HXX
#define _VCBRW_HXX
#define _SI_NOSBXCONTROLS
-//#define _SIDLL_HXX ***
#define _SVX_DAILDLL_HXX
#define _SVX_HYPHEN_HXX
@@ -310,7 +177,7 @@
// -----------------------------------------------------------------------
-void __EXPORT ScPreviewShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
+void ScPreviewShell::Notify( SfxBroadcaster&, const SfxHint& rHint )
{
BOOL bDataChanged = FALSE;
diff --git a/sc/source/ui/view/printfun.cxx b/sc/source/ui/view/printfun.cxx
index 8180c1b8ea1e..48b6f3b1a3e4 100644
--- a/sc/source/ui/view/printfun.cxx
+++ b/sc/source/ui/view/printfun.cxx
@@ -519,7 +519,6 @@ void ScPrintFunc::DrawToDev( ScDocument* pDoc, OutputDevice* pDev, double /* nPr
Rectangle aLines;
ScRange aRange( nX1,nY1,nTab, nX2,nY2,nTab );
-// BOOL bAddLines = pDoc->HasLines( aRange, aLines );
long nTwipsSizeX = 0;
for (SCCOL i=nX1; i<=nX2; i++)
@@ -553,9 +552,6 @@ void ScPrintFunc::DrawToDev( ScDocument* pDoc, OutputDevice* pDev, double /* nPr
if (bEmbed)
pDoc->SetEmbedded(aERange);
-/* if (!bMetaFile)
- pDev->SetMapMode(MAP_PIXEL);
-*/
long nScrX = aRect.Left();
long nScrY = aRect.Top();
@@ -798,7 +794,6 @@ long ScPrintFunc::TextHeight( const EditTextObject* pObject )
if (!pObject)
return 0;
-// pEditEngine->SetPageNo( nTotalPages );
pEditEngine->SetTextNewDefaults( *pObject, *pEditDefaults, FALSE );
return (long) pEditEngine->GetTextHeight();
@@ -1024,8 +1019,6 @@ void ScPrintFunc::InitParam( const ScPrintOptions* pOptions )
// Die Tabellen-Abfrage ist schon in DocShell::Print, hier immer
aAreaParam.aPrintArea.aStart.SetTab(nPrintTab);
aAreaParam.aPrintArea.aEnd.SetTab(nPrintTab);
-
-// lcl_LimitRange( aAreaParam.aPrintArea, nPrintTab ); // ganze Zeilen/Spalten...
}
else if ( pDoc->HasPrintRange() )
{
@@ -1183,7 +1176,6 @@ void lcl_DrawGraphic( const SvxBrushItem &rBrush, OutputDevice *pOut, OutputDevi
Size aDrawSize = aGrfSize;
bool bDraw = TRUE;
-// bool bRetouche = TRUE;
switch ( ePos )
{
case GPOS_LT: aPos = rOrg.TopLeft();
@@ -1218,7 +1210,6 @@ void lcl_DrawGraphic( const SvxBrushItem &rBrush, OutputDevice *pOut, OutputDevi
case GPOS_AREA:
aPos = rOrg.TopLeft();
aDrawSize = rOrg.GetSize();
-// bRetouche = FALSE;
break;
case GPOS_TILED:
{
@@ -1268,7 +1259,6 @@ void lcl_DrawGraphic( const SvxBrushItem &rBrush, OutputDevice *pOut, OutputDevi
}
bDraw = FALSE;
-// bRetouche = FALSE;
}
break;
@@ -1331,12 +1321,10 @@ void ScPrintFunc::DrawBorder( long nScrX, long nScrY, long nScrW, long nScrH,
return; // leer
// #105733# SvtAccessibilityOptions::GetIsForBorders is no longer used (always assumed TRUE)
- BOOL bCellContrast = bUseStyleColor &&
- Application::GetSettings().GetStyleSettings().GetHighContrastMode();
+ BOOL bCellContrast = bUseStyleColor;
if ( pBackground && !bCellContrast )
{
-// Rectangle aBackRect( Point(nScrX+nLeft, nScrY+nTop), Size(nEffWidth,nEffHeight) );
if (pBackground->GetGraphicPos() != GPOS_NONE)
{
OutputDevice* pRefDev;
@@ -1425,8 +1413,6 @@ void ScPrintFunc::DrawBorder( long nScrX, long nScrY, long nScrW, long nScrH,
nScrX+nLeft, nScrY+nTop, 0,0, 0,0, nScaleX, nScaleY );
aOutputData.SetUseStyleColor( bUseStyleColor );
-// pDev->SetMapMode(aTwipMode);
-
if (pBorderData)
aOutputData.DrawFrame();
@@ -1684,42 +1670,25 @@ void ScPrintFunc::PrintArea( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
aOutputData.SetRefDevice( pRefDev );
}
-// aOutputData.SetMetaFileMode(TRUE);
if( aTableParam.bCellContent )
aOutputData.DrawBackground();
pDev->SetClipRegion( Rectangle( aPos, Size( aOutputData.GetScrW(), aOutputData.GetScrH() ) ) );
pDev->SetClipRegion();
-// aOutputData.SetMetaFileMode(FALSE);
if( aTableParam.bCellContent )
{
aOutputData.DrawExtraShadow( bShLeft, bShTop, bShRight, bShBottom );
aOutputData.DrawFrame();
aOutputData.DrawStrings();
-
- // pDev->SetMapMode(aLogicMode);
aOutputData.DrawEdit(FALSE);
}
-// pDev->SetMapMode(aOffsetMode);
if (aTableParam.bGrid)
aOutputData.DrawGrid( TRUE, FALSE ); // keine Seitenumbrueche
-/*!!!!!!!!!!! Notizen in Tabelle markieren ??????????????????????????
-
- if (aTableParam.bNotes)
- {
- pDev->SetMapMode(aOffsetMode);
- aOutputData.PrintNoteMarks(aNotePosList);
- pDev->SetMapMode(aLogicMode);
- }
-*/
-
aOutputData.AddPDFNotes(); // has no effect if not rendering PDF with notes enabled
-// pDev->SetMapMode(aDrawMode);
-
// test if all paint parts are hidden, then a paint is not necessary at all
if(!bHideAllDrawingLayer)
{
@@ -1942,7 +1911,6 @@ long ScPrintFunc::DoNotes( long nNoteStart, BOOL bDoPrint, ScPreviewLocationData
Font aMarkFont;
ScAutoFontColorMode eColorMode = bUseStyleColor ? SC_AUTOCOL_DISPLAY : SC_AUTOCOL_PRINT;
((const ScPatternAttr&)pDoc->GetPool()->GetDefaultItem(ATTR_PATTERN)).GetFont( aMarkFont, eColorMode );
-//? aMarkFont.SetWeight( WEIGHT_BOLD );
pDev->SetFont( aMarkFont );
long nMarkLen = pDev->GetTextWidth(
String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("GW99999:")));
@@ -2046,7 +2014,6 @@ long ScPrintFunc::PrintNotes( long nPageNo, long nNoteStart, BOOL bDoPrint, ScPr
if ( pPrinter && bDoPrint )
{
DBG_ERROR( "StartPage does not exist anymore" );
- // pPrinter->StartPage();
}
if ( bDoPrint || pLocationData )
@@ -2070,7 +2037,6 @@ long ScPrintFunc::PrintNotes( long nPageNo, long nNoteStart, BOOL bDoPrint, ScPr
if ( pPrinter && bDoPrint )
{
DBG_ERROR( "EndPage does not exist anymore" );
- // pPrinter->EndPage();
}
return nCount;
@@ -2136,7 +2102,6 @@ void ScPrintFunc::PrintPage( long nPageNo, SCCOL nX1, SCROW nY1, SCCOL nX2, SCRO
if ( pPrinter && bDoPrint )
{
DBG_ERROR( "StartPage does not exist anymore" );
- // pPrinter->StartPage();
}
// Kopf- und Fusszeilen (ohne Zentrierung)
@@ -2230,9 +2195,6 @@ void ScPrintFunc::PrintPage( long nPageNo, SCCOL nX1, SCROW nY1, SCCOL nX2, SCRO
long nStartX = ((long) ( nLeftSpace * nScaleX ));
long nStartY = ((long) ( nTopSpace * nScaleY ));
-// nStartX -= aOffset.X(); // schon im MapMode
-// nStartY -= aOffset.Y();
-
long nInnerStartX = nStartX;
long nInnerStartY = nStartY;
if (pBorderItem)
@@ -2421,7 +2383,6 @@ void ScPrintFunc::PrintPage( long nPageNo, SCCOL nX1, SCROW nY1, SCCOL nX2, SCRO
if ( pPrinter && bDoPrint )
{
DBG_ERROR( "EndPage does not exist anymore" );
- // pPrinter->EndPage();
}
aLastSourceRange = ScRange( nX1, nY1, nPrintTab, nX2, nY2, nPrintTab );
@@ -2567,7 +2528,6 @@ long ScPrintFunc::CountPages() // setzt auch nPagesX, n
}
else
{
-// nZoom = 100; // nZoom auf letztem Wert stehenlassen !!!
nPagesX = nPagesY = nTotalY = 0;
return 0;
}
@@ -2647,8 +2607,6 @@ void ScPrintFunc::InitModes() // aus nZoom etc. die MapModes setze
aOffset = Point( aSrcOffset.X()*100/nZoom, aSrcOffset.Y()*100/nZoom );
long nEffZoom = nZoom * (long) nManualZoom;
-
-// nScaleX = nScaleY = 1.0; // Ausgabe in Twips
nScaleX = nScaleY = HMM_PER_TWIPS; // Ausgabe in 1/100 mm
Fraction aZoomFract( nEffZoom,10000 );
diff --git a/sc/source/ui/view/reffact.cxx b/sc/source/ui/view/reffact.cxx
index 21d66c5a39be..58be3b960b54 100644
--- a/sc/source/ui/view/reffact.cxx
+++ b/sc/source/ui/view/reffact.cxx
@@ -45,9 +45,7 @@
#include "acredlin.hxx"
#include "simpref.hxx"
#include "scmod.hxx"
-//<!--Added by PengYunQuan for Validity Cell Range Picker
#include "validate.hxx"
-//<!--Added by PengYunQuan for Validity Cell Range Picker
// -----------------------------------------------------------------------
@@ -72,10 +70,8 @@ SFX_IMPL_CHILDWINDOW(ScFunctionDlgWrapper, SID_OPENDLG_FUNCTION )
SFX_IMPL_CHILDWINDOW(ScEditFunctionDlgWrapper, SID_OPENDLG_EDITFUNCTION )
SFX_IMPL_CHILDWINDOW(ScArgumentDlgWrapper, SID_OPENDLG_ARGUMENT )
*/
-//<!--Added by PengYunQuan for Validity Cell Range Picker
-//SFX_IMPL_MODELESSDIALOG(ScValidityRefChildWin, SID_VALIDITY_REFERENCE )
SFX_IMPL_CHILDWINDOW(ScValidityRefChildWin, SID_VALIDITY_REFERENCE)
-SfxChildWinInfo __EXPORT ScValidityRefChildWin::GetInfo() const
+SfxChildWinInfo ScValidityRefChildWin::GetInfo() const
{
SfxChildWinInfo anInfo = SfxChildWindow::GetInfo();
@@ -92,7 +88,6 @@ SfxChildWinInfo __EXPORT ScValidityRefChildWin::GetInfo() const
}
namespace { ScTabViewShell * lcl_GetTabViewShell( SfxBindings *pBindings ); }
-//<!--Added by PengYunQuan for Validity Cell Range Picker
#define IMPL_CHILD_CTOR(Class,sid) \
Class::Class( Window* pParentP, \
@@ -101,7 +96,6 @@ namespace { ScTabViewShell * lcl_GetTabViewShell( SfxBindings *pBindings ); }
SfxChildWinInfo* pInfo ) \
: SfxChildWindow(pParentP, nId) \
{ \
- /*//<!--Added by PengYunQuan for Validity Cell Range Picker*/\
/************************************************************************************/\
/* When a new document is creating, the SfxViewFrame may be ready, */\
/* But the ScTabViewShell may have not been activated yet. In this */\
@@ -109,7 +103,6 @@ namespace { ScTabViewShell * lcl_GetTabViewShell( SfxBindings *pBindings ); }
/* and we should lcl_GetTabViewShell( p ) instead of SfxViewShell::Current() */\
/************************************************************************************/\
ScTabViewShell* pViewShell = lcl_GetTabViewShell( p ); \
- /*//-->Added by PengYunQuan for Validity Cell Range Picker*/\
if (!pViewShell) \
pViewShell = PTR_CAST( ScTabViewShell, SfxViewShell::Current() ); \
DBG_ASSERT( pViewShell, "missing view shell :-(" ); \
@@ -218,8 +211,6 @@ ScSimpleRefDlgWrapper::ScSimpleRefDlgWrapper( Window* pParentP,
SfxChildWinInfo* pInfo )
: SfxChildWindow(pParentP, nId)
{
-// ScTabViewShell* pViewShell =
-// PTR_CAST( ScTabViewShell, SfxViewShell::Current() );
ScTabViewShell* pViewShell = NULL;
SfxDispatcher* pDisp = p->GetDispatcher();
@@ -363,30 +354,7 @@ void ScAcceptChgDlgWrapper::ReInitDlg()
IMPL_CHILD_CTOR( ScHighlightChgDlgWrapper, FID_CHG_SHOW )
-/*------------------------------------------------------------------------*/
-/*@@@
- //-------------------------------------------------------------------------
- // ScFunctionDlgWrapper
- //-------------------------------------------------------------------------
- IMPL_CHILD_CTOR( ScFunctionDlgWrapper, SID_OPENDLG_FUNCTION )
-
- //-------------------------------------------------------------------------
- // ScEditFunctionDlgWrapper
- //-------------------------------------------------------------------------
-
- IMPL_CHILD_CTOR( ScEditFunctionDlgWrapper, SID_OPENDLG_EDITFUNCTION )
-
- //-------------------------------------------------------------------------
- // ScArgumentDlgWrapper
- //-------------------------------------------------------------------------
-
- IMPL_CHILD_CTOR( ScArgumentDlgWrapper, SID_OPENDLG_ARGUMENT )
-@@@*/
-/*------------------------------------------------------------------------*/
-
-
-//<!--Added by PengYunQuan for Validity Cell Range Picker
namespace
{
ScTabViewShell * lcl_GetTabViewShell( SfxBindings *pBindings )
@@ -419,8 +387,6 @@ ScValidityRefChildWin::ScValidityRefChildWin( Window* pParentP,
DBG_ASSERT( pViewShell, "missing view shell :-(" ); \
if (pViewShell && !pWindow) \
pViewShell->GetViewFrame()->SetChildWindow( nId, FALSE ); \
- else if( pWindow /*&& pWindow->ISA(ScValidationDlg)*/ )
- {}//pWindow = new Window( pParentP, WB_HIDE );
if( pWindow ) m_pSavedWndParent = pWindow->GetParent();
}
@@ -432,6 +398,5 @@ ScValidityRefChildWin::~ScValidityRefChildWin()
if( m_bFreeWindowLock )
pWindow = NULL;
}
-//-->Added by PengYunQuan for Validity Cell Range Picker
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/view/select.cxx b/sc/source/ui/view/select.cxx
index 52139ccb8f04..8d726e002c3d 100644
--- a/sc/source/ui/view/select.cxx
+++ b/sc/source/ui/view/select.cxx
@@ -35,6 +35,7 @@
#include <tools/urlobj.hxx>
#include <vcl/sound.hxx>
+#include <vcl/svapp.hxx>
#include <sfx2/docfile.hxx>
#include "select.hxx"
@@ -46,6 +47,8 @@
#include "docsh.hxx"
#include "tabprotection.hxx"
+#define SC_SELENG_REFMODE_UPDATE_INTERVAL_MIN 65
+
extern USHORT nScFillModeMouseModifier; // global.cxx
using namespace com::sun::star;
@@ -78,6 +81,83 @@ ScSplitPos ScViewFunctionSet::GetWhich()
return pViewData->GetActivePart();
}
+ULONG ScViewFunctionSet::CalcUpdateInterval( const Size& rWinSize, const Point& rEffPos,
+ bool bLeftScroll, bool bTopScroll, bool bRightScroll, bool bBottomScroll )
+{
+ ULONG nUpdateInterval = SELENG_AUTOREPEAT_INTERVAL_MAX;
+ Window* pWin = pEngine->GetWindow();
+ Rectangle aScrRect = pWin->GetDesktopRectPixel();
+ Point aRootPos = pWin->OutputToAbsoluteScreenPixel(Point(0,0));
+ if (bRightScroll)
+ {
+ double nWinRight = rWinSize.getWidth() + aRootPos.getX();
+ double nMarginRight = aScrRect.GetWidth() - nWinRight;
+ double nHOffset = rEffPos.X() - rWinSize.Width();
+ double nHAccelRate = nHOffset / nMarginRight;
+
+ if (nHAccelRate > 1.0)
+ nHAccelRate = 1.0;
+
+ nUpdateInterval = static_cast<ULONG>(SELENG_AUTOREPEAT_INTERVAL_MAX*(1.0 - nHAccelRate));
+ }
+
+ if (bLeftScroll)
+ {
+ double nMarginLeft = aRootPos.getX();
+ double nHOffset = -rEffPos.X();
+ double nHAccelRate = nHOffset / nMarginLeft;
+
+ if (nHAccelRate > 1.0)
+ nHAccelRate = 1.0;
+
+ ULONG nTmp = static_cast<ULONG>(SELENG_AUTOREPEAT_INTERVAL_MAX*(1.0 - nHAccelRate));
+ if (nUpdateInterval > nTmp)
+ nUpdateInterval = nTmp;
+ }
+
+ if (bBottomScroll)
+ {
+ double nWinBottom = rWinSize.getHeight() + aRootPos.getY();
+ double nMarginBottom = aScrRect.GetHeight() - nWinBottom;
+ double nVOffset = rEffPos.Y() - rWinSize.Height();
+ double nVAccelRate = nVOffset / nMarginBottom;
+
+ if (nVAccelRate > 1.0)
+ nVAccelRate = 1.0;
+
+ ULONG nTmp = static_cast<ULONG>(SELENG_AUTOREPEAT_INTERVAL_MAX*(1.0 - nVAccelRate));
+ if (nUpdateInterval > nTmp)
+ nUpdateInterval = nTmp;
+ }
+
+ if (bTopScroll)
+ {
+ double nMarginTop = aRootPos.getY();
+ double nVOffset = -rEffPos.Y();
+ double nVAccelRate = nVOffset / nMarginTop;
+
+ if (nVAccelRate > 1.0)
+ nVAccelRate = 1.0;
+
+ ULONG nTmp = static_cast<ULONG>(SELENG_AUTOREPEAT_INTERVAL_MAX*(1.0 - nVAccelRate));
+ if (nUpdateInterval > nTmp)
+ nUpdateInterval = nTmp;
+ }
+
+#ifdef WNT
+ ScTabViewShell* pViewShell = pViewData->GetViewShell();
+ bool bRefMode = pViewShell && pViewShell->IsRefInputMode();
+ if (bRefMode && nUpdateInterval < SC_SELENG_REFMODE_UPDATE_INTERVAL_MIN)
+ // Lower the update interval during ref mode, because re-draw can be
+ // expensive on Windows. Making this interval too small would queue up
+ // the scroll/paint requests which would cause semi-infinite
+ // scrolls even after the mouse cursor is released. We don't have
+ // this problem on Linux.
+ nUpdateInterval = SC_SELENG_REFMODE_UPDATE_INTERVAL_MIN;
+#endif
+ return nUpdateInterval;
+}
+
void ScViewFunctionSet::SetSelectionEngine( ScViewSelectionEngine* pSelEngine )
{
pEngine = pSelEngine;
@@ -85,7 +165,7 @@ void ScViewFunctionSet::SetSelectionEngine( ScViewSelectionEngine* pSelEngine )
// Drag & Drop
-void __EXPORT ScViewFunctionSet::BeginDrag()
+void ScViewFunctionSet::BeginDrag()
{
SCTAB nTab = pViewData->GetTabNo();
@@ -160,7 +240,7 @@ void __EXPORT ScViewFunctionSet::BeginDrag()
// Selection
-void __EXPORT ScViewFunctionSet::CreateAnchor()
+void ScViewFunctionSet::CreateAnchor()
{
if (bAnchor) return;
@@ -215,7 +295,7 @@ void ScViewFunctionSet::SetAnchor( SCCOL nPosX, SCROW nPosY )
bAnchor = TRUE;
}
-void __EXPORT ScViewFunctionSet::DestroyAnchor()
+void ScViewFunctionSet::DestroyAnchor()
{
BOOL bRefMode = SC_MOD()->IsFormulaMode();
if (bRefMode)
@@ -231,7 +311,7 @@ void ScViewFunctionSet::SetAnchorFlag( BOOL bSet )
bAnchor = bSet;
}
-BOOL __EXPORT ScViewFunctionSet::SetCursorAtPoint( const Point& rPointPixel, BOOL /* bDontSelectAtCursor */ )
+BOOL ScViewFunctionSet::SetCursorAtPoint( const Point& rPointPixel, BOOL /* bDontSelectAtCursor */ )
{
if ( bDidSwitch )
{
@@ -255,10 +335,11 @@ BOOL __EXPORT ScViewFunctionSet::SetCursorAtPoint( const Point& rPointPixel, BOO
// Scrolling
Size aWinSize = pEngine->GetWindow()->GetOutputSizePixel();
- BOOL bRightScroll = ( aEffPos.X() >= aWinSize.Width() );
- BOOL bBottomScroll = ( aEffPos.Y() >= aWinSize.Height() );
- BOOL bNegScroll = ( aEffPos.X() < 0 || aEffPos.Y() < 0 );
- BOOL bScroll = bRightScroll || bBottomScroll || bNegScroll;
+ bool bRightScroll = ( aEffPos.X() >= aWinSize.Width() );
+ bool bLeftScroll = ( aEffPos.X() < 0 );
+ bool bBottomScroll = ( aEffPos.Y() >= aWinSize.Height() );
+ bool bTopScroll = ( aEffPos.Y() < 0 );
+ bool bScroll = bRightScroll || bBottomScroll || bLeftScroll || bTopScroll;
SCsCOL nPosX;
SCsROW nPosY;
@@ -311,6 +392,19 @@ BOOL __EXPORT ScViewFunctionSet::SetCursorAtPoint( const Point& rPointPixel, BOO
}
}
+ if (bScroll)
+ {
+ // Adjust update interval based on how far the mouse pointer is from the edge.
+ ULONG nUpdateInterval = CalcUpdateInterval(
+ aWinSize, aEffPos, bLeftScroll, bTopScroll, bRightScroll, bBottomScroll);
+ pEngine->SetUpdateInterval(nUpdateInterval);
+ }
+ else
+ {
+ // Don't forget to reset the interval when not scrolling!
+ pEngine->SetUpdateInterval(SELENG_AUTOREPEAT_INTERVAL);
+ }
+
pViewData->ResetOldCursor();
return SetCursorAtCell( nPosX, nPosY, bScroll );
}
@@ -612,7 +706,7 @@ BOOL ScViewFunctionSet::SetCursorAtCell( SCsCOL nPosX, SCsROW nPosY, BOOL bScrol
return TRUE;
}
-BOOL __EXPORT ScViewFunctionSet::IsSelectionAtPoint( const Point& rPointPixel )
+BOOL ScViewFunctionSet::IsSelectionAtPoint( const Point& rPointPixel )
{
BOOL bRefMode = SC_MOD()->IsFormulaMode();
if (bRefMode)
@@ -633,12 +727,12 @@ BOOL __EXPORT ScViewFunctionSet::IsSelectionAtPoint( const Point& rPointPixel )
return FALSE;
}
-void __EXPORT ScViewFunctionSet::DeselectAtPoint( const Point& /* rPointPixel */ )
+void ScViewFunctionSet::DeselectAtPoint( const Point& /* rPointPixel */ )
{
// gibt's nicht
}
-void __EXPORT ScViewFunctionSet::DeselectAll()
+void ScViewFunctionSet::DeselectAll()
{
if (pViewData->IsAnyFillMode())
return;
@@ -696,12 +790,12 @@ void ScHeaderFunctionSet::SetWhich( ScSplitPos eNew )
eWhich = eNew;
}
-void __EXPORT ScHeaderFunctionSet::BeginDrag()
+void ScHeaderFunctionSet::BeginDrag()
{
// gippsnich
}
-void __EXPORT ScHeaderFunctionSet::CreateAnchor()
+void ScHeaderFunctionSet::CreateAnchor()
{
if (bAnchor)
return;
@@ -721,13 +815,13 @@ void __EXPORT ScHeaderFunctionSet::CreateAnchor()
bAnchor = TRUE;
}
-void __EXPORT ScHeaderFunctionSet::DestroyAnchor()
+void ScHeaderFunctionSet::DestroyAnchor()
{
pViewData->GetView()->DoneBlockMode( TRUE );
bAnchor = FALSE;
}
-BOOL __EXPORT ScHeaderFunctionSet::SetCursorAtPoint( const Point& rPointPixel, BOOL /* bDontSelectAtCursor */ )
+BOOL ScHeaderFunctionSet::SetCursorAtPoint( const Point& rPointPixel, BOOL /* bDontSelectAtCursor */ )
{
if ( bDidSwitch )
{
@@ -830,7 +924,7 @@ BOOL __EXPORT ScHeaderFunctionSet::SetCursorAtPoint( const Point& rPointPixel, B
return TRUE;
}
-BOOL __EXPORT ScHeaderFunctionSet::IsSelectionAtPoint( const Point& rPointPixel )
+BOOL ScHeaderFunctionSet::IsSelectionAtPoint( const Point& rPointPixel )
{
SCsCOL nPosX;
SCsROW nPosY;
@@ -844,11 +938,11 @@ BOOL __EXPORT ScHeaderFunctionSet::IsSelectionAtPoint( const Point& rPointPixel
return rMark.IsRowMarked( nPosY );
}
-void __EXPORT ScHeaderFunctionSet::DeselectAtPoint( const Point& /* rPointPixel */ )
+void ScHeaderFunctionSet::DeselectAtPoint( const Point& /* rPointPixel */ )
{
}
-void __EXPORT ScHeaderFunctionSet::DeselectAll()
+void ScHeaderFunctionSet::DeselectAll()
{
pViewData->GetView()->DoneBlockMode( FALSE );
bAnchor = FALSE;
diff --git a/sc/source/ui/view/tabcont.cxx b/sc/source/ui/view/tabcont.cxx
index daea22b78027..9bc33b63cb50 100644
--- a/sc/source/ui/view/tabcont.cxx
+++ b/sc/source/ui/view/tabcont.cxx
@@ -255,12 +255,6 @@ void ScTabControl::Select()
for (i=0; i<nCount; i++)
rMark.SelectTable( i, IsPageSelected(static_cast<sal_uInt16>(i)+1) );
-/* Markierungen werden per Default nicht pro Tabelle gehalten
- USHORT nSelCnt = GetSelectPageCount();
- if (nSelCnt>1)
- pDoc->ExtendMarksFromTable( nPage );
-*/
-
SfxDispatcher& rDisp = pViewData->GetDispatcher();
if (rDisp.IsLocked())
pViewData->GetView()->SetTabNo( static_cast<SCTAB>(nPage) );
@@ -384,26 +378,12 @@ void ScTabControl::UpdateStatus()
void ScTabControl::ActivateView(BOOL bActivate)
{
-// ScDocument* pDoc = pViewData->GetDocument();
ScMarkData& rMark = pViewData->GetMarkData();
-// ResetMark direkt in TabView
-// pDoc->ResetMark();
-
USHORT nCurId = GetCurPageId();
if (!nCurId) return; // kann vorkommen, wenn bei Excel-Import alles versteckt ist
USHORT nPage = nCurId - 1;
-// USHORT nCount = GetMaxId();
- /*
- USHORT i;
- for (i=0; i<nCount; i++)
- {
- SelectPage( i+1, FALSE );
- if (bActivate)
- rMark.SelectTable( i, FALSE );
- }
- */
if (bActivate)
{
SelectPage( nPage+1, TRUE );
diff --git a/sc/source/ui/view/tabsplit.cxx b/sc/source/ui/view/tabsplit.cxx
index 7babaad6d154..868d7d478bdf 100644
--- a/sc/source/ui/view/tabsplit.cxx
+++ b/sc/source/ui/view/tabsplit.cxx
@@ -54,7 +54,7 @@ ScTabSplitter::~ScTabSplitter()
{
}
-void __EXPORT ScTabSplitter::MouseMove( const MouseEvent& rMEvt )
+void ScTabSplitter::MouseMove( const MouseEvent& rMEvt )
{
if (bFixed)
Window::MouseMove( rMEvt );
@@ -62,7 +62,7 @@ void __EXPORT ScTabSplitter::MouseMove( const MouseEvent& rMEvt )
Splitter::MouseMove( rMEvt );
}
-void __EXPORT ScTabSplitter::MouseButtonUp( const MouseEvent& rMEvt )
+void ScTabSplitter::MouseButtonUp( const MouseEvent& rMEvt )
{
if (bFixed)
Window::MouseButtonUp( rMEvt );
@@ -70,7 +70,7 @@ void __EXPORT ScTabSplitter::MouseButtonUp( const MouseEvent& rMEvt )
Splitter::MouseButtonUp( rMEvt );
}
-void __EXPORT ScTabSplitter::MouseButtonDown( const MouseEvent& rMEvt )
+void ScTabSplitter::MouseButtonDown( const MouseEvent& rMEvt )
{
if (bFixed)
Window::MouseButtonDown( rMEvt );
@@ -78,7 +78,7 @@ void __EXPORT ScTabSplitter::MouseButtonDown( const MouseEvent& rMEvt )
Splitter::MouseButtonDown( rMEvt );
}
-void __EXPORT ScTabSplitter::Splitting( Point& rSplitPos )
+void ScTabSplitter::Splitting( Point& rSplitPos )
{
Window* pParent = GetParent();
Point aScreenPos = pParent->OutputToNormalizedScreenPixel( rSplitPos );
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
index 58da4e399c5a..7e1ab1f07179 100644
--- a/sc/source/ui/view/tabview.cxx
+++ b/sc/source/ui/view/tabview.cxx
@@ -45,7 +45,6 @@
////////////////////// Umsetzen der Standard-Defines //////////////////////
-//#define _SVDDRAG_HXX // SdrDragStat
#define _SVDPAGE_HXX // SdrPage
#ifdef _SDR_NOSURROGATEOBJ
@@ -116,13 +115,8 @@
#undef _SVDORECT_HXX
#endif
-//#ifdef _SDR_NOVIEWS
-// #define _SVDDRAG_HXX
-//#endif
-
////////////////////// Ende der SVDRAW-Modifikationen /////////////////////
-
// INCLUDE ---------------------------------------------------------------
#include "scitems.hxx"
@@ -183,11 +177,11 @@ ScCornerButton::ScCornerButton( Window* pParent, ScViewData* pData, BOOL bAdditi
EnableRTL( FALSE );
}
-__EXPORT ScCornerButton::~ScCornerButton()
+ScCornerButton::~ScCornerButton()
{
}
-void __EXPORT ScCornerButton::Paint( const Rectangle& rRect )
+void ScCornerButton::Paint( const Rectangle& rRect )
{
Size aSize = GetOutputSizePixel();
long nPosX = aSize.Width()-1;
@@ -200,7 +194,7 @@ void __EXPORT ScCornerButton::Paint( const Rectangle& rRect )
BOOL bLayoutRTL = pViewData->GetDocument()->IsLayoutRTL( pViewData->GetTabNo() );
long nDarkX = bLayoutRTL ? 0 : nPosX;
- if ( !bAdd && !rStyleSettings.GetHighContrastMode() )
+ if ( !bAdd )
{
// match the shaded look of column/row headers
@@ -253,12 +247,12 @@ void ScCornerButton::DataChanged( const DataChangedEvent& rDCEvt )
}
-void __EXPORT ScCornerButton::Resize()
+void ScCornerButton::Resize()
{
Invalidate();
}
-void __EXPORT ScCornerButton::MouseButtonDown( const MouseEvent& rMEvt )
+void ScCornerButton::MouseButtonDown( const MouseEvent& rMEvt )
{
ScModule* pScMod = SC_MOD();
BOOL bDisable = pScMod->IsFormulaMode() || pScMod->IsModalMode();
@@ -379,7 +373,6 @@ void ScTabView::ResetTimer()
IMPL_LINK( ScTabView, TimerHdl, Timer*, EMPTYARG )
{
-// aScrollTimer.Stop();
if (pTimerWindow)
pTimerWindow->MouseMove( aTimerMEvt );
@@ -447,7 +440,6 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, BOOL bInner )
long nPosY = rOffset.Y();
long nSizeX = rSize.Width();
long nSizeY = rSize.Height();
- long nSize1;
bMinimized = ( nSizeX<=SC_ICONSIZE || nSizeY<=SC_ICONSIZE );
if ( bMinimized )
@@ -472,7 +464,6 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, BOOL bInner )
if ( WhichH( aViewData.GetActivePart() ) == SC_SPLIT_RIGHT )
ActivatePart( SC_SPLIT_BOTTOMLEFT );
InvalidateSplit();
-// UpdateShow();
}
if ( aViewData.GetVSplitMode() != SC_SPLIT_NONE )
if ( aViewData.GetVSplitPos() > nSizeY - SPLIT_MARGIN )
@@ -481,7 +472,6 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, BOOL bInner )
if ( WhichV( aViewData.GetActivePart() ) == SC_SPLIT_TOP )
ActivatePart( SC_SPLIT_BOTTOMLEFT );
InvalidateSplit();
-// UpdateShow();
}
UpdateShow();
@@ -491,13 +481,11 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, BOOL bInner )
long nScrollBarSize = pFrameWin->GetSettings().GetStyleSettings().GetScrollBarSize();
if (bVScroll)
{
-// nBarX = aVScrollBottom.GetSizePixel().Width();
nBarX = nScrollBarSize;
nSizeX -= nBarX - nOverlap;
}
if (bHScroll)
{
-// nBarY = aHScrollLeft.GetSizePixel().Height();
nBarY = nScrollBarSize;
nSizeY -= nBarY - nOverlap;
}
@@ -618,7 +606,7 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, BOOL bInner )
nBarY = aHScrollLeft.GetSizePixel().Height();
nBarX = aVScrollBottom.GetSizePixel().Width();
- nSize1 = nSizeX + nOverlap;
+ long nSize1 = nSizeX + nOverlap;
long nTabSize = nSize1;
if (nTabSize < 0) nTabSize = 0;
@@ -1015,11 +1003,6 @@ void ScTabView::SetActivePointer( const Pointer& rPointer )
for (USHORT i=0; i<4; i++)
if (pGridWin[i])
pGridWin[i]->SetPointer( rPointer );
-
-/* ScSplitPos ePos = aViewData.GetActivePart();
- if (pGridWin[ePos])
- pGridWin[ePos]->SetPointer( rPointer );
-*/
}
@@ -1761,7 +1744,6 @@ void ScTabView::DoHSplit(long nSplitPos)
else
{
nOldDelta = aViewData.GetPosX( SC_SPLIT_LEFT );
-// aViewData.SetPosX( SC_SPLIT_LEFT, nOldDelta );
long nLeftWidth = nSplitPos - pRowBar[SC_SPLIT_BOTTOM]->GetSizePixel().Width();
if ( nLeftWidth < 0 ) nLeftWidth = 0;
nNewDelta = nOldDelta + aViewData.CellsAtX( nOldDelta, 1, SC_SPLIT_LEFT,
@@ -2453,5 +2435,4 @@ void ScTabView::EnableRefInput(BOOL bFlag)
}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/view/tabview2.cxx b/sc/source/ui/view/tabview2.cxx
index a3692828c10f..58155a589939 100644
--- a/sc/source/ui/view/tabview2.cxx
+++ b/sc/source/ui/view/tabview2.cxx
@@ -110,7 +110,6 @@ void ScTabView::InitOwnBlockMode()
if (!rMark.IsMarked() && !rMark.IsMultiMarked())
GetSelEngine()->CursorPosChanging( FALSE, FALSE );
-// bIsBlockMode = TRUE;
bIsBlockMode = SC_BLOCKMODE_OWN; //! Variable umbenennen!
nBlockStartX = 0;
nBlockStartY = 0;
@@ -148,7 +147,6 @@ void ScTabView::InitBlockMode( SCCOL nCurX, SCROW nCurY, SCTAB nCurZ,
bBlockNeg = FALSE;
rMark.SetMarkNegative(bBlockNeg);
-// bIsBlockMode = TRUE;
bIsBlockMode = SC_BLOCKMODE_NORMAL; //! Variable umbenennen!
bBlockCols = bCols;
bBlockRows = bRows;
@@ -210,7 +208,6 @@ void ScTabView::DoneBlockMode( BOOL bContinue ) // Default FALSE
else
rMark.ResetMark();
}
-// bIsBlockMode = FALSE;
bIsBlockMode = SC_BLOCKMODE_NONE; //! Variable umbenennen!
rMark.SetMarking(bFlag);
@@ -380,9 +377,6 @@ void ScTabView::MarkCursor( SCCOL nCurX, SCROW nCurY, SCTAB nCurZ,
nDrawEndCol, nDrawEndRow, bCont );
if ( bDraw )
{
-//? PutInOrder( nDrawStartCol, nDrawEndCol );
-//? PutInOrder( nDrawStartRow, nDrawEndRow );
-
HideAllCursors();
InvertBlockMark( nDrawStartCol, nDrawStartRow, nDrawEndCol, nDrawEndRow );
if (bCont)
@@ -399,7 +393,6 @@ void ScTabView::MarkCursor( SCCOL nCurX, SCROW nCurY, SCTAB nCurZ,
nOldCurY = nCurY;
aViewData.GetViewShell()->UpdateInputHandler();
-// InvalidateAttribs();
}
if ( !bCols && !bRows )
@@ -450,8 +443,12 @@ void ScTabView::GetAreaMoveEndPosition(SCsCOL nMovX, SCsROW nMovY, ScFollowMode
}
else if (IsBlockMode())
{
+ // block end position.
nNewX = nBlockEndX;
nNewY = nBlockEndY;
+ // cursor position - diagonally opposite of the block end position.
+ nCurX = aViewData.GetCurX();
+ nCurY = aViewData.GetCurY();
}
else
{
@@ -467,16 +464,16 @@ void ScTabView::GetAreaMoveEndPosition(SCsCOL nMovX, SCsROW nMovY, ScFollowMode
SCsCOLROW i;
if ( nMovX > 0 )
for ( i=0; i<nMovX; i++ )
- pDoc->FindAreaPos( nNewX, nNewY, nTab, 1, 0 );
+ pDoc->FindAreaPos( nNewX, nCurY, nTab, 1, 0 );
if ( nMovX < 0 )
for ( i=0; i<-nMovX; i++ )
- pDoc->FindAreaPos( nNewX, nNewY, nTab, -1, 0 );
+ pDoc->FindAreaPos( nNewX, nCurY, nTab, -1, 0 );
if ( nMovY > 0 )
for ( i=0; i<nMovY; i++ )
- pDoc->FindAreaPos( nNewX, nNewY, nTab, 0, 1 );
+ pDoc->FindAreaPos( nCurX, nNewY, nTab, 0, 1 );
if ( nMovY < 0 )
for ( i=0; i<-nMovY; i++ )
- pDoc->FindAreaPos( nNewX, nNewY, nTab, 0, -1 );
+ pDoc->FindAreaPos( nCurX, nNewY, nTab, 0, -1 );
if (eMode==SC_FOLLOW_JUMP) // unten/rechts nicht zuviel grau anzeigen
{
@@ -1023,7 +1020,6 @@ void ScTabView::SelectAllTables()
{
ScDocument* pDoc = aViewData.GetDocument();
ScMarkData& rMark = aViewData.GetMarkData();
-// SCTAB nTab = aViewData.GetTabNo();
SCTAB nCount = pDoc->GetTableCount();
if (nCount>1)
@@ -1031,9 +1027,6 @@ void ScTabView::SelectAllTables()
for (SCTAB i=0; i<nCount; i++)
rMark.SelectTable( i, TRUE );
- // Markierungen werden per Default nicht pro Tabelle gehalten
-// pDoc->ExtendMarksFromTable( nTab );
-
aViewData.GetDocShell()->PostPaintExtras();
SfxBindings& rBind = aViewData.GetBindings();
rBind.Invalidate( FID_FILL_TAB );
diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx
index e9659ef962cd..f97f0c6e9f02 100644
--- a/sc/source/ui/view/tabview3.cxx
+++ b/sc/source/ui/view/tabview3.cxx
@@ -269,9 +269,6 @@ void ScTabView::InvalidateAttribs()
rBindings.Invalidate( SID_NUMBER_CURRENCY );
rBindings.Invalidate( SID_NUMBER_PERCENT );
rBindings.Invalidate( SID_NUMBER_TIME );
-
-// rBindings.Invalidate( SID_RANGE_VALUE );
-// rBindings.Invalidate( SID_RANGE_FORMULA );
}
// SetCursor - Cursor setzen, zeichnen, InputWin updaten
@@ -402,7 +399,6 @@ void ScTabView::SelectionChanged()
rBindings.Invalidate( FID_MERGE_TOGGLE );
rBindings.Invalidate( SID_AUTOFILTER_HIDE );
rBindings.Invalidate( SID_UNFILTER );
-// rBindings.Invalidate( SID_IMPORT_DATA ); // jetzt wieder immer moeglich
rBindings.Invalidate( SID_REIMPORT_DATA );
rBindings.Invalidate( SID_REFRESH_DBAREA );
rBindings.Invalidate( SID_OUTLINE_SHOW );
@@ -442,7 +438,6 @@ void ScTabView::SelectionChanged()
rBindings.Invalidate( SID_INSERT_POSTIT );
rBindings.Invalidate( SID_CHARMAP );
rBindings.Invalidate( SID_OPENDLG_FUNCTION );
-// rBindings.Invalidate( FID_CONDITIONAL_FORMAT );
rBindings.Invalidate( SID_OPENDLG_CONDFRMT );
rBindings.Invalidate( FID_VALIDATION );
rBindings.Invalidate( SID_EXTERNAL_SOURCE );
@@ -980,7 +975,6 @@ void ScTabView::MoveCursorRel( SCsCOL nMovX, SCsROW nMovY, ScFollowMode eMode,
nCurY = (nMovY != 0) ? nOldY+nMovY : (SCsROW) aViewData.GetOldCurY();
}
- BOOL bSkipCell = FALSE;
aViewData.ResetOldCursor();
if (nMovX != 0 && VALIDCOLROW(nCurX,nCurY))
@@ -1815,7 +1809,6 @@ void ScTabView::KillEditView( BOOL bNoPaint )
{
pGridWin[i]->UpdateCursorOverlay();
pGridWin[i]->UpdateAutoFillOverlay();
- // pGridWin[i]->UpdateAllOverlays();
}
}
}
@@ -2077,8 +2070,10 @@ void ScTabView::DoChartSelection(
if( ScRangeStringConverter::GetRangeListFromString(
aRangeList, rHilightRanges[i].RangeRepresentation, pDoc, pDoc->GetAddressConvention(), sep ))
{
- for ( ScRangePtr p = aRangeList.First(); p; p = aRangeList.Next())
+ size_t nListSize = aRangeList.size();
+ for ( size_t j = 0; j < nListSize; ++j )
{
+ ScRange* p = aRangeList[j];
if( rHilightRanges[i].Index == - 1 )
AddHighlightRange( *p, aSelColor );
else
@@ -2376,9 +2371,7 @@ void ScTabView::ActivateView( BOOL bActivate, BOOL bFirst )
if (!bRefMode)
{
- //pScMod->InputEnterHandler();
-
- // #80843# pass view to GetInputHdl, this view may not be current anymore
+ // pass view to GetInputHdl, this view may not be current anymore
ScInputHandler* pHdl = SC_MOD()->GetInputHdl(aViewData.GetViewShell());
if (pHdl)
pHdl->EnterHandler();
@@ -2396,9 +2389,6 @@ void ScTabView::ActivateView( BOOL bActivate, BOOL bFirst )
else if (!bFirst)
ShowAllCursors();
- //HMHif (pDrawView)
- //HMH DrawShowMarkHdl(bActivate); // Drawing-Markierung
-
if (bActivate)
{
if ( bFirst )
@@ -2516,7 +2506,6 @@ void ScTabView::ActivatePart( ScSplitPos eWhich )
{
// GrabFocus nur, wenn vorher das andere GridWindow den Focus hatte
// (z.B. wegen Suchen & Ersetzen)
-//! aViewData.GetViewShell()->GetViewFrame()->GetWindow().GrabFocus();
pGridWin[eWhich]->GrabFocus();
}
@@ -2595,14 +2584,6 @@ void ScTabView::ZoomChanged()
SetNewVisArea();
- /* the old code
- ScGridWindow* pWin = pGridWin[aViewData.GetActivePart()];
- if (pWin)
- {
- pWin->SetMapMode( pWin->GetDrawMapMode() ); // mit neuem Zoom
- SetNewVisArea(); // benutzt den gesetzten MapMode
- } */
-
InterpretVisible(); // #69343# have everything calculated before painting
SfxBindings& rBindings = aViewData.GetBindings();
diff --git a/sc/source/ui/view/tabview4.cxx b/sc/source/ui/view/tabview4.cxx
index 13ef6ca977b0..a6b5f7fe1b1b 100644
--- a/sc/source/ui/view/tabview4.cxx
+++ b/sc/source/ui/view/tabview4.cxx
@@ -334,7 +334,6 @@ void ScTabView::InitRefMode( SCCOL nCurX, SCROW nCurY, SCTAB nCurZ, ScRefType eT
}
}
-// static
void ScTabView::SetScrollBar( ScrollBar& rScroll, long nRangeMax, long nVisible, long nPos, BOOL bLayoutRTL )
{
if ( nVisible == 0 )
@@ -358,7 +357,6 @@ void ScTabView::SetScrollBar( ScrollBar& rScroll, long nRangeMax, long nVisible,
}
}
-// static
long ScTabView::GetScrollBarPos( ScrollBar& rScroll, BOOL bLayoutRTL )
{
if ( bLayoutRTL )
diff --git a/sc/source/ui/view/tabview5.cxx b/sc/source/ui/view/tabview5.cxx
index c77034366c85..dd94345aaea1 100644
--- a/sc/source/ui/view/tabview5.cxx
+++ b/sc/source/ui/view/tabview5.cxx
@@ -73,7 +73,7 @@ using namespace com::sun::star;
// STATIC DATA -----------------------------------------------------------
-void __EXPORT ScTabView::Init()
+void ScTabView::Init()
{
/* RTL layout of the view windows is done manually, because it depends on
the sheet orientation, not the UI setting. Note: controls that are
@@ -148,7 +148,7 @@ void __EXPORT ScTabView::Init()
TestHintWindow();
}
-__EXPORT ScTabView::~ScTabView()
+ScTabView::~ScTabView()
{
USHORT i;
@@ -533,20 +533,6 @@ void ScTabView::DrawEnableAnim(BOOL bSet)
}
}
-//HMHvoid ScTabView::DrawShowMarkHdl(BOOL bShow)
-//HMH{
- //HMHif (!pDrawView)
- //HMH return;
-
- //HMHif (bShow)
- //HMH{
- //HMH if (!pDrawView->IsDisableHdl())
- //HMH pDrawView->ShowMarkHdl();
- //HMH}
- //HMHelse
- //HMH pDrawView->HideMarkHdl();
-//HMH}
-
void ScTabView::UpdateDrawTextOutliner()
{
if ( pDrawView )
diff --git a/sc/source/ui/view/tabvwsh.cxx b/sc/source/ui/view/tabvwsh.cxx
index d5e166d121a7..04195db0b261 100644
--- a/sc/source/ui/view/tabvwsh.cxx
+++ b/sc/source/ui/view/tabvwsh.cxx
@@ -97,10 +97,7 @@ SFX_IMPL_INTERFACE(ScTabViewShell,SfxViewShell,ScResId(SCSTR_TABVIEWSHELL))
SFX_CHILDWINDOW_REGISTRATION(GalleryChildWindow::GetChildWindowId());
SFX_CHILDWINDOW_REGISTRATION(ScSpellDialogChildWindow::GetChildWindowId());
SFX_CHILDWINDOW_REGISTRATION( ::avmedia::MediaPlayer::GetChildWindowId() );
-
- //<!--Added by PengYunQuan for Validity Cell Range Picker
SFX_CHILDWINDOW_REGISTRATION(ScValidityRefChildWin::GetChildWindowId());
- //-->Added by PengYunQuan for Validity Cell Range Picker
}
SFX_IMPL_NAMED_VIEWFACTORY( ScTabViewShell, "Default" )
diff --git a/sc/source/ui/view/tabvwsh2.cxx b/sc/source/ui/view/tabvwsh2.cxx
index 81a011516cbd..fbda547eb46e 100644
--- a/sc/source/ui/view/tabvwsh2.cxx
+++ b/sc/source/ui/view/tabvwsh2.cxx
@@ -71,7 +71,7 @@
// -----------------------------------------------------------------------
-SdrView* __EXPORT ScTabViewShell::GetDrawView() const
+SdrView* ScTabViewShell::GetDrawView() const
{
return ((ScTabViewShell*)this)->GetScDrawView(); // GetScDrawView ist nicht-const
}
diff --git a/sc/source/ui/view/tabvwsh3.cxx b/sc/source/ui/view/tabvwsh3.cxx
index 7eb78c81d003..8bfb7b6bf9e5 100644
--- a/sc/source/ui/view/tabvwsh3.cxx
+++ b/sc/source/ui/view/tabvwsh3.cxx
@@ -1065,8 +1065,6 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
SCTAB nTab = GetViewData()->GetTabNo();
bool bOldProtection = pDoc->IsTabProtected(nTab);
-#if ENABLE_SHEET_PROTECTION
-
if( pReqArgs )
{
const SfxPoolItem* pItem;
@@ -1134,85 +1132,6 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
}
}
}
-#else
- auto_ptr<SfxPasswordDialog> pDlg;
- String aPassword;
- BOOL bCancel = FALSE;
- bool bNewProtection = ! bOldProtection;
-
- if( pReqArgs )
- {
- const SfxPoolItem* pItem;
- if( IS_AVAILABLE( FID_PROTECT_TABLE, &pItem ) )
- bNewProtection = ((const SfxBoolItem*)pItem)->GetValue();
- if( bNewProtection == bOldProtection )
- {
- rReq.Ignore();
- break;
- }
- }
-
- if ( bOldProtection)
- {
- // Unprotect a protected sheet.
-
- ScTableProtection* pProtect = pDoc->GetTabProtection(nTab);
- if (pProtect && pProtect->isProtectedWithPass())
- {
- String aText( ScResId(SCSTR_PASSWORDOPT) );
- pDlg.reset(new SfxPasswordDialog(GetDialogParent(), &aText));
- pDlg->SetText( ScResId(SCSTR_UNPROTECTTAB) );
- pDlg->SetMinLen( 0 );
- pDlg->SetHelpId( FID_PROTECT_TABLE );
- pDlg->SetEditHelpId( HID_PASSWD_TABLE );
-
- if (pDlg->Execute() == RET_OK)
- aPassword = pDlg->GetPassword();
- else
- bCancel = TRUE;
- }
-
- if (!pReqArgs)
- {
- rReq.AppendItem( SfxBoolItem(FID_PROTECT_TABLE, false) );
- rReq.Done();
- }
- }
- else
- {
- String aText( ScResId(SCSTR_PASSWORDOPT) );
-
- pDlg.reset(new SfxPasswordDialog(GetDialogParent(), &aText));
- pDlg->SetText( ScResId(SCSTR_PROTECTTAB) );
- pDlg->SetMinLen( 0 );
- pDlg->SetHelpId( FID_PROTECT_TABLE );
- pDlg->SetEditHelpId( HID_PASSWD_TABLE );
- pDlg->ShowExtras( SHOWEXTRAS_CONFIRM );
-
- if (pDlg->Execute() == RET_OK)
- aPassword = pDlg->GetPassword();
- else
- bCancel = TRUE;
- }
-
- if( !bCancel )
- {
- if ( bOldProtection )
- Unprotect( nTab, aPassword );
- else
- {
- pScMod->InputEnterHandler();
-
- Protect( nTab, aPassword );
- }
-
- if( !pReqArgs )
- {
- rReq.AppendItem( SfxBoolItem( FID_PROTECT_TABLE, bNewProtection ) );
- rReq.Done();
- }
- }
-#endif
TabChanged();
UpdateInputHandler(true); // damit sofort wieder eingegeben werden kann
SelectionChanged();
diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx
index 493f45341ff4..dec1ddd34eea 100644
--- a/sc/source/ui/view/tabvwsh4.cxx
+++ b/sc/source/ui/view/tabvwsh4.cxx
@@ -114,7 +114,7 @@ USHORT ScTabViewShell::nInsObjCtrlState = SID_INSERT_DIAGRAM;
// -----------------------------------------------------------------------
-void __EXPORT ScTabViewShell::Activate(BOOL bMDI)
+void ScTabViewShell::Activate(BOOL bMDI)
{
SfxViewShell::Activate(bMDI);
@@ -228,7 +228,7 @@ void __EXPORT ScTabViewShell::Activate(BOOL bMDI)
// beim Umschalten zwischen Dokumenten)
}
-void __EXPORT ScTabViewShell::Deactivate(BOOL bMDI)
+void ScTabViewShell::Deactivate(BOOL bMDI)
{
HideTip();
@@ -283,7 +283,7 @@ void ScTabViewShell::SetActive()
ActiveGrabFocus();
}
-USHORT __EXPORT ScTabViewShell::PrepareClose(BOOL bUI, BOOL bForBrowsing)
+USHORT ScTabViewShell::PrepareClose(BOOL bUI, BOOL bForBrowsing)
{
// Call EnterHandler even in formula mode here,
// so a formula change in an embedded object isn't lost
@@ -319,7 +319,7 @@ USHORT __EXPORT ScTabViewShell::PrepareClose(BOOL bUI, BOOL bForBrowsing)
//------------------------------------------------------------------
-Size __EXPORT ScTabViewShell::GetOptimalSizePixel() const
+Size ScTabViewShell::GetOptimalSizePixel() const
{
Size aOptSize;
@@ -367,12 +367,12 @@ void ScTabViewShell::UpdateOleZoom()
}
}
-void __EXPORT ScTabViewShell::AdjustPosSizePixel( const Point &rPos, const Size &rSize )
+void ScTabViewShell::AdjustPosSizePixel( const Point &rPos, const Size &rSize )
{
OuterResizePixel( rPos, rSize );
}
-void __EXPORT ScTabViewShell::InnerResizePixel( const Point &rOfs, const Size &rSize )
+void ScTabViewShell::InnerResizePixel( const Point &rOfs, const Size &rSize )
{
Size aNewSize( rSize );
if ( GetViewFrame()->GetFrame().IsInPlace() )
@@ -412,11 +412,10 @@ void __EXPORT ScTabViewShell::InnerResizePixel( const Point &rOfs, const Size &r
UpdateOleZoom(); // Zoom fuer In-Place berechnen
-// GetViewData()->GetDocShell()->UpdateOle( GetViewData() );
GetViewData()->GetDocShell()->SetDocumentModified();
}
-void __EXPORT ScTabViewShell::OuterResizePixel( const Point &rOfs, const Size &rSize )
+void ScTabViewShell::OuterResizePixel( const Point &rOfs, const Size &rSize )
{
SvBorder aBorder;
GetBorderSize( aBorder, rSize );
@@ -430,7 +429,7 @@ void __EXPORT ScTabViewShell::OuterResizePixel( const Point &rOfs, const Size &r
ForceMove();
}
-void __EXPORT ScTabViewShell::SetZoomFactor( const Fraction &rZoomX, const Fraction &rZoomY )
+void ScTabViewShell::SetZoomFactor( const Fraction &rZoomX, const Fraction &rZoomY )
{
// fuer OLE...
@@ -458,7 +457,7 @@ void __EXPORT ScTabViewShell::SetZoomFactor( const Fraction &rZoomX, const Fract
SfxViewShell::SetZoomFactor( rZoomX, rZoomY );
}
-void __EXPORT ScTabViewShell::QueryObjAreaPixel( Rectangle& rRect ) const
+void ScTabViewShell::QueryObjAreaPixel( Rectangle& rRect ) const
{
// auf ganze Zellen anpassen (in 1/100 mm)
@@ -489,7 +488,7 @@ void __EXPORT ScTabViewShell::QueryObjAreaPixel( Rectangle& rRect ) const
//------------------------------------------------------------------
-void __EXPORT ScTabViewShell::Move()
+void ScTabViewShell::Move()
{
Point aNewPos = GetViewFrame()->GetWindow().OutputToScreenPixel(Point());
@@ -502,7 +501,7 @@ void __EXPORT ScTabViewShell::Move()
//------------------------------------------------------------------
-void __EXPORT ScTabViewShell::ShowCursor(bool /* bOn */)
+void ScTabViewShell::ShowCursor(bool /* bOn */)
{
/*!!! ShowCursor wird nicht paarweise wie im gridwin gerufen.
Der CursorLockCount am Gridwin muss hier direkt auf 0 gesetzt werden
@@ -516,7 +515,7 @@ void __EXPORT ScTabViewShell::ShowCursor(bool /* bOn */)
//------------------------------------------------------------------
-void __EXPORT ScTabViewShell::WriteUserData(String& rData, BOOL /* bBrowse */)
+void ScTabViewShell::WriteUserData(String& rData, BOOL /* bBrowse */)
{
GetViewData()->WriteUserData(rData);
}
@@ -526,7 +525,7 @@ void ScTabViewShell::WriteUserDataSequence (uno::Sequence < beans::PropertyValue
GetViewData()->WriteUserDataSequence (rSettings);
}
-void __EXPORT ScTabViewShell::ReadUserData(const String& rData, BOOL /* bBrowse */)
+void ScTabViewShell::ReadUserData(const String& rData, BOOL /* bBrowse */)
{
if ( !GetViewData()->GetDocShell()->IsPreview() )
DoReadUserData( rData );
@@ -1088,18 +1087,18 @@ ScTabViewShell* ScTabViewShell::GetActiveViewShell()
//------------------------------------------------------------------
-SfxPrinter* __EXPORT ScTabViewShell::GetPrinter( BOOL bCreate )
+SfxPrinter* ScTabViewShell::GetPrinter( BOOL bCreate )
{
// Drucker ist immer da (wird fuer die FontListe schon beim Starten angelegt)
return GetViewData()->GetDocShell()->GetPrinter(bCreate);
}
-USHORT __EXPORT ScTabViewShell::SetPrinter( SfxPrinter *pNewPrinter, USHORT nDiffFlags, bool )
+USHORT ScTabViewShell::SetPrinter( SfxPrinter *pNewPrinter, USHORT nDiffFlags, bool )
{
return GetViewData()->GetDocShell()->SetPrinter( pNewPrinter, nDiffFlags );
}
-PrintDialog* __EXPORT ScTabViewShell::CreatePrintDialog( Window *pParent )
+PrintDialog* ScTabViewShell::CreatePrintDialog( Window *pParent )
{
ScDocShell* pDocShell = GetViewData()->GetDocShell();
ScDocument* pDoc = pDocShell->GetDocument();
@@ -1165,7 +1164,7 @@ SfxTabPage* ScTabViewShell::CreatePrintOptionsPage( Window *pParent, const SfxIt
return 0;
}
-void __EXPORT ScTabViewShell::PreparePrint( PrintDialog* pPrintDialog )
+void ScTabViewShell::PreparePrint( PrintDialog* pPrintDialog )
{
ScDocShell* pDocShell = GetViewData()->GetDocShell();
@@ -1212,7 +1211,7 @@ ErrCode ScTabViewShell::DoPrint( SfxPrinter *pPrinter,
}
uno::Sequence < beans::PropertyValue > aProps(1);
- aProps[0].Name=::rtl::OUString::createFromAscii("PrintSheets");
+ aProps[0].Name=::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PrintSheets"));
aProps[0].Value <<= aSheets;
SetAdditionalPrintOptions( aProps );
@@ -1225,7 +1224,7 @@ ErrCode ScTabViewShell::DoPrint( SfxPrinter *pPrinter,
return nRet;
}
-USHORT __EXPORT ScTabViewShell::Print( SfxProgress& rProgress, BOOL bIsAPI,
+USHORT ScTabViewShell::Print( SfxProgress& rProgress, BOOL bIsAPI,
PrintDialog* pPrintDialog )
{
ScDocShell* pDocShell = GetViewData()->GetDocShell();
@@ -1568,9 +1567,8 @@ BOOL ScTabViewShell::SfxKeyInput(const KeyEvent& rKeyEvent)
return sal::static_int_cast<BOOL>(SfxViewShell::KeyInput( rKeyEvent ));
}
-bool __EXPORT ScTabViewShell::KeyInput( const KeyEvent &rKeyEvent )
+bool ScTabViewShell::KeyInput( const KeyEvent &rKeyEvent )
{
-// return SfxViewShell::KeyInput( rKeyEvent );
return TabKeyInput( rKeyEvent );
}
@@ -1617,7 +1615,6 @@ bool __EXPORT ScTabViewShell::KeyInput( const KeyEvent &rKeyEvent )
bPrintSelected(FALSE), \
bReadOnly(FALSE), \
pScSbxObject(NULL), \
- /*bChartDlgIsEdit(FALSE),*/ \
bChartAreaValid(FALSE), \
nCurRefDlgId(0), \
pAccessibilityBroadcaster(NULL)
@@ -1635,7 +1632,6 @@ void ScTabViewShell::Construct( BYTE nForceDesignMode )
SetName( String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("View")) ); // fuer SBX
Color aColBlack( COL_BLACK );
-// SetPool( &pSfxApp->GetPool() );
SetPool( &SC_MOD()->GetPool() );
SetWindow( GetActiveWin() );
@@ -1862,9 +1858,6 @@ ScTabViewShell::ScTabViewShell( SfxViewFrame* pViewFrame,
SetZoomType( rAppOpt.GetZoomType(), TRUE );
}
- /*uno::Reference<frame::XFrame> xFrame = pViewFrame->GetFrame().GetFrameInterface();
- if (xFrame.is())
- xFrame->setComponent( uno::Reference<awt::XWindow>(), new ScTabViewObj( this ) );*/
// make Controller known to SFX
new ScTabViewObj( this );
@@ -1881,7 +1874,7 @@ ScTabViewShell::ScTabViewShell( SfxViewFrame* pViewFrame,
//------------------------------------------------------------------
-__EXPORT ScTabViewShell::~ScTabViewShell()
+ScTabViewShell::~ScTabViewShell()
{
ScDocShell* pDocSh = GetViewData()->GetDocShell();
EndListening(*pDocSh);
diff --git a/sc/source/ui/view/tabvwsh5.cxx b/sc/source/ui/view/tabvwsh5.cxx
index c6cb9d5cfb37..972cfe4416c6 100644
--- a/sc/source/ui/view/tabvwsh5.cxx
+++ b/sc/source/ui/view/tabvwsh5.cxx
@@ -57,7 +57,7 @@
//==================================================================
-void __EXPORT ScTabViewShell::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
+void ScTabViewShell::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
{
if (rHint.ISA(SfxSimpleHint)) // ohne Parameter
{
diff --git a/sc/source/ui/view/tabvwsh8.cxx b/sc/source/ui/view/tabvwsh8.cxx
index 2f4ca5c72bab..ec9a30f70e31 100644
--- a/sc/source/ui/view/tabvwsh8.cxx
+++ b/sc/source/ui/view/tabvwsh8.cxx
@@ -61,7 +61,7 @@ void ScTabViewShell::SetDefaultFrameLine( const SvxBorderLine* pLine )
//------------------------------------------------------------------
-BOOL __EXPORT ScTabViewShell::HasSelection( BOOL bText ) const
+BOOL ScTabViewShell::HasSelection( BOOL bText ) const
{
BOOL bHas = FALSE;
ScViewData* pData = (ScViewData*)GetViewData(); // const weggecasted
diff --git a/sc/source/ui/view/tabvwsh9.cxx b/sc/source/ui/view/tabvwsh9.cxx
index 3984465f1f50..9b9ab82a894a 100644
--- a/sc/source/ui/view/tabvwsh9.cxx
+++ b/sc/source/ui/view/tabvwsh9.cxx
@@ -172,7 +172,7 @@ ScInputHandler* ScTabViewShell::GetInputHandler() const
//------------------------------------------------------------------
-String __EXPORT ScTabViewShell::GetDescription() const
+String ScTabViewShell::GetDescription() const
{
return String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM(" ** Test ** "));
}
diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx
index aaa55a4ad596..670daa305b73 100644
--- a/sc/source/ui/view/tabvwsha.cxx
+++ b/sc/source/ui/view/tabvwsha.cxx
@@ -162,7 +162,7 @@ BOOL ScTabViewShell::GetFunction( String& rFuncStr, sal_uInt16 nErrCode )
// FID_VALIDATION
-void __EXPORT ScTabViewShell::GetState( SfxItemSet& rSet )
+void ScTabViewShell::GetState( SfxItemSet& rSet )
{
ScViewData* pViewData = GetViewData();
ScDocument* pDoc = pViewData->GetDocument();
@@ -706,7 +706,7 @@ void ScTabViewShell::UpdateInputHandlerCellAdjust( SvxCellHorJustify eJust )
//------------------------------------------------------------------
-void __EXPORT ScTabViewShell::ExecuteSave( SfxRequest& rReq )
+void ScTabViewShell::ExecuteSave( SfxRequest& rReq )
{
// nur SID_SAVEDOC / SID_SAVEASDOC
@@ -722,7 +722,7 @@ void __EXPORT ScTabViewShell::ExecuteSave( SfxRequest& rReq )
GetViewData()->GetDocShell()->ExecuteSlot( rReq );
}
-void __EXPORT ScTabViewShell::GetSaveState( SfxItemSet& rSet )
+void ScTabViewShell::GetSaveState( SfxItemSet& rSet )
{
SfxShell* pDocSh = GetViewData()->GetDocShell();
@@ -782,8 +782,6 @@ void ScTabViewShell::ExecuteUndo(SfxRequest& rReq)
GetViewFrame()->GetBindings().InvalidateAll(sal_False);
}
break;
-// default:
-// GetViewFrame()->ExecuteSlot( rReq );
}
}
diff --git a/sc/source/ui/view/tabvwshb.cxx b/sc/source/ui/view/tabvwshb.cxx
index f650b0bb68cd..f5e73e6a11ca 100644
--- a/sc/source/ui/view/tabvwshb.cxx
+++ b/sc/source/ui/view/tabvwshb.cxx
@@ -125,10 +125,6 @@ BOOL ScTabViewShell::ActivateObject( SdrOle2Obj* pObj, long nVerb )
ErrCode nErr = ERRCODE_NONE;
BOOL bErrorShown = FALSE;
- // linked objects aren't supported
-// if ( xIPObj->IsLink() )
-// nErr = xIPObj->DoVerb(nVerb); // gelinkt -> ohne Client etc.
-// else
{
SfxInPlaceClient* pClient = FindIPClient( xObj, pWin );
if ( !pClient )
@@ -220,14 +216,13 @@ BOOL ScTabViewShell::ActivateObject( SdrOle2Obj* pObj, long nVerb )
return ( !(nErr & ERRCODE_ERROR_MASK) );
}
-ErrCode __EXPORT ScTabViewShell::DoVerb(long nVerb)
+ErrCode ScTabViewShell::DoVerb(long nVerb)
{
SdrView* pView = GetSdrView();
if (!pView)
return ERRCODE_SO_NOTIMPL; // soll nicht sein
SdrOle2Obj* pOle2Obj = NULL;
- SdrGrafObj* pGrafObj = NULL;
SdrObject* pObj = NULL;
ErrCode nErr = ERRCODE_NONE;
@@ -237,10 +232,6 @@ ErrCode __EXPORT ScTabViewShell::DoVerb(long nVerb)
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
if (pObj->GetObjIdentifier() == OBJ_OLE2)
pOle2Obj = (SdrOle2Obj*) pObj;
- else if (pObj->GetObjIdentifier() == OBJ_GRAF)
- {
- pGrafObj = (SdrGrafObj*) pObj;
- }
}
if (pOle2Obj)
@@ -289,7 +280,6 @@ void ScTabViewShell::ExecDrawIns(SfxRequest& rReq)
ScDrawView* pView = pTabView->GetScDrawView();
ScDocShell* pDocSh = GetViewData()->GetDocShell();
ScDocument* pDoc = pDocSh->GetDocument();
-// SdrModel* pDrModel = pDocSh->MakeDrawLayer();
SdrModel* pDrModel = pView->GetModel();
switch ( nSlot )
@@ -306,7 +296,6 @@ void ScTabViewShell::ExecDrawIns(SfxRequest& rReq)
case SID_INSERT_DIAGRAM:
FuInsertChart(this, pWin, pView, pDrModel, rReq);
-//? SC_MOD()->SetFunctionDlg( NULL );//XXX
break;
case SID_INSERT_OBJECT:
diff --git a/sc/source/ui/view/tabvwshe.cxx b/sc/source/ui/view/tabvwshe.cxx
index 07be1e04f39f..70f2876287ca 100644
--- a/sc/source/ui/view/tabvwshe.cxx
+++ b/sc/source/ui/view/tabvwshe.cxx
@@ -57,7 +57,7 @@
//==================================================================
-String __EXPORT ScTabViewShell::GetSelectionText( BOOL bWholeWord )
+String ScTabViewShell::GetSelectionText( BOOL bWholeWord )
{
String aStrSelection;
diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx
index 3baa549f2932..7bfaf145c0c2 100644
--- a/sc/source/ui/view/tabvwshf.cxx
+++ b/sc/source/ui/view/tabvwshf.cxx
@@ -479,6 +479,7 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
SCTAB nTab = pViewData->GetTabNo();
BOOL bCpy = FALSE;
String aDocName;
+ String aTabName;
if( pReqArgs != NULL )
{
@@ -536,10 +537,15 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
}
else
{
+ String aDefaultName;
+ pDoc->GetName( pViewData->GetTabNo(), aDefaultName );
+
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
DBG_ASSERT(pFact, "ScAbstractFactory create fail!");
- AbstractScMoveTableDlg* pDlg = pFact->CreateScMoveTableDlg( GetDialogParent(), RID_SCDLG_MOVETAB );
+ AbstractScMoveTableDlg* pDlg = pFact->CreateScMoveTableDlg( GetDialogParent(),
+ aDefaultName,
+ RID_SCDLG_MOVETAB );
DBG_ASSERT(pDlg, "Dialog create fail!");
SCTAB nTableCount = pDoc->GetTableCount();
@@ -549,14 +555,24 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
if(nTableCount==nTabSelCount)
{
- pDlg->SetCopyTable();
- pDlg->EnableCopyTable(FALSE);
+ pDlg->SetForceCopyTable();
}
+
+ // We support direct renaming of sheet only when one sheet
+ // is selected.
+ pDlg->EnableRenameTable(nTabSelCount == 1);
+
if ( pDlg->Execute() == RET_OK )
{
nDoc = pDlg->GetSelectedDocument();
nTab = pDlg->GetSelectedTable();
bCpy = pDlg->GetCopyTable();
+ bool bRna = pDlg->GetRenameTable();
+ // Leave aTabName string empty, when Rename is FALSE.
+ if( bRna )
+ {
+ pDlg->GetTabNameString( aTabName );
+ }
bDoIt = TRUE;
String aFoundDocName;
@@ -586,7 +602,7 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
{
rReq.Done(); // aufzeichnen, solange das Dokument noch aktiv ist
- MoveTable( nDoc, nTab, bCpy );
+ MoveTable( nDoc, nTab, bCpy, &aTabName );
}
}
break;
diff --git a/sc/source/ui/view/tabvwshg.cxx b/sc/source/ui/view/tabvwshg.cxx
index f7aac8b56da4..664142375995 100644
--- a/sc/source/ui/view/tabvwshg.cxx
+++ b/sc/source/ui/view/tabvwshg.cxx
@@ -33,8 +33,6 @@
// INCLUDE ---------------------------------------------------------------
-//#define SI_VCDRAWOBJ
-
#include <tools/urlobj.hxx>
#include <svx/fmglob.hxx>
#include <svx/svdouno.hxx>
@@ -74,7 +72,6 @@ void ScTabViewShell::InsertURLButton( const String& rName, const String& rURL,
MakeDrawLayer();
ScTabView* pView = pViewData->GetView();
-// SdrView* pDrView = pView->GetSdrView();
ScDrawView* pDrView = pView->GetScDrawView();
SdrModel* pModel = pDrView->GetModel();
@@ -91,21 +88,21 @@ void ScTabViewShell::InsertURLButton( const String& rName, const String& rURL,
uno::Any aAny;
aAny <<= rtl::OUString(rName);
- xPropSet->setPropertyValue( rtl::OUString::createFromAscii( "Label" ), aAny );
+ xPropSet->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Label" )), aAny );
::rtl::OUString aTmp = INetURLObject::GetAbsURL( pDoc->GetDocumentShell()->GetMedium()->GetBaseURL(), rURL );
aAny <<= aTmp;
- xPropSet->setPropertyValue( rtl::OUString::createFromAscii( "TargetURL" ), aAny );
+ xPropSet->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "TargetURL" )), aAny );
if( rTarget.Len() )
{
aAny <<= rtl::OUString(rTarget);
- xPropSet->setPropertyValue( rtl::OUString::createFromAscii( "TargetFrame" ), aAny );
+ xPropSet->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "TargetFrame" )), aAny );
}
form::FormButtonType eButtonType = form::FormButtonType_URL;
aAny <<= eButtonType;
- xPropSet->setPropertyValue( rtl::OUString::createFromAscii( "ButtonType" ), aAny );
+ xPropSet->setPropertyValue( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ButtonType" )), aAny );
if ( ::avmedia::MediaWindow::isMediaURL( rURL ) )
{
@@ -127,7 +124,6 @@ void ScTabViewShell::InsertURLButton( const String& rName, const String& rURL,
aPos.X() -= aSize.Width();
pObj->SetLogicRect(Rectangle(aPos, aSize));
-// pObj->Resize(Point(), Fraction(1, 1), Fraction(1, 1));
// am alten VC-Button musste die Position/Groesse nochmal explizit
// gesetzt werden - das scheint mit UnoControls nicht noetig zu sein
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index 4ffb4d6db889..8e290a09e386 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -1082,19 +1082,18 @@ void ScViewData::SetEditEngine( ScSplitPos eWhich,
if (!bWasThere)
pNewEngine->InsertView(pEditView[eWhich]);
- // Hintergrundfarbe der Zelle
+ // background color of the cell
Color aBackCol = ((const SvxBrushItem&)pPattern->GetItem(ATTR_BACKGROUND)).GetColor();
ScModule* pScMod = SC_MOD();
- if ( aBackCol.GetTransparency() > 0 ||
- Application::GetSettings().GetStyleSettings().GetHighContrastMode() )
+ if ( aBackCol.GetTransparency() > 0 )
{
aBackCol.SetColor( pScMod->GetColorConfig().GetColorValue(svtools::DOCCOLOR).nColor );
}
pEditView[eWhich]->SetBackgroundColor( aBackCol );
- pEditView[eWhich]->Invalidate(); // noetig ??
- // noetig, wenn Position geaendert
+ pEditView[eWhich]->Invalidate(); // needed ??
+ // needed, wenn position changed
}
IMPL_LINK_INLINE_START( ScViewData, EmptyEditHdl, EditStatus *, EMPTYARG )
@@ -1594,7 +1593,7 @@ Point ScViewData::GetScrPos( SCCOL nWhereX, SCROW nWhereY, ScSplitPos eWhich,
}
//
-// Anzahl Zellen auf einem Bildschirm
+// Number of cells on a screen
//
SCCOL ScViewData::CellsAtX( SCsCOL nPosX, SCsCOL nDir, ScHSplitPos eWhichX, USHORT nScrSizeX ) const
@@ -2582,12 +2581,6 @@ void ScViewData::ReadExtOptions( const ScExtDocOptions& rDocOpt )
// get some settings from displayed Excel sheet, set at Calc document
if( nTab == GetTabNo() )
{
- // selection only for displayed sheet, do not select single cell
-// Disabled, does not work correctly. Anyway, our own XML filters do not import a selection at all.
-// const ScRangeList& rSel = rTabSett.maSelection;
-// if( (rSel.Count() >= 2) || ((rSel.Count() == 1) && (*rSel.GetObject( 0 ) != ScRange( rCursor ))) )
-// rMarkData.MarkFromRangeList( rTabSett.maSelection, FALSE );
-
// grid color -- #i47435# set automatic grid color explicitly
if( pOptions )
{
@@ -3035,7 +3028,6 @@ ScAddress ScViewData::GetCurPos() const
}
-// static
void ScViewData::AddPixelsWhile( long & rScrY, long nEndPixels, SCROW & rPosY,
SCROW nEndRow, double nPPTY, const ScDocument * pDoc, SCTAB nTabNo )
{
@@ -3075,7 +3067,6 @@ void ScViewData::AddPixelsWhile( long & rScrY, long nEndPixels, SCROW & rPosY,
}
-// static
void ScViewData::AddPixelsWhileBackward( long & rScrY, long nEndPixels,
SCROW & rPosY, SCROW nStartRow, double nPPTY, const ScDocument * pDoc,
SCTAB nTabNo )
diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx
index 49f93c43ffac..17504f88f3fa 100644
--- a/sc/source/ui/view/viewfun2.cxx
+++ b/sc/source/ui/view/viewfun2.cxx
@@ -56,7 +56,6 @@
#include <basic/sbstar.hxx>
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/script/XLibraryContainer.hpp>
-using namespace com::sun::star;
#include "viewfunc.hxx"
@@ -98,11 +97,16 @@ using namespace com::sun::star;
#include <com/sun/star/script/XLibraryContainer.hpp>
#include <boost/scoped_ptr.hpp>
+#include <vector>
+#include <memory>
using namespace com::sun::star;
using ::rtl::OUStringBuffer;
using ::rtl::OUString;
+using ::std::vector;
+using ::std::auto_ptr;
+
// helper func defined in docfunc.cxx
void VBA_DeleteModule( ScDocShell& rDocSh, String& sModuleName );
@@ -741,9 +745,11 @@ String ScViewFunc::GetAutoSumFormula( const ScRangeList& rRangeList, bool bSubTo
}
ScRangeList aRangeList = rRangeList;
- const ScRange* pFirst = aRangeList.First();
- for (const ScRange* p = pFirst; p; p = aRangeList.Next())
+ const ScRange* pFirst = aRangeList.front();
+ size_t ListSize = aRangeList.size();
+ for ( size_t i = 0; i < ListSize; ++i )
{
+ const ScRange* p = aRangeList[i];
if (p != pFirst)
pArray->AddOpCode(ocSep);
ScComplexRefData aRef;
@@ -989,18 +995,12 @@ void ScViewFunc::SetPrintRanges( BOOL bEntireSheet, const String* pPrint,
else if ( rMark.IsMultiMarked() )
{
rMark.MarkToMulti();
- ScRangeListRef aList( new ScRangeList );
- rMark.FillRangeListWithMarks( aList, FALSE );
- USHORT nCnt = (USHORT) aList->Count();
- if ( nCnt )
+ ScRangeListRef pList( new ScRangeList );
+ rMark.FillRangeListWithMarks( pList, FALSE );
+ for (size_t i = 0, n = pList->size(); i < n; ++i)
{
- ScRangePtr pR;
- USHORT i;
- for ( pR = aList->First(), i=0; i < nCnt;
- pR = aList->Next(), i++ )
- {
- pDoc->AddPrintRange( nTab, *pR );
- }
+ ScRange* pR = (*pList)[i];
+ pDoc->AddPrintRange(nTab, *pR);
}
}
}
@@ -1405,12 +1405,11 @@ void ScViewFunc::FillTab( USHORT nFlags, USHORT nFunction, BOOL bSkipEmpty, BOOL
aMarkRange = ScRange( GetViewData()->GetCurX(), GetViewData()->GetCurY(), nTab );
ScDocument* pUndoDoc = NULL;
-// if ( bRecord )
+
if (bUndo)
{
pUndoDoc = new ScDocument( SCDOCMODE_UNDO );
pUndoDoc->InitUndo( pDoc, nTab, nTab );
-// pUndoDoc->SelectTable( nTab, TRUE ); // nur fuer Markierung
SCTAB nTabCount = pDoc->GetTableCount();
for (SCTAB i=0; i<nTabCount; i++)
@@ -1420,7 +1419,6 @@ void ScViewFunc::FillTab( USHORT nFlags, USHORT nFunction, BOOL bSkipEmpty, BOOL
aMarkRange.aStart.SetTab( i );
aMarkRange.aEnd.SetTab( i );
pDoc->CopyToDocument( aMarkRange, IDF_ALL, bMulti, pUndoDoc );
-// pUndoDoc->SelectTable( i, TRUE );
}
}
@@ -1433,7 +1431,6 @@ void ScViewFunc::FillTab( USHORT nFlags, USHORT nFunction, BOOL bSkipEmpty, BOOL
pDoc->FillTab( aMarkRange, rMark, nFlags, nFunction, bSkipEmpty, bAsLink );
}
-// if ( bRecord )
if (bUndo)
{ //! fuer ChangeTrack erst zum Schluss
pDocSh->GetUndoManager()->AddUndoAction(
@@ -1685,7 +1682,6 @@ void ScViewFunc::SearchAndReplace( const SvxSearchItem* pSearchItem,
SCCOL nCol = GetViewData()->GetCurX();
SCROW nRow = GetViewData()->GetCurY();
SCTAB nTab = GetViewData()->GetTabNo();
-// BOOL bAttrib = pSearchItem->GetPattern();
USHORT nCommand = pSearchItem->GetCommand();
BOOL bAllTables = pSearchItem->IsAllTables();
BOOL* pOldSelectedTables = NULL;
@@ -2218,11 +2214,8 @@ BOOL ScViewFunc::DeleteTables(const SvShorts &TheTabs, BOOL bRecord )
if (bRecord)
{
pUndoDoc = new ScDocument( SCDOCMODE_UNDO );
-// pUndoDoc->InitDrawLayer( pDocSh );
SCTAB nCount = pDoc->GetTableCount();
-// pUndoDoc->InitUndo( pDoc, 0, nCount-1 ); // incl. Ref.
-
String aOldName;
for(i=0;i<TheTabs.Count();i++)
{
@@ -2430,7 +2423,6 @@ void ScViewFunc::ImportTables( ScDocShell* pSrcShell,
ScDocShell* pDocSh = GetViewData()->GetDocShell();
ScDocument* pDoc = pDocSh->GetDocument();
BOOL bUndo(pDoc->IsUndoEnabled());
- //SCTAB nTab = GetViewData()->GetTabNo();
BOOL bError = FALSE;
BOOL bRefs = FALSE;
@@ -2547,7 +2539,7 @@ void ScViewFunc::ImportTables( ScDocShell* pSrcShell,
//----------------------------------------------------------------------------
// Tabelle in anderes Dokument verschieben / kopieren
-void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
+void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy, const String* pNewTabName )
{
ScDocument* pDoc = GetViewData()->GetDocument();
ScDocShell* pDocShell = GetViewData()->GetDocShell();
@@ -2555,6 +2547,7 @@ void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
ScDocShell* pDestShell = NULL;
ScTabViewShell* pDestViewSh = NULL;
BOOL bUndo (pDoc->IsUndoEnabled());
+ bool bRename = pNewTabName && pNewTabName->Len();
BOOL bNewDoc = ( nDestDocNo == SC_DOC_NEW );
if ( bNewDoc )
@@ -2593,6 +2586,14 @@ void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
return;
}
+ ScMarkData& rMark = GetViewData()->GetMarkData();
+ if (bRename && rMark.GetSelectCount() != 1)
+ {
+ // Custom sheet name is provided, but more than one sheet is selected.
+ // We don't support this scenario at the moment.
+ return;
+ }
+
pDestDoc = pDestShell->GetDocument();
SCTAB nTab = GetViewData()->GetTabNo();
@@ -2608,7 +2609,6 @@ void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
FALSE );
}
- ScMarkData& rMark = GetViewData()->GetMarkData();
SCTAB nTabCount = pDoc->GetTableCount();
SCTAB nTabSelCount = rMark.GetSelectCount();
@@ -2649,7 +2649,11 @@ void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
for( USHORT j=0; j<TheTabs.Count(); j++, nDestTab1++ )
{ // #63304# insert sheets first and update all references
String aName;
- pDoc->GetName( TheTabs[j], aName );
+ if (bRename)
+ aName = *pNewTabName;
+ else
+ pDoc->GetName( TheTabs[j], aName );
+
pDestDoc->CreateValidTabName( aName );
if ( !pDestDoc->InsertTab( nDestTab1, aName ) )
{
@@ -2704,13 +2708,7 @@ void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
default:
break;
}
- //pDestShell->GetUndoManager()->Clear(); //! Undo implementieren !!!
-/*
- String sName;
- pDestDoc->GetName(nDestTab, sName);
- pDestShell->GetUndoManager()->AddUndoAction(
- new ScUndoInsertTab( pDestShell, nDestTab, TRUE, sName ) );
-*/
+
if (!bCopy)
{
if(nTabCount!=nTabSelCount)
@@ -2726,7 +2724,6 @@ void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
pDestDoc->UpdateChartListenerCollection();
pDestDoc->DeleteTab(static_cast<SCTAB>(TheTabs.Count())); // alte erste Tabelle
-//? pDestDoc->SelectTable(0, TRUE); // neue erste Tabelle selektieren
if (pDestViewSh)
pDestViewSh->TabChanged(); // Pages auf dem Drawing-Layer
pDestShell->PostPaint( 0,0,0, MAXCOL,MAXROW,MAXTAB,
@@ -2746,17 +2743,19 @@ void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
pDestShell->SetDocumentModified();
SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_TABLES_CHANGED ) );
}
- else // innerhalb des Dokuments
+ else
{
-
- ScMarkData& rMark = GetViewData()->GetMarkData();
+ // Move or copy within the same document.
SCTAB nTabCount = pDoc->GetTableCount();
- SvShorts TheTabs;
- SvShorts TheDestTabs;
- SvStrings TheTabNames;
+ auto_ptr< vector<SCTAB> > pSrcTabs(new vector<SCTAB>);
+ auto_ptr< vector<SCTAB> > pDestTabs(new vector<SCTAB>);
+ auto_ptr< vector<OUString> > pTabNames(new vector<OUString>);
+ auto_ptr< vector<OUString> > pDestNames(NULL);
+ pSrcTabs->reserve(nTabCount);
+ pDestTabs->reserve(nTabCount);
+ pTabNames->reserve(nTabCount);
String aDestName;
- String *pString;
for(SCTAB i=0;i<nTabCount;i++)
{
@@ -2764,19 +2763,18 @@ void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
{
String aTabName;
pDoc->GetName( i, aTabName);
- TheTabNames.Insert(new String(aTabName),TheTabNames.Count());
+ pTabNames->push_back(aTabName);
for(SCTAB j=i+1;j<nTabCount;j++)
{
if((!pDoc->IsVisible(j))&&(pDoc->IsScenario(j)))
{
pDoc->GetName( j, aTabName);
- TheTabNames.Insert(new String(aTabName),TheTabNames.Count());
+ pTabNames->push_back(aTabName);
i=j;
}
else break;
}
-
}
}
@@ -2786,11 +2784,11 @@ void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
pDoc->GetName( nDestTab, aDestName);
SCTAB nDestTab1=nDestTab;
SCTAB nMovTab=0;
- for(int j=0;j<TheTabNames.Count();j++)
+ for (size_t j = 0, n = pTabNames->size(); j < n; ++j)
{
nTabCount = pDoc->GetTableCount();
- pString=TheTabNames[sal::static_int_cast<USHORT>(j)];
- if(!pDoc->GetTable(*pString,nMovTab))
+ const OUString& rStr = (*pTabNames)[j];
+ if(!pDoc->GetTable(rStr,nMovTab))
{
nMovTab=nTabCount;
}
@@ -2815,20 +2813,38 @@ void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
pDoc->SetVisible(nDestTab1,bVisible );
}
- TheTabs.Insert(nMovTab,TheTabs.Count());
+ pSrcTabs->push_back(nMovTab);
if(!bCopy)
{
- if(!pDoc->GetTable(*pString,nDestTab1))
+ if(!pDoc->GetTable(rStr,nDestTab1))
{
nDestTab1=nTabCount;
}
}
- TheDestTabs.Insert(nDestTab1,TheDestTabs.Count());
- delete pString;
+ pDestTabs->push_back(nDestTab1);
}
+ // Rename must be done after all sheets have been moved.
+ if (bRename)
+ {
+ pDestNames.reset(new vector<OUString>);
+ size_t n = pDestTabs->size();
+ pDestNames->reserve(n);
+ for (size_t j = 0; j < n; ++j)
+ {
+ SCTAB nRenameTab = (*pDestTabs)[j];
+ String aTabName = *pNewTabName;
+ pDoc->CreateValidTabName( aTabName );
+ pDestNames->push_back(aTabName);
+ pDoc->RenameTab(nRenameTab, aTabName);
+ }
+ }
+ else
+ // No need to keep this around when we are not renaming.
+ pTabNames.reset();
+
nTab = GetViewData()->GetTabNo();
if (bUndo)
@@ -2836,12 +2852,14 @@ void ScViewFunc::MoveTable( USHORT nDestDocNo, SCTAB nDestTab, BOOL bCopy )
if (bCopy)
{
pDocShell->GetUndoManager()->AddUndoAction(
- new ScUndoCopyTab( pDocShell, TheTabs, TheDestTabs));
+ new ScUndoCopyTab(
+ pDocShell, pSrcTabs.release(), pDestTabs.release(), pDestNames.release()));
}
else
{
pDocShell->GetUndoManager()->AddUndoAction(
- new ScUndoMoveTab( pDocShell, TheTabs, TheDestTabs));
+ new ScUndoMoveTab(
+ pDocShell, pSrcTabs.release(), pDestTabs.release(), pTabNames.release(), pDestNames.release()));
}
}
diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx
index a3096463d544..992f797e17ee 100644
--- a/sc/source/ui/view/viewfun3.cxx
+++ b/sc/source/ui/view/viewfun3.cxx
@@ -58,18 +58,12 @@
#define _MODALDLG_HXX
#define _MOREBUTTON_HXX
#define _OUTLINER_HXX
-//#define _PRNDLG_HXX
-//#define _POLY_HXX
#define _PVRWIN_HXX
-//#define _QUEUE_HXX
#define _RULER_HXX
#define _SCRWIN_HXX
#define _SETBRW_HXX
-//#define _STACK_HXX
-//#define _STATUS_HXX ***
#define _STDCTRL_HXX
#define _STDMENU_HXX
-//#define _TAB_HXX
#define _TABBAR_HXX
#define _TREELIST_HXX
#define _VALUESET_HXX
@@ -80,38 +74,23 @@
#define _VCONT_HXX
#define _VDRWOBJ_HXX
-//#define _SELENG_HXX
-//#define _SOUND_HXX
-//#define _SYSDLG_HXX
-
-
-
-
#define _PASSWD_HXX
#define _SFX_DOCFILE_HXX
-//#define _SFX_DOCFILT_HXX
#define _SFX_DOCINF_HXX
#define _SFX_DOCSH_HXX
-//#define _SFXDOCFILT_HXX
-//#define _SFXDOCINF_HXX
-//#define _SFXDOCSH_HXX
#define _SFX_PRNMON_HXX
#define _SFX_RESMGR_HXX
#define _SFX_TEMPLDLG_HXX
-//#define _SFXAPPWIN_HXX
#define _SFXBASIC_HXX
#define _SFXCTRLITEM
#define _SFXDLGCFG_HXX
-//#define _SFXDISPATCH_HXX
#define _SFXFILEDLG_HXX
-//#define _SFXIMGMGR_HXX
#define _SFXIPFRM_HXX
#define _SFX_MACRO_HXX
#define _SFXMNUITEM_HXX
#define _SFXMNUMGR_HXX
#define _SFXMULTISEL_HXX
-//#define _SFXMSG_HXX
#define _SFXMSGDESCR_HXX
#define _SFXMSGPOOL_HXX
#define _SFX_MINFITEM_HXX
@@ -124,14 +103,6 @@
#define _SFXTBXMGR_HXX
#define _SI_HXX
-//#define _SI_DLL_HXX
-//#define _SIDLL_HXX
-//#define _SI_NOITEMS
-//#define _SI_NOOTHERFORMS
-//#define _SI_NOSBXCONTROLS
-//#define _SINOSBXCONTROLS
-//#define _SI_NODRW
-//#define _SI_NOCONTROL
#define _SVBOXITM_HXX
#define _SVCONTNR_HXX //
@@ -140,7 +111,6 @@
#define _SVDRAG_HXX
#define _SVINCVW_HXX
-//#define _SV_MULTISEL_HXX
#define _SVRTV_HXX
#define _SVTABBX_HXX
#define _SVTREEBOX_HXX
@@ -211,7 +181,7 @@
#include "drwtrans.hxx"
#include "docuno.hxx"
#include "clipparam.hxx"
-#include "undodat.hxx" // Amelia Wang
+#include "undodat.hxx"
using namespace com::sun::star;
@@ -403,15 +373,16 @@ BOOL ScViewFunc::CopyToClip( ScDocument* pClipDoc, BOOL bCut, BOOL bApi, BOOL bI
// Check for geometrical feasibility of the ranges.
bool bValidRanges = true;
- ScRangePtr p = aClipParam.maRanges.First();
+ ScRange* p = aClipParam.maRanges.front();
SCCOL nPrevColDelta = 0;
SCROW nPrevRowDelta = 0;
SCCOL nPrevCol = p->aStart.Col();
SCROW nPrevRow = p->aStart.Row();
SCCOL nPrevColSize = p->aEnd.Col() - p->aStart.Col() + 1;
SCROW nPrevRowSize = p->aEnd.Row() - p->aStart.Row() + 1;
- for (p = aClipParam.maRanges.Next(); p; p = aClipParam.maRanges.Next())
+ for ( size_t i = 1; i < aClipParam.maRanges.size(); ++i )
{
+ p = aClipParam.maRanges[i];
if (pDoc->HasSelectedBlockMatrixFragment(
p->aStart.Col(), p->aStart.Row(), p->aEnd.Col(), p->aEnd.Row(), rMark))
{
@@ -652,7 +623,6 @@ void ScViewFunc::PasteFromSystem()
{
TransferableDataHelper aDataHelper( TransferableDataHelper::CreateFromSystemClipboard( pWin ) );
-// if (pClipObj.Is())
{
ULONG nBiff8 = SotExchange::RegisterFormatName(
String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("Biff8")));
@@ -729,13 +699,8 @@ void ScViewFunc::PasteFromSystem()
PasteFromSystem( SOT_FORMATSTR_ID_EMBED_SOURCE_OLE );
else if (aDataHelper.HasFormat( SOT_FORMATSTR_ID_LINK_SOURCE_OLE ))
PasteFromSystem( SOT_FORMATSTR_ID_LINK_SOURCE_OLE );
-// else
-// ErrorMessage(STR_PASTE_ERROR);
}
-// else
-// ErrorMessage(STR_PASTE_ERROR);
}
-
// keine Fehlermeldung, weil SID_PASTE in der idl das FastCall-Flag hat,
// also auch gerufen wird, wenn nichts im Clipboard steht (#42531#)
}
@@ -1075,28 +1040,45 @@ BOOL ScViewFunc::PasteFromClip( USHORT nFlags, ScDocument* pClipDoc,
bool bMarkIsFiltered = (eMarkType == SC_MARK_SIMPLE_FILTERED);
bool bNoPaste = ((eMarkType != SC_MARK_SIMPLE && !bMarkIsFiltered) ||
(bMarkIsFiltered && (eMoveMode != INS_NONE || bAsLink)));
- if (!bNoPaste && !rMark.IsMarked())
+
+ if (!bNoPaste)
{
- // Create a selection with clipboard row count and check that for
- // filtered.
- nStartCol = GetViewData()->GetCurX();
- nStartRow = GetViewData()->GetCurY();
- nStartTab = GetViewData()->GetTabNo();
- nEndCol = nStartCol + nDestSizeX;
- nEndRow = nStartRow + nDestSizeY;
- nEndTab = nStartTab;
- aMarkRange = ScRange( nStartCol, nStartRow, nStartTab, nEndCol, nEndRow, nEndTab);
- if (ScViewUtil::HasFiltered( aMarkRange, pDoc))
+ if (!rMark.IsMarked())
{
- bMarkIsFiltered = true;
- // Fit to clipboard's row count unfiltered rows. If there is no
- // fit assume that pasting is not possible. Note that nDestSizeY is
- // size-1 (difference).
- if (!ScViewUtil::FitToUnfilteredRows( aMarkRange, pDoc, nDestSizeY+1))
- bNoPaste = true;
+ // Create a selection with clipboard row count and check that for
+ // filtered.
+ nStartCol = GetViewData()->GetCurX();
+ nStartRow = GetViewData()->GetCurY();
+ nStartTab = GetViewData()->GetTabNo();
+ nEndCol = nStartCol + nDestSizeX;
+ nEndRow = nStartRow + nDestSizeY;
+ nEndTab = nStartTab;
+ aMarkRange = ScRange( nStartCol, nStartRow, nStartTab, nEndCol, nEndRow, nEndTab);
+ if (ScViewUtil::HasFiltered( aMarkRange, pDoc))
+ {
+ bMarkIsFiltered = true;
+ // Fit to clipboard's row count unfiltered rows. If there is no
+ // fit assume that pasting is not possible. Note that nDestSizeY is
+ // size-1 (difference).
+ if (!ScViewUtil::FitToUnfilteredRows( aMarkRange, pDoc, nDestSizeY+1))
+ bNoPaste = true;
+ }
+ aFilteredMark.SetMarkArea( aMarkRange);
+ }
+ else
+ {
+ // Expand the marked area when the destination area is larger than the
+ // current selection, to get the undo do the right thing. (i#106711)
+ ScRange aRange;
+ aFilteredMark.GetMarkArea( aRange );
+ if( (aRange.aEnd.Col() - aRange.aStart.Col()) < nDestSizeX )
+ {
+ aRange.aEnd.SetCol(aRange.aStart.Col() + nDestSizeX);
+ aFilteredMark.SetMarkArea(aRange);
+ }
}
- aFilteredMark.SetMarkArea( aMarkRange);
}
+
if (bNoPaste)
{
ErrorMessage(STR_MSSG_PASTEFROMCLIP_0);
@@ -1110,8 +1092,10 @@ BOOL ScViewFunc::PasteFromClip( USHORT nFlags, ScDocument* pClipDoc,
ScViewUtil::UnmarkFiltered( aFilteredMark, pDoc);
aFilteredMark.FillRangeListWithMarks( &aRangeList, FALSE);
nUnfilteredRows = 0;
- for (ScRange* p = aRangeList.First(); p; p = aRangeList.Next())
+ size_t ListSize = aRangeList.size();
+ for ( size_t i = 0; i < ListSize; ++i )
{
+ ScRange* p = aRangeList[i];
nUnfilteredRows += p->aEnd.Row() - p->aStart.Row() + 1;
}
#if 0
@@ -1260,12 +1244,6 @@ BOOL ScViewFunc::PasteFromClip( USHORT nFlags, ScDocument* pClipDoc,
nUndoEndCol = sal::static_int_cast<SCCOL>( nUndoEndCol + nEndCol );
nUndoEndRow = sal::static_int_cast<SCROW>( nUndoEndRow + nEndRow ); // destination area, expanded for merged cells
-// if (nUndoEndCol < nEndCol) nUndoEndCol = nEndCol;
-// if (nUndoEndRow < nEndRow) nUndoEndRow = nEndRow;
-
-// nUndoEndCol += nMarkAddX;
-// nUndoEndRow += nMarkAddY;
-
if (nUndoEndCol>MAXCOL || nUndoEndRow>MAXROW)
{
ErrorMessage(STR_PASTE_FULL);
@@ -1286,9 +1264,6 @@ BOOL ScViewFunc::PasteFromClip( USHORT nFlags, ScDocument* pClipDoc,
//! Test auf Ueberlappung
//! nur wirkliche Schnittmenge testen !!!!!!!
- // pDoc->HasCommonAttr( StartCol,nStartRow, nUndoEndCol,nUndoEndRow, nStartTab,
- // pClipDoc, nClipStartX, nClipStartY );
-
ScDocFunc& rDocFunc = pDocSh->GetDocFunc();
if ( bRecord )
{
@@ -1441,9 +1416,6 @@ BOOL ScViewFunc::PasteFromClip( USHORT nFlags, ScDocument* pClipDoc,
TRUE, FALSE, bIncludeFiltered );
}
- //
- //
- //
pDocSh->UpdatePaintExt( nExtFlags, nStartCol, nStartRow, nStartTab,
nEndCol, nEndRow, nEndTab ); // content after the change
@@ -1904,7 +1876,6 @@ void ScViewFunc::DataFormPutData( SCROW nCurrentRow ,
}
USHORT nExtFlags = 0;
pDocSh->UpdatePaintExt( nExtFlags, nStartCol, nStartRow, nStartTab , nEndCol, nEndRow, nEndTab ); // content before the change
- //rMark.SetMarkArea( aUserRange );
pDoc->BeginDrawUndo();
for(sal_uInt16 i = 0; i < aColLength; i++)
@@ -1915,7 +1886,6 @@ void ScViewFunc::DataFormPutData( SCROW nCurrentRow ,
pDoc->SetString( nStartCol + i, nCurrentRow, nTab, aFieldName );
}
}
- //pDoc->ExtendMergeSel( nStartCol, nStartRow, nEndCol, nEndRow, rMark, TRUE ); // Refresh
pDocSh->UpdatePaintExt( nExtFlags, nStartCol, nCurrentRow, nStartTab, nEndCol, nCurrentRow, nEndTab ); // content after the change
SfxUndoAction* pUndo = new ScUndoDataForm( pDocSh,
nStartCol, nCurrentRow, nStartTab,
diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx
index 52fe04459ad8..e4a08ac956e0 100644
--- a/sc/source/ui/view/viewfun4.cxx
+++ b/sc/source/ui/view/viewfun4.cxx
@@ -239,15 +239,15 @@ void ScViewFunc::DoRefConversion( BOOL bRecord )
ScRangeListRef xRanges;
GetViewData()->GetMultiArea( xRanges );
- ULONG nCount = xRanges->Count();
+ size_t nCount = xRanges->size();
for (SCTAB i=0; i<nTabCount; i++)
{
if (rMark.GetTableSelect(i))
{
- for (ULONG j=0; j<nCount; j++)
+ for (size_t j = 0; j < nCount; ++j)
{
- ScRange aRange = *xRanges->GetObject(j);
+ ScRange aRange = *(*xRanges)[j];
aRange.aStart.SetTab(i);
aRange.aEnd.SetTab(i);
ScCellIterator aIter( pDoc, aRange );
@@ -393,9 +393,11 @@ void ScViewFunc::DoThesaurus( BOOL bRecord )
if (pCell)
{
((ScEditCell*) pCell)->GetData(pTObject);
- pOldTObj = pTObject->Clone();
if (pTObject)
+ {
+ pOldTObj = pTObject->Clone();
pThesaurusEngine->SetText(*pTObject);
+ }
}
}
else
@@ -476,14 +478,12 @@ void ScViewFunc::DoSheetConversion( const ScConversionParam& rConvParam, BOOL bR
ScMarkData& rMark = rViewData.GetMarkData();
ScSplitPos eWhich = rViewData.GetActivePart();
EditView* pEditView = NULL;
- ESelection* pEditSel = NULL;
BOOL bIsEditMode = rViewData.HasEditView(eWhich);
if (bRecord && !pDoc->IsUndoEnabled())
bRecord = FALSE;
if (bIsEditMode) // Edit-Mode aktiv
{
rViewData.GetEditView(eWhich, pEditView, nCol, nRow);
- pEditSel = new ESelection(pEditView->GetSelection());
SC_MOD()->InputEnterHandler();
}
else
@@ -503,7 +503,6 @@ void ScViewFunc::DoSheetConversion( const ScConversionParam& rConvParam, BOOL bR
if (!aTester.IsEditable())
{
ErrorMessage(aTester.GetMessageId());
- delete pEditSel;
return;
}
}
@@ -597,7 +596,6 @@ void ScViewFunc::DoSheetConversion( const ScConversionParam& rConvParam, BOOL bR
rViewData.SetSpellingView( NULL );
KillEditView(TRUE);
delete pEngine;
- delete pEditSel;
pDocSh->PostPaintGridAll();
rViewData.GetViewShell()->UpdateInputHandler();
pDoc->DisableIdle(bOldDis);
@@ -657,7 +655,6 @@ BOOL ScViewFunc::PasteFile( const Point& rPos, const String& rFile, BOOL bLink )
Graphic aGraphic;
GraphicFilter* pGraphicFilter = GraphicFilter::GetGraphicFilter();
-// GraphicProgress aGraphicProgress(&aGraphicFilter);
if (!pGraphicFilter->ImportGraphic(aGraphic, aURL,
GRFILTER_FORMAT_DONTKNOW, &nFilterFormat ))
diff --git a/sc/source/ui/view/viewfun5.cxx b/sc/source/ui/view/viewfun5.cxx
index 5ab159cf7dbc..98146947d007 100644
--- a/sc/source/ui/view/viewfun5.cxx
+++ b/sc/source/ui/view/viewfun5.cxx
@@ -192,17 +192,6 @@ BOOL ScViewFunc::PasteDataFormat( ULONG nFormatId,
// try to get the replacement image from the clipboard
Graphic aGraphic;
ULONG nGrFormat = 0;
-// (wg. Selection Manager bei Trustet Solaris)
-#ifndef SOLARIS
-/*
- if( aDataHelper.GetGraphic( SOT_FORMATSTR_ID_SVXB, aGraphic ) )
- nGrFormat = SOT_FORMATSTR_ID_SVXB;
- else if( aDataHelper.GetGraphic( FORMAT_GDIMETAFILE, aGraphic ) )
- nGrFormat = SOT_FORMAT_GDIMETAFILE;
- else if( aDataHelper.GetGraphic( FORMAT_BITMAP, aGraphic ) )
- nGrFormat = SOT_FORMAT_BITMAP;
-*/
-#endif
// insert replacement image ( if there is one ) into the object helper
if ( nGrFormat )
@@ -224,9 +213,6 @@ BOOL ScViewFunc::PasteDataFormat( ULONG nFormatId,
}
else
{
-// uno::Reference < io::XInputStream > xStm;
-// TransferableObjectDescriptor aObjDesc;
-
if ( aDataHelper.GetTransferableObjectDescriptor( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR_OLE, aObjDesc ) )
{
::rtl::OUString aName;
@@ -320,8 +306,27 @@ BOOL ScViewFunc::PasteDataFormat( ULONG nFormatId,
::rtl::OUString aStr;
SotStorageStreamRef xStream;
if ( aDataHelper.GetSotStorageStream( nFormatId, xStream ) && xStream.Is() )
+ {
+ if (nFormatId == SOT_FORMATSTR_ID_HTML)
+ {
+ // Launch the text import options dialog. For now, we do
+ // this for html pasting only, but in the future it may
+ // make sense to do it for other data types too.
+ ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
+ ::std::auto_ptr<AbstractScTextImportOptionsDlg> pDlg(
+ pFact->CreateScTextImportOptionsDlg(NULL, RID_SCDLG_TEXT_IMPORT_OPTIONS));
+
+ if (pDlg->Execute() == RET_OK)
+ {
+ ScAsciiOptions aOptions;
+ aOptions.SetLanguage(pDlg->GetLanguageType());
+ aOptions.SetDetectSpecialNumber(pDlg->IsDateConversionSet());
+ aObj.SetExtOptions(aOptions);
+ }
+ }
// mba: clipboard always must contain absolute URLs (could be from alien source)
bRet = aObj.ImportStream( *xStream, String(), nFormatId );
+ }
else if (nFormatId == FORMAT_STRING && aDataHelper.GetString( nFormatId, aStr ))
{
// Do CSV dialog if more than one line.
diff --git a/sc/source/ui/view/viewfun6.cxx b/sc/source/ui/view/viewfun6.cxx
index 3aaae4e10f0d..90e42b2ead28 100644
--- a/sc/source/ui/view/viewfun6.cxx
+++ b/sc/source/ui/view/viewfun6.cxx
@@ -36,6 +36,7 @@
#include <vcl/msgbox.hxx>
#include <vcl/sound.hxx>
#include "svl/zforlist.hxx"
+#include "svl/zformat.hxx"
#include "viewfunc.hxx"
#include "detfunc.hxx"
@@ -167,27 +168,32 @@ void ScViewFunc::MarkAndJumpToRanges(const ScRangeList& rRanges)
ScDocShell* pDocSh = pView->GetDocShell();
ScRangeList aRanges(rRanges);
- ScRange* p = aRanges.First();
+ ScRange* p = aRanges.front();
ScRangeList aRangesToMark;
ScAddress aCurPos = pView->GetCurPos();
- for (; p; p = aRanges.Next())
+ size_t ListSize = aRanges.size();
+ for ( size_t i = 0; i < ListSize; ++i )
{
+ p = aRanges[i];
// Collect only those ranges that are on the same sheet as the current
// cursor.
-
if (p->aStart.Tab() == aCurPos.Tab())
aRangesToMark.Append(*p);
}
- if (!aRangesToMark.Count())
+ if (aRangesToMark.empty())
return;
// Jump to the first range of all precedent ranges.
- p = aRangesToMark.First();
+ p = aRangesToMark.front();
lcl_jumpToRange(*p, pView, pDocSh->GetDocument());
- for (; p; p = aRangesToMark.Next())
+ ListSize = aRangesToMark.size();
+ for ( size_t i = 0; i < ListSize; ++i )
+ {
+ p = aRangesToMark[i];
MarkRange(*p, false, true);
+ }
}
void ScViewFunc::DetectiveMarkPred()
@@ -203,14 +209,14 @@ void ScViewFunc::DetectiveMarkPred()
else
aRanges.Append(aCurPos);
- vector<ScSharedTokenRef> aRefTokens;
+ vector<ScTokenRef> aRefTokens;
pDocSh->GetDocFunc().DetectiveCollectAllPreds(aRanges, aRefTokens);
if (aRefTokens.empty())
// No precedents found. Nothing to do.
return;
- ScSharedTokenRef p = aRefTokens.front();
+ ScTokenRef p = aRefTokens.front();
if (ScRefTokenHelper::isExternalRef(p))
{
// This is external. Open the external document if available, and
@@ -268,7 +274,7 @@ void ScViewFunc::DetectiveMarkSucc()
else
aRanges.Append(aCurPos);
- vector<ScSharedTokenRef> aRefTokens;
+ vector<ScTokenRef> aRefTokens;
pDocSh->GetDocFunc().DetectiveCollectAllSuccs(aRanges, aRefTokens);
if (aRefTokens.empty())
@@ -297,7 +303,13 @@ void ScViewFunc::InsertCurrentTime(short nCellFmt, const OUString& rUndoStr)
fTime /= D_TIMEFACTOR;
pUndoMgr->EnterListAction(rUndoStr, rUndoStr);
pDocSh->GetDocFunc().PutCell(aCurPos, new ScValueCell(fDate+fTime), false);
- SetNumberFormat(nCellFmt);
+
+ // Set the new cell format only when it differs from the current cell
+ // format type.
+ sal_uInt32 nCurNumFormat = pDoc->GetNumberFormat(aCurPos);
+ const SvNumberformat* pEntry = pFormatter->GetEntry(nCurNumFormat);
+ if (!pEntry || !(pEntry->GetType() & nCellFmt))
+ SetNumberFormat(nCellFmt);
pUndoMgr->LeaveListAction();
}
diff --git a/sc/source/ui/view/viewfun7.cxx b/sc/source/ui/view/viewfun7.cxx
index b01c7c53da35..6b4387b16b90 100644
--- a/sc/source/ui/view/viewfun7.cxx
+++ b/sc/source/ui/view/viewfun7.cxx
@@ -70,7 +70,6 @@ using namespace com::sun::star;
void lcl_AdjustInsertPos( ScViewData* pData, Point& rPos, Size& rSize )
{
-// SdrPage* pPage = pData->GetDocument()->GetDrawLayer()->GetPage( pData->GetTabNo() );
SdrPage* pPage = pData->GetScDrawView()->GetModel()->GetPage( static_cast<sal_uInt16>(pData->GetTabNo()) );
DBG_ASSERT(pPage,"pPage ???");
Size aPgSize( pPage->GetSize() );
@@ -160,9 +159,7 @@ void ScViewFunc::PasteDraw( const Point& rLogicPos, SdrModel* pModel,
const SdrMark* pM=aMark.GetMark(nm);
const SdrObject* pObj=pM->GetMarkedSdrObj();
- // #116235#
SdrObject* pNeuObj=pObj->Clone();
- //SdrObject* pNeuObj=pObj->Clone(pDestPage,pDrawModel);
if (pNeuObj!=NULL)
{
@@ -374,7 +371,7 @@ BOOL ScViewFunc::PasteGraphic( const Point& rPos, const Graphic& rGraphic,
}
Size aSize = pWin->LogicToLogic( rGraphic.GetPrefSize(), &aSourceMap, &aDestMap );
-// lcl_AdjustInsertPos( GetViewData(), aPos, aSize );
+
if ( GetViewData()->GetDocument()->IsNegativePage( GetViewData()->GetTabNo() ) )
aPos.X() -= aSize.Width();
diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx
index 2997b71822e5..dac8601c63e4 100644
--- a/sc/source/ui/view/viewfunc.cxx
+++ b/sc/source/ui/view/viewfunc.cxx
@@ -93,6 +93,20 @@
#include "cellsuno.hxx"
//==================================================================
+static void lcl_PostRepaintCondFormat( const ScConditionalFormat *pCondFmt, ScDocShell *pDocSh )
+{
+ if( pCondFmt )
+ {
+ const ScRangeListRef& aRanges = pCondFmt->GetRangeInfo();
+ size_t nCount = aRanges->size();
+ for( size_t n = 0 ; n < nCount; n++ )
+ pDocSh->PostPaint( *((*aRanges)[n]), PAINT_ALL );
+ }
+}
+
+
+//==================================================================
+
ScViewFunc::ScViewFunc( Window* pParent, ScDocShell& rDocSh, ScTabViewShell* pViewShell ) :
ScTabView( pParent, rDocSh, pViewShell ),
bFormatValid( FALSE )
@@ -409,7 +423,7 @@ void ScViewFunc::EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab, const String& rS
++nUndoPos;
}
- DBG_ASSERT( nUndoPos==nSelCount, "nUndoPos!=nSelCount" );
+ OSL_ENSURE( nUndoPos==nSelCount, "nUndoPos!=nSelCount" );
pUndoData = ( pData ? pData->Clone() : NULL );
}
@@ -667,6 +681,7 @@ void ScViewFunc::EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab, const String& rS
}
aModificator.SetDocumentModified();
+ lcl_PostRepaintCondFormat( pDoc->GetCondFormat( nCol, nRow, nTab ), pDocSh );
}
else
{
@@ -708,11 +723,6 @@ void ScViewFunc::EnterValue( SCCOL nCol, SCROW nRow, SCTAB nTab, const double& r
new ScUndoEnterValue( pDocSh, aPos, pUndoCell, rValue, bNeedHeight ) );
}
-/*! Zeilenhoehe anpassen? Dann auch bei Undo...
- if (bNeedHeight)
- AdjustRowHeight(nRow,nRow);
-*/
-
pDocSh->PostPaintCell( aPos );
pDocSh->UpdateOle(GetViewData());
aModificator.SetDocumentModified();
@@ -865,6 +875,7 @@ void ScViewFunc::EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab, const EditTextOb
aModificator.SetDocumentModified();
}
+ lcl_PostRepaintCondFormat( pDoc->GetCondFormat( nCol, nRow, nTab ), pDocSh );
delete pCellAttrs;
delete pNewData;
@@ -943,10 +954,10 @@ BYTE ScViewFunc::GetSelectionScriptType()
{
ScRangeList aRanges;
rMark.FillRangeListWithMarks( &aRanges, FALSE );
- ULONG nCount = aRanges.Count();
- for (ULONG i=0; i<nCount; i++)
+ size_t nCount = aRanges.size();
+ for ( size_t i=0; i < nCount; i++ )
{
- ScRange aRange = *aRanges.GetObject(i);
+ ScRange aRange = *aRanges[i];
ScCellIterator aIter( pDoc, aRange );
ScBaseCell* pCell = aIter.GetFirst();
while ( pCell )
@@ -1940,7 +1951,6 @@ void ScViewFunc::DeleteContents( USHORT nFlags, BOOL bRecord )
aMarkRange.aEnd = aMarkRange.aStart;
if ( pDoc->HasAttrib( aMarkRange, HASATTR_MERGED ) )
{
-// InitOwnBlockMode();
aFuncMark.SetMarkArea( aMarkRange );
}
else
@@ -2037,7 +2047,6 @@ void ScViewFunc::DeleteContents( USHORT nFlags, BOOL bRecord )
else
{
pDoc->DeleteSelection( nFlags, aFuncMark );
-// aFuncMark.MarkToSimple();
}
if ( bRecord )
diff --git a/sc/source/ui/view/viewutil.cxx b/sc/source/ui/view/viewutil.cxx
index 050fb131bfae..92f9844fb2c4 100644
--- a/sc/source/ui/view/viewutil.cxx
+++ b/sc/source/ui/view/viewutil.cxx
@@ -68,7 +68,6 @@
//==================================================================
-// static
void ScViewUtil::PutItemScript( SfxItemSet& rShellSet, const SfxItemSet& rCoreSet,
USHORT nWhichId, USHORT nScript )
{
@@ -87,7 +86,6 @@ void ScViewUtil::PutItemScript( SfxItemSet& rShellSet, const SfxItemSet& rCoreSe
rShellSet.InvalidateItem( nWhichId );
}
-// static
USHORT ScViewUtil::GetEffLanguage( ScDocument* pDoc, const ScAddress& rPos )
{
// used for thesaurus
@@ -117,7 +115,6 @@ USHORT ScViewUtil::GetEffLanguage( ScDocument* pDoc, const ScAddress& rPos )
return eLnge;
}
-// static
sal_Int32 ScViewUtil::GetTransliterationType( USHORT nSlotID )
{
sal_Int32 nType = 0;
@@ -154,7 +151,6 @@ sal_Int32 ScViewUtil::GetTransliterationType( USHORT nSlotID )
return nType;
}
-// static
BOOL ScViewUtil::IsActionShown( const ScChangeAction& rAction,
const ScChangeViewSettings& rSettings,
ScDocument& rDocument )
@@ -255,7 +251,6 @@ BOOL ScViewUtil::IsActionShown( const ScChangeAction& rAction,
return TRUE;
}
-// static
void ScViewUtil::UnmarkFiltered( ScMarkData& rMark, ScDocument* pDoc )
{
rMark.MarkToMulti();
@@ -294,7 +289,6 @@ void ScViewUtil::UnmarkFiltered( ScMarkData& rMark, ScDocument* pDoc )
}
-// static
bool ScViewUtil::FitToUnfilteredRows( ScRange & rRange, ScDocument * pDoc, size_t nRows )
{
SCTAB nTab = rRange.aStart.Tab();
@@ -309,8 +303,6 @@ bool ScViewUtil::FitToUnfilteredRows( ScRange & rRange, ScDocument * pDoc, size_
return static_cast<size_t>(nCount) == nRows && bOneTabOnly;
}
-
-// static
bool ScViewUtil::HasFiltered( const ScRange& rRange, ScDocument* pDoc )
{
SCROW nStartRow = rRange.aStart.Row();
@@ -324,7 +316,6 @@ bool ScViewUtil::HasFiltered( const ScRange& rRange, ScDocument* pDoc )
return false;
}
-// static
void ScViewUtil::HideDisabledSlot( SfxItemSet& rSet, SfxBindings& rBindings, USHORT nSlotId )
{
SvtCJKOptions aCJKOptions;