summaryrefslogtreecommitdiff
path: root/sw/source/core
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/core')
-rw-r--r--sw/source/core/SwNumberTree/SwNodeNum.cxx9
-rw-r--r--sw/source/core/SwNumberTree/SwNumberTree.cxx15
-rw-r--r--sw/source/core/SwNumberTree/makefile.mk6
-rw-r--r--sw/source/core/access/acccell.cxx5
-rw-r--r--sw/source/core/access/acccell.hxx5
-rw-r--r--sw/source/core/access/acccontext.cxx7
-rw-r--r--sw/source/core/access/acccontext.hxx7
-rw-r--r--sw/source/core/access/accdoc.cxx5
-rw-r--r--sw/source/core/access/accdoc.hxx5
-rw-r--r--sw/source/core/access/accembedded.cxx5
-rw-r--r--sw/source/core/access/accembedded.hxx5
-rw-r--r--sw/source/core/access/accfootnote.cxx5
-rw-r--r--sw/source/core/access/accfootnote.hxx5
-rw-r--r--sw/source/core/access/accframe.cxx13
-rw-r--r--sw/source/core/access/accframe.hxx5
-rw-r--r--sw/source/core/access/accframebase.cxx5
-rw-r--r--sw/source/core/access/accframebase.hxx5
-rw-r--r--sw/source/core/access/accfrmobj.cxx11
-rw-r--r--sw/source/core/access/accfrmobj.hxx5
-rw-r--r--sw/source/core/access/accfrmobjmap.cxx5
-rw-r--r--sw/source/core/access/accfrmobjmap.hxx5
-rw-r--r--sw/source/core/access/accfrmobjslist.cxx5
-rw-r--r--sw/source/core/access/accfrmobjslist.hxx5
-rw-r--r--sw/source/core/access/accgraphic.cxx5
-rw-r--r--sw/source/core/access/accgraphic.hxx5
-rw-r--r--sw/source/core/access/accheaderfooter.cxx5
-rw-r--r--sw/source/core/access/accheaderfooter.hxx5
-rw-r--r--sw/source/core/access/acchyperlink.cxx5
-rw-r--r--sw/source/core/access/acchyperlink.hxx5
-rw-r--r--sw/source/core/access/acchypertextdata.cxx5
-rw-r--r--sw/source/core/access/acchypertextdata.hxx5
-rw-r--r--sw/source/core/access/accmap.cxx25
-rw-r--r--sw/source/core/access/accnotextframe.cxx7
-rw-r--r--sw/source/core/access/accnotextframe.hxx7
-rw-r--r--sw/source/core/access/accpage.cxx10
-rw-r--r--sw/source/core/access/accpage.hxx5
-rw-r--r--sw/source/core/access/accpara.cxx22
-rw-r--r--sw/source/core/access/accpara.hxx7
-rw-r--r--sw/source/core/access/accportions.cxx7
-rw-r--r--sw/source/core/access/accportions.hxx7
-rw-r--r--sw/source/core/access/accpreview.cxx5
-rw-r--r--sw/source/core/access/accpreview.hxx5
-rw-r--r--sw/source/core/access/accselectionhelper.cxx5
-rw-r--r--sw/source/core/access/accselectionhelper.hxx5
-rw-r--r--sw/source/core/access/acctable.cxx5
-rw-r--r--sw/source/core/access/acctable.hxx5
-rw-r--r--sw/source/core/access/acctextframe.cxx7
-rw-r--r--sw/source/core/access/acctextframe.hxx7
-rw-r--r--sw/source/core/access/makefile.mk8
-rw-r--r--sw/source/core/access/textmarkuphelper.cxx7
-rw-r--r--sw/source/core/access/textmarkuphelper.hxx7
-rw-r--r--sw/source/core/attr/calbck.cxx13
-rw-r--r--sw/source/core/attr/cellatr.cxx5
-rw-r--r--sw/source/core/attr/fmtfollowtextflow.cxx5
-rw-r--r--sw/source/core/attr/fmtwrapinfluenceonobjpos.cxx5
-rw-r--r--sw/source/core/attr/format.cxx5
-rw-r--r--sw/source/core/attr/hints.cxx23
-rw-r--r--sw/source/core/attr/makefile.mk6
-rw-r--r--sw/source/core/attr/swatrset.cxx19
-rw-r--r--sw/source/core/bastyp/SwSmartTagMgr.cxx5
-rw-r--r--sw/source/core/bastyp/bparr.cxx7
-rw-r--r--sw/source/core/bastyp/breakit.cxx11
-rw-r--r--sw/source/core/bastyp/calc.cxx17
-rw-r--r--sw/source/core/bastyp/checkit.cxx5
-rw-r--r--sw/source/core/bastyp/index.cxx15
-rw-r--r--sw/source/core/bastyp/init.cxx97
-rw-r--r--sw/source/core/bastyp/makefile.mk6
-rw-r--r--sw/source/core/bastyp/ring.cxx5
-rw-r--r--sw/source/core/bastyp/swcache.cxx25
-rw-r--r--sw/source/core/bastyp/swrect.cxx9
-rw-r--r--sw/source/core/bastyp/swregion.cxx5
-rw-r--r--sw/source/core/bastyp/swtypes.cxx7
-rw-r--r--sw/source/core/bastyp/tabcol.cxx5
-rw-r--r--sw/source/core/crsr/BlockCursor.cxx5
-rw-r--r--sw/source/core/crsr/BlockCursor.hxx5
-rw-r--r--sw/source/core/crsr/IBlockCursor.hxx5
-rw-r--r--sw/source/core/crsr/bookmrk.cxx39
-rw-r--r--sw/source/core/crsr/callnk.cxx5
-rw-r--r--sw/source/core/crsr/callnk.hxx5
-rw-r--r--sw/source/core/crsr/crbm.cxx5
-rw-r--r--sw/source/core/crsr/crossrefbookmark.cxx5
-rw-r--r--sw/source/core/crsr/crsrsh.cxx19
-rw-r--r--sw/source/core/crsr/crstrvl.cxx23
-rw-r--r--sw/source/core/crsr/crstrvl1.cxx5
-rw-r--r--sw/source/core/crsr/findattr.cxx15
-rw-r--r--sw/source/core/crsr/findcoll.cxx5
-rw-r--r--sw/source/core/crsr/findfmt.cxx5
-rw-r--r--sw/source/core/crsr/findtxt.cxx7
-rw-r--r--sw/source/core/crsr/makefile.mk6
-rw-r--r--sw/source/core/crsr/pam.cxx13
-rw-r--r--sw/source/core/crsr/paminit.cxx5
-rw-r--r--sw/source/core/crsr/swcrsr.cxx9
-rw-r--r--sw/source/core/crsr/trvlcol.cxx5
-rw-r--r--sw/source/core/crsr/trvlfnfl.cxx5
-rw-r--r--sw/source/core/crsr/trvlreg.cxx5
-rw-r--r--sw/source/core/crsr/trvltbl.cxx9
-rw-r--r--sw/source/core/crsr/unocrsr.cxx5
-rw-r--r--sw/source/core/crsr/viscrs.cxx49
-rw-r--r--sw/source/core/doc/SwStyleNameMapper.cxx7
-rw-r--r--sw/source/core/doc/acmplwrd.cxx9
-rw-r--r--sw/source/core/doc/dbgoutsw.cxx13
-rw-r--r--sw/source/core/doc/doc.cxx667
-rw-r--r--sw/source/core/doc/docbasic.cxx5
-rw-r--r--sw/source/core/doc/docbm.cxx43
-rw-r--r--sw/source/core/doc/docchart.cxx5
-rw-r--r--sw/source/core/doc/doccomp.cxx13
-rw-r--r--sw/source/core/doc/doccorr.cxx7
-rw-r--r--sw/source/core/doc/docdde.cxx9
-rw-r--r--sw/source/core/doc/docdesc.cxx16
-rw-r--r--sw/source/core/doc/docdraw.cxx36
-rw-r--r--sw/source/core/doc/docedt.cxx49
-rw-r--r--sw/source/core/doc/docfld.cxx24
-rw-r--r--sw/source/core/doc/docfly.cxx63
-rw-r--r--sw/source/core/doc/docfmt.cxx45
-rw-r--r--sw/source/core/doc/docftn.cxx5
-rw-r--r--sw/source/core/doc/docglbl.cxx33
-rw-r--r--sw/source/core/doc/docglos.cxx5
-rw-r--r--sw/source/core/doc/doclay.cxx138
-rw-r--r--sw/source/core/doc/docnew.cxx84
-rw-r--r--sw/source/core/doc/docnum.cxx13
-rw-r--r--sw/source/core/doc/docredln.cxx21
-rw-r--r--sw/source/core/doc/docruby.cxx5
-rw-r--r--sw/source/core/doc/docsort.cxx26
-rw-r--r--sw/source/core/doc/docstat.cxx5
-rw-r--r--sw/source/core/doc/doctxm.cxx21
-rw-r--r--sw/source/core/doc/docxforms.cxx5
-rw-r--r--sw/source/core/doc/extinput.cxx9
-rw-r--r--sw/source/core/doc/fmtcol.cxx15
-rw-r--r--sw/source/core/doc/ftnidx.cxx5
-rw-r--r--sw/source/core/doc/gctable.cxx7
-rw-r--r--sw/source/core/doc/htmltbl.cxx13
-rw-r--r--sw/source/core/doc/lineinfo.cxx5
-rw-r--r--sw/source/core/doc/list.cxx7
-rw-r--r--sw/source/core/doc/makefile.mk8
-rw-r--r--sw/source/core/doc/notxtfrm.cxx71
-rw-r--r--sw/source/core/doc/number.cxx29
-rw-r--r--sw/source/core/doc/poolfmt.cxx69
-rw-r--r--sw/source/core/doc/sortopt.cxx5
-rw-r--r--sw/source/core/doc/swserv.cxx7
-rw-r--r--sw/source/core/doc/swstylemanager.cxx7
-rw-r--r--sw/source/core/doc/swstylemanager.hxx5
-rw-r--r--sw/source/core/doc/tblafmt.cxx13
-rw-r--r--sw/source/core/doc/tblcpy.cxx19
-rw-r--r--sw/source/core/doc/tblrwcl.cxx19
-rw-r--r--sw/source/core/doc/visiturl.cxx7
-rw-r--r--sw/source/core/docnode/cancellablejob.cxx5
-rw-r--r--sw/source/core/docnode/cancellablejob.hxx5
-rw-r--r--sw/source/core/docnode/finalthreadmanager.cxx5
-rw-r--r--sw/source/core/docnode/makefile.mk6
-rw-r--r--sw/source/core/docnode/ndcopy.cxx60
-rw-r--r--sw/source/core/docnode/ndindex.cxx13
-rw-r--r--sw/source/core/docnode/ndnotxt.cxx9
-rw-r--r--sw/source/core/docnode/ndnum.cxx9
-rw-r--r--sw/source/core/docnode/ndsect.cxx11
-rw-r--r--sw/source/core/docnode/ndtbl.cxx36
-rw-r--r--sw/source/core/docnode/ndtbl1.cxx25
-rw-r--r--sw/source/core/docnode/node.cxx38
-rw-r--r--sw/source/core/docnode/node2lay.cxx5
-rw-r--r--sw/source/core/docnode/nodes.cxx26
-rw-r--r--sw/source/core/docnode/observablethread.cxx5
-rw-r--r--sw/source/core/docnode/pausethreadstarting.cxx5
-rw-r--r--sw/source/core/docnode/retrievedinputstreamdata.cxx5
-rw-r--r--sw/source/core/docnode/retrieveinputstream.cxx5
-rw-r--r--sw/source/core/docnode/retrieveinputstreamconsumer.cxx5
-rw-r--r--sw/source/core/docnode/section.cxx20
-rw-r--r--sw/source/core/docnode/swbaslnk.cxx49
-rw-r--r--sw/source/core/docnode/swthreadjoiner.cxx5
-rw-r--r--sw/source/core/docnode/swthreadmanager.cxx5
-rw-r--r--sw/source/core/docnode/threadlistener.cxx5
-rw-r--r--sw/source/core/docnode/threadmanager.cxx5
-rw-r--r--sw/source/core/draw/dcontact.cxx62
-rw-r--r--sw/source/core/draw/dflyobj.cxx21
-rw-r--r--sw/source/core/draw/dobjfac.cxx5
-rw-r--r--sw/source/core/draw/dpage.cxx9
-rw-r--r--sw/source/core/draw/drawdoc.cxx11
-rw-r--r--sw/source/core/draw/dview.cxx25
-rw-r--r--sw/source/core/draw/makefile.mk6
-rw-r--r--sw/source/core/edit/acorrect.cxx9
-rw-r--r--sw/source/core/edit/autofmt.cxx79
-rw-r--r--sw/source/core/edit/edatmisc.cxx5
-rw-r--r--sw/source/core/edit/edattr.cxx13
-rw-r--r--sw/source/core/edit/eddel.cxx5
-rw-r--r--sw/source/core/edit/edfcol.cxx7
-rw-r--r--sw/source/core/edit/edfld.cxx5
-rw-r--r--sw/source/core/edit/edfldexp.cxx5
-rw-r--r--sw/source/core/edit/edfmt.cxx5
-rw-r--r--sw/source/core/edit/edglbldc.cxx5
-rw-r--r--sw/source/core/edit/edglss.cxx7
-rw-r--r--sw/source/core/edit/editsh.cxx19
-rw-r--r--sw/source/core/edit/edlingu.cxx15
-rw-r--r--sw/source/core/edit/ednumber.cxx9
-rw-r--r--sw/source/core/edit/edredln.cxx5
-rw-r--r--sw/source/core/edit/edsect.cxx5
-rw-r--r--sw/source/core/edit/edtab.cxx9
-rw-r--r--sw/source/core/edit/edtox.cxx9
-rw-r--r--sw/source/core/edit/edundo.cxx5
-rw-r--r--sw/source/core/edit/edws.cxx5
-rw-r--r--sw/source/core/edit/makefile.mk6
-rw-r--r--sw/source/core/except/dbgloop.cxx7
-rw-r--r--sw/source/core/except/errhdl.cxx5
-rw-r--r--sw/source/core/except/makefile.mk10
-rw-r--r--sw/source/core/fields/authfld.cxx11
-rw-r--r--sw/source/core/fields/cellfml.cxx5
-rw-r--r--sw/source/core/fields/chpfld.cxx5
-rw-r--r--sw/source/core/fields/dbfld.cxx11
-rw-r--r--sw/source/core/fields/ddefld.cxx7
-rw-r--r--sw/source/core/fields/ddetbl.cxx5
-rw-r--r--sw/source/core/fields/docufld.cxx94
-rw-r--r--sw/source/core/fields/expfld.cxx30
-rw-r--r--sw/source/core/fields/fldbas.cxx15
-rw-r--r--sw/source/core/fields/flddat.cxx7
-rw-r--r--sw/source/core/fields/flddropdown.cxx7
-rw-r--r--sw/source/core/fields/fldlst.cxx5
-rw-r--r--sw/source/core/fields/macrofld.cxx5
-rw-r--r--sw/source/core/fields/makefile.mk6
-rw-r--r--sw/source/core/fields/postithelper.cxx7
-rw-r--r--sw/source/core/fields/reffld.cxx9
-rw-r--r--sw/source/core/fields/scrptfld.cxx5
-rw-r--r--sw/source/core/fields/tblcalc.cxx5
-rwxr-xr-xsw/source/core/fields/textapi.cxx11
-rw-r--r--sw/source/core/fields/usrfld.cxx9
-rw-r--r--sw/source/core/frmedt/fecopy.cxx82
-rw-r--r--sw/source/core/frmedt/fedesc.cxx7
-rw-r--r--sw/source/core/frmedt/fefly1.cxx99
-rw-r--r--sw/source/core/frmedt/feflyole.cxx7
-rw-r--r--sw/source/core/frmedt/feshview.cxx37
-rw-r--r--sw/source/core/frmedt/fetab.cxx13
-rw-r--r--sw/source/core/frmedt/fews.cxx23
-rw-r--r--sw/source/core/frmedt/makefile.mk6
-rw-r--r--sw/source/core/frmedt/tblsel.cxx18
-rw-r--r--sw/source/core/graphic/grfatr.cxx7
-rw-r--r--sw/source/core/graphic/makefile.mk6
-rw-r--r--sw/source/core/graphic/ndgrf.cxx26
-rw-r--r--sw/source/core/inc/GetMetricVal.hxx5
-rw-r--r--sw/source/core/inc/MarkManager.hxx5
-rw-r--r--sw/source/core/inc/SwGrammarMarkUp.hxx5
-rw-r--r--sw/source/core/inc/SwPortionHandler.hxx5
-rw-r--r--sw/source/core/inc/SwXMLBlockExport.hxx5
-rw-r--r--sw/source/core/inc/SwXMLBlockImport.hxx5
-rw-r--r--sw/source/core/inc/SwXMLBlockListContext.hxx5
-rw-r--r--sw/source/core/inc/SwXMLTextBlocks.hxx5
-rw-r--r--sw/source/core/inc/SwXTextDefaults.hxx7
-rw-r--r--sw/source/core/inc/acorrect.hxx7
-rw-r--r--sw/source/core/inc/anchoredobjectposition.hxx5
-rw-r--r--sw/source/core/inc/ascharanchoredobjectposition.hxx5
-rw-r--r--sw/source/core/inc/blink.hxx7
-rw-r--r--sw/source/core/inc/bodyfrm.hxx5
-rw-r--r--sw/source/core/inc/bookmrk.hxx29
-rw-r--r--sw/source/core/inc/cellfrm.hxx7
-rw-r--r--sw/source/core/inc/cntfrm.hxx5
-rw-r--r--sw/source/core/inc/colfrm.hxx5
-rw-r--r--sw/source/core/inc/crossrefbookmark.hxx5
-rw-r--r--sw/source/core/inc/dbg_lay.hxx7
-rw-r--r--sw/source/core/inc/dbgloop.hxx7
-rw-r--r--sw/source/core/inc/dflyobj.hxx5
-rw-r--r--sw/source/core/inc/docfld.hxx5
-rw-r--r--sw/source/core/inc/docsort.hxx7
-rw-r--r--sw/source/core/inc/doctxm.hxx7
-rw-r--r--sw/source/core/inc/drawdev.hxx5
-rw-r--r--sw/source/core/inc/drawfont.hxx41
-rw-r--r--sw/source/core/inc/dview.hxx7
-rw-r--r--sw/source/core/inc/environmentofanchoredobject.hxx5
-rw-r--r--sw/source/core/inc/finalthreadmanager.hxx5
-rw-r--r--sw/source/core/inc/flowfrm.hxx5
-rw-r--r--sw/source/core/inc/flyfrm.hxx17
-rw-r--r--sw/source/core/inc/flyfrms.hxx5
-rw-r--r--sw/source/core/inc/fntcache.hxx7
-rw-r--r--sw/source/core/inc/frame.hxx10
-rw-r--r--sw/source/core/inc/frminf.hxx5
-rw-r--r--sw/source/core/inc/frmtool.hxx11
-rw-r--r--sw/source/core/inc/ftnboss.hxx5
-rw-r--r--sw/source/core/inc/ftnfrm.hxx9
-rw-r--r--sw/source/core/inc/hffrm.hxx5
-rw-r--r--sw/source/core/inc/ifinishedthreadlistener.hxx5
-rw-r--r--sw/source/core/inc/ithreadlistenerowner.hxx5
-rw-r--r--sw/source/core/inc/layact.hxx9
-rw-r--r--sw/source/core/inc/laycache.hxx7
-rw-r--r--sw/source/core/inc/layfrm.hxx7
-rw-r--r--sw/source/core/inc/layouter.hxx5
-rw-r--r--sw/source/core/inc/makefile.mk6
-rw-r--r--sw/source/core/inc/movedfwdfrmsbyobjpos.hxx5
-rw-r--r--sw/source/core/inc/mvsave.hxx7
-rw-r--r--sw/source/core/inc/node2lay.hxx5
-rw-r--r--sw/source/core/inc/noteurl.hxx7
-rw-r--r--sw/source/core/inc/notxtfrm.hxx7
-rw-r--r--sw/source/core/inc/objectformatter.hxx5
-rw-r--r--sw/source/core/inc/observablethread.hxx5
-rw-r--r--sw/source/core/inc/pagefrm.hxx7
-rw-r--r--sw/source/core/inc/pamtyp.hxx5
-rw-r--r--sw/source/core/inc/ptqueue.hxx5
-rw-r--r--sw/source/core/inc/retrievedinputstreamdata.hxx5
-rw-r--r--sw/source/core/inc/retrieveinputstream.hxx5
-rw-r--r--sw/source/core/inc/retrieveinputstreamconsumer.hxx5
-rw-r--r--sw/source/core/inc/rootfrm.hxx11
-rw-r--r--sw/source/core/inc/rowfrm.hxx5
-rw-r--r--sw/source/core/inc/scriptinfo.hxx9
-rw-r--r--sw/source/core/inc/scrrect.hxx7
-rw-r--r--sw/source/core/inc/sectfrm.hxx5
-rw-r--r--sw/source/core/inc/setmapvirtdev.hxx5
-rw-r--r--sw/source/core/inc/sortedobjs.hxx5
-rw-r--r--sw/source/core/inc/sortedobjsimpl.hxx5
-rw-r--r--sw/source/core/inc/swblocks.hxx7
-rw-r--r--sw/source/core/inc/swcache.hxx19
-rw-r--r--sw/source/core/inc/swfntcch.hxx7
-rw-r--r--sw/source/core/inc/swfont.hxx9
-rw-r--r--sw/source/core/inc/swselectionlist.hxx5
-rw-r--r--sw/source/core/inc/swthreadjoiner.hxx5
-rw-r--r--sw/source/core/inc/swthreadmanager.hxx5
-rw-r--r--sw/source/core/inc/tabfrm.hxx7
-rw-r--r--sw/source/core/inc/tblrwcl.hxx11
-rwxr-xr-xsw/source/core/inc/textapi.hxx15
-rw-r--r--sw/source/core/inc/threadlistener.hxx5
-rw-r--r--sw/source/core/inc/threadmanager.hxx5
-rw-r--r--sw/source/core/inc/tocntntanchoredobjectposition.hxx5
-rw-r--r--sw/source/core/inc/tolayoutanchoredobjectposition.hxx5
-rw-r--r--sw/source/core/inc/toxhlp.hxx5
-rw-r--r--sw/source/core/inc/txmsrt.hxx5
-rw-r--r--sw/source/core/inc/txtfrm.hxx11
-rw-r--r--sw/source/core/inc/txttypes.hxx5
-rw-r--r--sw/source/core/inc/undoflystrattr.hxx7
-rw-r--r--sw/source/core/inc/unoclbck.hxx52
-rw-r--r--sw/source/core/inc/unofldmid.h5
-rwxr-xr-xsw/source/core/inc/unometa.hxx200
-rw-r--r--sw/source/core/inc/viewimp.hxx17
-rw-r--r--sw/source/core/inc/visiturl.hxx7
-rw-r--r--sw/source/core/inc/wrong.hxx5
-rw-r--r--sw/source/core/layout/anchoreddrawobject.cxx21
-rw-r--r--sw/source/core/layout/anchoredobject.cxx21
-rw-r--r--sw/source/core/layout/atrfrm.cxx105
-rw-r--r--sw/source/core/layout/calcmove.cxx21
-rw-r--r--sw/source/core/layout/colfrm.cxx11
-rw-r--r--sw/source/core/layout/dbg_lay.cxx11
-rw-r--r--sw/source/core/layout/findfrm.cxx5
-rw-r--r--sw/source/core/layout/flowfrm.cxx25
-rw-r--r--sw/source/core/layout/fly.cxx40
-rw-r--r--sw/source/core/layout/flycnt.cxx13
-rw-r--r--sw/source/core/layout/flyincnt.cxx7
-rw-r--r--sw/source/core/layout/flylay.cxx20
-rw-r--r--sw/source/core/layout/flypos.cxx13
-rw-r--r--sw/source/core/layout/frmtool.cxx54
-rw-r--r--sw/source/core/layout/ftnfrm.cxx19
-rw-r--r--sw/source/core/layout/hffrm.cxx5
-rw-r--r--sw/source/core/layout/layact.cxx21
-rw-r--r--sw/source/core/layout/laycache.cxx20
-rw-r--r--sw/source/core/layout/layhelp.hxx7
-rw-r--r--sw/source/core/layout/layouter.cxx7
-rw-r--r--sw/source/core/layout/makefile.mk10
-rw-r--r--sw/source/core/layout/movedfwdfrmsbyobjpos.cxx5
-rw-r--r--sw/source/core/layout/newfrm.cxx9
-rw-r--r--sw/source/core/layout/objectformatter.cxx7
-rw-r--r--sw/source/core/layout/objectformatterlayfrm.cxx5
-rw-r--r--sw/source/core/layout/objectformatterlayfrm.hxx5
-rw-r--r--sw/source/core/layout/objectformattertxtfrm.cxx11
-rw-r--r--sw/source/core/layout/objectformattertxtfrm.hxx5
-rw-r--r--sw/source/core/layout/objstmpconsiderwrapinfl.cxx5
-rw-r--r--sw/source/core/layout/objstmpconsiderwrapinfl.hxx5
-rw-r--r--sw/source/core/layout/pagechg.cxx29
-rw-r--r--sw/source/core/layout/pagedesc.cxx19
-rw-r--r--sw/source/core/layout/paintfrm.cxx59
-rw-r--r--sw/source/core/layout/sectfrm.cxx17
-rw-r--r--sw/source/core/layout/softpagebreak.cxx5
-rw-r--r--sw/source/core/layout/sortedobjs.cxx5
-rw-r--r--sw/source/core/layout/sortedobjsimpl.cxx46
-rw-r--r--sw/source/core/layout/ssfrm.cxx11
-rw-r--r--sw/source/core/layout/swselectionlist.cxx5
-rw-r--r--sw/source/core/layout/tabfrm.cxx31
-rw-r--r--sw/source/core/layout/trvlfrm.cxx11
-rw-r--r--sw/source/core/layout/unusedf.cxx9
-rw-r--r--sw/source/core/layout/virtoutp.cxx9
-rw-r--r--sw/source/core/layout/virtoutp.hxx5
-rw-r--r--sw/source/core/layout/wsfrm.cxx36
-rw-r--r--sw/source/core/makefile.mk8
-rw-r--r--sw/source/core/objectpositioning/anchoredobjectposition.cxx9
-rw-r--r--sw/source/core/objectpositioning/ascharanchoredobjectposition.cxx9
-rw-r--r--sw/source/core/objectpositioning/environmentofanchoredobject.cxx5
-rw-r--r--sw/source/core/objectpositioning/makefile.mk6
-rw-r--r--sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx15
-rw-r--r--sw/source/core/objectpositioning/tolayoutanchoredobjectposition.cxx9
-rw-r--r--sw/source/core/ole/makefile.mk6
-rw-r--r--sw/source/core/ole/ndole.cxx9
-rw-r--r--sw/source/core/para/makefile.mk6
-rw-r--r--sw/source/core/para/paratr.cxx7
-rw-r--r--sw/source/core/sw3io/makefile.mk6
-rw-r--r--sw/source/core/sw3io/sw3convert.cxx19
-rw-r--r--sw/source/core/sw3io/swacorr.cxx5
-rw-r--r--sw/source/core/swg/SwXMLBlockExport.cxx5
-rw-r--r--sw/source/core/swg/SwXMLBlockImport.cxx5
-rw-r--r--sw/source/core/swg/SwXMLBlockListContext.cxx5
-rw-r--r--sw/source/core/swg/SwXMLSectionList.cxx7
-rw-r--r--sw/source/core/swg/SwXMLTextBlocks.cxx5
-rw-r--r--sw/source/core/swg/SwXMLTextBlocks1.cxx7
-rw-r--r--sw/source/core/swg/makefile.mk6
-rw-r--r--sw/source/core/swg/swblocks.cxx9
-rw-r--r--sw/source/core/table/makefile.mk6
-rw-r--r--sw/source/core/table/swnewtable.cxx17
-rw-r--r--sw/source/core/table/swtable.cxx58
-rw-r--r--sw/source/core/text/EnhancedPDFExportHelper.cxx51
-rw-r--r--sw/source/core/text/SwGrammarMarkUp.cxx5
-rw-r--r--sw/source/core/text/atrhndl.hxx5
-rw-r--r--sw/source/core/text/atrstck.cxx53
-rw-r--r--sw/source/core/text/blink.cxx5
-rw-r--r--sw/source/core/text/frmcrsr.cxx17
-rw-r--r--sw/source/core/text/frmform.cxx25
-rw-r--r--sw/source/core/text/frminf.cxx5
-rw-r--r--sw/source/core/text/frmpaint.cxx15
-rw-r--r--sw/source/core/text/guess.cxx9
-rw-r--r--sw/source/core/text/guess.hxx5
-rw-r--r--sw/source/core/text/inftxt.cxx47
-rw-r--r--sw/source/core/text/inftxt.hxx17
-rw-r--r--sw/source/core/text/itradj.cxx7
-rw-r--r--sw/source/core/text/itratr.cxx15
-rw-r--r--sw/source/core/text/itratr.hxx7
-rw-r--r--sw/source/core/text/itrcrsr.cxx15
-rw-r--r--sw/source/core/text/itrform2.cxx19
-rw-r--r--sw/source/core/text/itrform2.hxx5
-rw-r--r--sw/source/core/text/itrpaint.cxx13
-rw-r--r--sw/source/core/text/itrpaint.hxx5
-rw-r--r--sw/source/core/text/itrtxt.cxx7
-rw-r--r--sw/source/core/text/itrtxt.hxx7
-rw-r--r--sw/source/core/text/makefile.mk15
-rw-r--r--sw/source/core/text/noteurl.cxx5
-rw-r--r--sw/source/core/text/pordrop.hxx5
-rw-r--r--sw/source/core/text/porexp.cxx5
-rw-r--r--sw/source/core/text/porexp.hxx5
-rw-r--r--sw/source/core/text/porfld.cxx23
-rw-r--r--sw/source/core/text/porfld.hxx9
-rw-r--r--sw/source/core/text/porfly.cxx14
-rw-r--r--sw/source/core/text/porfly.hxx5
-rw-r--r--sw/source/core/text/porftn.hxx5
-rw-r--r--sw/source/core/text/porglue.cxx7
-rw-r--r--sw/source/core/text/porglue.hxx5
-rw-r--r--sw/source/core/text/porhyph.hxx5
-rw-r--r--sw/source/core/text/porlay.cxx20
-rw-r--r--sw/source/core/text/porlay.hxx7
-rw-r--r--sw/source/core/text/porlin.cxx13
-rw-r--r--sw/source/core/text/porlin.hxx9
-rw-r--r--sw/source/core/text/pormulti.cxx11
-rw-r--r--sw/source/core/text/pormulti.hxx7
-rw-r--r--sw/source/core/text/porref.cxx5
-rw-r--r--sw/source/core/text/porref.hxx5
-rw-r--r--sw/source/core/text/porrst.cxx16
-rw-r--r--sw/source/core/text/porrst.hxx5
-rw-r--r--sw/source/core/text/portab.hxx5
-rw-r--r--sw/source/core/text/portox.cxx5
-rw-r--r--sw/source/core/text/portox.hxx5
-rw-r--r--sw/source/core/text/portxt.cxx7
-rw-r--r--sw/source/core/text/portxt.hxx5
-rw-r--r--sw/source/core/text/possiz.hxx5
-rw-r--r--sw/source/core/text/redlnitr.cxx7
-rw-r--r--sw/source/core/text/redlnitr.hxx7
-rw-r--r--sw/source/core/text/txtcache.cxx5
-rw-r--r--sw/source/core/text/txtcache.hxx5
-rw-r--r--sw/source/core/text/txtcfg.hxx5
-rw-r--r--sw/source/core/text/txtdrop.cxx9
-rw-r--r--sw/source/core/text/txtfld.cxx5
-rw-r--r--sw/source/core/text/txtfly.cxx80
-rw-r--r--sw/source/core/text/txtfly.hxx11
-rw-r--r--sw/source/core/text/txtfrm.cxx52
-rw-r--r--sw/source/core/text/txtftn.cxx15
-rw-r--r--sw/source/core/text/txthyph.cxx9
-rw-r--r--sw/source/core/text/txtinit.cxx7
-rw-r--r--sw/source/core/text/txtio.cxx7
-rw-r--r--sw/source/core/text/txtpaint.cxx7
-rw-r--r--sw/source/core/text/txtpaint.hxx7
-rw-r--r--sw/source/core/text/txttab.cxx15
-rw-r--r--sw/source/core/text/widorp.cxx13
-rw-r--r--sw/source/core/text/widorp.hxx5
-rw-r--r--sw/source/core/text/wrong.cxx5
-rw-r--r--sw/source/core/tox/makefile.mk6
-rw-r--r--sw/source/core/tox/tox.cxx41
-rw-r--r--sw/source/core/tox/toxhlp.cxx29
-rw-r--r--sw/source/core/tox/txmsrt.cxx11
-rw-r--r--sw/source/core/txtnode/SwGrammarContact.cxx5
-rw-r--r--sw/source/core/txtnode/atrfld.cxx7
-rw-r--r--sw/source/core/txtnode/atrflyin.cxx15
-rw-r--r--sw/source/core/txtnode/atrftn.cxx7
-rw-r--r--sw/source/core/txtnode/atrref.cxx5
-rw-r--r--sw/source/core/txtnode/atrtox.cxx5
-rw-r--r--sw/source/core/txtnode/chrfmt.cxx5
-rw-r--r--sw/source/core/txtnode/fmtatr2.cxx83
-rw-r--r--sw/source/core/txtnode/fntcache.cxx13
-rw-r--r--sw/source/core/txtnode/fntcap.cxx13
-rw-r--r--sw/source/core/txtnode/makefile.mk8
-rw-r--r--sw/source/core/txtnode/modeltoviewhelper.cxx5
-rw-r--r--sw/source/core/txtnode/ndhints.cxx21
-rw-r--r--sw/source/core/txtnode/ndtxt.cxx63
-rw-r--r--sw/source/core/txtnode/swfntcch.cxx5
-rw-r--r--sw/source/core/txtnode/swfont.cxx65
-rw-r--r--sw/source/core/txtnode/thints.cxx65
-rw-r--r--sw/source/core/txtnode/txatbase.cxx7
-rw-r--r--sw/source/core/txtnode/txatritr.cxx7
-rw-r--r--sw/source/core/txtnode/txtatr2.cxx19
-rw-r--r--sw/source/core/txtnode/txtedt.cxx24
-rw-r--r--sw/source/core/undo/SwRewriter.cxx5
-rw-r--r--sw/source/core/undo/SwUndoField.cxx5
-rw-r--r--sw/source/core/undo/SwUndoFmt.cxx5
-rw-r--r--sw/source/core/undo/SwUndoPageDesc.cxx5
-rw-r--r--sw/source/core/undo/SwUndoTOXChange.cxx5
-rw-r--r--sw/source/core/undo/docundo.cxx11
-rw-r--r--sw/source/core/undo/makefile.mk8
-rw-r--r--sw/source/core/undo/rolbck.cxx13
-rw-r--r--sw/source/core/undo/unattr.cxx28
-rw-r--r--sw/source/core/undo/unbkmk.cxx5
-rw-r--r--sw/source/core/undo/undel.cxx15
-rw-r--r--sw/source/core/undo/undo.hrc7
-rw-r--r--sw/source/core/undo/undo.src7
-rw-r--r--sw/source/core/undo/undobj.cxx17
-rw-r--r--sw/source/core/undo/undobj1.cxx98
-rw-r--r--sw/source/core/undo/undoflystrattr.cxx7
-rw-r--r--sw/source/core/undo/undraw.cxx42
-rw-r--r--sw/source/core/undo/unfmco.cxx5
-rw-r--r--sw/source/core/undo/unins.cxx7
-rw-r--r--sw/source/core/undo/unmove.cxx5
-rw-r--r--sw/source/core/undo/unnum.cxx7
-rw-r--r--sw/source/core/undo/unoutl.cxx5
-rw-r--r--sw/source/core/undo/unovwr.cxx5
-rw-r--r--sw/source/core/undo/unredln.cxx5
-rw-r--r--sw/source/core/undo/unsect.cxx7
-rw-r--r--sw/source/core/undo/unsort.cxx5
-rw-r--r--sw/source/core/undo/unspnd.cxx7
-rw-r--r--sw/source/core/undo/untbl.cxx26
-rw-r--r--sw/source/core/undo/untblk.cxx21
-rw-r--r--sw/source/core/unocore/SwXTextDefaults.cxx16
-rw-r--r--sw/source/core/unocore/TextCursorHelper.cxx9
-rw-r--r--sw/source/core/unocore/XMLRangeHelper.cxx5
-rw-r--r--sw/source/core/unocore/XMLRangeHelper.hxx5
-rw-r--r--sw/source/core/unocore/makefile.mk7
-rw-r--r--sw/source/core/unocore/swunohelper.cxx7
-rw-r--r--sw/source/core/unocore/unobkm.cxx504
-rw-r--r--sw/source/core/unocore/unochart.cxx10
-rw-r--r--sw/source/core/unocore/unoclbck.cxx119
-rw-r--r--sw/source/core/unocore/unocoll.cxx91
-rw-r--r--sw/source/core/unocore/unocore.src7
-rw-r--r--sw/source/core/unocore/unocrsrhelper.cxx58
-rw-r--r--sw/source/core/unocore/unodraw.cxx121
-rw-r--r--sw/source/core/unocore/unoevent.cxx7
-rw-r--r--sw/source/core/unocore/unoevtlstnr.cxx5
-rw-r--r--sw/source/core/unocore/unofield.cxx20
-rw-r--r--sw/source/core/unocore/unoflatpara.cxx18
-rw-r--r--sw/source/core/unocore/unoframe.cxx88
-rw-r--r--sw/source/core/unocore/unoftn.cxx769
-rw-r--r--sw/source/core/unocore/unoidx.cxx3311
-rw-r--r--sw/source/core/unocore/unomap.cxx20
-rw-r--r--sw/source/core/unocore/unoobj.cxx3279
-rw-r--r--sw/source/core/unocore/unoobj2.cxx2520
-rw-r--r--sw/source/core/unocore/unoparagraph.cxx1192
-rw-r--r--sw/source/core/unocore/unoport.cxx34
-rw-r--r--sw/source/core/unocore/unoportenum.cxx109
-rw-r--r--sw/source/core/unocore/unoprnms.cxx9
-rw-r--r--sw/source/core/unocore/unoredline.cxx48
-rw-r--r--sw/source/core/unocore/unoredlines.cxx12
-rw-r--r--sw/source/core/unocore/unorefmk.cxx866
-rw-r--r--sw/source/core/unocore/unosect.cxx2397
-rw-r--r--sw/source/core/unocore/unosett.cxx21
-rw-r--r--sw/source/core/unocore/unosrch.cxx14
-rw-r--r--sw/source/core/unocore/unostyle.cxx96
-rw-r--r--sw/source/core/unocore/unotbl.cxx148
-rw-r--r--sw/source/core/unocore/unotext.cxx3512
-rw-r--r--sw/source/core/unocore/unotextmarkup.cxx5
-rw-r--r--sw/source/core/view/makefile.mk6
-rw-r--r--sw/source/core/view/pagepreviewlayout.cxx5
-rw-r--r--sw/source/core/view/scrrect.cxx5
-rw-r--r--sw/source/core/view/vdraw.cxx24
-rw-r--r--sw/source/core/view/viewimp.cxx7
-rw-r--r--sw/source/core/view/viewpg.cxx753
-rw-r--r--sw/source/core/view/viewsh.cxx46
-rw-r--r--sw/source/core/view/vnew.cxx12
-rw-r--r--sw/source/core/view/vprint.cxx1480
568 files changed, 15089 insertions, 14424 deletions
diff --git a/sw/source/core/SwNumberTree/SwNodeNum.cxx b/sw/source/core/SwNumberTree/SwNodeNum.cxx
index 171c4de920..34820899d9 100644
--- a/sw/source/core/SwNumberTree/SwNodeNum.cxx
+++ b/sw/source/core/SwNumberTree/SwNodeNum.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwNodeNum.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-#include <svx/svxenum.hxx>
+#include <editeng/svxenum.hxx>
#include <numrule.hxx>
#include <SwNodeNum.hxx>
#include <ndtxt.hxx>
diff --git a/sw/source/core/SwNumberTree/SwNumberTree.cxx b/sw/source/core/SwNumberTree/SwNumberTree.cxx
index 0c6106461f..3a17177afb 100644
--- a/sw/source/core/SwNumberTree/SwNumberTree.cxx
+++ b/sw/source/core/SwNumberTree/SwNumberTree.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwNumberTree.cxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -39,7 +36,7 @@
using std::vector;
using std::find;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
unsigned long SwNumberTreeNode::nInstances = 0;
#endif
@@ -55,7 +52,7 @@ SwNumberTreeNode::SwNumberTreeNode()
{
mItLastValid = mChildren.end();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
mnSerial = nInstances;
nInstances++;
#endif
@@ -80,7 +77,7 @@ SwNumberTreeNode::~SwNumberTreeNode()
ASSERT( IsPhantom() || mpParent == NULL, ": I'm not supposed to have a parent.");
-#ifndef PRODUCT
+#ifdef DBG_UTIL
nInstances--;
#endif
@@ -1108,7 +1105,7 @@ SwNumberTreeNode::GetIterator(const SwNumberTreeNode * pChild) const
// return aStr;
//}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
unsigned long SwNumberTreeNode::GetInstances()
{
return nInstances;
diff --git a/sw/source/core/SwNumberTree/makefile.mk b/sw/source/core/SwNumberTree/makefile.mk
index e929578e24..d67a3f321a 100644
--- a/sw/source/core/SwNumberTree/makefile.mk
+++ b/sw/source/core/SwNumberTree/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.5 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acccell.cxx b/sw/source/core/access/acccell.cxx
index 542924139d..774bcbb142 100644
--- a/sw/source/core/access/acccell.cxx
+++ b/sw/source/core/access/acccell.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acccell.cxx,v $
- * $Revision: 1.23 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acccell.hxx b/sw/source/core/access/acccell.hxx
index 0afb510652..b556b076d5 100644
--- a/sw/source/core/access/acccell.hxx
+++ b/sw/source/core/access/acccell.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acccell.hxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acccontext.cxx b/sw/source/core/access/acccontext.cxx
index edc64cfe99..94db31770b 100644
--- a/sw/source/core/access/acccontext.cxx
+++ b/sw/source/core/access/acccontext.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acccontext.cxx,v $
- * $Revision: 1.59 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acccontext.hxx b/sw/source/core/access/acccontext.hxx
index af7a744ef8..b9b0dcf0bd 100644
--- a/sw/source/core/access/acccontext.hxx
+++ b/sw/source/core/access/acccontext.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acccontext.hxx,v $
- * $Revision: 1.43 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accdoc.cxx b/sw/source/core/access/accdoc.cxx
index fe6df813ff..6455cd6f96 100644
--- a/sw/source/core/access/accdoc.cxx
+++ b/sw/source/core/access/accdoc.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accdoc.cxx,v $
- * $Revision: 1.34 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accdoc.hxx b/sw/source/core/access/accdoc.hxx
index 71c8ba07e3..38f5c1272f 100644
--- a/sw/source/core/access/accdoc.hxx
+++ b/sw/source/core/access/accdoc.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accdoc.hxx,v $
- * $Revision: 1.23 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accembedded.cxx b/sw/source/core/access/accembedded.cxx
index 857c80b9ea..b1fbd3a372 100644
--- a/sw/source/core/access/accembedded.cxx
+++ b/sw/source/core/access/accembedded.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accembedded.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accembedded.hxx b/sw/source/core/access/accembedded.hxx
index ffaf57ca8c..5d4e47692e 100644
--- a/sw/source/core/access/accembedded.hxx
+++ b/sw/source/core/access/accembedded.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accembedded.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accfootnote.cxx b/sw/source/core/access/accfootnote.cxx
index f3d9ca1db2..567426b2a5 100644
--- a/sw/source/core/access/accfootnote.cxx
+++ b/sw/source/core/access/accfootnote.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accfootnote.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accfootnote.hxx b/sw/source/core/access/accfootnote.hxx
index 4a18550342..26789409b6 100644
--- a/sw/source/core/access/accfootnote.hxx
+++ b/sw/source/core/access/accfootnote.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accfootnote.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accframe.cxx b/sw/source/core/access/accframe.cxx
index ce6c2ad0e1..e28032a047 100644
--- a/sw/source/core/access/accframe.cxx
+++ b/sw/source/core/access/accframe.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accframe.cxx,v $
- * $Revision: 1.26 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#include <hintids.hxx>
-#include <svx/brshitem.hxx>
+#include <editeng/brshitem.hxx>
#include <flyfrm.hxx>
#include <rootfrm.hxx>
#include <txtfrm.hxx>
@@ -438,7 +435,7 @@ const SwFrm *SwAccessibleFrame::GetParent( const SwFrmOrObj& rFrmOrObj,
const SwFlyFrm *pFly = static_cast< const SwFlyFrm *>( pFrm );
if( pFly->IsFlyInCntFrm() )
{
- // For FLY_IN_CNTNT the parent is the anchor
+ // For FLY_AS_CHAR the parent is the anchor
aParent = pFly->GetAnchorFrm();
ASSERT( aParent.IsAccessible( bInPagePreview ),
"parent is not accessible" );
@@ -471,9 +468,9 @@ const SwFrm *SwAccessibleFrame::GetParent( const SwFrmOrObj& rFrmOrObj,
{
const SwFrmFmt *pFrmFmt = pContact->GetFmt();
ASSERT( pFrmFmt, "frame format is missing" );
- if( pFrmFmt && FLY_IN_CNTNT == pFrmFmt->GetAnchor().GetAnchorId() )
+ if (pFrmFmt && FLY_AS_CHAR == pFrmFmt->GetAnchor().GetAnchorId())
{
- // For FLY_IN_CNTNT the parent is the anchor
+ // For FLY_AS_CHAR the parent is the anchor
aParent = pContact->GetAnchorFrm();
ASSERT( aParent.IsAccessible( bInPagePreview ),
"parent is not accessible" );
diff --git a/sw/source/core/access/accframe.hxx b/sw/source/core/access/accframe.hxx
index b0b916fe92..f1be372f4b 100644
--- a/sw/source/core/access/accframe.hxx
+++ b/sw/source/core/access/accframe.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accframe.hxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accframebase.cxx b/sw/source/core/access/accframebase.cxx
index 4da64c055a..b8f6d0def6 100644
--- a/sw/source/core/access/accframebase.cxx
+++ b/sw/source/core/access/accframebase.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accframebase.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accframebase.hxx b/sw/source/core/access/accframebase.hxx
index b475af5be9..2ff7c1f2d4 100644
--- a/sw/source/core/access/accframebase.hxx
+++ b/sw/source/core/access/accframebase.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accframebase.hxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accfrmobj.cxx b/sw/source/core/access/accfrmobj.cxx
index 3102cc958e..199067d424 100644
--- a/sw/source/core/access/accfrmobj.cxx
+++ b/sw/source/core/access/accfrmobj.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accfrmobj.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -59,8 +56,10 @@ sal_Bool SwFrmOrObj::IsBoundAsChar() const
else
{
const SwFrmFmt *pFrmFmt = pObj ? ::FindFrmFmt( pObj ) : 0;
- return pFrmFmt ? static_cast<sal_Bool>(FLY_IN_CNTNT == pFrmFmt->GetAnchor().GetAnchorId())
- : sal_False;
+ return (pFrmFmt)
+ ? static_cast<sal_Bool>(FLY_AS_CHAR ==
+ pFrmFmt->GetAnchor().GetAnchorId())
+ : sal_False;
}
}
diff --git a/sw/source/core/access/accfrmobj.hxx b/sw/source/core/access/accfrmobj.hxx
index 2e08d93372..85cf65e420 100644
--- a/sw/source/core/access/accfrmobj.hxx
+++ b/sw/source/core/access/accfrmobj.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accfrmobj.hxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accfrmobjmap.cxx b/sw/source/core/access/accfrmobjmap.cxx
index c82f5dfef3..389712e2c9 100644
--- a/sw/source/core/access/accfrmobjmap.cxx
+++ b/sw/source/core/access/accfrmobjmap.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accfrmobjmap.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accfrmobjmap.hxx b/sw/source/core/access/accfrmobjmap.hxx
index bfd83cb4ac..9126f519c9 100644
--- a/sw/source/core/access/accfrmobjmap.hxx
+++ b/sw/source/core/access/accfrmobjmap.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accfrmobjmap.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accfrmobjslist.cxx b/sw/source/core/access/accfrmobjslist.cxx
index 8b69b01375..2745b9dc98 100644
--- a/sw/source/core/access/accfrmobjslist.cxx
+++ b/sw/source/core/access/accfrmobjslist.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accfrmobjslist.cxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accfrmobjslist.hxx b/sw/source/core/access/accfrmobjslist.hxx
index 8debda313a..d71a9dc173 100644
--- a/sw/source/core/access/accfrmobjslist.hxx
+++ b/sw/source/core/access/accfrmobjslist.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accfrmobjslist.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accgraphic.cxx b/sw/source/core/access/accgraphic.cxx
index b9f23015bf..5c10611a1f 100644
--- a/sw/source/core/access/accgraphic.cxx
+++ b/sw/source/core/access/accgraphic.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accgraphic.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accgraphic.hxx b/sw/source/core/access/accgraphic.hxx
index 8e5a3157a6..03118e8add 100644
--- a/sw/source/core/access/accgraphic.hxx
+++ b/sw/source/core/access/accgraphic.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accgraphic.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accheaderfooter.cxx b/sw/source/core/access/accheaderfooter.cxx
index a4ebb472c5..fedc0796a9 100644
--- a/sw/source/core/access/accheaderfooter.cxx
+++ b/sw/source/core/access/accheaderfooter.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accheaderfooter.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accheaderfooter.hxx b/sw/source/core/access/accheaderfooter.hxx
index 938bf392af..1b3b4a6c0f 100644
--- a/sw/source/core/access/accheaderfooter.hxx
+++ b/sw/source/core/access/accheaderfooter.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accheaderfooter.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acchyperlink.cxx b/sw/source/core/access/acchyperlink.cxx
index 901ea100e7..fd831d09a0 100644
--- a/sw/source/core/access/acchyperlink.cxx
+++ b/sw/source/core/access/acchyperlink.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acchyperlink.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acchyperlink.hxx b/sw/source/core/access/acchyperlink.hxx
index 561c54a42d..d4d831a827 100644
--- a/sw/source/core/access/acchyperlink.hxx
+++ b/sw/source/core/access/acchyperlink.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acchyperlink.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acchypertextdata.cxx b/sw/source/core/access/acchypertextdata.cxx
index bfa04e3db2..be5596073c 100644
--- a/sw/source/core/access/acchypertextdata.cxx
+++ b/sw/source/core/access/acchypertextdata.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acchypertextdata.cxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acchypertextdata.hxx b/sw/source/core/access/acchypertextdata.hxx
index ee3d6db17c..2dd85dfc5a 100644
--- a/sw/source/core/access/acchypertextdata.hxx
+++ b/sw/source/core/access/acchypertextdata.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acchypertextdata.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx
index 4e3b9e7047..6892ab59c5 100644
--- a/sw/source/core/access/accmap.cxx
+++ b/sw/source/core/access/accmap.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accmap.cxx,v $
- * $Revision: 1.59 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -100,12 +97,12 @@ class SwAccessibleContextMap_Impl: public _SwAccessibleContextMap_Impl
{
public:
-#ifndef PRODUCT
+#ifdef DBG_UTIL
sal_Bool mbLocked;
#endif
SwAccessibleContextMap_Impl()
-#ifndef PRODUCT
+#ifdef DBG_UTIL
: mbLocked( sal_False )
#endif
{}
@@ -227,11 +224,11 @@ class SwAccessibleShapeMap_Impl: public _SwAccessibleShapeMap_Impl
public:
-#ifndef PRODUCT
+#ifdef DBG_UTIL
sal_Bool mbLocked;
#endif
SwAccessibleShapeMap_Impl( SwAccessibleMap *pMap )
-#ifndef PRODUCT
+#ifdef DBG_UTIL
: mbLocked( sal_False )
#endif
{
@@ -1009,7 +1006,7 @@ SwAccessibleMap::~SwAccessibleMap()
{
vos::OGuard aGuard( maMutex );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( !mpFrmMap || mpFrmMap->empty(),
"Frame map should be empty after disposing the root frame" );
if( mpFrmMap )
@@ -1062,7 +1059,7 @@ SwAccessibleMap::~SwAccessibleMap()
{
vos::OGuard aGuard( maEventMutex );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( !(mpEvents || mpEventMap), "pending events" );
if( mpEvents )
{
@@ -1101,12 +1098,12 @@ uno::Reference< XAccessible > SwAccessibleMap::_GetDocumentView(
if( !mpFrmMap )
{
mpFrmMap = new SwAccessibleContextMap_Impl;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
mpFrmMap->mbLocked = sal_False;
#endif
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( !mpFrmMap->mbLocked, "Map is locked" );
mpFrmMap->mbLocked = sal_True;
#endif
@@ -1138,7 +1135,7 @@ uno::Reference< XAccessible > SwAccessibleMap::_GetDocumentView(
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
mpFrmMap->mbLocked = sal_False;
#endif
}
diff --git a/sw/source/core/access/accnotextframe.cxx b/sw/source/core/access/accnotextframe.cxx
index 4bb7c73362..40e9652f1e 100644
--- a/sw/source/core/access/accnotextframe.cxx
+++ b/sw/source/core/access/accnotextframe.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accnotextframe.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accnotextframe.hxx b/sw/source/core/access/accnotextframe.hxx
index 203f135588..dd312f3c67 100644
--- a/sw/source/core/access/accnotextframe.hxx
+++ b/sw/source/core/access/accnotextframe.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accnotextframe.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accpage.cxx b/sw/source/core/access/accpage.cxx
index 7bc480f511..e5b66300d5 100644
--- a/sw/source/core/access/accpage.cxx
+++ b/sw/source/core/access/accpage.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accpage.cxx,v $
- * $Revision: 1.15 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -129,8 +126,9 @@ void SwAccessiblePage::_InvalidateFocus()
}
SwAccessiblePage::SwAccessiblePage( SwAccessibleMap* pInitMap,
- const SwFrm* pFrame ) :
- SwAccessibleContext( pInitMap, AccessibleRole::PANEL, pFrame )
+ const SwFrm* pFrame )
+ : SwAccessibleContext( pInitMap, AccessibleRole::PANEL, pFrame )
+ , bIsSelected( sal_False )
{
DBG_ASSERT( pFrame != NULL, "need frame" );
DBG_ASSERT( pInitMap != NULL, "need map" );
diff --git a/sw/source/core/access/accpage.hxx b/sw/source/core/access/accpage.hxx
index 149afde466..dc364f79c8 100644
--- a/sw/source/core/access/accpage.hxx
+++ b/sw/source/core/access/accpage.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accpage.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accpara.cxx b/sw/source/core/access/accpara.cxx
index a48e36d134..9834b7a6d1 100644
--- a/sw/source/core/access/accpara.cxx
+++ b/sw/source/core/access/accpara.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accpara.cxx,v $
- * $Revision: 1.78 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -30,10 +27,12 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+
#include <txtfrm.hxx>
#include <ndtxt.hxx>
#include <pam.hxx>
-#include <unoobj.hxx>
+#include <unotextrange.hxx>
+#include <unocrsrhelper.hxx>
#include <crstate.hxx>
#include <accmap.hxx>
#include "fesh.hxx"
@@ -63,7 +62,6 @@
#include <unotools/charclass.hxx> // for GetWordBoundary
// for get/setCharacterAttribute(...)
#include "unocrsr.hxx"
-#include "unoobj.hxx"
#include "unoport.hxx"
#include "doc.hxx"
#include "crsskip.hxx"
@@ -85,7 +83,7 @@
#include <com/sun/star/text/WritingMode2.hpp>
// <--
// --> OD 2007-01-17 #i71385#
-#include <svx/brshitem.hxx>
+#include <editeng/brshitem.hxx>
#include <viewimp.hxx>
// <--
// --> OD 2007-11-12 #i82637#
@@ -1532,7 +1530,7 @@ void SwAccessibleParagraph::_getRunAttributesImpl(
SfxItemSet aCharAttrsAtPaM( pPaM->GetDoc()->GetAttrPool(),
RES_CHRATR_BEGIN, RES_CHRATR_END -1,
0 );
- SwXTextCursor::GetCrsrAttr( *pPaM, aCharAttrsAtPaM, TRUE, TRUE );
+ SwUnoCursorHelper::GetCrsrAttr(*pPaM, aCharAttrsAtPaM, TRUE, TRUE);
aSet.Put( aCharAttrsAtPaM );
}
// <--
@@ -2104,8 +2102,10 @@ sal_Bool SwAccessibleParagraph::replaceText(
aEndPos.nContent = nEnd;
// now create XTextRange as helper and set string
- SwXTextRange::CreateTextRangeFromPosition(
- pNode->GetDoc(), aStartPos, &aEndPos)->setString(sReplacement);
+ const uno::Reference<text::XTextRange> xRange(
+ SwXTextRange::CreateXTextRange(
+ *pNode->GetDoc(), aStartPos, &aEndPos));
+ xRange->setString(sReplacement);
// delete portion data
ClearPortionData();
diff --git a/sw/source/core/access/accpara.hxx b/sw/source/core/access/accpara.hxx
index 057bebe337..ef87275fe9 100644
--- a/sw/source/core/access/accpara.hxx
+++ b/sw/source/core/access/accpara.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accpara.hxx,v $
- * $Revision: 1.41 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accportions.cxx b/sw/source/core/access/accportions.cxx
index 48f4b23136..0586210675 100644
--- a/sw/source/core/access/accportions.cxx
+++ b/sw/source/core/access/accportions.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accportions.cxx,v $
- * $Revision: 1.35 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accportions.hxx b/sw/source/core/access/accportions.hxx
index ab866dbc37..f27d11617d 100644
--- a/sw/source/core/access/accportions.hxx
+++ b/sw/source/core/access/accportions.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accportions.hxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accpreview.cxx b/sw/source/core/access/accpreview.cxx
index 7389e99545..cc38f1a63c 100644
--- a/sw/source/core/access/accpreview.cxx
+++ b/sw/source/core/access/accpreview.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accpreview.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accpreview.hxx b/sw/source/core/access/accpreview.hxx
index 9ee980e72a..d1a2bfd914 100644
--- a/sw/source/core/access/accpreview.hxx
+++ b/sw/source/core/access/accpreview.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accpreview.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accselectionhelper.cxx b/sw/source/core/access/accselectionhelper.cxx
index af05960348..bb0bc084f9 100644
--- a/sw/source/core/access/accselectionhelper.cxx
+++ b/sw/source/core/access/accselectionhelper.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accselectionhelper.cxx,v $
- * $Revision: 1.14 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/accselectionhelper.hxx b/sw/source/core/access/accselectionhelper.hxx
index 405db4f54c..cf1dcd68e2 100644
--- a/sw/source/core/access/accselectionhelper.hxx
+++ b/sw/source/core/access/accselectionhelper.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: accselectionhelper.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acctable.cxx b/sw/source/core/access/acctable.cxx
index 828dc2a500..e3908d6741 100644
--- a/sw/source/core/access/acctable.cxx
+++ b/sw/source/core/access/acctable.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acctable.cxx,v $
- * $Revision: 1.33 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acctable.hxx b/sw/source/core/access/acctable.hxx
index b04f3edaec..93c0725ae1 100644
--- a/sw/source/core/access/acctable.hxx
+++ b/sw/source/core/access/acctable.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acctable.hxx,v $
- * $Revision: 1.18 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acctextframe.cxx b/sw/source/core/access/acctextframe.cxx
index d91a9ef514..65aa72151c 100644
--- a/sw/source/core/access/acctextframe.cxx
+++ b/sw/source/core/access/acctextframe.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acctextframe.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/acctextframe.hxx b/sw/source/core/access/acctextframe.hxx
index 27c84b3fdb..de355feeeb 100644
--- a/sw/source/core/access/acctextframe.hxx
+++ b/sw/source/core/access/acctextframe.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acctextframe.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/makefile.mk b/sw/source/core/access/makefile.mk
index 402933f129..20ffdad321 100644
--- a/sw/source/core/access/makefile.mk
+++ b/sw/source/core/access/makefile.mk
@@ -1,15 +1,11 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2008 by Sun Microsystems, Inc.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.15 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/textmarkuphelper.cxx b/sw/source/core/access/textmarkuphelper.cxx
index be68370f7d..da1d334975 100644
--- a/sw/source/core/access/textmarkuphelper.cxx
+++ b/sw/source/core/access/textmarkuphelper.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: textmarkuphelper.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/access/textmarkuphelper.hxx b/sw/source/core/access/textmarkuphelper.hxx
index 6dda5c74f5..8456a5828d 100644
--- a/sw/source/core/access/textmarkuphelper.hxx
+++ b/sw/source/core/access/textmarkuphelper.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: textmarkuphelper.hxx,v $
- * $Revision: 1.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/attr/calbck.cxx b/sw/source/core/attr/calbck.cxx
index 344f11cbc2..34788c2663 100644
--- a/sw/source/core/attr/calbck.cxx
+++ b/sw/source/core/attr/calbck.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: calbck.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,7 +35,7 @@
#include <swcache.hxx>
#include <swfntcch.hxx>
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#include <unotextmarkup.hxx>
#endif
@@ -211,7 +208,7 @@ void SwModify::Modify( SfxPoolItem* pOldValue, SfxPoolItem* pNewValue )
LockModify();
-#ifdef PRODUCT
+#ifndef DBG_UTIL
bInModify = TRUE;
#else
if( !pOldValue )
@@ -287,7 +284,7 @@ void SwModify::Add(SwClient *pDepend)
// nur wenn das hier noch nicht eingetragen ist einfuegen
if(pDepend->pRegisteredIn != this )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
SwClientIter* pTmp = pClientIters;
while( pTmp )
{
@@ -463,7 +460,7 @@ BOOL SwDepend::GetInfo( SfxPoolItem& rInfo ) const
/********************************************************************/
-SwClientIter::SwClientIter( SwModify& rModify )
+SwClientIter::SwClientIter( SwModify const& rModify )
: rRoot( rModify )
{
// hinten einketten!
diff --git a/sw/source/core/attr/cellatr.cxx b/sw/source/core/attr/cellatr.cxx
index 9f548bfae7..7285d1520d 100644
--- a/sw/source/core/attr/cellatr.cxx
+++ b/sw/source/core/attr/cellatr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: cellatr.cxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/attr/fmtfollowtextflow.cxx b/sw/source/core/attr/fmtfollowtextflow.cxx
index 788e4960fd..0eb131e6b4 100644
--- a/sw/source/core/attr/fmtfollowtextflow.cxx
+++ b/sw/source/core/attr/fmtfollowtextflow.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fmtfollowtextflow.cxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/attr/fmtwrapinfluenceonobjpos.cxx b/sw/source/core/attr/fmtwrapinfluenceonobjpos.cxx
index da3f7b25fc..f7383f1758 100644
--- a/sw/source/core/attr/fmtwrapinfluenceonobjpos.cxx
+++ b/sw/source/core/attr/fmtwrapinfluenceonobjpos.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fmtwrapinfluenceonobjpos.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/attr/format.cxx b/sw/source/core/attr/format.cxx
index c9d6abadae..dca6f4928b 100644
--- a/sw/source/core/attr/format.cxx
+++ b/sw/source/core/attr/format.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: format.cxx,v $
- * $Revision: 1.17.146.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/attr/hints.cxx b/sw/source/core/attr/hints.cxx
index a1725667fe..ac452a0f5c 100644
--- a/sw/source/core/attr/hints.cxx
+++ b/sw/source/core/attr/hints.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: hints.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,7 +32,7 @@
#ifndef _COM_SUN_STAR_I18N_SCRIPTTYPE_HDL_
#include <com/sun/star/i18n/ScriptType.hdl>
#endif
-#include <svx/scripttypeitem.hxx>
+#include <editeng/scripttypeitem.hxx>
#include <hintids.hxx>
#include <swtypes.hxx>
#include <ndtxt.hxx>
@@ -47,12 +44,6 @@ SwFmtChg::SwFmtChg( SwFmt *pFmt )
{}
-SwInsChr::SwInsChr( xub_StrLen nP )
- : SwMsgPoolItem( RES_INS_CHR ),
- nPos( nP )
-{}
-
-
SwInsTxt::SwInsTxt( xub_StrLen nP, xub_StrLen nL )
: SwMsgPoolItem( RES_INS_TXT ),
@@ -147,7 +138,7 @@ SwAttrSetChg::~SwAttrSetChg()
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
void SwAttrSetChg::ClearItem( USHORT nWhch )
{
@@ -183,7 +174,7 @@ SfxPoolItem* SwMsgPoolItem::Clone( SfxItemPool* ) const
* Ist keines vorhanden, returnt ein 0-Pointer !!!
* Used to be inlined (hintids.hxx) in PRODUCT.
******************************************************************************/
-#ifdef PRODUCT
+#ifndef DBG_UTIL
const SfxPoolItem* GetDfltAttr( USHORT nWhich )
{
return aAttrTab[ nWhich - POOLATTR_BEGIN ];
@@ -227,12 +218,6 @@ SwVirtPageNumInfo::SwVirtPageNumInfo( const SwPageFrm *pPg ) :
// aList.Insert(rNd.GetIndex(), &rNd);
//}
-SwNRuleLowerLevel::SwNRuleLowerLevel( const String& rRuleName, BYTE nSrchLvl )
- : SwMsgPoolItem( RES_GETLOWERNUMLEVEL ), rName( rRuleName ),
- nLvl(nSrchLvl)
-{
-}
-
SwFindNearestNode::SwFindNearestNode( const SwNode& rNd )
: SwMsgPoolItem( RES_FINDNEARESTNODE ), pNd( &rNd ), pFnd( 0 )
diff --git a/sw/source/core/attr/makefile.mk b/sw/source/core/attr/makefile.mk
index b260e6a123..a3827d4776 100644
--- a/sw/source/core/attr/makefile.mk
+++ b/sw/source/core/attr/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.6 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/attr/swatrset.cxx b/sw/source/core/attr/swatrset.cxx
index 2388a1ae09..e21ead3d00 100644
--- a/sw/source/core/attr/swatrset.cxx
+++ b/sw/source/core/attr/swatrset.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swatrset.cxx,v $
- * $Revision: 1.16.140.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,11 +30,11 @@
#include <hintids.hxx>
-#include <svtools/whiter.hxx>
-#include <svx/colritem.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/bolnitem.hxx>
-#include <svx/boxitem.hxx>
+#include <svl/whiter.hxx>
+#include <editeng/colritem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/bolnitem.hxx>
+#include <editeng/boxitem.hxx>
#include <svx/xtable.hxx>
#include <fmtpdsc.hxx>
#include <pagedesc.hxx>
@@ -387,7 +384,7 @@ void SwAttrSet::CopyToModify( SwModify& rMod ) const
// <--
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
ASSERT( !this, "weder Format noch ContentNode - keine Attribute kopiert");
#endif
diff --git a/sw/source/core/bastyp/SwSmartTagMgr.cxx b/sw/source/core/bastyp/SwSmartTagMgr.cxx
index b4f831c0e5..695db08c75 100644
--- a/sw/source/core/bastyp/SwSmartTagMgr.cxx
+++ b/sw/source/core/bastyp/SwSmartTagMgr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwSmartTagMgr.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/bastyp/bparr.cxx b/sw/source/core/bastyp/bparr.cxx
index c97265254c..c3a4b2ff90 100644
--- a/sw/source/core/bastyp/bparr.cxx
+++ b/sw/source/core/bastyp/bparr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: bparr.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -41,7 +38,7 @@
// immer ~ 20 * MAXENTRY == 20000 Eintraege
const USHORT nBlockGrowSize = 20;
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#define CHECKIDX( p, n, i, c )
diff --git a/sw/source/core/bastyp/breakit.cxx b/sw/source/core/bastyp/breakit.cxx
index 9541707ea9..acedf9216f 100644
--- a/sw/source/core/bastyp/breakit.cxx
+++ b/sw/source/core/bastyp/breakit.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: breakit.cxx,v $
- * $Revision: 1.16.112.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -40,9 +37,9 @@
#include <unotools/localedatawrapper.hxx>
#ifndef _SVX_LINGU_HXX
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#endif
-#include <svx/scripttypeitem.hxx>
+#include <editeng/scripttypeitem.hxx>
#include "swtypes.hxx"
using namespace com::sun::star;
diff --git a/sw/source/core/bastyp/calc.cxx b/sw/source/core/bastyp/calc.cxx
index bb81f9116c..728b4c63d3 100644
--- a/sw/source/core/bastyp/calc.cxx
+++ b/sw/source/core/bastyp/calc.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: calc.cxx,v $
- * $Revision: 1.44.174.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -42,16 +39,16 @@
#include <cfloat>
#include <hintids.hxx>
#include <rtl/math.hxx>
-#include <svx/langitem.hxx>
+#include <editeng/langitem.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <comphelper/processfactory.hxx>
#include <unotools/localedatawrapper.hxx>
#include <unotools/charclass.hxx>
-#include <svx/unolingu.hxx>
-#include <svx/scripttypeitem.hxx>
-#include <svtools/useroptions.hxx>
+#include <editeng/unolingu.hxx>
+#include <editeng/scripttypeitem.hxx>
+#include <unotools/useroptions.hxx>
#include <tools/datetime.hxx>
-#include <svtools/zforlist.hxx>
+#include <svl/zforlist.hxx>
#include <swmodule.hxx>
#include <doc.hxx>
#include <viewsh.hxx>
@@ -1142,7 +1139,7 @@ else
case CALC_DATE : eCurrListOper = CALC_MONTH;
break;
default :
- break;
+ break;
}
return eCurrOper;
}
diff --git a/sw/source/core/bastyp/checkit.cxx b/sw/source/core/bastyp/checkit.cxx
index 9f272d54db..be8219e720 100644
--- a/sw/source/core/bastyp/checkit.cxx
+++ b/sw/source/core/bastyp/checkit.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: checkit.cxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/bastyp/index.cxx b/sw/source/core/bastyp/index.cxx
index 84302c65c4..a42023beff 100644
--- a/sw/source/core/bastyp/index.cxx
+++ b/sw/source/core/bastyp/index.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: index.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -39,7 +36,7 @@
#include "index.hxx"
#include "error.h" // fuers ASSERT
-#ifndef PRODUCT
+#ifdef DBG_UTIL
int SwIndex::nSerial = 0;
#endif
@@ -103,7 +100,7 @@ SwIndex::SwIndex( SwIndexReg* pArr, xub_StrLen nIdx )
else
ChgValue( *pArray->pFirst, nIdx );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
MySerial = ++nSerial; // nur in der nicht PRODUCT-Version
#endif
IDX_CHK_ARRAY
@@ -115,7 +112,7 @@ SwIndex::SwIndex( const SwIndex& rIdx, short nIdx )
{
ChgValue( rIdx, rIdx.nIndex + nIdx );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
MySerial = ++nSerial; // nur in der nicht PRODUCT-Version
#endif
IDX_CHK_ARRAY
@@ -126,7 +123,7 @@ SwIndex::SwIndex( const SwIndex& rIdx )
: nIndex( rIdx.nIndex ), pArray( rIdx.pArray ), pNext( 0 ), pPrev( 0 )
{
ChgValue( rIdx, rIdx.nIndex );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
MySerial = ++nSerial; // nur in der nicht PRODUCT-Version
#endif
IDX_CHK_ARRAY
@@ -371,7 +368,7 @@ void SwIndexReg::Update( SwIndex const & rIdx, const xub_StrLen nDiff,
ARR_CHK_ARRAY
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#ifndef CFRONT
/*************************************************************************
diff --git a/sw/source/core/bastyp/init.cxx b/sw/source/core/bastyp/init.cxx
index b78699fa6e..b5a2895fa4 100644
--- a/sw/source/core/bastyp/init.cxx
+++ b/sw/source/core/bastyp/init.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: init.cxx,v $
- * $Revision: 1.66.138.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,60 +30,60 @@
#include <hintids.hxx>
#include <tools/globname.hxx>
#include <vcl/mapmod.hxx>
-#include <svx/xmlcnitm.hxx>
-#include <svtools/macitem.hxx>
-#include <svx/pbinitem.hxx>
-#include <svx/keepitem.hxx>
-#include <svx/nlbkitem.hxx>
-#include <svx/hyznitem.hxx>
-#include <svx/protitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/prszitem.hxx>
-#include <svx/opaqitem.hxx>
-#include <svx/shaditem.hxx>
-#include <svx/prntitem.hxx>
-#include <svx/brkitem.hxx>
-#include <svx/tstpitem.hxx>
-#include <svx/langitem.hxx>
-#include <svx/wrlmitem.hxx>
-#include <svx/kernitem.hxx>
-#include <svx/escpitem.hxx>
-#include <svx/cscoitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/orphitem.hxx>
-#include <svx/widwitem.hxx>
-#include <svx/nhypitem.hxx>
-#include <svx/spltitem.hxx>
-#include <svx/lspcitem.hxx>
-#include <svx/blnkitem.hxx>
-#include <svx/akrnitem.hxx>
-#include <svx/emphitem.hxx>
-#include <svx/twolinesitem.hxx>
-#include <svx/scriptspaceitem.hxx>
-#include <svx/hngpnctitem.hxx>
-#include <svx/cmapitem.hxx>
-#include <svx/charscaleitem.hxx>
-#include <svx/charrotateitem.hxx>
-#include <svx/charreliefitem.hxx>
-#include <svx/frmdiritem.hxx>
+#include <editeng/xmlcnitm.hxx>
+#include <svl/macitem.hxx>
+#include <editeng/pbinitem.hxx>
+#include <editeng/keepitem.hxx>
+#include <editeng/nlbkitem.hxx>
+#include <editeng/hyznitem.hxx>
+#include <editeng/protitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/prszitem.hxx>
+#include <editeng/opaqitem.hxx>
+#include <editeng/shaditem.hxx>
+#include <editeng/prntitem.hxx>
+#include <editeng/brkitem.hxx>
+#include <editeng/tstpitem.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/wrlmitem.hxx>
+#include <editeng/kernitem.hxx>
+#include <editeng/escpitem.hxx>
+#include <editeng/cscoitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/orphitem.hxx>
+#include <editeng/widwitem.hxx>
+#include <editeng/nhypitem.hxx>
+#include <editeng/spltitem.hxx>
+#include <editeng/lspcitem.hxx>
+#include <editeng/blnkitem.hxx>
+#include <editeng/akrnitem.hxx>
+#include <editeng/emphitem.hxx>
+#include <editeng/twolinesitem.hxx>
+#include <editeng/scriptspaceitem.hxx>
+#include <editeng/hngpnctitem.hxx>
+#include <editeng/cmapitem.hxx>
+#include <editeng/charscaleitem.hxx>
+#include <editeng/charrotateitem.hxx>
+#include <editeng/charreliefitem.hxx>
+#include <editeng/frmdiritem.hxx>
#ifndef _SVX_DIALOGS_HRC
#include <svx/dialogs.hrc>
#endif
-#include <svx/swafopt.hxx>
-#include <svx/svxacorr.hxx>
+#include <editeng/swafopt.hxx>
+#include <editeng/svxacorr.hxx>
#include <unotools/charclass.hxx>
-#include <svx/unolingu.hxx>
-#include <svx/forbiddenruleitem.hxx>
-#include <svx/paravertalignitem.hxx>
-#include <svx/pgrditem.hxx>
-#include <svx/charhiddenitem.hxx>
+#include <editeng/unolingu.hxx>
+#include <editeng/forbiddenruleitem.hxx>
+#include <editeng/paravertalignitem.hxx>
+#include <editeng/pgrditem.hxx>
+#include <editeng/charhiddenitem.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <comphelper/processfactory.hxx>
#include <unotools/collatorwrapper.hxx>
-#include <svtools/syslocale.hxx>
+#include <unotools/syslocale.hxx>
#include <com/sun/star/i18n/CollatorOptions.hpp>
#include <unotools/transliterationwrapper.hxx>
-#include <svx/acorrcfg.hxx>
+#include <editeng/acorrcfg.hxx>
#include <vcl/svapp.hxx>
#include <fmtanchr.hxx>
#include <fmtornt.hxx>
@@ -780,7 +777,7 @@ void _FinitCore()
delete SwEditShell::pAutoFmtFlags;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
//Defaultattribut freigeben lassen um asserts zu vermeiden.
if ( aAttrTab[0]->GetRefCount() )
SfxItemPool::ReleaseDefaults( aAttrTab, POOLATTR_END-POOLATTR_BEGIN, FALSE);
diff --git a/sw/source/core/bastyp/makefile.mk b/sw/source/core/bastyp/makefile.mk
index ab4fcbd2f0..8333dabd5f 100644
--- a/sw/source/core/bastyp/makefile.mk
+++ b/sw/source/core/bastyp/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.9 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/bastyp/ring.cxx b/sw/source/core/bastyp/ring.cxx
index 958fb6c034..bb19ef6be2 100644
--- a/sw/source/core/bastyp/ring.cxx
+++ b/sw/source/core/bastyp/ring.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ring.cxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/bastyp/swcache.cxx b/sw/source/core/bastyp/swcache.cxx
index 3d24c327f2..d6a909da9e 100644
--- a/sw/source/core/bastyp/swcache.cxx
+++ b/sw/source/core/bastyp/swcache.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swcache.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,7 +35,7 @@
SV_IMPL_PTRARR(SwCacheObjArr,SwCacheObj*);
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#define INCREMENT( nVar )
#else
#define INCREMENT( nVar ) ++nVar
@@ -53,7 +50,7 @@ SV_IMPL_PTRARR(SwCacheObjArr,SwCacheObj*);
|*
|*************************************************************************/
-#ifndef PRODUCT
+#ifdef DBG_UTIL
void SwCache::Check()
{
@@ -90,7 +87,7 @@ void SwCache::Check()
}
#endif
-#if !defined(PRODUCT) && defined(MADEBUG)
+#if defined(DBG_UTIL) && defined(MADEBUG)
#define CHECK Check();
#else
#define CHECK
@@ -107,7 +104,7 @@ void SwCache::Check()
SwCache::SwCache( const USHORT nInitSize, const USHORT nGrowSize
-#ifndef PRODUCT
+#ifdef DBG_UTIL
, const ByteString &rNm
#endif
) :
@@ -118,7 +115,7 @@ SwCache::SwCache( const USHORT nInitSize, const USHORT nGrowSize
pLast( 0 ),
nMax( nInitSize ),
nCurMax( nInitSize )
-#ifndef PRODUCT
+#ifdef DBG_UTIL
, aName( rNm ),
nAppend( 0 ),
nInsertFree( 0 ),
@@ -137,7 +134,7 @@ SwCache::SwCache( const USHORT nInitSize, const USHORT nGrowSize
{
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
SwCache::~SwCache()
@@ -197,7 +194,7 @@ void SwCache::Flush( const BYTE )
SwCacheObj *pTmp;
while ( pObj )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if ( pObj->IsLocked() )
{
ASSERT( TRUE, "Flushing locked objects." );
@@ -322,7 +319,7 @@ SwCacheObj *SwCache::Get( const void *pOwner, const USHORT nIndex,
ToTop( pRet );
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if ( pRet )
++nGetSuccess;
else
@@ -346,7 +343,7 @@ SwCacheObj *SwCache::Get( const void *pOwner, const BOOL bToTop )
if ( bToTop && pRet && pRet != pFirst )
ToTop( pRet );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if ( pRet )
++nGetSuccess;
else
@@ -588,7 +585,7 @@ SwCacheObj::~SwCacheObj()
|*
|*************************************************************************/
-#ifndef PRODUCT
+#ifdef DBG_UTIL
diff --git a/sw/source/core/bastyp/swrect.cxx b/sw/source/core/bastyp/swrect.cxx
index bbf03673f0..4593888ff4 100644
--- a/sw/source/core/bastyp/swrect.cxx
+++ b/sw/source/core/bastyp/swrect.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swrect.cxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,7 +29,7 @@
#include "precompiled_sw.hxx"
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#ifndef _STREAM_HXX //autogen
#include <tools/stream.hxx>
#endif
@@ -321,7 +318,7 @@ void SwRect::SetUpperRightCorner( const Point& rNew )
void SwRect::SetLowerLeftCorner( const Point& rNew )
{ m_Point = Point(rNew.nA, rNew.nB - m_Size.getHeight()); }
-#ifndef PRODUCT
+#ifdef DBG_UTIL
/*************************************************************************
* operator<<( ostream&, SwRect&)
*************************************************************************/
diff --git a/sw/source/core/bastyp/swregion.cxx b/sw/source/core/bastyp/swregion.cxx
index d2926f6d7e..a28e60f75f 100644
--- a/sw/source/core/bastyp/swregion.cxx
+++ b/sw/source/core/bastyp/swregion.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swregion.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/bastyp/swtypes.cxx b/sw/source/core/bastyp/swtypes.cxx
index d7049832bc..97af6c4351 100644
--- a/sw/source/core/bastyp/swtypes.cxx
+++ b/sw/source/core/bastyp/swtypes.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swtypes.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -36,7 +33,7 @@
#include <vcl/svapp.hxx>
#include <vcl/window.hxx>
#include <vcl/graph.hxx>
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <pagefrm.hxx>
#include <swatrset.hxx>
#include <frmfmt.hxx>
diff --git a/sw/source/core/bastyp/tabcol.cxx b/sw/source/core/bastyp/tabcol.cxx
index aa9da2df61..48ebfb1c96 100644
--- a/sw/source/core/bastyp/tabcol.cxx
+++ b/sw/source/core/bastyp/tabcol.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tabcol.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/BlockCursor.cxx b/sw/source/core/crsr/BlockCursor.cxx
index 7d41e1359e..bbf8544a2f 100644
--- a/sw/source/core/crsr/BlockCursor.cxx
+++ b/sw/source/core/crsr/BlockCursor.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: BlockCursor.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/BlockCursor.hxx b/sw/source/core/crsr/BlockCursor.hxx
index 08e988927b..5d3fa06beb 100644
--- a/sw/source/core/crsr/BlockCursor.hxx
+++ b/sw/source/core/crsr/BlockCursor.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: BlockCursor.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/IBlockCursor.hxx b/sw/source/core/crsr/IBlockCursor.hxx
index c17fc9a6ea..da565f8b20 100644
--- a/sw/source/core/crsr/IBlockCursor.hxx
+++ b/sw/source/core/crsr/IBlockCursor.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: IBlockCursor.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/bookmrk.cxx b/sw/source/core/crsr/bookmrk.cxx
index 8918058c31..5268bed38b 100644
--- a/sw/source/core/crsr/bookmrk.cxx
+++ b/sw/source/core/crsr/bookmrk.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: bookmrk.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -39,16 +36,17 @@
#include <ndtxt.hxx>
#include <pam.hxx>
#include <swserv.hxx>
-#include <svx/linkmgr.hxx>
+#include <sfx2/linkmgr.hxx>
#include <swtypes.hxx>
#include <undobj.hxx>
-#include <unoobj.hxx>
+#include <unobookmark.hxx>
#include <rtl/random.h>
SV_IMPL_REF( SwServerObject )
using namespace ::sw::mark;
+using namespace ::com::sun::star;
namespace
{
@@ -147,6 +145,16 @@ namespace sw { namespace mark
return aResult.append(nCount++).append(sUniquePostfix).makeStringAndClear();
}
+ // SwClient
+ void MarkBase::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
+ {
+ SwModify::Modify(pOld, pNew);
+ if (pOld && (RES_REMOVE_UNO_OBJECT == pOld->Which()))
+ { // invalidate cached uno object
+ SetXBookmark(uno::Reference<text::XTextContent>(0));
+ }
+ }
+
NavigatorReminder::NavigatorReminder(const SwPaM& rPaM)
: MarkBase(rPaM, our_sNamePrefix)
@@ -240,24 +248,13 @@ namespace sw { namespace mark
return !pDoc->IsInHeaderFooter( SwNodeIndex(GetMarkPos().nNode) );
}
- ::com::sun::star::uno::Reference< ::com::sun::star::rdf::XMetadatable >
- Bookmark::MakeUnoObject()
+ uno::Reference< rdf::XMetadatable > Bookmark::MakeUnoObject()
{
- // re-use existing SwXBookmark
- SwClientIter iter( *this );
- SwClient * pClient( iter.First( TYPE( SwXBookmark ) ) );
- while (pClient) {
- SwXBookmark *const pBookmark( dynamic_cast<SwXBookmark*>(pClient) );
- if (pBookmark && pBookmark->GetCoreObject() == this) {
- return pBookmark;
- }
- pClient = iter.Next();
- }
-
- // create new SwXBookmark
SwDoc *const pDoc( GetMarkPos().GetDoc() );
OSL_ENSURE(pDoc, "Bookmark::MakeUnoObject: no doc?");
- return new SwXBookmark(this, pDoc);
+ const uno::Reference< rdf::XMetadatable> xMeta(
+ SwXBookmark::CreateXBookmark(*pDoc, *this), uno::UNO_QUERY);
+ return xMeta;
}
diff --git a/sw/source/core/crsr/callnk.cxx b/sw/source/core/crsr/callnk.cxx
index 8c26aeb6eb..9e37e408e3 100644
--- a/sw/source/core/crsr/callnk.cxx
+++ b/sw/source/core/crsr/callnk.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: callnk.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/callnk.hxx b/sw/source/core/crsr/callnk.hxx
index 32bc41dd99..7820252428 100644
--- a/sw/source/core/crsr/callnk.hxx
+++ b/sw/source/core/crsr/callnk.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: callnk.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/crbm.cxx b/sw/source/core/crsr/crbm.cxx
index 0d6a63e251..888a139ada 100644
--- a/sw/source/core/crsr/crbm.cxx
+++ b/sw/source/core/crsr/crbm.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: crbm.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/crossrefbookmark.cxx b/sw/source/core/crsr/crossrefbookmark.cxx
index 8ae112a783..64c37c9746 100644
--- a/sw/source/core/crsr/crossrefbookmark.cxx
+++ b/sw/source/core/crsr/crossrefbookmark.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: crossrefbookmark.cxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 5c6fc9a21c..c499929cc4 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: crsrsh.cxx,v $
- * $Revision: 1.76 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#include <com/sun/star/text/XTextRange.hpp>
#include <hintids.hxx>
#include <svx/svdmodel.hxx>
-#include <svx/frmdiritem.hxx>
+#include <editeng/frmdiritem.hxx>
#include <SwSmartTagMgr.hxx>
#include <doc.hxx>
@@ -66,7 +63,7 @@
#include <mdiexp.hxx> // ...Percent()
#include <fmteiro.hxx>
#include <wrong.hxx> // SMARTTAGS
-#include <unoobj.hxx> // SMARTTAGS
+#include <unotextrange.hxx> // SMARTTAGS
#include <vcl/svapp.hxx>
#include <numrule.hxx>
#include <IGrammarContact.hxx>
@@ -332,7 +329,7 @@ if( GetWin() )
}
-#if !defined( PRODUCT )
+#if defined(DBG_UTIL)
void SwCrsrShell::SttCrsrMove()
{
@@ -1459,7 +1456,7 @@ void SwCrsrShell::UpdateCrsr( USHORT eFlags, BOOL bIdleEnd )
Point aCentrPt( aCharRect.Center() );
aTmpState.bSetInReadOnly = IsReadOnlyAvailable();
pTblFrm->GetCrsrOfst( pTblCrsr->GetPoint(), aCentrPt, &aTmpState );
-#ifdef PRODUCT
+#ifndef DBG_UTIL
pTblFrm->GetCharRect( aCharRect, *pTblCrsr->GetPoint() );
#else
if ( !pTblFrm->GetCharRect( aCharRect, *pTblCrsr->GetPoint() ) )
@@ -2014,7 +2011,7 @@ void SwCrsrShell::Combine()
SwCrsrSaveState aSaveState( *pCurCrsr );
if( pCrsrStk->HasMark() ) // nur wenn GetMark gesetzt wurde
{
-#ifdef PRODUCT
+#ifndef DBG_UTIL
CheckNodesRange( pCrsrStk->GetMark()->nNode, pCurCrsr->GetPoint()->nNode, TRUE );
#else
if( !CheckNodesRange( pCrsrStk->GetMark()->nNode, pCurCrsr->GetPoint()->nNode, TRUE ))
@@ -3372,8 +3369,8 @@ void lcl_FillTextRange( uno::Reference<text::XTextRange>& rRange,
SwPosition aEndPos( aStartPos );
aEndPos.nContent = nBegin + nLen;
- uno::Reference<text::XTextRange> xRange =
- SwXTextRange::CreateTextRangeFromPosition( rNode.GetDoc(), aStartPos, &aEndPos);
+ const uno::Reference<text::XTextRange> xRange =
+ SwXTextRange::CreateXTextRange(*rNode.GetDoc(), aStartPos, &aEndPos);
rRange = xRange;
}
diff --git a/sw/source/core/crsr/crstrvl.cxx b/sw/source/core/crsr/crstrvl.cxx
index d788c1e66e..d0d1bda135 100644
--- a/sw/source/core/crsr/crstrvl.cxx
+++ b/sw/source/core/crsr/crstrvl.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: crstrvl.cxx,v $
- * $Revision: 1.28 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,10 +30,10 @@
#include <hintids.hxx>
-#include <svtools/itemiter.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/adjitem.hxx>
-#include <svx/brkitem.hxx>
+#include <svl/itemiter.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/adjitem.hxx>
+#include <editeng/brkitem.hxx>
#ifndef _SVX_SVDOBJ_HXX
#include <svx/svdobj.hxx>
#endif
@@ -1337,7 +1334,7 @@ BOOL SwCrsrShell::GetContentAtPos( const Point& rPt,
if( !bRet && (
SwContentAtPos::SW_TABLEBOXFML & rCntntAtPos.eCntntAtPos
-#ifndef PRODUCT
+#ifdef DBG_UTIL
|| SwContentAtPos::SW_TABLEBOXVALUE & rCntntAtPos.eCntntAtPos
#endif
))
@@ -1349,7 +1346,7 @@ BOOL SwCrsrShell::GetContentAtPos( const Point& rPt,
if( pSttNd && 0 != ( pTblNd = pTxtNd->FindTableNode()) &&
0 != ( pBox = pTblNd->GetTable().GetTblBox(
pSttNd->GetIndex() )) &&
-#ifndef PRODUCT
+#ifdef DBG_UTIL
( SFX_ITEM_SET == pBox->GetFrmFmt()->GetItemState(
RES_BOXATR_FORMULA, FALSE, &pItem ) ||
SFX_ITEM_SET == pBox->GetFrmFmt()->GetItemState(
@@ -1383,7 +1380,7 @@ BOOL SwCrsrShell::GetContentAtPos( const Point& rPt,
// erzeuge aus der internen (fuer CORE)
// die externe (fuer UI) Formel
rCntntAtPos.eCntntAtPos = SwContentAtPos::SW_TABLEBOXFML;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( RES_BOXATR_VALUE == pItem->Which() )
rCntntAtPos.eCntntAtPos = SwContentAtPos::SW_TABLEBOXVALUE;
else
@@ -1417,7 +1414,7 @@ BOOL SwCrsrShell::GetContentAtPos( const Point& rPt,
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( !bRet && SwContentAtPos::SW_CURR_ATTRS & rCntntAtPos.eCntntAtPos )
{
xub_StrLen n = aPos.nContent.GetIndex();
diff --git a/sw/source/core/crsr/crstrvl1.cxx b/sw/source/core/crsr/crstrvl1.cxx
index bd14e87a8a..b240921998 100644
--- a/sw/source/core/crsr/crstrvl1.cxx
+++ b/sw/source/core/crsr/crstrvl1.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: crstrvl1.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/findattr.cxx b/sw/source/core/crsr/findattr.cxx
index 61fefca669..3f394e1b68 100644
--- a/sw/source/core/crsr/findattr.cxx
+++ b/sw/source/core/crsr/findattr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: findattr.cxx,v $
- * $Revision: 1.20 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,11 +35,11 @@
#include <i18npool/mslangid.hxx>
#include <hintids.hxx>
#include <vcl/svapp.hxx>
-#include <svtools/itemiter.hxx>
-#include <svtools/whiter.hxx>
-#include <svx/brkitem.hxx>
-#include <svx/colritem.hxx>
-#include <svx/fontitem.hxx>
+#include <svl/itemiter.hxx>
+#include <svl/whiter.hxx>
+#include <editeng/brkitem.hxx>
+#include <editeng/colritem.hxx>
+#include <editeng/fontitem.hxx>
#include <fmtpdsc.hxx>
#include <txatbase.hxx>
#include <fchrfmt.hxx>
diff --git a/sw/source/core/crsr/findcoll.cxx b/sw/source/core/crsr/findcoll.cxx
index 60fc08bdcf..d56c887df0 100644
--- a/sw/source/core/crsr/findcoll.cxx
+++ b/sw/source/core/crsr/findcoll.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: findcoll.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/findfmt.cxx b/sw/source/core/crsr/findfmt.cxx
index 30794c5209..e93235b959 100644
--- a/sw/source/core/crsr/findfmt.cxx
+++ b/sw/source/core/crsr/findfmt.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: findfmt.cxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/findtxt.cxx b/sw/source/core/crsr/findtxt.cxx
index ab93dee334..7001dd5ca4 100644
--- a/sw/source/core/crsr/findtxt.cxx
+++ b/sw/source/core/crsr/findtxt.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: findtxt.cxx,v $
- * $Revision: 1.24 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,7 +34,7 @@
#define _SVSTDARR_USHORTS
#define _SVSTDARR_ULONGS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <vcl/svapp.hxx>
#include <txatritr.hxx>
#include <fldbas.hxx>
diff --git a/sw/source/core/crsr/makefile.mk b/sw/source/core/crsr/makefile.mk
index 57cb499dec..6d579171dc 100644
--- a/sw/source/core/crsr/makefile.mk
+++ b/sw/source/core/crsr/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.8 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/pam.cxx b/sw/source/core/crsr/pam.cxx
index d80f1a2465..87140be03f 100644
--- a/sw/source/core/crsr/pam.cxx
+++ b/sw/source/core/crsr/pam.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: pam.cxx,v $
- * $Revision: 1.23.12.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
-#include <svx/protitem.hxx>
+#include <editeng/protitem.hxx>
#include <cntfrm.hxx>
#include <pagefrm.hxx>
#include <doc.hxx>
@@ -550,7 +547,7 @@ void SwPaM::SetMark()
(*m_pMark) = (*m_pPoint);
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
void SwPaM::Exchange()
{
@@ -1218,12 +1215,12 @@ String SwPaM::GetTxt() const
return aResult;
}
-BOOL SwPaM::Overlap(const SwPaM & a, const SwPaM & b)
+BOOL SwPaM::Overlap(const SwPaM & a, const SwPaM & b)
{
return !(*b.End() <= *a.Start() || *a.End() <= *b.End());
}
BOOL SwPaM::LessThan(const SwPaM & a, const SwPaM & b)
{
- return (*a.Start() < *b.Start()) || (*a.Start() == *b.Start() && *a.End() < *b.End());
+ return (*a.Start() < *b.Start()) || (*a.Start() == *b.Start() && *a.End() < *b.End());
}
diff --git a/sw/source/core/crsr/paminit.cxx b/sw/source/core/crsr/paminit.cxx
index 050ff02936..34b0814d52 100644
--- a/sw/source/core/crsr/paminit.cxx
+++ b/sw/source/core/crsr/paminit.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: paminit.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/swcrsr.cxx b/sw/source/core/crsr/swcrsr.cxx
index 749046780b..0c782643f1 100644
--- a/sw/source/core/crsr/swcrsr.cxx
+++ b/sw/source/core/crsr/swcrsr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swcrsr.cxx,v $
- * $Revision: 1.59 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,13 +30,13 @@
#include <hintids.hxx>
-#include <svx/protitem.hxx>
+#include <editeng/protitem.hxx>
#include <com/sun/star/i18n/WordType.hdl>
#include <com/sun/star/i18n/CharType.hdl>
#include <unotools/charclass.hxx>
-#include <svtools/ctloptions.hxx>
+#include <svl/ctloptions.hxx>
#include <swmodule.hxx>
#include <fmtcntnt.hxx>
#include <swtblfmt.hxx>
diff --git a/sw/source/core/crsr/trvlcol.cxx b/sw/source/core/crsr/trvlcol.cxx
index e3784a3ef4..716de1368a 100644
--- a/sw/source/core/crsr/trvlcol.cxx
+++ b/sw/source/core/crsr/trvlcol.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: trvlcol.cxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/trvlfnfl.cxx b/sw/source/core/crsr/trvlfnfl.cxx
index 6d02926031..c75ea7b4fc 100644
--- a/sw/source/core/crsr/trvlfnfl.cxx
+++ b/sw/source/core/crsr/trvlfnfl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: trvlfnfl.cxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/trvlreg.cxx b/sw/source/core/crsr/trvlreg.cxx
index 3fc27beadc..f239ab2806 100644
--- a/sw/source/core/crsr/trvlreg.cxx
+++ b/sw/source/core/crsr/trvlreg.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: trvlreg.cxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/trvltbl.cxx b/sw/source/core/crsr/trvltbl.cxx
index 0f14a62bed..ba7ec10c1b 100644
--- a/sw/source/core/crsr/trvltbl.cxx
+++ b/sw/source/core/crsr/trvltbl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: trvltbl.cxx,v $
- * $Revision: 1.24 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
#include <vcl/svapp.hxx>
-#include <svx/protitem.hxx>
+#include <editeng/protitem.hxx>
#include <crsrsh.hxx>
#include <doc.hxx>
#include <cntfrm.hxx>
@@ -307,7 +304,7 @@ BOOL SwCrsrShell::SelTblBox()
const SwStartNode* pStartNode =
pCurCrsr->GetPoint()->nNode.GetNode().FindTableBoxStartNode();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// the old code checks whether we're in a table by asking the
// frame. This should yield the same result as searching for the
// table box start node, right?
diff --git a/sw/source/core/crsr/unocrsr.cxx b/sw/source/core/crsr/unocrsr.cxx
index 1b4a5dfd5c..6b958dc00a 100644
--- a/sw/source/core/crsr/unocrsr.cxx
+++ b/sw/source/core/crsr/unocrsr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unocrsr.cxx,v $
- * $Revision: 1.18 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx
index 8f31456292..2875018d4a 100644
--- a/sw/source/core/crsr/viscrs.cxx
+++ b/sw/source/core/crsr/viscrs.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: viscrs.cxx,v $
- * $Revision: 1.31 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#ifndef _SVSTDARR_HXX
#define _SVSTDARR_USHORTS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#endif
#include <vcl/dialog.hxx>
@@ -77,42 +74,42 @@ MapMode* SwSelPaintRects::pMapMode = 0;
#ifdef SHOW_BOOKMARKS
// #include <IMark.hxx>
-//
+//
// class SwBookmarkRects : public SwSelPaintRects
// {
// virtual void Paint( const Rectangle& rRect );
// virtual void FillRects();
-//
+//
// public:
// SwBookmarkRects( const SwCrsrShell& rSh ) : SwSelPaintRects( rSh ) {}
// };
-//
+//
// void SwBookmarkRects::Paint( const Rectangle& rRect )
// {
// Window* pWin = GetShell()->GetWin();
-//
+//
// RasterOp eOld( pWin->GetRasterOp() );
// BOOL bLCol = pWin->IsLineColor();
// Color aLCol( pWin->GetLineColor() );
// BOOL bFCol = pWin->IsFillColor();
// Color aFCol( pWin->GetFillColor() );
-//
+//
// pWin->SetRasterOp( ROP_XOR );
// Color aCol( RGB_COLORDATA( 0xF0, 0xC8, 0xF0 ) ^ COL_WHITE );
// pWin->SetFillColor( aCol );
// pWin->SetLineColor( aCol );
-//
+//
// pWin->DrawRect( rRect );
-//
+//
// if( bLCol ) pWin->SetLineColor( aLCol ); else pWin->SetLineColor();
// if( bFCol ) pWin->SetFillColor( aFCol ); else pWin->SetFillColor();
// pWin->SetRasterOp( eOld );
// }
-//
+//
// void SwBookmarkRects::FillRects()
// {
// SwRegionRects aReg( GetShell()->VisArea() );
-//
+//
// const SwBookmarks& rBkmkTbl = GetShell()->getIDocumentMarkAccess()->getBookmarks();
// SwShellCrsr* pCrsr = 0;
// for( USHORT n = 0; n < rBkmkTbl.Count(); ++n )
@@ -131,23 +128,23 @@ MapMode* SwSelPaintRects::pMapMode = 0;
// pCrsr->FillRects();
// for( USHORT i = 0; i < pCrsr->Count(); ++i )
// aReg -= (*pCrsr)[ i ];
-//
+//
// pCrsr->Remove( 0, i );
// }
// }
// if( pCrsr ) delete pCrsr;
-//
+//
// aReg.Invert();
// SwRects::Insert( &aReg, 0 );
// }
-//
+//
// SwBookmarkRects* pBookMarkRects = 0;
-//
+//
// void ShowBookmarks( const SwCrsrShell* pSh, int nAction, const SwRect* pRect = 0 )
// {
// if( !pBookMarkRects && pSh->getIDocumentMarkAccess()->getBookmarks().Count() )
// pBookMarkRects = new SwBookmarkRects( *pSh );
-//
+//
// if( pBookMarkRects )
// {
// switch( nAction )
@@ -156,12 +153,12 @@ MapMode* SwSelPaintRects::pMapMode = 0;
// case 2: pBookMarkRects->Hide(); break;
// case 3: pBookMarkRects->Invalidate( *pRect ); break;
// }
-//
+//
// if( !pBookMarkRects->Count() )
// delete pBookMarkRects, pBookMarkRects = 0;
// }
// }
-//
+//
// #define SHOWBOOKMARKS1( nAct ) ShowBookmarks( GetShell(),nAct );
// #define SHOWBOOKMARKS2( nAct, pRect ) ShowBookmarks( GetShell(),nAct, pRect );
@@ -517,7 +514,7 @@ void SwVisCrsr::_SetPosAndShow()
//////////////////////////////////////////////////////////////////////////////
SwSelPaintRects::SwSelPaintRects( const SwCrsrShell& rCSh )
-: SwRects( 0 ),
+: SwRects( 0 ),
pCShell( &rCSh ),
mpCursorOverlay(0)
{
@@ -575,7 +572,7 @@ void SwSelPaintRects::Show()
const Rectangle aPntRect(aNextRect.SVRect());
aNewRanges.push_back(basegfx::B2DRange(
- aPntRect.Left(), aPntRect.Top(),
+ aPntRect.Left(), aPntRect.Top(),
aPntRect.Right() + 1, aPntRect.Bottom() + 1));
}
@@ -862,7 +859,7 @@ BOOL SwShellCrsr::UpDown( BOOL bUp, USHORT nCnt )
&GetPtPos(), GetShell()->GetUpDownX() );
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// JP 05.03.98: zum Testen des UNO-Crsr Verhaltens hier die Implementierung
// am sichtbaren Cursor
@@ -1001,7 +998,7 @@ BOOL SwShellTableCrsr::IsInside( const Point& rPt ) const
return FALSE;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// JP 05.03.98: zum Testen des UNO-Crsr Verhaltens hier die Implementierung
// am sichtbaren Cursor
diff --git a/sw/source/core/doc/SwStyleNameMapper.cxx b/sw/source/core/doc/SwStyleNameMapper.cxx
index 3e48b5ab4b..0a13cced38 100644
--- a/sw/source/core/doc/SwStyleNameMapper.cxx
+++ b/sw/source/core/doc/SwStyleNameMapper.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwStyleNameMapper.cxx,v $
- * $Revision: 1.15.224.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#include <SwStyleNameMapper.hxx>
#define _SVSTDARR_STRINGSDTOR
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <tools/resmgr.hxx>
#include <poolfmt.hxx>
#ifndef _RDIC_HRC
diff --git a/sw/source/core/doc/acmplwrd.cxx b/sw/source/core/doc/acmplwrd.cxx
index c1bebf848c..4941bb2ca8 100644
--- a/sw/source/core/doc/acmplwrd.cxx
+++ b/sw/source/core/doc/acmplwrd.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acmplwrd.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -44,9 +41,9 @@
#include <pagedesc.hxx>
#include <poolfmt.hxx>
#include <calbck.hxx>
-#include <svx/svxacorr.hxx>
+#include <editeng/svxacorr.hxx>
-#include <svx/acorrcfg.hxx>
+#include <editeng/acorrcfg.hxx>
#include <sfx2/docfile.hxx>
#include <docsh.hxx>
diff --git a/sw/source/core/doc/dbgoutsw.cxx b/sw/source/core/doc/dbgoutsw.cxx
index 2fb1676d5b..2bfb6b8d98 100644
--- a/sw/source/core/doc/dbgoutsw.cxx
+++ b/sw/source/core/doc/dbgoutsw.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dbgoutsw.cxx,v $
- * $Revision: 1.27.18.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,8 +30,8 @@
#ifdef DEBUG
#include <tools/string.hxx>
-#include <svtools/poolitem.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/poolitem.hxx>
+#include <svl/itemiter.hxx>
#include <string>
#include <map>
#include <node.hxx>
@@ -551,7 +548,7 @@ String lcl_dbg_out(const SwNode & rNode)
aTmpStr += String::CreateFromInt32(rNode.GetIndex());
aTmpStr += String("\"", RTL_TEXTENCODING_ASCII_US);
-#ifndef PRODUCT
+#ifdef DBG_UTIL
aTmpStr += String(" serial=\"", RTL_TEXTENCODING_ASCII_US);
aTmpStr += String::CreateFromInt32(rNode.GetSerial());
aTmpStr += String("\"", RTL_TEXTENCODING_ASCII_US);
@@ -743,7 +740,7 @@ void lcl_dbg_nodes_inner(String & aStr, SwNodes & rNodes, ULONG & nIndex)
SwNode * pEndNode = NULL;
if (pStartNode != NULL)
pEndNode = pStartNode->EndOfSectionNode();
-
+
ULONG nCount = rNodes.Count();
ULONG nStartIndex = nIndex;
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index 252ab069c1..8d55a5766c 100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: doc.cxx,v $
- * $Revision: 1.71 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,7 +32,7 @@
#include <tools/shl.hxx>
#include <tools/globname.hxx>
-
+#include <svx/svxids.hrc>
#include <com/sun/star/i18n/WordType.hdl>
#include <com/sun/star/i18n/ForbiddenCharacters.hdl>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
@@ -46,16 +43,21 @@
#include <comphelper/processfactory.hxx>
#include <tools/urlobj.hxx>
#include <tools/poly.hxx>
+#include <tools/multisel.hxx>
+#include <rtl/ustring.hxx>
#include <vcl/virdev.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
+#include <unotools/syslocale.hxx>
#include <sfx2/printer.hxx>
-#include <svx/keepitem.hxx>
-#include <svx/cscoitem.hxx>
-#include <svx/brkitem.hxx>
-#include <svx/linkmgr.hxx>
-#include <svx/forbiddencharacterstable.hxx>
+#include <editeng/keepitem.hxx>
+#include <editeng/cscoitem.hxx>
+#include <editeng/brkitem.hxx>
+#include <sfx2/linkmgr.hxx>
+#include <editeng/forbiddencharacterstable.hxx>
#include <svx/svdmodel.hxx>
#include <unotools/charclass.hxx>
+#include <unotools/localedatawrapper.hxx>
+
#include <swmodule.hxx>
#include <fmtpdsc.hxx>
#include <fmtanchr.hxx>
@@ -95,20 +97,22 @@
#include <fldupde.hxx>
#include <swbaslnk.hxx>
#include <printdata.hxx>
-#ifndef _CMDID_H
+#include <swprtopt.hxx>
#include <cmdid.h> // fuer den dflt - Printer in SetJob
-#endif
-#ifndef _STATSTR_HRC
#include <statstr.hrc> // StatLine-String
-#endif
#include <comcore.hrc>
#include <SwUndoTOXChange.hxx>
#include <SwUndoFmt.hxx>
#include <unocrsr.hxx>
#include <docsh.hxx>
-#include <docufld.hxx>
+#include <docfld.hxx> // _SetGetExpFld
+#include <docufld.hxx> // SwPostItField
+#include <viewsh.hxx>
+#include <shellres.hxx>
+#include <txtfrm.hxx>
#include <vector>
+#include <map>
#include <osl/diagnose.h>
#include <osl/interlck.h>
@@ -121,6 +125,8 @@
// <--
using namespace ::com::sun::star;
+using ::rtl::OUString;
+
// Seiten-Deskriptoren
SV_IMPL_PTRARR(SwPageDescs,SwPageDescPtr);
@@ -923,7 +929,7 @@ SwFlyFrmFmt* SwDoc::_InsNoTxtNode( const SwPosition& rPos, SwNoTxtNode* pNode,
SwFlyFrmFmt *pFmt = 0;
if( pNode )
{
- pFmt = _MakeFlySection( rPos, *pNode, FLY_AT_CNTNT,
+ pFmt = _MakeFlySection( rPos, *pNode, FLY_AT_PARA,
pFlyAttrSet, pFrmFmt );
if( pGrfAttrSet )
pNode->SetAttr( *pGrfAttrSet );
@@ -1028,6 +1034,625 @@ const SwDocStat& SwDoc::GetDocStat() const
return *pDocStat;
}
+/*************************************************************************/
+
+
+struct _PostItFld : public _SetGetExpFld
+{
+ _PostItFld( const SwNodeIndex& rNdIdx, const SwTxtFld* pFld, const SwIndex* pIdx = 0 )
+ : _SetGetExpFld( rNdIdx, pFld, pIdx ) {}
+
+ USHORT GetPageNo( const StringRangeEnumerator &rRangeEnum,
+ const std::set< sal_Int32 > &rPossiblePages,
+ USHORT& rVirtPgNo, USHORT& rLineNo );
+
+ SwPostItField* GetPostIt() const
+ {
+ return (SwPostItField*) GetFld()->GetFld().GetFld();
+ }
+};
+
+
+USHORT _PostItFld::GetPageNo(
+ const StringRangeEnumerator &rRangeEnum,
+ const std::set< sal_Int32 > &rPossiblePages,
+ /* out */ USHORT& rVirtPgNo, /* out */ USHORT& rLineNo )
+{
+ //Problem: Wenn ein PostItFld in einem Node steht, der von mehr als
+ //einer Layout-Instanz repraesentiert wird, steht die Frage im Raum,
+ //ob das PostIt nur ein- oder n-mal gedruck werden soll.
+ //Wahrscheinlich nur einmal, als Seitennummer soll hier keine Zufaellige
+ //sondern die des ersten Auftretens des PostIts innerhalb des selektierten
+ //Bereichs ermittelt werden.
+ rVirtPgNo = 0;
+ USHORT nPos = GetCntnt();
+ SwClientIter aIter( (SwModify &)GetFld()->GetTxtNode() );
+ for( SwTxtFrm* pFrm = (SwTxtFrm*)aIter.First( TYPE( SwFrm ));
+ pFrm; pFrm = (SwTxtFrm*)aIter.Next() )
+ {
+ if( pFrm->GetOfst() > nPos ||
+ (pFrm->HasFollow() && pFrm->GetFollow()->GetOfst() <= nPos) )
+ continue;
+ USHORT nPgNo = pFrm->GetPhyPageNum();
+ if( rRangeEnum.hasValue( nPgNo, &rPossiblePages ))
+ {
+ rLineNo = (USHORT)(pFrm->GetLineCount( nPos ) +
+ pFrm->GetAllLines() - pFrm->GetThisLines());
+ rVirtPgNo = pFrm->GetVirtPageNum();
+ return nPgNo;
+ }
+ }
+ return 0;
+}
+
+
+bool lcl_GetPostIts(
+ IDocumentFieldsAccess* pIDFA,
+ _SetGetExpFlds * pSrtLst )
+{
+ bool bHasPostIts = false;
+
+ SwFieldType* pFldType = pIDFA->GetSysFldType( RES_POSTITFLD );
+ DBG_ASSERT( pFldType, "kein PostItType ? ");
+
+ if( pFldType->GetDepends() )
+ {
+ // Modify-Object gefunden, trage alle Felder ins Array ein
+ SwClientIter aIter( *pFldType );
+ SwClient* pLast;
+ const SwTxtFld* pTxtFld;
+
+ for( pLast = aIter.First( TYPE(SwFmtFld)); pLast; pLast = aIter.Next() )
+ {
+ if( 0 != ( pTxtFld = ((SwFmtFld*)pLast)->GetTxtFld() ) &&
+ pTxtFld->GetTxtNode().GetNodes().IsDocNodes() )
+ {
+ bHasPostIts = true;
+ if (pSrtLst)
+ {
+ SwNodeIndex aIdx( pTxtFld->GetTxtNode() );
+ _PostItFld* pNew = new _PostItFld( aIdx, pTxtFld );
+ pSrtLst->Insert( pNew );
+ }
+ else
+ break; // we just wanted to check for the existence of postits ...
+ }
+ }
+ }
+
+ return bHasPostIts;
+}
+
+
+static void lcl_FormatPostIt(
+ IDocumentContentOperations* pIDCO,
+ SwPaM& aPam,
+ SwPostItField* pField,
+ bool bNewPage, bool bIsFirstPostIt,
+ USHORT nPageNo, USHORT nLineNo )
+{
+ static char __READONLY_DATA sTmp[] = " : ";
+
+ DBG_ASSERT( ViewShell::GetShellRes(), "missing ShellRes" );
+
+ if (bNewPage)
+ {
+ pIDCO->InsertPoolItem( aPam, SvxFmtBreakItem( SVX_BREAK_PAGE_AFTER, RES_BREAK ), 0 );
+ pIDCO->SplitNode( *aPam.GetPoint(), false );
+ }
+ else if (!bIsFirstPostIt)
+ {
+ // add an empty line between different notes
+ pIDCO->SplitNode( *aPam.GetPoint(), false );
+ pIDCO->SplitNode( *aPam.GetPoint(), false );
+ }
+
+ String aStr( ViewShell::GetShellRes()->aPostItPage );
+ aStr.AppendAscii(sTmp);
+
+ aStr += XubString::CreateFromInt32( nPageNo );
+ aStr += ' ';
+ if( nLineNo )
+ {
+ aStr += ViewShell::GetShellRes()->aPostItLine;
+ aStr.AppendAscii(sTmp);
+ aStr += XubString::CreateFromInt32( nLineNo );
+ aStr += ' ';
+ }
+ aStr += ViewShell::GetShellRes()->aPostItAuthor;
+ aStr.AppendAscii(sTmp);
+ aStr += pField->GetPar1();
+ aStr += ' ';
+ SvtSysLocale aSysLocale;
+ aStr += /*(LocaleDataWrapper&)*/aSysLocale.GetLocaleData().getDate( pField->GetDate() );
+ pIDCO->InsertString( aPam, aStr );
+
+ pIDCO->SplitNode( *aPam.GetPoint(), false );
+ aStr = pField->GetPar2();
+#if defined( WIN ) || defined( WNT ) || defined( PM2 )
+ // Bei Windows und Co alle CR rausschmeissen
+ aStr.EraseAllChars( '\r' );
+#endif
+ pIDCO->InsertString( aPam, aStr );
+}
+
+
+void SwDoc::CalculatePagesForPrinting(
+ /* out */ SwRenderData &rData,
+ const SwPrintUIOptions &rOptions,
+ bool bIsPDFExport,
+ sal_Int32 nDocPageCount )
+{
+ DBG_ASSERT( pLayout, "no layout present" );
+ if (!pLayout)
+ return;
+
+ // properties to take into account when calcualting the set of pages
+ // (PDF export UI does not allow for selecting left or right pages only)
+ bool bPrintLeftPages = bIsPDFExport ? true : rOptions.IsPrintLeftPages();
+ bool bPrintRightPages = bIsPDFExport ? true : rOptions.IsPrintRightPages();
+ bool bPrintEmptyPages = rOptions.IsPrintEmptyPages( bIsPDFExport );
+
+ Range aPages( 1, nDocPageCount );
+
+ MultiSelection aMulti( aPages );
+ aMulti.SetTotalRange( Range( 0, RANGE_MAX ) );
+ aMulti.Select( aPages );
+
+ const SwPageFrm *pStPage = (SwPageFrm*)pLayout->Lower();
+ const SwFrm *pEndPage = pStPage;
+
+ USHORT nFirstPageNo = 0;
+ USHORT nLastPageNo = 0;
+ USHORT nPageNo = 1;
+
+ for( USHORT i = 1; i <= (USHORT)aPages.Max(); ++i )
+ {
+ if( i < (USHORT)aPages.Min() )
+ {
+ if( !pStPage->GetNext() )
+ break;
+ pStPage = (SwPageFrm*)pStPage->GetNext();
+ pEndPage= pStPage;
+ }
+ else if( i == (USHORT)aPages.Min() )
+ {
+ nFirstPageNo = i;
+ nLastPageNo = nFirstPageNo;
+ if( !pStPage->GetNext() || (i == (USHORT)aPages.Max()) )
+ break;
+ pEndPage = pStPage->GetNext();
+ }
+ else if( i > (USHORT)aPages.Min() )
+ {
+ nLastPageNo = i;
+ if( !pEndPage->GetNext() || (i == (USHORT)aPages.Max()) )
+ break;
+ pEndPage = pEndPage->GetNext();
+ }
+ }
+
+ DBG_ASSERT( nFirstPageNo, "first page not found! Should not happen!" );
+ if (nFirstPageNo)
+ {
+// HACK: Hier muss von der MultiSelection noch eine akzeptable Moeglichkeit
+// geschaffen werden, alle Seiten von Seite x an zu deselektieren.
+// Z.B. durch SetTotalRange ....
+
+// aMulti.Select( Range( nLastPageNo+1, SELECTION_MAX ), FALSE );
+ MultiSelection aTmpMulti( Range( 1, nLastPageNo ) );
+ long nTmpIdx = aMulti.FirstSelected();
+ static long nEndOfSelection = SFX_ENDOFSELECTION;
+ while ( nEndOfSelection != nTmpIdx && nTmpIdx <= long(nLastPageNo) )
+ {
+ aTmpMulti.Select( nTmpIdx );
+ nTmpIdx = aMulti.NextSelected();
+ }
+ aMulti = aTmpMulti;
+// Ende des HACKs
+
+ nPageNo = nFirstPageNo;
+
+ std::set< sal_Int32 > &rValidPages = rData.GetValidPagesSet();
+ std::map< sal_Int32, const SwPageFrm * > &rValidStartFrms = rData.GetValidStartFrames();
+ rValidPages.clear();
+ rValidStartFrms.clear();
+ while ( pStPage )
+ {
+ const BOOL bRightPg = pStPage->OnRightPage();
+ if ( aMulti.IsSelected( nPageNo ) &&
+ ( (bRightPg && bPrintRightPages) ||
+ (!bRightPg && bPrintLeftPages) ) )
+ {
+ // --> FME 2005-12-12 #b6354161# Feature - Print empty pages
+ if ( bPrintEmptyPages || pStPage->Frm().Height() )
+ // <--
+ {
+ // pStPage->GetUpper()->Paint( pStPage->Frm() );
+ rValidPages.insert( nPageNo );
+ rValidStartFrms[ nPageNo ] = pStPage;
+ }
+ }
+
+ if ( pStPage == pEndPage )
+ {
+ pStPage = 0;
+ }
+ else
+ { ++nPageNo;
+ pStPage = (SwPageFrm*)pStPage->GetNext();
+ }
+ }
+ }
+
+
+ //
+ // now that we have identified the valid pages for printing according
+ // to the print settings we need to get the PageRange to use and
+ // use both results to get the actual pages to be printed
+ // (post-it settings need to be taken into account later on!)
+ //
+
+ // get PageRange value to use
+ OUString aPageRange;
+ if (bIsPDFExport)
+ {
+ // ?? rOptions.getValue( C2U("Selection") );
+ aPageRange = rOptions.getStringValue( "PageRange", OUString() );
+ }
+ else
+ {
+ // PageContent :
+ // 0 -> print all pages (default if aPageRange is empty)
+ // 1 -> print range according to PageRange
+ // 2 -> print selection
+ const sal_Int32 nContent = rOptions.getIntValue( "PrintContent", 0 );
+ if (1 == nContent)
+ aPageRange = rOptions.getStringValue( "PageRange", OUString() );
+ if (2 == nContent)
+ {
+ // note that printing selections is actually implemented by copying
+ // the selection to a new temporary document and printing all of that one.
+ // Thus for Writer "PrintContent" must never be 2.
+ // See SwXTextDocument::GetRenderDoc for evaluating if a selection is to be
+ // printed and for creating the temporary document.
+ }
+
+ // please note
+ }
+ if (aPageRange.getLength() == 0) // empty string -> print all
+ {
+ // set page range to print to 'all pages'
+ aPageRange = OUString::valueOf( (sal_Int32)1 );
+ aPageRange += OUString::valueOf( (sal_Unicode)'-');
+ aPageRange += OUString::valueOf( nDocPageCount );
+ }
+ rData.SetPageRange( aPageRange );
+
+ // get vector of pages to print according to PageRange and valid pages set from above
+ // (result may be an empty vector, for example if the range string is not correct)
+ StringRangeEnumerator::getRangesFromString(
+ aPageRange, rData.GetPagesToPrint(),
+ 1, nDocPageCount, 0, &rData.GetValidPagesSet() );
+}
+
+
+void SwDoc::UpdatePagesForPrintingWithPostItData(
+ /* out */ SwRenderData &rData,
+ const SwPrintUIOptions &rOptions,
+ bool /*bIsPDFExport*/,
+ sal_Int32 nDocPageCount )
+{
+
+ sal_Int16 nPostItMode = (sal_Int16) rOptions.getIntValue( "PrintAnnotationMode", 0 );
+ DBG_ASSERT(nPostItMode == POSTITS_NONE || rData.HasPostItData(),
+ "print post-its without post-it data?" );
+ const USHORT nPostItCount = rData.HasPostItData() ? rData.m_pPostItFields->Count() : 0;
+ if (nPostItMode != POSTITS_NONE && nPostItCount > 0)
+ {
+ SET_CURR_SHELL( rData.m_pPostItShell );
+
+ // clear document and move to end of it
+ SwPaM aPam( rData.m_pPostItDoc->GetNodes().GetEndOfContent() );
+ aPam.Move( fnMoveBackward, fnGoDoc );
+ aPam.SetMark();
+ aPam.Move( fnMoveForward, fnGoDoc );
+ rData.m_pPostItDoc->DeleteRange( aPam );
+
+ const StringRangeEnumerator aRangeEnum( rData.GetPageRange(), 1, nDocPageCount, 0 );
+
+ // For mode POSTITS_ENDPAGE:
+ // maps a physical page number to the page number in post-it document that holds
+ // the first post-it for that physical page . Needed to relate the correct start frames
+ // from the post-it doc to the physical page of the document
+ std::map< sal_Int32, sal_Int32 > aPostItLastStartPageNum;
+
+ // add all post-its on valid pages within the the page range to the
+ // temporary post-it document.
+ // Since the array of post-it fileds is sorted by page and line number we will
+ // already get them in the correct order
+ USHORT nVirtPg = 0, nLineNo = 0, nLastPageNum = 0, nPhyPageNum = 0;
+ bool bIsFirstPostIt = true;
+ for (USHORT i = 0; i < nPostItCount; ++i)
+ {
+ _PostItFld& rPostIt = (_PostItFld&)*(*rData.m_pPostItFields)[ i ];
+ nLastPageNum = nPhyPageNum;
+ nPhyPageNum = rPostIt.GetPageNo(
+ aRangeEnum, rData.GetValidPagesSet(), nVirtPg, nLineNo );
+ if (nPhyPageNum)
+ {
+ // need to insert a page break?
+ // In POSTITS_ENDPAGE mode for each document page the following
+ // post-it page needs to start on a new page
+ const bool bNewPage = nPostItMode == POSTITS_ENDPAGE &&
+ !bIsFirstPostIt && nPhyPageNum != nLastPageNum;
+
+ lcl_FormatPostIt( rData.m_pPostItShell->GetDoc(), aPam,
+ rPostIt.GetPostIt(), bNewPage, bIsFirstPostIt, nVirtPg, nLineNo );
+ bIsFirstPostIt = false;
+
+ if (nPostItMode == POSTITS_ENDPAGE)
+ {
+ // get the correct number of current pages for the post-it document
+ rData.m_pPostItShell->CalcLayout();
+ const sal_Int32 nPages = rData.m_pPostItDoc->GetPageCount();
+ aPostItLastStartPageNum[ nPhyPageNum ] = nPages;
+ }
+ }
+ }
+
+ // format post-it doc to get correct number of pages
+ rData.m_pPostItShell->CalcLayout();
+ const sal_Int32 nPostItDocPageCount = rData.m_pPostItDoc->GetPageCount();
+
+ if (nPostItMode == POSTITS_ONLY || nPostItMode == POSTITS_ENDDOC)
+ {
+ // now add those post-it pages to the vector of pages to print
+ // or replace them if only post-its should be printed
+
+ rData.GetPostItStartFrames().clear();
+ if (nPostItMode == POSTITS_ENDDOC)
+ {
+ // set all values up to number of pages to print currently known to NULL,
+ // meaning none of the pages currently in the vector is from the
+ // post-it document, they are the documents pages.
+ rData.GetPostItStartFrames().resize( rData.GetPagesToPrint().size() );
+ }
+ else if (nPostItMode == POSTITS_ONLY)
+ {
+ // no document page to be printed
+ rData.GetPagesToPrint().clear();
+ }
+
+ // now we just need to add the post-it pages to be printed to the end
+ // of the vector of pages to print and keep the GetValidStartFrames
+ // data conform with it
+ sal_Int32 nPageNum = 0;
+ const SwPageFrm * pPageFrm = (SwPageFrm*)rData.m_pPostItShell->GetLayout()->Lower();
+ while( pPageFrm && nPageNum < nPostItDocPageCount )
+ {
+ DBG_ASSERT( pPageFrm, "Empty page frame. How are we going to print this?" );
+ ++nPageNum;
+ rData.GetPagesToPrint().push_back( 0 ); // a page number of 0 indicates this page is from the post-it doc
+ DBG_ASSERT( pPageFrm, "pPageFrm is NULL!" );
+ rData.GetPostItStartFrames().push_back( pPageFrm );
+ pPageFrm = (SwPageFrm*)pPageFrm->GetNext();
+ }
+ DBG_ASSERT( nPageNum == nPostItDocPageCount, "unexpected number of pages" );
+ }
+ else if (nPostItMode == POSTITS_ENDPAGE)
+ {
+ // the next step is to find all the start frames from the post-it
+ // document that should be printed for a given physical page of the document
+ std::map< sal_Int32, std::vector< const SwPageFrm * > > aPhysPageToPostItFrames;
+
+ // ... thus, first collect all post-it doc start frames in a vector
+ sal_Int32 nPostItPageNum = 0;
+ std::vector< const SwPageFrm * > aAllPostItStartFrames;
+ const SwPageFrm * pPageFrm = (SwPageFrm*)rData.m_pPostItShell->GetLayout()->Lower();
+ while( pPageFrm && sal_Int32(aAllPostItStartFrames.size()) < nPostItDocPageCount )
+ {
+ DBG_ASSERT( pPageFrm, "Empty page frame. How are we going to print this?" );
+ ++nPostItPageNum;
+ aAllPostItStartFrames.push_back( pPageFrm );
+ pPageFrm = (SwPageFrm*)pPageFrm->GetNext();
+ }
+ DBG_ASSERT( sal_Int32(aAllPostItStartFrames.size()) == nPostItDocPageCount,
+ "unexpected number of frames; does not match number of pages" );
+
+ // get a map that holds all post-it frames to be printed for a
+ // given physical page from the document
+ sal_Int32 nLastStartPageNum = 0;
+ std::map< sal_Int32, sal_Int32 >::const_iterator aIt;
+ for (aIt = aPostItLastStartPageNum.begin(); aIt != aPostItLastStartPageNum.end(); ++aIt)
+ {
+ const sal_Int32 nFrames = aIt->second - nLastStartPageNum;
+ const sal_Int32 nFirstStartPageNum = aIt == aPostItLastStartPageNum.begin() ?
+ 1 : aIt->second - nFrames + 1;
+ DBG_ASSERT( 1 <= nFirstStartPageNum && nFirstStartPageNum <= nPostItDocPageCount,
+ "page number for first frame out of range" );
+ std::vector< const SwPageFrm * > aStartFrames;
+ for (sal_Int32 i = 0; i < nFrames; ++i)
+ {
+ const sal_Int32 nIdx = nFirstStartPageNum - 1 + i; // -1 because lowest page num is 1
+ DBG_ASSERT( 0 <= nIdx && nIdx < sal_Int32(aAllPostItStartFrames.size()),
+ "index out of range" );
+ aStartFrames.push_back( aAllPostItStartFrames[ nIdx ] );
+ }
+ aPhysPageToPostItFrames[ aIt->first /* phys page num */ ] = aStartFrames;
+ nLastStartPageNum = aIt->second;
+ }
+
+
+ // ok, now that aPhysPageToPostItFrames can give the start frames for all
+ // post-it pages to be printed we need to merge those at the correct
+ // position into the GetPagesToPrint vector and build and maintain the
+ // GetValidStartFrames vector as well.
+ // Since inserting a larger number of entries in the middle of a vector
+ // isn't that efficient we will create new vectors by copying the required data
+ std::vector< sal_Int32 > aTmpPagesToPrint;
+ std::vector< const SwPageFrm * > aTmpPostItStartFrames;
+ const size_t nNum = rData.GetPagesToPrint().size();
+ for (size_t i = 0 ; i < nNum; ++i)
+ {
+ // add the physical page to print from the document
+ const sal_Int32 nPhysPage = rData.GetPagesToPrint()[i];
+ aTmpPagesToPrint.push_back( nPhysPage );
+ aTmpPostItStartFrames.push_back( NULL );
+
+ // add the post-it document pages to print, i.e those
+ // post-it pages that have the data for the above physical page
+ const std::vector< const SwPageFrm * > &rPostItFrames = aPhysPageToPostItFrames[ nPhysPage ];
+ const size_t nPostItFrames = rPostItFrames.size();
+ for (size_t k = 0; k < nPostItFrames; ++k)
+ {
+ aTmpPagesToPrint.push_back( 0 );
+ aTmpPostItStartFrames.push_back( rPostItFrames[k] );
+ }
+ }
+
+ // finally we need to assign those vectors to the resulting ones.
+ // swapping the data should be more efficient than assigning since
+ // we won't need the temporary vectors anymore
+ rData.GetPagesToPrint().swap( aTmpPagesToPrint );
+ rData.GetPostItStartFrames().swap( aTmpPostItStartFrames );
+ }
+ }
+}
+
+
+void SwDoc::CalculatePagePairsForProspectPrinting(
+ /* out */ SwRenderData &rData,
+ const SwPrintUIOptions &rOptions,
+ sal_Int32 nDocPageCount )
+{
+ std::set< sal_Int32 > &rValidPagesSet = rData.GetValidPagesSet();
+ std::map< sal_Int32, const SwPageFrm * > &rValidStartFrms = rData.GetValidStartFrames();
+ std::vector< std::pair< sal_Int32, sal_Int32 > > &rPagePairs = rData.GetPagePairsForProspectPrinting();
+
+ rPagePairs.clear();
+ rValidPagesSet.clear();
+ rValidStartFrms.clear();
+
+ rtl::OUString aPageRange = rOptions.getStringValue( "PageRange", rtl::OUString() );
+ StringRangeEnumerator aRange( aPageRange, 1, nDocPageCount, 0 );
+
+ DBG_ASSERT( pLayout, "no layout present" );
+ if (!pLayout || aRange.size() <= 0)
+ return;
+
+ const SwPageFrm *pStPage = (SwPageFrm*)pLayout->Lower();
+ sal_Int32 i = 0;
+ for ( i = 1; pStPage && i < nDocPageCount; ++i )
+ pStPage = (SwPageFrm*)pStPage->GetNext();
+ if ( !pStPage ) // dann wars das
+ return;
+
+ // currently for prospect printing all pages are valid to be printed
+ // thus we add them all to the respective map and set for later use
+ sal_Int32 nPageNum = 0;
+ const SwPageFrm *pPageFrm = (SwPageFrm*)pLayout->Lower();
+ while( pPageFrm && nPageNum < nDocPageCount )
+ {
+ DBG_ASSERT( pPageFrm, "Empty page frame. How are we going to print this?" );
+ ++nPageNum;
+ rValidPagesSet.insert( nPageNum );
+ rValidStartFrms[ nPageNum ] = pPageFrm;
+ pPageFrm = (SwPageFrm*)pPageFrm->GetNext();
+ }
+ DBG_ASSERT( nPageNum == nDocPageCount, "unexpected number of pages" );
+
+ // properties to take into account when calcualting the set of pages
+ // Note: here bPrintLeftPages and bPrintRightPages refer to the (virtual) resulting pages
+ // of the prospect!
+ bool bPrintLeftPages = rOptions.IsPrintLeftPages();
+ bool bPrintRightPages = rOptions.IsPrintRightPages();
+ bool bPrintProspectRTL = rOptions.getIntValue( "PrintProspectRTL", 0 ) ? true : false;
+
+ // get pages for prospect printing according to the 'PageRange'
+ // (duplicates and any order allowed!)
+ std::vector< sal_Int32 > aPagesToPrint;
+ StringRangeEnumerator::getRangesFromString(
+ aPageRange, aPagesToPrint, 1, nDocPageCount, 0 );
+
+ // now fill the vector for calculating the page pairs with the start frames
+ // from the above obtained vector
+ std::vector< const SwPageFrm * > aVec;
+ for ( i = 0; i < sal_Int32(aPagesToPrint.size()); ++i)
+ {
+ const sal_Int32 nPage = aPagesToPrint[i];
+ const SwPageFrm *pFrm = rValidStartFrms[ nPage ];
+ aVec.push_back( pFrm );
+ }
+
+ // just one page is special ...
+ if ( 1 == aVec.size() )
+ aVec.insert( aVec.begin() + 1, 0 ); // insert a second empty page
+ else
+ {
+ // now extend the number of pages to fit a multiple of 4
+ // (4 'normal' pages are needed for a single prospect paper
+ // with back and front)
+ while( aVec.size() & 3 )
+ aVec.push_back( 0 );
+ }
+
+ // dann sorge mal dafuer, das alle Seiten in der richtigen
+ // Reihenfolge stehen:
+ USHORT nSPg = 0, nEPg = aVec.size(), nStep = 1;
+ if ( 0 == (nEPg & 1 )) // ungerade gibt es nicht!
+ --nEPg;
+
+ if ( !bPrintLeftPages )
+ ++nStep;
+ else if ( !bPrintRightPages )
+ {
+ ++nStep;
+ ++nSPg, --nEPg;
+ }
+
+ // the number of 'virtual' pages to be printed
+ sal_Int32 nCntPage = (( nEPg - nSPg ) / ( 2 * nStep )) + 1;
+
+ for ( USHORT nPrintCount = 0; nSPg < nEPg &&
+ nPrintCount < nCntPage; ++nPrintCount )
+ {
+ pStPage = aVec[ nSPg ];
+ const SwPageFrm* pNxtPage = nEPg < aVec.size() ? aVec[ nEPg ] : 0;
+
+ short nRtlOfs = bPrintProspectRTL ? 1 : 0;
+ if ( 0 == (( nSPg + nRtlOfs) & 1 ) ) // switch for odd number in LTR, even number in RTL
+ {
+ const SwPageFrm* pTmp = pStPage;
+ pStPage = pNxtPage;
+ pNxtPage = pTmp;
+ }
+
+ sal_Int32 nFirst = -1, nSecond = -1;
+ for ( int nC = 0; nC < 2; ++nC )
+ {
+ sal_Int32 nPage = -1;
+ if ( pStPage )
+ nPage = pStPage->GetPhyPageNum();
+ if (nC == 0)
+ nFirst = nPage;
+ else
+ nSecond = nPage;
+
+ pStPage = pNxtPage;
+ }
+ rPagePairs.push_back( std::pair< sal_Int32, sal_Int32 >(nFirst, nSecond) );
+
+ nSPg = nSPg + nStep;
+ nEPg = nEPg - nStep;
+ }
+ DBG_ASSERT( size_t(nCntPage) == rPagePairs.size(), "size mismatch for number of page pairs" );
+
+ // luckily prospect printing does not make use of post-its so far,
+ // thus we are done here.
+}
+
+
sal_uInt16 SwDoc::GetPageCount() const
{
return GetRootFrm() ? GetRootFrm()->GetPageNum() : 0;
@@ -1806,12 +2431,12 @@ void SwDoc::SetVisibleLinks(bool bFlag)
mbVisibleLinks = bFlag;
}
-SvxLinkManager& SwDoc::GetLinkManager()
+sfx2::LinkManager& SwDoc::GetLinkManager()
{
return *pLinkMgr;
}
-const SvxLinkManager& SwDoc::GetLinkManager() const
+const sfx2::LinkManager& SwDoc::GetLinkManager() const
{
return *pLinkMgr;
}
@@ -1830,7 +2455,7 @@ bool SwDoc::LinksUpdated() const
bool SwDoc::EmbedAllLinks()
{
BOOL bRet = FALSE;
- SvxLinkManager& rLnkMgr = GetLinkManager();
+ sfx2::LinkManager& rLnkMgr = GetLinkManager();
const ::sfx2::SvBaseLinks& rLnks = rLnkMgr.GetLinks();
if( rLnks.Count() )
{
diff --git a/sw/source/core/doc/docbasic.cxx b/sw/source/core/doc/docbasic.cxx
index 51dc3132b6..fc88148156 100644
--- a/sw/source/core/doc/docbasic.cxx
+++ b/sw/source/core/doc/docbasic.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docbasic.cxx,v $
- * $Revision: 1.15 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index 80973abeca..fba2435361 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -1,15 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docbm.cxx,v $
- *
- * $Revision: 1.27 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -57,7 +53,7 @@
#include <rtl/ustring.hxx>
#include <sal/types.h>
#include <sortedobjs.hxx>
-#include <svx/linkmgr.hxx>
+#include <sfx2/linkmgr.hxx>
#include <swserv.hxx>
#include <swundo.hxx>
#include <tools/pstm.hxx>
@@ -1259,7 +1255,6 @@ void _SaveCntntIdx(SwDoc* pDoc,
SwCntntNode *pNode = pDoc->GetNodes()[nNode]->GetCntntNode();
if( pNode )
{
- const SwPosition* pAPos;
SwFrm* pFrm = pNode->GetFrm();
#if OSL_DEBUG_LEVEL > 1
@@ -1277,16 +1272,18 @@ void _SaveCntntIdx(SwDoc* pDoc,
SwAnchoredObject* pObj = rDObj[ --n ];
const SwFrmFmt& rFmt = pObj->GetFrmFmt();
const SwFmtAnchor& rAnchor = rFmt.GetAnchor();
- if( ( ( nSaveFly && FLY_AT_CNTNT == rAnchor.GetAnchorId() ) ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() ) &&
- ( 0 != ( pAPos = rAnchor.GetCntntAnchor() ) ) )
+ SwPosition const*const pAPos = rAnchor.GetCntntAnchor();
+ if ( pAPos &&
+ ( ( nSaveFly &&
+ FLY_AT_PARA == rAnchor.GetAnchorId() ) ||
+ ( FLY_AT_CHAR == rAnchor.GetAnchorId() ) ) )
{
aSave.SetType( 0x2000 );
aSave.SetContent( pAPos->nContent.GetIndex() );
OSL_ENSURE( nNode == pAPos->nNode.GetIndex(),
"_SaveCntntIdx: Wrong Node-Index" );
- if( FLY_AUTO_CNTNT == rAnchor.GetAnchorId() )
+ if ( FLY_AT_CHAR == rAnchor.GetAnchorId() )
{
if( nCntnt <= aSave.GetContent() )
{
@@ -1321,14 +1318,14 @@ void _SaveCntntIdx(SwDoc* pDoc,
continue;
const SwFmtAnchor& rAnchor = pFrmFmt->GetAnchor();
- if( ( FLY_AT_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() ) &&
- 0 != ( pAPos = rAnchor.GetCntntAnchor()) &&
- nNode == pAPos->nNode.GetIndex() )
+ SwPosition const*const pAPos = rAnchor.GetCntntAnchor();
+ if ( pAPos && ( nNode == pAPos->nNode.GetIndex() ) &&
+ ( FLY_AT_PARA == rAnchor.GetAnchorId() ||
+ FLY_AT_CHAR == rAnchor.GetAnchorId() ) )
{
aSave.SetType( 0x2000 );
aSave.SetContent( pAPos->nContent.GetIndex() );
- if( FLY_AUTO_CNTNT == rAnchor.GetAnchorId() )
+ if ( FLY_AT_CHAR == rAnchor.GetAnchorId() )
{
if( nCntnt <= aSave.GetContent() )
{
@@ -1444,11 +1441,15 @@ void _RestoreCntntIdx(SwDoc* pDoc,
SwFmtAnchor aNew( rFlyAnchor );
SwPosition aNewPos( *rFlyAnchor.GetCntntAnchor() );
aNewPos.nNode = *pCNd;
- if( FLY_AUTO_CNTNT == rFlyAnchor.GetAnchorId() )
+ if ( FLY_AT_CHAR == rFlyAnchor.GetAnchorId() )
+ {
aNewPos.nContent.Assign( pCNd,
aSave.GetContent() + nOffset );
+ }
else
+ {
aNewPos.nContent.Assign( 0, 0 );
+ }
aNew.SetAnchor( &aNewPos );
pFrmFmt->SetFmtAttr( aNew );
}
@@ -1608,11 +1609,15 @@ void _RestoreCntntIdx(SvULongs& rSaveArr,
SwFmtAnchor aNew( rFlyAnchor );
SwPosition aNewPos( *rFlyAnchor.GetCntntAnchor() );
aNewPos.nNode = rNd;
- if( FLY_AUTO_CNTNT == rFlyAnchor.GetAnchorId() )
+ if ( FLY_AT_CHAR == rFlyAnchor.GetAnchorId() )
+ {
aNewPos.nContent.Assign( pCNd, Min(
aSave.GetContent(), nLen ) );
+ }
else
+ {
aNewPos.nContent.Assign( 0, 0 );
+ }
aNew.SetAnchor( &aNewPos );
pFrmFmt->SetFmtAttr( aNew );
}
diff --git a/sw/source/core/doc/docchart.cxx b/sw/source/core/doc/docchart.cxx
index 1be7f1a654..1555e79593 100644
--- a/sw/source/core/doc/docchart.cxx
+++ b/sw/source/core/doc/docchart.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docchart.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx
index 58e3cccc6f..77624c51ad 100644
--- a/sw/source/core/doc/doccomp.cxx
+++ b/sw/source/core/doc/doccomp.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: doccomp.cxx,v $
- * $Revision: 1.24 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,10 +32,10 @@
#include <hintids.hxx>
#include <tools/list.hxx>
#include <vcl/vclenum.hxx>
-#include <svx/crsditem.hxx>
-#include <svx/colritem.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/udlnitem.hxx>
+#include <editeng/crsditem.hxx>
+#include <editeng/colritem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/udlnitem.hxx>
#include <doc.hxx>
#include <docary.hxx>
#include <pam.hxx>
diff --git a/sw/source/core/doc/doccorr.cxx b/sw/source/core/doc/doccorr.cxx
index 1e1c22d47f..b3b5682eba 100644
--- a/sw/source/core/doc/doccorr.cxx
+++ b/sw/source/core/doc/doccorr.cxx
@@ -2,15 +2,12 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: doccorr.cxx,v $
- * $Revision: 1.13 $
- *
* 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.
diff --git a/sw/source/core/doc/docdde.cxx b/sw/source/core/doc/docdde.cxx
index a6c6d2ab8a..c23a1d39cb 100644
--- a/sw/source/core/doc/docdde.cxx
+++ b/sw/source/core/doc/docdde.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docdde.cxx,v $
- * $Revision: 1.14 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -41,8 +38,8 @@
#include <tools/urlobj.hxx>
#define _SVSTDARR_STRINGS
-#include <svtools/svstdarr.hxx>
-#include <svx/linkmgr.hxx> // LinkManager
+#include <svl/svstdarr.hxx>
+#include <sfx2/linkmgr.hxx> // LinkManager
#include <unotools/charclass.hxx>
#include <fmtcntnt.hxx>
#include <doc.hxx>
diff --git a/sw/source/core/doc/docdesc.cxx b/sw/source/core/doc/docdesc.cxx
index 88176f79c8..3d599cca93 100644
--- a/sw/source/core/doc/docdesc.cxx
+++ b/sw/source/core/doc/docdesc.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docdesc.cxx,v $
- * $Revision: 1.43 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,12 +30,13 @@
#include <hintids.hxx>
#include <vcl/virdev.hxx>
#include <svx/svdmodel.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/paperinf.hxx>
-#include "svx/frmdiritem.hxx"
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/paperinf.hxx>
+#include "editeng/frmdiritem.hxx"
#include <tools/urlobj.hxx>
#include <sfx2/docfile.hxx>
+#include <sfx2/printer.hxx>
#include <unotools/localedatawrapper.hxx>
#include <com/sun/star/document/PrinterIndependentLayout.hpp>
#include <fmtfsize.hxx>
@@ -70,7 +68,7 @@
#include <fldbas.hxx>
#include <swwait.hxx>
#include <GetMetricVal.hxx>
-#include <svtools/syslocale.hxx>
+#include <unotools/syslocale.hxx>
#ifndef _STATSTR_HRC
#include <statstr.hrc>
#endif
diff --git a/sw/source/core/doc/docdraw.cxx b/sw/source/core/doc/docdraw.cxx
index 3befc37ff3..19ec62e84f 100644
--- a/sw/source/core/doc/docdraw.cxx
+++ b/sw/source/core/doc/docdraw.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docdraw.cxx,v $
- * $Revision: 1.45 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,36 +29,27 @@
#include "precompiled_sw.hxx"
#include <hintids.hxx>
#include <rtl/logfile.hxx>
-#ifndef _OUTDEV_HXX //autogen
#include <vcl/outdev.hxx>
-#endif
#include <sfx2/printer.hxx>
-#include <svx/eeitem.hxx>
-#include <svx/flditem.hxx>
-#include <svx/editeng.hxx>
+#include <editeng/eeitem.hxx>
+#include <editeng/flditem.hxx>
+#include <editeng/editeng.hxx>
#include <svx/svdoutl.hxx>
-#include <svx/colritem.hxx>
+#include <editeng/colritem.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdogrp.hxx>
-#include <svx/langitem.hxx>
-#include <svx/unolingu.hxx>
-
-#ifndef _SVDOMEAS_HXX
-#include <svx/svdfield.hxx>
-#endif
+#include <editeng/langitem.hxx>
+#include <editeng/unolingu.hxx>
+#include <editeng/measfld.hxx>
#include <svx/svdpool.hxx>
#include <fmtanchr.hxx>
#include <charatr.hxx>
#include <frmfmt.hxx>
#include <charfmt.hxx>
#include <viewimp.hxx>
-#ifndef _SWHINTS_HXX
#include <swhints.hxx>
-#endif
#include <doc.hxx>
-#ifndef _DOCSH_HXX
#include <docsh.hxx>
-#endif
#include <rootfrm.hxx> //Damit der RootDtor gerufen wird.
#include <poolfmt.hxx>
#include <viewsh.hxx> // fuer MakeDrawView
@@ -74,7 +62,7 @@
#include <flyfrm.hxx>
#include <dflyobj.hxx>
#include <svx/svdetc.hxx>
-#include <svx/fhgtitem.hxx>
+#include <editeng/fhgtitem.hxx>
// OD 26.06.2003 #108784#
#include <svx/svdpagv.hxx>
@@ -82,7 +70,7 @@
#include <dcontact.hxx>
#include <txtfrm.hxx>
#include <frmfmt.hxx>
-#include <svx/frmdiritem.hxx>
+#include <editeng/frmdiritem.hxx>
#include <fmtornt.hxx>
// --> OD 2006-03-14 #i62875#
#include <svx/svditer.hxx>
@@ -258,7 +246,7 @@ SwDrawContact* SwDoc::GroupSelection( SdrView& rDrawView )
SwDrawContact *pContact = (SwDrawContact*)GetUserCall(pObj);
// --> OD 2005-08-16 #i53320#
-#ifndef PRODUCT
+#ifdef DBG_UTIL
SwAnchoredDrawObject* pAnchoredDrawObj =
static_cast<SwAnchoredDrawObject*>(pContact->GetAnchoredObj( pObj ));
ASSERT( bGroupMembersNotPositioned == pAnchoredDrawObj->NotYetPositioned(),
@@ -481,7 +469,7 @@ BOOL SwDoc::DeleteSelection( SwDrawView& rDrawView )
SwDrawContact *pC = (SwDrawContact*)GetUserCall(pObj);
SwDrawFrmFmt *pFrmFmt = (SwDrawFrmFmt*)pC->GetFmt();
if( pFrmFmt &&
- FLY_IN_CNTNT == pFrmFmt->GetAnchor().GetAnchorId() )
+ FLY_AS_CHAR == pFrmFmt->GetAnchor().GetAnchorId() )
{
rDrawView.MarkObj( pObj, rDrawView.Imp().GetPageView(), TRUE );
--i;
diff --git a/sw/source/core/doc/docedt.cxx b/sw/source/core/doc/docedt.cxx
index f741f2fc04..8f6fe89a59 100644
--- a/sw/source/core/doc/docedt.cxx
+++ b/sw/source/core/doc/docedt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docedt.cxx,v $
- * $Revision: 1.48 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,8 +32,8 @@
#include <hintids.hxx>
#include <vcl/sound.hxx>
-#include <svx/cscoitem.hxx>
-#include <svx/brkitem.hxx>
+#include <editeng/cscoitem.hxx>
+#include <editeng/brkitem.hxx>
#include <linguistic/lngprops.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/i18n/WordType.hdl>
@@ -220,17 +217,15 @@ void _RestFlyInRange( _SaveFlyArr & rArr, const SwNodeIndex& rSttIdx,
void _SaveFlyInRange( const SwNodeRange& rRg, _SaveFlyArr& rArr )
{
- SwFrmFmt* pFmt;
- const SwFmtAnchor* pAnchor;
- const SwPosition* pAPos;
SwSpzFrmFmts& rFmts = *rRg.aStart.GetNode().GetDoc()->GetSpzFrmFmts();
for( sal_uInt16 n = 0; n < rFmts.Count(); ++n )
{
- pFmt = (SwFrmFmt*)rFmts[n];
- pAnchor = &pFmt->GetAnchor();
- if( ( FLY_AT_CNTNT == pAnchor->GetAnchorId() ||
- FLY_AUTO_CNTNT == pAnchor->GetAnchorId() ) &&
- 0 != ( pAPos = pAnchor->GetCntntAnchor() ) &&
+ SwFrmFmt *const pFmt = static_cast<SwFrmFmt*>(rFmts[n]);
+ SwFmtAnchor const*const pAnchor = &pFmt->GetAnchor();
+ SwPosition const*const pAPos = pAnchor->GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AT_PARA == pAnchor->GetAnchorId()) ||
+ (FLY_AT_CHAR == pAnchor->GetAnchorId())) &&
rRg.aStart <= pAPos->nNode && pAPos->nNode < rRg.aEnd )
{
_SaveFly aSave( pAPos->nNode.GetIndex() - rRg.aStart.GetIndex(),
@@ -260,7 +255,6 @@ void _SaveFlyInRange( const SwPaM& rPam, const SwNodeIndex& rInsPos,
pPos->nContent == rEndNdIdx.GetNode().GetCntntNode()->Len() ))
? 0 : 1;
- const SwPosition* pAPos;
const SwNodeIndex* pCntntIdx;
for( sal_uInt16 n = 0; n < rFmts.Count(); ++n )
@@ -268,9 +262,10 @@ void _SaveFlyInRange( const SwPaM& rPam, const SwNodeIndex& rInsPos,
sal_Bool bInsPos = sal_False;
pFmt = (SwFrmFmt*)rFmts[n];
pAnchor = &pFmt->GetAnchor();
- if( ( FLY_AT_CNTNT == pAnchor->GetAnchorId() ||
- FLY_AUTO_CNTNT == pAnchor->GetAnchorId() ) &&
- 0 != ( pAPos = pAnchor->GetCntntAnchor() ) &&
+ const SwPosition* pAPos = pAnchor->GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AT_PARA == pAnchor->GetAnchorId()) ||
+ (FLY_AT_CHAR == pAnchor->GetAnchorId())) &&
// nicht verschieben, wenn die InsPos im CntntBereich vom Fly ist
( 0 == ( pCntntIdx = pFmt->GetCntnt().GetCntntIdx() ) ||
!( *pCntntIdx < rInsPos &&
@@ -317,14 +312,14 @@ void DelFlyInRange( const SwNodeIndex& rMkNdIdx,
SwDoc* pDoc = rMkNdIdx.GetNode().GetDoc();
SwSpzFrmFmts& rTbl = *pDoc->GetSpzFrmFmts();
- const SwPosition* pAPos;
for ( sal_uInt16 i = rTbl.Count(); i; )
{
SwFrmFmt *pFmt = rTbl[--i];
const SwFmtAnchor &rAnch = pFmt->GetAnchor();
- if( ( rAnch.GetAnchorId() == FLY_AT_CNTNT ||
- rAnch.GetAnchorId() == FLY_AUTO_CNTNT ) &&
- 0 != ( pAPos = rAnch.GetCntntAnchor() ) &&
+ SwPosition const*const pAPos = rAnch.GetCntntAnchor();
+ if (pAPos &&
+ ((rAnch.GetAnchorId() == FLY_AT_PARA) ||
+ (rAnch.GetAnchorId() == FLY_AT_CHAR)) &&
( bDelFwrd
? rMkNdIdx < pAPos->nNode && pAPos->nNode <= rPtNdIdx
: rPtNdIdx <= pAPos->nNode && pAPos->nNode < rMkNdIdx ))
@@ -2620,14 +2615,14 @@ bool SwDoc::DelFullPara( SwPaM& rPam )
// was ist mit Fly's ??
{
// stehen noch FlyFrames rum, loesche auch diese
- const SwPosition* pAPos;
for( sal_uInt16 n = 0; n < GetSpzFrmFmts()->Count(); ++n )
{
SwFrmFmt* pFly = (*GetSpzFrmFmts())[n];
const SwFmtAnchor* pAnchor = &pFly->GetAnchor();
- if( ( FLY_AT_CNTNT == pAnchor->GetAnchorId() ||
- FLY_AUTO_CNTNT == pAnchor->GetAnchorId() ) &&
- 0 != ( pAPos = pAnchor->GetCntntAnchor() ) &&
+ SwPosition const*const pAPos = pAnchor->GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AT_PARA == pAnchor->GetAnchorId()) ||
+ (FLY_AT_CHAR == pAnchor->GetAnchorId())) &&
aRg.aStart <= pAPos->nNode && pAPos->nNode <= aRg.aEnd )
{
DelLayoutFmt( pFly );
diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index 05a3efac0e..54cb12e9db 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docfld.cxx,v $
- * $Revision: 1.34 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -39,14 +36,10 @@
#include <tools/datetime.hxx>
#ifndef _SVSTDARR_HXX
#define _SVSTDARR_ULONGS
-#include <svtools/svarray.hxx>
+#include <svl/svarray.hxx>
#endif
-#ifndef _APP_HXX //autogen
#include <vcl/svapp.hxx>
-#endif
-#ifndef _APP_HXX //autogen
#include <vcl/svapp.hxx>
-#endif
#include <unotools/charclass.hxx>
#include <unotools/transliterationwrapper.hxx>
#include <doc.hxx>
@@ -69,14 +62,13 @@
#include <chpfld.hxx>
#include <reffld.hxx>
#include <flddropdown.hxx>
-#ifndef _DBMGR_HXX
#include <dbmgr.hxx>
-#endif
#include <section.hxx>
#include <cellatr.hxx>
#include <docary.hxx>
#include <authfld.hxx>
#include <txtinet.hxx>
+#include <fmtcntnt.hxx>
#ifndef _POOLFMT_HRC
#include <poolfmt.hrc> // fuer InitFldTypes
#endif
@@ -601,7 +593,7 @@ void SwDoc::UpdateTblFlds( SfxPoolItem* pHt )
{
if( aPara.CalcWithStackOverflow() )
pFld->CalcField( aPara );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
{
// mind. ein ASSERT
@@ -669,7 +661,7 @@ void SwDoc::UpdateTblFlds( SfxPoolItem* pHt )
{
if( aPara.CalcWithStackOverflow() )
pFml->Calc( aPara, nValue );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
{
// mind. ein ASSERT
@@ -907,7 +899,7 @@ void _SetGetExpFld::SetBodyPos( const SwCntntFrm& rFrm )
SwNodeIndex aIdx( *rFrm.GetNode() );
SwDoc& rDoc = *aIdx.GetNodes().GetDoc();
SwPosition aPos( aIdx );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( ::GetBodyTxtNode( rDoc, aPos, rFrm ), "wo steht das Feld" );
#else
::GetBodyTxtNode( rDoc, aPos, rFrm );
@@ -2551,7 +2543,7 @@ void SwDocUpdtFld::GetBodyNode( const SwTxtFld& rTFld, USHORT nFldWhich )
{
// einen Index fuers bestimmen vom TextNode anlegen
SwPosition aPos( rDoc.GetNodes().GetEndOfPostIts() );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( GetBodyTxtNode( rDoc, aPos, *pFrm ), "wo steht das Feld" );
#else
GetBodyTxtNode( rDoc, aPos, *pFrm );
@@ -2599,7 +2591,7 @@ void SwDocUpdtFld::GetBodyNode( const SwSectionNode& rSectNd )
if( !pFrm )
break;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( GetBodyTxtNode( rDoc, aPos, *pFrm ), "wo steht das Feld" );
#else
GetBodyTxtNode( rDoc, aPos, *pFrm );
diff --git a/sw/source/core/doc/docfly.cxx b/sw/source/core/doc/docfly.cxx
index e0645fcdc1..20055dd8d5 100644
--- a/sw/source/core/doc/docfly.cxx
+++ b/sw/source/core/doc/docfly.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docfly.cxx,v $
- * $Revision: 1.34 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#include <svx/svdobj.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdmodel.hxx>
@@ -181,7 +178,7 @@ Point lcl_FindAnchorLayPos( SwDoc& rDoc, const SwFmtAnchor& rAnch,
if( rDoc.GetRootFrm() )
switch( rAnch.GetAnchorId() )
{
- case FLY_IN_CNTNT:
+ case FLY_AS_CHAR:
if( pFlyFmt && rAnch.GetCntntAnchor() )
{
const SwFrm* pOld = ((SwFlyFrmFmt*)pFlyFmt)->GetFrm( &aRet, FALSE );
@@ -190,8 +187,8 @@ Point lcl_FindAnchorLayPos( SwDoc& rDoc, const SwFmtAnchor& rAnch,
}
break;
- case FLY_AT_CNTNT:
- case FLY_AUTO_CNTNT: // LAYER_IMPL
+ case FLY_AT_PARA:
+ case FLY_AT_CHAR: // LAYER_IMPL
if( rAnch.GetCntntAnchor() )
{
const SwPosition *pPos = rAnch.GetCntntAnchor();
@@ -213,7 +210,7 @@ Point lcl_FindAnchorLayPos( SwDoc& rDoc, const SwFmtAnchor& rAnch,
}
break;
- case FLY_PAGE:
+ case FLY_AT_PAGE:
{
USHORT nPgNum = rAnch.GetPageNum();
const SwPageFrm *pPage = (SwPageFrm*)rDoc.GetRootFrm()->Lower();
@@ -249,9 +246,11 @@ sal_Int8 SwDoc::SetFlyFrmAnchor( SwFrmFmt& rFmt, SfxItemSet& rSet, BOOL bNewFrms
// ist der neue ein gueltiger Anker?
if( !aNewAnch.GetCntntAnchor() && (FLY_AT_FLY == nNew ||
- FLY_AT_CNTNT == nNew || FLY_IN_CNTNT == nNew ||
- FLY_AUTO_CNTNT == nNew ))
+ (FLY_AT_PARA == nNew) || (FLY_AS_CHAR == nNew) ||
+ (FLY_AT_CHAR == nNew) ))
+ {
return IGNOREANCHOR;
+ }
if( nOld == nNew )
return DONTMAKEFRMS;
@@ -264,7 +263,7 @@ sal_Int8 SwDoc::SetFlyFrmAnchor( SwFrmFmt& rFmt, SfxItemSet& rSet, BOOL bNewFrms
//doppeltes hiden waere so eine art Show!
rFmt.DelFrms();
- if( FLY_IN_CNTNT == nOld )
+ if ( FLY_AS_CHAR == nOld )
{
//Bei InCntnt's wird es spannend: Das TxtAttribut muss vernichtet
//werden. Leider reisst dies neben den Frms auch noch das Format mit
@@ -295,7 +294,7 @@ sal_Int8 SwDoc::SetFlyFrmAnchor( SwFrmFmt& rFmt, SfxItemSet& rSet, BOOL bNewFrms
const SfxPoolItem* pItem;
switch( nNew )
{
- case FLY_IN_CNTNT:
+ case FLY_AS_CHAR:
//Wenn keine Positionsattribute hereinkommen, dann muss dafuer
//gesorgt werden, das keine unerlaubte automatische Ausrichtung
//bleibt.
@@ -326,10 +325,10 @@ sal_Int8 SwDoc::SetFlyFrmAnchor( SwFrmFmt& rFmt, SfxItemSet& rSet, BOOL bNewFrms
}
break;
- case FLY_AT_CNTNT:
- case FLY_AUTO_CNTNT: // LAYER_IMPL
+ case FLY_AT_PARA:
+ case FLY_AT_CHAR: // LAYER_IMPL
case FLY_AT_FLY: // LAYER_IMPL
- case FLY_PAGE:
+ case FLY_AT_PAGE:
{
//Wenn keine Positionsattribute hereinschneien korrigieren wir
//die Position so, dass die Dokumentkoordinaten des Flys erhalten
@@ -345,7 +344,7 @@ sal_Int8 SwDoc::SetFlyFrmAnchor( SwFrmFmt& rFmt, SfxItemSet& rSet, BOOL bNewFrms
if( text::HoriOrientation::NONE == aOldH.GetHoriOrient() && ( !pItem ||
aOldH.GetPos() == ((SwFmtHoriOrient*)pItem)->GetPos() ))
{
- SwTwips nPos = FLY_IN_CNTNT == nOld ? 0 : aOldH.GetPos();
+ SwTwips nPos = (FLY_AS_CHAR == nOld) ? 0 : aOldH.GetPos();
nPos += aOldAnchorPos.X() - aNewAnchorPos.X();
if( pItem )
@@ -367,7 +366,7 @@ sal_Int8 SwDoc::SetFlyFrmAnchor( SwFrmFmt& rFmt, SfxItemSet& rSet, BOOL bNewFrms
if( text::VertOrientation::NONE == aOldV.GetVertOrient() && (!pItem ||
aOldV.GetPos() == ((SwFmtVertOrient*)pItem)->GetPos() ) )
{
- SwTwips nPos = FLY_IN_CNTNT == nOld ? 0 : aOldV.GetPos();
+ SwTwips nPos = (FLY_AS_CHAR == nOld) ? 0 : aOldV.GetPos();
nPos += aOldAnchorPos.Y() - aNewAnchorPos.Y();
if( pItem )
{
@@ -677,7 +676,7 @@ sal_Bool SwDoc::ChgAnchor( const SdrMarkList& _rMrkList,
// Continue with next selected object and assert, if this isn't excepted.
if ( !pContact )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bool bNoUserCallExcepted =
pObj->ISA(SwDrawVirtObj) &&
!static_cast<SwDrawVirtObj*>(pObj)->IsConnected();
@@ -698,7 +697,7 @@ sal_Bool SwDoc::ChgAnchor( const SdrMarkList& _rMrkList,
// xub_StrLen nIndx = STRING_NOTFOUND;
const SwPosition* pOldAsCharAnchorPos( 0L );
const RndStdIds eOldAnchorType = pContact->GetAnchorId();
- if ( !_bSameOnly && eOldAnchorType == FLY_IN_CNTNT )
+ if ( !_bSameOnly && eOldAnchorType == FLY_AS_CHAR )
{
pOldAsCharAnchorPos = new SwPosition( pContact->GetCntntAnchor() );
}
@@ -713,8 +712,8 @@ sal_Bool SwDoc::ChgAnchor( const SdrMarkList& _rMrkList,
switch ( _eAnchorType )
{
- case FLY_AT_CNTNT:
- case FLY_AUTO_CNTNT:
+ case FLY_AT_PARA:
+ case FLY_AT_CHAR:
{
const Point aNewPoint = pOldAnchorFrm &&
( pOldAnchorFrm->IsVertical() ||
@@ -768,10 +767,10 @@ sal_Bool SwDoc::ChgAnchor( const SdrMarkList& _rMrkList,
break;
}
- aNewAnch.SetType( FLY_PAGE );
+ aNewAnch.SetType( FLY_AT_PAGE );
// no break
}
- case FLY_PAGE:
+ case FLY_AT_PAGE:
{
pNewAnchorFrm = GetRootFrm()->Lower();
while ( pNewAnchorFrm && !pNewAnchorFrm->Frm().IsInside( aPt ) )
@@ -782,7 +781,7 @@ sal_Bool SwDoc::ChgAnchor( const SdrMarkList& _rMrkList,
aNewAnch.SetPageNum( ((SwPageFrm*)pNewAnchorFrm)->GetPhyPageNum());
}
break;
- case FLY_IN_CNTNT:
+ case FLY_AS_CHAR:
if( _bSameOnly ) // Positions/Groessenaenderung
{
if( !pOldAnchorFrm )
@@ -805,7 +804,7 @@ sal_Bool SwDoc::ChgAnchor( const SdrMarkList& _rMrkList,
bUnmark = ( 0 != i );
Point aPoint( aPt );
aPoint.X() -= 1; // nicht im DrawObj landen!!
- aNewAnch.SetType( FLY_IN_CNTNT );
+ aNewAnch.SetType( FLY_AS_CHAR );
SwPosition aPos( *((SwCntntFrm*)pNewAnchorFrm)->GetNode() );
if ( pNewAnchorFrm->Frm().IsInside( aPoint ) )
{
@@ -839,7 +838,7 @@ sal_Bool SwDoc::ChgAnchor( const SdrMarkList& _rMrkList,
ASSERT( !this, "unexpected AnchorId." );
}
- if ( (FLY_IN_CNTNT != _eAnchorType) &&
+ if ( (FLY_AS_CHAR != _eAnchorType) &&
pNewAnchorFrm &&
( !_bSameOnly || pNewAnchorFrm != pOldAnchorFrm ) )
{
@@ -949,8 +948,8 @@ int SwDoc::Chainable( const SwFrmFmt &rSource, const SwFrmFmt &rDest )
const SwFmtAnchor& rAnchor = (*GetSpzFrmFmts())[ n ]->GetAnchor();
ULONG nTstSttNd;
// OD 11.12.2003 #i20622# - to-frame anchored objects are allowed.
- if ( ( rAnchor.GetAnchorId() == FLY_AT_CNTNT ||
- rAnchor.GetAnchorId() == FLY_AUTO_CNTNT ) &&
+ if ( ((rAnchor.GetAnchorId() == FLY_AT_PARA) ||
+ (rAnchor.GetAnchorId() == FLY_AT_CHAR)) &&
0 != rAnchor.GetCntntAnchor() &&
nFlySttNd <= ( nTstSttNd =
rAnchor.GetCntntAnchor()->nNode.GetIndex() ) &&
@@ -971,9 +970,9 @@ int SwDoc::Chainable( const SwFrmFmt &rSource, const SwFrmFmt &rDest )
&rDstAnchor = rDest.GetAnchor();
ULONG nEndOfExtras = GetNodes().GetEndOfExtras().GetIndex();
BOOL bAllowed = FALSE;
- if( FLY_PAGE == rSrcAnchor.GetAnchorId() )
+ if ( FLY_AT_PAGE == rSrcAnchor.GetAnchorId() )
{
- if( FLY_PAGE == rDstAnchor.GetAnchorId() ||
+ if ( (FLY_AT_PAGE == rDstAnchor.GetAnchorId()) ||
( rDstAnchor.GetCntntAnchor() &&
rDstAnchor.GetCntntAnchor()->nNode.GetIndex() > nEndOfExtras ))
bAllowed = TRUE;
diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx
index 3151e2f291..28eeb72247 100644
--- a/sw/source/core/doc/docfmt.cxx
+++ b/sw/source/core/doc/docfmt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docfmt.cxx,v $
- * $Revision: 1.52 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,20 +34,20 @@
#define _SVSTDARR_USHORTS
#include <hintids.hxx>
#include <rtl/logfile.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#include <sfx2/app.hxx>
-#include <svtools/misccfg.hxx>
-#include <svx/tstpitem.hxx>
-#include <svx/eeitem.hxx>
-#include <svx/langitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/brkitem.hxx>
-#include <svtools/whiter.hxx>
+#include <editeng/tstpitem.hxx>
+#include <editeng/eeitem.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/brkitem.hxx>
+#include <svl/whiter.hxx>
#ifndef _ZFORLIST_HXX //autogen
#define _ZFORLIST_DECLARE_TABLE
-#include <svtools/zforlist.hxx>
+#include <svl/zforlist.hxx>
#endif
#include <comphelper/processfactory.hxx>
+#include <unotools/misccfg.hxx>
#include <com/sun/star/i18n/WordType.hdl>
#include <fmtpdsc.hxx>
#include <fmthdft.hxx>
@@ -2453,7 +2450,7 @@ void SwDoc::_CreateNumberFormatter()
Reference< XMultiServiceFactory > xMSF = ::comphelper::getProcessServiceFactory();
pNumberFormatter = new SvNumberFormatter( xMSF, eLang );
pNumberFormatter->SetEvalDateFormat( NF_EVALDATEFORMAT_FORMAT_INTL );
- pNumberFormatter->SetYear2000(static_cast<USHORT>(SFX_APP()->GetMiscConfig()->GetYear2000()));
+ pNumberFormatter->SetYear2000(static_cast<USHORT>(::utl::MiscCfg().GetYear2000()));
}
@@ -2669,18 +2666,18 @@ namespace docfunc
if ( !pParentTxtFmtColl )
continue;
- // --> OD 2007-12-07 #i77708#
- // consider that explicitly no list style is set - empty string
- // at numrule item.
-// const SwNumRuleItem& rDirectItem = pParentTxtFmtColl->GetNumRule();
-// if ( rDirectItem.GetValue().Len() != 0 )
if ( SFX_ITEM_SET == pParentTxtFmtColl->GetItemState( RES_PARATR_NUMRULE ) )
{
- bRet = true;
- break;
+ // --> OD 2009-11-12 #i106218#
+ // consider that the outline style is set
+ const SwNumRuleItem& rDirectItem = pParentTxtFmtColl->GetNumRule();
+ if ( rDirectItem.GetValue() != rDoc.GetOutlineNumRule()->GetName() )
+ {
+ bRet = true;
+ break;
+ }
+ // <--
}
- // <--
-
}
}
diff --git a/sw/source/core/doc/docftn.cxx b/sw/source/core/doc/docftn.cxx
index 8a147d8b58..9af54315b2 100644
--- a/sw/source/core/doc/docftn.cxx
+++ b/sw/source/core/doc/docftn.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docftn.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/docglbl.cxx b/sw/source/core/doc/docglbl.cxx
index 1d39e35de2..140ef24b95 100644
--- a/sw/source/core/doc/docglbl.cxx
+++ b/sw/source/core/doc/docglbl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docglbl.cxx,v $
- * $Revision: 1.25 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,9 +31,9 @@
#include <hintids.hxx>
#include <unotools/tempfile.hxx>
-#include <svtools/urihelper.hxx>
-#include <svtools/stritem.hxx>
-#include <svtools/eitem.hxx>
+#include <svl/urihelper.hxx>
+#include <svl/stritem.hxx>
+#include <svl/eitem.hxx>
#include <sfx2/app.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/docfilt.hxx>
@@ -49,12 +46,8 @@
#include <docary.hxx>
#include <pam.hxx>
#include <ndtxt.hxx>
-#ifndef _DOCSH_HXX
#include <docsh.hxx>
-#endif
-#ifndef _GLOBDOC_HXX
#include <globdoc.hxx>
-#endif
#include <shellio.hxx>
#include <swundo.hxx> // fuer die UndoIds
#include <section.hxx>
@@ -371,14 +364,15 @@ BOOL SwDoc::SplitDoc( USHORT eDocType, const String& rPath,
CorrAbs( aSIdx, aEIdx, *aTmp.GetPoint(), TRUE);
// stehen noch FlyFrames rum, loesche auch diese
- const SwPosition* pAPos;
for( USHORT n = 0; n < GetSpzFrmFmts()->Count(); ++n )
{
SwFrmFmt* pFly = (*GetSpzFrmFmts())[n];
const SwFmtAnchor* pAnchor = &pFly->GetAnchor();
- if( ( FLY_AT_CNTNT == pAnchor->GetAnchorId() ||
- FLY_AUTO_CNTNT == pAnchor->GetAnchorId() ) &&
- 0 != ( pAPos = pAnchor->GetCntntAnchor() ) &&
+ SwPosition const*const pAPos =
+ pAnchor->GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AT_PARA == pAnchor->GetAnchorId()) ||
+ (FLY_AT_CHAR == pAnchor->GetAnchorId())) &&
aSIdx <= pAPos->nNode &&
pAPos->nNode < aEIdx )
{
@@ -717,14 +711,15 @@ BOOL SwDoc::SplitDoc( USHORT eDocType, const String& rPath, int nOutlineLevel )
CorrAbs( aSIdx, aEIdx, *aTmp.GetPoint(), TRUE);
// stehen noch FlyFrames rum, loesche auch diese
- const SwPosition* pAPos;
for( USHORT n = 0; n < GetSpzFrmFmts()->Count(); ++n )
{
SwFrmFmt* pFly = (*GetSpzFrmFmts())[n];
const SwFmtAnchor* pAnchor = &pFly->GetAnchor();
- if( ( FLY_AT_CNTNT == pAnchor->GetAnchorId() ||
- FLY_AUTO_CNTNT == pAnchor->GetAnchorId() ) &&
- 0 != ( pAPos = pAnchor->GetCntntAnchor() ) &&
+ SwPosition const*const pAPos =
+ pAnchor->GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AT_PARA == pAnchor->GetAnchorId()) ||
+ (FLY_AT_CHAR == pAnchor->GetAnchorId())) &&
aSIdx <= pAPos->nNode &&
pAPos->nNode < aEIdx )
{
diff --git a/sw/source/core/doc/docglos.cxx b/sw/source/core/doc/docglos.cxx
index 39b1065201..fbfed56371 100644
--- a/sw/source/core/doc/docglos.cxx
+++ b/sw/source/core/doc/docglos.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docglos.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx
index fe244d4957..d30bf44689 100644
--- a/sw/source/core/doc/doclay.cxx
+++ b/sw/source/core/doc/doclay.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: doclay.cxx,v $
- * $Revision: 1.59 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,26 +28,26 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-#include <svtools/linguprops.hxx>
-#include <svtools/lingucfg.hxx>
+#include <unotools/linguprops.hxx>
+#include <unotools/lingucfg.hxx>
#include <com/sun/star/embed/EmbedStates.hpp>
#include <hintids.hxx>
#include <com/sun/star/util/XCloseable.hpp>
#include <sfx2/progress.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svdpage.hxx>
-#include <svx/keepitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/shaditem.hxx>
-#include <svx/protitem.hxx>
-#include <svx/opaqitem.hxx>
-#include <svx/prntitem.hxx>
+#include <editeng/keepitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/shaditem.hxx>
+#include <editeng/protitem.hxx>
+#include <editeng/opaqitem.hxx>
+#include <editeng/prntitem.hxx>
#include <svx/fmglob.hxx>
#include <svx/svdouno.hxx>
#include <svx/fmpage.hxx>
-#include <svx/frmdiritem.hxx>
+#include <editeng/frmdiritem.hxx>
#include <swmodule.hxx>
#include <modcfg.hxx>
@@ -68,9 +65,7 @@
#include <fmtfsize.hxx>
#include <fmtsrnd.hxx>
#include <fmtflcnt.hxx>
-#ifndef _FRMCNCT_HXX //autogen
#include <fmtcnct.hxx>
-#endif
#include <frmfmt.hxx>
#include <dcontact.hxx>
#include <txtflcnt.hxx>
@@ -85,9 +80,7 @@
#include <cntfrm.hxx>
#include <flyfrm.hxx>
#include <fesh.hxx>
-#ifndef _DOCSH_HXX
#include <docsh.hxx>
-#endif
#include <dflyobj.hxx>
#include <dcontact.hxx>
#include <swundo.hxx>
@@ -212,14 +205,13 @@ SwFrmFmt *SwDoc::MakeLayoutFmt( RndStdIds eRequest, const SfxItemSet* pSet )
}
break;
-#ifndef PRODUCT
- case FLY_PAGE:
- case FLY_AUTO_CNTNT:
+#ifdef DBG_UTIL
+ case FLY_AT_PAGE:
+ case FLY_AT_CHAR:
case FLY_AT_FLY:
- case FLY_AT_CNTNT:
- case FLY_IN_CNTNT:
- ASSERT( !this,
- "neue Schnittstelle benutzen: SwDoc::MakeFlySection!" );
+ case FLY_AT_PARA:
+ case FLY_AS_CHAR:
+ ASSERT( false, "use new interface instead: SwDoc::MakeFlySection!" );
break;
#endif
@@ -358,7 +350,7 @@ void SwDoc::DelLayoutFmt( SwFrmFmt *pFmt )
// ggfs. bei Zeichengebundenen Flys das Zeichen loeschen
const SwFmtAnchor& rAnchor = pFmt->GetAnchor();
- if( FLY_IN_CNTNT == rAnchor.GetAnchorId() && rAnchor.GetCntntAnchor())
+ if ((FLY_AS_CHAR == rAnchor.GetAnchorId()) && rAnchor.GetCntntAnchor())
{
const SwPosition* pPos = rAnchor.GetCntntAnchor();
SwTxtNode *pTxtNd = pPos->nNode.GetNode().GetTxtNode();
@@ -422,9 +414,9 @@ SwFrmFmt *SwDoc::CopyLayoutFmt( const SwFrmFmt& rSource,
static_cast<const SwDrawContact*>( rSource.FindContactObj() );
bMayNotCopy =
- ( FLY_AT_CNTNT == rNewAnchor.GetAnchorId() ||
- FLY_AT_FLY == rNewAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rNewAnchor.GetAnchorId() ) &&
+ ((FLY_AT_PARA == rNewAnchor.GetAnchorId()) ||
+ (FLY_AT_FLY == rNewAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rNewAnchor.GetAnchorId())) &&
rNewAnchor.GetCntntAnchor() &&
IsInHeaderFooter( rNewAnchor.GetCntntAnchor()->nNode ) &&
pDrawContact != NULL &&
@@ -551,7 +543,7 @@ SwFrmFmt *SwDoc::CopyLayoutFmt( const SwFrmFmt& rSource,
}
}
- if( bSetTxtFlyAtt && FLY_IN_CNTNT == rNewAnchor.GetAnchorId() )
+ if (bSetTxtFlyAtt && (FLY_AS_CHAR == rNewAnchor.GetAnchorId()))
{
const SwPosition* pPos = rNewAnchor.GetCntntAnchor();
SwFmtFlyCnt aFmt( pDest );
@@ -660,7 +652,7 @@ SwFlyFrmFmt* SwDoc::_MakeFlySection( const SwPosition& rAnchPos,
RndStdIds eAnchorId = pAnchor ? pAnchor->GetAnchorId()
: pFmt->GetAnchor().GetAnchorId();
if( !pAnchor ||
- (FLY_PAGE != pAnchor->GetAnchorId() &&
+ ((FLY_AT_PAGE != pAnchor->GetAnchorId()) &&
//Nur Page und nicht:
// FLY_AT_CNTNT == pAnchor->GetAnchorId() ||
// FLY_IN_CNTNT == pAnchor->GetAnchorId() ||
@@ -670,7 +662,7 @@ SwFlyFrmFmt* SwDoc::_MakeFlySection( const SwPosition& rAnchPos,
{
// dann setze ihn, wird im Undo gebraucht
SwFmtAnchor aAnch( pFmt->GetAnchor() );
- if( pAnchor && FLY_AT_FLY == pAnchor->GetAnchorId() )
+ if (pAnchor && (FLY_AT_FLY == pAnchor->GetAnchorId()))
{
SwPosition aPos( *rAnchPos.nNode.GetNode().FindFlyStartNode() );
aAnch.SetAnchor( &aPos );
@@ -683,7 +675,7 @@ SwFlyFrmFmt* SwDoc::_MakeFlySection( const SwPosition& rAnchPos,
aAnch.SetType( eRequestId );
eAnchorId = aAnch.GetAnchorId();
- if ( FLY_PAGE != eAnchorId )
+ if ( FLY_AT_PAGE != eAnchorId )
//Nur Page und nicht:
// if( FLY_AT_CNTNT == eAnchorId || FLY_IN_CNTNT == eAnchorId ||
// FLY_AT_FLY == eAnchorId || FLY_AUTO_CNTNT == eAnchorId )
@@ -694,7 +686,7 @@ SwFlyFrmFmt* SwDoc::_MakeFlySection( const SwPosition& rAnchPos,
else
eAnchorId = pFmt->GetAnchor().GetAnchorId();
- if( FLY_IN_CNTNT == eAnchorId )
+ if ( FLY_AS_CHAR == eAnchorId )
{
xub_StrLen nStt = rAnchPos.nContent.GetIndex();
SwTxtNode * pTxtNode = rAnchPos.nNode.GetNode().GetTxtNode();
@@ -751,7 +743,7 @@ SwFlyFrmFmt* SwDoc::MakeFlySection( RndStdIds eAnchorType,
{
SwFlyFrmFmt* pFmt = 0;
sal_Bool bCallMake = sal_True;
- if( !pAnchorPos && FLY_PAGE != eAnchorType )
+ if ( !pAnchorPos && (FLY_AT_PAGE != eAnchorType) )
{
const SwFmtAnchor* pAnch;
if( (pFlySet && SFX_ITEM_SET == pFlySet->GetItemState(
@@ -759,9 +751,14 @@ SwFlyFrmFmt* SwDoc::MakeFlySection( RndStdIds eAnchorType,
( pFrmFmt && SFX_ITEM_SET == pFrmFmt->GetItemState(
RES_ANCHOR, sal_True, (const SfxPoolItem**)&pAnch )) )
{
- if( FLY_PAGE != pAnch->GetAnchorId() &&
- 0 == ( pAnchorPos = pAnch->GetCntntAnchor() ) )
- bCallMake = sal_False;
+ if ( (FLY_AT_PAGE != pAnch->GetAnchorId()) )
+ {
+ pAnchorPos = pAnch->GetCntntAnchor();
+ if (pAnchorPos)
+ {
+ bCallMake = sal_False;
+ }
+ }
}
}
@@ -944,7 +941,7 @@ SwDrawFrmFmt* SwDoc::Insert( const SwPaM &rRg,
// Anker noch nicht gesetzt ?
// DrawObjecte duerfen niemals in Kopf-/Fusszeilen landen.
- sal_Bool bIsAtCntnt = FLY_PAGE != eAnchorId;
+ const bool bIsAtCntnt = (FLY_AT_PAGE != eAnchorId);
// FLY_AT_CNTNT == eAnchorId || FLY_IN_CNTNT == eAnchorId ||
// FLY_AT_FLY == eAnchorId || FLY_AUTO_CNTNT == eAnchorId;
@@ -966,7 +963,7 @@ SwDrawFrmFmt* SwDoc::Insert( const SwPaM &rRg,
::CheckControlLayer( &rDrawObj ) &&
IsInHeaderFooter( *pChkIdx ) )
{
- pFmt->SetFmtAttr( SwFmtAnchor( eAnchorId = FLY_PAGE ) );
+ pFmt->SetFmtAttr( SwFmtAnchor( eAnchorId = FLY_AT_PAGE ) );
}
else if( !pAnchor || (bIsAtCntnt && !pAnchor->GetCntntAnchor() ))
{
@@ -981,10 +978,10 @@ SwDrawFrmFmt* SwDoc::Insert( const SwPaM &rRg,
else
{
aAnch.SetAnchor( rRg.GetPoint() );
- if( FLY_PAGE == eAnchorId )
+ if ( FLY_AT_PAGE == eAnchorId )
{
eAnchorId = rDrawObj.ISA( SdrUnoObj )
- ? FLY_IN_CNTNT : FLY_AT_CNTNT;
+ ? FLY_AS_CHAR : FLY_AT_PARA;
aAnch.SetType( eAnchorId );
}
}
@@ -992,7 +989,7 @@ SwDrawFrmFmt* SwDoc::Insert( const SwPaM &rRg,
}
// bei als Zeichen gebundenen Draws das Attribut im Absatz setzen
- if( FLY_IN_CNTNT == eAnchorId )
+ if ( FLY_AS_CHAR == eAnchorId )
{
xub_StrLen nStt = rRg.GetPoint()->nContent.GetIndex();
SwFmtFlyCnt aFmt( pFmt );
@@ -1063,7 +1060,7 @@ sal_Bool TstFlyRange( const SwPaM* pPam, const SwPosition* pFlyPos,
const SwPosition* pPaMEnd = pTmp->End();
const sal_uInt32 nPamStartIndex = pPaMStart->nNode.GetIndex();
const sal_uInt32 nPamEndIndex = pPaMEnd->nNode.GetIndex();
- if(FLY_AT_CNTNT == nAnchorId)
+ if (FLY_AT_PARA == nAnchorId)
bOk = (nPamStartIndex < nFlyIndex && nPamEndIndex > nFlyIndex) ||
(((nPamStartIndex == nFlyIndex) && (pPaMStart->nContent.GetIndex() == 0)) &&
(nPamEndIndex > nFlyIndex));
@@ -1091,7 +1088,6 @@ void SwDoc::GetAllFlyFmts( SwPosFlyFrms& rPosFlyFmts,
const SwPaM* pCmpRange, sal_Bool bDrawAlso ) const
{
SwPosFlyFrm *pFPos = 0;
- const SwPosition* pAPos;
SwFrmFmt *pFly;
// erstmal alle Absatzgebundenen einsammeln
@@ -1103,10 +1099,11 @@ void SwDoc::GetAllFlyFmts( SwPosFlyFrms& rPosFlyFmts,
if( bFlyFmt || bDrawFmt )
{
const SwFmtAnchor& rAnchor = pFly->GetAnchor();
- if( ( FLY_AT_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AT_FLY == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() ) &&
- 0 != ( pAPos = rAnchor.GetCntntAnchor()) )
+ SwPosition const*const pAPos = rAnchor.GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AT_PARA == rAnchor.GetAnchorId()) ||
+ (FLY_AT_FLY == rAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rAnchor.GetAnchorId())))
{
if( pCmpRange &&
!TstFlyRange( pCmpRange, pAPos, rAnchor.GetAnchorId() ))
@@ -1140,9 +1137,9 @@ void SwDoc::GetAllFlyFmts( SwPosFlyFrms& rPosFlyFmts,
continue;
const SwFmtAnchor& rAnchor = pFly->GetAnchor();
- if( FLY_AT_CNTNT != rAnchor.GetAnchorId() &&
- FLY_AT_FLY != rAnchor.GetAnchorId() &&
- FLY_AUTO_CNTNT != rAnchor.GetAnchorId() )
+ if ((FLY_AT_PARA != rAnchor.GetAnchorId()) &&
+ (FLY_AT_FLY != rAnchor.GetAnchorId()) &&
+ (FLY_AT_CHAR != rAnchor.GetAnchorId()))
{
const SwCntntFrm * pCntntFrm = pPage->FindFirstBodyCntnt();
if ( !pCntntFrm )
@@ -1387,7 +1384,7 @@ SwFlyFrmFmt* SwDoc::InsertLabel( const SwLabelType eType, const String &rTxt, co
//loesen wir vorher die Verbindung zwischen Attribut und Format.
const SwFmtAnchor& rAnchor = pNewFmt->GetAnchor();
- if( FLY_IN_CNTNT == rAnchor.GetAnchorId() )
+ if ( FLY_AS_CHAR == rAnchor.GetAnchorId() )
{
const SwPosition *pPos = rAnchor.GetCntntAnchor();
SwTxtNode *pTxtNode = pPos->nNode.GetNode().GetTxtNode();
@@ -1433,7 +1430,7 @@ SwFlyFrmFmt* SwDoc::InsertLabel( const SwLabelType eType, const String &rTxt, co
pNewSet->Put( SvxULSpaceItem(RES_UL_SPACE) );
//Der Alte ist absatzgebunden, und zwar am Absatz im neuen.
- SwFmtAnchor aAnch( FLY_AT_CNTNT );
+ SwFmtAnchor aAnch( FLY_AT_PARA );
SwNodeIndex aAnchIdx( *pNewFmt->GetCntnt().GetCntntIdx(), 1 );
pNew = aAnchIdx.GetNode().GetTxtNode();
SwPosition aPos( aAnchIdx );
@@ -1684,7 +1681,7 @@ SwFlyFrmFmt* SwDoc::InsertDrawLabel( const String &rTxt,
pNewFmt->SetFmtAttr( *pNewSet );
const SwFmtAnchor& rAnchor = pNewFmt->GetAnchor();
- if( FLY_IN_CNTNT == rAnchor.GetAnchorId() )
+ if ( FLY_AS_CHAR == rAnchor.GetAnchorId() )
{
const SwPosition *pPos = rAnchor.GetCntntAnchor();
SwTxtNode *pTxtNode = pPos->nNode.GetNode().GetTxtNode();
@@ -1693,7 +1690,7 @@ SwFlyFrmFmt* SwDoc::InsertDrawLabel( const String &rTxt,
SwTxtAttr * const pHnt =
pTxtNode->GetTxtAttrForCharAt( nIdx, RES_TXTATR_FLYCNT );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( pHnt && pHnt->Which() == RES_TXTATR_FLYCNT,
"Missing FlyInCnt-Hint." );
ASSERT( pHnt && ((SwFmtFlyCnt&)pHnt->GetFlyCnt()).
@@ -1722,7 +1719,7 @@ SwFlyFrmFmt* SwDoc::InsertDrawLabel( const String &rTxt,
pNewSet->Put( SwFmtHoriOrient( 0, text::HoriOrientation::CENTER, text::RelOrientation::FRAME ) );
//Der Alte ist absatzgebunden, und zwar am Absatz im neuen.
- SwFmtAnchor aAnch( FLY_AT_CNTNT );
+ SwFmtAnchor aAnch( FLY_AT_PARA );
SwNodeIndex aAnchIdx( *pNewFmt->GetCntnt().GetCntntIdx(), 1 );
pNew = aAnchIdx.GetNode().GetTxtNode();
SwPosition aPos( aAnchIdx );
@@ -1878,14 +1875,15 @@ IMPL_LINK( SwDoc, DoIdleJobs, Timer *, pTimer )
if (GetRootFrm()->IsNeedGrammarCheck())
{
BOOL bIsOnlineSpell = pSh->GetViewOptions()->IsOnlineSpell();
-
+
sal_Bool bIsAutoGrammar = sal_False;
- SvtLinguConfig().GetProperty( C2U( UPN_IS_GRAMMAR_AUTO ) ) >>= bIsAutoGrammar;
+ SvtLinguConfig().GetProperty( ::rtl::OUString::createFromAscii(
+ UPN_IS_GRAMMAR_AUTO ) ) >>= bIsAutoGrammar;
if (bIsOnlineSpell && bIsAutoGrammar)
StartGrammarChecking( *this );
}
-
+
sal_uInt16 nFldUpdFlag;
if( GetRootFrm()->IsIdleFormat() )
GetRootFrm()->GetCurrShell()->LayoutIdle();
@@ -2095,15 +2093,17 @@ void SwDoc::SetAllUniqueFlyNames()
if( bLoadedFlag )
{
const SwFmtAnchor& rAnchor = pFlyFmt->GetAnchor();
- if( ( FLY_PAGE == rAnchor.GetAnchorId() &&
- rAnchor.GetCntntAnchor() ) ||
+ if (((FLY_AT_PAGE == rAnchor.GetAnchorId()) &&
+ rAnchor.GetCntntAnchor()) ||
// oder werden DrawObjecte rel. zu irgendetwas ausgerichtet?
( RES_DRAWFRMFMT == pFlyFmt->Which() && (
SFX_ITEM_SET == pFlyFmt->GetItemState(
RES_VERT_ORIENT )||
SFX_ITEM_SET == pFlyFmt->GetItemState(
RES_HORI_ORIENT ))) )
+ {
bLoadedFlag = sal_False;
+ }
}
}
@@ -2200,9 +2200,11 @@ sal_Bool SwDoc::IsInHeaderFooter( const SwNodeIndex& rIdx ) const
if( pIdx && pFlyNd == &pIdx->GetNode() )
{
const SwFmtAnchor& rAnchor = pFmt->GetAnchor();
- if( FLY_PAGE == rAnchor.GetAnchorId() ||
+ if ((FLY_AT_PAGE == rAnchor.GetAnchorId()) ||
!rAnchor.GetCntntAnchor() )
+ {
return sal_False;
+ }
pNd = &rAnchor.GetCntntAnchor()->nNode.GetNode();
pFlyNd = pNd->FindFlyStartNode();
@@ -2247,10 +2249,12 @@ short SwDoc::GetTextDirection( const SwPosition& rPos,
{
pItem = 0;
const SwFmtAnchor* pAnchor = &pFlyFmt->GetAnchor();
- if( FLY_PAGE != pAnchor->GetAnchorId() &&
- pAnchor->GetCntntAnchor() )
+ if ((FLY_AT_PAGE != pAnchor->GetAnchorId()) &&
+ pAnchor->GetCntntAnchor())
+ {
pFlyFmt = pAnchor->GetCntntAnchor()->nNode.
GetNode().GetFlyFmt();
+ }
else
pFlyFmt = 0;
}
diff --git a/sw/source/core/doc/docnew.cxx b/sw/source/core/doc/docnew.cxx
index eb208db2e7..53bf9926ea 100644
--- a/sw/source/core/doc/docnew.cxx
+++ b/sw/source/core/doc/docnew.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docnew.cxx,v $
- * $Revision: 1.89 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -46,15 +43,16 @@
#include <sfx2/printer.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/frame.hxx>
+#include <sfx2/viewfrm.hxx>
-#include <svtools/macitem.hxx>
+#include <svl/macitem.hxx>
#include <svx/svxids.hrc>
#include <svx/svdogrp.hxx>
-#include <svx/linkmgr.hxx>
-#include <svx/forbiddencharacterstable.hxx>
-#include <svtools/zforlist.hxx>
-#include <svtools/compatibility.hxx>
-#include <svtools/lingucfg.hxx>
+#include <sfx2/linkmgr.hxx>
+#include <editeng/forbiddencharacterstable.hxx>
+#include <svl/zforlist.hxx>
+#include <unotools/compatibility.hxx>
+#include <unotools/lingucfg.hxx>
#include <svx/svdpage.hxx>
#include <paratr.hxx>
#include <fchrfmt.hxx>
@@ -90,7 +88,6 @@
#include <viewsh.hxx>
#include <doctxm.hxx>
#include <shellres.hxx>
-#include <unoclbck.hxx>
#include <breakit.hxx>
#include <laycache.hxx>
#include <mvsave.hxx>
@@ -169,15 +166,33 @@ SV_IMPL_PTRARR( SwGrfFmtColls, SwGrfFmtCollPtr)
void StartGrammarChecking( SwDoc &rDoc )
{
- uno::Reference< linguistic2::XProofreadingIterator > xGCIterator( rDoc.GetGCIterator() );
- if ( xGCIterator.is() )
+ // check for a visible view
+ bool bVisible = false;
+ const SwDocShell *pDocShell = rDoc.GetDocShell();
+ SfxViewFrame *pFrame = SfxViewFrame::GetFirst( pDocShell, 0, sal_False );
+ while (pFrame && !bVisible)
+ {
+ if (pFrame->IsVisible())
+ bVisible = true;
+ pFrame = SfxViewFrame::GetNext( *pFrame, pDocShell, 0, sal_False );
+ }
+
+ //!! only documents with visible views need to be checked
+ //!! (E.g. don't check temporary documents created for printing, see printing of notes and selections.
+ //!! Those get created on the fly and get hard deleted a bit later as well, and no one should have
+ //!! a uno reference to them)
+ if (bVisible)
{
- uno::Reference< lang::XComponent > xDoc( rDoc.GetDocShell()->GetBaseModel(), uno::UNO_QUERY );
- uno::Reference< text::XFlatParagraphIteratorProvider > xFPIP( xDoc, uno::UNO_QUERY );
+ uno::Reference< linguistic2::XProofreadingIterator > xGCIterator( rDoc.GetGCIterator() );
+ if ( xGCIterator.is() )
+ {
+ uno::Reference< lang::XComponent > xDoc( rDoc.GetDocShell()->GetBaseModel(), uno::UNO_QUERY );
+ uno::Reference< text::XFlatParagraphIteratorProvider > xFPIP( xDoc, uno::UNO_QUERY );
- // start automatic background checking if not active already
- if ( xFPIP.is() && !xGCIterator->isProofreading( xDoc ) )
- xGCIterator->startProofreading( xDoc, xFPIP );
+ // start automatic background checking if not active already
+ if ( xFPIP.is() && !xGCIterator->isProofreading( xDoc ) )
+ xGCIterator->startProofreading( xDoc, xFPIP );
+ }
}
}
@@ -240,7 +255,7 @@ SwDoc::SwDoc() :
pDocStat( new SwDocStat ),
pDocShell( 0 ),
pDocShRef( 0 ),
- pLinkMgr( new SvxLinkManager( 0 ) ),
+ pLinkMgr( new sfx2::LinkManager( 0 ) ),
pACEWord( 0 ),
pURLStateChgd( 0 ),
pNumberFormatter( 0 ),
@@ -259,7 +274,7 @@ SwDoc::SwDoc() :
pStyleAccess( 0 ),
// <--
pLayoutCache( 0 ),
- pUnoCallBack(new SwUnoCallBack(0)),
+ pUnoCallBack(new SwModify(0)),
mpGrammarContact( 0 ),
aChartDataProviderImplRef(),
pChartControllerHelper( 0 ),
@@ -319,7 +334,7 @@ SwDoc::SwDoc() :
mbInsOnlyTxtGlssry =
mbContains_MSVBasic =
mbKernAsianPunctuation =
-#ifndef PRODUCT
+#ifdef DBG_UTIL
mbXMLExport =
#endif
// --> OD 2006-03-21 #b6375613#
@@ -374,7 +389,7 @@ SwDoc::SwDoc() :
//
pMacroTable = new SvxMacroTableDtor;
-
+
mpGrammarContact = ::createGrammarContact();
/*
@@ -474,7 +489,7 @@ SwDoc::~SwDoc()
// this assures that dipose gets called if there is need for it.
aChartDataProviderImplRef.reset();
delete pChartControllerHelper;
-
+
delete mpGrammarContact;
mpGrammarContact = 0;
@@ -1047,7 +1062,7 @@ SwDoc::GetMetaFieldManager()
return *m_pMetaFieldManager;
}
-void SwDoc::InitTOXTypes()
+void SwDoc::InitTOXTypes()
{
ShellResource* pShellRes = ViewShell::GetShellRes();
SwTOXType * pNew = new SwTOXType(TOX_CONTENT, pShellRes->aTOXContentName );
@@ -1104,7 +1119,7 @@ SwDoc* SwDoc::CreateCopy() const
}
if( aNewDefaults.Count() )
pRet->SetDefault( aNewDefaults );
-
+
/*
pDfltFrmFmt( new SwFrmFmt( GetAttrPool(), sFrmFmtStr, 0 ) ),
pEmptyPageFmt( new SwFrmFmt( GetAttrPool(), sEmptyPageStr, pDfltFrmFmt ) ),
@@ -1139,7 +1154,7 @@ SwDoc* SwDoc::CreateCopy() const
pDocStat( new SwDocStat ),
pDocShell( 0 ),
pDocShRef( 0 ),
- pLinkMgr( new SvxLinkManager( 0 ) ),
+ pLinkMgr( new sfx2::LinkManager( 0 ) ),
pACEWord( 0 ),
pURLStateChgd( 0 ),
pNumberFormatter( 0 ),
@@ -1241,7 +1256,7 @@ SwDoc* SwDoc::CreateCopy() const
// by asking SvtCompatibilityOptions, see below.
//
const SvtCompatibilityOptions aOptions;
- */
+ */
pRet->mbParaSpaceMax = mbParaSpaceMax ;
pRet->mbParaSpaceMaxAtPages = mbParaSpaceMaxAtPages ;
pRet->mbTabCompat = mbTabCompat ;
@@ -1267,20 +1282,20 @@ SwDoc* SwDoc::CreateCopy() const
pRet->mbOldPrinterMetrics = mbOldPrinterMetrics ;
pRet->mbTabRelativeToIndent = mbTabRelativeToIndent ;
pRet->mbTabAtLeftIndentForParagraphsInList = mbTabAtLeftIndentForParagraphsInList ;
-
- //
+
+ //
// COMPATIBILITY FLAGS END
//
/*
pMacroTable = new SvxMacroTableDtor;
-
+
mpGrammarContact = ::createGrammarContact();
// Formate
pFrmFmtTbl->Insert(pDfltFrmFmt, 0 );
pCharFmtTbl->Insert(pDfltCharFmt, 0 );
- // FmtColls
+ // FmtColls
// TXT
pTxtFmtCollTbl->Insert(pDfltTxtFmtColl, 0 );
// GRF
@@ -1353,6 +1368,7 @@ SwDoc* SwDoc::CreateCopy() const
ResetModified();
*/
+ pRet->ReplaceStyles( *(SwDoc*)this );
//copy content
pRet->Paste( *this );
return pRet;
@@ -1415,9 +1431,9 @@ void SwDoc::Paste( const SwDoc& rSource )
if( bInsWithFmt )
{
SwFmtAnchor aAnchor( rCpyFmt.GetAnchor() );
- if( FLY_PAGE == aAnchor.GetAnchorId() )
+ if (FLY_AT_PAGE == aAnchor.GetAnchorId())
{
- aAnchor.SetPageNum( aAnchor.GetPageNum() + /*nStartPageNumber - */1 );
+ aAnchor.SetPageNum( aAnchor.GetPageNum() /*+ nStartPageNumber - */);
}
else
continue;
diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index a3bca434cc..95ba6541c4 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docnum.cxx,v $
- * $Revision: 1.78 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#include <tools/date.hxx>
#include <tools/time.hxx>
#include <tools/resid.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <ftninfo.hxx>
#include <ftnidx.hxx>
#include <doc.hxx>
@@ -55,8 +52,8 @@
#ifndef _COMCORE_HRC
#include <comcore.hrc>
#endif
-#include <svx/adjitem.hxx>
-#include <svx/frmdiritem.hxx>
+#include <editeng/adjitem.hxx>
+#include <editeng/frmdiritem.hxx>
#include <frmatr.hxx>
#include <SwStyleNameMapper.hxx>
#include <SwNodeNum.hxx>
diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx
index e5a5e35f81..db13779ad4 100644
--- a/sw/source/core/doc/docredln.cxx
+++ b/sw/source/core/doc/docredln.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docredln.cxx,v $
- * $Revision: 1.51.122.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,12 +32,12 @@
#include <hintids.hxx>
#include <tools/shl.hxx>
#ifndef _SFX_ITEMITER_HXX //autogen
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#endif
#include <sfx2/app.hxx>
-#include <svx/colritem.hxx>
-#include <svx/udlnitem.hxx>
-#include <svx/crsditem.hxx>
+#include <editeng/colritem.hxx>
+#include <editeng/udlnitem.hxx>
+#include <editeng/crsditem.hxx>
#include <swmodule.hxx>
#include <doc.hxx>
#include <docary.hxx>
@@ -59,7 +56,7 @@ using namespace com::sun::star;
TYPEINIT1(SwRedlineHint, SfxHint);
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#define _CHECK_REDLINE( pDoc )
#define _DEBUG_REDLINE( pDoc )
@@ -310,7 +307,7 @@ Verhalten von Delete-Redline:
bool SwDoc::AppendRedline( SwRedline* pNewRedl, bool bCallDelete )
{
#if 0
-// #i93179# disabled: ASSERT in ~SwIndexReg #ifndef PRODUCT
+// #i93179# disabled: ASSERT in ~SwIndexReg #ifdef DBG_UTIL
SwRedline aCopy( *pNewRedl );
#endif
bool bError = true;
@@ -3698,7 +3695,7 @@ void SwRedline::SetContentIdx( const SwNodeIndex* pIdx )
delete pCntntSect, pCntntSect = 0;
bIsVisible = FALSE;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
ASSERT( !this, "das ist keine gueltige Operation" );
#endif
diff --git a/sw/source/core/doc/docruby.cxx b/sw/source/core/doc/docruby.cxx
index 37d743c0d3..2ef195e72e 100644
--- a/sw/source/core/doc/docruby.cxx
+++ b/sw/source/core/doc/docruby.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docruby.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/docsort.cxx b/sw/source/core/doc/docsort.cxx
index 752b146b9f..81ceef7fa5 100644
--- a/sw/source/core/doc/docsort.cxx
+++ b/sw/source/core/doc/docsort.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docsort.cxx,v $
- * $Revision: 1.20 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,7 +34,7 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/i18n/CollatorOptions.hpp>
#include <comphelper/processfactory.hxx>
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <docary.hxx>
#include <fmtanchr.hxx>
#include <frmfmt.hxx>
@@ -48,9 +45,7 @@
#include <swtable.hxx>
#include <swundo.hxx>
#include <sortopt.hxx>
-#ifndef _DOCSORT_HXX
#include <docsort.hxx>
-#endif
#include <undobj.hxx>
#include <tblsel.hxx>
#include <cellatr.hxx>
@@ -341,18 +336,13 @@ BOOL SwDoc::SortText(const SwPaM& rPaM, const SwSortOptions& rOpt)
const SwPosition *pStart = rPaM.Start(), *pEnd = rPaM.End();
// Index auf den Start der Selektion
- SwFrmFmt* pFmt;
- const SwFmtAnchor* pAnchor;
- const SwPosition* pAPos;
- USHORT n;
-
- for( n = 0; n < GetSpzFrmFmts()->Count(); ++n )
+ for ( USHORT n = 0; n < GetSpzFrmFmts()->Count(); ++n )
{
- pFmt = (SwFrmFmt*)(*GetSpzFrmFmts())[n];
- pAnchor = &pFmt->GetAnchor();
+ SwFrmFmt *const pFmt = static_cast<SwFrmFmt*>((*GetSpzFrmFmts())[n]);
+ SwFmtAnchor const*const pAnchor = &pFmt->GetAnchor();
+ SwPosition const*const pAPos = pAnchor->GetCntntAnchor();
- if( FLY_AT_CNTNT == pAnchor->GetAnchorId() &&
- 0 != (pAPos = pAnchor->GetCntntAnchor() ) &&
+ if (pAPos && (FLY_AT_PARA == pAnchor->GetAnchorId()) &&
pStart->nNode <= pAPos->nNode && pAPos->nNode <= pEnd->nNode )
return FALSE;
}
@@ -444,7 +434,7 @@ BOOL SwDoc::SortText(const SwPaM& rPaM, const SwSortOptions& rOpt)
DoUndo( FALSE );
- for( n = 0; n < aSortArr.Count(); ++n )
+ for ( USHORT n = 0; n < aSortArr.Count(); ++n )
{
SwSortTxtElement* pBox = (SwSortTxtElement*)aSortArr[n];
aStart = nBeg + n;
diff --git a/sw/source/core/doc/docstat.cxx b/sw/source/core/doc/docstat.cxx
index 8455adb859..103d84f98d 100644
--- a/sw/source/core/doc/docstat.cxx
+++ b/sw/source/core/doc/docstat.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docstat.cxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/doctxm.cxx b/sw/source/core/doc/doctxm.cxx
index 57ce88fec8..fde92f6f85 100644
--- a/sw/source/core/doc/doctxm.cxx
+++ b/sw/source/core/doc/doctxm.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: doctxm.cxx,v $
- * $Revision: 1.53 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -36,11 +33,11 @@
#include <hintids.hxx>
#define _SVSTDARR_STRINGSSORT
-#include <svtools/svstdarr.hxx>
-#include <svx/langitem.hxx>
-#include <svx/brkitem.hxx>
-#include <svx/tstpitem.hxx>
-#include <svx/lrspitem.hxx>
+#include <svl/svstdarr.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/brkitem.hxx>
+#include <editeng/tstpitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <sot/clsids.hxx>
#include <docsh.hxx>
#include <ndole.hxx>
@@ -2220,7 +2217,9 @@ void SwTOXBaseSection::_UpdatePageNum( SwTxtNode* pNd,
}
}
pNd->InsertText( aNumStr, aPos,
- IDocumentContentOperations::INS_EMPTYEXPAND );
+ static_cast<IDocumentContentOperations::InsertFlags>(
+ IDocumentContentOperations::INS_EMPTYEXPAND |
+ IDocumentContentOperations::INS_FORCEHINTEXPAND) );
if(pPageNoCharFmt)
{
SwFmtCharFmt aCharFmt( pPageNoCharFmt );
diff --git a/sw/source/core/doc/docxforms.cxx b/sw/source/core/doc/docxforms.cxx
index cc2807ce43..a95bd65f44 100644
--- a/sw/source/core/doc/docxforms.cxx
+++ b/sw/source/core/doc/docxforms.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docxforms.cxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/extinput.cxx b/sw/source/core/doc/extinput.cxx
index 8cd8229f74..0ab4fdd659 100644
--- a/sw/source/core/doc/extinput.cxx
+++ b/sw/source/core/doc/extinput.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: extinput.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -41,8 +38,8 @@
#include <ndtxt.hxx>
#include <txtfrm.hxx>
#include <swundo.hxx>
-#include <svx/langitem.hxx>
-#include <svx/scripttypeitem.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/scripttypeitem.hxx>
#include <com/sun/star/i18n/ScriptType.hpp>
using namespace ::com::sun::star;
diff --git a/sw/source/core/doc/fmtcol.cxx b/sw/source/core/doc/fmtcol.cxx
index 8a5115ca14..9a8d4e8e44 100644
--- a/sw/source/core/doc/fmtcol.cxx
+++ b/sw/source/core/doc/fmtcol.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fmtcol.cxx,v $
- * $Revision: 1.27 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,9 +28,9 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
#include <hintids.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/fhgtitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/fhgtitem.hxx>
#include <doc.hxx> // fuer GetAttrPool
#include <errhdl.hxx>
#include <fmtcol.hxx>
@@ -48,7 +45,7 @@
//--> #outlinelevel added by zhaojianwei
#ifndef _SFXINTITEM_HXX
-#include <svtools/intitem.hxx>
+#include <svl/intitem.hxx>
#endif
//<--end
diff --git a/sw/source/core/doc/ftnidx.cxx b/sw/source/core/doc/ftnidx.cxx
index b0a8cb67af..1e82d711d7 100644
--- a/sw/source/core/doc/ftnidx.cxx
+++ b/sw/source/core/doc/ftnidx.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ftnidx.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/gctable.cxx b/sw/source/core/doc/gctable.cxx
index 4e69adef3a..3822375b82 100644
--- a/sw/source/core/doc/gctable.cxx
+++ b/sw/source/core/doc/gctable.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: gctable.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
-#include <svx/boxitem.hxx>
+#include <editeng/boxitem.hxx>
#include <tblrwcl.hxx>
#include <swtblfmt.hxx>
diff --git a/sw/source/core/doc/htmltbl.cxx b/sw/source/core/doc/htmltbl.cxx
index 836ab14104..ad29e27474 100644
--- a/sw/source/core/doc/htmltbl.cxx
+++ b/sw/source/core/doc/htmltbl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: htmltbl.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -397,7 +394,7 @@ USHORT SwHTMLTableLayout::GetBrowseWidth( const SwDoc& rDoc )
*/
ASSERT( nWidth, "No browse width available" );
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
{
// und wenn das auch nicht klappt, gibt es zur Zeit keine Breite
@@ -1660,13 +1657,13 @@ static BOOL lcl_ResizeBox( const SwTableBox*& rpBox, void* pPara )
static BOOL lcl_ResizeLine( const SwTableLine*& rpLine, void* pPara )
{
USHORT *pWidth = (USHORT *)pPara;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
USHORT nOldWidth = *pWidth;
#endif
*pWidth = 0;
((SwTableLine *)rpLine)->GetTabBoxes().ForEach( &lcl_ResizeBox, pWidth );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( !nOldWidth || Abs(*pWidth-nOldWidth) < COLFUZZY,
"Zeilen einer Box sind unterschiedlich lang" );
#endif
@@ -1777,7 +1774,7 @@ void SwHTMLTableLayout::SetWidths( BOOL bCallPass2, USHORT nAbsAvail,
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
{
// steht im tblrwcl.cxx
extern void _CheckBoxWidth( const SwTableLine&, SwTwips );
diff --git a/sw/source/core/doc/lineinfo.cxx b/sw/source/core/doc/lineinfo.cxx
index 764a63de8c..19a19c4d42 100644
--- a/sw/source/core/doc/lineinfo.cxx
+++ b/sw/source/core/doc/lineinfo.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: lineinfo.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/list.cxx b/sw/source/core/doc/list.cxx
index 4aa146e876..105d4c7685 100644
--- a/sw/source/core/doc/list.cxx
+++ b/sw/source/core/doc/list.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: list.cxx,v $
- * $Revision: 1.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/makefile.mk b/sw/source/core/doc/makefile.mk
index c7459cd164..5a65b2de24 100644
--- a/sw/source/core/doc/makefile.mk
+++ b/sw/source/core/doc/makefile.mk
@@ -1,15 +1,11 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2008 by Sun Microsystems, Inc.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.24 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index 8784290172..2652811c0a 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: notxtfrm.cxx,v $
- * $Revision: 1.43.54.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -39,13 +36,13 @@
#include <vcl/svapp.hxx>
#include <svtools/imapobj.hxx>
#include <svtools/imap.hxx>
-#include <svtools/urihelper.hxx>
+#include <svl/urihelper.hxx>
#include <svtools/soerr.hxx>
#include <sfx2/progress.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/printer.hxx>
-#include <svx/udlnitem.hxx>
-#include <svx/colritem.hxx>
+#include <editeng/udlnitem.hxx>
+#include <editeng/colritem.hxx>
#include <svx/xoutbmp.hxx>
#include <vcl/window.hxx>
#include <fmturl.hxx>
@@ -269,7 +266,7 @@ void lcl_ClearArea( const SwFrm &rFrm,
|*
*************************************************************************/
-void SwNoTxtFrm::Paint( const SwRect &rRect ) const
+void SwNoTxtFrm::Paint( const SwRect &rRect, const SwPrtOptions * /*pPrintData*/ ) const
{
if ( Frm().IsEmpty() )
return;
@@ -804,27 +801,27 @@ void lcl_correctlyAlignRect( SwRect& rAlignedGrfArea, const SwRect& rInArea, Out
{
if(!pOut)
return;
- Rectangle aPxRect = pOut->LogicToPixel( rInArea.SVRect() );
- Rectangle aNewPxRect( aPxRect );
- while( aNewPxRect.Left() < aPxRect.Left() )
- {
- rAlignedGrfArea.Left( rAlignedGrfArea.Left()+1 );
- aNewPxRect = pOut->LogicToPixel( rAlignedGrfArea.SVRect() );
- }
- while( aNewPxRect.Top() < aPxRect.Top() )
- {
- rAlignedGrfArea.Top( rAlignedGrfArea.Top()+1 );
- aNewPxRect = pOut->LogicToPixel( rAlignedGrfArea.SVRect() );
- }
- while( aNewPxRect.Bottom() > aPxRect.Bottom() )
- {
- rAlignedGrfArea.Bottom( rAlignedGrfArea.Bottom()-1 );
- aNewPxRect = pOut->LogicToPixel( rAlignedGrfArea.SVRect() );
- }
- while( aNewPxRect.Right() > aPxRect.Right() )
- {
- rAlignedGrfArea.Right( rAlignedGrfArea.Right()-1 );
- aNewPxRect = pOut->LogicToPixel( rAlignedGrfArea.SVRect() );
+ Rectangle aPxRect = pOut->LogicToPixel( rInArea.SVRect() );
+ Rectangle aNewPxRect( aPxRect );
+ while( aNewPxRect.Left() < aPxRect.Left() )
+ {
+ rAlignedGrfArea.Left( rAlignedGrfArea.Left()+1 );
+ aNewPxRect = pOut->LogicToPixel( rAlignedGrfArea.SVRect() );
+ }
+ while( aNewPxRect.Top() < aPxRect.Top() )
+ {
+ rAlignedGrfArea.Top( rAlignedGrfArea.Top()+1 );
+ aNewPxRect = pOut->LogicToPixel( rAlignedGrfArea.SVRect() );
+ }
+ while( aNewPxRect.Bottom() > aPxRect.Bottom() )
+ {
+ rAlignedGrfArea.Bottom( rAlignedGrfArea.Bottom()-1 );
+ aNewPxRect = pOut->LogicToPixel( rAlignedGrfArea.SVRect() );
+ }
+ while( aNewPxRect.Right() > aPxRect.Right() )
+ {
+ rAlignedGrfArea.Right( rAlignedGrfArea.Right()-1 );
+ aNewPxRect = pOut->LogicToPixel( rAlignedGrfArea.SVRect() );
}
}
@@ -861,13 +858,13 @@ void SwNoTxtFrm::PaintPicture( OutputDevice* pOut, const SwRect &rGrfArea ) cons
::SwAlignGrfRect( &aAlignedGrfArea, *pOut );
}
else //if( bIsChart )
- {
- //#i78025# charts own borders are not completely visible
- //the above pixel correction is not correct - at least not for charts
- //so a different pixel correction is choosen here
- //this might be a good idea for all other OLE objects also,
- //but as I cannot oversee the consequences I fix it only for charts for now
- lcl_correctlyAlignRect( aAlignedGrfArea, rGrfArea, pOut );
+ {
+ //#i78025# charts own borders are not completely visible
+ //the above pixel correction is not correct - at least not for charts
+ //so a different pixel correction is choosen here
+ //this might be a good idea for all other OLE objects also,
+ //but as I cannot oversee the consequences I fix it only for charts for now
+ lcl_correctlyAlignRect( aAlignedGrfArea, rGrfArea, pOut );
}
if( pGrfNd )
diff --git a/sw/source/core/doc/number.cxx b/sw/source/core/doc/number.cxx
index 27c0145b35..b0f95952d9 100644
--- a/sw/source/core/doc/number.cxx
+++ b/sw/source/core/doc/number.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: number.cxx,v $
- * $Revision: 1.53.76.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -36,9 +33,9 @@
#include <string.h>
#include <vcl/font.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/numitem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/numitem.hxx>
#include <fmtornt.hxx>
#include <doc.hxx>
#include <pam.hxx>
@@ -64,7 +61,7 @@
#include <algorithm>
// <--
// --> OD 2008-06-06 #i89178#
-#include <svtools/saveopt.hxx>
+#include <unotools/saveopt.hxx>
// <--
// --> OD 2008-07-08 #i91400#
#include <IDocumentListsAccess.hxx>
@@ -478,7 +475,7 @@ const SwFmtVertOrient* SwNumFmt::GetGraphicOrientation() const
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
long int SwNumRule::nInstances = 0;
#endif
@@ -512,7 +509,7 @@ SwNumRule::SwNumRule( const String& rNm,
msDefaultListId()
// <--
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
nSerial = nInstances++;
#endif
@@ -632,7 +629,7 @@ SwNumRule::SwNumRule( const SwNumRule& rNumRule )
msDefaultListId( rNumRule.msDefaultListId )
// <--
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
nSerial = nInstances++;
#endif
@@ -1317,6 +1314,7 @@ namespace numfunc
@author OD
*/
virtual void Notify( const uno::Sequence<rtl::OUString>& aPropertyNames );
+ virtual void Commit();
static SwDefBulletConfig* mpInstance;
@@ -1487,6 +1485,10 @@ namespace numfunc
InitFont();
}
+ void SwDefBulletConfig::Commit()
+ {
+ }
+
const String& GetDefBulletFontname()
{
return SwDefBulletConfig::getInstance()->GetFontname();
@@ -1562,6 +1564,7 @@ namespace numfunc
@author OD
*/
virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames );
+ virtual void Commit();
static SwNumberingUIBehaviorConfig* mpInstance;
@@ -1596,6 +1599,8 @@ namespace numfunc
return aPropNames;
}
+ void SwNumberingUIBehaviorConfig::Commit() {}
+
void SwNumberingUIBehaviorConfig::LoadConfig()
{
com::sun::star::uno::Sequence<rtl::OUString> aPropNames = GetPropNames();
diff --git a/sw/source/core/doc/poolfmt.cxx b/sw/source/core/doc/poolfmt.cxx
index a5419368d0..78bd3d5531 100644
--- a/sw/source/core/doc/poolfmt.cxx
+++ b/sw/source/core/doc/poolfmt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: poolfmt.cxx,v $
- * $Revision: 1.54.108.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,32 +30,28 @@
#include <hintids.hxx>
#include <i18npool/mslangid.hxx>
#include <unotools/localedatawrapper.hxx>
-#include <svx/paperinf.hxx>
-#include <svx/wghtitem.hxx>
-#include <svx/fontitem.hxx>
-#include <svx/fhgtitem.hxx>
-#ifndef _SVX_TSTPITEM_HXX //autogen
-#include <svx/tstpitem.hxx>
-#endif
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/adjitem.hxx>
-#include <svx/postitem.hxx>
-#include <svx/keepitem.hxx>
-#include <svx/opaqitem.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/cmapitem.hxx>
-#include <svx/udlnitem.hxx>
-#include <svx/colritem.hxx>
-#include <svx/protitem.hxx>
-#include <svx/escpitem.hxx>
-#include <svx/langitem.hxx>
-#include <svx/charrotateitem.hxx>
-#include <svx/frmdiritem.hxx>
-#ifndef _SVX_EMPHITEM_HXX
-#include <svx/emphitem.hxx>
-#endif
-#include <svx/scriptspaceitem.hxx>
+#include <editeng/paperinf.hxx>
+#include <editeng/wghtitem.hxx>
+#include <editeng/fontitem.hxx>
+#include <editeng/fhgtitem.hxx>
+#include <editeng/tstpitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/adjitem.hxx>
+#include <editeng/postitem.hxx>
+#include <editeng/keepitem.hxx>
+#include <editeng/opaqitem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/cmapitem.hxx>
+#include <editeng/udlnitem.hxx>
+#include <editeng/colritem.hxx>
+#include <editeng/protitem.hxx>
+#include <editeng/escpitem.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/charrotateitem.hxx>
+#include <editeng/frmdiritem.hxx>
+#include <editeng/emphitem.hxx>
+#include <editeng/scriptspaceitem.hxx>
#include <viewopt.hxx>
#include <doc.hxx>
#include <fmtanchr.hxx>
@@ -1303,13 +1296,13 @@ SwFmt* SwDoc::GetFmtFromPool( USHORT nId )
{
if ( get(IDocumentSettingAccess::BROWSE_MODE) )
{
- aSet.Put( SwFmtAnchor( FLY_IN_CNTNT ));
+ aSet.Put( SwFmtAnchor( FLY_AS_CHAR ));
aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::LINE_CENTER, text::RelOrientation::PRINT_AREA ) );
aSet.Put( SwFmtSurround( SURROUND_NONE ) );
}
else
{
- aSet.Put( SwFmtAnchor( FLY_AT_CNTNT ));
+ aSet.Put( SwFmtAnchor( FLY_AT_PARA ));
aSet.Put( SwFmtSurround( SURROUND_PARALLEL ) );
aSet.Put( SwFmtHoriOrient( 0, text::HoriOrientation::CENTER, text::RelOrientation::PRINT_AREA ) );
aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::PRINT_AREA ) );
@@ -1330,7 +1323,7 @@ SwFmt* SwDoc::GetFmtFromPool( USHORT nId )
case RES_POOLFRM_GRAPHIC:
case RES_POOLFRM_OLE:
{
- aSet.Put( SwFmtAnchor( FLY_AT_CNTNT ));
+ aSet.Put( SwFmtAnchor( FLY_AT_PARA ));
aSet.Put( SwFmtHoriOrient( 0, text::HoriOrientation::CENTER, text::RelOrientation::FRAME ));
aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::FRAME ));
aSet.Put( SwFmtSurround( SURROUND_NONE ));
@@ -1338,14 +1331,14 @@ SwFmt* SwDoc::GetFmtFromPool( USHORT nId )
break;
case RES_POOLFRM_FORMEL:
{
- aSet.Put( SwFmtAnchor( FLY_IN_CNTNT ) );
+ aSet.Put( SwFmtAnchor( FLY_AS_CHAR ) );
aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::CHAR_CENTER, text::RelOrientation::FRAME ) );
aSet.Put( SvxLRSpaceItem( 114, 114, 0, 0, RES_LR_SPACE ) );
}
break;
case RES_POOLFRM_MARGINAL:
{
- aSet.Put( SwFmtAnchor( FLY_AT_CNTNT ));
+ aSet.Put( SwFmtAnchor( FLY_AT_PARA ));
aSet.Put( SwFmtHoriOrient( 0, text::HoriOrientation::LEFT, text::RelOrientation::FRAME ));
aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::FRAME ));
aSet.Put( SwFmtSurround( SURROUND_PARALLEL ));
@@ -1358,7 +1351,7 @@ SwFmt* SwDoc::GetFmtFromPool( USHORT nId )
break;
case RES_POOLFRM_WATERSIGN:
{
- aSet.Put( SwFmtAnchor( FLY_PAGE ));
+ aSet.Put( SwFmtAnchor( FLY_AT_PAGE ));
aSet.Put( SwFmtHoriOrient( 0, text::HoriOrientation::CENTER, text::RelOrientation::FRAME ));
aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::CENTER, text::RelOrientation::FRAME ));
aSet.Put( SvxOpaqueItem( FALSE ));
@@ -1368,7 +1361,7 @@ SwFmt* SwDoc::GetFmtFromPool( USHORT nId )
case RES_POOLFRM_LABEL:
{
- aSet.Put( SwFmtAnchor( FLY_IN_CNTNT ) );
+ aSet.Put( SwFmtAnchor( FLY_AS_CHAR ) );
aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::FRAME ) );
aSet.Put( SvxLRSpaceItem( 114, 114, 0, 0, RES_LR_SPACE ) );
diff --git a/sw/source/core/doc/sortopt.cxx b/sw/source/core/doc/sortopt.cxx
index d4f4caf4a7..6bfa6ff0b9 100644
--- a/sw/source/core/doc/sortopt.cxx
+++ b/sw/source/core/doc/sortopt.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: sortopt.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/swserv.cxx b/sw/source/core/doc/swserv.cxx
index 1d99c829a3..e39626b681 100644
--- a/sw/source/core/doc/swserv.cxx
+++ b/sw/source/core/doc/swserv.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swserv.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <sot/storage.hxx>
-#include <svx/linkmgr.hxx>
+#include <sfx2/linkmgr.hxx>
#include <com/sun/star/uno/Sequence.h>
#include <doc.hxx>
#include <swtypes.hxx>
diff --git a/sw/source/core/doc/swstylemanager.cxx b/sw/source/core/doc/swstylemanager.cxx
index 99fa615419..5efd535319 100644
--- a/sw/source/core/doc/swstylemanager.cxx
+++ b/sw/source/core/doc/swstylemanager.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swstylemanager.cxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#include "swstylemanager.hxx"
#include <hash_map>
-#include <svtools/stylepool.hxx>
+#include <svl/stylepool.hxx>
#include <doc.hxx>
#include <charfmt.hxx>
#include <docary.hxx>
diff --git a/sw/source/core/doc/swstylemanager.hxx b/sw/source/core/doc/swstylemanager.hxx
index f2442bd449..31ab93871a 100644
--- a/sw/source/core/doc/swstylemanager.hxx
+++ b/sw/source/core/doc/swstylemanager.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swstylemanager.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/doc/tblafmt.cxx b/sw/source/core/doc/tblafmt.cxx
index 2dc28332f3..c783f9af11 100644
--- a/sw/source/core/doc/tblafmt.cxx
+++ b/sw/source/core/doc/tblafmt.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tblafmt.cxx,v $
- * $Revision: 1.22.210.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,10 +34,10 @@
#include <tools/shl.hxx>
#include <vcl/svapp.hxx>
#include <sfx2/docfile.hxx>
-#include <svtools/urihelper.hxx>
-#include <svtools/zforlist.hxx>
-#include <svtools/zformat.hxx>
-#include <svtools/pathoptions.hxx>
+#include <svl/urihelper.hxx>
+#include <svl/zforlist.hxx>
+#include <svl/zformat.hxx>
+#include <unotools/pathoptions.hxx>
#include <sfx2/app.hxx>
#include <svx/dialmgr.hxx>
#ifndef _SVX_DIALOGS_HRC
diff --git a/sw/source/core/doc/tblcpy.cxx b/sw/source/core/doc/tblcpy.cxx
index 6bca094d3e..1e8cc6ed2b 100644
--- a/sw/source/core/doc/tblcpy.cxx
+++ b/sw/source/core/doc/tblcpy.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tblcpy.cxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,7 +32,7 @@
#include <hintids.hxx>
#define _ZFORLIST_DECLARE_TABLE
-#include <svtools/zforlist.hxx>
+#include <svl/zforlist.hxx>
#include <frmfmt.hxx>
#include <doc.hxx>
#include <cntfrm.hxx>
@@ -591,14 +588,14 @@ void lcl_CpyBox( const SwTable& rCpyTbl, const SwTableBox* pCpyBox,
}
// stehen noch FlyFrames rum, loesche auch diese
- const SwPosition* pAPos;
for( USHORT n = 0; n < pDoc->GetSpzFrmFmts()->Count(); ++n )
{
- SwFrmFmt* pFly = (*pDoc->GetSpzFrmFmts())[n];
- const SwFmtAnchor* pAnchor = &pFly->GetAnchor();
- if( ( FLY_AT_CNTNT == pAnchor->GetAnchorId() ||
- FLY_AUTO_CNTNT == pAnchor->GetAnchorId() ) &&
- 0 != ( pAPos = pAnchor->GetCntntAnchor() ) &&
+ SwFrmFmt *const pFly = (*pDoc->GetSpzFrmFmts())[n];
+ SwFmtAnchor const*const pAnchor = &pFly->GetAnchor();
+ SwPosition const*const pAPos = pAnchor->GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AT_PARA == pAnchor->GetAnchorId()) ||
+ (FLY_AT_CHAR == pAnchor->GetAnchorId())) &&
aInsIdx <= pAPos->nNode && pAPos->nNode <= aEndNdIdx )
{
pDoc->DelLayoutFmt( pFly );
diff --git a/sw/source/core/doc/tblrwcl.cxx b/sw/source/core/doc/tblrwcl.cxx
index e07062d5de..5d93e0371d 100644
--- a/sw/source/core/doc/tblrwcl.cxx
+++ b/sw/source/core/doc/tblrwcl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tblrwcl.cxx,v $
- * $Revision: 1.29 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -36,10 +33,10 @@
#include <hintids.hxx>
#define _ZFORLIST_DECLARE_TABLE
-#include <svx/brshitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/protitem.hxx>
-#include <svx/boxitem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/protitem.hxx>
+#include <editeng/boxitem.hxx>
#include <tools/fract.hxx>
#include <fmtfsize.hxx>
#include <fmtornt.hxx>
@@ -74,7 +71,7 @@ using namespace com::sun::star::uno;
using namespace ::com::sun::star;
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#define CHECK_TABLE(t)
#else
#ifdef DEBUG
@@ -197,7 +194,7 @@ BOOL lcl_DelOtherBox( SwTableLine* pLine, CR_SetBoxWidth& rParam,
typedef BOOL (*FN_lcl_SetBoxWidth)(SwTableLine*, CR_SetBoxWidth&, SwTwips, BOOL );
-#if !defined( PRODUCT ) || defined( JP_DEBUG )
+#if defined(DBG_UTIL) || defined( JP_DEBUG )
void _CheckBoxWidth( const SwTableLine& rLine, SwTwips nSize );
@@ -3506,7 +3503,7 @@ void lcl_AjustLines( SwTableLine* pLine, CR_SetBoxWidth& rParam )
}
}
-#if !defined( PRODUCT ) || defined( JP_DEBUG )
+#if defined(DBG_UTIL) || defined( JP_DEBUG )
void _CheckBoxWidth( const SwTableLine& rLine, SwTwips nSize )
{
diff --git a/sw/source/core/doc/visiturl.cxx b/sw/source/core/doc/visiturl.cxx
index 4b194cb410..3d8b05a717 100644
--- a/sw/source/core/doc/visiturl.cxx
+++ b/sw/source/core/doc/visiturl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: visiturl.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <sfx2/docfile.hxx>
-#include <svtools/inethist.hxx>
+#include <svl/inethist.hxx>
#include <fmtinfmt.hxx>
#include <txtinet.hxx>
#include <doc.hxx>
diff --git a/sw/source/core/docnode/cancellablejob.cxx b/sw/source/core/docnode/cancellablejob.cxx
index 31fab28cca..d867485589 100644
--- a/sw/source/core/docnode/cancellablejob.cxx
+++ b/sw/source/core/docnode/cancellablejob.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: cancellablejob.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/cancellablejob.hxx b/sw/source/core/docnode/cancellablejob.hxx
index b98a6a9ee3..72d4e2d3a1 100644
--- a/sw/source/core/docnode/cancellablejob.hxx
+++ b/sw/source/core/docnode/cancellablejob.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: cancellablejob.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/finalthreadmanager.cxx b/sw/source/core/docnode/finalthreadmanager.cxx
index 442870a194..1321fb3c20 100644
--- a/sw/source/core/docnode/finalthreadmanager.cxx
+++ b/sw/source/core/docnode/finalthreadmanager.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: finalthreadmanager.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/makefile.mk b/sw/source/core/docnode/makefile.mk
index d380ef1e5f..d3e5df64b6 100644
--- a/sw/source/core/docnode/makefile.mk
+++ b/sw/source/core/docnode/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.10 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/ndcopy.cxx b/sw/source/core/docnode/ndcopy.cxx
index 60b7fe6287..4fcd2d9e4f 100644
--- a/sw/source/core/docnode/ndcopy.cxx
+++ b/sw/source/core/docnode/ndcopy.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ndcopy.cxx,v $
- * $Revision: 1.34.74.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -36,7 +33,7 @@
#include <hintids.hxx>
-#include <svx/brkitem.hxx>
+#include <editeng/brkitem.hxx>
#include <fmtpdsc.hxx>
#include <fmtanchr.hxx>
#include <fmtcntnt.hxx>
@@ -59,7 +56,7 @@
#include <pagedesc.hxx>
#include <poolfmt.hxx>
#include <SwNodeNum.hxx>
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#define CHECK_TABLE(t)
#else
#ifdef DEBUG
@@ -552,20 +549,18 @@ void SwTxtNode::CopyCollFmt( SwTxtNode& rDestNd )
BOOL lcl_ChkFlyFly( SwDoc* pDoc, ULONG nSttNd, ULONG nEndNd,
ULONG nInsNd )
{
- const SwFrmFmt* pFmt;
- const SwFmtAnchor* pAnchor;
- const SwPosition* pAPos;
const SwSpzFrmFmts& rFrmFmtTbl = *pDoc->GetSpzFrmFmts();
for( USHORT n = 0; n < rFrmFmtTbl.Count(); ++n )
{
- pFmt = rFrmFmtTbl[n];
- pAnchor = &pFmt->GetAnchor();
- if( 0 != ( pAPos = pAnchor->GetCntntAnchor()) &&
- ( FLY_IN_CNTNT == pAnchor->GetAnchorId() ||
- FLY_AUTO_CNTNT == pAnchor->GetAnchorId() ||
- FLY_AT_FLY == pAnchor->GetAnchorId() ||
- FLY_AT_CNTNT == pAnchor->GetAnchorId() ) &&
+ SwFrmFmt const*const pFmt = rFrmFmtTbl[n];
+ SwFmtAnchor const*const pAnchor = &pFmt->GetAnchor();
+ SwPosition const*const pAPos = pAnchor->GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AS_CHAR == pAnchor->GetAnchorId()) ||
+ (FLY_AT_CHAR == pAnchor->GetAnchorId()) ||
+ (FLY_AT_FLY == pAnchor->GetAnchorId()) ||
+ (FLY_AT_PARA == pAnchor->GetAnchorId())) &&
nSttNd <= pAPos->nNode.GetIndex() &&
pAPos->nNode.GetIndex() < nEndNd )
{
@@ -1329,7 +1324,7 @@ void SwDoc::CopyWithFlyInFly( const SwNodeRange& rRg, const xub_StrLen nEndConte
aRedlRest.Restore();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
{
//JP 17.06.99: Bug 66973 - check count only if the selection is in
// the same (or no) section. Becaus not full selected
@@ -1398,18 +1393,17 @@ void SwDoc::CopyFlyInFlyImpl( const SwNodeRange& rRg,
SwDoc *const pDest = rStartIdx.GetNode().GetDoc();
_ZSortFlys aArr;
USHORT nArrLen = GetSpzFrmFmts()->Count();
- USHORT n;
- for( n = 0; n < nArrLen; ++n )
+ for ( USHORT n = 0; n < nArrLen; ++n )
{
- const SwFrmFmt* pFmt = (*GetSpzFrmFmts())[n];
- const SwFmtAnchor* pAnchor = &pFmt->GetAnchor();
- const SwPosition* pAPos;
- bool bAtCntnt = pAnchor->GetAnchorId() == FLY_AT_CNTNT;
- if ( ( bAtCntnt ||
- pAnchor->GetAnchorId() == FLY_AT_FLY ||
- pAnchor->GetAnchorId() == FLY_AUTO_CNTNT ) &&
- 0 != ( pAPos = pAnchor->GetCntntAnchor()) &&
+ SwFrmFmt const*const pFmt = (*GetSpzFrmFmts())[n];
+ SwFmtAnchor const*const pAnchor = &pFmt->GetAnchor();
+ SwPosition const*const pAPos = pAnchor->GetCntntAnchor();
+ bool bAtCntnt = (pAnchor->GetAnchorId() == FLY_AT_PARA);
+ if ( pAPos &&
+ ( bAtCntnt ||
+ (pAnchor->GetAnchorId() == FLY_AT_FLY) ||
+ (pAnchor->GetAnchorId() == FLY_AT_CHAR)) &&
(( bCopyFlyAtFly && FLY_AT_FLY == pAnchor->GetAnchorId() )
? rRg.aStart <= pAPos->nNode.GetIndex() + 1
: ( IsRedlineMove()
@@ -1470,7 +1464,7 @@ void SwDoc::CopyFlyInFlyImpl( const SwNodeRange& rRg,
//die Chains entsprechend aufgebaut werden koennen.
SvPtrarr aNewArr( 10, 10 );
- for( n = 0; n < aArr.Count(); ++n )
+ for ( USHORT n = 0; n < aArr.Count(); ++n )
{
const _ZSortFly& rZSortFly = aArr[ n ];
@@ -1485,8 +1479,8 @@ void SwDoc::CopyFlyInFlyImpl( const SwNodeRange& rRg,
// method <SwNodes::_CopyNodes(..)>.
// Thus, the new anchor position in the destination document is found
// by counting the text nodes.
- if ( aAnchor.GetAnchorId() == FLY_AT_CNTNT ||
- aAnchor.GetAnchorId() == FLY_AUTO_CNTNT )
+ if ((aAnchor.GetAnchorId() == FLY_AT_PARA) ||
+ (aAnchor.GetAnchorId() == FLY_AT_CHAR) )
{
// First, determine number of anchor text node in the copied range.
// Note: The anchor text node *have* to be inside the copied range.
@@ -1552,7 +1546,7 @@ void SwDoc::CopyFlyInFlyImpl( const SwNodeRange& rRg,
}
// <--
// die am Zeichen Flys wieder ans das vorgegebene Zeichen setzen
- if ( FLY_AUTO_CNTNT == aAnchor.GetAnchorId() &&
+ if ((FLY_AT_CHAR == aAnchor.GetAnchorId()) &&
pNewPos->nNode.GetNode().IsTxtNode() )
{
pNewPos->nContent.Assign( (SwTxtNode*)&pNewPos->nNode.GetNode(),
@@ -1592,7 +1586,7 @@ void SwDoc::CopyFlyInFlyImpl( const SwNodeRange& rRg,
ASSERT( aArr.Count() == aNewArr.Count(), "Missing new Flys" );
if ( aArr.Count() == aNewArr.Count() )
{
- for ( n = 0; n < aArr.Count(); ++n )
+ for ( USHORT n = 0; n < aArr.Count(); ++n )
{
const SwFrmFmt *pFmt = aArr[n].GetFmt();
const SwFmtChain &rChain = pFmt->GetChain();
diff --git a/sw/source/core/docnode/ndindex.cxx b/sw/source/core/docnode/ndindex.cxx
index 8e7c933b99..370426640e 100644
--- a/sw/source/core/docnode/ndindex.cxx
+++ b/sw/source/core/docnode/ndindex.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ndindex.cxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,7 +34,7 @@
#include "error.h" // fuers ASSERT
#include "ndindex.hxx"
-#ifndef PRODUCT
+#ifdef DBG_UTIL
int SwNodeIndex::nSerial = 0;
#endif
@@ -71,7 +68,7 @@ SwNodeIndex::SwNodeIndex( SwNodes& rNds, ULONG nIdx )
{
rNds.RegisterIndex( *this );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
MySerial = ++nSerial; // nur in der nicht PRODUCT-Version
#endif
}
@@ -86,7 +83,7 @@ SwNodeIndex::SwNodeIndex( const SwNodeIndex& rIdx, long nDiff )
pNd = rIdx.pNd;
pNd->GetNodes().RegisterIndex( *this );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
MySerial = ++nSerial; // nur in der nicht PRODUCT-Version
#endif
}
@@ -101,7 +98,7 @@ SwNodeIndex::SwNodeIndex( const SwNode& rNd, long nDiff )
pNd = (SwNode*)&rNd;
pNd->GetNodes().RegisterIndex( *this );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
MySerial = ++nSerial; // nur in der nicht PRODUCT-Version
#endif
}
diff --git a/sw/source/core/docnode/ndnotxt.cxx b/sw/source/core/docnode/ndnotxt.cxx
index 4b94c1bf12..69d45dffef 100644
--- a/sw/source/core/docnode/ndnotxt.cxx
+++ b/sw/source/core/docnode/ndnotxt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ndnotxt.cxx,v $
- * $Revision: 1.13.214.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#include <hintids.hxx>
#include <tools/poly.hxx>
-#include <svtools/stritem.hxx>
+#include <svl/stritem.hxx>
#include <svx/contdlg.hxx>
#include <vcl/svapp.hxx>
#include <docary.hxx>
diff --git a/sw/source/core/docnode/ndnum.cxx b/sw/source/core/docnode/ndnum.cxx
index ef07ac70f6..ac20cb804d 100644
--- a/sw/source/core/docnode/ndnum.cxx
+++ b/sw/source/core/docnode/ndnum.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ndnum.cxx,v $
- * $Revision: 1.22 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -50,7 +47,7 @@ BOOL SwOutlineNodes::Seek_Entry( const SwNodePtr rSrch, USHORT* pFndPos ) const
//JP 17.03.98: aufgrund des Bug 48592 - wo unter anderem nach Undo/Redo
// Nodes aus dem falschen NodesArray im OutlineArray standen,
// jetzt mal einen Check eingebaut.
-#ifndef PRODUCT
+#ifdef DBG_UTIL
{
for( USHORT n = 1; n < nO; ++n )
if( &(*this)[ n-1 ]->GetNodes() !=
@@ -125,7 +122,7 @@ void SwNodes::UpdateOutlineNode(SwNode & rNd)
// die Gliederungs-Felder Updaten
GetDoc()->GetSysFldType( RES_CHAPTERFLD )->UpdateFlds();
}
-}
+}
//void SwNodes::UpdateOutlineNode( const SwNode& rNd, BYTE nOldLevel, //#outline level,removed by zhaojianwei
// BYTE nNewLevel )
diff --git a/sw/source/core/docnode/ndsect.cxx b/sw/source/core/docnode/ndsect.cxx
index 5da8c44c3a..1538b0a29c 100644
--- a/sw/source/core/docnode/ndsect.cxx
+++ b/sw/source/core/docnode/ndsect.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ndsect.cxx,v $
- * $Revision: 1.35 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,8 +30,8 @@
#include <hintids.hxx>
-#include <svx/linkmgr.hxx>
-#include <svtools/itemiter.hxx>
+#include <sfx2/linkmgr.hxx>
+#include <svl/itemiter.hxx>
#include <tools/resid.hxx>
#include <fmtcntnt.hxx>
#include <fmtanchr.hxx>
diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index afab878b2f..1f62d5f66d 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ndtbl.cxx,v $
- * $Revision: 1.57 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,13 +35,12 @@
#endif
#include <hintids.hxx>
-
-#include <svx/lrspitem.hxx>
-#include <svx/brkitem.hxx>
-#include <svx/protitem.hxx>
-#include <svx/boxitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/brkitem.hxx>
+#include <editeng/protitem.hxx>
+#include <editeng/boxitem.hxx>
// OD 06.08.2003 #i17174#
-#include <svx/shaditem.hxx>
+#include <editeng/shaditem.hxx>
#include <fmtfsize.hxx>
#include <fmtornt.hxx>
#include <fmtfordr.hxx>
@@ -91,9 +87,7 @@
#include <comcore.hrc>
#endif
#include "docsh.hxx"
-#ifdef LINUX
#include <tabcol.hxx>
-#endif
#include <unochart.hxx>
#include <node.hxx>
@@ -104,7 +98,10 @@
// --> OD 2005-12-05 #i27138#
#include <rootfrm.hxx>
// <--
-#ifdef PRODUCT
+#include <fldupde.hxx>
+
+
+#ifndef DBG_UTIL
#define CHECK_TABLE(t)
#else
#ifdef DEBUG
@@ -113,7 +110,6 @@
#define CHECK_TABLE(t)
#endif
#endif
-#include <fldupde.hxx>
using namespace ::com::sun::star;
@@ -1684,17 +1680,19 @@ BOOL SwNodes::TableToText( const SwNodeRange& rRange, sal_Unicode cCh,
// #i28006# Fly frames have to be restored even if the table was
// #alone in the section
const SwSpzFrmFmts& rFlyArr = *GetDoc()->GetSpzFrmFmts();
- const SwPosition* pAPos;
for( USHORT n = 0; n < rFlyArr.Count(); ++n )
{
- SwFrmFmt* pFmt = (SwFrmFmt*)rFlyArr[n];
+ SwFrmFmt *const pFmt = (SwFrmFmt*)rFlyArr[n];
const SwFmtAnchor& rAnchor = pFmt->GetAnchor();
- if( ( FLY_AT_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() ) &&
- 0 != ( pAPos = rAnchor.GetCntntAnchor() ) &&
+ SwPosition const*const pAPos = rAnchor.GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AT_PARA == rAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rAnchor.GetAnchorId())) &&
nStt <= pAPos->nNode.GetIndex() &&
pAPos->nNode.GetIndex() < nEnd )
+ {
pFmt->MakeFrms();
+ }
}
return TRUE;
diff --git a/sw/source/core/docnode/ndtbl1.cxx b/sw/source/core/docnode/ndtbl1.cxx
index 7dbf247500..a440c96c41 100644
--- a/sw/source/core/docnode/ndtbl1.cxx
+++ b/sw/source/core/docnode/ndtbl1.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ndtbl1.cxx,v $
- * $Revision: 1.25 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,10 +34,10 @@
#endif
#include "hintids.hxx"
-#include <svx/lrspitem.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/frmdiritem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/frmdiritem.hxx>
#include <fmtornt.hxx>
#include <fmtfsize.hxx>
#include <fmtlsplt.hxx>
@@ -51,7 +48,7 @@
#include <tabfrm.hxx>
#include <cntfrm.hxx>
#include <txtfrm.hxx>
-
+#include <svx/svxids.hrc>
#include "doc.hxx"
#include "pam.hxx"
#include "swcrsr.hxx"
@@ -176,8 +173,8 @@ BOOL lcl_GetBoxSel( const SwCursor& rCursor, SwSelBoxes& rBoxes,
inline void InsertLine( SvPtrarr& rLineArr, SwTableLine* pLine )
{
- if( USHRT_MAX == rLineArr.GetPos( (void*&)pLine ) )
- rLineArr.Insert( (void*&)pLine, rLineArr.Count() );
+ if( USHRT_MAX == rLineArr.GetPos( pLine ) )
+ rLineArr.Insert( pLine, rLineArr.Count() );
}
//-----------------------------------------------------------------------------
@@ -560,8 +557,8 @@ BOOL SwDoc::GetRowBackground( const SwCursor& rCursor, SvxBrushItem &rToFill ) c
#***********************************************************************/
inline void InsertCell( SvPtrarr& rCellArr, SwCellFrm* pCellFrm )
{
- if( USHRT_MAX == rCellArr.GetPos( (void*&)pCellFrm ) )
- rCellArr.Insert( (void*&)pCellFrm, rCellArr.Count() );
+ if( USHRT_MAX == rCellArr.GetPos( pCellFrm ) )
+ rCellArr.Insert( pCellFrm, rCellArr.Count() );
}
//-----------------------------------------------------------------------------
diff --git a/sw/source/core/docnode/node.cxx b/sw/source/core/docnode/node.cxx
index 69a6f68d90..d1e3446c72 100644
--- a/sw/source/core/docnode/node.cxx
+++ b/sw/source/core/docnode/node.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: node.cxx,v $
- * $Revision: 1.45 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,12 +32,10 @@
#include <hintids.hxx>
// --> OD 2005-02-21 #i42921#
-#include <svx/frmdiritem.hxx>
+#include <editeng/frmdiritem.hxx>
// <--
-#include <svx/protitem.hxx>
-#ifndef _COM_SUN_STAR_I18N_CHARACTERITERATORMODE_HDL_
+#include <editeng/protitem.hxx>
#include <com/sun/star/i18n/CharacterIteratorMode.hdl>
-#endif
#include <fmtcntnt.hxx>
#include <fmtanchr.hxx>
#include <frmfmt.hxx>
@@ -341,7 +336,7 @@ USHORT SwNode::GetSectionLevel() const
|*
*******************************************************************/
-#ifndef PRODUCT
+#ifdef DBG_UTIL
long SwNode::nSerial = 0;
#endif
@@ -373,7 +368,7 @@ SwNode::SwNode( const SwNodeIndex &rWhere, const BYTE nNdType )
pStartOfSection = (SwStartNode*)this;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
nMySerial = nSerial;
nSerial++;
#endif
@@ -406,7 +401,7 @@ SwNode::SwNode( SwNodes& rNodes, ULONG nPos, const BYTE nNdType )
pStartOfSection = (SwStartNode*)this;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
nMySerial = nSerial;
nSerial++;
#endif
@@ -609,7 +604,7 @@ const SwPageDesc* SwNode::FindPageDesc( BOOL bCalcLay,
if( pFmt )
{
const SwFmtAnchor* pAnchor = &pFmt->GetAnchor();
- if( FLY_PAGE != pAnchor->GetAnchorId() &&
+ if ((FLY_AT_PAGE != pAnchor->GetAnchorId()) &&
pAnchor->GetCntntAnchor() )
{
pNd = &pAnchor->GetCntntAnchor()->nNode.GetNode();
@@ -631,7 +626,7 @@ const SwPageDesc* SwNode::FindPageDesc( BOOL bCalcLay,
break;
}
pAnchor = &pFrmFmt->GetAnchor();
- if( FLY_PAGE == pAnchor->GetAnchorId() ||
+ if ((FLY_AT_PAGE == pAnchor->GetAnchorId()) ||
!pAnchor->GetCntntAnchor() )
{
pFlyNd = 0;
@@ -1479,7 +1474,6 @@ SwCntntNode *SwCntntNode::JoinPrev()
// erfrage vom Modify Informationen
BOOL SwCntntNode::GetInfo( SfxPoolItem& rInfo ) const
{
- const SwNumRuleItem* pItem;
switch( rInfo.Which() )
{
case RES_AUTOFMT_DOCNODE:
@@ -1509,18 +1503,6 @@ BOOL SwCntntNode::GetInfo( SfxPoolItem& rInfo ) const
// return TRUE;
// <--
- case RES_GETLOWERNUMLEVEL:
- if( IsTxtNode() &&
- 0 != ( pItem = (SwNumRuleItem*)GetNoCondAttr(
- RES_PARATR_NUMRULE, TRUE )) && pItem->GetValue().Len() &&
- pItem->GetValue() == ((SwNRuleLowerLevel&)rInfo).GetName() &&
- ((SwTxtNode*)this)->GetActualListLevel()
- > ((SwNRuleLowerLevel&)rInfo).GetLevel() )
- {
- return FALSE;
- }
- break;
-
case RES_FINDNEARESTNODE:
if( ((SwFmtPageDesc&)GetAttr( RES_PAGEDESC )).GetPageDesc() )
((SwFindNearestNode&)rInfo).CheckNode( *this );
@@ -1572,7 +1554,7 @@ BOOL SwCntntNode::SetAttr(const SfxPoolItem& rAttr )
}
return bRet;
}
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
BOOL SwCntntNode::SetAttr( const SfxItemSet& rSet )
{
diff --git a/sw/source/core/docnode/node2lay.cxx b/sw/source/core/docnode/node2lay.cxx
index 3208873a4e..8f19d3b1e4 100644
--- a/sw/source/core/docnode/node2lay.cxx
+++ b/sw/source/core/docnode/node2lay.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: node2lay.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/nodes.cxx b/sw/source/core/docnode/nodes.cxx
index dd5a91b2ba..e46b7a47f9 100644
--- a/sw/source/core/docnode/nodes.cxx
+++ b/sw/source/core/docnode/nodes.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: nodes.cxx,v $
- * $Revision: 1.35 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -47,10 +44,11 @@
#include <ddefld.hxx>
#include <swddetbl.hxx>
#include <frame.hxx>
-#include <fmtmeta.hxx>
+#include <txtatr.hxx>
+#include <tox.hxx> // InvalidateTOXMark
#include <docsh.hxx>
-#include <svtools/smplhint.hxx>
+#include <svl/smplhint.hxx>
extern BOOL CheckNodesRange( const SwNodeIndex& rStt,
const SwNodeIndex& rEnd, BOOL bChkSection );
@@ -341,7 +339,8 @@ void SwNodes::ChgNode( SwNodeIndex& rDelPos, ULONG nSz,
break;
case RES_TXTATR_TOXMARK:
- nDelMsg = RES_TOXMARK_DELETED;
+ static_cast<SwTOXMark&>(pAttr->GetAttr())
+ .InvalidateTOXMark();
break;
case RES_TXTATR_REFMARK:
@@ -350,8 +349,13 @@ void SwNodes::ChgNode( SwNodeIndex& rDelPos, ULONG nSz,
case RES_TXTATR_META:
case RES_TXTATR_METAFIELD:
- static_cast<SwFmtMeta&>(pAttr->GetAttr())
- .NotifyRemoval();
+ {
+ SwTxtMeta *const pTxtMeta(
+ static_cast<SwTxtMeta*>(pAttr));
+ // force removal of UNO object
+ pTxtMeta->ChgTxtNode(0);
+ pTxtMeta->ChgTxtNode(pTxtNd);
+ }
break;
default:
@@ -408,7 +412,7 @@ void SwNodes::ChgNode( SwNodeIndex& rDelPos, ULONG nSz,
if( pFrmNd && !((SwCntntNode*)pFrmNd)->GetDepends() )
pFrmNd = 0;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( !pFrmNd )
ASSERT( !this, "ChgNode() - kein FrameNode gefunden" );
#endif
diff --git a/sw/source/core/docnode/observablethread.cxx b/sw/source/core/docnode/observablethread.cxx
index ddd18ecc90..31b13326c8 100644
--- a/sw/source/core/docnode/observablethread.cxx
+++ b/sw/source/core/docnode/observablethread.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: observablethread.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/pausethreadstarting.cxx b/sw/source/core/docnode/pausethreadstarting.cxx
index 79210a90bd..3018b673d0 100644
--- a/sw/source/core/docnode/pausethreadstarting.cxx
+++ b/sw/source/core/docnode/pausethreadstarting.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: pausethreadstarting.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/retrievedinputstreamdata.cxx b/sw/source/core/docnode/retrievedinputstreamdata.cxx
index 520a5c9c09..92c87f8eaf 100644
--- a/sw/source/core/docnode/retrievedinputstreamdata.cxx
+++ b/sw/source/core/docnode/retrievedinputstreamdata.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: retrievedinputstreamdata.cxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/retrieveinputstream.cxx b/sw/source/core/docnode/retrieveinputstream.cxx
index 28513057ac..9269b0691c 100644
--- a/sw/source/core/docnode/retrieveinputstream.cxx
+++ b/sw/source/core/docnode/retrieveinputstream.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: retrieveinputstream.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/retrieveinputstreamconsumer.cxx b/sw/source/core/docnode/retrieveinputstreamconsumer.cxx
index e373b29f7f..2ca7e536b9 100644
--- a/sw/source/core/docnode/retrieveinputstreamconsumer.cxx
+++ b/sw/source/core/docnode/retrieveinputstreamconsumer.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: retrieveinputstreamconsumer.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/section.cxx b/sw/source/core/docnode/section.cxx
index 23dffa13ac..491cb661dc 100644
--- a/sw/source/core/docnode/section.cxx
+++ b/sw/source/core/docnode/section.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: section.cxx,v $
- * $Revision: 1.31 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,12 +31,12 @@
#include <stdlib.h>
#include <hintids.hxx>
-#include <svtools/intitem.hxx>
-#include <svtools/stritem.hxx>
+#include <svl/intitem.hxx>
+#include <svl/stritem.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/docfilt.hxx>
-#include <svx/protitem.hxx>
-#include <svx/linkmgr.hxx>
+#include <editeng/protitem.hxx>
+#include <sfx2/linkmgr.hxx>
#include <tools/urlobj.hxx>
#include <sfx2/sfxsids.hrc>
@@ -835,6 +832,11 @@ void SwSectionFmt::Modify( SfxPoolItem* pOld, SfxPoolItem* pNew )
break;
}
SwFrmFmt::Modify( pOld, pNew );
+
+ if (pOld && (RES_REMOVE_UNO_OBJECT == pOld->Which()))
+ { // invalidate cached uno object
+ SetXTextSection(uno::Reference<text::XTextSection>(0));
+ }
}
// erfrage vom Format Informationen
@@ -1276,7 +1278,7 @@ void SwIntrnlSectRefLink::DataChanged( const String& rMimeType,
ULONG nDataFormat = SotExchange::GetFormatIdFromMimeType( rMimeType );
if( !pSectNd || !pDoc || pDoc->IsInDtor() || ChkNoDataFlag() ||
- SvxLinkManager::RegisterStatusInfoId() == nDataFormat )
+ sfx2::LinkManager::RegisterStatusInfoId() == nDataFormat )
{
// sollten wir schon wieder im Undo stehen?
return ;
diff --git a/sw/source/core/docnode/swbaslnk.cxx b/sw/source/core/docnode/swbaslnk.cxx
index 01711b931d..6034e7de89 100644
--- a/sw/source/core/docnode/swbaslnk.cxx
+++ b/sw/source/core/docnode/swbaslnk.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swbaslnk.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,25 +28,22 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
#include <hintids.hxx>
#include <vcl/svapp.hxx>
#include <vcl/outdev.hxx>
-#ifndef _OSL_THREAD_HXX_
#include <osl/thread.hxx>
-#endif
#include <salhelper/condition.hxx>
#include <comphelper/mediadescriptor.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/lnkbase.hxx>
#include <sfx2/linkmgr.hxx>
#include <sfx2/objsh.hxx>
-#include <svx/boxitem.hxx>
+#include <editeng/boxitem.hxx>
#ifndef _SVX_SVXIDS_HRC
#include <svx/svxids.hrc> // fuer die EventIds
#endif
-#include <svx/linkmgr.hxx>
+#include <sfx2/linkmgr.hxx>
#include <svtools/soerr.hxx>
#include <fmtfsize.hxx>
#include <fmtanchr.hxx>
@@ -121,7 +115,7 @@ void SwBaseLink::DataChanged( const String& rMimeType,
ULONG nFmt = SotExchange::GetFormatIdFromMimeType( rMimeType );
if( pCntntNode->IsNoTxtNode() &&
- nFmt == SvxLinkManager::RegisterStatusInfoId() )
+ nFmt == sfx2::LinkManager::RegisterStatusInfoId() )
{
// nur eine Statusaenderung - Events bedienen ?
::rtl::OUString sState;
@@ -130,9 +124,9 @@ void SwBaseLink::DataChanged( const String& rMimeType,
USHORT nEvent = 0;
switch( sState.toInt32() )
{
- case STATE_LOAD_OK: nEvent = SVX_EVENT_IMAGE_LOAD; break;
- case STATE_LOAD_ERROR: nEvent = SVX_EVENT_IMAGE_ERROR; break;
- case STATE_LOAD_ABORT: nEvent = SVX_EVENT_IMAGE_ABORT; break;
+ case sfx2::LinkManager::STATE_LOAD_OK: nEvent = SVX_EVENT_IMAGE_LOAD; break;
+ case sfx2::LinkManager::STATE_LOAD_ERROR: nEvent = SVX_EVENT_IMAGE_ERROR; break;
+ case sfx2::LinkManager::STATE_LOAD_ABORT: nEvent = SVX_EVENT_IMAGE_ABORT; break;
}
SwFrmFmt* pFmt;
@@ -163,7 +157,7 @@ void SwBaseLink::DataChanged( const String& rMimeType,
((SwGrfNode*)pCntntNode)->SetGrafikArrived( bGraphicArrived );
Graphic aGrf;
- if( SvxLinkManager::GetGraphicFromAny( rMimeType, rValue, aGrf ) &&
+ if( sfx2::LinkManager::GetGraphicFromAny( rMimeType, rValue, aGrf ) &&
( GRAPHIC_DEFAULT != aGrf.GetType() ||
GRAPHIC_DEFAULT != rGrfObj.GetType() ) )
{
@@ -492,18 +486,23 @@ void SwBaseLink::Closed()
const SwNode* SwBaseLink::GetAnchor() const
{
- SwFrmFmt* pFmt;
- if( pCntntNode && 0 != ( pFmt = pCntntNode->GetFlyFmt()) )
+ if (pCntntNode)
{
- const SwFmtAnchor& rAnchor = pFmt->GetAnchor();
- const SwPosition* pAPos;
- if( 0 != ( pAPos = rAnchor.GetCntntAnchor()) &&
- ( FLY_IN_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AT_FLY == rAnchor.GetAnchorId() ||
- FLY_AT_CNTNT == rAnchor.GetAnchorId() ))
- return &pAPos->nNode.GetNode();
- return 0;
+ SwFrmFmt *const pFmt = pCntntNode->GetFlyFmt();
+ if (pFmt)
+ {
+ const SwFmtAnchor& rAnchor = pFmt->GetAnchor();
+ SwPosition const*const pAPos = rAnchor.GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AS_CHAR == rAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rAnchor.GetAnchorId()) ||
+ (FLY_AT_FLY == rAnchor.GetAnchorId()) ||
+ (FLY_AT_PARA == rAnchor.GetAnchorId())))
+ {
+ return &pAPos->nNode.GetNode();
+ }
+ return 0;
+ }
}
ASSERT( !this, "GetAnchor nicht ueberlagert" );
diff --git a/sw/source/core/docnode/swthreadjoiner.cxx b/sw/source/core/docnode/swthreadjoiner.cxx
index 025498c324..96bc06cb99 100644
--- a/sw/source/core/docnode/swthreadjoiner.cxx
+++ b/sw/source/core/docnode/swthreadjoiner.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swthreadjoiner.cxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/swthreadmanager.cxx b/sw/source/core/docnode/swthreadmanager.cxx
index 8b173a1221..bcd0392066 100644
--- a/sw/source/core/docnode/swthreadmanager.cxx
+++ b/sw/source/core/docnode/swthreadmanager.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swthreadmanager.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/threadlistener.cxx b/sw/source/core/docnode/threadlistener.cxx
index 28fa34dc7a..a577711c03 100644
--- a/sw/source/core/docnode/threadlistener.cxx
+++ b/sw/source/core/docnode/threadlistener.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: threadlistener.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/docnode/threadmanager.cxx b/sw/source/core/docnode/threadmanager.cxx
index f3bf3c0411..d13d74df99 100644
--- a/sw/source/core/docnode/threadmanager.cxx
+++ b/sw/source/core/docnode/threadmanager.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: threadmanager.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/draw/dcontact.cxx b/sw/source/core/draw/dcontact.cxx
index 93f83256a9..60798250b9 100644
--- a/sw/source/core/draw/dcontact.cxx
+++ b/sw/source/core/draw/dcontact.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dcontact.cxx,v $
- * $Revision: 1.61.210.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,10 +28,10 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
#include "hintids.hxx"
-#include <svx/protitem.hxx>
-#include <svx/opaqitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/protitem.hxx>
+#include <editeng/opaqitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <svx/svdpage.hxx>
#include <svx/fmglob.hxx>
#include <svx/svdogrp.hxx>
@@ -44,7 +41,6 @@
#include <svx/svdviter.hxx>
#include <svx/svdview.hxx>
#include <svx/shapepropertynotifier.hxx>
-// AW, OD 2004-04-30 #i28501#
#include <svx/sdr/contact/objectcontactofobjlistpainter.hxx>
#include <svx/sdr/contact/displayinfo.hxx>
#include <fmtornt.hxx>
@@ -61,39 +57,23 @@
#include <dflyobj.hxx>
#include <dcontact.hxx>
#include <unodraw.hxx>
-#ifndef IDOCUMENTDRAWMODELACCESS_HXX_INCLUDED
#include <IDocumentDrawModelAccess.hxx>
-#endif
#include <doc.hxx>
#include <hints.hxx>
#include <txtfrm.hxx>
#include <editsh.hxx>
#include <docary.hxx>
-
-// OD 2004-02-11 #110582#-2
#include <flyfrms.hxx>
-
-// OD 18.06.2003 #108784#
-#include <algorithm>
-// OD 2004-05-24 #i28701#
#include <sortedobjs.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
-
-// AW: For VCOfDrawVirtObj and stuff
-#ifndef _SDR_CONTACT_VIEWCONTACTOFVIRTOBJ_HXX
+#include <basegfx/matrix/b2dhommatrixtools.hxx>
#include <svx/sdr/contact/viewcontactofvirtobj.hxx>
-#endif
-
-#ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSFORMPRIMITIVE2D_HXX
#include <drawinglayer/primitive2d/transformprimitive2d.hxx>
-#endif
-
-#ifndef _SDR_CONTACT_VIEWOBJECTCONTACTOFSDROBJ_HXX
#include <svx/sdr/contact/viewobjectcontactofsdrobj.hxx>
-#endif
-
#include <com/sun/star/text/WritingMode2.hpp>
+#include <algorithm>
+
using namespace ::com::sun::star;
@@ -1958,7 +1938,7 @@ void SwDrawContact::ConnectToLayout( const SwFmtAnchor* pAnch )
switch ( pAnch->GetAnchorId() )
{
- case FLY_PAGE:
+ case FLY_AT_PAGE:
{
USHORT nPgNum = pAnch->GetPageNum();
SwPageFrm *pPage = static_cast<SwPageFrm*>(pRoot->Lower());
@@ -1978,12 +1958,12 @@ void SwDrawContact::ConnectToLayout( const SwFmtAnchor* pAnch )
}
break;
- case FLY_AUTO_CNTNT:
- case FLY_AT_CNTNT:
+ case FLY_AT_CHAR:
+ case FLY_AT_PARA:
case FLY_AT_FLY:
- case FLY_IN_CNTNT:
+ case FLY_AS_CHAR:
{
- if ( pAnch->GetAnchorId() == FLY_IN_CNTNT )
+ if ( pAnch->GetAnchorId() == FLY_AS_CHAR )
{
ClrContourCache( GetMaster() );
}
@@ -2058,7 +2038,7 @@ void SwDrawContact::ConnectToLayout( const SwFmtAnchor* pAnch )
// OD 2004-01-20 #110582# - find correct follow for
// as character anchored objects.
- if ( pAnch->GetAnchorId() == FLY_IN_CNTNT &&
+ if ((pAnch->GetAnchorId() == FLY_AS_CHAR) &&
pFrm->IsTxtFrm() )
{
pFrm = lcl_GetFlyInCntntAnchor(
@@ -2076,7 +2056,7 @@ void SwDrawContact::ConnectToLayout( const SwFmtAnchor* pAnch )
{
// append 'virtual' drawing object
SwDrawVirtObj* pDrawVirtObj = AddVirtObj();
- if ( pAnch->GetAnchorId() == FLY_IN_CNTNT )
+ if ( pAnch->GetAnchorId() == FLY_AS_CHAR )
{
ClrContourCache( pDrawVirtObj );
}
@@ -2087,7 +2067,7 @@ void SwDrawContact::ConnectToLayout( const SwFmtAnchor* pAnch )
pDrawVirtObj->ActionChanged();
}
- if ( pAnch->GetAnchorId() == FLY_IN_CNTNT )
+ if ( pAnch->GetAnchorId() == FLY_AS_CHAR )
{
pFrm->InvalidatePrt();
}
@@ -2605,9 +2585,7 @@ void SwDrawVirtObj::RecalcBoundRect()
basegfx::B2DPolyPolygon SwDrawVirtObj::TakeXorPoly() const
{
basegfx::B2DPolyPolygon aRetval(rRefObj.TakeXorPoly());
- basegfx::B2DHomMatrix aMatrix;
- aMatrix.translate(GetOffset().X(), GetOffset().Y());
- aRetval.transform(aMatrix);
+ aRetval.transform(basegfx::tools::createTranslateB2DHomMatrix(GetOffset().X(), GetOffset().Y()));
return aRetval;
}
@@ -2615,9 +2593,7 @@ basegfx::B2DPolyPolygon SwDrawVirtObj::TakeXorPoly() const
basegfx::B2DPolyPolygon SwDrawVirtObj::TakeContour() const
{
basegfx::B2DPolyPolygon aRetval(rRefObj.TakeContour());
- basegfx::B2DHomMatrix aMatrix;
- aMatrix.translate(GetOffset().X(), GetOffset().Y());
- aRetval.transform(aMatrix);
+ aRetval.transform(basegfx::tools::createTranslateB2DHomMatrix(GetOffset().X(), GetOffset().Y()));
return aRetval;
}
diff --git a/sw/source/core/draw/dflyobj.cxx b/sw/source/core/draw/dflyobj.cxx
index ce2c6067f3..f1108db65c 100644
--- a/sw/source/core/draw/dflyobj.cxx
+++ b/sw/source/core/draw/dflyobj.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dflyobj.cxx,v $
- * $Revision: 1.27.22.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,8 +29,8 @@
#include "precompiled_sw.hxx"
#include "hintids.hxx"
#include <svx/svdtrans.hxx>
-#include <svx/protitem.hxx>
-#include <svx/opaqitem.hxx>
+#include <editeng/protitem.hxx>
+#include <editeng/opaqitem.hxx>
#include <svx/svdpage.hxx>
@@ -196,7 +193,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- class SwVirtFlyDrawObjPrimitive : public BasePrimitive2D
+ class SwVirtFlyDrawObjPrimitive : public BufferedDecompositionPrimitive2D
{
private:
const SwVirtFlyDrawObj& mrSwVirtFlyDrawObj;
@@ -204,13 +201,13 @@ namespace drawinglayer
protected:
// method which is to be used to implement the local decomposition of a 2D primitive
- virtual Primitive2DSequence createLocalDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
+ virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
public:
SwVirtFlyDrawObjPrimitive(
const SwVirtFlyDrawObj& rSwVirtFlyDrawObj,
const basegfx::B2DRange &rOuterRange)
- : BasePrimitive2D(),
+ : BufferedDecompositionPrimitive2D(),
mrSwVirtFlyDrawObj(rSwVirtFlyDrawObj),
maOuterRange(rOuterRange)
{
@@ -239,7 +236,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- Primitive2DSequence SwVirtFlyDrawObjPrimitive::createLocalDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+ Primitive2DSequence SwVirtFlyDrawObjPrimitive::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
{
Primitive2DSequence aRetval;
@@ -269,7 +266,7 @@ namespace drawinglayer
bool SwVirtFlyDrawObjPrimitive::operator==(const BasePrimitive2D& rPrimitive) const
{
- if(BasePrimitive2D::operator==(rPrimitive))
+ if(BufferedDecompositionPrimitive2D::operator==(rPrimitive))
{
const SwVirtFlyDrawObjPrimitive& rCompare = (SwVirtFlyDrawObjPrimitive&)rPrimitive;
@@ -295,7 +292,7 @@ namespace drawinglayer
getSwVirtFlyDrawObj().wrap_DoPaintObject();
// call parent
- return BasePrimitive2D::get2DDecomposition(rViewInformation);
+ return BufferedDecompositionPrimitive2D::get2DDecomposition(rViewInformation);
}
// provide unique ID
diff --git a/sw/source/core/draw/dobjfac.cxx b/sw/source/core/draw/dobjfac.cxx
index 727def6c3a..508d33815b 100644
--- a/sw/source/core/draw/dobjfac.cxx
+++ b/sw/source/core/draw/dobjfac.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dobjfac.cxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/draw/dpage.cxx b/sw/source/core/draw/dpage.cxx
index 3b03da30d0..0ac98e34df 100644
--- a/sw/source/core/draw/dpage.cxx
+++ b/sw/source/core/draw/dpage.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dpage.cxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,8 +29,8 @@
#include "precompiled_sw.hxx"
#include <basic/basmgr.hxx>
#include <svtools/imapobj.hxx>
-#include <svtools/urihelper.hxx>
-#include <svtools/securityoptions.hxx>
+#include <svl/urihelper.hxx>
+#include <unotools/securityoptions.hxx>
#include <vcl/help.hxx>
#include <svx/svdview.hxx>
#include <fmturl.hxx>
diff --git a/sw/source/core/draw/drawdoc.cxx b/sw/source/core/draw/drawdoc.cxx
index af52b77336..af81b9d05c 100644
--- a/sw/source/core/draw/drawdoc.cxx
+++ b/sw/source/core/draw/drawdoc.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: drawdoc.cxx,v $
- * $Revision: 1.24 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,10 +32,10 @@
#include <svx/svxids.hrc>
#endif
#include <tools/stream.hxx>
-#include <svtools/pathoptions.hxx>
+#include <unotools/pathoptions.hxx>
#include <sot/storage.hxx>
-#include <svtools/intitem.hxx>
-#include <svx/forbiddencharacterstable.hxx>
+#include <svl/intitem.hxx>
+#include <editeng/forbiddencharacterstable.hxx>
#include <unotools/ucbstreamhelper.hxx>
#include <svx/xtable.hxx>
diff --git a/sw/source/core/draw/dview.cxx b/sw/source/core/draw/dview.cxx
index 08051aa33d..fc20aef327 100644
--- a/sw/source/core/draw/dview.cxx
+++ b/sw/source/core/draw/dview.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dview.cxx,v $
- * $Revision: 1.30 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,11 +29,9 @@
#include "precompiled_sw.hxx"
#include "hintids.hxx"
-#include <svx/protitem.hxx>
+#include <editeng/protitem.hxx>
#include <svx/svdpagv.hxx>
-#ifndef _FM_FMMODEL_HXX
#include <svx/fmmodel.hxx>
-#endif
#include "swtypes.hxx"
#include "pagefrm.hxx"
@@ -58,12 +53,10 @@
#include "shellres.hxx"
// #i7672#
-#include <svx/outliner.hxx>
+#include <editeng/outliner.hxx>
#include <com/sun/star/embed/EmbedMisc.hpp>
-using namespace com::sun::star;
-
// OD 18.06.2003 #108784#
//#ifndef _SVDVMARK_HXX //autogen
//#include <svx/svdvmark.hxx>
@@ -74,6 +67,10 @@ using namespace com::sun::star;
#include <flyfrms.hxx>
// <--
+
+using namespace com::sun::star;
+
+
class SwSdrHdl : public SdrHdl
{
public:
@@ -258,7 +255,7 @@ void SwDrawView::AddCustomHdl()
const SwFmtAnchor &rAnchor = pFrmFmt->GetAnchor();
// <--
- if(FLY_IN_CNTNT == rAnchor.GetAnchorId())
+ if (FLY_AS_CHAR == rAnchor.GetAnchorId())
return;
const SwFrm* pAnch;
@@ -267,7 +264,7 @@ void SwDrawView::AddCustomHdl()
Point aPos(aAnchorPoint);
- if ( FLY_AUTO_CNTNT == rAnchor.GetAnchorId() )
+ if ( FLY_AT_CHAR == rAnchor.GetAnchorId() )
{
// --> OD 2004-06-24 #i28701# - use last character rectangle saved at object
// in order to avoid a format of the anchor frame
@@ -1019,7 +1016,7 @@ void SwDrawView::CheckPossibilities()
"<SwDrawView::CheckPossibilities()> - missing frame format" );
bProtect = TRUE;
}
- else if ( FLY_IN_CNTNT == pFrmFmt->GetAnchor().GetAnchorId() &&
+ else if ((FLY_AS_CHAR == pFrmFmt->GetAnchor().GetAnchorId()) &&
rMrkList.GetMarkCount() > 1 )
{
bProtect = TRUE;
diff --git a/sw/source/core/draw/makefile.mk b/sw/source/core/draw/makefile.mk
index 8c37303922..a57b1b530e 100644
--- a/sw/source/core/draw/makefile.mk
+++ b/sw/source/core/draw/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.6 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/edit/acorrect.cxx b/sw/source/core/edit/acorrect.cxx
index 29b3968c34..7ab7bd26c1 100644
--- a/sw/source/core/edit/acorrect.cxx
+++ b/sw/source/core/edit/acorrect.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acorrect.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,7 +35,7 @@
#ifndef _SVX_SVXIDS_HRC
#include <svx/svxids.hrc>
#endif
-#include <svx/langitem.hxx>
+#include <editeng/langitem.hxx>
#include <fmtinfmt.hxx>
#include <txtatr.hxx>
#include <txtinet.hxx>
@@ -51,7 +48,7 @@
#include <swundo.hxx>
#include <viscrs.hxx>
-#include <svx/acorrcfg.hxx>
+#include <editeng/acorrcfg.hxx>
using namespace ::com::sun::star;
diff --git a/sw/source/core/edit/autofmt.cxx b/sw/source/core/edit/autofmt.cxx
index 114ae919a1..c5ae0bd0cf 100644
--- a/sw/source/core/edit/autofmt.cxx
+++ b/sw/source/core/edit/autofmt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: autofmt.cxx,v $
- * $Revision: 1.42 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,19 +35,19 @@
#include <ctype.h>
#include <hintids.hxx>
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <unotools/charclass.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/brkitem.hxx>
-#include <svx/adjitem.hxx>
-#include <svx/tstpitem.hxx>
-#include <svx/fontitem.hxx>
-#include <svx/langitem.hxx>
-#include <svx/cscoitem.hxx>
-#include <svx/unolingu.hxx>
-
-#include <svx/acorrcfg.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/brkitem.hxx>
+#include <editeng/adjitem.hxx>
+#include <editeng/tstpitem.hxx>
+#include <editeng/fontitem.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/cscoitem.hxx>
+#include <editeng/unolingu.hxx>
+
+#include <editeng/acorrcfg.hxx>
#include <swwait.hxx>
#include <fmtpdsc.hxx>
#include <fmtanchr.hxx>
@@ -316,6 +313,7 @@ void SwAutoFormat::_SetRedlineTxt( USHORT nActionId )
case STR_AUTOFMTREDL_FRACTION:
case STR_AUTOFMTREDL_DASH:
case STR_AUTOFMTREDL_ORDINAL:
+ case STR_AUTOFMTREDL_NON_BREAK_SPACE:
nSeqNo = ++nRedlAutoFmtSeqId;
break;
}
@@ -386,7 +384,7 @@ BOOL SwAutoFormat::HasObjects( const SwNode& rNd )
for( USHORT n = 0; n < rFmts.Count(); ++n )
{
const SwFmtAnchor& rAnchor = rFmts[ n ]->GetAnchor();
- if( FLY_PAGE != rAnchor.GetAnchorId() &&
+ if ((FLY_AT_PAGE != rAnchor.GetAnchorId()) &&
rAnchor.GetCntntAnchor() &&
&rAnchor.GetCntntAnchor()->nNode.GetNode() == &rNd )
{
@@ -1891,12 +1889,17 @@ void SwAutoFormat::BuildHeadLine( USHORT nLvl )
// dann lasse doch mal das AutoCorrect auf den akt. TextNode los
void SwAutoFormat::AutoCorrect( xub_StrLen nPos )
{
+ SvxAutoCorrect* pATst = SvxAutoCorrCfg::Get()->GetAutoCorrect();
+ long aSvxFlags = pATst->GetFlags( );
+ bool bReplaceQuote = ( aSvxFlags & ChgQuotes ) > 0;
+ bool bReplaceSglQuote = ( aSvxFlags & ChgSglQuotes ) > 0;
+
if( aFlags.bAFmtByInput ||
- (!aFlags.bAutoCorrect && !aFlags.bReplaceQuote &&
+ (!aFlags.bAutoCorrect && !bReplaceQuote && !bReplaceSglQuote &&
!aFlags.bCptlSttSntnc && !aFlags.bCptlSttWrd &&
- !aFlags.bChgFracionSymbol && !aFlags.bChgOrdinalNumber &&
+ !aFlags.bChgOrdinalNumber &&
!aFlags.bChgToEnEmDash && !aFlags.bSetINetAttr &&
- !aFlags.bChgWeightUnderl) )
+ !aFlags.bChgWeightUnderl && !aFlags.bAddNonBrkSpace) )
return;
const String* pTxt = &pAktTxtNd->GetTxt();
@@ -1905,7 +1908,8 @@ void SwAutoFormat::AutoCorrect( xub_StrLen nPos )
BOOL bGetLanguage = aFlags.bChgOrdinalNumber ||
aFlags.bChgToEnEmDash || aFlags.bSetINetAttr ||
- aFlags.bCptlSttWrd || aFlags.bCptlSttSntnc;
+ aFlags.bCptlSttWrd || aFlags.bCptlSttSntnc ||
+ aFlags.bAddNonBrkSpace;
aDelPam.DeleteMark();
@@ -1913,7 +1917,6 @@ void SwAutoFormat::AutoCorrect( xub_StrLen nPos )
aDelPam.GetPoint()->nContent.Assign( pAktTxtNd, 0 );
SwAutoCorrDoc aACorrDoc( *pEditShell, aDelPam );
- SvxAutoCorrect* pATst = SvxAutoCorrCfg::Get()->GetAutoCorrect();
SwTxtFrmInfo aFInfo( 0 );
@@ -1929,8 +1932,8 @@ void SwAutoFormat::AutoCorrect( xub_StrLen nPos )
if( nPos == pTxt->Len() )
break; // das wars
- if( aFlags.bReplaceQuote &&
- ( '\"' == cChar || '\'' == cChar ) &&
+ if( ( ( bReplaceQuote && '\"' == cChar ) ||
+ ( bReplaceSglQuote && '\'' == cChar ) ) &&
( !nPos || ' ' == pTxt->GetChar( nPos-1 ) ) )
{
// --------------------------------------
@@ -1983,7 +1986,7 @@ void SwAutoFormat::AutoCorrect( xub_StrLen nPos )
{
case '\"':
case '\'':
- if( aFlags.bReplaceQuote )
+ if( ( cChar == '\"' && bReplaceQuote ) || ( cChar == '\'' && bReplaceSglQuote ) )
{
// --------------------------------------
// beachte: Sonderfall Symbolfonts !!!
@@ -2068,6 +2071,18 @@ void SwAutoFormat::AutoCorrect( xub_StrLen nPos )
}
}
break;
+ case '/':
+ if ( aFlags.bAddNonBrkSpace )
+ {
+ LanguageType eLang = (bGetLanguage && pAktTxtNd)
+ ? pAktTxtNd->GetLang( nSttPos )
+ : LANGUAGE_SYSTEM;
+
+ SetRedlineTxt( STR_AUTOFMTREDL_NON_BREAK_SPACE );
+ if ( pATst->FnAddNonBrkSpace( aACorrDoc, *pTxt, nSttPos, nPos, eLang ) )
+ --nPos;
+ }
+ break;
case '.':
case '!':
@@ -2076,7 +2091,6 @@ void SwAutoFormat::AutoCorrect( xub_StrLen nPos )
bFirstSent = TRUE;
//alle Wortrenner loesen die Autokorrektur aus!
// break;
-
default:
//alle Wortrenner loesen die Autokorrektur aus!
// case ' ':
@@ -2124,11 +2138,14 @@ void SwAutoFormat::AutoCorrect( xub_StrLen nPos )
LanguageType eLang = (bGetLanguage && pAktTxtNd)
? pAktTxtNd->GetLang( nSttPos )
: LANGUAGE_SYSTEM;
+
+ if ( aFlags.bAddNonBrkSpace )
+ {
+ SetRedlineTxt( STR_AUTOFMTREDL_NON_BREAK_SPACE );
+ pATst->FnAddNonBrkSpace( aACorrDoc, *pTxt, nSttPos, nPos, eLang );
+ }
- if( ( aFlags.bChgFracionSymbol &&
- SetRedlineTxt( STR_AUTOFMTREDL_FRACTION ) &&
- pATst->FnChgFractionSymbol( aACorrDoc, *pTxt, nSttPos, nPos ) ) ||
- ( aFlags.bChgOrdinalNumber &&
+ if( ( aFlags.bChgOrdinalNumber &&
SetRedlineTxt( STR_AUTOFMTREDL_ORDINAL ) &&
pATst->FnChgOrdinalNumber( aACorrDoc, *pTxt, nSttPos, nPos, eLang ) ) ||
( aFlags.bChgToEnEmDash &&
diff --git a/sw/source/core/edit/edatmisc.cxx b/sw/source/core/edit/edatmisc.cxx
index 0c8952ff81..25770ba33b 100644
--- a/sw/source/core/edit/edatmisc.cxx
+++ b/sw/source/core/edit/edatmisc.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edatmisc.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/edit/edattr.cxx b/sw/source/core/edit/edattr.cxx
index f12766f6ae..ff077f1018 100644
--- a/sw/source/core/edit/edattr.cxx
+++ b/sw/source/core/edit/edattr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edattr.cxx,v $
- * $Revision: 1.47 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,10 +32,10 @@
#include <hintids.hxx>
#ifndef _SVX_TSTPITEM_HXX //autogen
-#include <svx/tstpitem.hxx>
+#include <editeng/tstpitem.hxx>
#endif
-#include <svx/lrspitem.hxx>
-#include <svx/scripttypeitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/scripttypeitem.hxx>
#ifndef _COM_SUN_STAR_I18N_SCRIPTTYPE_HDL_
#include <com/sun/star/i18n/ScriptType.hdl>
#endif
@@ -60,7 +57,7 @@
#include <crsskip.hxx>
#include <txtfrm.hxx> // SwTxtFrm
#include <scriptinfo.hxx>
-#include <svtools/ctloptions.hxx>
+#include <svl/ctloptions.hxx>
#include <charfmt.hxx> // #i27615#
#include <numrule.hxx>
diff --git a/sw/source/core/edit/eddel.cxx b/sw/source/core/edit/eddel.cxx
index 823dee6054..906732a199 100644
--- a/sw/source/core/edit/eddel.cxx
+++ b/sw/source/core/edit/eddel.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: eddel.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/edit/edfcol.cxx b/sw/source/core/edit/edfcol.cxx
index 273316e069..214e47a103 100644
--- a/sw/source/core/edit/edfcol.cxx
+++ b/sw/source/core/edit/edfcol.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edfcol.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
-#include <svx/brkitem.hxx>
+#include <editeng/brkitem.hxx>
#include <editsh.hxx>
#include <doc.hxx> // fuer SwTxtFmtColls
#include <edimp.hxx> // fuer MACROS
diff --git a/sw/source/core/edit/edfld.cxx b/sw/source/core/edit/edfld.cxx
index 82e915cdfe..86df811542 100644
--- a/sw/source/core/edit/edfld.cxx
+++ b/sw/source/core/edit/edfld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edfld.cxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/edit/edfldexp.cxx b/sw/source/core/edit/edfldexp.cxx
index 182317c223..ff548882ff 100644
--- a/sw/source/core/edit/edfldexp.cxx
+++ b/sw/source/core/edit/edfldexp.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edfldexp.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/edit/edfmt.cxx b/sw/source/core/edit/edfmt.cxx
index d3bcf716d4..ee35ed384a 100644
--- a/sw/source/core/edit/edfmt.cxx
+++ b/sw/source/core/edit/edfmt.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edfmt.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/edit/edglbldc.cxx b/sw/source/core/edit/edglbldc.cxx
index 5e87946247..39d7b0eac9 100644
--- a/sw/source/core/edit/edglbldc.cxx
+++ b/sw/source/core/edit/edglbldc.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edglbldc.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/edit/edglss.cxx b/sw/source/core/edit/edglss.cxx
index 41879086d0..40d24fd3db 100644
--- a/sw/source/core/edit/edglss.cxx
+++ b/sw/source/core/edit/edglss.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edglss.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#include <osl/endian.h>
#include <hintids.hxx>
-#include <svtools/urihelper.hxx>
+#include <svl/urihelper.hxx>
#include <tools/cachestr.hxx>
#include <doc.hxx>
#include <pam.hxx>
diff --git a/sw/source/core/edit/editsh.cxx b/sw/source/core/edit/editsh.cxx
index 8e79603719..d93b7b106a 100644
--- a/sw/source/core/edit/editsh.cxx
+++ b/sw/source/core/edit/editsh.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: editsh.cxx,v $
- * $Revision: 1.58 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -63,7 +60,7 @@
#include <extinput.hxx>
#include <crsskip.hxx>
#include <scriptinfo.hxx>
-#include <unoobj.hxx>
+#include <unocrsrhelper.hxx>
#include <section.hxx>
#include <unochart.hxx>
#include <numrule.hxx>
@@ -283,7 +280,7 @@ const Graphic* SwEditShell::GetGraphic( BOOL bWait ) const
if( pGrf->IsSwapOut() ||
( pGrfNode->IsLinkedFile() && GRAPHIC_DEFAULT == pGrf->GetType() ) )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( pGrfNode->SwapIn( bWait ) || !bWait, "Grafik konnte nicht geladen werden" );
#else
pGrfNode->SwapIn( bWait );
@@ -294,7 +291,7 @@ const Graphic* SwEditShell::GetGraphic( BOOL bWait ) const
{
if ( pGrf->IsSwapOut() && !pGrfNode->IsLinkedFile() )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( pGrfNode->SwapIn( bWait ) || !bWait, "Grafik konnte nicht geladen werden" );
#else
pGrfNode->SwapIn( bWait );
@@ -696,7 +693,7 @@ String SwEditShell::Calculate()
}
-SvxLinkManager& SwEditShell::GetLinkManager()
+sfx2::LinkManager& SwEditShell::GetLinkManager()
{
return pDoc->GetLinkManager();
}
@@ -726,7 +723,7 @@ Graphic SwEditShell::GetIMapGraphic() const
if( rGrf.IsSwapOut() || ( ((SwGrfNode*)pNd)->IsLinkedFile() &&
GRAPHIC_DEFAULT == rGrf.GetType() ) )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( ((SwGrfNode*)pNd)->SwapIn( TRUE ) || !TRUE, "Grafik konnte nicht geladen werden" );
#else
((SwGrfNode*)pNd)->SwapIn( TRUE );
@@ -1111,7 +1108,7 @@ String SwEditShell::DeleteExtTextInput( SwExtTextInput* pDel, BOOL bInsText )
if( pDel )
{
rtl::OUString sTmp;
- SwXTextCursor::getTextFromPam(*pDel, sTmp);
+ SwUnoCursorHelper::GetTextFromPam(*pDel, sTmp);
sRet = sTmp;
SET_CURR_SHELL( this );
StartAllAction();
diff --git a/sw/source/core/edit/edlingu.cxx b/sw/source/core/edit/edlingu.cxx
index c10370979a..6c9f6c2f3b 100644
--- a/sw/source/core/edit/edlingu.cxx
+++ b/sw/source/core/edit/edlingu.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edlingu.cxx,v $
- * $Revision: 1.31 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -44,11 +41,11 @@
#include <hintids.hxx>
#include <linguistic/lngprops.hxx>
#include <vcl/msgbox.hxx>
-#include <svx/unolingu.hxx>
-#include <svx/svxacorr.hxx>
-#include <svx/langitem.hxx>
-#include <svx/SpellPortions.hxx>
-#include <svx/scripttypeitem.hxx>
+#include <editeng/unolingu.hxx>
+#include <editeng/svxacorr.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/SpellPortions.hxx>
+#include <editeng/scripttypeitem.hxx>
#include <charatr.hxx>
#include <editsh.hxx>
#include <doc.hxx>
diff --git a/sw/source/core/edit/ednumber.cxx b/sw/source/core/edit/ednumber.cxx
index b9d4523edb..9c56f54563 100644
--- a/sw/source/core/edit/ednumber.cxx
+++ b/sw/source/core/edit/ednumber.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ednumber.cxx,v $
- * $Revision: 1.28 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -585,7 +582,7 @@ BOOL SwEditShell::IsProtectedOutlinePara() const
}
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
{
ASSERT(!this, "Cursor not on an outline node" );
diff --git a/sw/source/core/edit/edredln.cxx b/sw/source/core/edit/edredln.cxx
index 2144cb750c..9fc470a40d 100644
--- a/sw/source/core/edit/edredln.cxx
+++ b/sw/source/core/edit/edredln.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edredln.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/edit/edsect.cxx b/sw/source/core/edit/edsect.cxx
index ad36b898fd..d0886cd145 100644
--- a/sw/source/core/edit/edsect.cxx
+++ b/sw/source/core/edit/edsect.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edsect.cxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/edit/edtab.cxx b/sw/source/core/edit/edtab.cxx
index b4e6ceb991..a17b506749 100644
--- a/sw/source/core/edit/edtab.cxx
+++ b/sw/source/core/edit/edtab.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edtab.cxx,v $
- * $Revision: 1.22 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -36,13 +33,13 @@
#include <hints.hxx>
#define _SVSTDARR_ULONGS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#ifndef _APP_HXX //autogen
#include <vcl/svapp.hxx>
#endif
#include <vcl/window.hxx>
-#include <svx/boxitem.hxx>
+#include <editeng/boxitem.hxx>
#include <swwait.hxx>
#include <fmtfsize.hxx>
#include <frmatr.hxx>
diff --git a/sw/source/core/edit/edtox.cxx b/sw/source/core/edit/edtox.cxx
index c4b81facd8..e96504ab37 100644
--- a/sw/source/core/edit/edtox.cxx
+++ b/sw/source/core/edit/edtox.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edtox.cxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,10 +35,10 @@
#include <tools/urlobj.hxx>
#include <svtools/txtcmp.hxx>
#ifndef SVTOOLS_FSTATHELPER_HXX
-#include <svtools/fstathelper.hxx>
+#include <svl/fstathelper.hxx>
#endif
#include <sfx2/docfile.hxx>
-#include "svx/unolingu.hxx"
+#include "editeng/unolingu.hxx"
#include <swtypes.hxx>
#include <editsh.hxx>
#include <doc.hxx>
diff --git a/sw/source/core/edit/edundo.cxx b/sw/source/core/edit/edundo.cxx
index ff05de666d..c9c1d5ce13 100644
--- a/sw/source/core/edit/edundo.cxx
+++ b/sw/source/core/edit/edundo.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edundo.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/edit/edws.cxx b/sw/source/core/edit/edws.cxx
index 90dc9a70db..3584929282 100644
--- a/sw/source/core/edit/edws.cxx
+++ b/sw/source/core/edit/edws.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: edws.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/edit/makefile.mk b/sw/source/core/edit/makefile.mk
index c1476284c4..a7820b4058 100644
--- a/sw/source/core/edit/makefile.mk
+++ b/sw/source/core/edit/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.13 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/except/dbgloop.cxx b/sw/source/core/except/dbgloop.cxx
index 2998d7728e..266a0817a2 100644
--- a/sw/source/core/except/dbgloop.cxx
+++ b/sw/source/core/except/dbgloop.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dbgloop.cxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#error Wer fummelt denn an den makefiles rum?
#endif
#include <tools/stream.hxx>
diff --git a/sw/source/core/except/errhdl.cxx b/sw/source/core/except/errhdl.cxx
index 9927e6ef3f..2c48c28c1c 100644
--- a/sw/source/core/except/errhdl.cxx
+++ b/sw/source/core/except/errhdl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: errhdl.cxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/except/makefile.mk b/sw/source/core/except/makefile.mk
index 1000bcaab8..19450849b5 100644
--- a/sw/source/core/except/makefile.mk
+++ b/sw/source/core/except/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.3 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
@@ -49,8 +45,7 @@ PRJPCH=
CXXFILES =
-.IF "$(product)"==""
-.IF "$(cap)"==""
+.IF "$(dbgutil)"!=""
CXXFILES += \
errhdl.cxx \
dbgloop.cxx
@@ -59,7 +54,6 @@ SLOFILES += \
$(SLO)$/errhdl.obj \
$(SLO)$/dbgloop.obj
.ENDIF
-.ENDIF
# --- Tagets -------------------------------------------------------
.INCLUDE : target.mk
diff --git a/sw/source/core/fields/authfld.cxx b/sw/source/core/fields/authfld.cxx
index 281de8b636..7e32e2f09b 100644
--- a/sw/source/core/fields/authfld.cxx
+++ b/sw/source/core/fields/authfld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: authfld.cxx,v $
- * $Revision: 1.34 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,9 +35,9 @@
#define _SVSTDARR_ULONGS
#include <hintids.hxx>
-#include <svtools/svstdarr.hxx>
-#include <svx/unolingu.hxx>
-#include <svx/langitem.hxx>
+#include <svl/svstdarr.hxx>
+#include <editeng/unolingu.hxx>
+#include <editeng/langitem.hxx>
#include <swtypes.hxx>
#include <tools/resid.hxx>
#ifndef _COMCORE_HRC
diff --git a/sw/source/core/fields/cellfml.cxx b/sw/source/core/fields/cellfml.cxx
index a62957faa5..d92d8ce0e5 100644
--- a/sw/source/core/fields/cellfml.cxx
+++ b/sw/source/core/fields/cellfml.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: cellfml.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/fields/chpfld.cxx b/sw/source/core/fields/chpfld.cxx
index 15c2e23c01..693d7ce324 100644
--- a/sw/source/core/fields/chpfld.cxx
+++ b/sw/source/core/fields/chpfld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: chpfld.cxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/fields/dbfld.cxx b/sw/source/core/fields/dbfld.cxx
index 442cbd5d1e..92ad0ed940 100644
--- a/sw/source/core/fields/dbfld.cxx
+++ b/sw/source/core/fields/dbfld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dbfld.cxx,v $
- * $Revision: 1.31 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#include <float.h>
#include <sfx2/app.hxx>
-#include <svtools/zforlist.hxx>
+#include <svl/zforlist.hxx>
#include <svx/pageitem.hxx>
#include <svx/dataaccessdescriptor.hxx>
#include <com/sun/star/sdbc/DataType.hpp>
@@ -96,6 +93,10 @@ SwDBFieldType::SwDBFieldType(SwDoc* pDocPtr, const String& rNam, const SwDBData&
sName += GetColumnName();
}
//------------------------------------------------------------------------------
+SwDBFieldType::~SwDBFieldType()
+{
+}
+//------------------------------------------------------------------------------
SwFieldType* SwDBFieldType::Copy() const
{
diff --git a/sw/source/core/fields/ddefld.cxx b/sw/source/core/fields/ddefld.cxx
index 04cb0c7755..7979d332d5 100644
--- a/sw/source/core/fields/ddefld.cxx
+++ b/sw/source/core/fields/ddefld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ddefld.cxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,7 +29,7 @@
#include "precompiled_sw.hxx"
-#include <svx/linkmgr.hxx>
+#include <sfx2/linkmgr.hxx>
#include <doc.hxx>
#include <editsh.hxx>
#include <errhdl.hxx>
diff --git a/sw/source/core/fields/ddetbl.cxx b/sw/source/core/fields/ddetbl.cxx
index ba496601c6..7299b80927 100644
--- a/sw/source/core/fields/ddetbl.cxx
+++ b/sw/source/core/fields/ddetbl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ddetbl.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/fields/docufld.cxx b/sw/source/core/fields/docufld.cxx
index 3d54971e41..66245b33b3 100644
--- a/sw/source/core/fields/docufld.cxx
+++ b/sw/source/core/fields/docufld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docufld.cxx,v $
- * $Revision: 1.51.16.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -47,31 +44,32 @@
#include <com/sun/star/text/UserFieldFormat.hpp>
#include <com/sun/star/text/PageNumberType.hpp>
#include <com/sun/star/text/ReferenceFieldPart.hpp>
-#ifndef _COM_SUN_STAR_TEXT_FilenameDisplayFormat_HPP_
#include <com/sun/star/text/FilenameDisplayFormat.hpp>
-#endif
#include <com/sun/star/text/XDependentTextField.hpp>
#include <com/sun/star/text/DocumentStatistic.hpp>
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
#include <com/sun/star/document/XDocumentProperties.hpp>
#include <com/sun/star/util/Date.hpp>
+#include <com/sun/star/util/Duration.hpp>
#include <unotools/localedatawrapper.hxx>
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/types.hxx>
#include <comphelper/string.hxx>
#include <tools/urlobj.hxx>
-#ifndef _APP_HXX //autogen
#include <vcl/svapp.hxx>
-#endif
-#include <svtools/urihelper.hxx>
-#include <svtools/useroptions.hxx>
-#include <svtools/syslocale.hxx>
+#include <svl/urihelper.hxx>
+#include <unotools/useroptions.hxx>
+#include <unotools/syslocale.hxx>
+#include <svl/zforlist.hxx>
#include <tools/time.hxx>
#include <tools/datetime.hxx>
#include <com/sun/star/beans/PropertyAttribute.hpp>
+#include <com/sun/star/util/Date.hpp>
+#include <com/sun/star/util/DateTime.hpp>
+#include <com/sun/star/util/Time.hpp>
#include <tools/shl.hxx>
#include <swmodule.hxx>
@@ -90,9 +88,7 @@
#include <cntfrm.hxx> //
#include <pam.hxx>
#include <viewsh.hxx>
-#ifndef _DBMGR_HXX
#include <dbmgr.hxx>
-#endif
#include <shellres.hxx>
#include <docufld.hxx>
#include <flddat.hxx>
@@ -100,19 +96,13 @@
#include <ndtxt.hxx>
#include <expfld.hxx>
#include <poolfmt.hxx>
-#ifndef _DOCSH_HXX
#include <docsh.hxx>
-#endif
-#ifndef _UNOFLDMID_H
#include <unofldmid.h>
-#endif
#include <swunohelper.hxx>
-#ifndef _COMCORE_HRC
#include <comcore.hrc>
-#endif
-#include <svx/outliner.hxx>
-#include <svx/outlobj.hxx>
+#include <editeng/outliner.hxx>
+#include <editeng/outlobj.hxx>
#define URL_DECODE INetURLObject::DECODE_UNAMBIGUOUS
@@ -1114,6 +1104,21 @@ SwDocInfoField::SwDocInfoField(SwDocInfoFieldType* pTyp, sal_uInt16 nSub, const
/* ---------------------------------------------------------------------------
---------------------------------------------------------------------------*/
+template<class T>
+double lcl_TimeToDouble( const T& rTime )
+{
+ const double fMilliSecondsPerDay = 86400000.0;
+ return ((rTime.Hours*3600000)+(rTime.Minutes*60000)+(rTime.Seconds*1000)+(rTime.HundredthSeconds*10)) / fMilliSecondsPerDay;
+}
+
+template<class D>
+double lcl_DateToDouble( const D& rDate, const Date& rNullDate )
+{
+ long nDate = Date::DateToDays( rDate.Day, rDate.Month, rDate.Year );
+ long nNullDate = Date::DateToDays( rNullDate.GetDay(), rNullDate.GetMonth(), rNullDate.GetYear() );
+ return double( nDate - nNullDate );
+}
+
String SwDocInfoField::Expand() const
{
if ( ( nSubType & 0xFF ) == DI_CUSTOM )
@@ -1145,9 +1150,41 @@ String SwDocInfoField::Expand() const
::rtl::OUString sVal;
uno::Reference < script::XTypeConverter > xConverter( comphelper::getProcessServiceFactory()
->createInstance(::rtl::OUString::createFromAscii("com.sun.star.script.Converter")), uno::UNO_QUERY );
- uno::Any aNew = xConverter->convertToSimpleType( aAny, uno::TypeClass_STRING );
- aNew >>= sVal;
- const_cast<SwDocInfoField*>(this)->aContent = sVal;
+ util::Date aDate;
+ util::DateTime aDateTime;
+ util::Duration aDuration;
+ if( aAny >>= aDate)
+ {
+ SvNumberFormatter* pFormatter = pDocShell->GetDoc()->GetNumberFormatter();
+ Date* pNullDate = pFormatter->GetNullDate();
+ sVal = ExpandValue( lcl_DateToDouble<util::Date>( aDate, *pNullDate ), GetFormat(), GetLanguage());
+ }
+ else if( aAny >>= aDateTime )
+ {
+ double fDateTime = lcl_TimeToDouble<util::DateTime>( aDateTime );
+ SvNumberFormatter* pFormatter = pDocShell->GetDoc()->GetNumberFormatter();
+ Date* pNullDate = pFormatter->GetNullDate();
+ fDateTime += lcl_DateToDouble<util::DateTime>( aDateTime, *pNullDate );
+ sVal = ExpandValue( fDateTime, GetFormat(), GetLanguage());
+ }
+ else if( aAny >>= aDuration )
+ {
+ String sText(aDuration.Negative ? '-' : '+');
+ sText += ViewShell::GetShellRes()->sDurationFormat;
+ sText.SearchAndReplace(String::CreateFromAscii( "%1"), String::CreateFromInt32( aDuration.Years ) );
+ sText.SearchAndReplace(String::CreateFromAscii( "%2"), String::CreateFromInt32( aDuration.Months ) );
+ sText.SearchAndReplace(String::CreateFromAscii( "%3"), String::CreateFromInt32( aDuration.Days ) );
+ sText.SearchAndReplace(String::CreateFromAscii( "%4"), String::CreateFromInt32( aDuration.Hours ) );
+ sText.SearchAndReplace(String::CreateFromAscii( "%5"), String::CreateFromInt32( aDuration.Minutes) );
+ sText.SearchAndReplace(String::CreateFromAscii( "%6"), String::CreateFromInt32( aDuration.Seconds) );
+ sVal = sText;
+ }
+ else
+ {
+ uno::Any aNew = xConverter->convertToSimpleType( aAny, uno::TypeClass_STRING );
+ aNew >>= sVal;
+ }
+ ((SwDocInfoField*)this)->aContent = sVal;
}
}
}
@@ -1328,7 +1365,8 @@ BOOL SwDocInfoField::PutValue( const uno::Any& rAny, USHORT nWhichId )
SwHiddenTxtFieldType::SwHiddenTxtFieldType( sal_Bool bSetHidden )
: SwFieldType( RES_HIDDENTXTFLD ), bHidden( bSetHidden )
-{}
+{
+}
SwFieldType* SwHiddenTxtFieldType::Copy() const
{
@@ -1880,7 +1918,7 @@ sal_uInt32 SwPostItField::GetNumberOfParagraphs() const
--------------------------------------------------*/
BOOL SwPostItField::QueryValue( uno::Any& rAny, USHORT nWhichId ) const
{
- switch( nWhichId )
+ switch( nWhichId )
{
case FIELD_PROP_PAR1:
rAny <<= OUString(sAuthor);
@@ -2318,7 +2356,7 @@ sal_uInt16 SwRefPageGetFieldType::MakeSetList( _SetGetExpFlds& rTmpLst )
{
// einen sdbcx::Index fuers bestimmen vom TextNode anlegen
SwPosition aPos( pDoc->GetNodes().GetEndOfPostIts() );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( GetBodyTxtNode( *pDoc, aPos, *pFrm ),
"wo steht das Feld" );
#else
diff --git a/sw/source/core/fields/expfld.cxx b/sw/source/core/fields/expfld.cxx
index d620ff9f5f..07c8839898 100644
--- a/sw/source/core/fields/expfld.cxx
+++ b/sw/source/core/fields/expfld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: expfld.cxx,v $
- * $Revision: 1.35 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,16 +28,16 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
#include <hintids.hxx>
#include <unotools/collatorwrapper.hxx>
#include <unotools/charclass.hxx>
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <svx/pageitem.hxx>
-#include <svx/langitem.hxx>
-#include <svx/fontitem.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/fontitem.hxx>
#include <com/sun/star/text/SetVariableType.hpp>
#include <unofield.hxx>
+#include <frmfmt.hxx>
#include <fmtfld.hxx>
#include <txtfld.hxx>
#include <fmtanchr.hxx>
@@ -64,9 +61,7 @@
#include <swtable.hxx>
#include <breakit.hxx>
#include <SwStyleNameMapper.hxx>
-#ifndef _UNOFLDMID_H
#include <unofldmid.h>
-#endif
#include <numrule.hxx>
using namespace ::com::sun::star;
@@ -187,17 +182,20 @@ const SwTxtNode* GetBodyTxtNode( const SwDoc& rDoc, SwPosition& rPos,
pLayout = (SwLayoutFrm*)((SwFlyFrm*)pLayout)->GetAnchorFrm();
continue;
}
- else if( FLY_AT_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() ||
- FLY_IN_CNTNT == rAnchor.GetAnchorId() )
+ else if ((FLY_AT_PARA == rAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rAnchor.GetAnchorId()) ||
+ (FLY_AS_CHAR == rAnchor.GetAnchorId()))
{
ASSERT( rAnchor.GetCntntAnchor(), "keine gueltige Position" );
rPos = *rAnchor.GetCntntAnchor();
pTxtNode = rPos.nNode.GetNode().GetTxtNode();
- if( FLY_AT_CNTNT == rAnchor.GetAnchorId() )
- ((SwTxtNode*)pTxtNode)->MakeStartIndex( &rPos.nContent );
+ if ( FLY_AT_PARA == rAnchor.GetAnchorId() )
+ {
+ const_cast<SwTxtNode*>(pTxtNode)->MakeStartIndex(
+ &rPos.nContent );
// oder doch besser das Ende vom (Anker-)TextNode nehmen ??
// ((SwTxtNode*)pTxtNode)->MakeEndIndex( &rPos.nContent );
+ }
// noch nicht abbrechen, kann ja auch noch im
// Header/Footer/Footnote/Fly stehen !!
@@ -1297,7 +1295,7 @@ BOOL SwSetExpField::PutValue( const uno::Any& rAny, USHORT nWhichId )
break;
case FIELD_PROP_DOUBLE:
{
- double fVal;
+ double fVal = 0.0;
rAny >>= fVal;
SetValue(fVal);
}
diff --git a/sw/source/core/fields/fldbas.cxx b/sw/source/core/fields/fldbas.cxx
index 930394256f..db704276ba 100644
--- a/sw/source/core/fields/fldbas.cxx
+++ b/sw/source/core/fields/fldbas.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fldbas.cxx,v $
- * $Revision: 1.27 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,9 +32,9 @@
// #include <math.h>
#include <float.h>
#include <rtl/math.hxx>
-#include <svtools/zforlist.hxx>
-#include <svtools/zformat.hxx>
-#include <svx/unolingu.hxx>
+#include <svl/zforlist.hxx>
+#include <svl/zformat.hxx>
+#include <editeng/unolingu.hxx>
#ifndef _UNOFLDMID_H
#include <unofldmid.h>
#endif
@@ -167,7 +164,7 @@ SwFieldType::SwFieldType( USHORT nWhichId )
DBG_CTOR( SwFieldType, 0 );
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
SwFieldType::~SwFieldType()
{
@@ -213,7 +210,7 @@ SwField::~SwField()
Beschreibung: Statt Umweg ueber den Typ
--------------------------------------------------------------------*/
-#ifndef PRODUCT
+#ifdef DBG_UTIL
USHORT SwField::Which() const
{
ASSERT(pType, "Kein Typ vorhanden");
diff --git a/sw/source/core/fields/flddat.cxx b/sw/source/core/fields/flddat.cxx
index 648fb63539..321b0b5120 100644
--- a/sw/source/core/fields/flddat.cxx
+++ b/sw/source/core/fields/flddat.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: flddat.cxx,v $
- * $Revision: 1.15 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
// #include <math.h>
#include <tools/datetime.hxx>
-#include <svtools/zforlist.hxx>
+#include <svl/zforlist.hxx>
#include <com/sun/star/util/DateTime.hpp>
#include <doc.hxx>
#include <fldbas.hxx>
diff --git a/sw/source/core/fields/flddropdown.cxx b/sw/source/core/fields/flddropdown.cxx
index 357e1c842e..25f7fbf722 100644
--- a/sw/source/core/fields/flddropdown.cxx
+++ b/sw/source/core/fields/flddropdown.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: flddropdown.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,7 +34,7 @@
#include <algorithm>
#define INCLUDED_ALGORITHM
#endif
-#include <svtools/poolitem.hxx>
+#include <svl/poolitem.hxx>
#ifndef _UNOFLDMID_H
#include <unofldmid.h>
diff --git a/sw/source/core/fields/fldlst.cxx b/sw/source/core/fields/fldlst.cxx
index b8f3be064e..d47c62da4d 100644
--- a/sw/source/core/fields/fldlst.cxx
+++ b/sw/source/core/fields/fldlst.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fldlst.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/fields/macrofld.cxx b/sw/source/core/fields/macrofld.cxx
index 92ba9ae5a2..1471d46b29 100644
--- a/sw/source/core/fields/macrofld.cxx
+++ b/sw/source/core/fields/macrofld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: macrofld.cxx,v $
- * $Revision: 1.13.214.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/fields/makefile.mk b/sw/source/core/fields/makefile.mk
index 965927ed7a..280fff6aae 100644
--- a/sw/source/core/fields/makefile.mk
+++ b/sw/source/core/fields/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.12 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/fields/postithelper.cxx b/sw/source/core/fields/postithelper.cxx
index 9a4542b628..822df75ee9 100644
--- a/sw/source/core/fields/postithelper.cxx
+++ b/sw/source/core/fields/postithelper.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: postithelper.cxx,v $
- * $Revision: 1.2.118.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -47,7 +44,7 @@
#include <IDocumentRedlineAccess.hxx>
#include <redline.hxx>
#include <scriptinfo.hxx>
-#include <svx/charhiddenitem.hxx>
+#include <editeng/charhiddenitem.hxx>
SwPostItHelper::SwLayoutStatus SwPostItHelper::getLayoutInfos( std::vector< SwLayoutInfo >& rInfo, SwPosition& rPos )
diff --git a/sw/source/core/fields/reffld.cxx b/sw/source/core/fields/reffld.cxx
index 7204947d1a..d0c39fbd91 100644
--- a/sw/source/core/fields/reffld.cxx
+++ b/sw/source/core/fields/reffld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: reffld.cxx,v $
- * $Revision: 1.27 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,13 +31,13 @@
#define _SVSTDARR_USHORTSSORT
#define _SVSTDARR_USHORTS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <com/sun/star/text/ReferenceFieldPart.hpp>
#include <com/sun/star/text/ReferenceFieldSource.hpp>
#include <unotools/localedatawrapper.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <comphelper/processfactory.hxx>
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <doc.hxx>
#include <pam.hxx>
#include <cntfrm.hxx>
diff --git a/sw/source/core/fields/scrptfld.cxx b/sw/source/core/fields/scrptfld.cxx
index a1bc1952bc..b9e64b2d70 100644
--- a/sw/source/core/fields/scrptfld.cxx
+++ b/sw/source/core/fields/scrptfld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: scrptfld.cxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/fields/tblcalc.cxx b/sw/source/core/fields/tblcalc.cxx
index 2352fb9e1b..5b43ea2627 100644
--- a/sw/source/core/fields/tblcalc.cxx
+++ b/sw/source/core/fields/tblcalc.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tblcalc.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/fields/textapi.cxx b/sw/source/core/fields/textapi.cxx
index ff794a0b6b..1bb476f466 100755
--- a/sw/source/core/fields/textapi.cxx
+++ b/sw/source/core/fields/textapi.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: textapi.cxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,8 +31,8 @@
#include <textapi.hxx>
#include <doc.hxx>
#include <docsh.hxx>
-#include <svx/eeitem.hxx>
-#include <svx/editeng.hxx>
+#include <editeng/eeitem.hxx>
+#include <editeng/editeng.hxx>
#include <com/sun/star/text/XTextField.hpp>
#include <com/sun/star/container/XNameContainer.hpp>
@@ -57,7 +54,7 @@ static const SvxItemPropertySet* ImplGetSvxTextPortionPropertySet()
{MAP_CHAR_LEN("ParaUserDefinedAttributes"), EE_PARA_XMLATTRIBS, &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0) , 0, 0},
{0,0,0,0,0,0}
};
- static SvxItemPropertySet aSvxTextPortionPropertySet( aSvxTextPortionPropertyMap );
+ static SvxItemPropertySet aSvxTextPortionPropertySet( aSvxTextPortionPropertyMap, EditEngine::GetGlobalItemPool() );
return &aSvxTextPortionPropertySet;
}
diff --git a/sw/source/core/fields/usrfld.cxx b/sw/source/core/fields/usrfld.cxx
index 870881dc21..aff0e3801d 100644
--- a/sw/source/core/fields/usrfld.cxx
+++ b/sw/source/core/fields/usrfld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: usrfld.cxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,8 +29,8 @@
#include "precompiled_sw.hxx"
-#include <svtools/zforlist.hxx>
-#include <svtools/zformat.hxx>
+#include <svl/zforlist.hxx>
+#include <svl/zformat.hxx>
#include <svx/svdmodel.hxx>
diff --git a/sw/source/core/frmedt/fecopy.cxx b/sw/source/core/frmedt/fecopy.cxx
index bc66235cde..fae8842643 100644
--- a/sw/source/core/frmedt/fecopy.cxx
+++ b/sw/source/core/frmedt/fecopy.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fecopy.cxx,v $
- * $Revision: 1.53 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,14 +34,14 @@
#include <vcl/graph.hxx>
#include <sot/formats.hxx>
#include <sot/storage.hxx>
-#include <svtools/pathoptions.hxx>
+#include <unotools/pathoptions.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/viewsh.hxx>
#include <svx/xexch.hxx>
#include <svx/xflasit.hxx>
#include <svx/xfillit0.hxx>
#include <svx/xflclit.hxx>
-#include <svx/brshitem.hxx>
+#include <editeng/brshitem.hxx>
#include <svx/svdocapt.hxx>
#include <svx/svdouno.hxx>
#include <svx/xfillit.hxx>
@@ -151,14 +148,16 @@ BOOL SwFEShell::Copy( SwDoc* pClpDoc, const String* pNewClpTxt )
SwFrmFmt* pFlyFmt = pFly->GetFmt();
SwFmtAnchor aAnchor( pFlyFmt->GetAnchor() );
- if ( FLY_AT_CNTNT == aAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == aAnchor.GetAnchorId() ||
- FLY_AT_FLY == aAnchor.GetAnchorId() ||
- FLY_IN_CNTNT == aAnchor.GetAnchorId() )
+ if ((FLY_AT_PARA == aAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == aAnchor.GetAnchorId()) ||
+ (FLY_AT_FLY == aAnchor.GetAnchorId()) ||
+ (FLY_AS_CHAR == aAnchor.GetAnchorId()))
{
SwPosition aPos( aSttIdx );
- if( FLY_IN_CNTNT == aAnchor.GetAnchorId() )
+ if ( FLY_AS_CHAR == aAnchor.GetAnchorId() )
+ {
aPos.nContent.Assign( pTxtNd, 0 );
+ }
aAnchor.SetAnchor( &aPos );
}
pFlyFmt = pClpDoc->CopyLayoutFmt( *pFlyFmt, aAnchor, true, true );
@@ -175,7 +174,7 @@ BOOL SwFEShell::Copy( SwDoc* pClpDoc, const String* pNewClpTxt )
rSpzFrmFmts.Insert( pFlyFmt, 0 );
}
- if( FLY_IN_CNTNT == aAnchor.GetAnchorId() )
+ if ( FLY_AS_CHAR == aAnchor.GetAnchorId() )
{
// JP 13.02.99 Bug 61863: wenn eine Rahmenselektion ins Clipboard
// gestellt wird, so muss beim Pasten auch wieder
@@ -206,24 +205,25 @@ BOOL SwFEShell::Copy( SwDoc* pClpDoc, const String* pNewClpTxt )
{
SfxItemSet aSet( pClpDoc->GetAttrPool(), aFrmFmtSetRange );
- SwFmtAnchor aAnchor( FLY_AT_CNTNT );
+ SwFmtAnchor aAnchor( FLY_AT_PARA );
aAnchor.SetAnchor( &aPos );
aSet.Put( aAnchor );
- SdrObject* pNew = pClpDoc->CloneSdrObj( *pObj, FALSE, TRUE );
+ SdrObject *const pNew =
+ pClpDoc->CloneSdrObj( *pObj, FALSE, TRUE );
SwPaM aTemp(aPos);
- pClpDoc->Insert(aTemp, *pNew, &aSet, NULL);
+ pClpDoc->Insert(aTemp, *pNew, &aSet, NULL);
}
else
{
SwDrawContact *pContact = (SwDrawContact*)GetUserCall( pObj );
SwFrmFmt *pFmt = pContact->GetFmt();
SwFmtAnchor aAnchor( pFmt->GetAnchor() );
- if ( FLY_AT_CNTNT == aAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == aAnchor.GetAnchorId() ||
- FLY_AT_FLY == aAnchor.GetAnchorId() ||
- FLY_IN_CNTNT == aAnchor.GetAnchorId() )
+ if ((FLY_AT_PARA == aAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == aAnchor.GetAnchorId()) ||
+ (FLY_AT_FLY == aAnchor.GetAnchorId()) ||
+ (FLY_AS_CHAR == aAnchor.GetAnchorId()))
{
aAnchor.SetAnchor( &aPos );
}
@@ -269,7 +269,9 @@ BOOL lcl_SetAnchor( const SwPosition& rPos, const SwNode& rNd, SwFlyFrm* pFly,
SwCntntFrm* pTmpFrm = rNd.GetCntntNode()->GetFrm( &rInsPt, 0, FALSE );
SwFlyFrm *pTmpFly = pTmpFrm->FindFlyFrm();
if( pTmpFly && bCheckFlyRecur && pFly->IsUpperOf( *pTmpFly ) )
+ {
bRet = FALSE;
+ }
else if ( FLY_AT_FLY == rAnchor.GetAnchorId() )
{
if( pTmpFly )
@@ -281,7 +283,7 @@ BOOL lcl_SetAnchor( const SwPosition& rPos, const SwNode& rNd, SwFlyFrm* pFly,
}
else
{
- rAnchor.SetType( FLY_PAGE );
+ rAnchor.SetType( FLY_AT_PAGE );
rAnchor.SetPageNum( rDestShell.GetPageNumber( rInsPt ) );
const SwFrm *pPg = pTmpFrm->FindPageFrm();
rNewPos = pPg->Frm().Pos();
@@ -329,7 +331,7 @@ BOOL SwFEShell::CopyDrawSel( SwFEShell* pDestShell, const Point& rSttPt,
// in die Gruppe einfuegen, wenns aus einer betretenen Gruppe
// kommt oder das Object nicht zeichengebunden ist
if( pSrcDrwView->IsGroupEntered() ||
- FLY_IN_CNTNT != rAnchor.GetAnchorId() )
+ (FLY_AS_CHAR != rAnchor.GetAnchorId()) )
{
SdrObject* pNew = pDestDoc->CloneSdrObj( *pObj, bIsMove &&
@@ -345,10 +347,10 @@ BOOL SwFEShell::CopyDrawSel( SwFEShell* pDestShell, const Point& rSttPt,
SwFmtAnchor aAnchor( rAnchor );
Point aNewAnch;
- if ( FLY_AT_CNTNT == aAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == aAnchor.GetAnchorId() ||
- FLY_AT_FLY == aAnchor.GetAnchorId() ||
- FLY_IN_CNTNT == aAnchor.GetAnchorId() )
+ if ((FLY_AT_PARA == aAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == aAnchor.GetAnchorId()) ||
+ (FLY_AT_FLY == aAnchor.GetAnchorId()) ||
+ (FLY_AS_CHAR == aAnchor.GetAnchorId()))
{
if ( this == pDestShell )
{
@@ -378,7 +380,7 @@ BOOL SwFEShell::CopyDrawSel( SwFEShell* pDestShell, const Point& rSttPt,
aNewAnch, FALSE );
}
}
- else if( FLY_PAGE == aAnchor.GetAnchorId() )
+ else if ( FLY_AT_PAGE == aAnchor.GetAnchorId() )
{
aAnchor.SetPageNum( pDestShell->GetPageNumber( rInsPt ) );
const SwRootFrm* pTmpRoot = pDestShell->GetLayout();
@@ -406,7 +408,7 @@ BOOL SwFEShell::CopyDrawSel( SwFEShell* pDestShell, const Point& rSttPt,
if ( pFmt )
{
SdrObject* pNew = pFmt->FindSdrObject();
- if( FLY_IN_CNTNT != aAnchor.GetAnchorId() )
+ if ( FLY_AS_CHAR != aAnchor.GetAnchorId() )
{
Point aPos( rInsPt );
aPos -= aNewAnch;
@@ -496,10 +498,10 @@ BOOL SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
bRet = TRUE;
Point aNewAnch;
- if ( FLY_AT_CNTNT == aAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == aAnchor.GetAnchorId() ||
- FLY_AT_FLY == aAnchor.GetAnchorId() ||
- FLY_IN_CNTNT == aAnchor.GetAnchorId() )
+ if ((FLY_AT_PARA == aAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == aAnchor.GetAnchorId()) ||
+ (FLY_AT_FLY == aAnchor.GetAnchorId()) ||
+ (FLY_AS_CHAR == aAnchor.GetAnchorId()))
{
if ( this == pDestShell )
{
@@ -537,7 +539,7 @@ BOOL SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
aNewAnch, GetDoc() == pDestShell->GetDoc());
}
}
- else if( FLY_PAGE == aAnchor.GetAnchorId() )
+ else if ( FLY_AT_PAGE == aAnchor.GetAnchorId() )
{
aAnchor.SetPageNum( pDestShell->GetPageNumber( rInsPt ) );
const SwRootFrm* pTmpRoot = pDestShell->GetLayout();
@@ -554,7 +556,7 @@ BOOL SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
SwFrmFmt *pOldFmt = pFlyFmt;
pFlyFmt = pDestShell->GetDoc()->CopyLayoutFmt( *pFlyFmt, aAnchor, true, true );
- if( FLY_IN_CNTNT != aAnchor.GetAnchorId() )
+ if ( FLY_AS_CHAR != aAnchor.GetAnchorId() )
{
Point aPos( rInsPt );
aPos -= aNewAnch;
@@ -918,7 +920,7 @@ BOOL SwFEShell::Paste( SwDoc* pClpDoc, BOOL bIncludingPageFrames )
if( Imp()->GetDrawView()->IsGroupEntered() &&
RES_DRAWFRMFMT == rCpyFmt.Which() &&
- FLY_IN_CNTNT != rCpyFmt.GetAnchor().GetAnchorId() )
+ (FLY_AS_CHAR != rCpyFmt.GetAnchor().GetAnchorId()) )
{
const SdrObject* pSdrObj = rCpyFmt.FindSdrObject();
if( pSdrObj )
@@ -966,9 +968,9 @@ BOOL SwFEShell::Paste( SwDoc* pClpDoc, BOOL bIncludingPageFrames )
if( bInsWithFmt )
{
SwFmtAnchor aAnchor( rCpyFmt.GetAnchor() );
- if( FLY_AT_CNTNT == aAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == aAnchor.GetAnchorId() ||
- FLY_IN_CNTNT == aAnchor.GetAnchorId() )
+ if ((FLY_AT_PARA == aAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == aAnchor.GetAnchorId()) ||
+ (FLY_AS_CHAR == aAnchor.GetAnchorId()))
{
SwPosition* pPos = PCURCRSR->GetPoint();
// #108784# allow shapes (no controls) in header/footer
@@ -979,7 +981,7 @@ BOOL SwFEShell::Paste( SwDoc* pClpDoc, BOOL bIncludingPageFrames )
aAnchor.SetAnchor( pPos );
}
- else if( FLY_PAGE == aAnchor.GetAnchorId() )
+ else if ( FLY_AT_PAGE == aAnchor.GetAnchorId() )
{
aAnchor.SetPageNum( GetPhyPageNum() );
}
@@ -1091,7 +1093,7 @@ BOOL SwFEShell::Paste( SwDoc* pClpDoc, BOOL bIncludingPageFrames )
if( bInsWithFmt )
{
SwFmtAnchor aAnchor( rCpyFmt.GetAnchor() );
- if( FLY_PAGE == aAnchor.GetAnchorId() )
+ if ( FLY_AT_PAGE == aAnchor.GetAnchorId() )
{
aAnchor.SetPageNum( aAnchor.GetPageNum() + nStartPageNumber - 1 );
}
@@ -1199,7 +1201,7 @@ BOOL SwFEShell::PastePages( SwFEShell& rToFill, USHORT nStartPage, USHORT nEndPa
{
const SwFrmFmt& rCpyFmt = *(*GetDoc()->GetSpzFrmFmts())[i];
SwFmtAnchor aAnchor( rCpyFmt.GetAnchor() );
- if( FLY_PAGE == aAnchor.GetAnchorId() &&
+ if ((FLY_AT_PAGE == aAnchor.GetAnchorId()) &&
aAnchor.GetPageNum() >= nStartPage && aAnchor.GetPageNum() <= nEndPage)
{
aAnchor.SetPageNum( aAnchor.GetPageNum() - nStartPage + 1);
diff --git a/sw/source/core/frmedt/fedesc.cxx b/sw/source/core/frmedt/fedesc.cxx
index 1e304cca24..680ec57e4c 100644
--- a/sw/source/core/frmedt/fedesc.cxx
+++ b/sw/source/core/frmedt/fedesc.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fedesc.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -70,7 +67,7 @@ USHORT SwFEShell::GetPageDescCnt() const
void SwFEShell::ChgCurPageDesc( const SwPageDesc& rDesc )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
//Die SS veraendert keinen PageDesc, sondern setzt nur das Attribut.
//Der Pagedesc muss im Dokument vorhanden sein!
BOOL bFound = FALSE;
diff --git a/sw/source/core/frmedt/fefly1.cxx b/sw/source/core/frmedt/fefly1.cxx
index 640a49f13d..98fd9ae091 100644
--- a/sw/source/core/frmedt/fefly1.cxx
+++ b/sw/source/core/frmedt/fefly1.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fefly1.cxx,v $
- * $Revision: 1.45 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,10 +28,10 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
#include <hintids.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#include <svtools/imapobj.hxx>
#include <svtools/soerr.hxx>
-#include <svx/protitem.hxx>
+#include <editeng/protitem.hxx>
#include <svx/svdogrp.hxx>
#include <svx/svdouno.hxx>
#include <svx/fmglob.hxx>
@@ -113,7 +110,7 @@ sal_Bool lcl_SetNewFlyPos( const SwNode& rNode, SwFmtAnchor& rAnchor,
const SwPageFrm *pPg = pCFrm ? pCFrm->FindPageFrm() : 0;
rAnchor.SetPageNum( pPg ? pPg->GetPhyPageNum() : 1 );
- rAnchor.SetType( FLY_PAGE );
+ rAnchor.SetType( FLY_AT_PAGE );
}
return bRet;
}
@@ -130,9 +127,9 @@ BOOL lcl_FindAnchorPos( SwDoc& rDoc, const Point& rPt, const SwFrm& rFrm,
Point aTmpPnt( rPt );
switch( nNew )
{
- case FLY_IN_CNTNT: // sollte der nicht auch mit hinein?
- case FLY_AT_CNTNT:
- case FLY_AUTO_CNTNT: // LAYER_IMPL
+ case FLY_AS_CHAR: // sollte der nicht auch mit hinein?
+ case FLY_AT_PARA:
+ case FLY_AT_CHAR: // LAYER_IMPL
{
//Ausgehend von der linken oberen Ecke des Fly den
//dichtesten CntntFrm suchen.
@@ -146,7 +143,7 @@ BOOL lcl_FindAnchorPos( SwDoc& rDoc, const Point& rPt, const SwFrm& rFrm,
}
SwPosition aPos( *((SwCntntFrm*)pNewAnch)->GetNode() );
- if( FLY_AUTO_CNTNT == nNew || FLY_IN_CNTNT == nNew )
+ if ((FLY_AT_CHAR == nNew) || (FLY_AS_CHAR == nNew))
{
// es muss ein TextNode gefunden werden, denn nur in diesen
// ist ein Inhaltsgebundene Frames zu verankern
@@ -186,10 +183,10 @@ BOOL lcl_FindAnchorPos( SwDoc& rDoc, const Point& rPt, const SwFrm& rFrm,
}
}
- aNewAnch.SetType( nNew = FLY_PAGE );
+ aNewAnch.SetType( nNew = FLY_AT_PAGE );
// no break
- case FLY_PAGE:
+ case FLY_AT_PAGE:
pNewAnch = rFrm.FindPageFrm();
aNewAnch.SetPageNum( pNewAnch->GetPhyPageNum() );
break;
@@ -218,9 +215,9 @@ sal_Bool lcl_ChkAndSetNewAnchor( const SwFlyFrm& rFly, SfxItemSet& rSet )
SwDoc* pDoc = (SwDoc*)rFmt.GetDoc();
-#ifndef PRODUCT
- ASSERT( !(nNew == FLY_PAGE &&
- (FLY_AT_CNTNT==nOld || FLY_AUTO_CNTNT==nOld || FLY_IN_CNTNT==nOld ) &&
+#ifdef DBG_UTIL
+ ASSERT( !(nNew == FLY_AT_PAGE &&
+ (FLY_AT_PARA==nOld || FLY_AT_CHAR==nOld || FLY_AS_CHAR==nOld ) &&
pDoc->IsInHeaderFooter( rOldAnch.GetCntntAnchor()->nNode )),
"Unerlaubter Ankerwechsel in Head/Foot." );
#endif
@@ -441,7 +438,7 @@ Point SwFEShell::FindAnchorPos( const Point& rAbsPos, sal_Bool bMoveIt )
SwFrmFmt& rFmt = pAnchoredObj->GetFrmFmt();
RndStdIds nAnchorId = rFmt.GetAnchor().GetAnchorId();
- if ( FLY_IN_CNTNT == nAnchorId )
+ if ( FLY_AS_CHAR == nAnchorId )
return aRet;
sal_Bool bFlyFrame = pObj->ISA(SwVirtFlyDrawObj);
@@ -462,8 +459,10 @@ Point SwFEShell::FindAnchorPos( const Point& rAbsPos, sal_Bool bMoveIt )
pOldAnch = pFly->GetAnchorFrm();
if( !pOldAnch )
return aRet;
- if( FLY_PAGE != nAnchorId )
+ if ( FLY_AT_PAGE != nAnchorId )
+ {
pFooterOrHeader = pCntnt->FindFooterOrHeader();
+ }
}
// OD 26.06.2003 #108784# - set <pFooterOrHeader> also for drawing
// objects, but not for control objects.
@@ -489,14 +488,18 @@ Point SwFEShell::FindAnchorPos( const Point& rAbsPos, sal_Bool bMoveIt )
const SwFrm *pNewAnch;
if( pTxtFrm )
{
- if( FLY_PAGE == nAnchorId )
+ if ( FLY_AT_PAGE == nAnchorId )
+ {
pNewAnch = pTxtFrm->FindPageFrm();
+ }
else
{
pNewAnch = ::FindAnchor( pTxtFrm, rAbsPos );
if( FLY_AT_FLY == nAnchorId ) // LAYER_IMPL
+ {
pNewAnch = pNewAnch->FindFlyFrm();
+ }
}
}
else
@@ -522,19 +525,19 @@ Point SwFEShell::FindAnchorPos( const Point& rAbsPos, sal_Bool bMoveIt )
{
aRet = pNewAnch->GetFrmAnchorPos( ::HasWrap( pObj ) );
- if( bMoveIt || nAnchorId == FLY_AUTO_CNTNT )
+ if ( bMoveIt || (nAnchorId == FLY_AT_CHAR) )
{
SwFmtAnchor aAnch( rFmt.GetAnchor() );
switch ( nAnchorId )
{
- case FLY_AT_CNTNT:
+ case FLY_AT_PARA:
{
SwPosition *pPos = (SwPosition*)aAnch.GetCntntAnchor();
pPos->nNode = *pTxtFrm->GetNode();
pPos->nContent.Assign(0,0);
break;
}
- case FLY_PAGE:
+ case FLY_AT_PAGE:
{
aAnch.SetPageNum( ((const SwPageFrm*)pNewAnch)->
GetPhyPageNum() );
@@ -547,7 +550,7 @@ Point SwFEShell::FindAnchorPos( const Point& rAbsPos, sal_Bool bMoveIt )
aAnch.SetAnchor( &aPos );
break;
}
- case FLY_AUTO_CNTNT:
+ case FLY_AT_CHAR:
{
SwPosition *pPos = (SwPosition*)aAnch.GetCntntAnchor();
Point aTmpPnt( rAbsPos );
@@ -602,7 +605,7 @@ Point SwFEShell::FindAnchorPos( const Point& rAbsPos, sal_Bool bMoveIt )
SwRect aTmpRect( aRet, rAbsPos );
if( aTmpRect.HasArea() )
MakeVisible( aTmpRect );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
//TODO: That doesn't seem to be intended
if( Color(COL_TRANSPARENT) != GetOut()->GetLineColor() )
{
@@ -666,21 +669,25 @@ const SwFrmFmt *SwFEShell::NewFlyFrm( const SfxItemSet& rSet, sal_Bool bAnchVali
RndStdIds eRndId = rAnch.GetAnchorId();
switch( eRndId )
{
- case FLY_PAGE:
+ case FLY_AT_PAGE:
if( !rAnch.GetPageNum() ) //HotFix: Bug in UpdateByExample
rAnch.SetPageNum( 1 );
break;
case FLY_AT_FLY:
- case FLY_AT_CNTNT:
- case FLY_AUTO_CNTNT:
- case FLY_IN_CNTNT:
+ case FLY_AT_PARA:
+ case FLY_AT_CHAR:
+ case FLY_AS_CHAR:
if( !bAnchValid )
{
if( FLY_AT_FLY != eRndId )
+ {
rAnch.SetAnchor( &rPos );
+ }
else if( lcl_SetNewFlyPos( rPos.nNode.GetNode(), rAnch, aPt ) )
- eRndId = FLY_PAGE;
+ {
+ eRndId = FLY_AT_PAGE;
+ }
}
break;
@@ -698,7 +705,7 @@ const SwFrmFmt *SwFEShell::NewFlyFrm( const SfxItemSet& rSet, sal_Bool bAnchVali
SwFmtVertOrient aOldV;
SwFmtHoriOrient aOldH;
- if( FLY_PAGE != eRndId )
+ if ( FLY_AT_PAGE != eRndId )
{
// erstmal als mit Seitenbindung, Absatz/Zeichenbindung erst wenn
// alles verschoben ist. Dann ist die Position gueltig!
@@ -706,7 +713,7 @@ const SwFrmFmt *SwFEShell::NewFlyFrm( const SfxItemSet& rSet, sal_Bool bAnchVali
// umsetzen, damit diese beim Umanker NICHT
// korrigiert wird
pOldAnchor = new SwFmtAnchor( rAnch );
- ((SfxItemSet&)rSet).Put( SwFmtAnchor( FLY_PAGE, 1 ) );
+ const_cast<SfxItemSet&>(rSet).Put( SwFmtAnchor( FLY_AT_PAGE, 1 ) );
const SfxPoolItem* pItem;
if( SFX_ITEM_SET == rSet.GetItemState( RES_HORI_ORIENT, sal_False, &pItem )
@@ -741,8 +748,10 @@ const SwFrmFmt *SwFEShell::NewFlyFrm( const SfxItemSet& rSet, sal_Bool bAnchVali
const SwFrm* pAnch = ::FindAnchor( GetLayout(), aPt, sal_False );
SwPosition aPos( *((SwCntntFrm*)pAnch)->GetNode() );
- if( FLY_IN_CNTNT == eRndId )
+ if ( FLY_AS_CHAR == eRndId )
+ {
aPos.nContent.Assign( ((SwCntntFrm*)pAnch)->GetNode(), 0 );
+ }
pOldAnchor->SetAnchor( &aPos );
// das verschieben von TabelleSelektion ist noch nicht
@@ -818,9 +827,9 @@ void SwFEShell::Insert( const String& rGrfName, const String& rFltName,
SwFmtAnchor* pAnchor = (SwFmtAnchor*)pItem;
switch( pAnchor->GetAnchorId())
{
- case FLY_AT_CNTNT:
- case FLY_AUTO_CNTNT: // LAYER_IMPL
- case FLY_IN_CNTNT:
+ case FLY_AT_PARA:
+ case FLY_AT_CHAR: // LAYER_IMPL
+ case FLY_AS_CHAR:
if( !pAnchor->GetCntntAnchor() )
{
pAnchor->SetAnchor( pCursor->GetPoint() );
@@ -833,7 +842,7 @@ void SwFEShell::Insert( const String& rGrfName, const String& rFltName,
*pAnchor, GetCrsrDocPos() );
}
break;
- case FLY_PAGE:
+ case FLY_AT_PAGE:
if( !pAnchor->GetPageNum() )
{
pAnchor->SetPageNum( pCursor->GetPageNum(
@@ -912,10 +921,10 @@ void SwFEShell::Insert( SdrObject& rDrawObj,
const SfxPoolItem* pItem;
if( !pFlyAttrSet ||
!pFlyAttrSet->GetItemState( RES_ANCHOR, sal_False, &pItem ) ||
- FLY_PAGE != ((SwFmtAnchor*)pItem)->GetAnchorId() )
+ (FLY_AT_PAGE != ((SwFmtAnchor*)pItem)->GetAnchorId()))
{
pSet = new SfxItemSet( GetDoc()->GetAttrPool(), aFrmFmtSetRange );
- pSet->Put( SwFmtAnchor( FLY_AT_CNTNT ));
+ pSet->Put( SwFmtAnchor( FLY_AT_PARA ));
pFlyAttrSet = pSet;
}
@@ -978,8 +987,10 @@ void SwFEShell::GetPageObjs( SvPtrarr& rFillArr )
for( sal_uInt16 n = 0; n < pDoc->GetSpzFrmFmts()->Count(); ++n )
{
pFmt = (const SwFrmFmt*)(*pDoc->GetSpzFrmFmts())[n];
- if( FLY_PAGE == pFmt->GetAnchor().GetAnchorId() )
+ if (FLY_AT_PAGE == pFmt->GetAnchor().GetAnchorId())
+ {
rFillArr.Insert( (VoidPtr)pFmt, rFillArr.Count() );
+ }
}
}
@@ -1010,7 +1021,7 @@ void SwFEShell::SetPageObjsNewPage( SvPtrarr& rFillArr, int nOffset )
{
// FlyFmt ist noch gueltig, also behandeln
SwFmtAnchor aNewAnchor( pFmt->GetAnchor() );
- if( FLY_PAGE != aNewAnchor.GetAnchorId() ||
+ if ((FLY_AT_PAGE != aNewAnchor.GetAnchorId()) ||
0 >= ( nNewPage = aNewAnchor.GetPageNum() + nOffset ) )
// chaos::Anchor wurde veraendert oder ungueltige SeitenNummer,
// also nicht veraendern !!
@@ -1086,12 +1097,12 @@ sal_Bool SwFEShell::GetFlyFrmAttr( SfxItemSet &rSet ) const
SwFmtAnchor* pAnchor = (SwFmtAnchor*)pItem;
RndStdIds eType = pAnchor->GetAnchorId();
- if( FLY_PAGE != eType )
+ if ( FLY_AT_PAGE != eType )
{
// OD 12.11.2003 #i22341# - content anchor of anchor item is needed.
// Thus, don't overwrite anchor item by default contructed anchor item.
//rSet.Put( SwFmtAnchor( eType ) );
- if( FLY_IN_CNTNT == eType )
+ if ( FLY_AS_CHAR == eType )
{
rSet.ClearItem( RES_OPAQUE );
rSet.ClearItem( RES_SURROUND );
@@ -1828,7 +1839,7 @@ ObjCntType SwFEShell::GetObjCntType( const SdrObject& rObj ) const
"<SwFEShell::GetObjCntType(..)> - missing frame format" );
eType = OBJCNT_NONE;
}
- else if ( FLY_IN_CNTNT != pFrmFmt->GetAnchor().GetAnchorId() )
+ else if ( FLY_AS_CHAR != pFrmFmt->GetAnchor().GetAnchorId() )
{
eType = OBJCNT_GROUPOBJ;
}
diff --git a/sw/source/core/frmedt/feflyole.cxx b/sw/source/core/frmedt/feflyole.cxx
index d477118795..d2523b70e0 100644
--- a/sw/source/core/frmedt/feflyole.cxx
+++ b/sw/source/core/frmedt/feflyole.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: feflyole.cxx,v $
- * $Revision: 1.15 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,7 +34,7 @@
#endif
#include <sfx2/viewsh.hxx>
#include <sfx2/app.hxx>
-#include <svtools/moduleoptions.hxx>
+#include <unotools/moduleoptions.hxx>
#include <sfx2/viewfrm.hxx>
#include <sot/exchange.hxx>
diff --git a/sw/source/core/frmedt/feshview.cxx b/sw/source/core/frmedt/feshview.cxx
index e8c849cee0..e09b8066de 100644
--- a/sw/source/core/frmedt/feshview.cxx
+++ b/sw/source/core/frmedt/feshview.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: feshview.cxx,v $
- * $Revision: 1.61.136.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -47,9 +44,9 @@
#include <svx/xfillit.hxx>
#include <svx/svdocapt.hxx>
#include <sfx2/app.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/opaqitem.hxx>
-#include <svx/protitem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/opaqitem.hxx>
+#include <editeng/protitem.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdpagv.hxx>
@@ -326,7 +323,7 @@ sal_Bool SwFEShell::MoveAnchor( USHORT nDir )
SwFrmFmt& rFmt = pAnchoredObj->GetFrmFmt();
SwFmtAnchor aAnch( rFmt.GetAnchor() );
RndStdIds nAnchorId = aAnch.GetAnchorId();
- if ( FLY_IN_CNTNT == nAnchorId )
+ if ( FLY_AS_CHAR == nAnchorId )
return sal_False;
if( pOld->IsVertical() )
{
@@ -348,7 +345,7 @@ sal_Bool SwFEShell::MoveAnchor( USHORT nDir )
}
}
switch ( nAnchorId ) {
- case FLY_PAGE:
+ case FLY_AT_PAGE:
{
ASSERT( pOld->IsPageFrm(), "Wrong anchor, page exspected." );
if( SW_MOVE_UP == nDir )
@@ -362,7 +359,7 @@ sal_Bool SwFEShell::MoveAnchor( USHORT nDir )
}
break;
}
- case FLY_AUTO_CNTNT:
+ case FLY_AT_CHAR:
{
ASSERT( pOld->IsCntntFrm(), "Wrong anchor, page exspected." );
if( SW_MOVE_LEFT == nDir || SW_MOVE_RIGHT == nDir )
@@ -396,7 +393,7 @@ sal_Bool SwFEShell::MoveAnchor( USHORT nDir )
}
}
} // no break!
- case FLY_AT_CNTNT:
+ case FLY_AT_PARA:
{
ASSERT( pOld->IsCntntFrm(), "Wrong anchor, page exspected." );
if( SW_MOVE_UP == nDir )
@@ -1652,7 +1649,7 @@ BOOL SwFEShell::ImpEndCreate()
if( bCharBound )
{
- aAnch.SetType( FLY_IN_CNTNT );
+ aAnch.SetType( FLY_AS_CHAR );
aAnch.SetAnchor( &aPos );
}
}
@@ -1719,7 +1716,7 @@ BOOL SwFEShell::ImpEndCreate()
bAtPage = true;
else
{
- aAnch.SetType( FLY_AT_CNTNT );
+ aAnch.SetType( FLY_AT_PARA );
aAnch.SetAnchor( &aPos );
}
}
@@ -1728,7 +1725,7 @@ BOOL SwFEShell::ImpEndCreate()
{
pPage = pAnch->FindPageFrm();
- aAnch.SetType( FLY_PAGE );
+ aAnch.SetType( FLY_AT_PAGE );
aAnch.SetPageNum( pPage->GetPhyPageNum() );
pAnch = pPage; // die Page wird jetzt zum Anker
}
@@ -1871,7 +1868,7 @@ BOOL SwFEShell::ImpEndCreate()
// <--
if( bCharBound )
{
- ASSERT( aAnch.GetAnchorId() == FLY_IN_CNTNT, "wrong AnchorType" );
+ ASSERT( aAnch.GetAnchorId() == FLY_AS_CHAR, "wrong AnchorType" );
SwTxtNode *pNd = aAnch.GetCntntAnchor()->nNode.GetNode().GetTxtNode();
SwFmtFlyCnt aFmt( pFmt );
pNd->InsertItem(aFmt,
@@ -2256,7 +2253,7 @@ BOOL SwFEShell::IsGroupSelected()
// --> FME 2004-12-08 #i38505# No ungroup allowed for 3d objects
!pObj->Is3DObj() &&
// <--
- FLY_IN_CNTNT != ((SwDrawContact*)GetUserCall(pObj))->
+ FLY_AS_CHAR != ((SwDrawContact*)GetUserCall(pObj))->
GetFmt()->GetAnchor().GetAnchorId() )
{
return TRUE;
@@ -2302,7 +2299,7 @@ bool SwFEShell::IsGroupAllowed() const
"<SwFEShell::IsGroupAllowed()> - missing frame format" );
bIsGroupAllowed = false;
}
- else if ( FLY_IN_CNTNT == pFrmFmt->GetAnchor().GetAnchorId() )
+ else if ( FLY_AS_CHAR == pFrmFmt->GetAnchor().GetAnchorId() )
{
bIsGroupAllowed = false;
}
@@ -2619,7 +2616,7 @@ BOOL SwFEShell::IsAlignPossible() const
SdrObject *pO = Imp()->GetDrawView()->GetMarkedObjectList().GetMark(0)->GetMarkedSdrObj();
SwDrawContact *pC = (SwDrawContact*)GetUserCall(pO);
//only as character bound drawings can be aligned
- bRet = pC->GetFmt()->GetAnchor().GetAnchorId() == FLY_IN_CNTNT;
+ bRet = (pC->GetFmt()->GetAnchor().GetAnchorId() == FLY_AS_CHAR);
}
if ( bRet )
return Imp()->GetDrawView()->IsAlignPossible();
@@ -2664,7 +2661,7 @@ void SwFEShell::CheckUnboundObjects()
{
pAnch = ::FindAnchor( pPage, aPt, TRUE );
SwPosition aPos( *((SwCntntFrm*)pAnch)->GetNode() );
- aAnch.SetType( FLY_AT_CNTNT );
+ aAnch.SetType( FLY_AT_PARA );
aAnch.SetAnchor( &aPos );
((SwRect&)GetCharRect()).Pos() = aPt;
}
diff --git a/sw/source/core/frmedt/fetab.cxx b/sw/source/core/frmedt/fetab.cxx
index 202f223754..9d868d9110 100644
--- a/sw/source/core/frmedt/fetab.cxx
+++ b/sw/source/core/frmedt/fetab.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fetab.cxx,v $
- * $Revision: 1.48 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -40,9 +37,9 @@
#ifndef _SVX_SVXIDS_HRC
#include <svx/svxids.hrc>
#endif
-#include <svx/protitem.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/frmdiritem.hxx>
+#include <editeng/protitem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/frmdiritem.hxx>
#include <svtools/ruler.hxx>
#include <swwait.hxx>
#include <fmtfsize.hxx>
diff --git a/sw/source/core/frmedt/fews.cxx b/sw/source/core/frmedt/fews.cxx
index 4485ba99f6..c7516d421f 100644
--- a/sw/source/core/frmedt/fews.cxx
+++ b/sw/source/core/frmedt/fews.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fews.cxx,v $
- * $Revision: 1.48 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,11 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
#include <tools/list.hxx>
-//#ifndef _SVDVMARK_HXX //autogen
-//#include <svx/svdvmark.hxx>
-//#endif
#include <svx/svdobj.hxx>
#include <init.hxx>
#include <fesh.hxx>
@@ -71,8 +64,10 @@
// OD 2004-03-29 #i26791#
#include <dcontact.hxx>
+
using namespace com::sun::star;
+
TYPEINIT1(SwFEShell,SwEditShell)
/***********************************************************************
@@ -780,12 +775,12 @@ void SwFEShell::CalcBoundRect( SwRect& _orRect,
BOOL bVertic = FALSE;
BOOL bRTL = FALSE;
- if( FLY_PAGE == _nAnchorId || FLY_AT_FLY == _nAnchorId ) // LAYER_IMPL
+ if ((FLY_AT_PAGE == _nAnchorId) || (FLY_AT_FLY == _nAnchorId)) // LAYER_IMPL
{
const SwFrm* pTmp = pFrm;
// OD 06.11.2003 #i22305#
- if ( FLY_PAGE == _nAnchorId ||
- ( FLY_AT_FLY == _nAnchorId && !_bFollowTextFlow ) )
+ if ((FLY_AT_PAGE == _nAnchorId) ||
+ ((FLY_AT_FLY == _nAnchorId) && !_bFollowTextFlow))
{
pFrm = pPage;
}
@@ -906,7 +901,7 @@ void SwFEShell::CalcBoundRect( SwRect& _orRect,
aPos = (pFrm->Frm().*fnRect->fnGetPos)();
// OD 08.09.2003 #i17567#, #108749#, #110354# - allow negative positions
// for fly frames anchor to paragraph/to character.
- if ( _nAnchorId == FLY_AT_CNTNT || _nAnchorId == FLY_AUTO_CNTNT )
+ if ((_nAnchorId == FLY_AT_PARA) || (_nAnchorId == FLY_AT_CHAR))
{
// The rectangle, the fly frame can be positioned in, is determined
// horizontally by the frame area of the horizontal environment
@@ -985,7 +980,7 @@ void SwFEShell::CalcBoundRect( SwRect& _orRect,
// fly frame). Thus, assure this.
const SwTxtFrm* pTxtFrm( dynamic_cast<const SwTxtFrm*>(pFrm) );
if ( pTxtFrm &&
- _nAnchorId == FLY_AUTO_CNTNT &&
+ (_nAnchorId == FLY_AT_CHAR) &&
( _eVertRelOrient == text::RelOrientation::CHAR ||
_eVertRelOrient == text::RelOrientation::TEXT_LINE ) )
{
@@ -1032,7 +1027,7 @@ void SwFEShell::CalcBoundRect( SwRect& _orRect,
// position (<aPos.X()> respectively <aPos.Y()>), if object is
// anchored to character and horizontal aligned at character.
if ( pTxtFrm &&
- _nAnchorId == FLY_AUTO_CNTNT &&
+ (_nAnchorId == FLY_AT_CHAR) &&
_eHoriRelOrient == text::RelOrientation::CHAR )
{
SwTwips nLeft = 0L;
diff --git a/sw/source/core/frmedt/makefile.mk b/sw/source/core/frmedt/makefile.mk
index eff3bc44fd..8b277f8994 100644
--- a/sw/source/core/frmedt/makefile.mk
+++ b/sw/source/core/frmedt/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.8 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/frmedt/tblsel.cxx b/sw/source/core/frmedt/tblsel.cxx
index 26eed5bdf8..641d97c929 100644
--- a/sw/source/core/frmedt/tblsel.cxx
+++ b/sw/source/core/frmedt/tblsel.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tblsel.cxx,v $
- * $Revision: 1.52 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -30,9 +27,10 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+
#include <hintids.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/protitem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/protitem.hxx>
#include <fmtanchr.hxx>
#include <fmtfsize.hxx>
#include <frmatr.hxx>
@@ -984,11 +982,11 @@ BOOL IsEmptyBox( const SwTableBox& rBox, SwPaM& rPam )
for( USHORT n = 0; n < rFmts.Count(); ++n )
{
- const SwPosition* pAPos;
const SwFmtAnchor& rAnchor = rFmts[n]->GetAnchor();
- if( ( FLY_AT_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() ) &&
- 0 != ( pAPos = rAnchor.GetCntntAnchor() ) &&
+ const SwPosition* pAPos = rAnchor.GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AT_PARA == rAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rAnchor.GetAnchorId())) &&
nSttIdx <= ( nIdx = pAPos->nNode.GetIndex() ) &&
nIdx < nEndIdx )
{
diff --git a/sw/source/core/graphic/grfatr.cxx b/sw/source/core/graphic/grfatr.cxx
index 66c1fd5f64..43e9ba0eeb 100644
--- a/sw/source/core/graphic/grfatr.cxx
+++ b/sw/source/core/graphic/grfatr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: grfatr.cxx,v $
- * $Revision: 1.15 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -45,7 +42,7 @@
#include <com/sun/star/text/GraphicCrop.hpp>
#include <com/sun/star/text/XTextGraphicObjectsSupplier.hpp>
#include <com/sun/star/drawing/ColorMode.hpp>
-#include <goodies/grfmgr.hxx>
+#include <svtools/grfmgr.hxx>
#include <swtypes.hxx>
#include <grfatr.hxx>
#include <swunohelper.hxx>
diff --git a/sw/source/core/graphic/makefile.mk b/sw/source/core/graphic/makefile.mk
index f48c439890..bb637de666 100644
--- a/sw/source/core/graphic/makefile.mk
+++ b/sw/source/core/graphic/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.9 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx
index 6626da2420..2414071ff4 100644
--- a/sw/source/core/graphic/ndgrf.cxx
+++ b/sw/source/core/graphic/ndgrf.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ndgrf.cxx,v $
- * $Revision: 1.48 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,16 +30,15 @@
#include <hintids.hxx>
#include <vcl/salbtype.hxx> // FRound
#include <tools/urlobj.hxx>
-#include <svtools/undo.hxx>
+#include <svl/undo.hxx>
#ifndef SVTOOLS_FSTATHELPER_HXX
-#include <svtools/fstathelper.hxx>
+#include <svl/fstathelper.hxx>
#endif
#include <svtools/imap.hxx>
#include <svtools/filter.hxx>
#include <sot/storage.hxx>
-#include <svx/linkmgr.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/impgrf.hxx>
+#include <sfx2/linkmgr.hxx>
+#include <editeng/boxitem.hxx>
#include <sot/formats.hxx>
#include <fmtfsize.hxx>
#include <fmturl.hxx>
@@ -402,7 +398,7 @@ Size SwGrfNode::GetTwipSize() const
BOOL SwGrfNode::ImportGraphic( SvStream& rStrm )
{
Graphic aGraphic;
- if( !GetGrfFilter()->ImportGraphic( aGraphic, String(), rStrm ) )
+ if( !GraphicFilter::GetGraphicFilter()->ImportGraphic( aGraphic, String(), rStrm ) )
{
const String aUserData( aGrfObj.GetUserData() );
@@ -679,7 +675,7 @@ void SwGrfNode::SetTwipSize( const Size& rSz )
void SwGrfNode::SetTransferPriority( USHORT nPrio )
{
if( refLink.Is() && refLink->GetObj() )
- SvxLinkManager::SetTransferPriority( *refLink, nPrio );
+ sfx2::LinkManager::SetTransferPriority( *refLink, nPrio );
}
@@ -921,7 +917,7 @@ SwCntntNode* SwGrfNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
SvStream* pStrm = _GetStreamForEmbedGrf( refPics, aStrmName );
if ( pStrm )
{
- GetGrfFilter()->ImportGraphic( aTmpGrf, String(), *pStrm );
+ GraphicFilter::GetGraphicFilter()->ImportGraphic( aTmpGrf, String(), *pStrm );
delete pStrm;
}
// <--
@@ -941,7 +937,7 @@ SwCntntNode* SwGrfNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
aTmpGrf = aGrfObj.GetGraphic();
}
- const sfx2::SvLinkManager& rMgr = getIDocumentLinksAdministration()->GetLinkManager();
+ const sfx2::LinkManager& rMgr = getIDocumentLinksAdministration()->GetLinkManager();
String sFile, sFilter;
if( IsLinkedFile() )
rMgr.GetDisplayNames( refLink, 0, &sFile, 0, &sFilter );
@@ -1041,7 +1037,7 @@ void DelAllGrfCacheEntries( SwDoc* pDoc )
if( pDoc )
{
// alle Graphic-Links mit dem Namen aus dem Cache loeschen
- const SvxLinkManager& rLnkMgr = pDoc->GetLinkManager();
+ const sfx2::LinkManager& rLnkMgr = pDoc->GetLinkManager();
const ::sfx2::SvBaseLinks& rLnks = rLnkMgr.GetLinks();
SwGrfNode* pGrfNd;
String sFileNm;
diff --git a/sw/source/core/inc/GetMetricVal.hxx b/sw/source/core/inc/GetMetricVal.hxx
index 1759e46a23..2c66a00bc4 100644
--- a/sw/source/core/inc/GetMetricVal.hxx
+++ b/sw/source/core/inc/GetMetricVal.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: GetMetricVal.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/MarkManager.hxx b/sw/source/core/inc/MarkManager.hxx
index 605b15d67c..8cd6b19e91 100644
--- a/sw/source/core/inc/MarkManager.hxx
+++ b/sw/source/core/inc/MarkManager.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: $
- * $Revision: $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/SwGrammarMarkUp.hxx b/sw/source/core/inc/SwGrammarMarkUp.hxx
index d662a51ead..73d4871812 100644
--- a/sw/source/core/inc/SwGrammarMarkUp.hxx
+++ b/sw/source/core/inc/SwGrammarMarkUp.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwGrammarMarkUp.hxx,v $
- * $Revision: 1.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/SwPortionHandler.hxx b/sw/source/core/inc/SwPortionHandler.hxx
index bd053230ff..a467aaca9a 100644
--- a/sw/source/core/inc/SwPortionHandler.hxx
+++ b/sw/source/core/inc/SwPortionHandler.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwPortionHandler.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/SwXMLBlockExport.hxx b/sw/source/core/inc/SwXMLBlockExport.hxx
index ded093cd4b..e2cdca658b 100644
--- a/sw/source/core/inc/SwXMLBlockExport.hxx
+++ b/sw/source/core/inc/SwXMLBlockExport.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXMLBlockExport.hxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/SwXMLBlockImport.hxx b/sw/source/core/inc/SwXMLBlockImport.hxx
index 0e8c48cc3a..6fb7e3a987 100644
--- a/sw/source/core/inc/SwXMLBlockImport.hxx
+++ b/sw/source/core/inc/SwXMLBlockImport.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXMLBlockImport.hxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/SwXMLBlockListContext.hxx b/sw/source/core/inc/SwXMLBlockListContext.hxx
index ed3ed13851..8b3ed7cf5f 100644
--- a/sw/source/core/inc/SwXMLBlockListContext.hxx
+++ b/sw/source/core/inc/SwXMLBlockListContext.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXMLBlockListContext.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/SwXMLTextBlocks.hxx b/sw/source/core/inc/SwXMLTextBlocks.hxx
index c660af1a17..4f4aabf775 100644
--- a/sw/source/core/inc/SwXMLTextBlocks.hxx
+++ b/sw/source/core/inc/SwXMLTextBlocks.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXMLTextBlocks.hxx,v $
- * $Revision: 1.15 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/SwXTextDefaults.hxx b/sw/source/core/inc/SwXTextDefaults.hxx
index 58d4567510..6776017b8b 100644
--- a/sw/source/core/inc/SwXTextDefaults.hxx
+++ b/sw/source/core/inc/SwXTextDefaults.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXTextDefaults.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -36,7 +33,7 @@
#ifndef _COM_SUN_STAR_BEANS_XSERVICEINFO_HPP_
#include <com/sun/star/lang/XServiceInfo.hpp>
#endif
-#include <svtools/itemprop.hxx>
+#include <svl/itemprop.hxx>
class SwDoc;
diff --git a/sw/source/core/inc/acorrect.hxx b/sw/source/core/inc/acorrect.hxx
index 7cb24ed6b8..8ac9be3516 100644
--- a/sw/source/core/inc/acorrect.hxx
+++ b/sw/source/core/inc/acorrect.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: acorrect.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -30,7 +27,7 @@
#ifndef _ACORRECT_HXX
#define _ACORRECT_HXX
-#include <svx/svxacorr.hxx>
+#include <editeng/svxacorr.hxx>
#include <swundo.hxx>
diff --git a/sw/source/core/inc/anchoredobjectposition.hxx b/sw/source/core/inc/anchoredobjectposition.hxx
index 8c98a1f89c..5296f1eecf 100644
--- a/sw/source/core/inc/anchoredobjectposition.hxx
+++ b/sw/source/core/inc/anchoredobjectposition.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: anchoredobjectposition.hxx,v $
- * $Revision: 1.12.214.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/ascharanchoredobjectposition.hxx b/sw/source/core/inc/ascharanchoredobjectposition.hxx
index 415402e5e0..66b569414a 100644
--- a/sw/source/core/inc/ascharanchoredobjectposition.hxx
+++ b/sw/source/core/inc/ascharanchoredobjectposition.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ascharanchoredobjectposition.hxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/blink.hxx b/sw/source/core/inc/blink.hxx
index 382a761fb1..8c240d77a1 100644
--- a/sw/source/core/inc/blink.hxx
+++ b/sw/source/core/inc/blink.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: blink.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,7 +34,7 @@ class SwTxtFrm;
#include <vcl/timer.hxx>
#include <tools/gen.hxx>
-#include <svtools/svarray.hxx>
+#include <svl/svarray.hxx>
class SwBlinkPortion
{
diff --git a/sw/source/core/inc/bodyfrm.hxx b/sw/source/core/inc/bodyfrm.hxx
index 8e44fca829..7c7ed603b3 100644
--- a/sw/source/core/inc/bodyfrm.hxx
+++ b/sw/source/core/inc/bodyfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: bodyfrm.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/bookmrk.hxx b/sw/source/core/inc/bookmrk.hxx
index 415deffa24..c5d48463bc 100644
--- a/sw/source/core/inc/bookmrk.hxx
+++ b/sw/source/core/inc/bookmrk.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: $
- * $Revision: $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,12 +28,20 @@
#ifndef _BOOKMRK_HXX
#define _BOOKMRK_HXX
-#include <IMark.hxx>
+#include <cppuhelper/weakref.hxx>
+
#include <sfx2/Metadatable.hxx>
#include <boost/scoped_ptr.hpp>
#include <boost/noncopyable.hpp>
+#include <IMark.hxx>
+
+
+namespace com { namespace sun { namespace star {
+ namespace text { class XTextContent; }
+} } }
+
struct SwPosition; // fwd Decl. wg. UI
class SwDoc;
@@ -90,6 +95,17 @@ namespace sw { namespace mark
{}
virtual ~MarkBase();
+
+ // SwClient
+ virtual void Modify( SfxPoolItem *pOld, SfxPoolItem *pNew );
+
+ const ::com::sun::star::uno::WeakReference<
+ ::com::sun::star::text::XTextContent> & GetXBookmark() const
+ { return m_wXBookmark; }
+ void SetXBookmark(::com::sun::star::uno::Reference<
+ ::com::sun::star::text::XTextContent> const& xBkmk)
+ { m_wXBookmark = xBkmk; }
+
protected:
MarkBase(const SwPaM& rPaM,
const ::rtl::OUString& rName);
@@ -97,6 +113,9 @@ namespace sw { namespace mark
::boost::scoped_ptr<SwPosition> m_pPos2;
::rtl::OUString m_aName;
static ::rtl::OUString GenerateNewName(const ::rtl::OUString& rPrefix);
+
+ ::com::sun::star::uno::WeakReference<
+ ::com::sun::star::text::XTextContent> m_wXBookmark;
};
class NavigatorReminder
diff --git a/sw/source/core/inc/cellfrm.hxx b/sw/source/core/inc/cellfrm.hxx
index b5740a9d36..b3ca5e9956 100644
--- a/sw/source/core/inc/cellfrm.hxx
+++ b/sw/source/core/inc/cellfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: cellfrm.hxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -51,7 +48,7 @@ public:
virtual BOOL GetCrsrOfst( SwPosition *, Point&, SwCrsrMoveState* = 0 ) const;
virtual void Modify( SfxPoolItem*, SfxPoolItem* );
- virtual void Paint( const SwRect& ) const;
+ virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
virtual void CheckDirection( BOOL bVert );
const SwTableBox *GetTabBox() const { return pTabBox; }
diff --git a/sw/source/core/inc/cntfrm.hxx b/sw/source/core/inc/cntfrm.hxx
index d24f9b5cdc..aea77372ab 100644
--- a/sw/source/core/inc/cntfrm.hxx
+++ b/sw/source/core/inc/cntfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: cntfrm.hxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/colfrm.hxx b/sw/source/core/inc/colfrm.hxx
index 8fbe8397e9..9f14d6f016 100644
--- a/sw/source/core/inc/colfrm.hxx
+++ b/sw/source/core/inc/colfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: colfrm.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/crossrefbookmark.hxx b/sw/source/core/inc/crossrefbookmark.hxx
index d175b2130d..168f33f229 100644
--- a/sw/source/core/inc/crossrefbookmark.hxx
+++ b/sw/source/core/inc/crossrefbookmark.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: crossrefbookmark.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/dbg_lay.hxx b/sw/source/core/inc/dbg_lay.hxx
index 16b778fc1d..f4fb85c6b8 100644
--- a/sw/source/core/inc/dbg_lay.hxx
+++ b/sw/source/core/inc/dbg_lay.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dbg_lay.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -66,7 +63,7 @@
#define SNAP_FLYFRAMES 0x00000002
#define SNAP_TABLECONT 0x00000004
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#include "swtypes.hxx"
diff --git a/sw/source/core/inc/dbgloop.hxx b/sw/source/core/inc/dbgloop.hxx
index 4c66bdd82f..177bf78a08 100644
--- a/sw/source/core/inc/dbgloop.hxx
+++ b/sw/source/core/inc/dbgloop.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dbgloop.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,7 +28,7 @@
#ifndef _DBGLOOP_HXX
#define _DBGLOOP_HXX
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#include <tools/solar.h>
diff --git a/sw/source/core/inc/dflyobj.hxx b/sw/source/core/inc/dflyobj.hxx
index 7f178d3ae8..c8b476d72e 100644
--- a/sw/source/core/inc/dflyobj.hxx
+++ b/sw/source/core/inc/dflyobj.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dflyobj.hxx,v $
- * $Revision: 1.11.24.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/docfld.hxx b/sw/source/core/inc/docfld.hxx
index e1ce44fe15..2c18cdeca7 100644
--- a/sw/source/core/inc/docfld.hxx
+++ b/sw/source/core/inc/docfld.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docfld.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/docsort.hxx b/sw/source/core/inc/docsort.hxx
index 8b3428fceb..1298105361 100644
--- a/sw/source/core/inc/docsort.hxx
+++ b/sw/source/core/inc/docsort.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docsort.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -30,7 +27,7 @@
#ifndef _SORT_HXX
#define _SORT_HXX
-#include <svtools/svarray.hxx>
+#include <svl/svarray.hxx>
#include <ndindex.hxx>
diff --git a/sw/source/core/inc/doctxm.hxx b/sw/source/core/inc/doctxm.hxx
index 8db243ce3b..1f5dde7381 100644
--- a/sw/source/core/inc/doctxm.hxx
+++ b/sw/source/core/inc/doctxm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: doctxm.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,7 +28,7 @@
#define _DOCTXM_HXX
-#include <svtools/svarray.hxx>
+#include <svl/svarray.hxx>
#include <tools/gen.hxx>
#include <tox.hxx>
#include <section.hxx>
diff --git a/sw/source/core/inc/drawdev.hxx b/sw/source/core/inc/drawdev.hxx
index 04687b0351..d7e1b5c886 100644
--- a/sw/source/core/inc/drawdev.hxx
+++ b/sw/source/core/inc/drawdev.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: drawdev.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/drawfont.hxx b/sw/source/core/inc/drawfont.hxx
index 9fc27ae2d0..2ef9a5fe57 100644
--- a/sw/source/core/inc/drawfont.hxx
+++ b/sw/source/core/inc/drawfont.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: drawfont.hxx,v $
- * $Revision: 1.40 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -97,11 +94,11 @@ class SwDrawTextInfo
SwDrawTextInfo(); // nicht zulaessig
public:
-#ifndef PRODUCT
+#ifdef DBG_UTIL
BOOL bPos : 1; // These flags should control, that the appropriate
BOOL bWrong : 1; // Set-function has been called before calling
BOOL bGrammarCheck : 1; // the Get-function of a member
- BOOL bSize : 1;
+ BOOL bSize : 1;
BOOL bFnt : 1;
BOOL bHyph : 1;
BOOL bLeft : 1;
@@ -160,7 +157,7 @@ public:
bUpper = FALSE;
bDrawSpace = FALSE;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// these flags control, whether the matching member variables have
// been set by using the Set-function before they may be accessed
// by their Get-function:
@@ -383,7 +380,7 @@ public:
void SetPos( const Point &rNew )
{
pPos = &rNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bPos = TRUE;
#endif
}
@@ -391,7 +388,7 @@ public:
void SetHyphPos( xub_StrLen *pNew )
{
pHyphPos = pNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bHyph = TRUE;
#endif
}
@@ -404,7 +401,7 @@ public:
void SetWrong( const SwWrongList* pNew )
{
pWrong = pNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bWrong = TRUE;
#endif
}
@@ -412,7 +409,7 @@ public:
void SetGrammarCheck( const SwWrongList* pNew )
{
pGrammarCheck = pNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bGrammarCheck = TRUE;
#endif
}
@@ -425,7 +422,7 @@ public:
void SetSize( const Size &rNew )
{
pSize = &rNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bSize = TRUE;
#endif
}
@@ -433,7 +430,7 @@ public:
void SetFont( SwFont* pNew )
{
pFnt = pNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bFnt = TRUE;
#endif
}
@@ -451,7 +448,7 @@ public:
void SetOfst( xub_StrLen nNew )
{
nOfst = nNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bOfst = TRUE;
#endif
}
@@ -459,7 +456,7 @@ public:
void SetLeft( long nNew )
{
nLeft = nNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bLeft = TRUE;
#endif
}
@@ -467,7 +464,7 @@ public:
void SetRight( long nNew )
{
nRight = nNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bRight = TRUE;
#endif
}
@@ -475,7 +472,7 @@ public:
void SetKanaDiff( long nNew )
{
nKanaDiff = nNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bKana = TRUE;
#endif
}
@@ -488,7 +485,7 @@ public:
void SetAscent( USHORT nNew )
{
nAscent = nNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bAscent = TRUE;
#endif
}
@@ -510,7 +507,7 @@ public:
nSpace = nNew;
nSperren = 0;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bSpace = TRUE;
bSperr = TRUE;
#endif
@@ -518,7 +515,7 @@ public:
void SetNumberOfBlanks( xub_StrLen nNew )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bNumberOfBlanks = TRUE;
#endif
nNumberOfBlanks = nNew;
@@ -547,7 +544,7 @@ public:
void SetUpper( BOOL bNew )
{
bUpper = bNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bUppr = TRUE;
#endif
}
@@ -555,7 +552,7 @@ public:
void SetDrawSpace( BOOL bNew )
{
bDrawSpace = bNew;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bDrawSp = TRUE;
#endif
}
diff --git a/sw/source/core/inc/dview.hxx b/sw/source/core/inc/dview.hxx
index f566a1c218..512c556d6d 100644
--- a/sw/source/core/inc/dview.hxx
+++ b/sw/source/core/inc/dview.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dview.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/environmentofanchoredobject.hxx b/sw/source/core/inc/environmentofanchoredobject.hxx
index ca39c31c2c..c491febc70 100644
--- a/sw/source/core/inc/environmentofanchoredobject.hxx
+++ b/sw/source/core/inc/environmentofanchoredobject.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: environmentofanchoredobject.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/finalthreadmanager.hxx b/sw/source/core/inc/finalthreadmanager.hxx
index a68266403a..1e5b088cac 100644
--- a/sw/source/core/inc/finalthreadmanager.hxx
+++ b/sw/source/core/inc/finalthreadmanager.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: finalthreadmanager.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/flowfrm.hxx b/sw/source/core/inc/flowfrm.hxx
index c00269fae1..3805421006 100644
--- a/sw/source/core/inc/flowfrm.hxx
+++ b/sw/source/core/inc/flowfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: flowfrm.hxx,v $
- * $Revision: 1.14 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/flyfrm.hxx b/sw/source/core/inc/flyfrm.hxx
index 8312125fc6..1ea99ac067 100644
--- a/sw/source/core/inc/flyfrm.hxx
+++ b/sw/source/core/inc/flyfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: flyfrm.hxx,v $
- * $Revision: 1.24.212.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -109,10 +106,10 @@ protected:
//(CheckClip) nur das Format aufgerufen wird;
//nicht aber die Breite anhand der Attribute
//wieder bestimmt wird.
- BOOL bInCnt :1; // FLY_IN_CNTNT, als Zeichen verankert
- BOOL bAtCnt :1; // FLY_AT_CNTNT, am Absatz verankert
- BOOL bLayout :1; // FLY_PAGE, FLY_AT_FLY, an Seite oder Rahmen
- BOOL bAutoPosition :1; // FLY_AUTO_CNTNT, im Text verankerter Rahmen
+ BOOL bInCnt :1; // FLY_AS_CHAR, anchored as character
+ BOOL bAtCnt :1; // FLY_AT_PARA, anchored at paragraph
+ BOOL bLayout :1; // FLY_AT_PAGE, FLY_AT_FLY, at page or at frame
+ BOOL bAutoPosition :1; // FLY_AT_CHAR, anchored at character
BOOL bNoShrink :1; // temporary forbud of shrinking to avoid loops
BOOL bLockDeleteContent :1; // If the flag is set, the content of the
// fly frame is not deleted if moved to
@@ -161,14 +158,14 @@ public:
virtual void Modify( SfxPoolItem*, SfxPoolItem* );
// erfrage vom Client Informationen
virtual BOOL GetInfo( SfxPoolItem& ) const;
- virtual void Paint( const SwRect& ) const;
+ virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
virtual Size ChgSize( const Size& aNewSize );
virtual BOOL GetCrsrOfst( SwPosition *, Point&,
SwCrsrMoveState* = 0 ) const;
virtual void CheckDirection( BOOL bVert );
virtual void Cut();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
virtual void Paste( SwFrm* pParent, SwFrm* pSibling = 0 );
#endif
diff --git a/sw/source/core/inc/flyfrms.hxx b/sw/source/core/inc/flyfrms.hxx
index 0980bbff18..4f9987eec5 100644
--- a/sw/source/core/inc/flyfrms.hxx
+++ b/sw/source/core/inc/flyfrms.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: flyfrms.hxx,v $
- * $Revision: 1.14 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/fntcache.hxx b/sw/source/core/inc/fntcache.hxx
index 740ef9b992..1344302308 100644
--- a/sw/source/core/inc/fntcache.hxx
+++ b/sw/source/core/inc/fntcache.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fntcache.hxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -54,7 +51,7 @@ class SwFntCache : public SwCache
public:
inline SwFntCache() : SwCache(50,50
-#ifndef PRODUCT
+#ifdef DBG_UTIL
, ByteString( RTL_CONSTASCII_STRINGPARAM(
"Globaler Font-Cache pFntCache" ))
#endif
diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx
index 9a3503014a..552793dc1c 100644
--- a/sw/source/core/inc/frame.hxx
+++ b/sw/source/core/inc/frame.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: frame.hxx,v $
- * $Revision: 1.58 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -29,7 +26,7 @@
************************************************************************/
#ifndef _FRAME_HXX
#define _FRAME_HXX
-#include <svtools/svarray.hxx>
+#include <svl/svarray.hxx>
#include "swtypes.hxx" // fuer SwTwips
#include "swrect.hxx"
#include "calbck.hxx" // fuer SwClient
@@ -56,6 +53,7 @@ class SvxBrushItem;
class SwSelectionList;
struct SwPosition;
struct SwCrsrMoveState;
+class SwPrtOptions;
// --> OD 2004-07-06 #i28701#
class SwSortedObjs;
@@ -828,7 +826,7 @@ public:
SwCrsrMoveState* = 0 ) const;
virtual BOOL GetCharRect( SwRect &, const SwPosition&,
SwCrsrMoveState* = 0 ) const;
- virtual void Paint( const SwRect& ) const;
+ virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
// der "kurze Dienstweg" zwischen den Frames und der Formatierung.
// Wer den void* falsch Casted ist selbst schuld!
diff --git a/sw/source/core/inc/frminf.hxx b/sw/source/core/inc/frminf.hxx
index f118af8fa8..6e8e72730e 100644
--- a/sw/source/core/inc/frminf.hxx
+++ b/sw/source/core/inc/frminf.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: frminf.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/frmtool.hxx b/sw/source/core/inc/frmtool.hxx
index 199be26f58..db63d626de 100644
--- a/sw/source/core/inc/frmtool.hxx
+++ b/sw/source/core/inc/frmtool.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: frmtool.hxx,v $
- * $Revision: 1.28 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#include "frmatr.hxx"
#include "swcache.hxx"
// --> OD 2008-12-04 #i96772#
-#include <svx/lrspitem.hxx>
+#include <editeng/lrspitem.hxx>
// <--
class SwPageFrm;
@@ -141,7 +138,7 @@ const SwFrm * MA_FASTCALL FindPage( const SwRect &rRect, const SwFrm *pPage );
// JP 07.05.98: wird von SwCntntNode::GetFrm und von SwFlyFrm::GetFrm
// gerufen
-SwFrm* GetFrmOfModify( SwModify&, USHORT nFrmType, const Point* = 0,
+SwFrm* GetFrmOfModify( SwModify const&, USHORT const nFrmType, const Point* = 0,
const SwPosition *pPos = 0,
const BOOL bCalcFrm = FALSE );
diff --git a/sw/source/core/inc/ftnboss.hxx b/sw/source/core/inc/ftnboss.hxx
index 41e0200aef..3afb4a508a 100644
--- a/sw/source/core/inc/ftnboss.hxx
+++ b/sw/source/core/inc/ftnboss.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ftnboss.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/ftnfrm.hxx b/sw/source/core/inc/ftnfrm.hxx
index 0a1ac9c63f..74e346c575 100644
--- a/sw/source/core/inc/ftnfrm.hxx
+++ b/sw/source/core/inc/ftnfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ftnfrm.hxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -74,7 +71,7 @@ class SwFtnFrm: public SwLayoutFrm
// --> OD 2005-05-18 #i49383# - control unlock of position of lower anchored objects.
bool mbUnlockPosOfLowerObjs : 1;
// <--
-#ifndef PRODUCT
+#ifdef DBG_UTIL
protected:
virtual SwTwips ShrinkFrm( SwTwips, BOOL bTst = FALSE, BOOL bInfo = FALSE );
virtual SwTwips GrowFrm ( SwTwips, BOOL bTst = FALSE, BOOL bInfo = FALSE );
@@ -89,7 +86,7 @@ public:
BOOL operator<( const SwTxtFtn* pTxtFtn ) const;
-#ifdef PRODUCT
+#ifndef DBG_UTIL
const SwCntntFrm *GetRef() const { return pRef; }
SwCntntFrm *GetRef() { return pRef; }
#else
diff --git a/sw/source/core/inc/hffrm.hxx b/sw/source/core/inc/hffrm.hxx
index 68b78e5d7e..06a76dfecd 100644
--- a/sw/source/core/inc/hffrm.hxx
+++ b/sw/source/core/inc/hffrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: hffrm.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/ifinishedthreadlistener.hxx b/sw/source/core/inc/ifinishedthreadlistener.hxx
index 1215deb267..429f62ae37 100644
--- a/sw/source/core/inc/ifinishedthreadlistener.hxx
+++ b/sw/source/core/inc/ifinishedthreadlistener.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ifinishedthreadlistener.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/ithreadlistenerowner.hxx b/sw/source/core/inc/ithreadlistenerowner.hxx
index 3f0e8dd697..2c93daa266 100644
--- a/sw/source/core/inc/ithreadlistenerowner.hxx
+++ b/sw/source/core/inc/ithreadlistenerowner.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ithreadlistenerowner.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/layact.hxx b/sw/source/core/inc/layact.hxx
index 0a4be4c763..b7b360395d 100644
--- a/sw/source/core/inc/layact.hxx
+++ b/sw/source/core/inc/layact.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: layact.hxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -218,13 +215,13 @@ class SwLayIdle
BOOL bPageValid; // Konnte die Seite alles validiert werden?
BOOL bAllValid; // Konnte alles validiert werden?
-#ifndef PRODUCT
+#ifdef DBG_UTIL
BOOL bIndicator;
#endif
#ifdef _LAYACT_CXX
-#ifndef PRODUCT
+#ifdef DBG_UTIL
void ShowIdle( ColorData eName );
#endif
diff --git a/sw/source/core/inc/laycache.hxx b/sw/source/core/inc/laycache.hxx
index 60414797b5..a2250a8c7b 100644
--- a/sw/source/core/inc/laycache.hxx
+++ b/sw/source/core/inc/laycache.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: laycache.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -72,7 +69,7 @@ public:
return pImpl; }
void UnlockImpl() { --nLockCount; }
-#ifndef PRODUCT
+#ifdef DBG_UTIL
sal_Bool CompareLayout( const SwDoc& rDoc ) const;
#endif
};
diff --git a/sw/source/core/inc/layfrm.hxx b/sw/source/core/inc/layfrm.hxx
index 840c1d0719..9ade91ac84 100644
--- a/sw/source/core/inc/layfrm.hxx
+++ b/sw/source/core/inc/layfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: layfrm.hxx,v $
- * $Revision: 1.18 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -108,7 +105,7 @@ public:
SwLayoutFrm( SwFrmFmt* );
~SwLayoutFrm();
- virtual void Paint( const SwRect& ) const;
+ virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
const SwFrm *Lower() const { return pLower; }
SwFrm *Lower() { return pLower; }
const SwCntntFrm *ContainsCntnt() const;
diff --git a/sw/source/core/inc/layouter.hxx b/sw/source/core/inc/layouter.hxx
index 3101ecba2e..8dde3c43d2 100644
--- a/sw/source/core/inc/layouter.hxx
+++ b/sw/source/core/inc/layouter.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: layouter.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/makefile.mk b/sw/source/core/inc/makefile.mk
index 3c33d006ed..1b35ca4954 100644
--- a/sw/source/core/inc/makefile.mk
+++ b/sw/source/core/inc/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.3 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/movedfwdfrmsbyobjpos.hxx b/sw/source/core/inc/movedfwdfrmsbyobjpos.hxx
index d8d748226f..36ac1b89de 100644
--- a/sw/source/core/inc/movedfwdfrmsbyobjpos.hxx
+++ b/sw/source/core/inc/movedfwdfrmsbyobjpos.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: movedfwdfrmsbyobjpos.hxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/mvsave.hxx b/sw/source/core/inc/mvsave.hxx
index dac9783874..0f821849cb 100644
--- a/sw/source/core/inc/mvsave.hxx
+++ b/sw/source/core/inc/mvsave.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: mvsave.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,7 +32,7 @@
#ifndef _KEYCOD_HXX //autogen
#include <vcl/keycod.hxx>
#endif
-#include <svtools/svarray.hxx>
+#include <svl/svarray.hxx>
#include <IDocumentMarkAccess.hxx>
#include <vector>
diff --git a/sw/source/core/inc/node2lay.hxx b/sw/source/core/inc/node2lay.hxx
index 3b530ccdf8..42bbfe77a4 100644
--- a/sw/source/core/inc/node2lay.hxx
+++ b/sw/source/core/inc/node2lay.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: node2lay.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/noteurl.hxx b/sw/source/core/inc/noteurl.hxx
index f39c1564d6..088f5ba06c 100644
--- a/sw/source/core/inc/noteurl.hxx
+++ b/sw/source/core/inc/noteurl.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: noteurl.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,7 +29,7 @@
#define _NOTEURL_HXX
-#include <svtools/svarray.hxx>
+#include <svl/svarray.hxx>
#include <tools/string.hxx>
#include "swrect.hxx"
diff --git a/sw/source/core/inc/notxtfrm.hxx b/sw/source/core/inc/notxtfrm.hxx
index 5a61c352d5..0da68a3a53 100644
--- a/sw/source/core/inc/notxtfrm.hxx
+++ b/sw/source/core/inc/notxtfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: notxtfrm.hxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -59,7 +56,7 @@ public:
~SwNoTxtFrm();
virtual void Modify( SfxPoolItem*, SfxPoolItem* );
- virtual void Paint(const SwRect& ) const;
+ virtual void Paint(const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
virtual BOOL GetCharRect( SwRect &, const SwPosition&,
SwCrsrMoveState* = 0) const;
BOOL GetCrsrOfst(SwPosition* pPos, Point& aPoint,
diff --git a/sw/source/core/inc/objectformatter.hxx b/sw/source/core/inc/objectformatter.hxx
index 3ad7764d95..fe2e7edadd 100644
--- a/sw/source/core/inc/objectformatter.hxx
+++ b/sw/source/core/inc/objectformatter.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: objectformatter.hxx,v $
- * $Revision: 1.8.214.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/observablethread.hxx b/sw/source/core/inc/observablethread.hxx
index cb098e4dd3..9d4beb18f4 100644
--- a/sw/source/core/inc/observablethread.hxx
+++ b/sw/source/core/inc/observablethread.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: observablethread.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/pagefrm.hxx b/sw/source/core/inc/pagefrm.hxx
index 38f0b8a723..ab152f1fb4 100644
--- a/sw/source/core/inc/pagefrm.hxx
+++ b/sw/source/core/inc/pagefrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: pagefrm.hxx,v $
- * $Revision: 1.25.144.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,7 +28,7 @@
#define _PAGEFRM_HXX
-#include <svtools/svarray.hxx>
+#include <svl/svarray.hxx>
#include "ftnboss.hxx"
#include <tools/mempool.hxx>
diff --git a/sw/source/core/inc/pamtyp.hxx b/sw/source/core/inc/pamtyp.hxx
index ac3fd48fbf..989b9506a1 100644
--- a/sw/source/core/inc/pamtyp.hxx
+++ b/sw/source/core/inc/pamtyp.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: pamtyp.hxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/ptqueue.hxx b/sw/source/core/inc/ptqueue.hxx
index d6d4b09882..f847d8be9c 100644
--- a/sw/source/core/inc/ptqueue.hxx
+++ b/sw/source/core/inc/ptqueue.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ptqueue.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/retrievedinputstreamdata.hxx b/sw/source/core/inc/retrievedinputstreamdata.hxx
index d1548176db..c1dac2c84c 100644
--- a/sw/source/core/inc/retrievedinputstreamdata.hxx
+++ b/sw/source/core/inc/retrievedinputstreamdata.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: retrievedinputstreamdata.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/retrieveinputstream.hxx b/sw/source/core/inc/retrieveinputstream.hxx
index 54907603b6..86d22fc68d 100644
--- a/sw/source/core/inc/retrieveinputstream.hxx
+++ b/sw/source/core/inc/retrieveinputstream.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: retrieveinputstream.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/retrieveinputstreamconsumer.hxx b/sw/source/core/inc/retrieveinputstreamconsumer.hxx
index 39058b690a..e49dbe6cf9 100644
--- a/sw/source/core/inc/retrieveinputstreamconsumer.hxx
+++ b/sw/source/core/inc/retrieveinputstreamconsumer.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: retrieveinputstreamconsumer.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/rootfrm.hxx b/sw/source/core/inc/rootfrm.hxx
index ee925015c5..5de7604ae7 100644
--- a/sw/source/core/inc/rootfrm.hxx
+++ b/sw/source/core/inc/rootfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: rootfrm.hxx,v $
- * $Revision: 1.29 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -200,10 +197,10 @@ public:
virtual BOOL GetCrsrOfst( SwPosition *, Point&,
SwCrsrMoveState* = 0 ) const;
- virtual void Paint( const SwRect& ) const;
+ virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
virtual SwTwips ShrinkFrm( SwTwips, BOOL bTst = FALSE, BOOL bInfo = FALSE );
virtual SwTwips GrowFrm ( SwTwips, BOOL bTst = FALSE, BOOL bInfo = FALSE );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
virtual void Cut();
virtual void Paste( SwFrm* pParent, SwFrm* pSibling = 0 );
#endif
@@ -313,7 +310,7 @@ public:
void InsertEmptySct( SwSectionFrm* pDel );
void DeleteEmptySct() { if( pDestroy ) _DeleteEmptySct(); }
void RemoveFromList( SwSectionFrm* pSct ) { if( pDestroy ) _RemoveFromList( pSct ); }
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// Wird zur Zeit nur fuer ASSERTs benutzt:
BOOL IsInDelList( SwSectionFrm* pSct ) const; // Ist der SectionFrm in der Liste enthalten?
#endif
diff --git a/sw/source/core/inc/rowfrm.hxx b/sw/source/core/inc/rowfrm.hxx
index 0f0a61e1b0..22375c7788 100644
--- a/sw/source/core/inc/rowfrm.hxx
+++ b/sw/source/core/inc/rowfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: rowfrm.hxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/scriptinfo.hxx b/sw/source/core/inc/scriptinfo.hxx
index 2724613464..efeb702ad9 100644
--- a/sw/source/core/inc/scriptinfo.hxx
+++ b/sw/source/core/inc/scriptinfo.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: scriptinfo.hxx,v $
- * $Revision: 1.21.112.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#define _SVSTDARR_BYTES
#define _SVSTDARR_USHORTS
#define _SVSTDARR_XUB_STRLEN
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#endif
#include <i18npool/lang.h>
#include <list>
diff --git a/sw/source/core/inc/scrrect.hxx b/sw/source/core/inc/scrrect.hxx
index 4031c1e967..b880f3ed33 100644
--- a/sw/source/core/inc/scrrect.hxx
+++ b/sw/source/core/inc/scrrect.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: scrrect.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -30,7 +27,7 @@
#ifndef _SCRRECT_HXX
#define _SCRRECT_HXX
-#include <svtools/svarray.hxx>
+#include <svl/svarray.hxx>
#include "swrect.hxx"
#include <swtypes.hxx>
diff --git a/sw/source/core/inc/sectfrm.hxx b/sw/source/core/inc/sectfrm.hxx
index 46adcf260c..a00b2510fc 100644
--- a/sw/source/core/inc/sectfrm.hxx
+++ b/sw/source/core/inc/sectfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: sectfrm.hxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/setmapvirtdev.hxx b/sw/source/core/inc/setmapvirtdev.hxx
index 2db1e229fd..7839db618a 100644
--- a/sw/source/core/inc/setmapvirtdev.hxx
+++ b/sw/source/core/inc/setmapvirtdev.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: setmapvirtdev.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/sortedobjs.hxx b/sw/source/core/inc/sortedobjs.hxx
index 86c4ceb84f..b6a7cbcdf5 100644
--- a/sw/source/core/inc/sortedobjs.hxx
+++ b/sw/source/core/inc/sortedobjs.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: sortedobjs.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/sortedobjsimpl.hxx b/sw/source/core/inc/sortedobjsimpl.hxx
index fb5404cbe5..ee12de32b0 100644
--- a/sw/source/core/inc/sortedobjsimpl.hxx
+++ b/sw/source/core/inc/sortedobjsimpl.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: sortedobjsimpl.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/swblocks.hxx b/sw/source/core/inc/swblocks.hxx
index a48ba1493f..e0a699c1b2 100644
--- a/sw/source/core/inc/swblocks.hxx
+++ b/sw/source/core/inc/swblocks.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swblocks.hxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,7 +32,7 @@
#ifndef _DATE_HXX //autogen
#include <tools/datetime.hxx>
#endif
-#include <svtools/svarray.hxx>
+#include <svl/svarray.hxx>
class SfxMedium;
diff --git a/sw/source/core/inc/swcache.hxx b/sw/source/core/inc/swcache.hxx
index cb356f871a..73cd1ec53d 100644
--- a/sw/source/core/inc/swcache.hxx
+++ b/sw/source/core/inc/swcache.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swcache.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -60,7 +57,7 @@
*
*/
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#ifndef _STRING_HXX //autogen
#include <tools/string.hxx>
#endif
@@ -68,7 +65,7 @@
#ifndef _SVSTDARR_HXX
#define _SVSTDARR_USHORTS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#endif
class SwCacheObj;
@@ -94,7 +91,7 @@ class SwCache : public SwCacheObjArr
void DeleteObj( SwCacheObj *pObj );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ByteString aName;
long nAppend; //Anzahl der Eintragungen durch Erweiterung.
long nInsertFree; //Anzahl der Eintragungen auf freie Plaetze.
@@ -116,7 +113,7 @@ class SwCache : public SwCacheObjArr
public:
//nur BYTE hineinstecken!!!
-#ifndef PRODUCT
+#ifdef DBG_UTIL
SwCache( const USHORT nInitSize, const USHORT nGrowSize,
const ByteString &rNm );
~SwCache();
@@ -197,7 +194,7 @@ public:
inline BOOL IsLocked() const { return 0 != nLock; }
-#ifdef PRODUCT
+#ifndef DBG_UTIL
inline void Lock() { ++nLock; }
inline void Unlock() { --nLock; }
#else
@@ -249,7 +246,7 @@ public:
inline void SwCache::IncreaseMax( const USHORT nAdd )
{
nCurMax = nCurMax + sal::static_int_cast< USHORT >(nAdd);
-#ifndef PRODUCT
+#ifdef DBG_UTIL
++nIncreaseMax;
#endif
}
@@ -257,7 +254,7 @@ inline void SwCache::DecreaseMax( const USHORT nSub )
{
if ( nCurMax > nSub )
nCurMax = nCurMax - sal::static_int_cast< USHORT >(nSub);
-#ifndef PRODUCT
+#ifdef DBG_UTIL
++nDecreaseMax;
#endif
}
diff --git a/sw/source/core/inc/swfntcch.hxx b/sw/source/core/inc/swfntcch.hxx
index e6e9859b9d..a54f627393 100644
--- a/sw/source/core/inc/swfntcch.hxx
+++ b/sw/source/core/inc/swfntcch.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swfntcch.hxx,v $
- * $Revision: 1.7.210.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -49,7 +46,7 @@ class SwFontCache : public SwCache
public:
inline SwFontCache() : SwCache(50,50
-#ifndef PRODUCT
+#ifdef DBG_UTIL
, "Globaler AttributSet/Font-Cache pSwFontCache"
#endif
) {}
diff --git a/sw/source/core/inc/swfont.hxx b/sw/source/core/inc/swfont.hxx
index 68d031dab5..5953ec700c 100644
--- a/sw/source/core/inc/swfont.hxx
+++ b/sw/source/core/inc/swfont.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swfont.hxx,v $
- * $Revision: 1.37.210.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,7 +32,7 @@
#ifndef _TOOLS_STREAM_HXX //autogen
#include <tools/stream.hxx>
#endif
-#include <svx/svxfont.hxx>
+#include <editeng/svxfont.hxx>
#include <swtypes.hxx>
#include <drawfont.hxx> // SwDrawTextInfo
@@ -848,7 +845,7 @@ public:
* class SvStatistics
*************************************************************************/
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#define SV_STAT(nWhich)
#else
diff --git a/sw/source/core/inc/swselectionlist.hxx b/sw/source/core/inc/swselectionlist.hxx
index 22253bfa71..f6c1a83259 100644
--- a/sw/source/core/inc/swselectionlist.hxx
+++ b/sw/source/core/inc/swselectionlist.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swselectionlist.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/swthreadjoiner.hxx b/sw/source/core/inc/swthreadjoiner.hxx
index 0f88eba84a..83cccdc36e 100644
--- a/sw/source/core/inc/swthreadjoiner.hxx
+++ b/sw/source/core/inc/swthreadjoiner.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swthreadjoiner.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/swthreadmanager.hxx b/sw/source/core/inc/swthreadmanager.hxx
index 1029efb217..f6c0514007 100644
--- a/sw/source/core/inc/swthreadmanager.hxx
+++ b/sw/source/core/inc/swthreadmanager.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swthreadmanager.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/tabfrm.hxx b/sw/source/core/inc/tabfrm.hxx
index b5ea4c82bc..0383152d00 100644
--- a/sw/source/core/inc/tabfrm.hxx
+++ b/sw/source/core/inc/tabfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tabfrm.hxx,v $
- * $Revision: 1.20 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -132,7 +129,7 @@ public:
virtual void Modify( SfxPoolItem*, SfxPoolItem* );
virtual BOOL GetInfo( SfxPoolItem &rHnt ) const;
- virtual void Paint( const SwRect& ) const;
+ virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
virtual void CheckDirection( BOOL bVert );
virtual void Cut();
diff --git a/sw/source/core/inc/tblrwcl.hxx b/sw/source/core/inc/tblrwcl.hxx
index 62e71094ed..c80cac0405 100644
--- a/sw/source/core/inc/tblrwcl.hxx
+++ b/sw/source/core/inc/tblrwcl.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tblrwcl.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,7 +28,7 @@
#define _TBLRWCL_HXX
#ifndef _SVSTDARR_HXX
#define _SVSTDARR_USHORTS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#endif
#include <vector>
#include <swtypes.hxx>
@@ -69,7 +66,7 @@ BOOL lcl_BoxSetHeadCondColl( const SwTableBox*& rpBox, void* pPara );
BOOL lcl_LineSetHeadCondColl( const SwTableLine*& rpLine, void* pPara );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
void _CheckBoxWidth( const SwTableLine& rLine, SwTwips nSize );
#endif
@@ -100,7 +97,7 @@ public:
: aPosArr( 16, 16 ), aBoxes( 16, 16 ),
pHst( pHist ), nMode( nMd ), nWidth( 0 ),
bGetFromTop( bTop ), bGetValues( TRUE )
-
+
{}
void AddBox( const SwTableBox& rBox );
diff --git a/sw/source/core/inc/textapi.hxx b/sw/source/core/inc/textapi.hxx
index 722c5e4122..cebe52dc54 100755
--- a/sw/source/core/inc/textapi.hxx
+++ b/sw/source/core/inc/textapi.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: textapi.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -28,9 +25,13 @@
*
************************************************************************/
-#include <svx/unoedsrc.hxx>
-#include <svx/unotext.hxx>
-#include <svx/eeitem.hxx>
+#include <editeng/unoedsrc.hxx>
+#include <editeng/unotext.hxx>
+#include <editeng/eeitem.hxx>
+#include <editeng/outliner.hxx>
+#include <editeng/unoipset.hxx>
+#include <editeng/unoprnms.hxx>
+#include <editeng/unoforou.hxx>
class SwDoc;
diff --git a/sw/source/core/inc/threadlistener.hxx b/sw/source/core/inc/threadlistener.hxx
index 7b4b2b3ad5..d53b85008b 100644
--- a/sw/source/core/inc/threadlistener.hxx
+++ b/sw/source/core/inc/threadlistener.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: threadlistener.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/threadmanager.hxx b/sw/source/core/inc/threadmanager.hxx
index b2ba34258a..14dbc0b057 100644
--- a/sw/source/core/inc/threadmanager.hxx
+++ b/sw/source/core/inc/threadmanager.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: threadmanager.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/tocntntanchoredobjectposition.hxx b/sw/source/core/inc/tocntntanchoredobjectposition.hxx
index 4ae5d0e6d9..639e3d5286 100644
--- a/sw/source/core/inc/tocntntanchoredobjectposition.hxx
+++ b/sw/source/core/inc/tocntntanchoredobjectposition.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tocntntanchoredobjectposition.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/tolayoutanchoredobjectposition.hxx b/sw/source/core/inc/tolayoutanchoredobjectposition.hxx
index 71becb9e1e..468786aec6 100644
--- a/sw/source/core/inc/tolayoutanchoredobjectposition.hxx
+++ b/sw/source/core/inc/tolayoutanchoredobjectposition.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tolayoutanchoredobjectposition.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/toxhlp.hxx b/sw/source/core/inc/toxhlp.hxx
index 638c69c652..51b1d8013a 100644
--- a/sw/source/core/inc/toxhlp.hxx
+++ b/sw/source/core/inc/toxhlp.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: toxhlp.hxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/txmsrt.hxx b/sw/source/core/inc/txmsrt.hxx
index 0427138f98..ca494527fc 100644
--- a/sw/source/core/inc/txmsrt.hxx
+++ b/sw/source/core/inc/txmsrt.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txmsrt.hxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/txtfrm.hxx b/sw/source/core/inc/txtfrm.hxx
index d5a6f67912..bde145fc06 100644
--- a/sw/source/core/inc/txtfrm.hxx
+++ b/sw/source/core/inc/txtfrm.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtfrm.hxx,v $
- * $Revision: 1.56.110.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -296,7 +293,7 @@ public:
void PaintExtraData( const SwRect & rRect ) const; //Seitennummer usw.
SwRect Paint();
- virtual void Paint( const SwRect & ) const;
+ virtual void Paint( const SwRect &, const SwPrtOptions *pPrintData = NULL ) const;
virtual void Modify( SfxPoolItem*, SfxPoolItem* );
virtual sal_Bool GetInfo( SfxPoolItem & ) const;
@@ -405,7 +402,7 @@ public:
inline sal_Bool IsSwapped() const { return bIsSwapped; }
// Hat der Frm eine lokale Fussnote (in diesem Frm bzw. Follow)?
-#ifdef PRODUCT
+#ifndef DBG_UTIL
void CalcFtnFlag();
#else
void CalcFtnFlag( xub_StrLen nStop = STRING_LEN );//Fuer den Test von SplitFrm
diff --git a/sw/source/core/inc/txttypes.hxx b/sw/source/core/inc/txttypes.hxx
index eaa9a95a9c..b545e24677 100644
--- a/sw/source/core/inc/txttypes.hxx
+++ b/sw/source/core/inc/txttypes.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txttypes.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/undoflystrattr.hxx b/sw/source/core/inc/undoflystrattr.hxx
index 86bffc64bd..28b205a827 100644
--- a/sw/source/core/inc/undoflystrattr.hxx
+++ b/sw/source/core/inc/undoflystrattr.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwUndoPageDesc.hxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/unoclbck.hxx b/sw/source/core/inc/unoclbck.hxx
deleted file mode 100644
index 230b7eb503..0000000000
--- a/sw/source/core/inc/unoclbck.hxx
+++ /dev/null
@@ -1,52 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: unoclbck.hxx,v $
- * $Revision: 1.6 $
- *
- * 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 _UNOCLBCK_HXX
-#define _UNOCLBCK_HXX
-#include <calbck.hxx>
-
-class SwXReferenceMark;
-class SwFmtRefMark;
-class SwFmtFtn;
-class SwXFootnote;
-class SwTOXMark;
-class SwXDocumentIndexMark;
-
-class SwUnoCallBack : public SwModify
-{
-public:
- SwUnoCallBack(SwModify *pToRegisterIn);
- virtual ~SwUnoCallBack();
-
- // returns the API object of a reference mark if available
- SwXReferenceMark* GetRefMark(const SwFmtRefMark& rMark);
- SwXFootnote* GetFootnote(const SwFmtFtn& rMark);
- SwXDocumentIndexMark* GetTOXMark(const SwTOXMark& rMark);
-};
-#endif
diff --git a/sw/source/core/inc/unofldmid.h b/sw/source/core/inc/unofldmid.h
index 7cac35e138..c97f43785c 100644
--- a/sw/source/core/inc/unofldmid.h
+++ b/sw/source/core/inc/unofldmid.h
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unofldmid.h,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/inc/unometa.hxx b/sw/source/core/inc/unometa.hxx
index 1dc1985f7d..3728925270 100755
--- a/sw/source/core/inc/unometa.hxx
+++ b/sw/source/core/inc/unometa.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unometa.hxx,v $
- * $Revision: 1.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,63 +28,99 @@
#ifndef SW_UNOMETA_HXX
#define SW_UNOMETA_HXX
-#include "calbck.hxx"
-
-#include <sfx2/Metadatable.hxx>
-#include <cppuhelper/implbase2.hxx>
-#include <cppuhelper/implbase5.hxx>
+#include <deque>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/lang/XUnoTunnel.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
#include <com/sun/star/text/XTextContent.hpp>
#include <com/sun/star/text/XTextField.hpp>
-#include <deque>
+#include <cppuhelper/implbase2.hxx>
+#include <cppuhelper/implbase5.hxx>
+
+#include <sfx2/Metadatable.hxx>
+
+#include <unobaseclass.hxx>
typedef ::std::deque<
::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > >
TextRangeList_t;
-class SwXTextRange;
class SwPaM;
-class SwTxtMeta;
+class SwTxtNode;
+
namespace sw {
class Meta;
class MetaField;
}
-typedef
-::cppu::ImplInheritanceHelper5
-< ::sfx2::MetadatableMixin
-, ::com::sun::star::lang::XUnoTunnel
-, ::com::sun::star::lang::XServiceInfo
-, ::com::sun::star::text::XTextContent
-, ::com::sun::star::text::XText
-, ::com::sun::star::container::XEnumerationAccess
-> SwXMetaBaseClass;
+typedef ::cppu::ImplInheritanceHelper5
+< ::sfx2::MetadatableMixin
+, ::com::sun::star::lang::XUnoTunnel
+, ::com::sun::star::lang::XServiceInfo
+, ::com::sun::star::container::XEnumerationAccess
+, ::com::sun::star::text::XTextContent
+, ::com::sun::star::text::XText
+> SwXMeta_Base;
class SwXMeta
- : public SwXMetaBaseClass
- , public SwClient
+ : public SwXMeta_Base
, private ::boost::noncopyable
{
-private:
- struct Impl;
- ::std::auto_ptr<Impl> m_pImpl;
+
+public:
+
+ class Impl;
protected:
+
+ ::sw::UnoImplPtr<Impl> m_pImpl;
+
+ virtual void SAL_CALL AttachImpl(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::text::XTextRange > & xTextRange,
+ const USHORT nWhich)
+ throw (::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::uno::RuntimeException);
+
virtual ~SwXMeta();
-public:
- SwXMeta(SwDoc *const pDoc,
+ /// @param pDoc and pMeta != 0, but not & because of ImplInheritanceHelper
+ SwXMeta(SwDoc *const pDoc, ::sw::Meta *const pMeta,
::com::sun::star::uno::Reference< ::com::sun::star::text::XText> const&
xParentText,
- TextRangeList_t * const pPortions, SwTxtMeta * const pHint);
+ TextRangeList_t const*const pPortions);
+
+public:
+
SwXMeta(SwDoc *const pDoc);
- TYPEINFO();
+ static ::com::sun::star::uno::Reference<
+ ::com::sun::star::rdf::XMetadatable >
+ CreateXMeta(
+ ::sw::Meta & rMeta,
+ ::com::sun::star::uno::Reference< ::com::sun::star::text::XText>
+ const& xParentText = 0,
+ ::std::auto_ptr<TextRangeList_t const> pPortions =
+ ::std::auto_ptr<TextRangeList_t const>(0));
+
+ /// init params with position of the attribute content (w/out CH_TXTATR)
+ bool SetContentRange(
+ SwTxtNode *& rpNode, xub_StrLen & rStart, xub_StrLen & rEnd) const;
+ ::com::sun::star::uno::Reference< ::com::sun::star::text::XText >
+ GetParentText() const;
+
+ bool CheckForOwnMemberMeta(const SwPaM & rPam, const bool bAbsorb)
+ throw (::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::uno::RuntimeException);
+
+ // MetadatableMixin
+ virtual ::sfx2::Metadatable * GetCoreObject();
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >
+ GetModel();
static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId();
@@ -118,6 +151,18 @@ public:
::com::sun::star::lang::XEventListener > & xListener)
throw (::com::sun::star::uno::RuntimeException);
+ // XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasElements()
+ throw (::com::sun::star::uno::RuntimeException);
+
+ // XEnumerationAccess
+ virtual ::com::sun::star::uno::Reference<
+ ::com::sun::star::container::XEnumeration > SAL_CALL
+ createEnumeration()
+ throw (::com::sun::star::uno::RuntimeException);
+
// XTextContent
virtual void SAL_CALL attach(
const ::com::sun::star::uno::Reference<
@@ -180,72 +225,37 @@ public:
throw (::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
- // XElementAccess
- virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
- throw (::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL hasElements()
- throw (::com::sun::star::uno::RuntimeException);
-
- // XEnumerationAccess
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::container::XEnumeration > SAL_CALL
- createEnumeration()
- throw (::com::sun::star::uno::RuntimeException);
-
- // MetadatableMixin
- virtual ::sfx2::Metadatable * GetCoreObject();
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >
- GetModel();
-
- // SwClient
- virtual void Modify( SfxPoolItem *pOld, SfxPoolItem *pNew );
-
- /// init params with position of the attribute content (w/out CH_TXTATR)
- bool SetContentRange(
- SwTxtNode *& rpNode, xub_StrLen & rStart, xub_StrLen & rEnd) const;
- ::com::sun::star::uno::Reference< ::com::sun::star::text::XText >
- GetParentText() const;
-
- bool CheckForOwnMemberMeta(const SwXTextRange* const pRange,
- const SwPaM* const pPam, bool bAbsorb)
- throw (::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException);
-
-protected:
- virtual void SAL_CALL AttachImpl(
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::text::XTextRange > & xTextRange,
- const USHORT nWhich)
- throw ( ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException );
-
-private:
- inline const ::sw::Meta * GetMeta() const;
-
};
-typedef
-::cppu::ImplInheritanceHelper2
-< SwXMeta
-, ::com::sun::star::beans::XPropertySet
-, ::com::sun::star::text::XTextField
-> SwXMetaFieldBaseClass;
+typedef ::cppu::ImplInheritanceHelper2
+< SwXMeta
+, ::com::sun::star::beans::XPropertySet
+, ::com::sun::star::text::XTextField
+> SwXMetaField_Base;
class SwXMetaField
- : public SwXMetaFieldBaseClass
+ : public SwXMetaField_Base
{
+
private:
+
virtual ~SwXMetaField();
-private:
- inline const ::sw::MetaField * GetMetaField() const;
+ friend ::com::sun::star::uno::Reference<
+ ::com::sun::star::rdf::XMetadatable >
+ SwXMeta::CreateXMeta(::sw::Meta &,
+ ::com::sun::star::uno::Reference< ::com::sun::star::text::XText>
+ const&,
+ ::std::auto_ptr<TextRangeList_t const> pPortions);
-public:
- SwXMetaField(SwDoc *const pDoc,
+ SwXMetaField(SwDoc *const pDoc, ::sw::Meta *const pMeta,
::com::sun::star::uno::Reference< ::com::sun::star::text::XText> const&
xParentText,
- TextRangeList_t * const pPortions, SwTxtMeta * const pHint);
+ TextRangeList_t const*const pPortions);
+
+public:
+
SwXMetaField(SwDoc *const pDoc);
// XServiceInfo
@@ -270,16 +280,6 @@ public:
::com::sun::star::lang::XEventListener > & xListener)
throw (::com::sun::star::uno::RuntimeException);
- // XTextContent
- virtual void SAL_CALL attach(
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::text::XTextRange > & xTextRange)
- throw ( ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::text::XTextRange > SAL_CALL getAnchor()
- throw (::com::sun::star::uno::RuntimeException);
-
// XPropertySet
virtual ::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySetInfo > SAL_CALL
@@ -327,6 +327,16 @@ public:
::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
+ // XTextContent
+ virtual void SAL_CALL attach(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::text::XTextRange > & xTextRange)
+ throw ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::uno::RuntimeException );
+ virtual ::com::sun::star::uno::Reference<
+ ::com::sun::star::text::XTextRange > SAL_CALL getAnchor()
+ throw (::com::sun::star::uno::RuntimeException);
+
// XTextField
virtual rtl::OUString SAL_CALL getPresentation(sal_Bool bShowCommand)
throw (::com::sun::star::uno::RuntimeException);
diff --git a/sw/source/core/inc/viewimp.hxx b/sw/source/core/inc/viewimp.hxx
index e4735c0e5c..5092ede30e 100644
--- a/sw/source/core/inc/viewimp.hxx
+++ b/sw/source/core/inc/viewimp.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: viewimp.hxx,v $
- * $Revision: 1.36.214.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -57,6 +54,7 @@ struct SdrPaintProcRec;
class SwAccessibleMap;
class SdrObject;
class Fraction;
+class SwPrtOptions;
// OD 12.12.2002 #103492#
class SwPagePreviewLayout;
// OD 15.01.2003 #103492#
@@ -270,10 +268,11 @@ public:
// direction at the outliner of the draw view for painting layers <hell>
// and <heaven>.
// OD 25.06.2003 #108784# - correct type of 1st parameter
- void PaintLayer ( const SdrLayerID _nLayerID,
- const SwRect& _rRect,
- const Color* _pPageBackgrdColor = 0,
- const bool _bIsPageRightToLeft = false ) const;
+ void PaintLayer( const SdrLayerID _nLayerID,
+ const SwPrtOptions *pPrintData,
+ const SwRect& _rRect,
+ const Color* _pPageBackgrdColor = 0,
+ const bool _bIsPageRightToLeft = false ) const;
//wird als Link an die DrawEngine uebergeben, entscheidet was wie
//gepaintet wird oder nicht.
diff --git a/sw/source/core/inc/visiturl.hxx b/sw/source/core/inc/visiturl.hxx
index 9b71ffeee8..3e77783b2a 100644
--- a/sw/source/core/inc/visiturl.hxx
+++ b/sw/source/core/inc/visiturl.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: visiturl.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
-#include <svtools/lstner.hxx>
+#include <svl/lstner.hxx>
class SwDoc;
class SwURLStateChanged : public SfxListener
diff --git a/sw/source/core/inc/wrong.hxx b/sw/source/core/inc/wrong.hxx
index 50aa25d1a5..e4e0ba33f9 100644
--- a/sw/source/core/inc/wrong.hxx
+++ b/sw/source/core/inc/wrong.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: wrong.hxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/anchoreddrawobject.cxx b/sw/source/core/layout/anchoreddrawobject.cxx
index e2376f3d8e..7bba94cd49 100644
--- a/sw/source/core/layout/anchoreddrawobject.cxx
+++ b/sw/source/core/layout/anchoreddrawobject.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: anchoreddrawobject.cxx,v $
- * $Revision: 1.26.144.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,12 +34,8 @@
#include <pagefrm.hxx>
#include <cntfrm.hxx>
#include <doc.hxx>
-#ifndef _TOCNTNTANCHOROBJECTPOSITION_HXX
#include <tocntntanchoredobjectposition.hxx>
-#endif
-#ifndef _TOLAYOUTANCHOROBJECTPOSITION_HXX
#include <tolayoutanchoredobjectposition.hxx>
-#endif
#include <frmtool.hxx>
#include <fmtornt.hxx>
// --> OD 2004-08-12 #i32795#
@@ -357,7 +350,7 @@ void SwAnchoredDrawObject::MakeObjPos()
// determine relative position of drawing object and set it
switch ( pDrawContact->GetAnchorId() )
{
- case FLY_IN_CNTNT:
+ case FLY_AS_CHAR:
{
// indicate that position will be valid after positioning is performed
mbValidPos = true;
@@ -365,15 +358,15 @@ void SwAnchoredDrawObject::MakeObjPos()
// during the format of its anchor frame - see <SwFlyCntPortion::SetBase(..)>
}
break;
- case FLY_AT_CNTNT:
- case FLY_AUTO_CNTNT:
+ case FLY_AT_PARA:
+ case FLY_AT_CHAR:
{
// --> OD 2004-08-12 #i32795# - move intrinsic positioning to
// helper method <_MakeObjPosAnchoredAtPara()>
_MakeObjPosAnchoredAtPara();
}
break;
- case FLY_PAGE:
+ case FLY_AT_PAGE:
case FLY_AT_FLY:
{
// --> OD 2004-08-12 #i32795# - move intrinsic positioning to
@@ -603,7 +596,7 @@ void SwAnchoredDrawObject::_InvalidatePage( SwPageFrm* _pPageFrm )
{
// --> OD 2004-11-11 #i35007# - correct invalidation for as-character
// anchored objects.
- if ( GetFrmFmt().GetAnchor().GetAnchorId() == FLY_IN_CNTNT )
+ if ( GetFrmFmt().GetAnchor().GetAnchorId() == FLY_AS_CHAR )
{
_pPageFrm->InvalidateFlyInCnt();
}
@@ -645,7 +638,7 @@ void SwAnchoredDrawObject::InvalidateObjPos()
// --> OD 2005-03-09 #i44559# - assure, that text hint is already
// existing in the text frame
if ( GetAnchorFrm()->ISA(SwTxtFrm) &&
- GetFrmFmt().GetAnchor().GetAnchorId() == FLY_IN_CNTNT )
+ (GetFrmFmt().GetAnchor().GetAnchorId() == FLY_AS_CHAR) )
{
SwTxtFrm* pAnchorTxtFrm( static_cast<SwTxtFrm*>(AnchorFrm()) );
if ( pAnchorTxtFrm->GetTxtNode()->GetpSwpHints() &&
diff --git a/sw/source/core/layout/anchoredobject.cxx b/sw/source/core/layout/anchoredobject.cxx
index eed807f6f2..439503c886 100644
--- a/sw/source/core/layout/anchoredobject.cxx
+++ b/sw/source/core/layout/anchoredobject.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: anchoredobject.cxx,v $
- * $Revision: 1.27.212.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -42,8 +39,8 @@
#include <fmtsrnd.hxx>
#include <svx/svdobj.hxx>
#include <dcontact.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <sortedobjs.hxx>
#include <pagefrm.hxx>
// <--
@@ -306,7 +303,7 @@ void SwAnchoredObject::CheckCharRectAndTopOfLine(
GetAnchorFrm()->IsTxtFrm() )
{
const SwFmtAnchor& rAnch = GetFrmFmt().GetAnchor();
- if ( rAnch.GetAnchorId() == FLY_AUTO_CNTNT &&
+ if ( (rAnch.GetAnchorId() == FLY_AT_CHAR) &&
rAnch.GetCntntAnchor() )
{
// --> OD 2004-07-14 #117380# - if requested, assure that anchor frame,
@@ -540,8 +537,8 @@ bool SwAnchoredObject::ConsiderObjWrapInfluenceOnObjPos() const
// <--
{
const SwFmtAnchor& rAnchor = rObjFmt.GetAnchor();
- if ( ( rAnchor.GetAnchorId() == FLY_AUTO_CNTNT ||
- rAnchor.GetAnchorId() == FLY_AT_CNTNT ) &&
+ if ( ((rAnchor.GetAnchorId() == FLY_AT_CHAR) ||
+ (rAnchor.GetAnchorId() == FLY_AT_PARA)) &&
rObjFmt.GetSurround().GetSurround() != SURROUND_THROUGHT )
{
// --> OD 2004-09-23 #i34520# - text also wraps around anchored
@@ -792,7 +789,7 @@ void SwAnchoredObject::UpdateObjInSortedList()
AnchorFrm()->GetDrawObjs()->Update( *this );
// update its position in the sorted object list of its page frame
// note: as-character anchored object aren't registered at a page frame
- if ( GetFrmFmt().GetAnchor().GetAnchorId() != FLY_IN_CNTNT )
+ if ( GetFrmFmt().GetAnchor().GetAnchorId() != FLY_AS_CHAR )
{
GetPageFrm()->GetSortedObjs()->Update( *this );
}
@@ -859,8 +856,8 @@ SwTxtFrm* SwAnchoredObject::FindAnchorCharFrm()
if ( mpAnchorFrm )
{
const SwFmtAnchor& rAnch = GetFrmFmt().GetAnchor();
- if ( rAnch.GetAnchorId() == FLY_AUTO_CNTNT ||
- rAnch.GetAnchorId() == FLY_IN_CNTNT )
+ if ((rAnch.GetAnchorId() == FLY_AT_CHAR) ||
+ (rAnch.GetAnchorId() == FLY_AS_CHAR))
{
pAnchorCharFrm = &(static_cast<SwTxtFrm*>(AnchorFrm())->
GetFrmAtOfst( rAnch.GetCntntAnchor()->nContent.GetIndex() ));
diff --git a/sw/source/core/layout/atrfrm.cxx b/sw/source/core/layout/atrfrm.cxx
index e327b0bbdf..a1ad57fad5 100644
--- a/sw/source/core/layout/atrfrm.cxx
+++ b/sw/source/core/layout/atrfrm.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: atrfrm.cxx,v $
- * $Revision: 1.72.144.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -51,13 +48,11 @@
#include <com/sun/star/awt/Size.hpp>
#include <svtools/unoimap.hxx>
#include <svtools/unoevent.hxx>
-#ifndef __SBX_SBXVARIABLE_HXX //autogen
#include <basic/sbxvar.hxx>
-#endif
#include <svtools/imap.hxx>
#include <svtools/imapobj.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svdpage.hxx>
#include <unosett.hxx>
@@ -79,9 +74,7 @@
#include <fmtcnct.hxx>
#include <node.hxx>
#include <section.hxx>
-#ifndef _FMTLINE_HXX
#include <fmtline.hxx>
-#endif
#include <tgrditem.hxx>
#include <hfspacingitem.hxx>
#include <doc.hxx>
@@ -103,31 +96,26 @@
#include <fmtclbl.hxx>
#include <swunohelper.hxx>
#include <unoframe.hxx>
+#include <unotextbodyhf.hxx>
#include <SwStyleNameMapper.hxx>
/// OD 22.08.2002 #99657#
/// include definition of class SvxBrushItem and GraphicObject
/// in order to determine, if background is transparent.
-#include <svx/brshitem.hxx>
-#include <goodies/grfmgr.hxx>
+#include <editeng/brshitem.hxx>
+#include <svtools/grfmgr.hxx>
-#ifndef _CMDID_H
#include <cmdid.h>
-#endif
-#ifndef _UNOMID_H
#include <unomid.h>
-#endif
#ifndef _COMCORE_HRC
#include <comcore.hrc>
#endif
-#ifndef _SVX_SVUNDO_HXX
#include <svx/svdundo.hxx> // #111827#
-#endif
// OD 2004-05-24 #i28701#
#include <sortedobjs.hxx>
// --> OD 2006-03-06 #125892#
#include <HandleAnchorNodeChg.hxx>
// <--
-#include <svtools/cjkoptions.hxx>
+#include <svl/cjkoptions.hxx>
using namespace ::com::sun::star;
using ::rtl::OUString;
@@ -207,7 +195,8 @@ void DelHFFormat( SwClient *pToRemove, SwFrmFmt *pFmt )
SwClient *pLast = aIter.GoStart();
if( pLast )
do {
- bDel = pLast->IsA( TYPE(SwFrm) )|| pLast->IsA(TYPE(SwXHeadFootText));
+ bDel = pLast->IsA( TYPE(SwFrm) )
+ || SwXHeadFootText::IsXHeadFootText(pLast);
} while( bDel && 0 != ( pLast = aIter++ ));
}
@@ -691,7 +680,7 @@ void SwFmtPageDesc::Modify( SfxPoolItem* pOld, SfxPoolItem* pNew )
//mich also bei meinem Format aus.
//Dabei werden ich Deletet!!!
if( IS_TYPE( SwFmt, pDefinedIn ))
-#ifndef PRODUCT
+#ifdef DBG_UTIL
{
sal_Bool bDel = ((SwFmt*)pDefinedIn)->ResetFmtAttr( RES_PAGEDESC );
ASSERT( bDel, ";-) FmtPageDesc nicht zerstoert." );
@@ -700,7 +689,7 @@ void SwFmtPageDesc::Modify( SfxPoolItem* pOld, SfxPoolItem* pNew )
((SwFmt*)pDefinedIn)->ResetFmtAttr( RES_PAGEDESC );
#endif
else if( IS_TYPE( SwCntntNode, pDefinedIn ))
-#ifndef PRODUCT
+#ifdef DBG_UTIL
{
sal_Bool bDel = ((SwCntntNode*)pDefinedIn)->ResetAttr( RES_PAGEDESC );
ASSERT( bDel, ";-) FmtPageDesc nicht zerstoert." );
@@ -1484,9 +1473,11 @@ void SwFmtAnchor::SetAnchor( const SwPosition *pPos )
delete pCntntAnchor;
pCntntAnchor = pPos ? new SwPosition( *pPos ) : 0;
//AM Absatz gebundene Flys sollten nie in den Absatz hineinzeigen.
- if ( pCntntAnchor && ( FLY_AT_CNTNT == nAnchorId ||
- FLY_AT_FLY == nAnchorId ))
+ if (pCntntAnchor &&
+ ((FLY_AT_PARA == nAnchorId) || (FLY_AT_FLY == nAnchorId)))
+ {
pCntntAnchor->nContent.Assign( 0, 0 );
+ }
}
SwFmtAnchor& SwFmtAnchor::operator=(const SwFmtAnchor& rAnchor)
@@ -1543,14 +1534,23 @@ BOOL SwFmtAnchor::QueryValue( uno::Any& rVal, BYTE nMemberId ) const
case MID_ANCHOR_ANCHORTYPE:
text::TextContentAnchorType eRet;
- switch((sal_Int16)GetAnchorId())
+ switch (GetAnchorId())
{
- case FLY_AUTO_CNTNT : eRet = text::TextContentAnchorType_AT_CHARACTER;break;
- case FLY_PAGE : eRet = text::TextContentAnchorType_AT_PAGE; break;
- case FLY_AT_FLY : eRet = text::TextContentAnchorType_AT_FRAME; break;
- case FLY_IN_CNTNT : eRet = text::TextContentAnchorType_AS_CHARACTER;break;
- //case FLY_AT_CNTNT :
- default: eRet = text::TextContentAnchorType_AT_PARAGRAPH;
+ case FLY_AT_CHAR:
+ eRet = text::TextContentAnchorType_AT_CHARACTER;
+ break;
+ case FLY_AT_PAGE:
+ eRet = text::TextContentAnchorType_AT_PAGE;
+ break;
+ case FLY_AT_FLY:
+ eRet = text::TextContentAnchorType_AT_FRAME;
+ break;
+ case FLY_AS_CHAR:
+ eRet = text::TextContentAnchorType_AS_CHARACTER;
+ break;
+ //case FLY_AT_PARA:
+ default:
+ eRet = text::TextContentAnchorType_AT_PARAGRAPH;
}
rVal <<= eRet;
break;
@@ -1591,10 +1591,10 @@ BOOL SwFmtAnchor::PutValue( const uno::Any& rVal, BYTE nMemberId )
switch( SWUnoHelper::GetEnumAsInt32( rVal ) )
{
case text::TextContentAnchorType_AS_CHARACTER:
- eAnchor = FLY_IN_CNTNT;
+ eAnchor = FLY_AS_CHAR;
break;
case text::TextContentAnchorType_AT_PAGE:
- eAnchor = FLY_PAGE;
+ eAnchor = FLY_AT_PAGE;
if( GetPageNum() > 0 && pCntntAnchor )
{
// If the anchor type is page and a valid page number
@@ -1608,11 +1608,11 @@ BOOL SwFmtAnchor::PutValue( const uno::Any& rVal, BYTE nMemberId )
eAnchor = FLY_AT_FLY;
break;
case text::TextContentAnchorType_AT_CHARACTER:
- eAnchor = FLY_AUTO_CNTNT;
+ eAnchor = FLY_AT_CHAR;
break;
//case text::TextContentAnchorType_AT_PARAGRAPH:
default:
- eAnchor = FLY_AT_CNTNT;
+ eAnchor = FLY_AT_PARA;
break;
}
SetType( eAnchor );
@@ -1624,7 +1624,7 @@ BOOL SwFmtAnchor::PutValue( const uno::Any& rVal, BYTE nMemberId )
if((rVal >>= nVal) && nVal > 0)
{
SetPageNum( nVal );
- if( FLY_PAGE == GetAnchorId() && pCntntAnchor )
+ if ((FLY_AT_PAGE == GetAnchorId()) && pCntntAnchor)
{
// If the anchor type is page and a valid page number
// is set, the content paoition has to be deleted to not
@@ -2478,6 +2478,11 @@ void SwFrmFmt::Modify( SfxPoolItem* pOld, SfxPoolItem* pNew )
// wegen RESET_FMTWRITTEN.
// if ( GetDepends() )
SwFmt::Modify( pOld, pNew );
+
+ if (pOld && (RES_REMOVE_UNO_OBJECT == pOld->Which()))
+ { // invalidate cached uno object
+ SetXObject(uno::Reference<uno::XInterface>(0));
+ }
}
//Vernichtet alle Frms, die in aDepend angemeldet sind.
@@ -2597,7 +2602,7 @@ sal_Bool SwFrmFmt::IsLowerOf( const SwFrmFmt& rFmt ) const
// dann mal ueber die Node-Positionen versuchen
const SwFmtAnchor* pAnchor = &rFmt.GetAnchor();
- if( FLY_PAGE != pAnchor->GetAnchorId() && pAnchor->GetCntntAnchor() )
+ if ((FLY_AT_PAGE != pAnchor->GetAnchorId()) && pAnchor->GetCntntAnchor())
{
const SwSpzFrmFmts& rFmts = *GetDoc()->GetSpzFrmFmts();
const SwNode* pFlyNd = pAnchor->GetCntntAnchor()->nNode.GetNode().
@@ -2616,9 +2621,11 @@ sal_Bool SwFrmFmt::IsLowerOf( const SwFrmFmt& rFmt ) const
return sal_True;
pAnchor = &pFmt->GetAnchor();
- if( FLY_PAGE == pAnchor->GetAnchorId() ||
+ if ((FLY_AT_PAGE == pAnchor->GetAnchorId()) ||
!pAnchor->GetCntntAnchor() )
+ {
return sal_False;
+ }
pFlyNd = pAnchor->GetCntntAnchor()->nNode.GetNode().
FindFlyStartNode();
@@ -2702,11 +2709,13 @@ void SwFlyFrmFmt::MakeFrms()
SwFmtAnchor aAnchorAttr( GetAnchor() );
switch( aAnchorAttr.GetAnchorId() )
{
- case FLY_IN_CNTNT:
- case FLY_AT_CNTNT:
- case FLY_AUTO_CNTNT:
+ case FLY_AS_CHAR:
+ case FLY_AT_PARA:
+ case FLY_AT_CHAR:
if( aAnchorAttr.GetCntntAnchor() )
+ {
pModify = aAnchorAttr.GetCntntAnchor()->nNode.GetNode().GetCntntNode();
+ }
break;
case FLY_AT_FLY:
@@ -2739,7 +2748,7 @@ void SwFlyFrmFmt::MakeFrms()
}
break;
- case FLY_PAGE:
+ case FLY_AT_PAGE:
{
sal_uInt16 nPgNum = aAnchorAttr.GetPageNum();
SwPageFrm *pPage = (SwPageFrm*)GetDoc()->GetRootFrm()->Lower();
@@ -2822,12 +2831,12 @@ void SwFlyFrmFmt::MakeFrms()
pFly = new SwFlyLayFrm( this, pFrm );
break;
- case FLY_AT_CNTNT:
- case FLY_AUTO_CNTNT:
+ case FLY_AT_PARA:
+ case FLY_AT_CHAR:
pFly = new SwFlyAtCntFrm( this, pFrm );
break;
- case FLY_IN_CNTNT:
+ case FLY_AS_CHAR:
pFly = new SwFlyInCntFrm( this, pFrm );
break;
default:
@@ -3026,8 +3035,8 @@ SwHandleAnchorNodeChg::SwHandleAnchorNodeChg( SwFlyFrmFmt& _rFlyFrmFmt,
mbAnchorNodeChanged( false )
{
const RndStdIds nNewAnchorType( _rNewAnchorFmt.GetAnchorId() );
- if ( ( nNewAnchorType == FLY_AT_CNTNT ||
- nNewAnchorType == FLY_AUTO_CNTNT ) &&
+ if ( ((nNewAnchorType == FLY_AT_PARA) ||
+ (nNewAnchorType == FLY_AT_CHAR)) &&
_rNewAnchorFmt.GetCntntAnchor() &&
_rNewAnchorFmt.GetCntntAnchor()->nNode.GetNode().GetCntntNode() )
{
diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx
index bb73a85bbc..28d3a9b307 100644
--- a/sw/source/core/layout/calcmove.cxx
+++ b/sw/source/core/layout/calcmove.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: calcmove.cxx,v $
- * $Revision: 1.73.252.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -43,12 +40,10 @@
#include "frmtool.hxx"
#include "txtftn.hxx"
#include "fmtftn.hxx"
-#include <svx/ulspitem.hxx>
-#include <svx/keepitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/keepitem.hxx>
-#ifndef _OUTDEV_HXX //autogen
#include <vcl/outdev.hxx>
-#endif
#include <fmtfsize.hxx>
#include <fmtanchr.hxx>
#include <fmtclbl.hxx>
@@ -851,7 +846,7 @@ void SwPageFrm::MakeAll()
if ( Frm() != aOldRect && GetUpper() )
static_cast<SwRootFrm*>(GetUpper())->CheckViewLayout( 0, 0 );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
//Der Upper (Root) muss mindestens so breit
//sein, dass er die breiteste Seite aufnehmen kann.
if ( GetUpper() )
@@ -1014,10 +1009,12 @@ BOOL SwCntntFrm::MakePrtArea( const SwBorderAttrs &rAttrs )
rFmt.GetFrmSize().GetWidthPercent() )
continue;
- if ( FLY_IN_CNTNT == rFmt.GetAnchor().GetAnchorId() )
+ if ( FLY_AS_CHAR == rFmt.GetAnchor().GetAnchorId() )
+ {
nMinWidth = Max( nMinWidth,
bFly ? rFmt.GetFrmSize().GetWidth()
: pObj->GetObjRect().Width() );
+ }
// <--
}
@@ -1139,7 +1136,7 @@ void SwCntntFrm::MakeAll()
// <--
PROTOCOL_ENTER( this, PROT_MAKEALL, 0, 0 )
-#ifndef PRODUCT
+#ifdef DBG_UTIL
const SwDoc *pDoc = GetAttrSet()->GetDoc();
if( pDoc )
{
@@ -1695,7 +1692,7 @@ void SwCntntFrm::MakeAll()
( !bSct || !FindSctFrm()->IsColLocked() ) )
bMoveOrFit = TRUE;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
{
ASSERT( FALSE, "+TxtFrm hat WouldFit-Versprechen nicht eingehalten." );
diff --git a/sw/source/core/layout/colfrm.cxx b/sw/source/core/layout/colfrm.cxx
index 8515889c10..b9b1a81512 100644
--- a/sw/source/core/layout/colfrm.cxx
+++ b/sw/source/core/layout/colfrm.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: colfrm.cxx,v $
- * $Revision: 1.20 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -36,8 +33,8 @@
#include "doc.hxx"
#include "hintids.hxx"
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <fmtclds.hxx>
#include <fmtfordr.hxx>
#include <frmfmt.hxx>
diff --git a/sw/source/core/layout/dbg_lay.cxx b/sw/source/core/layout/dbg_lay.cxx
index 6c5d9e6b66..4f53e680bc 100644
--- a/sw/source/core/layout/dbg_lay.cxx
+++ b/sw/source/core/layout/dbg_lay.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dbg_lay.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -106,7 +103,7 @@
*
* --------------------------------------------------*/
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#error Wer fummelt denn an den makefiles rum?
#endif
@@ -119,7 +116,7 @@
#define _SVSTDARR_USHORTS
#define _SVSTDARR_USHORTSSORT
#define _SVSTDARR_LONGS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#endif
#include <stdio.h>
@@ -139,7 +136,7 @@ SwImplProtocol* SwProtocol::pImpl = NULL;
ULONG lcl_GetFrameId( const SwFrm* pFrm )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
static BOOL bFrameId = FALSE;
if( bFrameId )
return pFrm->GetFrmId();
diff --git a/sw/source/core/layout/findfrm.cxx b/sw/source/core/layout/findfrm.cxx
index e192364635..1f7856c192 100644
--- a/sw/source/core/layout/findfrm.cxx
+++ b/sw/source/core/layout/findfrm.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: findfrm.cxx,v $
- * $Revision: 1.48 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/flowfrm.cxx b/sw/source/core/layout/flowfrm.cxx
index 4968601e7a..a742b97a45 100644
--- a/sw/source/core/layout/flowfrm.cxx
+++ b/sw/source/core/layout/flowfrm.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: flowfrm.cxx,v $
- * $Revision: 1.71 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -41,16 +38,16 @@
#include "dflyobj.hxx"
#include "frmtool.hxx"
#include "dcontact.hxx"
-#include <svx/brkitem.hxx>
-#include <svx/keepitem.hxx>
+#include <editeng/brkitem.hxx>
+#include <editeng/keepitem.hxx>
#include <fmtsrnd.hxx>
#include <fmtanchr.hxx>
#include <fmtpdsc.hxx>
-#include <svx/ulspitem.hxx>
+#include <editeng/ulspitem.hxx>
#include <tgrditem.hxx>
#include <txtftn.hxx>
#include <fmtftn.hxx>
-#include <svx/pgrditem.hxx>
+#include <editeng/pgrditem.hxx>
#include <paratr.hxx>
#include "ftnfrm.hxx"
@@ -366,7 +363,7 @@ BYTE SwFlowFrm::BwdMoveNecessary( const SwPageFrm *pPage, const SwRect &rRect )
//denn dann weiche ich ihm nicht aus.
if ( ::IsFrmInSameKontext( pAnchor, &rThis ) )
{
- if ( rFmt.GetAnchor().GetAnchorId() == FLY_AT_CNTNT )
+ if ( rFmt.GetAnchor().GetAnchorId() == FLY_AT_PARA )
{
// Den Index des anderen erhalten wir immer ueber das Ankerattr.
ULONG nTmpIndex = rFmt.GetAnchor().GetCntntAnchor()->nNode.GetIndex();
@@ -513,10 +510,10 @@ BOOL SwFlowFrm::PasteTree( SwFrm *pStart, SwLayoutFrm *pParent, SwFrm *pSibling,
pParent->pLower = pStart;
else
//Modified for #i100782#,04/03/2009
- //If the pParent has more than 1 child nodes, former design will
- //ignore them directly without any collection work. It will make some
- //dangling pointers. This lead the crash...
- //The new design will find the last child of pParent in loop way, and
+ //If the pParent has more than 1 child nodes, former design will
+ //ignore them directly without any collection work. It will make some
+ //dangling pointers. This lead the crash...
+ //The new design will find the last child of pParent in loop way, and
//add the pStart after the last child.
// pParent->Lower()->pNext = pStart;
{
diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx
index 8899002e4e..feee382b5e 100644
--- a/sw/source/core/layout/fly.cxx
+++ b/sw/source/core/layout/fly.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fly.cxx,v $
- * $Revision: 1.92.110.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,19 +28,17 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
#include "hintids.hxx"
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#include <svtools/imap.hxx>
-#ifndef _GRAPH_HXX //autogen
#include <vcl/graph.hxx>
-#endif
#include <tools/poly.hxx>
#include <svx/contdlg.hxx>
-#include <svx/protitem.hxx>
-#include <svx/opaqitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/frmdiritem.hxx>
-#include <svx/keepitem.hxx>
+#include <editeng/protitem.hxx>
+#include <editeng/opaqitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/frmdiritem.hxx>
+#include <editeng/keepitem.hxx>
#include <fmtanchr.hxx>
#include <fmtfsize.hxx>
#include <fmtclds.hxx>
@@ -1182,7 +1177,7 @@ void SwFlyFrm::ChgRelPos( const Point &rNewPos )
// --> OD 2004-11-12 #i34948# - handle also at-page and at-fly anchored
// Writer fly frames
const RndStdIds eAnchorType = GetFrmFmt().GetAnchor().GetAnchorId();
- if ( eAnchorType == FLY_PAGE )
+ if ( eAnchorType == FLY_AT_PAGE )
{
aVert.SetVertOrient( text::VertOrientation::NONE );
aVert.SetRelationOrient( text::RelOrientation::PAGE_FRAME );
@@ -1235,7 +1230,7 @@ void SwFlyFrm::ChgRelPos( const Point &rNewPos )
SwFmtHoriOrient aHori( pFmt->GetHoriOrient() );
// --> OD 2004-11-12 #i34948# - handle also at-page and at-fly anchored
// Writer fly frames
- if ( eAnchorType == FLY_PAGE )
+ if ( eAnchorType == FLY_AT_PAGE )
{
aHori.SetHoriOrient( text::HoriOrientation::NONE );
aHori.SetRelationOrient( text::RelOrientation::PAGE_FRAME );
@@ -1645,11 +1640,17 @@ void CalcCntnt( SwLayoutFrm *pLay,
{
// Bei autopositionierten hilft manchmal nur
// noch, auf Durchlauf zu schalten
- if( rFmt.GetAnchor().GetAnchorId() == FLY_AUTO_CNTNT &&
- SURROUND_PARALLEL == aAttr.GetSurround() )
+ if ((rFmt.GetAnchor().GetAnchorId() ==
+ FLY_AT_CHAR) &&
+ (SURROUND_PARALLEL ==
+ aAttr.GetSurround()))
+ {
aAttr.SetSurround( SURROUND_THROUGHT );
+ }
else
+ {
aAttr.SetSurround( SURROUND_PARALLEL );
+ }
rFmt.LockModify();
rFmt.SetFmtAttr( aAttr );
rFmt.UnlockModify();
@@ -2313,7 +2314,8 @@ void SwFrm::InvalidateObjs( const bool _bInvaPosOnly,
{
SwAnchoredObject* pAnchoredObj = (*GetDrawObjs())[i];
if ( _bNoInvaOfAsCharAnchoredObjs &&
- pAnchoredObj->GetFrmFmt().GetAnchor().GetAnchorId() == FLY_IN_CNTNT )
+ (pAnchoredObj->GetFrmFmt().GetAnchor().GetAnchorId()
+ == FLY_AS_CHAR) )
{
continue;
}
diff --git a/sw/source/core/layout/flycnt.cxx b/sw/source/core/layout/flycnt.cxx
index 1fadf0378f..4a24844dc2 100644
--- a/sw/source/core/layout/flycnt.cxx
+++ b/sw/source/core/layout/flycnt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: flycnt.cxx,v $
- * $Revision: 1.66 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -47,8 +44,8 @@
#include "ndtxt.hxx"
#include "swundo.hxx"
#include "errhdl.hxx"
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <fmtanchr.hxx>
#include <fmtornt.hxx>
#include <fmtfsize.hxx>
@@ -90,7 +87,7 @@ SwFlyAtCntFrm::SwFlyAtCntFrm( SwFlyFrmFmt *pFmt, SwFrm *pAnch ) :
SwFlyFreeFrm( pFmt, pAnch )
{
bAtCnt = TRUE;
- bAutoPosition = FLY_AUTO_CNTNT == pFmt->GetAnchor().GetAnchorId();
+ bAutoPosition = (FLY_AT_CHAR == pFmt->GetAnchor().GetAnchorId());
}
// --> OD 2004-06-29 #i28701#
diff --git a/sw/source/core/layout/flyincnt.cxx b/sw/source/core/layout/flyincnt.cxx
index 0efea0085e..7956827165 100644
--- a/sw/source/core/layout/flyincnt.cxx
+++ b/sw/source/core/layout/flyincnt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: flyincnt.cxx,v $
- * $Revision: 1.20 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/flylay.cxx b/sw/source/core/layout/flylay.cxx
index 85d8ac89c1..a8b244d2d5 100644
--- a/sw/source/core/layout/flylay.cxx
+++ b/sw/source/core/layout/flylay.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: flylay.cxx,v $
- * $Revision: 1.55 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -48,7 +45,7 @@
#include <svx/svdpage.hxx>
-#include <svx/ulspitem.hxx>
+#include <editeng/ulspitem.hxx>
#include <fmtanchr.hxx>
#include <fmtornt.hxx>
#include <fmtfsize.hxx>
@@ -277,7 +274,7 @@ void SwFlyFreeFrm::MakeAll()
}
Unlock();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
SWRECTFN( this )
ASSERT( bHeightClipped || ( (Frm().*fnRect->fnGetHeight)() > 0 &&
(Prt().*fnRect->fnGetHeight)() > 0),
@@ -600,7 +597,7 @@ void SwFlyLayFrm::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew )
SwPageFrm *pOldPage = GetPageFrm();
AnchorFrm()->RemoveFly( this );
- if( FLY_PAGE == pAnch->GetAnchorId() )
+ if ( FLY_AT_PAGE == pAnch->GetAnchorId() )
{
USHORT nPgNum = pAnch->GetPageNum();
SwRootFrm *pRoot = FindRootFrm();
@@ -955,7 +952,7 @@ void SwPageFrm::AppendDrawObjToPage( SwAnchoredObject& _rNewObj )
_rNewObj.DrawObj()->SetOrdNum( nNewNum );
}
- if ( FLY_IN_CNTNT == _rNewObj.GetFrmFmt().GetAnchor().GetAnchorId() )
+ if ( FLY_AS_CHAR == _rNewObj.GetFrmFmt().GetAnchor().GetAnchorId() )
{
return;
}
@@ -966,7 +963,7 @@ void SwPageFrm::AppendDrawObjToPage( SwAnchoredObject& _rNewObj )
}
if ( !pSortedObjs->Insert( _rNewObj ) )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( pSortedObjs->Contains( _rNewObj ),
"Drawing object not appended into list <pSortedObjs>." );
#endif
@@ -999,7 +996,8 @@ void SwPageFrm::RemoveDrawObjFromPage( SwAnchoredObject& _rToRemoveObj )
}
if ( GetUpper() )
{
- if ( FLY_IN_CNTNT != _rToRemoveObj.GetFrmFmt().GetAnchor().GetAnchorId() )
+ if (FLY_AS_CHAR !=
+ _rToRemoveObj.GetFrmFmt().GetAnchor().GetAnchorId())
{
((SwRootFrm*)GetUpper())->SetSuperfluous();
InvalidatePage();
@@ -1333,7 +1331,7 @@ BOOL CalcClipRect( const SdrObject *pSdrObj, SwRect &rRect, BOOL bMove )
const SwDrawContact *pC = (const SwDrawContact*)GetUserCall(pSdrObj);
const SwFrmFmt *pFmt = (const SwFrmFmt*)pC->GetFmt();
const SwFmtAnchor &rAnch = pFmt->GetAnchor();
- if ( FLY_IN_CNTNT == rAnch.GetAnchorId() )
+ if ( FLY_AS_CHAR == rAnch.GetAnchorId() )
{
const SwFrm* pAnchorFrm = pC->GetAnchorFrm( pSdrObj );
if( !pAnchorFrm )
diff --git a/sw/source/core/layout/flypos.cxx b/sw/source/core/layout/flypos.cxx
index 3800fcf03f..68ec82b436 100644
--- a/sw/source/core/layout/flypos.cxx
+++ b/sw/source/core/layout/flypos.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: flypos.cxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -57,8 +54,10 @@ SwPosFlyFrm::SwPosFlyFrm( const SwNodeIndex& rIdx, const SwFrmFmt* pFmt,
{
BOOL bFnd = FALSE;
const SwFmtAnchor& rAnchor = pFmt->GetAnchor();
- if( FLY_PAGE == rAnchor.GetAnchorId() )
+ if (FLY_AT_PAGE == rAnchor.GetAnchorId())
+ {
pNdIdx = new SwNodeIndex( rIdx );
+ }
else if( pFmt->GetDoc()->GetRootFrm() )
{
SwClientIter aIter( (SwFmt&)*pFmt );
@@ -88,8 +87,10 @@ SwPosFlyFrm::SwPosFlyFrm( const SwNodeIndex& rIdx, const SwFrmFmt* pFmt,
SwPosFlyFrm::~SwPosFlyFrm()
{
const SwFmtAnchor& rAnchor = pFrmFmt->GetAnchor();
- if( FLY_PAGE == rAnchor.GetAnchorId() )
+ if (FLY_AT_PAGE == rAnchor.GetAnchorId())
+ {
delete pNdIdx;
+ }
}
BOOL SwPosFlyFrm::operator==( const SwPosFlyFrm& )
diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx
index 756269cd03..b525043dc3 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: frmtool.cxx,v $
- * $Revision: 1.107 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,15 +31,15 @@
#include <tools/bigint.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svdpage.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/keepitem.hxx>
-#include <svx/shaditem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/boxitem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/keepitem.hxx>
+#include <editeng/shaditem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/boxitem.hxx>
#include <sfx2/printer.hxx>
// OD 08.01.2004 #i11859#
-#include <svx/lspcitem.hxx>
+#include <editeng/lspcitem.hxx>
#include <fmtornt.hxx>
@@ -1033,9 +1030,11 @@ SwCntntNotify::~SwCntntNotify()
SwFrmFmt *pFmt = (*pTbl)[i];
const SwFmtAnchor &rAnch = pFmt->GetAnchor();
- if ( FLY_PAGE != rAnch.GetAnchorId() &&
- FLY_AT_CNTNT != rAnch.GetAnchorId() )
+ if ((FLY_AT_PAGE != rAnch.GetAnchorId()) &&
+ (FLY_AT_PARA != rAnch.GetAnchorId()))
+ {
continue; //#60878# nicht etwa zeichengebundene.
+ }
BOOL bCheckPos = FALSE;
if ( rAnch.GetCntntAnchor() )
@@ -1047,7 +1046,7 @@ SwCntntNotify::~SwCntntNotify()
if ( rAnch.GetCntntAnchor()->nNode == *pIdx )
{
bCheckPos = TRUE;
- if ( FLY_PAGE == rAnch.GetAnchorId() )
+ if (FLY_AT_PAGE == rAnch.GetAnchorId())
{
ASSERT( false, "<SwCntntNotify::~SwCntntNotify()> - to page anchored object with content position. Please inform OD." );
SwFmtAnchor aAnch( rAnch );
@@ -1097,7 +1096,7 @@ SwCntntNotify::~SwCntntNotify()
{
SwAnchoredObject* pAnchoredObj = (*pObjs)[i];
if ( pAnchoredObj->GetFrmFmt().GetAnchor().GetAnchorId()
- == FLY_AUTO_CNTNT )
+ == FLY_AT_CHAR )
{
pAnchoredObj->CheckCharRectAndTopOfLine( !pMasterFrm->IsEmpty() );
}
@@ -1135,11 +1134,11 @@ void AppendObjs( const SwSpzFrmFmts *pTbl, ULONG nIndex,
// OD 23.06.2003 #108784# - append also drawing objects anchored
// as character.
const bool bDrawObjInCntnt = bSdrObj &&
- rAnch.GetAnchorId() == FLY_IN_CNTNT;
+ (rAnch.GetAnchorId() == FLY_AS_CHAR);
if( bFlyAtFly ||
- rAnch.GetAnchorId() == FLY_AT_CNTNT ||
- rAnch.GetAnchorId() == FLY_AUTO_CNTNT ||
+ (rAnch.GetAnchorId() == FLY_AT_PARA) ||
+ (rAnch.GetAnchorId() == FLY_AT_CHAR) ||
bDrawObjInCntnt )
{
SdrObject* pSdrObj = 0;
@@ -1227,7 +1226,7 @@ bool lcl_InHeaderOrFooter( SwFrmFmt& _rFmt )
const SwFmtAnchor& rAnch = _rFmt.GetAnchor();
- if ( rAnch.GetAnchorId() != FLY_PAGE )
+ if (rAnch.GetAnchorId() != FLY_AT_PAGE)
{
bRetVal = _rFmt.GetDoc()->IsInHeaderFooter( rAnch.GetCntntAnchor()->nNode );
}
@@ -1256,10 +1255,13 @@ void AppendAllObjs( const SwSpzFrmFmts *pTbl )
SwFrmFmt *pFmt = (SwFrmFmt*)aCpy[ USHORT(i) ];
const SwFmtAnchor &rAnch = pFmt->GetAnchor();
BOOL bRemove = FALSE;
- if ( rAnch.GetAnchorId() == FLY_PAGE || rAnch.GetAnchorId() == FLY_IN_CNTNT )
+ if ((rAnch.GetAnchorId() == FLY_AT_PAGE) ||
+ (rAnch.GetAnchorId() == FLY_AS_CHAR))
+ {
//Seitengebunde sind bereits verankert, zeichengebundene
//will ich hier nicht.
bRemove = TRUE;
+ }
else if ( FALSE == (bRemove = ::lcl_ObjConnected( pFmt )) ||
::lcl_InHeaderOrFooter( *pFmt ) )
{
@@ -1690,7 +1692,7 @@ void MA_FASTCALL _InsertCnt( SwLayoutFrm *pLay, SwDoc *pDoc,
delete pPageMaker;
if( pDoc->GetLayoutCache() )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#if OSL_DEBUG_LEVEL > 1
pDoc->GetLayoutCache()->CompareLayout( *pDoc );
#endif
@@ -2578,7 +2580,7 @@ void MA_FASTCALL lcl_RemoveObjsFromPage( SwFrm* _pFrm )
// --> OD 2004-11-29 #115759# - remove also drawing objects from page
else if ( pObj->ISA(SwAnchoredDrawObject) )
{
- if ( pObj->GetFrmFmt().GetAnchor().GetAnchorId() != FLY_IN_CNTNT )
+ if (pObj->GetFrmFmt().GetAnchor().GetAnchorId() != FLY_AS_CHAR)
{
pObj->GetPageFrm()->RemoveDrawObjFromPage(
*(static_cast<SwAnchoredDrawObject*>(pObj)) );
@@ -2746,7 +2748,7 @@ void MA_FASTCALL lcl_AddObjsToPage( SwFrm* _pFrm, SwPageFrm* _pPage )
// --> OD 2004-11-29 #115759# - remove also drawing objects from page
else if ( pObj->ISA(SwAnchoredDrawObject) )
{
- if ( pObj->GetFrmFmt().GetAnchor().GetAnchorId() != FLY_IN_CNTNT )
+ if (pObj->GetFrmFmt().GetAnchor().GetAnchorId() != FLY_AS_CHAR)
{
pObj->InvalidateObjPos();
_pPage->AppendDrawObjToPage(
@@ -3514,8 +3516,8 @@ const SwFrm* MA_FASTCALL FindPage( const SwRect &rRect, const SwFrm *pPage )
return pPage;
}
-SwFrm* GetFrmOfModify( SwModify& rMod, USHORT nFrmType, const Point* pPoint,
- const SwPosition *pPos, const BOOL bCalcFrm )
+SwFrm* GetFrmOfModify( SwModify const& rMod, USHORT const nFrmType,
+ const Point* pPoint, const SwPosition *pPos, const BOOL bCalcFrm )
{
SwFrm *pMinFrm = 0, *pTmpFrm;
SwRect aCalcRect;
diff --git a/sw/source/core/layout/ftnfrm.cxx b/sw/source/core/layout/ftnfrm.cxx
index be92d50f6a..4af8e3a86f 100644
--- a/sw/source/core/layout/ftnfrm.cxx
+++ b/sw/source/core/layout/ftnfrm.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ftnfrm.cxx,v $
- * $Revision: 1.36 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -356,7 +353,7 @@ SwTwips SwFtnContFrm::GrowFrm( SwTwips nDist, BOOL bTst, BOOL )
//moeglich.
//Wenn die Seite eine spezielle Fussnotenseite ist, so nehmen wir uns auch
//soviel Platz wie eben moeglich.
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if ( !GetUpper() || !GetUpper()->IsFtnBossFrm() )
{ ASSERT( !this, "Keine FtnBoss." );
return 0;
@@ -562,7 +559,7 @@ void SwFtnFrm::InvalidateNxtFtnCnts( SwPageFrm *pPage )
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
SwTwips SwFtnFrm::GrowFrm( SwTwips nDist, BOOL bTst, BOOL bInfo )
{
@@ -711,7 +708,7 @@ void SwFtnFrm::Paste( SwFrm* pParent, SwFrm* pSibling )
pDel->Cut();
delete pDel;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
SwDoc *pDoc = GetFmt()->GetDoc();
if ( GetPrev() )
{
@@ -1142,7 +1139,7 @@ SwFtnContFrm *SwFtnBossFrm::MakeFtnCont()
//immer direkt hinter dem Bodytext.
//Sein FrmFmt ist immer das DefaultFrmFmt.
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if ( FindFtnCont() )
{ ASSERT( !this, "Fussnotencontainer bereits vorhanden." );
return 0;
@@ -1171,7 +1168,7 @@ SwFtnContFrm *SwFtnBossFrm::FindFtnCont()
while( pFrm && !pFrm->IsFtnContFrm() )
pFrm = pFrm->GetNext();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if ( pFrm )
{
SwFrm *pFtn = pFrm->GetLower();
@@ -1416,7 +1413,7 @@ void SwFtnBossFrm::ResetFtn( const SwFtnFrm *pCheck )
void SwFtnBossFrm::InsertFtn( SwFtnFrm* pNew )
{
-#if (OSL_DEBUG_LEVEL > 1) && !defined(PRODUCT)
+#if (OSL_DEBUG_LEVEL > 1) && defined(DBG_UTIL)
static USHORT nStop = 0;
if ( nStop == pNew->GetFrmId() )
{
@@ -3278,7 +3275,7 @@ SwSaveFtnHeight::~SwSaveFtnHeight()
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
//JP 15.10.2001: in a non pro version test if the attribute has the same
// meaning which his reference is
diff --git a/sw/source/core/layout/hffrm.cxx b/sw/source/core/layout/hffrm.cxx
index c766427f4a..91b03d2994 100644
--- a/sw/source/core/layout/hffrm.cxx
+++ b/sw/source/core/layout/hffrm.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: hffrm.cxx,v $
- * $Revision: 1.27 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx
index 2718e15a6c..ea7fbdecaf 100644
--- a/sw/source/core/layout/layact.cxx
+++ b/sw/source/core/layout/layact.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: layact.cxx,v $
- * $Revision: 1.75 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -64,12 +61,12 @@
#include <ftnidx.hxx>
#include <vcl/window.hxx>
#include <vcl/svapp.hxx>
-#include <svx/opaqitem.hxx>
-#include <svx/brshitem.hxx>
+#include <editeng/opaqitem.hxx>
+#include <editeng/brshitem.hxx>
#include <SwSmartTagMgr.hxx>
#define _SVSTDARR_BOOLS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#define _LAYACT_CXX
#include "layact.hxx"
@@ -116,7 +113,7 @@
//Sparen von Schreibarbeit um den Zugriff auf zerstoerte Seiten zu vermeiden.
-#ifndef PRODUCT
+#ifdef DBG_UTIL
static void BreakPoint()
{
@@ -2808,7 +2805,7 @@ BOOL SwLayIdle::DoIdleJob( IdleJobType eJob, BOOL bVisAreaOnly )
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#if OSL_DEBUG_LEVEL > 1
/*************************************************************************
@@ -2857,7 +2854,7 @@ void SwLayIdle::ShowIdle( ColorData eColorData )
SwLayIdle::SwLayIdle( SwRootFrm *pRt, SwViewImp *pI ) :
pRoot( pRt ),
pImp( pI )
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#if OSL_DEBUG_LEVEL > 1
, bIndicator( FALSE )
#endif
@@ -3041,7 +3038,7 @@ SwLayIdle::SwLayIdle( SwRootFrm *pRt, SwViewImp *pI ) :
if( pImp->IsAccessible() )
pImp->FireAccessibleEvents();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#if OSL_DEBUG_LEVEL > 1
if ( bIndicator && pImp->GetShell()->GetWin() )
{
diff --git a/sw/source/core/layout/laycache.cxx b/sw/source/core/layout/laycache.cxx
index aff3c4e07e..58bd439634 100644
--- a/sw/source/core/layout/laycache.cxx
+++ b/sw/source/core/layout/laycache.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: laycache.cxx,v $
- * $Revision: 1.31 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
-#include <svx/brkitem.hxx>
+#include <editeng/brkitem.hxx>
#include <tools/stream.hxx>
#include <doc.hxx>
#include <docstat.hxx>
@@ -63,17 +60,16 @@
#include <sortedobjs.hxx>
// --> OD 2006-03-22 #b6375613#
#include <pam.hxx>
-#ifndef _DOCSH_HXX
#include <docsh.hxx>
-#endif
#include <com/sun/star/document/XDocumentInfoSupplier.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
+#include <set>
+
+
using namespace ::com::sun::star;
// <--
-#include <set>
-
SV_IMPL_PTRARR( SwPageFlyCache, SwFlyCachePtr )
/*-----------------28.5.2001 10:06------------------
@@ -348,7 +344,7 @@ void SwLayoutCache::Write( SvStream &rStream, const SwDoc& rDoc )
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
sal_Bool SwLayoutCache::CompareLayout( const SwDoc& rDoc ) const
{
sal_Bool bRet = sal_True;
@@ -696,8 +692,8 @@ bool lcl_HasTextFrmAnchoredObjs( SwTxtFrm* p_pTxtFrm )
SwFrmFmt *pFmt = (SwFrmFmt*)(*pSpzFrmFmts)[i];
const SwFmtAnchor &rAnch = pFmt->GetAnchor();
if ( rAnch.GetCntntAnchor() &&
- ( rAnch.GetAnchorId() == FLY_AT_CNTNT ||
- rAnch.GetAnchorId() == FLY_AUTO_CNTNT ) &&
+ ((rAnch.GetAnchorId() == FLY_AT_PARA) ||
+ (rAnch.GetAnchorId() == FLY_AT_CHAR)) &&
rAnch.GetCntntAnchor()->nNode.GetIndex() ==
p_pTxtFrm->GetTxtNode()->GetIndex() )
{
diff --git a/sw/source/core/layout/layhelp.hxx b/sw/source/core/layout/layhelp.hxx
index d488cfdbf4..5965d0b9ab 100644
--- a/sw/source/core/layout/layhelp.hxx
+++ b/sw/source/core/layout/layhelp.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: layhelp.hxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#define _SVSTDARR_ULONGS
#define _SVSTDARR_BYTES
#define _SVSTDARR_XUB_STRLEN
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#endif
#include <swrect.hxx>
diff --git a/sw/source/core/layout/layouter.cxx b/sw/source/core/layout/layouter.cxx
index ea3d8bfd91..a052a482e6 100644
--- a/sw/source/core/layout/layouter.cxx
+++ b/sw/source/core/layout/layouter.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: layouter.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -201,7 +198,7 @@ void SwLooping::Control( SwPageFrm* pPage )
}
else if( ++nCount > LOOP_DETECT )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#if OSL_DEBUG_LEVEL > 1
static BOOL bNoLouie = FALSE;
if( bNoLouie )
diff --git a/sw/source/core/layout/makefile.mk b/sw/source/core/layout/makefile.mk
index e2e8a2c282..7019203aa2 100644
--- a/sw/source/core/layout/makefile.mk
+++ b/sw/source/core/layout/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.20 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
@@ -105,12 +101,10 @@ SLOFILES = \
$(SLO)$/virtoutp.obj \
$(SLO)$/wsfrm.obj
-.IF "$(product)"==""
-.IF "$(cap)"==""
+.IF "$(dbgutil)"!=""
SLOFILES += \
$(SLO)$/dbg_lay.obj
.ENDIF
-.ENDIF
# --- Targets -------------------------------------------------------
diff --git a/sw/source/core/layout/movedfwdfrmsbyobjpos.cxx b/sw/source/core/layout/movedfwdfrmsbyobjpos.cxx
index 02c3c09efa..d894652e01 100644
--- a/sw/source/core/layout/movedfwdfrmsbyobjpos.cxx
+++ b/sw/source/core/layout/movedfwdfrmsbyobjpos.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: movedfwdfrmsbyobjpos.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/newfrm.cxx b/sw/source/core/layout/newfrm.cxx
index 8ccadcf1de..b8f04d8649 100644
--- a/sw/source/core/layout/newfrm.cxx
+++ b/sw/source/core/layout/newfrm.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: newfrm.cxx,v $
- * $Revision: 1.33 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -311,7 +308,7 @@ void _FrmInit()
{
SwRootFrm::pVout = new SwLayVout();
SwCache *pNew = new SwCache( 100, 100
-#ifndef PRODUCT
+#ifdef DBG_UTIL
, "static SwBorderAttrs::pCache"
#endif
);
@@ -322,7 +319,7 @@ void _FrmInit()
void _FrmFinit()
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// im Chache duerfen nur noch 0-Pointer stehen
for( USHORT n = SwFrm::GetCachePtr()->Count(); n; )
if( (*SwFrm::GetCachePtr())[ --n ] )
diff --git a/sw/source/core/layout/objectformatter.cxx b/sw/source/core/layout/objectformatter.cxx
index ded11f9796..3315fd5149 100644
--- a/sw/source/core/layout/objectformatter.cxx
+++ b/sw/source/core/layout/objectformatter.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: objectformatter.cxx,v $
- * $Revision: 1.14 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -338,7 +335,7 @@ void SwObjectFormatter::_FormatObj( SwAnchoredObject& _rAnchoredObj )
// check, if only as-character anchored object have to be formatted, and
// check the anchor type
if ( FormatOnlyAsCharAnchored() &&
- !_rAnchoredObj.GetFrmFmt().GetAnchor().GetAnchorId() == FLY_IN_CNTNT )
+ !(_rAnchoredObj.GetFrmFmt().GetAnchor().GetAnchorId() == FLY_AS_CHAR) )
{
return;
}
diff --git a/sw/source/core/layout/objectformatterlayfrm.cxx b/sw/source/core/layout/objectformatterlayfrm.cxx
index 5e64949073..e2ae6e0dec 100644
--- a/sw/source/core/layout/objectformatterlayfrm.cxx
+++ b/sw/source/core/layout/objectformatterlayfrm.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: objectformatterlayfrm.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/objectformatterlayfrm.hxx b/sw/source/core/layout/objectformatterlayfrm.hxx
index 70c71bafd1..2e0da29151 100644
--- a/sw/source/core/layout/objectformatterlayfrm.hxx
+++ b/sw/source/core/layout/objectformatterlayfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: objectformatterlayfrm.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/objectformattertxtfrm.cxx b/sw/source/core/layout/objectformattertxtfrm.cxx
index 2967d8a97a..9c044e11e0 100644
--- a/sw/source/core/layout/objectformattertxtfrm.cxx
+++ b/sw/source/core/layout/objectformattertxtfrm.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: objectformattertxtfrm.cxx,v $
- * $Revision: 1.24 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -136,7 +133,7 @@ bool SwObjectFormatterTxtFrm::DoFormatObj( SwAnchoredObject& _rAnchoredObj,
// check, if only as-character anchored object have to be formatted, and
// check the anchor type
if ( FormatOnlyAsCharAnchored() &&
- !_rAnchoredObj.GetFrmFmt().GetAnchor().GetAnchorId() == FLY_IN_CNTNT )
+ !(_rAnchoredObj.GetFrmFmt().GetAnchor().GetAnchorId() == FLY_AS_CHAR) )
{
return true;
}
@@ -656,8 +653,8 @@ bool SwObjectFormatterTxtFrm::CheckMovedFwdCondition(
// which will be on the next page.
if ( !bAnchorIsMovedForward &&
_bAnchoredAtMasterBeforeFormatAnchor &&
- ( _rAnchoredObj.GetFrmFmt().GetAnchor().GetAnchorId() == FLY_AUTO_CNTNT ||
- _rAnchoredObj.GetFrmFmt().GetAnchor().GetAnchorId() == FLY_AT_CNTNT ) )
+ ((_rAnchoredObj.GetFrmFmt().GetAnchor().GetAnchorId() == FLY_AT_CHAR) ||
+ (_rAnchoredObj.GetFrmFmt().GetAnchor().GetAnchorId() == FLY_AT_PARA)))
{
SwFrm* pAnchorFrm = _rAnchoredObj.GetAnchorFrmContainingAnchPos();
ASSERT( pAnchorFrm->IsTxtFrm(),
diff --git a/sw/source/core/layout/objectformattertxtfrm.hxx b/sw/source/core/layout/objectformattertxtfrm.hxx
index a4d8426011..1e509a0560 100644
--- a/sw/source/core/layout/objectformattertxtfrm.hxx
+++ b/sw/source/core/layout/objectformattertxtfrm.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: objectformattertxtfrm.hxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/objstmpconsiderwrapinfl.cxx b/sw/source/core/layout/objstmpconsiderwrapinfl.cxx
index 76bb81e40d..68589b67c5 100644
--- a/sw/source/core/layout/objstmpconsiderwrapinfl.cxx
+++ b/sw/source/core/layout/objstmpconsiderwrapinfl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: objstmpconsiderwrapinfl.cxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/objstmpconsiderwrapinfl.hxx b/sw/source/core/layout/objstmpconsiderwrapinfl.hxx
index f9843141bd..840066086b 100644
--- a/sw/source/core/layout/objstmpconsiderwrapinfl.hxx
+++ b/sw/source/core/layout/objstmpconsiderwrapinfl.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: objstmpconsiderwrapinfl.hxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx
index cf45cba307..ffb66ca020 100644
--- a/sw/source/core/layout/pagechg.cxx
+++ b/sw/source/core/layout/pagechg.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: pagechg.cxx,v $
- * $Revision: 1.57 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#include <com/sun/star/embed/EmbedStates.hpp>
#include <ndole.hxx>
#include <docary.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#include <fmtfsize.hxx>
#include <fmthdft.hxx>
#include <fmtclds.hxx>
@@ -46,9 +43,7 @@
#include <ftninfo.hxx>
#include <tgrditem.hxx>
#include <viewopt.hxx>
-#ifndef _DOCSH_HXX
#include <docsh.hxx>
-#endif
#include "viewimp.hxx"
#include "pagefrm.hxx"
@@ -76,7 +71,7 @@
#include "htmltbl.hxx"
#include "pagedesc.hxx"
#include "poolfmt.hxx"
-#include <svx/frmdiritem.hxx>
+#include <editeng/frmdiritem.hxx>
#include <swfntcch.hxx> // SwFontAccess
// OD 2004-05-24 #i28701#
#include <sortedobjs.hxx>
@@ -408,7 +403,7 @@ void MA_FASTCALL lcl_MakeObjs( const SwSpzFrmFmts &rTbl, SwPageFrm *pPage )
{
if( rAnch.GetCntntAnchor() )
{
- if( FLY_PAGE == rAnch.GetAnchorId() )
+ if (FLY_AT_PAGE == rAnch.GetAnchorId())
{
SwFmtAnchor aAnch( rAnch );
aAnch.SetAnchor( 0 );
@@ -1196,7 +1191,7 @@ void SwFrm::CheckPageDescs( SwPageFrm *pStart, BOOL bNotifyFields )
if ( pPage->GetFmt() != pFmtWish )
pPage->SetFrmFmt( pFmtWish );
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
{
ASSERT( FALSE, "CheckPageDescs, missing solution" );
@@ -1239,7 +1234,7 @@ void SwFrm::CheckPageDescs( SwPageFrm *pStart, BOOL bNotifyFields )
pDoc->UpdatePageFlds( &aMsgHnt );
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
//Ein paar Pruefungen muessen schon erlaubt sein.
//1. Keine zwei EmptyPages hintereinander.
@@ -1659,7 +1654,7 @@ void SwRootFrm::AssertPageFlys( SwPageFrm *pPage )
SwFrmFmt& rFmt = (*pPage->GetSortedObjs())[i]->GetFrmFmt();
const SwFmtAnchor &rAnch = rFmt.GetAnchor();
const USHORT nPg = rAnch.GetPageNum();
- if ( rAnch.GetAnchorId() == FLY_PAGE &&
+ if ((rAnch.GetAnchorId() == FLY_AT_PAGE) &&
nPg != pPage->GetPhyPageNum() )
{
//Das er auf der falschen Seite steht muss noch nichts
@@ -1670,7 +1665,7 @@ void SwRootFrm::AssertPageFlys( SwPageFrm *pPage )
{
//Umhaengen kann er sich selbst, indem wir ihm
//einfach ein Modify mit seinem AnkerAttr schicken.
-#ifdef PRODUCT
+#ifndef DBG_UTIL
rFmt.SwModify::Modify( 0, (SwFmtAnchor*)&rAnch );
#else
const sal_uInt32 nCnt = pPage->GetSortedObjs()->Count();
@@ -1834,11 +1829,11 @@ void SwRootFrm::ImplCalcBrowseWidth()
long nWidth = 0;
switch ( rFmt.GetAnchor().GetAnchorId() )
{
- case FLY_IN_CNTNT:
+ case FLY_AS_CHAR:
nWidth = bFly ? rFmt.GetFrmSize().GetWidth() :
pAnchoredObj->GetObjRect().Width();
break;
- case FLY_AT_CNTNT:
+ case FLY_AT_PARA:
{
// --> FME 2004-09-13 #i33170#
// Reactivated old code because
@@ -2007,7 +2002,7 @@ void lcl_MoveAllLowerObjs( SwFrm* pFrm, const Point& rOffset )
// all except from the as character anchored objects are moved
// when processing the page frame:
- const bool bAsChar = rAnchor.GetAnchorId() == FLY_IN_CNTNT;
+ const bool bAsChar = (rAnchor.GetAnchorId() == FLY_AS_CHAR);
if ( !bPage && !bAsChar )
continue;
diff --git a/sw/source/core/layout/pagedesc.cxx b/sw/source/core/layout/pagedesc.cxx
index f47ee65f12..4f4d8f6d37 100644
--- a/sw/source/core/layout/pagedesc.cxx
+++ b/sw/source/core/layout/pagedesc.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: pagedesc.cxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,13 +31,13 @@
#include <hintids.hxx>
-#include <svx/pbinitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/shaditem.hxx>
-#include <svx/lrspitem.hxx>
-#include "svx/frmdiritem.hxx"
+#include <editeng/pbinitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/shaditem.hxx>
+#include <editeng/lrspitem.hxx>
+#include "editeng/frmdiritem.hxx"
#include <fmtclds.hxx>
#include <fmtfsize.hxx>
#include <frmatr.hxx>
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index 34b94415d5..d4ce26c6ae 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: paintfrm.cxx,v $
- * $Revision: 1.121.110.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -41,14 +38,14 @@
#endif
#include <tools/poly.hxx>
#define _SVSTDARR_LONGS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <svx/xoutbmp.hxx>
#include <sfx2/progress.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/opaqitem.hxx>
-#include <svx/prntitem.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/shaditem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/opaqitem.hxx>
+#include <editeng/prntitem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/shaditem.hxx>
// --> collapsing borders FME 2005-05-27 #i29550#
#include <svx/framelink.hxx>
// <--
@@ -557,7 +554,7 @@ void SwLineRects::ConnectEdges( OutputDevice *pOut )
(nL1b <= nL2b && nL1c + nAdd > nL2b)) )
{
SwLineRect *pMSC = &rL2;
- aCheck.Insert( (void*&)pMSC, aCheck.Count() );
+ aCheck.Insert( pMSC, aCheck.Count() );
}
}
if ( aCheck.Count() < 2 )
@@ -1366,7 +1363,7 @@ void MA_FASTCALL lcl_SubtractFlys( const SwFrm *pFrm, const SwPageFrm *pPage,
continue;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
//Flys, die innerhalb des eigenen verankert sind, muessen eine
//groessere OrdNum haben oder Zeichengebunden sein.
if ( pSelfFly && bLowerOfSelf )
@@ -1639,8 +1636,7 @@ void lcl_DrawGraphic( const SvxBrushItem& rBrush, OutputDevice *pOut,
//Hier kein Link, wir wollen die Grafik synchron laden!
((SvxBrushItem&)rBrush).SetDoneLink( Link() );
- GraphicObject *pGrf = (GraphicObject*)rBrush.GetGraphicObject(
- GETOBJSHELL() );
+ GraphicObject *pGrf = (GraphicObject*)rBrush.GetGraphicObject();
/// OD 17.10.2002 #103876# - outsourcing drawing of background with a background color.
::lcl_DrawGraphicBackgrd( rBrush, pOut, aAlignedGrfRect, *pGrf, bGrfNum, bBackgrdAlreadyDrawn );
@@ -1686,8 +1682,8 @@ void MA_FASTCALL DrawGraphic( const SvxBrushItem *pBrush,
else
((SvxBrushItem*)pBrush)->SetDoneLink( STATIC_LINK(
rSh.GetDoc(), SwDoc, BackgroundDone ) );
- SfxObjectShell &rObjSh = *GETOBJSHELL();
- const Graphic* pGrf = pBrush->GetGraphic( &rObjSh );
+ //SfxObjectShell &rObjSh = *GETOBJSHELL();
+ const Graphic* pGrf = pBrush->GetGraphic();
if( pGrf && GRAPHIC_NONE != pGrf->GetType() )
{
ePos = pBrush->GetGraphicPos();
@@ -1767,7 +1763,7 @@ void MA_FASTCALL DrawGraphic( const SvxBrushItem *pBrush,
// OD 17.10.2002 #103876# - draw background of tiled graphic
// before drawing tiled graphic in loop
// determine graphic object
- GraphicObject* pGraphicObj = const_cast< GraphicObject* >(pBrush->GetGraphicObject( GETOBJSHELL() ));
+ GraphicObject* pGraphicObj = const_cast< GraphicObject* >(pBrush->GetGraphicObject());
// calculate aligned paint rectangle
SwRect aAlignedPaintRect = rOut;
::SwAlignRect( aAlignedPaintRect, &rSh );
@@ -1857,8 +1853,7 @@ void MA_FASTCALL DrawGraphic( const SvxBrushItem *pBrush,
(ePos != GPOS_TILED) && (ePos != GPOS_AREA)
)
{
- GraphicObject *pGrf = (GraphicObject*)pBrush->GetGraphicObject(
- GETOBJSHELL() );
+ GraphicObject *pGrf = (GraphicObject*)pBrush->GetGraphicObject();
if ( bConsiderBackgroundTransparency )
{
GraphicAttr pGrfAttr = pGrf->GetAttr();
@@ -2052,7 +2047,7 @@ void lcl_AdjustRectToPixelSize( SwRect& io_aSwRect, const OutputDevice &aOut )
io_aSwRect = SwRect( aSizedRect );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
Rectangle aTestOrgPxRect = aOut.LogicToPixel( io_aSwRect.SVRect() );
Rectangle aTestNewPxRect = aOut.LogicToPixel( aSizedRect );
ASSERT( aTestOrgPxRect == aTestNewPxRect,
@@ -2740,7 +2735,7 @@ void SwTabFrmPainter::Insert( SwLineEntry& rNew, bool bHori )
|*
|*************************************************************************/
-void SwRootFrm::Paint( const SwRect& rRect ) const
+void SwRootFrm::Paint( const SwRect& rRect, const SwPrtOptions *pPrintData ) const
{
ASSERT( Lower() && Lower()->IsPageFrm(), "Lower der Root keine Seite." );
@@ -2939,7 +2934,7 @@ void SwRootFrm::Paint( const SwRect& rRect ) const
// OD 29.08.2002 #102450# - add 3rd parameter
// OD 09.12.2002 #103045# - add 4th parameter for horizontal text direction.
const IDocumentDrawModelAccess* pIDDMA = pSh->getIDocumentDrawModelAccess();
- pSh->Imp()->PaintLayer( pIDDMA->GetHellId(), aPaintRect,
+ pSh->Imp()->PaintLayer( pIDDMA->GetHellId(), pPrintData, aPaintRect,
&aPageBackgrdColor, (pPage->IsRightToLeft() ? true : false) );
pLines->PaintLines( pSh->GetOut() );
pLines->LockLines( FALSE );
@@ -2972,7 +2967,7 @@ void SwRootFrm::Paint( const SwRect& rRect ) const
{
/// OD 29.08.2002 #102450# - add 3rd parameter
// OD 09.12.2002 #103045# - add 4th parameter for horizontal text direction.
- pSh->Imp()->PaintLayer( pSh->GetDoc()->GetHeavenId(), aPaintRect,
+ pSh->Imp()->PaintLayer( pSh->GetDoc()->GetHeavenId(), pPrintData, aPaintRect,
&aPageBackgrdColor,
(pPage->IsRightToLeft() ? true : false) );
}
@@ -3190,7 +3185,7 @@ SwShortCut::SwShortCut( const SwFrm& rFrm, const SwRect& rRect )
}
}
-void SwLayoutFrm::Paint( const SwRect& rRect ) const
+void SwLayoutFrm::Paint( const SwRect& rRect, const SwPrtOptions* /* pPrintData */ ) const
{
ViewShell *pSh = GetShell();
@@ -3478,7 +3473,7 @@ BOOL SwFlyFrm::IsPaint( SdrObject *pObj, const ViewShell *pSh )
/*************************************************************************
|* SwCellFrm::Paint( const SwRect& ) const
|*************************************************************************/
-void SwCellFrm::Paint( const SwRect& rRect ) const
+void SwCellFrm::Paint( const SwRect& rRect, const SwPrtOptions* /* pPrintData */ ) const
{
if ( GetLayoutRowSpan() >= 1 )
SwLayoutFrm::Paint( rRect );
@@ -3497,7 +3492,7 @@ void SwCellFrm::Paint( const SwRect& rRect ) const
void MA_FASTCALL lcl_PaintLowerBorders( const SwLayoutFrm *pLay,
const SwRect &rRect, const SwPageFrm *pPage );
-void SwFlyFrm::Paint( const SwRect& rRect ) const
+void SwFlyFrm::Paint( const SwRect& rRect, const SwPrtOptions* /* pPrintData */ ) const
{
//wegen der Ueberlappung von Rahmen und Zeichenobjekten muessen die
//Flys ihre Umrandung (und die der Innenliegenden) direkt ausgeben.
@@ -3732,7 +3727,7 @@ void SwFlyFrm::Paint( const SwRect& rRect ) const
|*
|*************************************************************************/
-void SwTabFrm::Paint( const SwRect& rRect ) const
+void SwTabFrm::Paint( const SwRect& rRect, const SwPrtOptions* /* pPrintData */ ) const
{
if ( pGlobalShell->GetViewOptions()->IsTable() )
{
@@ -6438,10 +6433,10 @@ void SwFrm::Retouche( const SwPageFrm * pPage, const SwRect &rRect ) const
// OD 09.12.2002 #103045# - add 4th parameter for horizontal text direction.
const IDocumentDrawModelAccess* pIDDMA = pSh->getIDocumentDrawModelAccess();
- pSh->Imp()->PaintLayer( pIDDMA->GetHellId(),
+ pSh->Imp()->PaintLayer( pIDDMA->GetHellId(), 0,
aRetouchePart, &aPageBackgrdColor,
(pPage->IsRightToLeft() ? true : false) );
- pSh->Imp()->PaintLayer( pIDDMA->GetHeavenId(),
+ pSh->Imp()->PaintLayer( pIDDMA->GetHeavenId(), 0,
aRetouchePart, &aPageBackgrdColor,
(pPage->IsRightToLeft() ? true : false) );
}
@@ -6691,14 +6686,14 @@ Graphic SwFlyFrmFmt::MakeGraphic( ImageMap* pMap )
// OD 30.08.2002 #102450# - add 3rd parameter
// OD 09.12.2002 #103045# - add 4th parameter for horizontal text direction.
const IDocumentDrawModelAccess* pIDDMA = pSh->getIDocumentDrawModelAccess();
- pImp->PaintLayer( pIDDMA->GetHellId(), aOut, &aPageBackgrdColor,
+ pImp->PaintLayer( pIDDMA->GetHellId(), 0, aOut, &aPageBackgrdColor,
(pFlyPage->IsRightToLeft() ? true : false) );
pLines->PaintLines( &aDev );
if ( pFly->IsFlyInCntFrm() )
pFly->Paint( aOut );
pLines->PaintLines( &aDev );
/// OD 30.08.2002 #102450# - add 3rd parameter
- pImp->PaintLayer( pIDDMA->GetHeavenId(), aOut, &aPageBackgrdColor,
+ pImp->PaintLayer( pIDDMA->GetHeavenId(), 0, aOut, &aPageBackgrdColor,
(pFlyPage->IsRightToLeft() ? true : false) );
pLines->PaintLines( &aDev );
DELETEZ( pLines );
diff --git a/sw/source/core/layout/sectfrm.cxx b/sw/source/core/layout/sectfrm.cxx
index 1c53fea46d..35151e36c6 100644
--- a/sw/source/core/layout/sectfrm.cxx
+++ b/sw/source/core/layout/sectfrm.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: sectfrm.cxx,v $
- * $Revision: 1.55 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,7 +29,7 @@
#include "precompiled_sw.hxx"
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#include <hints.hxx>
#include <txtftn.hxx>
#include <fmtftn.hxx>
@@ -58,9 +55,9 @@
#include "dbg_lay.hxx"
#include "viewsh.hxx"
#include "viewimp.hxx"
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/brshitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/brshitem.hxx>
#include <fmtftntx.hxx>
// OD 2004-05-24 #i28701#
#include <dflyobj.hxx>
@@ -2781,7 +2778,7 @@ void SwRootFrm::_RemoveFromList( SwSectionFrm* pSct )
pDestroy->Remove( nPos );
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
BOOL SwRootFrm::IsInDelList( SwSectionFrm* pSct ) const
{
diff --git a/sw/source/core/layout/softpagebreak.cxx b/sw/source/core/layout/softpagebreak.cxx
index 40ac959ee0..c9f231762d 100644
--- a/sw/source/core/layout/softpagebreak.cxx
+++ b/sw/source/core/layout/softpagebreak.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: softpagebreak.cxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/sortedobjs.cxx b/sw/source/core/layout/sortedobjs.cxx
index 0305978cb3..03279e7410 100644
--- a/sw/source/core/layout/sortedobjs.cxx
+++ b/sw/source/core/layout/sortedobjs.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: sortedobjs.cxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/sortedobjsimpl.cxx b/sw/source/core/layout/sortedobjsimpl.cxx
index bd4e128dc4..e9374704b7 100644
--- a/sw/source/core/layout/sortedobjsimpl.cxx
+++ b/sw/source/core/layout/sortedobjsimpl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: sortedobjsimpl.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -41,17 +38,14 @@
#include <ndtxt.hxx>
#include <fmtsrnd.hxx>
#include <fmtwrapinfluenceonobjpos.hxx>
-#ifndef IDOCUMENTDRAWMODELACCESS_HXX_INCLUDED
#include <IDocumentDrawModelAccess.hxx>
-#endif
+
using namespace ::com::sun::star;
typedef std::vector< SwAnchoredObject* >::iterator tIter;
typedef std::vector< SwAnchoredObject* >::const_iterator tConstIter;
-using namespace ::com::sun::star;
-
SwSortedObjsImpl::SwSortedObjsImpl()
{
@@ -96,36 +90,36 @@ struct ObjAnchorOrder
const SwFmtAnchor* pAnchorNew = &(rFmtNew.GetAnchor());
// check for to-page anchored objects
- if ( pAnchorListed->GetAnchorId() == FLY_PAGE &&
- pAnchorNew->GetAnchorId() != FLY_PAGE )
+ if ((pAnchorListed->GetAnchorId() == FLY_AT_PAGE) &&
+ (pAnchorNew ->GetAnchorId() != FLY_AT_PAGE))
{
return true;
}
- else if ( pAnchorListed->GetAnchorId() != FLY_PAGE &&
- pAnchorNew->GetAnchorId() == FLY_PAGE )
+ else if ((pAnchorListed->GetAnchorId() != FLY_AT_PAGE) &&
+ (pAnchorNew ->GetAnchorId() == FLY_AT_PAGE))
{
return false;
}
- else if ( pAnchorListed->GetAnchorId() == FLY_PAGE &&
- pAnchorNew->GetAnchorId() == FLY_PAGE )
+ else if ((pAnchorListed->GetAnchorId() == FLY_AT_PAGE) &&
+ (pAnchorNew ->GetAnchorId() == FLY_AT_PAGE))
{
return pAnchorListed->GetOrder() < pAnchorNew->GetOrder();
}
// Both objects aren't anchored to page.
// Thus, check for to-fly anchored objects
- if ( pAnchorListed->GetAnchorId() == FLY_AT_FLY &&
- pAnchorNew->GetAnchorId() != FLY_AT_FLY )
+ if ((pAnchorListed->GetAnchorId() == FLY_AT_FLY) &&
+ (pAnchorNew ->GetAnchorId() != FLY_AT_FLY))
{
return true;
}
- else if ( pAnchorListed->GetAnchorId() != FLY_AT_FLY &&
- pAnchorNew->GetAnchorId() == FLY_AT_FLY )
+ else if ((pAnchorListed->GetAnchorId() != FLY_AT_FLY) &&
+ (pAnchorNew ->GetAnchorId() == FLY_AT_FLY))
{
return false;
}
- else if ( pAnchorListed->GetAnchorId() == FLY_AT_FLY &&
- pAnchorNew->GetAnchorId() == FLY_AT_FLY )
+ else if ((pAnchorListed->GetAnchorId() == FLY_AT_FLY) &&
+ (pAnchorNew ->GetAnchorId() == FLY_AT_FLY))
{
return pAnchorListed->GetOrder() < pAnchorNew->GetOrder();
}
@@ -144,21 +138,21 @@ struct ObjAnchorOrder
// --> OD 2006-11-29 #???# - objects have to be ordered by anchor node position
// Thus, compare content anchor node positions and anchor type,
// if not anchored at-paragraph
- if ( pAnchorListed->GetAnchorId() != FLY_AT_CNTNT &&
- pAnchorNew->GetAnchorId() != FLY_AT_CNTNT &&
+ if ((pAnchorListed->GetAnchorId() != FLY_AT_PARA) &&
+ (pAnchorNew ->GetAnchorId() != FLY_AT_PARA) &&
pCntntAnchorListed && pCntntAnchorNew )
{
if ( pCntntAnchorListed->nContent != pCntntAnchorNew->nContent )
{
return pCntntAnchorListed->nContent < pCntntAnchorNew->nContent;
}
- else if ( pAnchorListed->GetAnchorId() == FLY_AUTO_CNTNT &&
- pAnchorNew->GetAnchorId() == FLY_IN_CNTNT )
+ else if ((pAnchorListed->GetAnchorId() == FLY_AT_CHAR) &&
+ (pAnchorNew ->GetAnchorId() == FLY_AS_CHAR))
{
return true;
}
- else if ( pAnchorListed->GetAnchorId() == FLY_IN_CNTNT &&
- pAnchorNew->GetAnchorId() == FLY_AUTO_CNTNT )
+ else if ((pAnchorListed->GetAnchorId() == FLY_AS_CHAR) &&
+ (pAnchorNew ->GetAnchorId() == FLY_AT_CHAR))
{
return false;
}
diff --git a/sw/source/core/layout/ssfrm.cxx b/sw/source/core/layout/ssfrm.cxx
index 736070142c..b9a6365435 100644
--- a/sw/source/core/layout/ssfrm.cxx
+++ b/sw/source/core/layout/ssfrm.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ssfrm.cxx,v $
- * $Revision: 1.51 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -51,8 +48,8 @@
#include <ndindex.hxx>
#include <frmtool.hxx>
#include <pagedesc.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/shaditem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/shaditem.hxx>
#include <fmtclds.hxx>
#include <viewsh.hxx>
#include <viewimp.hxx>
@@ -411,7 +408,7 @@ SwFrm::~SwFrm()
delete pDrawObjs;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// JP 15.10.2001: for detection of access to deleted frames
pDrawObjs = (SwSortedObjs*)0x33333333;
#endif
diff --git a/sw/source/core/layout/swselectionlist.cxx b/sw/source/core/layout/swselectionlist.cxx
index 50a149cb74..3ed327cd0d 100644
--- a/sw/source/core/layout/swselectionlist.cxx
+++ b/sw/source/core/layout/swselectionlist.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swselectionlist.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
index 0ba077e799..2e9ed33e49 100644
--- a/sw/source/core/layout/tabfrm.cxx
+++ b/sw/source/core/layout/tabfrm.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tabfrm.cxx,v $
- * $Revision: 1.105.58.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -48,18 +45,16 @@
#include "dbg_lay.hxx"
#include <ftnidx.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#include <docary.hxx>
-#include <svx/keepitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/brshitem.hxx>
+#include <editeng/keepitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/brshitem.hxx>
// --> collapsing borders FME 2005-05-27 #i29550#
-#include <svx/boxitem.hxx>
+#include <editeng/boxitem.hxx>
// <--
-#ifndef _OUTDEV_HXX //autogen
#include <vcl/outdev.hxx>
-#endif
#include <fmtlsplt.hxx>
#include <fmtrowsplt.hxx>
#include <fmtsrnd.hxx>
@@ -340,7 +335,7 @@ void lcl_InvalidateLowerObjs( SwLayoutFrm& _rLayoutFrm,
pAnchoredObj->ClearCharRectAndTopOfLine();
pAnchoredObj->SetCurrRelPos( Point( 0, 0 ) );
if ( pAnchoredObj->GetFrmFmt().GetAnchor().GetAnchorId()
- == FLY_IN_CNTNT )
+ == FLY_AS_CHAR )
{
pAnchoredObj->AnchorFrm()
->Prepare( PREP_FLY_ATTR_CHG,
@@ -3650,7 +3645,7 @@ SwCntntFrm *SwTabFrm::FindLastCntnt()
// Spalten abklappern, dies erledigt SwSectionFrm::FindLastCntnt
if( pRet->IsColBodyFrm() )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
SwSectionFrm* pSect = pRet->FindSctFrm();
ASSERT( pSect, "Wo kommt denn die Spalte her?")
ASSERT( IsAnLower( pSect ), "Gespaltene Zelle?" );
@@ -4194,7 +4189,7 @@ long MA_FASTCALL CalcHeightWidthFlys( const SwFrm *pFrm )
// the text flow have to be considered.
const SwFrmFmt& rFrmFmt = pAnchoredObj->GetFrmFmt();
const bool bConsiderObj =
- rFrmFmt.GetAnchor().GetAnchorId() != FLY_IN_CNTNT &&
+ (rFrmFmt.GetAnchor().GetAnchorId() != FLY_AS_CHAR) &&
pAnchoredObj->GetObjRect().Top() != WEIT_WECH &&
rFrmFmt.GetFollowTextFlow().GetValue() &&
pAnchoredObj->GetPageFrm() == pTmp->FindPageFrm();
@@ -4617,7 +4612,7 @@ void SwRowFrm::Format( const SwBorderAttrs *pAttrs )
{
bValidSize = TRUE;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if ( HasFixSize() )
{
const SwFmtFrmSize &rFrmSize = GetFmt()->GetFrmSize();
@@ -5222,7 +5217,7 @@ BOOL lcl_ArrangeLowers( SwLayoutFrm *pLay, long lYStart, BOOL bInva )
!( pTabFrm->IsFollow() &&
pTabFrm->FindMaster()->IsRebuildLastLine() ) &&
!pAnchoredObj->GetFrmFmt().GetAnchor().GetAnchorId()
- == FLY_IN_CNTNT )
+ == FLY_AS_CHAR )
{
SwPageFrm* pPageFrm = pAnchoredObj->GetPageFrm();
SwPageFrm* pPageOfAnchor = pFrm->FindPageFrm();
diff --git a/sw/source/core/layout/trvlfrm.cxx b/sw/source/core/layout/trvlfrm.cxx
index 0e7256351a..380a6bfba2 100644
--- a/sw/source/core/layout/trvlfrm.cxx
+++ b/sw/source/core/layout/trvlfrm.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: trvlfrm.cxx,v $
- * $Revision: 1.63 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,7 +32,7 @@
#include <hintids.hxx>
#include <hints.hxx>
#include <tools/bigint.hxx>
-#include <svx/protitem.hxx>
+#include <editeng/protitem.hxx>
#include <vcl/settings.hxx>
#include <vcl/outdev.hxx>
#include <fmtpdsc.hxx>
@@ -1286,7 +1283,7 @@ const SwCntntFrm *SwLayoutFrm::GetCntntPos( Point& rPoint,
break;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( pActual, "Keinen Cntnt gefunden." );
if ( bBodyOnly )
ASSERT( pActual->IsInDocBody(), "Cnt nicht im Body." );
diff --git a/sw/source/core/layout/unusedf.cxx b/sw/source/core/layout/unusedf.cxx
index d501f6ea5d..1c5d00a744 100644
--- a/sw/source/core/layout/unusedf.cxx
+++ b/sw/source/core/layout/unusedf.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unusedf.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -44,7 +41,7 @@ void SwFrm::Format( const SwBorderAttrs * )
ASSERT( FALSE, "Format() der Basisklasse gerufen." );
}
-void SwFrm::Paint(const SwRect &) const
+void SwFrm::Paint(const SwRect &, const SwPrtOptions * ) const
{
ASSERT( FALSE, "Paint() der Basisklasse gerufen." );
}
@@ -67,7 +64,7 @@ BOOL SwFrm::GetCrsrOfst( SwPosition *, Point&, SwCrsrMoveState* ) const
return FALSE;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
void SwRootFrm::Cut()
{
diff --git a/sw/source/core/layout/virtoutp.cxx b/sw/source/core/layout/virtoutp.cxx
index d7fef3a404..f82dfa2ab4 100644
--- a/sw/source/core/layout/virtoutp.cxx
+++ b/sw/source/core/layout/virtoutp.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: virtoutp.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -42,7 +39,7 @@
// OD 12.11.2002 #96272# - include declaration for <SetMappingForVirtDev>
#include "setmapvirtdev.hxx"
-#ifndef PRODUCT
+#ifdef DBG_UTIL
/*************************************************************************
* class DbgRect
@@ -186,7 +183,7 @@ void SwLayVout::Enter( ViewShell *pShell, SwRect &rRect, BOOL bOn )
{
Flush();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( pShell->GetViewOptions()->IsTest3() )
{
++nCount;
diff --git a/sw/source/core/layout/virtoutp.hxx b/sw/source/core/layout/virtoutp.hxx
index 96c020640f..378e44b78a 100644
--- a/sw/source/core/layout/virtoutp.hxx
+++ b/sw/source/core/layout/virtoutp.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: virtoutp.hxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/layout/wsfrm.cxx b/sw/source/core/layout/wsfrm.cxx
index d00d3e3459..acd09ae153 100644
--- a/sw/source/core/layout/wsfrm.cxx
+++ b/sw/source/core/layout/wsfrm.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: wsfrm.cxx,v $
- * $Revision: 1.86.124.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,13 +32,11 @@
#include <hintids.hxx>
#include <hints.hxx>
#include <tools/pstm.hxx>
-#ifndef _OUTDEV_HXX
#include <vcl/outdev.hxx>
-#endif
-#include <svtools/itemiter.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/keepitem.hxx>
-#include <svx/brkitem.hxx>
+#include <svl/itemiter.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/keepitem.hxx>
+#include <editeng/brkitem.hxx>
#include <fmtornt.hxx>
#include <pagefrm.hxx>
#include <section.hxx>
@@ -52,9 +47,7 @@
#include <viewimp.hxx>
#include <doc.hxx>
#include <fesh.hxx>
-#ifndef _DOCSH_HXX
#include <docsh.hxx>
-#endif
#include <flyfrm.hxx>
#include <frmtool.hxx>
#include <ftninfo.hxx>
@@ -77,12 +70,14 @@
#include <bodyfrm.hxx>
#include <cellfrm.hxx>
#include <dbg_lay.hxx>
-#include <svx/frmdiritem.hxx>
+#include <editeng/frmdiritem.hxx>
// OD 2004-05-24 #i28701#
#include <sortedobjs.hxx>
+
using namespace ::com::sun::star;
+
/*************************************************************************
|*
|* SwFrm::SwFrm()
@@ -101,8 +96,13 @@ SwFrm::SwFrm( SwModify *pMod ) :
pNext( 0 ),
pPrev( 0 ),
pDrawObjs( 0 )
+ , bInfBody( FALSE )
+ , bInfTab ( FALSE )
+ , bInfFly ( FALSE )
+ , bInfFtn ( FALSE )
+ , bInfSct ( FALSE )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
bFlag01 = bFlag02 = bFlag03 = bFlag04 = bFlag05 = 0;
#endif
@@ -3866,7 +3866,7 @@ void lcl_InvalidateCntnt( SwCntntFrm *pCnt, BYTE nInv )
if( pLastSctCnt == pCnt )
pLastSctCnt = NULL;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
ASSERT( !pLastSctCnt, "Where's the last SctCntnt?" );
#endif
@@ -3894,7 +3894,7 @@ void lcl_InvalidateCntnt( SwCntntFrm *pCnt, BYTE nInv )
pLastSctCnt = NULL;
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
ASSERT( !pLastTabCnt, "Where's the last TabCntnt?" );
#endif
@@ -3999,8 +3999,8 @@ void SwRootFrm::InvalidateAllObjPos()
{
SwAnchoredObject* pAnchoredObj = rObjs[i];
const SwFmtAnchor& rAnch = pAnchoredObj->GetFrmFmt().GetAnchor();
- if ( rAnch.GetAnchorId() != FLY_AT_CNTNT &&
- rAnch.GetAnchorId() != FLY_AUTO_CNTNT )
+ if ((rAnch.GetAnchorId() != FLY_AT_PARA) &&
+ (rAnch.GetAnchorId() != FLY_AT_CHAR))
{
// only to paragraph and to character anchored objects are considered.
continue;
diff --git a/sw/source/core/makefile.mk b/sw/source/core/makefile.mk
index d9ea1102e3..2701445fb8 100644
--- a/sw/source/core/makefile.mk
+++ b/sw/source/core/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.15 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
@@ -73,7 +69,7 @@ SUBLIBS3= \
$(SLB)$/SwNumberTree.lib \
$(SLB)$/tablecore.lib
-.IF "$(PRODUCT)" == ""
+.IF "$(dbgutil)"!=""
SUBLIBS3+= \
$(SLB)$/except.lib
.ENDIF
diff --git a/sw/source/core/objectpositioning/anchoredobjectposition.cxx b/sw/source/core/objectpositioning/anchoredobjectposition.cxx
index 4b1b751fa7..ce96a8809c 100644
--- a/sw/source/core/objectpositioning/anchoredobjectposition.cxx
+++ b/sw/source/core/objectpositioning/anchoredobjectposition.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: anchoredobjectposition.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -49,8 +46,8 @@
// --> OD 2006-03-15 #i62875#
#include <fmtfollowtextflow.hxx>
// <--
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
#include <ndtxt.hxx>
#include <IDocumentSettingAccess.hxx>
diff --git a/sw/source/core/objectpositioning/ascharanchoredobjectposition.cxx b/sw/source/core/objectpositioning/ascharanchoredobjectposition.cxx
index 40f0c5d727..f8b2db9b55 100644
--- a/sw/source/core/objectpositioning/ascharanchoredobjectposition.cxx
+++ b/sw/source/core/objectpositioning/ascharanchoredobjectposition.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ascharanchoredobjectposition.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -40,8 +37,8 @@
#include <dcontact.hxx>
#include <frmfmt.hxx>
#include <frmatr.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
#include <fmtornt.hxx>
#include <com/sun/star/text/HoriOrientation.hpp>
diff --git a/sw/source/core/objectpositioning/environmentofanchoredobject.cxx b/sw/source/core/objectpositioning/environmentofanchoredobject.cxx
index 01119a9ba3..516e64c2ea 100644
--- a/sw/source/core/objectpositioning/environmentofanchoredobject.cxx
+++ b/sw/source/core/objectpositioning/environmentofanchoredobject.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: environmentofanchoredobject.cxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/objectpositioning/makefile.mk b/sw/source/core/objectpositioning/makefile.mk
index 41a695581b..4192414d9b 100644
--- a/sw/source/core/objectpositioning/makefile.mk
+++ b/sw/source/core/objectpositioning/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.4 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx b/sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx
index b052e2e652..01bf45871b 100644
--- a/sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx
+++ b/sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tocntntanchoredobjectposition.cxx,v $
- * $Revision: 1.23 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -45,15 +42,11 @@
#include <fmtfsize.hxx>
#include <fmtanchr.hxx>
#include <fmtornt.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
-#ifndef _SVX_SVDOBJ_HXX
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
#include <svx/svdobj.hxx>
-#endif
#include <pam.hxx>
-#ifndef _ENVIRONMENTOFANCHOREDOBJECT
#include <environmentofanchoredobject.hxx>
-#endif
#include <frmtool.hxx>
#include <ndtxt.hxx>
#include <dflyobj.hxx>
@@ -209,7 +202,7 @@ void SwToCntntAnchoredObjectPosition::CalcPosition()
{
// if object is at-character anchored, determine character-rectangle
// and frame, position has to be oriented at.
- mbAnchorToChar = FLY_AUTO_CNTNT == rFrmFmt.GetAnchor().GetAnchorId();
+ mbAnchorToChar = (FLY_AT_CHAR == rFrmFmt.GetAnchor().GetAnchorId());
if ( mbAnchorToChar )
{
const SwFmtAnchor& rAnch = rFrmFmt.GetAnchor();
diff --git a/sw/source/core/objectpositioning/tolayoutanchoredobjectposition.cxx b/sw/source/core/objectpositioning/tolayoutanchoredobjectposition.cxx
index 99a5cf2a6d..4dfadf0222 100644
--- a/sw/source/core/objectpositioning/tolayoutanchoredobjectposition.cxx
+++ b/sw/source/core/objectpositioning/tolayoutanchoredobjectposition.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tolayoutanchoredobjectposition.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -43,8 +40,8 @@
#include <fmtsrnd.hxx>
#include <IDocumentSettingAccess.hxx>
#include <frmatr.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
using namespace objectpositioning;
using namespace ::com::sun::star;
diff --git a/sw/source/core/ole/makefile.mk b/sw/source/core/ole/makefile.mk
index b859c16dbc..8aaf9ed419 100644
--- a/sw/source/core/ole/makefile.mk
+++ b/sw/source/core/ole/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.5 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/ole/ndole.cxx b/sw/source/core/ole/ndole.cxx
index 3ed18d128b..a901d3c7c7 100644
--- a/sw/source/core/ole/ndole.cxx
+++ b/sw/source/core/ole/ndole.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ndole.cxx,v $
- * $Revision: 1.44 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -48,7 +45,7 @@
#include <tools/urlobj.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/app.hxx>
-#include <svx/linkmgr.hxx>
+#include <sfx2/linkmgr.hxx>
#include <unotools/configitem.hxx>
#ifndef _OUTDEV_HXX //autogen
#include <vcl/outdev.hxx>
diff --git a/sw/source/core/para/makefile.mk b/sw/source/core/para/makefile.mk
index 648e647bee..7005bf0e98 100644
--- a/sw/source/core/para/makefile.mk
+++ b/sw/source/core/para/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.4 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/para/paratr.cxx b/sw/source/core/para/paratr.cxx
index fd03467c01..e29c02eb6e 100644
--- a/sw/source/core/para/paratr.cxx
+++ b/sw/source/core/para/paratr.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: paratr.cxx,v $
- * $Revision: 1.15 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/sw3io/makefile.mk b/sw/source/core/sw3io/makefile.mk
index b5bb1faaf4..01a50f5df7 100644
--- a/sw/source/core/sw3io/makefile.mk
+++ b/sw/source/core/sw3io/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.7 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/sw3io/sw3convert.cxx b/sw/source/core/sw3io/sw3convert.cxx
index a6bafcce75..9d06a5436e 100644
--- a/sw/source/core/sw3io/sw3convert.cxx
+++ b/sw/source/core/sw3io/sw3convert.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: sw3convert.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,18 +35,18 @@
#include <stdio.h>
#include "hintids.hxx"
#include <tools/resid.hxx>
-#include <svtools/macitem.hxx>
-#include <svtools/zforlist.hxx>
-#include <svtools/zformat.hxx>
-#include <svtools/urihelper.hxx>
+#include <svl/macitem.hxx>
+#include <svl/zforlist.hxx>
+#include <svl/zformat.hxx>
+#include <svl/urihelper.hxx>
#include <sfx2/linkmgr.hxx>
#ifndef _SVSTDARR_USHORTS_DECL
#define _SVSTDARR_USHORTS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#endif
-#include <svx/lrspitem.hxx>
-#include <svx/tstpitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/tstpitem.hxx>
#include <fmtinfmt.hxx>
#include <fmtfld.hxx>
#include <frmatr.hxx>
diff --git a/sw/source/core/sw3io/swacorr.cxx b/sw/source/core/sw3io/swacorr.cxx
index 4d7fa4f325..93b6c52e85 100644
--- a/sw/source/core/sw3io/swacorr.cxx
+++ b/sw/source/core/sw3io/swacorr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swacorr.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/swg/SwXMLBlockExport.cxx b/sw/source/core/swg/SwXMLBlockExport.cxx
index c672c41a19..7ab6588ab3 100644
--- a/sw/source/core/swg/SwXMLBlockExport.cxx
+++ b/sw/source/core/swg/SwXMLBlockExport.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXMLBlockExport.cxx,v $
- * $Revision: 1.15 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/swg/SwXMLBlockImport.cxx b/sw/source/core/swg/SwXMLBlockImport.cxx
index 32ec8376a3..fc23257abb 100644
--- a/sw/source/core/swg/SwXMLBlockImport.cxx
+++ b/sw/source/core/swg/SwXMLBlockImport.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXMLBlockImport.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/swg/SwXMLBlockListContext.cxx b/sw/source/core/swg/SwXMLBlockListContext.cxx
index ba23ea6e58..b331065484 100644
--- a/sw/source/core/swg/SwXMLBlockListContext.cxx
+++ b/sw/source/core/swg/SwXMLBlockListContext.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXMLBlockListContext.cxx,v $
- * $Revision: 1.14 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/swg/SwXMLSectionList.cxx b/sw/source/core/swg/SwXMLSectionList.cxx
index ab1e097102..bf167dba29 100644
--- a/sw/source/core/swg/SwXMLSectionList.cxx
+++ b/sw/source/core/swg/SwXMLSectionList.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXMLSectionList.cxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,7 +29,7 @@
#include "precompiled_sw.hxx"
#define _SVSTDARR_STRINGSDTOR
#define _SVSTDARR_STRINGS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <SwXMLSectionList.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmlnmspe.hxx>
diff --git a/sw/source/core/swg/SwXMLTextBlocks.cxx b/sw/source/core/swg/SwXMLTextBlocks.cxx
index 8eba626632..8c078d53aa 100644
--- a/sw/source/core/swg/SwXMLTextBlocks.cxx
+++ b/sw/source/core/swg/SwXMLTextBlocks.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXMLTextBlocks.cxx,v $
- * $Revision: 1.39.136.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/swg/SwXMLTextBlocks1.cxx b/sw/source/core/swg/SwXMLTextBlocks1.cxx
index 0c329ee5b3..dac78f4e59 100644
--- a/sw/source/core/swg/SwXMLTextBlocks1.cxx
+++ b/sw/source/core/swg/SwXMLTextBlocks1.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXMLTextBlocks1.cxx,v $
- * $Revision: 1.18 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,7 +29,7 @@
#include "precompiled_sw.hxx"
#include <com/sun/star/embed/ElementModes.hpp>
#include <com/sun/star/embed/XTransactedObject.hpp>
-#include <svtools/macitem.hxx>
+#include <svl/macitem.hxx>
#include <svtools/unoevent.hxx>
#include <sfx2/docfile.hxx>
#include <unotools/streamwrap.hxx>
diff --git a/sw/source/core/swg/makefile.mk b/sw/source/core/swg/makefile.mk
index 38811cf717..c7aa25ec5d 100644
--- a/sw/source/core/swg/makefile.mk
+++ b/sw/source/core/swg/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.11 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/swg/swblocks.cxx b/sw/source/core/swg/swblocks.cxx
index 9dae3794ba..120a25cb65 100644
--- a/sw/source/core/swg/swblocks.cxx
+++ b/sw/source/core/swg/swblocks.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swblocks.cxx,v $
- * $Revision: 1.25 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -36,9 +33,9 @@
#include <sot/storage.hxx>
#include <tools/urlobj.hxx>
#ifndef SVTOOLS_FSTATHELPER_HXX
-#include <svtools/fstathelper.hxx>
+#include <svl/fstathelper.hxx>
#endif
-#include <svtools/macitem.hxx>
+#include <svl/macitem.hxx>
#include <unotools/charclass.hxx>
#include <frmfmt.hxx>
#include <doc.hxx>
diff --git a/sw/source/core/table/makefile.mk b/sw/source/core/table/makefile.mk
index 8b6e1d3815..d63101e30a 100644
--- a/sw/source/core/table/makefile.mk
+++ b/sw/source/core/table/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.4 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/table/swnewtable.cxx b/sw/source/core/table/swnewtable.cxx
index 587914ae0b..74488b5ea1 100644
--- a/sw/source/core/table/swnewtable.cxx
+++ b/sw/source/core/table/swnewtable.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swnewtable.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -46,11 +43,11 @@
#include <set>
#include <list>
#include <memory>
-#include <svx/boxitem.hxx>
-#include <svx/protitem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/protitem.hxx>
#include <swtblfmt.hxx>
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#define CHECK_TABLE(t)
#else
#ifdef DEBUG
@@ -779,7 +776,7 @@ BOOL SwTable::NewInsertCol( SwDoc* pDoc, const SwSelBoxes& rBoxes,
aFndBox.MakeFrms( *this );
// aFndBox.RestoreChartData( *this );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
{
const SwTableBoxes &rTabBoxes = aLines[0]->GetTabBoxes();
long nNewWidth = 0;
@@ -2147,7 +2144,7 @@ void SwTable::CleanUpBottomRowSpan( USHORT nDelLines )
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
struct RowSpanCheck
{
@@ -2181,7 +2178,7 @@ void SwTable::CheckConsistency() const
if( nRowSp < 0 )
{
ASSERT( aIter != aRowSpanCells.end(), "Missing master box" )
-#ifndef PRODUCT
+#ifdef DBG_UTIL
//RowSpanCheck &rCheck = *aIter;
#endif
ASSERT( aIter->nLeft == nWidth && aIter->nRight == nNewWidth,
diff --git a/sw/source/core/table/swtable.cxx b/sw/source/core/table/swtable.cxx
index caffe6edbf..a755dd59e3 100644
--- a/sw/source/core/table/swtable.cxx
+++ b/sw/source/core/table/swtable.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swtable.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -39,17 +36,19 @@
#include <float.h>
#include <hintids.hxx>
#include <hints.hxx> // fuer SwAttrSetChg
-#include <svx/lrspitem.hxx>
-#include <svx/shaditem.hxx>
-#include <svx/adjitem.hxx>
-#include <svx/colritem.hxx>
-#include <svx/linkmgr.hxx>
-#include <svx/boxitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/shaditem.hxx>
+#include <editeng/adjitem.hxx>
+#include <editeng/colritem.hxx>
+#include <sfx2/linkmgr.hxx>
+#include <editeng/boxitem.hxx>
#include <fmtfsize.hxx>
#include <fmtornt.hxx>
#include <fmtpdsc.hxx>
+#include <fldbas.hxx>
+#include <fmtfld.hxx>
#include <frmatr.hxx>
#include <doc.hxx>
#include <docary.hxx> // fuer RedlineTbl()
@@ -74,7 +73,7 @@
#include <redline.hxx>
#include <list>
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#define CHECK_TABLE(t)
#else
#ifdef DEBUG
@@ -101,6 +100,8 @@ SV_IMPL_REF( SwServerObject )
#define COLFUZZY 20
+void ChgTextToNum( SwTableBox& rBox, const String& rTxt, const Color* pCol,
+ BOOL bChgAlign,ULONG nNdPos );
//----------------------------------
class SwTableBox_Impl
@@ -876,7 +877,7 @@ void lcl_ProcessBoxSet( SwTableBox *pBox, Parm &rParm )
// Last line check:
if ( pBox->GetUpper()->GetUpper() &&
pBox->GetUpper() != pBox->GetUpper()->GetUpper()->GetTabLines()
- [pBox->GetUpper()->GetUpper()->GetTabLines().Count()-1])
+ [pBox->GetUpper()->GetUpper()->GetTabLines().Count()-1])
{
pBox = 0;
}
@@ -1090,7 +1091,7 @@ void SwTable::SetTabCols( const SwTabCols &rNew, const SwTabCols &rOld,
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
{
// steht im tblrwcl.cxx
extern void _CheckBoxWidth( const SwTableLine&, SwTwips );
@@ -1197,7 +1198,7 @@ static void lcl_CalcNewWidths( std::list<USHORT> &rSpanPos, ChangeList& rChanges
USHORT nPos = (USHORT)nSum;
while( pCurr != rChanges.end() && pCurr->first < nPos )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
USHORT nTemp = pCurr->first;
nTemp = pCurr->second;
#endif
@@ -1297,7 +1298,7 @@ static void lcl_CalcNewWidths( std::list<USHORT> &rSpanPos, ChangeList& rChanges
void SwTable::NewSetTabCols( Parm &rParm, const SwTabCols &rNew,
const SwTabCols &rOld, const SwTableBox *pStart, BOOL bCurRowOnly )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
static int nCallCount = 0;
++nCallCount;
#endif
@@ -2013,7 +2014,7 @@ BOOL SwTableBox::IsInHeadline( const SwTable* pTbl ) const
return pTbl->GetTabLines()[ 0 ] == pLine;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ULONG SwTableBox::GetSttIdx() const
{
@@ -2060,9 +2061,11 @@ BOOL SwTable::GetInfo( SfxPoolItem& rInfo ) const
return TRUE;
}
-SwTable* SwTable::FindTable( SwFrmFmt* pFmt )
+SwTable * SwTable::FindTable( SwFrmFmt const*const pFmt )
{
- return pFmt ? (SwTable*)SwClientIter( *pFmt ).First( TYPE(SwTable) ) : 0;
+ return (pFmt)
+ ? static_cast<SwTable*>(SwClientIter(*pFmt).First( TYPE(SwTable) ))
+ : 0;
}
SwTableNode* SwTable::GetTableNode() const
@@ -2087,11 +2090,16 @@ void SwTable::SetHTMLTableLayout( SwHTMLTableLayout *p )
pHTMLLayout = p;
}
-
void ChgTextToNum( SwTableBox& rBox, const String& rTxt, const Color* pCol,
BOOL bChgAlign )
{
ULONG nNdPos = rBox.IsValidNumTxtNd( TRUE );
+ ChgTextToNum( rBox,rTxt,pCol,bChgAlign,nNdPos);
+}
+void ChgTextToNum( SwTableBox& rBox, const String& rTxt, const Color* pCol,
+ BOOL bChgAlign,ULONG nNdPos )
+{
+
if( ULONG_MAX != nNdPos )
{
SwDoc* pDoc = rBox.GetFrmFmt()->GetDoc();
@@ -2159,6 +2167,8 @@ void ChgTextToNum( SwTableBox& rBox, const String& rTxt, const Color* pCol,
for( n = 0; n < rOrig.Len() && '\x9' == rOrig.GetChar( n ); ++n )
;
+ for( ; n < rOrig.Len() && '\x01' == rOrig.GetChar( n ); ++n )
+ ;
SwIndex aIdx( pTNd, n );
for( n = rOrig.Len(); n && '\x9' == rOrig.GetChar( --n ); )
;
@@ -2637,6 +2647,14 @@ ULONG SwTableBox::IsValidNumTxtNd( BOOL bCheckAttr ) const
*pAttr->GetStart() ||
*pAttr->GetAnyEnd() < rTxt.Len() )
{
+ if ( pAttr->Which() == RES_TXTATR_FIELD )
+ {
+ const SwField* pField = pAttr->GetFld().GetFld();
+ if ( pField && pField->GetTypeId() == TYP_SETFLD )
+ {
+ continue;
+ }
+ }
nPos = ULONG_MAX;
break;
}
@@ -2691,7 +2709,7 @@ void SwTableBox::ActualiseValueBox()
const String& rTxt = pSttNd->GetNodes()[ nNdPos ]->GetTxtNode()->GetTxt();
if( rTxt != sNewTxt )
- ChgTextToNum( *this, sNewTxt, pCol, FALSE );
+ ChgTextToNum( *this, sNewTxt, pCol, FALSE ,nNdPos);
}
}
}
diff --git a/sw/source/core/text/EnhancedPDFExportHelper.cxx b/sw/source/core/text/EnhancedPDFExportHelper.cxx
index d6241c775f..f21b74f92b 100644
--- a/sw/source/core/text/EnhancedPDFExportHelper.cxx
+++ b/sw/source/core/text/EnhancedPDFExportHelper.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: EnhancedPDFExportHelper.cxx,v $
- * $Revision: 1.26.138.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,22 +28,18 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
#include <com/sun/star/embed/XEmbeddedObject.hpp>
-#ifndef _COM_SUN_STAR_I18N_SCRIPTTYPE_HDL_
#include <com/sun/star/i18n/ScriptType.hdl>
-#endif
#include <EnhancedPDFExportHelper.hxx>
#include <hintids.hxx>
-#ifndef _OUTDEV_HXX
#include <vcl/outdev.hxx>
-#endif
#include <tools/multisel.hxx>
-#include <svx/adjitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/langitem.hxx>
-#include <svx/scripttypeitem.hxx>
+#include <editeng/adjitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/scripttypeitem.hxx>
#include <tools/urlobj.hxx>
-#include <svtools/zforlist.hxx>
+#include <svl/zforlist.hxx>
#include <swatrset.hxx>
#include <frmatr.hxx>
#include <paratr.hxx>
@@ -106,7 +99,7 @@ FrmTagIdMap SwEnhancedPDFExportHelper::aFrmTagIdMap;
LanguageType SwEnhancedPDFExportHelper::eLanguageDefault = 0;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
static std::vector< USHORT > aStructStack;
@@ -295,7 +288,7 @@ SwTaggedPDFHelper::SwTaggedPDFHelper( const Num_Info* pNumInfo,
if ( mpPDFExtOutDevData && mpPDFExtOutDevData->GetIsExportTaggedPDF() )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
sal_Int32 nCurrentStruct = mpPDFExtOutDevData->GetCurrentStructureElement();
lcl_DBGCheckStack();
#endif
@@ -308,7 +301,7 @@ SwTaggedPDFHelper::SwTaggedPDFHelper( const Num_Info* pNumInfo,
else
BeginTag( vcl::PDFWriter::NonStructElement, aEmptyString );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
nCurrentStruct = mpPDFExtOutDevData->GetCurrentStructureElement();
lcl_DBGCheckStack();
#endif
@@ -323,13 +316,13 @@ SwTaggedPDFHelper::~SwTaggedPDFHelper()
{
if ( mpPDFExtOutDevData && mpPDFExtOutDevData->GetIsExportTaggedPDF() )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
sal_Int32 nCurrentStruct = mpPDFExtOutDevData->GetCurrentStructureElement();
lcl_DBGCheckStack();
#endif
EndStructureElements();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
nCurrentStruct = mpPDFExtOutDevData->GetCurrentStructureElement();
lcl_DBGCheckStack();
#endif
@@ -370,9 +363,9 @@ bool SwTaggedPDFHelper::CheckReopenTag()
{
const SwFmtAnchor& rAnchor =
static_cast<const SwFlyFrm*>(&rFrm)->GetFmt()->GetAnchor();
- if ( FLY_AT_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() ||
- FLY_PAGE == rAnchor.GetAnchorId() )
+ if ((FLY_AT_PARA == rAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rAnchor.GetAnchorId()) ||
+ (FLY_AT_PAGE == rAnchor.GetAnchorId()))
{
pKeyFrm = static_cast<const SwFlyFrm&>(rFrm).GetAnchorFrm();
bContinue = true;
@@ -398,7 +391,7 @@ bool SwTaggedPDFHelper::CheckReopenTag()
const bool bSuccess = mpPDFExtOutDevData->SetCurrentStructureElement( nReopenTag );
ASSERT( bSuccess, "Failed to reopen tag" )
-#ifndef PRODUCT
+#ifdef DBG_UTIL
aStructStack.push_back( 99 );
#endif
@@ -421,7 +414,7 @@ bool SwTaggedPDFHelper::CheckRestoreTag() const
(void)bSuccess;
ASSERT( bSuccess, "Failed to restore reopened tag" )
-#ifndef PRODUCT
+#ifdef DBG_UTIL
aStructStack.pop_back();
#endif
@@ -441,7 +434,7 @@ void SwTaggedPDFHelper::BeginTag( vcl::PDFWriter::StructElement eType, const Str
const sal_Int32 nId = mpPDFExtOutDevData->BeginStructureElement( eType, rtl::OUString( rString ) );
++nEndStructureElement;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
aStructStack.push_back( static_cast<USHORT>(eType) );
#endif
@@ -501,7 +494,7 @@ void SwTaggedPDFHelper::EndTag()
{
mpPDFExtOutDevData->EndStructureElement();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
aStructStack.pop_back();
#endif
}
@@ -977,7 +970,7 @@ void SwTaggedPDFHelper::BeginNumberedListStructureElements()
nRestoreCurrentTag = mpPDFExtOutDevData->GetCurrentStructureElement();
mpPDFExtOutDevData->SetCurrentStructureElement( nReopenTag );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
aStructStack.push_back( 99 );
#endif
}
@@ -1529,7 +1522,7 @@ SwEnhancedPDFExportHelper::SwEnhancedPDFExportHelper( SwEditShell& rSh,
aNumListBodyIdMap.clear();
aFrmTagIdMap.clear();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
aStructStack.clear();
#endif
@@ -1814,7 +1807,7 @@ void SwEnhancedPDFExportHelper::EnhancedPDFExport()
// --> FME 2005-05-09 #i44368# Links in Header/Footer
const SwFmtAnchor &rAnch = pFrmFmt->GetAnchor();
- if ( FLY_PAGE != rAnch.GetAnchorId() )
+ if (FLY_AT_PAGE != rAnch.GetAnchorId())
{
const SwPosition* pPosition = rAnch.GetCntntAnchor();
if ( pPosition && pDoc->IsInHeaderFooter( pPosition->nNode ) )
diff --git a/sw/source/core/text/SwGrammarMarkUp.cxx b/sw/source/core/text/SwGrammarMarkUp.cxx
index e060f4f59c..30240dadd5 100644
--- a/sw/source/core/text/SwGrammarMarkUp.cxx
+++ b/sw/source/core/text/SwGrammarMarkUp.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwGrammarMarkUp.cxx,v $
- * $Revision: 1.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/atrhndl.hxx b/sw/source/core/text/atrhndl.hxx
index 4d9a2909d2..e1b0311f61 100644
--- a/sw/source/core/text/atrhndl.hxx
+++ b/sw/source/core/text/atrhndl.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: atrhndl.hxx,v $
- * $Revision: 1.5.210.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/atrstck.cxx b/sw/source/core/text/atrstck.cxx
index 4e89d45a19..07a9e4b5d6 100644
--- a/sw/source/core/text/atrstck.cxx
+++ b/sw/source/core/text/atrstck.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: atrstck.cxx,v $
- * $Revision: 1.30.210.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,35 +31,35 @@
#include <errhdl.hxx> // ASSERT
#include <atrhndl.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#include <vcl/outdev.hxx>
-#include <svx/cmapitem.hxx>
-#include <svx/colritem.hxx>
-#include <svx/cntritem.hxx>
-#include <svx/crsditem.hxx>
-#include <svx/escpitem.hxx>
-#include <svx/fontitem.hxx>
-#include <svx/fhgtitem.hxx>
-#include <svx/kernitem.hxx>
-#include <svx/charreliefitem.hxx>
-#include <svx/langitem.hxx>
-#include <svx/postitem.hxx>
-#include <svx/shdditem.hxx>
-#include <svx/udlnitem.hxx>
-#include <svx/wghtitem.hxx>
-#include <svx/wrlmitem.hxx>
-#include <svx/akrnitem.hxx>
-#include <svx/blnkitem.hxx>
-#include <svx/charrotateitem.hxx>
-#include <svx/emphitem.hxx>
-#include <svx/charscaleitem.hxx>
-#include <svx/twolinesitem.hxx>
-#include <svx/charhiddenitem.hxx>
+#include <editeng/cmapitem.hxx>
+#include <editeng/colritem.hxx>
+#include <editeng/cntritem.hxx>
+#include <editeng/crsditem.hxx>
+#include <editeng/escpitem.hxx>
+#include <editeng/fontitem.hxx>
+#include <editeng/fhgtitem.hxx>
+#include <editeng/kernitem.hxx>
+#include <editeng/charreliefitem.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/postitem.hxx>
+#include <editeng/shdditem.hxx>
+#include <editeng/udlnitem.hxx>
+#include <editeng/wghtitem.hxx>
+#include <editeng/wrlmitem.hxx>
+#include <editeng/akrnitem.hxx>
+#include <editeng/blnkitem.hxx>
+#include <editeng/charrotateitem.hxx>
+#include <editeng/emphitem.hxx>
+#include <editeng/charscaleitem.hxx>
+#include <editeng/twolinesitem.hxx>
+#include <editeng/charhiddenitem.hxx>
#include <viewopt.hxx>
#include <charfmt.hxx>
#include <fchrfmt.hxx>
#include <fmtautofmt.hxx>
-#include <svx/brshitem.hxx>
+#include <editeng/brshitem.hxx>
#include <fmtinfmt.hxx>
#include <txtinet.hxx>
#include <IDocumentSettingAccess.hxx>
diff --git a/sw/source/core/text/blink.cxx b/sw/source/core/text/blink.cxx
index f06345c2e2..c127568c5d 100644
--- a/sw/source/core/text/blink.cxx
+++ b/sw/source/core/text/blink.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: blink.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/frmcrsr.cxx b/sw/source/core/text/frmcrsr.cxx
index 2fb972d2be..343efedd4d 100644
--- a/sw/source/core/text/frmcrsr.cxx
+++ b/sw/source/core/text/frmcrsr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: frmcrsr.cxx,v $
- * $Revision: 1.44.212.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -41,10 +38,10 @@
#include "colfrm.hxx"
#include "txttypes.hxx"
#include <sfx2/printer.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/tstpitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lspcitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/tstpitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lspcitem.hxx>
#include <pormulti.hxx> // SwMultiPortion
#include <doc.hxx>
#include <sortedobjs.hxx>
@@ -887,7 +884,7 @@ sal_Bool SwTxtFrm::_UnitUp( SwPaM *pPam, const SwTwips nOffset,
aCharBox.Pos().X() = aCharBox.Pos().X() - 150;
// siehe Kommentar in SwTxtFrm::GetCrsrOfst()
-#ifndef PRODUCT
+#ifdef DBG_UTIL
const ULONG nOldNode = pPam->GetPoint()->nNode.GetIndex();
#endif
// Der Node soll nicht gewechselt werden
@@ -1253,7 +1250,7 @@ sal_Bool SwTxtFrm::_UnitDown(SwPaM *pPam, const SwTwips nOffset,
if( pNextLine || bFirstOfDouble )
{
aCharBox.SSize().Width() /= 2;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// siehe Kommentar in SwTxtFrm::GetCrsrOfst()
const ULONG nOldNode = pPam->GetPoint()->nNode.GetIndex();
#endif
diff --git a/sw/source/core/text/frmform.cxx b/sw/source/core/text/frmform.cxx
index 55ddcdadd9..c67420303f 100644
--- a/sw/source/core/text/frmform.cxx
+++ b/sw/source/core/text/frmform.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: frmform.cxx,v $
- * $Revision: 1.71 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,8 +30,8 @@
#include <hintids.hxx>
-#include <svx/keepitem.hxx>
-#include <svx/hyznitem.hxx>
+#include <editeng/keepitem.hxx>
+#include <editeng/hyznitem.hxx>
#include <pagefrm.hxx> // ChangeFtnRef
#include <ndtxt.hxx> // MakeFrm()
#include <dcontact.hxx> // SwDrawContact
@@ -248,7 +245,7 @@ sal_Bool SwTxtFrm::CalcFollow( const xub_StrLen nTxtOfst )
( pMyFollow->IsVertical() && !pMyFollow->Prt().Width() ) ||
( ! pMyFollow->IsVertical() && !pMyFollow->Prt().Height() ) )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
const SwFrm *pOldUp = GetUpper();
#endif
@@ -377,7 +374,7 @@ sal_Bool SwTxtFrm::CalcFollow( const xub_StrLen nTxtOfst )
pPage->ValidateCntnt();
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( pOldUp == GetUpper(), "SwTxtFrm::CalcFollow: heavy follow" );
#endif
@@ -667,7 +664,7 @@ SwCntntFrm *SwTxtFrm::JoinFrm()
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else if ( pFoll->GetValidPrtAreaFlag() ||
pFoll->GetValidSizeFlag() )
{
@@ -767,7 +764,7 @@ SwCntntFrm *SwTxtFrm::SplitFrm( const xub_StrLen nTxtPos )
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
{
CalcFtnFlag( nTxtPos-1 );
@@ -1843,7 +1840,7 @@ void SwTxtFrm::Format( const SwBorderAttrs * )
const SwFrm *pDbgFtnCont = (const SwFrm*)(FindPageFrm()->FindFtnCont());
(void)pDbgFtnCont;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// nStopAt laesst sich vom CV bearbeiten.
static MSHORT nStopAt = 0;
if( nStopAt == GetFrmId() )
@@ -2089,7 +2086,7 @@ sal_Bool SwTxtFrm::FormatQuick( bool bForceQuickFormat )
const XubString aXXX = GetTxtNode()->GetTxt();
const SwTwips nDbgY = Frm().Top();
(void)nDbgY;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// nStopAt laesst sich vom CV bearbeiten.
static MSHORT nStopAt = 0;
if( nStopAt == GetFrmId() )
@@ -2135,7 +2132,7 @@ sal_Bool SwTxtFrm::FormatQuick( bool bForceQuickFormat )
//DBG_LOOP; shadows declaration above.
//resolved into:
#if OSL_DEBUG_LEVEL > 1
-#ifndef PRODUCT
+#ifdef DBG_UTIL
DbgLoop aDbgLoop2( (const void*) this );
#endif
#endif
diff --git a/sw/source/core/text/frminf.cxx b/sw/source/core/text/frminf.cxx
index d310912075..3bfdb03eb7 100644
--- a/sw/source/core/text/frminf.cxx
+++ b/sw/source/core/text/frminf.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: frminf.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/frmpaint.cxx b/sw/source/core/text/frmpaint.cxx
index d1f2416958..36ebd8ee72 100644
--- a/sw/source/core/text/frmpaint.cxx
+++ b/sw/source/core/text/frmpaint.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: frmpaint.cxx,v $
- * $Revision: 1.60.68.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,8 +32,8 @@
#include <hintids.hxx>
#include <vcl/sound.hxx>
#include <tools/shl.hxx> // SW_MOD
-#include <svx/pgrditem.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/pgrditem.hxx>
+#include <editeng/lrspitem.hxx>
#include <pagedesc.hxx> // SwPageDesc
#include <tgrditem.hxx>
#include <paratr.hxx>
@@ -600,7 +597,7 @@ sal_Bool SwTxtFrm::PaintEmpty( const SwRect &rRect, sal_Bool bCheck ) const
* SwTxtFrm::Paint()
*************************************************************************/
-void SwTxtFrm::Paint( const SwRect &rRect ) const
+void SwTxtFrm::Paint( const SwRect &rRect, const SwPrtOptions * /*pPrintData*/ ) const
{
ResetRepaint();
@@ -728,7 +725,7 @@ void SwTxtFrm::Paint( const SwRect &rRect ) const
//DBG_LOOP; shadows declaration above.
//resolved into:
#if OSL_DEBUG_LEVEL > 1
-#ifndef PRODUCT
+#ifdef DBG_UTIL
DbgLoop aDbgLoop2( (const void*) this );
#endif
#endif
diff --git a/sw/source/core/text/guess.cxx b/sw/source/core/text/guess.cxx
index 049ea79078..c51d60a553 100644
--- a/sw/source/core/text/guess.cxx
+++ b/sw/source/core/text/guess.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: guess.cxx,v $
- * $Revision: 1.50 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <ctype.h>
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <tools/shl.hxx> // needed for SW_MOD() macro
#include <errhdl.hxx> // ASSERTs
#include <dlelstnr.hxx>
@@ -176,7 +173,7 @@ sal_Bool SwTxtGuess::Guess( const SwTxtPortion& rPor, SwTxtFormatInfo &rInf,
{
nCutPos = rInf.GetTxtBreak( nLineWidth, nMaxLen, nMaxComp );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if ( STRING_LEN != nCutPos )
{
rInf.GetTxtSize( &rSI, rInf.GetIdx(), nCutPos - rInf.GetIdx(),
diff --git a/sw/source/core/text/guess.hxx b/sw/source/core/text/guess.hxx
index 753b214f0e..4b86f76750 100644
--- a/sw/source/core/text/guess.hxx
+++ b/sw/source/core/text/guess.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: guess.hxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx
index b27a551ff7..f21d5e4e67 100644
--- a/sw/source/core/text/inftxt.cxx
+++ b/sw/source/core/text/inftxt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: inftxt.cxx,v $
- * $Revision: 1.123.20.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,28 +30,28 @@
#include <com/sun/star/uno/Sequence.h>
-#include <svtools/linguprops.hxx>
-#include <svtools/lingucfg.hxx>
+#include <unotools/linguprops.hxx>
+#include <unotools/lingucfg.hxx>
#include <hintids.hxx>
#include <sfx2/printer.hxx>
-#include <svx/hyznitem.hxx>
-#include <svx/escpitem.hxx>
-#include <svx/hngpnctitem.hxx>
-#include <svx/scriptspaceitem.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/splwrap.hxx>
-#include <svx/pgrditem.hxx>
+#include <editeng/hyznitem.hxx>
+#include <editeng/escpitem.hxx>
+#include <editeng/hngpnctitem.hxx>
+#include <editeng/scriptspaceitem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/splwrap.hxx>
+#include <editeng/pgrditem.hxx>
// --> OD 2008-01-17 #newlistlevelattrs#
#ifndef _SVX_TSTPITEM_HXX
-#include <svx/tstpitem.hxx>
+#include <editeng/tstpitem.hxx>
#endif
// <--
#include <SwSmartTagMgr.hxx>
#include <linguistic/lngprops.hxx>
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <breakit.hxx>
-#include <svx/forbiddenruleitem.hxx>
+#include <editeng/forbiddenruleitem.hxx>
#include <txatbase.hxx>
#include <fmtinfmt.hxx>
#include <swmodule.hxx>
@@ -114,13 +111,13 @@ namespace numfunc
}
// <--
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// Test2: WYSIWYG++
// Test4: WYSIWYG debug
static sal_Bool bDbgLow = sal_False;
#endif
-#ifndef PRODUCT
+#ifdef DBG_UTIL
sal_Bool SwTxtSizeInfo::IsOptCalm() const { return !GetOpt().IsTest3(); }
@@ -236,7 +233,7 @@ SwTxtInfo::SwTxtInfo( const SwTxtInfo &rInf )
{ }
-#ifndef PRODUCT
+#ifdef DBG_UTIL
/*************************************************************************
* ChkOutDev()
*************************************************************************/
@@ -288,7 +285,7 @@ SwTxtSizeInfo::SwTxtSizeInfo( const SwTxtSizeInfo &rNew )
bSnapToGrid( rNew.SnapToGrid() ),
nDirection( rNew.GetDirection() )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ChkOutDev( *this );
#endif
}
@@ -325,7 +322,7 @@ void SwTxtSizeInfo::CtorInitTxtSizeInfo( SwTxtFrm *pFrame, SwFont *pNewFnt,
pRef = pOut;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ChkOutDev( *this );
#endif
@@ -412,7 +409,7 @@ SwTxtSizeInfo::SwTxtSizeInfo( const SwTxtSizeInfo &rNew, const XubString &rTxt,
bSnapToGrid( rNew.SnapToGrid() ),
nDirection( rNew.GetDirection() )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ChkOutDev( *this );
#endif
SetLen( GetMinLen( *this ) );
@@ -570,7 +567,7 @@ void SwTxtPaintInfo::CtorInitTxtPaintInfo( SwTxtFrm *pFrame, const SwRect &rPain
pGrammarCheckList = NULL;
pSmartTags = NULL; // SMARTTAGS
-#ifdef PRODUCT
+#ifndef DBG_UTIL
pBrushItem = 0;
#else
pBrushItem = ((SvxBrushItem*)-1);
@@ -1156,7 +1153,7 @@ void SwTxtPaintInfo::DrawCheckBox( const SwFieldFormPortion &rPor, bool checked)
}
const int delta=10;
Rectangle r(aIntersect.Left()+delta, aIntersect.Top()+delta, aIntersect.Right()-delta, aIntersect.Bottom()-delta);
- pOut->Push( PUSH_LINECOLOR | PUSH_FILLCOLOR );
+ pOut->Push( PUSH_LINECOLOR | PUSH_FILLCOLOR );
pOut->SetLineColor( Color(0, 0, 0));
pOut->SetFillColor();
pOut->DrawRect( r );
diff --git a/sw/source/core/text/inftxt.hxx b/sw/source/core/text/inftxt.hxx
index 450bb16947..28218a737a 100644
--- a/sw/source/core/text/inftxt.hxx
+++ b/sw/source/core/text/inftxt.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: inftxt.hxx,v $
- * $Revision: 1.60 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -45,7 +42,7 @@
#include "txtfrm.hxx"
#include "ndtxt.hxx"
#include "txttypes.hxx"
-#include <svx/paravertalignitem.hxx>
+#include <editeng/paravertalignitem.hxx>
class Font;
class OutputDevice;
@@ -79,7 +76,7 @@ class SwWrongList;
#define DIR_RIGHT2LEFT 2
#define DIR_TOP2BOTTOM 3
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#define OPTCALM( rInf ) (rInf).IsOptCalm()
#define OPTLOW( rInf ) (rInf).IsOptLow()
#define OPTDBG( rInf ) (rInf).IsOptDbg()
@@ -380,7 +377,7 @@ public:
{ return ( pKanaComp && nKanaIdx < pKanaComp->Count() )
? (*pKanaComp)[nKanaIdx] : 0; }
-#ifndef PRODUCT
+#ifdef DBG_UTIL
sal_Bool IsOptCalm() const;
sal_Bool IsOptLow() const;
sal_Bool IsOptDbg() const;
@@ -415,7 +412,7 @@ class SwTxtPaintInfo : public SwTxtSizeInfo
void _DrawText( const XubString &rText, const SwLinePortion &rPor,
const xub_StrLen nIdx, const xub_StrLen nLen,
const sal_Bool bKern, const sal_Bool bWrong = sal_False,
- const sal_Bool bSmartTag = sal_False,
+ const sal_Bool bSmartTag = sal_False,
const sal_Bool bGrammarCheck = sal_False ); // SMARTTAGS
SwTxtPaintInfo &operator=(const SwTxtPaintInfo&);
@@ -423,7 +420,7 @@ class SwTxtPaintInfo : public SwTxtSizeInfo
void _DrawBackBrush( const SwLinePortion &rPor ) const;
protected:
-#ifdef PRODUCT
+#ifndef DBG_UTIL
SwTxtPaintInfo() { pFrm = 0; pWrongList = 0; pGrammarCheckList = 0; pWrongList = 0; pSmartTags = 0; pSpaceAdd = 0; pBrushItem = 0;}
#else
SwTxtPaintInfo() { pFrm = 0; pWrongList = 0; pGrammarCheckList = 0; pSmartTags = 0; pSpaceAdd = 0;
@@ -508,7 +505,7 @@ public:
inline void SetWrongList( const SwWrongList *pNew ){ pWrongList = pNew; }
inline const SwWrongList* GetpWrongList() const { return pWrongList; }
-
+
inline void SetGrammarCheckList( const SwWrongList *pNew ){ pGrammarCheckList = pNew; }
inline const SwWrongList* GetGrammarCheckList() const { return pGrammarCheckList; }
diff --git a/sw/source/core/text/itradj.cxx b/sw/source/core/text/itradj.cxx
index b4b16d3f3e..a38d137ee9 100644
--- a/sw/source/core/text/itradj.cxx
+++ b/sw/source/core/text/itradj.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: itradj.cxx,v $
- * $Revision: 1.24.112.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/itratr.cxx b/sw/source/core/text/itratr.cxx
index 09be2bd798..f95a173669 100644
--- a/sw/source/core/text/itratr.cxx
+++ b/sw/source/core/text/itratr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: itratr.cxx,v $
- * $Revision: 1.40 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,10 +30,10 @@
#include <hintids.hxx>
-#include <svx/charscaleitem.hxx>
+#include <editeng/charscaleitem.hxx>
#include <txtatr.hxx>
#include <sfx2/printer.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <vcl/window.hxx>
#include <vcl/svapp.hxx>
#include <fmtanchr.hxx>
@@ -461,10 +458,8 @@ sal_Bool lcl_MinMaxNode( const SwFrmFmtPtr& rpNd, void* pArgs )
const SwFmtAnchor& rFmtA = ((SwFrmFmt*)rpNd)->GetAnchor();
bool bCalculate = false;
- if (
- (FLY_AT_CNTNT == rFmtA.GetAnchorId()) ||
- (FLY_AUTO_CNTNT == rFmtA.GetAnchorId())
- )
+ if ((FLY_AT_PARA == rFmtA.GetAnchorId()) ||
+ (FLY_AT_CHAR == rFmtA.GetAnchorId()))
{
bCalculate = true;
}
diff --git a/sw/source/core/text/itratr.hxx b/sw/source/core/text/itratr.hxx
index 2d7a670c85..fc960d0002 100644
--- a/sw/source/core/text/itratr.hxx
+++ b/sw/source/core/text/itratr.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: itratr.hxx,v $
- * $Revision: 1.21 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,7 +34,7 @@
#define _SVSTDARR_XUB_STRLEN
#define _SVSTDARR_USHORTS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
class OutputDevice;
class SwFont;
diff --git a/sw/source/core/text/itrcrsr.cxx b/sw/source/core/text/itrcrsr.cxx
index b40398463f..7eacdff12d 100644
--- a/sw/source/core/text/itrcrsr.cxx
+++ b/sw/source/core/text/itrcrsr.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: itrcrsr.cxx,v $
- * $Revision: 1.81.40.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -40,10 +37,10 @@
#include "pam.hxx"
#include "swselectionlist.hxx"
#include <sortedobjs.hxx>
-#include <svx/protitem.hxx>
-#include <svx/adjitem.hxx>
-#include <svx/lspcitem.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/protitem.hxx>
+#include <editeng/adjitem.hxx>
+#include <editeng/lspcitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <frmatr.hxx>
#include <pagedesc.hxx> // SwPageDesc
#include <tgrditem.hxx>
diff --git a/sw/source/core/text/itrform2.cxx b/sw/source/core/text/itrform2.cxx
index 57dacd703a..833ace0a56 100644
--- a/sw/source/core/text/itrform2.cxx
+++ b/sw/source/core/text/itrform2.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: itrform2.cxx,v $
- * $Revision: 1.107.20.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -36,12 +33,12 @@
#ifndef _COM_SUN_STAR_I18N_SCRIPTTYPE_HDL_
#include <com/sun/star/i18n/ScriptType.hdl>
#endif
-#include <svx/lspcitem.hxx>
+#include <editeng/lspcitem.hxx>
#include <txtftn.hxx>
#include <fmtftn.hxx>
#include <ftninfo.hxx>
#include <charfmt.hxx>
-#include <svx/charrotateitem.hxx>
+#include <editeng/charrotateitem.hxx>
#include <layfrm.hxx> // GetFrmRstHeight, etc
#include <viewsh.hxx>
#include <viewopt.hxx> // SwViewOptions
@@ -66,7 +63,7 @@
#include <doc.hxx> // SwDoc
#include <pormulti.hxx> // SwMultiPortion
#define _SVSTDARR_LONGS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <unotools/charclass.hxx>
#if OSL_DEBUG_LEVEL > 1
@@ -101,6 +98,7 @@ void SwTxtFormatter::CtorInitTxtFormatter( SwTxtFrm *pNewFrm, SwTxtFormatInfo *p
pMulti = NULL;
bOnceMore = sal_False;
+ bFlyInCntBase = sal_False;
bChanges = sal_False;
bTruncLines = sal_False;
nCntEndHyph = 0;
@@ -2106,7 +2104,10 @@ long SwTxtFormatter::CalcOptRepaint( xub_StrLen nOldLineEnd,
bool lcl_BuildHiddenPortion( const SwTxtSizeInfo& rInf, xub_StrLen &rPos )
{
// Only if hidden text should not be shown:
- if ( rInf.GetVsh() && rInf.GetVsh()->GetWin() && rInf.GetOpt().IsShowHiddenChar() )
+// if ( rInf.GetVsh() && rInf.GetVsh()->GetWin() && rInf.GetOpt().IsShowHiddenChar() )
+ const bool bShowInDocView = rInf.GetVsh() && rInf.GetVsh()->GetWin() && rInf.GetOpt().IsShowHiddenChar();
+ const bool bShowForPrinting = rInf.GetOpt().IsShowHiddenChar( TRUE ) && rInf.GetOpt().IsPrinting();
+ if (bShowInDocView || bShowForPrinting)
return false;
const SwScriptInfo& rSI = rInf.GetParaPortion()->GetScriptInfo();
diff --git a/sw/source/core/text/itrform2.hxx b/sw/source/core/text/itrform2.hxx
index ec6fce1958..3b0f1a0f86 100644
--- a/sw/source/core/text/itrform2.hxx
+++ b/sw/source/core/text/itrform2.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: itrform2.hxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/itrpaint.cxx b/sw/source/core/text/itrpaint.cxx
index 550b8fb291..bdc4411c84 100644
--- a/sw/source/core/text/itrpaint.cxx
+++ b/sw/source/core/text/itrpaint.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: itrpaint.cxx,v $
- * $Revision: 1.47.210.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,9 +35,9 @@
#include "errhdl.hxx"
#include "txtatr.hxx" // SwINetFmt
#include <tools/multisel.hxx>
-#include <svx/escpitem.hxx>
-#include <svx/udlnitem.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/escpitem.hxx>
+#include <editeng/udlnitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <txtinet.hxx>
#include <fchrfmt.hxx>
#include <frmatr.hxx>
@@ -103,7 +100,7 @@ void SwTxtPainter::CtorInitTxtPainter( SwTxtFrm *pNewFrm, SwTxtPaintInfo *pNewIn
pInf = pNewInf;
SwFont *pMyFnt = GetFnt();
GetInfo().SetFont( pMyFnt );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( ALIGN_BASELINE != pMyFnt->GetAlign() )
{
ASSERT( ALIGN_BASELINE == pMyFnt->GetAlign(),
diff --git a/sw/source/core/text/itrpaint.hxx b/sw/source/core/text/itrpaint.hxx
index c366ca7a65..9eb0604e09 100644
--- a/sw/source/core/text/itrpaint.hxx
+++ b/sw/source/core/text/itrpaint.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: itrpaint.hxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/itrtxt.cxx b/sw/source/core/text/itrtxt.cxx
index 5919ff1b1a..f3dfb05787 100644
--- a/sw/source/core/text/itrtxt.cxx
+++ b/sw/source/core/text/itrtxt.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: itrtxt.cxx,v $
- * $Revision: 1.34 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,7 +34,7 @@
#include "paratr.hxx"
#include "errhdl.hxx"
#include <vcl/outdev.hxx>
-#include <svx/paravertalignitem.hxx>
+#include <editeng/paravertalignitem.hxx>
#include "pormulti.hxx"
#include <pagefrm.hxx>
diff --git a/sw/source/core/text/itrtxt.hxx b/sw/source/core/text/itrtxt.hxx
index 021741ea4a..4ad84d201d 100644
--- a/sw/source/core/text/itrtxt.hxx
+++ b/sw/source/core/text/itrtxt.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: itrtxt.hxx,v $
- * $Revision: 1.21.40.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/makefile.mk b/sw/source/core/text/makefile.mk
index fbc000002e..0076a17487 100644
--- a/sw/source/core/text/makefile.mk
+++ b/sw/source/core/text/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.16 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
@@ -50,13 +46,6 @@ CFLAGS+=-DENABLE_GRAPHITE
.ENDIF
# --- Files --------------------------------------------------------
-.IF "$(product)$(cap)" == ""
-CXXFILES += \
- txtio.cxx
-.ENDIF
-
-
-
SLOFILES = \
$(SLO)$/atrstck.obj \
$(SLO)$/EnhancedPDFExportHelper.obj \
@@ -100,7 +89,7 @@ SLOFILES = \
$(SLO)$/SwGrammarMarkUp.obj \
$(SLO)$/wrong.obj
-.IF "$(product)$(cap)" == ""
+.IF "$(dbgutil)"!=""
SLOFILES += \
$(SLO)$/txtio.obj
.ENDIF
diff --git a/sw/source/core/text/noteurl.cxx b/sw/source/core/text/noteurl.cxx
index 25e3c0da06..5a2f16280b 100644
--- a/sw/source/core/text/noteurl.cxx
+++ b/sw/source/core/text/noteurl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: noteurl.cxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/pordrop.hxx b/sw/source/core/text/pordrop.hxx
index 7e87671a9a..03f908a2c1 100644
--- a/sw/source/core/text/pordrop.hxx
+++ b/sw/source/core/text/pordrop.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: pordrop.hxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/porexp.cxx b/sw/source/core/text/porexp.cxx
index cef17646f7..15df50d761 100644
--- a/sw/source/core/text/porexp.cxx
+++ b/sw/source/core/text/porexp.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porexp.cxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/porexp.hxx b/sw/source/core/text/porexp.hxx
index 165d95da9f..d3aff44646 100644
--- a/sw/source/core/text/porexp.hxx
+++ b/sw/source/core/text/porexp.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porexp.hxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/porfld.cxx b/sw/source/core/text/porfld.cxx
index 8fcdbca8e7..933a01c019 100644
--- a/sw/source/core/text/porfld.cxx
+++ b/sw/source/core/text/porfld.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porfld.cxx,v $
- * $Revision: 1.62.110.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -41,7 +38,7 @@
#ifndef _GRAPH_HXX //autogen
#include <vcl/graph.hxx>
#endif
-#include <svx/brshitem.hxx>
+#include <editeng/brshitem.hxx>
#ifndef _METRIC_HXX //autogen
#include <vcl/metric.hxx>
#endif
@@ -65,7 +62,7 @@
#include <porrst.hxx>
#include <porftn.hxx> // SwFtnPortion
#include <accessibilityoptions.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <unicode/ubidi.h>
@@ -82,8 +79,13 @@ SwFldPortion *SwFldPortion::Clone( const XubString &rExpand ) const
{
SwFont *pNewFnt;
if( 0 != ( pNewFnt = pFnt ) )
+ {
pNewFnt = new SwFont( *pFnt );
- SwFldPortion* pClone = new SwFldPortion( rExpand, pNewFnt );
+ }
+ // --> OD 2009-11-25 #i107143#
+ // pass placeholder property to created <SwFldPortion> instance.
+ SwFldPortion* pClone = new SwFldPortion( rExpand, pNewFnt, bPlaceHolder );
+ // <--
pClone->SetNextOffset( nNextOffset );
pClone->m_bNoLength = this->m_bNoLength;
return pClone;
@@ -823,7 +825,7 @@ SwBulletPortion::SwBulletPortion( const xub_Unicode cBullet,
// --> OD 2008-01-23 #newlistlevelattrs#
SwGrfNumPortion::SwGrfNumPortion(
- SwFrm *pFrm,
+ SwFrm*,
const XubString& rGraphicFollowedBy,
const SvxBrushItem* pGrfBrush,
const SwFmtVertOrient* pGrfOrient, const Size& rGrfSize,
@@ -840,8 +842,7 @@ SwGrfNumPortion::SwGrfNumPortion(
if( pGrfBrush )
{
*pBrush = *pGrfBrush;
- SwDocShell *pSh = pFrm->GetShell()->GetDoc()->GetDocShell();
- const Graphic* pGraph = pGrfBrush->GetGraphic( pSh );
+ const Graphic* pGraph = pGrfBrush->GetGraphic();
if( pGraph )
SetAnimated( pGraph->IsAnimated() );
else
diff --git a/sw/source/core/text/porfld.hxx b/sw/source/core/text/porfld.hxx
index 2292a27b78..a77f7eec50 100644
--- a/sw/source/core/text/porfld.hxx
+++ b/sw/source/core/text/porfld.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porfld.hxx,v $
- * $Revision: 1.16.100.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -60,7 +57,7 @@ protected:
sal_Bool bAnimated : 1; // wird von SwGrfNumPortion benutzt
sal_Bool bNoPaint : 1; // wird von SwGrfNumPortion benutzt
sal_Bool bReplace : 1; // wird von SwGrfNumPortion benutzt
- sal_Bool bPlaceHolder : 1;
+ const sal_Bool bPlaceHolder : 1;
sal_Bool m_bNoLength : 1; // HACK for meta suffix (no CH_TXTATR)
inline void SetFont( SwFont *pNew ) { pFnt = pNew; }
diff --git a/sw/source/core/text/porfly.cxx b/sw/source/core/text/porfly.cxx
index f690c3064b..835b479431 100644
--- a/sw/source/core/text/porfly.cxx
+++ b/sw/source/core/text/porfly.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porfly.cxx,v $
- * $Revision: 1.38 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -39,11 +36,9 @@
#include "frmfmt.hxx" // SwFrmFmt
#include "viewsh.hxx"
-#ifndef _OUTDEV_HXX //autogen
#include <vcl/outdev.hxx>
-#endif
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
#include <fmtanchr.hxx>
#include <fmtflcnt.hxx>
#include <fmtornt.hxx>
@@ -57,6 +52,7 @@
// OD 2004-05-24 #i28701#
#include <sortedobjs.hxx>
+
/*************************************************************************
* class SwFlyPortion
*
@@ -178,7 +174,7 @@ void SwTxtFrm::MoveFlyInCnt( SwTxtFrm *pNew, xub_StrLen nStart, xub_StrLen nEnd
// <SwSortedList> entries
SwAnchoredObject* pAnchoredObj = (*pObjs)[i];
const SwFmtAnchor& rAnch = pAnchoredObj->GetFrmFmt().GetAnchor();
- if ( rAnch.GetAnchorId() == FLY_IN_CNTNT )
+ if (rAnch.GetAnchorId() == FLY_AS_CHAR)
{
const SwPosition* pPos = rAnch.GetCntntAnchor();
xub_StrLen nIdx = pPos->nContent.GetIndex();
diff --git a/sw/source/core/text/porfly.hxx b/sw/source/core/text/porfly.hxx
index 7f754ef94f..86adb7dfaa 100644
--- a/sw/source/core/text/porfly.hxx
+++ b/sw/source/core/text/porfly.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porfly.hxx,v $
- * $Revision: 1.14.214.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/porftn.hxx b/sw/source/core/text/porftn.hxx
index c25b86574f..5aa6a03c56 100644
--- a/sw/source/core/text/porftn.hxx
+++ b/sw/source/core/text/porftn.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porftn.hxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/porglue.cxx b/sw/source/core/text/porglue.cxx
index b5a1372893..a4fc537108 100644
--- a/sw/source/core/text/porglue.cxx
+++ b/sw/source/core/text/porglue.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porglue.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -114,7 +111,7 @@ void SwGluePortion::Paint( const SwTxtPaintInfo &rInf ) const
if( rInf.OnWin() && rInf.GetOpt().IsBlank() && rInf.IsNoSymbol() )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
const xub_Unicode cChar = rInf.GetChar( rInf.GetIdx() );
ASSERT( CH_BLANK == cChar || CH_BULLET == cChar,
"SwGluePortion::Paint: blank expected" );
diff --git a/sw/source/core/text/porglue.hxx b/sw/source/core/text/porglue.hxx
index 8c31c03526..d75faf86a0 100644
--- a/sw/source/core/text/porglue.hxx
+++ b/sw/source/core/text/porglue.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porglue.hxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/porhyph.hxx b/sw/source/core/text/porhyph.hxx
index 8448e748f7..ad9af7e0f7 100644
--- a/sw/source/core/text/porhyph.hxx
+++ b/sw/source/core/text/porhyph.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porhyph.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx
index b0e331db47..02f150f2ff 100644
--- a/sw/source/core/text/porlay.cxx
+++ b/sw/source/core/text/porlay.cxx
@@ -1,8 +1,8 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
@@ -47,11 +47,11 @@
#include <com/sun/star/i18n/CTLScriptType.hdl>
#include <com/sun/star/i18n/WordType.hdl>
#include <paratr.hxx>
-#include <svx/adjitem.hxx>
-#include <svx/scripttypeitem.hxx>
-#include <svx/charhiddenitem.hxx>
+#include <editeng/adjitem.hxx>
+#include <editeng/scripttypeitem.hxx>
+#include <editeng/charhiddenitem.hxx>
#include <vcl/outdev.hxx>
-#include <svx/blnkitem.hxx>
+#include <editeng/blnkitem.hxx>
#include <tools/multisel.hxx>
#include <unotools/charclass.hxx>
#include <i18npool/mslangid.hxx>
@@ -195,7 +195,7 @@ sal_Bool lcl_ConnectToPrev( xub_Unicode cCh, xub_Unicode cPrevCh )
// to the left. So we look for the characters that are actually connectable
// to the left. Here is the complete list of WH:
- // (hennerdrewes):
+ // (hennerdrewes):
// added lam forms 0x06B5..0x06B8
// added 0x6FA..0x6FC, according to unicode documentation, although not present in my fonts
// added heh goal 0x6C1
@@ -210,7 +210,7 @@ sal_Bool lcl_ConnectToPrev( xub_Unicode cCh, xub_Unicode cPrevCh )
( 0x6FA <= cPrevCh && cPrevCh <= 0x6FC ) ;
// check for ligatures cPrevChar + cChar
- if( bRet )
+ if( bRet )
bRet = !lcl_IsLigature( cPrevCh, cCh );
return bRet;
}
@@ -1163,7 +1163,7 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
// after a Seen or Sad
if (nPriorityLevel >= 1 && nIdx < nWordLen - 1)
{
- if( isSeenOrSadChar( cCh )
+ if( isSeenOrSadChar( cCh )
&& (rWord.GetChar( nIdx+1 ) != 0x200C) ) // #i98410#: prevent ZWNJ expansion
{
nKashidaPos = aScanner.GetBegin() + nIdx;
@@ -1293,7 +1293,7 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
nLastKashida = nChg;
};
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// check kashida data
long nTmpKashidaPos = -1;
sal_Bool bWrongKash = sal_False;
diff --git a/sw/source/core/text/porlay.hxx b/sw/source/core/text/porlay.hxx
index 4d757c7061..84c9e48a15 100644
--- a/sw/source/core/text/porlay.hxx
+++ b/sw/source/core/text/porlay.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porlay.hxx,v $
- * $Revision: 1.24 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -258,7 +255,7 @@ public:
const SwLinePortion* _pDontConsiderPortion = NULL,
const bool _bNoFlyCntPorAndLinePor = false ) const;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
void DebugPortions( SvStream &rOs, const XubString &rTxt,
const xub_StrLen nStart ); //$ ostream
#endif
diff --git a/sw/source/core/text/porlin.cxx b/sw/source/core/text/porlin.cxx
index 1e866c8323..71f2c20b83 100644
--- a/sw/source/core/text/porlin.cxx
+++ b/sw/source/core/text/porlin.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porlin.cxx,v $
- * $Revision: 1.27 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -47,7 +44,7 @@
#include "porglue.hxx"
#include "inftxt.hxx"
#include "blink.hxx"
-#ifndef PRODUCT
+#ifdef DBG_UTIL
sal_Bool ChkChain( SwLinePortion *pStart )
{
@@ -216,7 +213,7 @@ SwLinePortion *SwLinePortion::Insert( SwLinePortion *pIns )
{
pIns->FindLastPortion()->SetPortion( pPortion );
SetPortion( pIns );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ChkChain( this );
#endif
return pIns;
@@ -247,7 +244,7 @@ SwLinePortion *SwLinePortion::Append( SwLinePortion *pIns )
SwLinePortion *pPos = FindLastPortion();
pPos->SetPortion( pIns );
pIns->SetPortion( 0 );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ChkChain( this );
#endif
return pIns;
@@ -307,7 +304,7 @@ SwPosSize SwLinePortion::GetTxtSize( const SwTxtSizeInfo & ) const
return SwPosSize();
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
/*************************************************************************
* virtual SwLinePortion::Check()
diff --git a/sw/source/core/text/porlin.hxx b/sw/source/core/text/porlin.hxx
index 9beb401c93..119ec7d3b0 100644
--- a/sw/source/core/text/porlin.hxx
+++ b/sw/source/core/text/porlin.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porlin.hxx,v $
- * $Revision: 1.17.214.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -42,7 +39,7 @@ class SwPortionHandler;
// Das CLASSIO-Makro implementiert die 'freischwebende' Funktion.
// Auf diese Weise erhaelt man beide Vorteile: virtuelle Ausgabeoperatoren
// und allgemeine Verwendbarkeit.
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#define OUTPUT_OPERATOR virtual SvStream &operator<<( SvStream & aOs ) const;
#else
#define OUTPUT_OPERATOR
@@ -177,7 +174,7 @@ public:
virtual void Paint( const SwTxtPaintInfo &rInf ) const = 0;
void PrePaint( const SwTxtPaintInfo &rInf, const SwLinePortion *pLast ) const;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
virtual sal_Bool Check( SvStream &rOs, SwTxtSizeInfo &rInfo ); //$ ostream
#endif
diff --git a/sw/source/core/text/pormulti.cxx b/sw/source/core/text/pormulti.cxx
index ea8b756212..f071c96127 100644
--- a/sw/source/core/text/pormulti.cxx
+++ b/sw/source/core/text/pormulti.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: pormulti.cxx,v $
- * $Revision: 1.89.112.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,8 +32,8 @@
#include <hintids.hxx>
#include <com/sun/star/i18n/ScriptType.hdl>
-#include <svx/twolinesitem.hxx>
-#include <svx/charrotateitem.hxx>
+#include <editeng/twolinesitem.hxx>
+#include <editeng/charrotateitem.hxx>
#include <vcl/outdev.hxx>
#include <fmtfld.hxx>
#include <fldbas.hxx> // SwField
diff --git a/sw/source/core/text/pormulti.hxx b/sw/source/core/text/pormulti.hxx
index 54395bf5c6..5e271fa0cc 100644
--- a/sw/source/core/text/pormulti.hxx
+++ b/sw/source/core/text/pormulti.hxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: pormulti.hxx,v $
- * $Revision: 1.26.112.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/porref.cxx b/sw/source/core/text/porref.cxx
index 967d738a07..7ccd76c074 100644
--- a/sw/source/core/text/porref.cxx
+++ b/sw/source/core/text/porref.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porref.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/porref.hxx b/sw/source/core/text/porref.hxx
index ed5da4cf67..9af20f9b63 100644
--- a/sw/source/core/text/porref.hxx
+++ b/sw/source/core/text/porref.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porref.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/porrst.cxx b/sw/source/core/text/porrst.cxx
index 99aeaa49d7..9ca3d5d580 100644
--- a/sw/source/core/text/porrst.cxx
+++ b/sw/source/core/text/porrst.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porrst.cxx,v $
- * $Revision: 1.44 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,11 +29,11 @@
#include "precompiled_sw.hxx"
#include <hintids.hxx>
#include <sfx2/printer.hxx>
-#include <svx/lspcitem.hxx>
-#include <svx/adjitem.hxx>
-#include <svx/escpitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/pgrditem.hxx>
+#include <editeng/lspcitem.hxx>
+#include <editeng/adjitem.hxx>
+#include <editeng/escpitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/pgrditem.hxx>
#include <vcl/window.hxx>
#include <vcl/svapp.hxx>
#include <viewsh.hxx> // ViewShell
@@ -219,6 +216,7 @@ SwArrowPortion::SwArrowPortion( const SwTxtPaintInfo &rInf )
rInf.GetTxtFrm()->Prt().Right();
aPos.Y() = rInf.GetTxtFrm()->Frm().Top() +
rInf.GetTxtFrm()->Prt().Bottom();
+ SetWhichPor( POR_ARROW );
}
void SwArrowPortion::Paint( const SwTxtPaintInfo &rInf ) const
diff --git a/sw/source/core/text/porrst.hxx b/sw/source/core/text/porrst.hxx
index ce97aa1be5..fbbfb02709 100644
--- a/sw/source/core/text/porrst.hxx
+++ b/sw/source/core/text/porrst.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: porrst.hxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/portab.hxx b/sw/source/core/text/portab.hxx
index 547eb1fb51..9c1957f949 100644
--- a/sw/source/core/text/portab.hxx
+++ b/sw/source/core/text/portab.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: portab.hxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/portox.cxx b/sw/source/core/text/portox.cxx
index e1d1da20b0..d358cd0411 100644
--- a/sw/source/core/text/portox.cxx
+++ b/sw/source/core/text/portox.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: portox.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/portox.hxx b/sw/source/core/text/portox.hxx
index 3426cc0901..d2c1228753 100644
--- a/sw/source/core/text/portox.hxx
+++ b/sw/source/core/text/portox.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: portox.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/portxt.cxx b/sw/source/core/text/portxt.cxx
index 6eeb5492e2..7a0e8ec6d1 100644
--- a/sw/source/core/text/portxt.cxx
+++ b/sw/source/core/text/portxt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: portxt.cxx,v $
- * $Revision: 1.51.112.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/portxt.hxx b/sw/source/core/text/portxt.hxx
index 240d40acca..d6133eafed 100644
--- a/sw/source/core/text/portxt.hxx
+++ b/sw/source/core/text/portxt.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: portxt.hxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/possiz.hxx b/sw/source/core/text/possiz.hxx
index 4f09146cf9..ffcb2fa872 100644
--- a/sw/source/core/text/possiz.hxx
+++ b/sw/source/core/text/possiz.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: possiz.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/redlnitr.cxx b/sw/source/core/text/redlnitr.cxx
index 3a9a7a1072..4257c7ad23 100644
--- a/sw/source/core/text/redlnitr.cxx
+++ b/sw/source/core/text/redlnitr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: redlnitr.cxx,v $
- * $Revision: 1.42 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include "hintids.hxx"
-#include <svtools/whiter.hxx>
+#include <svl/whiter.hxx>
#include <tools/shl.hxx>
#ifndef _COM_SUN_STAR_I18N_SCRIPTTYPE_HDL_
#include <com/sun/star/i18n/ScriptType.hdl>
diff --git a/sw/source/core/text/redlnitr.hxx b/sw/source/core/text/redlnitr.hxx
index 1a7316b61e..756ef61024 100644
--- a/sw/source/core/text/redlnitr.hxx
+++ b/sw/source/core/text/redlnitr.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: redlnitr.hxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -39,7 +36,7 @@
#include "swfont.hxx"
#ifndef _SVSTDARR_USHORTS
#define _SVSTDARR_USHORTS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#endif
class SwTxtNode;
diff --git a/sw/source/core/text/txtcache.cxx b/sw/source/core/text/txtcache.cxx
index 79d87f6811..8b2eb4d9c8 100644
--- a/sw/source/core/text/txtcache.cxx
+++ b/sw/source/core/text/txtcache.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtcache.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/txtcache.hxx b/sw/source/core/text/txtcache.hxx
index 7604edfbd1..c9c23f2bef 100644
--- a/sw/source/core/text/txtcache.hxx
+++ b/sw/source/core/text/txtcache.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtcache.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/txtcfg.hxx b/sw/source/core/text/txtcfg.hxx
index 57a5050588..829195591c 100644
--- a/sw/source/core/text/txtcfg.hxx
+++ b/sw/source/core/text/txtcfg.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtcfg.hxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/txtdrop.cxx b/sw/source/core/text/txtdrop.cxx
index 475beaecb3..445a1368d5 100644
--- a/sw/source/core/text/txtdrop.cxx
+++ b/sw/source/core/text/txtdrop.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtdrop.cxx,v $
- * $Revision: 1.27 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -50,9 +47,9 @@
#include <com/sun/star/i18n/ScriptType.hdl>
#endif
#include <com/sun/star/i18n/WordType.hpp>
-#include <svx/langitem.hxx>
+#include <editeng/langitem.hxx>
#include <charatr.hxx>
-#include <svx/fhgtitem.hxx>
+#include <editeng/fhgtitem.hxx>
using namespace ::com::sun::star::i18n;
using namespace ::com::sun::star;
diff --git a/sw/source/core/text/txtfld.cxx b/sw/source/core/text/txtfld.cxx
index 4eae178d3e..64d20d0d4c 100644
--- a/sw/source/core/text/txtfld.cxx
+++ b/sw/source/core/text/txtfld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtfld.cxx,v $
- * $Revision: 1.30.136.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/txtfly.cxx b/sw/source/core/text/txtfly.cxx
index f263deb90c..62532288bc 100644
--- a/sw/source/core/text/txtfly.cxx
+++ b/sw/source/core/text/txtfly.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtfly.cxx,v $
- * $Revision: 1.65.22.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,12 +28,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-#ifndef _OUTDEV_HXX //autogen
#include <vcl/outdev.hxx>
-#endif
-#ifndef _VIRDEV_HXX //autogen
#include <vcl/virdev.hxx>
-#endif
#include "viewsh.hxx"
#include "pagefrm.hxx"
@@ -61,18 +54,12 @@
#include "flyfrms.hxx"
#include "fmtcnct.hxx" // SwFmtChain
#include <pormulti.hxx> // SwMultiPortion
-#ifdef VERT_DISTANCE
-#include <math.h>
-#endif
#include <svx/obj3d.hxx>
-
-#ifndef _TXTRANGE_HXX //autogen
-#include <svx/txtrange.hxx>
-#endif
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
+#include <editeng/txtrange.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
// --> OD 2004-06-16 #i28701#
-#include <svx/lspcitem.hxx>
+#include <editeng/lspcitem.hxx>
// <--
#include <txtflcnt.hxx>
#include <fmtsrnd.hxx>
@@ -83,30 +70,26 @@
#include <tgrditem.hxx>
#include <sortedobjs.hxx>
#include <layouter.hxx>
-#ifndef IDOCUMENTDRAWMODELACCESS_HXX_INCLUDED
#include <IDocumentDrawModelAccess.hxx>
-#endif
#include <IDocumentLayoutAccess.hxx>
#include <IDocumentSettingAccess.hxx>
#include <svx/obj3d.hxx>
-#ifndef _TXTRANGE_HXX //autogen
-#include <svx/txtrange.hxx>
-#endif
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lspcitem.hxx>
+#include <editeng/txtrange.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lspcitem.hxx>
#include <svx/svdoedge.hxx>
+#include "doc.hxx"
-
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#include "viewopt.hxx" // SwViewOptions, nur zum Testen (Test2)
#endif
-#include "doc.hxx"
#ifdef VERT_DISTANCE
#include <math.h>
#endif
+
using namespace ::com::sun::star;
/*****************************************************************************
@@ -1006,8 +989,8 @@ sal_Bool SwTxtFly::DrawTextOpaque( SwDrawTextInfo &rInf )
// --> OD 2006-08-15 #i68520#
GetMaster() == pFly->GetAnchorFrm() ||
// <--
- ( FLY_AT_CNTNT != rAnchor.GetAnchorId() &&
- FLY_AUTO_CNTNT != rAnchor.GetAnchorId()
+ ((FLY_AT_PARA != rAnchor.GetAnchorId()) &&
+ (FLY_AT_CHAR != rAnchor.GetAnchorId())
)
) &&
// --> OD 2006-08-15 #i68520#
@@ -1176,7 +1159,7 @@ sal_Bool SwTxtFly::GetTop( const SwAnchoredObject* _pAnchoredObj,
const SwFrmFmt& rFrmFmt = _pAnchoredObj->GetFrmFmt();
const SwFmtAnchor& rNewA = rFrmFmt.GetAnchor();
// <--
- if ( FLY_PAGE == rNewA.GetAnchorId() )
+ if (FLY_AT_PAGE == rNewA.GetAnchorId())
{
if ( bInFtn )
return sal_False;
@@ -1225,23 +1208,25 @@ sal_Bool SwTxtFly::GetTop( const SwAnchoredObject* _pAnchoredObj,
// If <mpCurrAnchoredObj> is anchored as character, its content
// does not wrap around pNew
- if( FLY_IN_CNTNT == rCurrA.GetAnchorId() )
+ if (FLY_AS_CHAR == rCurrA.GetAnchorId())
return sal_False;
// If pNew is anchored to page and <mpCurrAnchoredObj is not anchored
// to page, the content of <mpCurrAnchoredObj> does not wrap around pNew
// If both pNew and <mpCurrAnchoredObj> are anchored to page, we can do
// some more checks
- if( FLY_PAGE == rNewA.GetAnchorId() )
+ if (FLY_AT_PAGE == rNewA.GetAnchorId())
{
- if( FLY_PAGE == rCurrA.GetAnchorId() )
+ if (FLY_AT_PAGE == rCurrA.GetAnchorId())
+ {
bEvade = sal_True;
+ }
else
return sal_False;
}
- else if( FLY_PAGE == rCurrA.GetAnchorId() )
+ else if (FLY_AT_PAGE == rCurrA.GetAnchorId())
return sal_False; // Seitengebundene weichen nur seitengeb. aus
- else if( FLY_AT_FLY == rNewA.GetAnchorId() )
+ else if (FLY_AT_FLY == rNewA.GetAnchorId())
bEvade = sal_True; // Nicht seitengeb. weichen Rahmengeb. aus
else if( FLY_AT_FLY == rCurrA.GetAnchorId() )
return sal_False; // Rahmengebundene weichen abs.geb. nicht aus
@@ -1285,8 +1270,9 @@ sal_Bool SwTxtFly::GetTop( const SwAnchoredObject* _pAnchoredObj,
// --> OD 2004-10-06 #i26945#
const SwFmtAnchor& rNewA = _pAnchoredObj->GetFrmFmt().GetAnchor();
// <--
- ASSERT( FLY_IN_CNTNT != rNewA.GetAnchorId(), "Don't call GetTop with a FlyInCntFrm" );
- if( FLY_PAGE == rNewA.GetAnchorId() )
+ ASSERT( FLY_AS_CHAR != rNewA.GetAnchorId(),
+ "Don't call GetTop with a FlyInCntFrm" );
+ if (FLY_AT_PAGE == rNewA.GetAnchorId())
return sal_True; // Seitengebundenen wird immer ausgewichen.
// Wenn absatzgebundene Flys in einem FlyCnt gefangen sind, so
@@ -1817,7 +1803,7 @@ const SwRect SwContourCache::ContourRect( const SwFmt* pFmt,
delete pPolyPolygon;
// UPPER_LOWER_TEST
-#ifndef PRODUCT
+#ifdef DBG_UTIL
const SwRootFrm* pTmpRootFrm = pFmt->getIDocumentLayoutAccess()->GetRootFrm();
if( pTmpRootFrm->GetCurrShell() )
{
@@ -1890,7 +1876,7 @@ const SwRect SwContourCache::ContourRect( const SwFmt* pFmt,
* SwContourCache::ShowContour()
* zeichnet die PolyPolygone des Caches zu Debugzwecken.
*************************************************************************/
-#ifndef PRODUCT
+#ifdef DBG_UTIL
void SwContourCache::ShowContour( OutputDevice* pOut, const SdrObject* pObj,
const Color& rClosedColor, const Color& rOpenColor )
@@ -1941,7 +1927,7 @@ void SwContourCache::ShowContour( OutputDevice* pOut, const SdrObject* pObj,
* SwTxtFly::ShowContour()
* zeichnet die PolyPolygone des Caches zu Debugzwecken.
*************************************************************************/
-#ifndef PRODUCT
+#ifdef DBG_UTIL
void SwTxtFly::ShowContour( OutputDevice* pOut )
{
@@ -2015,8 +2001,8 @@ sal_Bool SwTxtFly::ForEach( const SwRect &rRect, SwRect* pRect, sal_Bool bAvoid
// --> OD 2006-08-15 #i68520#
GetMaster() == pAnchoredObj->GetAnchorFrm() ||
// <--
- ( FLY_AT_CNTNT != rAnchor.GetAnchorId() &&
- FLY_AUTO_CNTNT != rAnchor.GetAnchorId() ) ) )
+ ((FLY_AT_PARA != rAnchor.GetAnchorId()) &&
+ (FLY_AT_CHAR != rAnchor.GetAnchorId())) ) )
|| aRect.Top() == WEIT_WECH )
continue;
}
@@ -2442,9 +2428,11 @@ SwSurround SwTxtFly::_GetSurroundForTextWrap( const SwAnchoredObject* pAnchoredO
if( rFlyFmt.IsAnchorOnly() && pAnchoredObj->GetAnchorFrm() != GetMaster() )
{
const SwFmtAnchor& rAnchor = pFmt->GetAnchor();
- if ( FLY_AT_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() )
+ if ((FLY_AT_PARA == rAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rAnchor.GetAnchorId()))
+ {
return SURROUND_NONE;
+ }
}
// Beim Durchlauf und Nowrap wird smart ignoriert.
diff --git a/sw/source/core/text/txtfly.hxx b/sw/source/core/text/txtfly.hxx
index 6849cefb95..f325ee3a5a 100644
--- a/sw/source/core/text/txtfly.hxx
+++ b/sw/source/core/text/txtfly.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtfly.hxx,v $
- * $Revision: 1.15 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -29,7 +26,7 @@
************************************************************************/
#ifndef _TXTFLY_HXX
#define _TXTFLY_HXX
-#include <svtools/svarray.hxx>
+#include <svl/svarray.hxx>
#include "swtypes.hxx"
#include "swrect.hxx"
@@ -102,7 +99,7 @@ public:
const long nXPos,
const sal_Bool bRight );
// <--
-#ifndef PRODUCT
+#ifdef DBG_UTIL
void ShowContour( OutputDevice* pOut, const SdrObject* pObj,
const Color& rClosedColor, const Color& rOpenColor );
#endif
@@ -235,7 +232,7 @@ public:
}
// <--
-#ifndef PRODUCT
+#ifdef DBG_UTIL
void ShowContour( OutputDevice* pOut );
#endif
};
diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx
index 8da2cbf4fb..9d4b913cfb 100644
--- a/sw/source/core/text/txtfrm.cxx
+++ b/sw/source/core/text/txtfrm.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtfrm.cxx,v $
- * $Revision: 1.108.30.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,15 +29,15 @@
#include "precompiled_sw.hxx"
#include <hintids.hxx>
#include <hints.hxx>
-#include <svtools/ctloptions.hxx>
+#include <svl/ctloptions.hxx>
#include <sfx2/printer.hxx>
#include <sfx2/sfxuno.hxx>
-#include <svx/langitem.hxx>
-#include <svx/lspcitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/pgrditem.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/lspcitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/pgrditem.hxx>
#include <swmodule.hxx>
#include <SwSmartTagMgr.hxx>
#include <doc.hxx> // GetDoc()
@@ -65,9 +62,7 @@
#include <txtftn.hxx>
#include <charatr.hxx>
#include <ftninfo.hxx>
-#ifndef _FMTLINE_HXX
#include <fmtline.hxx>
-#endif
#include <txtfrm.hxx> // SwTxtFrm
#include <sectfrm.hxx> // SwSectFrm
#include <txtcfg.hxx> // DBG_LOOP
@@ -76,9 +71,7 @@
#include <txtcache.hxx>
#include <fntcache.hxx> // GetLineSpace benutzt pLastFont
#include <SwGrammarMarkUp.hxx>
-#ifndef _LINEINFO_HXX
#include <lineinfo.hxx>
-#endif
#include <SwPortionHandler.hxx>
// OD 2004-01-15 #110582#
#include <dcontact.hxx>
@@ -101,6 +94,7 @@
extern const sal_Char *GetPrepName( const enum PrepareHint ePrep );
#endif
+
TYPEINIT1( SwTxtFrm, SwCntntFrm );
// Switches width and height of the text frame
@@ -487,7 +481,7 @@ bool lcl_HideObj( const SwTxtFrm& _rFrm,
{
bool bRet( true );
- if ( _eAnchorType == FLY_AUTO_CNTNT )
+ if (_eAnchorType == FLY_AT_CHAR)
{
const IDocumentSettingAccess* pIDSA = _rFrm.GetTxtNode()->getIDocumentSettingAccess();
if ( !pIDSA->get(IDocumentSettingAccess::USE_FORMER_TEXT_WRAPPING) &&
@@ -560,8 +554,9 @@ void SwTxtFrm::HideAndShowObjects()
// under certain conditions
const RndStdIds eAnchorType( pContact->GetAnchorId() );
const xub_StrLen nObjAnchorPos = pContact->GetCntntAnchorIndex().GetIndex();
- if ( eAnchorType != FLY_AUTO_CNTNT ||
- lcl_HideObj( *this, eAnchorType, nObjAnchorPos, (*GetDrawObjs())[i] ) )
+ if ((eAnchorType != FLY_AT_CHAR) ||
+ lcl_HideObj( *this, eAnchorType, nObjAnchorPos,
+ (*GetDrawObjs())[i] ))
{
pContact->MoveObjToInvisibleLayer( pObj );
}
@@ -588,12 +583,12 @@ void SwTxtFrm::HideAndShowObjects()
const RndStdIds eAnchorType( pContact->GetAnchorId() );
// <--
- if ( eAnchorType == FLY_AT_CNTNT )
+ if (eAnchorType == FLY_AT_PARA)
{
pContact->MoveObjToVisibleLayer( pObj );
}
- else if ( eAnchorType == FLY_AUTO_CNTNT ||
- eAnchorType == FLY_IN_CNTNT )
+ else if ((eAnchorType == FLY_AT_CHAR) ||
+ (eAnchorType == FLY_AS_CHAR))
{
xub_StrLen nHiddenStart;
xub_StrLen nHiddenEnd;
@@ -940,17 +935,6 @@ void SwTxtFrm::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew )
InvalidateLineNum();
}
break;
- case RES_INS_CHR:
- {
- nPos = ((SwInsChr*)pNew)->nPos;
- InvalidateRange( SwCharRange( nPos, 1 ), 1 );
- SET_WRONG( nPos, 1, true )
- SET_SCRIPT_INVAL( nPos )
- bSetFldsDirty = sal_True;
- if( HasFollow() )
- lcl_ModifyOfst( this, nPos, 1 );
- }
- break;
case RES_INS_TXT:
{
nPos = ((SwInsTxt*)pNew)->nPos;
@@ -1704,7 +1688,7 @@ void SwTxtFrm::Prepare( const PrepareHint ePrep, const void* pVoid,
// --> OD 2004-07-16 #i28701# - consider all
// to-character anchored objects
if ( pAnchoredObj->GetFrmFmt().GetAnchor().GetAnchorId()
- == FLY_AUTO_CNTNT )
+ == FLY_AT_CHAR )
{
bFormat = sal_True;
break;
diff --git a/sw/source/core/text/txtftn.cxx b/sw/source/core/text/txtftn.cxx
index 4b3befe53a..27c4569991 100644
--- a/sw/source/core/text/txtftn.cxx
+++ b/sw/source/core/text/txtftn.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtftn.cxx,v $
- * $Revision: 1.51.208.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -43,8 +40,8 @@
#include <charfmt.hxx>
#include <dflyobj.hxx>
#include <rowfrm.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/charrotateitem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/charrotateitem.hxx>
#include <breakit.hxx>
#ifndef _COM_SUN_STAR_I18N_SCRIPTTYPE_HDL_
#include <com/sun/star/i18n/ScriptType.hdl>
@@ -106,7 +103,7 @@ SwTxtFrm *SwTxtFrm::FindFtnRef( const SwTxtFtn *pFtn )
* CalcFtnFlag()
*************************************************************************/
-#ifdef PRODUCT
+#ifndef DBG_UTIL
void SwTxtFrm::CalcFtnFlag()
#else
void SwTxtFrm::CalcFtnFlag( xub_StrLen nStop )//Fuer den Test von SplitFrm
@@ -120,7 +117,7 @@ void SwTxtFrm::CalcFtnFlag( xub_StrLen nStop )//Fuer den Test von SplitFrm
const USHORT nSize = pHints->Count();
-#ifdef PRODUCT
+#ifndef DBG_UTIL
const xub_StrLen nEnd = GetFollow() ? GetFollow()->GetOfst() : STRING_LEN;
#else
const xub_StrLen nEnd = nStop != STRING_LEN ? nStop
@@ -364,7 +361,7 @@ SwTwips SwTxtFrm::_GetFtnFrmHeight() const
SwTwips nTmp = (*fnRect->fnYDiff)( (pCont->*fnRect->fnGetPrtBottom)(),
(Frm().*fnRect->fnGetTop)() );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( nTmp < 0 )
{
sal_Bool bInvalidPos = sal_False;
diff --git a/sw/source/core/text/txthyph.cxx b/sw/source/core/text/txthyph.cxx
index 602cc4803d..41c1eff26d 100644
--- a/sw/source/core/text/txthyph.cxx
+++ b/sw/source/core/text/txthyph.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txthyph.cxx,v $
- * $Revision: 1.26 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <com/sun/star/i18n/WordType.hpp>
#include <EnhancedPDFExportHelper.hxx>
#include <viewopt.hxx> // SwViewOptions
@@ -47,7 +44,7 @@
#include <guess.hxx> //
#include <splargs.hxx> // SwInterHyphInfo
-#ifndef PRODUCT
+#ifdef DBG_UTIL
extern const sal_Char *GetLangName( const MSHORT nLang );
#endif
diff --git a/sw/source/core/text/txtinit.cxx b/sw/source/core/text/txtinit.cxx
index 4730568fbb..0c58a7d7ef 100644
--- a/sw/source/core/text/txtinit.cxx
+++ b/sw/source/core/text/txtinit.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtinit.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -79,7 +76,7 @@ void _TextInit()
pFntCache = new SwFntCache; // Cache for SwSubFont -> SwFntObj = { Font aFont, Font* pScrFont, Font* pPrtFont, OutputDevice* pPrinter, ... }
pSwFontCache = new SwFontCache; // Cache for SwTxtFmtColl -> SwFontObj = { SwFont aSwFont, SfxPoolItem* pDefaultArray }
SwCache *pTxtCache = new SwCache( 250, 100 // Cache for SwTxtFrm -> SwTxtLine = { SwParaPortion* pLine }
-#ifndef PRODUCT
+#ifdef DBG_UTIL
, "static SwTxtFrm::pTxtCache"
#endif
);
diff --git a/sw/source/core/text/txtio.cxx b/sw/source/core/text/txtio.cxx
index 0d461f4311..c226e0d538 100644
--- a/sw/source/core/text/txtio.cxx
+++ b/sw/source/core/text/txtio.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtio.cxx,v $
- * $Revision: 1.17.208.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,7 +29,7 @@
#include "precompiled_sw.hxx"
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#error Wer fummelt denn an den makefiles?
#endif
diff --git a/sw/source/core/text/txtpaint.cxx b/sw/source/core/text/txtpaint.cxx
index 0c0ed86b4f..13e15515f4 100644
--- a/sw/source/core/text/txtpaint.cxx
+++ b/sw/source/core/text/txtpaint.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtpaint.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -122,7 +119,7 @@ void SwSaveClip::_ChgClip( const SwRect &rRect, const SwTxtFrm* pFrm,
#endif
}
#if OSL_DEBUG_LEVEL > 1
-#ifndef PRODUCT
+#ifdef DBG_UTIL
static sal_Bool bDbg = sal_False;
if( bDbg )
{
diff --git a/sw/source/core/text/txtpaint.hxx b/sw/source/core/text/txtpaint.hxx
index 81b92bfabd..a1a313b6be 100644
--- a/sw/source/core/text/txtpaint.hxx
+++ b/sw/source/core/text/txtpaint.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtpaint.hxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -71,7 +68,7 @@ inline SwSaveClip::~SwSaveClip()
Reset();
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
/*************************************************************************
* class SwDbgOut
diff --git a/sw/source/core/text/txttab.cxx b/sw/source/core/text/txttab.cxx
index b299cae970..ae9d41a697 100644
--- a/sw/source/core/text/txttab.cxx
+++ b/sw/source/core/text/txttab.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txttab.cxx,v $
- * $Revision: 1.33 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,9 +29,9 @@
#include "precompiled_sw.hxx"
#include "hintids.hxx"
-#include <svx/lrspitem.hxx>
+#include <editeng/lrspitem.hxx>
#ifndef _SVX_TSTPITEM_HXX //autogen
-#include <svx/tstpitem.hxx>
+#include <editeng/tstpitem.hxx>
#endif
#include <IDocumentSettingAccess.hxx>
#include <frmatr.hxx>
@@ -328,7 +325,7 @@ SwTabPortion::SwTabPortion( const KSHORT nTabPosition, const xub_Unicode cFillCh
: SwFixPortion( 0, 0 ), nTabPos(nTabPosition), cFill(cFillChar)
{
nLineLength = 1;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( IsFilled() )
{
ASSERT( ' ' != cFill, "SwTabPortion::CTOR: blanks ?!" );
@@ -563,7 +560,7 @@ sal_Bool SwTabPortion::PostFormat( SwTxtFormatInfo &rInf )
void SwTabPortion::Paint( const SwTxtPaintInfo &rInf ) const
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// Wir wollen uns die Fixbreite anzeigen
if( rInf.OnWin() && OPTDBG( rInf ) &&
!rInf.GetOpt().IsPagePreview() && \
diff --git a/sw/source/core/text/widorp.cxx b/sw/source/core/text/widorp.cxx
index d7ea1cf5cb..1f038a5e6b 100644
--- a/sw/source/core/text/widorp.cxx
+++ b/sw/source/core/text/widorp.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: widorp.cxx,v $
- * $Revision: 1.22.214.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,10 +35,10 @@
#include "ftnboss.hxx"
#include "ndtxt.hxx"
#include "paratr.hxx"
-#include <svx/orphitem.hxx>
-#include <svx/widwitem.hxx>
-#include <svx/keepitem.hxx>
-#include <svx/spltitem.hxx>
+#include <editeng/orphitem.hxx>
+#include <editeng/widwitem.hxx>
+#include <editeng/keepitem.hxx>
+#include <editeng/spltitem.hxx>
#include <frmatr.hxx>
#include <txtftn.hxx>
#include <fmtftn.hxx>
diff --git a/sw/source/core/text/widorp.hxx b/sw/source/core/text/widorp.hxx
index 01d8bd79c9..4c88ee3b00 100644
--- a/sw/source/core/text/widorp.hxx
+++ b/sw/source/core/text/widorp.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: widorp.hxx,v $
- * $Revision: 1.8.214.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/text/wrong.cxx b/sw/source/core/text/wrong.cxx
index 7888802984..e0d8343f02 100644
--- a/sw/source/core/text/wrong.cxx
+++ b/sw/source/core/text/wrong.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: wrong.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/tox/makefile.mk b/sw/source/core/tox/makefile.mk
index 84ddbe668a..60de374491 100644
--- a/sw/source/core/tox/makefile.mk
+++ b/sw/source/core/tox/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.7 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/tox/tox.cxx b/sw/source/core/tox/tox.cxx
index 5a1795a237..92b1f70b14 100644
--- a/sw/source/core/tox/tox.cxx
+++ b/sw/source/core/tox/tox.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: tox.cxx,v $
- * $Revision: 1.22 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -48,8 +45,9 @@
#include <doc.hxx>
#include <docary.hxx>
#include <paratr.hxx>
-#include <svx/tstpitem.hxx>
+#include <editeng/tstpitem.hxx>
#include <SwStyleNameMapper.hxx>
+#include <hints.hxx> // SwPtrMsgPoolItem
// -> #i21237#
#include <algorithm>
@@ -176,10 +174,11 @@ SwFormTokens lcl_GetAuthPattern(USHORT nTypeId)
--------------------------------------------------------------------*/
- // Konstruktor fuers Default vom Attribut-Pool
+/// pool default constructor
SwTOXMark::SwTOXMark()
- : SfxPoolItem( RES_TXTATR_TOXMARK ),
- SwClient( 0 ),
+ : SfxPoolItem( RES_TXTATR_TOXMARK )
+ , SwModify( 0 )
+ ,
pTxtAttr( 0 ),
bAutoGenerated(FALSE),
bMainEntry(FALSE)
@@ -188,8 +187,9 @@ SwTOXMark::SwTOXMark()
SwTOXMark::SwTOXMark( const SwTOXType* pTyp )
- : SfxPoolItem( RES_TXTATR_TOXMARK ),
- SwClient( (SwModify*)pTyp ),
+ : SfxPoolItem( RES_TXTATR_TOXMARK )
+ , SwModify( const_cast<SwTOXType*>(pTyp) )
+ ,
pTxtAttr( 0 ), nLevel( 0 ),
bAutoGenerated(FALSE),
bMainEntry(FALSE)
@@ -198,8 +198,9 @@ SwTOXMark::SwTOXMark( const SwTOXType* pTyp )
SwTOXMark::SwTOXMark( const SwTOXMark& rCopy )
- : SfxPoolItem( RES_TXTATR_TOXMARK ),
- SwClient((SwModify*)rCopy.GetRegisteredIn()),
+ : SfxPoolItem( RES_TXTATR_TOXMARK )
+ , SwModify(rCopy.pRegisteredIn)
+ ,
aPrimaryKey( rCopy.aPrimaryKey ), aSecondaryKey( rCopy.aSecondaryKey ),
aTextReading( rCopy.aTextReading ),
aPrimaryKeyReading( rCopy.aPrimaryKeyReading ),
@@ -230,6 +231,22 @@ SfxPoolItem* SwTOXMark::Clone( SfxItemPool* ) const
return new SwTOXMark( *this );
}
+void SwTOXMark::Modify(SfxPoolItem* pOld, SfxPoolItem* pNew)
+{
+ SwModify::Modify(pOld, pNew);
+ if (pOld && (RES_REMOVE_UNO_OBJECT == pOld->Which()))
+ { // invalidate cached uno object
+ SetXTOXMark(::com::sun::star::uno::Reference<
+ ::com::sun::star::text::XDocumentIndexMark>(0));
+ }
+}
+
+void SwTOXMark::InvalidateTOXMark()
+{
+ SwPtrMsgPoolItem aMsgHint( RES_REMOVE_UNO_OBJECT,
+ &static_cast<SwModify&>(*this) ); // cast to base class!
+ Modify(&aMsgHint, &aMsgHint);
+}
String SwTOXMark::GetText() const
{
diff --git a/sw/source/core/tox/toxhlp.cxx b/sw/source/core/tox/toxhlp.cxx
index eab3d53c7b..50d1d3b804 100644
--- a/sw/source/core/tox/toxhlp.cxx
+++ b/sw/source/core/tox/toxhlp.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: toxhlp.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -62,12 +59,12 @@ IndexEntrySupplierWrapper::IndexEntrySupplierWrapper()
}
}
catch ( UNO_NMSPC::Exception&
-#ifndef PRODUCT
+#ifdef DBG_UTIL
e
#endif
)
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ByteString aMsg( "IndexEntrySupplierWrapper: Exception caught\n" );
aMsg += ByteString( String( e.Message ), RTL_TEXTENCODING_UTF8 );
DBG_ERRORFILE( aMsg.GetBuffer() );
@@ -88,12 +85,12 @@ String IndexEntrySupplierWrapper::GetIndexKey( const String& rTxt,
sRet = xIES->getIndexKey( rTxt, rTxtReading, rLocale );
}
catch ( UNO_NMSPC::Exception&
-#ifndef PRODUCT
+#ifdef DBG_UTIL
e
#endif
)
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ByteString aMsg( "getIndexKey: Exception caught\n" );
aMsg += ByteString( String( e.Message ), RTL_TEXTENCODING_UTF8 );
DBG_ERRORFILE( aMsg.GetBuffer() );
@@ -109,12 +106,12 @@ String IndexEntrySupplierWrapper::GetFollowingText( BOOL bMorePages ) const
sRet = xIES->getIndexFollowPageWord( bMorePages, aLcl );
}
catch ( UNO_NMSPC::Exception&
-#ifndef PRODUCT
+#ifdef DBG_UTIL
e
#endif
)
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ByteString aMsg( "getIndexFollowPageWord: Exception caught\n" );
aMsg += ByteString( String( e.Message ), RTL_TEXTENCODING_UTF8 );
DBG_ERRORFILE( aMsg.GetBuffer() );
@@ -132,12 +129,12 @@ IndexEntrySupplierWrapper::GetAlgorithmList( const STAR_NMSPC::lang::Locale& rLc
sRet = xIES->getAlgorithmList( rLcl );
}
catch ( UNO_NMSPC::Exception&
-#ifndef PRODUCT
+#ifdef DBG_UTIL
e
#endif
)
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ByteString aMsg( "getAlgorithmList: Exception caught\n" );
aMsg += ByteString( String( e.Message ), RTL_TEXTENCODING_UTF8 );
DBG_ERRORFILE( aMsg.GetBuffer() );
@@ -155,12 +152,12 @@ sal_Bool IndexEntrySupplierWrapper::LoadAlgorithm(
bRet = xIES->loadAlgorithm( rLcl, sSortAlgorithm, nOptions );
}
catch ( UNO_NMSPC::Exception&
-#ifndef PRODUCT
+#ifdef DBG_UTIL
e
#endif
)
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ByteString aMsg( "loadAlgorithm: Exception caught\n" );
aMsg += ByteString( String( e.Message ), RTL_TEXTENCODING_UTF8 );
DBG_ERRORFILE( aMsg.GetBuffer() );
@@ -181,12 +178,12 @@ sal_Int16 IndexEntrySupplierWrapper::CompareIndexEntry(
rTxt2, rTxtReading2, rLocale2 );
}
catch ( UNO_NMSPC::Exception&
-#ifndef PRODUCT
+#ifdef DBG_UTIL
e
#endif
)
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ByteString aMsg( "compareIndexEntry: Exception caught\n" );
aMsg += ByteString( String( e.Message ), RTL_TEXTENCODING_UTF8 );
DBG_ERRORFILE( aMsg.GetBuffer() );
diff --git a/sw/source/core/tox/txmsrt.cxx b/sw/source/core/tox/txmsrt.cxx
index 5a128fbf8a..55399e4ea8 100644
--- a/sw/source/core/tox/txmsrt.cxx
+++ b/sw/source/core/tox/txmsrt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txmsrt.cxx,v $
- * $Revision: 1.31 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,7 +32,7 @@
#include <tools/resid.hxx>
#include <unotools/charclass.hxx>
#include <com/sun/star/i18n/CollatorOptions.hpp>
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <txtfld.hxx>
#include <doc.hxx>
#include <docary.hxx>
@@ -191,7 +188,7 @@ SwTOXSortTabBase::SwTOXSortTabBase( TOXSortType nTyp, const SwCntntNode* pNd,
{
SwPosition aPos( *pNd );
const SwDoc& rDoc = *pNd->GetDoc();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( GetBodyTxtNode( rDoc, aPos, *pFrm ),
"wo steht der Absatz" );
#else
diff --git a/sw/source/core/txtnode/SwGrammarContact.cxx b/sw/source/core/txtnode/SwGrammarContact.cxx
index 913fefcd6e..41b494cfbf 100644
--- a/sw/source/core/txtnode/SwGrammarContact.cxx
+++ b/sw/source/core/txtnode/SwGrammarContact.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwGrammarContact.cxx,v $
- * $Revision: 1.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/txtnode/atrfld.cxx b/sw/source/core/txtnode/atrfld.cxx
index 5248100afd..ce1dd11493 100644
--- a/sw/source/core/txtnode/atrfld.cxx
+++ b/sw/source/core/txtnode/atrfld.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: atrfld.cxx,v $
- * $Revision: 1.16.190.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -46,7 +43,7 @@
#include "hints.hxx"
#include <IDocumentFieldsAccess.hxx>
-#include <svtools/smplhint.hxx>
+#include <svl/smplhint.hxx>
TYPEINIT3( SwFmtFld, SfxPoolItem, SwClient,SfxBroadcaster)
TYPEINIT1(SwFmtFldHint, SfxHint);
diff --git a/sw/source/core/txtnode/atrflyin.cxx b/sw/source/core/txtnode/atrflyin.cxx
index 92cbc614d6..bad8b4a5d5 100644
--- a/sw/source/core/txtnode/atrflyin.cxx
+++ b/sw/source/core/txtnode/atrflyin.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: atrflyin.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -124,8 +121,8 @@ void SwTxtFlyCnt::CopyFlyFmt( SwDoc* pDoc )
BOOL bUndo = pDoc->DoesUndo();
pDoc->DoUndo( FALSE );
SwFmtAnchor aAnchor( pFmt->GetAnchor() );
- if( FLY_PAGE != aAnchor.GetAnchorId() &&
- pDoc != pFmt->GetDoc() ) // Unterschiedliche Docs?
+ if ((FLY_AT_PAGE != aAnchor.GetAnchorId()) &&
+ (pDoc != pFmt->GetDoc())) // different documents?
{
// JP 03.06.96: dann sorge dafuer, das der koperierte Anker auf
// gueltigen Content zeigt! Die Umsetzung auf die
@@ -137,8 +134,10 @@ void SwTxtFlyCnt::CopyFlyFmt( SwDoc* pDoc )
SwPosition* pPos = (SwPosition*)aAnchor.GetCntntAnchor();
pPos->nNode = aIdx;
- if( FLY_IN_CNTNT == aAnchor.GetAnchorId() )
+ if (FLY_AS_CHAR == aAnchor.GetAnchorId())
+ {
pPos->nContent.Assign( pCNd, 0 );
+ }
else
{
pPos->nContent.Assign( 0, 0 );
@@ -181,7 +180,7 @@ void SwTxtFlyCnt::SetAnchor( const SwTxtNode *pNode )
else
aPos.nNode = aAnchor.GetCntntAnchor()->nNode;
- aAnchor.SetType( FLY_IN_CNTNT ); // defaulten !!
+ aAnchor.SetType( FLY_AS_CHAR ); // default!
aAnchor.SetAnchor( &aPos );
// beim Ankerwechsel werden immer alle FlyFrms vom Attribut geloescht
diff --git a/sw/source/core/txtnode/atrftn.cxx b/sw/source/core/txtnode/atrftn.cxx
index 73640e2ba6..5334358a07 100644
--- a/sw/source/core/txtnode/atrftn.cxx
+++ b/sw/source/core/txtnode/atrftn.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: atrftn.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,7 +32,7 @@
#define _SVSTDARR_USHORTS
#define _SVSTDARR_USHORTSSORT
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <doc.hxx>
#include <cntfrm.hxx> // ASSERT in ~SwTxtFtn()
#include <pagefrm.hxx> // RemoveFtn()
diff --git a/sw/source/core/txtnode/atrref.cxx b/sw/source/core/txtnode/atrref.cxx
index 831d604fb3..556ad0374c 100644
--- a/sw/source/core/txtnode/atrref.cxx
+++ b/sw/source/core/txtnode/atrref.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: atrref.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/txtnode/atrtox.cxx b/sw/source/core/txtnode/atrtox.cxx
index 4cee6eef1b..baae103f8f 100644
--- a/sw/source/core/txtnode/atrtox.cxx
+++ b/sw/source/core/txtnode/atrtox.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: atrtox.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/txtnode/chrfmt.cxx b/sw/source/core/txtnode/chrfmt.cxx
index 4e3101aab4..d85a265bda 100644
--- a/sw/source/core/txtnode/chrfmt.cxx
+++ b/sw/source/core/txtnode/chrfmt.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: chrfmt.cxx,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/txtnode/fmtatr2.cxx b/sw/source/core/txtnode/fmtatr2.cxx
index 3d0a043920..3833ede9ef 100644
--- a/sw/source/core/txtnode/fmtatr2.cxx
+++ b/sw/source/core/txtnode/fmtatr2.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fmtatr2.cxx,v $
- * $Revision: 1.30 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,9 +32,9 @@
#include "unomid.h"
#include <basic/sbxvar.hxx>
-#include <svtools/macitem.hxx>
-#include <svtools/stritem.hxx>
-#include <svtools/stylepool.hxx>
+#include <svl/macitem.hxx>
+#include <svl/stritem.hxx>
+#include <svl/stylepool.hxx>
#include <fmtautofmt.hxx>
#include <fchrfmt.hxx>
#include <fmtinfmt.hxx>
@@ -57,9 +54,8 @@
#include <ndtxt.hxx> // for meta
#include <doc.hxx> // for meta
#include <unometa.hxx>
-#include <unoobj.hxx> // SwXTextRange
#include <docsh.hxx>
-#include <svtools/zforlist.hxx> // GetNumberFormat
+#include <svl/zforlist.hxx> // GetNumberFormat
#include <boost/bind.hpp>
#include <algorithm>
@@ -188,7 +184,7 @@ BOOL SwFmtAutoFmt::QueryValue( uno::Any& rVal, BYTE ) const
BOOL SwFmtAutoFmt::PutValue( const uno::Any& , BYTE )
{
- //the format is not renameable via API
+ //the format is not renameable via API
return FALSE;
}
@@ -650,19 +646,28 @@ void SwFmtMeta::SetTxtAttr(SwTxtMeta * const i_pTxtAttr)
}
}
-void SwFmtMeta::NotifyRemoval()
+void SwFmtMeta::NotifyChangeTxtNode(SwTxtNode *const pTxtNode)
{
// N.B.: do not reset m_pTxtAttr here: see call in nodes.cxx,
// where the hint is not deleted!
ASSERT(m_pMeta, "NotifyRemoval: no meta ?");
if (m_pMeta)
{
- SwPtrMsgPoolItem aMsgHint( RES_REMOVE_UNO_OBJECT,
- &static_cast<SwModify&>(*m_pMeta) ); // cast to proper base class!
- m_pMeta->Modify(&aMsgHint, &aMsgHint);
+ if (!pTxtNode)
+ {
+ SwPtrMsgPoolItem aMsgHint( RES_REMOVE_UNO_OBJECT,
+ &static_cast<SwModify&>(*m_pMeta) ); // cast to base class!
+ m_pMeta->Modify(&aMsgHint, &aMsgHint);
+ }
+ else
+ { // do not call Modify, that would call SwXMeta::Modify!
+ m_pMeta->NotifyChangeTxtNode();
+ }
}
}
+// UGLY: this really awful method fixes up an inconsistent state,
+// and if it is not called when copying, total chaos will undoubtedly ensue
void SwFmtMeta::DoCopy(SwFmtMeta & rOriginalMeta)
{
ASSERT(m_pMeta, "DoCopy called for SwFmtMeta with no sw::Meta?");
@@ -673,6 +678,8 @@ void SwFmtMeta::DoCopy(SwFmtMeta & rOriginalMeta)
// inserted via MakeTxtAttr! so fix it up to point at the original item
// (maybe would be better to tell MakeTxtAttr that it creates a copy?)
pOriginal->SetFmtMeta(&rOriginalMeta);
+ // force pOriginal to register in original text node!
+ pOriginal->NotifyChangeTxtNode();
if (RES_TXTATR_META == Which())
{
m_pMeta.reset( new ::sw::Meta(this) );
@@ -685,7 +692,10 @@ void SwFmtMeta::DoCopy(SwFmtMeta & rOriginalMeta)
m_pMeta = pTargetDoc->GetMetaFieldManager().makeMetaField( this,
pMetaField->m_nNumberFormat, pMetaField->IsFixedLanguage() );
}
+ // this cannot be done in Clone: a Clone is not necessarily a copy!
m_pMeta->RegisterAsCopyOf(*pOriginal);
+ // force copy Meta to register in target text node!
+ m_pMeta->NotifyChangeTxtNode();
}
}
@@ -718,15 +728,28 @@ SwTxtNode * Meta::GetTxtNode() const
return (pTxtAttr) ? pTxtAttr->GetTxtNode() : 0;
}
-// SwClient
-void Meta::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew )
+void Meta::NotifyChangeTxtNode()
{
SwTxtNode * const pTxtNode( GetTxtNode() );
if (pTxtNode && (GetRegisteredIn() != pTxtNode))
{
pTxtNode->Add(this);
}
+ else if (!pTxtNode && GetRegisteredIn())
+ {
+ const_cast<SwModify *>(GetRegisteredIn())->Remove(this);
+ }
+}
+
+// SwClient
+void Meta::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew )
+{
+ NotifyChangeTxtNode();
SwModify::Modify(pOld, pNew);
+ if (pOld && (RES_REMOVE_UNO_OBJECT == pOld->Which()))
+ { // invalidate cached uno object
+ SetXMeta(uno::Reference<rdf::XMetadatable>(0));
+ }
}
// sw::Metadatable
@@ -765,31 +788,7 @@ bool Meta::IsInContent() const
::com::sun::star::uno::Reference< ::com::sun::star::rdf::XMetadatable >
Meta::MakeUnoObject()
{
- // re-use existing SwXMeta
- SwClientIter iter( *this );
- SwClient * pClient( iter.First( TYPE( SwXMeta ) ) );
- while (pClient) {
- SwXMeta *const pMeta( dynamic_cast<SwXMeta*>(pClient) );
- if (pMeta && pMeta->GetCoreObject() == this) {
- return pMeta;
- }
- pClient = iter.Next();
- }
-
- // create new SwXMeta
- SwTxtMeta * const pTxtAttr( GetTxtAttr() );
- OSL_ENSURE(pTxtAttr, "MakeUnoObject: no text attr?");
- if (!pTxtAttr) return 0;
- SwTxtNode * const pTxtNode( pTxtAttr->GetTxtNode() );
- OSL_ENSURE(pTxtNode, "MakeUnoObject: no text node?");
- if (!pTxtNode) return 0;
- const SwPosition aPos(*pTxtNode, *pTxtAttr->GetStart());
- const uno::Reference<text::XText> xParentText(
- SwXTextRange::CreateParentXText(pTxtNode->GetDoc(), aPos) );
- if (!xParentText.is()) return 0;
- return (RES_TXTATR_META == m_pFmt->Which())
- ? new SwXMeta (pTxtNode->GetDoc(), xParentText, 0, pTxtAttr)
- : new SwXMetaField(pTxtNode->GetDoc(), xParentText, 0, pTxtAttr);
+ return SwXMeta::CreateXMeta(*this);
}
/*************************************************************************
diff --git a/sw/source/core/txtnode/fntcache.cxx b/sw/source/core/txtnode/fntcache.cxx
index 114c5b4e92..78a0f3bb5e 100644
--- a/sw/source/core/txtnode/fntcache.cxx
+++ b/sw/source/core/txtnode/fntcache.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fntcache.cxx,v $
- * $Revision: 1.98.56.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -63,13 +60,13 @@
#include <pagedesc.hxx> // SwPageDesc
#include <tgrditem.hxx>
#include <scriptinfo.hxx>
-#include <svx/brshitem.hxx>
+#include <editeng/brshitem.hxx>
#include <tools/shl.hxx>
#include <swmodule.hxx>
#include <accessibilityoptions.hxx>
#include <svtools/accessibilityoptions.hxx>
#include <doc.hxx>
-#include <svx/fhgtitem.hxx>
+#include <editeng/fhgtitem.hxx>
#include <docsh.hxx>
#ifndef _POOLFMT_HRC
#include <poolfmt.hrc>
@@ -1044,7 +1041,7 @@ void SwFntObj::DrawText( SwDrawTextInfo &rInf )
// a window. Therefore bUseSrcFont is always 0 in this case.
//
-#ifndef PRODUCT
+#ifdef DBG_UTIL
const BOOL bNoAdjust = bPrt ||
( pWin &&
diff --git a/sw/source/core/txtnode/fntcap.cxx b/sw/source/core/txtnode/fntcap.cxx
index 9f32dd7975..6ea87114f7 100644
--- a/sw/source/core/txtnode/fntcap.cxx
+++ b/sw/source/core/txtnode/fntcap.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: fntcap.cxx,v $
- * $Revision: 1.27.210.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
-#include <svx/cmapitem.hxx>
+#include <editeng/cmapitem.hxx>
#ifndef _OUTDEV_HXX //autogen
#include <vcl/outdev.hxx>
@@ -707,7 +704,7 @@ void SwSubFont::DoOnCapitals( SwDoCapitals &rDo )
if( nPos == STRING_LEN || nPos > nMaxPos )
nPos = nMaxPos;
ASSERT( nPos, "nextCharBlock not implemented?" );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( !nPos )
nPos = nMaxPos;
#endif
@@ -821,7 +818,7 @@ void SwSubFont::DoOnCapitals( SwDoCapitals &rDo )
if( nPos == STRING_LEN || nPos > nMaxPos )
nPos = nMaxPos;
ASSERT( nPos, "endOfCharBlock not implemented?" );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( !nPos )
nPos = nMaxPos;
#endif
diff --git a/sw/source/core/txtnode/makefile.mk b/sw/source/core/txtnode/makefile.mk
index 36c6e09d6b..f03f96c426 100644
--- a/sw/source/core/txtnode/makefile.mk
+++ b/sw/source/core/txtnode/makefile.mk
@@ -1,15 +1,11 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2008 by Sun Microsystems, Inc.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.14 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/txtnode/modeltoviewhelper.cxx b/sw/source/core/txtnode/modeltoviewhelper.cxx
index d904f87957..a9ea696ea8 100644
--- a/sw/source/core/txtnode/modeltoviewhelper.cxx
+++ b/sw/source/core/txtnode/modeltoviewhelper.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: modeltoviewhelper.cxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/txtnode/ndhints.cxx b/sw/source/core/txtnode/ndhints.cxx
index 1cb509fd3e..321e32de7e 100644
--- a/sw/source/core/txtnode/ndhints.cxx
+++ b/sw/source/core/txtnode/ndhints.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ndhints.cxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -50,7 +47,7 @@ _SV_IMPL_SORTAR_ALG( SwpHtEnd, SwTxtAttr* )
void DumpHints( const SwpHtStart &rHtStart,
const SwpHtEnd &rHtEnd )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
aDbstream << "DumpHints:" << endl;
(aDbstream << "\tStarts:" ).WriteNumber(rHtStart.Count()) << endl;
for( USHORT i = 0; i < rHtStart.Count(); ++i )
@@ -247,7 +244,7 @@ BOOL SwpHtEnd::Seek_Entry( const SwTxtAttr *pElement, USHORT *pPos ) const
void SwpHintsArray::Insert( const SwTxtAttr *pHt )
{
Resort();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
USHORT nPos;
ASSERT(!m_HintStarts.Seek_Entry( pHt, &nPos ),
"Insert: hint already in HtStart");
@@ -256,7 +253,7 @@ void SwpHintsArray::Insert( const SwTxtAttr *pHt )
#endif
m_HintStarts.Insert( pHt );
m_HintEnds.Insert( pHt );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#ifdef NIE
(aDbstream << "Insert: " ).WriteNumber( long( pHt ) ) << endl;
DumpHints( m_HintStarts, m_HintEnds );
@@ -275,7 +272,7 @@ void SwpHintsArray::DeleteAtPos( const USHORT nPos )
USHORT nEndPos;
m_HintEnds.Seek_Entry( pHt, &nEndPos );
m_HintEnds.Remove( nEndPos );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#ifdef NIE
(aDbstream << "DeleteAtPos: " ).WriteNumber( long( pHt ) ) << endl;
DumpHints( m_HintStarts, m_HintEnds );
@@ -283,7 +280,7 @@ void SwpHintsArray::DeleteAtPos( const USHORT nPos )
#endif
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
/*************************************************************************
* SwpHintsArray::Check()
@@ -441,7 +438,7 @@ bool SwpHintsArray::Resort()
if( pLast && !lcl_IsLessStart( *pLast, *pHt ) )
{
#ifdef NIE
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// ASSERT( bResort, "!Resort/Start: correcting hints-array" );
aDbstream << "Resort: Starts" << endl;
DumpHints( m_HintStarts, m_HintEnds );
@@ -464,7 +461,7 @@ bool SwpHintsArray::Resort()
if( pLast && !lcl_IsLessEnd( *pLast, *pHt ) )
{
#ifdef NIE
-#ifndef PRODUCT
+#ifdef DBG_UTIL
aDbstream << "Resort: Ends" << endl;
DumpHints( m_HintStarts, m_HintEnds );
#endif
@@ -480,7 +477,7 @@ bool SwpHintsArray::Resort()
}
pLast = pHt;
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#ifdef NIE
aDbstream << "Resorted:" << endl;
DumpHints( m_HintStarts, m_HintEnds );
diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index 3df01632b8..9a9dbcb6a5 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: ndtxt.cxx,v $
- * $Revision: 1.86.66.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,19 +30,19 @@
#include <hintids.hxx>
#include <hints.hxx>
-#include <svx/fontitem.hxx>
-#include <svx/brkitem.hxx>
-#include <svx/escpitem.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/fontitem.hxx>
+#include <editeng/brkitem.hxx>
+#include <editeng/escpitem.hxx>
+#include <editeng/lrspitem.hxx>
// --> OD 2008-01-17 #newlistlevelattrs#
-#include <svx/tstpitem.hxx>
+#include <editeng/tstpitem.hxx>
// <--
-#include <svtools/urihelper.hxx>
+#include <svl/urihelper.hxx>
#ifndef _SVSTDARR_HXX
#define _SVSTDARR_ULONGS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#endif
-#include <svtools/ctloptions.hxx>
+#include <svl/ctloptions.hxx>
#include <swmodule.hxx>
#include <txtfld.hxx>
#include <txtinet.hxx>
@@ -92,13 +89,13 @@
#include <numrule.hxx>
//--> #outlinelevel added by zhaojianwei
-#include <svtools/intitem.hxx>
+#include <svl/intitem.hxx>
//<--end
#include <swtable.hxx>
#include <docsh.hxx>
#include <SwNodeNum.hxx>
// --> OD 2008-02-25 #refactorlists#
-#include <svtools/intitem.hxx>
+#include <svl/intitem.hxx>
#include <list.hxx>
// <--
@@ -111,7 +108,7 @@ SV_DECL_PTRARR(SwpHts,SwTxtAttr*,1,1)
// Leider ist das SwpHints nicht ganz wasserdicht:
// Jeder darf an den Hints rumfummeln, ohne die Sortierreihenfolge
// und Verkettung sicherstellen zu muessen.
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#define CHECK_SWPHINTS(pNd) { if( pNd->GetpSwpHints() && \
!pNd->GetDoc()->IsInReading() ) \
pNd->GetpSwpHints()->Check(); }
@@ -372,7 +369,7 @@ void lcl_ChangeFtnRef( SwTxtNode &rNode )
((SwTxtFrm*)pFrm)->SetFtn( TRUE );
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
while( 0 != (pCntnt = (SwCntntFrm*)aIter.Next()) )
{
SwFtnFrm *pDbgFtn = pCntnt->FindFtnFrm();
@@ -3623,6 +3620,12 @@ void SwTxtNode::Modify( SfxPoolItem* pOldValue, SfxPoolItem* pNewValue )
}
m_bNotifiable = bWasNotifiable;
+
+ if (pOldValue && (RES_REMOVE_UNO_OBJECT == pOldValue->Which()))
+ { // invalidate cached uno object
+ SetXParagraph(::com::sun::star::uno::Reference<
+ ::com::sun::star::text::XTextContent>(0));
+ }
}
SwFmtColl* SwTxtNode::ChgFmtColl( SwFmtColl *pNewColl )
@@ -4972,27 +4975,15 @@ bool SwTxtNode::IsInContent() const
return !GetDoc()->IsInHeaderFooter( SwNodeIndex(*this) );
}
-#include <unoobj.hxx>
+#include <unoparagraph.hxx>
-::com::sun::star::uno::Reference< ::com::sun::star::rdf::XMetadatable >
+using namespace ::com::sun::star;
+
+uno::Reference< rdf::XMetadatable >
SwTxtNode::MakeUnoObject()
{
- // re-use existing SwXParagraph
- SwClientIter iter( *this );
- SwClient * pClient( iter.First( TYPE( SwXParagraph ) ) );
- while (pClient) {
- SwXParagraph *pPara( dynamic_cast<SwXParagraph*>(pClient) );
- if (pPara && pPara->GetCoreObject() == this ) {
- return pPara;
- }
- pClient = iter.Next();
- }
-
- // create new SwXParagraph
- SwPosition Pos( *this );
- ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > xParent(
- SwXTextRange::CreateParentXText( GetDoc(), Pos ) );
- SwXParagraph * pXPara( new SwXParagraph( xParent, this ) );
- return pXPara;
+ const uno::Reference<rdf::XMetadatable> xMeta(
+ SwXParagraph::CreateXParagraph(*GetDoc(), *this), uno::UNO_QUERY);
+ return xMeta;
}
diff --git a/sw/source/core/txtnode/swfntcch.cxx b/sw/source/core/txtnode/swfntcch.cxx
index f00f8aac1f..fff8a021a9 100644
--- a/sw/source/core/txtnode/swfntcch.cxx
+++ b/sw/source/core/txtnode/swfntcch.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swfntcch.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/txtnode/swfont.cxx b/sw/source/core/txtnode/swfont.cxx
index 5a4d720489..66508628c1 100644
--- a/sw/source/core/txtnode/swfont.cxx
+++ b/sw/source/core/txtnode/swfont.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swfont.cxx,v $
- * $Revision: 1.59.24.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -41,36 +38,36 @@
#include <vcl/outdev.hxx>
#endif
#include <unotools/localedatawrapper.hxx>
-#include <svx/unolingu.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/wrlmitem.hxx>
-#include <svx/blnkitem.hxx>
-#include <svx/nhypitem.hxx>
-#include <svx/kernitem.hxx>
-#include <svx/cmapitem.hxx>
-#include <svx/langitem.hxx>
-#include <svx/escpitem.hxx>
-#include <svx/akrnitem.hxx>
-#include <svx/shdditem.hxx>
-#include <svx/charreliefitem.hxx>
+#include <editeng/unolingu.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/wrlmitem.hxx>
+#include <editeng/blnkitem.hxx>
+#include <editeng/nhypitem.hxx>
+#include <editeng/kernitem.hxx>
+#include <editeng/cmapitem.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/escpitem.hxx>
+#include <editeng/akrnitem.hxx>
+#include <editeng/shdditem.hxx>
+#include <editeng/charreliefitem.hxx>
#ifndef _SVX_CNTRITEM_HXX //autogen
-#include <svx/cntritem.hxx>
+#include <editeng/cntritem.hxx>
#endif
-#include <svx/colritem.hxx>
-#include <svx/cscoitem.hxx>
-#include <svx/crsditem.hxx>
-#include <svx/udlnitem.hxx>
-#include <svx/wghtitem.hxx>
-#include <svx/postitem.hxx>
-#include <svx/fhgtitem.hxx>
-#include <svx/fontitem.hxx>
+#include <editeng/colritem.hxx>
+#include <editeng/cscoitem.hxx>
+#include <editeng/crsditem.hxx>
+#include <editeng/udlnitem.hxx>
+#include <editeng/wghtitem.hxx>
+#include <editeng/postitem.hxx>
+#include <editeng/fhgtitem.hxx>
+#include <editeng/fontitem.hxx>
#ifndef _SVX_EMPHITEM_HXX //autogen
-#include <svx/emphitem.hxx>
+#include <editeng/emphitem.hxx>
#endif
-#include <svx/charscaleitem.hxx>
-#include <svx/charrotateitem.hxx>
-#include <svx/twolinesitem.hxx>
-#include <svx/charhiddenitem.hxx>
+#include <editeng/charscaleitem.hxx>
+#include <editeng/charrotateitem.hxx>
+#include <editeng/twolinesitem.hxx>
+#include <editeng/charhiddenitem.hxx>
#include <IDocumentSettingAccess.hxx>
#include <vcl/window.hxx>
#include <charatr.hxx>
@@ -88,7 +85,7 @@
#define FNT_ATM_HACK
#endif
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// globale Variable
SvStatistics aSvStat;
#endif
@@ -825,7 +822,7 @@ Size SwSubFont::_GetTxtSize( SwDrawTextInfo& rInf )
rInf.SetText( aNewText );
rInf.SetIdx( 0 );
rInf.SetLen( aNewText.Len() );
- aTxtSize = pLastFont->GetTextSize( rInf );
+ aTxtSize = pLastFont->GetTextSize( rInf );
rInf.SetIdx( nOldIdx );
rInf.SetLen( nOldLen );
}
@@ -837,9 +834,9 @@ Size SwSubFont::_GetTxtSize( SwDrawTextInfo& rInf )
rInf.SetText( aNewText );
rInf.SetIdx( 0 );
rInf.SetLen( aNewText.Len() );
- aTxtSize = pLastFont->GetTextSize( rInf );
+ aTxtSize = pLastFont->GetTextSize( rInf );
rInf.SetIdx( nOldIdx );
- rInf.SetLen( nOldLen );
+ rInf.SetLen( nOldLen );
}
return aTxtSize;
diff --git a/sw/source/core/txtnode/thints.cxx b/sw/source/core/txtnode/thints.cxx
index 8aa1e690dd..d5fbf01160 100644
--- a/sw/source/core/txtnode/thints.cxx
+++ b/sw/source/core/txtnode/thints.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: thints.cxx,v $
- * $Revision: 1.65.62.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,17 +31,17 @@
#include <hintids.hxx>
#include <sot/factory.hxx>
-#include <svx/xmlcnitm.hxx>
-#include <svtools/whiter.hxx>
-#include <svtools/itemiter.hxx>
-#include <svtools/stylepool.hxx>
-#include <svx/fontitem.hxx>
-#include <svx/langitem.hxx>
-#include <svx/emphitem.hxx>
-#include <svx/charscaleitem.hxx>
-#include <svx/charrotateitem.hxx>
+#include <editeng/xmlcnitm.hxx>
+#include <svl/whiter.hxx>
+#include <svl/itemiter.hxx>
+#include <svl/stylepool.hxx>
+#include <editeng/fontitem.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/emphitem.hxx>
+#include <editeng/charscaleitem.hxx>
+#include <editeng/charrotateitem.hxx>
// --> OD 2008-01-16 #newlistlevelattrs#
-#include <svx/lrspitem.hxx>
+#include <editeng/lrspitem.hxx>
// <--
#include <txtinet.hxx>
#include <txtflcnt.hxx>
@@ -84,11 +81,11 @@
// OD 26.06.2003 #108784#
#include <dcontact.hxx>
#include <docsh.hxx>
-#include <svtools/smplhint.hxx>
+#include <svl/smplhint.hxx>
#include <algorithm>
#include <map>
-#ifndef PRODUCT
+#ifdef DBG_UTIL
#define CHECK Check();
#else
#define CHECK
@@ -114,6 +111,11 @@ struct TxtAttrDeleter
TxtAttrDeleter( SwDoc & rDoc ) : m_rPool( rDoc.GetAttrPool() ) { }
void operator() (SwTxtAttr * const pAttr)
{
+ if (RES_TXTATR_META == pAttr->Which() ||
+ RES_TXTATR_METAFIELD == pAttr->Which())
+ {
+ static_cast<SwTxtMeta *>(pAttr)->ChgTxtNode(0); // prevents ASSERT
+ }
SwTxtAttr::Destroy( pAttr, m_rPool );
}
};
@@ -153,12 +155,15 @@ bool isOverlap(const xub_StrLen nStart1, const xub_StrLen nEnd1,
|| ((nStart1 < nStart2) && (nStart2 < nEnd1) && (nEnd1 < nEnd2)); // (2)
}
+/// #i106930#: now asymmetric: empty hint1 is _not_ nested, but empty hint2 is
static
bool isNestedAny(const xub_StrLen nStart1, const xub_StrLen nEnd1,
const xub_StrLen nStart2, const xub_StrLen nEnd2)
{
- return (nStart1 == nStart2) // in this case ends do not matter
- || ((nStart1 < nStart2) ? (nEnd1 >= nEnd2) : (nEnd1 <= nEnd2));
+ return ((nStart1 == nStart2) || (nEnd1 == nEnd2))
+ // same start/end: nested except if hint1 empty and hint2 not empty
+ ? (nStart1 != nEnd1) || (nStart2 == nEnd2)
+ : ((nStart1 < nStart2) ? (nEnd1 >= nEnd2) : (nEnd1 <= nEnd2));
}
static
@@ -658,7 +663,7 @@ void SwpHints::BuildPortions( SwTxtNode& rNode, SwTxtAttr& rNewHint,
}
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( !rNode.GetDoc()->IsInReading() )
CHECK;
#endif
@@ -1166,7 +1171,7 @@ void SwTxtNode::DestroyAttr( SwTxtAttr* pAttr )
break;
case RES_TXTATR_TOXMARK:
- nDelMsg = RES_TOXMARK_DELETED;
+ static_cast<SwTOXMark&>(pAttr->GetAttr()).InvalidateTOXMark();
break;
case RES_TXTATR_REFMARK:
@@ -1175,7 +1180,7 @@ void SwTxtNode::DestroyAttr( SwTxtAttr* pAttr )
case RES_TXTATR_META:
case RES_TXTATR_METAFIELD:
- static_cast<SwFmtMeta&>(pAttr->GetAttr()).NotifyRemoval();
+ static_cast<SwTxtMeta*>(pAttr)->ChgTxtNode(0);
break;
default:
@@ -1267,11 +1272,15 @@ bool SwTxtNode::InsertHint( SwTxtAttr * const pAttr, const SetAttrMode nMode )
InsertText( c, aIdx, nInsertFlags );
nInsMode |= nsSetAttrMode::SETATTR_NOTXTATRCHR;
- if( pAnchor && FLY_IN_CNTNT == pAnchor->GetAnchorId() &&
+ if (pAnchor &&
+ (FLY_AS_CHAR == pAnchor->GetAnchorId()) &&
pAnchor->GetCntntAnchor() &&
pAnchor->GetCntntAnchor()->nNode == *this &&
pAnchor->GetCntntAnchor()->nContent == aIdx )
- ((SwIndex&)pAnchor->GetCntntAnchor()->nContent)--;
+ {
+ const_cast<SwIndex&>(
+ pAnchor->GetCntntAnchor()->nContent)--;
+ }
}
pFly->SetAnchor( this );
@@ -1410,11 +1419,11 @@ bool SwTxtNode::InsertHint( SwTxtAttr * const pAttr, const SetAttrMode nMode )
// FussNote im Redline-Bereich NICHT ins FtnArray einfuegen!
if( StartOfSectionIndex() > rNodes.GetEndOfRedlines().GetIndex() )
{
-#ifndef PRODUCT
+#ifdef DBG_UTIL
const BOOL bSuccess =
#endif
pDoc->GetFtnIdxs().Insert( pTxtFtn );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
ASSERT( bSuccess, "FtnIdx nicht eingetragen." );
#endif
}
@@ -2614,7 +2623,7 @@ bool SwpHints::TryInsertHint( SwTxtAttr* const pHint, SwTxtNode &rNode,
{
SwpHintsArray::Insert( pHint );
CalcFlags();
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( !rNode.GetDoc()->IsInReading() )
CHECK;
#endif
@@ -2707,7 +2716,7 @@ bool SwpHints::TryInsertHint( SwTxtAttr* const pHint, SwTxtNode &rNode,
rNode.Modify( 0, &aHint );
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if( !bNoHintAdjustMode && !rNode.GetDoc()->IsInReading() )
CHECK;
#endif
diff --git a/sw/source/core/txtnode/txatbase.cxx b/sw/source/core/txtnode/txatbase.cxx
index 61b425ccce..d8d44d9650 100644
--- a/sw/source/core/txtnode/txatbase.cxx
+++ b/sw/source/core/txtnode/txatbase.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txatbase.cxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,7 +29,7 @@
#include "precompiled_sw.hxx"
-#include <svtools/itempool.hxx>
+#include <svl/itempool.hxx>
#include <txatbase.hxx>
#include <fmtfld.hxx>
#include <docufld.hxx>
diff --git a/sw/source/core/txtnode/txatritr.cxx b/sw/source/core/txtnode/txatritr.cxx
index cb3c9e4666..6dea1a8aaf 100644
--- a/sw/source/core/txtnode/txatritr.cxx
+++ b/sw/source/core/txtnode/txatritr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txatritr.cxx,v $
- * $Revision: 1.13 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,7 +35,7 @@
#include <com/sun/star/i18n/ScriptType.hdl>
#endif
#include <tools/string.hxx>
-#include <svx/langitem.hxx>
+#include <editeng/langitem.hxx>
#include <txatritr.hxx>
#include <fchrfmt.hxx>
#include <charfmt.hxx>
diff --git a/sw/source/core/txtnode/txtatr2.cxx b/sw/source/core/txtnode/txtatr2.cxx
index d9d94b05b2..61fa4b4a70 100644
--- a/sw/source/core/txtnode/txtatr2.cxx
+++ b/sw/source/core/txtnode/txtatr2.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtatr2.cxx,v $
- * $Revision: 1.21 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,8 +31,8 @@
#include <hintids.hxx>
#include <hints.hxx>
#include <sfx2/objsh.hxx>
-#include <svx/xmlcnitm.hxx>
-#include <svx/twolinesitem.hxx>
+#include <editeng/xmlcnitm.hxx>
+#include <editeng/twolinesitem.hxx>
#include <txtinet.hxx>
#include <txtatr.hxx>
#include <fchrfmt.hxx>
@@ -329,3 +326,13 @@ SwTxtMeta::~SwTxtMeta()
}
}
+void SwTxtMeta::ChgTxtNode(SwTxtNode * const pNode)
+{
+ m_pTxtNode = pNode; // before Notify!
+ SwFmtMeta & rFmtMeta( static_cast<SwFmtMeta &>(GetAttr()) );
+ if (rFmtMeta.GetTxtAttr() == this)
+ {
+ rFmtMeta.NotifyChangeTxtNode(pNode);
+ }
+}
+
diff --git a/sw/source/core/txtnode/txtedt.cxx b/sw/source/core/txtnode/txtedt.cxx
index 15f98f4d1f..e3f5fdcae8 100644
--- a/sw/source/core/txtnode/txtedt.cxx
+++ b/sw/source/core/txtnode/txtedt.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: txtedt.cxx,v $
- * $Revision: 1.92 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -41,12 +38,12 @@
#endif
#include <hintids.hxx>
#include <vcl/svapp.hxx>
-#include <svtools/itemiter.hxx>
-#include <svx/splwrap.hxx>
-#include <svx/langitem.hxx>
-#include <svx/fontitem.hxx>
-#include <svx/scripttypeitem.hxx>
-#include <svx/hangulhanja.hxx>
+#include <svl/itemiter.hxx>
+#include <editeng/splwrap.hxx>
+#include <editeng/langitem.hxx>
+#include <editeng/fontitem.hxx>
+#include <editeng/scripttypeitem.hxx>
+#include <editeng/hangulhanja.hxx>
#include <SwSmartTagMgr.hxx>
#include <linguistic/lngprops.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
@@ -368,7 +365,6 @@ static bool lcl_HaveCommonAttributes( IStyleAccess& rStyleAccess,
return bRet;
}
-
inline BOOL InRange(xub_StrLen nIdx, xub_StrLen nStart, xub_StrLen nEnd) {
return ((nIdx >=nStart) && (nIdx <= nEnd));
}
@@ -1025,8 +1021,8 @@ USHORT SwTxtNode::Convert( SwConversionArgs &rArgs )
do {
nLangFound = aIter.GetLanguage();
sal_Bool bLangOk = (nLangFound == rArgs.nConvSrcLang) ||
- (svx::HangulHanjaConversion::IsChinese( nLangFound ) &&
- svx::HangulHanjaConversion::IsChinese( rArgs.nConvSrcLang ));
+ (editeng::HangulHanjaConversion::IsChinese( nLangFound ) &&
+ editeng::HangulHanjaConversion::IsChinese( rArgs.nConvSrcLang ));
xub_StrLen nChPos = aIter.GetChgPos();
// the position at the end of the paragraph returns -1
diff --git a/sw/source/core/undo/SwRewriter.cxx b/sw/source/core/undo/SwRewriter.cxx
index 2267497a31..07e51eb1c5 100644
--- a/sw/source/core/undo/SwRewriter.cxx
+++ b/sw/source/core/undo/SwRewriter.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwRewriter.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/SwUndoField.cxx b/sw/source/core/undo/SwUndoField.cxx
index a324432c90..ccc1f4d211 100644
--- a/sw/source/core/undo/SwUndoField.cxx
+++ b/sw/source/core/undo/SwUndoField.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwUndoField.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/SwUndoFmt.cxx b/sw/source/core/undo/SwUndoFmt.cxx
index 473aeb2cc9..339f3374f2 100644
--- a/sw/source/core/undo/SwUndoFmt.cxx
+++ b/sw/source/core/undo/SwUndoFmt.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwUndoFmt.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/SwUndoPageDesc.cxx b/sw/source/core/undo/SwUndoPageDesc.cxx
index d7ee78b070..b6eb8797ec 100644
--- a/sw/source/core/undo/SwUndoPageDesc.cxx
+++ b/sw/source/core/undo/SwUndoPageDesc.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwUndoPageDesc.cxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/SwUndoTOXChange.cxx b/sw/source/core/undo/SwUndoTOXChange.cxx
index 8368b8507c..8c1d6dcd8c 100644
--- a/sw/source/core/undo/SwUndoTOXChange.cxx
+++ b/sw/source/core/undo/SwUndoTOXChange.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwUndoTOXChange.cxx,v $
- * $Revision: 1.7 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/docundo.cxx b/sw/source/core/undo/docundo.cxx
index 35c09ac23b..f596898aae 100644
--- a/sw/source/core/undo/docundo.cxx
+++ b/sw/source/core/undo/docundo.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: docundo.cxx,v $
- * $Revision: 1.26 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -203,9 +200,9 @@ void SwDoc::AppendUndo( SwUndo* pUndo )
USHORT nEnde = UNDO_ACTION_LIMIT;
// nur zum Testen der neuen DOC-Member
-#ifndef PRODUCT
+#ifdef DBG_UTIL
{
- SwUndoId nId = UNDO_EMPTY;
+ SwUndoId nId = UNDO_EMPTY;
USHORT nUndosCnt = 0, nSttEndCnt = 0;
for( USHORT nCnt = 0; nCnt < nUndoPos; ++nCnt )
{
@@ -551,7 +548,7 @@ SwUndoId SwDoc::EndUndo(SwUndoId eUndoId, const SwRewriter * pRewriter)
pUndoEnd->SetSttOffset( nSize );
// nur zum Testen der Start/End-Verpointerung vom Start/End Undo
-#ifndef PRODUCT
+#ifdef DBG_UTIL
{
USHORT nEndCnt = 1, nCnt = pUndos->Count();
SwUndoId nTmpId = UNDO_EMPTY;
diff --git a/sw/source/core/undo/makefile.mk b/sw/source/core/undo/makefile.mk
index 4c7a332eec..d6e6766a0f 100644
--- a/sw/source/core/undo/makefile.mk
+++ b/sw/source/core/undo/makefile.mk
@@ -1,15 +1,11 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2008 by Sun Microsystems, Inc.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.10 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/rolbck.cxx b/sw/source/core/undo/rolbck.cxx
index 72da13fe5a..0f56140366 100644
--- a/sw/source/core/undo/rolbck.cxx
+++ b/sw/source/core/undo/rolbck.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: rolbck.cxx,v $
- * $Revision: 1.24 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#include <fmtftn.hxx>
#include <fchrfmt.hxx>
#include <fmtflcnt.hxx>
@@ -69,7 +66,7 @@
#ifndef _UNDO_HRC
#include <undo.hrc>
#endif
-#include <svx/brkitem.hxx>
+#include <editeng/brkitem.hxx>
#include <bookmrk.hxx>
SV_IMPL_PTRARR( SwpHstry, SwHistoryHintPtr)
@@ -922,7 +919,7 @@ SwHistoryChangeFlyAnchor::SwHistoryChangeFlyAnchor( SwFrmFmt& rFmt )
: SwHistoryHint( HSTRY_CHGFLYANCHOR )
, m_rFmt( rFmt )
, m_nOldNodeIndex( rFmt.GetAnchor().GetCntntAnchor()->nNode.GetIndex() )
- , m_nOldContentIndex( ( FLY_AUTO_CNTNT == rFmt.GetAnchor().GetAnchorId() )
+ , m_nOldContentIndex( (FLY_AT_CHAR == rFmt.GetAnchor().GetAnchorId())
? rFmt.GetAnchor().GetCntntAnchor()->nContent.GetIndex()
: STRING_MAXLEN )
{
diff --git a/sw/source/core/undo/unattr.cxx b/sw/source/core/undo/unattr.cxx
index 512c7c1afe..d24b364f67 100644
--- a/sw/source/core/undo/unattr.cxx
+++ b/sw/source/core/undo/unattr.cxx
@@ -1,15 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unattr.cxx,v $
- *
- * $Revision: 1.21 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,9 +33,9 @@
#define _SVSTDARR_USHORTSSORT
#include <hintids.hxx>
#include <svx/svdmodel.hxx>
-#include <svx/tstpitem.hxx>
+#include <editeng/tstpitem.hxx>
#include <svx/svdpage.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#include <fmtflcnt.hxx>
@@ -462,10 +458,10 @@ void SwUndoFmtAttr::SaveFlyAnchor( bool bSvDrwPt )
xub_StrLen nCntnt = 0;
switch( rAnchor.GetAnchorId() )
{
- case FLY_IN_CNTNT:
- case FLY_AUTO_CNTNT:
+ case FLY_AS_CHAR:
+ case FLY_AT_CHAR:
nCntnt = rAnchor.GetCntntAnchor()->nContent.GetIndex();
- case FLY_AT_CNTNT:
+ case FLY_AT_PARA:
case FLY_AT_FLY:
m_nNodeIndex = rAnchor.GetCntntAnchor()->nNode.GetIndex();
break;
@@ -489,7 +485,7 @@ bool SwUndoFmtAttr::RestoreFlyAnchor( SwUndoIter& rIter )
static_cast<const SwFmtAnchor&>( m_pOldSet->Get( RES_ANCHOR, FALSE ) );
SwFmtAnchor aNewAnchor( rAnchor.GetAnchorId() );
- if( FLY_PAGE != rAnchor.GetAnchorId() )
+ if (FLY_AT_PAGE != rAnchor.GetAnchorId())
{
SwNode* pNd = pDoc->GetNodes()[ m_nNodeIndex ];
@@ -505,8 +501,8 @@ bool SwUndoFmtAttr::RestoreFlyAnchor( SwUndoIter& rIter )
}
SwPosition aPos( *pNd );
- if( FLY_IN_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() )
+ if ((FLY_AS_CHAR == rAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rAnchor.GetAnchorId()))
{
aPos.nContent.Assign( (SwTxtNode*)pNd, rAnchor.GetPageNum() );
if ( aPos.nContent.GetIndex() >
@@ -549,7 +545,7 @@ bool SwUndoFmtAttr::RestoreFlyAnchor( SwUndoIter& rIter )
const SwFmtAnchor &rOldAnch = pFrmFmt->GetAnchor();
// --> OD 2006-03-13 #i54336#
// Consider case, that as-character anchored object has moved its anchor position.
- if ( FLY_IN_CNTNT == rOldAnch.GetAnchorId() )
+ if (FLY_AS_CHAR == rOldAnch.GetAnchorId())
// <--
{
//Bei InCntnt's wird es spannend: Das TxtAttribut muss vernichtet
@@ -613,7 +609,7 @@ bool SwUndoFmtAttr::RestoreFlyAnchor( SwUndoIter& rIter )
SwFmtFrmSize( ATT_VAR_SIZE, aDrawOldPt.X(), aDrawOldPt.Y() ) );
}
- if( FLY_IN_CNTNT == aNewAnchor.GetAnchorId() )
+ if (FLY_AS_CHAR == aNewAnchor.GetAnchorId())
{
const SwPosition* pPos = aNewAnchor.GetCntntAnchor();
SwTxtNode* pTxtNd = pPos->nNode.GetNode().GetTxtNode();
diff --git a/sw/source/core/undo/unbkmk.cxx b/sw/source/core/undo/unbkmk.cxx
index 6bc403478d..1240b3e8de 100644
--- a/sw/source/core/undo/unbkmk.cxx
+++ b/sw/source/core/undo/unbkmk.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unbkmk.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/undel.cxx b/sw/source/core/undo/undel.cxx
index 1ebc3a084f..74c2c0854a 100644
--- a/sw/source/core/undo/undel.cxx
+++ b/sw/source/core/undo/undel.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: undel.cxx,v $
- * $Revision: 1.27 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,7 +31,7 @@
#include <hintids.hxx>
#include <unotools/charclass.hxx>
-#include <svx/brkitem.hxx>
+#include <editeng/brkitem.hxx>
#include <fmtpdsc.hxx>
#include <frmfmt.hxx>
#include <fmtanchr.hxx>
@@ -56,9 +53,9 @@
#include <comcore.hrc> // #111827#
#include <undo.hrc>
-// #include <svx/svxacorr.hxx>
+// #include <editeng/svxacorr.hxx>
// #include <comphelper/processfactory.hxx>
-// #include <svx/unolingu.hxx>
+// #include <editeng/unolingu.hxx>
// #include <unotools/localedatawrapper.hxx>
// using namespace comphelper;
@@ -81,7 +78,7 @@ void lcl_MakeAutoFrms( const SwSpzFrmFmts& rSpzArr, ULONG nMovedIndex )
{
pFmt = (SwFlyFrmFmt*)rSpzArr[n];
pAnchor = &pFmt->GetAnchor();
- if( pAnchor->GetAnchorId() == FLY_AUTO_CNTNT )
+ if (pAnchor->GetAnchorId() == FLY_AT_CHAR)
{
const SwPosition* pAPos = pAnchor->GetCntntAnchor();
if( pAPos && nMovedIndex == pAPos->nNode.GetIndex() )
@@ -632,7 +629,7 @@ void lcl_ReAnchorAtCntntFlyFrames( const SwSpzFrmFmts& rSpzArr, SwPosition &rPos
{
pFmt = (SwFlyFrmFmt*)rSpzArr[n];
pAnchor = &pFmt->GetAnchor();
- if( pAnchor->GetAnchorId() == FLY_AT_CNTNT )
+ if (pAnchor->GetAnchorId() == FLY_AT_PARA)
{
pAPos = pAnchor->GetCntntAnchor();
if( pAPos && nOldIdx == pAPos->nNode.GetIndex() )
diff --git a/sw/source/core/undo/undo.hrc b/sw/source/core/undo/undo.hrc
index 2b96ba202a..707ff307be 100644
--- a/sw/source/core/undo/undo.hrc
+++ b/sw/source/core/undo/undo.hrc
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: undo.hrc,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/undo.src b/sw/source/core/undo/undo.src
index 2cf91da28b..4ad1e70b78 100644
--- a/sw/source/core/undo/undo.src
+++ b/sw/source/core/undo/undo.src
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: undo.src,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx
index 9338e5fbc5..0a16b89699 100644
--- a/sw/source/core/undo/undobj.cxx
+++ b/sw/source/core/undo/undobj.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: undobj.cxx,v $
- * $Revision: 1.29.52.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -68,7 +65,7 @@ public:
SwNodeIndex* GetMvSttIdx() const
{ return SwUndoSaveSection::GetMvSttIdx(); }
-#ifndef PRODUCT
+#ifdef DBG_UTIL
USHORT nRedlineCount;
#endif
};
@@ -593,7 +590,7 @@ void SwUndoSaveCntnt::DelCntntIndex( const SwPosition& rMark,
pAnchor = &pFmt->GetAnchor();
switch( pAnchor->GetAnchorId() )
{
- case FLY_IN_CNTNT:
+ case FLY_AS_CHAR:
if( 0 != (pAPos = pAnchor->GetCntntAnchor() ) &&
(( nsDelCntntType::DELCNT_CHKNOCNTNT & nDelCntntType )
? ( pStt->nNode <= pAPos->nNode &&
@@ -611,7 +608,7 @@ void SwUndoSaveCntnt::DelCntntIndex( const SwPosition& rMark,
n = n >= rSpzArr.Count() ? rSpzArr.Count() : n+1;
}
break;
- case FLY_AT_CNTNT:
+ case FLY_AT_PARA:
{
pAPos = pAnchor->GetCntntAnchor();
if( pAPos )
@@ -660,7 +657,7 @@ void SwUndoSaveCntnt::DelCntntIndex( const SwPosition& rMark,
}
}
break;
- case FLY_AUTO_CNTNT:
+ case FLY_AT_CHAR:
if( 0 != (pAPos = pAnchor->GetCntntAnchor() ) &&
( pStt->nNode <= pAPos->nNode && pAPos->nNode <= pEnd->nNode ) )
{
@@ -1089,7 +1086,7 @@ SwRedlineSaveData::SwRedlineSaveData( SwComparePosition eCmpPos,
ASSERT( !this, "keine gueltigen Daten!" )
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
nRedlineCount = rSttPos.nNode.GetNode().GetDoc()->GetRedlineTbl().Count();
#endif
}
diff --git a/sw/source/core/undo/undobj1.cxx b/sw/source/core/undo/undobj1.cxx
index d9ce9b12a8..07446350c2 100644
--- a/sw/source/core/undo/undobj1.cxx
+++ b/sw/source/core/undo/undobj1.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: undobj1.cxx,v $
- * $Revision: 1.18 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/itemiter.hxx>
#include <fmtflcnt.hxx>
#include <fmtanchr.hxx>
#include <fmtcntnt.hxx>
@@ -93,15 +90,19 @@ void SwUndoFlyBase::InsFly( SwUndoIter& rUndoIter, BOOL bShowSelFrm )
SwFmtAnchor aAnchor( (RndStdIds)nRndId );
- if( FLY_PAGE == nRndId )
+ if (FLY_AT_PAGE == nRndId)
+ {
aAnchor.SetPageNum( (USHORT)nNdPgPos );
+ }
else
{
SwPosition aNewPos( *rUndoIter.pAktPam->GetPoint() );
aNewPos.nNode = nNdPgPos;
- if( FLY_IN_CNTNT == nRndId || FLY_AUTO_CNTNT == nRndId )
+ if ((FLY_AS_CHAR == nRndId) || (FLY_AT_CHAR == nRndId))
+ {
aNewPos.nContent.Assign( aNewPos.nNode.GetNode().GetCntntNode(),
nCntPos );
+ }
aAnchor.SetAnchor( &aNewPos );
}
@@ -119,7 +120,7 @@ void SwUndoFlyBase::InsFly( SwUndoIter& rUndoIter, BOOL bShowSelFrm )
// vorhanden ist! Sonst wuerde das Layout den Fly vorher
// formatieren, aber keine Inhalt finden; so geschene bei
// Grafiken aus dem Internet
- if( FLY_IN_CNTNT == nRndId )
+ if (FLY_AS_CHAR == nRndId)
{
// es muss mindestens das Attribut im TextNode stehen
SwCntntNode* pCNd = aAnchor.GetCntntAnchor()->nNode.GetNode().GetCntntNode();
@@ -138,22 +139,22 @@ void SwUndoFlyBase::InsFly( SwUndoIter& rUndoIter, BOOL bShowSelFrm )
switch( nRndId )
{
- case FLY_IN_CNTNT:
- case FLY_AUTO_CNTNT:
+ case FLY_AS_CHAR:
+ case FLY_AT_CHAR:
{
const SwFmtAnchor& rAnchor = pFrmFmt->GetAnchor();
nNdPgPos = rAnchor.GetCntntAnchor()->nNode.GetIndex();
nCntPos = rAnchor.GetCntntAnchor()->nContent.GetIndex();
}
break;
- case FLY_AT_CNTNT:
+ case FLY_AT_PARA:
case FLY_AT_FLY:
{
const SwFmtAnchor& rAnchor = pFrmFmt->GetAnchor();
nNdPgPos = rAnchor.GetCntntAnchor()->nNode.GetIndex();
}
break;
- case FLY_PAGE:
+ case FLY_AT_PAGE:
break;
}
bDelFmt = FALSE;
@@ -193,7 +194,8 @@ void SwUndoFlyBase::DelFly( SwDoc* pDoc )
const SwFmtAnchor& rAnchor = pFrmFmt->GetAnchor();
const SwPosition* pPos = rAnchor.GetCntntAnchor();
// die Positionen im Nodes-Array haben sich verschoben
- if( FLY_IN_CNTNT == ( nRndId = static_cast<USHORT>(rAnchor.GetAnchorId()) ) )
+ nRndId = static_cast<USHORT>(rAnchor.GetAnchorId());
+ if (FLY_AS_CHAR == nRndId)
{
nNdPgPos = pPos->nNode.GetIndex();
nCntPos = pPos->nContent.GetIndex();
@@ -210,15 +212,19 @@ void SwUndoFlyBase::DelFly( SwDoc* pDoc )
pTxtNd->EraseText( aIdx, 1 );
}
}
- else if( FLY_AUTO_CNTNT == nRndId )
+ else if (FLY_AT_CHAR == nRndId)
{
nNdPgPos = pPos->nNode.GetIndex();
nCntPos = pPos->nContent.GetIndex();
}
- else if( FLY_AT_CNTNT == nRndId || FLY_AT_FLY == nRndId )
+ else if ((FLY_AT_PARA == nRndId) || (FLY_AT_FLY == nRndId))
+ {
nNdPgPos = pPos->nNode.GetIndex();
+ }
else
+ {
nNdPgPos = rAnchor.GetPageNum();
+ }
pFrmFmt->ResetFmtAttr( RES_ANCHOR ); // Anchor loeschen
@@ -240,15 +246,15 @@ SwUndoInsLayFmt::SwUndoInsLayFmt( SwFrmFmt* pFormat, ULONG nNodeIdx, xub_StrLen
bDelFmt = FALSE;
switch( nRndId )
{
- case FLY_PAGE:
+ case FLY_AT_PAGE:
nNdPgPos = rAnchor.GetPageNum();
break;
- case FLY_AT_CNTNT:
+ case FLY_AT_PARA:
case FLY_AT_FLY:
nNdPgPos = rAnchor.GetCntntAnchor()->nNode.GetIndex();
break;
- case FLY_IN_CNTNT:
- case FLY_AUTO_CNTNT:
+ case FLY_AS_CHAR:
+ case FLY_AT_CHAR:
{
const SwPosition* pPos = rAnchor.GetCntntAnchor();
nCntPos = pPos->nContent.GetIndex();
@@ -305,13 +311,15 @@ void SwUndoInsLayFmt::Repeat( SwUndoIter& rUndoIter )
SwDoc* pDoc = &rUndoIter.GetDoc();
// erfrage und setze den Anker neu
SwFmtAnchor aAnchor( pFrmFmt->GetAnchor() );
- if( FLY_AT_CNTNT == aAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == aAnchor.GetAnchorId() ||
- FLY_IN_CNTNT == aAnchor.GetAnchorId() )
+ if ((FLY_AT_PARA == aAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == aAnchor.GetAnchorId()) ||
+ (FLY_AS_CHAR == aAnchor.GetAnchorId()))
{
SwPosition aPos( *rUndoIter.pAktPam->GetPoint() );
- if( FLY_AT_CNTNT == aAnchor.GetAnchorId() )
+ if (FLY_AT_PARA == aAnchor.GetAnchorId())
+ {
aPos.nContent.Assign( 0, 0 );
+ }
aAnchor.SetAnchor( &aPos );
}
else if( FLY_AT_FLY == aAnchor.GetAnchorId() )
@@ -328,7 +336,7 @@ void SwUndoInsLayFmt::Repeat( SwUndoIter& rUndoIter )
return ;
}
}
- else if( FLY_PAGE == aAnchor.GetAnchorId() )
+ else if (FLY_AT_PAGE == aAnchor.GetAnchorId())
{
aAnchor.SetPageNum( pDoc->GetRootFrm()->GetCurrPage(
rUndoIter.pAktPam ));
@@ -482,7 +490,7 @@ void SwUndoSetFlyFmt::GetAnchor( SwFmtAnchor& rAnchor,
ULONG nNode, xub_StrLen nCntnt )
{
RndStdIds nAnchorTyp = rAnchor.GetAnchorId();
- if( FLY_PAGE != nAnchorTyp )
+ if (FLY_AT_PAGE != nAnchorTyp)
{
SwNode* pNd = pFrmFmt->GetDoc()->GetNodes()[ nNode ];
@@ -490,26 +498,34 @@ void SwUndoSetFlyFmt::GetAnchor( SwFmtAnchor& rAnchor,
? ( !pNd->IsStartNode() || SwFlyStartNode !=
((SwStartNode*)pNd)->GetStartNodeType() )
: !pNd->IsTxtNode() )
- pNd = 0; // ungueltige Position
+ {
+ pNd = 0; // invalid position
+ }
else
{
SwPosition aPos( *pNd );
- if( FLY_IN_CNTNT == nAnchorTyp ||
- FLY_AUTO_CNTNT == nAnchorTyp )
+ if ((FLY_AS_CHAR == nAnchorTyp) ||
+ (FLY_AT_CHAR == nAnchorTyp))
{
- if( nCntnt > ((SwTxtNode*)pNd)->GetTxt().Len() )
- pNd = 0; // ungueltige Position
+ if ( nCntnt > static_cast<SwTxtNode*>(pNd)->GetTxt().Len() )
+ {
+ pNd = 0; // invalid position
+ }
else
- aPos.nContent.Assign( (SwTxtNode*)pNd, nCntnt );
+ {
+ aPos.nContent.Assign(static_cast<SwTxtNode*>(pNd), nCntnt);
+ }
}
- if( pNd )
+ if ( pNd )
+ {
rAnchor.SetAnchor( &aPos );
+ }
}
if( !pNd )
{
// ungueltige Position - setze auf 1. Seite
- rAnchor.SetType( FLY_PAGE );
+ rAnchor.SetType( FLY_AT_PAGE );
rAnchor.SetPageNum( 1 );
}
}
@@ -548,7 +564,7 @@ void SwUndoSetFlyFmt::Undo( SwUndoIter& rIter )
if( bAnchorChgd )
{
const SwFmtAnchor& rOldAnch = pFrmFmt->GetAnchor();
- if( FLY_IN_CNTNT == rOldAnch.GetAnchorId() )
+ if (FLY_AS_CHAR == rOldAnch.GetAnchorId())
{
// Bei InCntnt's wird es spannend: Das TxtAttribut muss
// vernichtet werden. Leider reisst dies neben den Frms
@@ -577,7 +593,7 @@ void SwUndoSetFlyFmt::Undo( SwUndoIter& rIter )
GetAnchor( aNewAnchor, nOldNode, nOldCntnt );
pFrmFmt->SetFmtAttr( aNewAnchor );
- if( FLY_IN_CNTNT == aNewAnchor.GetAnchorId() )
+ if (FLY_AS_CHAR == aNewAnchor.GetAnchorId())
{
SwPosition* pPos = (SwPosition*)aNewAnchor.GetCntntAnchor();
SwFmtFlyCnt aFmt( pFrmFmt );
@@ -629,10 +645,10 @@ void SwUndoSetFlyFmt::PutAttr( USHORT nWhich, const SfxPoolItem* pItem )
const SwFmtAnchor* pAnchor = (SwFmtAnchor*)pItem;
switch( nOldAnchorTyp = static_cast<USHORT>(pAnchor->GetAnchorId()) )
{
- case FLY_IN_CNTNT:
- case FLY_AUTO_CNTNT:
+ case FLY_AS_CHAR:
+ case FLY_AT_CHAR:
nOldCntnt = pAnchor->GetCntntAnchor()->nContent.GetIndex();
- case FLY_AT_CNTNT:
+ case FLY_AT_PARA:
case FLY_AT_FLY:
nOldNode = pAnchor->GetCntntAnchor()->nNode.GetIndex();
break;
@@ -644,10 +660,10 @@ void SwUndoSetFlyFmt::PutAttr( USHORT nWhich, const SfxPoolItem* pItem )
pAnchor = (SwFmtAnchor*)&pFrmFmt->GetAnchor();
switch( nNewAnchorTyp = static_cast<USHORT>(pAnchor->GetAnchorId()) )
{
- case FLY_IN_CNTNT:
- case FLY_AUTO_CNTNT:
+ case FLY_AS_CHAR:
+ case FLY_AT_CHAR:
nNewCntnt = pAnchor->GetCntntAnchor()->nContent.GetIndex();
- case FLY_AT_CNTNT:
+ case FLY_AT_PARA:
case FLY_AT_FLY:
nNewNode = pAnchor->GetCntntAnchor()->nNode.GetIndex();
break;
diff --git a/sw/source/core/undo/undoflystrattr.cxx b/sw/source/core/undo/undoflystrattr.cxx
index 767f300a53..b5795a1db8 100644
--- a/sw/source/core/undo/undoflystrattr.cxx
+++ b/sw/source/core/undo/undoflystrattr.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwUndoPageDesc.cxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/undraw.cxx b/sw/source/core/undo/undraw.cxx
index 2b89cb1e7c..b61462014c 100644
--- a/sw/source/core/undo/undraw.cxx
+++ b/sw/source/core/undo/undraw.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: undraw.cxx,v $
- * $Revision: 1.22 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,15 +29,9 @@
#include "precompiled_sw.hxx"
#include <rtl/string.h>
-
-#ifndef _RTL_MEMORY_H
#include <rtl/memory.h>
-#endif
#include <hintids.hxx>
-#ifndef _RTL_STRING_H
-#include <rtl/string.h>
-#endif
#include <svx/svdogrp.hxx>
#include <svx/svdundo.hxx>
#include <svx/svdpage.hxx>
@@ -61,6 +52,7 @@
#include <rootfrm.hxx>
#include <viewsh.hxx>
+
struct SwUndoGroupObjImpl
{
SwDrawFrmFmt* pFmt;
@@ -142,15 +134,15 @@ void lcl_SendRemoveToUno( SwFmt& rFmt )
void lcl_SaveAnchor( SwFrmFmt* pFmt, ULONG& rNodePos )
{
const SwFmtAnchor& rAnchor = pFmt->GetAnchor();
- if( FLY_AT_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AT_FLY == rAnchor.GetAnchorId() ||
- FLY_IN_CNTNT == rAnchor.GetAnchorId() )
+ if ((FLY_AT_PARA == rAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rAnchor.GetAnchorId()) ||
+ (FLY_AT_FLY == rAnchor.GetAnchorId()) ||
+ (FLY_AS_CHAR == rAnchor.GetAnchorId()))
{
rNodePos = rAnchor.GetCntntAnchor()->nNode.GetIndex();
xub_StrLen nCntntPos = 0;
- if( FLY_IN_CNTNT == rAnchor.GetAnchorId() )
+ if (FLY_AS_CHAR == rAnchor.GetAnchorId())
{
nCntntPos = rAnchor.GetCntntAnchor()->nContent.GetIndex();
@@ -168,8 +160,10 @@ void lcl_SaveAnchor( SwFrmFmt* pFmt, ULONG& rNodePos )
pTxtNd->EraseText( aIdx, 1 );
}
}
- else if( FLY_AUTO_CNTNT == rAnchor.GetAnchorId() )
+ else if (FLY_AT_CHAR == rAnchor.GetAnchorId())
+ {
nCntntPos = rAnchor.GetCntntAnchor()->nContent.GetIndex();
+ }
pFmt->SetFmtAttr( SwFmtAnchor( rAnchor.GetAnchorId(), nCntntPos ) );
}
@@ -178,10 +172,10 @@ void lcl_SaveAnchor( SwFrmFmt* pFmt, ULONG& rNodePos )
void lcl_RestoreAnchor( SwFrmFmt* pFmt, ULONG& rNodePos )
{
const SwFmtAnchor& rAnchor = pFmt->GetAnchor();
- if( FLY_AT_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AT_FLY == rAnchor.GetAnchorId() ||
- FLY_IN_CNTNT == rAnchor.GetAnchorId() )
+ if ((FLY_AT_PARA == rAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rAnchor.GetAnchorId()) ||
+ (FLY_AT_FLY == rAnchor.GetAnchorId()) ||
+ (FLY_AS_CHAR == rAnchor.GetAnchorId()))
{
xub_StrLen nCntntPos = rAnchor.GetPageNum();
SwNodes& rNds = pFmt->GetDoc()->GetNodes();
@@ -190,13 +184,15 @@ void lcl_RestoreAnchor( SwFrmFmt* pFmt, ULONG& rNodePos )
SwPosition aPos( aIdx );
SwFmtAnchor aTmp( rAnchor.GetAnchorId() );
- if( FLY_IN_CNTNT == rAnchor.GetAnchorId() ||
- FLY_AUTO_CNTNT == rAnchor.GetAnchorId() )
+ if ((FLY_AS_CHAR == rAnchor.GetAnchorId()) ||
+ (FLY_AT_CHAR == rAnchor.GetAnchorId()))
+ {
aPos.nContent.Assign( aIdx.GetNode().GetCntntNode(), nCntntPos );
+ }
aTmp.SetAnchor( &aPos );
pFmt->SetFmtAttr( aTmp );
- if( FLY_IN_CNTNT == rAnchor.GetAnchorId() )
+ if (FLY_AS_CHAR == rAnchor.GetAnchorId())
{
SwTxtNode *pTxtNd = aIdx.GetNode().GetTxtNode();
ASSERT( pTxtNd, "no Text Node" );
diff --git a/sw/source/core/undo/unfmco.cxx b/sw/source/core/undo/unfmco.cxx
index c591075f8d..8157147e1b 100644
--- a/sw/source/core/undo/unfmco.cxx
+++ b/sw/source/core/undo/unfmco.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unfmco.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/unins.cxx b/sw/source/core/undo/unins.cxx
index 36fc9bde50..14f2cdb9ff 100644
--- a/sw/source/core/undo/unins.cxx
+++ b/sw/source/core/undo/unins.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unins.cxx,v $
- * $Revision: 1.33 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
#include <unotools/charclass.hxx>
#include <sot/storage.hxx>
-#include <svx/keepitem.hxx>
+#include <editeng/keepitem.hxx>
#include <svx/svdobj.hxx>
#include <docsh.hxx>
diff --git a/sw/source/core/undo/unmove.cxx b/sw/source/core/undo/unmove.cxx
index a7491da0c8..164e3abe5c 100644
--- a/sw/source/core/undo/unmove.cxx
+++ b/sw/source/core/undo/unmove.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unmove.cxx,v $
- * $Revision: 1.12 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/unnum.cxx b/sw/source/core/undo/unnum.cxx
index dd2d59fc17..11a92c6385 100644
--- a/sw/source/core/undo/unnum.cxx
+++ b/sw/source/core/undo/unnum.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unnum.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
-#include <svx/lrspitem.hxx>
+#include <editeng/lrspitem.hxx>
#include <doc.hxx>
#include <swundo.hxx> // fuer die UndoIds
#include <pam.hxx>
diff --git a/sw/source/core/undo/unoutl.cxx b/sw/source/core/undo/unoutl.cxx
index 27c85f7b1e..c519cb2938 100644
--- a/sw/source/core/undo/unoutl.cxx
+++ b/sw/source/core/undo/unoutl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoutl.cxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/unovwr.cxx b/sw/source/core/undo/unovwr.cxx
index d91db0515e..22f9db9706 100644
--- a/sw/source/core/undo/unovwr.cxx
+++ b/sw/source/core/undo/unovwr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unovwr.cxx,v $
- * $Revision: 1.20 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/unredln.cxx b/sw/source/core/undo/unredln.cxx
index 8ce47d86dc..b2a7442f8e 100644
--- a/sw/source/core/undo/unredln.cxx
+++ b/sw/source/core/undo/unredln.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unredln.cxx,v $
- * $Revision: 1.14 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/unsect.cxx b/sw/source/core/undo/unsect.cxx
index 76f8efa306..f43180178e 100644
--- a/sw/source/core/undo/unsect.cxx
+++ b/sw/source/core/undo/unsect.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unsect.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,7 +29,7 @@
#include "precompiled_sw.hxx"
-#include <svx/linkmgr.hxx>
+#include <sfx2/linkmgr.hxx>
#include <fmtcntnt.hxx>
#include <doc.hxx>
#include <docary.hxx>
diff --git a/sw/source/core/undo/unsort.cxx b/sw/source/core/undo/unsort.cxx
index e5f4a1c25c..9405a491c8 100644
--- a/sw/source/core/undo/unsort.cxx
+++ b/sw/source/core/undo/unsort.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unsort.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/undo/unspnd.cxx b/sw/source/core/undo/unspnd.cxx
index 0e39363c67..e304bd499e 100644
--- a/sw/source/core/undo/unspnd.cxx
+++ b/sw/source/core/undo/unspnd.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unspnd.cxx,v $
- * $Revision: 1.11 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -37,7 +34,7 @@
#include "swtable.hxx"
#include "ndtxt.hxx"
#include "swundo.hxx" // fuer die UndoIds
-#include <svx/brkitem.hxx>
+#include <editeng/brkitem.hxx>
#include <fmtpdsc.hxx>
#include <frmfmt.hxx>
#include "undobj.hxx"
diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx
index ab501f9558..aaf0efd655 100644
--- a/sw/source/core/undo/untbl.cxx
+++ b/sw/source/core/undo/untbl.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: untbl.cxx,v $
- * $Revision: 1.41 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,7 +30,7 @@
#include <hintids.hxx>
-#include <svx/brkitem.hxx>
+#include <editeng/brkitem.hxx>
#include <fmtornt.hxx>
#include <fmtpdsc.hxx>
#include <doc.hxx>
@@ -66,8 +63,7 @@
#include <comcore.hrc>
#include <unochart.hxx>
-
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#define CHECK_TABLE(t)
#else
#ifdef DEBUG
@@ -77,7 +73,7 @@
#endif
#endif
-#ifdef PRODUCT
+#ifndef DBG_UTIL
#define _DEBUG_REDLINE( pDoc )
#else
void lcl_DebugRedline( const SwDoc* pDoc );
@@ -195,7 +191,7 @@ public:
void InsertSort( SvUShorts& rArr, USHORT nIdx, USHORT* pInsPos = 0 );
void InsertSort( SvULongs& rArr, ULONG nIdx, USHORT* pInsPos = 0 );
-#if defined( JP_DEBUG ) && !defined( PRODUCT )
+#if defined( JP_DEBUG ) && defined(DBG_UTIL)
#include "shellio.hxx"
void DumpDoc( SwDoc* pDoc, const String& rFileNm );
void CheckTable( const SwTable& );
@@ -449,12 +445,12 @@ SwUndoTblToTxt::SwUndoTblToTxt( const SwTable& rTbl, sal_Unicode cCh )
const SwSpzFrmFmts& rFrmFmtTbl = *pTblNd->GetDoc()->GetSpzFrmFmts();
for( USHORT n = 0; n < rFrmFmtTbl.Count(); ++n )
{
- const SwPosition* pAPos;
SwFrmFmt* pFmt = rFrmFmtTbl[ n ];
- const SwFmtAnchor* pAnchor = &pFmt->GetAnchor();
- if( 0 != ( pAPos = pAnchor->GetCntntAnchor()) &&
- ( FLY_AUTO_CNTNT == pAnchor->GetAnchorId() ||
- FLY_AT_CNTNT == pAnchor->GetAnchorId() ) &&
+ SwFmtAnchor const*const pAnchor = &pFmt->GetAnchor();
+ SwPosition const*const pAPos = pAnchor->GetCntntAnchor();
+ if (pAPos &&
+ ((FLY_AT_CHAR == pAnchor->GetAnchorId()) ||
+ (FLY_AT_PARA == pAnchor->GetAnchorId())) &&
nTblStt <= pAPos->nNode.GetIndex() &&
pAPos->nNode.GetIndex() < nTblEnd )
{
@@ -3253,7 +3249,7 @@ void InsertSort( SvULongs& rArr, ULONG nIdx, USHORT* pInsPos )
*pInsPos = nU;
}
-#if defined( JP_DEBUG ) && !defined( PRODUCT )
+#if defined( JP_DEBUG ) && defined(DBG_UTIL)
void DumpDoc( SwDoc* pDoc, const String& rFileNm )
diff --git a/sw/source/core/undo/untblk.cxx b/sw/source/core/undo/untblk.cxx
index e6aad03906..4893f6a90a 100644
--- a/sw/source/core/undo/untblk.cxx
+++ b/sw/source/core/undo/untblk.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: untblk.cxx,v $
- * $Revision: 1.16 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -69,10 +66,10 @@ SwUndoInserts::SwUndoInserts( SwUndoId nUndoId, const SwPaM& rPam )
for( USHORT n = 0; n < nArrLen; ++n )
{
SwFrmFmt* pFmt = (*pDoc->GetSpzFrmFmts())[n];
- const SwFmtAnchor* pAnchor = &pFmt->GetAnchor();
- const SwPosition* pAPos;
- if ( pAnchor->GetAnchorId() == FLY_AT_CNTNT &&
- 0 != ( pAPos = pAnchor->GetCntntAnchor()) &&
+ SwFmtAnchor const*const pAnchor = &pFmt->GetAnchor();
+ const SwPosition* pAPos = pAnchor->GetCntntAnchor();
+ if (pAPos &&
+ (pAnchor->GetAnchorId() == FLY_AT_PARA) &&
nSttNode == pAPos->nNode.GetIndex() )
{
if( !pFrmFmts )
@@ -124,10 +121,10 @@ void SwUndoInserts::SetInsertRange( const SwPaM& rPam, BOOL bScanFlys,
for( USHORT n = 0; n < nArrLen; ++n )
{
SwFrmFmt* pFmt = (*pDoc->GetSpzFrmFmts())[n];
- const SwFmtAnchor* pAnchor = &pFmt->GetAnchor();
- const SwPosition* pAPos;
- if( pAnchor->GetAnchorId() == FLY_AT_CNTNT &&
- 0 != ( pAPos = pAnchor->GetCntntAnchor()) &&
+ SwFmtAnchor const*const pAnchor = &pFmt->GetAnchor();
+ SwPosition const*const pAPos = pAnchor->GetCntntAnchor();
+ if (pAPos &&
+ (pAnchor->GetAnchorId() == FLY_AT_PARA) &&
nSttNode == pAPos->nNode.GetIndex() )
{
if( !pFrmFmts ||
diff --git a/sw/source/core/unocore/SwXTextDefaults.cxx b/sw/source/core/unocore/SwXTextDefaults.cxx
index 2218129443..16f71c45f1 100644
--- a/sw/source/core/unocore/SwXTextDefaults.cxx
+++ b/sw/source/core/unocore/SwXTextDefaults.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: SwXTextDefaults.cxx,v $
- * $Revision: 1.22 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -30,9 +27,12 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+
+#include <com/sun/star/beans/PropertyAttribute.hpp>
+
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
+
#include <SwXTextDefaults.hxx>
#include <SwStyleNameMapper.hxx>
#include <fchrfmt.hxx>
@@ -44,6 +44,7 @@
#include <unomid.h>
#include <paratr.hxx>
#include <unoprnms.hxx>
+#include <unocrsrhelper.hxx>
#include <hintids.hxx>
#include <unomid.h>
@@ -56,9 +57,6 @@ using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::lang;
-// declarations
-void lcl_setPageDesc(SwDoc*, const uno::Any&, SfxItemSet& ); // from unoobj.cxx
-
SwXTextDefaults::SwXTextDefaults ( SwDoc * pNewDoc ) :
m_pPropSet( aSwMapProvider.GetPropertySet( PROPERTY_MAP_TEXT_DEFAULT ) ),
@@ -97,7 +95,7 @@ void SAL_CALL SwXTextDefaults::setPropertyValue( const OUString& rPropertyName,
{
SfxItemSet aSet( m_pDoc->GetAttrPool(), RES_PAGEDESC, RES_PAGEDESC );
aSet.Put(rItem);
- lcl_setPageDesc( m_pDoc, aValue, aSet );
+ SwUnoCursorHelper::SetPageDesc( aValue, *m_pDoc, aSet );
m_pDoc->SetDefault(aSet.Get(RES_PAGEDESC));
}
else if ((RES_PARATR_DROP == pMap->nWID && MID_DROPCAP_CHAR_STYLE_NAME == pMap->nMemberId) ||
diff --git a/sw/source/core/unocore/TextCursorHelper.cxx b/sw/source/core/unocore/TextCursorHelper.cxx
index b21587a155..682e8d2012 100644
--- a/sw/source/core/unocore/TextCursorHelper.cxx
+++ b/sw/source/core/unocore/TextCursorHelper.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: TextCursorHelper.cxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -30,8 +27,10 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+
#include "TextCursorHelper.hxx"
-#include "unoobj.hxx"
+#include "unobaseclass.hxx"
+
using namespace ::com::sun::star;
/* -----------------------------03.03.03 11:07--------------------------------
diff --git a/sw/source/core/unocore/XMLRangeHelper.cxx b/sw/source/core/unocore/XMLRangeHelper.cxx
index c3f807035a..22922c1f30 100644
--- a/sw/source/core/unocore/XMLRangeHelper.cxx
+++ b/sw/source/core/unocore/XMLRangeHelper.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: XMLRangeHelper.cxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/unocore/XMLRangeHelper.hxx b/sw/source/core/unocore/XMLRangeHelper.hxx
index 60f2bf5380..653a833cc9 100644
--- a/sw/source/core/unocore/XMLRangeHelper.hxx
+++ b/sw/source/core/unocore/XMLRangeHelper.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: XMLRangeHelper.hxx,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/unocore/makefile.mk b/sw/source/core/unocore/makefile.mk
index b364956a3d..09e6371ada 100644
--- a/sw/source/core/unocore/makefile.mk
+++ b/sw/source/core/unocore/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.21 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
@@ -115,7 +111,6 @@ SLOFILES = \
$(SLO)$/unotextmarkup.obj\
$(SLO)$/TextCursorHelper.obj \
$(SLO)$/unotext.obj\
- $(SLO)$/unoclbck.obj\
$(SLO)$/unomap.obj\
$(SLO)$/unoprnms.obj\
$(SLO)$/XMLRangeHelper.obj
diff --git a/sw/source/core/unocore/swunohelper.cxx b/sw/source/core/unocore/swunohelper.cxx
index 0a269e7aa7..969d4995a8 100644
--- a/sw/source/core/unocore/swunohelper.cxx
+++ b/sw/source/core/unocore/swunohelper.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: swunohelper.cxx,v $
- * $Revision: 1.10 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -52,7 +49,7 @@
#include <ucbhelper/contentidentifier.hxx>
#include <ucbhelper/contentbroker.hxx>
#include <ucbhelper/content.hxx>
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <swunohelper.hxx>
#include <swunodef.hxx>
#include <errhdl.hxx>
diff --git a/sw/source/core/unocore/unobkm.cxx b/sw/source/core/unocore/unobkm.cxx
index 11ea44de5f..3aad931525 100644
--- a/sw/source/core/unocore/unobkm.cxx
+++ b/sw/source/core/unocore/unobkm.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unobkm.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,12 +28,15 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
+#include <unobookmark.hxx>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include <unoobj.hxx>
+
+#include <TextCursorHelper.hxx>
+#include <unotextrange.hxx>
#include <unomap.hxx>
#include <unoprnms.hxx>
+#include <unoevtlstnr.hxx>
#include <IMark.hxx>
#include <crossrefbookmark.hxx>
#include <doc.hxx>
@@ -50,13 +50,8 @@
using namespace ::com::sun::star;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::text;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::beans;
using ::rtl::OUString;
-using ::rtl::OUStringBuffer;
+
namespace
{
@@ -64,7 +59,7 @@ namespace
{
static const OUString sStart = OUString(String(SW_RES(STR_START_QUOTE)));
static const OUString sEnd = OUString(String(SW_RES(STR_END_QUOTE)));
- OUStringBuffer sBuf(64);
+ ::rtl::OUStringBuffer sBuf(64);
return sBuf.append(sStart).append(rName).append(sEnd).makeStringAndClear();
}
}
@@ -72,170 +67,307 @@ namespace
/******************************************************************
* SwXBookmark
******************************************************************/
-TYPEINIT1(SwXBookmark, SwClient)
-const uno::Sequence< sal_Int8 > & SwXBookmark::getUnoTunnelId()
+class SwXBookmark::Impl
+ : public SwClient
{
- static uno::Sequence< sal_Int8 > aSeq = ::CreateUnoTunnelId();
- return aSeq;
+
+public:
+ SwEventListenerContainer m_ListenerContainer;
+ SwDoc * m_pDoc;
+ ::sw::mark::IMark * m_pRegisteredBookmark;
+ ::rtl::OUString m_sMarkName;
+
+
+ Impl( SwXBookmark & rThis,
+ SwDoc *const pDoc, ::sw::mark::IMark *const /*pBookmark*/)
+ : SwClient()
+ , m_ListenerContainer(static_cast< ::cppu::OWeakObject* >(&rThis))
+ , m_pDoc(pDoc)
+ , m_pRegisteredBookmark(0)
+ {
+ // DO NOT regiserInMark here! (because SetXBookmark would delete rThis)
+ }
+
+ void registerInMark(SwXBookmark & rThis, ::sw::mark::IMark *const pBkmk);
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+void SwXBookmark::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
+{
+ ClientModify(this, pOld, pNew);
+ if (!GetRegisteredIn())
+ {
+ m_pRegisteredBookmark = NULL;
+ m_pDoc = NULL;
+ m_ListenerContainer.Disposing();
+ }
}
-sal_Int64 SAL_CALL SwXBookmark::getSomething( const uno::Sequence< sal_Int8 >& rId )
- throw(uno::RuntimeException)
+void SwXBookmark::Impl::registerInMark(SwXBookmark & rThis,
+ ::sw::mark::IMark *const pBkmk)
{
- if( rId.getLength() == 16
- && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(), rId.getConstArray(), 16 ) )
+ if (pBkmk)
+ {
+ pBkmk->Add(this);
+ ::sw::mark::MarkBase *const pMarkBase(
+ dynamic_cast< ::sw::mark::MarkBase * >(pBkmk));
+ OSL_ENSURE(pMarkBase, "registerInMark: no MarkBase?");
+ if (pMarkBase)
+ {
+ const uno::Reference<text::XTextContent> xBookmark(& rThis);
+ pMarkBase->SetXBookmark(xBookmark);
+ }
+ }
+ else if (m_pRegisteredBookmark)
{
- return sal::static_int_cast< sal_Int64 >( reinterpret_cast< sal_IntPtr >(this) );
+ m_sMarkName = m_pRegisteredBookmark->GetName();
+ m_pRegisteredBookmark->Remove(this);
}
- return 0;
+ m_pRegisteredBookmark = pBkmk;
+}
+
+
+const ::sw::mark::IMark* SwXBookmark::GetBookmark() const
+{
+ return m_pImpl->m_pRegisteredBookmark;
+}
+
+SwXBookmark::SwXBookmark(::sw::mark::IMark *const pBkmk, SwDoc *const pDoc)
+ : m_pImpl( new SwXBookmark::Impl(*this, pDoc, pBkmk) )
+{
}
-SwXBookmark::SwXBookmark(::sw::mark::IMark* pBkmk, SwDoc* pDoc)
- : m_aLstnrCntnr((text::XTextContent*)this)
- , m_pDoc(pDoc)
- , m_pRegisteredBookmark(NULL)
+SwXBookmark::SwXBookmark()
+ : m_pImpl( new SwXBookmark::Impl(*this, 0, 0) )
{
- registerInMark(pBkmk);
}
SwXBookmark::~SwXBookmark()
-{ }
+{
+}
+
+uno::Reference<text::XTextContent>
+SwXBookmark::CreateXBookmark(SwDoc & rDoc, ::sw::mark::IMark & rBookmark)
+{
+ // #i105557#: do not iterate over the registered clients: race condition
+ ::sw::mark::MarkBase *const pMarkBase(
+ dynamic_cast< ::sw::mark::MarkBase * >(&rBookmark));
+ OSL_ENSURE(pMarkBase, "CreateXBookmark: no MarkBase?");
+ if (!pMarkBase) { return 0; }
+ uno::Reference<text::XTextContent> xBookmark(pMarkBase->GetXBookmark());
+ if (!xBookmark.is())
+ {
+ // FIXME: These belong in XTextFieldsSupplier
+ //if (dynamic_cast< ::sw::mark::TextFieldmark* >(&rBkmk))
+ // pXBkmk = new SwXFieldmark(false, &rBkmk, pDoc);
+ //else if (dynamic_cast< ::sw::mark::CheckboxFieldmark* >(&rBkmk))
+ // pXBkmk = new SwXFieldmark(true, &rBkmk, pDoc);
+ //else
+ OSL_ENSURE(
+ dynamic_cast< ::sw::mark::IBookmark* >(&rBookmark),
+ "<SwXBookmark::GetObject(..)>"
+ "SwXBookmark requested for non-bookmark mark.");
+ SwXBookmark *const pXBookmark = new SwXBookmark(&rBookmark, &rDoc);
+ xBookmark.set(pXBookmark);
+ pXBookmark->m_pImpl->registerInMark(*pXBookmark, pMarkBase);
+ }
+ return xBookmark;
+}
+
+::sw::mark::IMark const* SwXBookmark::GetBookmarkInDoc(SwDoc const*const pDoc,
+ const uno::Reference< lang::XUnoTunnel> & xUT)
+{
+ SwXBookmark *const pXBkm(
+ ::sw::UnoTunnelGetImplementation<SwXBookmark>(xUT));
+ if (pXBkm && (pDoc == pXBkm->m_pImpl->m_pDoc))
+ {
+ return pXBkm->m_pImpl->m_pRegisteredBookmark;
+ }
+ return 0;
+}
+
+const uno::Sequence< sal_Int8 > & SwXBookmark::getUnoTunnelId()
+{
+ static uno::Sequence< sal_Int8 > aSeq = ::CreateUnoTunnelId();
+ return aSeq;
+}
+
+sal_Int64 SAL_CALL
+SwXBookmark::getSomething(const uno::Sequence< sal_Int8 >& rId)
+throw (uno::RuntimeException)
+{
+ return ::sw::UnoTunnelImpl<SwXBookmark>(rId, this);
+}
void SwXBookmark::attachToRangeEx(
const uno::Reference< text::XTextRange > & xTextRange,
IDocumentMarkAccess::MarkType eType)
- throw(lang::IllegalArgumentException, uno::RuntimeException)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- if(m_pRegisteredBookmark)
+ if (m_pImpl->m_pRegisteredBookmark)
+ {
throw uno::RuntimeException();
+ }
- uno::Reference<lang::XUnoTunnel> xRangeTunnel( xTextRange, uno::UNO_QUERY);
+ const uno::Reference<lang::XUnoTunnel> xRangeTunnel(
+ xTextRange, uno::UNO_QUERY);
SwXTextRange* pRange = 0;
OTextCursorHelper* pCursor = 0;
if(xRangeTunnel.is())
{
+ pRange = ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel);
+ pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xRangeTunnel);
+ }
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId() )));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId() )));
+ SwDoc *const pDoc =
+ (pRange) ? pRange->GetDoc() : ((pCursor) ? pCursor->GetDoc() : 0);
+ if (!pDoc)
+ {
+ throw lang::IllegalArgumentException();
}
- SwDoc* pDc = pRange ? (SwDoc*)pRange->GetDoc() : pCursor ?
- (SwDoc*)pCursor->GetDoc() : 0;
- if(pDc)
+ m_pImpl->m_pDoc = pDoc;
+ SwUnoInternalPaM aPam(*m_pImpl->m_pDoc);
+ ::sw::XTextRangeToSwPaM(aPam, xTextRange);
+ UnoActionContext aCont(m_pImpl->m_pDoc);
+ if (!m_pImpl->m_sMarkName.getLength())
{
- m_pDoc = pDc;
- SwUnoInternalPaM aPam(*m_pDoc);
- SwXTextRange::XTextRangeToSwPaM(aPam, xTextRange);
- UnoActionContext aCont(m_pDoc);
- if(!m_aName.Len())
- m_aName = OUString::createFromAscii("Bookmark");
- if(eType == IDocumentMarkAccess::BOOKMARK && ::sw::mark::CrossRefNumItemBookmark::IsLegalName(m_aName))
- eType = IDocumentMarkAccess::CROSSREF_NUMITEM_BOOKMARK;
- else if(eType == IDocumentMarkAccess::BOOKMARK && ::sw::mark::CrossRefHeadingBookmark::IsLegalName(m_aName))
- eType = IDocumentMarkAccess::CROSSREF_HEADING_BOOKMARK;
- registerInMark(m_pDoc->getIDocumentMarkAccess()->makeMark(aPam, m_aName, eType));
- // --> OD 2007-10-23 #i81002#
- // Check, if bookmark has been created.
- // E.g., the creation of a cross-reference bookmark is suppress,
- // if the PaM isn't a valid one for cross-reference bookmarks.
- if(!m_pRegisteredBookmark)
- {
- OSL_ENSURE(false,
- "<SwXBookmark::attachToRange(..)>"
- " - could not create Mark.");
- throw lang::IllegalArgumentException();
- }
- // <--
+ m_pImpl->m_sMarkName = OUString::createFromAscii("Bookmark");
}
- else
+ if ((eType == IDocumentMarkAccess::BOOKMARK) &&
+ ::sw::mark::CrossRefNumItemBookmark::IsLegalName(m_pImpl->m_sMarkName))
+ {
+ eType = IDocumentMarkAccess::CROSSREF_NUMITEM_BOOKMARK;
+ }
+ else if ((eType == IDocumentMarkAccess::BOOKMARK) &&
+ ::sw::mark::CrossRefHeadingBookmark::IsLegalName(m_pImpl->m_sMarkName))
+ {
+ eType = IDocumentMarkAccess::CROSSREF_HEADING_BOOKMARK;
+ }
+ m_pImpl->registerInMark(*this,
+ m_pImpl->m_pDoc->getIDocumentMarkAccess()->makeMark(
+ aPam, m_pImpl->m_sMarkName, eType));
+ // --> OD 2007-10-23 #i81002#
+ // Check, if bookmark has been created.
+ // E.g., the creation of a cross-reference bookmark is suppress,
+ // if the PaM isn't a valid one for cross-reference bookmarks.
+ if (!m_pImpl->m_pRegisteredBookmark)
+ {
+ OSL_ENSURE(false,
+ "<SwXBookmark::attachToRange(..)>"
+ " - could not create Mark.");
throw lang::IllegalArgumentException();
+ }
+ // <--
}
-void SwXBookmark::attachToRange(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
+void SwXBookmark::attachToRange(
+ const uno::Reference< text::XTextRange > & xTextRange)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
attachToRangeEx(xTextRange, IDocumentMarkAccess::BOOKMARK);
}
-void SwXBookmark::attach(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
+void SAL_CALL
+SwXBookmark::attach(const uno::Reference< text::XTextRange > & xTextRange)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
attachToRange( xTextRange );
}
-uno::Reference< text::XTextRange > SwXBookmark::getAnchor(void)
- throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXBookmark::getAnchor() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextRange > aRet;
- if(m_pRegisteredBookmark)
- aRet = SwXTextRange::CreateTextRangeFromPosition(
- m_pDoc,
- m_pRegisteredBookmark->GetMarkPos(),
- m_pRegisteredBookmark->IsExpanded() ? &m_pRegisteredBookmark->GetOtherMarkPos() : NULL);
- else
+
+ if (!m_pImpl->m_pRegisteredBookmark)
+ {
throw uno::RuntimeException();
- return aRet;
+ }
+ return SwXTextRange::CreateXTextRange(
+ *m_pImpl->m_pDoc,
+ m_pImpl->m_pRegisteredBookmark->GetMarkPos(),
+ (m_pImpl->m_pRegisteredBookmark->IsExpanded())
+ ? &m_pImpl->m_pRegisteredBookmark->GetOtherMarkPos() : NULL);
}
-void SwXBookmark::dispose(void)
- throw( uno::RuntimeException )
+void SAL_CALL SwXBookmark::dispose() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(m_pRegisteredBookmark)
- GetDoc()->getIDocumentMarkAccess()->deleteMark(m_pRegisteredBookmark);
- else
- throw uno::RuntimeException();
+ if (m_pImpl->m_pRegisteredBookmark)
+ {
+ m_pImpl->m_pDoc->getIDocumentMarkAccess()->deleteMark(
+ m_pImpl->m_pRegisteredBookmark);
+ }
}
-void SwXBookmark::addEventListener(const uno::Reference< lang::XEventListener > & aListener)
- throw( uno::RuntimeException )
+void SAL_CALL SwXBookmark::addEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!m_pRegisteredBookmark)
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->m_pRegisteredBookmark)
+ {
throw uno::RuntimeException();
- m_aLstnrCntnr.AddListener(aListener);
+ }
+ m_pImpl->m_ListenerContainer.AddListener(xListener);
}
-void SwXBookmark::removeEventListener(const uno::Reference< lang::XEventListener > & aListener)
- throw( uno::RuntimeException )
+void SAL_CALL SwXBookmark::removeEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!m_pRegisteredBookmark || !m_aLstnrCntnr.RemoveListener(aListener))
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->m_pRegisteredBookmark ||
+ !m_pImpl->m_ListenerContainer.RemoveListener(xListener))
+ {
throw uno::RuntimeException();
+ }
}
-OUString SwXBookmark::getName(void)
- throw(uno::RuntimeException)
+OUString SAL_CALL SwXBookmark::getName()
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- OUString sRet;
- if(m_pRegisteredBookmark)
- sRet = m_pRegisteredBookmark->GetName();
- else
- sRet = m_aName;
- return sRet;
+
+ return (m_pImpl->m_pRegisteredBookmark)
+ ? m_pImpl->m_pRegisteredBookmark->GetName()
+ : m_pImpl->m_sMarkName;
}
-void SwXBookmark::setName(const OUString& rName)
- throw(uno::RuntimeException)
+void SAL_CALL SwXBookmark::setName(const OUString& rName)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!m_pRegisteredBookmark)
- m_aName = rName;
- if(!m_pRegisteredBookmark || getName() == rName)
+
+ if (!m_pImpl->m_pRegisteredBookmark)
+ {
+ m_pImpl->m_sMarkName = rName;
+ }
+ if (!m_pImpl->m_pRegisteredBookmark || (getName() == rName))
+ {
return;
- IDocumentMarkAccess* const pMarkAccess = m_pDoc->getIDocumentMarkAccess();
+ }
+ IDocumentMarkAccess *const pMarkAccess =
+ m_pImpl->m_pDoc->getIDocumentMarkAccess();
if(pMarkAccess->findMark(rName) != pMarkAccess->getMarksEnd())
+ {
throw uno::RuntimeException();
+ }
- SwPaM aPam(m_pRegisteredBookmark->GetMarkPos());
- if(m_pRegisteredBookmark->IsExpanded())
+ SwPaM aPam(m_pImpl->m_pRegisteredBookmark->GetMarkPos());
+ if (m_pImpl->m_pRegisteredBookmark->IsExpanded())
{
aPam.SetMark();
- *aPam.GetMark() = m_pRegisteredBookmark->GetOtherMarkPos();
+ *aPam.GetMark() = m_pImpl->m_pRegisteredBookmark->GetOtherMarkPos();
}
SwRewriter aRewriter;
@@ -243,117 +375,148 @@ void SwXBookmark::setName(const OUString& rName)
aRewriter.AddRule(UNDO_ARG2, SW_RES(STR_YIELDS));
aRewriter.AddRule(UNDO_ARG3, lcl_QuoteName(rName));
- m_pDoc->StartUndo(UNDO_BOOKMARK_RENAME, &aRewriter);
- pMarkAccess->renameMark(m_pRegisteredBookmark, rName);
- m_pDoc->EndUndo(UNDO_BOOKMARK_RENAME, NULL);
+ m_pImpl->m_pDoc->StartUndo(UNDO_BOOKMARK_RENAME, &aRewriter);
+ pMarkAccess->renameMark(m_pImpl->m_pRegisteredBookmark, rName);
+ m_pImpl->m_pDoc->EndUndo(UNDO_BOOKMARK_RENAME, NULL);
}
-OUString SwXBookmark::getImplementationName(void) throw( uno::RuntimeException )
+OUString SAL_CALL
+SwXBookmark::getImplementationName() throw (uno::RuntimeException)
{
return OUString::createFromAscii("SwXBookmark");
}
-sal_Bool SwXBookmark::supportsService(const OUString& rServiceName)
- throw( uno::RuntimeException )
+static char const*const g_ServicesBookmark[] =
{
- return !rServiceName.compareToAscii("com.sun.star.text.Bookmark") ||
- !rServiceName.compareToAscii("com.sun.star.document.LinkTarget") ||
- !rServiceName.compareToAscii("com.sun.star.text.TextContent");
-}
-
-uno::Sequence< OUString > SwXBookmark::getSupportedServiceNames(void)
- throw( uno::RuntimeException )
+ "com.sun.star.text.TextContent",
+ "com.sun.star.text.Bookmark",
+ "com.sun.star.document.LinkTarget",
+};
+static const size_t g_nServicesBookmark(
+ sizeof(g_ServicesBookmark)/sizeof(g_ServicesBookmark[0]));
+
+sal_Bool SAL_CALL SwXBookmark::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
{
- uno::Sequence< OUString > aRet(3);
- aRet[0] = OUString::createFromAscii("com.sun.star.text.Bookmark");
- aRet[1] = OUString::createFromAscii("com.sun.star.document.LinkTarget");
- aRet[2] = OUString::createFromAscii("com.sun.star.text.TextContent");
- return aRet;
+ return ::sw::SupportsServiceImpl(
+ g_nServicesBookmark, g_ServicesBookmark, rServiceName);
}
-void SwXBookmark::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
+uno::Sequence< OUString > SAL_CALL
+SwXBookmark::getSupportedServiceNames() throw (uno::RuntimeException)
{
- ClientModify(this, pOld, pNew);
- if(!GetRegisteredIn())
- {
- m_pRegisteredBookmark = NULL;
- m_pDoc = NULL;
- m_aLstnrCntnr.Disposing();
- }
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesBookmark, g_ServicesBookmark);
}
// MetadatableMixin
::sfx2::Metadatable* SwXBookmark::GetCoreObject()
{
- return dynamic_cast< ::sfx2::Metadatable* >( GetBookmark() );
+ return dynamic_cast< ::sfx2::Metadatable* >(m_pImpl->m_pRegisteredBookmark);
}
uno::Reference<frame::XModel> SwXBookmark::GetModel()
{
- if (GetDoc())
+ if (m_pImpl->m_pDoc)
{
- SwDocShell const * const pShell( GetDoc()->GetDocShell() );
+ SwDocShell const * const pShell( m_pImpl->m_pDoc->GetDocShell() );
return (pShell) ? pShell->GetModel() : 0;
}
return 0;
}
-uno::Reference< beans::XPropertySetInfo > SwXBookmark::getPropertySetInfo(void)
- throw( uno::RuntimeException )
+uno::Reference< beans::XPropertySetInfo > SAL_CALL
+SwXBookmark::getPropertySetInfo() throw (uno::RuntimeException)
{
- static uno::Reference< beans::XPropertySetInfo > aRef;
- if(!aRef.is())
- {
- aRef = aSwMapProvider.GetPropertySet(PROPERTY_MAP_BOOKMARK)->getPropertySetInfo();
- }
- return aRef;
+ vos::OGuard g(Application::GetSolarMutex());
+
+ static uno::Reference< beans::XPropertySetInfo > xRef(
+ aSwMapProvider.GetPropertySet(PROPERTY_MAP_BOOKMARK)
+ ->getPropertySetInfo() );
+ return xRef;
}
-void SwXBookmark::setPropertyValue(const OUString& PropertyName, const uno::Any& /*aValue*/)
- throw( beans::UnknownPropertyException,
- beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException )
+void SAL_CALL
+SwXBookmark::setPropertyValue(const OUString& PropertyName,
+ const uno::Any& /*rValue*/)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
// nothing to set here
- throw IllegalArgumentException ( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Property is read-only: " ) ) + PropertyName, static_cast < cppu::OWeakObject * > ( this ), 0 );
+ throw lang::IllegalArgumentException( ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("Property is read-only: "))
+ + PropertyName, static_cast< cppu::OWeakObject * >(this), 0 );
}
-uno::Any SwXBookmark::getPropertyValue(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL SwXBookmark::getPropertyValue(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ vos::OGuard g(Application::GetSolarMutex());
+
uno::Any aRet;
- if(!SwXParagraph::getDefaultTextContentValue(aRet, rPropertyName))
+ if (! ::sw::GetDefaultTextContentValue(aRet, rPropertyName))
{
if(rPropertyName.equalsAsciiL( SW_PROP_NAME(UNO_LINK_DISPLAY_NAME)))
+ {
aRet <<= getName();
+ }
}
return aRet;
}
-void SwXBookmark::addPropertyChangeListener(const OUString& /*PropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener > & /*aListener*/)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
-{ }
+void SAL_CALL
+SwXBookmark::addPropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
+{
+ OSL_ENSURE(false,
+ "SwXBookmark::addPropertyChangeListener(): not implemented");
+}
-void SwXBookmark::removePropertyChangeListener(const OUString& /*PropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener > & /*aListener*/)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
-{ }
+void SAL_CALL
+SwXBookmark::removePropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
+{
+ OSL_ENSURE(false,
+ "SwXBookmark::removePropertyChangeListener(): not implemented");
+}
-void SwXBookmark::addVetoableChangeListener(const OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener > & /*aListener*/)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
-{ }
+void SAL_CALL
+SwXBookmark::addVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
+{
+ OSL_ENSURE(false,
+ "SwXBookmark::addVetoableChangeListener(): not implemented");
+}
-void SwXBookmark::removeVetoableChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*aListener*/)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
-{ }
+void SAL_CALL
+SwXBookmark::removeVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
+{
+ OSL_ENSURE(false,
+ "SwXBookmark::removeVetoableChangeListener(): not implemented");
+}
+
+/******************************************************************
+ * SwXFieldmark
+ ******************************************************************/
SwXFieldmark::SwXFieldmark(bool _isReplacementObject, ::sw::mark::IMark* pBkm, SwDoc* pDc)
- : SwXFieldmark_BASE(pBkm, pDc)
+ : SwXFieldmark_Base(pBkm, pDc)
, isReplacementObject(_isReplacementObject)
{ }
@@ -420,3 +583,4 @@ void SAL_CALL SwXFieldmark::setDescription( const ::rtl::OUString& description )
else
throw uno::RuntimeException();
}
+
diff --git a/sw/source/core/unocore/unochart.cxx b/sw/source/core/unocore/unochart.cxx
index 2c1cb1ceb5..480288810a 100644
--- a/sw/source/core/unocore/unochart.cxx
+++ b/sw/source/core/unocore/unochart.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unochart.cxx,v $
- * $Revision: 1.18.36.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,14 +31,13 @@
#include <memory>
#include <algorithm>
-
#include <com/sun/star/chart/ChartDataRowSource.hpp>
#include <com/sun/star/chart2/data/LabelOrigin.hpp>
#include <cppuhelper/interfacecontainer.hxx>
#include <vos/mutex.hxx>
#include <osl/mutex.hxx>
#include <vcl/svapp.hxx>
-#include <svtools/zforlist.hxx> // SvNumberFormatter
+#include <svl/zforlist.hxx> // SvNumberFormatter
#include <svtools/chartprettypainter.hxx>
#include <tools/link.hxx>
@@ -51,7 +47,7 @@
#include <swtable.hxx>
#include <unoprnms.hxx>
#include <unomap.hxx>
-#include <unoobj.hxx>
+#include <unomid.h>
#include <unocrsr.hxx>
#include <unotbl.hxx>
#include <doc.hxx>
diff --git a/sw/source/core/unocore/unoclbck.cxx b/sw/source/core/unocore/unoclbck.cxx
deleted file mode 100644
index 5936365594..0000000000
--- a/sw/source/core/unocore/unoclbck.cxx
+++ /dev/null
@@ -1,119 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: unoclbck.cxx,v $
- * $Revision: 1.10 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sw.hxx"
-
-
-#include <hintids.hxx>
-#include <tools/debug.hxx>
-#include <swtypes.hxx>
-#include <unoobj.hxx>
-#include <unoidx.hxx>
-#include <tox.hxx>
-#include <unoclbck.hxx>
-#include <txtftn.hxx>
-#include <fmtftn.hxx>
-#include <doc.hxx>
-#include <fmtrfmrk.hxx>
-#include <txtrfmrk.hxx>
-
-/* -----------------------------06.01.00 13:51--------------------------------
-
- ---------------------------------------------------------------------------*/
-SwUnoCallBack::SwUnoCallBack(SwModify *pToRegisterIn) :
- SwModify(pToRegisterIn)
-{
-}
-/* -----------------------------06.01.00 13:51--------------------------------
-
- ---------------------------------------------------------------------------*/
-SwUnoCallBack::~SwUnoCallBack()
-{
-}
-/* -----------------------------01.09.00 12:03--------------------------------
-
- ---------------------------------------------------------------------------*/
-SwXReferenceMark* SwUnoCallBack::GetRefMark(const SwFmtRefMark& rMark)
-{
- SwClientIter aIter( *this );
- SwXReferenceMark* pxRefMark = (SwXReferenceMark*)aIter.First( TYPE( SwXReferenceMark ));
- while(pxRefMark)
- {
- SwDoc* pDoc = pxRefMark->GetDoc();
- if(pDoc)
- {
- const SwFmtRefMark* pFmt = pDoc->GetRefMark(pxRefMark->GetMarkName());
- if(pFmt == &rMark)
- return pxRefMark;
- }
- pxRefMark = (SwXReferenceMark*)aIter.Next( );
- }
- return 0;
-}
-/* -----------------------------05.09.00 12:38--------------------------------
-
- ---------------------------------------------------------------------------*/
-SwXFootnote* SwUnoCallBack::GetFootnote(const SwFmtFtn& rMark)
-{
- SwClientIter aIter( *this );
- SwXFootnote* pxFootnote = (SwXFootnote*)aIter.First( TYPE( SwXFootnote ));
- while(pxFootnote)
- {
- SwDoc* pDoc = pxFootnote->GetDoc();
- if(pDoc)
- {
- const SwFmtFtn* pFtn = pxFootnote->FindFmt();
- if(pFtn == &rMark)
- return pxFootnote;
- }
- pxFootnote = (SwXFootnote*)aIter.Next( );
- }
- return 0;
-}
-
-/* -----------------------------27.11.00 17:15--------------------------------
-
- ---------------------------------------------------------------------------*/
-SwXDocumentIndexMark* SwUnoCallBack::GetTOXMark(const SwTOXMark& rMark)
-{
- SwClientIter aIter( *this );
- SwXDocumentIndexMark* pxIndexMark = (SwXDocumentIndexMark*)aIter.First( TYPE( SwXDocumentIndexMark ));
- while(pxIndexMark)
- {
- const SwTOXMark* pMark = pxIndexMark->GetTOXMark();
- if(pMark == &rMark)
- return pxIndexMark;
-
- pxIndexMark = (SwXDocumentIndexMark*)aIter.Next( );
- }
- return 0;
-}
-
diff --git a/sw/source/core/unocore/unocoll.cxx b/sw/source/core/unocore/unocoll.cxx
index 06bbca43e0..9e6fba9f4a 100644
--- a/sw/source/core/unocore/unocoll.cxx
+++ b/sw/source/core/unocore/unocoll.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unocoll.cxx,v $
- * $Revision: 1.41 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,7 +28,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
#include <swtypes.hxx>
#include <cmdid.h>
#include <hintids.hxx>
@@ -44,7 +40,6 @@
#include <poolfmt.hxx>
#include <unocoll.hxx>
#include <unosett.hxx>
-#include <unoclbck.hxx>
#include <fmtanchr.hxx>
#include <ndtxt.hxx>
#include <section.hxx>
@@ -59,7 +54,7 @@
#include <com/sun/star/text/XTextTablesSupplier.hpp>
#include <com/sun/star/text/TableColumnSeparator.hpp>
#include <com/sun/star/text/XTextTable.hpp>
-#include <svtools/PasswordHelper.hxx>
+#include <svl/PasswordHelper.hxx>
#include <svtools/unoimap.hxx>
#include <svtools/unoevent.hxx>
#include <unotbl.hxx>
@@ -67,7 +62,9 @@
#include <unofield.hxx>
#include <unoidx.hxx>
#include <unoframe.hxx>
+#include <unofootnote.hxx>
#include <vcl/svapp.hxx>
+#include <fmtcntnt.hxx>
#include <authfld.hxx>
#include <SwXTextDefaults.hxx>
#include <unochart.hxx>
@@ -76,7 +73,11 @@
#include <slist>
#include <iterator>
-#include "unometa.hxx"
+#include <unosection.hxx>
+#include <unoparagraph.hxx>
+#include <unobookmark.hxx>
+#include <unorefmark.hxx>
+#include <unometa.hxx>
#include "docsh.hxx"
@@ -442,7 +443,8 @@ uno::Reference< uno::XInterface > SwXServiceProvider::MakeInstance(sal_uInt16
break;
case SW_SERVICE_INDEX_HEADER_SECTION :
case SW_SERVICE_TEXT_SECTION :
- xRet = SwXTextSectionClient::CreateXTextSection( 0, SW_SERVICE_INDEX_HEADER_SECTION == nObjectType);
+ xRet = SwXTextSection::CreateXTextSection(0,
+ (SW_SERVICE_INDEX_HEADER_SECTION == nObjectType));
break;
case SW_SERVICE_REFERENCE_MARK :
@@ -869,7 +871,8 @@ namespace
}
template<FlyCntType T>
- class SwXFrameEnumeration : public SwSimpleEnumerationBaseClass
+ class SwXFrameEnumeration
+ : public SwSimpleEnumeration_Base
{
private:
typedef ::std::slist< Any > frmcontainer_t;
@@ -1467,15 +1470,7 @@ sal_Bool SwXTextSections::hasElements(void) throw( uno::RuntimeException )
-----------------------------------------------------------------------*/
uno::Reference< XTextSection > SwXTextSections::GetObject( SwSectionFmt& rFmt )
{
- SwXTextSectionClient* pClient = (SwXTextSectionClient*)SwClientIter( rFmt ).
- First( TYPE( SwXTextSectionClient ));
- uno::Reference< XTextSection > xRet;
- if( pClient )
- xRet = pClient->GetXTextSection();
- // it is possible that the client is still registered but the reference is already invalid
- if( !xRet.is() )
- xRet = SwXTextSectionClient::CreateXTextSection(&rFmt);
- return xRet;
+ return SwXTextSection::CreateXTextSection(&rFmt);
}
OUString SwXBookmarks::getImplementationName(void) throw( RuntimeException )
@@ -1523,8 +1518,9 @@ uno::Any SwXBookmarks::getByIndex(sal_Int32 nIndex)
uno::Any aRet;
::sw::mark::IMark* pBkmk = pMarkAccess->getBookmarksBegin()[nIndex].get();
- uno::Reference< XTextContent > xRef = GetObject(*pBkmk, GetDoc());
- aRet.setValue(&xRef, ::getCppuType((uno::Reference<XTextContent>*)0));
+ const uno::Reference< text::XTextContent > xRef =
+ SwXBookmark::CreateXBookmark(*GetDoc(), *pBkmk);
+ aRet <<= xRef;
return aRet;
}
@@ -1541,8 +1537,9 @@ uno::Any SwXBookmarks::getByName(const rtl::OUString& rName)
throw NoSuchElementException();
uno::Any aRet;
- uno::Reference< XTextContent > xRef = SwXBookmarks::GetObject(*(ppBkmk->get()), GetDoc());
- aRet.setValue(&xRef, ::getCppuType((uno::Reference<XTextContent>*)0));
+ const uno::Reference< text::XTextContent > xRef =
+ SwXBookmark::CreateXBookmark(*GetDoc(), *(ppBkmk->get()));
+ aRet <<= xRef;
return aRet;
}
@@ -1588,27 +1585,6 @@ sal_Bool SwXBookmarks::hasElements(void)
return GetDoc()->getIDocumentMarkAccess()->getBookmarksCount() != 0;
}
-SwXBookmark* SwXBookmarks::GetObject( ::sw::mark::IMark& rBkmk, SwDoc* pDoc)
-{
- SwModify* const pModify = static_cast<SwModify*>(&rBkmk);
- SwXBookmark* pXBkmk = (SwXBookmark*)SwClientIter(*pModify).First(TYPE(SwXBookmark));
- if(!pXBkmk)
- {
- // FIXME: These belong in XTextFieldsSupplier
- //if (dynamic_cast< ::sw::mark::TextFieldmark* >(&rBkmk))
- // pXBkmk = new SwXFieldmark(false, &rBkmk, pDoc);
- //else if (dynamic_cast< ::sw::mark::CheckboxFieldmark* >(&rBkmk))
- // pXBkmk = new SwXFieldmark(true, &rBkmk, pDoc);
- //else
- OSL_ENSURE(
- dynamic_cast< ::sw::mark::IBookmark* >(&rBkmk),
- "<SwXBookmark::GetObject(..)>"
- "SwXBookmark requested for non-bookmark mark.");
- pXBkmk = new SwXBookmark(&rBkmk, pDoc);
- }
- return pXBkmk;
-}
-
/******************************************************************
*
******************************************************************/
@@ -1747,8 +1723,8 @@ uno::Any SwXFootnotes::getByIndex(sal_Int32 nIndex)
if(nCount == nIndex)
{
- xRef = new SwXFootnote(GetDoc(), rFtn);
- aRet.setValue(&xRef, ::getCppuType((uno::Reference<XFootnote>*)0));
+ xRef = SwXFootnote::CreateXFootnote(*GetDoc(), rFtn);
+ aRet <<= xRef;
break;
}
nCount++;
@@ -1782,12 +1758,7 @@ sal_Bool SwXFootnotes::hasElements(void) throw( uno::RuntimeException )
---------------------------------------------------------------------------*/
Reference<XFootnote> SwXFootnotes::GetObject( SwDoc& rDoc, const SwFmtFtn& rFmt )
{
- Reference<XTextContent> xContent = ((SwUnoCallBack*)rDoc.GetUnoCallBack())->
- GetFootnote(rFmt);
- if(!xContent.is())
- xContent = new SwXFootnote(&rDoc, rFmt);
- Reference<XFootnote> xRet(xContent, UNO_QUERY);
- return xRet;
+ return SwXFootnote::CreateXFootnote(rDoc, rFmt);
}
/******************************************************************
@@ -1940,18 +1911,10 @@ sal_Bool SwXReferenceMarks::hasElements(void) throw( uno::RuntimeException )
SwXReferenceMark* SwXReferenceMarks::GetObject( SwDoc* pDoc, const SwFmtRefMark* pMark )
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwClientIter aIter( *pDoc->GetUnoCallBack() );
- SwXReferenceMark* pxMark = (SwXReferenceMark*)aIter.First( TYPE( SwXReferenceMark ));
- while(pxMark)
- {
- if(pxMark->GetMark() == pMark)
- break;
- pxMark = (SwXReferenceMark*)aIter.Next();
- }
- if( !pxMark )
- pxMark = new SwXReferenceMark(pDoc, pMark);
- return pxMark;
+
+ return SwXReferenceMark::CreateXReferenceMark(*pDoc, *pMark);
}
+
/******************************************************************
*
******************************************************************/
diff --git a/sw/source/core/unocore/unocore.src b/sw/source/core/unocore/unocore.src
index d2a1071b2c..1827049dd6 100644
--- a/sw/source/core/unocore/unocore.src
+++ b/sw/source/core/unocore/unocore.src
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unocore.src,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/unocore/unocrsrhelper.cxx b/sw/source/core/unocore/unocrsrhelper.cxx
index 08c22ac8e6..5d0a0d8e76 100644
--- a/sw/source/core/unocore/unocrsrhelper.cxx
+++ b/sw/source/core/unocore/unocrsrhelper.cxx
@@ -1,15 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unocrsrhelper.cxx,v $
- *
- * $Revision: 1.35 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,16 +28,20 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
+#include <svx/svxids.hrc>
+#include <map>
+#include <com/sun/star/text/XTextSection.hpp>
#include <cmdid.h>
#include <unocrsrhelper.hxx>
-#include <unoobj.hxx>
+#include <unofootnote.hxx>
+#include <unorefmark.hxx>
#include <unostyle.hxx>
#include <unoidx.hxx>
#include <unofield.hxx>
#include <unotbl.hxx>
#include <unosett.hxx>
#include <unoframe.hxx>
+#include <unocrsr.hxx>
#include <doc.hxx>
#include <IDocumentRedlineAccess.hxx>
#include <fmtftn.hxx>
@@ -59,22 +59,23 @@
#include <swundo.hxx>
#include <cntfrm.hxx>
#include <pagefrm.hxx>
-#include <svtools/eitem.hxx>
+#include <svl/eitem.hxx>
#include <tools/urlobj.hxx>
#include <docary.hxx>
#include <swtable.hxx>
#include <tox.hxx>
+#include <doctxm.hxx>
#include <fchrfmt.hxx>
-#include <svx/flstitem.hxx>
+#include <editeng/flstitem.hxx>
#include <vcl/metric.hxx>
#include <svtools/ctrltool.hxx>
#define _SVSTDARR_USHORTS
#define _SVSTDARR_USHORTSSORT
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <sfx2/docfilt.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/fcontnr.hxx>
-#include <svtools/stritem.hxx>
+#include <svl/stritem.hxx>
#include <com/sun/star/beans/PropertyState.hpp>
#include <SwStyleNameMapper.hxx>
#include <redline.hxx>
@@ -100,8 +101,9 @@ using ::rtl::OUString;
namespace SwUnoCursorHelper
{
+
/* -----------------16.09.98 12:27-------------------
- * Lesen spezieller Properties am Cursor
+* Lesen spezieller Properties am Cursor
* --------------------------------------------------*/
sal_Bool getCrsrPropertyValue(const SfxItemPropertySimpleEntry& rEntry
, SwPaM& rPam
@@ -193,7 +195,10 @@ sal_Bool getCrsrPropertyValue(const SfxItemPropertySimpleEntry& rEntry
pFmt = FN_UNO_PARA_CONDITIONAL_STYLE_NAME == rEntry.nWID
? pNode->GetFmtColl() : &pNode->GetAnyFmtColl();
else
- pFmt = SwXTextCursor::GetCurTxtFmtColl(rPam, FN_UNO_PARA_CONDITIONAL_STYLE_NAME == rEntry.nWID);
+ {
+ pFmt = SwUnoCursorHelper::GetCurTxtFmtColl(rPam,
+ FN_UNO_PARA_CONDITIONAL_STYLE_NAME == rEntry.nWID);
+ }
if(pFmt)
{
if( pAny )
@@ -303,10 +308,13 @@ sal_Bool getCrsrPropertyValue(const SfxItemPropertySimpleEntry& rEntry
{
if( pAny )
{
- const SwTOXMark& rMark = pTxtAttr->GetTOXMark();
- uno::Reference< XDocumentIndexMark > xRef = SwXDocumentIndexMark::GetObject(
- (SwTOXType*)rMark.GetTOXType(), &rMark, rPam.GetDoc());
- pAny->setValue(&xRef, ::getCppuType((uno::Reference<XDocumentIndex>*)0));
+ SwTOXMark & rMark =
+ static_cast<SwTOXMark&>(pTxtAttr->GetAttr());
+ const uno::Reference< text::XDocumentIndexMark > xRef =
+ SwXDocumentIndexMark::CreateXDocumentIndexMark(
+ *rPam.GetDoc(),
+ *const_cast<SwTOXType*>(rMark.GetTOXType()), rMark);
+ (*pAny) <<= xRef;
}
}
else
@@ -322,9 +330,10 @@ sal_Bool getCrsrPropertyValue(const SfxItemPropertySimpleEntry& rEntry
{
if( pAny )
{
- uno::Reference< XDocumentIndex > aRef =
- SwXDocumentIndexes::GetObject((SwTOXBaseSection*)pBase);
- pAny->setValue(&aRef, ::getCppuType((uno::Reference<XDocumentIndex>*)0));
+ const uno::Reference< text::XDocumentIndex > xRef =
+ SwXDocumentIndex::CreateXDocumentIndex(*rPam.GetDoc(),
+ *static_cast<SwTOXBaseSection const*>(pBase));
+ (*pAny) <<= xRef;
}
}
else
@@ -436,8 +445,9 @@ sal_Bool getCrsrPropertyValue(const SfxItemPropertySimpleEntry& rEntry
{
if( pAny )
{
- uno::Reference< XFootnote > xFoot = new SwXFootnote(rPam.GetDoc(), rFtn);
- pAny->setValue(&xFoot, ::getCppuType((uno::Reference<XFootnote>*)0));
+ const uno::Reference< text::XFootnote > xFootnote =
+ SwXFootnote::CreateXFootnote(*rPam.GetDoc(), rFtn);
+ *pAny <<= xFootnote;
}
}
else
@@ -518,7 +528,7 @@ sal_Bool getCrsrPropertyValue(const SfxItemPropertySimpleEntry& rEntry
}
eNewState =
aCharStyles.getLength() ?
- PropertyState_DIRECT_VALUE : PropertyState_DEFAULT_VALUE;;
+ PropertyState_DIRECT_VALUE : PropertyState_DEFAULT_VALUE;;
if(pAny)
(*pAny) <<= aCharStyles;
}
diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx
index a88f0a26c0..27a31ce70f 100644
--- a/sw/source/core/unocore/unodraw.cxx
+++ b/sw/source/core/unocore/unodraw.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unodraw.cxx,v $
- * $Revision: 1.82 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -38,16 +35,20 @@
#include <unodraw.hxx>
#include <unocoll.hxx>
#include <unoframe.hxx>
+#include <unoparagraph.hxx>
+#include <unotextrange.hxx>
#include <unoprnms.hxx>
-#include <svx/unoprnms.hxx>
+#include <editeng/unoprnms.hxx>
#include <swunohelper.hxx>
#include <doc.hxx>
+#include <fmtcntnt.hxx>
#include <fmtflcnt.hxx>
#include <txtatr.hxx>
#include <docsh.hxx>
#include <unomap.hxx>
#include <unoport.hxx>
#include <unocrsr.hxx>
+#include <TextCursorHelper.hxx>
#include <swundo.hxx>
#include <dflyobj.hxx>
#include <ndtxt.hxx>
@@ -61,8 +62,8 @@
// OD 2004-04-21 #i26791#
#include <fmtfollowtextflow.hxx>
#include <rootfrm.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
#include <svx/shapepropertynotifier.hxx>
#include <crstate.hxx>
#include <vos/mutex.hxx>
@@ -75,19 +76,12 @@
#include <com/sun/star/text/HoriOrientation.hpp>
#include <com/sun/star/text/VertOrientation.hpp>
#include <basegfx/numeric/ftools.hxx>
-// OD 2004-05-05 #i28701#
+#include <algorithm>
#include <fmtwrapinfluenceonobjpos.hxx>
-// --> OD 2004-11-10 #i35007#
#include <com/sun/star/text/TextContentAnchorType.hpp>
-// <--
-// --> OD 2005-03-10 #i44334#, #i44681#
-// --> OD 2007-01-03 #i73079# - use correct matrix type
#include <basegfx/matrix/b2dhommatrix.hxx>
-// <--
-// --> OD 2009-01-16 #i59051
+#include <basegfx/matrix/b2dhommatrixtools.hxx>
#include <com/sun/star/drawing/PointSequence.hpp>
-// <--
-
#include <vcl/svapp.hxx>
#include <slist>
#include <iterator>
@@ -163,7 +157,9 @@ public:
SwFmtAnchor* GetAnchor(sal_Bool bCreate = sal_False)
{
if(bCreate && !pAnchor)
- pAnchor = new SwFmtAnchor(FLY_IN_CNTNT);
+ {
+ pAnchor = new SwFmtAnchor(FLY_AS_CHAR);
+ }
return pAnchor;
}
SwFmtHoriOrient* GetHOrient(sal_Bool bCreate = sal_False)
@@ -436,7 +432,8 @@ uno::Reference< drawing::XShape > SwFmDrawPage::_CreateShape( SdrObject *pObj )
****************************************************************************/
namespace
{
- class SwXShapesEnumeration : public SwSimpleEnumerationBaseClass
+ class SwXShapesEnumeration
+ : public SwSimpleEnumeration_Base
{
private:
typedef ::std::slist< ::com::sun::star::uno::Any > shapescontainer_t;
@@ -700,7 +697,7 @@ void SwXDrawPage::add(const uno::Reference< drawing::XShape > & xShape)
SfxItemSet aSet( pDoc->GetAttrPool(), RES_FRMATR_BEGIN,
RES_FRMATR_END-1 );
- SwFmtAnchor aAnchor( FLY_IN_CNTNT );
+ SwFmtAnchor aAnchor( FLY_AS_CHAR );
sal_Bool bOpaque = sal_False;
if( pDesc )
{
@@ -777,18 +774,22 @@ void SwXDrawPage::add(const uno::Reference< drawing::XShape > & xShape)
if( pDesc && (xRg = pDesc->GetTextRange()).is() )
{
pInternalPam = new SwUnoInternalPaM(*pDoc);
- if(SwXTextRange::XTextRangeToSwPaM(*pInternalPam, xRg))
+ if (::sw::XTextRangeToSwPaM(*pInternalPam, xRg))
{
if(FLY_AT_FLY == aAnchor.GetAnchorId() &&
!pInternalPam->GetNode()->FindFlyStartNode())
- aAnchor.SetType(FLY_IN_CNTNT);
- else if(FLY_PAGE == aAnchor.GetAnchorId())
+ {
+ aAnchor.SetType(FLY_AS_CHAR);
+ }
+ else if (FLY_AT_PAGE == aAnchor.GetAnchorId())
+ {
aAnchor.SetAnchor(pInternalPam->Start());
+ }
}
else
throw uno::RuntimeException();
}
- else if( aAnchor.GetAnchorId() != FLY_PAGE && pDoc->GetRootFrm() )
+ else if ((aAnchor.GetAnchorId() != FLY_AT_PAGE) && pDoc->GetRootFrm())
{
SwCrsrMoveState aState( MV_SETONLYTEXT );
Point aTmp(MM100_TO_TWIP(aMM100Pos.X), MM100_TO_TWIP(aMM100Pos.Y));
@@ -800,7 +801,7 @@ void SwXDrawPage::add(const uno::Reference< drawing::XShape > & xShape)
}
else
{
- aAnchor.SetType(FLY_PAGE);
+ aAnchor.SetType(FLY_AT_PAGE);
// --> OD 2004-08-18 #i32349# - adjustment of vertical positioning
// attributes no longer needed, because its already got a default.
@@ -853,8 +854,11 @@ uno::Reference< drawing::XShapeGroup > SwXDrawPage::group(const uno::Reference<
for ( sal_uInt16 i = 0; !bFlyInCnt && i < rMarkList.GetMarkCount(); ++i )
{
const SdrObject *pObj = rMarkList.GetMark( i )->GetMarkedSdrObj();
- if ( FLY_IN_CNTNT == ::FindFrmFmt( (SdrObject*)pObj )->GetAnchor().GetAnchorId() )
+ if (FLY_AS_CHAR == ::FindFrmFmt(const_cast<SdrObject*>(
+ pObj))->GetAnchor().GetAnchorId())
+ {
bFlyInCnt = sal_True;
+ }
}
if( bFlyInCnt )
throw uno::RuntimeException();
@@ -864,7 +868,9 @@ uno::Reference< drawing::XShapeGroup > SwXDrawPage::group(const uno::Reference<
pDoc->StartUndo( UNDO_START, NULL );
SwDrawContact* pContact = pDoc->GroupSelection( *pPage->GetDrawView() );
- pDoc->ChgAnchor( pPage->GetDrawView()->GetMarkedObjectList(), FLY_AT_CNTNT/*int eAnchorId*/,
+ pDoc->ChgAnchor(
+ pPage->GetDrawView()->GetMarkedObjectList(),
+ FLY_AT_PARA/*int eAnchorId*/,
sal_True, sal_False );
pPage->GetDrawView()->UnmarkAll();
@@ -899,7 +905,8 @@ void SwXDrawPage::ungroup(const uno::Reference< drawing::XShapeGroup > & xShapeG
pDoc->StartUndo( UNDO_START, NULL );
pDoc->UnGroupSelection( *pPage->GetDrawView() );
- pDoc->ChgAnchor( pPage->GetDrawView()->GetMarkedObjectList(), FLY_AT_CNTNT/*int eAnchorId*/,
+ pDoc->ChgAnchor( pPage->GetDrawView()->GetMarkedObjectList(),
+ FLY_AT_PARA/*int eAnchorId*/,
sal_True, sal_False );
pDoc->EndUndo( UNDO_END, NULL );
}
@@ -1274,7 +1281,7 @@ void SwXShape::setPropertyValue(const rtl::OUString& rPropertyName, const uno::A
else if ( FN_TEXT_RANGE == pEntry->nWID )
{
SwFmtAnchor aAnchor( static_cast<const SwFmtAnchor&>(aSet.Get( RES_ANCHOR )) );
- if ( aAnchor.GetAnchorId() == FLY_PAGE )
+ if (aAnchor.GetAnchorId() == FLY_AT_PAGE)
{
// set property <TextRange> not valid for to-page anchored shapes
throw lang::IllegalArgumentException();
@@ -1285,9 +1292,9 @@ void SwXShape::setPropertyValue(const rtl::OUString& rPropertyName, const uno::A
new SwUnoInternalPaM( *(pFmt->GetDoc()) );
uno::Reference< text::XTextRange > xRg;
aValue >>= xRg;
- if ( SwXTextRange::XTextRangeToSwPaM(*pInternalPam, xRg) )
+ if (::sw::XTextRangeToSwPaM(*pInternalPam, xRg) )
{
- if(aAnchor.GetAnchorId() == FLY_IN_CNTNT)
+ if (aAnchor.GetAnchorId() == FLY_AS_CHAR)
{
//delete old SwFmtFlyCnt
//With AnchorAsCharacter the current TxtAttribute has to be deleted.
@@ -1375,7 +1382,7 @@ void SwXShape::setPropertyValue(const rtl::OUString& rPropertyName, const uno::A
SwFrmFmt *pFlyFmt = FindFrmFmt( pObj );
pFlyFmt->DelFrms();
if( text::TextContentAnchorType_AS_CHARACTER != eNewAnchor &&
- FLY_IN_CNTNT == eOldAnchorId )
+ (FLY_AS_CHAR == eOldAnchorId))
{
//With AnchorAsCharacter the current TxtAttribute has to be deleted.
//Tbis removes the frame format too.
@@ -1398,7 +1405,7 @@ void SwXShape::setPropertyValue(const rtl::OUString& rPropertyName, const uno::A
pTxtNode->DeleteAttributes(RES_TXTATR_FLYCNT, nIdx);
}
else if( text::TextContentAnchorType_AT_PAGE != eNewAnchor &&
- FLY_PAGE == eOldAnchorId )
+ (FLY_AT_PAGE == eOldAnchorId))
{
SwFmtAnchor aNewAnchor( dynamic_cast< const SwFmtAnchor& >( aSet.Get( RES_ANCHOR ) ) );
//if the fly has been anchored at page then it needs to be connected
@@ -1421,7 +1428,7 @@ void SwXShape::setPropertyValue(const rtl::OUString& rPropertyName, const uno::A
pFmt->SetFmtAttr(aSet);
bSetAttr = false;
if( text::TextContentAnchorType_AS_CHARACTER == eNewAnchor &&
- FLY_IN_CNTNT != eOldAnchorId )
+ (FLY_AS_CHAR != eOldAnchorId))
{
//the RES_TXTATR_FLYCNT needs to be added now
SwTxtNode *pNd = aPam.GetNode()->GetTxtNode();
@@ -1606,7 +1613,7 @@ uno::Any SwXShape::getPropertyValue(const rtl::OUString& rPropertyName)
else if ( FN_TEXT_RANGE == pEntry->nWID )
{
const SwFmtAnchor aAnchor = pFmt->GetAnchor();
- if ( aAnchor.GetAnchorId() == FLY_PAGE )
+ if (aAnchor.GetAnchorId() == FLY_AT_PAGE)
{
// return nothing, because property <TextRange> isn't
// valid for to-page anchored shapes
@@ -1617,9 +1624,9 @@ uno::Any SwXShape::getPropertyValue(const rtl::OUString& rPropertyName)
{
if ( aAnchor.GetCntntAnchor() )
{
- uno::Reference< text::XTextRange > xTextRange =
- SwXTextRange::CreateTextRangeFromPosition(
- pFmt->GetDoc(),
+ const uno::Reference< text::XTextRange > xTextRange
+ = SwXTextRange::CreateXTextRange(
+ *pFmt->GetDoc(),
*aAnchor.GetCntntAnchor(),
0L );
aRet.setValue(&xTextRange, ::getCppuType((uno::Reference<text::XTextRange>*)0));
@@ -2141,7 +2148,9 @@ void SwXShape::attach(const uno::Reference< text::XTextRange > & xTextRange)
pDoc = pPortion->GetCursor()->GetDoc();
}
else if ( !pDoc && pParagraph && pParagraph->GetTxtNode( ) )
- pDoc = pParagraph->GetTxtNode( )->GetDoc( );
+ {
+ pDoc = const_cast<SwDoc*>(pParagraph->GetTxtNode()->GetDoc());
+ }
}
@@ -2180,11 +2189,11 @@ uno::Reference< text::XTextRange > SwXShape::getAnchor(void) throw( uno::Runtim
const SwFmtAnchor& rAnchor = pFmt->GetAnchor();
// return an anchor for non-page bound frames
// and for page bound frames that have a page no == NULL and a content position
- if( rAnchor.GetAnchorId() != FLY_PAGE ||
+ if ((rAnchor.GetAnchorId() != FLY_AT_PAGE) ||
(rAnchor.GetCntntAnchor() && !rAnchor.GetPageNum()))
{
const SwPosition &rPos = *(pFmt->GetAnchor().GetCntntAnchor());
- aRef = SwXTextRange::CreateTextRangeFromPosition(pFmt->GetDoc(), rPos, 0);
+ aRef = SwXTextRange::CreateXTextRange(*pFmt->GetDoc(), rPos, 0);
}
}
else
@@ -2224,7 +2233,7 @@ void SwXShape::dispose(void) throw( uno::RuntimeException )
pObj->IsInserted() )
// <--
{
- if( pFmt->GetAnchor().GetAnchorId() == FLY_IN_CNTNT )
+ if (pFmt->GetAnchor().GetAnchorId() == FLY_AS_CHAR)
{
const SwPosition &rPos = *(pFmt->GetAnchor().GetCntntAnchor());
SwTxtNode *pTxtNode = rPos.nNode.GetNode().GetTxtNode();
@@ -2744,12 +2753,14 @@ void SwXShape::_AdjustPositionProperties( const awt::Point _aPosition )
rtl::OUString aHoriOrientPropStr( RTL_CONSTASCII_USTRINGPARAM("HoriOrient") );
uno::Any aHoriOrient( getPropertyValue( aHoriOrientPropStr ) );
sal_Int16 eHoriOrient;
- aHoriOrient >>= eHoriOrient;
- if ( eHoriOrient != text::HoriOrientation::NONE )
+ if (aHoriOrient >>= eHoriOrient) // may be void
{
- eHoriOrient = text::HoriOrientation::NONE;
- aHoriOrient <<= eHoriOrient;
- setPropertyValue( aHoriOrientPropStr, aHoriOrient );
+ if ( eHoriOrient != text::HoriOrientation::NONE )
+ {
+ eHoriOrient = text::HoriOrientation::NONE;
+ aHoriOrient <<= eHoriOrient;
+ setPropertyValue( aHoriOrientPropStr, aHoriOrient );
+ }
}
// set x-position attribute
aHoriPos <<= _aPosition.X;
@@ -2772,12 +2783,14 @@ void SwXShape::_AdjustPositionProperties( const awt::Point _aPosition )
rtl::OUString aVertOrientPropStr( RTL_CONSTASCII_USTRINGPARAM("VertOrient") );
uno::Any aVertOrient( getPropertyValue( aVertOrientPropStr ) );
sal_Int16 eVertOrient;
- aVertOrient >>= eVertOrient;
- if ( eVertOrient != text::VertOrientation::NONE )
+ if (aVertOrient >>= eVertOrient) // may be void
{
- eVertOrient = text::VertOrientation::NONE;
- aVertOrient <<= eVertOrient;
- setPropertyValue( aVertOrientPropStr, aVertOrient );
+ if ( eVertOrient != text::VertOrientation::NONE )
+ {
+ eVertOrient = text::VertOrientation::NONE;
+ aVertOrient <<= eVertOrient;
+ setPropertyValue( aVertOrientPropStr, aVertOrient );
+ }
}
// set y-position attribute
aVertPos <<= _aPosition.Y;
@@ -2860,8 +2873,8 @@ void SwXShape::_AdjustPositionProperties( const awt::Point _aPosition )
// apply translation difference to PolyPolygonBezier.
if ( aTranslateDiff.X != 0 || aTranslateDiff.Y != 0 )
{
- basegfx::B2DHomMatrix aMatrix;
- aMatrix.translate( aTranslateDiff.X, aTranslateDiff.Y );
+ const basegfx::B2DHomMatrix aMatrix(basegfx::tools::createTranslateB2DHomMatrix(
+ aTranslateDiff.X, aTranslateDiff.Y));
const sal_Int32 nOuterSequenceCount(aConvertedPath.Coordinates.getLength());
drawing::PointSequence* pInnerSequence = aConvertedPath.Coordinates.getArray();
diff --git a/sw/source/core/unocore/unoevent.cxx b/sw/source/core/unocore/unoevent.cxx
index cfec12bfb7..8115ba8780 100644
--- a/sw/source/core/unocore/unoevent.cxx
+++ b/sw/source/core/unocore/unoevent.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoevent.cxx,v $
- * $Revision: 1.19 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -43,7 +40,7 @@
#include <svx/svxids.hrc>
#endif
#include "fmtinfmt.hxx"
-#include <svtools/macitem.hxx>
+#include <svl/macitem.hxx>
#include <rtl/ustrbuf.hxx>
#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP
#include <com/sun/star/beans/PropertyValue.hpp>
diff --git a/sw/source/core/unocore/unoevtlstnr.cxx b/sw/source/core/unocore/unoevtlstnr.cxx
index f72aace753..8a8a25ea28 100644
--- a/sw/source/core/unocore/unoevtlstnr.cxx
+++ b/sw/source/core/unocore/unoevtlstnr.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoevtlstnr.cxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/unocore/unofield.cxx b/sw/source/core/unocore/unofield.cxx
index f8dc8e5cce..72a9a7a08d 100644
--- a/sw/source/core/unocore/unofield.cxx
+++ b/sw/source/core/unocore/unofield.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unofield.cxx,v $
- * $Revision: 1.108 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -41,9 +38,10 @@
#include <ndtxt.hxx>
#include <unomap.hxx>
#include <unoprnms.hxx>
-#include <unoobj.hxx>
+#include <unotextrange.hxx>
+#include <unotextcursor.hxx>
#include <unocoll.hxx>
-#include <svx/linkmgr.hxx>
+#include <sfx2/linkmgr.hxx>
#include <docstat.hxx>
#include <editsh.hxx>
#include <viewsh.hxx>
@@ -88,11 +86,11 @@
#include <tools/urlobj.hxx>
#include <svx/dataaccessdescriptor.hxx>
#define _SVSTDARR_STRINGS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
#include <textapi.hxx>
-#include <svx/outliner.hxx>
+#include <editeng/outliner.hxx>
#include <docsh.hxx>
#include <fmtmeta.hxx> // MetaFieldManager
@@ -1304,7 +1302,7 @@ void SwXTextField::attachToRange(
{
SwUnoInternalPaM aPam(*pDoc);
//das muss jetzt sal_True liefern
- SwXTextRange::XTextRangeToSwPaM(aPam, xTextRange);
+ ::sw::XTextRangeToSwPaM(aPam, xTextRange);
SwField* pFld = 0;
switch(m_nServiceId)
{
@@ -1879,8 +1877,8 @@ uno::Reference< text::XTextRange > SwXTextField::getAnchor(void) throw( uno::Ru
SwPaM aPam(rTxtNode, *pTxtFld->GetStart() + 1, rTxtNode, *pTxtFld->GetStart());
- aRef = SwXTextRange::CreateTextRangeFromPosition(m_pDoc,
- *aPam.GetPoint(), aPam.GetMark());
+ aRef = SwXTextRange::CreateXTextRange(
+ *m_pDoc, *aPam.GetPoint(), aPam.GetMark());
}
return aRef;
diff --git a/sw/source/core/unocore/unoflatpara.cxx b/sw/source/core/unocore/unoflatpara.cxx
index 68015384da..4abc8c152b 100644
--- a/sw/source/core/unocore/unoflatpara.cxx
+++ b/sw/source/core/unocore/unoflatpara.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoflatpara.cxx,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <unoflatpara.hxx>
@@ -46,7 +43,8 @@
#include <viewimp.hxx>
#include <breakit.hxx>
#include <pam.hxx>
-#include <unoobj.hxx>
+#include <unobaseclass.hxx>
+#include <unotextrange.hxx>
#include <pagefrm.hxx>
#include <cntfrm.hxx>
#include <rootfrm.hxx>
@@ -217,7 +215,9 @@ void SAL_CALL SwXFlatParagraph::changeText(::sal_Int32 nPos, ::sal_Int32 nLen, c
UnoActionContext aAction( mpTxtNode->GetDoc() );
- uno::Reference< text::XTextRange > xRange = SwXTextRange::CreateTextRangeFromPosition( mpTxtNode->GetDoc(), *aPaM.GetPoint(), aPaM.GetMark() );
+ const uno::Reference< text::XTextRange > xRange =
+ SwXTextRange::CreateXTextRange(
+ *mpTxtNode->GetDoc(), *aPaM.GetPoint(), aPaM.GetMark() );
uno::Reference< beans::XPropertySet > xPropSet( xRange, uno::UNO_QUERY );
if ( xPropSet.is() )
{
@@ -245,7 +245,9 @@ void SAL_CALL SwXFlatParagraph::changeAttributes(::sal_Int32 nPos, ::sal_Int32 n
UnoActionContext aAction( mpTxtNode->GetDoc() );
- uno::Reference< text::XTextRange > xRange = SwXTextRange::CreateTextRangeFromPosition( mpTxtNode->GetDoc(), *aPaM.GetPoint(), aPaM.GetMark() );
+ const uno::Reference< text::XTextRange > xRange =
+ SwXTextRange::CreateXTextRange(
+ *mpTxtNode->GetDoc(), *aPaM.GetPoint(), aPaM.GetMark() );
uno::Reference< beans::XPropertySet > xPropSet( xRange, uno::UNO_QUERY );
if ( xPropSet.is() )
{
diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index 37f53ade45..b392b91fa9 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoframe.cxx,v $
- * $Revision: 1.124 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -30,6 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+
#include <com/sun/star/embed/NoVisualAreaSizeException.hpp>
#include <com/sun/star/container/XChild.hpp>
#include <com/sun/star/embed/XClassifiedObject.hpp>
@@ -38,6 +36,8 @@
#include <com/sun/star/embed/EmbedStates.hpp>
#include <com/sun/star/embed/Aspects.hpp>
#include <com/sun/star/graphic/XGraphicProvider.hpp>
+#include <svx/svxids.hrc>
+#include <editeng/memberids.hrc>
#include <swtypes.hxx>
#include <cmdid.h>
@@ -45,9 +45,7 @@
#include <memory>
#include <hints.hxx>
#include <doc.hxx>
-#ifndef _DOCSH_HXX //autogen
#include <docsh.hxx>
-#endif
#include <editsh.hxx>
#include <swcli.hxx>
#include <ndindex.hxx>
@@ -62,7 +60,9 @@
#include <ndole.hxx>
#include <frmfmt.hxx>
#include <frame.hxx>
-#include <unoobj.hxx>
+#include <unotextrange.hxx>
+#include <unotextcursor.hxx>
+#include <unoparagraph.hxx>
#include <unomap.hxx>
#include <unoprnms.hxx>
#include <unoevent.hxx>
@@ -83,22 +83,23 @@
#include <unostyle.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svdpage.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/protitem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/protitem.hxx>
#include <fmtornt.hxx>
#include <fmturl.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/opaqitem.hxx>
-#include <svx/prntitem.hxx>
-#include <svx/shaditem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/opaqitem.hxx>
+#include <editeng/prntitem.hxx>
+#include <editeng/shaditem.hxx>
#include <fmtsrnd.hxx>
#include <fmtfsize.hxx>
#include <grfatr.hxx>
#include <unoframe.hxx>
#include <fmtanchr.hxx>
#include <fmtclds.hxx>
+#include <fmtcntnt.hxx>
#include <frmatr.hxx>
#include <ndtxt.hxx>
#include <ndgrf.hxx>
@@ -111,7 +112,7 @@
#include <pagedesc.hxx>
#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
#include <tools/urlobj.hxx>
-#include <svx/frmdiritem.hxx>
+#include <editeng/frmdiritem.hxx>
// DVO, OD 01.10.2003 #i18732#
#include <fmtfollowtextflow.hxx>
// OD 2004-05-05 #i28701#
@@ -1402,7 +1403,8 @@ void SwXFrame::setPropertyValue(const :: OUString& rPropertyName, const :: uno::
aSet.Put(aAnchor);
}
}
- else if(aAnchor.GetAnchorId() != FLY_PAGE && !aAnchor.GetCntntAnchor())
+ else if ((aAnchor.GetAnchorId() != FLY_AT_PAGE) &&
+ !aAnchor.GetCntntAnchor())
{
SwNode& rNode = pDoc->GetNodes().GetEndOfContent();
SwPaM aPam(rNode);
@@ -2023,7 +2025,7 @@ void SwXFrame::dispose(void) throw( uno::RuntimeException )
( pObj->GetUserCall() &&
!static_cast<SwContact*>(pObj->GetUserCall())->IsInDTOR() ) ) )
{
- if( pFmt->GetAnchor().GetAnchorId() == FLY_IN_CNTNT )
+ if (pFmt->GetAnchor().GetAnchorId() == FLY_AS_CHAR)
{
const SwPosition &rPos = *(pFmt->GetAnchor().GetCntntAnchor());
SwTxtNode *pTxtNode = rPos.nNode.GetNode().GetTxtNode();
@@ -2049,11 +2051,11 @@ uno::Reference< text::XTextRange > SwXFrame::getAnchor(void) throw( uno::Runtim
const SwFmtAnchor& rAnchor = pFmt->GetAnchor();
// return an anchor for non-page bound frames
// and for page bound frames that have a page no == NULL and a content position
- if( rAnchor.GetAnchorId() != FLY_PAGE ||
+ if ((rAnchor.GetAnchorId() != FLY_AT_PAGE) ||
(rAnchor.GetCntntAnchor() && !rAnchor.GetPageNum()))
{
const SwPosition &rPos = *(rAnchor.GetCntntAnchor());
- aRef = SwXTextRange::CreateTextRangeFromPosition(pFmt->GetDoc(), rPos, 0);
+ aRef = SwXTextRange::CreateXTextRange(*pFmt->GetDoc(), rPos, 0);
}
}
else
@@ -2095,7 +2097,7 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
{
SwUnoInternalPaM aIntPam(*pDoc);
//das muss jetzt sal_True liefern
- SwXTextRange::XTextRangeToSwPaM(aIntPam, xTextRange);
+ ::sw::XTextRangeToSwPaM(aIntPam, xTextRange);
SwNode& rNode = pDoc->GetNodes().GetEndOfContent();
SwPaM aPam(rNode);
@@ -2128,7 +2130,7 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
}
const SfxPoolItem* pItem;
- RndStdIds eAnchorId = FLY_AT_CNTNT;
+ RndStdIds eAnchorId = FLY_AT_PARA;
if(SFX_ITEM_SET == aFrmSet.GetItemState(RES_ANCHOR, sal_False, &pItem) )
{
eAnchorId = ((const SwFmtAnchor*)pItem)->GetAnchorId();
@@ -2136,10 +2138,10 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
!aPam.GetNode()->FindFlyStartNode())
{
//rahmengebunden geht nur dort, wo ein Rahmen ist!
- SwFmtAnchor aAnchor(FLY_AT_CNTNT);
+ SwFmtAnchor aAnchor(FLY_AT_PARA);
aFrmSet.Put(aAnchor);
}
- else if( FLY_PAGE == eAnchorId &&
+ else if ((FLY_AT_PAGE == eAnchorId) &&
0 == ((const SwFmtAnchor*)pItem)->GetPageNum() )
{
SwFmtAnchor aAnchor( *((const SwFmtAnchor*)pItem) );
@@ -2162,10 +2164,10 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
SwFmtAnchor* pAnchorItem = 0;
// the frame is inserted bound to page
// to prevent conflicts if the to-be-anchored position is part of the to-be-copied text
- if(eAnchorId != FLY_PAGE)
+ if (eAnchorId != FLY_AT_PAGE)
{
pAnchorItem = static_cast<SwFmtAnchor*>(aFrmSet.Get(RES_ANCHOR).Clone());
- aFrmSet.Put( SwFmtAnchor( FLY_PAGE, 1 ));
+ aFrmSet.Put( SwFmtAnchor( FLY_AT_PAGE, 1 ));
}
pFmt = pDoc->MakeFlyAndMove( *m_pCopySource, aFrmSet,
@@ -2183,8 +2185,10 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
DELETEZ( m_pCopySource );
}
else
- pFmt = pDoc->MakeFlySection( FLY_AT_CNTNT, aPam.GetPoint(),
+ {
+ pFmt = pDoc->MakeFlySection( FLY_AT_PARA, aPam.GetPoint(),
&aFrmSet, pParentFrmFmt );
+ }
if(pFmt)
{
pFmt->Add(this);
@@ -2425,7 +2429,7 @@ void SwXFrame::attach(const uno::Reference< text::XTextRange > & xTextRange)
}
SwDoc* pDoc = pFmt->GetDoc();
SwUnoInternalPaM aIntPam(*pDoc);
- if(SwXTextRange::XTextRangeToSwPaM(aIntPam, xTextRange))
+ if (::sw::XTextRangeToSwPaM(aIntPam, xTextRange))
{
SfxItemSet aSet( pDoc->GetAttrPool(),
RES_ANCHOR, RES_ANCHOR );
@@ -2606,7 +2610,8 @@ const SwStartNode *SwXTextFrame::GetStartNode() const
return pSttNd;
}
-uno::Reference< text::XTextCursor > SwXTextFrame::createCursor() throw ( uno::RuntimeException)
+uno::Reference< text::XTextCursor >
+SwXTextFrame::CreateCursor() throw (uno::RuntimeException)
{
return createTextCursor();
}
@@ -2647,10 +2652,11 @@ uno::Reference< text::XTextCursor > SwXTextFrame::createTextCursor(void) throw(
throw aExcept;
}
- SwXTextCursor* pXCrsr = new SwXTextCursor(this, *aPam.GetPoint(), CURSOR_FRAME, pFmt->GetDoc());
- aRef = (text::XWordCursor*)pXCrsr;
+ SwXTextCursor *const pXCursor = new SwXTextCursor(
+ *pFmt->GetDoc(), this, CURSOR_FRAME, *aPam.GetPoint());
+ aRef = static_cast<text::XWordCursor*>(pXCursor);
#if OSL_DEBUG_LEVEL > 1
- SwUnoCrsr* pUnoCrsr = pXCrsr->GetCrsr();
+ SwUnoCrsr *const pUnoCrsr = pXCursor->GetCursor();
(void) pUnoCrsr;
#endif
}
@@ -2667,7 +2673,7 @@ uno::Reference< text::XTextCursor > SwXTextFrame::createTextCursorByRange(const
uno::Reference< text::XTextCursor > aRef;
SwFrmFmt* pFmt = GetFrmFmt();
SwUnoInternalPaM aPam(*GetDoc());
- if(pFmt && SwXTextRange::XTextRangeToSwPaM(aPam, aTextPosition))
+ if (pFmt && ::sw::XTextRangeToSwPaM(aPam, aTextPosition))
{
SwNode& rNode = pFmt->GetCntnt().GetCntntIdx()->GetNode();
#if OSL_DEBUG_LEVEL > 1
@@ -2677,8 +2683,11 @@ uno::Reference< text::XTextCursor > SwXTextFrame::createTextCursorByRange(const
(void)p2;
#endif
if(aPam.GetNode()->FindFlyStartNode() == rNode.FindFlyStartNode())
- aRef = (text::XWordCursor*)new SwXTextCursor(this ,
- *aPam.GetPoint(), CURSOR_FRAME, pFmt->GetDoc(), aPam.GetMark());
+ {
+ aRef = static_cast<text::XWordCursor*>(
+ new SwXTextCursor(*pFmt->GetDoc(), this, CURSOR_FRAME,
+ *aPam.GetPoint(), aPam.GetMark()));
+ }
}
else
throw uno::RuntimeException();
@@ -2695,14 +2704,15 @@ uno::Reference< container::XEnumeration > SwXTextFrame::createEnumeration(void)
if(pFmt)
{
SwPosition aPos(pFmt->GetCntnt().GetCntntIdx()->GetNode());
- SwUnoCrsr* pUnoCrsr = GetDoc()->CreateUnoCrsr(aPos, sal_False);
- pUnoCrsr->Move( fnMoveForward, fnGoNode );
+ ::std::auto_ptr<SwUnoCrsr> pUnoCursor(
+ GetDoc()->CreateUnoCrsr(aPos, sal_False));
+ pUnoCursor->Move(fnMoveForward, fnGoNode);
// // no Cursor in protected sections
// SwCrsrSaveState aSave( *pUnoCrsr );
// if(pUnoCrsr->IsInProtectTable( sal_True ) ||
// pUnoCrsr->IsSelOvr( SELOVER_TOGGLE | SELOVER_CHANGEPOS ))
// throw uno::RuntimeException() );
- aRef = new SwXParagraphEnumeration(this, pUnoCrsr, CURSOR_FRAME);
+ aRef = new SwXParagraphEnumeration(this, pUnoCursor, CURSOR_FRAME);
}
return aRef;
}
diff --git a/sw/source/core/unocore/unoftn.cxx b/sw/source/core/unocore/unoftn.cxx
index d7a974bfb1..ce57ccc750 100644
--- a/sw/source/core/unocore/unoftn.cxx
+++ b/sw/source/core/unocore/unoftn.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoftn.cxx,v $
- * $Revision: 1.31 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,13 +28,20 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+#include <rtl/uuid.h>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include <rtl/uuid.h>
-#include <unoobj.hxx>
+#include <comphelper/sequence.hxx>
+
+#include <unomid.h>
+#include <unofootnote.hxx>
+#include <unotextrange.hxx>
+#include <unotextcursor.hxx>
+#include <unoparagraph.hxx>
#include <unomap.hxx>
#include <unoprnms.hxx>
+#include <unoevtlstnr.hxx>
#include <doc.hxx>
#include <ftnidx.hxx>
#include <fmtftn.hxx>
@@ -46,122 +50,238 @@
#include <unocrsr.hxx>
#include <hints.hxx>
+
using namespace ::com::sun::star;
using ::rtl::OUString;
/******************************************************************
- *
+ * SwXFootnote
******************************************************************/
-/* -----------------------------13.03.00 12:15--------------------------------
- ---------------------------------------------------------------------------*/
-const uno::Sequence< sal_Int8 > & SwXFootnote::getUnoTunnelId()
+class SwXFootnote::Impl
+ : public SwClient
{
- static uno::Sequence< sal_Int8 > aSeq = ::CreateUnoTunnelId();
- return aSeq;
-}
-/* -----------------------------10.03.00 18:04--------------------------------
- ---------------------------------------------------------------------------*/
-sal_Int64 SAL_CALL SwXFootnote::getSomething( const uno::Sequence< sal_Int8 >& rId )
- throw(uno::RuntimeException)
-{
- if( rId.getLength() == 16
- && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- rId.getConstArray(), 16 ) )
+public:
+
+ SwXFootnote & m_rThis;
+ const bool m_bIsEndnote;
+ SwEventListenerContainer m_ListenerContainer;
+ bool m_bIsDescriptor;
+ const SwFmtFtn * m_pFmtFtn;
+ ::rtl::OUString m_sLabel;
+
+ Impl( SwXFootnote & rThis,
+ SwDoc *const pDoc, SwFmtFtn const*const pFootnote,
+ const bool bIsEndnote)
+ : SwClient((pDoc) ? pDoc->GetUnoCallBack() : 0)
+ , m_rThis(rThis)
+ , m_bIsEndnote(bIsEndnote)
+ , m_ListenerContainer(static_cast< ::cppu::OWeakObject* >(&rThis))
+ , m_bIsDescriptor(0 == pFootnote)
+ , m_pFmtFtn(pFootnote)
{
- return sal::static_int_cast< sal_Int64 >( reinterpret_cast< sal_IntPtr >(this) );
}
- return SwXText::getSomething( rId );
-}
-/* -----------------------------06.04.00 16:36--------------------------------
+
+ const SwFmtFtn* GetFootnoteFormat() const {
+ return m_rThis.GetDoc() ? m_pFmtFtn : 0;
+ }
+
+ SwFmtFtn const& GetFootnoteFormatOrThrow() {
+ SwFmtFtn const*const pFootnote( GetFootnoteFormat() );
+ if (!pFootnote) {
+ throw uno::RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "SwXFootnote: disposed or invalid")), 0);
+ }
+ return *pFootnote;
+ }
+
+ void Invalidate();
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+/* -----------------------------07.01.00 12:39--------------------------------
---------------------------------------------------------------------------*/
-OUString SwXFootnote::getImplementationName(void) throw( uno::RuntimeException )
+void SwXFootnote::Impl::Invalidate()
{
- return C2U("SwXFootnote");
+ if (GetRegisteredIn())
+ {
+ const_cast<SwModify*>(GetRegisteredIn())->Remove(this);
+ }
+ m_ListenerContainer.Disposing();
+ m_pFmtFtn = 0;
+ m_rThis.SetDoc(0);
}
-/* -----------------------------06.04.00 16:36--------------------------------
- ---------------------------------------------------------------------------*/
-BOOL SwXFootnote::supportsService(const OUString& rServiceName) throw( uno::RuntimeException )
+/* -----------------18.01.99 09:12-------------------
+ *
+ * --------------------------------------------------*/
+void SwXFootnote::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
{
- return !rServiceName.compareToAscii("com.sun.star.text.Footnote") ||
- !rServiceName.compareToAscii("com.sun.star.text.TextContent") ||
- !rServiceName.compareToAscii("com.sun.star.text.Text") ||
- (m_bIsEndnote && !rServiceName.compareToAscii("com.sun.star.text.Endnote"));
-;
-}
-/* -----------------------------06.04.00 16:36--------------------------------
+ ClientModify(this, pOld, pNew);
- ---------------------------------------------------------------------------*/
-uno::Sequence< OUString > SwXFootnote::getSupportedServiceNames(void) throw( uno::RuntimeException )
-{
- uno::Sequence< OUString > aRet(m_bIsEndnote ? 4 : 3);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.text.Footnote");
- pArray[1] = C2U("com.sun.star.text.TextContent");
- pArray[2] = C2U("com.sun.star.text.Text");
- if(m_bIsEndnote)
- pArray[3] = C2U("com.sun.star.text.Endnote");
- return aRet;
+ if (!GetRegisteredIn()) // removed => dispose
+ {
+ Invalidate();
+ }
+ else if (pOld)
+ {
+ switch (pOld->Which())
+ {
+ case RES_FOOTNOTE_DELETED:
+ if (static_cast<const void*>(m_pFmtFtn) ==
+ static_cast<SwPtrMsgPoolItem *>(pOld)->pObject)
+ {
+ Invalidate();
+ }
+ break;
+ }
+ }
}
+
/*-- 10.12.98 15:31:44---------------------------------------------------
-----------------------------------------------------------------------*/
-TYPEINIT1(SwXFootnote, SwClient);
-
-SwXFootnote::SwXFootnote(sal_Bool bEndnote) :
- SwXText(0, CURSOR_FOOTNOTE),
- aLstnrCntnr( (text::XTextContent*)this),
- pFmtFtn(0),
- m_bIsDescriptor(sal_True),
- m_bIsEndnote(bEndnote)
+SwXFootnote::SwXFootnote(const bool bEndnote)
+ : SwXText(0, CURSOR_FOOTNOTE)
+ , m_pImpl( new SwXFootnote::Impl(*this, 0, 0, bEndnote) )
{
-
}
/*-- 10.12.98 15:31:45---------------------------------------------------
-----------------------------------------------------------------------*/
-SwXFootnote::SwXFootnote(SwDoc* _pDoc, const SwFmtFtn& rFmt) :
- SwXText(_pDoc, CURSOR_FOOTNOTE),
- aLstnrCntnr( (text::XTextContent*)this),
- pFmtFtn(&rFmt),
- m_bIsDescriptor(sal_False),
- m_bIsEndnote(rFmt.IsEndNote())
+SwXFootnote::SwXFootnote(SwDoc & rDoc, const SwFmtFtn& rFmt)
+ : SwXText(& rDoc, CURSOR_FOOTNOTE)
+ , m_pImpl( new SwXFootnote::Impl(*this, &rDoc, &rFmt, rFmt.IsEndNote()) )
{
- GetDoc()->GetUnoCallBack()->Add(this);
}
/*-- 10.12.98 15:31:45---------------------------------------------------
-----------------------------------------------------------------------*/
SwXFootnote::~SwXFootnote()
{
+}
+SwXFootnote *
+SwXFootnote::GetXFootnote(
+ SwModify const& /*rUnoCB*/, SwFmtFtn const& /*rFootnoteFmt*/)
+{
+ // re-use existing SwXFootnote
+ // #i105557#: do not iterate over the registered clients: race condition
+ // to do this properly requires the SwXFootnote to register at the
+ // SwFmtFtn directly, not at the unocallback
+ // also this function must return a uno Reference!
+#if 0
+ SwClientIter aIter( rUnoCB );
+ SwXFootnote::Impl * pXFootnote = static_cast<SwXFootnote::Impl*>(
+ aIter.First( TYPE( SwXFootnote::Impl )));
+ while (pXFootnote)
+ {
+ SwDoc *const pDoc = pXFootnote->m_rThis.GetDoc();
+ if (pDoc)
+ {
+ SwFmtFtn const*const pFtn = pXFootnote->GetFootnoteFormat();
+ if (pFtn == &rFootnoteFmt)
+ {
+ return & pXFootnote->m_rThis;
+ }
+ }
+ pXFootnote = static_cast<SwXFootnote::Impl*>(aIter.Next());
+ }
+#endif
+ return 0;
}
-/* -----------------------------21.03.00 15:39--------------------------------
+
+SwXFootnote *
+SwXFootnote::CreateXFootnote(SwDoc & rDoc, SwFmtFtn const& rFootnoteFmt)
+{
+ SwXFootnote *const pXFootnote(
+ GetXFootnote(*rDoc.GetUnoCallBack(), rFootnoteFmt));
+ return (pXFootnote)
+ ? pXFootnote
+ : new SwXFootnote(rDoc, rFootnoteFmt);
+}
+
+/* -----------------------------13.03.00 12:15--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< uno::Type > SAL_CALL SwXFootnote::getTypes( ) throw(uno::RuntimeException)
+const uno::Sequence< sal_Int8 > & SwXFootnote::getUnoTunnelId()
{
- uno::Sequence< uno::Type > aFtnTypes = SwXFootnoteBaseClass::getTypes();
- uno::Sequence< uno::Type > aTextTypes = SwXText::getTypes();
+ static uno::Sequence< sal_Int8 > aSeq = ::CreateUnoTunnelId();
+ return aSeq;
+}
+/* -----------------------------10.03.00 18:04--------------------------------
- long nIndex = aFtnTypes.getLength();
- aFtnTypes.realloc( aFtnTypes.getLength() + aTextTypes.getLength());
+ ---------------------------------------------------------------------------*/
+sal_Int64 SAL_CALL
+SwXFootnote::getSomething(const uno::Sequence< sal_Int8 >& rId)
+throw (uno::RuntimeException)
+{
+ const sal_Int64 nRet( ::sw::UnoTunnelImpl<SwXFootnote>(rId, this) );
+ return (nRet) ? nRet : SwXText::getSomething(rId);
+}
- uno::Type* pFtnTypes = aFtnTypes.getArray();
- const uno::Type* pTextTypes = aTextTypes.getConstArray();
- for(long nPos = 0; nPos < aTextTypes.getLength(); nPos++)
- pFtnTypes[nIndex++] = pTextTypes[nPos];
+/* -----------------------------06.04.00 16:36--------------------------------
- return aFtnTypes;
+ ---------------------------------------------------------------------------*/
+OUString SAL_CALL
+SwXFootnote::getImplementationName() throw (uno::RuntimeException)
+{
+ return C2U("SwXFootnote");
+}
+
+/* -----------------------------06.04.00 16:36--------------------------------
+
+ ---------------------------------------------------------------------------*/
+static char const*const g_ServicesFootnote[] =
+{
+ "com.sun.star.text.TextContent",
+ "com.sun.star.text.Footnote",
+ "com.sun.star.text.Text",
+ "com.sun.star.text.Endnote", // NB: only supported for endnotes!
+};
+static const size_t g_nServicesEndnote(
+ sizeof(g_ServicesFootnote)/sizeof(g_ServicesFootnote[0]));
+static const size_t g_nServicesFootnote( g_nServicesEndnote - 1 ); // NB: omit!
+
+sal_Bool SAL_CALL SwXFootnote::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ vos::OGuard g(Application::GetSolarMutex());
+ return ::sw::SupportsServiceImpl(
+ (m_pImpl->m_bIsEndnote) ? g_nServicesEndnote : g_nServicesFootnote,
+ g_ServicesFootnote, rServiceName);
+}
+
+uno::Sequence< OUString > SAL_CALL
+SwXFootnote::getSupportedServiceNames() throw (uno::RuntimeException)
+{
+ vos::OGuard g(Application::GetSolarMutex());
+ return ::sw::GetSupportedServiceNamesImpl(
+ (m_pImpl->m_bIsEndnote) ? g_nServicesEndnote : g_nServicesFootnote,
+ g_ServicesFootnote);
}
/* -----------------------------21.03.00 15:39--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< sal_Int8 > SAL_CALL SwXFootnote::getImplementationId( ) throw(uno::RuntimeException)
+uno::Sequence< uno::Type > SAL_CALL
+SwXFootnote::getTypes() throw (uno::RuntimeException)
+{
+ const uno::Sequence< uno::Type > aTypes = SwXFootnote_Base::getTypes();
+ const uno::Sequence< uno::Type > aTextTypes = SwXText::getTypes();
+ return ::comphelper::concatSequences(aTypes, aTextTypes);
+}
+
+/* -----------------------------21.03.00 15:39--------------------------------
+
+ ---------------------------------------------------------------------------*/
+uno::Sequence< sal_Int8 > SAL_CALL
+SwXFootnote::getImplementationId() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
static uno::Sequence< sal_Int8 > aId( 16 );
@@ -176,37 +296,49 @@ uno::Sequence< sal_Int8 > SAL_CALL SwXFootnote::getImplementationId( ) throw(un
/* -----------------------------21.03.00 15:46--------------------------------
---------------------------------------------------------------------------*/
-uno::Any SAL_CALL SwXFootnote::queryInterface( const uno::Type& aType ) throw(uno::RuntimeException)
+uno::Any SAL_CALL
+SwXFootnote::queryInterface(const uno::Type& rType)
+throw (uno::RuntimeException)
{
- uno::Any aRet = SwXFootnoteBaseClass::queryInterface(aType);
- if(aRet.getValueType() == ::getCppuVoidType() )
- aRet = SwXText::queryInterface(aType);
- return aRet;
+ const uno::Any ret = SwXFootnote_Base::queryInterface(rType);
+ return (ret.getValueType() == ::getCppuVoidType())
+ ? SwXText::queryInterface(rType)
+ : ret;
}
/*-- 10.12.98 15:31:47---------------------------------------------------
-----------------------------------------------------------------------*/
-OUString SwXFootnote::getLabel(void) throw( uno::RuntimeException )
+OUString SAL_CALL SwXFootnote::getLabel() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- String sRet;
- const SwFmtFtn* pFmt = SwXFootnote::FindFmt();
+
+ ::rtl::OUString sRet;
+ SwFmtFtn const*const pFmt = m_pImpl->GetFootnoteFormat();
if(pFmt)
+ {
sRet = pFmt->GetNumStr();
- else if(m_bIsDescriptor)
- return m_sLabel;
+ }
+ else if (m_pImpl->m_bIsDescriptor)
+ {
+ sRet = m_pImpl->m_sLabel;
+ }
else
+ {
throw uno::RuntimeException();
+ }
return sRet;
}
+
/*-- 10.12.98 15:31:48---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXFootnote::setLabel(const OUString& aLabel) throw( uno::RuntimeException )
+void SAL_CALL
+SwXFootnote::setLabel(const OUString& aLabel) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- const SwFmtFtn* pFmt = FindFmt();
+
+ SwFmtFtn const*const pFmt = m_pImpl->GetFootnoteFormat();
if(pFmt)
{
const SwTxtFtn* pTxtFtn = pFmt->GetTxtFtn();
@@ -216,297 +348,292 @@ void SwXFootnote::setLabel(const OUString& aLabel) throw( uno::RuntimeException
SwPaM aPam(rTxtNode, *pTxtFtn->GetStart());
GetDoc()->SetCurFtn(aPam, aLabel, pFmt->GetNumber(), pFmt->IsEndNote());
}
- else if(m_bIsDescriptor)
- m_sLabel = String(aLabel);
+ else if (m_pImpl->m_bIsDescriptor)
+ {
+ m_pImpl->m_sLabel = String(aLabel);
+ }
else
+ {
throw uno::RuntimeException();
-
+ }
}
+
/* -----------------18.02.99 13:32-------------------
*
* --------------------------------------------------*/
-void SwXFootnote::attachToRange(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
+void SAL_CALL
+SwXFootnote::attach(const uno::Reference< text::XTextRange > & xTextRange)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- if(!m_bIsDescriptor)
+ vos::OGuard aGuard(Application::GetSolarMutex());
+
+ if (!m_pImpl->m_bIsDescriptor)
+ {
throw uno::RuntimeException();
- uno::Reference<lang::XUnoTunnel> xRangeTunnel( xTextRange, uno::UNO_QUERY);
- SwXTextRange* pRange = 0;
- OTextCursorHelper* pCursor = 0;
- if(xRangeTunnel.is())
+ }
+ const uno::Reference<lang::XUnoTunnel> xRangeTunnel(
+ xTextRange, uno::UNO_QUERY);
+ SwXTextRange *const pRange =
+ ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel);
+ OTextCursorHelper *const pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xRangeTunnel);
+ SwDoc *const pNewDoc =
+ (pRange) ? pRange->GetDoc() : ((pCursor) ? pCursor->GetDoc() : 0);
+ if (!pNewDoc)
{
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
+ throw lang::IllegalArgumentException();
}
- SwDoc* pNewDoc = pRange ? (SwDoc*)pRange->GetDoc() : pCursor ? (SwDoc*)pCursor->GetDoc() : 0;
- if(pNewDoc)
+
+ SwUnoInternalPaM aPam(*pNewDoc);
+ //das muss jetzt sal_True liefern
+ ::sw::XTextRangeToSwPaM(aPam, xTextRange);
+
+ UnoActionContext aCont(pNewDoc);
+ pNewDoc->DeleteAndJoin(aPam);
+ aPam.DeleteMark();
+ SwFmtFtn aFootNote(m_pImpl->m_bIsEndnote);
+ if (m_pImpl->m_sLabel.getLength())
{
- SwUnoInternalPaM aPam(*pNewDoc);
- //das muss jetzt sal_True liefern
- SwXTextRange::XTextRangeToSwPaM(aPam, xTextRange);
-
- UnoActionContext aCont(pNewDoc);
- SwTxtAttr* pTxtAttr = 0;
- pNewDoc->DeleteAndJoin(aPam);
- aPam.DeleteMark();
- SwFmtFtn aFootNote(m_bIsEndnote);
- if(m_sLabel.Len())
- aFootNote.SetNumStr(m_sLabel);
-
- SwXTextCursor const*const pTextCursor(
- dynamic_cast<SwXTextCursor*>(pCursor));
- const bool bForceExpandHints( (pTextCursor)
- ? pTextCursor->IsAtEndOfMeta() : false );
- const SetAttrMode nInsertFlags = (bForceExpandHints)
- ? nsSetAttrMode::SETATTR_FORCEHINTEXPAND
- : nsSetAttrMode::SETATTR_DEFAULT;
-
- pNewDoc->InsertPoolItem(aPam, aFootNote, nInsertFlags);
-
- pTxtAttr = aPam.GetNode()->GetTxtNode()->GetTxtAttrForCharAt(
- aPam.GetPoint()->nContent.GetIndex()-1, RES_TXTATR_FTN );
-
- if(pTxtAttr)
+ aFootNote.SetNumStr(m_pImpl->m_sLabel);
+ }
+
+ SwXTextCursor const*const pTextCursor(
+ dynamic_cast<SwXTextCursor*>(pCursor));
+ const bool bForceExpandHints( (pTextCursor)
+ ? pTextCursor->IsAtEndOfMeta() : false );
+ const SetAttrMode nInsertFlags = (bForceExpandHints)
+ ? nsSetAttrMode::SETATTR_FORCEHINTEXPAND
+ : nsSetAttrMode::SETATTR_DEFAULT;
+
+ pNewDoc->InsertPoolItem(aPam, aFootNote, nInsertFlags);
+
+ SwTxtFtn *const pTxtAttr = static_cast<SwTxtFtn*>(
+ aPam.GetNode()->GetTxtNode()->GetTxtAttrForCharAt(
+ aPam.GetPoint()->nContent.GetIndex()-1, RES_TXTATR_FTN ));
+
+ if (pTxtAttr)
+ {
+ const SwFmtFtn& rFtn = pTxtAttr->GetFtn();
+ m_pImpl->m_pFmtFtn = &rFtn;
+ pNewDoc->GetUnoCallBack()->Add(m_pImpl.get());
+ // force creation of sequence id - is used for references
+ if (pNewDoc->IsInReading())
+ {
+ pTxtAttr->SetSeqNo(pNewDoc->GetFtnIdxs().Count());
+ }
+ else
{
- const SwFmtFtn& rFtn = pTxtAttr->GetFtn();
- pFmtFtn = &rFtn;
- pNewDoc->GetUnoCallBack()->Add(this);
- //force creation of sequence id - is used for references
- if(pNewDoc->IsInReading())
- ((SwTxtFtn*)pTxtAttr)->SetSeqNo(pNewDoc->GetFtnIdxs().Count());
- else
- ((SwTxtFtn*)pTxtAttr)->SetSeqRefNo();
+ pTxtAttr->SetSeqRefNo();
}
- m_bIsDescriptor = sal_False;
- SetDoc(pNewDoc);
}
- else
- throw lang::IllegalArgumentException();
+ m_pImpl->m_bIsDescriptor = sal_False;
+ SetDoc(pNewDoc);
}
-/*-- 10.12.98 15:31:48---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXFootnote::attach(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
-{
- vos::OGuard aGuard(Application::GetSolarMutex());
- attachToRange( xTextRange );
-}
/*-- 10.12.98 15:31:48---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXFootnote::getAnchor(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXFootnote::getAnchor() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextRange > aRef;
- const SwFmtFtn* pFmt = FindFmt();
- if(pFmt)
- {
- const SwTxtFtn* pTxtFtn = pFmt->GetTxtFtn();
- SwPaM aPam( pTxtFtn->GetTxtNode(), *pTxtFtn->GetStart() );
- SwPosition aMark( *aPam.Start() );
- aPam.SetMark();
- aPam.GetMark()->nContent++;
- aRef = SwXTextRange::CreateTextRangeFromPosition((SwDoc*)GetDoc(), *aPam.Start(), aPam.End());
- }
- else
- throw uno::RuntimeException();
- return aRef;
+
+ SwFmtFtn const& rFmt( m_pImpl->GetFootnoteFormatOrThrow() );
+
+ SwTxtFtn const*const pTxtFtn = rFmt.GetTxtFtn();
+ SwPaM aPam( pTxtFtn->GetTxtNode(), *pTxtFtn->GetStart() );
+ SwPosition aMark( *aPam.Start() );
+ aPam.SetMark();
+ aPam.GetMark()->nContent++;
+ const uno::Reference< text::XTextRange > xRet =
+ SwXTextRange::CreateXTextRange(*GetDoc(), *aPam.Start(), aPam.End());
+ return xRet;
}
/*-- 10.12.98 15:31:49---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXFootnote::dispose(void) throw( uno::RuntimeException )
+void SAL_CALL SwXFootnote::dispose() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- const SwFmtFtn* pFmt = FindFmt();
- if(pFmt)
- {
- const SwTxtFtn* pTxtFtn = pFmt->GetTxtFtn();
- DBG_ASSERT(pTxtFtn, "kein TextNode?");
- SwTxtNode& rTxtNode = (SwTxtNode&)pTxtFtn->GetTxtNode();
- xub_StrLen nPos = *pTxtFtn->GetStart();
- SwPaM aPam(rTxtNode, nPos, rTxtNode, nPos+1 );
- GetDoc()->DeleteAndJoin( aPam );
- }
- else
- throw uno::RuntimeException();
+ SwFmtFtn const& rFmt( m_pImpl->GetFootnoteFormatOrThrow() );
+
+ SwTxtFtn const*const pTxtFtn = rFmt.GetTxtFtn();
+ DBG_ASSERT(pTxtFtn, "no TextNode?");
+ SwTxtNode& rTxtNode = const_cast<SwTxtNode&>(pTxtFtn->GetTxtNode());
+ const xub_StrLen nPos = *pTxtFtn->GetStart();
+ SwPaM aPam(rTxtNode, nPos, rTxtNode, nPos+1);
+ GetDoc()->DeleteAndJoin( aPam );
}
+
/*-- 10.12.98 15:31:49---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXFootnote::addEventListener(const uno::Reference< lang::XEventListener > & aListener) throw( uno::RuntimeException )
+void SAL_CALL
+SwXFootnote::addEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetRegisteredIn())
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->GetFootnoteFormat())
+ {
throw uno::RuntimeException();
- aLstnrCntnr.AddListener(aListener);
+ }
+ m_pImpl->m_ListenerContainer.AddListener(xListener);
}
/*-- 10.12.98 15:31:50---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXFootnote::removeEventListener(const uno::Reference< lang::XEventListener > & aListener) throw( uno::RuntimeException )
+void SAL_CALL
+SwXFootnote::removeEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetRegisteredIn() || !aLstnrCntnr.RemoveListener(aListener))
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->GetFootnoteFormat() ||
+ !m_pImpl->m_ListenerContainer.RemoveListener(xListener))
+ {
throw uno::RuntimeException();
+ }
}
+
/* -----------------06.05.99 15:31-------------------
*
* --------------------------------------------------*/
const SwStartNode *SwXFootnote::GetStartNode() const
{
- const SwStartNode *pSttNd = 0;
- const SwFmtFtn* pFmt = FindFmt();
+ SwFmtFtn const*const pFmt = m_pImpl->GetFootnoteFormat();
if(pFmt)
{
const SwTxtFtn* pTxtFtn = pFmt->GetTxtFtn();
if( pTxtFtn )
- pSttNd = pTxtFtn->GetStartNode()->GetNode().GetStartNode();
+ {
+ return pTxtFtn->GetStartNode()->GetNode().GetStartNode();
+ }
}
- return pSttNd;
+ return 0;
}
-uno::Reference< text::XTextCursor > SwXFootnote::createCursor() throw ( uno::RuntimeException)
+uno::Reference< text::XTextCursor >
+SwXFootnote::CreateCursor() throw (uno::RuntimeException)
{
return createTextCursor();
}
+
/*-- 10.12.98 15:31:50---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextCursor > SwXFootnote::createTextCursor(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextCursor > SAL_CALL
+SwXFootnote::createTextCursor() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextCursor > aRef;
- const SwFmtFtn* pFmt = FindFmt();
- if(pFmt)
- {
- const SwTxtFtn* pTxtFtn = pFmt->GetTxtFtn();
- SwPosition aPos( *pTxtFtn->GetStartNode() );
- SwXTextCursor* pXCrsr = new SwXTextCursor(this, aPos, CURSOR_FOOTNOTE, GetDoc());
- aRef = (text::XWordCursor*)pXCrsr;
- SwUnoCrsr* pUnoCrsr = pXCrsr->GetCrsr();
- pUnoCrsr->Move(fnMoveForward, fnGoNode);
- }
- else
- throw uno::RuntimeException();
- return aRef;
+
+ SwFmtFtn const& rFmt( m_pImpl->GetFootnoteFormatOrThrow() );
+
+ SwTxtFtn const*const pTxtFtn = rFmt.GetTxtFtn();
+ SwPosition aPos( *pTxtFtn->GetStartNode() );
+ SwXTextCursor *const pXCursor =
+ new SwXTextCursor(*GetDoc(), this, CURSOR_FOOTNOTE, aPos);
+ SwUnoCrsr *const pUnoCrsr = pXCursor->GetCursor();
+ pUnoCrsr->Move(fnMoveForward, fnGoNode);
+ const uno::Reference< text::XTextCursor > xRet =
+ static_cast<text::XWordCursor*>(pXCursor);
+ return xRet;
}
+
/*-- 10.12.98 15:31:51---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextCursor > SwXFootnote::createTextCursorByRange(
- const uno::Reference< text::XTextRange > & aTextPosition)
- throw( uno::RuntimeException )
+uno::Reference< text::XTextCursor > SAL_CALL
+SwXFootnote::createTextCursorByRange(
+ const uno::Reference< text::XTextRange > & xTextPosition)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- const SwFmtFtn* pFmt = FindFmt();
- if( !pFmt )
- throw uno::RuntimeException();
- uno::Reference< text::XTextCursor > aRef;
+
+ SwFmtFtn const& rFmt( m_pImpl->GetFootnoteFormatOrThrow() );
+
SwUnoInternalPaM aPam(*GetDoc());
- if(SwXTextRange::XTextRangeToSwPaM(aPam, aTextPosition))
+ if (!::sw::XTextRangeToSwPaM(aPam, xTextPosition))
{
- const SwTxtFtn* pTxtFtn = pFmt->GetTxtFtn();
- const SwNode* pFtnStartNode = &pTxtFtn->GetStartNode()->GetNode();
-
- const SwNode* pStart = aPam.GetNode()->FindFootnoteStartNode();
- if( pStart != pFtnStartNode )
- throw uno::RuntimeException();
-
- aRef = (text::XWordCursor*)new SwXTextCursor(this , *aPam.GetPoint(), CURSOR_FOOTNOTE, GetDoc(), aPam.GetMark());
+ throw uno::RuntimeException();
}
- else
+
+ SwTxtFtn const*const pTxtFtn = rFmt.GetTxtFtn();
+ SwNode const*const pFtnStartNode = &pTxtFtn->GetStartNode()->GetNode();
+
+ const SwNode* pStart = aPam.GetNode()->FindFootnoteStartNode();
+ if (pStart != pFtnStartNode)
+ {
throw uno::RuntimeException();
- return aRef;
+ }
+
+ const uno::Reference< text::XTextCursor > xRet =
+ static_cast<text::XWordCursor*>(
+ new SwXTextCursor(*GetDoc(), this, CURSOR_FOOTNOTE,
+ *aPam.GetPoint(), aPam.GetMark()));
+ return xRet;
}
+
/*-- 13.06.00 14:28:23---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< container::XEnumeration > SwXFootnote::createEnumeration() throw( uno::RuntimeException )
+uno::Reference< container::XEnumeration > SAL_CALL
+SwXFootnote::createEnumeration() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< container::XEnumeration > aRef;
- const SwFmtFtn* pFmt = FindFmt();
- if(pFmt)
- {
- const SwTxtFtn* pTxtFtn = pFmt->GetTxtFtn();
- SwPosition aPos( *pTxtFtn->GetStartNode() );
- SwXTextCursor* pXCrsr = new SwXTextCursor(this, aPos, CURSOR_FOOTNOTE, GetDoc());
- SwUnoCrsr* pUnoCrsr = pXCrsr->GetCrsr();
- pUnoCrsr->Move(fnMoveForward, fnGoNode);
- aRef = new SwXParagraphEnumeration(this, pUnoCrsr, CURSOR_FOOTNOTE);
- }
- return aRef;
+
+ SwFmtFtn const& rFmt( m_pImpl->GetFootnoteFormatOrThrow() );
+
+ SwTxtFtn const*const pTxtFtn = rFmt.GetTxtFtn();
+ SwPosition aPos( *pTxtFtn->GetStartNode() );
+ ::std::auto_ptr<SwUnoCrsr> pUnoCursor(
+ GetDoc()->CreateUnoCrsr(aPos, sal_False));
+ pUnoCursor->Move(fnMoveForward, fnGoNode);
+ const uno::Reference< container::XEnumeration > xRet =
+ new SwXParagraphEnumeration(this, pUnoCursor, CURSOR_FOOTNOTE);
+ return xRet;
}
+
/*-- 13.06.00 14:28:24---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Type SwXFootnote::getElementType( ) throw(uno::RuntimeException)
+uno::Type SAL_CALL SwXFootnote::getElementType() throw (uno::RuntimeException)
{
- return ::getCppuType(static_cast<uno::Reference<XTextRange>*>(0));
+ return text::XTextRange::static_type();
}
/*-- 13.06.00 14:28:24---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXFootnote::hasElements( ) throw(uno::RuntimeException)
+sal_Bool SAL_CALL SwXFootnote::hasElements() throw (uno::RuntimeException)
{
return sal_True;
}
-/* -----------------------------07.01.00 12:39--------------------------------
- ---------------------------------------------------------------------------*/
-void SwXFootnote::Invalidate()
-{
- if(GetRegisteredIn())
- {
- ((SwModify*)GetRegisteredIn())->Remove(this);
- pFmtFtn = 0;
- aLstnrCntnr.Disposing();
- SetDoc(0);
- }
-}
-/* -----------------18.01.99 09:12-------------------
- *
- * --------------------------------------------------*/
-void SwXFootnote::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
-{
- switch( pOld ? pOld->Which() : 0 )
- {
- case RES_REMOVE_UNO_OBJECT:
- case RES_OBJECTDYING:
- if( (void*)GetRegisteredIn() == ((SwPtrMsgPoolItem *)pOld)->pObject )
- Invalidate();
- break;
- case RES_FMT_CHG:
- // wurden wir an das neue umgehaengt und wird das alte geloscht?
- if( ((SwFmtChg*)pNew)->pChangedFmt == GetRegisteredIn() &&
- ((SwFmtChg*)pOld)->pChangedFmt->IsFmtInDTOR() )
- Invalidate();
- break;
- case RES_FOOTNOTE_DELETED:
- if( (void*)pFmtFtn == ((SwPtrMsgPoolItem *)pOld)->pObject )
- Invalidate();
- break;
- }
-}
/*-- 11.09.00 13:12:03---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< beans::XPropertySetInfo > SwXFootnote::getPropertySetInfo( )
- throw(uno::RuntimeException)
+uno::Reference< beans::XPropertySetInfo > SAL_CALL
+SwXFootnote::getPropertySetInfo()
+throw (uno::RuntimeException)
{
- static uno::Reference< beans::XPropertySetInfo > xRef = aSwMapProvider.GetPropertySet(PROPERTY_MAP_FOOTNOTE)->getPropertySetInfo();
- return xRef;
+ vos::OGuard g(Application::GetSolarMutex());
+ static uno::Reference< beans::XPropertySetInfo > xRet =
+ aSwMapProvider.GetPropertySet(PROPERTY_MAP_FOOTNOTE)
+ ->getPropertySetInfo();
+ return xRet;
}
+
/*-- 11.09.00 13:12:04---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXFootnote::setPropertyValue( const ::rtl::OUString&,
- const uno::Any& )
- throw(beans::UnknownPropertyException, beans::PropertyVetoException,
- lang::IllegalArgumentException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXFootnote::setPropertyValue(const ::rtl::OUString&, const uno::Any&)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
//no values to be set
throw lang::IllegalArgumentException();
@@ -514,28 +641,34 @@ void SwXFootnote::setPropertyValue( const ::rtl::OUString&,
/*-- 11.09.00 13:12:04---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXFootnote::getPropertyValue( const OUString& rPropertyName )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+uno::Any SAL_CALL
+SwXFootnote::getPropertyValue(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
uno::Any aRet;
- if(!SwXParagraph::getDefaultTextContentValue(aRet, rPropertyName))
+ if (! ::sw::GetDefaultTextContentValue(aRet, rPropertyName))
{
- if(rPropertyName.equalsAsciiL(SW_PROP_NAME(UNO_NAME_START_REDLINE))||
- rPropertyName.equalsAsciiL(SW_PROP_NAME(UNO_NAME_END_REDLINE)))
+ if (rPropertyName.equalsAsciiL(SW_PROP_NAME(UNO_NAME_START_REDLINE)) ||
+ rPropertyName.equalsAsciiL(SW_PROP_NAME(UNO_NAME_END_REDLINE)))
{
//redline can only be returned if it's a living object
- if(!m_bIsDescriptor)
+ if (!m_pImpl->m_bIsDescriptor)
+ {
aRet = SwXText::getPropertyValue(rPropertyName);
+ }
}
- else if(rPropertyName.equalsAsciiL( SW_PROP_NAME(UNO_NAME_REFERENCE_ID)))
+ else if (rPropertyName.equalsAsciiL(
+ SW_PROP_NAME(UNO_NAME_REFERENCE_ID)))
{
- const SwFmtFtn* pFmt = FindFmt();
- if(pFmt)
+ SwFmtFtn const*const pFmt = m_pImpl->GetFootnoteFormat();
+ if (pFmt)
{
- const SwTxtFtn* pTxtFtn = pFmt->GetTxtFtn();
+ SwTxtFtn const*const pTxtFtn = pFmt->GetTxtFtn();
DBG_ASSERT(pTxtFtn, "no TextNode?");
- aRet <<= (sal_Int16)pTxtFtn->GetSeqRefNo();
+ aRet <<= static_cast<sal_Int16>(pTxtFtn->GetSeqRefNo());
}
}
else
@@ -547,37 +680,51 @@ uno::Any SwXFootnote::getPropertyValue( const OUString& rPropertyName )
}
return aRet;
}
+
/*-- 11.09.00 13:12:04---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXFootnote::addPropertyChangeListener( const OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXFootnote::addPropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ OSL_ENSURE(false,
+ "SwXFootnote::addPropertyChangeListener(): not implemented");
}
-/*-- 11.09.00 13:12:04---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXFootnote::removePropertyChangeListener( const OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*aListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXFootnote::removePropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ OSL_ENSURE(false,
+ "SwXFootnote::removePropertyChangeListener(): not implemented");
}
-/*-- 11.09.00 13:12:04---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXFootnote::addVetoableChangeListener( const OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXFootnote::addVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ OSL_ENSURE(false,
+ "SwXFootnote::addVetoableChangeListener(): not implemented");
}
-/*-- 11.09.00 13:12:05---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXFootnote::removeVetoableChangeListener( const OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXFootnote::removeVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ OSL_ENSURE(false,
+ "SwXFootnote::removeVetoableChangeListener(): not implemented");
}
-
diff --git a/sw/source/core/unocore/unoidx.cxx b/sw/source/core/unocore/unoidx.cxx
index 41643101c1..3cb1049bca 100644
--- a/sw/source/core/unocore/unoidx.cxx
+++ b/sw/source/core/unocore/unoidx.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoidx.cxx,v $
- * $Revision: 1.68 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,79 +28,110 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+#include <com/sun/star/beans/PropertyAttribute.hpp>
+#include <com/sun/star/container/XIndexReplace.hpp>
+#include <com/sun/star/frame/XModel.hpp>
+#include <com/sun/star/text/ChapterFormat.hpp>
+#include <com/sun/star/text/ReferenceFieldPart.hpp>
+#include <com/sun/star/text/BibliographyDataField.hpp>
+#include <com/sun/star/text/XTextDocument.hpp>
-#include <hints.hxx>
#include <tools/debug.hxx>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <com/sun/star/text/ChapterFormat.hpp>
#include <com/sun/star/text/ReferenceFieldPart.hpp>
#include <com/sun/star/text/BibliographyDataField.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/text/XTextDocument.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp>
-#ifndef _CMDID_H
+#include <hints.hxx>
#include <cmdid.h>
-#endif
#include <swtypes.hxx>
#include <shellres.hxx>
#include <viewsh.hxx>
#include <doc.hxx>
#include <docary.hxx>
#include <poolfmt.hxx>
-#ifndef _POOLFMT_HRC
#include <poolfmt.hrc>
-#endif
#include <pagedesc.hxx>
+#include <fmtcntnt.hxx>
#include <unomap.hxx>
-#include <unoobj.hxx>
+#include <unotextrange.hxx>
+#include <unotextcursor.hxx>
+#include <unosection.hxx>
#include <doctxm.hxx>
#include <txttxmrk.hxx>
#include <unocrsr.hxx>
#include <unostyle.hxx>
#include <ndtxt.hxx>
#include <unoidx.hxx>
-#ifndef _DOCSH_HXX //autogen
#include <docsh.hxx>
-#endif
#include <chpfld.hxx>
#include <SwStyleNameMapper.hxx>
+#include <unoevtlstnr.hxx>
+
using namespace ::com::sun::star;
using ::rtl::OUString;
//-----------------------------------------------------------------------------
-String lcl_AnyToString(uno::Any rVal) throw(lang::IllegalArgumentException)
+static OUString
+lcl_AnyToString(uno::Any const& rVal) throw (lang::IllegalArgumentException)
{
OUString sRet;
if(!(rVal >>= sRet))
+ {
throw lang::IllegalArgumentException();
+ }
return sRet;
}
//-----------------------------------------------------------------------------
-sal_Int16 lcl_AnyToInt16(uno::Any rVal) throw(lang::IllegalArgumentException)
+static sal_Int16
+lcl_AnyToInt16(uno::Any const& rVal) throw (lang::IllegalArgumentException)
{
sal_Int16 nRet = 0;
if(!(rVal >>= nRet))
+ {
throw lang::IllegalArgumentException();
+ }
return nRet;
}
//-----------------------------------------------------------------------------
-sal_Bool lcl_AnyToBool(uno::Any rVal) throw(lang::IllegalArgumentException)
+static sal_Bool
+lcl_AnyToBool(uno::Any const& rVal) throw (lang::IllegalArgumentException)
{
sal_Bool bRet = sal_False;
if(!(rVal >>= bRet))
+ {
throw lang::IllegalArgumentException();
+ }
return bRet;
}
-/******************************************************************************
- *
- ******************************************************************************/
+
+static void
+lcl_AnyToBitMask(uno::Any const& rValue,
+ sal_uInt16 & rBitMask, const sal_uInt16 nBit)
+throw (lang::IllegalArgumentException)
+{
+ rBitMask = lcl_AnyToBool(rValue)
+ ? (rBitMask | nBit)
+ : (rBitMask & ~nBit);
+}
+static void
+lcl_BitMaskToAny(uno::Any & o_rValue,
+ const sal_uInt16 nBitMask, const sal_uInt16 nBit)
+{
+ const sal_Bool bRet = 0 != (nBitMask & nBit);
+ o_rValue <<= bRet;
+}
+
//-----------------------------------------------------------------------------
-void lcl_ReAssignTOXType(SwDoc* pDoc, SwTOXBase& rTOXBase, const OUString& rNewName)
+static void
+lcl_ReAssignTOXType(SwDoc* pDoc, SwTOXBase& rTOXBase, const OUString& rNewName)
{
- sal_uInt16 nUserCount = pDoc->GetTOXTypeCount( TOX_USER );
+ const sal_uInt16 nUserCount = pDoc->GetTOXTypeCount( TOX_USER );
const SwTOXType* pNewType = 0;
for(sal_uInt16 nUser = 0; nUser < nUserCount; nUser++)
{
@@ -133,14 +161,19 @@ void lcl_ConvertTOUNameToProgrammaticName(OUString& rTmp)
ShellResource* pShellRes = ViewShell::GetShellRes();
if(rTmp.equals(pShellRes->aTOXUserName))
+ {
rTmp = OUString(C2U(cUserDefined));
- //if the version is not English but the alternative index's name is "User-Defined"
- //a " (user)" is appended
+ }
+ // if the version is not English but the alternative index's name is
+ // "User-Defined" a " (user)" is appended
else if(rTmp.equalsAscii(cUserDefined))
+ {
rTmp += C2U(cUserSuffix);
+ }
}
//-----------------------------------------------------------------------------
-void lcl_ConvertTOUNameToUserName(OUString& rTmp)
+static void
+lcl_ConvertTOUNameToUserName(OUString& rTmp)
{
ShellResource* pShellRes = ViewShell::GetShellRes();
if(rTmp.equalsAscii(cUserDefined))
@@ -150,43 +183,287 @@ void lcl_ConvertTOUNameToUserName(OUString& rTmp)
else if(!pShellRes->aTOXUserName.EqualsAscii(cUserDefined) &&
USER_AND_SUFFIXLEN == rTmp.getLength())
{
- String sToChange(rTmp);
//make sure that in non-English versions the " (user)" suffix is removed
- if(!sToChange.SearchAscii(cUserDefined) && USER_LEN == sToChange.SearchAscii(cUserSuffix))
+ if (rTmp.matchAsciiL(cUserDefined, sizeof(cUserDefined)) &&
+ rTmp.matchAsciiL(cUserSuffix, sizeof(cUserSuffix), USER_LEN))
+ {
rTmp = C2U(cUserDefined);
+ }
}
}
+/* -----------------13.09.99 16:39-------------------
+
+ --------------------------------------------------*/
+typedef ::cppu::WeakImplHelper2
+< lang::XServiceInfo
+, container::XIndexReplace
+> SwXDocumentIndexStyleAccess_Base;
+
+class SwXDocumentIndex::StyleAccess_Impl
+ : public SwXDocumentIndexStyleAccess_Base
+{
+
+private:
+ /// can be destroyed threadsafely, so no UnoImplPtr here
+ ::rtl::Reference<SwXDocumentIndex> m_xParent;
+
+ virtual ~StyleAccess_Impl();
+
+public:
+ StyleAccess_Impl(SwXDocumentIndex& rParentIdx);
+
+ // XServiceInfo
+ virtual ::rtl::OUString SAL_CALL getImplementationName()
+ throw (uno::RuntimeException);
+ virtual sal_Bool SAL_CALL
+ supportsService(const ::rtl::OUString& rServiceName)
+ throw (uno::RuntimeException);
+ virtual uno::Sequence< ::rtl::OUString > SAL_CALL
+ getSupportedServiceNames() throw (uno::RuntimeException);
+
+ // XElementAccess
+ virtual uno::Type SAL_CALL getElementType() throw (uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasElements() throw (uno::RuntimeException);
+
+ // XIndexAccess
+ virtual sal_Int32 SAL_CALL getCount() throw (uno::RuntimeException);
+ virtual uno::Any SAL_CALL getByIndex(sal_Int32 nIndex)
+ throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException,
+ uno::RuntimeException);
+
+ // XIndexReplace
+ virtual void SAL_CALL
+ replaceByIndex(sal_Int32 Index, const uno::Any& rElement)
+ throw (lang::IllegalArgumentException, lang::IndexOutOfBoundsException,
+ lang::WrappedTargetException, uno::RuntimeException);
+
+};
+
+/* -----------------13.09.99 16:39-------------------
+
+ --------------------------------------------------*/
+typedef ::cppu::WeakImplHelper2
+< lang::XServiceInfo
+, container::XIndexReplace
+> SwXDocumentIndexTokenAccess_Base;
+
+class SwXDocumentIndex::TokenAccess_Impl
+ : public SwXDocumentIndexTokenAccess_Base
+{
+
+private:
+ /// can be destroyed threadsafely, so no UnoImplPtr here
+ ::rtl::Reference<SwXDocumentIndex> m_xParent;
+
+ virtual ~TokenAccess_Impl();
+
+public:
+
+ TokenAccess_Impl(SwXDocumentIndex& rParentIdx);
+
+ // XServiceInfo
+ virtual ::rtl::OUString SAL_CALL getImplementationName()
+ throw (uno::RuntimeException);
+ virtual sal_Bool SAL_CALL
+ supportsService(const ::rtl::OUString& rServiceName)
+ throw (uno::RuntimeException);
+ virtual uno::Sequence< ::rtl::OUString > SAL_CALL
+ getSupportedServiceNames() throw (uno::RuntimeException);
+
+ // XElementAccess
+ virtual uno::Type SAL_CALL getElementType() throw (uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasElements() throw (uno::RuntimeException);
+
+ // XIndexAccess
+ virtual sal_Int32 SAL_CALL getCount() throw (uno::RuntimeException);
+ virtual uno::Any SAL_CALL getByIndex(sal_Int32 nIndex)
+ throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException,
+ uno::RuntimeException);
+
+ // XIndexReplace
+ virtual void SAL_CALL
+ replaceByIndex(sal_Int32 Index, const uno::Any& rElement)
+ throw (lang::IllegalArgumentException, lang::IndexOutOfBoundsException,
+ lang::WrappedTargetException, uno::RuntimeException);
+
+};
+
+
/******************************************************************
* SwXDocumentIndex
******************************************************************/
+
/* -----------------20.06.98 11:06-------------------
*
* --------------------------------------------------*/
-class SwDocIdxProperties_Impl
+class SwDocIndexDescriptorProperties_Impl
{
- SwTOXBase* pTOXBase;
- OUString sUserTOXTypeName;
+private:
+ ::std::auto_ptr<SwTOXBase> m_pTOXBase;
+ OUString m_sUserTOXTypeName;
+
public:
- SwTOXBase& GetTOXBase() {return *pTOXBase;}
- SwDocIdxProperties_Impl(const SwTOXType* pType);
- ~SwDocIdxProperties_Impl(){delete pTOXBase;}
+ SwDocIndexDescriptorProperties_Impl(SwTOXType const*const pType);
- const OUString& GetTypeName()const {return sUserTOXTypeName;}
- void SetTypeName(const OUString& rSet) {sUserTOXTypeName = rSet;}
+ SwTOXBase & GetTOXBase() { return *m_pTOXBase; }
+ const OUString& GetTypeName() const { return m_sUserTOXTypeName; }
+ void SetTypeName(const OUString& rSet) { m_sUserTOXTypeName = rSet; }
};
/* -----------------20.06.98 11:41-------------------
*
* --------------------------------------------------*/
-SwDocIdxProperties_Impl::SwDocIdxProperties_Impl(const SwTOXType* pType)
+SwDocIndexDescriptorProperties_Impl::SwDocIndexDescriptorProperties_Impl(
+ SwTOXType const*const pType)
{
SwForm aForm(pType->GetType());
- pTOXBase = new SwTOXBase(pType, aForm,
- nsSwTOXElement::TOX_MARK, pType->GetTypeName());
+ m_pTOXBase.reset(new SwTOXBase(pType, aForm,
+ nsSwTOXElement::TOX_MARK, pType->GetTypeName()));
if(pType->GetType() == TOX_CONTENT || pType->GetType() == TOX_USER)
- pTOXBase->SetLevel(MAXLEVEL);
- sUserTOXTypeName = pType->GetTypeName();
+ {
+ m_pTOXBase->SetLevel(MAXLEVEL);
+ }
+ m_sUserTOXTypeName = pType->GetTypeName();
}
+
+static sal_uInt16
+lcl_TypeToPropertyMap_Index(const TOXTypes eType)
+{
+ switch (eType)
+ {
+ case TOX_INDEX: return PROPERTY_MAP_INDEX_IDX;
+ case TOX_CONTENT: return PROPERTY_MAP_INDEX_CNTNT;
+ case TOX_TABLES: return PROPERTY_MAP_INDEX_TABLES;
+ case TOX_ILLUSTRATIONS: return PROPERTY_MAP_INDEX_ILLUSTRATIONS;
+ case TOX_OBJECTS: return PROPERTY_MAP_INDEX_OBJECTS;
+ case TOX_AUTHORITIES: return PROPERTY_MAP_BIBLIOGRAPHY;
+ //case TOX_USER:
+ default:
+ return PROPERTY_MAP_INDEX_USER;
+ }
+}
+
+class SwXDocumentIndex::Impl
+ : public SwClient
+{
+
+public:
+
+ SfxItemPropertySet const& m_rPropSet;
+ const TOXTypes m_eTOXType;
+ SwEventListenerContainer m_ListenerContainer;
+ bool m_bIsDescriptor;
+ SwDoc * m_pDoc;
+ ::std::auto_ptr<SwDocIndexDescriptorProperties_Impl> m_pProps;
+ uno::WeakReference<container::XIndexReplace> m_wStyleAccess;
+ uno::WeakReference<container::XIndexReplace> m_wTokenAccess;
+
+ Impl( SwXDocumentIndex & rThis,
+ SwDoc & rDoc,
+ const TOXTypes eType,
+ SwTOXBaseSection const*const pBaseSection)
+ : SwClient((pBaseSection) ? pBaseSection->GetFmt() : 0)
+ , m_rPropSet(
+ *aSwMapProvider.GetPropertySet(lcl_TypeToPropertyMap_Index(eType)))
+ , m_eTOXType(eType)
+ , m_ListenerContainer(static_cast< ::cppu::OWeakObject* >(&rThis))
+ , m_bIsDescriptor(0 == pBaseSection)
+ , m_pDoc(&rDoc)
+ , m_pProps((m_bIsDescriptor)
+ ? new SwDocIndexDescriptorProperties_Impl(rDoc.GetTOXType(eType, 0))
+ : 0)
+ {
+ }
+
+ SwSectionFmt * GetSectionFmt() const {
+ return static_cast<SwSectionFmt *>(
+ const_cast<SwModify *>(GetRegisteredIn()));
+ }
+
+ SwTOXBase & GetTOXSectionOrThrow() const
+ {
+ SwSectionFmt *const pSectionFmt(GetSectionFmt());
+ SwTOXBase *const pTOXSection( (m_bIsDescriptor)
+ ? &m_pProps->GetTOXBase()
+ : ((pSectionFmt)
+ ? static_cast<SwTOXBaseSection*>(pSectionFmt->GetSection())
+ : 0));
+ if (!pTOXSection)
+ {
+ throw uno::RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "SwXDocumentIndex: disposed or invalid")), 0);
+ }
+ return *pTOXSection;
+ }
+
+ sal_Int32 GetFormMax() const
+ {
+ SwTOXBase & rSection( GetTOXSectionOrThrow() );
+ return (m_bIsDescriptor)
+ ? SwForm::GetFormMaxLevel(m_eTOXType)
+ : rSection.GetTOXForm().GetFormMax();
+ }
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+/*-- 14.12.98 09:35:07---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void SwXDocumentIndex::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
+{
+ ClientModify(this, pOld, pNew);
+
+ if (!GetRegisteredIn())
+ {
+ m_ListenerContainer.Disposing();
+ }
+}
+
+/*-- 14.12.98 09:35:03---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXDocumentIndex::SwXDocumentIndex(
+ SwTOXBaseSection const& rBaseSection, SwDoc & rDoc)
+ : m_pImpl( new SwXDocumentIndex::Impl( *this,
+ rDoc, rBaseSection.SwTOXBase::GetType(), & rBaseSection) )
+{
+}
+/* -----------------15.01.99 14:59-------------------
+ *
+ * --------------------------------------------------*/
+SwXDocumentIndex::SwXDocumentIndex(const TOXTypes eType, SwDoc& rDoc)
+ : m_pImpl( new SwXDocumentIndex::Impl( *this, rDoc, eType, 0) )
+{
+}
+
+/*-- 14.12.98 09:35:04---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXDocumentIndex::~SwXDocumentIndex()
+{
+}
+
+uno::Reference<text::XDocumentIndex>
+SwXDocumentIndex::CreateXDocumentIndex(
+ SwDoc & rDoc, SwTOXBaseSection const& rSection)
+{
+ // re-use existing SwXDocumentIndex
+ // #i105557#: do not iterate over the registered clients: race condition
+ SwSectionFmt *const pFmt = rSection.GetFmt();
+ uno::Reference<text::XDocumentIndex> xIndex(pFmt->GetXObject(),
+ uno::UNO_QUERY);
+ if (!xIndex.is())
+ {
+ SwXDocumentIndex *const pIndex(new SwXDocumentIndex(rSection, rDoc));
+ xIndex.set(pIndex);
+ pFmt->SetXObject(uno::Reference<uno::XInterface>(xIndex));
+ }
+ return xIndex;
+}
+
/* -----------------------------10.03.00 18:02--------------------------------
---------------------------------------------------------------------------*/
@@ -198,505 +475,530 @@ const uno::Sequence< sal_Int8 > & SwXDocumentIndex::getUnoTunnelId()
/* -----------------------------10.03.00 18:04--------------------------------
---------------------------------------------------------------------------*/
-sal_Int64 SAL_CALL SwXDocumentIndex::getSomething( const uno::Sequence< sal_Int8 >& rId )
- throw(uno::RuntimeException)
+sal_Int64 SAL_CALL
+SwXDocumentIndex::getSomething(const uno::Sequence< sal_Int8 >& rId)
+throw (uno::RuntimeException)
{
- if( rId.getLength() == 16
- && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- rId.getConstArray(), 16 ) )
- {
- return sal::static_int_cast< sal_Int64 >( reinterpret_cast< sal_IntPtr >(this) );
- }
- return 0;
+ return ::sw::UnoTunnelImpl<SwXDocumentIndex>(rId, this);
}
+
/* -----------------------------06.04.00 15:01--------------------------------
---------------------------------------------------------------------------*/
-OUString SwXDocumentIndex::getImplementationName(void) throw( uno::RuntimeException )
+OUString SAL_CALL
+SwXDocumentIndex::getImplementationName() throw (uno::RuntimeException)
{
return C2U("SwXDocumentIndex");
}
/* -----------------------------06.04.00 15:01--------------------------------
---------------------------------------------------------------------------*/
-BOOL SwXDocumentIndex::supportsService(const OUString& rServiceName) throw( uno::RuntimeException )
-{
- return C2U("com.sun.star.text.BaseIndex") == rServiceName ||
- ( TOX_INDEX == eTOXType && C2U("com.sun.star.text.DocumentIndex") == rServiceName) ||
- ( TOX_CONTENT == eTOXType && C2U("com.sun.star.text.ContentIndex") == rServiceName) ||
- ( TOX_USER == eTOXType && C2U("com.sun.star.text.UserDefinedIndex") == rServiceName) ||
- ( TOX_ILLUSTRATIONS == eTOXType && C2U("com.sun.star.text.IllustrationsIndex") == rServiceName) ||
- ( TOX_TABLES == eTOXType && C2U("com.sun.star.text.TableIndex") == rServiceName) ||
- ( TOX_OBJECTS == eTOXType && C2U("com.sun.star.text.ObjectIndex") == rServiceName) ||
- ( TOX_AUTHORITIES == eTOXType && C2U("com.sun.star.text.Bibliography") == rServiceName);
+sal_Bool SAL_CALL
+SwXDocumentIndex::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ vos::OGuard g(Application::GetSolarMutex());
+
+ return C2U("com.sun.star.text.BaseIndex") == rServiceName
+ || ((TOX_INDEX == m_pImpl->m_eTOXType) &&
+ rServiceName.equalsAscii("com.sun.star.text.DocumentIndex"))
+ || ((TOX_CONTENT == m_pImpl->m_eTOXType) &&
+ rServiceName.equalsAscii("com.sun.star.text.ContentIndex"))
+ || ((TOX_USER == m_pImpl->m_eTOXType) &&
+ rServiceName.equalsAscii("com.sun.star.text.UserDefinedIndex"))
+ || ((TOX_ILLUSTRATIONS == m_pImpl->m_eTOXType) &&
+ rServiceName.equalsAscii("com.sun.star.text.IllustrationsIndex"))
+ || ((TOX_TABLES == m_pImpl->m_eTOXType) &&
+ rServiceName.equalsAscii("com.sun.star.text.TableIndex"))
+ || ((TOX_OBJECTS == m_pImpl->m_eTOXType) &&
+ rServiceName.equalsAscii("com.sun.star.text.ObjectIndex"))
+ || ((TOX_AUTHORITIES == m_pImpl->m_eTOXType) &&
+ rServiceName.equalsAscii("com.sun.star.text.Bibliography"));
}
/* -----------------------------06.04.00 15:01--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< OUString > SwXDocumentIndex::getSupportedServiceNames(void) throw( uno::RuntimeException )
+uno::Sequence< OUString > SAL_CALL
+SwXDocumentIndex::getSupportedServiceNames() throw (uno::RuntimeException)
{
+ vos::OGuard g(Application::GetSolarMutex());
+
uno::Sequence< OUString > aRet(2);
OUString* pArray = aRet.getArray();
pArray[0] = C2U("com.sun.star.text.BaseIndex");
- switch( eTOXType )
- {
- case TOX_INDEX: pArray[1] = C2U("com.sun.star.text.DocumentIndex");break;
- case TOX_CONTENT: pArray[1] = C2U("com.sun.star.text.ContentIndex");break;
- case TOX_TABLES: pArray[1] = C2U("com.sun.star.text.TableIndex");break;
- case TOX_ILLUSTRATIONS: pArray[1] = C2U("com.sun.star.text.IllustrationsIndex");break;
- case TOX_OBJECTS: pArray[1] = C2U("com.sun.star.text.ObjectIndex");break;
- case TOX_AUTHORITIES : pArray[1] = C2U("com.sun.star.text.Bibliography");break;
+ switch (m_pImpl->m_eTOXType)
+ {
+ case TOX_INDEX:
+ pArray[1] = C2U("com.sun.star.text.DocumentIndex");
+ break;
+ case TOX_CONTENT:
+ pArray[1] = C2U("com.sun.star.text.ContentIndex");
+ break;
+ case TOX_TABLES:
+ pArray[1] = C2U("com.sun.star.text.TableIndex");
+ break;
+ case TOX_ILLUSTRATIONS:
+ pArray[1] = C2U("com.sun.star.text.IllustrationsIndex");
+ break;
+ case TOX_OBJECTS:
+ pArray[1] = C2U("com.sun.star.text.ObjectIndex");
+ break;
+ case TOX_AUTHORITIES:
+ pArray[1] = C2U("com.sun.star.text.Bibliography");
+ break;
//case TOX_USER:
default:
pArray[1] = C2U("com.sun.star.text.UserDefinedIndex");
}
return aRet;
}
-/*-- 14.12.98 09:35:03---------------------------------------------------
- -----------------------------------------------------------------------*/
-TYPEINIT1(SwXDocumentIndex, SwClient)
-SwXDocumentIndex::SwXDocumentIndex(const SwTOXBaseSection* pB, SwDoc* pDc) :
- aLstnrCntnr( (text::XTextContent*)this),
- m_pPropSet(0),
- m_pDoc(pDc),
- pBase(pB),
- eTOXType(TOX_USER),
- bIsDescriptor(sal_False),
- pProps(0),
- pStyleAccess(0),
- pTokenAccess(0)
-{
- if(pBase && m_pDoc)
- {
- pBase->GetFmt()->Add(this);
- sal_uInt16 PropertyId;
- eTOXType = pBase->SwTOXBase::GetType();
- switch( eTOXType )
- {
- case TOX_INDEX: PropertyId = PROPERTY_MAP_INDEX_IDX; break;
- case TOX_CONTENT: PropertyId = PROPERTY_MAP_INDEX_CNTNT; break;
- case TOX_TABLES: PropertyId = PROPERTY_MAP_INDEX_TABLES; break;
- case TOX_ILLUSTRATIONS: PropertyId = PROPERTY_MAP_INDEX_ILLUSTRATIONS; break;
- case TOX_OBJECTS: PropertyId = PROPERTY_MAP_INDEX_OBJECTS; break;
- case TOX_AUTHORITIES : PropertyId = PROPERTY_MAP_BIBLIOGRAPHY; break;
- //case TOX_USER:
- default:
- PropertyId = PROPERTY_MAP_INDEX_USER;
- }
- m_pPropSet = aSwMapProvider.GetPropertySet(PropertyId);
- }
-}
-/* -----------------15.01.99 14:59-------------------
- *
- * --------------------------------------------------*/
-SwXDocumentIndex::SwXDocumentIndex(TOXTypes eType, SwDoc& rDoc) :
- aLstnrCntnr( (text::XTextContent*)this),
- m_pDoc(0),
- pBase(0),
- eTOXType(eType),
- bIsDescriptor(sal_True),
- pProps(new SwDocIdxProperties_Impl(rDoc.GetTOXType(eType, 0))),
- pStyleAccess(0),
- pTokenAccess(0)
-{
- sal_uInt16 PropertyId;
- switch(eType)
- {
- case TOX_INDEX: PropertyId = PROPERTY_MAP_INDEX_IDX; break;
- case TOX_CONTENT: PropertyId = PROPERTY_MAP_INDEX_CNTNT; break;
- case TOX_TABLES: PropertyId = PROPERTY_MAP_INDEX_TABLES; break;
- case TOX_ILLUSTRATIONS: PropertyId = PROPERTY_MAP_INDEX_ILLUSTRATIONS; break;
- case TOX_OBJECTS: PropertyId = PROPERTY_MAP_INDEX_OBJECTS; break;
- case TOX_AUTHORITIES : PropertyId = PROPERTY_MAP_BIBLIOGRAPHY; break;
- //case TOX_USER:
- default:
- PropertyId = PROPERTY_MAP_INDEX_USER;
- }
- m_pPropSet = aSwMapProvider.GetPropertySet(PropertyId);
-}
-
-/*-- 14.12.98 09:35:04---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-SwXDocumentIndex::~SwXDocumentIndex()
-{
- delete pProps;
-}
/*-- 14.12.98 09:35:05---------------------------------------------------
-----------------------------------------------------------------------*/
-OUString SwXDocumentIndex::getServiceName(void) throw( uno::RuntimeException )
+OUString SAL_CALL SwXDocumentIndex::getServiceName()
+throw (uno::RuntimeException)
{
+ vos::OGuard g(Application::GetSolarMutex());
+
USHORT nObjectType = SW_SERVICE_TYPE_INDEX;
- switch(eTOXType)
+ switch (m_pImpl->m_eTOXType)
{
// case TOX_INDEX: break;
- case TOX_USER: nObjectType = SW_SERVICE_USER_INDEX;break;
- case TOX_CONTENT: nObjectType = SW_SERVICE_CONTENT_INDEX;break;
- case TOX_ILLUSTRATIONS: nObjectType = SW_SERVICE_INDEX_ILLUSTRATIONS;break;
- case TOX_OBJECTS: nObjectType = SW_SERVICE_INDEX_OBJECTS;break;
- case TOX_TABLES: nObjectType = SW_SERVICE_INDEX_TABLES;break;
- case TOX_AUTHORITIES: nObjectType = SW_SERVICE_INDEX_BIBLIOGRAPHY;break;
+ case TOX_USER: nObjectType = SW_SERVICE_USER_INDEX;
+ break;
+ case TOX_CONTENT: nObjectType = SW_SERVICE_CONTENT_INDEX;
+ break;
+ case TOX_ILLUSTRATIONS: nObjectType = SW_SERVICE_INDEX_ILLUSTRATIONS;
+ break;
+ case TOX_OBJECTS: nObjectType = SW_SERVICE_INDEX_OBJECTS;
+ break;
+ case TOX_TABLES: nObjectType = SW_SERVICE_INDEX_TABLES;
+ break;
+ case TOX_AUTHORITIES: nObjectType = SW_SERVICE_INDEX_BIBLIOGRAPHY;
+ break;
default:
- ;
+ break;
}
return SwXServiceProvider::GetProviderName(nObjectType);
}
+
/*-- 14.12.98 09:35:05---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndex::update(void) throw( uno::RuntimeException )
+void SAL_CALL SwXDocumentIndex::update() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwSectionFmt *pFmt = GetFmt();
- SwTOXBase* pTOXBase = pFmt ? (SwTOXBaseSection*)pFmt->GetSection() : 0;
+
+ SwSectionFmt *const pFmt = m_pImpl->GetSectionFmt();
+ SwTOXBaseSection *const pTOXBase = (pFmt) ?
+ static_cast<SwTOXBaseSection*>(pFmt->GetSection()) : 0;
if(!pTOXBase)
+ {
throw uno::RuntimeException();
- ((SwTOXBaseSection*)pTOXBase)->Update();
- // Seitennummern eintragen
- ((SwTOXBaseSection*)pTOXBase)->UpdatePageNum();
+ }
+ pTOXBase->Update();
+ // page numbers
+ pTOXBase->UpdatePageNum();
}
+
/*-- 14.12.98 09:35:05---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< beans::XPropertySetInfo > SwXDocumentIndex::getPropertySetInfo(void) throw( uno::RuntimeException )
+uno::Reference< beans::XPropertySetInfo > SAL_CALL
+SwXDocumentIndex::getPropertySetInfo() throw (uno::RuntimeException)
{
- uno::Reference< beans::XPropertySetInfo > aRef = m_pPropSet->getPropertySetInfo();
- return aRef;
+ vos::OGuard g(Application::GetSolarMutex());
+
+ const uno::Reference< beans::XPropertySetInfo > xRef =
+ m_pImpl->m_rPropSet.getPropertySetInfo();
+ return xRef;
}
+
/*-- 14.12.98 09:35:05---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndex::setPropertyValue(const OUString& rPropertyName,
- const uno::Any& aValue)
- throw( beans::UnknownPropertyException, beans::PropertyVetoException,
- lang::IllegalArgumentException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXDocumentIndex::setPropertyValue(
+ const OUString& rPropertyName, const uno::Any& rValue)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- const SfxItemPropertySimpleEntry* pEntry = m_pPropSet->getPropertyMap()->getByName(rPropertyName);
+
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName(rPropertyName);
if (!pEntry)
- throw beans::UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
- if ( pEntry->nFlags & beans::PropertyAttribute::READONLY)
- throw beans::PropertyVetoException ( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Property is read-only: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
+ {
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(this));
+ }
+ if (pEntry->nFlags & beans::PropertyAttribute::READONLY)
+ {
+ throw beans::PropertyVetoException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Property is read-only: " ))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(this));
+ }
- SwTOXBase* pTOXBase = 0;
- if(GetFmt())
- pTOXBase = (SwTOXBaseSection*)GetFmt()->GetSection();
- else if(bIsDescriptor)
- pTOXBase = &pProps->GetTOXBase();
- if(pTOXBase)
+ SwSectionFmt *const pSectionFmt(m_pImpl->GetSectionFmt());
+ SwTOXBase & rTOXBase( m_pImpl->GetTOXSectionOrThrow() );
+
+ sal_uInt16 nCreate = rTOXBase.GetCreateType();
+ sal_uInt16 nTOIOptions = 0;
+ sal_uInt16 nOLEOptions = rTOXBase.GetOLEOptions();
+ const TOXTypes eTxBaseType = rTOXBase.GetTOXType()->GetType();
+ if (eTxBaseType == TOX_INDEX)
{
- sal_uInt16 nCreate = pTOXBase->GetCreateType();
- sal_uInt16 nTOIOptions = 0;
- sal_uInt16 nOLEOptions = pTOXBase->GetOLEOptions();
- TOXTypes eTxBaseType = pTOXBase->GetTOXType()->GetType();
- if( eTxBaseType == TOX_INDEX )
- nTOIOptions = pTOXBase->GetOptions();
- SwForm aForm(pTOXBase->GetTOXForm());
- sal_Bool bForm = sal_False;
- SfxItemSet* pAttrSet = 0;
- switch(pEntry->nWID)
+ nTOIOptions = rTOXBase.GetOptions();
+ }
+ SwForm aForm(rTOXBase.GetTOXForm());
+ sal_Bool bForm = sal_False;
+ switch (pEntry->nWID)
+ {
+ case WID_IDX_TITLE:
{
- case WID_IDX_TITLE :
+ OUString sNewName;
+ if (!(rValue >>= sNewName))
{
- OUString sNewName;
- aValue >>= sNewName;
- pTOXBase->SetTitle(sNewName);
- }
- break;
- case WID_IDX_NAME:
- {
- OUString sNewName;
- aValue >>= sNewName;
- pTOXBase->SetTOXName(sNewName);
- }
- break;
- case WID_USER_IDX_NAME:
- {
- OUString sNewName;
- aValue >>= sNewName;
- lcl_ConvertTOUNameToUserName(sNewName);
- DBG_ASSERT(TOX_USER == eTxBaseType, "tox type name can only be changed for user indexes");
- if(GetFmt())
- {
- OUString sTmp = pTOXBase->GetTOXType()->GetTypeName();
- if(sTmp != sNewName)
- {
- lcl_ReAssignTOXType(GetFmt()->GetDoc(), *pTOXBase, sNewName);
- }
- }
- else
- pProps->SetTypeName(sNewName);
+ throw lang::IllegalArgumentException();
}
- break;
- case WID_IDX_LOCALE:
+ rTOXBase.SetTitle(sNewName);
+ }
+ break;
+ case WID_IDX_NAME:
+ {
+ OUString sNewName;
+ if (!(rValue >>= sNewName))
{
- lang::Locale aLocale;
- if(aValue>>= aLocale)
- pTOXBase->SetLanguage(SvxLocaleToLanguage(aLocale));
- else
- throw lang::IllegalArgumentException();
+ throw lang::IllegalArgumentException();
}
- break;
- case WID_IDX_SORT_ALGORITHM:
+ rTOXBase.SetTOXName(sNewName);
+ }
+ break;
+ case WID_USER_IDX_NAME:
+ {
+ OUString sNewName;
+ if (!(rValue >>= sNewName))
{
- OUString sTmp;
- if(aValue >>= sTmp)
- pTOXBase->SetSortAlgorithm(sTmp);
- else
- throw lang::IllegalArgumentException();
+ throw lang::IllegalArgumentException();
}
- break;
- case WID_LEVEL :
- pTOXBase->SetLevel(lcl_AnyToInt16(aValue));
- break;
- case WID_CREATE_FROM_MARKS :
- nCreate = lcl_AnyToBool(aValue) ? nCreate | nsSwTOXElement::TOX_MARK: nCreate & ~nsSwTOXElement::TOX_MARK;
- break;
- case WID_CREATE_FROM_OUTLINE :
- nCreate = lcl_AnyToBool(aValue) ? nCreate | nsSwTOXElement::TOX_OUTLINELEVEL: nCreate & ~nsSwTOXElement::TOX_OUTLINELEVEL;
- break;
-// case WID_PARAGRAPH_STYLE_NAMES :DBG_ERROR("not implemented")
-// break;
- case WID_CREATE_FROM_CHAPTER :
- pTOXBase->SetFromChapter(lcl_AnyToBool(aValue));
- break;
- case WID_CREATE_FROM_LABELS :
- pTOXBase->SetFromObjectNames(! lcl_AnyToBool(aValue));
- break;
- case WID_PROTECTED :
+ lcl_ConvertTOUNameToUserName(sNewName);
+ DBG_ASSERT(TOX_USER == eTxBaseType,
+ "tox type name can only be changed for user indexes");
+ if (pSectionFmt)
{
- sal_Bool bSet = lcl_AnyToBool(aValue);
- pTOXBase->SetProtected(bSet);
- if(GetFmt())
- ((SwTOXBaseSection*)pTOXBase)->SetProtect(bSet);
+ OUString sTmp = rTOXBase.GetTOXType()->GetTypeName();
+ if (sTmp != sNewName)
+ {
+ lcl_ReAssignTOXType(pSectionFmt->GetDoc(),
+ rTOXBase, sNewName);
+ }
}
- break;
- case WID_USE_ALPHABETICAL_SEPARATORS:
- nTOIOptions = lcl_AnyToBool(aValue) ?
- nTOIOptions | nsSwTOIOptions::TOI_ALPHA_DELIMITTER : nTOIOptions & ~nsSwTOIOptions::TOI_ALPHA_DELIMITTER;
- break;
- case WID_USE_KEY_AS_ENTRY :
- nTOIOptions = lcl_AnyToBool(aValue) ?
- nTOIOptions | nsSwTOIOptions::TOI_KEY_AS_ENTRY : nTOIOptions & ~nsSwTOIOptions::TOI_KEY_AS_ENTRY;
- break;
- case WID_USE_COMBINED_ENTRIES :
- nTOIOptions = lcl_AnyToBool(aValue) ?
- nTOIOptions | nsSwTOIOptions::TOI_SAME_ENTRY : nTOIOptions & ~nsSwTOIOptions::TOI_SAME_ENTRY;
- break;
- case WID_IS_CASE_SENSITIVE :
- nTOIOptions = lcl_AnyToBool(aValue) ?
- nTOIOptions | nsSwTOIOptions::TOI_CASE_SENSITIVE : nTOIOptions & ~nsSwTOIOptions::TOI_CASE_SENSITIVE;
- break;
- case WID_USE_P_P :
- nTOIOptions = lcl_AnyToBool(aValue) ?
- nTOIOptions | nsSwTOIOptions::TOI_FF : nTOIOptions & ~nsSwTOIOptions::TOI_FF;
- break;
- case WID_USE_DASH :
- nTOIOptions = lcl_AnyToBool(aValue) ?
- nTOIOptions | nsSwTOIOptions::TOI_DASH : nTOIOptions & ~nsSwTOIOptions::TOI_DASH;
- break;
- case WID_USE_UPPER_CASE :
- nTOIOptions = lcl_AnyToBool(aValue) ?
- nTOIOptions | nsSwTOIOptions::TOI_INITIAL_CAPS : nTOIOptions & ~nsSwTOIOptions::TOI_INITIAL_CAPS;
- break;
- case WID_IS_COMMA_SEPARATED :
- bForm = sal_True;
- aForm.SetCommaSeparated(lcl_AnyToBool(aValue));
- break;
- case WID_LABEL_CATEGORY :
+ else
{
- // convert file-format/API/external programmatic english name
- // to internal UI name before usage
- String aName( SwStyleNameMapper::GetSpecialExtraUIName(
- lcl_AnyToString(aValue) ) );
- pTOXBase->SetSequenceName( aName );
+ m_pImpl->m_pProps->SetTypeName(sNewName);
}
- break;
- case WID_LABEL_DISPLAY_TYPE :
+ }
+ break;
+ case WID_IDX_LOCALE:
+ {
+ lang::Locale aLocale;
+ if (!(rValue>>= aLocale))
{
- sal_Int16 nVal = lcl_AnyToInt16(aValue);
- sal_uInt16 nSet = CAPTION_COMPLETE;
- switch (nVal)
- {
- case text::ReferenceFieldPart::TEXT: nSet = CAPTION_COMPLETE;
- break;
- case text::ReferenceFieldPart::CATEGORY_AND_NUMBER : nSet = CAPTION_NUMBER;
- break;
- case text::ReferenceFieldPart::ONLY_CAPTION : nSet = CAPTION_TEXT;
- break;
- default:
- throw lang::IllegalArgumentException();
- }
- pTOXBase->SetCaptionDisplay((SwCaptionDisplay)nSet);
+ throw lang::IllegalArgumentException();
}
- break;
- case WID_USE_LEVEL_FROM_SOURCE :
- pTOXBase->SetLevelFromChapter(lcl_AnyToBool(aValue));
- break;
- case WID_MAIN_ENTRY_CHARACTER_STYLE_NAME :
+ rTOXBase.SetLanguage(SvxLocaleToLanguage(aLocale));
+ }
+ break;
+ case WID_IDX_SORT_ALGORITHM:
+ {
+ OUString sTmp;
+ if (!(rValue >>= sTmp))
{
- String aString;
- SwStyleNameMapper::FillUIName(lcl_AnyToString(aValue), aString, nsSwGetPoolIdFromName::GET_POOLID_CHRFMT, sal_True);
- pTOXBase->SetMainEntryCharStyle( aString );
+ throw lang::IllegalArgumentException();
}
- break;
- case WID_CREATE_FROM_TABLES :
- nCreate = lcl_AnyToBool(aValue) ? nCreate | nsSwTOXElement::TOX_TABLE : nCreate & ~nsSwTOXElement::TOX_TABLE;
- break;
- case WID_CREATE_FROM_TEXT_FRAMES :
- nCreate = lcl_AnyToBool(aValue) ? nCreate | nsSwTOXElement::TOX_FRAME : nCreate & ~nsSwTOXElement::TOX_FRAME;
- break;
- case WID_CREATE_FROM_GRAPHIC_OBJECTS :
- nCreate = lcl_AnyToBool(aValue) ? nCreate | nsSwTOXElement::TOX_GRAPHIC : nCreate & ~nsSwTOXElement::TOX_GRAPHIC;
- break;
- case WID_CREATE_FROM_EMBEDDED_OBJECTS :
- if(lcl_AnyToBool(aValue))
- nCreate |= nsSwTOXElement::TOX_OLE;
- else
- nCreate &= ~nsSwTOXElement::TOX_OLE;
- break;
- case WID_CREATE_FROM_STAR_MATH:
- nOLEOptions = lcl_AnyToBool(aValue) ? nOLEOptions | nsSwTOOElements::TOO_MATH : nOLEOptions & ~nsSwTOOElements::TOO_MATH;
- break;
- case WID_CREATE_FROM_STAR_CHART :
- nOLEOptions = lcl_AnyToBool(aValue) ? nOLEOptions | nsSwTOOElements::TOO_CHART : nOLEOptions & ~nsSwTOOElements::TOO_CHART;
- break;
- case WID_CREATE_FROM_STAR_CALC :
- nOLEOptions = lcl_AnyToBool(aValue) ? nOLEOptions | nsSwTOOElements::TOO_CALC : nOLEOptions & ~nsSwTOOElements::TOO_CALC;
- break;
- case WID_CREATE_FROM_STAR_DRAW :
- nOLEOptions = lcl_AnyToBool(aValue) ? nOLEOptions | nsSwTOOElements::TOO_DRAW_IMPRESS : nOLEOptions & ~nsSwTOOElements::TOO_DRAW_IMPRESS;
- break;
- case WID_CREATE_FROM_OTHER_EMBEDDED_OBJECTS:
- nOLEOptions = lcl_AnyToBool(aValue) ? nOLEOptions | nsSwTOOElements::TOO_OTHER : nOLEOptions & ~nsSwTOOElements::TOO_OTHER;
- break;
- case WID_PARA_HEAD :
+ rTOXBase.SetSortAlgorithm(sTmp);
+ }
+ break;
+ case WID_LEVEL:
+ {
+ rTOXBase.SetLevel(lcl_AnyToInt16(rValue));
+ }
+ break;
+ case WID_CREATE_FROM_MARKS:
+ lcl_AnyToBitMask(rValue, nCreate, nsSwTOXElement::TOX_MARK);
+ break;
+ case WID_CREATE_FROM_OUTLINE:
+ lcl_AnyToBitMask(rValue, nCreate, nsSwTOXElement::TOX_OUTLINELEVEL);
+ break;
+// case WID_PARAGRAPH_STYLE_NAMES :DBG_ERROR("not implemented")
+// break;
+ case WID_CREATE_FROM_CHAPTER:
+ rTOXBase.SetFromChapter(lcl_AnyToBool(rValue));
+ break;
+ case WID_CREATE_FROM_LABELS:
+ rTOXBase.SetFromObjectNames(! lcl_AnyToBool(rValue));
+ break;
+ case WID_PROTECTED:
+ {
+ sal_Bool bSet = lcl_AnyToBool(rValue);
+ rTOXBase.SetProtected(bSet);
+ if (pSectionFmt)
{
- String aString;
- SwStyleNameMapper::FillUIName( lcl_AnyToString(aValue), aString, nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL, sal_True);
- bForm = sal_True;
- //Header steht an Pos 0
- aForm.SetTemplate( 0, aString );
+ static_cast<SwTOXBaseSection &>(rTOXBase).SetProtect(bSet);
}
- break;
- case WID_IS_RELATIVE_TABSTOPS:
- bForm = sal_True;
- aForm.SetRelTabPos(lcl_AnyToBool(aValue));
- break;
- case WID_PARA_SEP :
+ }
+ break;
+ case WID_USE_ALPHABETICAL_SEPARATORS:
+ lcl_AnyToBitMask(rValue, nTOIOptions,
+ nsSwTOIOptions::TOI_ALPHA_DELIMITTER);
+ break;
+ case WID_USE_KEY_AS_ENTRY:
+ lcl_AnyToBitMask(rValue, nTOIOptions,
+ nsSwTOIOptions::TOI_KEY_AS_ENTRY);
+ break;
+ case WID_USE_COMBINED_ENTRIES:
+ lcl_AnyToBitMask(rValue, nTOIOptions,
+ nsSwTOIOptions::TOI_SAME_ENTRY);
+ break;
+ case WID_IS_CASE_SENSITIVE:
+ lcl_AnyToBitMask(rValue, nTOIOptions,
+ nsSwTOIOptions::TOI_CASE_SENSITIVE);
+ break;
+ case WID_USE_P_P:
+ lcl_AnyToBitMask(rValue, nTOIOptions, nsSwTOIOptions::TOI_FF);
+ break;
+ case WID_USE_DASH:
+ lcl_AnyToBitMask(rValue, nTOIOptions, nsSwTOIOptions::TOI_DASH);
+ break;
+ case WID_USE_UPPER_CASE:
+ lcl_AnyToBitMask(rValue, nTOIOptions,
+ nsSwTOIOptions::TOI_INITIAL_CAPS);
+ break;
+ case WID_IS_COMMA_SEPARATED:
+ bForm = sal_True;
+ aForm.SetCommaSeparated(lcl_AnyToBool(rValue));
+ break;
+ case WID_LABEL_CATEGORY:
+ {
+ // convert file-format/API/external programmatic english name
+ // to internal UI name before usage
+ String aName( SwStyleNameMapper::GetSpecialExtraUIName(
+ lcl_AnyToString(rValue) ) );
+ rTOXBase.SetSequenceName( aName );
+ }
+ break;
+ case WID_LABEL_DISPLAY_TYPE:
+ {
+ const sal_Int16 nVal = lcl_AnyToInt16(rValue);
+ sal_uInt16 nSet = CAPTION_COMPLETE;
+ switch (nVal)
{
- String aString;
- bForm = sal_True;
- SwStyleNameMapper::FillUIName( lcl_AnyToString(aValue), aString, nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL, sal_True);
- aForm.SetTemplate( 1, aString );
+ case text::ReferenceFieldPart::TEXT:
+ nSet = CAPTION_COMPLETE;
+ break;
+ case text::ReferenceFieldPart::CATEGORY_AND_NUMBER:
+ nSet = CAPTION_NUMBER;
+ break;
+ case text::ReferenceFieldPart::ONLY_CAPTION:
+ nSet = CAPTION_TEXT;
+ break;
+ default:
+ throw lang::IllegalArgumentException();
}
- break;
- case WID_CREATE_FROM_PARAGRAPH_STYLES:
- nCreate = lcl_AnyToBool(aValue) ?
- (nCreate | nsSwTOXElement::TOX_TEMPLATE) : (nCreate & ~nsSwTOXElement::TOX_TEMPLATE);
- break;
-
- case WID_PARA_LEV1 :
- case WID_PARA_LEV2 :
- case WID_PARA_LEV3 :
- case WID_PARA_LEV4 :
- case WID_PARA_LEV5 :
- case WID_PARA_LEV6 :
- case WID_PARA_LEV7 :
- case WID_PARA_LEV8 :
- case WID_PARA_LEV9 :
- case WID_PARA_LEV10 :
+ rTOXBase.SetCaptionDisplay(static_cast<SwCaptionDisplay>(nSet));
+ }
+ break;
+ case WID_USE_LEVEL_FROM_SOURCE:
+ rTOXBase.SetLevelFromChapter(lcl_AnyToBool(rValue));
+ break;
+ case WID_MAIN_ENTRY_CHARACTER_STYLE_NAME:
+ {
+ String aString;
+ SwStyleNameMapper::FillUIName(lcl_AnyToString(rValue),
+ aString, nsSwGetPoolIdFromName::GET_POOLID_CHRFMT, sal_True);
+ rTOXBase.SetMainEntryCharStyle( aString );
+ }
+ break;
+ case WID_CREATE_FROM_TABLES:
+ lcl_AnyToBitMask(rValue, nCreate, nsSwTOXElement::TOX_TABLE);
+ break;
+ case WID_CREATE_FROM_TEXT_FRAMES:
+ lcl_AnyToBitMask(rValue, nCreate, nsSwTOXElement::TOX_FRAME);
+ break;
+ case WID_CREATE_FROM_GRAPHIC_OBJECTS:
+ lcl_AnyToBitMask(rValue, nCreate, nsSwTOXElement::TOX_GRAPHIC);
+ break;
+ case WID_CREATE_FROM_EMBEDDED_OBJECTS:
+ lcl_AnyToBitMask(rValue, nCreate, nsSwTOXElement::TOX_OLE);
+ break;
+ case WID_CREATE_FROM_STAR_MATH:
+ lcl_AnyToBitMask(rValue, nOLEOptions, nsSwTOOElements::TOO_MATH);
+ break;
+ case WID_CREATE_FROM_STAR_CHART:
+ lcl_AnyToBitMask(rValue, nOLEOptions, nsSwTOOElements::TOO_CHART);
+ break;
+ case WID_CREATE_FROM_STAR_CALC:
+ lcl_AnyToBitMask(rValue, nOLEOptions, nsSwTOOElements::TOO_CALC);
+ break;
+ case WID_CREATE_FROM_STAR_DRAW:
+ lcl_AnyToBitMask(rValue, nOLEOptions,
+ nsSwTOOElements::TOO_DRAW_IMPRESS);
+ break;
+ case WID_CREATE_FROM_OTHER_EMBEDDED_OBJECTS:
+ lcl_AnyToBitMask(rValue, nOLEOptions, nsSwTOOElements::TOO_OTHER);
+ break;
+ case WID_PARA_HEAD:
+ {
+ String aString;
+ SwStyleNameMapper::FillUIName( lcl_AnyToString(rValue),
+ aString, nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL, sal_True);
+ bForm = sal_True;
+ // Header is on Pos 0
+ aForm.SetTemplate( 0, aString );
+ }
+ break;
+ case WID_IS_RELATIVE_TABSTOPS:
+ bForm = sal_True;
+ aForm.SetRelTabPos(lcl_AnyToBool(rValue));
+ break;
+ case WID_PARA_SEP:
+ {
+ String aString;
+ bForm = sal_True;
+ SwStyleNameMapper::FillUIName( lcl_AnyToString(rValue),
+ aString, nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL, sal_True);
+ aForm.SetTemplate( 1, aString );
+ }
+ break;
+ case WID_CREATE_FROM_PARAGRAPH_STYLES:
+ lcl_AnyToBitMask(rValue, nCreate, nsSwTOXElement::TOX_TEMPLATE);
+ break;
+
+ case WID_PARA_LEV1:
+ case WID_PARA_LEV2:
+ case WID_PARA_LEV3:
+ case WID_PARA_LEV4:
+ case WID_PARA_LEV5:
+ case WID_PARA_LEV6:
+ case WID_PARA_LEV7:
+ case WID_PARA_LEV8:
+ case WID_PARA_LEV9:
+ case WID_PARA_LEV10:
+ {
+ bForm = sal_True;
+ // in sdbcx::Index Label 1 begins at Pos 2 otherwise at Pos 1
+ const sal_uInt16 nLPos = rTOXBase.GetType() == TOX_INDEX ? 2 : 1;
+ String aString;
+ SwStyleNameMapper::FillUIName( lcl_AnyToString(rValue),
+ aString, nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL, sal_True);
+ aForm.SetTemplate(nLPos + pEntry->nWID - WID_PARA_LEV1, aString );
+ }
+ break;
+ default:
+ //this is for items only
+ if (WID_PRIMARY_KEY > pEntry->nWID)
{
- bForm = sal_True;
- // im sdbcx::Index beginnt Lebel 1 bei Pos 2 sonst bei Pos 1
- sal_uInt16 nLPos = pTOXBase->GetType() == TOX_INDEX ? 2 : 1;
- String aString;
- SwStyleNameMapper::FillUIName( lcl_AnyToString(aValue), aString, nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL, sal_True);
- aForm.SetTemplate(nLPos + pEntry->nWID - WID_PARA_LEV1, aString );
- }
- break;
- default:
- //this is for items only
- if(WID_PRIMARY_KEY > pEntry->nWID)
+ const SwAttrSet& rSet =
+ m_pImpl->m_pDoc->GetTOXBaseAttrSet(rTOXBase);
+ SfxItemSet aAttrSet(rSet);
+ m_pImpl->m_rPropSet.setPropertyValue(
+ rPropertyName, rValue, aAttrSet);
+
+ const SwSectionFmts& rSects = m_pImpl->m_pDoc->GetSections();
+ for (sal_uInt16 i = 0; i < rSects.Count(); i++)
{
- const SwAttrSet& rSet = m_pDoc->GetTOXBaseAttrSet(*pTOXBase);
- pAttrSet = new SfxItemSet(rSet);
- m_pPropSet->setPropertyValue(rPropertyName, aValue, *pAttrSet);
-
- const SwSectionFmts& rSects = m_pDoc->GetSections();
- const SwSectionFmt* pOwnFmt = GetFmt();
- for(sal_uInt16 i = 0; i < rSects.Count(); i++)
+ const SwSectionFmt* pTmpFmt = rSects[ i ];
+ if (pTmpFmt == pSectionFmt)
{
- const SwSectionFmt* pTmpFmt = rSects[ i ];
- if(pTmpFmt == pOwnFmt)
- {
- m_pDoc->ChgSection( i, *(SwTOXBaseSection*)pTOXBase, pAttrSet );
- break;
- }
+ m_pImpl->m_pDoc->ChgSection( i,
+ static_cast<SwTOXBaseSection&>(rTOXBase),
+ & aAttrSet);
+ break;
}
}
- }
- pTOXBase->SetCreate(nCreate);
- pTOXBase->SetOLEOptions(nOLEOptions);
- if(pTOXBase->GetTOXType()->GetType() == TOX_INDEX)
- pTOXBase->SetOptions(nTOIOptions);
- if(bForm)
- pTOXBase->SetTOXForm(aForm);
- delete pAttrSet;
+ }
+ }
+ rTOXBase.SetCreate(nCreate);
+ rTOXBase.SetOLEOptions(nOLEOptions);
+ if (rTOXBase.GetTOXType()->GetType() == TOX_INDEX)
+ {
+ rTOXBase.SetOptions(nTOIOptions);
+ }
+ if (bForm)
+ {
+ rTOXBase.SetTOXForm(aForm);
}
- else
- throw uno::RuntimeException();
-
}
+
/*-- 14.12.98 09:35:05---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXDocumentIndex::getPropertyValue(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL
+SwXDocumentIndex::getPropertyValue(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
uno::Any aRet;
- const SfxItemPropertySimpleEntry* pEntry = m_pPropSet->getPropertyMap()->getByName(rPropertyName);
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName(rPropertyName);
if (!pEntry)
- throw beans::UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
+ {
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName,
+ static_cast< cppu::OWeakObject * >(this));
+ }
+
+ SwSectionFmt *const pSectionFmt( m_pImpl->GetSectionFmt() );
SwTOXBase* pTOXBase = 0;
- if(GetFmt())
- pTOXBase = (SwTOXBaseSection*)GetFmt()->GetSection();
- else if(bIsDescriptor)
- pTOXBase = &pProps->GetTOXBase();
+ if (pSectionFmt)
+ {
+ pTOXBase = static_cast<SwTOXBaseSection*>(pSectionFmt->GetSection());
+ }
+ else if (m_pImpl->m_bIsDescriptor)
+ {
+ pTOXBase = &m_pImpl->m_pProps->GetTOXBase();
+ }
if(pTOXBase)
{
- sal_uInt16 nCreate = pTOXBase->GetCreateType();
- sal_uInt16 nTOIOptions = 0;
- sal_uInt16 nOLEOptions = pTOXBase->GetOLEOptions();
- if(pTOXBase->GetTOXType()->GetType() == TOX_INDEX)
- nTOIOptions = pTOXBase->GetOptions();
+ const sal_uInt16 nCreate = pTOXBase->GetCreateType();
+ const sal_uInt16 nOLEOptions = pTOXBase->GetOLEOptions();
+ const sal_uInt16 nTOIOptions =
+ (pTOXBase->GetTOXType()->GetType() == TOX_INDEX)
+ ? pTOXBase->GetOptions()
+ : 0U;
const SwForm& rForm = pTOXBase->GetTOXForm();
- sal_Bool bBOOL = sal_True;
- sal_Bool bRet = sal_False;
switch(pEntry->nWID)
{
case WID_IDX_CONTENT_SECTION:
case WID_IDX_HEADER_SECTION :
- bBOOL = sal_False;
if(WID_IDX_CONTENT_SECTION == pEntry->nWID)
{
- uno::Reference <text::XTextSection> xContentSect = SwXTextSections::GetObject( *GetFmt() );
+ const uno::Reference <text::XTextSection> xContentSect =
+ SwXTextSection::CreateXTextSection( pSectionFmt );
aRet <<= xContentSect;
}
else
{
SwSections aSectArr;
- GetFmt()->GetChildSections( aSectArr, SORTSECT_NOT, FALSE);
+ pSectionFmt->GetChildSections(aSectArr,
+ SORTSECT_NOT, FALSE);
for(USHORT i = 0; i < aSectArr.Count(); i++)
{
SwSection* pSect = aSectArr[i];
if(pSect->GetType() == TOX_HEADER_SECTION)
{
- uno::Reference <text::XTextSection> xHeaderSect = SwXTextSections::GetObject( *pSect->GetFmt() );
- aRet <<= xHeaderSect;
+ const uno::Reference <text::XTextSection> xHeader =
+ SwXTextSection::CreateXTextSection(
+ pSect->GetFmt() );
+ aRet <<= xHeader;
break;
}
}
@@ -704,80 +1006,96 @@ uno::Any SwXDocumentIndex::getPropertyValue(const OUString& rPropertyName)
break;
case WID_IDX_TITLE :
{
- bBOOL = sal_False;
OUString uRet(pTOXBase->GetTitle());
aRet <<= uRet;
break;
}
case WID_IDX_NAME:
- bBOOL = sal_False;
aRet <<= OUString(pTOXBase->GetTOXName());
break;
case WID_USER_IDX_NAME:
{
- bBOOL = sal_False;
OUString sTmp;
- if(!IsDescriptor())
+ if (!m_pImpl->m_bIsDescriptor)
+ {
sTmp = pTOXBase->GetTOXType()->GetTypeName();
+ }
else
- sTmp = pProps->GetTypeName();
+ {
+ sTmp = m_pImpl->m_pProps->GetTypeName();
+ }
//I18N
lcl_ConvertTOUNameToProgrammaticName(sTmp);
aRet <<= sTmp;
}
break;
case WID_IDX_LOCALE:
- bBOOL = sal_False;
aRet <<= SvxCreateLocale(pTOXBase->GetLanguage());
break;
case WID_IDX_SORT_ALGORITHM:
- bBOOL = sal_False;
aRet <<= OUString(pTOXBase->GetSortAlgorithm());
break;
case WID_LEVEL :
- bBOOL = sal_False;
- aRet <<= (sal_Int16)pTOXBase->GetLevel();
+ aRet <<= static_cast<sal_Int16>(pTOXBase->GetLevel());
break;
- case WID_CREATE_FROM_MARKS :
- bRet = 0 != (nCreate & nsSwTOXElement::TOX_MARK);
+ case WID_CREATE_FROM_MARKS:
+ lcl_BitMaskToAny(aRet, nCreate, nsSwTOXElement::TOX_MARK);
break;
- case WID_CREATE_FROM_OUTLINE :
- bRet = 0 != (nCreate & nsSwTOXElement::TOX_OUTLINELEVEL);
+ case WID_CREATE_FROM_OUTLINE:
+ lcl_BitMaskToAny(aRet, nCreate,
+ nsSwTOXElement::TOX_OUTLINELEVEL);
break;
- case WID_CREATE_FROM_CHAPTER :
- bRet = pTOXBase->IsFromChapter();
+ case WID_CREATE_FROM_CHAPTER:
+ {
+ const sal_Bool bRet = pTOXBase->IsFromChapter();
+ aRet <<= bRet;
+ }
break;
- case WID_CREATE_FROM_LABELS :
- bRet = ! pTOXBase->IsFromObjectNames();
+ case WID_CREATE_FROM_LABELS:
+ {
+ const sal_Bool bRet = ! pTOXBase->IsFromObjectNames();
+ aRet <<= bRet;
+ }
break;
- case WID_PROTECTED :
- bRet = pTOXBase->IsProtected();
+ case WID_PROTECTED:
+ {
+ const sal_Bool bRet = pTOXBase->IsProtected();
+ aRet <<= bRet;
+ }
break;
case WID_USE_ALPHABETICAL_SEPARATORS:
- bRet = 0 != (nTOIOptions & nsSwTOIOptions::TOI_ALPHA_DELIMITTER);
+ lcl_BitMaskToAny(aRet, nTOIOptions,
+ nsSwTOIOptions::TOI_ALPHA_DELIMITTER);
break;
- case WID_USE_KEY_AS_ENTRY :
- bRet = 0 != (nTOIOptions & nsSwTOIOptions::TOI_KEY_AS_ENTRY);
+ case WID_USE_KEY_AS_ENTRY:
+ lcl_BitMaskToAny(aRet, nTOIOptions,
+ nsSwTOIOptions::TOI_KEY_AS_ENTRY);
break;
- case WID_USE_COMBINED_ENTRIES :
- bRet = 0 != (nTOIOptions & nsSwTOIOptions::TOI_SAME_ENTRY);
+ case WID_USE_COMBINED_ENTRIES:
+ lcl_BitMaskToAny(aRet, nTOIOptions,
+ nsSwTOIOptions::TOI_SAME_ENTRY);
break;
- case WID_IS_CASE_SENSITIVE :
- bRet = 0 != (nTOIOptions & nsSwTOIOptions::TOI_CASE_SENSITIVE);
+ case WID_IS_CASE_SENSITIVE:
+ lcl_BitMaskToAny(aRet, nTOIOptions,
+ nsSwTOIOptions::TOI_CASE_SENSITIVE);
break;
case WID_USE_P_P:
- bRet = 0 != (nTOIOptions & nsSwTOIOptions::TOI_FF);
+ lcl_BitMaskToAny(aRet, nTOIOptions, nsSwTOIOptions::TOI_FF);
break;
- case WID_USE_DASH :
- bRet = 0 != (nTOIOptions & nsSwTOIOptions::TOI_DASH);
+ case WID_USE_DASH:
+ lcl_BitMaskToAny(aRet, nTOIOptions, nsSwTOIOptions::TOI_DASH);
break;
- case WID_USE_UPPER_CASE :
- bRet = 0 != (nTOIOptions & nsSwTOIOptions::TOI_INITIAL_CAPS);
+ case WID_USE_UPPER_CASE:
+ lcl_BitMaskToAny(aRet, nTOIOptions,
+ nsSwTOIOptions::TOI_INITIAL_CAPS);
break;
- case WID_IS_COMMA_SEPARATED :
- bRet = rForm.IsCommaSeparated();
+ case WID_IS_COMMA_SEPARATED:
+ {
+ const sal_Bool bRet = rForm.IsCommaSeparated();
+ aRet <<= bRet;
+ }
break;
- case WID_LABEL_CATEGORY :
+ case WID_LABEL_CATEGORY:
{
// convert internal UI name to
// file-format/API/external programmatic english name
@@ -785,50 +1103,58 @@ uno::Any SwXDocumentIndex::getPropertyValue(const OUString& rPropertyName)
String aName( SwStyleNameMapper::GetSpecialExtraProgName(
pTOXBase->GetSequenceName() ) );
aRet <<= OUString( aName );
- bBOOL = sal_False;
}
break;
- case WID_LABEL_DISPLAY_TYPE :
+ case WID_LABEL_DISPLAY_TYPE:
{
- bBOOL = sal_False;
sal_Int16 nSet = text::ReferenceFieldPart::TEXT;
switch (pTOXBase->GetCaptionDisplay())
{
- case CAPTION_COMPLETE: nSet = text::ReferenceFieldPart::TEXT;break;
- case CAPTION_NUMBER : nSet = text::ReferenceFieldPart::CATEGORY_AND_NUMBER; break;
- case CAPTION_TEXT : nSet = text::ReferenceFieldPart::ONLY_CAPTION; break;
+ case CAPTION_COMPLETE:
+ nSet = text::ReferenceFieldPart::TEXT;
+ break;
+ case CAPTION_NUMBER:
+ nSet = text::ReferenceFieldPart::CATEGORY_AND_NUMBER;
+ break;
+ case CAPTION_TEXT:
+ nSet = text::ReferenceFieldPart::ONLY_CAPTION;
+ break;
}
aRet <<= nSet;
}
break;
- case WID_USE_LEVEL_FROM_SOURCE :
- bRet = pTOXBase->IsLevelFromChapter();
+ case WID_USE_LEVEL_FROM_SOURCE:
+ {
+ const sal_Bool bRet = pTOXBase->IsLevelFromChapter();
+ aRet <<= bRet;
+ }
break;
- case WID_LEVEL_FORMAT :
+ case WID_LEVEL_FORMAT:
{
- uno::Reference< container::XIndexReplace > xTokenAcc =
- ((SwXDocumentIndex*)this)->GetTokenAccess();
- if(!xTokenAcc.is())
- xTokenAcc = new SwXIndexTokenAccess_Impl(*
- (SwXDocumentIndex*)this);
- aRet.setValue(&xTokenAcc, ::getCppuType((const uno::Reference<container::XIndexReplace>*)0));
- bBOOL = sal_False;
+ uno::Reference< container::XIndexReplace > xTokenAccess(
+ m_pImpl->m_wTokenAccess);
+ if (!xTokenAccess.is())
+ {
+ xTokenAccess = new TokenAccess_Impl(*this);
+ m_pImpl->m_wTokenAccess = xTokenAccess;
+ }
+ aRet <<= xTokenAccess;
}
break;
- case WID_LEVEL_PARAGRAPH_STYLES :
+ case WID_LEVEL_PARAGRAPH_STYLES:
{
- uno::Reference< container::XIndexReplace > xStyleAcc =
- ((SwXDocumentIndex*)this)->GetStyleAccess();
- if(!xStyleAcc.is())
- xStyleAcc = new SwXIndexStyleAccess_Impl(*
- (SwXDocumentIndex*)this);
- aRet.setValue(&xStyleAcc, ::getCppuType((const uno::Reference<container::XIndexReplace>*)0));
- bBOOL = sal_False;
+ uno::Reference< container::XIndexReplace > xStyleAccess(
+ m_pImpl->m_wStyleAccess);
+ if (!xStyleAccess.is())
+ {
+ xStyleAccess = new StyleAccess_Impl(*this);
+ m_pImpl->m_wStyleAccess = xStyleAccess;
+ }
+ aRet <<= xStyleAccess;
}
break;
- case WID_MAIN_ENTRY_CHARACTER_STYLE_NAME :
+ case WID_MAIN_ENTRY_CHARACTER_STYLE_NAME:
{
- bBOOL = sal_False;
String aString;
SwStyleNameMapper::FillProgName(
pTOXBase->GetMainEntryCharStyle(),
@@ -838,47 +1164,47 @@ uno::Any SwXDocumentIndex::getPropertyValue(const OUString& rPropertyName)
aRet <<= OUString( aString );
}
break;
- case WID_CREATE_FROM_TABLES :
- bRet = 0 != (nCreate & nsSwTOXElement::TOX_TABLE);
+ case WID_CREATE_FROM_TABLES:
+ lcl_BitMaskToAny(aRet, nCreate, nsSwTOXElement::TOX_TABLE);
break;
- case WID_CREATE_FROM_TEXT_FRAMES :
- bRet = 0 != (nCreate & nsSwTOXElement::TOX_FRAME);
+ case WID_CREATE_FROM_TEXT_FRAMES:
+ lcl_BitMaskToAny(aRet, nCreate, nsSwTOXElement::TOX_FRAME);
break;
- case WID_CREATE_FROM_GRAPHIC_OBJECTS :
- bRet = 0 != (nCreate & nsSwTOXElement::TOX_GRAPHIC);
+ case WID_CREATE_FROM_GRAPHIC_OBJECTS:
+ lcl_BitMaskToAny(aRet, nCreate, nsSwTOXElement::TOX_GRAPHIC);
break;
- case WID_CREATE_FROM_EMBEDDED_OBJECTS :
- bRet = 0 != (nCreate & nsSwTOXElement::TOX_OLE);
+ case WID_CREATE_FROM_EMBEDDED_OBJECTS:
+ lcl_BitMaskToAny(aRet, nCreate, nsSwTOXElement::TOX_OLE);
break;
case WID_CREATE_FROM_STAR_MATH:
- bRet = 0 != (nOLEOptions & nsSwTOOElements::TOO_MATH);
+ lcl_BitMaskToAny(aRet, nOLEOptions, nsSwTOOElements::TOO_MATH);
break;
- case WID_CREATE_FROM_STAR_CHART :
- bRet = 0 != (nOLEOptions & nsSwTOOElements::TOO_CHART);
+ case WID_CREATE_FROM_STAR_CHART:
+ lcl_BitMaskToAny(aRet, nOLEOptions, nsSwTOOElements::TOO_CHART);
break;
- case WID_CREATE_FROM_STAR_CALC :
- bRet = 0 != (nOLEOptions & nsSwTOOElements::TOO_CALC);
+ case WID_CREATE_FROM_STAR_CALC:
+ lcl_BitMaskToAny(aRet, nOLEOptions, nsSwTOOElements::TOO_CALC);
break;
- case WID_CREATE_FROM_STAR_DRAW :
- bRet = 0 != (nOLEOptions & nsSwTOOElements::TOO_DRAW_IMPRESS);
+ case WID_CREATE_FROM_STAR_DRAW:
+ lcl_BitMaskToAny(aRet, nOLEOptions,
+ nsSwTOOElements::TOO_DRAW_IMPRESS);
break;
case WID_CREATE_FROM_OTHER_EMBEDDED_OBJECTS:
- bRet = 0 != (nOLEOptions & nsSwTOOElements::TOO_OTHER);
+ lcl_BitMaskToAny(aRet, nOLEOptions, nsSwTOOElements::TOO_OTHER);
break;
case WID_CREATE_FROM_PARAGRAPH_STYLES:
- bRet = 0 != (nCreate & nsSwTOXElement::TOX_TEMPLATE);
+ lcl_BitMaskToAny(aRet, nCreate, nsSwTOXElement::TOX_TEMPLATE);
break;
- case WID_PARA_HEAD :
+ case WID_PARA_HEAD:
{
//Header steht an Pos 0
String aString;
SwStyleNameMapper::FillProgName(rForm.GetTemplate( 0 ), aString,
nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL, sal_True );
aRet <<= OUString( aString );
- bBOOL = sal_False;
}
break;
- case WID_PARA_SEP :
+ case WID_PARA_SEP:
{
String aString;
SwStyleNameMapper::FillProgName(
@@ -887,21 +1213,20 @@ uno::Any SwXDocumentIndex::getPropertyValue(const OUString& rPropertyName)
nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL,
sal_True);
aRet <<= OUString( aString );
- bBOOL = sal_False;
}
break;
- case WID_PARA_LEV1 :
- case WID_PARA_LEV2 :
- case WID_PARA_LEV3 :
- case WID_PARA_LEV4 :
- case WID_PARA_LEV5 :
- case WID_PARA_LEV6 :
- case WID_PARA_LEV7 :
- case WID_PARA_LEV8 :
- case WID_PARA_LEV9 :
- case WID_PARA_LEV10 :
+ case WID_PARA_LEV1:
+ case WID_PARA_LEV2:
+ case WID_PARA_LEV3:
+ case WID_PARA_LEV4:
+ case WID_PARA_LEV5:
+ case WID_PARA_LEV6:
+ case WID_PARA_LEV7:
+ case WID_PARA_LEV8:
+ case WID_PARA_LEV9:
+ case WID_PARA_LEV10:
{
- // im sdbcx::Index beginnt Lebel 1 bei Pos 2 sonst bei Pos 1
+ // in sdbcx::Index Label 1 begins at Pos 2 otherwise at Pos 1
sal_uInt16 nLPos = pTOXBase->GetType() == TOX_INDEX ? 2 : 1;
String aString;
SwStyleNameMapper::FillProgName(
@@ -910,287 +1235,468 @@ uno::Any SwXDocumentIndex::getPropertyValue(const OUString& rPropertyName)
nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL,
sal_True);
aRet <<= OUString( aString );
- bBOOL = sal_False;
}
break;
case WID_IS_RELATIVE_TABSTOPS:
- bRet = rForm.IsRelTabPos();
+ {
+ const sal_Bool bRet = rForm.IsRelTabPos();
+ aRet <<= bRet;
+ }
break;
case WID_INDEX_MARKS:
{
SwTOXMarks aMarks;
- const SwTOXType* pType = pTOXBase->GetTOXType();
- SwClientIter aIter(*(SwTOXType*)pType);
- SwTOXMark* pMark = (SwTOXMark*)aIter.First(TYPE(SwTOXMark));
+ SwTOXType const*const pType = pTOXBase->GetTOXType();
+ SwClientIter aIter(*pType);
+ SwTOXMark * pMark =
+ static_cast<SwTOXMark*>(aIter.First(TYPE(SwTOXMark)));
while( pMark )
{
if(pMark->GetTxtTOXMark())
+ {
aMarks.C40_INSERT(SwTOXMark, pMark, aMarks.Count());
- pMark = (SwTOXMark*)aIter.Next();
+ }
+ pMark = static_cast<SwTOXMark*>(aIter.Next());
}
- uno::Sequence< uno::Reference < text::XDocumentIndexMark > > aXMarks(aMarks.Count());
- uno::Reference<text::XDocumentIndexMark>* pxMarks = aXMarks.getArray();
+ uno::Sequence< uno::Reference<text::XDocumentIndexMark> >
+ aXMarks(aMarks.Count());
+ uno::Reference<text::XDocumentIndexMark>* pxMarks =
+ aXMarks.getArray();
for(USHORT i = 0; i < aMarks.Count(); i++)
{
pMark = aMarks.GetObject(i);
- pxMarks[i] = SwXDocumentIndexMark::GetObject((SwTOXType*)pType, pMark, m_pDoc);
+ pxMarks[i] = SwXDocumentIndexMark::CreateXDocumentIndexMark(
+ *m_pImpl->m_pDoc,
+ *const_cast<SwTOXType*>(pType), *pMark);
}
- aRet.setValue(&aXMarks, ::getCppuType((uno::Sequence< uno::Reference< text::XDocumentIndexMark > >*)0));
- bBOOL = sal_False;
+ aRet <<= aXMarks;
}
break;
default:
//this is for items only
- bBOOL = sal_False;
if(WID_PRIMARY_KEY > pEntry->nWID)
{
- const SwAttrSet& rSet = m_pDoc->GetTOXBaseAttrSet(*pTOXBase);
- aRet = m_pPropSet->getPropertyValue(rPropertyName, rSet);
+ const SwAttrSet& rSet =
+ m_pImpl->m_pDoc->GetTOXBaseAttrSet(*pTOXBase);
+ aRet = m_pImpl->m_rPropSet.getPropertyValue(
+ rPropertyName, rSet);
}
}
- if(bBOOL)
- aRet.setValue(&bRet, ::getCppuBooleanType());
}
return aRet;
}
-/*-- 14.12.98 09:35:06---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXDocumentIndex::addPropertyChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
-{
- DBG_WARNING("not implemented");
-}
/*-- 14.12.98 09:35:06---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndex::removePropertyChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndex::addPropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXDocumentIndex::addPropertyChangeListener(): not implemented");
}
-/*-- 14.12.98 09:35:06---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXDocumentIndex::addVetoableChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndex::removePropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXDocumentIndex::removePropertyChangeListener(): not implemented");
}
-/*-- 14.12.98 09:35:07---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXDocumentIndex::removeVetoableChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndex::addVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXDocumentIndex::addVetoableChangeListener(): not implemented");
}
-/*-- 14.12.98 09:35:07---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXDocumentIndex::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
+void SAL_CALL
+SwXDocumentIndex::removeVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- BOOL bRemove = FALSE;
- switch( pOld ? pOld->Which() : 0 )
- {
- case RES_REMOVE_UNO_OBJECT:
- case RES_OBJECTDYING:
- bRemove = (void*)GetRegisteredIn() == ((SwPtrMsgPoolItem *)pOld)->pObject;
- break;
- case RES_FMT_CHG:
- // wurden wir an das neue umgehaengt und wird das alte geloscht?
- bRemove = ((SwFmtChg*)pNew)->pChangedFmt == GetRegisteredIn() &&
- ((SwFmtChg*)pOld)->pChangedFmt->IsFmtInDTOR();
- break;
- }
- if( bRemove )
- {
- ((SwModify*)GetRegisteredIn())->Remove( this );
- aLstnrCntnr.Disposing();
- }
+ OSL_ENSURE(false,
+ "SwXDocumentIndex::removeVetoableChangeListener(): not implemented");
}
+
/* -----------------18.02.99 13:39-------------------
*
* --------------------------------------------------*/
-void SwXDocumentIndex::attachToRange(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndex::attach(const uno::Reference< text::XTextRange > & xTextRange)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- if(!bIsDescriptor)
+ vos::OGuard aGuard(Application::GetSolarMutex());
+
+ if (!m_pImpl->m_bIsDescriptor)
+ {
throw uno::RuntimeException();
- uno::Reference<XUnoTunnel> xRangeTunnel( xTextRange, uno::UNO_QUERY);
- SwXTextRange* pRange = 0;
- OTextCursorHelper* pCursor = 0;
- if(xRangeTunnel.is())
+ }
+ const uno::Reference<XUnoTunnel> xRangeTunnel( xTextRange, uno::UNO_QUERY);
+ SwXTextRange *const pRange =
+ ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel);
+ OTextCursorHelper *const pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xRangeTunnel);
+
+ SwDoc *const pDoc =
+ (pRange) ? pRange->GetDoc() : ((pCursor) ? pCursor->GetDoc() : 0);
+ if (!pDoc)
{
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
+ throw lang::IllegalArgumentException();
}
- SwDoc* pDoc = pRange ? (SwDoc*)pRange->GetDoc() : pCursor ? (SwDoc*)pCursor->GetDoc() : 0;
- if(pDoc )
+ SwUnoInternalPaM aPam(*pDoc);
+ //das muss jetzt sal_True liefern
+ ::sw::XTextRangeToSwPaM(aPam, xTextRange);
+
+ const SwTOXBase* pOld = pDoc->GetCurTOX( *aPam.Start() );
+ if (pOld)
{
- SwUnoInternalPaM aPam(*pDoc);
- //das muss jetzt sal_True liefern
- SwXTextRange::XTextRangeToSwPaM(aPam, xTextRange);
+ throw lang::IllegalArgumentException();
+ }
- const SwTOXBase* pOld = pDoc->GetCurTOX( *aPam.Start() );
- if(!pOld)
- {
- UnoActionContext aAction(pDoc);
- if(aPam.HasMark())
- pDoc->DeleteAndJoin(aPam);
+ UnoActionContext aAction(pDoc);
+ if (aPam.HasMark())
+ {
+ pDoc->DeleteAndJoin(aPam);
+ }
- SwTOXBase& rTOXBase = pProps->GetTOXBase();
- const SwTOXType* pTOXType = rTOXBase.GetTOXType();
- if(TOX_USER == pTOXType->GetType() && !pProps->GetTypeName().equals(pTOXType->GetTypeName()))
- {
- lcl_ReAssignTOXType(pDoc, rTOXBase, pProps->GetTypeName());
- }
- //TODO: apply Section attributes (columns and background)
- const SwTOXBaseSection* pTOX = pDoc->InsertTableOf(
- *aPam.GetPoint(), rTOXBase, 0, sal_False );
+ SwTOXBase & rTOXBase = m_pImpl->m_pProps->GetTOXBase();
+ SwTOXType const*const pTOXType = rTOXBase.GetTOXType();
+ if ((TOX_USER == pTOXType->GetType()) &&
+ !m_pImpl->m_pProps->GetTypeName().equals(pTOXType->GetTypeName()))
+ {
+ lcl_ReAssignTOXType(pDoc, rTOXBase, m_pImpl->m_pProps->GetTypeName());
+ }
+ //TODO: apply Section attributes (columns and background)
+ SwTOXBaseSection const*const pTOX =
+ pDoc->InsertTableOf( *aPam.GetPoint(), rTOXBase, 0, sal_False );
- pDoc->SetTOXBaseName( *pTOX, pProps->GetTOXBase().GetTOXName() );
+ pDoc->SetTOXBaseName(*pTOX, m_pImpl->m_pProps->GetTOXBase().GetTOXName());
- // Seitennummern eintragen
- pBase = (const SwTOXBaseSection*)pTOX;
- pBase->GetFmt()->Add(this);
- ((SwTOXBaseSection*)pTOX)->UpdatePageNum();
- }
- else
- throw lang::IllegalArgumentException();
+ // update page numbers
+ pTOX->GetFmt()->Add(m_pImpl.get());
+ pTOX->GetFmt()->SetXObject(static_cast< ::cppu::OWeakObject*>(this));
+ const_cast<SwTOXBaseSection*>(pTOX)->UpdatePageNum();
- DELETEZ(pProps);
- m_pDoc = pDoc;
- bIsDescriptor = sal_False;
- }
+ m_pImpl->m_pProps.reset();
+ m_pImpl->m_pDoc = pDoc;
+ m_pImpl->m_bIsDescriptor = sal_False;
}
-/*-- 15.01.99 14:23:51---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXDocumentIndex::attach(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
-{
- vos::OGuard aGuard(Application::GetSolarMutex());
- attachToRange( xTextRange );
-}
/*-- 15.01.99 14:23:56---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXDocumentIndex::getAnchor(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXDocumentIndex::getAnchor() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextRange > xRet;
- if(GetRegisteredIn())
+
+ SwSectionFmt *const pSectionFmt( m_pImpl->GetSectionFmt() );
+ if (!pSectionFmt)
{
- SwSectionFmt* pSectFmt = GetFmt();
- const SwNodeIndex* pIdx;
- if( 0 != ( pIdx = pSectFmt->GetCntnt().GetCntntIdx() ) &&
- pIdx->GetNode().GetNodes().IsDocNodes() )
- {
- SwPaM aPaM(*pIdx);
- aPaM.Move( fnMoveForward, fnGoCntnt );
- aPaM.SetMark();
- aPaM.GetPoint()->nNode = *pIdx->GetNode().EndOfSectionNode();
- aPaM.Move( fnMoveBackward, fnGoCntnt );
- xRet = SwXTextRange::CreateTextRangeFromPosition(pSectFmt->GetDoc(),
- *aPaM.GetMark(), aPaM.GetPoint());
- }
- }
- else
throw uno::RuntimeException();
+ }
+
+ uno::Reference< text::XTextRange > xRet;
+ SwNodeIndex const*const pIdx( pSectionFmt->GetCntnt().GetCntntIdx() );
+ if (pIdx && pIdx->GetNode().GetNodes().IsDocNodes())
+ {
+ SwPaM aPaM(*pIdx);
+ aPaM.Move( fnMoveForward, fnGoCntnt );
+ aPaM.SetMark();
+ aPaM.GetPoint()->nNode = *pIdx->GetNode().EndOfSectionNode();
+ aPaM.Move( fnMoveBackward, fnGoCntnt );
+ xRet = SwXTextRange::CreateXTextRange(*pSectionFmt->GetDoc(),
+ *aPaM.GetMark(), aPaM.GetPoint());
+ }
return xRet;
}
+
/*-- 15.01.99 15:46:48---------------------------------------------------
-----------------------------------------------------------------------*/
void lcl_RemoveChildSections(SwSectionFmt& rParentFmt)
{
SwSections aTmpArr;
- SwDoc* pDoc = rParentFmt.GetDoc();
- sal_uInt16 nCnt = rParentFmt.GetChildSections(aTmpArr,SORTSECT_POS);
+ SwDoc *const pDoc = rParentFmt.GetDoc();
+ const sal_uInt16 nCnt = rParentFmt.GetChildSections(aTmpArr, SORTSECT_POS);
if( nCnt )
{
for( sal_uInt16 n = 0; n < nCnt; ++n )
+ {
if( aTmpArr[n]->GetFmt()->IsInNodesArr() )
{
SwSectionFmt* pFmt = aTmpArr[n]->GetFmt();
lcl_RemoveChildSections(*pFmt);
pDoc->DelSectionFmt( pFmt );
}
+ }
}
}
-void SwXDocumentIndex::dispose(void) throw( uno::RuntimeException )
+
+void SAL_CALL SwXDocumentIndex::dispose() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(GetRegisteredIn())
+
+ SwSectionFmt *const pSectionFmt( m_pImpl->GetSectionFmt() );
+ if (pSectionFmt)
{
- SwSectionFmt* pSectFmt = GetFmt();
- pSectFmt->GetDoc()->DeleteTOX( *(SwTOXBaseSection*)pSectFmt->GetSection(), sal_True);
+ pSectionFmt->GetDoc()->DeleteTOX(
+ *static_cast<SwTOXBaseSection*>(pSectionFmt->GetSection()),
+ sal_True);
}
- else
- throw uno::RuntimeException();
}
+
/*-- 15.01.99 15:46:49---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndex::addEventListener(const uno::Reference< lang::XEventListener > & aListener) throw( uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndex::addEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetRegisteredIn())
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->GetRegisteredIn())
+ {
throw uno::RuntimeException();
- aLstnrCntnr.AddListener(aListener);
+ }
+ m_pImpl->m_ListenerContainer.AddListener(xListener);
}
/*-- 15.01.99 15:46:54---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndex::removeEventListener(const uno::Reference< lang::XEventListener > & aListener) throw( uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndex::removeEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetRegisteredIn() || !aLstnrCntnr.RemoveListener(aListener))
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->GetRegisteredIn() ||
+ !m_pImpl->m_ListenerContainer.RemoveListener(xListener))
+ {
throw uno::RuntimeException();
+ }
}
+
/* -----------------30.07.99 11:28-------------------
--------------------------------------------------*/
-OUString SwXDocumentIndex::getName(void) throw( uno::RuntimeException )
+OUString SAL_CALL SwXDocumentIndex::getName() throw (uno::RuntimeException)
{
- SwSectionFmt* pSectionFmt = GetFmt();
+ vos::OGuard g(Application::GetSolarMutex());
+
OUString uRet;
- if(bIsDescriptor)
+ SwSectionFmt *const pSectionFmt( m_pImpl->GetSectionFmt() );
+ if (m_pImpl->m_bIsDescriptor)
{
- uRet = OUString(pProps->GetTOXBase().GetTOXName());
+ uRet = OUString(m_pImpl->m_pProps->GetTOXBase().GetTOXName());
}
else if(pSectionFmt)
{
uRet = OUString(pSectionFmt->GetSection()->GetName());
}
else
+ {
throw uno::RuntimeException();
+ }
return uRet;
}
/* -----------------30.07.99 11:28-------------------
--------------------------------------------------*/
-void SwXDocumentIndex::setName(const OUString& rName) throw( uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndex::setName(const OUString& rName) throw (uno::RuntimeException)
{
- SwSectionFmt* pSectionFmt = GetFmt();
- String sNewName(rName);
- sal_Bool bExcept = sal_False;
- if(!sNewName.Len())
- bExcept = sal_True;
- if(bIsDescriptor)
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!rName.getLength())
{
- pProps->GetTOXBase().SetTOXName(sNewName);
+ throw uno::RuntimeException();
}
- else if(!pSectionFmt ||
- !pSectionFmt->GetDoc()->SetTOXBaseName(
- *(SwTOXBaseSection*)pSectionFmt->GetSection(), sNewName))
- bExcept = sal_True;
- if(bExcept)
+ SwSectionFmt *const pSectionFmt( m_pImpl->GetSectionFmt() );
+ if (m_pImpl->m_bIsDescriptor)
+ {
+ m_pImpl->m_pProps->GetTOXBase().SetTOXName(rName);
+ }
+ else if (pSectionFmt)
+ {
+ const bool bSuccess = pSectionFmt->GetDoc()->SetTOXBaseName(
+ *static_cast<SwTOXBaseSection*>(pSectionFmt->GetSection()), rName);
+ if (!bSuccess)
+ {
+ throw uno::RuntimeException();
+ }
+ }
+ else
+ {
throw uno::RuntimeException();
+ }
}
/******************************************************************
* SwXDocumentIndexMark
******************************************************************/
+/* -----------------21.04.99 09:36-------------------
+ *
+ * --------------------------------------------------*/
+static sal_uInt16
+lcl_TypeToPropertyMap_Mark(const TOXTypes eType)
+{
+ switch (eType)
+ {
+ case TOX_INDEX: return PROPERTY_MAP_INDEX_MARK;
+ case TOX_CONTENT: return PROPERTY_MAP_CNTIDX_MARK;
+ //case TOX_USER:
+ default:
+ return PROPERTY_MAP_USER_MARK;
+ }
+}
+
+class SwXDocumentIndexMark::Impl
+ : public SwClient
+{
+
+public:
+
+ SfxItemPropertySet const& m_rPropSet;
+ const TOXTypes m_eTOXType;
+ SwEventListenerContainer m_ListenerContainer;
+ bool m_bIsDescriptor;
+ SwDepend m_TypeDepend;
+ const SwTOXMark * m_pTOXMark;
+ SwDoc * m_pDoc;
+
+ sal_Bool m_bMainEntry;
+ sal_uInt16 m_nLevel;
+ OUString m_sAltText;
+ OUString m_sPrimaryKey;
+ OUString m_sSecondaryKey;
+ OUString m_sTextReading;
+ OUString m_sPrimaryKeyReading;
+ OUString m_sSecondaryKeyReading;
+ OUString m_sUserIndexName;
+
+ Impl( SwXDocumentIndexMark & rThis,
+ SwDoc *const pDoc,
+ const enum TOXTypes eType,
+ SwTOXType *const pType, SwTOXMark const*const pMark)
+ : SwClient(const_cast<SwTOXMark*>(pMark))
+ , m_rPropSet(
+ *aSwMapProvider.GetPropertySet(lcl_TypeToPropertyMap_Mark(eType)))
+ , m_eTOXType(eType)
+ , m_ListenerContainer(static_cast< ::cppu::OWeakObject* >(&rThis))
+ , m_bIsDescriptor(0 == pMark)
+ , m_TypeDepend(this, pType)
+ , m_pTOXMark(pMark)
+ , m_pDoc(pDoc)
+ , m_bMainEntry(sal_False)
+ , m_nLevel(0)
+ {
+ }
+
+ SwTOXType * GetTOXType() const {
+ return static_cast<SwTOXType*>(
+ const_cast<SwModify *>(m_TypeDepend.GetRegisteredIn()));
+ }
+
+ void Invalidate();
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+/* -----------------------------16.10.00 11:24--------------------------------
+
+ ---------------------------------------------------------------------------*/
+void SwXDocumentIndexMark::Impl::Invalidate()
+{
+ if (GetRegisteredIn())
+ {
+ const_cast<SwModify*>(GetRegisteredIn())->Remove(this);
+ if (m_TypeDepend.GetRegisteredIn())
+ {
+ const_cast<SwModify*>(m_TypeDepend.GetRegisteredIn())->Remove(
+ &m_TypeDepend);
+ }
+ }
+ m_ListenerContainer.Disposing();
+ m_pDoc = 0;
+ m_pTOXMark = 0;
+}
+
+/*-- 14.12.98 10:25:47---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void SwXDocumentIndexMark::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
+{
+ ClientModify(this, pOld, pNew);
+
+ if (!GetRegisteredIn()) // removed => dispose
+ {
+ Invalidate();
+ }
+}
+
+/*-- 14.12.98 10:25:43---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXDocumentIndexMark::SwXDocumentIndexMark(const TOXTypes eToxType)
+ : m_pImpl( new SwXDocumentIndexMark::Impl(*this, 0, eToxType, 0, 0) )
+{
+}
+/*-- 14.12.98 10:25:44---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXDocumentIndexMark::SwXDocumentIndexMark(SwDoc & rDoc,
+ SwTOXType & rType, SwTOXMark & rMark)
+ : m_pImpl( new SwXDocumentIndexMark::Impl(*this, &rDoc, rType.GetType(),
+ &rType, &rMark) )
+{
+}
+/*-- 14.12.98 10:25:44---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXDocumentIndexMark::~SwXDocumentIndexMark()
+{
+}
+
+uno::Reference<text::XDocumentIndexMark>
+SwXDocumentIndexMark::CreateXDocumentIndexMark(
+ SwDoc & rDoc, SwTOXType & rType, SwTOXMark & rMark)
+{
+ // re-use existing SwXDocumentIndexMark
+ // NB: xmloff depends on this caching to generate ID from the address!
+ // #i105557#: do not iterate over the registered clients: race condition
+ uno::Reference< text::XDocumentIndexMark > xTOXMark(rMark.GetXTOXMark());
+ if (!xTOXMark.is())
+ {
+ SwXDocumentIndexMark *const pNew =
+ new SwXDocumentIndexMark(rDoc, rType, rMark);
+ xTOXMark.set(pNew);
+ rMark.SetXTOXMark(xTOXMark);
+ }
+ return xTOXMark;
+}
+
/* -----------------------------10.03.00 18:02--------------------------------
---------------------------------------------------------------------------*/
@@ -1202,55 +1708,62 @@ const uno::Sequence< sal_Int8 > & SwXDocumentIndexMark::getUnoTunnelId()
/* -----------------------------10.03.00 18:04--------------------------------
---------------------------------------------------------------------------*/
-sal_Int64 SAL_CALL SwXDocumentIndexMark::getSomething( const uno::Sequence< sal_Int8 >& rId )
- throw(uno::RuntimeException)
+sal_Int64 SAL_CALL
+SwXDocumentIndexMark::getSomething(const uno::Sequence< sal_Int8 >& rId)
+throw (uno::RuntimeException)
{
- if( rId.getLength() == 16
- && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- rId.getConstArray(), 16 ) )
- {
- return sal::static_int_cast< sal_Int64 >( reinterpret_cast< sal_IntPtr >(this) );
- }
- return 0;
+ return ::sw::UnoTunnelImpl<SwXDocumentIndexMark>(rId, this);
}
-TYPEINIT1(SwXDocumentIndexMark, SwClient)
-const sal_Char cBaseMark[] = "com.sun.star.text.BaseIndexMark";
-const sal_Char cContentMark[] = "com.sun.star.text.ContentIndexMark";
-const sal_Char cIdxMark[] = "com.sun.star.text.DocumentIndexMark";
-const sal_Char cIdxMarkAsian[] = "com.sun.star.text.DocumentIndexMarkAsian";
-const sal_Char cUserMark[] = "com.sun.star.text.UserIndexMark";
-const sal_Char cTextContent[] = "com.sun.star.text.TextContent";
+static const sal_Char cBaseMark[] = "com.sun.star.text.BaseIndexMark";
+static const sal_Char cContentMark[] = "com.sun.star.text.ContentIndexMark";
+static const sal_Char cIdxMark[] = "com.sun.star.text.DocumentIndexMark";
+static const sal_Char cIdxMarkAsian[] = "com.sun.star.text.DocumentIndexMarkAsian";
+static const sal_Char cUserMark[] = "com.sun.star.text.UserIndexMark";
+static const sal_Char cTextContent[] = "com.sun.star.text.TextContent";
+
/* -----------------------------06.04.00 15:07--------------------------------
---------------------------------------------------------------------------*/
-OUString SwXDocumentIndexMark::getImplementationName(void) throw( uno::RuntimeException )
+OUString SAL_CALL
+SwXDocumentIndexMark::getImplementationName() throw (uno::RuntimeException)
{
return C2U("SwXDocumentIndexMark");
}
/* -----------------------------06.04.00 15:07--------------------------------
---------------------------------------------------------------------------*/
-BOOL SwXDocumentIndexMark::supportsService(const OUString& rServiceName) throw( uno::RuntimeException )
-{
- return !rServiceName.compareToAscii(cBaseMark)||
- !rServiceName.compareToAscii(cTextContent) ||
- (eType == TOX_USER && !rServiceName.compareToAscii(cUserMark)) ||
- (eType == TOX_CONTENT && !rServiceName.compareToAscii(cContentMark)) ||
- (eType == TOX_INDEX && !rServiceName.compareToAscii(cIdxMark)) ||
- (eType == TOX_INDEX && !rServiceName.compareToAscii(cIdxMarkAsian));
+sal_Bool SAL_CALL
+SwXDocumentIndexMark::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ vos::OGuard g(Application::GetSolarMutex());
+
+ return rServiceName.equalsAscii(cBaseMark)
+ || rServiceName.equalsAscii(cTextContent)
+ || ((m_pImpl->m_eTOXType == TOX_USER)
+ && rServiceName.equalsAscii(cUserMark))
+ || ((m_pImpl->m_eTOXType == TOX_CONTENT)
+ && rServiceName.equalsAscii(cContentMark))
+ || ((m_pImpl->m_eTOXType == TOX_INDEX)
+ && rServiceName.equalsAscii(cIdxMark))
+ || ((m_pImpl->m_eTOXType == TOX_INDEX)
+ && rServiceName.equalsAscii(cIdxMarkAsian));
}
/* -----------------------------06.04.00 15:07--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< OUString > SwXDocumentIndexMark::getSupportedServiceNames(void) throw( uno::RuntimeException )
+uno::Sequence< OUString > SAL_CALL
+SwXDocumentIndexMark::getSupportedServiceNames() throw (uno::RuntimeException)
{
- INT32 nCnt = (eType == TOX_INDEX) ? 4 : 3;
+ vos::OGuard g(Application::GetSolarMutex());
+
+ const sal_Int32 nCnt = (m_pImpl->m_eTOXType == TOX_INDEX) ? 4 : 3;
uno::Sequence< OUString > aRet(nCnt);
OUString* pArray = aRet.getArray();
pArray[0] = C2U(cBaseMark);
pArray[1] = C2U(cTextContent);
- switch(eType)
+ switch (m_pImpl->m_eTOXType)
{
case TOX_USER:
pArray[2] = C2U(cUserMark);
@@ -1268,97 +1781,47 @@ uno::Sequence< OUString > SwXDocumentIndexMark::getSupportedServiceNames(void) t
}
return aRet;
}
-/*-- 14.12.98 10:25:43---------------------------------------------------
- -----------------------------------------------------------------------*/
-SwXDocumentIndexMark::SwXDocumentIndexMark(TOXTypes eToxType) :
- aLstnrCntnr( (text::XTextContent*)this),
- aTypeDepend(this, 0),
- m_pDoc(0),
- m_pTOXMark(0),
- bIsDescriptor(sal_True),
- bMainEntry(sal_False),
- eType(eToxType),
- nLevel(0)
-{
- InitMap(eToxType);
-}
-/*-- 14.12.98 10:25:44---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-SwXDocumentIndexMark::SwXDocumentIndexMark(const SwTOXType* pType,
- const SwTOXMark* pMark,
- SwDoc* pDc) :
- aLstnrCntnr( (text::XTextContent*)this),
- aTypeDepend(this, (SwTOXType*)pType),
- m_pDoc(pDc),
- m_pTOXMark(pMark),
- bIsDescriptor(sal_False),
- bMainEntry(sal_False),
- eType(pType->GetType()),
- nLevel(0)
-{
- m_pDoc->GetUnoCallBack()->Add(this);
- InitMap(eType);
-}
-/*-- 14.12.98 10:25:44---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-SwXDocumentIndexMark::~SwXDocumentIndexMark()
-{
-
-}
-/* -----------------21.04.99 09:36-------------------
- *
- * --------------------------------------------------*/
-void SwXDocumentIndexMark::InitMap(TOXTypes eToxType)
-{
- sal_uInt16 nMapId = PROPERTY_MAP_USER_MARK; //case TOX_USER:
- switch( eToxType )
- {
- case TOX_INDEX:
- nMapId = PROPERTY_MAP_INDEX_MARK ;
- break;
- case TOX_CONTENT:
- nMapId = PROPERTY_MAP_CNTIDX_MARK;
- break;
- //case TOX_USER:
-
- default:
- ;
- }
- m_pPropSet = aSwMapProvider.GetPropertySet(nMapId);
-}
/*-- 14.12.98 10:25:45---------------------------------------------------
-----------------------------------------------------------------------*/
-OUString SwXDocumentIndexMark::getMarkEntry(void) throw( uno::RuntimeException )
+OUString SAL_CALL
+SwXDocumentIndexMark::getMarkEntry() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwTOXType* pType = ((SwXDocumentIndexMark*)this)->GetTOXType();
+
OUString sRet;
- if(pType && m_pTOXMark)
+ SwTOXType *const pType = m_pImpl->GetTOXType();
+ if (pType && m_pImpl->m_pTOXMark)
+ {
+ sRet = OUString(m_pImpl->m_pTOXMark->GetAlternativeText());
+ }
+ else if (m_pImpl->m_bIsDescriptor)
{
- sRet = OUString(m_pTOXMark->GetAlternativeText());
+ sRet = m_pImpl->m_sAltText;
}
- else if(bIsDescriptor)
- sRet = sAltText;
else
+ {
throw uno::RuntimeException();
+ }
return sRet;
}
/*-- 14.12.98 10:25:45---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndexMark::setMarkEntry(const OUString& rIndexEntry) throw( uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndexMark::setMarkEntry(const OUString& rIndexEntry)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwTOXType* pType = ((SwXDocumentIndexMark*)this)->GetTOXType();
- if(pType && m_pTOXMark)
+
+ SwTOXType *const pType = m_pImpl->GetTOXType();
+ if (pType && m_pImpl->m_pTOXMark)
{
- SwTOXMark aMark(*m_pTOXMark);
+ SwTOXMark aMark(*m_pImpl->m_pTOXMark);
aMark.SetAlternativeText(rIndexEntry);
- const SwTxtTOXMark* pTxtMark = m_pTOXMark->GetTxtTOXMark();
+ SwTxtTOXMark const*const pTxtMark =
+ m_pImpl->m_pTOXMark->GetTxtTOXMark();
SwPaM aPam(pTxtMark->GetTxtNode(), *pTxtMark->GetStart());
aPam.SetMark();
if(pTxtMark->GetEnd())
@@ -1368,9 +1831,9 @@ void SwXDocumentIndexMark::setMarkEntry(const OUString& rIndexEntry) throw( uno:
else
aPam.GetPoint()->nContent++;
- //die alte Marke loeschen
- m_pDoc->DeleteTOXMark(m_pTOXMark);
- m_pTOXMark = 0;
+ // delete old mark
+ m_pImpl->m_pDoc->DeleteTOXMark(m_pImpl->m_pTOXMark);
+ m_pImpl->m_pTOXMark = 0;
SwTxtAttr* pTxtAttr = 0;
sal_Bool bInsAtPos = aMark.IsAlternativeText();
@@ -1379,311 +1842,378 @@ void SwXDocumentIndexMark::setMarkEntry(const OUString& rIndexEntry) throw( uno:
if( bInsAtPos )
{
SwPaM aTmp( *pStt );
- m_pDoc->InsertPoolItem( aTmp, aMark, 0 );
+ m_pImpl->m_pDoc->InsertPoolItem( aTmp, aMark, 0 );
pTxtAttr = pStt->nNode.GetNode().GetTxtNode()->GetTxtAttrForCharAt(
pStt->nContent.GetIndex()-1, RES_TXTATR_TOXMARK);
}
else if( *pEnd != *pStt )
{
- m_pDoc->InsertPoolItem( aPam, aMark,
+ m_pImpl->m_pDoc->InsertPoolItem( aPam, aMark,
nsSetAttrMode::SETATTR_DONTEXPAND );
pTxtAttr = pStt->nNode.GetNode().GetTxtNode()->GetTxtAttr(
pStt->nContent, RES_TXTATR_TOXMARK);
}
- //und sonst - Marke geloescht?
if(pTxtAttr)
- m_pTOXMark = &pTxtAttr->GetTOXMark();
+ {
+ m_pImpl->m_pTOXMark = &pTxtAttr->GetTOXMark();
+ }
}
- else if(bIsDescriptor)
+ else if (m_pImpl->m_bIsDescriptor)
{
- sAltText = rIndexEntry;
+ m_pImpl->m_sAltText = rIndexEntry;
}
else
+ {
throw uno::RuntimeException();
+ }
}
+
/* -----------------18.02.99 13:40-------------------
*
* --------------------------------------------------*/
-void SwXDocumentIndexMark::attachToRange(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndexMark::attach(
+ const uno::Reference< text::XTextRange > & xTextRange)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!bIsDescriptor)
- throw uno::RuntimeException();
- uno::Reference<XUnoTunnel> xRangeTunnel( xTextRange, uno::UNO_QUERY);
- SwXTextRange* pRange = 0;
- OTextCursorHelper* pCursor = 0;
- if(xRangeTunnel.is())
+ if (!m_pImpl->m_bIsDescriptor)
{
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
+ throw uno::RuntimeException();
}
- SwDoc* pDoc = pRange ? (SwDoc*)pRange->GetDoc() : pCursor ? (SwDoc*)pCursor->GetDoc() : 0;
+ const uno::Reference<XUnoTunnel> xRangeTunnel(xTextRange, uno::UNO_QUERY);
+ SwXTextRange *const pRange =
+ ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel);
+ OTextCursorHelper *const pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xRangeTunnel);
+ SwDoc *const pDoc =
+ (pRange) ? pRange->GetDoc() : ((pCursor) ? pCursor->GetDoc() : 0);
+ if (!pDoc)
+ {
+ throw lang::IllegalArgumentException();
+ }
- if(pDoc )
+ const SwTOXType* pTOXType = 0;
+ switch (m_pImpl->m_eTOXType)
{
- const SwTOXType* pTOXType = 0;
- switch(eType)
+ case TOX_INDEX:
+ case TOX_CONTENT:
+ pTOXType = pDoc->GetTOXType( m_pImpl->m_eTOXType, 0 );
+ break;
+ case TOX_USER:
{
- case TOX_INDEX:
- case TOX_CONTENT:
- pTOXType = pDoc->GetTOXType( eType, 0 );
- break;
- case TOX_USER:
+ if (!m_pImpl->m_sUserIndexName.getLength())
{
- if(!sUserIndexName.Len())
- pTOXType = pDoc->GetTOXType( eType, 0 );
- else
+ pTOXType = pDoc->GetTOXType( m_pImpl->m_eTOXType, 0 );
+ }
+ else
+ {
+ const sal_uInt16 nCount =
+ pDoc->GetTOXTypeCount(m_pImpl->m_eTOXType);
+ for (sal_uInt16 i = 0; i < nCount; i++)
{
- sal_uInt16 nCount = pDoc->GetTOXTypeCount( eType);
- for(sal_uInt16 i = 0; i < nCount; i++)
+ SwTOXType const*const pTemp =
+ pDoc->GetTOXType( m_pImpl->m_eTOXType, i );
+ if (m_pImpl->m_sUserIndexName ==
+ OUString(pTemp->GetTypeName()))
{
- const SwTOXType* pTemp = pDoc->GetTOXType( eType, i );
- if(sUserIndexName == pTemp->GetTypeName())
- {
- pTOXType = pTemp;
- break;
- }
- }
- if(!pTOXType)
- {
- SwTOXType aUserType(TOX_USER, sUserIndexName);
- pTOXType = pDoc->InsertTOXType(aUserType);
+ pTOXType = pTemp;
+ break;
}
}
+ if (!pTOXType)
+ {
+ SwTOXType aUserType(TOX_USER, m_pImpl->m_sUserIndexName);
+ pTOXType = pDoc->InsertTOXType(aUserType);
+ }
}
- break;
-
- default:
- ;
}
- if(!pTOXType)
- throw lang::IllegalArgumentException();
- pDoc->GetUnoCallBack()->Add(this);
- ((SwTOXType*)pTOXType)->Add(&aTypeDepend);
-
- SwUnoInternalPaM aPam(*pDoc);
- //das muss jetzt sal_True liefern
- SwXTextRange::XTextRangeToSwPaM(aPam, xTextRange);
- SwTOXMark aMark (pTOXType);
- if(sAltText.Len())
- aMark.SetAlternativeText(sAltText);
- switch(eType)
- {
- case TOX_INDEX:
- if(sPrimaryKey.Len())
- aMark.SetPrimaryKey(sPrimaryKey);
- if(sSecondaryKey.Len())
- aMark.SetSecondaryKey(sSecondaryKey);
- if(sTextReading.Len())
- aMark.SetTextReading(sTextReading);
- if(sPrimaryKeyReading.Len())
- aMark.SetPrimaryKeyReading(sPrimaryKeyReading);
- if(sSecondaryKeyReading.Len())
- aMark.SetSecondaryKeyReading(sSecondaryKeyReading);
- aMark.SetMainEntry(bMainEntry);
- break;
- case TOX_USER:
- case TOX_CONTENT:
- if(USHRT_MAX != nLevel)
- aMark.SetLevel(nLevel+1);
- break;
+ break;
- default:
- ;
- }
- UnoActionContext aAction(pDoc);
- sal_Bool bMark = *aPam.GetPoint() != *aPam.GetMark();
- // Marks ohne Alternativtext ohne selektierten Text koennen nicht eingefuegt werden,
- // deshalb hier ein Leerzeichen - ob das die ideale Loesung ist?
- if(!bMark && !aMark.GetAlternativeText().Len())
- aMark.SetAlternativeText( String(' ') );
-
- SwXTextCursor const*const pTextCursor(
- dynamic_cast<SwXTextCursor*>(pCursor));
- const bool bForceExpandHints( (!bMark && pTextCursor)
- ? pTextCursor->IsAtEndOfMeta() : false );
- const SetAttrMode nInsertFlags = (bForceExpandHints)
- ? ( nsSetAttrMode::SETATTR_FORCEHINTEXPAND
- | nsSetAttrMode::SETATTR_DONTEXPAND)
- : nsSetAttrMode::SETATTR_DONTEXPAND;
-
- pDoc->InsertPoolItem(aPam, aMark, nInsertFlags);
- if( bMark && *aPam.GetPoint() > *aPam.GetMark())
- aPam.Exchange();
+ default:
+ break;
+ }
+ if (!pTOXType)
+ {
+ throw lang::IllegalArgumentException();
+ }
- SwTxtAttr* pTxtAttr = 0;
- if( bMark )
- pTxtAttr = aPam.GetNode()->GetTxtNode()->GetTxtAttr(
- aPam.GetPoint()->nContent, RES_TXTATR_TOXMARK );
- else
- {
- pTxtAttr = aPam.GetNode()->GetTxtNode()->GetTxtAttrForCharAt(
- aPam.GetPoint()->nContent.GetIndex()-1, RES_TXTATR_TOXMARK );
- }
+ SwUnoInternalPaM aPam(*pDoc);
+ //das muss jetzt sal_True liefern
+ ::sw::XTextRangeToSwPaM(aPam, xTextRange);
+ SwTOXMark aMark (pTOXType);
+ if (m_pImpl->m_sAltText.getLength())
+ {
+ aMark.SetAlternativeText(m_pImpl->m_sAltText);
+ }
+ switch (m_pImpl->m_eTOXType)
+ {
+ case TOX_INDEX:
+ if (m_pImpl->m_sPrimaryKey.getLength())
+ {
+ aMark.SetPrimaryKey(m_pImpl->m_sPrimaryKey);
+ }
+ if (m_pImpl->m_sSecondaryKey.getLength())
+ {
+ aMark.SetSecondaryKey(m_pImpl->m_sSecondaryKey);
+ }
+ if (m_pImpl->m_sTextReading.getLength())
+ {
+ aMark.SetTextReading(m_pImpl->m_sTextReading);
+ }
+ if (m_pImpl->m_sPrimaryKeyReading.getLength())
+ {
+ aMark.SetPrimaryKeyReading(m_pImpl->m_sPrimaryKeyReading);
+ }
+ if (m_pImpl->m_sSecondaryKeyReading.getLength())
+ {
+ aMark.SetSecondaryKeyReading(m_pImpl->m_sSecondaryKeyReading);
+ }
+ aMark.SetMainEntry(m_pImpl->m_bMainEntry);
+ break;
+ case TOX_USER:
+ case TOX_CONTENT:
+ if (USHRT_MAX != m_pImpl->m_nLevel)
+ {
+ aMark.SetLevel(m_pImpl->m_nLevel+1);
+ }
+ break;
- if(pTxtAttr)
- {
- m_pTOXMark = &pTxtAttr->GetTOXMark();
- m_pDoc = pDoc;
- bIsDescriptor = sal_False;
- }
- else
- throw uno::RuntimeException();
+ default:
+ break;
+ }
+ UnoActionContext aAction(pDoc);
+ const sal_Bool bMark = *aPam.GetPoint() != *aPam.GetMark();
+ // Marks ohne Alternativtext ohne selektierten Text koennen nicht eingefuegt werden,
+ // deshalb hier ein Leerzeichen - ob das die ideale Loesung ist?
+ if (!bMark && !aMark.GetAlternativeText().Len())
+ {
+ aMark.SetAlternativeText( String(' ') );
}
-}
-/*-- 14.12.98 10:25:45---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXDocumentIndexMark::attach(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
-{
- vos::OGuard aGuard(Application::GetSolarMutex());
- attachToRange( xTextRange );
+ SwXTextCursor const*const pTextCursor(
+ dynamic_cast<SwXTextCursor*>(pCursor));
+ const bool bForceExpandHints( (!bMark && pTextCursor)
+ ? pTextCursor->IsAtEndOfMeta() : false );
+ const SetAttrMode nInsertFlags = (bForceExpandHints)
+ ? ( nsSetAttrMode::SETATTR_FORCEHINTEXPAND
+ | nsSetAttrMode::SETATTR_DONTEXPAND)
+ : nsSetAttrMode::SETATTR_DONTEXPAND;
+
+ pDoc->InsertPoolItem(aPam, aMark, nInsertFlags);
+ if (bMark && *aPam.GetPoint() > *aPam.GetMark())
+ {
+ aPam.Exchange();
+ }
+
+ SwTxtAttr* pTxtAttr = 0;
+ if (bMark)
+ {
+ pTxtAttr = aPam.GetNode()->GetTxtNode()->GetTxtAttr(
+ aPam.GetPoint()->nContent, RES_TXTATR_TOXMARK );
+ }
+ else
+ {
+ pTxtAttr = aPam.GetNode()->GetTxtNode()->GetTxtAttrForCharAt(
+ aPam.GetPoint()->nContent.GetIndex()-1, RES_TXTATR_TOXMARK );
+ }
+
+ if (!pTxtAttr)
+ {
+ throw uno::RuntimeException();
+ }
+
+ m_pImpl->m_pTOXMark = &pTxtAttr->GetTOXMark();
+ m_pImpl->m_pDoc = pDoc;
+ m_pImpl->m_bIsDescriptor = sal_False;
+
+ const_cast<SwTOXMark*>(m_pImpl->m_pTOXMark)->Add(m_pImpl.get());
+ const_cast<SwTOXType*>(pTOXType)->Add(&m_pImpl->m_TypeDepend);
}
+
/*-- 14.12.98 10:25:45---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXDocumentIndexMark::getAnchor(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXDocumentIndexMark::getAnchor() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextRange > aRet;
- SwTOXType* pType = ((SwXDocumentIndexMark*)this)->GetTOXType();
- if(pType && m_pTOXMark)
+
+ SwTOXType *const pType = m_pImpl->GetTOXType();
+ if (!pType || !m_pImpl->m_pTOXMark)
{
- if( m_pTOXMark->GetTxtTOXMark() )
- {
- const SwTxtTOXMark* pTxtMark = m_pTOXMark->GetTxtTOXMark();
- SwPaM aPam(pTxtMark->GetTxtNode(), *pTxtMark->GetStart());
- aPam.SetMark();
- if(pTxtMark->GetEnd())
- {
- aPam.GetPoint()->nContent = *pTxtMark->GetEnd();
- }
- else
- aPam.GetPoint()->nContent++;
- uno::Reference< frame::XModel > xModel = m_pDoc->GetDocShell()->GetBaseModel();
- uno::Reference< text::XTextDocument > xTDoc(xModel, uno::UNO_QUERY);
- aRet = new SwXTextRange(aPam, xTDoc->getText());
- }
+ throw uno::RuntimeException();
}
- if(!aRet.is())
+ if (!m_pImpl->m_pTOXMark->GetTxtTOXMark())
+ {
throw uno::RuntimeException();
- return aRet;
+ }
+ const SwTxtTOXMark* pTxtMark = m_pImpl->m_pTOXMark->GetTxtTOXMark();
+ SwPaM aPam(pTxtMark->GetTxtNode(), *pTxtMark->GetStart());
+ aPam.SetMark();
+ if(pTxtMark->GetEnd())
+ {
+ aPam.GetPoint()->nContent = *pTxtMark->GetEnd();
+ }
+ else
+ {
+ aPam.GetPoint()->nContent++;
+ }
+ const uno::Reference< frame::XModel > xModel =
+ m_pImpl->m_pDoc->GetDocShell()->GetBaseModel();
+ const uno::Reference< text::XTextDocument > xTDoc(xModel, uno::UNO_QUERY);
+ const uno::Reference< text::XTextRange > xRet =
+ new SwXTextRange(aPam, xTDoc->getText());
+
+ return xRet;
}
+
/*-- 14.12.98 10:25:45---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndexMark::dispose(void) throw( uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndexMark::dispose() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwTOXType* pType = ((SwXDocumentIndexMark*)this)->GetTOXType();
- if(pType && m_pTOXMark)
+
+ SwTOXType *const pType = m_pImpl->GetTOXType();
+ if (pType && m_pImpl->m_pTOXMark)
{
- m_pDoc->DeleteTOXMark(m_pTOXMark);
+ m_pImpl->m_pDoc->DeleteTOXMark(m_pImpl->m_pTOXMark);
}
- else
- throw uno::RuntimeException();
}
/*-- 14.12.98 10:25:45---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndexMark::addEventListener(const uno::Reference< lang::XEventListener > & aListener)
- throw( uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndexMark::addEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetRegisteredIn())
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->GetRegisteredIn())
+ {
throw uno::RuntimeException();
- aLstnrCntnr.AddListener(aListener);
+ }
+ m_pImpl->m_ListenerContainer.AddListener(xListener);
}
/*-- 14.12.98 10:25:46---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndexMark::removeEventListener(const uno::Reference< lang::XEventListener > & aListener)
- throw( uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndexMark::removeEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetRegisteredIn() || !aLstnrCntnr.RemoveListener(aListener))
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->GetRegisteredIn() ||
+ !m_pImpl->m_ListenerContainer.RemoveListener(xListener))
+ {
throw uno::RuntimeException();
+ }
}
+
/*-- 14.12.98 10:25:46---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< beans::XPropertySetInfo > SwXDocumentIndexMark::getPropertySetInfo(void)
- throw( uno::RuntimeException )
+uno::Reference< beans::XPropertySetInfo > SAL_CALL
+SwXDocumentIndexMark::getPropertySetInfo() throw (uno::RuntimeException)
{
+ vos::OGuard g(Application::GetSolarMutex());
+
static uno::Reference< beans::XPropertySetInfo > xInfos[3];
int nPos = 0;
- switch(eType)
+ switch (m_pImpl->m_eTOXType)
{
- case TOX_INDEX: nPos = 0; break;
- case TOX_CONTENT: nPos = 1; break;
- case TOX_USER: nPos = 2; break;
+ case TOX_INDEX: nPos = 0; break;
+ case TOX_CONTENT: nPos = 1; break;
+ case TOX_USER: nPos = 2; break;
default:
;
}
if(!xInfos[nPos].is())
{
- uno::Reference< beans::XPropertySetInfo > xInfo = m_pPropSet->getPropertySetInfo();
+ const uno::Reference< beans::XPropertySetInfo > xInfo =
+ m_pImpl->m_rPropSet.getPropertySetInfo();
// extend PropertySetInfo!
const uno::Sequence<beans::Property> aPropSeq = xInfo->getProperties();
xInfos[nPos] = new SfxExtItemPropertySetInfo(
- aSwMapProvider.GetPropertyMapEntries(PROPERTY_MAP_PARAGRAPH_EXTENSIONS),
+ aSwMapProvider.GetPropertyMapEntries(
+ PROPERTY_MAP_PARAGRAPH_EXTENSIONS),
aPropSeq );
}
return xInfos[nPos];
}
+
/*-- 14.12.98 10:25:46---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndexMark::setPropertyValue(const OUString& rPropertyName,
- const uno::Any& aValue)
- throw( beans::UnknownPropertyException, beans::PropertyVetoException,
- lang::IllegalArgumentException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndexMark::setPropertyValue(
+ const OUString& rPropertyName, const uno::Any& rValue)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwTOXType* pType = ((SwXDocumentIndexMark*)this)->GetTOXType();
- const SfxItemPropertySimpleEntry* pEntry = m_pPropSet->getPropertyMap()->getByName(rPropertyName);
+
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName(rPropertyName);
if (!pEntry)
- throw beans::UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
- if ( pEntry->nFlags & beans::PropertyAttribute::READONLY)
- throw beans::PropertyVetoException ( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Property is read-only: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
- if(pType && m_pTOXMark)
{
- SwDoc* pLocalDoc = m_pDoc;
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(this));
+ }
+ if (pEntry->nFlags & beans::PropertyAttribute::READONLY)
+ {
+ throw beans::PropertyVetoException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Property is read-only: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(this));
+ }
- SwTOXMark aMark(*m_pTOXMark);
+ SwTOXType *const pType = m_pImpl->GetTOXType();
+ if (pType && m_pImpl->m_pTOXMark)
+ {
+ SwDoc* pLocalDoc = m_pImpl->m_pDoc;
+
+ SwTOXMark aMark(*m_pImpl->m_pTOXMark);
switch(pEntry->nWID)
{
case WID_ALT_TEXT:
- aMark.SetAlternativeText(lcl_AnyToString(aValue));
+ aMark.SetAlternativeText(lcl_AnyToString(rValue));
break;
case WID_LEVEL:
- aMark.SetLevel(Min( (sal_Int8) ( MAXLEVEL ),
- (sal_Int8)(lcl_AnyToInt16(aValue)+1)));
+ aMark.SetLevel(Min( static_cast<sal_Int8>( MAXLEVEL ),
+ static_cast<sal_Int8>(lcl_AnyToInt16(rValue)+1)));
break;
case WID_PRIMARY_KEY :
- aMark.SetPrimaryKey(lcl_AnyToString(aValue));
+ aMark.SetPrimaryKey(lcl_AnyToString(rValue));
break;
case WID_SECONDARY_KEY:
- aMark.SetSecondaryKey(lcl_AnyToString(aValue));
+ aMark.SetSecondaryKey(lcl_AnyToString(rValue));
break;
case WID_MAIN_ENTRY:
- aMark.SetMainEntry(lcl_AnyToBool(aValue));
+ aMark.SetMainEntry(lcl_AnyToBool(rValue));
break;
case WID_TEXT_READING:
- aMark.SetTextReading(lcl_AnyToString(aValue));
+ aMark.SetTextReading(lcl_AnyToString(rValue));
break;
case WID_PRIMARY_KEY_READING:
- aMark.SetPrimaryKeyReading(lcl_AnyToString(aValue));
+ aMark.SetPrimaryKeyReading(lcl_AnyToString(rValue));
break;
case WID_SECONDARY_KEY_READING:
- aMark.SetSecondaryKeyReading(lcl_AnyToString(aValue));
+ aMark.SetSecondaryKeyReading(lcl_AnyToString(rValue));
break;
}
- const SwTxtTOXMark* pTxtMark = m_pTOXMark->GetTxtTOXMark();
+ SwTxtTOXMark const*const pTxtMark =
+ m_pImpl->m_pTOXMark->GetTxtTOXMark();
SwPaM aPam(pTxtMark->GetTxtNode(), *pTxtMark->GetStart());
aPam.SetMark();
if(pTxtMark->GetEnd())
@@ -1691,15 +2221,17 @@ void SwXDocumentIndexMark::setPropertyValue(const OUString& rPropertyName,
aPam.GetPoint()->nContent = *pTxtMark->GetEnd();
}
else
+ {
aPam.GetPoint()->nContent++;
+ }
//delete the old mark
- pLocalDoc->DeleteTOXMark(m_pTOXMark);
- m_pTOXMark = 0;
+ pLocalDoc->DeleteTOXMark(m_pImpl->m_pTOXMark);
+ m_pImpl->m_pTOXMark = 0;
sal_Bool bInsAtPos = aMark.IsAlternativeText();
- const SwPosition *pStt = aPam.Start(),
- *pEnd = aPam.End();
+ const SwPosition *pStt = aPam.Start();
+ const SwPosition *pEnd = aPam.End();
SwTxtAttr* pTxtAttr = 0;
if( bInsAtPos )
@@ -1716,99 +2248,120 @@ void SwXDocumentIndexMark::setPropertyValue(const OUString& rPropertyName,
pTxtAttr = pStt->nNode.GetNode().GetTxtNode()->GetTxtAttr(
pStt->nContent, RES_TXTATR_TOXMARK );
}
- m_pDoc = pLocalDoc;
+ m_pImpl->m_pDoc = pLocalDoc;
if(pTxtAttr)
{
- m_pTOXMark = &pTxtAttr->GetTOXMark();
- m_pDoc->GetUnoCallBack()->Add(this);
- pType->Add(&aTypeDepend);
+ m_pImpl->m_pTOXMark = &pTxtAttr->GetTOXMark();
+ const_cast<SwTOXMark*>(m_pImpl->m_pTOXMark)->Add(m_pImpl.get());
+ pType->Add(&m_pImpl->m_TypeDepend);
}
}
- else if(bIsDescriptor)
+ else if (m_pImpl->m_bIsDescriptor)
{
switch(pEntry->nWID)
{
case WID_ALT_TEXT:
- sAltText = lcl_AnyToString(aValue);
+ m_pImpl->m_sAltText = lcl_AnyToString(rValue);
break;
case WID_LEVEL:
{
- sal_Int16 nVal = lcl_AnyToInt16(aValue);
+ const sal_Int16 nVal = lcl_AnyToInt16(rValue);
if(nVal >= 0 && nVal < MAXLEVEL)
- nLevel = nVal;
+ {
+ m_pImpl->m_nLevel = nVal;
+ }
else
+ {
throw lang::IllegalArgumentException();
+ }
}
break;
- case WID_PRIMARY_KEY :
- sPrimaryKey = lcl_AnyToString(aValue);
+ case WID_PRIMARY_KEY:
+ m_pImpl->m_sPrimaryKey = lcl_AnyToString(rValue);
break;
case WID_SECONDARY_KEY:
- sSecondaryKey = lcl_AnyToString(aValue);
+ m_pImpl->m_sSecondaryKey = lcl_AnyToString(rValue);
break;
case WID_TEXT_READING:
- sTextReading = lcl_AnyToString(aValue);
+ m_pImpl->m_sTextReading = lcl_AnyToString(rValue);
break;
case WID_PRIMARY_KEY_READING:
- sPrimaryKeyReading = lcl_AnyToString(aValue);
+ m_pImpl->m_sPrimaryKeyReading = lcl_AnyToString(rValue);
break;
case WID_SECONDARY_KEY_READING:
- sSecondaryKeyReading = lcl_AnyToString(aValue);
+ m_pImpl->m_sSecondaryKeyReading = lcl_AnyToString(rValue);
break;
- case WID_USER_IDX_NAME :
+ case WID_USER_IDX_NAME:
{
- OUString sTmp(lcl_AnyToString(aValue));
+ OUString sTmp(lcl_AnyToString(rValue));
lcl_ConvertTOUNameToUserName(sTmp);
- sUserIndexName = sTmp;
+ m_pImpl->m_sUserIndexName = sTmp;
}
break;
case WID_MAIN_ENTRY:
- bMainEntry = lcl_AnyToBool(aValue);
+ m_pImpl->m_bMainEntry = lcl_AnyToBool(rValue);
break;
}
}
else
+ {
throw uno::RuntimeException();
+ }
}
+
/*-- 14.12.98 10:25:46---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXDocumentIndexMark::getPropertyValue(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL
+SwXDocumentIndexMark::getPropertyValue(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
uno::Any aRet;
- SwTOXType* pType = ((SwXDocumentIndexMark*)this)->GetTOXType();
- const SfxItemPropertySimpleEntry* pEntry = m_pPropSet->getPropertyMap()->getByName(rPropertyName);
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName(rPropertyName);
if (!pEntry)
- throw beans::UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
- if(SwXParagraph::getDefaultTextContentValue(aRet, rPropertyName, pEntry->nWID))
+ {
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(this));
+ }
+ if (::sw::GetDefaultTextContentValue(aRet, rPropertyName, pEntry->nWID))
+ {
return aRet;
- if(pType && m_pTOXMark)
+ }
+
+ SwTOXType *const pType = m_pImpl->GetTOXType();
+ if (pType && m_pImpl->m_pTOXMark)
{
switch(pEntry->nWID)
{
case WID_ALT_TEXT:
- aRet <<= OUString(m_pTOXMark->GetAlternativeText());
+ aRet <<= OUString(m_pImpl->m_pTOXMark->GetAlternativeText());
break;
case WID_LEVEL:
- aRet <<= (sal_Int16)(m_pTOXMark->GetLevel() - 1);
+ aRet <<= static_cast<sal_Int16>(
+ m_pImpl->m_pTOXMark->GetLevel() - 1);
break;
case WID_PRIMARY_KEY :
- aRet <<= OUString(m_pTOXMark->GetPrimaryKey());
+ aRet <<= OUString(m_pImpl->m_pTOXMark->GetPrimaryKey());
break;
case WID_SECONDARY_KEY:
- aRet <<= OUString(m_pTOXMark->GetSecondaryKey());
+ aRet <<= OUString(m_pImpl->m_pTOXMark->GetSecondaryKey());
break;
case WID_TEXT_READING:
- aRet <<= OUString(m_pTOXMark->GetTextReading());
+ aRet <<= OUString(m_pImpl->m_pTOXMark->GetTextReading());
break;
case WID_PRIMARY_KEY_READING:
- aRet <<= OUString(m_pTOXMark->GetPrimaryKeyReading());
+ aRet <<= OUString(m_pImpl->m_pTOXMark->GetPrimaryKeyReading());
break;
case WID_SECONDARY_KEY_READING:
- aRet <<= OUString(m_pTOXMark->GetSecondaryKeyReading());
+ aRet <<= OUString(
+ m_pImpl->m_pTOXMark->GetSecondaryKeyReading());
break;
case WID_USER_IDX_NAME :
{
@@ -1819,179 +2372,158 @@ uno::Any SwXDocumentIndexMark::getPropertyValue(const OUString& rPropertyName)
break;
case WID_MAIN_ENTRY:
{
- sal_Bool bTemp = m_pTOXMark->IsMainEntry();
- aRet.setValue(&bTemp, ::getBooleanCppuType());
+ const sal_Bool bTemp = m_pImpl->m_pTOXMark->IsMainEntry();
+ aRet <<= bTemp;
}
break;
}
}
- else if(bIsDescriptor)
+ else if (m_pImpl->m_bIsDescriptor)
{
switch(pEntry->nWID)
{
case WID_ALT_TEXT:
- aRet <<= OUString(sAltText);
+ aRet <<= m_pImpl->m_sAltText;
break;
case WID_LEVEL:
- aRet <<= (sal_Int16)nLevel;
+ aRet <<= static_cast<sal_Int16>(m_pImpl->m_nLevel);
break;
- case WID_PRIMARY_KEY :
- aRet <<= OUString(sPrimaryKey);
+ case WID_PRIMARY_KEY:
+ aRet <<= m_pImpl->m_sPrimaryKey;
break;
case WID_SECONDARY_KEY:
- aRet <<= OUString(sSecondaryKey);
+ aRet <<= m_pImpl->m_sSecondaryKey;
break;
case WID_TEXT_READING:
- aRet <<= OUString(sTextReading);
+ aRet <<= m_pImpl->m_sTextReading;
break;
case WID_PRIMARY_KEY_READING:
- aRet <<= OUString(sPrimaryKeyReading);
+ aRet <<= m_pImpl->m_sPrimaryKeyReading;
break;
case WID_SECONDARY_KEY_READING:
- aRet <<= OUString(sSecondaryKeyReading);
+ aRet <<= m_pImpl->m_sSecondaryKeyReading;
break;
case WID_USER_IDX_NAME :
- aRet <<= OUString(sUserIndexName);
+ aRet <<= m_pImpl->m_sUserIndexName;
break;
case WID_MAIN_ENTRY:
{
- aRet.setValue(&bMainEntry, ::getBooleanCppuType());
+ aRet <<= static_cast<sal_Bool>(m_pImpl->m_bMainEntry);
}
break;
}
}
else
+ {
throw uno::RuntimeException();
+ }
return aRet;
}
+
/*-- 14.12.98 10:25:46---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndexMark::addPropertyChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndexMark::addPropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXDocumentIndexMark::addPropertyChangeListener(): not implemented");
}
-/*-- 14.12.98 10:25:46---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXDocumentIndexMark::removePropertyChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndexMark::removePropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXDocumentIndexMark::removePropertyChangeListener(): not implemented");
}
-/*-- 14.12.98 10:25:47---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXDocumentIndexMark::addVetoableChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndexMark::addVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXDocumentIndexMark::addVetoableChangeListener(): not implemented");
}
-/*-- 14.12.98 10:25:47---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXDocumentIndexMark::removeVetoableChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXDocumentIndexMark::removeVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXDocumentIndexMark::removeVetoableChangeListener(): not implemented");
}
-/*-- 14.12.98 10:25:47---------------------------------------------------
+
+
+/******************************************************************
+ * SwXDocumentIndexes
+ ******************************************************************/
+/*-- 05.05.99 13:14:59---------------------------------------------------
-----------------------------------------------------------------------*/
-SwXDocumentIndexMark* SwXDocumentIndexMark::GetObject(SwTOXType* pType,
- const SwTOXMark* pMark, SwDoc* pDoc)
+SwXDocumentIndexes::SwXDocumentIndexes(SwDoc *const _pDoc)
+ : SwUnoCollection(_pDoc)
{
- SwClientIter aIter(*pType);
- SwXDocumentIndexMark* pxMark = (SwXDocumentIndexMark*)
- aIter.First(TYPE(SwXDocumentIndexMark));
- while( pxMark )
- {
- if(pxMark->m_pTOXMark == pMark)
- return pxMark;
- pxMark = (SwXDocumentIndexMark*)aIter.Next();
- }
- return new SwXDocumentIndexMark(pType, pMark, pDoc);
}
-/*-- 14.12.98 10:25:47---------------------------------------------------
+/*-- 05.05.99 13:15:00---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXDocumentIndexMark::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
+SwXDocumentIndexes::~SwXDocumentIndexes()
{
- switch( pOld ? pOld->Which() : 0 )
- {
- case RES_REMOVE_UNO_OBJECT:
- case RES_OBJECTDYING:
- if( (void*)GetRegisteredIn() == ((SwPtrMsgPoolItem *)pOld)->pObject )
- Invalidate();
- break;
-
- case RES_FMT_CHG:
- // wurden wir an das neue umgehaengt und wird das alte geloscht?
- if( ((SwFmtChg*)pNew)->pChangedFmt == GetRegisteredIn() &&
- ((SwFmtChg*)pOld)->pChangedFmt->IsFmtInDTOR() )
- Invalidate();
- break;
- case RES_TOXMARK_DELETED:
- if( (void*)m_pTOXMark == ((SwPtrMsgPoolItem *)pOld)->pObject )
- Invalidate();
- break;
- }
}
-/* -----------------------------16.10.00 11:24--------------------------------
- ---------------------------------------------------------------------------*/
-void SwXDocumentIndexMark::Invalidate()
-{
- if(GetRegisteredIn())
- {
- ((SwModify*)GetRegisteredIn())->Remove(this);
- if(aTypeDepend.GetRegisteredIn())
- ((SwModify*)aTypeDepend.GetRegisteredIn())->Remove(&aTypeDepend);
- aLstnrCntnr.Disposing();
- m_pTOXMark = 0;
- m_pDoc = 0;
- }
-}
/* -----------------------------06.04.00 15:08--------------------------------
---------------------------------------------------------------------------*/
-OUString SwXDocumentIndexes::getImplementationName(void) throw( uno::RuntimeException )
+OUString SAL_CALL
+SwXDocumentIndexes::getImplementationName() throw (uno::RuntimeException)
{
return C2U("SwXDocumentIndexes");
}
-/* -----------------------------06.04.00 15:08--------------------------------
- ---------------------------------------------------------------------------*/
-BOOL SwXDocumentIndexes::supportsService(const OUString& rServiceName) throw( uno::RuntimeException )
+static char const*const g_ServicesDocumentIndexes[] =
{
- return C2U("com.sun.star.text.DocumentIndexes") == rServiceName;
-}
-/* -----------------------------06.04.00 15:08--------------------------------
+ "com.sun.star.text.DocumentIndexes",
+};
+static const size_t g_nServicesDocumentIndexes(
+ sizeof(g_ServicesDocumentIndexes)/sizeof(g_ServicesDocumentIndexes[0]));
- ---------------------------------------------------------------------------*/
-uno::Sequence< OUString > SwXDocumentIndexes::getSupportedServiceNames(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXDocumentIndexes::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
{
- uno::Sequence< OUString > aRet(1);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.text.DocumentIndexes");
- return aRet;
+ return ::sw::SupportsServiceImpl(
+ g_nServicesDocumentIndexes, g_ServicesDocumentIndexes, rServiceName);
}
-/*-- 05.05.99 13:14:59---------------------------------------------------
- -----------------------------------------------------------------------*/
-SwXDocumentIndexes::SwXDocumentIndexes(SwDoc* _pDoc) :
- SwUnoCollection(_pDoc)
+uno::Sequence< OUString > SAL_CALL
+SwXDocumentIndexes::getSupportedServiceNames() throw (uno::RuntimeException)
{
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesDocumentIndexes, g_ServicesDocumentIndexes);
}
-/*-- 05.05.99 13:15:00---------------------------------------------------
- -----------------------------------------------------------------------*/
-SwXDocumentIndexes::~SwXDocumentIndexes()
-{
-}
/*-- 05.05.99 13:15:01---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Int32 SwXDocumentIndexes::getCount(void) throw( uno::RuntimeException )
+sal_Int32 SAL_CALL
+SwXDocumentIndexes::getCount() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!IsValid())
throw uno::RuntimeException();
@@ -2002,21 +2534,26 @@ sal_Int32 SwXDocumentIndexes::getCount(void) throw( uno::RuntimeException )
const SwSection* pSect = rFmts[ n ]->GetSection();
if( TOX_CONTENT_SECTION == pSect->GetType() &&
pSect->GetFmt()->GetSectionNode() )
+ {
++nRet;
+ }
}
return nRet;
}
+
/*-- 05.05.99 13:15:01---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXDocumentIndexes::getByIndex(sal_Int32 nIndex)
- throw( lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL
+SwXDocumentIndexes::getByIndex(sal_Int32 nIndex)
+throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!IsValid())
throw uno::RuntimeException();
- uno::Any aRet;
sal_Int32 nIdx = 0;
const SwSectionFmts& rFmts = GetDoc()->GetSections();
@@ -2026,12 +2563,14 @@ uno::Any SwXDocumentIndexes::getByIndex(sal_Int32 nIndex)
if( TOX_CONTENT_SECTION == pSect->GetType() &&
pSect->GetFmt()->GetSectionNode() &&
nIdx++ == nIndex )
- {
- uno::Reference< text::XDocumentIndex > xTmp = new SwXDocumentIndex(
- (SwTOXBaseSection*)pSect, GetDoc() );
- aRet.setValue(&xTmp, ::getCppuType((uno::Reference<text::XDocumentIndex>*)0));
- return aRet;
- }
+ {
+ const uno::Reference< text::XDocumentIndex > xTmp =
+ SwXDocumentIndex::CreateXDocumentIndex(
+ *GetDoc(), static_cast<SwTOXBaseSection const&>(*pSect));
+ uno::Any aRet;
+ aRet <<= xTmp;
+ return aRet;
+ }
}
throw lang::IndexOutOfBoundsException();
@@ -2040,15 +2579,16 @@ uno::Any SwXDocumentIndexes::getByIndex(sal_Int32 nIndex)
/*-- 31.01.00 10:12:31---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXDocumentIndexes::getByName(const OUString& rName)
- throw( container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL
+SwXDocumentIndexes::getByName(const OUString& rName)
+throw (container::NoSuchElementException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!IsValid())
throw uno::RuntimeException();
- uno::Any aRet;
-
String sToFind(rName);
const SwSectionFmts& rFmts = GetDoc()->GetSections();
for( sal_uInt16 n = 0; n < rFmts.Count(); ++n )
@@ -2056,23 +2596,28 @@ uno::Any SwXDocumentIndexes::getByName(const OUString& rName)
const SwSection* pSect = rFmts[ n ]->GetSection();
if( TOX_CONTENT_SECTION == pSect->GetType() &&
pSect->GetFmt()->GetSectionNode() &&
- ((SwTOXBaseSection*)pSect)->GetTOXName() == sToFind)
- {
- uno::Reference< text::XDocumentIndex > xTmp = new SwXDocumentIndex(
- (SwTOXBaseSection*)pSect, GetDoc() );
- aRet.setValue(&xTmp, ::getCppuType((uno::Reference<text::XDocumentIndex>*)0));
- return aRet;
- }
+ (static_cast<SwTOXBaseSection const*>(pSect)->GetTOXName()
+ == sToFind))
+ {
+ const uno::Reference< text::XDocumentIndex > xTmp =
+ SwXDocumentIndex::CreateXDocumentIndex(
+ *GetDoc(), static_cast<SwTOXBaseSection const&>(*pSect));
+ uno::Any aRet;
+ aRet <<= xTmp;
+ return aRet;
+ }
}
throw container::NoSuchElementException();
}
+
/*-- 31.01.00 10:12:31---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Sequence< OUString > SwXDocumentIndexes::getElementNames(void)
- throw( uno::RuntimeException )
+uno::Sequence< OUString > SAL_CALL
+SwXDocumentIndexes::getElementNames() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!IsValid())
throw uno::RuntimeException();
@@ -2081,10 +2626,12 @@ uno::Sequence< OUString > SwXDocumentIndexes::getElementNames(void)
sal_uInt16 n;
for( n = 0; n < rFmts.Count(); ++n )
{
- const SwSection* pSect = rFmts[ n ]->GetSection();
+ SwSection const*const pSect = rFmts[ n ]->GetSection();
if( TOX_CONTENT_SECTION == pSect->GetType() &&
pSect->GetFmt()->GetSectionNode() )
+ {
++nCount;
+ }
}
uno::Sequence< OUString > aRet(nCount);
@@ -2092,22 +2639,26 @@ uno::Sequence< OUString > SwXDocumentIndexes::getElementNames(void)
sal_uInt16 nCnt;
for( n = 0, nCnt = 0; n < rFmts.Count(); ++n )
{
- const SwSection* pSect = rFmts[ n ]->GetSection();
+ SwSection const*const pSect = rFmts[ n ]->GetSection();
if( TOX_CONTENT_SECTION == pSect->GetType() &&
pSect->GetFmt()->GetSectionNode())
{
- pArray[nCnt++] = OUString(((SwTOXBaseSection*)pSect)->GetTOXName());
+ pArray[nCnt++] = OUString(
+ static_cast<SwTOXBaseSection const*>(pSect)->GetTOXName());
}
}
return aRet;
}
+
/*-- 31.01.00 10:12:31---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXDocumentIndexes::hasByName(const OUString& rName)
- throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXDocumentIndexes::hasByName(const OUString& rName)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!IsValid())
throw uno::RuntimeException();
@@ -2115,147 +2666,158 @@ sal_Bool SwXDocumentIndexes::hasByName(const OUString& rName)
const SwSectionFmts& rFmts = GetDoc()->GetSections();
for( sal_uInt16 n = 0; n < rFmts.Count(); ++n )
{
- const SwSection* pSect = rFmts[ n ]->GetSection();
+ SwSection const*const pSect = rFmts[ n ]->GetSection();
if( TOX_CONTENT_SECTION == pSect->GetType() &&
pSect->GetFmt()->GetSectionNode())
{
- if(((SwTOXBaseSection*)pSect)->GetTOXName() == sToFind)
+ if (static_cast<SwTOXBaseSection const*>(pSect)->GetTOXName()
+ == sToFind)
+ {
return sal_True;
+ }
}
}
return sal_False;
}
+
/*-- 05.05.99 13:15:01---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Type SwXDocumentIndexes::getElementType(void) throw( uno::RuntimeException )
+uno::Type SAL_CALL
+SwXDocumentIndexes::getElementType() throw (uno::RuntimeException)
{
- return ::getCppuType((uno::Reference< text::XDocumentIndex> *)0);
+ return text::XDocumentIndex::static_type();
}
/*-- 05.05.99 13:15:02---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXDocumentIndexes::hasElements(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXDocumentIndexes::hasElements() throw (uno::RuntimeException)
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- if(!IsValid())
- throw uno::RuntimeException();
return 0 != getCount();
}
-SwXDocumentIndex* SwXDocumentIndexes::GetObject(const SwTOXBaseSection* pTOX)
-{
- SwSectionFmt* pFmt = pTOX->GetFmt();
- SwClientIter aIter(*pFmt);
- SwXDocumentIndex* pxIdx = (SwXDocumentIndex*)aIter.First(TYPE(SwXDocumentIndex));
- if(pxIdx)
- return pxIdx;
- else
- return new SwXDocumentIndex(pTOX, pFmt->GetDoc());
-}
+/******************************************************************
+ * SwXDocumentIndex::StyleAccess_Impl
+ ******************************************************************/
-/* -----------------------------06.04.00 15:08--------------------------------
+/*-- 13.09.99 16:52:28---------------------------------------------------
- ---------------------------------------------------------------------------*/
-OUString SwXIndexStyleAccess_Impl::getImplementationName(void) throw( uno::RuntimeException )
+ -----------------------------------------------------------------------*/
+SwXDocumentIndex::StyleAccess_Impl::StyleAccess_Impl(
+ SwXDocumentIndex& rParentIdx)
+ : m_xParent(&rParentIdx)
{
- return C2U("SwXIndexStyleAccess_Impl");
}
-/* -----------------------------06.04.00 15:08--------------------------------
+/*-- 13.09.99 16:52:29---------------------------------------------------
- ---------------------------------------------------------------------------*/
-BOOL SwXIndexStyleAccess_Impl::supportsService(const OUString& rServiceName) throw( uno::RuntimeException )
+ -----------------------------------------------------------------------*/
+SwXDocumentIndex::StyleAccess_Impl::~StyleAccess_Impl()
{
- return C2U("com.sun.star.text.DocumentIndexParagraphStyles") == rServiceName;
}
+
/* -----------------------------06.04.00 15:08--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< OUString > SwXIndexStyleAccess_Impl::getSupportedServiceNames(void) throw( uno::RuntimeException )
+OUString SAL_CALL
+SwXDocumentIndex::StyleAccess_Impl::getImplementationName()
+throw (uno::RuntimeException)
{
- uno::Sequence< OUString > aRet(1);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.text.DocumentIndexParagraphStyles");
- return aRet;
+ return C2U("SwXDocumentIndex::StyleAccess_Impl");
}
-/*-- 13.09.99 16:52:28---------------------------------------------------
- -----------------------------------------------------------------------*/
-SwXIndexStyleAccess_Impl::SwXIndexStyleAccess_Impl(SwXDocumentIndex& rParentIdx) :
- rParent(rParentIdx),
- xParent(&rParentIdx)
+static char const*const g_ServicesIndexStyleAccess[] =
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- rParent.SetStyleAccess(this);
+ "com.sun.star.text.DocumentIndexParagraphStyles",
+};
+static const size_t g_nServicesIndexStyleAccess(
+ sizeof(g_ServicesIndexStyleAccess)/sizeof(g_ServicesIndexStyleAccess[0]));
+
+sal_Bool SAL_CALL
+SwXDocumentIndex::StyleAccess_Impl::supportsService(
+ const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ return ::sw::SupportsServiceImpl(
+ g_nServicesIndexStyleAccess, g_ServicesIndexStyleAccess, rServiceName);
}
-/*-- 13.09.99 16:52:29---------------------------------------------------
- -----------------------------------------------------------------------*/
-SwXIndexStyleAccess_Impl::~SwXIndexStyleAccess_Impl()
+uno::Sequence< OUString > SAL_CALL
+SwXDocumentIndex::StyleAccess_Impl::getSupportedServiceNames()
+throw (uno::RuntimeException)
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- rParent.SetStyleAccess(0);
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesIndexStyleAccess, g_ServicesIndexStyleAccess);
}
+
/*-- 13.09.99 16:52:29---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXIndexStyleAccess_Impl::replaceByIndex(sal_Int32 nIndex, const uno::Any& rElement)
- throw( lang::IllegalArgumentException, lang::IndexOutOfBoundsException,
+void SAL_CALL
+SwXDocumentIndex::StyleAccess_Impl::replaceByIndex(
+ sal_Int32 nIndex, const uno::Any& rElement)
+throw (lang::IllegalArgumentException, lang::IndexOutOfBoundsException,
lang::WrappedTargetException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- const sal_Bool bDescriptor = rParent.IsDescriptor();
- SwSectionFmt* pSectFmt = rParent.GetFmt();
- if(!pSectFmt && !bDescriptor)
- throw uno::RuntimeException();
+
if(nIndex < 0 || nIndex > MAXLEVEL)
+ {
throw lang::IndexOutOfBoundsException();
- SwTOXBase* pTOXBase = bDescriptor ? &rParent.GetProperties_Impl()->GetTOXBase() :
- (SwTOXBaseSection*)pSectFmt->GetSection();
+ }
+
+ SwTOXBase & rTOXBase( m_xParent->m_pImpl->GetTOXSectionOrThrow() );
uno::Sequence<OUString> aSeq;
if(!(rElement >>= aSeq))
+ {
throw lang::IllegalArgumentException();
+ }
- sal_Int32 nStyles = aSeq.getLength();
+ const sal_Int32 nStyles = aSeq.getLength();
const OUString* pStyles = aSeq.getConstArray();
String sSetStyles;
String aString;
for(sal_Int32 i = 0; i < nStyles; i++)
{
if(i)
+ {
sSetStyles += TOX_STYLE_DELIMITER;
- SwStyleNameMapper::FillUIName(pStyles[i], aString, nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL, sal_True);
+ }
+ SwStyleNameMapper::FillUIName(pStyles[i], aString,
+ nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL, sal_True);
sSetStyles += aString;
}
- pTOXBase->SetStyleNames(sSetStyles, (sal_uInt16) nIndex);
+ rTOXBase.SetStyleNames(sSetStyles, static_cast<sal_uInt16>(nIndex));
}
/*-- 13.09.99 16:52:29---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Int32 SwXIndexStyleAccess_Impl::getCount(void) throw( uno::RuntimeException )
+sal_Int32 SAL_CALL
+SwXDocumentIndex::StyleAccess_Impl::getCount() throw (uno::RuntimeException)
{
return MAXLEVEL;
}
/*-- 13.09.99 16:52:30---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXIndexStyleAccess_Impl::getByIndex(sal_Int32 nIndex)
- throw( lang::IndexOutOfBoundsException, lang::WrappedTargetException,
- uno::RuntimeException)
+uno::Any SAL_CALL
+SwXDocumentIndex::StyleAccess_Impl::getByIndex(sal_Int32 nIndex)
+throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- const sal_Bool bDescriptor = rParent.IsDescriptor();
- SwSectionFmt* pSectFmt = rParent.GetFmt();
- if(!pSectFmt && !bDescriptor)
- throw uno::RuntimeException();
+
if(nIndex < 0 || nIndex > MAXLEVEL)
+ {
throw lang::IndexOutOfBoundsException();
- SwTOXBase* pTOXBase = bDescriptor ? &rParent.GetProperties_Impl()->GetTOXBase() :
- (SwTOXBaseSection*)pSectFmt->GetSection();
+ }
- const String& rStyles = pTOXBase->GetStyleNames((sal_uInt16) nIndex);
- sal_uInt16 nStyles = rStyles.GetTokenCount(TOX_STYLE_DELIMITER);
+ SwTOXBase & rTOXBase( m_xParent->m_pImpl->GetTOXSectionOrThrow() );
+
+ const String& rStyles =
+ rTOXBase.GetStyleNames(static_cast<sal_uInt16>(nIndex));
+ const sal_uInt16 nStyles = rStyles.GetTokenCount(TOX_STYLE_DELIMITER);
uno::Sequence<OUString> aStyles(nStyles);
OUString* pStyles = aStyles.getArray();
String aString;
@@ -2274,123 +2836,143 @@ uno::Any SwXIndexStyleAccess_Impl::getByIndex(sal_Int32 nIndex)
/*-- 13.09.99 16:52:30---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Type SwXIndexStyleAccess_Impl::getElementType(void)
- throw( uno::RuntimeException )
+uno::Type SAL_CALL
+SwXDocumentIndex::StyleAccess_Impl::getElementType()
+throw (uno::RuntimeException)
{
return ::getCppuType((uno::Sequence<OUString>*)0);
}
/*-- 13.09.99 16:52:30---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXIndexStyleAccess_Impl::hasElements(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXDocumentIndex::StyleAccess_Impl::hasElements() throw (uno::RuntimeException)
{
return sal_True;
}
-/* -----------------13.09.99 16:51-------------------
-
- --------------------------------------------------*/
-/* -----------------------------06.04.00 15:08--------------------------------
+/******************************************************************
+ * SwXDocumentIndex::TokenAccess_Impl
+ ******************************************************************/
+/*-- 13.09.99 16:52:28---------------------------------------------------
- ---------------------------------------------------------------------------*/
-OUString SwXIndexTokenAccess_Impl::getImplementationName(void) throw( uno::RuntimeException )
+ -----------------------------------------------------------------------*/
+SwXDocumentIndex::TokenAccess_Impl::TokenAccess_Impl(
+ SwXDocumentIndex& rParentIdx)
+ : m_xParent(&rParentIdx)
{
- return C2U("SwXIndexTokenAccess_Impl");
}
-/* -----------------------------06.04.00 15:08--------------------------------
+/*-- 13.09.99 16:52:29---------------------------------------------------
- ---------------------------------------------------------------------------*/
-BOOL SwXIndexTokenAccess_Impl::supportsService(const OUString& rServiceName) throw( uno::RuntimeException )
+ -----------------------------------------------------------------------*/
+SwXDocumentIndex::TokenAccess_Impl::~TokenAccess_Impl()
{
- return C2U("com.sun.star.text.DocumentIndexLevelFormat") == rServiceName;
}
+
/* -----------------------------06.04.00 15:08--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< OUString > SwXIndexTokenAccess_Impl::getSupportedServiceNames(void) throw( uno::RuntimeException )
+OUString SAL_CALL
+SwXDocumentIndex::TokenAccess_Impl::getImplementationName()
+throw (uno::RuntimeException)
{
- uno::Sequence< OUString > aRet(1);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.text.DocumentIndexLevelFormat");
- return aRet;
+ return C2U("SwXDocumentIndex::TokenAccess_Impl");
}
-/*-- 13.09.99 16:52:28---------------------------------------------------
- -----------------------------------------------------------------------*/
-SwXIndexTokenAccess_Impl::SwXIndexTokenAccess_Impl(SwXDocumentIndex& rParentIdx) :
- rParent(rParentIdx),
- xParent(&rParentIdx),
- nCount(SwForm::GetFormMaxLevel(rParent.GetTOXType()))
+static char const*const g_ServicesIndexTokenAccess[] =
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- rParent.SetTokenAccess(this);
+ "com.sun.star.text.DocumentIndexLevelFormat",
+};
+static const size_t g_nServicesIndexTokenAccess(
+ sizeof(g_ServicesIndexTokenAccess)/sizeof(g_ServicesIndexTokenAccess[0]));
+
+sal_Bool SAL_CALL
+SwXDocumentIndex::TokenAccess_Impl::supportsService(
+ const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ return ::sw::SupportsServiceImpl(
+ g_nServicesIndexTokenAccess, g_ServicesIndexTokenAccess, rServiceName);
}
-/*-- 13.09.99 16:52:29---------------------------------------------------
- -----------------------------------------------------------------------*/
-SwXIndexTokenAccess_Impl::~SwXIndexTokenAccess_Impl()
+uno::Sequence< OUString > SAL_CALL
+SwXDocumentIndex::TokenAccess_Impl::getSupportedServiceNames()
+throw (uno::RuntimeException)
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- rParent.SetTokenAccess(0);
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesIndexTokenAccess, g_ServicesIndexTokenAccess);
}
+
+struct TokenType {
+ const char *pName;
+ const enum FormTokenType eTokenType;
+};
+
+static const struct TokenType g_TokenTypes[] =
+{
+ { "TokenEntryNumber", TOKEN_ENTRY_NO },
+ { "TokenEntryText", TOKEN_ENTRY_TEXT },
+ { "TokenTabStop", TOKEN_TAB_STOP },
+ { "TokenText", TOKEN_TEXT },
+ { "TokenPageNumber", TOKEN_PAGE_NUMS },
+ { "TokenChapterInfo", TOKEN_CHAPTER_INFO },
+ { "TokenHyperlinkStart", TOKEN_LINK_START },
+ { "TokenHyperlinkEnd", TOKEN_LINK_END },
+ { "TokenBibliographyDataField", TOKEN_AUTHORITY },
+ { 0, static_cast<enum FormTokenType>(0) }
+};
+
/*-- 13.09.99 16:52:29---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXIndexTokenAccess_Impl::replaceByIndex(sal_Int32 nIndex, const uno::Any& rElement)
- throw( lang::IllegalArgumentException, lang::IndexOutOfBoundsException,
- lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXDocumentIndex::TokenAccess_Impl::replaceByIndex(
+ sal_Int32 nIndex, const uno::Any& rElement)
+throw (lang::IllegalArgumentException, lang::IndexOutOfBoundsException,
+ lang::WrappedTargetException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- const sal_Bool bDescriptor = rParent.IsDescriptor();
- SwSectionFmt* pSectFmt = rParent.GetFmt();
- if(!pSectFmt && !bDescriptor)
- throw uno::RuntimeException();
- SwTOXBase* pTOXBase = bDescriptor ? &rParent.GetProperties_Impl()->GetTOXBase() :
- (SwTOXBaseSection*)pSectFmt->GetSection();
- if(nIndex < 0 ||
- (nIndex > pTOXBase->GetTOXForm().GetFormMax()))
- throw lang::IndexOutOfBoundsException();
+ SwTOXBase & rTOXBase( m_xParent->m_pImpl->GetTOXSectionOrThrow() );
+
+ if ((nIndex < 0) || (nIndex > rTOXBase.GetTOXForm().GetFormMax()))
+ {
+ throw lang::IndexOutOfBoundsException();
+ }
uno::Sequence<beans::PropertyValues> aSeq;
if(!(rElement >>= aSeq))
+ {
throw lang::IllegalArgumentException();
+ }
String sPattern;
- sal_Int32 nTokens = aSeq.getLength();
+ const sal_Int32 nTokens = aSeq.getLength();
const beans::PropertyValues* pTokens = aSeq.getConstArray();
for(sal_Int32 i = 0; i < nTokens; i++)
{
const beans::PropertyValue* pProperties = pTokens[i].getConstArray();
- sal_Int32 nProperties = pTokens[i].getLength();
+ const sal_Int32 nProperties = pTokens[i].getLength();
//create an invalid token
SwFormToken aToken(TOKEN_END);
for(sal_Int32 j = 0; j < nProperties; j++)
{
- if( COMPARE_EQUAL == pProperties[j].Name.compareToAscii("TokenType"))
+ if (pProperties[j].Name.equalsAscii("TokenType"))
{
- const String sTokenType =
+ const OUString sTokenType =
lcl_AnyToString(pProperties[j].Value);
- if(sTokenType.EqualsAscii("TokenEntryNumber"))
- aToken.eTokenType = TOKEN_ENTRY_NO;
- else if(sTokenType.EqualsAscii("TokenEntryText" ))
- aToken.eTokenType = TOKEN_ENTRY_TEXT;
- else if(sTokenType.EqualsAscii("TokenTabStop" ))
- aToken.eTokenType = TOKEN_TAB_STOP;
- else if(sTokenType.EqualsAscii("TokenText" ))
- aToken.eTokenType = TOKEN_TEXT;
- else if(sTokenType.EqualsAscii("TokenPageNumber"))
- aToken.eTokenType = TOKEN_PAGE_NUMS;
- else if(sTokenType.EqualsAscii("TokenChapterInfo" ))
- aToken.eTokenType = TOKEN_CHAPTER_INFO;
- else if(sTokenType.EqualsAscii("TokenHyperlinkStart" ))
- aToken.eTokenType = TOKEN_LINK_START;
- else if(sTokenType.EqualsAscii("TokenHyperlinkEnd"))
- aToken.eTokenType = TOKEN_LINK_END;
- else if(sTokenType.EqualsAscii("TokenBibliographyDataField" ))
- aToken.eTokenType = TOKEN_AUTHORITY;
+ for (TokenType const* pTokenType = g_TokenTypes;
+ pTokenType->pName; ++pTokenType)
+ {
+ if (sTokenType.equalsAscii(pTokenType->pName))
+ {
+ aToken.eTokenType = pTokenType->eTokenType;
+ break;
+ }
+ }
}
- else if( pProperties[j].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("CharacterStyleName" ) ))
+ else if (pProperties[j].Name.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("CharacterStyleName")))
{
String sCharStyleName;
SwStyleNameMapper::FillUIName(
@@ -2400,54 +2982,68 @@ void SwXIndexTokenAccess_Impl::replaceByIndex(sal_Int32 nIndex, const uno::Any&
sal_True);
aToken.sCharStyleName = sCharStyleName;
aToken.nPoolId = SwStyleNameMapper::GetPoolIdFromUIName (
- sCharStyleName, nsSwGetPoolIdFromName::GET_POOLID_CHRFMT );
+ sCharStyleName, nsSwGetPoolIdFromName::GET_POOLID_CHRFMT );
}
- else if( pProperties[j].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("TabStopRightAligned") ))
+ else if (pProperties[j].Name.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("TabStopRightAligned")))
{
- sal_Bool bRight = lcl_AnyToBool(pProperties[j].Value);
+ const sal_Bool bRight = lcl_AnyToBool(pProperties[j].Value);
aToken.eTabAlign = bRight ?
SVX_TAB_ADJUST_END : SVX_TAB_ADJUST_LEFT;
}
- else if( pProperties[j].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("TabStopPosition" )))
+ else if (pProperties[j].Name.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("TabStopPosition")))
{
sal_Int32 nPosition = 0;
- if(pProperties[j].Value.getValueType() != ::getCppuType((sal_Int32*)0))
+ if (!(pProperties[j].Value >>= nPosition))
+ {
throw lang::IllegalArgumentException();
- pProperties[j].Value >>= nPosition;
+ }
nPosition = MM100_TO_TWIP(nPosition);
if(nPosition < 0)
+ {
throw lang::IllegalArgumentException();
+ }
aToken.nTabStopPosition = nPosition;
}
- else if( pProperties[j].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("TabStopFillCharacter" )))
+ else if (pProperties[j].Name.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("TabStopFillCharacter")))
{
- const String sFillChar =
+ const OUString sFillChar =
lcl_AnyToString(pProperties[j].Value);
- if(sFillChar.Len() > 1)
+ if (sFillChar.getLength() > 1)
+ {
throw lang::IllegalArgumentException();
- aToken.cTabFillChar = sFillChar.Len() ?
- sFillChar.GetChar(0) : ' ';
+ }
+ aToken.cTabFillChar =
+ (sFillChar.getLength()) ? sFillChar[0] : ' ';
}
- else if( pProperties[j].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("Text" )))
+ else if (pProperties[j].Name.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("Text")))
{
- const String sText =
- lcl_AnyToString(pProperties[j].Value);
+ const OUString sText = lcl_AnyToString(pProperties[j].Value);
aToken.sText = sText;
}
- else if( pProperties[j].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("ChapterFormat" )))
+ else if (pProperties[j].Name.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("ChapterFormat")))
{
sal_Int16 nFormat = lcl_AnyToInt16(pProperties[j].Value);
switch(nFormat)
{
- case text::ChapterFormat::NUMBER: nFormat = CF_NUMBER;
+ case text::ChapterFormat::NUMBER:
+ nFormat = CF_NUMBER;
break;
- case text::ChapterFormat::NAME: nFormat = CF_TITLE;
+ case text::ChapterFormat::NAME:
+ nFormat = CF_TITLE;
break;
- case text::ChapterFormat::NAME_NUMBER: nFormat = CF_NUM_TITLE;
+ case text::ChapterFormat::NAME_NUMBER:
+ nFormat = CF_NUM_TITLE;
break;
- case text::ChapterFormat::NO_PREFIX_SUFFIX:nFormat = CF_NUMBER_NOPREPST;
+ case text::ChapterFormat::NO_PREFIX_SUFFIX:
+ nFormat = CF_NUMBER_NOPREPST;
break;
- case text::ChapterFormat::DIGIT: nFormat = CF_NUM_NOPREPST_TITLE;
+ case text::ChapterFormat::DIGIT:
+ nFormat = CF_NUM_NOPREPST_TITLE;
break;
default:
throw lang::IllegalArgumentException();
@@ -2455,15 +3051,19 @@ void SwXIndexTokenAccess_Impl::replaceByIndex(sal_Int32 nIndex, const uno::Any&
aToken.nChapterFormat = nFormat;
}
//--->i53420
- else if( pProperties[j].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("ChapterLevel")) )
+ else if (pProperties[j].Name.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("ChapterLevel")))
{
const sal_Int16 nLevel = lcl_AnyToInt16(pProperties[j].Value);
if( nLevel < 1 || nLevel > MAXLEVEL )
+ {
throw lang::IllegalArgumentException();
+ }
aToken.nOutlineLevel = nLevel;
}
//<---
- else if( pProperties[j].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("BibliographyDataField")))
+ else if (pProperties[j].Name.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("BibliographyDataField")))
{
sal_Int16 nType = 0;
pProperties[j].Value >>= nType;
@@ -2477,7 +3077,8 @@ void SwXIndexTokenAccess_Impl::replaceByIndex(sal_Int32 nIndex, const uno::Any&
aToken.nAuthorityField = nType;
}
// #i21237#
- else if ( pProperties[j].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("WithTab")))
+ else if (pProperties[j].Name.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("WithTab")))
{
aToken.bWithTab = lcl_AnyToBool(pProperties[j].Value);
}
@@ -2485,17 +3086,22 @@ void SwXIndexTokenAccess_Impl::replaceByIndex(sal_Int32 nIndex, const uno::Any&
}
//exception if wrong TokenType
if(TOKEN_END <= aToken.eTokenType )
+ {
throw lang::IllegalArgumentException();
+ }
// set TokenType from TOKEN_ENTRY_TEXT to TOKEN_ENTRY if it is
// not a content index
if(TOKEN_ENTRY_TEXT == aToken.eTokenType &&
- TOX_CONTENT != pTOXBase->GetType())
+ (TOX_CONTENT != rTOXBase.GetType()))
+ {
aToken.eTokenType = TOKEN_ENTRY;
+ }
//---> i53420
// check for chapter format allowed values if it was TOKEN_ENTRY_NO type
// only allowed value are CF_NUMBER and CF_NUM_NOPREPST_TITLE
// reading from file
if( TOKEN_ENTRY_NO == aToken.eTokenType )
+ {
switch(aToken.nChapterFormat)
{
case CF_NUMBER:
@@ -2504,50 +3110,47 @@ void SwXIndexTokenAccess_Impl::replaceByIndex(sal_Int32 nIndex, const uno::Any&
default:
throw lang::IllegalArgumentException();
}
+ }
//<---
sPattern += aToken.GetString();
}
- SwForm aForm(pTOXBase->GetTOXForm());
- aForm.SetPattern((sal_uInt16) nIndex, sPattern);
- pTOXBase->SetTOXForm(aForm);
+ SwForm aForm(rTOXBase.GetTOXForm());
+ aForm.SetPattern(static_cast<sal_uInt16>(nIndex), sPattern);
+ rTOXBase.SetTOXForm(aForm);
}
+
/*-- 13.09.99 16:52:29---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Int32 SwXIndexTokenAccess_Impl::getCount(void) throw( uno::RuntimeException )
+sal_Int32 SAL_CALL
+SwXDocumentIndex::TokenAccess_Impl::getCount() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- const sal_Bool bDescriptor = rParent.IsDescriptor();
- SwSectionFmt* pSectFmt = rParent.GetFmt();
- if(!pSectFmt && !bDescriptor)
- throw uno::RuntimeException();
- sal_Int32 nRet = bDescriptor ?
- nCount :
- ((SwTOXBaseSection*)pSectFmt->GetSection())->
- GetTOXForm().GetFormMax();
+
+ const sal_Int32 nRet = m_xParent->m_pImpl->GetFormMax();
return nRet;
}
+
/*-- 13.09.99 16:52:30---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
- throw( lang::IndexOutOfBoundsException, lang::WrappedTargetException,
- uno::RuntimeException)
+uno::Any SAL_CALL
+SwXDocumentIndex::TokenAccess_Impl::getByIndex(sal_Int32 nIndex)
+throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- const sal_Bool bDescriptor = rParent.IsDescriptor();
- SwSectionFmt* pSectFmt = rParent.GetFmt();
- if(!pSectFmt && !bDescriptor)
- throw uno::RuntimeException();
- SwTOXBase* pTOXBase = bDescriptor ? &rParent.GetProperties_Impl()->GetTOXBase() :
- (SwTOXBaseSection*)pSectFmt->GetSection();
- if(nIndex < 0 ||
- (nIndex > pTOXBase->GetTOXForm().GetFormMax()))
+
+ SwTOXBase & rTOXBase( m_xParent->m_pImpl->GetTOXSectionOrThrow() );
+
+ if ((nIndex < 0) || (nIndex > rTOXBase.GetTOXForm().GetFormMax()))
+ {
throw lang::IndexOutOfBoundsException();
+ }
// #i21237#
- SwFormTokens aPattern = pTOXBase->GetTOXForm().
- GetPattern((sal_uInt16) nIndex);
+ SwFormTokens aPattern = rTOXBase.GetTOXForm().
+ GetPattern(static_cast<sal_uInt16>(nIndex));
SwFormTokens::iterator aIt = aPattern.begin();
sal_uInt16 nTokenCount = 0;
@@ -2560,7 +3163,8 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
beans::PropertyValues* pTokenProps = aRetSeq.getArray();
SwFormToken aToken = *aIt; // #i21237#
- uno::Sequence< beans::PropertyValue >& rCurTokenSeq = pTokenProps[nTokenCount-1];
+ uno::Sequence< beans::PropertyValue >& rCurTokenSeq =
+ pTokenProps[nTokenCount-1];
SwStyleNameMapper::FillProgName(
aToken.sCharStyleName,
aString,
@@ -2569,25 +3173,30 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
const OUString aProgCharStyle( aString );
switch(aToken.eTokenType)
{
- case TOKEN_ENTRY_NO :
+ case TOKEN_ENTRY_NO:
{
//--->i53420
// writing to file (from doc to properties)
sal_Int32 nElements = 2;
sal_Int32 nCurrentElement = 0;
- if( aToken.nChapterFormat != CF_NUMBER )//check for default value
+ // check for default value
+ if (aToken.nChapterFormat != CF_NUMBER)
+ {
nElements++;//we need the element
+ }
if( aToken.nOutlineLevel != MAXLEVEL )
+ {
nElements++;
+ }
rCurTokenSeq.realloc( nElements );
beans::PropertyValue* pArr = rCurTokenSeq.getArray();
pArr[nCurrentElement].Name = C2U("TokenType");
- pArr[nCurrentElement++].Value <<= OUString::createFromAscii("TokenEntryNumber");
-// pArr[0].Value <<= C2U("TokenEntryNumber");
+ pArr[nCurrentElement++].Value <<=
+ OUString::createFromAscii("TokenEntryNumber");
pArr[nCurrentElement].Name = C2U("CharacterStyleName");
pArr[nCurrentElement++].Value <<= aProgCharStyle;
@@ -2595,18 +3204,24 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
{
pArr[nCurrentElement].Name = C2U("ChapterFormat");
sal_Int16 nVal;
-//! the allowed values for chapter format, when used as entry number, are CF_NUMBER and CF_NUM_NOPREPST_TITLE only, all else forced to
+// the allowed values for chapter format, when used as entry number,
+// are CF_NUMBER and CF_NUM_NOPREPST_TITLE only, all else forced to
//CF_NUMBER
switch(aToken.nChapterFormat)
{
default:
- case CF_NUMBER: nVal = text::ChapterFormat::NUMBER; break;
- case CF_NUM_NOPREPST_TITLE: nVal = text::ChapterFormat::DIGIT; break;
+ case CF_NUMBER:
+ nVal = text::ChapterFormat::NUMBER;
+ break;
+ case CF_NUM_NOPREPST_TITLE:
+ nVal = text::ChapterFormat::DIGIT;
+ break;
}
- pArr[nCurrentElement++].Value <<= (sal_Int16)nVal;
+ pArr[nCurrentElement++].Value <<= nVal;
}
- if( aToken.nOutlineLevel != MAXLEVEL ) //only a ChapterLevel != MAXLEVEL is registered
+ // only a ChapterLevel != MAXLEVEL is registered
+ if (aToken.nOutlineLevel != MAXLEVEL)
{
pArr[nCurrentElement].Name = C2U("ChapterLevel");
pArr[nCurrentElement].Value <<= aToken.nOutlineLevel;
@@ -2614,8 +3229,8 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
//<---
}
break;
- case TOKEN_ENTRY : // no difference between Entry and Entry Text
- case TOKEN_ENTRY_TEXT :
+ case TOKEN_ENTRY: // no difference between Entry and Entry Text
+ case TOKEN_ENTRY_TEXT:
{
rCurTokenSeq.realloc( 2 );
beans::PropertyValue* pArr = rCurTokenSeq.getArray();
@@ -2627,7 +3242,7 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
pArr[1].Value <<= aProgCharStyle;
}
break;
- case TOKEN_TAB_STOP :
+ case TOKEN_TAB_STOP:
{
rCurTokenSeq.realloc(5); // #i21237#
beans::PropertyValue* pArr = rCurTokenSeq.getArray();
@@ -2635,7 +3250,6 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
pArr[0].Name = C2U("TokenType");
pArr[0].Value <<= OUString::createFromAscii("TokenTabStop");
-
if(SVX_TAB_ADJUST_END == aToken.eTabAlign)
{
pArr[1].Name = C2U("TabStopRightAligned");
@@ -2656,10 +3270,10 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
pArr[3].Value <<= aProgCharStyle;
// #i21237#
pArr[4].Name = C2U("WithTab");
- pArr[4].Value.setValue(&aToken.bWithTab, ::getCppuBooleanType());
+ pArr[4].Value <<= static_cast<sal_Bool>(aToken.bWithTab);
}
break;
- case TOKEN_TEXT :
+ case TOKEN_TEXT:
{
rCurTokenSeq.realloc( 3 );
beans::PropertyValue* pArr = rCurTokenSeq.getArray();
@@ -2674,7 +3288,7 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
pArr[2].Value <<= OUString(aToken.sText);
}
break;
- case TOKEN_PAGE_NUMS :
+ case TOKEN_PAGE_NUMS:
{
rCurTokenSeq.realloc( 2 );
beans::PropertyValue* pArr = rCurTokenSeq.getArray();
@@ -2686,7 +3300,7 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
pArr[1].Value <<= aProgCharStyle;
}
break;
- case TOKEN_CHAPTER_INFO :
+ case TOKEN_CHAPTER_INFO:
{
rCurTokenSeq.realloc( 4 );
beans::PropertyValue* pArr = rCurTokenSeq.getArray();
@@ -2701,13 +3315,23 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
sal_Int16 nVal = text::ChapterFormat::NUMBER;
switch(aToken.nChapterFormat)
{
- case CF_NUMBER: nVal = text::ChapterFormat::NUMBER; break;
- case CF_TITLE: nVal = text::ChapterFormat::NAME; break;
- case CF_NUM_TITLE: nVal = text::ChapterFormat::NAME_NUMBER; break;
- case CF_NUMBER_NOPREPST: nVal = text::ChapterFormat::NO_PREFIX_SUFFIX; break;
- case CF_NUM_NOPREPST_TITLE: nVal = text::ChapterFormat::DIGIT; break;
+ case CF_NUMBER:
+ nVal = text::ChapterFormat::NUMBER;
+ break;
+ case CF_TITLE:
+ nVal = text::ChapterFormat::NAME;
+ break;
+ case CF_NUM_TITLE:
+ nVal = text::ChapterFormat::NAME_NUMBER;
+ break;
+ case CF_NUMBER_NOPREPST:
+ nVal = text::ChapterFormat::NO_PREFIX_SUFFIX;
+ break;
+ case CF_NUM_NOPREPST_TITLE:
+ nVal = text::ChapterFormat::DIGIT;
+ break;
}
- pArr[2].Value <<= (sal_Int16)nVal;
+ pArr[2].Value <<= nVal;
//--->i53420
pArr[3].Name = C2U("ChapterLevel");
//
@@ -2715,33 +3339,36 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
//<---
}
break;
- case TOKEN_LINK_START :
+ case TOKEN_LINK_START:
{
rCurTokenSeq.realloc( 2 );
beans::PropertyValue* pArr = rCurTokenSeq.getArray();
pArr[0].Name = C2U("TokenType");
- pArr[0].Value <<= OUString::createFromAscii("TokenHyperlinkStart");
+ pArr[0].Value <<=
+ OUString::createFromAscii("TokenHyperlinkStart");
pArr[1].Name = C2U("CharacterStyleName");
pArr[1].Value <<= aProgCharStyle;
}
break;
- case TOKEN_LINK_END :
+ case TOKEN_LINK_END:
{
rCurTokenSeq.realloc( 1 );
beans::PropertyValue* pArr = rCurTokenSeq.getArray();
pArr[0].Name = C2U("TokenType");
- pArr[0].Value <<= OUString::createFromAscii("TokenHyperlinkEnd");
+ pArr[0].Value <<=
+ OUString::createFromAscii("TokenHyperlinkEnd");
}
break;
- case TOKEN_AUTHORITY :
+ case TOKEN_AUTHORITY:
{
rCurTokenSeq.realloc( 3 );
beans::PropertyValue* pArr = rCurTokenSeq.getArray();
pArr[0].Name = C2U("TokenType");
- pArr[0].Value <<= OUString::createFromAscii("TokenBibliographyDataField");
+ pArr[0].Value <<=
+ OUString::createFromAscii("TokenBibliographyDataField");
pArr[1].Name = C2U("CharacterStyleName");
pArr[1].Value <<= aProgCharStyle;
@@ -2758,22 +3385,26 @@ uno::Any SwXIndexTokenAccess_Impl::getByIndex(sal_Int32 nIndex)
aIt++; // #i21237#
}
- uno::Any aRet(&aRetSeq, ::getCppuType((uno::Sequence< beans::PropertyValues >*)0));
-
+ uno::Any aRet;
+ aRet <<= aRetSeq;
return aRet;
}
+
/*-- 13.09.99 16:52:30---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Type SwXIndexTokenAccess_Impl::getElementType(void)
- throw( uno::RuntimeException )
+uno::Type SAL_CALL
+SwXDocumentIndex::TokenAccess_Impl::getElementType()
+throw (uno::RuntimeException)
{
return ::getCppuType((uno::Sequence< beans::PropertyValues >*)0);
}
/*-- 13.09.99 16:52:30---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXIndexTokenAccess_Impl::hasElements(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXDocumentIndex::TokenAccess_Impl::hasElements()
+throw (uno::RuntimeException)
{
return sal_True;
}
diff --git a/sw/source/core/unocore/unomap.cxx b/sw/source/core/unocore/unomap.cxx
index 4d535f1262..79dbc1e5de 100644
--- a/sw/source/core/unocore/unomap.cxx
+++ b/sw/source/core/unocore/unomap.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unomap.cxx,v $
- * $Revision: 1.213.54.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -32,15 +29,9 @@
#include "precompiled_sw.hxx"
#include <hintids.hxx>
-#ifndef _SVX_SVXIDS_HRC
#include <svx/svxids.hrc>
-#endif
-#ifndef _COMPHELPER_TYPEGENERATION_HXX
#include <comphelper/TypeGeneration.hxx>
-#endif
-#ifndef _COM_SUN_STAR_BEANS_PropertyAttribute_HPP_
#include <com/sun/star/beans/PropertyAttribute.hpp>
-#endif
#include <com/sun/star/text/PageNumberType.hpp>
#include <com/sun/star/script/XLibraryContainer.hpp>
// --> OD 2004-08-06 #i28749#
@@ -50,12 +41,9 @@
#include <unomap.hxx>
#include <unoprnms.hxx>
#include <unomid.h>
-#ifndef _CMDID_H
#include <cmdid.h>
-#endif
-#ifndef _UNOFLDMID_H
#include <unofldmid.h>
-#endif
+#include <editeng/memberids.hrc>
using namespace ::com::sun::star;
using namespace ::com::sun::star::lang;
@@ -2250,6 +2238,8 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
{SW_PROP_NMID(UNO_NAME_NAME), FIELD_PROP_PAR4, CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE, 0},
{SW_PROP_NMID(UNO_NAME_CURRENT_PRESENTATION), FIELD_PROP_PAR3, CPPU_E2T(CPPUTYPE_OUSTRING), PROPERTY_NONE, 0},
{SW_PROP_NMID(UNO_NAME_IS_FIXED), FIELD_PROP_BOOL1, CPPU_E2T(CPPUTYPE_BOOLEAN) , PROPERTY_NONE,0},
+ {SW_PROP_NMID(UNO_NAME_NUMBER_FORMAT), FIELD_PROP_FORMAT, CPPU_E2T(CPPUTYPE_INT32), PROPERTY_NONE, 0},
+ {SW_PROP_NMID(UNO_NAME_IS_FIXED_LANGUAGE), FIELD_PROP_BOOL4, CPPU_E2T(CPPUTYPE_BOOLEAN), PROPERTY_NONE, 0},
COMMON_FLDTYP_PROPERTIES
{0,0,0,0,0,0}
};
diff --git a/sw/source/core/unocore/unoobj.cxx b/sw/source/core/unocore/unoobj.cxx
index 5486a8a97f..358fe44ed9 100644
--- a/sw/source/core/unocore/unoobj.cxx
+++ b/sw/source/core/unocore/unoobj.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoobj.cxx,v $
- * $Revision: 1.111.80.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,9 +28,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+#include <com/sun/star/table/TableSortField.hpp>
#include <osl/endian.h>
#include <rtl/ustrbuf.hxx>
+#include <unotools/collatorwrapper.hxx>
#include <swtypes.hxx>
#include <hintids.hxx>
#include <cmdid.h>
@@ -44,6 +43,7 @@
#include <istyleaccess.hxx>
#include <ndtxt.hxx>
#include <ndnotxt.hxx>
+#include <unocrsr.hxx>
#include <unocrsrhelper.hxx>
#include <swundo.hxx>
#include <rootfrm.hxx>
@@ -81,8 +81,8 @@
#include <sfx2/fcontnr.hxx>
#include <fmtrfmrk.hxx>
#include <txtrfmrk.hxx>
-#include <unoclbck.hxx>
-#include <unoobj.hxx>
+#include <unotextrange.hxx>
+#include <unotextcursor.hxx>
#include <unomap.hxx>
#include <unosett.hxx>
#include <unoprnms.hxx>
@@ -93,7 +93,7 @@
#include <unofield.hxx>
#include <unometa.hxx>
#include <fmtanchr.hxx>
-#include <svx/flstitem.hxx>
+#include <editeng/flstitem.hxx>
#include <svtools/ctrltool.hxx>
#include <flypos.hxx>
#include <txtftn.hxx>
@@ -112,28 +112,25 @@
#include <fmtflcnt.hxx>
#define _SVSTDARR_USHORTS
#define _SVSTDARR_USHORTSSORT
-#include <svtools/svstdarr.hxx>
-#include <svx/brshitem.hxx>
+#include <svl/svstdarr.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/unolingu.hxx>
#include <fmtclds.hxx>
#include <dcontact.hxx>
#include <SwStyleNameMapper.hxx>
#include <crsskip.hxx>
+#include <sortopt.hxx>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <memory>
+#include <unoparaframeenum.hxx>
+#include <unoparagraph.hxx>
using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::text;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::drawing;
-using std::auto_ptr;
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
+
/****************************************************************************
static methods
****************************************************************************/
@@ -184,73 +181,34 @@ SwUnoInternalPaM& SwUnoInternalPaM::operator=(const SwPaM& rPaM)
}
return *this;
}
-/****************************************************************************
- ActionContext
-****************************************************************************/
-UnoActionContext::UnoActionContext(SwDoc* pDc) :
- pDoc(pDc)
-{
- SwRootFrm* pRootFrm = pDoc->GetRootFrm();
- if(pRootFrm)
- pRootFrm->StartAllAction();
-}
-/*-----------------04.03.98 11:56-------------------
-
---------------------------------------------------*/
-UnoActionContext::~UnoActionContext()
-{
- //das Doc kann hier schon entfernt worden sein
- if(pDoc)
- {
- SwRootFrm* pRootFrm = pDoc->GetRootFrm();
- if(pRootFrm)
- pRootFrm->EndAllAction();
- }
-}
-
-/****************************************************************************
- ActionRemoveContext
-****************************************************************************/
-UnoActionRemoveContext::UnoActionRemoveContext(SwDoc* pDc) :
- pDoc(pDc)
-{
- SwRootFrm* pRootFrm = pDoc->GetRootFrm();
- if(pRootFrm)
- pRootFrm->UnoRemoveAllActions();
-}
-/* -----------------07.07.98 12:05-------------------
- *
- * --------------------------------------------------*/
-UnoActionRemoveContext::~UnoActionRemoveContext()
-{
- SwRootFrm* pRootFrm = pDoc->GetRootFrm();
- if(pRootFrm)
- pRootFrm->UnoRestoreAllActions();
-
-}
/*-----------------09.03.98 08:29-------------------
--------------------------------------------------*/
-void SwXTextCursor::SelectPam(SwPaM& rCrsr, sal_Bool bExpand)
+void SwUnoCursorHelper::SelectPam(SwPaM & rPam, const bool bExpand)
{
- if(bExpand)
+ if (bExpand)
{
- if(!rCrsr.HasMark())
- rCrsr.SetMark();
+ if (!rPam.HasMark())
+ {
+ rPam.SetMark();
+ }
+ }
+ else if (rPam.HasMark())
+ {
+ rPam.DeleteMark();
}
- else if(rCrsr.HasMark())
- rCrsr.DeleteMark();
-
}
/* -----------------20.05.98 14:59-------------------
*
* --------------------------------------------------*/
-void SwXTextCursor::getTextFromPam(SwPaM& aCrsr, OUString& rBuffer)
+void SwUnoCursorHelper::GetTextFromPam(SwPaM & rPam, OUString & rBuffer)
{
- if(!aCrsr.HasMark())
+ if (!rPam.HasMark())
+ {
return;
+ }
SvCacheStream aStream( 20480 );
#ifdef OSL_BIGENDIAN
aStream.SetNumberFormatInt( NUMBERFORMAT_INT_BIGENDIAN );
@@ -262,7 +220,7 @@ void SwXTextCursor::getTextFromPam(SwPaM& aCrsr, OUString& rBuffer)
SwReaderWriter::GetWriter( C2S(FILTER_TEXT_DLG), String(), xWrt );
if( xWrt.Is() )
{
- SwWriter aWriter( aStream, aCrsr );
+ SwWriter aWriter( aStream, rPam );
xWrt->bASCII_NoLastLineEnd = sal_True;
xWrt->bExportPargraphNumbering = sal_False;
SwAsciiOptions aOpt = xWrt->GetAsciiOptions();
@@ -290,10 +248,15 @@ void SwXTextCursor::getTextFromPam(SwPaM& aCrsr, OUString& rBuffer)
String sBuf;
sal_Int32 nLocalLen = 0;
if( lUniLen >= STRING_MAXLEN )
+ {
nLocalLen = STRING_MAXLEN - 1;
+ }
else
+ {
nLocalLen = lUniLen;
- sal_Unicode* pStrBuf = sBuf.AllocBuffer( xub_StrLen( nLocalLen + 1));
+ }
+ sal_Unicode *const pStrBuf =
+ sBuf.AllocBuffer( xub_StrLen( nLocalLen + 1));
aStream.Read( pStrBuf, 2 * nLocalLen );
pStrBuf[ nLocalLen ] = '\0';
aStrBuffer.append( pStrBuf, nLocalLen );
@@ -308,46 +271,52 @@ void SwXTextCursor::getTextFromPam(SwPaM& aCrsr, OUString& rBuffer)
/* -----------------06.07.98 07:33-------------------
*
* --------------------------------------------------*/
-void lcl_setCharStyle(SwDoc* pDoc, const uno::Any aValue, SfxItemSet& rSet)
- throw (lang::IllegalArgumentException)
+static void
+lcl_setCharStyle(SwDoc *const pDoc, const uno::Any & rValue, SfxItemSet & rSet)
+throw (lang::IllegalArgumentException)
{
- SwDocShell* pDocSh = pDoc->GetDocShell();
+ SwDocShell *const pDocSh = pDoc->GetDocShell();
if(pDocSh)
{
OUString uStyle;
- aValue >>= uStyle;
- String sStyle;
- SwStyleNameMapper::FillUIName(uStyle, sStyle, nsSwGetPoolIdFromName::GET_POOLID_CHRFMT, sal_True );
- SwDocStyleSheet* pStyle =
- (SwDocStyleSheet*)pDocSh->GetStyleSheetPool()->Find(sStyle, SFX_STYLE_FAMILY_CHAR);
- if(pStyle)
+ if (!(rValue >>= uStyle))
{
- SwFmtCharFmt aFmt(pStyle->GetCharFmt());
- rSet.Put(aFmt);
+ throw lang::IllegalArgumentException();
}
- else
+ String sStyle;
+ SwStyleNameMapper::FillUIName(uStyle, sStyle,
+ nsSwGetPoolIdFromName::GET_POOLID_CHRFMT, sal_True);
+ SwDocStyleSheet *const pStyle = static_cast<SwDocStyleSheet*>(
+ pDocSh->GetStyleSheetPool()->Find(sStyle, SFX_STYLE_FAMILY_CHAR));
+ if (!pStyle)
{
- throw lang::IllegalArgumentException();
+ throw lang::IllegalArgumentException();
}
-
+ const SwFmtCharFmt aFmt(pStyle->GetCharFmt());
+ rSet.Put(aFmt);
}
};
/* -----------------08.06.06 10:43-------------------
*
* --------------------------------------------------*/
-void lcl_setAutoStyle(IStyleAccess& rStyleAccess, const uno::Any aValue, SfxItemSet& rSet, bool bPara )
- throw (lang::IllegalArgumentException)
+static void
+lcl_setAutoStyle(IStyleAccess & rStyleAccess, const uno::Any & rValue,
+ SfxItemSet & rSet, const bool bPara)
+throw (lang::IllegalArgumentException)
{
OUString uStyle;
- aValue >>= uStyle;
- String sStyle;
+ if (!(rValue >>= uStyle))
+ {
+ throw lang::IllegalArgumentException();
+ }
StylePool::SfxItemSet_Pointer_t pStyle = bPara ?
rStyleAccess.getByName(uStyle, IStyleAccess::AUTO_STYLE_PARA ):
rStyleAccess.getByName(uStyle, IStyleAccess::AUTO_STYLE_CHAR );
if(pStyle.get())
{
- SwFmtAutoFmt aFmt( bPara ? sal::static_int_cast< USHORT >(RES_AUTO_STYLE)
- : sal::static_int_cast< USHORT >(RES_TXTATR_AUTOFMT) );
+ SwFmtAutoFmt aFmt( (bPara)
+ ? sal::static_int_cast< USHORT >(RES_AUTO_STYLE)
+ : sal::static_int_cast< USHORT >(RES_TXTATR_AUTOFMT) );
aFmt.SetStyleHandle( pStyle );
rSet.Put(aFmt);
}
@@ -359,71 +328,77 @@ void lcl_setAutoStyle(IStyleAccess& rStyleAccess, const uno::Any aValue, SfxItem
/* -----------------30.06.98 08:46-------------------
*
* --------------------------------------------------*/
-void lcl_SetTxtFmtColl(const uno::Any& rAny, SwPaM& rPaM)
- throw (lang::IllegalArgumentException)
+void
+SwUnoCursorHelper::SetTxtFmtColl(const uno::Any & rAny, SwPaM & rPaM)
+throw (lang::IllegalArgumentException)
{
- SwDoc* pDoc = rPaM.GetDoc();
- SwDocShell* pDocSh = pDoc->GetDocShell();
+ SwDoc *const pDoc = rPaM.GetDoc();
+ SwDocShell *const pDocSh = pDoc->GetDocShell();
if(!pDocSh)
return;
OUString uStyle;
rAny >>= uStyle;
String sStyle;
- SwStyleNameMapper::FillUIName(uStyle, sStyle, nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL, sal_True );
- SwDocStyleSheet* pStyle =
- (SwDocStyleSheet*)pDocSh->GetStyleSheetPool()->Find(sStyle, SFX_STYLE_FAMILY_PARA);
- if(pStyle)
- {
- SwTxtFmtColl *pLocal = pStyle->GetCollection();
- UnoActionContext aAction(pDoc);
- pDoc->StartUndo( UNDO_START, NULL );
- SwPaM *pTmpCrsr = &rPaM;
- do {
- pDoc->SetTxtFmtColl(*pTmpCrsr, pLocal);
- pTmpCrsr = static_cast<SwPaM*>(pTmpCrsr->GetNext());
- } while ( pTmpCrsr != &rPaM );
- pDoc->EndUndo( UNDO_END, NULL );
- }
- else
+ SwStyleNameMapper::FillUIName(uStyle, sStyle,
+ nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL, sal_True );
+ SwDocStyleSheet *const pStyle = static_cast<SwDocStyleSheet*>(
+ pDocSh->GetStyleSheetPool()->Find(sStyle, SFX_STYLE_FAMILY_PARA));
+ if (!pStyle)
{
throw lang::IllegalArgumentException();
}
+ SwTxtFmtColl *const pLocal = pStyle->GetCollection();
+ UnoActionContext aAction(pDoc);
+ pDoc->StartUndo( UNDO_START, NULL );
+ SwPaM *pTmpCrsr = &rPaM;
+ do {
+ pDoc->SetTxtFmtColl(*pTmpCrsr, pLocal);
+ pTmpCrsr = static_cast<SwPaM*>(pTmpCrsr->GetNext());
+ } while ( pTmpCrsr != &rPaM );
+ pDoc->EndUndo( UNDO_END, NULL );
}
+
/* -----------------06.07.98 07:38-------------------
*
* --------------------------------------------------*/
- void lcl_setPageDesc(SwDoc* pDoc, const uno::Any& aValue, SfxItemSet& rSet)
- {
- if(aValue.getValueType() != ::getCppuType((const OUString*)0))
- return;
- SwFmtPageDesc *pNewDesc = 0 ;
+bool
+SwUnoCursorHelper::SetPageDesc(
+ const uno::Any& rValue, SwDoc & rDoc, SfxItemSet & rSet)
+{
+ OUString uDescName;
+ if (!(rValue >>= uDescName))
+ {
+ return false;
+ }
+ ::std::auto_ptr<SwFmtPageDesc> pNewDesc;
const SfxPoolItem* pItem;
if(SFX_ITEM_SET == rSet.GetItemState( RES_PAGEDESC, sal_True, &pItem ) )
{
- pNewDesc = new SwFmtPageDesc(*((SwFmtPageDesc*)pItem));
+ pNewDesc.reset(new SwFmtPageDesc(
+ *static_cast<const SwFmtPageDesc*>(pItem)));
+ }
+ if (!pNewDesc.get())
+ {
+ pNewDesc.reset(new SwFmtPageDesc());
}
- if(!pNewDesc)
- pNewDesc = new SwFmtPageDesc();
- OUString uDescName;
- aValue >>= uDescName;
String sDescName;
- SwStyleNameMapper::FillUIName(uDescName, sDescName, nsSwGetPoolIdFromName::GET_POOLID_PAGEDESC, sal_True );
- if(!pNewDesc->GetPageDesc() || pNewDesc->GetPageDesc()->GetName() != sDescName)
+ SwStyleNameMapper::FillUIName(uDescName, sDescName,
+ nsSwGetPoolIdFromName::GET_POOLID_PAGEDESC, sal_True);
+ if (!pNewDesc->GetPageDesc() ||
+ (pNewDesc->GetPageDesc()->GetName() != sDescName))
{
sal_Bool bPut = sal_False;
if(sDescName.Len())
{
- SwPageDesc* pPageDesc = ::GetPageDescByName_Impl(*pDoc, sDescName);
- if(pPageDesc)
- {
- pPageDesc->Add( pNewDesc );
- bPut = sal_True;
- }
- else
+ SwPageDesc *const pPageDesc =
+ ::GetPageDescByName_Impl(rDoc, sDescName);
+ if (!pPageDesc)
{
throw lang::IllegalArgumentException();
}
+ pPageDesc->Add( pNewDesc.get() );
+ bPut = sal_True;
}
if(!bPut)
{
@@ -431,17 +406,21 @@ void lcl_SetTxtFmtColl(const uno::Any& rAny, SwPaM& rPaM)
rSet.Put(SwFmtPageDesc());
}
else
+ {
rSet.Put(*pNewDesc);
+ }
}
- delete pNewDesc;
+ return true;
}
+
/* -----------------30.06.98 10:29-------------------
*
* --------------------------------------------------*/
-void lcl_SetNodeNumStart( SwPaM& rCrsr, uno::Any aValue )
+static void
+lcl_SetNodeNumStart(SwPaM & rCrsr, uno::Any const& rValue)
{
sal_Int16 nTmp = 1;
- aValue >>= nTmp;
+ rValue >>= nTmp;
sal_uInt16 nStt = (nTmp < 0 ? USHRT_MAX : (sal_uInt16)nTmp);
SwDoc* pDoc = rCrsr.GetDoc();
UnoActionContext aAction(pDoc);
@@ -466,215 +445,264 @@ void lcl_SetNodeNumStart( SwPaM& rCrsr, uno::Any aValue )
}
}
+static bool
+lcl_setCharFmtSequence(SwPaM & rPam, uno::Any const& rValue)
+{
+ uno::Sequence<OUString> aCharStyles;
+ if (!(rValue >>= aCharStyles))
+ {
+ return false;
+ }
+
+ for (sal_Int32 nStyle = 0; nStyle < aCharStyles.getLength(); nStyle++)
+ {
+ uno::Any aStyle;
+ rPam.GetDoc()->StartUndo(UNDO_START, NULL);
+ aStyle <<= aCharStyles.getConstArray()[nStyle];
+ // create a local set and apply each format directly
+ SfxItemSet aSet(rPam.GetDoc()->GetAttrPool(),
+ RES_TXTATR_CHARFMT, RES_TXTATR_CHARFMT);
+ lcl_setCharStyle(rPam.GetDoc(), aStyle, aSet);
+ // the first style should replace the current attributes,
+ // all other have to be added
+ SwUnoCursorHelper::SetCrsrAttr(rPam, aSet, (nStyle)
+ ? nsSetAttrMode::SETATTR_DONTREPLACE
+ : nsSetAttrMode::SETATTR_DEFAULT);
+ rPam.GetDoc()->EndUndo(UNDO_START, NULL);
+ }
+ return true;
+}
+
+static void
+lcl_setDropcapCharStyle(SwPaM & rPam, SfxItemSet & rItemSet,
+ uno::Any const& rValue)
+{
+ OUString uStyle;
+ if (!(rValue >>= uStyle))
+ {
+ throw lang::IllegalArgumentException();
+ }
+ String sStyle;
+ SwStyleNameMapper::FillUIName(uStyle, sStyle,
+ nsSwGetPoolIdFromName::GET_POOLID_CHRFMT, sal_True);
+ SwDoc *const pDoc = rPam.GetDoc();
+ //default character style must not be set as default format
+ SwDocStyleSheet *const pStyle = static_cast<SwDocStyleSheet*>(
+ pDoc->GetDocShell()
+ ->GetStyleSheetPool()->Find(sStyle, SFX_STYLE_FAMILY_CHAR));
+ if (!pStyle ||
+ (static_cast<SwDocStyleSheet*>(pStyle)->GetCharFmt() ==
+ pDoc->GetDfltCharFmt()))
+ {
+ throw lang::IllegalArgumentException();
+ }
+ ::std::auto_ptr<SwFmtDrop> pDrop;
+ SfxPoolItem const* pItem(0);
+ if (SFX_ITEM_SET ==
+ rItemSet.GetItemState(RES_PARATR_DROP, sal_True, &pItem))
+ {
+ pDrop.reset(new SwFmtDrop(*static_cast<const SwFmtDrop*>(pItem)));
+ }
+ if (!pDrop.get())
+ {
+ pDrop.reset(new SwFmtDrop);
+ }
+ const rtl::Reference<SwDocStyleSheet> xStyle(new SwDocStyleSheet(*pStyle));
+ pDrop->SetCharFmt(xStyle->GetCharFmt());
+ rItemSet.Put(*pDrop);
+}
+
+static void
+lcl_setRubyCharstyle(SfxItemSet & rItemSet, uno::Any const& rValue)
+{
+ OUString sTmp;
+ if (!(rValue >>= sTmp))
+ {
+ throw lang::IllegalArgumentException();
+ }
+
+ ::std::auto_ptr<SwFmtRuby> pRuby;
+ const SfxPoolItem* pItem;
+ if (SFX_ITEM_SET ==
+ rItemSet.GetItemState(RES_TXTATR_CJK_RUBY, sal_True, &pItem))
+ {
+ pRuby.reset(new SwFmtRuby(*static_cast<const SwFmtRuby*>(pItem)));
+ }
+ if (!pRuby.get())
+ {
+ pRuby.reset(new SwFmtRuby(aEmptyStr));
+ }
+ String sStyle;
+ SwStyleNameMapper::FillUIName(sTmp, sStyle,
+ nsSwGetPoolIdFromName::GET_POOLID_CHRFMT, sal_True );
+ pRuby->SetCharFmtName(sStyle);
+ pRuby->SetCharFmtId(0);
+ if (sStyle.Len() > 0)
+ {
+ const sal_uInt16 nId = SwStyleNameMapper::GetPoolIdFromUIName(
+ sStyle, nsSwGetPoolIdFromName::GET_POOLID_CHRFMT);
+ pRuby->SetCharFmtId(nId);
+ }
+ rItemSet.Put(*pRuby);
+}
+
/* -----------------17.09.98 09:44-------------------
*
* --------------------------------------------------*/
-sal_Bool lcl_setCrsrPropertyValue(const SfxItemPropertySimpleEntry* pEntry,
- SwPaM& rPam,
- SfxItemSet& rItemSet,
- const uno::Any& aValue ) throw (lang::IllegalArgumentException)
-{
- sal_Bool bRet = sal_True;
- if(0 == ( pEntry->nFlags&PropertyAttribute::MAYBEVOID ) &&
- aValue.getValueType() == ::getCppuVoidType())
- bRet = sal_False;
- else
- {
- switch(pEntry->nWID)
+bool
+SwUnoCursorHelper::SetCursorPropertyValue(
+ SfxItemPropertySimpleEntry const& rEntry, const uno::Any& rValue,
+ SwPaM & rPam, SfxItemSet & rItemSet)
+throw (lang::IllegalArgumentException)
+{
+ if (!(rEntry.nFlags & beans::PropertyAttribute::MAYBEVOID) &&
+ (rValue.getValueType() == ::getCppuVoidType()))
+ {
+ return false;
+ }
+ bool bRet = true;
+ switch (rEntry.nWID)
+ {
+ case RES_TXTATR_CHARFMT:
+ lcl_setCharStyle(rPam.GetDoc(), rValue, rItemSet);
+ break;
+ case RES_TXTATR_AUTOFMT:
+ lcl_setAutoStyle(rPam.GetDoc()->GetIStyleAccess(),
+ rValue, rItemSet, false);
+ break;
+ case FN_UNO_CHARFMT_SEQUENCE:
+ lcl_setCharFmtSequence(rPam, rValue);
+ break;
+ case FN_UNO_PARA_STYLE :
+ SwUnoCursorHelper::SetTxtFmtColl(rValue, rPam);
+ break;
+ case RES_AUTO_STYLE:
+ lcl_setAutoStyle(rPam.GetDoc()->GetIStyleAccess(),
+ rValue, rItemSet, true);
+ break;
+ case FN_UNO_PAGE_STYLE:
+ //FIXME nothing here?
+ break;
+ case FN_UNO_NUM_START_VALUE:
+ lcl_SetNodeNumStart( rPam, rValue );
+ break;
+ case FN_UNO_NUM_LEVEL:
+ // --> OD 2008-07-14 #i91601#
+ case FN_UNO_LIST_ID:
+ // <--
+ case FN_UNO_IS_NUMBER:
{
- case RES_TXTATR_CHARFMT:
- lcl_setCharStyle(rPam.GetDoc(), aValue, rItemSet );
- break;
- case RES_TXTATR_AUTOFMT:
- lcl_setAutoStyle(rPam.GetDoc()->GetIStyleAccess(), aValue, rItemSet, false );
- break;
- case FN_UNO_CHARFMT_SEQUENCE:
+ // multi selection is not considered
+ SwTxtNode *const pTxtNd = rPam.GetNode()->GetTxtNode();
+ // --> OD 2008-05-14 #refactorlists# - check on list style not needed
+// const SwNumRule* pRule = pTxtNd->GetNumRule();
+// if( FN_UNO_NUM_LEVEL == rEntry.nWID && pRule != NULL )
+ if (FN_UNO_NUM_LEVEL == rEntry.nWID)
+ // <--
{
- Sequence<OUString> aCharStyles;
- if(aValue >>= aCharStyles)
+ sal_Int16 nLevel = 0;
+ if (rValue >>= nLevel)
{
- for(sal_Int32 nStyle = 0; nStyle < aCharStyles.getLength(); nStyle++)
- {
- Any aStyle;
- rPam.GetDoc()->StartUndo( UNDO_START, NULL);
- aStyle <<= aCharStyles.getConstArray()[nStyle];
- //create a local set and apply each format directly
- SfxItemSet aSet(rPam.GetDoc()->GetAttrPool(), RES_TXTATR_CHARFMT, RES_TXTATR_CHARFMT );
- lcl_setCharStyle(rPam.GetDoc(), aStyle, aSet );
- //the first style should replace the current attributes, all other have to be added
- SwXTextCursor::SetCrsrAttr(rPam, aSet, nStyle ? CRSR_ATTR_MODE_DONTREPLACE : 0);
- rPam.GetDoc()->EndUndo( UNDO_START, NULL );
- }
+ pTxtNd->SetAttrListLevel(nLevel);
}
- else
- bRet = sal_False;
}
- break;
- case FN_UNO_PARA_STYLE :
- lcl_SetTxtFmtColl(aValue, rPam);
- break;
- case RES_AUTO_STYLE:
- lcl_setAutoStyle(rPam.GetDoc()->GetIStyleAccess(), aValue, rItemSet, true );
- break;
- case FN_UNO_PAGE_STYLE :
- break;
- case FN_UNO_NUM_START_VALUE :
- lcl_SetNodeNumStart( rPam, aValue );
- break;
- case FN_UNO_NUM_LEVEL :
// --> OD 2008-07-14 #i91601#
- case FN_UNO_LIST_ID:
- // <--
- case FN_UNO_IS_NUMBER :
+ else if (FN_UNO_LIST_ID == rEntry.nWID)
{
- // multi selection is not considered
- SwTxtNode* pTxtNd = rPam.GetNode()->GetTxtNode();
- // --> OD 2008-05-14 #refactorlists# - check on list style not needed
-// const SwNumRule* pRule = pTxtNd->GetNumRule();
-// if( FN_UNO_NUM_LEVEL == pEntry->nWID && pRule != NULL )
- if ( FN_UNO_NUM_LEVEL == pEntry->nWID )
- // <--
+ ::rtl::OUString sListId;
+ if (rValue >>= sListId)
{
- sal_Int16 nLevel = 0;
- aValue >>= nLevel;
-
- pTxtNd->SetAttrListLevel(nLevel);
-
- }
- // --> OD 2008-07-14 #i91601#
- else if( FN_UNO_LIST_ID == pEntry->nWID )
- {
- ::rtl::OUString sListId;
- aValue >>= sListId;
pTxtNd->SetListId( sListId );
}
- // <--
- else if( FN_UNO_IS_NUMBER == pEntry->nWID )
+ }
+ // <--
+ else if (FN_UNO_IS_NUMBER == rEntry.nWID)
+ {
+ sal_Bool bIsNumber(sal_False);
+ if (rValue >>= bIsNumber)
{
- BOOL bIsNumber = *(sal_Bool*) aValue.getValue();
- if(!bIsNumber)
+ if (!bIsNumber)
+ {
pTxtNd->SetCountedInList( false );
+ }
}
- //PROPERTY_MAYBEVOID!
}
- break;
- case FN_NUMBER_NEWSTART :
+ //PROPERTY_MAYBEVOID!
+ }
+ break;
+ case FN_NUMBER_NEWSTART:
+ {
+ sal_Bool bVal = sal_False;
+ if (!(rValue >>= bVal))
{
- sal_Bool bVal = sal_False;
- if (aValue >>= bVal)
- rPam.GetDoc()->SetNumRuleStart(*rPam.GetPoint(), bVal);
- else
- throw lang::IllegalArgumentException();
+ throw lang::IllegalArgumentException();
}
- break;
- case FN_UNO_NUM_RULES:
- SwUnoCursorHelper::setNumberingProperty(aValue, rPam);
- break;
- case RES_PARATR_DROP:
+ rPam.GetDoc()->SetNumRuleStart(*rPam.GetPoint(), bVal);
+ }
+ break;
+ case FN_UNO_NUM_RULES:
+ SwUnoCursorHelper::setNumberingProperty(rValue, rPam);
+ break;
+ case RES_PARATR_DROP:
+ {
+ if (MID_DROPCAP_CHAR_STYLE_NAME == rEntry.nMemberId)
{
- if( MID_DROPCAP_CHAR_STYLE_NAME == pEntry->nMemberId)
- {
- OUString uStyle;
- if(aValue >>= uStyle)
- {
- String sStyle;
- SwStyleNameMapper::FillUIName(uStyle, sStyle, nsSwGetPoolIdFromName::GET_POOLID_CHRFMT, sal_True );
- SwDoc* pDoc = rPam.GetDoc();
- //default character style mustn't be set as default format
- SwDocStyleSheet* pStyle =
- (SwDocStyleSheet*)pDoc->GetDocShell()->GetStyleSheetPool()->Find(sStyle, SFX_STYLE_FAMILY_CHAR);
- SwFmtDrop* pDrop = 0;
- if(pStyle &&
- ((SwDocStyleSheet*)pStyle)->GetCharFmt() != pDoc->GetDfltCharFmt())
- {
- const SfxPoolItem* pItem;
- if(SFX_ITEM_SET == rItemSet.GetItemState( RES_PARATR_DROP, sal_True, &pItem ) )
- pDrop = new SwFmtDrop(*((SwFmtDrop*)pItem));
- if(!pDrop)
- pDrop = new SwFmtDrop();
- rtl::Reference< SwDocStyleSheet > xStyle( new SwDocStyleSheet( *(SwDocStyleSheet*)pStyle ) );
- pDrop->SetCharFmt(xStyle->GetCharFmt());
- }
- else
- throw lang::IllegalArgumentException();
- rItemSet.Put(*pDrop);
- delete pDrop;
- }
- else
- throw lang::IllegalArgumentException();
- }
- else
- bRet = sal_False;
+ lcl_setDropcapCharStyle(rPam, rItemSet, rValue);
}
- break;
- case RES_TXTATR_CJK_RUBY:
- if(MID_RUBY_CHARSTYLE == pEntry->nMemberId )
- {
- OUString sTmp;
- if(aValue >>= sTmp)
- {
- SwFmtRuby* pRuby = 0;
- const SfxPoolItem* pItem;
- if(SFX_ITEM_SET == rItemSet.GetItemState( RES_TXTATR_CJK_RUBY, sal_True, &pItem ) )
- pRuby = new SwFmtRuby(*((SwFmtRuby*)pItem));
- if(!pRuby)
- pRuby = new SwFmtRuby(aEmptyStr);
- String sStyle;
- SwStyleNameMapper::FillUIName(sTmp, sStyle, nsSwGetPoolIdFromName::GET_POOLID_CHRFMT, sal_True );
- pRuby->SetCharFmtName( sStyle );
- pRuby->SetCharFmtId( 0 );
- if(sStyle.Len() > 0)
- {
- sal_uInt16 nId = SwStyleNameMapper::GetPoolIdFromUIName( sStyle, nsSwGetPoolIdFromName::GET_POOLID_CHRFMT );
- pRuby->SetCharFmtId(nId);
- }
- rItemSet.Put(*pRuby);
- delete pRuby;
- }
- else
- throw lang::IllegalArgumentException();
- bRet = sal_True;
- }
- else
- bRet = sal_False;
- break;
- case RES_PAGEDESC :
- if(MID_PAGEDESC_PAGEDESCNAME == pEntry->nMemberId )
+ else
{
- lcl_setPageDesc(rPam.GetDoc(), aValue, rItemSet);
- break;
+ bRet = false;
+ }
+ }
+ break;
+ case RES_TXTATR_CJK_RUBY:
+ {
+ if (MID_RUBY_CHARSTYLE == rEntry.nMemberId)
+ {
+ lcl_setRubyCharstyle(rItemSet, rValue);
+ }
+ else
+ {
+ bRet = false;
}
- //hier kein break
- default: bRet = sal_False;
}
+ break;
+ case RES_PAGEDESC:
+ {
+ if (MID_PAGEDESC_PAGEDESCNAME == rEntry.nMemberId)
+ {
+ SwUnoCursorHelper::SetPageDesc(
+ rValue, *rPam.GetDoc(), rItemSet);
+ }
+ else
+ {
+ bRet = false;
+ }
+ }
+ break;
+ default:
+ bRet = false;
}
-return bRet;
+ return bRet;
}
/* -----------------30.06.98 08:39-------------------
*
* --------------------------------------------------*/
-SwFmtColl* SwXTextCursor::GetCurTxtFmtColl(SwPaM& rPaM, BOOL bConditional)
+SwFmtColl *
+SwUnoCursorHelper::GetCurTxtFmtColl(SwPaM & rPaM, const bool bConditional)
{
static const sal_uInt16 nMaxLookup = 1000;
SwFmtColl *pFmt = 0;
// if ( GetCrsrCnt() > nMaxLookup )
// return 0;
- sal_Bool bError = sal_False;
+ bool bError = false;
SwPaM *pTmpCrsr = &rPaM;
- do {
-
- ULONG nSttNd = pTmpCrsr->GetMark()->nNode.GetIndex();
- ULONG nEndNd = pTmpCrsr->GetPoint()->nNode.GetIndex();
- xub_StrLen nSttCnt = pTmpCrsr->GetMark()->nContent.GetIndex();
- xub_StrLen nEndCnt = pTmpCrsr->GetPoint()->nContent.GetIndex();
-
- if( nSttNd > nEndNd || ( nSttNd == nEndNd && nSttCnt > nEndCnt ))
- {
- sal_uInt32 nTmp = nSttNd; nSttNd = nEndNd; nEndNd = nTmp;
- nTmp = nSttCnt; nSttCnt = nEndCnt; nEndCnt = (sal_uInt16)nTmp;
- }
+ do
+ {
+ const ULONG nSttNd = pTmpCrsr->Start()->nNode.GetIndex();
+ const ULONG nEndNd = pTmpCrsr->End()->nNode.GetIndex();
if( nEndNd - nSttNd >= nMaxLookup )
{
@@ -685,33 +713,33 @@ SwFmtColl* SwXTextCursor::GetCurTxtFmtColl(SwPaM& rPaM, BOOL bConditional)
const SwNodes& rNds = rPaM.GetDoc()->GetNodes();
for( ULONG n = nSttNd; n <= nEndNd; ++n )
{
- const SwTxtNode* pNd = rNds[ n ]->GetTxtNode();
+ SwTxtNode const*const pNd = rNds[ n ]->GetTxtNode();
if( pNd )
{
- SwFmtColl* pNdFmt = bConditional ? pNd->GetFmtColl()
- : &pNd->GetAnyFmtColl();
+ SwFmtColl *const pNdFmt = (bConditional)
+ ? pNd->GetFmtColl() : &pNd->GetAnyFmtColl();
if( !pFmt )
+ {
pFmt = pNdFmt;
+ }
else if( pFmt != pNdFmt )
{
- bError = sal_True;
+ bError = true;
break;
}
}
}
- if(bError)
- break;
pTmpCrsr = static_cast<SwPaM*>(pTmpCrsr->GetNext());
} while ( pTmpCrsr != &rPaM );
- return bError ? 0 : pFmt;
+ return (bError) ? 0 : pFmt;
}
/* -----------------26.06.98 16:20-------------------
* Hilfsfunktion fuer PageDesc
* --------------------------------------------------*/
- SwPageDesc* GetPageDescByName_Impl(SwDoc& rDoc, const String& rName)
- {
+SwPageDesc* GetPageDescByName_Impl(SwDoc& rDoc, const String& rName)
+{
SwPageDesc* pRet = 0;
sal_uInt16 nDCount = rDoc.GetPageDescCnt();
sal_uInt16 i;
@@ -732,7 +760,8 @@ SwFmtColl* SwXTextCursor::GetCurTxtFmtColl(SwPaM& rPaM, BOOL bConditional)
const String aFmtName(SW_RES(i));
if(aFmtName == rName)
{
- pRet = rDoc.GetPageDescFromPool( static_cast< sal_uInt16 >(RES_POOLPAGE_BEGIN + i - RC_POOLPAGEDESC_BEGIN) );
+ pRet = rDoc.GetPageDescFromPool( static_cast< sal_uInt16 >(
+ RES_POOLPAGE_BEGIN + i - RC_POOLPAGEDESC_BEGIN) );
break;
}
}
@@ -740,95 +769,146 @@ SwFmtColl* SwXTextCursor::GetCurTxtFmtColl(SwPaM& rPaM, BOOL bConditional)
return pRet;
}
-/******************************************************************************
- ******************************************************************************
- ******************************************************************************
- * Taskforce ONE51
- ******************************************************************************/
/******************************************************************
* SwXTextCursor
******************************************************************/
-/*-- 09.12.98 14:19:19---------------------------------------------------
+class SwXTextCursor::Impl
+ : public SwClient
+{
- -----------------------------------------------------------------------*/
-OUString SwXTextCursor::getImplementationName(void) throw( RuntimeException )
+public:
+
+ const SfxItemPropertySet & m_rPropSet;
+ const enum CursorType m_eType;
+ const uno::Reference< text::XText > m_xParentText;
+ SwEventListenerContainer m_ListenerContainer;
+ bool m_bIsDisposed;
+
+ Impl( SwXTextCursor & rThis,
+ SwDoc & rDoc,
+ const enum CursorType eType,
+ uno::Reference<text::XText> xParent,
+ SwPosition const& rPoint, SwPosition const*const pMark)
+ : SwClient(rDoc.CreateUnoCrsr(rPoint, sal_False))
+ , m_rPropSet(*aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR))
+ , m_eType(eType)
+ , m_xParentText(xParent)
+ , m_ListenerContainer(static_cast< ::cppu::OWeakObject* >(&rThis))
+ , m_bIsDisposed(false)
+ {
+ if (pMark)
+ {
+ GetCursor()->SetMark();
+ *GetCursor()->GetMark() = *pMark;
+ }
+ }
+
+ ~Impl() {
+ // Impl owns the cursor; delete it here: SolarMutex is locked
+ delete GetRegisteredIn();
+ }
+
+ SwUnoCrsr * GetCursor() {
+ return (m_bIsDisposed) ? 0 :
+ static_cast<SwUnoCrsr*>(const_cast<SwModify*>(GetRegisteredIn()));
+ }
+
+ SwUnoCrsr & GetCursorOrThrow() {
+ SwUnoCrsr *const pUnoCursor( GetCursor() );
+ if (!pUnoCursor) {
+ throw uno::RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "SwXTextCursor: disposed or invalid")), 0);
+ }
+ return *pUnoCursor;
+ }
+
+ void Invalidate() {
+ m_bIsDisposed = true;
+ m_ListenerContainer.Disposing();
+ }
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+void SwXTextCursor::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
{
- return C2U("SwXTextCursor");
+ ClientModify(this, pOld, pNew);
+
+ if (!GetRegisteredIn() ||
+ // if the cursor leaves its designated section, it becomes invalid
+ ((pOld != NULL) && (pOld->Which() == RES_UNOCURSOR_LEAVES_SECTION)))
+ {
+ Invalidate();
+ }
}
-/*-- 09.12.98 14:19:19---------------------------------------------------
+
+
+SwUnoCrsr const* SwXTextCursor::GetCursor() const
+{
+ return m_pImpl->GetCursor();
+}
+
+SwUnoCrsr * SwXTextCursor::GetCursor()
+{
+ return m_pImpl->GetCursor();
+}
+
+/*-- 09.12.98 14:19:01---------------------------------------------------
-----------------------------------------------------------------------*/
-BOOL SwXTextCursor::supportsService(const OUString& rServiceName) throw( RuntimeException )
-{
- String sServiceName(rServiceName);
- return sServiceName.EqualsAscii("com.sun.star.text.TextCursor") ||
- sServiceName.EqualsAscii("com.sun.star.style.CharacterProperties")||
- sServiceName.EqualsAscii("com.sun.star.style.CharacterPropertiesAsian")||
- sServiceName.EqualsAscii("com.sun.star.style.CharacterPropertiesComplex")||
- sServiceName.EqualsAscii("com.sun.star.style.ParagraphProperties") ||
- sServiceName.EqualsAscii("com.sun.star.style.ParagraphPropertiesAsian") ||
- sServiceName.EqualsAscii("com.sun.star.style.ParagraphPropertiesComplex") ||
- sServiceName.EqualsAscii("com.sun.star.text.TextSortable");
+SwPaM const* SwXTextCursor::GetPaM() const
+{
+ return m_pImpl->GetCursor();
+}
+
+SwPaM * SwXTextCursor::GetPaM()
+{
+ return m_pImpl->GetCursor();
}
-/*-- 09.12.98 14:19:19---------------------------------------------------
+
+/*-- 09.12.98 14:19:02---------------------------------------------------
-----------------------------------------------------------------------*/
-Sequence< OUString > SwXTextCursor::getSupportedServiceNames(void) throw( RuntimeException )
+SwDoc const* SwXTextCursor::GetDoc() const
{
- Sequence< OUString > aRet(8);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.text.TextCursor");
- pArray[1] = C2U("com.sun.star.style.CharacterProperties");
- pArray[2] = C2U("com.sun.star.style.CharacterPropertiesAsian");
- pArray[3] = C2U("com.sun.star.style.CharacterPropertiesComplex");
- pArray[4] = C2U("com.sun.star.style.ParagraphProperties");
- pArray[5] = C2U("com.sun.star.style.ParagraphPropertiesAsian");
- pArray[6] = C2U("com.sun.star.style.ParagraphPropertiesComplex");
- pArray[7] = C2U("com.sun.star.text.TextSortable");
- return aRet;
+ return m_pImpl->GetCursor() ? m_pImpl->GetCursor()->GetDoc() : 0;
}
+/* -----------------22.07.99 13:52-------------------
+
+ --------------------------------------------------*/
+SwDoc * SwXTextCursor::GetDoc()
+{
+ return m_pImpl->GetCursor() ? m_pImpl->GetCursor()->GetDoc() : 0;
+}
+
+
/*-- 09.12.98 14:19:19---------------------------------------------------
-----------------------------------------------------------------------*/
-SwXTextCursor::SwXTextCursor(uno::Reference< XText > xParent, const SwPosition& rPos,
- CursorType eSet, SwDoc* pDoc, const SwPosition* pMark) :
- aLstnrCntnr(( util::XSortable*)this),
- m_pPropSet(aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR)),
- xParentText(xParent),
- pLastSortOptions(0),
- eType(eSet),
- mbRemoveUserEvent( false )
+SwXTextCursor::SwXTextCursor(
+ SwDoc & rDoc,
+ uno::Reference< text::XText > const& xParent,
+ const enum CursorType eType,
+ const SwPosition& rPos,
+ SwPosition const*const pMark)
+ : m_pImpl( new SwXTextCursor::Impl(*this, rDoc, eType, xParent,
+ rPos, pMark ) )
{
- SwUnoCrsr* pUnoCrsr = pDoc->CreateUnoCrsr(rPos, sal_False);
- if(pMark)
- {
- pUnoCrsr->SetMark();
- *pUnoCrsr->GetMark() = *pMark;
- }
- pUnoCrsr->Add(this);
}
/* -----------------04.03.99 09:02-------------------
*
* --------------------------------------------------*/
-SwXTextCursor::SwXTextCursor(uno::Reference< XText > xParent,
- SwUnoCrsr* pSourceCrsr, CursorType eSet) :
- aLstnrCntnr( (util::XSortable*)this),
- m_pPropSet(aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR)),
- xParentText(xParent),
- pLastSortOptions(0),
- eType(eSet),
- mbRemoveUserEvent( false )
+SwXTextCursor::SwXTextCursor(uno::Reference< text::XText > const& xParent,
+ SwPaM const& rSourceCursor, const enum CursorType eType)
+ : m_pImpl( new SwXTextCursor::Impl(*this, *rSourceCursor.GetDoc(), eType,
+ xParent, *rSourceCursor.GetPoint(),
+ rSourceCursor.HasMark() ? rSourceCursor.GetMark() : 0) )
{
- SwUnoCrsr* pUnoCrsr = pSourceCrsr->GetDoc()->CreateUnoCrsr(*pSourceCrsr->GetPoint(), sal_False);
- if(pSourceCrsr->HasMark())
- {
- pUnoCrsr->SetMark();
- *pUnoCrsr->GetMark() = *pSourceCrsr->GetMark();
- }
- pUnoCrsr->Add(this);
}
/*-- 09.12.98 14:19:20---------------------------------------------------
@@ -836,55 +916,43 @@ SwXTextCursor::SwXTextCursor(uno::Reference< XText > xParent,
-----------------------------------------------------------------------*/
SwXTextCursor::~SwXTextCursor()
{
- vos::OGuard aGuard(Application::GetSolarMutex());
-
- // --> FME 2006-03-07 #126177# A user event has been posted in order
- // to delete the SwUnoCursor. Remove the user event if the SwXTextCursor
- // is destroyed before the user event could be handled.
- if ( mbRemoveUserEvent )
- {
- mbRemoveUserEvent = false;
- Application::RemoveUserEvent( mnUserEventId );
- }
- // <--
-
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- delete pUnoCrsr;
- delete pLastSortOptions;
}
+
/*-- 09.12.98 14:19:18---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::DeleteAndInsert(const String& rText,
+void SwXTextCursor::DeleteAndInsert(const ::rtl::OUString& rText,
const bool bForceExpandHints)
{
- SwUnoCrsr* pUnoCrsr = GetCrsr();
+ SwUnoCrsr *const pUnoCrsr = m_pImpl->GetCursor();
if(pUnoCrsr)
{
// Start/EndAction
SwDoc* pDoc = pUnoCrsr->GetDoc();
UnoActionContext aAction(pDoc);
- xub_StrLen nTxtLen = rText.Len();
+ const xub_StrLen nTxtLen = rText.getLength();
pDoc->StartUndo(UNDO_INSERT, NULL);
- SwCursor *_pStartCrsr = pUnoCrsr;
+ SwCursor * pCurrent = pUnoCrsr;
do
{
- if(_pStartCrsr->HasMark())
+ if (pCurrent->HasMark())
{
- pDoc->DeleteAndJoin(*_pStartCrsr);
+ pDoc->DeleteAndJoin(*pCurrent);
}
if(nTxtLen)
{
const bool bSuccess(
SwUnoCursorHelper::DocInsertStringSplitCR(
- *pDoc, *_pStartCrsr, rText, bForceExpandHints ) );
+ *pDoc, *pCurrent, rText, bForceExpandHints ) );
DBG_ASSERT( bSuccess, "Doc->Insert(Str) failed." );
(void) bSuccess;
- SwXTextCursor::SelectPam(*pUnoCrsr, sal_True);
- _pStartCrsr->Left(rText.Len(), CRSR_SKIP_CHARS, FALSE, FALSE);
+ SwUnoCursorHelper::SelectPam(*pUnoCrsr, true);
+ pCurrent->Left(rText.getLength(),
+ CRSR_SKIP_CHARS, FALSE, FALSE);
}
- } while( (_pStartCrsr=(SwCursor*)_pStartCrsr->GetNext()) != pUnoCrsr );
+ pCurrent = static_cast<SwCursor *>(pCurrent->GetNext());
+ } while (pCurrent != pUnoCrsr);
pDoc->EndUndo(UNDO_INSERT, NULL);
}
}
@@ -892,7 +960,8 @@ void SwXTextCursor::DeleteAndInsert(const String& rText,
enum ForceIntoMetaMode { META_CHECK_BOTH, META_INIT_START, META_INIT_END };
-sal_Bool lcl_ForceIntoMeta(SwPaM & rCursor,
+static sal_Bool
+lcl_ForceIntoMeta(SwPaM & rCursor,
uno::Reference<text::XText> const & xParentText,
const enum ForceIntoMetaMode eMode)
{
@@ -937,10 +1006,11 @@ sal_Bool lcl_ForceIntoMeta(SwPaM & rCursor,
bool SwXTextCursor::IsAtEndOfMeta() const
{
- if (CURSOR_META == eType)
+ if (CURSOR_META == m_pImpl->m_eType)
{
- SwUnoCrsr const * const pCursor( GetCrsr() );
- SwXMeta const*const pXMeta( dynamic_cast<SwXMeta*>(xParentText.get()) );
+ SwUnoCrsr const * const pCursor( m_pImpl->GetCursor() );
+ SwXMeta const*const pXMeta(
+ dynamic_cast<SwXMeta*>(m_pImpl->m_xParentText.get()) );
ASSERT(pXMeta, "no meta?");
if (pCursor && pXMeta)
{
@@ -964,6 +1034,45 @@ bool SwXTextCursor::IsAtEndOfMeta() const
return false;
}
+/*-- 09.12.98 14:19:19---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+OUString SwXTextCursor::getImplementationName() throw (uno::RuntimeException)
+{
+ return C2U("SwXTextCursor");
+}
+
+/*-- 09.12.98 14:19:19---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+static char const*const g_ServicesTextCursor[] =
+{
+ "com.sun.star.text.TextCursor",
+ "com.sun.star.style.CharacterProperties",
+ "com.sun.star.style.CharacterPropertiesAsian",
+ "com.sun.star.style.CharacterPropertiesComplex",
+ "com.sun.star.style.ParagraphProperties",
+ "com.sun.star.style.ParagraphPropertiesAsian",
+ "com.sun.star.style.ParagraphPropertiesComplex",
+ "com.sun.star.text.TextSortable",
+};
+static const size_t g_nServicesTextCursor(
+ sizeof(g_ServicesTextCursor)/sizeof(g_ServicesTextCursor[0]));
+
+sal_Bool SAL_CALL SwXTextCursor::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ return ::sw::SupportsServiceImpl(
+ g_nServicesTextCursor, g_ServicesTextCursor, rServiceName);
+}
+
+uno::Sequence< OUString > SAL_CALL
+SwXTextCursor::getSupportedServiceNames() throw (uno::RuntimeException)
+{
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesTextCursor, g_ServicesTextCursor);
+}
+
/* -----------------------------10.03.00 18:02--------------------------------
---------------------------------------------------------------------------*/
@@ -975,231 +1084,219 @@ const uno::Sequence< sal_Int8 > & SwXTextCursor::getUnoTunnelId()
/* -----------------------------10.03.00 18:04--------------------------------
---------------------------------------------------------------------------*/
-sal_Int64 SAL_CALL SwXTextCursor::getSomething( const uno::Sequence< sal_Int8 >& rId )
- throw(uno::RuntimeException)
+sal_Int64 SAL_CALL
+SwXTextCursor::getSomething(const uno::Sequence< sal_Int8 >& rId)
+throw (uno::RuntimeException)
{
- if( rId.getLength() == 16
- && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- rId.getConstArray(), 16 ) )
- {
- return sal::static_int_cast< sal_Int64 >( reinterpret_cast< sal_IntPtr >(this) );
- }
- return OTextCursorHelper::getSomething(rId);
+ const sal_Int64 nRet( ::sw::UnoTunnelImpl<SwXTextCursor>(rId, this) );
+ return (nRet) ? nRet : OTextCursorHelper::getSomething(rId);
}
/*-- 09.12.98 14:18:12---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::collapseToStart(void) throw( uno::RuntimeException )
+void SAL_CALL SwXTextCursor::collapseToStart() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ if (rUnoCursor.HasMark())
{
- if(pUnoCrsr->HasMark())
+ if (*rUnoCursor.GetPoint() > *rUnoCursor.GetMark())
{
- if(*pUnoCrsr->GetPoint() > *pUnoCrsr->GetMark())
- pUnoCrsr->Exchange();
- pUnoCrsr->DeleteMark();
+ rUnoCursor.Exchange();
}
- }
- else
- {
- throw uno::RuntimeException();
+ rUnoCursor.DeleteMark();
}
}
/*-- 09.12.98 14:18:14---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::collapseToEnd(void) throw( uno::RuntimeException )
+void SAL_CALL SwXTextCursor::collapseToEnd() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ if (rUnoCursor.HasMark())
{
- if(pUnoCrsr->HasMark())
+ if (*rUnoCursor.GetPoint() < *rUnoCursor.GetMark())
{
- if(*pUnoCrsr->GetPoint() < *pUnoCrsr->GetMark())
- pUnoCrsr->Exchange();
- pUnoCrsr->DeleteMark();
+ rUnoCursor.Exchange();
}
- }
- else
- {
- throw uno::RuntimeException();
+ rUnoCursor.DeleteMark();
}
}
/*-- 09.12.98 14:18:41---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::isCollapsed(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL SwXTextCursor::isCollapsed() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
sal_Bool bRet = sal_True;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
+ SwUnoCrsr *const pUnoCrsr = m_pImpl->GetCursor();
if(pUnoCrsr && pUnoCrsr->GetMark())
{
bRet = (*pUnoCrsr->GetPoint() == *pUnoCrsr->GetMark());
}
return bRet;
}
+
/*-- 09.12.98 14:18:42---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::goLeft(sal_Int16 nCount, sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::goLeft(sal_Int16 nCount, sal_Bool Expand)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ sal_Bool bRet = rUnoCursor.Left( nCount, CRSR_SKIP_CHARS, FALSE, FALSE);
+ if (CURSOR_META == m_pImpl->m_eType)
{
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- bRet = pUnoCrsr->Left( nCount, CRSR_SKIP_CHARS, FALSE, FALSE);
- if (CURSOR_META == eType)
- {
- bRet = lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_CHECK_BOTH)
- && bRet;
- }
- }
- else
- {
- throw uno::RuntimeException();
+ bRet = lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText,
+ META_CHECK_BOTH)
+ && bRet;
}
return bRet;
}
/*-- 09.12.98 14:18:42---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::goRight(sal_Int16 nCount, sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::goRight(sal_Int16 nCount, sal_Bool Expand)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
- {
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- bRet = pUnoCrsr->Right(nCount, CRSR_SKIP_CHARS, FALSE, FALSE);
- if (CURSOR_META == eType)
- {
- bRet = lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_CHECK_BOTH)
- && bRet;
- }
- }
- else
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ sal_Bool bRet = rUnoCursor.Right(nCount, CRSR_SKIP_CHARS, FALSE, FALSE);
+ if (CURSOR_META == m_pImpl->m_eType)
{
- throw uno::RuntimeException();
+ bRet = lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText,
+ META_CHECK_BOTH)
+ && bRet;
}
return bRet;
}
+
/*-- 09.12.98 14:18:43---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::gotoStart(sal_Bool Expand) throw( uno::RuntimeException )
+void SAL_CALL
+SwXTextCursor::gotoStart(sal_Bool Expand) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ if (CURSOR_BODY == m_pImpl->m_eType)
{
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- if(eType == CURSOR_BODY)
+ rUnoCursor.Move( fnMoveBackward, fnGoDoc );
+ //check, that the cursor is not in a table
+ SwTableNode * pTblNode = rUnoCursor.GetNode()->FindTableNode();
+ SwCntntNode * pCNode = 0;
+ while (pTblNode)
{
- pUnoCrsr->Move( fnMoveBackward, fnGoDoc );
- //check, that the cursor is not in a table
- SwTableNode* pTblNode = pUnoCrsr->GetNode()->FindTableNode();
- SwCntntNode* pCont = 0;
- while( pTblNode )
- {
- pUnoCrsr->GetPoint()->nNode = *pTblNode->EndOfSectionNode();
- pCont = GetDoc()->GetNodes().GoNext(&pUnoCrsr->GetPoint()->nNode);
- pTblNode = pCont ? pCont->FindTableNode() : 0;
- }
- if(pCont)
- pUnoCrsr->GetPoint()->nContent.Assign(pCont, 0);
- const SwStartNode* pTmp = pUnoCrsr->GetNode()->StartOfSectionNode();
- if(pTmp->IsSectionNode())
- {
- SwSectionNode* pSectionStartNode = (SwSectionNode*)pTmp;
- if(pSectionStartNode->GetSection().IsHiddenFlag())
- {
- pCont = GetDoc()->GetNodes().GoNextSection(
- &pUnoCrsr->GetPoint()->nNode, sal_True, sal_False);
- if(pCont)
- pUnoCrsr->GetPoint()->nContent.Assign(pCont, 0);
- }
- }
+ rUnoCursor.GetPoint()->nNode = *pTblNode->EndOfSectionNode();
+ pCNode = GetDoc()->GetNodes().GoNext(&rUnoCursor.GetPoint()->nNode);
+ pTblNode = (pCNode) ? pCNode->FindTableNode() : 0;
}
- else if(eType == CURSOR_FRAME ||
- eType == CURSOR_TBLTEXT ||
- eType == CURSOR_HEADER ||
- eType == CURSOR_FOOTER ||
- eType == CURSOR_FOOTNOTE||
- eType == CURSOR_REDLINE)
+ if (pCNode)
{
- pUnoCrsr->MoveSection( fnSectionCurr, fnSectionStart);
+ rUnoCursor.GetPoint()->nContent.Assign(pCNode, 0);
}
- else if (CURSOR_META == eType)
+ SwStartNode const*const pTmp =
+ rUnoCursor.GetNode()->StartOfSectionNode();
+ if (pTmp->IsSectionNode())
{
- lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_INIT_START);
+ SwSectionNode const*const pSectionStartNode =
+ static_cast<SwSectionNode const*>(pTmp);
+ if (pSectionStartNode->GetSection().IsHiddenFlag())
+ {
+ pCNode = GetDoc()->GetNodes().GoNextSection(
+ &rUnoCursor.GetPoint()->nNode, sal_True, sal_False);
+ if (pCNode)
+ {
+ rUnoCursor.GetPoint()->nContent.Assign(pCNode, 0);
+ }
+ }
}
}
- else
+ else if ( (CURSOR_FRAME == m_pImpl->m_eType)
+ || (CURSOR_TBLTEXT == m_pImpl->m_eType)
+ || (CURSOR_HEADER == m_pImpl->m_eType)
+ || (CURSOR_FOOTER == m_pImpl->m_eType)
+ || (CURSOR_FOOTNOTE== m_pImpl->m_eType)
+ || (CURSOR_REDLINE == m_pImpl->m_eType))
{
- throw uno::RuntimeException();
+ rUnoCursor.MoveSection(fnSectionCurr, fnSectionStart);
+ }
+ else if (CURSOR_META == m_pImpl->m_eType)
+ {
+ lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText, META_INIT_START);
}
}
/*-- 09.12.98 14:18:43---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::gotoEnd(sal_Bool Expand) throw( uno::RuntimeException )
+void SAL_CALL
+SwXTextCursor::gotoEnd(sal_Bool Expand) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ if (CURSOR_BODY == m_pImpl->m_eType)
{
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- if(eType == CURSOR_BODY)
- {
- pUnoCrsr->Move( fnMoveForward, fnGoDoc );
- }
- else if(eType == CURSOR_FRAME ||
- eType == CURSOR_TBLTEXT ||
- eType == CURSOR_HEADER ||
- eType == CURSOR_FOOTER ||
- eType == CURSOR_FOOTNOTE||
- eType == CURSOR_REDLINE)
- {
- pUnoCrsr->MoveSection( fnSectionCurr, fnSectionEnd);
- }
- else if (CURSOR_META == eType)
- {
- lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_INIT_END);
- }
+ rUnoCursor.Move( fnMoveForward, fnGoDoc );
}
- else
+ else if ( (CURSOR_FRAME == m_pImpl->m_eType)
+ || (CURSOR_TBLTEXT == m_pImpl->m_eType)
+ || (CURSOR_HEADER == m_pImpl->m_eType)
+ || (CURSOR_FOOTER == m_pImpl->m_eType)
+ || (CURSOR_FOOTNOTE== m_pImpl->m_eType)
+ || (CURSOR_REDLINE == m_pImpl->m_eType))
{
- throw uno::RuntimeException();
+ rUnoCursor.MoveSection( fnSectionCurr, fnSectionEnd);
+ }
+ else if (CURSOR_META == m_pImpl->m_eType)
+ {
+ lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText, META_INIT_END);
}
}
-void SwXTextCursor::gotoRange(const uno::Reference< XTextRange > & xRange, sal_Bool bExpand )
- throw( uno::RuntimeException )
+void SAL_CALL
+SwXTextCursor::gotoRange(
+ const uno::Reference< text::XTextRange > & xRange, sal_Bool bExpand)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pOwnCursor = GetCrsr();
- if(!pOwnCursor || !xRange.is())
+
+ if (!xRange.is())
{
throw uno::RuntimeException();
}
+ SwUnoCrsr & rOwnCursor( m_pImpl->GetCursorOrThrow() );
+
uno::Reference<lang::XUnoTunnel> xRangeTunnel( xRange, uno::UNO_QUERY);
SwXTextRange* pRange = 0;
OTextCursorHelper* pCursor = 0;
if(xRangeTunnel.is())
{
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
+ pRange = ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel);
+ pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xRangeTunnel);
}
if (!pRange && !pCursor)
@@ -1208,7 +1305,7 @@ void SwXTextCursor::gotoRange(const uno::Reference< XTextRange > & xRange, sal_B
}
SwStartNodeType eSearchNodeType = SwNormalStartNode;
- switch(eType)
+ switch (m_pImpl->m_eType)
{
case CURSOR_FRAME: eSearchNodeType = SwFlyStartNode; break;
case CURSOR_TBLTEXT: eSearchNodeType = SwTableBoxStartNode; break;
@@ -1220,20 +1317,29 @@ void SwXTextCursor::gotoRange(const uno::Reference< XTextRange > & xRange, sal_B
default:
;
}
- const SwStartNode* pOwnStartNode = pOwnCursor->GetNode()->
- FindSttNodeByType(eSearchNodeType);
+ const SwStartNode* pOwnStartNode =
+ rOwnCursor.GetNode()->FindSttNodeByType(eSearchNodeType);
- const SwNode* pSrcNode = 0;
- if(pCursor && pCursor->GetPaM())
+ SwPaM aPam(GetDoc()->GetNodes());
+ const SwPaM * pPam(0);
+ if (pCursor)
{
- pSrcNode = pCursor->GetPaM()->GetNode();
+ pPam = pCursor->GetPaM();
}
- else if(pRange && pRange->GetBookmark())
+ else if (pRange)
{
- ::sw::mark::IMark const * const pBkmk = pRange->GetBookmark();
- pSrcNode = &pBkmk->GetMarkPos().nNode.GetNode();
+ if (pRange->GetPositions(aPam))
+ {
+ pPam = & aPam;
+ }
}
- const SwStartNode* pTmp = pSrcNode ? pSrcNode->FindSttNodeByType(eSearchNodeType) : 0;
+
+ if (!pPam)
+ {
+ throw uno::RuntimeException();
+ }
+ const SwStartNode* pTmp =
+ pPam->GetNode()->FindSttNodeByType(eSearchNodeType);
//SectionNodes ueberspringen
while(pTmp && pTmp->IsSectionNode())
@@ -1249,18 +1355,11 @@ void SwXTextCursor::gotoRange(const uno::Reference< XTextRange > & xRange, sal_B
throw uno::RuntimeException();
}
- if (CURSOR_META == eType)
+ if (CURSOR_META == m_pImpl->m_eType)
{
- const SwPosition & rPoint( (pRange)
- ? pRange->GetBookmark()->GetMarkPos()
- : *pCursor->GetPaM()->GetPoint() );
- const SwPosition & rMark ( (pRange)
- ? ((pRange->GetBookmark()->IsExpanded())
- ? pRange->GetBookmark()->GetOtherMarkPos() : rPoint)
- : *pCursor->GetPaM()->GetMark() );
- SwPaM aPam(rPoint, rMark);
- const bool bNotForced(
- lcl_ForceIntoMeta(aPam, xParentText, META_CHECK_BOTH) );
+ SwPaM CopyPam(*pPam->GetMark(), *pPam->GetPoint());
+ const bool bNotForced( lcl_ForceIntoMeta(
+ CopyPam, m_pImpl->m_xParentText, META_CHECK_BOTH) );
if (!bNotForced)
{
throw uno::RuntimeException(
@@ -1275,73 +1374,30 @@ void SwXTextCursor::gotoRange(const uno::Reference< XTextRange > & xRange, sal_B
{
// der Cursor soll alles einschliessen, was bisher von ihm und dem uebergebenen
// Range eingeschlossen wurde
- SwPosition aOwnLeft(*pOwnCursor->GetPoint());
- SwPosition aOwnRight(pOwnCursor->HasMark() ? *pOwnCursor->GetMark() : aOwnLeft);
- if(aOwnRight < aOwnLeft)
- {
- SwPosition aTmp = aOwnLeft;
- aOwnLeft = aOwnRight;
- aOwnRight = aTmp;
- }
- SwPosition* pParamLeft;
- SwPosition* pParamRight;
- if(pCursor)
- {
- const SwPaM* pTmp2 = pCursor->GetPaM();
- pParamLeft = new SwPosition(*pTmp2->GetPoint());
- pParamRight = new SwPosition(pTmp2->HasMark() ? *pTmp2->GetMark() : *pParamLeft);
- }
- else
- {
- ::sw::mark::IMark const * const pBkmk = pRange->GetBookmark();
- pParamLeft = new SwPosition(pBkmk->GetMarkPos());
- pParamRight = new SwPosition(pBkmk->IsExpanded() ? pBkmk->GetOtherMarkPos() : *pParamLeft);
- }
- if(*pParamRight < *pParamLeft)
- {
- SwPosition* pTmp2 = pParamLeft;
- pParamLeft = pParamRight;
- pParamRight = pTmp2;
- }
+ const SwPosition aOwnLeft(*rOwnCursor.Start());
+ const SwPosition aOwnRight(*rOwnCursor.End());
+ SwPosition const& rParamLeft = *pPam->Start();
+ SwPosition const& rParamRight = *pPam->End();
+
// jetzt sind vier SwPositions da, zwei davon werden gebraucht, also welche?
- if(aOwnRight > *pParamRight)
- *pOwnCursor->GetPoint() = aOwnRight;
- else
- *pOwnCursor->GetPoint() = *pParamRight;
- pOwnCursor->SetMark();
- if(aOwnLeft < *pParamLeft)
- *pOwnCursor->GetMark() = aOwnLeft;
- else
- *pOwnCursor->GetMark() = *pParamLeft;
- delete pParamLeft;
- delete pParamRight;
+ *rOwnCursor.GetPoint() = (aOwnRight > rParamRight)
+ ? aOwnRight : *rOwnCursor.GetPoint() = rParamRight;
+ rOwnCursor.SetMark();
+ *rOwnCursor.GetMark() = (aOwnLeft < rParamLeft)
+ ? aOwnLeft : *rOwnCursor.GetMark() = rParamLeft;
}
else
{
- //der Cursor soll dem uebergebenen Range entsprechen
- if(pCursor)
+ // cursor should be the given range
+ *rOwnCursor.GetPoint() = *pPam->GetPoint();
+ if (pPam->HasMark())
{
- const SwPaM* pTmp2 = pCursor->GetPaM();
- *pOwnCursor->GetPoint() = *pTmp2->GetPoint();
- if(pTmp2->HasMark())
- {
- pOwnCursor->SetMark();
- *pOwnCursor->GetMark() = *pTmp2->GetMark();
- }
- else
- pOwnCursor->DeleteMark();
+ rOwnCursor.SetMark();
+ *rOwnCursor.GetMark() = *pPam->GetMark();
}
else
{
- ::sw::mark::IMark const * const pBkmk = pRange->GetBookmark();
- *pOwnCursor->GetPoint() = pBkmk->GetMarkPos();
- if(pBkmk->IsExpanded())
- {
- pOwnCursor->SetMark();
- *pOwnCursor->GetMark() = pBkmk->GetOtherMarkPos();
- }
- else
- pOwnCursor->DeleteMark();
+ rOwnCursor.DeleteMark();
}
}
}
@@ -1349,169 +1405,157 @@ void SwXTextCursor::gotoRange(const uno::Reference< XTextRange > & xRange, sal_B
/*-- 09.12.98 14:18:44---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::isStartOfWord(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL SwXTextCursor::isStartOfWord() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
- {
- bRet = pUnoCrsr->IsStartWordWT( i18n::WordType::DICTIONARY_WORD );
- }
- else
- {
- throw uno::RuntimeException();
- }
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ const sal_Bool bRet =
+ rUnoCursor.IsStartWordWT( i18n::WordType::DICTIONARY_WORD );
return bRet;
}
/*-- 09.12.98 14:18:44---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::isEndOfWord(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL SwXTextCursor::isEndOfWord() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
- {
- bRet = pUnoCrsr->IsEndWordWT( i18n::WordType::DICTIONARY_WORD );
- }
- else
- {
- throw uno::RuntimeException();
- }
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ const sal_Bool bRet =
+ rUnoCursor.IsEndWordWT( i18n::WordType::DICTIONARY_WORD );
return bRet;
}
+
/*-- 09.12.98 14:18:44---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoNextWord(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoNextWord(sal_Bool Expand) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- //Probleme gibt's noch mit einem Absatzanfang, an dem kein Wort beginnt.
- SwUnoCrsr* pUnoCrsr = GetCrsr();
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+ //Probleme gibt's noch mit einem Absatzanfang, an dem kein Wort beginnt.
sal_Bool bRet = sal_False;
- if(pUnoCrsr)
- {
- // remember old position to check if cursor has moved
- // since the called functions are sometimes a bit unreliable
- // in specific cases...
- SwPosition *pPoint = pUnoCrsr->GetPoint();
- SwNode *pOldNode = &pPoint->nNode.GetNode();
- xub_StrLen nOldIndex = pPoint->nContent.GetIndex();
-
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- //Absatzende?
- if(pUnoCrsr->GetCntntNode() &&
- pPoint->nContent == pUnoCrsr->GetCntntNode()->Len())
- {
- pUnoCrsr->Right(1, CRSR_SKIP_CHARS, FALSE, FALSE);
- }
- else
- {
- sal_Bool bTmp = pUnoCrsr->GoNextWordWT( i18n::WordType::DICTIONARY_WORD );
- //if there is no next word within the current paragraph try to go to the start of the next paragraph
- if(!bTmp)
- pUnoCrsr->MovePara(fnParaNext, fnParaStart);
- }
+ // remember old position to check if cursor has moved
+ // since the called functions are sometimes a bit unreliable
+ // in specific cases...
+ SwPosition *const pPoint = rUnoCursor.GetPoint();
+ SwNode *const pOldNode = &pPoint->nNode.GetNode();
+ xub_StrLen const nOldIndex = pPoint->nContent.GetIndex();
- // return true if cursor has moved
- bRet = &pPoint->nNode.GetNode() != pOldNode ||
- pPoint->nContent.GetIndex() != nOldIndex;
- if (bRet && (CURSOR_META == eType))
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ // end of paragraph
+ if (rUnoCursor.GetCntntNode() &&
+ (pPoint->nContent == rUnoCursor.GetCntntNode()->Len()))
+ {
+ rUnoCursor.Right(1, CRSR_SKIP_CHARS, FALSE, FALSE);
+ }
+ else
+ {
+ const bool bTmp =
+ rUnoCursor.GoNextWordWT( i18n::WordType::DICTIONARY_WORD );
+ // if there is no next word within the current paragraph
+ // try to go to the start of the next paragraph
+ if (!bTmp)
{
- bRet = lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_CHECK_BOTH);
+ rUnoCursor.MovePara(fnParaNext, fnParaStart);
}
}
- else
+
+ // return true if cursor has moved
+ bRet = (&pPoint->nNode.GetNode() != pOldNode) ||
+ (pPoint->nContent.GetIndex() != nOldIndex);
+ if (bRet && (CURSOR_META == m_pImpl->m_eType))
{
- throw uno::RuntimeException();
+ bRet = lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText,
+ META_CHECK_BOTH);
}
return bRet;
}
+
/*-- 09.12.98 14:18:45---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoPreviousWord(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoPreviousWord(sal_Bool Expand) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- // hier machen Leerzeichen am Absatzanfang Probleme
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- sal_Bool bRet = sal_False;
- if(pUnoCrsr)
- {
- SwPosition *pPoint = pUnoCrsr->GetPoint();
- SwNode *pOldNode = &pPoint->nNode.GetNode();
- xub_StrLen nOldIndex = pPoint->nContent.GetIndex();
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- //Absatzanfang ?
- if(pPoint->nContent == 0)
- {
- pUnoCrsr->Left(1, CRSR_SKIP_CHARS, FALSE, FALSE);
- }
- else
- {
- pUnoCrsr->GoPrevWordWT( i18n::WordType::DICTIONARY_WORD );
- if(pPoint->nContent == 0)
- pUnoCrsr->Left(1, CRSR_SKIP_CHARS, FALSE, FALSE);
- }
+ // hier machen Leerzeichen am Absatzanfang Probleme
+ sal_Bool bRet = sal_False;
+ SwPosition *const pPoint = rUnoCursor.GetPoint();
+ SwNode *const pOldNode = &pPoint->nNode.GetNode();
+ xub_StrLen const nOldIndex = pPoint->nContent.GetIndex();
- // return true if cursor has moved
- bRet = &pPoint->nNode.GetNode() != pOldNode ||
- pPoint->nContent.GetIndex() != nOldIndex;
- if (bRet && (CURSOR_META == eType))
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ // start of paragraph?
+ if (pPoint->nContent == 0)
+ {
+ rUnoCursor.Left(1, CRSR_SKIP_CHARS, FALSE, FALSE);
+ }
+ else
+ {
+ rUnoCursor.GoPrevWordWT( i18n::WordType::DICTIONARY_WORD );
+ if (pPoint->nContent == 0)
{
- bRet = lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_CHECK_BOTH);
+ rUnoCursor.Left(1, CRSR_SKIP_CHARS, FALSE, FALSE);
}
}
- else
+
+ // return true if cursor has moved
+ bRet = (&pPoint->nNode.GetNode() != pOldNode) ||
+ (pPoint->nContent.GetIndex() != nOldIndex);
+ if (bRet && (CURSOR_META == m_pImpl->m_eType))
{
- throw uno::RuntimeException();
+ bRet = lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText,
+ META_CHECK_BOTH);
}
return bRet;
}
+
/*-- 09.12.98 14:18:45---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoEndOfWord(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoEndOfWord(sal_Bool Expand) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
sal_Bool bRet = sal_False;
- if(pUnoCrsr)
- {
- SwPosition *pPoint = pUnoCrsr->GetPoint();
- SwNode &rOldNode = pPoint->nNode.GetNode();
- xub_StrLen nOldIndex = pPoint->nContent.GetIndex();
+ SwPosition *const pPoint = rUnoCursor.GetPoint();
+ SwNode & rOldNode = pPoint->nNode.GetNode();
+ xub_StrLen const nOldIndex = pPoint->nContent.GetIndex();
- sal_Int16 nWordType = i18n::WordType::DICTIONARY_WORD;
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- if(!pUnoCrsr->IsEndWordWT( nWordType ))
- pUnoCrsr->GoEndWordWT( nWordType );
+ const sal_Int16 nWordType = i18n::WordType::DICTIONARY_WORD;
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ if (!rUnoCursor.IsEndWordWT( nWordType ))
+ {
+ rUnoCursor.GoEndWordWT( nWordType );
+ }
- // restore old cursor if we are not at the end of a word by now
- // otherwise use current one
- bRet = pUnoCrsr->IsEndWordWT( nWordType );
- if (!bRet)
- {
- pPoint->nNode = rOldNode;
- pPoint->nContent = nOldIndex;
- }
- else if (CURSOR_META == eType)
- {
- bRet = lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_CHECK_BOTH);
- }
+ // restore old cursor if we are not at the end of a word by now
+ // otherwise use current one
+ bRet = rUnoCursor.IsEndWordWT( nWordType );
+ if (!bRet)
+ {
+ pPoint->nNode = rOldNode;
+ pPoint->nContent = nOldIndex;
}
- else
+ else if (CURSOR_META == m_pImpl->m_eType)
{
- throw uno::RuntimeException();
+ bRet = lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText,
+ META_CHECK_BOTH);
}
return bRet;
@@ -1519,270 +1563,266 @@ sal_Bool SwXTextCursor::gotoEndOfWord(sal_Bool Expand) throw( uno::RuntimeExcept
/*-- 09.12.98 14:18:46---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoStartOfWord(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoStartOfWord(sal_Bool Expand) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
sal_Bool bRet = sal_False;
- if(pUnoCrsr)
- {
- SwPosition *pPoint = pUnoCrsr->GetPoint();
- SwNode &rOldNode = pPoint->nNode.GetNode();
- xub_StrLen nOldIndex = pPoint->nContent.GetIndex();
+ SwPosition *const pPoint = rUnoCursor.GetPoint();
+ SwNode & rOldNode = pPoint->nNode.GetNode();
+ xub_StrLen const nOldIndex = pPoint->nContent.GetIndex();
- sal_Int16 nWordType = i18n::WordType::DICTIONARY_WORD;
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- if(!pUnoCrsr->IsStartWordWT( nWordType ))
- pUnoCrsr->GoStartWordWT( nWordType );
+ const sal_Int16 nWordType = i18n::WordType::DICTIONARY_WORD;
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ if (!rUnoCursor.IsStartWordWT( nWordType ))
+ {
+ rUnoCursor.GoStartWordWT( nWordType );
+ }
- // restore old cursor if we are not at the start of a word by now
- // otherwise use current one
- bRet = pUnoCrsr->IsStartWordWT( nWordType );
- if (!bRet)
- {
- pPoint->nNode = rOldNode;
- pPoint->nContent = nOldIndex;
- }
- else if (CURSOR_META == eType)
- {
- bRet = lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_CHECK_BOTH);
- }
+ // restore old cursor if we are not at the start of a word by now
+ // otherwise use current one
+ bRet = rUnoCursor.IsStartWordWT( nWordType );
+ if (!bRet)
+ {
+ pPoint->nNode = rOldNode;
+ pPoint->nContent = nOldIndex;
}
- else
+ else if (CURSOR_META == m_pImpl->m_eType)
{
- throw uno::RuntimeException();
+ bRet = lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText,
+ META_CHECK_BOTH);
}
return bRet;
}
+
/*-- 09.12.98 14:18:46---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::isStartOfSentence(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::isStartOfSentence() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ // start of paragraph?
+ sal_Bool bRet = rUnoCursor.GetPoint()->nContent == 0;
+ // with mark ->no sentence start
+ // (check if cursor is no selection, i.e. it does not have
+ // a mark or else point and mark are identical)
+ if (!bRet && (!rUnoCursor.HasMark() ||
+ *rUnoCursor.GetPoint() == *rUnoCursor.GetMark()))
{
- // start of paragraph?
- bRet = pUnoCrsr->GetPoint()->nContent == 0;
- // with mark ->no sentence start
- // (check if cursor is no selection, i.e. it does not have
- // a mark or else point and mark are identical)
- if(!bRet && (!pUnoCrsr->HasMark() ||
- *pUnoCrsr->GetPoint() == *pUnoCrsr->GetMark()))
- {
- SwCursor aCrsr(*pUnoCrsr->GetPoint(),0,false);
- SwPosition aOrigPos = *aCrsr.GetPoint();
- aCrsr.GoSentence(SwCursor::START_SENT );
- bRet = aOrigPos == *aCrsr.GetPoint();
- }
+ SwCursor aCrsr(*rUnoCursor.GetPoint(),0,false);
+ SwPosition aOrigPos = *aCrsr.GetPoint();
+ aCrsr.GoSentence(SwCursor::START_SENT );
+ bRet = aOrigPos == *aCrsr.GetPoint();
}
- else
- throw uno::RuntimeException();
return bRet;
}
/*-- 09.12.98 14:18:47---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::isEndOfSentence(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::isEndOfSentence() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ // end of paragraph?
+ sal_Bool bRet = rUnoCursor.GetCntntNode() &&
+ (rUnoCursor.GetPoint()->nContent == rUnoCursor.GetCntntNode()->Len());
+ // with mark->no sentence end
+ // (check if cursor is no selection, i.e. it does not have
+ // a mark or else point and mark are identical)
+ if (!bRet && (!rUnoCursor.HasMark() ||
+ *rUnoCursor.GetPoint() == *rUnoCursor.GetMark()))
{
- //end of paragraph?
- bRet = pUnoCrsr->GetCntntNode() &&
- pUnoCrsr->GetPoint()->nContent == pUnoCrsr->GetCntntNode()->Len();
- // with mark->no sentence end
- // (check if cursor is no selection, i.e. it does not have
- // a mark or else point and mark are identical)
- if(!bRet && (!pUnoCrsr->HasMark() ||
- *pUnoCrsr->GetPoint() == *pUnoCrsr->GetMark()))
- {
- SwCursor aCrsr(*pUnoCrsr->GetPoint(),0,false);
- SwPosition aOrigPos = *aCrsr.GetPoint();
- aCrsr.GoSentence(SwCursor::END_SENT );
- bRet = aOrigPos == *aCrsr.GetPoint();
- }
+ SwCursor aCrsr(*rUnoCursor.GetPoint(), 0, false);
+ SwPosition aOrigPos = *aCrsr.GetPoint();
+ aCrsr.GoSentence(SwCursor::END_SENT);
+ bRet = aOrigPos == *aCrsr.GetPoint();
}
- else
- throw uno::RuntimeException();
return bRet;
}
+
/*-- 09.12.98 14:18:47---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoNextSentence(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoNextSentence(sal_Bool Expand) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ const bool bWasEOS = isEndOfSentence();
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ sal_Bool bRet = rUnoCursor.GoSentence(SwCursor::NEXT_SENT);
+ if (!bRet)
{
- BOOL bWasEOS = isEndOfSentence();
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- bRet = pUnoCrsr->GoSentence(SwCursor::NEXT_SENT);
- if(!bRet)
- bRet = pUnoCrsr->MovePara(fnParaNext, fnParaStart);
+ bRet = rUnoCursor.MovePara(fnParaNext, fnParaStart);
+ }
- // if at the end of the sentence (i.e. at the space after the '.')
- // advance to next word in order for GoSentence to work properly
- // next time and have isStartOfSentence return true after this call
- if (!pUnoCrsr->IsStartWord())
- {
- BOOL bNextWord = pUnoCrsr->GoNextWord();
- if (bWasEOS && !bNextWord)
- bRet = sal_False;
- }
- if (CURSOR_META == eType)
+ // if at the end of the sentence (i.e. at the space after the '.')
+ // advance to next word in order for GoSentence to work properly
+ // next time and have isStartOfSentence return true after this call
+ if (!rUnoCursor.IsStartWord())
+ {
+ const bool bNextWord = rUnoCursor.GoNextWord();
+ if (bWasEOS && !bNextWord)
{
- bRet = lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_CHECK_BOTH)
- && bRet;
+ bRet = sal_False;
}
}
- else
- throw uno::RuntimeException();
+ if (CURSOR_META == m_pImpl->m_eType)
+ {
+ bRet = lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText,
+ META_CHECK_BOTH)
+ && bRet;
+ }
return bRet;
}
/*-- 09.12.98 14:18:47---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoPreviousSentence(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoPreviousSentence(sal_Bool Expand)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ sal_Bool bRet = rUnoCursor.GoSentence(SwCursor::PREV_SENT);
+ if (!bRet)
{
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- bRet = pUnoCrsr->GoSentence(SwCursor::PREV_SENT);
- if(!bRet)
- {
- if(0 != (bRet = pUnoCrsr->MovePara(fnParaPrev, fnParaStart)))
- {
- pUnoCrsr->MovePara(fnParaCurr, fnParaEnd);
- //at the end of a paragraph move to the sentence end again
- //
- pUnoCrsr->GoSentence(SwCursor::PREV_SENT);
- }
- }
- if (CURSOR_META == eType)
+ bRet = rUnoCursor.MovePara(fnParaPrev, fnParaStart);
+ if (bRet)
{
- bRet = lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_CHECK_BOTH)
- && bRet;
+ rUnoCursor.MovePara(fnParaCurr, fnParaEnd);
+ // at the end of a paragraph move to the sentence end again
+ rUnoCursor.GoSentence(SwCursor::PREV_SENT);
}
}
- else
- throw uno::RuntimeException();
+ if (CURSOR_META == m_pImpl->m_eType)
+ {
+ bRet = lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText,
+ META_CHECK_BOTH)
+ && bRet;
+ }
return bRet;
}
+
/* -----------------15.10.99 08:24-------------------
--------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoStartOfSentence(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoStartOfSentence(sal_Bool Expand)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
- {
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- // if we're at the para start then we wont move
- // but bRet is also true if GoSentence failed but
- // the start of the sentence is reached
- bRet = SwUnoCursorHelper::IsStartOfPara(*pUnoCrsr)
- || pUnoCrsr->GoSentence(SwCursor::START_SENT) ||
- SwUnoCursorHelper::IsStartOfPara(*pUnoCrsr);
- if (CURSOR_META == eType)
- {
- bRet = lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_CHECK_BOTH)
- && bRet;
- }
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ // if we're at the para start then we wont move
+ // but bRet is also true if GoSentence failed but
+ // the start of the sentence is reached
+ bRet = SwUnoCursorHelper::IsStartOfPara(rUnoCursor)
+ || rUnoCursor.GoSentence(SwCursor::START_SENT)
+ || SwUnoCursorHelper::IsStartOfPara(rUnoCursor);
+ if (CURSOR_META == m_pImpl->m_eType)
+ {
+ bRet = lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText,
+ META_CHECK_BOTH)
+ && bRet;
}
- else
- throw uno::RuntimeException();
return bRet;
}
/* -----------------15.10.99 08:24-------------------
--------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoEndOfSentence(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoEndOfSentence(sal_Bool Expand) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
- {
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- // bRet is true if GoSentence() succeeded or if the
- // MovePara() succeeded while the end of the para is
- // not reached already
- sal_Bool bAlreadyParaEnd = SwUnoCursorHelper::IsEndOfPara(*pUnoCrsr);
- bRet = !bAlreadyParaEnd &&
- (pUnoCrsr->GoSentence(SwCursor::END_SENT) ||
- pUnoCrsr->MovePara(fnParaCurr, fnParaEnd));
- if (CURSOR_META == eType)
- {
- bRet = lcl_ForceIntoMeta(*pUnoCrsr, xParentText, META_CHECK_BOTH)
- && bRet;
- }
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ // bRet is true if GoSentence() succeeded or if the
+ // MovePara() succeeded while the end of the para is
+ // not reached already
+ sal_Bool bAlreadyParaEnd = SwUnoCursorHelper::IsEndOfPara(rUnoCursor);
+ bRet = !bAlreadyParaEnd
+ && (rUnoCursor.GoSentence(SwCursor::END_SENT)
+ || rUnoCursor.MovePara(fnParaCurr, fnParaEnd));
+ if (CURSOR_META == m_pImpl->m_eType)
+ {
+ bRet = lcl_ForceIntoMeta(rUnoCursor, m_pImpl->m_xParentText,
+ META_CHECK_BOTH)
+ && bRet;
}
- else
- throw uno::RuntimeException();
return bRet;
}
/*-- 09.12.98 14:18:48---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::isStartOfParagraph(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::isStartOfParagraph() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
- bRet = SwUnoCursorHelper::IsStartOfPara(*pUnoCrsr);
- else
- throw uno::RuntimeException();
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ const sal_Bool bRet = SwUnoCursorHelper::IsStartOfPara(rUnoCursor);
return bRet;
}
/*-- 09.12.98 14:18:48---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::isEndOfParagraph(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::isEndOfParagraph() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
- bRet = SwUnoCursorHelper::IsEndOfPara(*pUnoCrsr);
- else
- throw uno::RuntimeException();
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ const sal_Bool bRet = SwUnoCursorHelper::IsEndOfPara(rUnoCursor);
return bRet;
}
+
/*-- 09.12.98 14:18:49---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoStartOfParagraph(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoStartOfParagraph(sal_Bool Expand)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- if (CURSOR_META == eType)
- return bRet;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr )
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ if (CURSOR_META == m_pImpl->m_eType)
{
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- bRet = SwUnoCursorHelper::IsStartOfPara(*pUnoCrsr);
- if(!bRet)
- bRet = pUnoCrsr->MovePara(fnParaCurr, fnParaStart);
+ return sal_False;
+ }
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ sal_Bool bRet = SwUnoCursorHelper::IsStartOfPara(rUnoCursor);
+ if (!bRet)
+ {
+ bRet = rUnoCursor.MovePara(fnParaCurr, fnParaStart);
}
- else
- throw uno::RuntimeException();
// since MovePara(fnParaCurr, fnParaStart) only returns false
// if we were already at the start of the paragraph this function
@@ -1793,22 +1833,23 @@ sal_Bool SwXTextCursor::gotoStartOfParagraph(sal_Bool Expand) throw( uno::Runtim
/*-- 09.12.98 14:18:49---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoEndOfParagraph(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoEndOfParagraph(sal_Bool Expand) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- if (CURSOR_META == eType)
- return bRet;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ if (CURSOR_META == m_pImpl->m_eType)
{
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- bRet = SwUnoCursorHelper::IsEndOfPara(*pUnoCrsr);
- if(!bRet)
- bRet = pUnoCrsr->MovePara(fnParaCurr, fnParaEnd);
+ return sal_False;
+ }
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ sal_Bool bRet = SwUnoCursorHelper::IsEndOfPara(rUnoCursor);
+ if (!bRet)
+ {
+ bRet = rUnoCursor.MovePara(fnParaCurr, fnParaEnd);
}
- else
- throw uno::RuntimeException();
// since MovePara(fnParaCurr, fnParaEnd) only returns false
// if we were already at the end of the paragraph this function
@@ -1816,404 +1857,459 @@ sal_Bool SwXTextCursor::gotoEndOfParagraph(sal_Bool Expand) throw( uno::RuntimeE
DBG_ASSERT( bRet, "gotoEndOfParagraph failed" );
return bRet;
}
+
/*-- 09.12.98 14:18:50---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoNextParagraph(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoNextParagraph(sal_Bool Expand) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- if (CURSOR_META == eType)
- return bRet;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ if (CURSOR_META == m_pImpl->m_eType)
{
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- bRet = pUnoCrsr->MovePara(fnParaNext, fnParaStart);
+ return sal_False;
}
- else
- throw uno::RuntimeException();
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ const sal_Bool bRet = rUnoCursor.MovePara(fnParaNext, fnParaStart);
return bRet;
}
/*-- 09.12.98 14:18:50---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::gotoPreviousParagraph(sal_Bool Expand) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXTextCursor::gotoPreviousParagraph(sal_Bool Expand)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Bool bRet = sal_False;
- if (CURSOR_META == eType)
- return bRet;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ if (CURSOR_META == m_pImpl->m_eType)
{
- SwXTextCursor::SelectPam(*pUnoCrsr, Expand);
- bRet = pUnoCrsr->MovePara(fnParaPrev, fnParaStart);
+ return sal_False;
}
- else
- throw uno::RuntimeException();
+ SwUnoCursorHelper::SelectPam(rUnoCursor, Expand);
+ const sal_Bool bRet = rUnoCursor.MovePara(fnParaPrev, fnParaStart);
return bRet;
}
+
/*-- 09.12.98 14:18:50---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< XText > SwXTextCursor::getText(void) throw( uno::RuntimeException )
+uno::Reference< text::XText > SAL_CALL
+SwXTextCursor::getText() throw (uno::RuntimeException)
{
- return xParentText;
+ vos::OGuard g(Application::GetSolarMutex());
+
+ return m_pImpl->m_xParentText;
}
+
/*-- 09.12.98 14:18:50---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< XTextRange > SwXTextCursor::getStart(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXTextCursor::getStart() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< XTextRange > xRet;
- SwUnoCrsr* pUnoCrsr = ((SwXTextCursor*)this)->GetCrsr();
- if( pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ uno::Reference< text::XTextRange > xRet;
+ SwPaM aPam(*rUnoCursor.Start());
+ const uno::Reference< text::XText > xParent = getText();
+ if (CURSOR_META == m_pImpl->m_eType)
{
- SwPaM aPam(*pUnoCrsr->Start());
- uno::Reference< XText > xParent = getText();
- if (CURSOR_META == eType)
- {
- // return cursor to prevent modifying SwXTextRange for META
- SwXTextCursor * const pCursor(
- new SwXTextCursor(xParent, *pUnoCrsr->GetPoint(),
- CURSOR_META, pUnoCrsr->GetDoc()) );
- pCursor->gotoStart(sal_False);
- xRet = static_cast<text::XWordCursor*>(pCursor);
- }
- else
- {
- xRet = new SwXTextRange(aPam, xParent);
- }
+ // return cursor to prevent modifying SwXTextRange for META
+ SwXTextCursor * const pXCursor(
+ new SwXTextCursor(*rUnoCursor.GetDoc(), xParent, CURSOR_META,
+ *rUnoCursor.GetPoint()) );
+ pXCursor->gotoStart(sal_False);
+ xRet = static_cast<text::XWordCursor*>(pXCursor);
}
else
- throw uno::RuntimeException();
+ {
+ xRet = new SwXTextRange(aPam, xParent);
+ }
return xRet;
}
/*-- 09.12.98 14:18:51---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< XTextRange > SwXTextCursor::getEnd(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXTextCursor::getEnd() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< XTextRange > xRet;
- SwUnoCrsr* pUnoCrsr = ((SwXTextCursor*)this)->GetCrsr();
- if( pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ uno::Reference< text::XTextRange > xRet;
+ SwPaM aPam(*rUnoCursor.End());
+ const uno::Reference< text::XText > xParent = getText();
+ if (CURSOR_META == m_pImpl->m_eType)
{
- SwPaM aPam(*pUnoCrsr->End());
- uno::Reference< XText > xParent = getText();
- if (CURSOR_META == eType)
- {
- // return cursor to prevent modifying SwXTextRange for META
- SwXTextCursor * const pCursor(
- new SwXTextCursor(xParent, *pUnoCrsr->GetPoint(),
- CURSOR_META, pUnoCrsr->GetDoc()) );
- pCursor->gotoEnd(sal_False);
- xRet = static_cast<text::XWordCursor*>(pCursor);
- }
- else
- {
- xRet = new SwXTextRange(aPam, xParent);
- }
+ // return cursor to prevent modifying SwXTextRange for META
+ SwXTextCursor * const pXCursor(
+ new SwXTextCursor(*rUnoCursor.GetDoc(), xParent, CURSOR_META,
+ *rUnoCursor.GetPoint()) );
+ pXCursor->gotoEnd(sal_False);
+ xRet = static_cast<text::XWordCursor*>(pXCursor);
}
else
- throw uno::RuntimeException();
+ {
+ xRet = new SwXTextRange(aPam, xParent);
+ }
return xRet;
}
+
/*-- 09.12.98 14:18:51---------------------------------------------------
-----------------------------------------------------------------------*/
-OUString SwXTextCursor::getString(void) throw( uno::RuntimeException )
+OUString SAL_CALL SwXTextCursor::getString() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
OUString aTxt;
- SwUnoCrsr* pUnoCrsr = ((SwXTextCursor*)this)->GetCrsr();
- if( pUnoCrsr)
- {
-/* if( pUnoCrsr->GetPoint()->nNode.GetIndex() ==
- pUnoCrsr->GetMark()->nNode.GetIndex() )
- {
- SwTxtNode* pTxtNd = pUnoCrsr->GetNode()->GetTxtNode();
- if( pTxtNd )
- {
- sal_uInt16 nStt = pUnoCrsr->Start()->nContent.GetIndex();
- aTxt = pTxtNd->GetExpandTxt( nStt,
- pUnoCrsr->End()->nContent.GetIndex() - nStt );
- }
- }
- else
-*/ {
- //Text ueber mehrere Absaetze
- SwXTextCursor::getTextFromPam(*pUnoCrsr, aTxt);
- }
- }
- else
- throw uno::RuntimeException();
+ SwUnoCursorHelper::GetTextFromPam(rUnoCursor, aTxt);
return aTxt;
}
/*-- 09.12.98 14:18:52---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::setString(const OUString& aString) throw( uno::RuntimeException )
+void SAL_CALL
+SwXTextCursor::setString(const OUString& aString) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(!pUnoCrsr)
- throw uno::RuntimeException();
- const bool bForceExpandHints( (CURSOR_META != eType)
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+ (void) rUnoCursor; // just to check if valid
+
+ const bool bForceExpandHints( (CURSOR_META != m_pImpl->m_eType)
? false
- : dynamic_cast<SwXMeta*>(xParentText.get())->CheckForOwnMemberMeta(
- 0, GetPaM(), true) );
+ : dynamic_cast<SwXMeta*>(m_pImpl->m_xParentText.get())
+ ->CheckForOwnMemberMeta(*GetPaM(), true) );
DeleteAndInsert(aString, bForceExpandHints);
}
+
/* -----------------------------03.05.00 12:56--------------------------------
---------------------------------------------------------------------------*/
-Any SwXTextCursor::GetPropertyValue(
+uno::Any SwUnoCursorHelper::GetPropertyValue(
SwPaM& rPaM, const SfxItemPropertySet& rPropSet,
const OUString& rPropertyName)
- throw( UnknownPropertyException, WrappedTargetException, RuntimeException)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- Any aAny;
- const SfxItemPropertySimpleEntry* pEntry = rPropSet.getPropertyMap()->getByName(
- rPropertyName);
- if(pEntry)
+ uno::Any aAny;
+ SfxItemPropertySimpleEntry const*const pEntry =
+ rPropSet.getPropertyMap()->getByName(rPropertyName);
+
+ if (!pEntry)
{
- PropertyState eTemp;
- BOOL bDone = SwUnoCursorHelper::getCrsrPropertyValue( *pEntry, rPaM, &aAny, eTemp );
- if(!bDone)
- {
- SfxItemSet aSet(rPaM.GetDoc()->GetAttrPool(),
- RES_CHRATR_BEGIN, RES_FRMATR_END -1,
- RES_TXTATR_UNKNOWN_CONTAINER, RES_TXTATR_UNKNOWN_CONTAINER,
- RES_UNKNOWNATR_CONTAINER, RES_UNKNOWNATR_CONTAINER,
- 0L);
- SwXTextCursor::GetCrsrAttr(rPaM, aSet);
-
- rPropSet.getPropertyValue(*pEntry, aSet, aAny);
- }
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName, static_cast<cppu::OWeakObject *>(0));
+ }
+
+ beans::PropertyState eTemp;
+ const sal_Bool bDone = SwUnoCursorHelper::getCrsrPropertyValue(
+ *pEntry, rPaM, &aAny, eTemp );
+
+ if (!bDone)
+ {
+ SfxItemSet aSet(rPaM.GetDoc()->GetAttrPool(),
+ RES_CHRATR_BEGIN, RES_FRMATR_END - 1,
+ RES_TXTATR_UNKNOWN_CONTAINER, RES_TXTATR_UNKNOWN_CONTAINER,
+ RES_UNKNOWNATR_CONTAINER, RES_UNKNOWNATR_CONTAINER,
+ 0L);
+ SwUnoCursorHelper::GetCrsrAttr(rPaM, aSet);
+
+ rPropSet.getPropertyValue(*pEntry, aSet, aAny);
}
- else
- throw UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( 0 ) );
return aAny;
}
/* -----------------------------03.05.00 12:57--------------------------------
---------------------------------------------------------------------------*/
-void SwXTextCursor::SetPropertyValue(
- SwPaM& rPaM, const SfxItemPropertySet& rPropSet, const OUString& rPropertyName,
- const Any& aValue, USHORT nAttrMode)
- throw (UnknownPropertyException, PropertyVetoException,
- IllegalArgumentException, WrappedTargetException, RuntimeException)
+void SwUnoCursorHelper::SetPropertyValue(
+ SwPaM& rPaM, const SfxItemPropertySet& rPropSet,
+ const OUString& rPropertyName,
+ const uno::Any& rValue,
+ const SetAttrMode nAttrMode, const bool bTableMode)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- SwDoc* pDoc = rPaM.GetDoc();
- const SfxItemPropertySimpleEntry* pEntry = rPropSet.getPropertyMap()->getByName(rPropertyName);
- if(pEntry)
+ SwDoc *const pDoc = rPaM.GetDoc();
+ SfxItemPropertySimpleEntry const*const pEntry =
+ rPropSet.getPropertyMap()->getByName(rPropertyName);
+ if (!pEntry)
{
- if( pEntry->nFlags & PropertyAttribute::READONLY)
- throw PropertyVetoException ( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Property is read-only: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( 0 ) );
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(0));
+ }
+
+ if (pEntry->nFlags & beans::PropertyAttribute::READONLY)
+ {
+ throw beans::PropertyVetoException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Property is read-only: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(0));
+ }
- SfxItemSet aItemSet( pDoc->GetAttrPool(), pEntry->nWID, pEntry->nWID );
- SwXTextCursor::GetCrsrAttr( rPaM, aItemSet );
+ SfxItemSet aItemSet( pDoc->GetAttrPool(), pEntry->nWID, pEntry->nWID );
+ SwUnoCursorHelper::GetCrsrAttr( rPaM, aItemSet );
- if(!lcl_setCrsrPropertyValue( pEntry, rPaM, aItemSet, aValue ))
- rPropSet.setPropertyValue(*pEntry, aValue, aItemSet );
- SwXTextCursor::SetCrsrAttr(rPaM, aItemSet, nAttrMode );
+ if (!SwUnoCursorHelper::SetCursorPropertyValue(
+ *pEntry, rValue, rPaM, aItemSet))
+ {
+ rPropSet.setPropertyValue(*pEntry, rValue, aItemSet );
}
- else
- throw UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( 0 ) );
+ SwUnoCursorHelper::SetCrsrAttr(rPaM, aItemSet, nAttrMode, bTableMode);
}
+
/* -----------------------------03.05.00 13:16--------------------------------
---------------------------------------------------------------------------*/
-Sequence< PropertyState > SwXTextCursor::GetPropertyStates(
+uno::Sequence< beans::PropertyState >
+SwUnoCursorHelper::GetPropertyStates(
SwPaM& rPaM, const SfxItemPropertySet& rPropSet,
- const Sequence< OUString >& PropertyNames,
- SwGetPropertyStatesCaller eCaller )
- throw(UnknownPropertyException, RuntimeException)
+ const uno::Sequence< OUString >& rPropertyNames,
+ const SwGetPropertyStatesCaller eCaller)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
- const OUString* pNames = PropertyNames.getConstArray();
- Sequence< PropertyState > aRet ( PropertyNames.getLength() );
- PropertyState* pStates = aRet.getArray();
+ const OUString* pNames = rPropertyNames.getConstArray();
+ uno::Sequence< beans::PropertyState > aRet(rPropertyNames.getLength());
+ beans::PropertyState* pStates = aRet.getArray();
+ SfxItemPropertyMap const*const pMap = rPropSet.getPropertyMap();
+ ::std::auto_ptr<SfxItemSet> pSet;
+ ::std::auto_ptr<SfxItemSet> pSetParent;
- SfxItemSet *pSet = 0, *pSetParent = 0;
- const SfxItemPropertyMap *pMap = rPropSet.getPropertyMap();
- for( INT32 i = 0, nEnd = PropertyNames.getLength(); i < nEnd; i++ )
+ for (sal_Int32 i = 0, nEnd = rPropertyNames.getLength(); i < nEnd; i++)
{
- const SfxItemPropertySimpleEntry* pEntry = pMap->getByName( pNames[i] );
+ SfxItemPropertySimpleEntry const*const pEntry =
+ pMap->getByName( pNames[i] );
if(!pEntry)
{
- if(pNames[i].equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_HIDDEN_TEXT)) ||
- pNames[i].equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_PROTECTED_TEXT)))
+ if (pNames[i].equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_HIDDEN_TEXT)) ||
+ pNames[i].equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_PROTECTED_TEXT)))
{
pStates[i] = beans::PropertyState_DEFAULT_VALUE;
continue;
}
- else if( SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION_TOLERANT == eCaller )
+ else if (SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION_TOLERANT ==
+ eCaller)
{
//this values marks the element as unknown property
pStates[i] = beans::PropertyState_MAKE_FIXED_SIZE;
continue;
}
else
- throw UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + pNames[i], static_cast < cppu::OWeakObject * > ( 0 ) );
+ {
+ throw beans::UnknownPropertyException(
+ OUString( RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + pNames[i],
+ static_cast<cppu::OWeakObject *>(0));
+ }
}
- if ((eCaller == SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION || eCaller == SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION_TOLERANT) &&
+ if (((SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION == eCaller) ||
+ (SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION_TOLERANT == eCaller)) &&
pEntry->nWID < FN_UNO_RANGE_BEGIN &&
pEntry->nWID > FN_UNO_RANGE_END &&
pEntry->nWID < RES_CHRATR_BEGIN &&
pEntry->nWID > RES_TXTATR_END )
+ {
pStates[i] = beans::PropertyState_DEFAULT_VALUE;
+ }
else
{
if ( pEntry->nWID >= FN_UNO_RANGE_BEGIN &&
pEntry->nWID <= FN_UNO_RANGE_END )
- SwUnoCursorHelper::getCrsrPropertyValue(*pEntry, rPaM, 0, pStates[i] );
+ {
+ SwUnoCursorHelper::getCrsrPropertyValue(
+ *pEntry, rPaM, 0, pStates[i] );
+ }
else
{
- if( !pSet )
+ if (!pSet.get())
{
switch ( eCaller )
{
case SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION_TOLERANT:
case SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION:
- pSet = new SfxItemSet( rPaM.GetDoc()->GetAttrPool(),
- RES_CHRATR_BEGIN, RES_TXTATR_END );
+ pSet.reset(
+ new SfxItemSet( rPaM.GetDoc()->GetAttrPool(),
+ RES_CHRATR_BEGIN, RES_TXTATR_END ));
break;
case SW_PROPERTY_STATE_CALLER_SINGLE_VALUE_ONLY:
- pSet = new SfxItemSet( rPaM.GetDoc()->GetAttrPool(),
- pEntry->nWID, pEntry->nWID );
+ pSet.reset(
+ new SfxItemSet( rPaM.GetDoc()->GetAttrPool(),
+ pEntry->nWID, pEntry->nWID ));
break;
default:
- pSet = new SfxItemSet( rPaM.GetDoc()->GetAttrPool(),
+ pSet.reset( new SfxItemSet(
+ rPaM.GetDoc()->GetAttrPool(),
RES_CHRATR_BEGIN, RES_FRMATR_END - 1,
RES_UNKNOWNATR_CONTAINER, RES_UNKNOWNATR_CONTAINER,
RES_TXTATR_UNKNOWN_CONTAINER, RES_TXTATR_UNKNOWN_CONTAINER,
- 0L );
+ 0L ));
}
// --> OD 2006-07-12 #i63870#
- SwXTextCursor::GetCrsrAttr( rPaM, *pSet );
+ SwUnoCursorHelper::GetCrsrAttr( rPaM, *pSet );
// <--
}
- if( pSet->Count() )
- pStates[i] = rPropSet.getPropertyState( *pEntry, *pSet );
- else
- pStates[i] = PropertyState_DEFAULT_VALUE;
+ pStates[i] = ( pSet->Count() )
+ ? rPropSet.getPropertyState( *pEntry, *pSet )
+ : beans::PropertyState_DEFAULT_VALUE;
//try again to find out if a value has been inherited
if( beans::PropertyState_DIRECT_VALUE == pStates[i] )
{
- if( !pSetParent )
+ if (!pSetParent.get())
{
- pSetParent = pSet->Clone( FALSE );
+ pSetParent.reset( pSet->Clone( FALSE ) );
// --> OD 2006-07-12 #i63870#
- SwXTextCursor::GetCrsrAttr( rPaM, *pSetParent, TRUE, FALSE );
+ SwUnoCursorHelper::GetCrsrAttr(
+ rPaM, *pSetParent, TRUE, FALSE );
// <--
}
- if( (pSetParent)->Count() )
- pStates[i] = rPropSet.getPropertyState( *pEntry, *pSetParent );
- else
- pStates[i] = PropertyState_DEFAULT_VALUE;
+ pStates[i] = ( (pSetParent)->Count() )
+ ? rPropSet.getPropertyState( *pEntry, *pSetParent )
+ : beans::PropertyState_DEFAULT_VALUE;
}
}
}
}
- delete pSet;
- delete pSetParent;
return aRet;
}
/* -----------------------------03.05.00 13:17--------------------------------
---------------------------------------------------------------------------*/
-PropertyState SwXTextCursor::GetPropertyState(
- SwPaM& rPaM, const SfxItemPropertySet& rPropSet, const OUString& rPropertyName)
- throw(UnknownPropertyException, RuntimeException)
+beans::PropertyState SwUnoCursorHelper::GetPropertyState(
+ SwPaM& rPaM, const SfxItemPropertySet& rPropSet,
+ const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
- Sequence < OUString > aStrings ( 1 );
+ uno::Sequence< OUString > aStrings ( 1 );
aStrings[0] = rPropertyName;
- Sequence < PropertyState > aSeq = GetPropertyStates( rPaM, rPropSet, aStrings, SW_PROPERTY_STATE_CALLER_SINGLE_VALUE_ONLY );
+ uno::Sequence< beans::PropertyState > aSeq =
+ GetPropertyStates(rPaM, rPropSet, aStrings,
+ SW_PROPERTY_STATE_CALLER_SINGLE_VALUE_ONLY );
return aSeq[0];
}
/* -----------------------------03.05.00 13:20--------------------------------
---------------------------------------------------------------------------*/
-void lcl_SelectParaAndReset ( SwPaM &rPaM, SwDoc* pDoc, const SvUShortsSort* pWhichIds = 0 )
+static void
+lcl_SelectParaAndReset( SwPaM &rPaM, SwDoc & rDoc,
+ SvUShortsSort const*const pWhichIds = 0 )
{
// if we are reseting paragraph attributes, we need to select the full paragraph first
SwPosition aStart = *rPaM.Start();
SwPosition aEnd = *rPaM.End();
- auto_ptr < SwUnoCrsr > pTemp ( pDoc->CreateUnoCrsr(aStart, FALSE) );
+ ::std::auto_ptr< SwUnoCrsr > pTemp ( rDoc.CreateUnoCrsr(aStart, FALSE) );
if(!SwUnoCursorHelper::IsStartOfPara(*pTemp))
+ {
pTemp->MovePara(fnParaCurr, fnParaStart);
+ }
pTemp->SetMark();
*pTemp->GetPoint() = aEnd;
- SwXTextCursor::SelectPam(*pTemp, sal_True);
+ SwUnoCursorHelper::SelectPam(*pTemp, true);
if(!SwUnoCursorHelper::IsEndOfPara(*pTemp))
+ {
pTemp->MovePara(fnParaCurr, fnParaEnd);
- pDoc->ResetAttrs(*pTemp, sal_True, pWhichIds);
+ }
+ rDoc.ResetAttrs(*pTemp, sal_True, pWhichIds);
}
-void SwXTextCursor::SetPropertyToDefault(
+void SwUnoCursorHelper::SetPropertyToDefault(
SwPaM& rPaM, const SfxItemPropertySet& rPropSet,
const OUString& rPropertyName)
- throw(UnknownPropertyException, RuntimeException)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
- NAMESPACE_VOS(OGuard) aGuard(Application::GetSolarMutex());
- SwDoc* pDoc = rPaM.GetDoc();
- const SfxItemPropertySimpleEntry* pEntry = rPropSet.getPropertyMap()->getByName( rPropertyName);
- if(pEntry)
+ SwDoc & rDoc = *rPaM.GetDoc();
+ SfxItemPropertySimpleEntry const*const pEntry =
+ rPropSet.getPropertyMap()->getByName(rPropertyName);
+ if (!pEntry)
+ {
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName, static_cast<cppu::OWeakObject *>(0));
+ }
+
+ if (pEntry->nFlags & beans::PropertyAttribute::READONLY)
+ {
+ throw uno::RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "setPropertyToDefault: property is read-only: "))
+ + rPropertyName, 0);
+ }
+
+ if (pEntry->nWID < RES_FRMATR_END)
{
- if ( pEntry->nFlags & PropertyAttribute::READONLY)
- throw RuntimeException( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "setPropertyToDefault: property is read-only: " ) ) + rPropertyName, 0 );
- if(pEntry->nWID < RES_FRMATR_END)
+ SvUShortsSort aWhichIds;
+ aWhichIds.Insert(pEntry->nWID);
+ if (pEntry->nWID < RES_PARATR_BEGIN)
{
- SvUShortsSort aWhichIds;
- aWhichIds.Insert(pEntry->nWID);
- if(pEntry->nWID < RES_PARATR_BEGIN)
- pDoc->ResetAttrs(rPaM, sal_True, &aWhichIds);
- else
- lcl_SelectParaAndReset ( rPaM, pDoc, &aWhichIds );
+ rDoc.ResetAttrs(rPaM, sal_True, &aWhichIds);
}
else
- SwUnoCursorHelper::resetCrsrPropertyValue(*pEntry, rPaM);
+ {
+ lcl_SelectParaAndReset ( rPaM, rDoc, &aWhichIds );
+ }
}
else
- throw UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( 0 ) );
+ {
+ SwUnoCursorHelper::resetCrsrPropertyValue(*pEntry, rPaM);
+ }
}
+
/* -----------------------------03.05.00 13:19--------------------------------
---------------------------------------------------------------------------*/
-Any SwXTextCursor::GetPropertyDefault(
+uno::Any SwUnoCursorHelper::GetPropertyDefault(
SwPaM& rPaM, const SfxItemPropertySet& rPropSet,
const OUString& rPropertyName)
- throw( UnknownPropertyException, WrappedTargetException, RuntimeException)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- Any aRet;
- SwDoc* pDoc = rPaM.GetDoc();
- const SfxItemPropertySimpleEntry* pEntry = rPropSet.getPropertyMap()->getByName( rPropertyName);
- if(pEntry)
+ SfxItemPropertySimpleEntry const*const pEntry =
+ rPropSet.getPropertyMap()->getByName(rPropertyName);
+ if (!pEntry)
{
- if(pEntry->nWID < RES_FRMATR_END)
- {
- const SfxPoolItem& rDefItem = pDoc->GetAttrPool().GetDefaultItem(pEntry->nWID);
- rDefItem.QueryValue(aRet, pEntry->nMemberId);
- }
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName, static_cast<cppu::OWeakObject *>(0));
+ }
+
+ uno::Any aRet;
+ if (pEntry->nWID < RES_FRMATR_END)
+ {
+ SwDoc & rDoc = *rPaM.GetDoc();
+ const SfxPoolItem& rDefItem =
+ rDoc.GetAttrPool().GetDefaultItem(pEntry->nWID);
+ rDefItem.QueryValue(aRet, pEntry->nMemberId);
}
- else
- throw UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( 0 ) );
return aRet;
}
+
/*-- 09.12.98 14:18:54---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< beans::XPropertySetInfo > SwXTextCursor::getPropertySetInfo(void) throw( uno::RuntimeException )
+uno::Reference< beans::XPropertySetInfo > SAL_CALL
+SwXTextCursor::getPropertySetInfo() throw (uno::RuntimeException)
{
+ vos::OGuard g(Application::GetSolarMutex());
+
static uno::Reference< beans::XPropertySetInfo > xRef;
if(!xRef.is())
{
@@ -2223,7 +2319,8 @@ uno::Reference< beans::XPropertySetInfo > SwXTextCursor::getPropertySetInfo(voi
{ SW_PROP_NAME(UNO_NAME_IS_SKIP_PROTECTED_TEXT), FN_SKIP_PROTECTED_TEXT, &::getBooleanCppuType(), PROPERTY_NONE, 0},
{0,0,0,0,0,0}
};
- uno::Reference< beans::XPropertySetInfo > xInfo = m_pPropSet->getPropertySetInfo();
+ const uno::Reference< beans::XPropertySetInfo > xInfo =
+ m_pImpl->m_rPropSet.getPropertySetInfo();
// PropertySetInfo verlaengern!
const uno::Sequence<beans::Property> aPropSeq = xInfo->getProperties();
xRef = new SfxExtItemPropertySetInfo(
@@ -2232,291 +2329,881 @@ uno::Reference< beans::XPropertySetInfo > SwXTextCursor::getPropertySetInfo(voi
}
return xRef;
}
+
/*-- 09.12.98 14:18:54---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::setPropertyValue(const OUString& rPropertyName, const uno::Any& aValue)
- throw( beans::UnknownPropertyException, beans::PropertyVetoException,
- lang::IllegalArgumentException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXTextCursor::setPropertyValue(
+ const OUString& rPropertyName, const uno::Any& rValue)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ if (rPropertyName.equalsAsciiL(SW_PROP_NAME(UNO_NAME_IS_SKIP_HIDDEN_TEXT)))
{
- if(rPropertyName.equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_HIDDEN_TEXT)))
+ sal_Bool bSet(sal_False);
+ if (!(rValue >>= bSet))
{
- sal_Bool bSet = *(sal_Bool*)aValue.getValue();
- pUnoCrsr->SetSkipOverHiddenSections(bSet);
+ throw lang::IllegalArgumentException();
}
- else if(rPropertyName.equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_PROTECTED_TEXT)))
+ rUnoCursor.SetSkipOverHiddenSections(bSet);
+ }
+ else if (rPropertyName.equalsAsciiL(
+ SW_PROP_NAME(UNO_NAME_IS_SKIP_PROTECTED_TEXT)))
+ {
+ sal_Bool bSet(sal_False);
+ if (!(rValue >>= bSet))
{
- sal_Bool bSet = *(sal_Bool*)aValue.getValue();
- pUnoCrsr->SetSkipOverProtectSections(bSet);
+ throw lang::IllegalArgumentException();
}
- else
- SetPropertyValue(*pUnoCrsr, *m_pPropSet, rPropertyName, aValue);
+ rUnoCursor.SetSkipOverProtectSections(bSet);
}
else
- throw uno::RuntimeException();
-
+ {
+ SwUnoCursorHelper::SetPropertyValue(rUnoCursor,
+ m_pImpl->m_rPropSet, rPropertyName, rValue);
+ }
}
+
/*-- 09.12.98 14:18:55---------------------------------------------------
-----------------------------------------------------------------------*/
-Any SwXTextCursor::getPropertyValue(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL
+SwXTextCursor::getPropertyValue(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
uno::Any aAny;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+ if (rPropertyName.equalsAsciiL(SW_PROP_NAME(UNO_NAME_IS_SKIP_HIDDEN_TEXT)))
{
- if(rPropertyName.equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_HIDDEN_TEXT)))
- {
- BOOL bSet = pUnoCrsr->IsSkipOverHiddenSections();
- aAny.setValue(&bSet, ::getBooleanCppuType());
- }
- else if(rPropertyName.equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_PROTECTED_TEXT)))
- {
- BOOL bSet = pUnoCrsr->IsSkipOverProtectSections();
- aAny.setValue(&bSet, ::getBooleanCppuType());
- }
- else
- aAny = GetPropertyValue(*pUnoCrsr, *m_pPropSet, rPropertyName);
+ const sal_Bool bSet = rUnoCursor.IsSkipOverHiddenSections();
+ aAny <<= bSet;
+ }
+ else if (rPropertyName.equalsAsciiL(
+ SW_PROP_NAME(UNO_NAME_IS_SKIP_PROTECTED_TEXT)))
+ {
+ const sal_Bool bSet = rUnoCursor.IsSkipOverProtectSections();
+ aAny <<= bSet;
}
else
- throw uno::RuntimeException();
+ {
+ aAny = SwUnoCursorHelper::GetPropertyValue(rUnoCursor,
+ m_pImpl->m_rPropSet, rPropertyName);
+ }
return aAny;
-
}
+
/*-- 09.12.98 14:18:55---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::addPropertyChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXTextCursor::addPropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextCursor::addPropertyChangeListener(): not implemented");
}
+
/*-- 09.12.98 14:18:57---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::removePropertyChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXTextCursor::removePropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextCursor::removePropertyChangeListener(): not implemented");
}
+
/*-- 09.12.98 14:18:57---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::addVetoableChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXTextCursor::addVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextCursor::addVetoableChangeListener(): not implemented");
}
+
/*-- 09.12.98 14:18:58---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::removeVetoableChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXTextCursor::removeVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextCursor::removeVetoableChangeListener(): not implemented");
}
+
/*-- 05.03.99 11:36:11---------------------------------------------------
-----------------------------------------------------------------------*/
-beans::PropertyState SwXTextCursor::getPropertyState(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, uno::RuntimeException )
+beans::PropertyState SAL_CALL
+SwXTextCursor::getPropertyState(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- beans::PropertyState eRet = beans::PropertyState_DEFAULT_VALUE;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
- {
- eRet = GetPropertyState(*pUnoCrsr, *m_pPropSet, rPropertyName);
- }
- else
- throw RuntimeException();
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ const beans::PropertyState eRet = SwUnoCursorHelper::GetPropertyState(
+ rUnoCursor, m_pImpl->m_rPropSet, rPropertyName);
return eRet;
}
/*-- 05.03.99 11:36:11---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Sequence< beans::PropertyState > SwXTextCursor::getPropertyStates(
- const uno::Sequence< OUString >& PropertyNames)
- throw( beans::UnknownPropertyException, uno::RuntimeException )
+uno::Sequence< beans::PropertyState > SAL_CALL
+SwXTextCursor::getPropertyStates(
+ const uno::Sequence< OUString >& rPropertyNames)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(!pUnoCrsr)
- throw RuntimeException();
- return GetPropertyStates(*pUnoCrsr, *m_pPropSet, PropertyNames);
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ return SwUnoCursorHelper::GetPropertyStates(
+ rUnoCursor, m_pImpl->m_rPropSet, rPropertyNames);
}
+
/*-- 05.03.99 11:36:12---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::setPropertyToDefault(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, uno::RuntimeException )
+void SAL_CALL
+SwXTextCursor::setPropertyToDefault(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
- Sequence < OUString > aSequence ( &rPropertyName, 1 );
+ // forward: need no solar mutex here
+ uno::Sequence < OUString > aSequence ( &rPropertyName, 1 );
setPropertiesToDefault ( aSequence );
}
/*-- 05.03.99 11:36:12---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXTextCursor::getPropertyDefault(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL
+SwXTextCursor::getPropertyDefault(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- const Sequence < OUString > aSequence ( &rPropertyName, 1 );
+ // forward: need no solar mutex here
+ const uno::Sequence < OUString > aSequence ( &rPropertyName, 1 );
return getPropertyDefaults ( aSequence ).getConstArray()[0];
}
-void SAL_CALL SwXTextCursor::setAllPropertiesToDefault()
- throw (RuntimeException)
-{
- vos::OGuard aGuard(Application::GetSolarMutex());
+// para specific attribut ranges
+static USHORT g_ParaResetableSetRange[] = {
+ RES_FRMATR_BEGIN, RES_FRMATR_END-1,
+ RES_PARATR_BEGIN, RES_PARATR_END-1,
+ // --> OD 2008-02-25 #refactorlists#
+ RES_PARATR_LIST_BEGIN, RES_PARATR_LIST_END-1,
+ // <--
+ RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
+ 0
+};
+
+// selection specific attribut ranges
+static USHORT g_ResetableSetRange[] = {
+ RES_CHRATR_BEGIN, RES_CHRATR_END-1,
+ RES_TXTATR_INETFMT, RES_TXTATR_INETFMT,
+ RES_TXTATR_CHARFMT, RES_TXTATR_CHARFMT,
+ RES_TXTATR_CJK_RUBY, RES_TXTATR_CJK_RUBY,
+ RES_TXTATR_UNKNOWN_CONTAINER, RES_TXTATR_UNKNOWN_CONTAINER,
+ 0
+};
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if (pUnoCrsr)
+static void
+lcl_EnumerateIds(USHORT const* pIdRange, SvUShortsSort & rWhichIds)
+{
+ while (*pIdRange)
{
- // para specific attribut ranges
- USHORT aParaResetableSetRange[] = {
- RES_FRMATR_BEGIN, RES_FRMATR_END-1,
- RES_PARATR_BEGIN, RES_PARATR_END-1,
- // --> OD 2008-02-25 #refactorlists#
- RES_PARATR_LIST_BEGIN, RES_PARATR_LIST_END-1,
- // <--
- RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
- 0
- };
- // selection specific attribut ranges
- USHORT aResetableSetRange[] = {
- RES_CHRATR_BEGIN, RES_CHRATR_END-1,
- RES_TXTATR_INETFMT, RES_TXTATR_INETFMT,
- RES_TXTATR_CHARFMT, RES_TXTATR_CHARFMT,
- RES_TXTATR_CJK_RUBY, RES_TXTATR_CJK_RUBY,
- RES_TXTATR_UNKNOWN_CONTAINER, RES_TXTATR_UNKNOWN_CONTAINER,
- 0
- };
- SvUShortsSort aParaWhichIds;
- SvUShortsSort aWhichIds;
- for (USHORT k = 0; k < 2; ++k)
+ const USHORT nStart = sal::static_int_cast<USHORT>(*pIdRange++);
+ const USHORT nEnd = sal::static_int_cast<USHORT>(*pIdRange++);
+ for (USHORT nId = nStart + 1; nId <= nEnd; ++nId)
{
- SvUShortsSort &rWhichIds = k == 0? aParaWhichIds : aWhichIds;
- USHORT *pResetableSetRange = k == 0? aParaResetableSetRange : aResetableSetRange;
- while (*pResetableSetRange)
- {
- USHORT nStart = sal::static_int_cast< USHORT >(*pResetableSetRange++);
- USHORT nEnd = sal::static_int_cast< USHORT >(*pResetableSetRange++);
- for (USHORT nId = nStart + 1; nId <= nEnd; ++nId)
- rWhichIds.Insert( nId );
- }
+ rWhichIds.Insert( nId );
}
- if (aParaWhichIds.Count())
- lcl_SelectParaAndReset( *pUnoCrsr, pUnoCrsr->GetDoc(), &aParaWhichIds );
- if (aWhichIds.Count() )
- pUnoCrsr->GetDoc()->ResetAttrs( *pUnoCrsr, sal_True, &aWhichIds );
}
- else
- throw uno::RuntimeException();
}
-void SAL_CALL SwXTextCursor::setPropertiesToDefault( const Sequence< OUString >& aPropertyNames )
- throw (UnknownPropertyException, RuntimeException)
+void SAL_CALL
+SwXTextCursor::setAllPropertiesToDefault()
+throw (uno::RuntimeException)
+{
+ vos::OGuard aGuard(Application::GetSolarMutex());
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ SvUShortsSort aParaWhichIds;
+ SvUShortsSort aWhichIds;
+ lcl_EnumerateIds(g_ParaResetableSetRange, aParaWhichIds);
+ lcl_EnumerateIds(g_ResetableSetRange, aWhichIds);
+ if (aParaWhichIds.Count())
+ {
+ lcl_SelectParaAndReset(rUnoCursor, *rUnoCursor.GetDoc(),
+ &aParaWhichIds);
+ }
+ if (aWhichIds.Count())
+ {
+ rUnoCursor.GetDoc()->ResetAttrs(rUnoCursor, sal_True, &aWhichIds);
+ }
+}
+
+void SAL_CALL
+SwXTextCursor::setPropertiesToDefault(
+ const uno::Sequence< OUString >& rPropertyNames)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Int32 nCount = aPropertyNames.getLength();
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ const sal_Int32 nCount = rPropertyNames.getLength();
if ( nCount )
{
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+ SwDoc & rDoc = *rUnoCursor.GetDoc();
+ const OUString * pNames = rPropertyNames.getConstArray();
+ SvUShortsSort aWhichIds;
+ SvUShortsSort aParaWhichIds;
+ for (sal_Int32 i = 0; i < nCount; i++)
{
- SwDoc* pDoc = pUnoCrsr->GetDoc();
- const OUString * pNames = aPropertyNames.getConstArray();
- SvUShortsSort aWhichIds, aParaWhichIds;
- for ( sal_Int32 i = 0; i < nCount; i++ )
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName( pNames[i] );
+ if (!pEntry)
{
- const SfxItemPropertySimpleEntry* pEntry = m_pPropSet->getPropertyMap()->getByName( pNames[i] );
- if(!pEntry)
+ if (pNames[i].equalsAsciiL(
+ SW_PROP_NAME(UNO_NAME_IS_SKIP_HIDDEN_TEXT)) ||
+ pNames[i].equalsAsciiL(
+ SW_PROP_NAME(UNO_NAME_IS_SKIP_PROTECTED_TEXT)))
{
- if(pNames[i].equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_HIDDEN_TEXT)) ||
- pNames[i].equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_PROTECTED_TEXT)))
- {
- continue;
- }
- else
- throw UnknownPropertyException ( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + pNames[i], static_cast < cppu::OWeakObject * > ( 0 ) );
+ continue;
}
- if( pEntry->nFlags & PropertyAttribute::READONLY)
- throw RuntimeException( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "setPropertiesToDefault: property is read-only: " ) ) + pNames[i], static_cast < cppu::OWeakObject * > ( this ) );
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + pNames[i],
+ static_cast<cppu::OWeakObject *>(this));
+ }
+ if (pEntry->nFlags & beans::PropertyAttribute::READONLY)
+ {
+ throw uno::RuntimeException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "setPropertiesToDefault: property is read-only: "))
+ + pNames[i],
+ static_cast<cppu::OWeakObject *>(this));
+ }
- if( pEntry->nWID < RES_FRMATR_END)
+ if (pEntry->nWID < RES_FRMATR_END)
+ {
+ if (pEntry->nWID < RES_PARATR_BEGIN)
+ {
+ aWhichIds.Insert(pEntry->nWID);
+ }
+ else
{
- if(pEntry->nWID < RES_PARATR_BEGIN)
- aWhichIds.Insert(pEntry->nWID);
- else
- aParaWhichIds.Insert (pEntry->nWID);
+ aParaWhichIds.Insert(pEntry->nWID);
}
- else if ( pEntry->nWID == FN_UNO_NUM_START_VALUE )
- SwUnoCursorHelper::resetCrsrPropertyValue(*pEntry, *pUnoCrsr);
}
+ else if (pEntry->nWID == FN_UNO_NUM_START_VALUE)
+ {
+ SwUnoCursorHelper::resetCrsrPropertyValue(*pEntry, rUnoCursor);
+ }
+ }
- if ( aParaWhichIds.Count() )
- lcl_SelectParaAndReset ( *pUnoCrsr, pDoc, &aParaWhichIds );
- if (aWhichIds.Count() )
- pDoc->ResetAttrs(*pUnoCrsr, sal_True, &aWhichIds);
+ if (aParaWhichIds.Count())
+ {
+ lcl_SelectParaAndReset(rUnoCursor, rDoc, &aParaWhichIds);
+ }
+ if (aWhichIds.Count())
+ {
+ rDoc.ResetAttrs(rUnoCursor, sal_True, &aWhichIds);
}
- else
- throw uno::RuntimeException();
}
}
-Sequence< Any > SAL_CALL SwXTextCursor::getPropertyDefaults( const Sequence< OUString >& aPropertyNames )
- throw (UnknownPropertyException, WrappedTargetException, RuntimeException)
+
+uno::Sequence< uno::Any > SAL_CALL
+SwXTextCursor::getPropertyDefaults(
+ const uno::Sequence< OUString >& rPropertyNames)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Int32 nCount = aPropertyNames.getLength();
- Sequence < Any > aRet ( nCount );
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ const sal_Int32 nCount = rPropertyNames.getLength();
+ uno::Sequence< uno::Any > aRet(nCount);
if ( nCount )
{
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if (pUnoCrsr)
+ SwDoc & rDoc = *rUnoCursor.GetDoc();
+ const OUString *pNames = rPropertyNames.getConstArray();
+ uno::Any *pAny = aRet.getArray();
+ for (sal_Int32 i = 0; i < nCount; i++)
{
- SwDoc* pDoc = pUnoCrsr->GetDoc();
- const OUString *pNames = aPropertyNames.getConstArray();
- Any *pAny = aRet.getArray();
- for ( sal_Int32 i = 0; i < nCount; i++)
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName( pNames[i] );
+ if (!pEntry)
{
- const SfxItemPropertySimpleEntry* pEntry = m_pPropSet->getPropertyMap()->getByName( pNames[i] );
- if(!pEntry)
+ if (pNames[i].equalsAsciiL(
+ SW_PROP_NAME(UNO_NAME_IS_SKIP_HIDDEN_TEXT)) ||
+ pNames[i].equalsAsciiL(
+ SW_PROP_NAME(UNO_NAME_IS_SKIP_PROTECTED_TEXT)))
{
- if(pNames[i].equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_HIDDEN_TEXT)) ||
- pNames[i].equalsAsciiL( SW_PROP_NAME(UNO_NAME_IS_SKIP_PROTECTED_TEXT)))
+ continue;
+ }
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + pNames[i],
+ static_cast<cppu::OWeakObject *>(0));
+ }
+ if (pEntry->nWID < RES_FRMATR_END)
+ {
+ const SfxPoolItem& rDefItem =
+ rDoc.GetAttrPool().GetDefaultItem(pEntry->nWID);
+ rDefItem.QueryValue(pAny[i], pEntry->nMemberId);
+ }
+ }
+ }
+ return aRet;
+}
+
+/*-- 10.03.2008 09:58:47---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void SAL_CALL
+SwXTextCursor::makeRedline(
+ const ::rtl::OUString& rRedlineType,
+ const uno::Sequence< beans::PropertyValue >& rRedlineProperties)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
+{
+ vos::OGuard aGuard(Application::GetSolarMutex());
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ SwUnoCursorHelper::makeRedline(rUnoCursor, rRedlineType, rRedlineProperties);
+}
+
+/*-- 09.12.98 14:18:58---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void SAL_CALL SwXTextCursor::insertDocumentFromURL(const OUString& rURL,
+ const uno::Sequence< beans::PropertyValue >& rOptions)
+throw (lang::IllegalArgumentException, io::IOException,
+ uno::RuntimeException)
+{
+ vos::OGuard aGuard(Application::GetSolarMutex());
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ SwUnoCursorHelper::InsertFile(&rUnoCursor, rURL, rOptions);
+}
+
+/* -----------------------------15.12.00 14:01--------------------------------
+
+ ---------------------------------------------------------------------------*/
+uno::Sequence< beans::PropertyValue >
+SwUnoCursorHelper::CreateSortDescriptor(const bool bFromTable)
+{
+ uno::Sequence< beans::PropertyValue > aRet(5);
+ beans::PropertyValue* pArray = aRet.getArray();
+
+ uno::Any aVal;
+ aVal.setValue( &bFromTable, ::getCppuBooleanType());
+ pArray[0] = beans::PropertyValue(C2U("IsSortInTable"), -1, aVal,
+ beans::PropertyState_DIRECT_VALUE);
+
+ aVal <<= sal_Unicode(' ');
+ pArray[1] = beans::PropertyValue(C2U("Delimiter"), -1, aVal,
+ beans::PropertyState_DIRECT_VALUE);
+
+ aVal <<= (sal_Bool) sal_False;
+ pArray[2] = beans::PropertyValue(C2U("IsSortColumns"), -1, aVal,
+ beans::PropertyState_DIRECT_VALUE);
+
+ aVal <<= (sal_Int32) 3;
+ pArray[3] = beans::PropertyValue(C2U("MaxSortFieldsCount"), -1, aVal,
+ beans::PropertyState_DIRECT_VALUE);
+
+ uno::Sequence< table::TableSortField > aFields(3);
+ table::TableSortField* pFields = aFields.getArray();
+
+ lang::Locale aLang( SvxCreateLocale( LANGUAGE_SYSTEM ) );
+ // get collator algorithm to be used for the locale
+ uno::Sequence< OUString > aSeq(
+ GetAppCollator().listCollatorAlgorithms( aLang ) );
+ const sal_Int32 nLen = aSeq.getLength();
+ DBG_ASSERT( nLen > 0, "list of collator algorithms is empty!");
+ OUString aCollAlg;
+ if (nLen > 0)
+ {
+ aCollAlg = aSeq.getConstArray()[0];
+ }
+
+#if OSL_DEBUG_LEVEL > 1
+ const OUString *pTxt = aSeq.getConstArray();
+ (void)pTxt;
+#endif
+
+ pFields[0].Field = 1;
+ pFields[0].IsAscending = sal_True;
+ pFields[0].IsCaseSensitive = sal_False;
+ pFields[0].FieldType = table::TableSortFieldType_ALPHANUMERIC;
+ pFields[0].CollatorLocale = aLang;
+ pFields[0].CollatorAlgorithm = aCollAlg;
+
+ pFields[1].Field = 1;
+ pFields[1].IsAscending = sal_True;
+ pFields[1].IsCaseSensitive = sal_False;
+ pFields[1].FieldType = table::TableSortFieldType_ALPHANUMERIC;
+ pFields[1].CollatorLocale = aLang;
+ pFields[1].CollatorAlgorithm = aCollAlg;
+
+ pFields[2].Field = 1;
+ pFields[2].IsAscending = sal_True;
+ pFields[2].IsCaseSensitive = sal_False;
+ pFields[2].FieldType = table::TableSortFieldType_ALPHANUMERIC;
+ pFields[2].CollatorLocale = aLang;
+ pFields[2].CollatorAlgorithm = aCollAlg;
+
+ aVal <<= aFields;
+ pArray[4] = beans::PropertyValue(C2U("SortFields"), -1, aVal,
+ beans::PropertyState_DIRECT_VALUE);
+
+ return aRet;
+}
+
+/*-- 09.12.98 14:18:58---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+uno::Sequence< beans::PropertyValue > SAL_CALL
+SwXTextCursor::createSortDescriptor() throw (uno::RuntimeException)
+{
+ vos::OGuard aGuard(Application::GetSolarMutex());
+
+ return SwUnoCursorHelper::CreateSortDescriptor(false);
+}
+
+/* -----------------------------15.12.00 14:06--------------------------------
+
+ ---------------------------------------------------------------------------*/
+sal_Bool SwUnoCursorHelper::ConvertSortProperties(
+ const uno::Sequence< beans::PropertyValue >& rDescriptor,
+ SwSortOptions& rSortOpt)
+{
+ sal_Bool bRet = sal_True;
+ const beans::PropertyValue* pProperties = rDescriptor.getConstArray();
+
+ rSortOpt.bTable = sal_False;
+ rSortOpt.cDeli = ' ';
+ rSortOpt.eDirection = SRT_COLUMNS; //!! UI text may be contrary though !!
+
+ SwSortKey* pKey1 = new SwSortKey;
+ pKey1->nColumnId = USHRT_MAX;
+ pKey1->bIsNumeric = TRUE;
+ pKey1->eSortOrder = SRT_ASCENDING;
+
+ SwSortKey* pKey2 = new SwSortKey;
+ pKey2->nColumnId = USHRT_MAX;
+ pKey2->bIsNumeric = TRUE;
+ pKey2->eSortOrder = SRT_ASCENDING;
+
+ SwSortKey* pKey3 = new SwSortKey;
+ pKey3->nColumnId = USHRT_MAX;
+ pKey3->bIsNumeric = TRUE;
+ pKey3->eSortOrder = SRT_ASCENDING;
+ SwSortKey* aKeys[3] = {pKey1, pKey2, pKey3};
+
+ sal_Bool bOldSortdescriptor(sal_False);
+ sal_Bool bNewSortdescriptor(sal_False);
+
+ for (sal_Int32 n = 0; n < rDescriptor.getLength(); ++n)
+ {
+ uno::Any aValue( pProperties[n].Value );
+// String sPropName = pProperties[n].Name;
+ const OUString& rPropName = pProperties[n].Name;
+
+ // old and new sortdescriptor
+ if (rPropName.equalsAscii("IsSortInTable"))
+ {
+ if (aValue.getValueType() == ::getBooleanCppuType())
+ {
+ rSortOpt.bTable = *(sal_Bool*)aValue.getValue();
+ }
+ else
+ {
+ bRet = sal_False;
+ }
+ }
+ else if (rPropName.equalsAscii("Delimiter"))
+ {
+ sal_Unicode uChar = sal_Unicode();
+ if (aValue >>= uChar)
+ {
+ rSortOpt.cDeli = uChar;
+ }
+ else
+ {
+ bRet = sal_False;
+ }
+ }
+ // old sortdescriptor
+ else if (rPropName.equalsAscii("SortColumns"))
+ {
+ bOldSortdescriptor = sal_True;
+ sal_Bool bTemp(sal_False);
+ if (aValue >>= bTemp)
+ {
+ rSortOpt.eDirection = bTemp ? SRT_COLUMNS : SRT_ROWS;
+ }
+ else
+ {
+ bRet = sal_False;
+ }
+ }
+ else if ( rPropName.equalsAscii("IsCaseSensitive"))
+ {
+ bOldSortdescriptor = sal_True;
+ sal_Bool bTemp(sal_False);
+ if (aValue >>= bTemp)
+ {
+ rSortOpt.bIgnoreCase = !bTemp;
+ }
+ else
+ {
+ bRet = sal_False;
+ }
+ }
+ else if (rPropName.equalsAscii("CollatorLocale"))
+ {
+ bOldSortdescriptor = sal_True;
+ lang::Locale aLocale;
+ if (aValue >>= aLocale)
+ {
+ rSortOpt.nLanguage = SvxLocaleToLanguage( aLocale );
+ }
+ else
+ {
+ bRet = sal_False;
+ }
+ }
+ else if (rPropName.matchAsciiL("CollatorAlgorithm", 17) &&
+ rPropName.getLength() == 18 &&
+ (rPropName.getStr()[17] >= '0' && rPropName.getStr()[17] <= '9'))
+ {
+ bOldSortdescriptor = sal_True;
+ sal_uInt16 nIndex = rPropName.getStr()[17];
+ nIndex -= '0';
+ OUString aTxt;
+ if ((aValue >>= aTxt) && nIndex < 3)
+ {
+ aKeys[nIndex]->sSortType = aTxt;
+ }
+ else
+ {
+ bRet = sal_False;
+ }
+ }
+ else if (rPropName.matchAsciiL("SortRowOrColumnNo", 17) &&
+ rPropName.getLength() == 18 &&
+ (rPropName.getStr()[17] >= '0' && rPropName.getStr()[17] <= '9'))
+ {
+ bOldSortdescriptor = sal_True;
+ sal_uInt16 nIndex = rPropName.getStr()[17];
+ nIndex -= '0';
+ sal_Int16 nCol = -1;
+ if (aValue.getValueType() == ::getCppuType((const sal_Int16*)0)
+ && nIndex < 3)
+ {
+ aValue >>= nCol;
+ }
+ if (nCol >= 0)
+ {
+ aKeys[nIndex]->nColumnId = nCol;
+ }
+ else
+ {
+ bRet = sal_False;
+ }
+ }
+ else if (0 == rPropName.indexOf(C2U("IsSortNumeric")) &&
+ rPropName.getLength() == 14 &&
+ (rPropName.getStr()[13] >= '0' && rPropName.getStr()[13] <= '9'))
+ {
+ bOldSortdescriptor = sal_True;
+ sal_uInt16 nIndex = rPropName.getStr()[13];
+ nIndex = nIndex - '0';
+ if (aValue.getValueType() == ::getBooleanCppuType() && nIndex < 3)
+ {
+ sal_Bool bTemp = *(sal_Bool*)aValue.getValue();
+ aKeys[nIndex]->bIsNumeric = bTemp;
+ }
+ else
+ {
+ bRet = sal_False;
+ }
+ }
+ else if (0 == rPropName.indexOf(C2U("IsSortAscending")) &&
+ rPropName.getLength() == 16 &&
+ (rPropName.getStr()[15] >= '0' && rPropName.getStr()[15] <= '9'))
+ {
+ bOldSortdescriptor = sal_True;
+ sal_uInt16 nIndex = rPropName.getStr()[15];
+ nIndex -= '0';
+ if (aValue.getValueType() == ::getBooleanCppuType() && nIndex < 3)
+ {
+ sal_Bool bTemp = *(sal_Bool*)aValue.getValue();
+ aKeys[nIndex]->eSortOrder = (bTemp)
+ ? SRT_ASCENDING : SRT_DESCENDING;
+ }
+ else
+ {
+ bRet = sal_False;
+ }
+ }
+ // new sortdescriptor
+ else if (rPropName.equalsAscii("IsSortColumns"))
+ {
+ bNewSortdescriptor = sal_True;
+ if (aValue.getValueType() == ::getBooleanCppuType())
+ {
+ sal_Bool bTemp = *(sal_Bool*)aValue.getValue();
+ rSortOpt.eDirection = bTemp ? SRT_COLUMNS : SRT_ROWS;
+ }
+ else
+ {
+ bRet = sal_False;
+ }
+ }
+ else if (rPropName.equalsAscii("SortFields"))
+ {
+ bNewSortdescriptor = sal_True;
+ uno::Sequence < table::TableSortField > aFields;
+ if (aValue >>= aFields)
+ {
+ sal_Int32 nCount(aFields.getLength());
+ if (nCount <= 3)
+ {
+ table::TableSortField* pFields = aFields.getArray();
+ for (sal_Int32 i = 0; i < nCount; ++i)
{
- continue;
+ rSortOpt.bIgnoreCase = !pFields[i].IsCaseSensitive;
+ rSortOpt.nLanguage =
+ SvxLocaleToLanguage( pFields[i].CollatorLocale );
+ aKeys[i]->sSortType = pFields[i].CollatorAlgorithm;
+ aKeys[i]->nColumnId =
+ static_cast<USHORT>(pFields[i].Field);
+ aKeys[i]->bIsNumeric = (pFields[i].FieldType ==
+ table::TableSortFieldType_NUMERIC);
+ aKeys[i]->eSortOrder = (pFields[i].IsAscending)
+ ? SRT_ASCENDING : SRT_DESCENDING;
}
- else
- throw UnknownPropertyException ( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + pNames[i], static_cast < cppu::OWeakObject * > ( 0 ) );
}
- if(pEntry->nWID < RES_FRMATR_END)
+ else
{
- const SfxPoolItem& rDefItem = pDoc->GetAttrPool().GetDefaultItem(pEntry->nWID);
- rDefItem.QueryValue(pAny[i], pEntry->nMemberId);
+ bRet = sal_False;
}
}
+ else
+ {
+ bRet = sal_False;
+ }
}
- else
- throw UnknownPropertyException();
}
- return aRet;
+
+ if (bNewSortdescriptor && bOldSortdescriptor)
+ {
+ DBG_ERROR("someone tried to set the old deprecated and "
+ "the new sortdescriptor");
+ bRet = sal_False;
+ }
+
+ if (pKey1->nColumnId != USHRT_MAX)
+ {
+ rSortOpt.aKeys.C40_INSERT(SwSortKey, pKey1, rSortOpt.aKeys.Count());
+ }
+ if (pKey2->nColumnId != USHRT_MAX)
+ {
+ rSortOpt.aKeys.C40_INSERT(SwSortKey, pKey2, rSortOpt.aKeys.Count());
+ }
+ if (pKey3->nColumnId != USHRT_MAX)
+ {
+ rSortOpt.aKeys.C40_INSERT(SwSortKey, pKey3, rSortOpt.aKeys.Count());
+ }
+
+ return bRet && rSortOpt.aKeys.Count() > 0;
}
-/*-- 10.03.2008 09:58:47---------------------------------------------------
+/*-- 09.12.98 14:19:00---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::makeRedline(
- const ::rtl::OUString& rRedlineType,
- const uno::Sequence< beans::PropertyValue >& rRedlineProperties )
- throw (lang::IllegalArgumentException, uno::RuntimeException)
+void SAL_CALL
+SwXTextCursor::sort(const uno::Sequence< beans::PropertyValue >& rDescriptor)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
- SwUnoCursorHelper::makeRedline( *pUnoCrsr, rRedlineType, rRedlineProperties );
- else
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ if (rUnoCursor.HasMark())
+ {
+ SwSortOptions aSortOpt;
+ if (!SwUnoCursorHelper::ConvertSortProperties(rDescriptor, aSortOpt))
+ {
+ throw uno::RuntimeException();
+ }
+ UnoActionContext aContext( rUnoCursor.GetDoc() );
+
+ SwPosition & rStart = *rUnoCursor.Start();
+ SwPosition & rEnd = *rUnoCursor.End();
+
+ SwNodeIndex aPrevIdx( rStart.nNode, -1 );
+ const ULONG nOffset = rEnd.nNode.GetIndex() - rStart.nNode.GetIndex();
+ const xub_StrLen nCntStt = rStart.nContent.GetIndex();
+
+ rUnoCursor.GetDoc()->SortText(rUnoCursor, aSortOpt);
+
+ // Selektion wieder setzen
+ rUnoCursor.DeleteMark();
+ rUnoCursor.GetPoint()->nNode.Assign( aPrevIdx.GetNode(), +1 );
+ SwCntntNode *const pCNd = rUnoCursor.GetCntntNode();
+ xub_StrLen nLen = pCNd->Len();
+ if (nLen > nCntStt)
+ {
+ nLen = nCntStt;
+ }
+ rUnoCursor.GetPoint()->nContent.Assign(pCNd, nLen );
+ rUnoCursor.SetMark();
+
+ rUnoCursor.GetPoint()->nNode += nOffset;
+ SwCntntNode *const pCNd2 = rUnoCursor.GetCntntNode();
+ rUnoCursor.GetPoint()->nContent.Assign( pCNd2, pCNd2->Len() );
+ }
+}
+
+/* -----------------------------03.04.00 09:11--------------------------------
+
+ ---------------------------------------------------------------------------*/
+uno::Reference< container::XEnumeration > SAL_CALL
+SwXTextCursor::createContentEnumeration(const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!rServiceName.equalsAscii("com.sun.star.text.TextContent"))
+ {
+ throw uno::RuntimeException();
+ }
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ uno::Reference< container::XEnumeration > xRet =
+ new SwXParaFrameEnumeration(rUnoCursor, PARAFRAME_PORTION_TEXTRANGE);
+ return xRet;
+}
+
+/* -----------------------------07.03.01 14:53--------------------------------
+
+ ---------------------------------------------------------------------------*/
+uno::Reference< container::XEnumeration > SAL_CALL
+SwXTextCursor::createEnumeration() throw (uno::RuntimeException)
+{
+ vos::OGuard g(Application::GetSolarMutex());
+
+ SwUnoCrsr & rUnoCursor( m_pImpl->GetCursorOrThrow() );
+
+ const uno::Reference<lang::XUnoTunnel> xTunnel(
+ m_pImpl->m_xParentText, uno::UNO_QUERY);
+ SwXText* pParentText = 0;
+ if (xTunnel.is())
+ {
+ pParentText = ::sw::UnoTunnelGetImplementation<SwXText>(xTunnel);
+ }
+ DBG_ASSERT(pParentText, "parent is not a SwXText");
+ if (!pParentText)
+ {
throw uno::RuntimeException();
+ }
+
+ ::std::auto_ptr<SwUnoCrsr> pNewCrsr(
+ rUnoCursor.GetDoc()->CreateUnoCrsr(*rUnoCursor.GetPoint()) );
+ if (rUnoCursor.HasMark())
+ {
+ pNewCrsr->SetMark();
+ *pNewCrsr->GetMark() = *rUnoCursor.GetMark();
+ }
+ const CursorType eSetType = (CURSOR_TBLTEXT == m_pImpl->m_eType)
+ ? CURSOR_SELECTION_IN_TABLE : CURSOR_SELECTION;
+ SwTableNode const*const pStartNode( (CURSOR_TBLTEXT == m_pImpl->m_eType)
+ ? rUnoCursor.GetPoint()->nNode.GetNode().FindTableNode()
+ : 0);
+ SwTable const*const pTable(
+ (pStartNode) ? & pStartNode->GetTable() : 0 );
+ const uno::Reference< container::XEnumeration > xRet =
+ new SwXParagraphEnumeration(
+ pParentText, pNewCrsr, eSetType, pStartNode, pTable);
+
+ return xRet;
+}
+
+/* -----------------------------07.03.01 15:43--------------------------------
+
+ ---------------------------------------------------------------------------*/
+uno::Type SAL_CALL
+SwXTextCursor::getElementType() throw (uno::RuntimeException)
+{
+ return text::XTextRange::static_type();
+}
+
+/* -----------------------------07.03.01 15:43--------------------------------
+
+ ---------------------------------------------------------------------------*/
+sal_Bool SAL_CALL SwXTextCursor::hasElements() throw (uno::RuntimeException)
+{
+ return sal_True;
}
+
+/* -----------------------------03.04.00 09:11--------------------------------
+
+ ---------------------------------------------------------------------------*/
+uno::Sequence< OUString > SAL_CALL
+SwXTextCursor::getAvailableServiceNames() throw (uno::RuntimeException)
+{
+ uno::Sequence< OUString > aRet(1);
+ OUString* pArray = aRet.getArray();
+ pArray[0] = OUString::createFromAscii("com.sun.star.text.TextContent");
+ return aRet;
+}
+
+// ---------------------------------------------------------------------------
+IMPLEMENT_FORWARD_REFCOUNT( SwXTextCursor,SwXTextCursor_Base )
+
+uno::Any SAL_CALL
+SwXTextCursor::queryInterface(const uno::Type& rType)
+throw (uno::RuntimeException)
+{
+ return (rType == lang::XUnoTunnel::static_type())
+ ? OTextCursorHelper::queryInterface(rType)
+ : SwXTextCursor_Base::queryInterface(rType);
+}
+
diff --git a/sw/source/core/unocore/unoobj2.cxx b/sw/source/core/unocore/unoobj2.cxx
index 0cf7fe86d7..af58401f30 100644
--- a/sw/source/core/unocore/unoobj2.cxx
+++ b/sw/source/core/unocore/unoobj2.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoobj2.cxx,v $
- * $Revision: 1.70 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,7 +28,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
#include <rtl/ustrbuf.hxx>
#include <swtypes.hxx>
#include <hintids.hxx>
@@ -76,8 +72,11 @@
#include <sfx2/fcontnr.hxx>
#include <fmtrfmrk.hxx>
#include <txtrfmrk.hxx>
-#include <unoclbck.hxx>
-#include <unoobj.hxx>
+#include <unoparaframeenum.hxx>
+#include <unofootnote.hxx>
+#include <unotextbodyhf.hxx>
+#include <unotextrange.hxx>
+#include <unoparagraph.hxx>
#include <unomap.hxx>
#include <unoport.hxx>
#include <unocrsrhelper.hxx>
@@ -89,20 +88,19 @@
#include <unostyle.hxx>
#include <unofield.hxx>
#include <fmtanchr.hxx>
-#include <svx/flstitem.hxx>
-#include <svx/unolingu.hxx>
+#include <editeng/flstitem.hxx>
+#include <editeng/unolingu.hxx>
#include <svtools/ctrltool.hxx>
#include <flypos.hxx>
#include <txtftn.hxx>
#include <fmtftn.hxx>
+#include <fmtcntnt.hxx>
#include <com/sun/star/text/WrapTextMode.hpp>
#include <com/sun/star/text/TextContentAnchorType.hpp>
#include <com/sun/star/style/PageStyleLayout.hpp>
#include <com/sun/star/text/XTextDocument.hpp>
#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
-#include <unotools/collatorwrapper.hxx>
-#include <com/sun/star/table/TableSortField.hpp>
#include <unoidx.hxx>
#include <unoframe.hxx>
#include <fmthdft.hxx>
@@ -112,8 +110,8 @@
#define _SVSTDARR_USHORTS
#define _SVSTDARR_USHORTSSORT
#define _SVSTDARR_XUB_STRLEN
-#include <svtools/svstdarr.hxx>
-#include <svx/brshitem.hxx>
+#include <svl/svstdarr.hxx>
+#include <editeng/brshitem.hxx>
#include <fmtclds.hxx>
#include <dcontact.hxx>
#include <dflyobj.hxx>
@@ -122,6 +120,7 @@
#include <vector>
// OD 2004-05-24 #i28701#
#include <sortedobjs.hxx>
+#include <sortopt.hxx>
#include <algorithm>
#include <iterator>
@@ -129,17 +128,63 @@
using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::text;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::drawing;
-
using ::rtl::OUString;
+namespace sw {
+
+sal_Bool SupportsServiceImpl(
+ size_t const nServices, char const*const pServices[],
+ ::rtl::OUString const & rServiceName)
+{
+ for (size_t i = 0; i < nServices; ++i)
+ {
+ if (rServiceName.equalsAscii(pServices[i]))
+ {
+ return sal_True;
+ }
+ }
+ return sal_False;
+}
+
+uno::Sequence< ::rtl::OUString >
+GetSupportedServiceNamesImpl(
+ size_t const nServices, char const*const pServices[])
+{
+ uno::Sequence< ::rtl::OUString > ret(nServices);
+ for (size_t i = 0; i < nServices; ++i)
+ {
+ ret[i] = C2U(pServices[i]);
+ }
+ return ret;
+}
+
+} // namespace sw
+
+
+namespace sw {
+
+void DeepCopyPaM(SwPaM const & rSource, SwPaM & rTarget)
+{
+ rTarget = rSource;
+
+ if (rSource.GetNext() != &rSource)
+ {
+ SwPaM *pPam = static_cast<SwPaM *>(rSource.GetNext());
+ do
+ {
+ // create new PaM
+ SwPaM *const pNew = new SwPaM(*pPam);
+ // insert into ring
+ pNew->MoveTo(&rTarget);
+ pPam = static_cast<SwPaM *>(pPam->GetNext());
+ }
+ while (pPam != &rSource);
+ }
+}
+
+} // namespace sw
+
struct FrameDependSortListLess
{
bool operator() (FrameDependSortListEntry const& r1,
@@ -163,7 +208,8 @@ void CollectFrameAtNode( SwClient& rClnt, const SwNodeIndex& rIdx,
// gebunden sind
SwDoc* pDoc = rIdx.GetNode().GetDoc();
- USHORT nChkType = static_cast< USHORT >(_bAtCharAnchoredObjs ? FLY_AUTO_CNTNT : FLY_AT_CNTNT);
+ USHORT nChkType = static_cast< USHORT >((_bAtCharAnchoredObjs)
+ ? FLY_AT_CHAR : FLY_AT_PARA);
const SwCntntFrm* pCFrm;
const SwCntntNode* pCNd;
if( pDoc->GetRootFrm() &&
@@ -220,343 +266,61 @@ void CollectFrameAtNode( SwClient& rClnt, const SwNodeIndex& rIdx,
}
}
-
-/*-- 09.12.98 14:18:58---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-void SwXTextCursor::insertDocumentFromURL(const OUString& rURL,
- const uno::Sequence< beans::PropertyValue >& rOptions)
- throw( lang::IllegalArgumentException, io::IOException, uno::RuntimeException )
+/****************************************************************************
+ ActionContext
+****************************************************************************/
+UnoActionContext::UnoActionContext(SwDoc *const pDoc)
+ : m_pDoc(pDoc)
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+ SwRootFrm *const pRootFrm = m_pDoc->GetRootFrm();
+ if (pRootFrm)
{
- SwUnoCursorHelper::InsertFile(pUnoCrsr, rURL, rOptions);
+ pRootFrm->StartAllAction();
}
- else
- throw uno::RuntimeException();
-}
-/* -----------------------------15.12.00 14:01--------------------------------
-
- ---------------------------------------------------------------------------*/
-uno::Sequence< beans::PropertyValue > SwXTextCursor::createSortDescriptor(sal_Bool bFromTable)
-{
- uno::Sequence< beans::PropertyValue > aRet(5);
- beans::PropertyValue* pArray = aRet.getArray();
-
- uno::Any aVal;
- aVal.setValue( &bFromTable, ::getCppuBooleanType());
- pArray[0] = beans::PropertyValue(C2U("IsSortInTable"), -1, aVal, beans::PropertyState_DIRECT_VALUE);
-
- String sSpace(String::CreateFromAscii(" "));
- sal_Unicode uSpace = sSpace.GetChar(0);
-
- aVal <<= uSpace;
- pArray[1] = beans::PropertyValue(C2U("Delimiter"), -1, aVal, beans::PropertyState_DIRECT_VALUE);
-
- aVal <<= (sal_Bool) sal_False;
- pArray[2] = beans::PropertyValue(C2U("IsSortColumns"), -1, aVal, beans::PropertyState_DIRECT_VALUE);
-
- aVal <<= (sal_Int32) 3;
- pArray[3] = beans::PropertyValue(C2U("MaxSortFieldsCount"), -1, aVal, beans::PropertyState_DIRECT_VALUE);
-
- uno::Sequence< table::TableSortField > aFields(3);
- table::TableSortField* pFields = aFields.getArray();
-
- Locale aLang( SvxCreateLocale( LANGUAGE_SYSTEM ) );
- // get collator algorithm to be used for the locale
- Sequence < OUString > aSeq( GetAppCollator().listCollatorAlgorithms( aLang ) );
- INT32 nLen = aSeq.getLength();
- DBG_ASSERT( nLen > 0, "list of collator algorithms is empty!");
- OUString aCollAlg;
- if (nLen > 0)
- aCollAlg = aSeq.getConstArray()[0];
-
-#if OSL_DEBUG_LEVEL > 1
- const OUString *pTxt = aSeq.getConstArray();
- (void)pTxt;
-#endif
-
- pFields[0].Field = 1;
- pFields[0].IsAscending = sal_True;
- pFields[0].IsCaseSensitive = sal_False;
- pFields[0].FieldType = table::TableSortFieldType_ALPHANUMERIC;
- pFields[0].CollatorLocale = aLang;
- pFields[0].CollatorAlgorithm = aCollAlg;
-
- pFields[1].Field = 1;
- pFields[1].IsAscending = sal_True;
- pFields[1].IsCaseSensitive = sal_False;
- pFields[1].FieldType = table::TableSortFieldType_ALPHANUMERIC;
- pFields[1].CollatorLocale = aLang;
- pFields[1].CollatorAlgorithm = aCollAlg;
-
- pFields[2].Field = 1;
- pFields[2].IsAscending = sal_True;
- pFields[2].IsCaseSensitive = sal_False;
- pFields[2].FieldType = table::TableSortFieldType_ALPHANUMERIC;
- pFields[2].CollatorLocale = aLang;
- pFields[2].CollatorAlgorithm = aCollAlg;
-
- aVal <<= aFields;
- pArray[4] = beans::PropertyValue(C2U("SortFields"), -1, aVal, beans::PropertyState_DIRECT_VALUE);
-
- return aRet;
}
-/*-- 09.12.98 14:18:58---------------------------------------------------
+/*-----------------04.03.98 11:56-------------------
- -----------------------------------------------------------------------*/
-uno::Sequence< beans::PropertyValue > SwXTextCursor::createSortDescriptor(void) throw( uno::RuntimeException )
+--------------------------------------------------*/
+UnoActionContext::~UnoActionContext()
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- return SwXTextCursor::createSortDescriptor(sal_False);
-}
-/* -----------------------------15.12.00 14:06--------------------------------
-
- ---------------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::convertSortProperties(
- const uno::Sequence< beans::PropertyValue >& rDescriptor, SwSortOptions& rSortOpt)
-{
- sal_Bool bRet = sal_True;
- const beans::PropertyValue* pProperties = rDescriptor.getConstArray();
-
- rSortOpt.bTable = sal_False;
- rSortOpt.cDeli = ' ';
- rSortOpt.eDirection = SRT_COLUMNS; //!! UI text may be contrary though !!
-
- SwSortKey* pKey1 = new SwSortKey;
- pKey1->nColumnId = USHRT_MAX;
- pKey1->bIsNumeric = TRUE;
- pKey1->eSortOrder = SRT_ASCENDING;
-
- SwSortKey* pKey2 = new SwSortKey;
- pKey2->nColumnId = USHRT_MAX;
- pKey2->bIsNumeric = TRUE;
- pKey2->eSortOrder = SRT_ASCENDING;
-
- SwSortKey* pKey3 = new SwSortKey;
- pKey3->nColumnId = USHRT_MAX;
- pKey3->bIsNumeric = TRUE;
- pKey3->eSortOrder = SRT_ASCENDING;
- SwSortKey* aKeys[3] = {pKey1, pKey2, pKey3};
-
- sal_Bool bOldSortdescriptor(sal_False);
- sal_Bool bNewSortdescriptor(sal_False);
-
- for( int n = 0; n < rDescriptor.getLength(); ++n )
+ // Doc may already have been removed here
+ if (m_pDoc)
{
- uno::Any aValue( pProperties[n].Value );
-// String sPropName = pProperties[n].Name;
- const OUString& rPropName = pProperties[n].Name;
-
- // old and new sortdescriptor
- if( COMPARE_EQUAL == rPropName.compareToAscii("IsSortInTable"))
- {
- if ( aValue.getValueType() == ::getBooleanCppuType() )
- rSortOpt.bTable = *(sal_Bool*)aValue.getValue();
- else
- bRet = sal_False;
- }
- else if(COMPARE_EQUAL == rPropName.compareToAscii("Delimiter"))
- {
- sal_Unicode uChar = sal_Unicode();
- if( aValue >>= uChar )
- rSortOpt.cDeli = uChar;
- else
- bRet = sal_False;
- }
- // old sortdescriptor
- else if(COMPARE_EQUAL == rPropName.compareToAscii("SortColumns"))
- {
- bOldSortdescriptor = sal_True;
- if ( aValue.getValueType() == ::getBooleanCppuType() )
- {
- sal_Bool bTemp = *(sal_Bool*)aValue.getValue();
- rSortOpt.eDirection = bTemp ? SRT_COLUMNS : SRT_ROWS;
- }
- else
- bRet = sal_False;
- }
- else if(COMPARE_EQUAL == rPropName.compareToAscii("IsCaseSensitive"))
+ SwRootFrm *const pRootFrm = m_pDoc->GetRootFrm();
+ if (pRootFrm)
{
- bOldSortdescriptor = sal_True;
- if ( aValue.getValueType() == ::getBooleanCppuType() )
- {
- sal_Bool bTemp = *(sal_Bool*)aValue.getValue();
- rSortOpt.bIgnoreCase = !bTemp;
- }
- else
- bRet = sal_False;
- }
- else if(COMPARE_EQUAL == rPropName.compareToAscii("CollatorLocale"))
- {
- bOldSortdescriptor = sal_True;
- Locale aLocale;
- if (aValue >>= aLocale)
- rSortOpt.nLanguage = SvxLocaleToLanguage( aLocale );
- else
- bRet = sal_False;
- }
- else if(COMPARE_EQUAL == rPropName.compareToAscii("CollatorAlgorithm", 17) &&
- rPropName.getLength() == 18 &&
- (rPropName.getStr()[17] >= '0' && rPropName.getStr()[17] <= '9'))
- {
- bOldSortdescriptor = sal_True;
- sal_uInt16 nIndex = rPropName.getStr()[17];
- nIndex -= '0';
- OUString aTxt;
- if ((aValue >>= aTxt) && nIndex < 3)
- aKeys[nIndex]->sSortType = aTxt;
- else
- bRet = sal_False;
- }
- else if(COMPARE_EQUAL == rPropName.compareToAscii("SortRowOrColumnNo", 17) &&
- rPropName.getLength() == 18 &&
- (rPropName.getStr()[17] >= '0' && rPropName.getStr()[17] <= '9'))
- {
- bOldSortdescriptor = sal_True;
- sal_uInt16 nIndex = rPropName.getStr()[17];
- nIndex -= '0';
- sal_Int16 nCol = -1;
- if( aValue.getValueType() == ::getCppuType((const sal_Int16*)0) && nIndex < 3)
- aValue >>= nCol;
- if( nCol >= 0 )
- aKeys[nIndex]->nColumnId = nCol;
- else
- bRet = sal_False;
- }
- else if(0 == rPropName.indexOf(C2U("IsSortNumeric")) &&
- rPropName.getLength() == 14 &&
- (rPropName.getStr()[13] >= '0' && rPropName.getStr()[13] <= '9'))
- {
- bOldSortdescriptor = sal_True;
- sal_uInt16 nIndex = rPropName.getStr()[13];
- nIndex = nIndex - '0';
- if ( aValue.getValueType() == ::getBooleanCppuType() && nIndex < 3 )
- {
- sal_Bool bTemp = *(sal_Bool*)aValue.getValue();
- aKeys[nIndex]->bIsNumeric = bTemp;
- }
- else
- bRet = sal_False;
- }
- else if(0 == rPropName.indexOf(C2U("IsSortAscending")) &&
- rPropName.getLength() == 16 &&
- (rPropName.getStr()[15] >= '0' && rPropName.getStr()[15] <= '9'))
- {
- bOldSortdescriptor = sal_True;
- sal_uInt16 nIndex = rPropName.getStr()[15];
- nIndex -= '0';
- if ( aValue.getValueType() == ::getBooleanCppuType() && nIndex < 3 )
- {
- sal_Bool bTemp = *(sal_Bool*)aValue.getValue();
- aKeys[nIndex]->eSortOrder = bTemp ? SRT_ASCENDING : SRT_DESCENDING;
- }
- else
- bRet = sal_False;
- }
- // new sortdescriptor
- else if(COMPARE_EQUAL == rPropName.compareToAscii("IsSortColumns"))
- {
- bNewSortdescriptor = sal_True;
- if ( aValue.getValueType() == ::getBooleanCppuType() )
- {
- sal_Bool bTemp = *(sal_Bool*)aValue.getValue();
- rSortOpt.eDirection = bTemp ? SRT_COLUMNS : SRT_ROWS;
- }
- else
- bRet = sal_False;
- }
- else if (COMPARE_EQUAL == rPropName.compareToAscii("SortFields"))
- {
- bNewSortdescriptor = sal_True;
- uno::Sequence < table::TableSortField > aFields;
- if ( aValue >>= aFields )
- {
- sal_Int32 nCount(aFields.getLength());
- if (nCount <= 3)
- {
- table::TableSortField* pFields = aFields.getArray();
- for (sal_Int32 i = 0; i < nCount; ++i)
- {
- rSortOpt.bIgnoreCase = !pFields[i].IsCaseSensitive;
- rSortOpt.nLanguage = SvxLocaleToLanguage( pFields[i].CollatorLocale );
- aKeys[i]->sSortType = pFields[i].CollatorAlgorithm;
- aKeys[i]->nColumnId = static_cast< USHORT >(pFields[i].Field);
- aKeys[i]->bIsNumeric = (pFields[i].FieldType == table::TableSortFieldType_NUMERIC);
- aKeys[i]->eSortOrder = pFields[i].IsAscending ? SRT_ASCENDING : SRT_DESCENDING;
- }
- }
- else
- bRet = sal_False;
- }
- else
- bRet = sal_False;
+ pRootFrm->EndAllAction();
}
}
+}
- if (bNewSortdescriptor && bOldSortdescriptor)
+/****************************************************************************
+ ActionRemoveContext
+****************************************************************************/
+UnoActionRemoveContext::UnoActionRemoveContext(SwDoc *const pDoc)
+ : m_pDoc(pDoc)
+{
+ SwRootFrm *const pRootFrm = m_pDoc->GetRootFrm();
+ if (pRootFrm)
{
- DBG_ERROR("someone tried to set the old deprecated and the new sortdescriptor");
- bRet = sal_False;
+ pRootFrm->UnoRemoveAllActions();
}
-
- if(pKey1->nColumnId != USHRT_MAX)
- rSortOpt.aKeys.C40_INSERT(SwSortKey, pKey1, rSortOpt.aKeys.Count());
- if(pKey2->nColumnId != USHRT_MAX)
- rSortOpt.aKeys.C40_INSERT(SwSortKey, pKey2, rSortOpt.aKeys.Count());
- if(pKey3->nColumnId != USHRT_MAX)
- rSortOpt.aKeys.C40_INSERT(SwSortKey, pKey3, rSortOpt.aKeys.Count());
-
- return bRet && rSortOpt.aKeys.Count() > 0;
}
-/*-- 09.12.98 14:19:00---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXTextCursor::sort(const uno::Sequence< beans::PropertyValue >& rDescriptor)
- throw( uno::RuntimeException )
+/* -----------------07.07.98 12:05-------------------
+ *
+ * --------------------------------------------------*/
+UnoActionRemoveContext::~UnoActionRemoveContext()
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- SwSortOptions aSortOpt;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
-
- if(pUnoCrsr)
+ SwRootFrm *const pRootFrm = m_pDoc->GetRootFrm();
+ if (pRootFrm)
{
- if(pUnoCrsr->HasMark())
- {
- if(!SwXTextCursor::convertSortProperties(rDescriptor, aSortOpt))
- throw uno::RuntimeException();
- UnoActionContext aContext( pUnoCrsr->GetDoc() );
-
- SwPosition* pStart = pUnoCrsr->Start();
- SwPosition* pEnd = pUnoCrsr->End();
-
- SwNodeIndex aPrevIdx( pStart->nNode, -1 );
- ULONG nOffset = pEnd->nNode.GetIndex() - pStart->nNode.GetIndex();
- xub_StrLen nCntStt = pStart->nContent.GetIndex();
-
- pUnoCrsr->GetDoc()->SortText(*pUnoCrsr, aSortOpt);
-
- // Selektion wieder setzen
- pUnoCrsr->DeleteMark();
- pUnoCrsr->GetPoint()->nNode.Assign( aPrevIdx.GetNode(), +1 );
- SwCntntNode* pCNd = pUnoCrsr->GetCntntNode();
- xub_StrLen nLen = pCNd->Len();
- if( nLen > nCntStt )
- nLen = nCntStt;
- pUnoCrsr->GetPoint()->nContent.Assign(pCNd, nLen );
- pUnoCrsr->SetMark();
-
- pUnoCrsr->GetPoint()->nNode += nOffset;
- pCNd = pUnoCrsr->GetCntntNode();
- pUnoCrsr->GetPoint()->nContent.Assign( pCNd, pCNd->Len() );
- }
+ pRootFrm->UnoRestoreAllActions();
}
- else
- throw uno::RuntimeException();
}
+
+
/*-- 10.12.98 11:52:15---------------------------------------------------
-----------------------------------------------------------------------*/
@@ -579,197 +343,33 @@ void ClientModify(SwClient* pClient, SfxPoolItem *pOld, SfxPoolItem *pNew)
}
}
-/* -----------------------------03.04.00 09:11--------------------------------
-
- ---------------------------------------------------------------------------*/
-uno::Reference< XEnumeration > SAL_CALL SwXTextCursor::createContentEnumeration(const OUString& rServiceName) throw( RuntimeException )
-{
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if( !pUnoCrsr || 0 != rServiceName.compareToAscii("com.sun.star.text.TextContent") )
- throw RuntimeException();
-
- uno::Reference< XEnumeration > xRet = new SwXParaFrameEnumeration(*pUnoCrsr, PARAFRAME_PORTION_TEXTRANGE);
- return xRet;
-}
-/* -----------------------------07.03.01 14:53--------------------------------
-
- ---------------------------------------------------------------------------*/
-uno::Reference< XEnumeration > SwXTextCursor::createEnumeration(void) throw( RuntimeException )
-{
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if( !pUnoCrsr )
- throw RuntimeException();
- uno::Reference<XUnoTunnel> xTunnel(xParentText, UNO_QUERY);
- SwXText* pParentText = 0;
- if(xTunnel.is())
- {
- pParentText = reinterpret_cast< SwXText *>(
- sal::static_int_cast< sal_IntPtr >( xTunnel->getSomething(SwXText::getUnoTunnelId()) ));
- }
- DBG_ASSERT(pParentText, "parent is not a SwXText");
-
- SwUnoCrsr* pNewCrsr = pUnoCrsr->GetDoc()->CreateUnoCrsr(*pUnoCrsr->GetPoint());
- if(pUnoCrsr->HasMark())
- {
- pNewCrsr->SetMark();
- *pNewCrsr->GetMark() = *pUnoCrsr->GetMark();
- }
- CursorType eSetType = eType == CURSOR_TBLTEXT ? CURSOR_SELECTION_IN_TABLE : CURSOR_SELECTION;
- SwXParagraphEnumeration *pEnum =
- new SwXParagraphEnumeration(pParentText, pNewCrsr, eSetType);
- uno::Reference< XEnumeration > xRet = pEnum;
- if (eType == CURSOR_TBLTEXT)
- {
- // for import of tables in tables we have to remember the actual
- // table and start node of the current position in the enumeration.
- SwTableNode *pStartN = pUnoCrsr->GetPoint()->nNode.GetNode().FindTableNode();
- if (pStartN)
- {
- pEnum->SetOwnTable( &pStartN->GetTable() );
- pEnum->SetOwnStartNode( pStartN );
- }
- }
-
- return xRet;
-}
-/* -----------------------------07.03.01 15:43--------------------------------
-
- ---------------------------------------------------------------------------*/
-uno::Type SwXTextCursor::getElementType(void) throw( RuntimeException )
-{
- return ::getCppuType((uno::Reference<XTextRange>*)0);
-}
-/* -----------------------------07.03.01 15:43--------------------------------
-
- ---------------------------------------------------------------------------*/
-sal_Bool SwXTextCursor::hasElements(void) throw( RuntimeException )
-{
- return sal_True;
-}
-/* -----------------------------03.04.00 09:11--------------------------------
-
- ---------------------------------------------------------------------------*/
-Sequence< OUString > SAL_CALL SwXTextCursor::getAvailableServiceNames(void) throw( RuntimeException )
-{
- Sequence< OUString > aRet(1);
- OUString* pArray = aRet.getArray();
- pArray[0] = OUString::createFromAscii("com.sun.star.text.TextContent");
- return aRet;
-}
-/*-- 09.12.98 14:19:00---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-
-IMPL_STATIC_LINK( SwXTextCursor, RemoveCursor_Impl,
- uno::Reference< XInterface >*, EMPTYARG )
-{
- ASSERT( pThis != NULL, "no reference?" );
- //ASSERT( pArg != NULL, "no reference?" );
-
- // --> FME 2006-03-07 #126177# Tell the SwXTextCursor that the user event
- // has been executed. It is not necessary to remove the user event in
- // ~SwXTextCursor
- pThis->DoNotRemoveUserEvent();
- // <--
-
- SwUnoCrsr* pCursor = pThis->GetCrsr();
- if( pCursor != NULL )
- {
- pCursor->Remove( pThis );
- delete pCursor;
- }
-
- // --> FME 2006-03-07 #126177#
- //delete pArg;
- // <--
-
- return 0;
-}
-
-void SwXTextCursor::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
-{
- ClientModify(this, pOld, pNew);
-
- // if the cursor leaves its designated section, it becomes invalid
- if( !mbRemoveUserEvent && ( pOld != NULL ) && ( pOld->Which() == RES_UNOCURSOR_LEAVES_SECTION ) )
- {
- // --> FME 2006-03-07 #126177# We don't need to create a reference
- // to the SwXTextCursor to prevent its deletion. If the destructor
- // of the SwXTextCursor is called before the user event is executed,
- // the user event will be removed. This is necessary, because an other
- // thread might be currently waiting in ~SwXTextCursor. In this case
- // the pRef = new ... stuff did not work!
-
- // create reference to this object to prevent deletion before
- // the STATIC_LINK is executed. The link will delete the
- // reference.
- //uno::Reference<XInterface>* pRef =
- //new uno::Reference<XInterface>( static_cast<XServiceInfo*>( this ) );
-
- mbRemoveUserEvent = true;
- // <--
-
- mnUserEventId = Application::PostUserEvent(
- STATIC_LINK( this, SwXTextCursor, RemoveCursor_Impl ), this );
- }
-
- if(!GetRegisteredIn())
- aLstnrCntnr.Disposing();
-
-}
-/*-- 09.12.98 14:19:01---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-const SwPaM* SwXTextCursor::GetPaM() const
-{
- return GetCrsr() ? GetCrsr() : 0;
-}
-// -----------------------------------------------------------------------------
-SwPaM* SwXTextCursor::GetPaM()
-{
- return GetCrsr() ? GetCrsr() : 0;
-}
-
-/*-- 09.12.98 14:19:02---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-const SwDoc* SwXTextCursor::GetDoc()const
-{
- return GetCrsr() ? GetCrsr()->GetDoc() : 0;
-}
-/* -----------------22.07.99 13:52-------------------
-
- --------------------------------------------------*/
-SwDoc* SwXTextCursor::GetDoc()
-{
- return GetCrsr() ? GetCrsr()->GetDoc() : 0;
-}
/*-- 09.12.98 14:19:03---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextCursor::SetCrsrAttr(SwPaM& rPam, const SfxItemSet& rSet, USHORT nAttrMode)
+void SwUnoCursorHelper::SetCrsrAttr(SwPaM & rPam,
+ const SfxItemSet& rSet,
+ const SetAttrMode nAttrMode, const bool bTableMode)
{
- sal_uInt16 nFlags = nsSetAttrMode::SETATTR_APICALL | (nAttrMode & nsSetAttrMode::SETATTR_NOFORMATATTR);
- if(nAttrMode & CRSR_ATTR_MODE_DONTREPLACE)
- nFlags |= nsSetAttrMode::SETATTR_DONTREPLACE;
+ const SetAttrMode nFlags = nAttrMode | nsSetAttrMode::SETATTR_APICALL;
SwDoc* pDoc = rPam.GetDoc();
//StartEndAction
UnoActionContext aAction(pDoc);
- SwPaM* pCrsr = &rPam;
- if( pCrsr->GetNext() != pCrsr ) // Ring von Cursorn
+ if (rPam.GetNext() != &rPam) // Ring of Cursors
{
pDoc->StartUndo(UNDO_INSATTR, NULL);
- SwPaM *_pStartCrsr = &rPam;
+ SwPaM *pCurrent = &rPam;
do
{
- if( _pStartCrsr->HasMark() && ( (CRSR_ATTR_MODE_TABLE & nAttrMode) ||
- *_pStartCrsr->GetPoint() != *_pStartCrsr->GetMark() ))
+ if (pCurrent->HasMark() &&
+ ( (bTableMode) ||
+ (*pCurrent->GetPoint() != *pCurrent->GetMark()) ))
{
- pDoc->InsertItemSet(*_pStartCrsr, rSet, nFlags);
+ pDoc->InsertItemSet(*pCurrent, rSet, nFlags);
}
- } while( (_pStartCrsr=(SwPaM *)_pStartCrsr->GetNext()) != &rPam );
+ pCurrent= static_cast<SwPaM *>(pCurrent->GetNext());
+ } while (pCurrent != &rPam);
pDoc->EndUndo(UNDO_INSATTR, NULL);
}
@@ -777,7 +377,7 @@ void SwXTextCursor::SetCrsrAttr(SwPaM& rPam, const SfxItemSet& rSet, USHORT nAtt
{
// if( !HasSelection() )
// UpdateAttr();
- pDoc->InsertItemSet( *pCrsr, rSet, nFlags );
+ pDoc->InsertItemSet( rPam, rSet, nFlags );
}
//#outline level,add by zhaojianwei
if( rSet.GetItemState( RES_PARATR_OUTLINELEVEL, false ) >= SFX_ITEM_AVAILABLE )
@@ -787,7 +387,6 @@ void SwXTextCursor::SetCrsrAttr(SwPaM& rPam, const SfxItemSet& rSet, USHORT nAtt
{
rPam.GetDoc()->GetNodes().UpdateOutlineNode( *pTmpNode );
}
-
}
//<-end,zhaojianwei
}
@@ -797,172 +396,228 @@ void SwXTextCursor::SetCrsrAttr(SwPaM& rPam, const SfxItemSet& rSet, USHORT nAtt
// --> OD 2006-07-12 #i63870#
// split third parameter <bCurrentAttrOnly> into new parameters <bOnlyTxtAttr>
// and <bGetFromChrFmt> to get better control about resulting <SfxItemSet>
-void SwXTextCursor::GetCrsrAttr( SwPaM& rPam,
- SfxItemSet& rSet,
- BOOL bOnlyTxtAttr,
- BOOL bGetFromChrFmt )
+void SwUnoCursorHelper::GetCrsrAttr(SwPaM & rPam,
+ SfxItemSet & rSet, const bool bOnlyTxtAttr, const bool bGetFromChrFmt)
{
static const sal_uInt16 nMaxLookup = 1000;
SfxItemSet aSet( *rSet.GetPool(), rSet.GetRanges() );
SfxItemSet *pSet = &rSet;
- SwPaM *_pStartCrsr = &rPam;
+ SwPaM *pCurrent = & rPam;
do
{
- ULONG nSttNd = _pStartCrsr->GetMark()->nNode.GetIndex(),
- nEndNd = _pStartCrsr->GetPoint()->nNode.GetIndex();
- xub_StrLen nSttCnt = _pStartCrsr->GetMark()->nContent.GetIndex(),
- nEndCnt = _pStartCrsr->GetPoint()->nContent.GetIndex();
-
- if( nSttNd > nEndNd || ( nSttNd == nEndNd && nSttCnt > nEndCnt ))
- {
- sal_uInt32 nTmp = nSttNd; nSttNd = nEndNd; nEndNd = nTmp;
- nTmp = nSttCnt; nSttCnt = nEndCnt; nEndCnt = (sal_uInt16)nTmp;
- }
+ SwPosition const & rStart( *pCurrent->Start() );
+ SwPosition const & rEnd( *pCurrent->End() );
+ const ULONG nSttNd = rStart.nNode.GetIndex();
+ const ULONG nEndNd = rEnd .nNode.GetIndex();
- if( nEndNd - nSttNd >= nMaxLookup )
- {
- rSet.ClearItem();
- rSet.InvalidateAllItems();
- return;// uno::Any();
- }
+ if (nEndNd - nSttNd >= nMaxLookup)
+ {
+ rSet.ClearItem();
+ rSet.InvalidateAllItems();
+ return;// uno::Any();
+ }
- // beim 1.Node traegt der Node die Werte in den GetSet ein (Initial)
- // alle weiteren Nodes werden zum GetSet zu gemergt
- for( ULONG n = nSttNd; n <= nEndNd; ++n )
+ // the first node inserts the values into the get set
+ // all other nodes merge their values into the get set
+ for (ULONG n = nSttNd; n <= nEndNd; ++n)
+ {
+ SwNode *const pNd = rPam.GetDoc()->GetNodes()[ n ];
+ switch (pNd->GetNodeType())
{
- SwNode* pNd = rPam.GetDoc()->GetNodes()[ n ];
- switch( pNd->GetNodeType() )
- {
case ND_TEXTNODE:
- {
- xub_StrLen nStt = n == nSttNd ? nSttCnt : 0,
- nEnd = n == nEndNd ? nEndCnt
- : ((SwTxtNode*)pNd)->GetTxt().Len();
- ((SwTxtNode*)pNd)->GetAttr( *pSet, nStt, nEnd, bOnlyTxtAttr, bGetFromChrFmt );
- }
- break;
+ {
+ const xub_StrLen nStart = (n == nSttNd)
+ ? rStart.nContent.GetIndex() : 0;
+ const xub_StrLen nEnd = (n == nEndNd)
+ ? rEnd.nContent.GetIndex()
+ : static_cast<SwTxtNode*>(pNd)->GetTxt().Len();
+ static_cast<SwTxtNode*>(pNd)->GetAttr(
+ *pSet, nStart, nEnd, bOnlyTxtAttr, bGetFromChrFmt);
+ }
+ break;
case ND_GRFNODE:
case ND_OLENODE:
- ((SwCntntNode*)pNd)->GetAttr( *pSet );
- break;
+ static_cast<SwCntntNode*>(pNd)->GetAttr( *pSet );
+ break;
default:
- pNd = 0;
- }
-
- if( pNd )
- {
- if( pSet != &rSet )
- rSet.MergeValues( aSet );
-
- if( aSet.Count() )
- aSet.ClearItem();
+ continue; // skip this node
+ }
- }
+ if (pSet != &rSet)
+ {
+ rSet.MergeValues( aSet );
+ }
+ else
+ {
pSet = &aSet;
}
- } while( (_pStartCrsr=(SwPaM *)_pStartCrsr->GetNext()) != &rPam );
+
+ if (aSet.Count())
+ {
+ aSet.ClearItem();
+ }
+ }
+ pCurrent= static_cast<SwPaM *>(pCurrent->GetNext());
+ } while ( pCurrent != &rPam );
}
+
/******************************************************************
* SwXParagraphEnumeration
******************************************************************/
-/* -----------------------------06.04.00 16:33--------------------------------
- ---------------------------------------------------------------------------*/
-OUString SwXParagraphEnumeration::getImplementationName(void) throw( RuntimeException )
-{
- return C2U("SwXParagraphEnumeration");
-}
-/* -----------------------------06.04.00 16:33--------------------------------
+class SwXParagraphEnumeration::Impl
+ : public SwClient
+{
+
+public:
+
+ uno::Reference< text::XText > const m_xParentText;
+ const CursorType m_eCursorType;
+ /// Start node of the cell _or_ table the enumeration belongs to.
+ /// Used to restrict the movement of the UNO cursor to the cell and its
+ /// embedded tables.
+ SwStartNode const*const m_pOwnStartNode;
+ SwTable const*const m_pOwnTable;
+ const ULONG m_nEndIndex;
+ sal_Int32 m_nFirstParaStart;
+ sal_Int32 m_nLastParaEnd;
+ bool m_bFirstParagraph;
+ uno::Reference< text::XTextContent > m_xNextPara;
+
+ Impl( uno::Reference< text::XText > const& xParent,
+ ::std::auto_ptr<SwUnoCrsr> pCursor,
+ const CursorType eType,
+ SwStartNode const*const pStartNode, SwTable const*const pTable)
+ : SwClient( pCursor.release() )
+ , m_xParentText( xParent )
+ , m_eCursorType( eType )
+ // remember table and start node for later travelling
+ // (used in export of tables in tables)
+ , m_pOwnStartNode( pStartNode )
+ // for import of tables in tables we have to remember the actual
+ // table and start node of the current position in the enumeration.
+ , m_pOwnTable( pTable )
+ , m_nEndIndex( GetCursor()->End()->nNode.GetIndex() )
+ , m_nFirstParaStart( -1 )
+ , m_nLastParaEnd( -1 )
+ , m_bFirstParagraph( true )
+ {
+ OSL_ENSURE(m_xParentText.is(), "SwXParagraphEnumeration: no parent?");
+ OSL_ENSURE(GetRegisteredIn(), "SwXParagraphEnumeration: no cursor?");
+ OSL_ENSURE( !((CURSOR_SELECTION_IN_TABLE == eType) ||
+ (CURSOR_TBLTEXT == eType))
+ || (m_pOwnTable && m_pOwnStartNode),
+ "SwXParagraphEnumeration: table type but no start node or table?");
+
+ if ((CURSOR_SELECTION == m_eCursorType) ||
+ (CURSOR_SELECTION_IN_TABLE == m_eCursorType))
+ {
+ SwUnoCrsr & rCursor = *GetCursor();
+ rCursor.Normalize();
+ m_nFirstParaStart = rCursor.GetPoint()->nContent.GetIndex();
+ m_nLastParaEnd = rCursor.GetMark()->nContent.GetIndex();
+ rCursor.DeleteMark();
+ }
+ }
- ---------------------------------------------------------------------------*/
-BOOL SwXParagraphEnumeration::supportsService(const OUString& rServiceName) throw( RuntimeException )
+ ~Impl() {
+ // Impl owns the cursor; delete it here: SolarMutex is locked
+ delete GetRegisteredIn();
+ }
+
+ SwUnoCrsr * GetCursor() {
+ return static_cast<SwUnoCrsr*>(
+ const_cast<SwModify*>(GetRegisteredIn()));
+ }
+
+ uno::Reference< text::XTextContent > NextElement_Impl()
+ throw (container::NoSuchElementException, lang::WrappedTargetException,
+ uno::RuntimeException);
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+void SwXParagraphEnumeration::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
{
- return C2U("com.sun.star.text.ParagraphEnumeration") == rServiceName;
+ ClientModify(this, pOld, pNew);
}
-/* -----------------------------06.04.00 16:33--------------------------------
- ---------------------------------------------------------------------------*/
-Sequence< OUString > SwXParagraphEnumeration::getSupportedServiceNames(void) throw( RuntimeException )
+/*-- 10.12.98 11:52:12---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXParagraphEnumeration::SwXParagraphEnumeration(
+ uno::Reference< text::XText > const& xParent,
+ ::std::auto_ptr<SwUnoCrsr> pCursor,
+ const CursorType eType,
+ SwStartNode const*const pStartNode, SwTable const*const pTable)
+ : m_pImpl( new SwXParagraphEnumeration::Impl(xParent, pCursor, eType,
+ pStartNode, pTable) )
{
- Sequence< OUString > aRet(1);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.text.ParagraphEnumeration");
- return aRet;
}
/*-- 10.12.98 11:52:12---------------------------------------------------
-----------------------------------------------------------------------*/
-SwXParagraphEnumeration::SwXParagraphEnumeration(SwXText* pParent,
- SwPosition& rPos,
- CursorType eType) :
- xParentText(pParent),
- nFirstParaStart(-1),
- nLastParaEnd(-1),
- nEndIndex(rPos.nNode.GetIndex()),
- eCursorType(eType),
- bFirstParagraph(sal_True)
-{
- pOwnTable = 0;
- pOwnStartNode = 0;
- SwUnoCrsr* pUnoCrsr = pParent->GetDoc()->CreateUnoCrsr(rPos, sal_False);
- pUnoCrsr->Add(this);
+SwXParagraphEnumeration::~SwXParagraphEnumeration()
+{
}
-/*-- 10.12.98 11:52:12---------------------------------------------------
+/* -----------------------------06.04.00 16:33--------------------------------
- -----------------------------------------------------------------------*/
-SwXParagraphEnumeration::SwXParagraphEnumeration(SwXText* pParent,
- SwUnoCrsr* pCrsr,
- CursorType eType) :
- SwClient(pCrsr),
- xParentText(pParent),
- nFirstParaStart(-1),
- nLastParaEnd(-1),
- nEndIndex(pCrsr->End()->nNode.GetIndex()),
- eCursorType(eType),
- bFirstParagraph(sal_True)
-{
- pOwnTable = 0;
- pOwnStartNode = 0;
- if(CURSOR_SELECTION == eCursorType || CURSOR_SELECTION_IN_TABLE == eCursorType)
- {
- if(*pCrsr->GetPoint() > *pCrsr->GetMark())
- pCrsr->Exchange();
- nFirstParaStart = pCrsr->GetPoint()->nContent.GetIndex();
- nLastParaEnd = pCrsr->GetMark()->nContent.GetIndex();
- if(pCrsr->HasMark())
- pCrsr->DeleteMark();
- }
+ ---------------------------------------------------------------------------*/
+OUString SAL_CALL
+SwXParagraphEnumeration::getImplementationName() throw (uno::RuntimeException)
+{
+ return C2U("SwXParagraphEnumeration");
}
-/*-- 10.12.98 11:52:12---------------------------------------------------
+/* -----------------------------06.04.00 16:33--------------------------------
- -----------------------------------------------------------------------*/
-SwXParagraphEnumeration::~SwXParagraphEnumeration()
+ ---------------------------------------------------------------------------*/
+static char const*const g_ServicesParagraphEnum[] =
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
- delete pUnoCrsr;
+ "com.sun.star.text.ParagraphEnumeration",
+};
+static const size_t g_nServicesParagraphEnum(
+ sizeof(g_ServicesParagraphEnum)/sizeof(g_ServicesParagraphEnum[0]));
+sal_Bool SAL_CALL
+SwXParagraphEnumeration::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ return ::sw::SupportsServiceImpl(
+ g_nServicesParagraphEnum, g_ServicesParagraphEnum, rServiceName);
}
+/* -----------------------------06.04.00 16:33--------------------------------
+
+ ---------------------------------------------------------------------------*/
+uno::Sequence< OUString > SAL_CALL
+SwXParagraphEnumeration::getSupportedServiceNames()
+throw (uno::RuntimeException)
+{
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesParagraphEnum, g_ServicesParagraphEnum);
+}
+
/*-- 10.12.98 11:52:13---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXParagraphEnumeration::hasMoreElements(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXParagraphEnumeration::hasMoreElements() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- return bFirstParagraph ? sal_True : xNextPara.is();
+
+ return (m_pImpl->m_bFirstParagraph) ? sal_True : m_pImpl->m_xNextPara.is();
}
/*-- 14.08.03 13:10:14---------------------------------------------------
-----------------------------------------------------------------------*/
//!! compare to SwShellTableCrsr::FillRects() in viscrs.cxx
-SwTableNode * lcl_FindTopLevelTable(
- /*SwUnoCrsr* pUnoCrsr ,*/
- SwTableNode *pTblNode,
- const SwTable *pOwnTable )
+static SwTableNode *
+lcl_FindTopLevelTable(
+ SwTableNode *const pTblNode, SwTable const*const pOwnTable)
{
// find top-most table in current context (section) level
@@ -977,14 +632,14 @@ SwTableNode * lcl_FindTopLevelTable(
}
-BOOL lcl_CursorIsInSection(
- const SwUnoCrsr *pUnoCrsr,
- const SwStartNode *pOwnStartNode )
+static bool
+lcl_CursorIsInSection(
+ SwUnoCrsr const*const pUnoCrsr, SwStartNode const*const pOwnStartNode)
{
// returns true if the cursor is in the section (or in a sub section!)
// represented by pOwnStartNode
- BOOL bRes = TRUE;
+ bool bRes = true;
if (pUnoCrsr && pOwnStartNode)
{
const SwEndNode * pOwnEndNode = pOwnStartNode->EndOfSectionNode();
@@ -995,388 +650,450 @@ BOOL lcl_CursorIsInSection(
}
-uno::Reference< XTextContent > SAL_CALL SwXParagraphEnumeration::NextElement_Impl(void)
- throw( container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Reference< text::XTextContent >
+SwXParagraphEnumeration::Impl::NextElement_Impl()
+throw (container::NoSuchElementException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- uno::Reference< XTextContent > aRef;
- SwUnoCrsr* pUnoCrsr = GetCrsr();
- if(pUnoCrsr)
+ SwUnoCrsr *const pUnoCrsr = GetCursor();
+ if (!pUnoCrsr)
{
- // check for exceeding selections
- if(!bFirstParagraph &&
- (CURSOR_SELECTION == eCursorType || CURSOR_SELECTION_IN_TABLE == eCursorType))
+ throw uno::RuntimeException();
+ }
+
+ // check for exceeding selections
+ if (!m_bFirstParagraph &&
+ ((CURSOR_SELECTION == m_eCursorType) ||
+ (CURSOR_SELECTION_IN_TABLE == m_eCursorType)))
+ {
+ SwPosition* pStart = pUnoCrsr->Start();
+ const ::std::auto_ptr<SwUnoCrsr> aNewCrsr(
+ pUnoCrsr->GetDoc()->CreateUnoCrsr(*pStart, sal_False) );
+ // one may also go into tables here
+ if ((CURSOR_TBLTEXT != m_eCursorType) &&
+ (CURSOR_SELECTION_IN_TABLE != m_eCursorType))
{
- SwPosition* pStart = pUnoCrsr->Start();
- ::std::auto_ptr<SwUnoCrsr> aNewCrsr( pUnoCrsr->GetDoc()->CreateUnoCrsr(*pStart, sal_False) );
- //man soll hier auch in Tabellen landen duerfen
- if(CURSOR_TBLTEXT != eCursorType && CURSOR_SELECTION_IN_TABLE != eCursorType)
- aNewCrsr->SetRemainInSection( sal_False );
-
- // os 2005-01-14: This part is only necessary to detect movements out of a selection
- // if there is no selection we don't have to care
- SwTableNode* pTblNode = aNewCrsr->GetNode()->FindTableNode();
- if((CURSOR_TBLTEXT != eCursorType && CURSOR_SELECTION_IN_TABLE != eCursorType) && pTblNode)
- {
- aNewCrsr->GetPoint()->nNode = pTblNode->EndOfSectionIndex();
- aNewCrsr->Move(fnMoveForward, fnGoNode);
- }
- else
- aNewCrsr->MovePara(fnParaNext, fnParaStart);
- if(nEndIndex < aNewCrsr->Start()->nNode.GetIndex())
- return aRef; // empty reference
+ aNewCrsr->SetRemainInSection( sal_False );
}
- XText* pText = xParentText.get();
- sal_Bool bInTable = sal_False;
- if(!bFirstParagraph)
+ // os 2005-01-14: This part is only necessary to detect movements out
+ // of a selection; if there is no selection we don't have to care
+ SwTableNode *const pTblNode = aNewCrsr->GetNode()->FindTableNode();
+ if (((CURSOR_TBLTEXT != m_eCursorType) &&
+ (CURSOR_SELECTION_IN_TABLE != m_eCursorType)) && pTblNode)
{
- //man soll hier auch in Tabellen landen duerfen
- //if(CURSOR_TBLTEXT != eCursorType && CURSOR_SELECTION_IN_TABLE != eCursorType)
- {
- //BOOL bRemain = sal_False;
- //pUnoCrsr->SetRemainInSection( bRemain );
- pUnoCrsr->SetRemainInSection( sal_False );
- //was mache ich, wenn ich schon in einer Tabelle stehe?
- SwTableNode* pTblNode = pUnoCrsr->GetNode()->FindTableNode();
- pTblNode = lcl_FindTopLevelTable( /*pUnoCrsr,*/ pTblNode, pOwnTable );
- if(pTblNode && &pTblNode->GetTable() != pOwnTable)
- {
- // wir haben es mit einer fremden Tabelle zu tun - also ans Ende
- pUnoCrsr->GetPoint()->nNode = pTblNode->EndOfSectionIndex();
- if(!pUnoCrsr->Move(fnMoveForward, fnGoNode))
- return aRef;
- else
- bInTable = sal_True;
-
- }
- }
+ aNewCrsr->GetPoint()->nNode = pTblNode->EndOfSectionIndex();
+ aNewCrsr->Move(fnMoveForward, fnGoNode);
+ }
+ else
+ {
+ aNewCrsr->MovePara(fnParaNext, fnParaStart);
+ }
+ if (m_nEndIndex < aNewCrsr->Start()->nNode.GetIndex())
+ {
+ return 0;
}
+ }
- // the cursor must remain in the current section or a subsection
- // before AND after the movement...
- if( lcl_CursorIsInSection( pUnoCrsr, pOwnStartNode ) &&
- (bFirstParagraph || bInTable ||
- (pUnoCrsr->MovePara(fnParaNext, fnParaStart) &&
- lcl_CursorIsInSection( pUnoCrsr, pOwnStartNode ) ) ) )
+ sal_Bool bInTable = sal_False;
+ if (!m_bFirstParagraph)
+ {
+ pUnoCrsr->SetRemainInSection( sal_False );
+ // what to do if already in a table?
+ SwTableNode * pTblNode = pUnoCrsr->GetNode()->FindTableNode();
+ pTblNode = lcl_FindTopLevelTable( pTblNode, m_pOwnTable );
+ if (pTblNode && (&pTblNode->GetTable() != m_pOwnTable))
{
- SwPosition* pStart = pUnoCrsr->Start();
- sal_Int32 nFirstContent = bFirstParagraph ? nFirstParaStart : -1;
- sal_Int32 nLastContent = nEndIndex == pStart->nNode.GetIndex() ? nLastParaEnd : -1;
- //steht man nun in einer Tabelle, oder in einem einfachen Absatz?
-
- SwTableNode* pTblNode = pUnoCrsr->GetNode()->FindTableNode();
- pTblNode = lcl_FindTopLevelTable( /*pUnoCrsr,*/ pTblNode, pOwnTable );
- if(/*CURSOR_TBLTEXT != eCursorType && CURSOR_SELECTION_IN_TABLE != eCursorType && */
- pTblNode && &pTblNode->GetTable() != pOwnTable)
+ // this is a foreign table: go to end
+ pUnoCrsr->GetPoint()->nNode = pTblNode->EndOfSectionIndex();
+ if (!pUnoCrsr->Move(fnMoveForward, fnGoNode))
{
- // wir haben es mit einer fremden Tabelle zu tun
- SwFrmFmt* pTableFmt = (SwFrmFmt*)pTblNode->GetTable().GetFrmFmt();
- XTextTable* pTable = SwXTextTables::GetObject( *pTableFmt );
- aRef = (XTextContent*)(SwXTextTable*)pTable;
- }
- else
- {
- aRef = new SwXParagraph(static_cast<SwXText*>(pText),
- pStart->nNode.GetNode().GetTxtNode(),
- nFirstContent, nLastContent);
+ return 0;
}
+ bInTable = sal_True;
}
}
- else
- throw uno::RuntimeException();
- return aRef;
+ uno::Reference< text::XTextContent > xRef;
+ // the cursor must remain in the current section or a subsection
+ // before AND after the movement...
+ if (lcl_CursorIsInSection( pUnoCrsr, m_pOwnStartNode ) &&
+ (m_bFirstParagraph || bInTable ||
+ (pUnoCrsr->MovePara(fnParaNext, fnParaStart) &&
+ lcl_CursorIsInSection( pUnoCrsr, m_pOwnStartNode ))))
+ {
+ SwPosition* pStart = pUnoCrsr->Start();
+ const sal_Int32 nFirstContent =
+ (m_bFirstParagraph) ? m_nFirstParaStart : -1;
+ const sal_Int32 nLastContent =
+ (m_nEndIndex == pStart->nNode.GetIndex()) ? m_nLastParaEnd : -1;
+
+ // position in a table, or in a simple paragraph?
+ SwTableNode * pTblNode = pUnoCrsr->GetNode()->FindTableNode();
+ pTblNode = lcl_FindTopLevelTable( pTblNode, m_pOwnTable );
+ if (/*CURSOR_TBLTEXT != eCursorType && CURSOR_SELECTION_IN_TABLE != eCursorType && */
+ pTblNode && (&pTblNode->GetTable() != m_pOwnTable))
+ {
+ // this is a foreign table
+ SwFrmFmt* pTableFmt =
+ static_cast<SwFrmFmt*>(pTblNode->GetTable().GetFrmFmt());
+ text::XTextTable *const pTable =
+ SwXTextTables::GetObject( *pTableFmt );
+ xRef = static_cast<text::XTextContent*>(
+ static_cast<SwXTextTable*>(pTable));
+ }
+ else
+ {
+ text::XText *const pText = m_xParentText.get();
+ xRef = SwXParagraph::CreateXParagraph(*pUnoCrsr->GetDoc(),
+ *pStart->nNode.GetNode().GetTxtNode(),
+ static_cast<SwXText*>(pText), nFirstContent, nLastContent);
+ }
+ }
+
+ return xRef;
}
/*-- 10.12.98 11:52:14---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXParagraphEnumeration::nextElement(void)
- throw( container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL SwXParagraphEnumeration::nextElement()
+throw (container::NoSuchElementException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< XTextContent > aRef;
- if (bFirstParagraph)
+ if (m_pImpl->m_bFirstParagraph)
{
- xNextPara = NextElement_Impl();
- bFirstParagraph = sal_False;
+ m_pImpl->m_xNextPara = m_pImpl->NextElement_Impl();
+ m_pImpl->m_bFirstParagraph = false;
}
- aRef = xNextPara;
- if (!aRef.is())
+ const uno::Reference< text::XTextContent > xRef = m_pImpl->m_xNextPara;
+ if (!xRef.is())
+ {
throw container::NoSuchElementException();
- xNextPara = NextElement_Impl();
+ }
+ m_pImpl->m_xNextPara = m_pImpl->NextElement_Impl();
- uno::Any aRet(&aRef, ::getCppuType((uno::Reference<XTextContent>*)0));
+ uno::Any aRet;
+ aRet <<= xRef;
return aRet;
}
-void SwXParagraphEnumeration::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
-{
- ClientModify(this, pOld, pNew);
-}
/******************************************************************
* SwXTextRange
******************************************************************/
-TYPEINIT1(SwXTextRange, SwClient);
-const uno::Sequence< sal_Int8 > & SwXTextRange::getUnoTunnelId()
-{
- static uno::Sequence< sal_Int8 > aSeq = ::CreateUnoTunnelId();
- return aSeq;
-}
+class SwXTextRange::Impl
+ : public SwClient
+{
+
+public:
+
+ const SfxItemPropertySet & m_rPropSet;
+ const enum RangePosition m_eRangePosition;
+ SwDoc & m_rDoc;
+ uno::Reference<text::XText> m_xParentText;
+ SwDepend m_ObjectDepend; // register at format of table or frame
+ ::sw::mark::IMark * m_pMark;
+
+ Impl( SwDoc & rDoc, const enum RangePosition eRange,
+ SwFrmFmt *const pTblFmt = 0,
+ const uno::Reference< text::XText > & xParent = 0)
+ : SwClient()
+ , m_rPropSet(*aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR))
+ , m_eRangePosition(eRange)
+ , m_rDoc(rDoc)
+ , m_xParentText(xParent)
+ , m_ObjectDepend(this, pTblFmt)
+ , m_pMark(0)
+ {
+ }
-//XUnoTunnel
-sal_Int64 SAL_CALL SwXTextRange::getSomething(
- const uno::Sequence< sal_Int8 >& rId )
- throw(uno::RuntimeException)
-{
- if( rId.getLength() == 16
- && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- rId.getConstArray(), 16 ) )
+ ~Impl()
+ {
+ // Impl owns the bookmark; delete it here: SolarMutex is locked
+ Invalidate();
+ }
+
+ void Invalidate()
+ {
+ if (m_pMark)
{
- return sal::static_int_cast< sal_Int64 >( reinterpret_cast <sal_IntPtr >(this) );
+ m_rDoc.getIDocumentMarkAccess()->deleteMark(m_pMark);
+ m_pMark = 0;
}
- return 0;
-}
+ }
-OUString SwXTextRange::getImplementationName(void) throw( RuntimeException )
-{
- return OUString::createFromAscii("SwXTextRange");
-}
+ const ::sw::mark::IMark * GetBookmark() const { return m_pMark; }
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
-BOOL SwXTextRange::supportsService(const OUString& rServiceName) throw( RuntimeException )
+};
+
+void SwXTextRange::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
{
- String sServiceName(rServiceName);
- return sServiceName.EqualsAscii("com.sun.star.text.TextRange") ||
- sServiceName.EqualsAscii("com.sun.star.style.CharacterProperties")||
- sServiceName.EqualsAscii("com.sun.star.style.CharacterPropertiesAsian")||
- sServiceName.EqualsAscii("com.sun.star.style.CharacterPropertiesComplex")||
- sServiceName.EqualsAscii("com.sun.star.style.ParagraphProperties") ||
- sServiceName.EqualsAscii("com.sun.star.style.ParagraphPropertiesAsian") ||
- sServiceName.EqualsAscii("com.sun.star.style.ParagraphPropertiesComplex");
+ const bool bAlreadyRegistered = 0 != GetRegisteredIn();
+ ClientModify(this, pOld, pNew);
+ if (m_ObjectDepend.GetRegisteredIn())
+ {
+ ClientModify(&m_ObjectDepend, pOld, pNew);
+ // if the depend was removed then the range must be removed too
+ if (!m_ObjectDepend.GetRegisteredIn() && GetRegisteredIn())
+ {
+ const_cast<SwModify*>(GetRegisteredIn())->Remove(this);
+ }
+ // or if the range has been removed but the depend ist still
+ // connected then the depend must be removed
+ else if (bAlreadyRegistered && !GetRegisteredIn() &&
+ m_ObjectDepend.GetRegisteredIn())
+ {
+ const_cast<SwModify*>(m_ObjectDepend.GetRegisteredIn())
+ ->Remove(& m_ObjectDepend);
+ }
+ }
+ if (!GetRegisteredIn())
+ {
+ m_pMark = 0;
+ }
}
-Sequence< OUString > SwXTextRange::getSupportedServiceNames(void) throw( RuntimeException )
+
+SwXTextRange::SwXTextRange(SwPaM& rPam,
+ const uno::Reference< text::XText > & xParent,
+ const enum RangePosition eRange)
+ : m_pImpl( new SwXTextRange::Impl(*rPam.GetDoc(), eRange, 0, xParent) )
{
- Sequence< OUString > aRet(7);
- aRet[0] = OUString::createFromAscii("com.sun.star.text.TextRange");
- aRet[1] = OUString::createFromAscii("com.sun.star.style.CharacterProperties");
- aRet[2] = OUString::createFromAscii("com.sun.star.style.CharacterPropertiesAsian");
- aRet[3] = OUString::createFromAscii("com.sun.star.style.CharacterPropertiesComplex");
- aRet[4] = OUString::createFromAscii("com.sun.star.style.ParagraphProperties");
- aRet[5] = OUString::createFromAscii("com.sun.star.style.ParagraphPropertiesAsian");
- aRet[6] = OUString::createFromAscii("com.sun.star.style.ParagraphPropertiesComplex");
- return aRet;
+ SetPositions(rPam);
}
-SwXTextRange::SwXTextRange(SwPaM& rPam,
- const uno::Reference< XText > & rxParent, enum RangePosition eRange) :
- eRangePosition(eRange),
- pDoc(rPam.GetDoc()),
- pBox(0),
- pBoxStartNode(0),
- aObjectDepend(this, 0),
- m_pPropSet(aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR)),
- xParentText(rxParent),
- pMark(NULL)
-{
- _CreateNewBookmark(rPam);
-}
-
-SwXTextRange::SwXTextRange(SwFrmFmt& rTblFmt) :
- eRangePosition(RANGE_IS_TABLE),
- pDoc(rTblFmt.GetDoc()),
- pBox(0),
- pBoxStartNode(0),
- aObjectDepend(this, &rTblFmt),
- m_pPropSet(aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR)),
- pMark(NULL)
-{
- SwTable* pTable = SwTable::FindTable( &rTblFmt );
- SwTableNode* pTblNode = pTable->GetTableNode( );
+SwXTextRange::SwXTextRange(SwFrmFmt& rTblFmt)
+ : m_pImpl(
+ new SwXTextRange::Impl(*rTblFmt.GetDoc(), RANGE_IS_TABLE, &rTblFmt) )
+{
+ SwTable *const pTable = SwTable::FindTable( &rTblFmt );
+ SwTableNode *const pTblNode = pTable->GetTableNode();
SwPosition aPosition( *pTblNode );
SwPaM aPam( aPosition );
- _CreateNewBookmark( aPam );
+ SetPositions( aPam );
}
SwXTextRange::~SwXTextRange()
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- ::sw::mark::IMark const * const pBkmk = GetBookmark();
- if(pBkmk)
- pDoc->getIDocumentMarkAccess()->deleteMark(pBkmk);
}
-void SwXTextRange::_CreateNewBookmark(SwPaM& rPam)
+const SwDoc * SwXTextRange::GetDoc() const
{
- IDocumentMarkAccess* const pMarkAccess = pDoc->getIDocumentMarkAccess();
+ return & m_pImpl->m_rDoc;
+}
- ::sw::mark::IMark const * const pBkmk = GetBookmark();
- if(pBkmk)
- pMarkAccess->deleteMark(pBkmk);
- pMark = pMarkAccess->makeMark(rPam, ::rtl::OUString(), IDocumentMarkAccess::UNO_BOOKMARK);
- pMark->Add(this);
+SwDoc * SwXTextRange::GetDoc()
+{
+ return & m_pImpl->m_rDoc;
+}
+
+
+void SwXTextRange::Invalidate()
+{
+ m_pImpl->Invalidate();
+}
+
+void SwXTextRange::SetPositions(const SwPaM& rPam)
+{
+ m_pImpl->Invalidate();
+ IDocumentMarkAccess* const pMA = m_pImpl->m_rDoc.getIDocumentMarkAccess();
+ m_pImpl->m_pMark = pMA->makeMark(rPam, ::rtl::OUString(),
+ IDocumentMarkAccess::UNO_BOOKMARK);
+ m_pImpl->m_pMark->Add(m_pImpl.get());
}
void SwXTextRange::DeleteAndInsert(
- const String& rText, const bool bForceExpandHints)
- throw(uno::RuntimeException)
+ const ::rtl::OUString& rText, const bool bForceExpandHints)
+throw (uno::RuntimeException)
{
- if (RANGE_IS_TABLE == eRangePosition)
+ if (RANGE_IS_TABLE == m_pImpl->m_eRangePosition)
{
// setString on table not allowed
throw uno::RuntimeException();
}
- ::sw::mark::IMark const * const pBkmk = GetBookmark();
- if(pBkmk)
+ const SwPosition aPos(GetDoc()->GetNodes().GetEndOfContent());
+ SwCursor aCursor(aPos, 0, false);
+ if (GetPositions(aCursor))
{
- const SwPosition& rPoint = pBkmk->GetMarkStart();
- SwCursor aNewCrsr(rPoint, 0, false);
- if(pBkmk->IsExpanded())
- {
- aNewCrsr.SetMark();
- const SwPosition& rMark = pBkmk->GetMarkEnd();
- *aNewCrsr.GetMark() = rMark;
- }
- UnoActionContext aAction(pDoc);
- pDoc->StartUndo(UNDO_INSERT, NULL);
- if(aNewCrsr.HasMark())
+ UnoActionContext aAction(& m_pImpl->m_rDoc);
+ m_pImpl->m_rDoc.StartUndo(UNDO_INSERT, NULL);
+ if (aCursor.HasMark())
{
- pDoc->DeleteAndJoin(aNewCrsr);
+ m_pImpl->m_rDoc.DeleteAndJoin(aCursor);
}
- if(rText.Len())
+ if (rText.getLength())
{
SwUnoCursorHelper::DocInsertStringSplitCR(
- *pDoc, aNewCrsr, rText, bForceExpandHints);
+ m_pImpl->m_rDoc, aCursor, rText, bForceExpandHints);
- SwXTextCursor::SelectPam(aNewCrsr, sal_True);
- aNewCrsr.Left(rText.Len(), CRSR_SKIP_CHARS, FALSE, FALSE);
+ SwUnoCursorHelper::SelectPam(aCursor, true);
+ aCursor.Left(rText.getLength(), CRSR_SKIP_CHARS, FALSE, FALSE);
}
- _CreateNewBookmark(aNewCrsr);
- pDoc->EndUndo(UNDO_INSERT, NULL);
+ SetPositions(aCursor);
+ m_pImpl->m_rDoc.EndUndo(UNDO_INSERT, NULL);
}
}
-uno::Reference< XText > SwXTextRange::getText(void) throw( uno::RuntimeException )
+const uno::Sequence< sal_Int8 > & SwXTextRange::getUnoTunnelId()
+{
+ static uno::Sequence< sal_Int8 > aSeq = ::CreateUnoTunnelId();
+ return aSeq;
+}
+
+// XUnoTunnel
+sal_Int64 SAL_CALL
+SwXTextRange::getSomething(const uno::Sequence< sal_Int8 >& rId)
+throw (uno::RuntimeException)
+{
+ return ::sw::UnoTunnelImpl<SwXTextRange>(rId, this);
+}
+
+OUString SAL_CALL
+SwXTextRange::getImplementationName() throw (uno::RuntimeException)
+{
+ return OUString::createFromAscii("SwXTextRange");
+}
+
+static char const*const g_ServicesTextRange[] =
+{
+ "com.sun.star.text.TextRange",
+ "com.sun.star.style.CharacterProperties",
+ "com.sun.star.style.CharacterPropertiesAsian",
+ "com.sun.star.style.CharacterPropertiesComplex",
+ "com.sun.star.style.ParagraphProperties",
+ "com.sun.star.style.ParagraphPropertiesAsian",
+ "com.sun.star.style.ParagraphPropertiesComplex",
+};
+static const size_t g_nServicesTextRange(
+ sizeof(g_ServicesTextRange)/sizeof(g_ServicesTextRange[0]));
+
+sal_Bool SAL_CALL SwXTextRange::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ return ::sw::SupportsServiceImpl(
+ g_nServicesTextRange, g_ServicesTextRange, rServiceName);
+}
+
+uno::Sequence< OUString > SAL_CALL
+SwXTextRange::getSupportedServiceNames() throw (uno::RuntimeException)
+{
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesTextRange, g_ServicesTextRange);
+}
+
+uno::Reference< text::XText > SAL_CALL
+SwXTextRange::getText() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if (!xParentText.is())
+
+ if (!m_pImpl->m_xParentText.is())
{
- if (eRangePosition == RANGE_IS_TABLE &&
- aObjectDepend.GetRegisteredIn() )
+ if (m_pImpl->m_eRangePosition == RANGE_IS_TABLE &&
+ m_pImpl->m_ObjectDepend.GetRegisteredIn())
{
- SwFrmFmt* pTblFmt = (SwFrmFmt*)aObjectDepend.GetRegisteredIn();
- SwTable* pTable = SwTable::FindTable( pTblFmt );
- SwTableNode* pTblNode = pTable->GetTableNode();
- SwPosition aPosition( *pTblNode );
- uno::Reference< XTextRange > xRange =
- SwXTextRange::CreateTextRangeFromPosition(pDoc, aPosition, 0);
- xParentText = xRange->getText();
- }
- else
- {
- OSL_ENSURE(false, "SwXTextRange::getText: no text");
+ SwFrmFmt const*const pTblFmt = static_cast<SwFrmFmt const*>(
+ m_pImpl->m_ObjectDepend.GetRegisteredIn());
+ SwTable const*const pTable = SwTable::FindTable( pTblFmt );
+ SwTableNode const*const pTblNode = pTable->GetTableNode();
+ const SwPosition aPosition( *pTblNode );
+ m_pImpl->m_xParentText =
+ ::sw::CreateParentXText(m_pImpl->m_rDoc, aPosition);
}
}
- return xParentText;
+ OSL_ENSURE(m_pImpl->m_xParentText.is(), "SwXTextRange::getText: no text");
+ return m_pImpl->m_xParentText;
}
-uno::Reference< XTextRange > SwXTextRange::getStart(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXTextRange::getStart() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< XTextRange > xRet;
- ::sw::mark::IMark const * const pBkmk = GetBookmark();
- if(!xParentText.is())
+ uno::Reference< text::XTextRange > xRet;
+ ::sw::mark::IMark const * const pBkmk = m_pImpl->GetBookmark();
+ if (!m_pImpl->m_xParentText.is())
+ {
getText();
+ }
if(pBkmk)
{
SwPaM aPam(pBkmk->GetMarkStart());
- xRet = new SwXTextRange(aPam, xParentText);
+ xRet = new SwXTextRange(aPam, m_pImpl->m_xParentText);
}
- else if(eRangePosition == RANGE_IS_TABLE)
+ else if (RANGE_IS_TABLE == m_pImpl->m_eRangePosition)
{
- //start and end are this, if its a table
+ // start and end are this, if its a table
xRet = this;
}
else
+ {
throw uno::RuntimeException();
+ }
return xRet;
}
-uno::Reference< XTextRange > SwXTextRange::getEnd(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXTextRange::getEnd() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< XTextRange > xRet;
- ::sw::mark::IMark const * const pBkmk = GetBookmark();
- if(!xParentText.is())
+
+ uno::Reference< text::XTextRange > xRet;
+ ::sw::mark::IMark const * const pBkmk = m_pImpl->GetBookmark();
+ if (!m_pImpl->m_xParentText.is())
+ {
getText();
+ }
if(pBkmk)
{
SwPaM aPam(pBkmk->GetMarkEnd());
- xRet = new SwXTextRange(aPam, xParentText);
+ xRet = new SwXTextRange(aPam, m_pImpl->m_xParentText);
}
- else if(eRangePosition == RANGE_IS_TABLE)
+ else if (RANGE_IS_TABLE == m_pImpl->m_eRangePosition)
{
- //start and end are this, if its a table
+ // start and end are this, if its a table
xRet = this;
}
else
+ {
throw uno::RuntimeException();
+ }
return xRet;
}
-OUString SwXTextRange::getString(void) throw( uno::RuntimeException )
+OUString SAL_CALL SwXTextRange::getString() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
OUString sRet;
- ::sw::mark::IMark const * const pBkmk = GetBookmark();
// for tables there is no bookmark, thus also no text
// one could export the table as ASCII here maybe?
- if(pBkmk && pBkmk->IsExpanded())
+ SwPaM aPaM(GetDoc()->GetNodes());
+ if (GetPositions(aPaM) && aPaM.HasMark())
{
- const SwPosition& rPoint = pBkmk->GetMarkPos();
- const SwPosition& rMark = pBkmk->GetOtherMarkPos();
- SwPaM aCrsr(rMark, rPoint);
- SwXTextCursor::getTextFromPam(aCrsr, sRet);
+ SwUnoCursorHelper::GetTextFromPam(aPaM, sRet);
}
return sRet;
}
-void SwXTextRange::setString(const OUString& aString)
- throw( uno::RuntimeException )
+void SAL_CALL SwXTextRange::setString(const OUString& rString)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- DeleteAndInsert(aString, false);
-}
-void SwXTextRange::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
-{
- sal_Bool bAlreadyRegisterred = 0 != GetRegisteredIn();
- ClientModify(this, pOld, pNew);
- if(aObjectDepend.GetRegisteredIn())
- {
- ClientModify(&aObjectDepend, pOld, pNew);
- // if the depend was removed then the range must be removed too
- if(!aObjectDepend.GetRegisteredIn() && GetRegisteredIn())
- ((SwModify*)GetRegisteredIn())->Remove(this);
- // or if the range has been removed but the depend ist still
- // connected then the depend must be removed
- else if(bAlreadyRegisterred && !GetRegisteredIn() &&
- aObjectDepend.GetRegisteredIn())
- ((SwModify*)aObjectDepend.GetRegisteredIn())->Remove(&aObjectDepend);
- }
- if(!GetRegisteredIn())
- pMark = NULL;
+ DeleteAndInsert(rString, false);
}
-sal_Bool SwXTextRange::GetPositions(SwPaM& rToFill) const
+bool SwXTextRange::GetPositions(SwPaM& rToFill) const
{
- sal_Bool bRet = sal_False;
- ::sw::mark::IMark const * const pBkmk = GetBookmark();
+ ::sw::mark::IMark const * const pBkmk = m_pImpl->GetBookmark();
if(pBkmk)
{
*rToFill.GetPoint() = pBkmk->GetMarkPos();
@@ -1386,16 +1103,20 @@ sal_Bool SwXTextRange::GetPositions(SwPaM& rToFill) const
*rToFill.GetMark() = pBkmk->GetOtherMarkPos();
}
else
+ {
rToFill.DeleteMark();
- bRet = sal_True;
+ }
+ return true;
}
- return bRet;
+ return false;
}
-sal_Bool SwXTextRange::XTextRangeToSwPaM( SwUnoInternalPaM& rToFill,
- const uno::Reference< XTextRange > & xTextRange)
+namespace sw {
+
+bool XTextRangeToSwPaM( SwUnoInternalPaM & rToFill,
+ const uno::Reference< text::XTextRange > & xTextRange)
{
- sal_Bool bRet = sal_False;
+ bool bRet = false;
uno::Reference<lang::XUnoTunnel> xRangeTunnel( xTextRange, uno::UNO_QUERY);
SwXTextRange* pRange = 0;
@@ -1405,27 +1126,27 @@ sal_Bool SwXTextRange::XTextRangeToSwPaM( SwUnoInternalPaM& rToFill,
SwXParagraph* pPara = 0;
if(xRangeTunnel.is())
{
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
- pPortion = reinterpret_cast< SwXTextPortion * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextPortion::getUnoTunnelId()) ));
- pText = reinterpret_cast< SwXText * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXText::getUnoTunnelId()) ));
- pPara = reinterpret_cast< SwXParagraph * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXParagraph::getUnoTunnelId()) ));
+ pRange = ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel);
+ pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xRangeTunnel);
+ pPortion=
+ ::sw::UnoTunnelGetImplementation<SwXTextPortion>(xRangeTunnel);
+ pText = ::sw::UnoTunnelGetImplementation<SwXText>(xRangeTunnel);
+ pPara = ::sw::UnoTunnelGetImplementation<SwXParagraph>(xRangeTunnel);
}
- //if it's a text cursor then create a temporary cursor there and re-use the pCursor variable
- uno::Reference< XTextCursor > xTextCursor;
- if(pText)
+ // if it's a text then create a temporary cursor there and re-use
+ // the pCursor variable
+ // #i108489#: Reference in outside scope to keep cursor alive
+ uno::Reference< text::XTextCursor > xTextCursor;
+ if (pText)
{
- xTextCursor = pText->createCursor();
+ xTextCursor.set( pText->CreateCursor() );
xTextCursor->gotoEnd(sal_True);
- uno::Reference<XUnoTunnel> xCrsrTunnel( xTextCursor, UNO_QUERY);
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xCrsrTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
+ const uno::Reference<lang::XUnoTunnel> xCrsrTunnel(
+ xTextCursor, uno::UNO_QUERY);
+ pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xCrsrTunnel);
}
if(pRange && pRange->GetDoc() == rToFill.GetDoc())
{
@@ -1435,15 +1156,7 @@ sal_Bool SwXTextRange::XTextRangeToSwPaM( SwUnoInternalPaM& rToFill,
{
if (pPara)
{
- const SwTxtNode * pTxtNode( pPara->GetTxtNode() );
-
- if (pTxtNode) {
- bRet = sal_True;
- *rToFill.GetPoint() = SwPosition( *pTxtNode );
- // set selection to the whole paragraph
- rToFill.SetMark();
- rToFill.GetMark()->nContent = pTxtNode->GetTxt().Len();
- }
+ bRet = pPara->SelectPaM(rToFill);
}
else
{
@@ -1453,8 +1166,9 @@ sal_Bool SwXTextRange::XTextRangeToSwPaM( SwUnoInternalPaM& rToFill,
: ((pPortion) ? pPortion->GetCursor() : 0);
if (pUnoCrsr && pDoc == rToFill.GetDoc())
{
- DBG_ASSERT((SwPaM*)pUnoCrsr->GetNext() == pUnoCrsr, "was machen wir mit Ringen?" );
- bRet = sal_True;
+ DBG_ASSERT((SwPaM*)pUnoCrsr->GetNext() == pUnoCrsr,
+ "what to do about rings?");
+ bRet = true;
*rToFill.GetPoint() = *pUnoCrsr->GetPoint();
if (pUnoCrsr->HasMark())
{
@@ -1469,53 +1183,65 @@ sal_Bool SwXTextRange::XTextRangeToSwPaM( SwUnoInternalPaM& rToFill,
return bRet;
}
-sal_Bool lcl_IsStartNodeInFormat(sal_Bool bHeader, SwStartNode* pSttNode,
- const SwFrmFmt* pFrmFmt, SwFrmFmt*& rpFormat)
+static bool
+lcl_IsStartNodeInFormat(const bool bHeader, SwStartNode *const pSttNode,
+ SwFrmFmt const*const pFrmFmt, SwFrmFmt*& rpFormat)
{
- sal_Bool bRet = sal_False;
+ bool bRet = false;
const SfxItemSet& rSet = pFrmFmt->GetAttrSet();
const SfxPoolItem* pItem;
- SwFrmFmt* pHeadFootFmt;
- if(SFX_ITEM_SET == rSet.GetItemState( static_cast< USHORT >(bHeader ? RES_HEADER : RES_FOOTER), sal_True, &pItem) &&
- 0 != (pHeadFootFmt = bHeader ?
- ((SwFmtHeader*)pItem)->GetHeaderFmt() :
- ((SwFmtFooter*)pItem)->GetFooterFmt()))
- {
- const SwFmtCntnt& rFlyCntnt = pHeadFootFmt->GetCntnt();
- const SwNode& rNode = rFlyCntnt.GetCntntIdx()->GetNode();
- const SwStartNode* pCurSttNode = rNode.FindSttNodeByType(
- bHeader ? SwHeaderStartNode : SwFooterStartNode);
- if(pCurSttNode && pCurSttNode == pSttNode)
+ if (SFX_ITEM_SET == rSet.GetItemState(
+ static_cast<USHORT>(bHeader ? RES_HEADER : RES_FOOTER),
+ sal_True, &pItem))
+ {
+ SfxPoolItem *const pItemNonConst(const_cast<SfxPoolItem *>(pItem));
+ SwFrmFmt *const pHeadFootFmt = (bHeader) ?
+ static_cast<SwFmtHeader*>(pItemNonConst)->GetHeaderFmt() :
+ static_cast<SwFmtFooter*>(pItemNonConst)->GetFooterFmt();
+ if (pHeadFootFmt)
{
- bRet = sal_True;
- rpFormat = pHeadFootFmt;
+ const SwFmtCntnt& rFlyCntnt = pHeadFootFmt->GetCntnt();
+ const SwNode& rNode = rFlyCntnt.GetCntntIdx()->GetNode();
+ SwStartNode const*const pCurSttNode = rNode.FindSttNodeByType(
+ (bHeader) ? SwHeaderStartNode : SwFooterStartNode);
+ if (pCurSttNode && (pCurSttNode == pSttNode))
+ {
+ rpFormat = pHeadFootFmt;
+ bRet = true;
+ }
}
}
return bRet;
}
-uno::Reference< XTextRange > SwXTextRange::CreateTextRangeFromPosition(
- SwDoc* pDoc, const SwPosition& rPos, const SwPosition* pMark)
+} // namespace sw
+
+uno::Reference< text::XTextRange >
+SwXTextRange::CreateXTextRange(
+ SwDoc & rDoc, const SwPosition& rPos, const SwPosition *const pMark)
{
- uno::Reference< XText > xParentText( CreateParentXText(pDoc, rPos) );
- std::auto_ptr<SwUnoCrsr> pNewCrsr( pDoc->CreateUnoCrsr(rPos, sal_False) );
+ const uno::Reference<text::XText> xParentText(
+ ::sw::CreateParentXText(rDoc, rPos));
+ const ::std::auto_ptr<SwUnoCrsr> pNewCrsr(
+ rDoc.CreateUnoCrsr(rPos, sal_False));
if(pMark)
{
pNewCrsr->SetMark();
*pNewCrsr->GetMark() = *pMark;
}
- bool isCell( dynamic_cast<SwXCell*>(xParentText.get()) );
- uno::Reference< XTextRange > xRet(
+ const bool isCell( dynamic_cast<SwXCell*>(xParentText.get()) );
+ const uno::Reference< text::XTextRange > xRet(
new SwXTextRange(*pNewCrsr, xParentText,
isCell ? RANGE_IN_CELL : RANGE_IN_TEXT) );
return xRet;
-
}
-uno::Reference< XText > SwXTextRange::CreateParentXText(SwDoc* pDoc,
- const SwPosition& rPos)
+namespace sw {
+
+uno::Reference< text::XText >
+CreateParentXText(SwDoc & rDoc, const SwPosition& rPos)
{
- uno::Reference< XText > xParentText;
+ uno::Reference< text::XText > xParentText;
SwStartNode* pSttNode = rPos.nNode.GetNode().StartOfSectionNode();
while(pSttNode && pSttNode->IsSectionNode())
{
@@ -1526,18 +1252,19 @@ uno::Reference< XText > SwXTextRange::CreateParentXText(SwDoc* pDoc,
{
case SwTableBoxStartNode:
{
- const SwTableNode* pTblNode = pSttNode->FindTableNode();
- SwFrmFmt* pTableFmt = (SwFrmFmt*)pTblNode->GetTable().GetFrmFmt();
- SwTableBox* pBox = pSttNode->GetTblBox();
+ SwTableNode const*const pTblNode = pSttNode->FindTableNode();
+ SwFrmFmt *const pTableFmt =
+ static_cast<SwFrmFmt*>(pTblNode->GetTable().GetFrmFmt());
+ SwTableBox *const pBox = pSttNode->GetTblBox();
- xParentText = pBox
+ xParentText = (pBox)
? SwXCell::CreateXCell( pTableFmt, pBox )
: new SwXCell( pTableFmt, *pSttNode );
}
break;
case SwFlyStartNode:
{
- SwFrmFmt* pFmt = pSttNode->GetFlyFmt();
+ SwFrmFmt *const pFmt = pSttNode->GetFlyFmt();
if (0 != pFmt)
{
SwXTextFrame* pFrame( static_cast<SwXTextFrame*>(
@@ -1549,42 +1276,44 @@ uno::Reference< XText > SwXTextRange::CreateParentXText(SwDoc* pDoc,
case SwHeaderStartNode:
case SwFooterStartNode:
{
- sal_Bool bHeader = SwHeaderStartNode == eType;
- sal_uInt16 nPDescCount = pDoc->GetPageDescCnt();
+ const bool bHeader = (SwHeaderStartNode == eType);
+ const sal_uInt16 nPDescCount = rDoc.GetPageDescCnt();
for(sal_uInt16 i = 0; i < nPDescCount; i++)
{
- const SwPageDesc& rDesc = const_cast<const SwDoc*>(pDoc)
- ->GetPageDesc( i );
+ const SwPageDesc& rDesc =
+ // C++ is retarded
+ const_cast<SwDoc const&>(rDoc).GetPageDesc( i );
const SwFrmFmt* pFrmFmtMaster = &rDesc.GetMaster();
const SwFrmFmt* pFrmFmtLeft = &rDesc.GetLeft();
SwFrmFmt* pHeadFootFmt = 0;
- if(!lcl_IsStartNodeInFormat(bHeader, pSttNode, pFrmFmtMaster, pHeadFootFmt))
- lcl_IsStartNodeInFormat(bHeader, pSttNode, pFrmFmtLeft, pHeadFootFmt);
+ if (!lcl_IsStartNodeInFormat(bHeader, pSttNode, pFrmFmtMaster,
+ pHeadFootFmt))
+ {
+ lcl_IsStartNodeInFormat(bHeader, pSttNode, pFrmFmtLeft,
+ pHeadFootFmt);
+ }
- if(pHeadFootFmt)
+ if (pHeadFootFmt)
{
- SwXHeadFootText* pxHdFt = (SwXHeadFootText*)SwClientIter( *pHeadFootFmt ).
- First( TYPE( SwXHeadFootText ));
- xParentText = pxHdFt;
- if(!pxHdFt)
- xParentText = new SwXHeadFootText(*pHeadFootFmt, bHeader);
- break;
+ xParentText = SwXHeadFootText::CreateXHeadFootText(
+ *pHeadFootFmt, bHeader);
}
}
}
break;
case SwFootnoteStartNode:
{
- sal_uInt16 n, nFtnCnt = pDoc->GetFtnIdxs().Count();
- uno::Reference< XFootnote > xRef;
- for( n = 0; n < nFtnCnt; ++n )
+ const sal_uInt16 nFtnCnt = rDoc.GetFtnIdxs().Count();
+ uno::Reference< text::XFootnote > xRef;
+ for (sal_uInt16 n = 0; n < nFtnCnt; ++n )
{
- const SwTxtFtn* pTxtFtn = pDoc->GetFtnIdxs()[ n ];
+ const SwTxtFtn* pTxtFtn = rDoc.GetFtnIdxs()[ n ];
const SwFmtFtn& rFtn = pTxtFtn->GetFtn();
pTxtFtn = rFtn.GetTxtFtn();
#if OSL_DEBUG_LEVEL > 1
- const SwStartNode* pTmpSttNode = pTxtFtn->GetStartNode()->GetNode().
+ const SwStartNode* pTmpSttNode =
+ pTxtFtn->GetStartNode()->GetNode().
FindSttNodeByType(SwFootnoteStartNode);
(void)pTmpSttNode;
#endif
@@ -1592,12 +1321,7 @@ uno::Reference< XText > SwXTextRange::CreateParentXText(SwDoc* pDoc,
if (pSttNode == pTxtFtn->GetStartNode()->GetNode().
FindSttNodeByType(SwFootnoteStartNode))
{
- xParentText = ((SwUnoCallBack*)pDoc->GetUnoCallBack())->
- GetFootnote(rFtn);
- if (!xParentText.is())
- {
- xParentText = new SwXFootnote(pDoc, rFtn);
- }
+ xParentText = SwXFootnote::CreateXFootnote(rDoc, rFtn);
break;
}
}
@@ -1606,9 +1330,9 @@ uno::Reference< XText > SwXTextRange::CreateParentXText(SwDoc* pDoc,
default:
{
// then it is the body text
- uno::Reference<frame::XModel> xModel =
- pDoc->GetDocShell()->GetBaseModel();
- uno::Reference< XTextDocument > xDoc(
+ const uno::Reference<frame::XModel> xModel =
+ rDoc.GetDocShell()->GetBaseModel();
+ const uno::Reference< text::XTextDocument > xDoc(
xModel, uno::UNO_QUERY);
xParentText = xDoc->getText();
}
@@ -1617,181 +1341,250 @@ uno::Reference< XText > SwXTextRange::CreateParentXText(SwDoc* pDoc,
return xParentText;
}
-uno::Reference< XEnumeration > SAL_CALL SwXTextRange::createContentEnumeration(
- const OUString& rServiceName)
- throw(RuntimeException)
+} // namespace sw
+
+uno::Reference< container::XEnumeration > SAL_CALL
+SwXTextRange::createContentEnumeration(const OUString& rServiceName)
+throw (uno::RuntimeException)
{
- ::sw::mark::IMark const * const pBkmk = GetBookmark();
- if( !pBkmk || COMPARE_EQUAL != rServiceName.compareToAscii("com.sun.star.text.TextContent") )
- throw RuntimeException();
+ vos::OGuard g(Application::GetSolarMutex());
- const SwPosition& rPoint = pBkmk->GetMarkPos();
- SwUnoCrsr* pNewCrsr = pDoc->CreateUnoCrsr(rPoint, FALSE);
- if(pBkmk->IsExpanded() && pBkmk->GetOtherMarkPos() != rPoint)
+ if (!rServiceName.equalsAscii("com.sun.star.text.TextContent"))
{
- pNewCrsr->SetMark();
- *pNewCrsr->GetMark() = pBkmk->GetOtherMarkPos();
+ throw uno::RuntimeException();
}
- uno::Reference< XEnumeration > xRet = new SwXParaFrameEnumeration(*pNewCrsr, PARAFRAME_PORTION_TEXTRANGE);
- delete pNewCrsr;
+
+ if (!GetDoc() || !m_pImpl->GetBookmark())
+ {
+ throw uno::RuntimeException();
+ }
+ const SwPosition aPos(GetDoc()->GetNodes().GetEndOfContent());
+ const ::std::auto_ptr<SwUnoCrsr> pNewCrsr(
+ m_pImpl->m_rDoc.CreateUnoCrsr(aPos, FALSE));
+ if (!GetPositions(*pNewCrsr))
+ {
+ throw uno::RuntimeException();
+ }
+
+ const uno::Reference< container::XEnumeration > xRet =
+ new SwXParaFrameEnumeration(*pNewCrsr, PARAFRAME_PORTION_TEXTRANGE);
return xRet;
}
-uno::Reference< XEnumeration > SwXTextRange::createEnumeration(void) throw( RuntimeException )
+uno::Reference< container::XEnumeration > SAL_CALL
+SwXTextRange::createEnumeration() throw (uno::RuntimeException)
{
- ::sw::mark::IMark const * const pBkmk = GetBookmark();
- if(!pBkmk) throw RuntimeException();
- const SwPosition& rPoint = pBkmk->GetMarkPos();
- SwUnoCrsr* pNewCrsr = pDoc->CreateUnoCrsr(rPoint, FALSE);
- if(pBkmk->IsExpanded() && pBkmk->GetOtherMarkPos() != rPoint)
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!GetDoc() || !m_pImpl->GetBookmark())
{
- pNewCrsr->SetMark();
- *pNewCrsr->GetMark() = pBkmk->GetOtherMarkPos();
+ throw uno::RuntimeException();
}
- uno::Reference<XUnoTunnel> xTunnel(xParentText, UNO_QUERY);
- SwXText* pParentText = 0;
- if(xTunnel.is())
+ const SwPosition aPos(GetDoc()->GetNodes().GetEndOfContent());
+ ::std::auto_ptr<SwUnoCrsr> pNewCrsr(
+ m_pImpl->m_rDoc.CreateUnoCrsr(aPos, FALSE));
+ if (!GetPositions(*pNewCrsr))
{
- pParentText = reinterpret_cast< SwXText * >(
- sal::static_int_cast< sal_IntPtr >( xTunnel->getSomething(SwXText::getUnoTunnelId()) ));
+ throw uno::RuntimeException();
}
- DBG_ASSERT(pParentText, "parent is not a SwXText");
- CursorType eSetType = RANGE_IN_CELL == eRangePosition ? CURSOR_SELECTION_IN_TABLE : CURSOR_SELECTION;
- uno::Reference< XEnumeration > xRet =
- new SwXParagraphEnumeration(pParentText, pNewCrsr, eSetType);
+ if (!m_pImpl->m_xParentText.is())
+ {
+ getText();
+ }
+
+ const CursorType eSetType = (RANGE_IN_CELL == m_pImpl->m_eRangePosition)
+ ? CURSOR_SELECTION_IN_TABLE : CURSOR_SELECTION;
+ const uno::Reference< container::XEnumeration > xRet =
+ new SwXParagraphEnumeration(m_pImpl->m_xParentText, pNewCrsr, eSetType);
return xRet;
}
-uno::Type SwXTextRange::getElementType(void) throw( RuntimeException )
+uno::Type SAL_CALL SwXTextRange::getElementType() throw (uno::RuntimeException)
{
- return ::getCppuType((uno::Reference<XTextRange>*)0);
+ return text::XTextRange::static_type();
}
-sal_Bool SwXTextRange::hasElements(void) throw( RuntimeException )
+sal_Bool SAL_CALL SwXTextRange::hasElements() throw (uno::RuntimeException)
{
return sal_True;
}
-Sequence< OUString > SAL_CALL SwXTextRange::getAvailableServiceNames(void) throw( RuntimeException )
+uno::Sequence< OUString > SAL_CALL
+SwXTextRange::getAvailableServiceNames() throw (uno::RuntimeException)
{
- Sequence< OUString > aRet(1);
+ uno::Sequence< OUString > aRet(1);
OUString* pArray = aRet.getArray();
pArray[0] = OUString::createFromAscii("com.sun.star.text.TextContent");
return aRet;
}
-uno::Reference< XPropertySetInfo > SAL_CALL SwXTextRange::getPropertySetInfo( ) throw(RuntimeException)
+uno::Reference< beans::XPropertySetInfo > SAL_CALL
+SwXTextRange::getPropertySetInfo() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- static uno::Reference< XPropertySetInfo > xRef = m_pPropSet->getPropertySetInfo();
+
+ static uno::Reference< beans::XPropertySetInfo > xRef =
+ m_pImpl->m_rPropSet.getPropertySetInfo();
return xRef;
}
-void SAL_CALL SwXTextRange::setPropertyValue(
- const OUString& rPropertyName, const Any& rValue )
- throw(UnknownPropertyException, PropertyVetoException,
- IllegalArgumentException, WrappedTargetException, RuntimeException)
+void SAL_CALL
+SwXTextRange::setPropertyValue(
+ const OUString& rPropertyName, const uno::Any& rValue)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!GetDoc() || !GetBookmark())
- throw RuntimeException();
+
+ if (!GetDoc() || !m_pImpl->GetBookmark())
+ {
+ throw uno::RuntimeException();
+ }
SwPaM aPaM(GetDoc()->GetNodes());
- SwXTextRange::GetPositions(aPaM);
- SwXTextCursor::SetPropertyValue(aPaM, *m_pPropSet, rPropertyName, rValue);
+ GetPositions(aPaM);
+ SwUnoCursorHelper::SetPropertyValue(aPaM, m_pImpl->m_rPropSet,
+ rPropertyName, rValue);
}
-Any SAL_CALL SwXTextRange::getPropertyValue( const OUString& rPropertyName )
- throw(UnknownPropertyException, WrappedTargetException, RuntimeException)
+uno::Any SAL_CALL
+SwXTextRange::getPropertyValue(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!GetDoc() || !GetBookmark())
- throw RuntimeException();
- SwPaM aPaM(((SwDoc*)GetDoc())->GetNodes());
- SwXTextRange::GetPositions(aPaM);
- return SwXTextCursor::GetPropertyValue(aPaM, *m_pPropSet, rPropertyName);
+
+ if (!GetDoc() || !m_pImpl->GetBookmark())
+ {
+ throw uno::RuntimeException();
+ }
+ SwPaM aPaM(GetDoc()->GetNodes());
+ GetPositions(aPaM);
+ return SwUnoCursorHelper::GetPropertyValue(aPaM, m_pImpl->m_rPropSet,
+ rPropertyName);
}
-void SAL_CALL SwXTextRange::addPropertyChangeListener(
- const OUString& /*PropertyName*/, const uno::Reference< beans::XPropertyChangeListener >& /*aListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXTextRange::addPropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextRange::addPropertyChangeListener(): not implemented");
}
-void SAL_CALL SwXTextRange::removePropertyChangeListener(
- const OUString& /*PropertyName*/, const uno::Reference< beans::XPropertyChangeListener >& /*aListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXTextRange::removePropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextRange::removePropertyChangeListener(): not implemented");
}
-void SAL_CALL SwXTextRange::addVetoableChangeListener(
- const OUString& /*PropertyName*/, const uno::Reference< XVetoableChangeListener >& /*aListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXTextRange::addVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextRange::addVetoableChangeListener(): not implemented");
}
-void SAL_CALL SwXTextRange::removeVetoableChangeListener(
- const OUString& /*PropertyName*/, const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL
+SwXTextRange::removeVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextRange::removeVetoableChangeListener(): not implemented");
}
-PropertyState SAL_CALL SwXTextRange::getPropertyState( const OUString& rPropertyName )
- throw(UnknownPropertyException, RuntimeException)
+beans::PropertyState SAL_CALL
+SwXTextRange::getPropertyState(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!GetDoc() || !GetBookmark())
- throw RuntimeException();
- SwPaM aPaM(((SwDoc*)GetDoc())->GetNodes());
- SwXTextRange::GetPositions(aPaM);
- return SwXTextCursor::GetPropertyState(aPaM, *m_pPropSet, rPropertyName);
+
+ if (!GetDoc() || !m_pImpl->GetBookmark())
+ {
+ throw uno::RuntimeException();
+ }
+ SwPaM aPaM(GetDoc()->GetNodes());
+ GetPositions(aPaM);
+ return SwUnoCursorHelper::GetPropertyState(aPaM, m_pImpl->m_rPropSet,
+ rPropertyName);
}
-Sequence< PropertyState > SAL_CALL SwXTextRange::getPropertyStates(
- const Sequence< OUString >& rPropertyName ) throw(UnknownPropertyException, RuntimeException)
+uno::Sequence< beans::PropertyState > SAL_CALL
+SwXTextRange::getPropertyStates(const uno::Sequence< OUString >& rPropertyName)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
- NAMESPACE_VOS(OGuard) aGuard(Application::GetSolarMutex());
- if(!GetDoc() || !GetBookmark())
- throw RuntimeException();
- SwPaM aPaM(((SwDoc*)GetDoc())->GetNodes());
- SwXTextRange::GetPositions(aPaM);
- return SwXTextCursor::GetPropertyStates(aPaM, *m_pPropSet, rPropertyName);
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!GetDoc() || !m_pImpl->GetBookmark())
+ {
+ throw uno::RuntimeException();
+ }
+ SwPaM aPaM(GetDoc()->GetNodes());
+ GetPositions(aPaM);
+ return SwUnoCursorHelper::GetPropertyStates(aPaM, m_pImpl->m_rPropSet,
+ rPropertyName);
}
-void SAL_CALL SwXTextRange::setPropertyToDefault( const OUString& rPropertyName )
- throw(UnknownPropertyException, RuntimeException)
+void SAL_CALL SwXTextRange::setPropertyToDefault(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!GetDoc() || !GetBookmark())
- throw RuntimeException();
- SwPaM aPaM(((SwDoc*)GetDoc())->GetNodes());
- SwXTextRange::GetPositions(aPaM);
- SwXTextCursor::SetPropertyToDefault(aPaM, *m_pPropSet, rPropertyName);
+
+ if (!GetDoc() || !m_pImpl->GetBookmark())
+ {
+ throw uno::RuntimeException();
+ }
+ SwPaM aPaM(GetDoc()->GetNodes());
+ GetPositions(aPaM);
+ SwUnoCursorHelper::SetPropertyToDefault(aPaM, m_pImpl->m_rPropSet,
+ rPropertyName);
}
-Any SAL_CALL SwXTextRange::getPropertyDefault( const OUString& rPropertyName )
- throw(UnknownPropertyException, WrappedTargetException, RuntimeException)
+uno::Any SAL_CALL
+SwXTextRange::getPropertyDefault(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!GetDoc() || !GetBookmark())
- throw RuntimeException();
- SwPaM aPaM(((SwDoc*)GetDoc())->GetNodes());
- SwXTextRange::GetPositions(aPaM);
- return SwXTextCursor::GetPropertyDefault(aPaM, *m_pPropSet, rPropertyName);
+
+ if (!GetDoc() || !m_pImpl->GetBookmark())
+ {
+ throw uno::RuntimeException();
+ }
+ SwPaM aPaM(GetDoc()->GetNodes());
+ GetPositions(aPaM);
+ return SwUnoCursorHelper::GetPropertyDefault(aPaM, m_pImpl->m_rPropSet,
+ rPropertyName);
}
-void SwXTextRange::makeRedline(
- const ::rtl::OUString& rRedlineType,
- const uno::Sequence< beans::PropertyValue >& rRedlineProperties )
- throw (lang::IllegalArgumentException, uno::RuntimeException)
+void SAL_CALL
+SwXTextRange::makeRedline(
+ const ::rtl::OUString& rRedlineType,
+ const uno::Sequence< beans::PropertyValue >& rRedlineProperties )
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!GetDoc() || !GetBookmark())
- throw RuntimeException();
- SwPaM aPaM(((SwDoc*)GetDoc())->GetNodes());
+
+ if (!GetDoc() || !m_pImpl->GetBookmark())
+ {
+ throw uno::RuntimeException();
+ }
+ SwPaM aPaM(GetDoc()->GetNodes());
SwXTextRange::GetPositions(aPaM);
SwUnoCursorHelper::makeRedline( aPaM, rRedlineType, rRedlineProperties );
}
@@ -1799,6 +1592,96 @@ void SwXTextRange::makeRedline(
/******************************************************************
* SwXTextRanges
******************************************************************/
+
+class SwXTextRanges::Impl
+ : public SwClient
+{
+
+public:
+
+ ::std::vector< uno::Reference< text::XTextRange > > m_Ranges;
+
+ Impl(SwPaM *const pPaM)
+ : SwClient( (pPaM)
+ ? pPaM->GetDoc()->CreateUnoCrsr(*pPaM->GetPoint())
+ : 0 )
+ {
+ if (pPaM)
+ {
+ ::sw::DeepCopyPaM(*pPaM, *GetCursor());
+ }
+ MakeRanges();
+ }
+
+ ~Impl() {
+ // Impl owns the cursor; delete it here: SolarMutex is locked
+ delete GetRegisteredIn();
+ }
+
+ SwUnoCrsr * GetCursor() {
+ return static_cast<SwUnoCrsr*>(
+ const_cast<SwModify*>(GetRegisteredIn()));
+ }
+
+ void MakeRanges();
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+/*-- 10.12.98 13:57:02---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void SwXTextRanges::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
+{
+ ClientModify(this, pOld, pNew);
+}
+
+/* -----------------10.12.98 14:25-------------------
+ *
+ * --------------------------------------------------*/
+void SwXTextRanges::Impl::MakeRanges()
+{
+ SwUnoCrsr *const pCursor = GetCursor();
+ if (pCursor)
+ {
+ SwPaM *pTmpCursor = pCursor;
+ do {
+ const uno::Reference< text::XTextRange > xRange(
+ SwXTextRange::CreateXTextRange(
+ *pTmpCursor->GetDoc(),
+ *pTmpCursor->GetPoint(), pTmpCursor->GetMark()));
+ if (xRange.is())
+ {
+ m_Ranges.push_back(xRange);
+ }
+ pTmpCursor = static_cast<SwPaM*>(pTmpCursor->GetNext());
+ }
+ while (pTmpCursor != pCursor);
+ }
+}
+
+const SwUnoCrsr* SwXTextRanges::GetCursor() const
+{
+ return m_pImpl->GetCursor();
+}
+
+/*-- 10.12.98 13:57:22---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXTextRanges::SwXTextRanges(SwPaM *const pPaM)
+ : m_pImpl( new SwXTextRanges::Impl(pPaM) )
+{
+}
+
+/*-- 10.12.98 13:57:22---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXTextRanges::~SwXTextRanges()
+{
+}
+
/* -----------------------------13.03.00 12:15--------------------------------
---------------------------------------------------------------------------*/
@@ -1810,210 +1693,121 @@ const uno::Sequence< sal_Int8 > & SwXTextRanges::getUnoTunnelId()
/* -----------------------------10.03.00 18:04--------------------------------
---------------------------------------------------------------------------*/
-sal_Int64 SAL_CALL SwXTextRanges::getSomething( const uno::Sequence< sal_Int8 >& rId )
- throw(uno::RuntimeException)
+sal_Int64 SAL_CALL
+SwXTextRanges::getSomething(const uno::Sequence< sal_Int8 >& rId)
+throw (uno::RuntimeException)
{
- if( rId.getLength() == 16
- && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- rId.getConstArray(), 16 ) )
- {
- return sal::static_int_cast< sal_Int64 >( reinterpret_cast <sal_IntPtr >(this) );
- }
- return 0;
+ return ::sw::UnoTunnelImpl<SwXTextRanges>(rId, this);
}
+
/****************************************************************************
* Text positions
* Bis zum ersten Zugriff auf eine TextPosition wird ein SwCursor gehalten,
* danach wird ein Array mit uno::Reference< XTextPosition > angelegt
*
****************************************************************************/
-SV_IMPL_PTRARR(XTextRangeArr, XTextRangeRefPtr);
/* -----------------------------06.04.00 16:36--------------------------------
---------------------------------------------------------------------------*/
-OUString SwXTextRanges::getImplementationName(void) throw( RuntimeException )
+OUString SAL_CALL
+SwXTextRanges::getImplementationName() throw (uno::RuntimeException)
{
return C2U("SwXTextRanges");
}
/* -----------------------------06.04.00 16:36--------------------------------
---------------------------------------------------------------------------*/
-BOOL SwXTextRanges::supportsService(const OUString& rServiceName) throw( RuntimeException )
+static char const*const g_ServicesTextRanges[] =
{
- return C2U("com.sun.star.text.TextRanges") == rServiceName;
-}
-/* -----------------------------06.04.00 16:36--------------------------------
-
- ---------------------------------------------------------------------------*/
-Sequence< OUString > SwXTextRanges::getSupportedServiceNames(void) throw( RuntimeException )
-{
- Sequence< OUString > aRet(1);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.text.TextRanges");
- return aRet;
-}
-/*-- 10.12.98 13:57:20---------------------------------------------------
+ "com.sun.star.text.TextRanges",
+};
+static const size_t g_nServicesTextRanges(
+ sizeof(g_ServicesTextRanges)/sizeof(g_ServicesTextRanges[0]));
- -----------------------------------------------------------------------*/
-SwXTextRanges::SwXTextRanges() :
- pRangeArr(0)
+sal_Bool SAL_CALL SwXTextRanges::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
{
-
+ return ::sw::SupportsServiceImpl(
+ g_nServicesTextRanges, g_ServicesTextRanges, rServiceName);
}
-/*-- 10.12.98 13:57:22---------------------------------------------------
+/* -----------------------------06.04.00 16:36--------------------------------
- -----------------------------------------------------------------------*/
-SwXTextRanges::SwXTextRanges(SwPaM* pCrsr) :
- pRangeArr(0)
+ ---------------------------------------------------------------------------*/
+uno::Sequence< OUString > SAL_CALL
+SwXTextRanges::getSupportedServiceNames() throw (uno::RuntimeException)
{
- SwUnoCrsr* pUnoCrsr = pCrsr->GetDoc()->CreateUnoCrsr(*pCrsr->GetPoint());
- if(pCrsr->HasMark())
- {
- pUnoCrsr->SetMark();
- *pUnoCrsr->GetMark() = *pCrsr->GetMark();
- }
- if(pCrsr->GetNext() != pCrsr)
- {
- SwPaM *_pStartCrsr = (SwPaM *)pCrsr->GetNext();
- do
- {
- //neuen PaM erzeugen
- SwPaM* pPaM = _pStartCrsr->HasMark() ?
- new SwPaM(*_pStartCrsr->GetMark(), *_pStartCrsr->GetPoint()) :
- new SwPaM(*_pStartCrsr->GetPoint());
- //und in den Ring einfuegen
- pPaM->MoveTo(pUnoCrsr);
-
- } while( (_pStartCrsr=(SwPaM *)_pStartCrsr->GetNext()) != pCrsr );
- }
-
- pUnoCrsr->Add(this);
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesTextRanges, g_ServicesTextRanges);
}
-/*-- 10.12.98 13:57:22---------------------------------------------------
- -----------------------------------------------------------------------*/
-SwXTextRanges::~SwXTextRanges()
-{
- vos::OGuard aGuard(Application::GetSolarMutex());
- SwUnoCrsr* pCrsr = GetCrsr();
- delete pCrsr;
- if(pRangeArr)
- {
- pRangeArr->DeleteAndDestroy(0, pRangeArr->Count());
- delete pRangeArr;
- }
-}
/*-- 10.12.98 13:57:24---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Int32 SwXTextRanges::getCount(void) throw( uno::RuntimeException )
+sal_Int32 SAL_CALL SwXTextRanges::getCount() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- sal_Int32 nRet = 0;
- SwUnoCrsr* pCrsr = GetCrsr();
- if(pCrsr)
- {
- SwPaM *pTmpCrsr = pCrsr;
- do {
- nRet++;
- pTmpCrsr = static_cast<SwPaM*>(pTmpCrsr->GetNext());
- } while ( pTmpCrsr != pCrsr );
- }
- else if(pRangeArr)
- nRet = pRangeArr->Count();
- return nRet;
+
+ return static_cast<sal_Int32>(m_pImpl->m_Ranges.size());
}
/*-- 10.12.98 13:57:25---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXTextRanges::getByIndex(sal_Int32 nIndex)
- throw( lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL SwXTextRanges::getByIndex(sal_Int32 nIndex)
+throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< XTextRange > aRef;
- XTextRangeArr* pArr = ((SwXTextRanges*)this)->GetRangesArray();
- if(pArr && 0 <= nIndex && nIndex < pArr->Count())
+
+ if ((nIndex < 0) ||
+ (static_cast<size_t>(nIndex) >= m_pImpl->m_Ranges.size()))
{
- XTextRangeRefPtr pRef = pArr->GetObject( USHORT( nIndex ));
- aRef = *pRef;
- }
- else
throw lang::IndexOutOfBoundsException();
- uno::Any aRet(&aRef, ::getCppuType((uno::Reference<XTextRange>*)0));
- return aRet;
+ }
+ uno::Any ret;
+ ret <<= (m_pImpl->m_Ranges.at(nIndex));
+ return ret;
}
+
/*-- 10.12.98 13:57:25---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Type SwXTextRanges::getElementType(void) throw( uno::RuntimeException )
+uno::Type SAL_CALL
+SwXTextRanges::getElementType() throw (uno::RuntimeException)
{
- return ::getCppuType((uno::Reference<XTextRange>*)0);
+ return text::XTextRange::static_type();
}
/*-- 10.12.98 13:57:26---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXTextRanges::hasElements(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL SwXTextRanges::hasElements() throw (uno::RuntimeException)
{
- vos::OGuard aGuard(Application::GetSolarMutex());
+ // no mutex necessary: getCount() does locking
return getCount() > 0;
}
-/* -----------------10.12.98 14:25-------------------
- *
- * --------------------------------------------------*/
-XTextRangeArr* SwXTextRanges::GetRangesArray()
-{
- SwUnoCrsr* pCrsr = GetCrsr();
- if(!pRangeArr && pCrsr)
- {
- pRangeArr = new XTextRangeArr();
- SwPaM *pTmpCrsr = pCrsr;
- do {
-
- uno::Reference< XTextRange >* pPtr =
- new uno::Reference<XTextRange>(
- SwXTextRange::CreateTextRangeFromPosition(
- pTmpCrsr->GetDoc(),
- *pTmpCrsr->GetPoint(), pTmpCrsr->GetMark()));
-// new uno::Reference<XTextRange>( SwXTextRange::createTextRangeFromPaM(*pTmpCrsr, xParentText));
- if(pPtr->is())
- pRangeArr->Insert(pPtr, pRangeArr->Count());
-
- pTmpCrsr = static_cast<SwPaM*>(pTmpCrsr->GetNext());
- } while ( pTmpCrsr != pCrsr );
- pCrsr->Remove( this );
- }
- return pRangeArr;
-}
-/*-- 10.12.98 13:57:02---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-void SwXTextRanges::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
-{
- ClientModify(this, pOld, pNew);
-}
/* -----------------11.12.98 10:07-------------------
*
* --------------------------------------------------*/
-void SwXTextCursor::SetString(SwCursor& rCrsr, const OUString& rString)
+void SwUnoCursorHelper::SetString(SwCursor & rCursor, const OUString& rString)
{
// Start/EndAction
- SwDoc* pDoc = rCrsr.GetDoc();
+ SwDoc *const pDoc = rCursor.GetDoc();
UnoActionContext aAction(pDoc);
- String aText(rString);
- xub_StrLen nTxtLen = aText.Len();
pDoc->StartUndo(UNDO_INSERT, NULL);
- if(rCrsr.HasMark())
- pDoc->DeleteAndJoin(rCrsr);
- if(nTxtLen)
+ if (rCursor.HasMark())
{
+ pDoc->DeleteAndJoin(rCursor);
+ }
+ if (rString.getLength())
+ {
+ String aText(rString);
const bool bSuccess( SwUnoCursorHelper::DocInsertStringSplitCR(
- *pDoc, rCrsr, aText, false ) );
+ *pDoc, rCursor, aText, false ) );
DBG_ASSERT( bSuccess, "DocInsertStringSplitCR" );
(void) bSuccess;
- SwXTextCursor::SelectPam(rCrsr, sal_True);
- rCrsr.Left(nTxtLen, CRSR_SKIP_CHARS, FALSE, FALSE);
+ SwUnoCursorHelper::SelectPam(rCursor, true);
+ rCursor.Left(rString.getLength(), CRSR_SKIP_CHARS, FALSE, FALSE);
}
pDoc->EndUndo(UNDO_INSERT, NULL);
}
@@ -2022,6 +1816,68 @@ void SwXTextCursor::SetString(SwCursor& rCrsr, const OUString& rString)
* SwXParaFrameEnumeration
******************************************************************/
+class SwXParaFrameEnumeration::Impl
+ : public SwClient
+{
+
+public:
+
+ // created by hasMoreElements
+ uno::Reference< text::XTextContent > m_xNextObject;
+ FrameDependList_t m_Frames;
+
+ Impl(SwPaM const & rPaM)
+ : SwClient(rPaM.GetDoc()->CreateUnoCrsr(*rPaM.GetPoint(), sal_False))
+ {
+ if (rPaM.HasMark())
+ {
+ GetCursor()->SetMark();
+ *GetCursor()->GetMark() = *rPaM.GetMark();
+ }
+ }
+
+ ~Impl() {
+ // Impl owns the cursor; delete it here: SolarMutex is locked
+ delete GetRegisteredIn();
+ }
+
+ SwUnoCrsr * GetCursor() {
+ return static_cast<SwUnoCrsr*>(
+ const_cast<SwModify*>(GetRegisteredIn()));
+ }
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+/*-- 23.03.99 13:22:37---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+
+struct InvalidFrameDepend {
+ bool operator() (::boost::shared_ptr<SwDepend> const & rEntry)
+ { return !rEntry->GetRegisteredIn(); }
+};
+
+void SwXParaFrameEnumeration::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
+{
+ ClientModify(this, pOld, pNew);
+ if(!GetRegisteredIn())
+ {
+ m_Frames.clear();
+ m_xNextObject = 0;
+ }
+ else
+ {
+ // check if any frame went away...
+ FrameDependList_t::iterator const iter =
+ ::std::remove_if(m_Frames.begin(), m_Frames.end(),
+ InvalidFrameDepend());
+ m_Frames.erase(iter, m_Frames.end());
+ }
+}
+
/* -----------------23.03.99 13:38-------------------
*
* --------------------------------------------------*/
@@ -2033,7 +1889,7 @@ lcl_CreateNextObject(SwUnoCrsr& i_rUnoCrsr,
if (!i_rFrames.size())
return sal_False;
- SwFrmFmt* pFormat = static_cast<SwFrmFmt*>(const_cast<SwModify*>(
+ SwFrmFmt *const pFormat = static_cast<SwFrmFmt*>(const_cast<SwModify*>(
i_rFrames.front()->GetRegisteredIn()));
i_rFrames.pop_front();
// the format should be valid here, otherwise the client
@@ -2054,7 +1910,7 @@ lcl_CreateNextObject(SwUnoCrsr& i_rUnoCrsr,
{
const SwNodeIndex* pIdx = pFormat->GetCntnt().GetCntntIdx();
DBG_ASSERT(pIdx, "where is the index?");
- const SwNode* pNd =
+ SwNode const*const pNd =
i_rUnoCrsr.GetDoc()->GetNodes()[ pIdx->GetIndex() + 1 ];
const FlyCntType eType = (!pNd->IsNoTxtNode()) ? FLYCNTTYPE_FRM
@@ -2073,11 +1929,12 @@ lcl_CreateNextObject(SwUnoCrsr& i_rUnoCrsr,
and fill the frame into the array
---------------------------------------------------------------------------*/
static void
-lcl_FillFrame(SwXParaFrameEnumeration & rEnum, SwUnoCrsr& rUnoCrsr,
+lcl_FillFrame(SwClient & rEnum, SwUnoCrsr& rUnoCrsr,
FrameDependList_t & rFrames)
{
// search for objects at the cursor - anchored at/as char
- const SwTxtAttr * pTxtAttr = rUnoCrsr.GetNode()->GetTxtNode()->GetTxtAttr(
+ SwTxtAttr const*const pTxtAttr =
+ rUnoCrsr.GetNode()->GetTxtNode()->GetTxtAttr(
rUnoCrsr.GetPoint()->nContent, RES_TXTATR_FLYCNT);
if (pTxtAttr)
{
@@ -2088,93 +1945,64 @@ lcl_FillFrame(SwXParaFrameEnumeration & rEnum, SwUnoCrsr& rUnoCrsr,
}
}
-/* -----------------------------06.04.00 16:39--------------------------------
-
- ---------------------------------------------------------------------------*/
-OUString SwXParaFrameEnumeration::getImplementationName()
-throw( RuntimeException )
-{
- return C2U("SwXParaFrameEnumeration");
-}
-/* -----------------------------06.04.00 16:39--------------------------------
-
- ---------------------------------------------------------------------------*/
-sal_Bool SwXParaFrameEnumeration::supportsService(const OUString& rServiceName)
-throw( RuntimeException )
-{
- return C2U("com.sun.star.util.ContentEnumeration") == rServiceName;
-}
-/* -----------------------------06.04.00 16:39--------------------------------
-
- ---------------------------------------------------------------------------*/
-Sequence< OUString > SwXParaFrameEnumeration::getSupportedServiceNames()
-throw( RuntimeException )
-{
- Sequence< OUString > aRet(1);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.util.ContentEnumeration");
- return aRet;
-}
/*-- 23.03.99 13:22:29---------------------------------------------------
-----------------------------------------------------------------------*/
-SwXParaFrameEnumeration::SwXParaFrameEnumeration(const SwPaM& rPaM,
- sal_uInt8 nParaFrameMode,
- SwFrmFmt* pFmt)
+SwXParaFrameEnumeration::SwXParaFrameEnumeration(
+ const SwPaM& rPaM, const enum ParaFrameMode eParaFrameMode,
+ SwFrmFmt *const pFmt)
+ : m_pImpl( new SwXParaFrameEnumeration::Impl(rPaM) )
{
- SwDoc* pDoc = rPaM.GetDoc();
- SwUnoCrsr* pUnoCrsr = pDoc->CreateUnoCrsr(*rPaM.GetPoint(), sal_False);
- if (rPaM.HasMark())
- {
- pUnoCrsr->SetMark();
- *pUnoCrsr->GetMark() = *rPaM.GetMark();
- }
- pUnoCrsr->Add(this);
-
- if (PARAFRAME_PORTION_PARAGRAPH == nParaFrameMode)
+ if (PARAFRAME_PORTION_PARAGRAPH == eParaFrameMode)
{
FrameDependSortList_t frames;
- ::CollectFrameAtNode( *this, rPaM.GetPoint()->nNode, frames, false );
+ ::CollectFrameAtNode(*m_pImpl.get(), rPaM.GetPoint()->nNode,
+ frames, false);
::std::transform(frames.begin(), frames.end(),
- ::std::back_inserter(m_Frames),
+ ::std::back_inserter(m_pImpl->m_Frames),
::boost::bind(&FrameDependSortListEntry::pFrameDepend, _1));
}
else if (pFmt)
{
- //jetzt einen SwDepend anlegen und in das Array einfuegen
- SwDepend* pNewDepend = new SwDepend(this, pFmt);
- m_Frames.push_back( ::boost::shared_ptr<SwDepend>(pNewDepend) );
+ // create SwDepend for frame and insert into array
+ SwDepend *const pNewDepend = new SwDepend(m_pImpl.get(), pFmt);
+ m_pImpl->m_Frames.push_back(::boost::shared_ptr<SwDepend>(pNewDepend));
}
- else if((PARAFRAME_PORTION_CHAR == nParaFrameMode) ||
- (PARAFRAME_PORTION_TEXTRANGE == nParaFrameMode))
+ else if ((PARAFRAME_PORTION_CHAR == eParaFrameMode) ||
+ (PARAFRAME_PORTION_TEXTRANGE == eParaFrameMode))
{
- if(PARAFRAME_PORTION_TEXTRANGE == nParaFrameMode)
+ if (PARAFRAME_PORTION_TEXTRANGE == eParaFrameMode)
{
SwPosFlyFrms aFlyFrms;
//get all frames that are bound at paragraph or at character
- pDoc->GetAllFlyFmts(aFlyFrms, pUnoCrsr);//, bDraw);
+ rPaM.GetDoc()->GetAllFlyFmts(aFlyFrms, m_pImpl->GetCursor());
for(USHORT i = 0; i < aFlyFrms.Count(); i++)
{
SwPosFlyFrm* pPosFly = aFlyFrms[i];
- SwFrmFmt* pFrmFmt = (SwFrmFmt*)&pPosFly->GetFmt();
- //jetzt einen SwDepend anlegen und in das Array einfuegen
- SwDepend* pNewDepend = new SwDepend(this, pFrmFmt);
- m_Frames.push_back( ::boost::shared_ptr<SwDepend>(pNewDepend) );
+ SwFrmFmt *const pFrmFmt =
+ const_cast<SwFrmFmt*>(&pPosFly->GetFmt());
+ // create SwDepend for frame and insert into array
+ SwDepend *const pNewDepend =
+ new SwDepend(m_pImpl.get(), pFrmFmt);
+ m_pImpl->m_Frames.push_back(
+ ::boost::shared_ptr<SwDepend>(pNewDepend) );
}
//created from any text range
- if(pUnoCrsr->HasMark())
+ if (m_pImpl->GetCursor()->HasMark())
{
- if(pUnoCrsr->Start() != pUnoCrsr->GetPoint())
- pUnoCrsr->Exchange();
+ m_pImpl->GetCursor()->Normalize();
do
{
- lcl_FillFrame(*this, *pUnoCrsr, m_Frames);
- pUnoCrsr->Right(1, CRSR_SKIP_CHARS, FALSE, FALSE);
+ lcl_FillFrame(*m_pImpl.get(), *m_pImpl->GetCursor(),
+ m_pImpl->m_Frames);
+ m_pImpl->GetCursor()->Right(
+ 1, CRSR_SKIP_CHARS, FALSE, FALSE);
}
- while(*pUnoCrsr->GetPoint() < *pUnoCrsr->GetMark());
+ while (*m_pImpl->GetCursor()->GetPoint() <
+ *m_pImpl->GetCursor()->GetMark());
}
}
- lcl_FillFrame(*this, *pUnoCrsr, m_Frames);
+ lcl_FillFrame(*m_pImpl.get(), *m_pImpl->GetCursor(), m_pImpl->m_Frames);
}
}
/*-- 23.03.99 13:22:30---------------------------------------------------
@@ -2182,98 +2010,88 @@ SwXParaFrameEnumeration::SwXParaFrameEnumeration(const SwPaM& rPaM,
-----------------------------------------------------------------------*/
SwXParaFrameEnumeration::~SwXParaFrameEnumeration()
{
- vos::OGuard aGuard(Application::GetSolarMutex());
-
- SwUnoCrsr* pUnoCrsr = GetCursor();
- delete pUnoCrsr;
}
/*-- 23.03.99 13:22:32---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXParaFrameEnumeration::hasMoreElements()
-throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXParaFrameEnumeration::hasMoreElements() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if (!GetCursor())
+ if (!m_pImpl->GetCursor())
throw uno::RuntimeException();
- return m_xNextObject.is() ? sal_True :
- lcl_CreateNextObject(*GetCursor(), m_xNextObject, m_Frames);
+ return (m_pImpl->m_xNextObject.is())
+ ? sal_True
+ : lcl_CreateNextObject(*m_pImpl->GetCursor(),
+ m_pImpl->m_xNextObject, m_pImpl->m_Frames);
}
/*-- 23.03.99 13:22:33---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXParaFrameEnumeration::nextElement()
- throw( container::NoSuchElementException,
- lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL SwXParaFrameEnumeration::nextElement()
+throw (container::NoSuchElementException,
+ lang::WrappedTargetException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if (!GetCursor())
+ if (!m_pImpl->GetCursor())
+ {
throw uno::RuntimeException();
+ }
- if (!m_xNextObject.is() && m_Frames.size())
+ if (!m_pImpl->m_xNextObject.is() && m_pImpl->m_Frames.size())
{
- lcl_CreateNextObject(*GetCursor(), m_xNextObject, m_Frames);
+ lcl_CreateNextObject(*m_pImpl->GetCursor(),
+ m_pImpl->m_xNextObject, m_pImpl->m_Frames);
}
- if(!m_xNextObject.is())
+ if (!m_pImpl->m_xNextObject.is())
+ {
throw container::NoSuchElementException();
- uno::Any aRet(&m_xNextObject,
- ::getCppuType((uno::Reference<XTextContent>*)0));
- m_xNextObject = 0;
+ }
+ uno::Any aRet;
+ aRet <<= m_pImpl->m_xNextObject;
+ m_pImpl->m_xNextObject = 0;
return aRet;
}
-struct InvalidFrameDepend {
- bool operator() (::boost::shared_ptr<SwDepend> const & rEntry)
- { return !rEntry->GetRegisteredIn(); }
-};
+/* -----------------------------06.04.00 16:39--------------------------------
-/*-- 23.03.99 13:22:37---------------------------------------------------
+ ---------------------------------------------------------------------------*/
+OUString SAL_CALL
+SwXParaFrameEnumeration::getImplementationName() throw (uno::RuntimeException)
+{
+ return C2U("SwXParaFrameEnumeration");
+}
- -----------------------------------------------------------------------*/
-void SwXParaFrameEnumeration::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
+/* -----------------------------06.04.00 16:39--------------------------------
+
+ ---------------------------------------------------------------------------*/
+static char const*const g_ServicesParaFrameEnum[] =
{
- switch( pOld ? pOld->Which() : 0 )
- {
- case RES_REMOVE_UNO_OBJECT:
- case RES_OBJECTDYING:
- if( (void*)GetRegisteredIn() == ((SwPtrMsgPoolItem *)pOld)->pObject )
- ((SwModify*)GetRegisteredIn())->Remove(this);
- break;
+ "com.sun.star.util.ContentEnumeration",
+};
+static const size_t g_nServicesParaFrameEnum(
+ sizeof(g_ServicesParaFrameEnum)/sizeof(g_ServicesParaFrameEnum[0]));
- case RES_FMT_CHG:
- // wurden wir an das neue umgehaengt und wird das alte geloscht?
- if( ((SwFmtChg*)pNew)->pChangedFmt == GetRegisteredIn() &&
- ((SwFmtChg*)pOld)->pChangedFmt->IsFmtInDTOR() )
- ((SwModify*)GetRegisteredIn())->Remove(this);
- break;
- }
- if(!GetRegisteredIn())
- {
- m_Frames.clear();
- m_xNextObject = 0;
- }
- else
- {
- // check if any frame went away...
- FrameDependList_t::iterator iter =
- ::std::remove_if(m_Frames.begin(), m_Frames.end(),
- InvalidFrameDepend());
- m_Frames.erase(iter, m_Frames.end());
- }
+sal_Bool SAL_CALL
+SwXParaFrameEnumeration::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ return ::sw::SupportsServiceImpl(
+ g_nServicesParaFrameEnum, g_ServicesParaFrameEnum, rServiceName);
}
-// -----------------------------------------------------------------------------
-IMPLEMENT_FORWARD_REFCOUNT( SwXTextCursor,SwXTextCursor_Base )
-uno::Any SAL_CALL SwXTextCursor::queryInterface( const uno::Type& _rType ) throw (uno::RuntimeException)
+/* -----------------------------06.04.00 16:39--------------------------------
+
+ ---------------------------------------------------------------------------*/
+uno::Sequence< OUString > SAL_CALL
+SwXParaFrameEnumeration::getSupportedServiceNames()
+throw (uno::RuntimeException)
{
- if( _rType == ::getCppuType( (uno::Reference<XUnoTunnel>*)0) )
- return OTextCursorHelper::queryInterface( _rType );
- else
- return SwXTextCursor_Base::queryInterface( _rType );
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesParaFrameEnum, g_ServicesParaFrameEnum);
}
-
diff --git a/sw/source/core/unocore/unoparagraph.cxx b/sw/source/core/unocore/unoparagraph.cxx
index 89032a3b20..cda9c822ad 100644
--- a/sw/source/core/unocore/unoparagraph.cxx
+++ b/sw/source/core/unocore/unoparagraph.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoparagraph.cxx,v $
- * $Revision: 1.41 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,10 +28,12 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
+#include <unoparagraph.hxx>
#include <cmdid.h>
#include <unomid.h>
-#include <unoobj.hxx>
+#include <unoparaframeenum.hxx>
+#include <unotext.hxx>
+#include <unotextrange.hxx>
#include <unoport.hxx>
#include <unomap.hxx>
#include <unocrsr.hxx>
@@ -48,7 +47,7 @@
#define _SVSTDARR_USHORTS
#define _SVSTDARR_USHORTSSORT
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <com/sun/star/beans/SetPropertyTolerantFailed.hpp>
#include <com/sun/star/beans/GetPropertyTolerantResult.hpp>
@@ -57,6 +56,7 @@
#include <com/sun/star/text/WrapTextMode.hpp>
#include <com/sun/star/text/TextContentAnchorType.hpp>
+
using namespace ::com::sun::star;
using ::rtl::OUString;
@@ -66,38 +66,38 @@ using ::rtl::OUString;
---------------------------------------------------------------------------*/
class SwParaSelection
{
- SwCursor* m_pCursor;
+ SwCursor & m_rCursor;
public:
- SwParaSelection(SwCursor* pPam);
+ SwParaSelection(SwCursor & rCursor);
~SwParaSelection();
};
-SwParaSelection::SwParaSelection(SwCursor* pCursor)
- : m_pCursor(pCursor)
+SwParaSelection::SwParaSelection(SwCursor & rCursor)
+ : m_rCursor(rCursor)
{
- if (m_pCursor->HasMark())
+ if (m_rCursor.HasMark())
{
- m_pCursor->DeleteMark();
+ m_rCursor.DeleteMark();
}
// is it at the start?
- if (m_pCursor->GetPoint()->nContent != 0)
+ if (m_rCursor.GetPoint()->nContent != 0)
{
- m_pCursor->MovePara(fnParaCurr, fnParaStart);
+ m_rCursor.MovePara(fnParaCurr, fnParaStart);
}
// or at the end already?
- if (m_pCursor->GetPoint()->nContent != m_pCursor->GetCntntNode()->Len())
+ if (m_rCursor.GetPoint()->nContent != m_rCursor.GetCntntNode()->Len())
{
- m_pCursor->SetMark();
- m_pCursor->MovePara(fnParaCurr, fnParaEnd);
+ m_rCursor.SetMark();
+ m_rCursor.MovePara(fnParaCurr, fnParaEnd);
}
}
SwParaSelection::~SwParaSelection()
{
- if (m_pCursor->GetPoint()->nContent != 0)
+ if (m_rCursor.GetPoint()->nContent != 0)
{
- m_pCursor->DeleteMark();
- m_pCursor->MovePara(fnParaCurr, fnParaStart);
+ m_rCursor.DeleteMark();
+ m_rCursor.MovePara(fnParaCurr, fnParaStart);
}
}
@@ -111,25 +111,184 @@ beans::PropertyState lcl_SwXParagraph_getPropertyState(
const SwAttrSet** ppSet,
const SfxItemPropertySimpleEntry& rEntry,
sal_Bool &rAttrSetFetched )
- throw( beans::UnknownPropertyException);
+ throw (beans::UnknownPropertyException);
/******************************************************************
* SwXParagraph
******************************************************************/
-TYPEINIT1(SwXParagraph, SwClient);
+class SwXParagraph::Impl
+ : public SwClient
+{
-/* -----------------------------11.07.00 12:10--------------------------------
+public:
+ SwXParagraph & m_rThis;
+ SwEventListenerContainer m_ListenerContainer;
+ SfxItemPropertySet const& m_rPropSet;
+ bool m_bIsDescriptor;
+ sal_Int32 m_nSelectionStartPos;
+ sal_Int32 m_nSelectionEndPos;
+ ::rtl::OUString m_sText;
+ uno::Reference<text::XText> m_xParentText;
+
+ Impl( SwXParagraph & rThis,
+ SwTxtNode *const pTxtNode = 0,
+ uno::Reference< text::XText > const & xParent = 0,
+ const sal_Int32 nSelStart = -1, const sal_Int32 nSelEnd = -1)
+ : SwClient(pTxtNode)
+ , m_rThis(rThis)
+ , m_ListenerContainer(static_cast< ::cppu::OWeakObject* >(&rThis))
+ , m_rPropSet(*aSwMapProvider.GetPropertySet(PROPERTY_MAP_PARAGRAPH))
+ , m_bIsDescriptor(0 == pTxtNode)
+ , m_nSelectionStartPos(nSelStart)
+ , m_nSelectionEndPos(nSelEnd)
+ , m_xParentText(xParent)
+ {
+ }
- ---------------------------------------------------------------------------*/
-SwXParagraph* SwXParagraph::GetImplementation(uno::Reference< XInterface> xRef )
+ const SwTxtNode * GetTxtNode() const {
+ return static_cast<const SwTxtNode*>(GetRegisteredIn());
+ }
+ SwTxtNode * GetTxtNode() {
+ return static_cast<SwTxtNode*>(pRegisteredIn);
+ }
+
+ SwTxtNode & GetTxtNodeOrThrow() {
+ SwTxtNode *const pTxtNode( GetTxtNode() );
+ if (!pTxtNode) {
+ throw uno::RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "SwXParagraph: disposed or invalid")), 0);
+ }
+ return *pTxtNode;
+ }
+
+ bool IsDescriptor() const { return m_bIsDescriptor; }
+
+ void SetPropertyValues_Impl(
+ const uno::Sequence< ::rtl::OUString >& rPropertyNames,
+ const uno::Sequence< uno::Any >& rValues)
+ throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException);
+
+ uno::Sequence< uno::Any >
+ GetPropertyValues_Impl(
+ const uno::Sequence< ::rtl::OUString >& rPropertyNames)
+ throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException);
+
+ uno::Sequence< beans::GetDirectPropertyTolerantResult >
+ GetPropertyValuesTolerant_Impl(
+ const uno::Sequence< ::rtl::OUString >& rPropertyNames,
+ bool bDirectValuesOnly)
+ throw (uno::RuntimeException);
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+/*-- 11.12.98 08:12:58---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void SwXParagraph::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
+{
+ ClientModify(this, pOld, pNew);
+ if (!GetRegisteredIn())
+ {
+ m_ListenerContainer.Disposing();
+ }
+}
+
+/*-- 11.12.98 08:12:47---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXParagraph::SwXParagraph()
+ : m_pImpl( new SwXParagraph::Impl(*this) )
+{
+}
+
+/*-- 11.12.98 08:12:47---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXParagraph::SwXParagraph(
+ uno::Reference< text::XText > const & xParent,
+ SwTxtNode & rTxtNode,
+ const sal_Int32 nSelStart, const sal_Int32 nSelEnd)
+ : m_pImpl(
+ new SwXParagraph::Impl(*this, &rTxtNode, xParent, nSelStart, nSelEnd))
{
- uno::Reference<lang::XUnoTunnel> xParaTunnel( xRef, uno::UNO_QUERY);
- if(xParaTunnel.is())
- return reinterpret_cast< SwXParagraph * >(
- sal::static_int_cast< sal_IntPtr >( xParaTunnel->getSomething(SwXParagraph::getUnoTunnelId()) ));
- return 0;
}
+
+/*-- 11.12.98 08:12:48---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXParagraph::~SwXParagraph()
+{
+}
+
+const SwTxtNode * SwXParagraph::GetTxtNode() const
+{
+ return m_pImpl->GetTxtNode();
+}
+
+bool SwXParagraph::IsDescriptor() const
+{
+ return m_pImpl->IsDescriptor();
+}
+
+uno::Reference<text::XTextContent>
+SwXParagraph::CreateXParagraph(SwDoc & rDoc, SwTxtNode& rTxtNode,
+ uno::Reference< text::XText> const& i_xParent,
+ const sal_Int32 nSelStart, const sal_Int32 nSelEnd)
+{
+ // re-use existing SwXParagraph
+ // #i105557#: do not iterate over the registered clients: race condition
+ uno::Reference<text::XTextContent> xParagraph;
+ if ((-1 == nSelStart) && (-1 == nSelEnd)) // only use cache if no selection!
+ {
+ xParagraph.set(rTxtNode.GetXParagraph());
+ }
+ if (xParagraph.is())
+ {
+ return xParagraph;
+ }
+
+ // create new SwXParagraph
+ uno::Reference<text::XText> xParentText(i_xParent);
+ if (!xParentText.is())
+ {
+ SwPosition Pos( rTxtNode );
+ xParentText.set(::sw::CreateParentXText( rDoc, Pos ));
+ }
+ SwXParagraph *const pXPara(
+ new SwXParagraph(xParentText, rTxtNode, nSelStart, nSelEnd) );
+ // this is why the constructor is private: need to acquire pXPara here
+ xParagraph.set(pXPara);
+ // in order to initialize the weak pointer cache in the core object
+ if ((-1 == nSelStart) && (-1 == nSelEnd))
+ {
+ rTxtNode.SetXParagraph(xParagraph);
+ }
+ return xParagraph;
+}
+
+bool SwXParagraph::SelectPaM(SwPaM & rPaM)
+{
+ SwTxtNode const*const pTxtNode( GetTxtNode() );
+
+ if (!pTxtNode)
+ {
+ return false;
+ }
+
+ *rPaM.GetPoint() = SwPosition( *pTxtNode );
+ // set selection to the whole paragraph
+ rPaM.SetMark();
+ rPaM.GetMark()->nContent = pTxtNode->GetTxt().Len();
+ return true;
+}
+
/* -----------------------------13.03.00 12:15--------------------------------
---------------------------------------------------------------------------*/
@@ -141,191 +300,176 @@ const uno::Sequence< sal_Int8 > & SwXParagraph::getUnoTunnelId()
/* -----------------------------10.03.00 18:04--------------------------------
---------------------------------------------------------------------------*/
-sal_Int64 SAL_CALL SwXParagraph::getSomething( const uno::Sequence< sal_Int8 >& rId )
- throw(uno::RuntimeException)
+sal_Int64 SAL_CALL
+SwXParagraph::getSomething(const uno::Sequence< sal_Int8 >& rId)
+throw (uno::RuntimeException)
{
- if( rId.getLength() == 16
- && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- rId.getConstArray(), 16 ) )
- {
- return sal::static_int_cast< sal_Int64 >( reinterpret_cast< sal_IntPtr >(this) );
- }
- return 0;
+ return ::sw::UnoTunnelImpl<SwXParagraph>(rId, this);
}
-/* -----------------------------06.04.00 16:37--------------------------------
- ---------------------------------------------------------------------------*/
-OUString SwXParagraph::getImplementationName(void) throw( uno::RuntimeException )
-{
- return C2U("SwXParagraph");
-}
/* -----------------------------06.04.00 16:37--------------------------------
---------------------------------------------------------------------------*/
-BOOL SwXParagraph::supportsService(const OUString& rServiceName) throw( uno::RuntimeException )
+OUString SAL_CALL
+SwXParagraph::getImplementationName() throw (uno::RuntimeException)
{
- String sServiceName(rServiceName);
- return sServiceName.EqualsAscii("com.sun.star.text.TextContent") ||
- sServiceName.EqualsAscii("com.sun.star.text.Paragraph") ||
- sServiceName.EqualsAscii("com.sun.star.style.CharacterProperties")||
- sServiceName.EqualsAscii("com.sun.star.style.CharacterPropertiesAsian")||
- sServiceName.EqualsAscii("com.sun.star.style.CharacterPropertiesComplex")||
- sServiceName.EqualsAscii("com.sun.star.style.ParagraphProperties") ||
- sServiceName.EqualsAscii("com.sun.star.style.ParagraphPropertiesAsian") ||
- sServiceName.EqualsAscii("com.sun.star.style.ParagraphPropertiesComplex");
+ return C2U("SwXParagraph");
}
/* -----------------------------06.04.00 16:37--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< OUString > SwXParagraph::getSupportedServiceNames(void) throw( uno::RuntimeException )
+static char const*const g_ServicesParagraph[] =
{
- uno::Sequence< OUString > aRet(8);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.text.Paragraph");
- pArray[1] = C2U("com.sun.star.style.CharacterProperties");
- pArray[2] = C2U("com.sun.star.style.CharacterPropertiesAsian");
- pArray[3] = C2U("com.sun.star.style.CharacterPropertiesComplex");
- pArray[4] = C2U("com.sun.star.style.ParagraphProperties");
- pArray[5] = C2U("com.sun.star.style.ParagraphPropertiesAsian");
- pArray[6] = C2U("com.sun.star.style.ParagraphPropertiesComplex");
- pArray[7] = C2U("com.sun.star.text.TextContent");
- return aRet;
-}
-/*-- 11.12.98 08:12:47---------------------------------------------------
+ "com.sun.star.text.TextContent",
+ "com.sun.star.text.Paragraph",
+ "com.sun.star.style.CharacterProperties",
+ "com.sun.star.style.CharacterPropertiesAsian",
+ "com.sun.star.style.CharacterPropertiesComplex",
+ "com.sun.star.style.ParagraphProperties",
+ "com.sun.star.style.ParagraphPropertiesAsian",
+ "com.sun.star.style.ParagraphPropertiesComplex",
+};
+static const size_t g_nServicesParagraph(
+ sizeof(g_ServicesParagraph)/sizeof(g_ServicesParagraph[0]));
- -----------------------------------------------------------------------*/
-SwXParagraph::SwXParagraph() :
- xParentText(0),
- aLstnrCntnr( (text::XTextRange*)this),
- m_pPropSet(aSwMapProvider.GetPropertySet(PROPERTY_MAP_PARAGRAPH)),
- nSelectionStartPos(-1),
- nSelectionEndPos(-1),
- m_bIsDescriptor(TRUE)
+sal_Bool SAL_CALL
+SwXParagraph::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
{
+ return ::sw::SupportsServiceImpl(
+ g_nServicesParagraph, g_ServicesParagraph, rServiceName);
}
+/* -----------------------------06.04.00 16:37--------------------------------
-/*-- 11.12.98 08:12:47---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-SwXParagraph::SwXParagraph(uno::Reference< text::XText > const & i_xParent, SwTxtNode * i_pTxtNode, sal_Int32 nSelStart, sal_Int32 nSelEnd) :
- SwClient(i_pTxtNode),
- xParentText(i_xParent),
- aLstnrCntnr( (text::XTextRange*)this),
- m_pPropSet(aSwMapProvider.GetPropertySet(PROPERTY_MAP_PARAGRAPH)),
- nSelectionStartPos(nSelStart),
- nSelectionEndPos(nSelEnd),
- m_bIsDescriptor(FALSE)
+ ---------------------------------------------------------------------------*/
+uno::Sequence< OUString > SAL_CALL
+SwXParagraph::getSupportedServiceNames() throw (uno::RuntimeException)
{
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesParagraph, g_ServicesParagraph);
}
-/*-- 11.12.98 08:12:48---------------------------------------------------
- -----------------------------------------------------------------------*/
-SwXParagraph::~SwXParagraph()
-{
-}
/* -----------------------------11.07.00 14:48--------------------------------
---------------------------------------------------------------------------*/
-void SwXParagraph::attachToText(SwXText* pParent, SwUnoCrsr* pCrsr)
+void
+SwXParagraph::attachToText(SwXText & rParent, SwTxtNode & rTxtNode)
{
- DBG_ASSERT(m_bIsDescriptor, "Paragraph is not a descriptor");
- if(m_bIsDescriptor)
+ DBG_ASSERT(m_pImpl->m_bIsDescriptor, "Paragraph is not a descriptor");
+ if (m_pImpl->m_bIsDescriptor)
{
- m_bIsDescriptor = FALSE;
- pCrsr->Add(this);
- xParentText = pParent;
- if(m_sText.getLength())
+ m_pImpl->m_bIsDescriptor = false;
+ rTxtNode.Add(m_pImpl.get());
+ rTxtNode.SetXParagraph(uno::Reference<text::XTextContent>(this));
+ m_pImpl->m_xParentText = &rParent;
+ if (m_pImpl->m_sText.getLength())
{
- try { setString(m_sText); }
+ try { setString(m_pImpl->m_sText); }
catch(...){}
- m_sText = OUString();
+ m_pImpl->m_sText = OUString();
}
}
}
+
/*-- 11.12.98 08:12:49---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< beans::XPropertySetInfo > SwXParagraph::getPropertySetInfo(void)
- throw( uno::RuntimeException )
+uno::Reference< beans::XPropertySetInfo > SAL_CALL
+SwXParagraph::getPropertySetInfo()
+throw (uno::RuntimeException)
{
- static uno::Reference< beans::XPropertySetInfo > xRef = m_pPropSet->getPropertySetInfo();
+ vos::OGuard g(Application::GetSolarMutex());
+
+ static uno::Reference< beans::XPropertySetInfo > xRef =
+ m_pImpl->m_rPropSet.getPropertySetInfo();
return xRef;
}
/*-- 11.12.98 08:12:49---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXParagraph::setPropertyValue(const OUString& rPropertyName, const uno::Any& aValue)
- throw( beans::UnknownPropertyException, beans::PropertyVetoException, lang::IllegalArgumentException,
- lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXParagraph::setPropertyValue(const OUString& rPropertyName,
+ const uno::Any& rValue)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException )
{
vos::OGuard aGuard(Application::GetSolarMutex());
uno::Sequence<OUString> aPropertyNames(1);
aPropertyNames.getArray()[0] = rPropertyName;
uno::Sequence<uno::Any> aValues(1);
- aValues.getArray()[0] = aValue;
- SetPropertyValues_Impl( aPropertyNames, aValues );
+ aValues.getArray()[0] = rValue;
+ m_pImpl->SetPropertyValues_Impl( aPropertyNames, aValues );
}
+
/*-- 11.12.98 08:12:49---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXParagraph::getPropertyValue(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any
+SwXParagraph::getPropertyValue(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException )
{
vos::OGuard aGuard(Application::GetSolarMutex());
uno::Sequence<OUString> aPropertyNames(1);
aPropertyNames.getArray()[0] = rPropertyName;
- uno::Sequence< uno::Any > aRet = GetPropertyValues_Impl(aPropertyNames );
+ const uno::Sequence< uno::Any > aRet =
+ m_pImpl->GetPropertyValues_Impl(aPropertyNames);
return aRet.getConstArray()[0];
}
/* -----------------------------02.04.01 11:43--------------------------------
---------------------------------------------------------------------------*/
-void SAL_CALL SwXParagraph::SetPropertyValues_Impl(
+void SwXParagraph::Impl::SetPropertyValues_Impl(
const uno::Sequence< OUString >& rPropertyNames,
const uno::Sequence< uno::Any >& rValues )
- throw( beans::UnknownPropertyException, beans::PropertyVetoException, lang::IllegalArgumentException,
- lang::WrappedTargetException, uno::RuntimeException)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- if (GetTxtNode())
+ SwTxtNode & rTxtNode(GetTxtNodeOrThrow());
+
+ SwPosition aPos( rTxtNode );
+ SwCursor aCursor( aPos, 0, false );
+ const OUString* pPropertyNames = rPropertyNames.getConstArray();
+ const uno::Any* pValues = rValues.getConstArray();
+ SfxItemPropertyMap const*const pMap = m_rPropSet.getPropertyMap();
+ SwParaSelection aParaSel( aCursor );
+ for (sal_Int32 nProp = 0; nProp < rPropertyNames.getLength(); nProp++)
{
- SwPosition aPos( *GetTxtNode() );
- SwCursor aCursor( aPos, 0, false );
- const OUString* pPropertyNames = rPropertyNames.getConstArray();
- const uno::Any* pValues = rValues.getConstArray();
- const SfxItemPropertyMap* pMap = m_pPropSet->getPropertyMap();
- OUString sTmp;
- SwParaSelection aParaSel( & aCursor );
- for(sal_Int32 nProp = 0; nProp < rPropertyNames.getLength(); nProp++)
+ SfxItemPropertySimpleEntry const*const pEntry =
+ pMap->getByName( pPropertyNames[nProp] );
+ if (!pEntry)
{
- const SfxItemPropertySimpleEntry* pEntry = pMap->getByName( pPropertyNames[nProp] );
- if(!pEntry)
- throw beans::UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + pPropertyNames[nProp], static_cast < cppu::OWeakObject * > ( this ) );
- else
- {
- if ( pEntry->nFlags & beans::PropertyAttribute::READONLY)
- throw beans::PropertyVetoException ( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Property is read-only: " ) ) + pPropertyNames[nProp], static_cast < cppu::OWeakObject * > ( this ) );
-
- SwXTextCursor::SetPropertyValue(aCursor, *m_pPropSet,
- sTmp, pValues[nProp]);
- }
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + pPropertyNames[nProp],
+ static_cast< cppu::OWeakObject * >(&m_rThis));
+ }
+ if (pEntry->nFlags & beans::PropertyAttribute::READONLY)
+ {
+ throw beans::PropertyVetoException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Property is read-only: "))
+ + pPropertyNames[nProp],
+ static_cast< cppu::OWeakObject * >(&m_rThis));
}
+ SwUnoCursorHelper::SetPropertyValue(aCursor, m_rPropSet,
+ pPropertyNames[nProp], pValues[nProp]);
}
- else
- throw uno::RuntimeException();
}
-void SwXParagraph::setPropertyValues(
+void SAL_CALL SwXParagraph::setPropertyValues(
const uno::Sequence< OUString >& rPropertyNames,
const uno::Sequence< uno::Any >& rValues )
- throw(beans::PropertyVetoException, lang::IllegalArgumentException,
- lang::WrappedTargetException, uno::RuntimeException)
+throw (beans::PropertyVetoException, lang::IllegalArgumentException,
+ lang::WrappedTargetException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
// workaround for bad designed API
try
{
- SetPropertyValues_Impl( rPropertyNames, rValues );
+ m_pImpl->SetPropertyValues_Impl( rPropertyNames, rValues );
}
catch (beans::UnknownPropertyException &rException)
{
@@ -336,53 +480,57 @@ void SwXParagraph::setPropertyValues(
throw aWExc;
}
}
+
/* -----------------------------02.04.01 11:43--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< uno::Any > SAL_CALL SwXParagraph::GetPropertyValues_Impl(
+uno::Sequence< uno::Any > SwXParagraph::Impl::GetPropertyValues_Impl(
const uno::Sequence< OUString > & rPropertyNames )
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ SwTxtNode & rTxtNode(GetTxtNodeOrThrow());
+
uno::Sequence< uno::Any > aValues(rPropertyNames.getLength());
- const SwTxtNode * pTxtNode( GetTxtNode() );
- if (pTxtNode)
+ SwPosition aPos( rTxtNode );
+ SwPaM aPam( aPos );
+ uno::Any* pValues = aValues.getArray();
+ const OUString* pPropertyNames = rPropertyNames.getConstArray();
+ SfxItemPropertyMap const*const pMap = m_rPropSet.getPropertyMap();
+ const SwAttrSet& rAttrSet( rTxtNode.GetSwAttrSet() );
+ for (sal_Int32 nProp = 0; nProp < rPropertyNames.getLength(); nProp++)
{
- SwPosition aPos( *pTxtNode );
- SwPaM aPam( aPos );
- uno::Any* pValues = aValues.getArray();
- const OUString* pPropertyNames = rPropertyNames.getConstArray();
- const SfxItemPropertyMap* pMap = m_pPropSet->getPropertyMap();
- const SwAttrSet& rAttrSet( pTxtNode->GetSwAttrSet() );
- for(sal_Int32 nProp = 0; nProp < rPropertyNames.getLength(); nProp++)
+ SfxItemPropertySimpleEntry const*const pEntry =
+ pMap->getByName( pPropertyNames[nProp] );
+ if (!pEntry)
+ {
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + pPropertyNames[nProp],
+ static_cast< cppu::OWeakObject * >(&m_rThis));
+ }
+ if (! ::sw::GetDefaultTextContentValue(
+ pValues[nProp], pPropertyNames[nProp], pEntry->nWID))
{
- const SfxItemPropertySimpleEntry* pEntry = pMap->getByName( pPropertyNames[nProp] );
- if(pEntry)
+ beans::PropertyState eTemp;
+ const bool bDone = SwUnoCursorHelper::getCrsrPropertyValue(
+ *pEntry, aPam, &(pValues[nProp]), eTemp, &rTxtNode );
+ if (!bDone)
{
- if(!SwXParagraph::getDefaultTextContentValue(
- pValues[nProp], pPropertyNames[nProp], pEntry->nWID))
- {
- BOOL bDone = FALSE;
- beans::PropertyState eTemp;
- bDone = SwUnoCursorHelper::getCrsrPropertyValue(
- *pEntry, aPam, &(pValues[nProp]), eTemp, pTxtNode );
- if(!bDone)
- m_pPropSet->getPropertyValue(*pEntry, rAttrSet, pValues[nProp]);
- }
+ m_rPropSet.getPropertyValue(
+ *pEntry, rAttrSet, pValues[nProp]);
}
- else
- throw beans::UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + pPropertyNames[nProp], static_cast < cppu::OWeakObject * > ( this ) );
}
}
- else
- throw uno::RuntimeException();
return aValues;
}
+
/* -----------------------------04.11.03 11:43--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< uno::Any > SwXParagraph::getPropertyValues(
- const uno::Sequence< OUString >& rPropertyNames )
- throw(uno::RuntimeException)
+uno::Sequence< uno::Any > SAL_CALL
+SwXParagraph::getPropertyValues(const uno::Sequence< OUString >& rPropertyNames)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
uno::Sequence< uno::Any > aValues;
@@ -390,67 +538,82 @@ uno::Sequence< uno::Any > SwXParagraph::getPropertyValues(
// workaround for bad designed API
try
{
- aValues = GetPropertyValues_Impl( rPropertyNames );
+ aValues = m_pImpl->GetPropertyValues_Impl( rPropertyNames );
}
catch (beans::UnknownPropertyException &)
{
- throw uno::RuntimeException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property exception caught" ) ), static_cast < cppu::OWeakObject * > ( this ) );
+ throw uno::RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "Unknown property exception caught")),
+ static_cast<cppu::OWeakObject *>(this));
}
catch (lang::WrappedTargetException &)
{
- throw uno::RuntimeException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "WrappedTargetException caught" ) ), static_cast < cppu::OWeakObject * > ( this ) );
+ throw uno::RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "WrappedTargetException caught")),
+ static_cast<cppu::OWeakObject *>(this));
}
return aValues;
}
+
/* -----------------------------02.04.01 11:43--------------------------------
---------------------------------------------------------------------------*/
-void SwXParagraph::addPropertiesChangeListener(
+void SAL_CALL SwXParagraph::addPropertiesChangeListener(
const uno::Sequence< OUString >& /*aPropertyNames*/,
const uno::Reference< beans::XPropertiesChangeListener >& /*xListener*/ )
- throw(uno::RuntimeException)
-{}
+throw (uno::RuntimeException)
+{
+ OSL_ENSURE(false,
+ "SwXParagraph::addPropertiesChangeListener(): not implemented");
+}
/* -----------------------------02.04.01 11:43--------------------------------
---------------------------------------------------------------------------*/
-void SwXParagraph::removePropertiesChangeListener(
+void SAL_CALL SwXParagraph::removePropertiesChangeListener(
const uno::Reference< beans::XPropertiesChangeListener >& /*xListener*/ )
- throw(uno::RuntimeException)
-{}
+throw (uno::RuntimeException)
+{
+ OSL_ENSURE(false,
+ "SwXParagraph::removePropertiesChangeListener(): not implemented");
+}
/* -----------------------------02.04.01 11:43--------------------------------
---------------------------------------------------------------------------*/
-void SwXParagraph::firePropertiesChangeEvent(
+void SAL_CALL SwXParagraph::firePropertiesChangeEvent(
const uno::Sequence< OUString >& /*aPropertyNames*/,
const uno::Reference< beans::XPropertiesChangeListener >& /*xListener*/ )
throw(uno::RuntimeException)
-{}
+{
+ OSL_ENSURE(false,
+ "SwXParagraph::firePropertiesChangeEvent(): not implemented");
+}
/* -----------------------------25.09.03 11:09--------------------------------
---------------------------------------------------------------------------*/
/* disabled for #i46921# */
-uno::Sequence< beans::SetPropertyTolerantFailed > SAL_CALL SwXParagraph::setPropertyValuesTolerant(
+uno::Sequence< beans::SetPropertyTolerantFailed > SAL_CALL
+SwXParagraph::setPropertyValuesTolerant(
const uno::Sequence< OUString >& rPropertyNames,
const uno::Sequence< uno::Any >& rValues )
- throw (lang::IllegalArgumentException, uno::RuntimeException)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard( Application::GetSolarMutex() );
if (rPropertyNames.getLength() != rValues.getLength())
+ {
throw lang::IllegalArgumentException();
+ }
- const SwTxtNode * const pTxtNode( GetTxtNode() );
- if (!pTxtNode)
- throw uno::RuntimeException();
+ SwTxtNode & rTxtNode(m_pImpl->GetTxtNodeOrThrow());
//SwNode& rTxtNode = pUnoCrsr->GetPoint()->nNode.GetNode();
//const SwAttrSet& rAttrSet = ((SwTxtNode&)rTxtNode).GetSwAttrSet();
//USHORT nAttrCount = rAttrSet.Count();
- sal_Int32 nProps = rPropertyNames.getLength();
+ const sal_Int32 nProps = rPropertyNames.getLength();
const OUString *pProp = rPropertyNames.getConstArray();
//sal_Int32 nVals = rValues.getLength();
@@ -461,31 +624,39 @@ uno::Sequence< beans::SetPropertyTolerantFailed > SAL_CALL SwXParagraph::setProp
beans::SetPropertyTolerantFailed *pFailed = aFailed.getArray();
// get entry to start with
- const SfxItemPropertyMap* pPropMap = m_pPropSet->getPropertyMap();
+ SfxItemPropertyMap const*const pPropMap =
+ m_pImpl->m_rPropSet.getPropertyMap();
OUString sTmp;
- SwPosition aPos( *pTxtNode );
+ SwPosition aPos( rTxtNode );
SwCursor aCursor( aPos, 0, false );
- SwParaSelection aParaSel( & aCursor );
+ SwParaSelection aParaSel( aCursor );
for (sal_Int32 i = 0; i < nProps; ++i)
{
try
{
pFailed[ nFailed ].Name = pProp[i];
- const SfxItemPropertySimpleEntry* pEntry = pPropMap->getByName( pProp[i] );
+ SfxItemPropertySimpleEntry const*const pEntry =
+ pPropMap->getByName( pProp[i] );
if (!pEntry)
- pFailed[ nFailed++ ].Result = beans::TolerantPropertySetResultType::UNKNOWN_PROPERTY;
+ {
+ pFailed[ nFailed++ ].Result =
+ beans::TolerantPropertySetResultType::UNKNOWN_PROPERTY;
+ }
else
{
// set property value
// (compare to SwXParagraph::setPropertyValues)
if (pEntry->nFlags & beans::PropertyAttribute::READONLY)
- pFailed[ nFailed++ ].Result = beans::TolerantPropertySetResultType::PROPERTY_VETO;
+ {
+ pFailed[ nFailed++ ].Result =
+ beans::TolerantPropertySetResultType::PROPERTY_VETO;
+ }
else
{
- SwXTextCursor::SetPropertyValue(
- aCursor, *m_pPropSet, pProp[i], pValue[i] );
+ SwUnoCursorHelper::SetPropertyValue(
+ aCursor, m_pImpl->m_rPropSet, pProp[i], pValue[i]);
}
}
}
@@ -493,19 +664,23 @@ uno::Sequence< beans::SetPropertyTolerantFailed > SAL_CALL SwXParagraph::setProp
{
// should not occur because property was searched for before
DBG_ERROR( "unexpected exception catched" );
- pFailed[ nFailed++ ].Result = beans::TolerantPropertySetResultType::UNKNOWN_PROPERTY;
+ pFailed[ nFailed++ ].Result =
+ beans::TolerantPropertySetResultType::UNKNOWN_PROPERTY;
}
catch (lang::IllegalArgumentException &)
{
- pFailed[ nFailed++ ].Result = beans::TolerantPropertySetResultType::ILLEGAL_ARGUMENT;
+ pFailed[ nFailed++ ].Result =
+ beans::TolerantPropertySetResultType::ILLEGAL_ARGUMENT;
}
catch (beans::PropertyVetoException &)
{
- pFailed[ nFailed++ ].Result = beans::TolerantPropertySetResultType::PROPERTY_VETO;
+ pFailed[ nFailed++ ].Result =
+ beans::TolerantPropertySetResultType::PROPERTY_VETO;
}
catch (lang::WrappedTargetException &)
{
- pFailed[ nFailed++ ].Result = beans::TolerantPropertySetResultType::WRAPPED_TARGET;
+ pFailed[ nFailed++ ].Result =
+ beans::TolerantPropertySetResultType::WRAPPED_TARGET;
}
}
@@ -514,52 +689,56 @@ uno::Sequence< beans::SetPropertyTolerantFailed > SAL_CALL SwXParagraph::setProp
}
-uno::Sequence< beans::GetPropertyTolerantResult > SAL_CALL SwXParagraph::getPropertyValuesTolerant(
+uno::Sequence< beans::GetPropertyTolerantResult > SAL_CALL
+SwXParagraph::getPropertyValuesTolerant(
const uno::Sequence< OUString >& rPropertyNames )
- throw (uno::RuntimeException)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard( Application::GetSolarMutex() );
uno::Sequence< beans::GetDirectPropertyTolerantResult > aTmpRes(
- GetPropertyValuesTolerant_Impl( rPropertyNames, sal_False ) );
- const beans::GetDirectPropertyTolerantResult *pTmpRes = aTmpRes.getConstArray();
+ m_pImpl->GetPropertyValuesTolerant_Impl( rPropertyNames, false ) );
+ const beans::GetDirectPropertyTolerantResult *pTmpRes =
+ aTmpRes.getConstArray();
// copy temporary result to final result type
- sal_Int32 nLen = aTmpRes.getLength();
+ const sal_Int32 nLen = aTmpRes.getLength();
uno::Sequence< beans::GetPropertyTolerantResult > aRes( nLen );
beans::GetPropertyTolerantResult *pRes = aRes.getArray();
for (sal_Int32 i = 0; i < nLen; i++)
+ {
*pRes++ = *pTmpRes++;
+ }
return aRes;
}
-uno::Sequence< beans::GetDirectPropertyTolerantResult > SAL_CALL SwXParagraph::getDirectPropertyValuesTolerant(
+uno::Sequence< beans::GetDirectPropertyTolerantResult > SAL_CALL
+SwXParagraph::getDirectPropertyValuesTolerant(
const uno::Sequence< OUString >& rPropertyNames )
- throw (uno::RuntimeException)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard( Application::GetSolarMutex() );
- return GetPropertyValuesTolerant_Impl( rPropertyNames, sal_True );
+
+ return m_pImpl->GetPropertyValuesTolerant_Impl( rPropertyNames, true );
}
-uno::Sequence< beans::GetDirectPropertyTolerantResult > SAL_CALL SwXParagraph::GetPropertyValuesTolerant_Impl(
+uno::Sequence< beans::GetDirectPropertyTolerantResult >
+SwXParagraph::Impl::GetPropertyValuesTolerant_Impl(
const uno::Sequence< OUString >& rPropertyNames,
- sal_Bool bDirectValuesOnly )
- throw (uno::RuntimeException)
+ bool bDirectValuesOnly )
+throw (uno::RuntimeException)
{
vos::OGuard aGuard( Application::GetSolarMutex() );
- const SwTxtNode * const pTxtNode( GetTxtNode() );
- DBG_ASSERT( pTxtNode != NULL, "need text node" );
- if (!pTxtNode)
- throw uno::RuntimeException();
+ SwTxtNode & rTxtNode(GetTxtNodeOrThrow());
// #i46786# Use SwAttrSet pointer for determining the state.
// Use the value SwAttrSet (from the paragraph OR the style)
// for determining the actual value(s).
- const SwAttrSet* pAttrSet = pTxtNode->GetpSwAttrSet();
- const SwAttrSet& rValueAttrSet = pTxtNode->GetSwAttrSet();
+ const SwAttrSet* pAttrSet = rTxtNode.GetpSwAttrSet();
+ const SwAttrSet& rValueAttrSet = rTxtNode.GetSwAttrSet();
sal_Int32 nProps = rPropertyNames.getLength();
const OUString *pProp = rPropertyNames.getConstArray();
@@ -569,7 +748,7 @@ uno::Sequence< beans::GetDirectPropertyTolerantResult > SAL_CALL SwXParagraph::G
sal_Int32 nIdx = 0;
// get entry to start with
- const SfxItemPropertyMap *pPropMap = m_pPropSet->getPropertyMap();
+ SfxItemPropertyMap const*const pPropMap = m_rPropSet.getPropertyMap();
for (sal_Int32 i = 0; i < nProps; ++i)
{
@@ -580,42 +759,50 @@ uno::Sequence< beans::GetDirectPropertyTolerantResult > SAL_CALL SwXParagraph::G
{
rResult.Name = pProp[i];
- const SfxItemPropertySimpleEntry* pEntry = pPropMap->getByName( pProp[i] );
+ SfxItemPropertySimpleEntry const*const pEntry =
+ pPropMap->getByName( pProp[i] );
if (!pEntry) // property available?
- rResult.Result = beans::TolerantPropertySetResultType::UNKNOWN_PROPERTY;
+ {
+ rResult.Result =
+ beans::TolerantPropertySetResultType::UNKNOWN_PROPERTY;
+ }
else
{
// get property state
// (compare to SwXParagraph::getPropertyState)
sal_Bool bAttrSetFetched = sal_True;
beans::PropertyState eState = lcl_SwXParagraph_getPropertyState(
- *pTxtNode, &pAttrSet, *pEntry, bAttrSetFetched );
+ rTxtNode, &pAttrSet, *pEntry, bAttrSetFetched );
rResult.State = eState;
// if (bDirectValuesOnly && PropertyState_DIRECT_VALUE != eState)
// rResult.Result = beans::TolerantPropertySetResultType::NO_DIRECT_VALUE;
// else
rResult.Result = beans::TolerantPropertySetResultType::UNKNOWN_FAILURE;
- if (!bDirectValuesOnly || beans::PropertyState_DIRECT_VALUE == eState)
+ if (!bDirectValuesOnly ||
+ (beans::PropertyState_DIRECT_VALUE == eState))
{
// get property value
// (compare to SwXParagraph::getPropertyValue(s))
uno::Any aValue;
- if (!SwXParagraph::getDefaultTextContentValue(
+ if (! ::sw::GetDefaultTextContentValue(
aValue, pProp[i], pEntry->nWID ) )
{
- SwPosition aPos( *pTxtNode );
+ SwPosition aPos( rTxtNode );
SwPaM aPam( aPos );
// handle properties that are not part of the attribute
// and thus only pretendend to be paragraph attributes
- BOOL bDone = FALSE;
beans::PropertyState eTemp;
- bDone = SwUnoCursorHelper::getCrsrPropertyValue(
- *pEntry, aPam, &aValue, eTemp, pTxtNode );
+ const bool bDone =
+ SwUnoCursorHelper::getCrsrPropertyValue(
+ *pEntry, aPam, &aValue, eTemp, &rTxtNode );
// if not found try the real paragraph attributes...
if (!bDone)
- m_pPropSet->getPropertyValue( *pEntry, rValueAttrSet, aValue );
+ {
+ m_rPropSet.getPropertyValue(
+ *pEntry, rValueAttrSet, aValue );
+ }
}
rResult.Value = aValue;
@@ -658,7 +845,8 @@ uno::Sequence< beans::GetDirectPropertyTolerantResult > SAL_CALL SwXParagraph::G
/* -----------------------------12.09.00 11:09--------------------------------
---------------------------------------------------------------------------*/
-BOOL SwXParagraph::getDefaultTextContentValue(uno::Any& rAny, const OUString& rPropertyName, USHORT nWID)
+bool ::sw::GetDefaultTextContentValue(
+ uno::Any& rAny, const OUString& rPropertyName, USHORT nWID)
{
if(!nWID)
{
@@ -691,35 +879,59 @@ BOOL SwXParagraph::getDefaultTextContentValue(uno::Any& rAny, const OUString& rP
/*-- 11.12.98 08:12:50---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXParagraph::addPropertyChangeListener(
- const OUString& /*PropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener > & /*aListener*/)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXParagraph::addPropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXParagraph::addPropertyChangeListener(): not implemented");
}
+
/*-- 11.12.98 08:12:50---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXParagraph::removePropertyChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXParagraph::removePropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXParagraph::removePropertyChangeListener(): not implemented");
}
+
/*-- 11.12.98 08:12:50---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXParagraph::addVetoableChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*aListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXParagraph::addVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXParagraph::addVetoableChangeListener(): not implemented");
}
+
/*-- 11.12.98 08:12:51---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXParagraph::removeVetoableChangeListener(const OUString& /*PropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*aListener*/)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXParagraph::removeVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXParagraph::removeVetoableChangeListener(): not implemented");
}
+
//-----------------------------------------------------------------------------
beans::PropertyState lcl_SwXParagraph_getPropertyState(
// SwUnoCrsr& rUnoCrsr,
@@ -727,7 +939,7 @@ beans::PropertyState lcl_SwXParagraph_getPropertyState(
const SwAttrSet** ppSet,
const SfxItemPropertySimpleEntry& rEntry,
sal_Bool &rAttrSetFetched )
- throw( beans::UnknownPropertyException)
+throw (beans::UnknownPropertyException)
{
beans::PropertyState eRet = beans::PropertyState_DEFAULT_VALUE;
@@ -757,7 +969,7 @@ beans::PropertyState lcl_SwXParagraph_getPropertyState(
case FN_UNO_PARA_STYLE:
case FN_UNO_PARA_CONDITIONAL_STYLE_NAME:
{
- SwFmtColl* pFmt = SwXTextCursor::GetCurTxtFmtColl(
+ SwFmtColl* pFmt = SwUnoCursorHelper::GetCurTxtFmtColl(
aPam, rEntry.nWID == FN_UNO_PARA_CONDITIONAL_STYLE_NAME);
eRet = pFmt ? beans::PropertyState_DIRECT_VALUE
: beans::PropertyState_AMBIGUOUS_VALUE;
@@ -783,348 +995,393 @@ beans::PropertyState lcl_SwXParagraph_getPropertyState(
/*-- 05.03.99 11:37:30---------------------------------------------------
-----------------------------------------------------------------------*/
-beans::PropertyState SwXParagraph::getPropertyState(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, uno::RuntimeException )
+beans::PropertyState SAL_CALL
+SwXParagraph::getPropertyState(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- beans::PropertyState eRet = beans::PropertyState_DEFAULT_VALUE;
- const SwTxtNode * const pTxtNode( GetTxtNode() );
- if (pTxtNode)
+
+ SwTxtNode & rTxtNode(m_pImpl->GetTxtNodeOrThrow());
+
+ const SwAttrSet* pSet = 0;
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName(rPropertyName);
+ if (!pEntry)
{
- const SwAttrSet* pSet = 0;
- const SfxItemPropertySimpleEntry* pEntry = m_pPropSet->getPropertyMap()->getByName( rPropertyName );
- if(!pEntry)
- throw beans::UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
- sal_Bool bDummy = sal_False;
- eRet = lcl_SwXParagraph_getPropertyState( *pTxtNode, &pSet, *pEntry,
- bDummy );
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(this));
}
- else
- throw uno::RuntimeException();
+ sal_Bool bDummy = sal_False;
+ const beans::PropertyState eRet =
+ lcl_SwXParagraph_getPropertyState(rTxtNode, &pSet, *pEntry, bDummy);
return eRet;
}
/*-- 05.03.99 11:37:32---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Sequence< beans::PropertyState > SwXParagraph::getPropertyStates(
+uno::Sequence< beans::PropertyState > SAL_CALL
+SwXParagraph::getPropertyStates(
const uno::Sequence< OUString >& PropertyNames)
- throw( beans::UnknownPropertyException, uno::RuntimeException )
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
+ SwTxtNode & rTxtNode(m_pImpl->GetTxtNodeOrThrow());
+
const OUString* pNames = PropertyNames.getConstArray();
uno::Sequence< beans::PropertyState > aRet(PropertyNames.getLength());
beans::PropertyState* pStates = aRet.getArray();
+ SfxItemPropertyMap const*const pMap = m_pImpl->m_rPropSet.getPropertyMap();
+ const SwAttrSet* pSet = 0;
+ sal_Bool bAttrSetFetched = sal_False;
- const SwTxtNode * pTxtNode( GetTxtNode() );
- if (pTxtNode)
+ for (sal_Int32 i = 0, nEnd = PropertyNames.getLength(); i < nEnd;
+ ++i, ++pStates, ++pNames)
{
- const SfxItemPropertyMap* pMap = m_pPropSet->getPropertyMap();
- const SwAttrSet* pSet = 0;
- sal_Bool bAttrSetFetched = sal_False;
- for(sal_Int32 i = 0, nEnd = PropertyNames.getLength(); i < nEnd; i++,++pStates,++pNames )
+ SfxItemPropertySimpleEntry const*const pEntry =
+ pMap->getByName( *pNames );
+ if (!pEntry)
{
- const SfxItemPropertySimpleEntry* pEntry = pMap->getByName( *pNames );
- if(!pEntry)
- throw beans::UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + *pNames, static_cast < cppu::OWeakObject * > ( this ) );
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + *pNames,
+ static_cast<cppu::OWeakObject *>(this));
+ }
- if (bAttrSetFetched && !pSet && isATR(pEntry->nWID))
- {
- *pStates = beans::PropertyState_DEFAULT_VALUE;
- }
- else
- {
- *pStates = lcl_SwXParagraph_getPropertyState(
- *pTxtNode, &pSet, *pEntry, bAttrSetFetched );
- }
+ if (bAttrSetFetched && !pSet && isATR(pEntry->nWID))
+ {
+ *pStates = beans::PropertyState_DEFAULT_VALUE;
+ }
+ else
+ {
+ *pStates = lcl_SwXParagraph_getPropertyState(
+ rTxtNode, &pSet, *pEntry, bAttrSetFetched );
}
}
- else
- throw uno::RuntimeException();
return aRet;
}
+
/*-- 05.03.99 11:37:33---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXParagraph::setPropertyToDefault(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, uno::RuntimeException )
+void SAL_CALL
+SwXParagraph::setPropertyToDefault(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- const SwTxtNode * pTxtNode( GetTxtNode() );
- if (pTxtNode)
+
+ SwTxtNode & rTxtNode(m_pImpl->GetTxtNodeOrThrow());
+
+ SwPosition aPos( rTxtNode );
+ SwCursor aCursor( aPos, 0, false );
+ if (rPropertyName.equalsAsciiL(SW_PROP_NAME(UNO_NAME_ANCHOR_TYPE)) ||
+ rPropertyName.equalsAsciiL(SW_PROP_NAME(UNO_NAME_ANCHOR_TYPES)) ||
+ rPropertyName.equalsAsciiL(SW_PROP_NAME(UNO_NAME_TEXT_WRAP)))
{
- SwPosition aPos( *pTxtNode );
- SwCursor aCursor( aPos, 0, false );
- if( rPropertyName.equalsAsciiL( SW_PROP_NAME(UNO_NAME_ANCHOR_TYPE)) ||
- rPropertyName.equalsAsciiL( SW_PROP_NAME(UNO_NAME_ANCHOR_TYPES)) ||
- rPropertyName.equalsAsciiL( SW_PROP_NAME(UNO_NAME_TEXT_WRAP)))
- return;
+ return;
+ }
- // select paragraph
- SwParaSelection aParaSel( & aCursor );
- const SfxItemPropertySimpleEntry* pEntry = m_pPropSet->getPropertyMap()->getByName( rPropertyName );
- if(pEntry)
- {
- if ( pEntry->nFlags & beans::PropertyAttribute::READONLY)
- throw uno::RuntimeException ( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Property is read-only:" ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
+ // select paragraph
+ SwParaSelection aParaSel( aCursor );
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName( rPropertyName );
+ if (!pEntry)
+ {
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(this));
+ }
- if(pEntry->nWID < RES_FRMATR_END)
+ if (pEntry->nFlags & beans::PropertyAttribute::READONLY)
+ {
+ throw uno::RuntimeException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Property is read-only: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(this));
+ }
+
+ if (pEntry->nWID < RES_FRMATR_END)
+ {
+ SvUShortsSort aWhichIds;
+ aWhichIds.Insert(pEntry->nWID);
+ if (pEntry->nWID < RES_PARATR_BEGIN)
+ {
+ aCursor.GetDoc()->ResetAttrs(aCursor, sal_True, &aWhichIds);
+ }
+ else
+ {
+ // for paragraph attributes the selection must be extended
+ // to paragraph boundaries
+ SwPosition aStart( *aCursor.Start() );
+ SwPosition aEnd ( *aCursor.End() );
+ ::std::auto_ptr<SwUnoCrsr> pTemp(
+ aCursor.GetDoc()->CreateUnoCrsr(aStart, sal_False) );
+ if(!SwUnoCursorHelper::IsStartOfPara(*pTemp))
{
- SvUShortsSort aWhichIds;
- aWhichIds.Insert(pEntry->nWID);
- if(pEntry->nWID < RES_PARATR_BEGIN)
- {
- aCursor.GetDoc()->ResetAttrs(aCursor, sal_True, &aWhichIds);
- }
- else
- {
- // for paragraph attributes the selection must be extended
- // to paragraph boundaries
- SwPosition aStart( *aCursor.Start() );
- SwPosition aEnd ( *aCursor.End() );
- std::auto_ptr<SwUnoCrsr> pTemp(
- aCursor.GetDoc()->CreateUnoCrsr(aStart, sal_False) );
- if(!SwUnoCursorHelper::IsStartOfPara(*pTemp))
- {
- pTemp->MovePara(fnParaCurr, fnParaStart);
- }
- pTemp->SetMark();
- *pTemp->GetPoint() = aEnd;
- //pTemp->Exchange();
- SwXTextCursor::SelectPam(*pTemp, sal_True);
- if(!SwUnoCursorHelper::IsEndOfPara(*pTemp))
- {
- pTemp->MovePara(fnParaCurr, fnParaEnd);
- }
- pTemp->GetDoc()->ResetAttrs(*pTemp, sal_True, &aWhichIds);
- }
+ pTemp->MovePara(fnParaCurr, fnParaStart);
}
- else
+ pTemp->SetMark();
+ *pTemp->GetPoint() = aEnd;
+ //pTemp->Exchange();
+ SwUnoCursorHelper::SelectPam(*pTemp, true);
+ if (!SwUnoCursorHelper::IsEndOfPara(*pTemp))
{
- SwUnoCursorHelper::resetCrsrPropertyValue(*pEntry, aCursor);
+ pTemp->MovePara(fnParaCurr, fnParaEnd);
}
+ pTemp->GetDoc()->ResetAttrs(*pTemp, sal_True, &aWhichIds);
}
- else
- throw beans::UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
}
else
- throw uno::RuntimeException();
+ {
+ SwUnoCursorHelper::resetCrsrPropertyValue(*pEntry, aCursor);
+ }
}
+
/*-- 05.03.99 11:37:33---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXParagraph::getPropertyDefault(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL
+SwXParagraph::getPropertyDefault(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ vos::OGuard g(Application::GetSolarMutex());
+
+ SwTxtNode & rTxtNode(m_pImpl->GetTxtNodeOrThrow());
+
uno::Any aRet;
- const SwTxtNode * pTxtNode( GetTxtNode() );
- if (pTxtNode)
+ if (::sw::GetDefaultTextContentValue(aRet, rPropertyName))
{
- if(SwXParagraph::getDefaultTextContentValue(aRet, rPropertyName))
- return aRet;
+ return aRet;
+ }
- const SfxItemPropertySimpleEntry* pEntry = m_pPropSet->getPropertyMap()->getByName( rPropertyName );
- if(pEntry)
- {
- if(pEntry->nWID < RES_FRMATR_END)
- {
- const SfxPoolItem& rDefItem =
- pTxtNode->GetDoc()->GetAttrPool().GetDefaultItem(
- pEntry->nWID);
- rDefItem.QueryValue(aRet, pEntry->nMemberId);
- }
- }
- else
- throw beans::UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName(rPropertyName);
+ if (!pEntry)
+ {
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(this));
+ }
+
+ if (pEntry->nWID < RES_FRMATR_END)
+ {
+ const SfxPoolItem& rDefItem =
+ rTxtNode.GetDoc()->GetAttrPool().GetDefaultItem(pEntry->nWID);
+ rDefItem.QueryValue(aRet, pEntry->nMemberId);
}
- else
- throw uno::RuntimeException();
return aRet;
}
+
/*-- 11.12.98 08:12:51---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXParagraph::attach(const uno::Reference< text::XTextRange > & /*xTextRange*/)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
+void SAL_CALL
+SwXParagraph::attach(const uno::Reference< text::XTextRange > & /*xTextRange*/)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- // SwXParagraph will only created in order to be inserteb by
+ // SwXParagraph will only created in order to be inserted by
// 'insertTextContentBefore' or 'insertTextContentAfter' therefore
// they cannot be attached
throw uno::RuntimeException();
}
+
/*-- 11.12.98 08:12:51---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXParagraph::getAnchor(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXParagraph::getAnchor() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextRange > aRet;
- const SwTxtNode * pTxtNode( GetTxtNode() );
- if (pTxtNode)
- {
- SwPosition aPos( *pTxtNode );
- SwCursor aCursor( aPos, 0, false );
- // select paragraph
- SwParaSelection aParaSel( & aCursor );
- aRet = new SwXTextRange(aCursor, xParentText);
- }
- else
- throw uno::RuntimeException();
- return aRet;
+
+ SwTxtNode & rTxtNode(m_pImpl->GetTxtNodeOrThrow());
+
+ SwPosition aPos( rTxtNode );
+ SwCursor aCursor( aPos, 0, false );
+ // select paragraph
+ SwParaSelection aParaSel( aCursor );
+ const uno::Reference< text::XTextRange > xRet =
+ new SwXTextRange(aCursor, m_pImpl->m_xParentText);
+ return xRet;
}
+
/*-- 11.12.98 08:12:52---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXParagraph::dispose(void) throw( uno::RuntimeException )
+void SAL_CALL SwXParagraph::dispose() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwTxtNode * pTxtNode( GetTxtNode() );
+
+ SwTxtNode *const pTxtNode( m_pImpl->GetTxtNode() );
if (pTxtNode)
{
SwCursor aCursor( SwPosition( *pTxtNode ), 0, false );
// select paragraph
{
- SwParaSelection aParaSel( & aCursor );
+ SwParaSelection aParaSel( aCursor );
pTxtNode->GetDoc()->DelFullPara(aCursor);
}
- aLstnrCntnr.Disposing();
+ m_pImpl->m_ListenerContainer.Disposing();
}
- else
- throw uno::RuntimeException();
}
+
/*-- 11.12.98 08:12:52---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXParagraph::addEventListener(const uno::Reference< lang::XEventListener > & aListener) throw( uno::RuntimeException )
+void SAL_CALL SwXParagraph::addEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetRegisteredIn())
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->GetTxtNode())
+ {
throw uno::RuntimeException();
- aLstnrCntnr.AddListener(aListener);
+ }
+ m_pImpl->m_ListenerContainer.AddListener(xListener);
}
/*-- 11.12.98 08:12:53---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXParagraph::removeEventListener(const uno::Reference< lang::XEventListener > & aListener) throw( uno::RuntimeException )
+void SAL_CALL SwXParagraph::removeEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetRegisteredIn() || !aLstnrCntnr.RemoveListener(aListener))
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->GetTxtNode() ||
+ !m_pImpl->m_ListenerContainer.RemoveListener(xListener))
+ {
throw uno::RuntimeException();
+ }
}
+
/*-- 11.12.98 08:12:53---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< container::XEnumeration > SwXParagraph::createEnumeration(void) throw( uno::RuntimeException )
+uno::Reference< container::XEnumeration > SAL_CALL
+SwXParagraph::createEnumeration() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< container::XEnumeration > aRef;
- const SwTxtNode * pTxtNode( GetTxtNode() );
- if (pTxtNode)
- {
- SwPosition aPos( *pTxtNode );
- SwPaM aPam ( aPos );
- aRef = new SwXTextPortionEnumeration(aPam, xParentText,
- nSelectionStartPos, nSelectionEndPos);
- }
- else
- throw uno::RuntimeException();
- return aRef;
+ SwTxtNode & rTxtNode(m_pImpl->GetTxtNodeOrThrow());
+
+ SwPosition aPos( rTxtNode );
+ SwPaM aPam ( aPos );
+ const uno::Reference< container::XEnumeration > xRef =
+ new SwXTextPortionEnumeration(aPam, m_pImpl->m_xParentText,
+ m_pImpl->m_nSelectionStartPos, m_pImpl->m_nSelectionEndPos);
+ return xRef;
}
+
/*-- 11.12.98 08:12:54---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Type SwXParagraph::getElementType(void) throw( uno::RuntimeException )
+uno::Type SAL_CALL SwXParagraph::getElementType() throw (uno::RuntimeException)
{
- return ::getCppuType((uno::Reference<text::XTextRange>*)0);
+ return text::XTextRange::static_type();
}
/*-- 11.12.98 08:12:54---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXParagraph::hasElements(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL SwXParagraph::hasElements() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
return (GetTxtNode()) ? sal_True : sal_False;
}
+
/*-- 11.12.98 08:12:55---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XText > SwXParagraph::getText(void) throw( uno::RuntimeException )
+uno::Reference< text::XText > SAL_CALL
+SwXParagraph::getText() throw (uno::RuntimeException)
{
- return xParentText;
+ vos::OGuard g(Application::GetSolarMutex());
+
+ return m_pImpl->m_xParentText;
}
+
/*-- 11.12.98 08:12:55---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXParagraph::getStart(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXParagraph::getStart() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextRange > xRet;
- const SwTxtNode * pTxtNode( GetTxtNode() );
- if (pTxtNode)
- {
- SwPosition aPos( *pTxtNode );
- SwCursor aCursor( aPos, 0, false );
- SwParaSelection aParaSel( &aCursor );
- SwPaM aPam( *aCursor.Start() );
- uno::Reference< text::XText > xParent = getText();
- xRet = new SwXTextRange(aPam, xParent);
- }
- else
- throw uno::RuntimeException();
+
+ SwTxtNode & rTxtNode(m_pImpl->GetTxtNodeOrThrow());
+
+ SwPosition aPos( rTxtNode );
+ SwCursor aCursor( aPos, 0, false );
+ SwParaSelection aParaSel( aCursor );
+ SwPaM aPam( *aCursor.Start() );
+ uno::Reference< text::XText > xParent = getText();
+ const uno::Reference< text::XTextRange > xRet =
+ new SwXTextRange(aPam, xParent);
return xRet;
}
/*-- 11.12.98 08:12:56---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXParagraph::getEnd(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXParagraph::getEnd() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextRange > xRet;
- const SwTxtNode * pTxtNode( GetTxtNode() );
- if (pTxtNode)
- {
- SwPosition aPos( *pTxtNode );
- SwCursor aCursor( aPos, 0, false );
- SwParaSelection aParaSel( &aCursor );
- SwPaM aPam( *aCursor.End() );
- uno::Reference< text::XText > xParent = getText();
- xRet = new SwXTextRange(aPam, xParent);
- }
- else
- throw uno::RuntimeException();
+
+ SwTxtNode & rTxtNode(m_pImpl->GetTxtNodeOrThrow());
+
+ SwPosition aPos( rTxtNode );
+ SwCursor aCursor( aPos, 0, false );
+ SwParaSelection aParaSel( aCursor );
+ SwPaM aPam( *aCursor.End() );
+ uno::Reference< text::XText > xParent = getText();
+ const uno::Reference< text::XTextRange > xRet =
+ new SwXTextRange(aPam, xParent);
return xRet;
}
+
/*-- 11.12.98 08:12:56---------------------------------------------------
-----------------------------------------------------------------------*/
-OUString SwXParagraph::getString(void) throw( uno::RuntimeException )
+OUString SAL_CALL SwXParagraph::getString() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
OUString aRet;
- const SwTxtNode * pTxtNode( GetTxtNode() );
+ SwTxtNode const*const pTxtNode( GetTxtNode() );
if (pTxtNode)
{
SwPosition aPos( *pTxtNode );
SwCursor aCursor( aPos, 0, false );
- SwParaSelection aParaSel( & aCursor );
- SwXTextCursor::getTextFromPam(aCursor, aRet);
+ SwParaSelection aParaSel( aCursor );
+ SwUnoCursorHelper::GetTextFromPam(aCursor, aRet);
+ }
+ else if (m_pImpl->IsDescriptor())
+ {
+ aRet = m_pImpl->m_sText;
}
- else if(IsDescriptor())
- aRet = m_sText;
else
+ {
throw uno::RuntimeException();
+ }
return aRet;
}
/*-- 11.12.98 08:12:57---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXParagraph::setString(const OUString& aString) throw( uno::RuntimeException )
+void SAL_CALL SwXParagraph::setString(const OUString& aString)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- const SwTxtNode * pTxtNode( GetTxtNode() );
+ SwTxtNode const*const pTxtNode( GetTxtNode() );
if (pTxtNode)
{
SwPosition aPos( *pTxtNode );
@@ -1132,30 +1389,40 @@ void SwXParagraph::setString(const OUString& aString) throw( uno::RuntimeExcepti
if (!SwUnoCursorHelper::IsStartOfPara(aCursor)) {
aCursor.MovePara(fnParaCurr, fnParaStart);
}
- SwXTextCursor::SelectPam(aCursor, sal_True);
+ SwUnoCursorHelper::SelectPam(aCursor, true);
if (pTxtNode->GetTxt().Len()) {
aCursor.MovePara(fnParaCurr, fnParaEnd);
}
- SwXTextCursor::SetString(aCursor, aString);
- SwXTextCursor::SelectPam(aCursor, sal_False);
+ SwUnoCursorHelper::SetString(aCursor, aString);
+ SwUnoCursorHelper::SelectPam(aCursor, false);
+ }
+ else if (m_pImpl->IsDescriptor())
+ {
+ m_pImpl->m_sText = aString;
}
- else if(IsDescriptor())
- m_sText = aString;
else
+ {
throw uno::RuntimeException();
-
+ }
}
+
/* -----------------23.03.99 12:49-------------------
*
* --------------------------------------------------*/
-uno::Reference< container::XEnumeration > SwXParagraph::createContentEnumeration(const OUString& rServiceName)
- throw( uno::RuntimeException )
+uno::Reference< container::XEnumeration > SAL_CALL
+SwXParagraph::createContentEnumeration(const OUString& rServiceName)
+throw (uno::RuntimeException)
{
- const SwTxtNode * pTxtNode( GetTxtNode() );
- if(!pTxtNode || !rServiceName.equalsAscii("com.sun.star.text.TextContent"))
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!rServiceName.equalsAscii("com.sun.star.text.TextContent"))
+ {
throw uno::RuntimeException();
+ }
- SwPosition aPos( *pTxtNode );
+ SwTxtNode & rTxtNode(m_pImpl->GetTxtNodeOrThrow());
+
+ SwPosition aPos( rTxtNode );
SwPaM aPam( aPos );
uno::Reference< container::XEnumeration > xRet =
new SwXParaFrameEnumeration(aPam, PARAFRAME_PORTION_PARAGRAPH);
@@ -1164,50 +1431,31 @@ uno::Reference< container::XEnumeration > SwXParagraph::createContentEnumeratio
/* -----------------23.03.99 12:49-------------------
*
* --------------------------------------------------*/
-uno::Sequence< OUString > SwXParagraph::getAvailableServiceNames(void) throw( uno::RuntimeException )
+uno::Sequence< OUString > SAL_CALL
+SwXParagraph::getAvailableServiceNames() throw (uno::RuntimeException)
{
uno::Sequence< OUString > aRet(1);
OUString* pArray = aRet.getArray();
pArray[0] = C2U("com.sun.star.text.TextContent");
return aRet;
}
-/*-- 11.12.98 08:12:58---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-void SwXParagraph::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
-{
- ClientModify(this, pOld, pNew);
- if(!GetRegisteredIn())
- aLstnrCntnr.Disposing();
-}
-
-const SwTxtNode * SwXParagraph::GetTxtNode() const
-{
- return static_cast<const SwTxtNode*>(GetRegisteredIn());
-}
-SwTxtNode * SwXParagraph::GetTxtNode()
-{
- return static_cast<SwTxtNode*>(pRegisteredIn);
-}
+// MetadatableMixin
::sfx2::Metadatable* SwXParagraph::GetCoreObject()
{
- SwTxtNode * pTxtNode( GetTxtNode() );
+ SwTxtNode *const pTxtNode( m_pImpl->GetTxtNode() );
return pTxtNode;
}
uno::Reference<frame::XModel> SwXParagraph::GetModel()
{
- SwTxtNode * pTxtNode( GetTxtNode() );
+ SwTxtNode *const pTxtNode( m_pImpl->GetTxtNode() );
if (pTxtNode)
{
- const SwDocShell * pShell( pTxtNode->GetDoc()->GetDocShell() );
+ SwDocShell const*const pShell( pTxtNode->GetDoc()->GetDocShell() );
return (pShell) ? pShell->GetModel() : 0;
}
- else
- {
- return 0;
- }
+ return 0;
}
diff --git a/sw/source/core/unocore/unoport.cxx b/sw/source/core/unocore/unoport.cxx
index d59d33988b..9cd61d1b24 100644
--- a/sw/source/core/unocore/unoport.cxx
+++ b/sw/source/core/unocore/unoport.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoport.cxx,v $
- * $Revision: 1.43 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -35,10 +32,12 @@
#include <cmdid.h>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include <svtools/itemprop.hxx>
+#include <svl/itemprop.hxx>
+
#include <unocrsrhelper.hxx>
#include <unoport.hxx>
-#include <unoobj.hxx>
+#include <unoparaframeenum.hxx>
+#include <unotextrange.hxx>
#include <unomap.hxx>
#include <unoprnms.hxx>
#include <unomid.h>
@@ -48,6 +47,7 @@
#include <doc.hxx>
#include <fmtflcnt.hxx>
#include <fmtfld.hxx>
+#include <frmfmt.hxx>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/beans/SetPropertyTolerantFailed.hpp>
@@ -237,7 +237,7 @@ void SwXTextPortion::setString(const OUString& aString) throw( uno::RuntimeExcep
if (!pUnoCrsr)
throw uno::RuntimeException();
- SwXTextCursor::SetString(*pUnoCrsr, aString);
+ SwUnoCursorHelper::SetString(*pUnoCrsr, aString);
}
/*-- 11.12.98 09:56:57---------------------------------------------------
@@ -271,7 +271,7 @@ void SwXTextPortion::setPropertyValue(const OUString& rPropertyName,
if (!pUnoCrsr)
throw uno::RuntimeException();
- SwXTextCursor::SetPropertyValue(*pUnoCrsr, *m_pPropSet,
+ SwUnoCursorHelper::SetPropertyValue(*pUnoCrsr, *m_pPropSet,
rPropertyName, aValue);
}
/*-- 04.11.03 09:56:58---------------------------------------------------
@@ -422,7 +422,7 @@ void SwXTextPortion::GetPropertyValue(
RES_UNKNOWNATR_CONTAINER, RES_UNKNOWNATR_CONTAINER,
RES_TXTATR_UNKNOWN_CONTAINER, RES_TXTATR_UNKNOWN_CONTAINER,
0L);
- SwXTextCursor::GetCrsrAttr(*pUnoCrsr, *pSet);
+ SwUnoCursorHelper::GetCrsrAttr(*pUnoCrsr, *pSet);
}
m_pPropSet->getPropertyValue(rEntry, *pSet, rVal);
}
@@ -499,7 +499,7 @@ void SAL_CALL SwXTextPortion::SetPropertyValues_Impl(
if ( pEntry->nFlags & beans::PropertyAttribute::READONLY)
throw beans::PropertyVetoException ( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Property is read-only: " ) ) + pPropertyNames[nProp], static_cast < cppu::OWeakObject * > ( this ) );
- SwXTextCursor::SetPropertyValue( *pUnoCrsr, *m_pPropSet,
+ SwUnoCursorHelper::SetPropertyValue( *pUnoCrsr, *m_pPropSet,
pPropertyNames[nProp], pValues[nProp]);
}
}
@@ -602,7 +602,7 @@ uno::Sequence< beans::SetPropertyTolerantFailed > SAL_CALL SwXTextPortion::setPr
pFailed[ nFailed++ ].Result = beans::TolerantPropertySetResultType::PROPERTY_VETO;
else
{
- SwXTextCursor::SetPropertyValue(
+ SwUnoCursorHelper::SetPropertyValue(
*pUnoCrsr, *m_pPropSet, pProp[i], pValue[i] );
}
}
@@ -679,7 +679,8 @@ uno::Sequence< beans::GetDirectPropertyTolerantResult > SAL_CALL SwXTextPortion:
const SfxItemPropertyMap* pPropMap = m_pPropSet->getPropertyMap();
- uno::Sequence< beans::PropertyState > aPropertyStates = SwXTextCursor::GetPropertyStates(
+ uno::Sequence< beans::PropertyState > aPropertyStates =
+ SwUnoCursorHelper::GetPropertyStates(
*pUnoCrsr, *m_pPropSet,
rPropertyNames,
SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION_TOLERANT );
@@ -828,7 +829,7 @@ beans::PropertyState SwXTextPortion::getPropertyState(const OUString& rPropertyN
}
else
{
- eRet = SwXTextCursor::GetPropertyState(*pUnoCrsr, *m_pPropSet,
+ eRet = SwUnoCursorHelper::GetPropertyState(*pUnoCrsr, *m_pPropSet,
rPropertyName);
}
return eRet;
@@ -846,7 +847,7 @@ uno::Sequence< beans::PropertyState > SwXTextPortion::getPropertyStates(
throw uno::RuntimeException();
uno::Sequence< beans::PropertyState > aRet =
- SwXTextCursor::GetPropertyStates(*pUnoCrsr, *m_pPropSet,
+ SwUnoCursorHelper::GetPropertyStates(*pUnoCrsr, *m_pPropSet,
rPropertyNames, SW_PROPERTY_STATE_CALLER_SWX_TEXT_PORTION);
if(GetTextPortionType() == PORTION_RUBY_START)
@@ -872,7 +873,8 @@ void SwXTextPortion::setPropertyToDefault(const OUString& rPropertyName)
if (!pUnoCrsr)
throw uno::RuntimeException();
- SwXTextCursor::SetPropertyToDefault(*pUnoCrsr, *m_pPropSet, rPropertyName);
+ SwUnoCursorHelper::SetPropertyToDefault(
+ *pUnoCrsr, *m_pPropSet, rPropertyName);
}
/*-- 08.03.99 09:41:48---------------------------------------------------
@@ -886,7 +888,7 @@ uno::Any SwXTextPortion::getPropertyDefault(const OUString& rPropertyName)
if (!pUnoCrsr)
throw uno::RuntimeException();
- aRet = SwXTextCursor::GetPropertyDefault(*pUnoCrsr, *m_pPropSet,
+ aRet = SwUnoCursorHelper::GetPropertyDefault(*pUnoCrsr, *m_pPropSet,
rPropertyName);
return aRet;
}
diff --git a/sw/source/core/unocore/unoportenum.cxx b/sw/source/core/unocore/unoportenum.cxx
index 6809c389d1..0a5115b768 100644
--- a/sw/source/core/unocore/unoportenum.cxx
+++ b/sw/source/core/unocore/unoportenum.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoportenum.cxx,v $
- * $Revision: 1.42 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -45,13 +42,18 @@
#include <unocrsr.hxx>
#include <docary.hxx>
#include <tox.hxx>
-#include <unoclbck.hxx>
-#include <unoobj.hxx>
+#include <unomid.h>
+#include <unoparaframeenum.hxx>
+#include <unocrsrhelper.hxx>
+#include <unorefmark.hxx>
+#include <unobookmark.hxx>
#include <unoredline.hxx>
#include <unofield.hxx>
#include <unometa.hxx>
+#include <fmtmeta.hxx>
#include <fmtanchr.hxx>
#include <fmtrfmrk.hxx>
+#include <frmfmt.hxx>
#include <unoidx.hxx>
#include <redline.hxx>
#include <crsskip.hxx>
@@ -94,8 +96,9 @@ namespace
BYTE nBkmType;
const SwPosition aPosition;
- SwXBookmarkPortion_Impl( SwXBookmark* pXMark, BYTE nType, const SwPosition &rPosition )
- : xBookmark ( pXMark )
+ SwXBookmarkPortion_Impl(uno::Reference<text::XTextContent> const& xMark,
+ const BYTE nType, SwPosition const& rPosition)
+ : xBookmark ( xMark )
, nBkmType ( nType )
, aPosition ( rPosition )
{
@@ -159,7 +162,9 @@ namespace
{
const BYTE nType = hasOther ? BKM_TYPE_START : BKM_TYPE_START_END;
rBkmArr.insert(SwXBookmarkPortion_ImplSharedPtr(
- new SwXBookmarkPortion_Impl ( SwXBookmarks::GetObject(*pBkmk, &rDoc ), nType, rStartPos)));
+ new SwXBookmarkPortion_Impl(
+ SwXBookmark::CreateXBookmark(rDoc, *pBkmk),
+ nType, rStartPos)));
}
const SwPosition& rEndPos = pBkmk->GetMarkEnd();
@@ -177,8 +182,12 @@ namespace
pEndPos = pCrossRefEndPos.get();
}
if(pEndPos)
+ {
rBkmArr.insert(SwXBookmarkPortion_ImplSharedPtr(
- new SwXBookmarkPortion_Impl ( SwXBookmarks::GetObject(*pBkmk, &rDoc ), BKM_TYPE_END, *pEndPos)));
+ new SwXBookmarkPortion_Impl(
+ SwXBookmark::CreateXBookmark(rDoc, *pBkmk),
+ BKM_TYPE_END, *pEndPos)));
+ }
}
}
}
@@ -416,9 +425,7 @@ lcl_CreateRefMarkPortion(
SwDoc* pDoc = pUnoCrsr->GetDoc();
const SwFmtRefMark& rRefMark =
static_cast<const SwFmtRefMark&>(rAttr.GetAttr());
- Reference<XTextContent> xContent =
- static_cast<SwUnoCallBack*>(pDoc->GetUnoCallBack())
- ->GetRefMark(rRefMark);
+ Reference<XTextContent> xContent;
if (!xContent.is())
{
xContent = new SwXReferenceMark(pDoc, &rRefMark);
@@ -458,19 +465,15 @@ static Reference<XTextRange>
lcl_CreateTOXMarkPortion(
Reference<XText> const& xParent,
const SwUnoCrsr * const pUnoCrsr,
- const SwTxtAttr & rAttr, const bool bEnd)
+ SwTxtAttr & rAttr, const bool bEnd)
{
SwDoc* pDoc = pUnoCrsr->GetDoc();
- const SwTOXMark& rTOXMark = static_cast<const SwTOXMark&>(rAttr.GetAttr());
+ SwTOXMark & rTOXMark = static_cast<SwTOXMark&>(rAttr.GetAttr());
- Reference<XTextContent> xContent =
- static_cast<SwUnoCallBack*>(pDoc->GetUnoCallBack())
- ->GetTOXMark(rTOXMark);
- if (!xContent.is())
- {
- xContent = new SwXDocumentIndexMark(rTOXMark.GetTOXType(),
- &rTOXMark, pDoc);
- }
+ const Reference<XTextContent> xContent(
+ SwXDocumentIndexMark::CreateXDocumentIndexMark(*pDoc,
+ *const_cast<SwTOXType*>(rTOXMark.GetTOXType()), rTOXMark),
+ uno::UNO_QUERY);
SwXTextPortion* pPortion = 0;
if (!bEnd)
@@ -488,6 +491,33 @@ lcl_CreateTOXMarkPortion(
}
//-----------------------------------------------------------------------------
+static uno::Reference<text::XTextRange>
+lcl_CreateMetaPortion(
+ uno::Reference<text::XText> const& xParent,
+ const SwUnoCrsr * const pUnoCrsr,
+ SwTxtAttr & rAttr, ::std::auto_ptr<TextRangeList_t const> & pPortions)
+{
+ const uno::Reference<rdf::XMetadatable> xMeta( SwXMeta::CreateXMeta(
+ *static_cast<SwFmtMeta &>(rAttr.GetAttr()).GetMeta(),
+ xParent, pPortions));
+ SwXTextPortion * pPortion(0);
+ if (RES_TXTATR_META == rAttr.Which())
+ {
+ const uno::Reference<text::XTextContent> xContent(xMeta,
+ uno::UNO_QUERY);
+ pPortion = new SwXTextPortion(pUnoCrsr, xParent, PORTION_META);
+ pPortion->SetMeta(xContent);
+ }
+ else
+ {
+ const uno::Reference<text::XTextField> xField(xMeta, uno::UNO_QUERY);
+ pPortion = new SwXTextPortion(pUnoCrsr, xParent, PORTION_FIELD);
+ pPortion->SetTextField(xField);
+ }
+ return pPortion;
+}
+
+//-----------------------------------------------------------------------------
static void
lcl_ExportBookmark(
TextRangeList_t & rPortions,
@@ -687,30 +717,13 @@ lcl_ExportHints(
}
else
{
- TextRangeList_t *const pCurrentPortions(Top.first);
+ ::std::auto_ptr<const TextRangeList_t>
+ pCurrentPortions(Top.first);
rPortionStack.pop();
- SwXTextPortion * pPortion;
- if (RES_TXTATR_META == nWhich)
- {
- SwXMeta * const pMeta =
- new SwXMeta(pDoc, xParent,
- pCurrentPortions,
- static_cast<SwTxtMeta * const>(pAttr));
- pPortion = new SwXTextPortion(
- pUnoCrsr, xParent, PORTION_META);
- pPortion->SetMeta(pMeta);
- }
- else
- {
- SwXMetaField * const pMeta =
- new SwXMetaField(pDoc, xParent,
- pCurrentPortions,
- static_cast<SwTxtMeta * const>(pAttr));
- pPortion = new SwXTextPortion(
- pUnoCrsr, xParent, PORTION_FIELD);
- pPortion->SetTextField(pMeta);
- }
- rPortionStack.top().first->push_back(pPortion);
+ const uno::Reference<text::XTextRange> xPortion(
+ lcl_CreateMetaPortion(xParent, pUnoCrsr,
+ *pAttr, pCurrentPortions));
+ rPortionStack.top().first->push_back(xPortion);
}
}
break;
@@ -726,7 +739,7 @@ lcl_ExportHints(
while(nStartIndex < pHints->GetStartCount() &&
nCurrentIndex >= (nNextStart = (*pHints->GetStart(nStartIndex)->GetStart())))
{
- const SwTxtAttr * const pAttr = pHints->GetStart(nStartIndex);
+ SwTxtAttr * const pAttr = pHints->GetStart(nStartIndex);
USHORT nAttrWhich = pAttr->Which();
if (nNextStart == nCurrentIndex)
{
@@ -1127,7 +1140,7 @@ lcl_CreatePortions(
// text at nCurrentIndex; i.e. it must be set _once_ per iteration
uno::Reference< XTextRange > xRef;
- SwXTextCursor::SelectPam(*pUnoCrsr, sal_True); // set mark
+ SwUnoCursorHelper::SelectPam(*pUnoCrsr, true); // set mark
const sal_Int32 nFirstFrameIndex =
lcl_ExportFrames( *PortionStack.top().first,
diff --git a/sw/source/core/unocore/unoprnms.cxx b/sw/source/core/unocore/unoprnms.cxx
index fc0cddd250..36c066dc5a 100644
--- a/sw/source/core/unocore/unoprnms.cxx
+++ b/sw/source/core/unocore/unoprnms.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoprnms.cxx,v $
- * $Revision: 1.139.100.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
#include <tools/debug.hxx>
-#include <svtools/itemprop.hxx>
+#include <svl/itemprop.hxx>
#include <unoprnms.hxx>
diff --git a/sw/source/core/unocore/unoredline.cxx b/sw/source/core/unocore/unoredline.cxx
index d3b85ff340..23d99cd17b 100644
--- a/sw/source/core/unocore/unoredline.cxx
+++ b/sw/source/core/unocore/unoredline.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoredline.cxx,v $
- * $Revision: 1.34 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,24 +28,29 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+#include <com/sun/star/util/DateTime.hpp>
+#include <com/sun/star/text/XTextTable.hpp>
+#include <rtl/ustrbuf.hxx>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
+
#include <pagedesc.hxx>
#include "poolfmt.hxx"
#include <redline.hxx>
#include <section.hxx>
#include <unoprnms.hxx>
-#include <unoobj.hxx>
+#include <unomid.h>
+#include <unotextrange.hxx>
+#include <unotextcursor.hxx>
+#include <unoparagraph.hxx>
#include <unocoll.hxx>
#include <unomap.hxx>
#include <unocrsr.hxx>
#include <unoredline.hxx>
#include <doc.hxx>
#include <docary.hxx>
-#include <rtl/ustrbuf.hxx>
-#include <com/sun/star/util/DateTime.hpp>
-#include <com/sun/star/text/XTextTable.hpp>
+
using namespace ::com::sun::star;
using ::rtl::OUString;
@@ -136,9 +138,9 @@ uno::Reference<text::XTextCursor> SwXRedlineText::createTextCursor(void)
vos::OGuard aGuard(Application::GetSolarMutex());
SwPosition aPos(aNodeIndex);
- SwXTextCursor* pCrsr = new SwXTextCursor(this, aPos, CURSOR_REDLINE,
- GetDoc());
- SwUnoCrsr* pUnoCursor = pCrsr->GetCrsr();
+ SwXTextCursor *const pXCursor =
+ new SwXTextCursor(*GetDoc(), this, CURSOR_REDLINE, aPos);
+ SwUnoCrsr *const pUnoCursor = pXCursor->GetCursor();
pUnoCursor->Move(fnMoveForward, fnGoNode);
// #101929# prevent a newly created text cursor from running inside a table
@@ -170,7 +172,7 @@ uno::Reference<text::XTextCursor> SwXRedlineText::createTextCursor(void)
throw aExcept;
}
- return (text::XWordCursor*)pCrsr;
+ return static_cast<text::XWordCursor*>(pXCursor);
}
/* ---------------------------------------------------------------------------
@@ -193,7 +195,9 @@ uno::Reference<container::XEnumeration> SwXRedlineText::createEnumeration(void)
vos::OGuard aGuard(Application::GetSolarMutex());
SwPaM aPam(aNodeIndex);
aPam.Move(fnMoveForward, fnGoNode);
- return new SwXParagraphEnumeration(this, *aPam.Start(), CURSOR_REDLINE);
+ ::std::auto_ptr<SwUnoCrsr> pUnoCursor(
+ GetDoc()->CreateUnoCrsr(*aPam.Start(), sal_False));
+ return new SwXParagraphEnumeration(this, pUnoCursor, CURSOR_REDLINE);
}
/* ---------------------------------------------------------------------------
@@ -584,11 +588,8 @@ uno::Any SwXRedline::getPropertyValue( const OUString& rPropertyName )
pPoint = pRedline->GetPoint();
else
pPoint = pRedline->GetMark();
- SwPaM aTmp(*pPoint);
- uno::Reference<text::XText> xTmpParent;
-// uno::Reference< text::XTextRange > xRange = SwXTextRange::createTextRangeFromPaM(aTmp);
- uno::Reference<text::XTextRange>xRange =
- SwXTextRange::CreateTextRangeFromPosition( pDoc, *pPoint, 0 );
+ const uno::Reference<text::XTextRange> xRange =
+ SwXTextRange::CreateXTextRange(*pDoc, *pPoint, 0);
xRet = xRange.get();
}
break;
@@ -676,7 +677,9 @@ uno::Reference< container::XEnumeration > SwXRedline::createEnumeration(void) t
{
SwPaM aPam(*pNodeIndex);
aPam.Move(fnMoveForward, fnGoNode);
- xRet = new SwXParagraphEnumeration(this, *aPam.Start(), CURSOR_REDLINE);
+ ::std::auto_ptr<SwUnoCrsr> pUnoCursor(
+ GetDoc()->CreateUnoCrsr(*aPam.Start(), sal_False));
+ xRet = new SwXParagraphEnumeration(this, pUnoCursor, CURSOR_REDLINE);
}
return xRet;
}
@@ -710,8 +713,9 @@ uno::Reference< text::XTextCursor > SwXRedline::createTextCursor(void) throw( u
if(pNodeIndex)
{
SwPosition aPos(*pNodeIndex);
- SwXTextCursor* pCrsr = new SwXTextCursor(this, aPos, CURSOR_REDLINE, pDoc);
- SwUnoCrsr* pUnoCrsr = pCrsr->GetCrsr();
+ SwXTextCursor *const pXCursor =
+ new SwXTextCursor(*pDoc, this, CURSOR_REDLINE, aPos);
+ SwUnoCrsr *const pUnoCrsr = pXCursor->GetCursor();
pUnoCrsr->Move(fnMoveForward, fnGoNode);
//steht hier eine Tabelle?
@@ -725,7 +729,7 @@ uno::Reference< text::XTextCursor > SwXRedline::createTextCursor(void) throw( u
}
if(pCont)
pUnoCrsr->GetPoint()->nContent.Assign(pCont, 0);
- xRet = (text::XWordCursor*)pCrsr;
+ xRet = static_cast<text::XWordCursor*>(pXCursor);
}
else
{
diff --git a/sw/source/core/unocore/unoredlines.cxx b/sw/source/core/unocore/unoredlines.cxx
index e70935b55b..e9916a0fef 100644
--- a/sw/source/core/unocore/unoredlines.cxx
+++ b/sw/source/core/unocore/unoredlines.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unoredlines.cxx,v $
- * $Revision: 1.8 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,18 +28,21 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <tools/debug.hxx>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
+
#include <unoredlines.hxx>
#include <unoredline.hxx>
-#include <tools/debug.hxx>
+#include <unomid.h>
#include <pagedesc.hxx>
#include "poolfmt.hxx"
#include <doc.hxx>
#include <docary.hxx>
#include <redline.hxx>
-#include <com/sun/star/beans/XPropertySet.hpp>
+
using namespace ::com::sun::star;
using ::rtl::OUString;
diff --git a/sw/source/core/unocore/unorefmk.cxx b/sw/source/core/unocore/unorefmk.cxx
index 752022c763..ea84ff33b5 100644
--- a/sw/source/core/unocore/unorefmk.cxx
+++ b/sw/source/core/unocore/unorefmk.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unorefmk.cxx,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,18 +28,23 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include <unoobj.hxx>
+
+#include <unomid.h>
+#include <unotextrange.hxx>
+#include <unorefmark.hxx>
+#include <unotextcursor.hxx>
#include <unomap.hxx>
#include <unocrsr.hxx>
+#include <unoevtlstnr.hxx>
#include <doc.hxx>
#include <ndtxt.hxx>
#include <fmtrfmrk.hxx>
#include <txtrfmrk.hxx>
#include <hints.hxx>
+
using namespace ::com::sun::star;
using ::rtl::OUString;
@@ -50,81 +52,191 @@ using ::rtl::OUString;
* SwXReferenceMark
******************************************************************/
-/* -----------------------------13.03.00 12:15--------------------------------
+class SwXReferenceMark::Impl
+ : public SwClient
+{
+
+public:
+ SwEventListenerContainer m_ListenerContainer;
+ bool m_bIsDescriptor;
+ SwDoc * m_pDoc;
+ const SwFmtRefMark * m_pMarkFmt;
+ ::rtl::OUString m_sMarkName;
+
+ Impl( SwXReferenceMark & rThis,
+ SwDoc *const pDoc, SwFmtRefMark const*const pRefMark)
+ : SwClient((pDoc) ? pDoc->GetUnoCallBack() : 0)
+ , m_ListenerContainer(static_cast< ::cppu::OWeakObject* >(&rThis))
+ , m_bIsDescriptor(0 == pRefMark)
+ , m_pDoc(pDoc)
+ , m_pMarkFmt(pRefMark)
+ {
+ if (pRefMark)
+ {
+ m_sMarkName = pRefMark->GetRefName();
+ }
+ }
+
+ bool IsValid() const { return 0 != GetRegisteredIn(); }
+ void InsertRefMark( SwPaM & rPam, SwXTextCursor const*const pCursor );
+ void Invalidate();
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+/* -----------------------------07.01.00 12:51--------------------------------
---------------------------------------------------------------------------*/
-const uno::Sequence< sal_Int8 > & SwXReferenceMark::getUnoTunnelId()
+void SwXReferenceMark::Impl::Invalidate()
{
- static uno::Sequence< sal_Int8 > aSeq = ::CreateUnoTunnelId();
- return aSeq;
+ if (IsValid())
+ {
+ const_cast<SwModify*>(GetRegisteredIn())->Remove(this);
+ }
+ m_ListenerContainer.Disposing();
+ m_pDoc = 0;
+ m_pMarkFmt = 0;
}
-/* -----------------------------10.03.00 18:04--------------------------------
- ---------------------------------------------------------------------------*/
-sal_Int64 SAL_CALL SwXReferenceMark::getSomething( const uno::Sequence< sal_Int8 >& rId )
- throw(uno::RuntimeException)
+/*-- 11.12.98 10:28:37---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void SwXReferenceMark::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
{
- if( rId.getLength() == 16
- && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- rId.getConstArray(), 16 ) )
+ ClientModify(this, pOld, pNew);
+
+ if (!GetRegisteredIn()) // removed => dispose
{
- return sal::static_int_cast< sal_Int64 >( reinterpret_cast< sal_IntPtr >(this) );
+ Invalidate();
+ }
+ else if (pOld)
+ {
+ switch (pOld->Which())
+ {
+ case RES_REFMARK_DELETED:
+ if (static_cast<const void*>(m_pMarkFmt) ==
+ static_cast<SwPtrMsgPoolItem *>(pOld)->pObject)
+ {
+ Invalidate();
+ }
+ break;
+ }
}
+}
+
+
+/*-- 11.12.98 10:28:32---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXReferenceMark::SwXReferenceMark(
+ SwDoc *const pDoc, SwFmtRefMark const*const pRefMark)
+ : m_pImpl( new SwXReferenceMark::Impl(*this, pDoc, pRefMark) )
+{
+}
+
+/*-- 11.12.98 10:28:33---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXReferenceMark::~SwXReferenceMark()
+{
+}
+
+SwXReferenceMark *
+SwXReferenceMark::GetReferenceMark(
+ SwModify const& /*rUnoCB*/, SwFmtRefMark const& /*rMarkFmt*/)
+{
+ // #i105557#: do not iterate over the registered clients: race condition
+ // to do this properly requires the SwXReferenceMark to register at the
+ // SwFmtRefMark directly, not at the unocallback
+#if 0
+ SwClientIter aIter( rUnoCB );
+ SwXReferenceMark::Impl * pXMark =
+ static_cast<SwXReferenceMark::Impl*>(
+ aIter.First( TYPE( SwXReferenceMark::Impl ) ));
+ while (pXMark)
+ {
+ if (pXMark->m_pMarkFmt == &rMarkFmt)
+ {
+ return &pXMark->m_rThis;
+ }
+ pXMark = static_cast<SwXReferenceMark::Impl*>(aIter.Next());
+ }
+#endif
return 0;
}
-/* -----------------------------06.04.00 16:41--------------------------------
+
+SwXReferenceMark *
+SwXReferenceMark::CreateXReferenceMark(
+ SwDoc & rDoc, SwFmtRefMark const& rMarkFmt)
+{
+ SwXReferenceMark *const pXMark(
+ GetReferenceMark(*rDoc.GetUnoCallBack(), rMarkFmt) );
+ return (pXMark)
+ ? pXMark
+ : new SwXReferenceMark(&rDoc, &rMarkFmt);
+}
+
+/* -----------------------------13.03.00 12:15--------------------------------
---------------------------------------------------------------------------*/
-OUString SwXReferenceMark::getImplementationName(void) throw( uno::RuntimeException )
+const uno::Sequence< sal_Int8 > & SwXReferenceMark::getUnoTunnelId()
{
- return C2U("SwXReferenceMark");
+ static uno::Sequence< sal_Int8 > aSeq = ::CreateUnoTunnelId();
+ return aSeq;
}
-/* -----------------------------06.04.00 16:41--------------------------------
+/* -----------------------------10.03.00 18:04--------------------------------
---------------------------------------------------------------------------*/
-BOOL SwXReferenceMark::supportsService(const OUString& rServiceName) throw( uno::RuntimeException )
+sal_Int64 SAL_CALL
+SwXReferenceMark::getSomething(const uno::Sequence< sal_Int8 >& rId)
+throw (uno::RuntimeException)
{
- return !rServiceName.compareToAscii("com.sun.star.text.ReferenceMark")||
- !rServiceName.compareToAscii("com.sun.star.text.TextContent");
+ return ::sw::UnoTunnelImpl<SwXReferenceMark>(rId, this);
}
/* -----------------------------06.04.00 16:41--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< OUString > SwXReferenceMark::getSupportedServiceNames(void) throw( uno::RuntimeException )
+OUString SAL_CALL SwXReferenceMark::getImplementationName()
+throw (uno::RuntimeException)
{
- uno::Sequence< OUString > aRet(2);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.text.ReferenceMark");
- pArray[1] = C2U("com.sun.star.text.TextContent");
- return aRet;
+ return C2U("SwXReferenceMark");
}
-/*-- 11.12.98 10:28:32---------------------------------------------------
+/* -----------------------------06.04.00 16:41--------------------------------
- -----------------------------------------------------------------------*/
-TYPEINIT1(SwXReferenceMark, SwClient);
+ ---------------------------------------------------------------------------*/
+static char const*const g_ServicesReferenceMark[] =
+{
+ "com.sun.star.text.TextContent",
+ "com.sun.star.text.ReferenceMark",
+};
+static const size_t g_nServicesReferenceMark(
+ sizeof(g_ServicesReferenceMark)/sizeof(g_ServicesReferenceMark[0]));
-SwXReferenceMark::SwXReferenceMark(SwDoc* pDc, const SwFmtRefMark* pRefMark) :
- aLstnrCntnr( (text::XTextContent*)this),
- pDoc(pDc),
- pMark(pRefMark),
- m_bIsDescriptor(0 == pRefMark)
+sal_Bool SAL_CALL
+SwXReferenceMark::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
{
- if(pRefMark)
- sMarkName = pRefMark->GetRefName();
- if(pDoc)
- pDoc->GetUnoCallBack()->Add(this);
+ return ::sw::SupportsServiceImpl(
+ g_nServicesReferenceMark, g_ServicesReferenceMark, rServiceName);
}
-/*-- 11.12.98 10:28:33---------------------------------------------------
+/* -----------------------------06.04.00 16:41--------------------------------
- -----------------------------------------------------------------------*/
-SwXReferenceMark::~SwXReferenceMark()
+ ---------------------------------------------------------------------------*/
+uno::Sequence< OUString > SAL_CALL
+SwXReferenceMark::getSupportedServiceNames()
+throw (uno::RuntimeException)
{
-
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesReferenceMark, g_ServicesReferenceMark);
}
+
/* -----------------03.11.99 14:14-------------------
--------------------------------------------------*/
-void SwXReferenceMark::InsertRefMark(SwPaM& rPam, SwXTextCursor * pCursor)
+void SwXReferenceMark::Impl::InsertRefMark(SwPaM& rPam,
+ SwXTextCursor const*const pCursor)
{
//! in some cases when this function is called the pDoc pointer member may have become
//! invalid/deleted thus we obtain the document pointer from rPaM where it should always
@@ -132,12 +244,8 @@ void SwXReferenceMark::InsertRefMark(SwPaM& rPam, SwXTextCursor * pCursor)
SwDoc *pDoc2 = rPam.GetDoc();
UnoActionContext aCont(pDoc2);
- SwTxtAttr* pTxtAttr = 0;
- SwFmtRefMark aRefMark(sMarkName);
-// SfxItemSet aSet(pDoc2->GetAttrPool(), RES_TXTATR_REFMARK, RES_TXTATR_REFMARK, 0L);
-// aSet.Put(aRefMark);
+ SwFmtRefMark aRefMark(m_sMarkName);
sal_Bool bMark = *rPam.GetPoint() != *rPam.GetMark();
-// SwXTextCursor::SetCrsrAttr(rPam, aSet, 0);
const bool bForceExpandHints( (!bMark && pCursor)
? pCursor->IsAtEndOfMeta() : false );
@@ -149,294 +257,314 @@ void SwXReferenceMark::InsertRefMark(SwPaM& rPam, SwXTextCursor * pCursor)
pDoc2->InsertPoolItem( rPam, aRefMark, nInsertFlags );
if( bMark && *rPam.GetPoint() > *rPam.GetMark())
- rPam.Exchange();
-
- if( bMark )
- pTxtAttr = rPam.GetNode()->GetTxtNode()->GetTxtAttr(
- rPam.GetPoint()->nContent, RES_TXTATR_REFMARK );
- else
{
- pTxtAttr = rPam.GetNode()->GetTxtNode()->GetTxtAttrForCharAt(
- rPam.GetPoint()->nContent.GetIndex()-1, RES_TXTATR_REFMARK );
+ rPam.Exchange();
}
+ SwTxtAttr *const pTxtAttr = (bMark)
+ ? rPam.GetNode()->GetTxtNode()->GetTxtAttr(
+ rPam.GetPoint()->nContent, RES_TXTATR_REFMARK)
+ : rPam.GetNode()->GetTxtNode()->GetTxtAttrForCharAt(
+ rPam.GetPoint()->nContent.GetIndex() - 1, RES_TXTATR_REFMARK);
+
if(pTxtAttr)
- pMark = &pTxtAttr->GetRefMark();
+ {
+ m_pMarkFmt = &pTxtAttr->GetRefMark();
+ }
pDoc2->GetUnoCallBack()->Add(this);
}
-/* -----------------18.02.99 13:33-------------------
- *
- * --------------------------------------------------*/
-void SwXReferenceMark::attachToRange(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
+/*-- 11.12.98 10:28:34---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void SAL_CALL
+SwXReferenceMark::attach(const uno::Reference< text::XTextRange > & xTextRange)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- if(!m_bIsDescriptor)
+ vos::OGuard aGuard(Application::GetSolarMutex());
+
+ if (!m_pImpl->m_bIsDescriptor)
+ {
throw uno::RuntimeException();
+ }
uno::Reference<lang::XUnoTunnel> xRangeTunnel( xTextRange, uno::UNO_QUERY);
SwXTextRange* pRange = 0;
OTextCursorHelper* pCursor = 0;
if(xRangeTunnel.is())
{
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
+ pRange = ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel);
+ pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xRangeTunnel);
}
- SwDoc* pDocument = pRange ? (SwDoc*)pRange->GetDoc() : pCursor ? (SwDoc*)pCursor->GetDoc() : 0;
- if(pDocument)
+ SwDoc *const pDocument =
+ (pRange) ? pRange->GetDoc() : ((pCursor) ? pCursor->GetDoc() : 0);
+ if (!pDocument)
{
- SwUnoInternalPaM aPam(*pDocument);
- //das muss jetzt sal_True liefern
- SwXTextRange::XTextRangeToSwPaM(aPam, xTextRange);
- InsertRefMark(aPam, dynamic_cast<SwXTextCursor*>(pCursor));
- m_bIsDescriptor = sal_False;
- pDoc = pDocument;
- pDoc->GetUnoCallBack()->Add(this);
- }
- else
throw lang::IllegalArgumentException();
-}
-/*-- 11.12.98 10:28:34---------------------------------------------------
+ }
- -----------------------------------------------------------------------*/
-void SwXReferenceMark::attach(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
-{
- vos::OGuard aGuard(Application::GetSolarMutex());
- attachToRange( xTextRange );
+ SwUnoInternalPaM aPam(*pDocument);
+ //das muss jetzt sal_True liefern
+ ::sw::XTextRangeToSwPaM(aPam, xTextRange);
+ m_pImpl->InsertRefMark(aPam, dynamic_cast<SwXTextCursor*>(pCursor));
+ m_pImpl->m_bIsDescriptor = sal_False;
+ m_pImpl->m_pDoc = pDocument;
+ m_pImpl->m_pDoc->GetUnoCallBack()->Add(m_pImpl.get());
}
+
/*-- 11.12.98 10:28:34---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXReferenceMark::getAnchor(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXReferenceMark::getAnchor() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextRange > xRet;
- if(IsValid())
+
+ if (m_pImpl->IsValid())
{
- const SwFmtRefMark* pNewMark = pDoc->GetRefMark(sMarkName);
- if(pNewMark && pNewMark == pMark)
+ SwFmtRefMark const*const pNewMark =
+ m_pImpl->m_pDoc->GetRefMark(m_pImpl->m_sMarkName);
+ if (pNewMark && (pNewMark == m_pImpl->m_pMarkFmt))
{
- const SwTxtRefMark* pTxtMark = pMark->GetTxtRefMark();
- if(pTxtMark &&
- &pTxtMark->GetTxtNode().GetNodes() == &pDoc->GetNodes())
+ SwTxtRefMark const*const pTxtMark =
+ m_pImpl->m_pMarkFmt->GetTxtRefMark();
+ if (pTxtMark &&
+ (&pTxtMark->GetTxtNode().GetNodes() ==
+ &m_pImpl->m_pDoc->GetNodes()))
{
- SwTxtNode& rTxtNode = (SwTxtNode&)pTxtMark->GetTxtNode();
- SwPaM* pPam = pTxtMark->GetEnd() ?
- new SwPaM( rTxtNode, *pTxtMark->GetEnd(),
- rTxtNode, *pTxtMark->GetStart()) :
- new SwPaM( rTxtNode, *pTxtMark->GetStart());
-
-
- xRet = SwXTextRange::CreateTextRangeFromPosition(pDoc,
- *pPam->Start(), pPam->End());
- delete pPam;
+ SwTxtNode const& rTxtNode = pTxtMark->GetTxtNode();
+ const ::std::auto_ptr<SwPaM> pPam( (pTxtMark->GetEnd())
+ ? new SwPaM( rTxtNode, *pTxtMark->GetEnd(),
+ rTxtNode, *pTxtMark->GetStart())
+ : new SwPaM( rTxtNode, *pTxtMark->GetStart()) );
+
+ return SwXTextRange::CreateXTextRange(
+ *m_pImpl->m_pDoc, *pPam->Start(), pPam->End());
}
}
}
- return xRet;
+ return 0;
}
/*-- 11.12.98 10:28:35---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXReferenceMark::dispose(void) throw( uno::RuntimeException )
+void SAL_CALL SwXReferenceMark::dispose() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(IsValid())
+ if (m_pImpl->IsValid())
{
- const SwFmtRefMark* pNewMark = pDoc->GetRefMark(sMarkName);
- if(pNewMark && pNewMark == pMark)
+ SwFmtRefMark const*const pNewMark =
+ m_pImpl->m_pDoc->GetRefMark(m_pImpl->m_sMarkName);
+ if (pNewMark && (pNewMark == m_pImpl->m_pMarkFmt))
{
- const SwTxtRefMark* pTxtMark = pMark->GetTxtRefMark();
- if(pTxtMark &&
- &pTxtMark->GetTxtNode().GetNodes() == &pDoc->GetNodes())
+ SwTxtRefMark const*const pTxtMark =
+ m_pImpl->m_pMarkFmt->GetTxtRefMark();
+ if (pTxtMark &&
+ (&pTxtMark->GetTxtNode().GetNodes() ==
+ &m_pImpl->m_pDoc->GetNodes()))
{
- SwTxtNode& rTxtNode = (SwTxtNode&)pTxtMark->GetTxtNode();
+ SwTxtNode const& rTxtNode = pTxtMark->GetTxtNode();
xub_StrLen nStt = *pTxtMark->GetStart(),
nEnd = pTxtMark->GetEnd() ? *pTxtMark->GetEnd()
: nStt + 1;
SwPaM aPam( rTxtNode, nStt, rTxtNode, nEnd );
- pDoc->DeleteAndJoin( aPam );
+ m_pImpl->m_pDoc->DeleteAndJoin( aPam );
}
}
}
- else
- throw uno::RuntimeException();
+ else if (m_pImpl->m_bIsDescriptor)
+ {
+ m_pImpl->Invalidate();
+ }
}
/*-- 11.12.98 10:28:35---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXReferenceMark::addEventListener(const uno::Reference< lang::XEventListener > & aListener) throw( uno::RuntimeException )
+void SAL_CALL SwXReferenceMark::addEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetRegisteredIn())
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->IsValid())
+ {
throw uno::RuntimeException();
- aLstnrCntnr.AddListener(aListener);
+ }
+ m_pImpl->m_ListenerContainer.AddListener(xListener);
}
/*-- 11.12.98 10:28:35---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXReferenceMark::removeEventListener(const uno::Reference< lang::XEventListener > & aListener) throw( uno::RuntimeException )
+void SAL_CALL SwXReferenceMark::removeEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetRegisteredIn() || !aLstnrCntnr.RemoveListener(aListener))
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->IsValid() ||
+ !m_pImpl->m_ListenerContainer.RemoveListener(xListener))
+ {
throw uno::RuntimeException();
+ }
}
/*-- 11.12.98 10:28:36---------------------------------------------------
-----------------------------------------------------------------------*/
-OUString SwXReferenceMark::getName(void) throw( uno::RuntimeException )
+OUString SAL_CALL SwXReferenceMark::getName()
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!IsValid() || !pDoc->GetRefMark(sMarkName))
+ if (!m_pImpl->IsValid() ||
+ !m_pImpl->m_pDoc->GetRefMark(m_pImpl->m_sMarkName))
{
throw uno::RuntimeException();
}
- return sMarkName;
+ return m_pImpl->m_sMarkName;
}
/*-- 11.12.98 10:28:36---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXReferenceMark::setName(const OUString& Name_) throw( uno::RuntimeException )
+void SAL_CALL SwXReferenceMark::setName(const OUString& rName)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(m_bIsDescriptor)
- sMarkName = String(Name_);
+ if (m_pImpl->m_bIsDescriptor)
+ {
+ m_pImpl->m_sMarkName = rName;
+ }
else
{
- String sNewName(Name_);
- if(!IsValid() || !pDoc->GetRefMark(sMarkName) || pDoc->GetRefMark(sNewName))
+ if (!m_pImpl->IsValid()
+ || !m_pImpl->m_pDoc->GetRefMark(m_pImpl->m_sMarkName)
+ || m_pImpl->m_pDoc->GetRefMark(rName))
{
throw uno::RuntimeException();
}
- const SwFmtRefMark* pCurMark = pDoc->GetRefMark(sMarkName);
- if(sNewName != sMarkName && pCurMark && pCurMark == pMark)
+ SwFmtRefMark const*const pCurMark =
+ m_pImpl->m_pDoc->GetRefMark(m_pImpl->m_sMarkName);
+ if ((rName != m_pImpl->m_sMarkName)
+ && pCurMark && (pCurMark == m_pImpl->m_pMarkFmt))
{
- UnoActionContext aCont(pDoc);
- const SwTxtRefMark* pTxtMark = pMark->GetTxtRefMark();
- if(pTxtMark &&
- &pTxtMark->GetTxtNode().GetNodes() == &pDoc->GetNodes())
+ const UnoActionContext aCont(m_pImpl->m_pDoc);
+ SwTxtRefMark const*const pTxtMark =
+ m_pImpl->m_pMarkFmt->GetTxtRefMark();
+ if (pTxtMark &&
+ (&pTxtMark->GetTxtNode().GetNodes() ==
+ &m_pImpl->m_pDoc->GetNodes()))
{
- SwTxtNode& rTxtNode = (SwTxtNode&)pTxtMark->GetTxtNode();
+ SwTxtNode const& rTxtNode = pTxtMark->GetTxtNode();
xub_StrLen nStt = *pTxtMark->GetStart(),
nEnd = pTxtMark->GetEnd() ? *pTxtMark->GetEnd()
: nStt + 1;
SwPaM aPam( rTxtNode, nStt, rTxtNode, nEnd );
- pDoc->DeleteAndJoin( aPam ); //! deletes the pDoc member in the SwXReferenceMark
- //! The aPam will keep the correct and functional doc though
+ // deletes the m_pImpl->m_pDoc member in the SwXReferenceMark!
+ m_pImpl->m_pDoc->DeleteAndJoin( aPam );
+ // The aPam will keep the correct and functional doc though
- sMarkName = sNewName;
+ m_pImpl->m_sMarkName = rName;
//create a new one
- InsertRefMark( aPam, 0 );
- pDoc = aPam.GetDoc();
+ m_pImpl->InsertRefMark( aPam, 0 );
+ m_pImpl->m_pDoc = aPam.GetDoc();
}
}
}
}
-/* -----------------------------07.01.00 12:51--------------------------------
-
- ---------------------------------------------------------------------------*/
-void SwXReferenceMark::Invalidate()
-{
- if(GetRegisteredIn())
- {
- ((SwModify*)GetRegisteredIn())->Remove(this);
- aLstnrCntnr.Disposing();
- pDoc = 0;
- pMark = 0;
- }
-}
-/*-- 11.12.98 10:28:37---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-void SwXReferenceMark::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
-{
- switch( pOld ? pOld->Which() : 0 )
- {
- case RES_REMOVE_UNO_OBJECT:
- case RES_OBJECTDYING:
- if( (void*)GetRegisteredIn() == ((SwPtrMsgPoolItem *)pOld)->pObject )
- Invalidate();
- break;
- case RES_FMT_CHG:
- // wurden wir an das neue umgehaengt und wird das alte geloscht?
- if( ((SwFmtChg*)pNew)->pChangedFmt == GetRegisteredIn() &&
- ((SwFmtChg*)pOld)->pChangedFmt->IsFmtInDTOR() )
- Invalidate();
- break;
- case RES_REFMARK_DELETED:
- if( (void*)pMark == ((SwPtrMsgPoolItem *)pOld)->pObject )
- Invalidate();
- break;
- }
-}
/*-- 12.09.00 12:58:20---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< beans::XPropertySetInfo > SwXReferenceMark::getPropertySetInfo( ) throw(uno::RuntimeException)
+uno::Reference< beans::XPropertySetInfo > SAL_CALL
+SwXReferenceMark::getPropertySetInfo() throw (uno::RuntimeException)
{
+ vos::OGuard g(Application::GetSolarMutex());
+
static uno::Reference< beans::XPropertySetInfo > xRef =
- aSwMapProvider.GetPropertySet(PROPERTY_MAP_PARAGRAPH_EXTENSIONS)->getPropertySetInfo();
+ aSwMapProvider.GetPropertySet(PROPERTY_MAP_PARAGRAPH_EXTENSIONS)
+ ->getPropertySetInfo();
return xRef;
}
/*-- 12.09.00 12:58:20---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXReferenceMark::setPropertyValue(
+void SAL_CALL SwXReferenceMark::setPropertyValue(
const OUString& /*rPropertyName*/, const uno::Any& /*rValue*/ )
- throw(beans::UnknownPropertyException, beans::PropertyVetoException, lang::IllegalArgumentException, lang::WrappedTargetException, uno::RuntimeException)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
throw lang::IllegalArgumentException();
}
/*-- 12.09.00 12:58:20---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXReferenceMark::getPropertyValue( const OUString& rPropertyName )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+uno::Any SAL_CALL
+SwXReferenceMark::getPropertyValue(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ // does not seem to need SolarMutex
uno::Any aRet;
- if(!SwXParagraph::getDefaultTextContentValue(aRet, rPropertyName))
+ if (! ::sw::GetDefaultTextContentValue(aRet, rPropertyName))
+ {
throw beans::UnknownPropertyException();
+ }
return aRet;
}
/*-- 12.09.00 12:58:20---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXReferenceMark::addPropertyChangeListener(
- const OUString& /*rPropertyName*/, const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL SwXReferenceMark::addPropertyChangeListener(
+ const OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ OSL_ENSURE(false,
+ "SwXReferenceMark::addPropertyChangeListener(): not implemented");
}
/*-- 12.09.00 12:58:20---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXReferenceMark::removePropertyChangeListener(
- const OUString& /*rPropertyName*/, const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL SwXReferenceMark::removePropertyChangeListener(
+ const OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ OSL_ENSURE(false,
+ "SwXReferenceMark::removePropertyChangeListener(): not implemented");
}
/*-- 12.09.00 12:58:20---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXReferenceMark::addVetoableChangeListener( const OUString& /*rPropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL SwXReferenceMark::addVetoableChangeListener(
+ const OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ OSL_ENSURE(false,
+ "SwXReferenceMark::addVetoableChangeListener(): not implemented");
}
/*-- 12.09.00 12:58:21---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXReferenceMark::removeVetoableChangeListener(
- const OUString& /*rPropertyName*/, const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
+void SAL_CALL SwXReferenceMark::removeVetoableChangeListener(
+ const OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
+ OSL_ENSURE(false,
+ "SwXReferenceMark::removeVetoableChangeListener(): not implemented");
}
#include <com/sun/star/lang/DisposedException.hpp>
#include <unometa.hxx>
+#include <unotext.hxx>
#include <unoport.hxx>
#include <txtatr.hxx>
#include <fmtmeta.hxx>
@@ -455,21 +583,22 @@ private:
SwXMeta & m_rMeta;
virtual void PrepareForAttach(uno::Reference< text::XTextRange > & xRange,
- const SwXTextRange* const pRange, const SwPaM * const pPam);
+ const SwPaM & rPam);
- virtual bool CheckForOwnMemberMeta(const SwXTextRange* const pRange,
- const SwPaM* const pPam, bool bAbsorb)
- throw (::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException);
+ virtual bool CheckForOwnMemberMeta(const SwPaM & rPam, const bool bAbsorb)
+ throw (lang::IllegalArgumentException, uno::RuntimeException);
protected:
virtual const SwStartNode *GetStartNode() const;
virtual uno::Reference< text::XTextCursor >
- createCursor() throw (uno::RuntimeException);
+ CreateCursor() throw (uno::RuntimeException);
public:
SwXMetaText(SwDoc & rDoc, SwXMeta & rMeta);
+ /// make available for SwXMeta
+ void Invalidate() { SwXText::Invalidate(); };
+
// XInterface
virtual void SAL_CALL acquire() throw()
{ OSL_ENSURE(false, "ERROR: SwXMetaText::acquire"); }
@@ -488,6 +617,8 @@ public:
const uno::Reference< text::XTextRange > & xTextPosition)
throw (uno::RuntimeException);
+ SwXMeta & GetXMeta() { return m_rMeta; }
+
};
SwXMetaText::SwXMetaText(SwDoc & rDoc, SwXMeta & rMeta)
@@ -504,44 +635,21 @@ const SwStartNode *SwXMetaText::GetStartNode() const
}
void SwXMetaText::PrepareForAttach( uno::Reference<text::XTextRange> & xRange,
- const SwXTextRange* const pRange, const SwPaM * const pPam)
+ const SwPaM & rPam)
{
- SwPosition const* pPoint(0);
- SwPosition const* pMark (0);
- if (pRange)
- {
- ::sw::mark::IMark const& rIMark(*pRange->GetBookmark());
- pMark = &rIMark.GetMarkPos();
- if (rIMark.IsExpanded())
- {
- pMark = &rIMark.GetOtherMarkPos();
- }
- }
- else if (pPam)
- {
- pPoint = pPam->GetPoint();
- if (pPam->HasMark())
- {
- pMark = pPam->GetMark();
- }
- }
// create a new cursor to prevent modifying SwXTextRange
- if (pPoint)
- {
- xRange = static_cast<text::XWordCursor*>(
- new SwXTextCursor(&m_rMeta, *pPoint, CURSOR_META, GetDoc(), pMark));
- }
+ xRange = static_cast<text::XWordCursor*>(
+ new SwXTextCursor(*GetDoc(), &m_rMeta, CURSOR_META, *rPam.GetPoint(),
+ (rPam.HasMark()) ? rPam.GetMark() : 0));
}
-bool SwXMetaText::CheckForOwnMemberMeta(const SwXTextRange* const pRange,
- const SwPaM* const pPam, bool bAbsorb)
- throw (::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException)
+bool SwXMetaText::CheckForOwnMemberMeta(const SwPaM & rPam, const bool bAbsorb)
+ throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- return m_rMeta.CheckForOwnMemberMeta(pRange, pPam, bAbsorb);
+ return m_rMeta.CheckForOwnMemberMeta(rPam, bAbsorb);
}
-uno::Reference< text::XTextCursor > SwXMetaText::createCursor()
+uno::Reference< text::XTextCursor > SwXMetaText::CreateCursor()
throw (uno::RuntimeException)
{
uno::Reference< text::XTextCursor > xRet;
@@ -556,7 +664,7 @@ throw (uno::RuntimeException)
{
SwPosition aPos(*pTxtNode, nMetaStart);
xRet = static_cast<text::XWordCursor*>(
- new SwXTextCursor(&m_rMeta, aPos, CURSOR_META, GetDoc()));
+ new SwXTextCursor(*GetDoc(), &m_rMeta, CURSOR_META, aPos));
}
}
return xRet;
@@ -572,7 +680,7 @@ SwXMetaText::getImplementationId() throw (uno::RuntimeException)
uno::Reference< text::XTextCursor > SAL_CALL
SwXMetaText::createTextCursor() throw (uno::RuntimeException)
{
- return createCursor();
+ return CreateCursor();
}
uno::Reference< text::XTextCursor > SAL_CALL
@@ -580,7 +688,7 @@ SwXMetaText::createTextCursorByRange(
const uno::Reference<text::XTextRange> & xTextPosition)
throw (uno::RuntimeException)
{
- const uno::Reference<text::XTextCursor> xCursor( createCursor() );
+ const uno::Reference<text::XTextCursor> xCursor( CreateCursor() );
xCursor->gotoRange(xTextPosition, sal_False);
return xCursor;
}
@@ -593,8 +701,12 @@ SwXMetaText::createTextCursorByRange(
// this list is created by SwXTextPortionEnumeration
// the Meta listens at the SwTxtNode and throws away the cache when it changes
-struct SwXMeta::Impl
+class SwXMeta::Impl
+ : public SwClient
{
+
+public:
+
SwEventListenerContainer m_ListenerContainer;
::std::auto_ptr<const TextRangeList_t> m_pTextPortions;
// 3 possible states: not attached, attached, disposed
@@ -603,37 +715,131 @@ struct SwXMeta::Impl
uno::Reference<text::XText> m_xParentText;
SwXMetaText m_Text;
- Impl(SwXMeta & rThis, SwDoc & rDoc,
+ Impl( SwXMeta & rThis, SwDoc & rDoc,
+ ::sw::Meta * const pMeta,
uno::Reference<text::XText> const& xParentText,
- TextRangeList_t const * const pPortions,
- SwTxtMeta const * const pHint)
- : m_ListenerContainer(
- static_cast< ::cppu::OWeakObject* >(&rThis))
+ TextRangeList_t const * const pPortions)
+ : SwClient(pMeta)
+ , m_ListenerContainer(static_cast< ::cppu::OWeakObject* >(&rThis))
, m_pTextPortions( pPortions )
, m_bIsDisposed( false )
- , m_bIsDescriptor( 0 == pHint )
+ , m_bIsDescriptor(0 == pMeta)
, m_xParentText(xParentText)
, m_Text(rDoc, rThis)
{
}
-};
-TYPEINIT1(SwXMeta, SwClient);
+ inline const ::sw::Meta * GetMeta() const;
+ // only for SwXMetaField!
+ inline const ::sw::MetaField * GetMetaField() const;
-inline const ::sw::Meta * SwXMeta::GetMeta() const
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+inline const ::sw::Meta * SwXMeta::Impl::GetMeta() const
{
return static_cast< const ::sw::Meta * >(GetRegisteredIn());
}
+// SwModify
+void SwXMeta::Impl::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew )
+{
+ m_pTextPortions.reset(); // throw away cache (SwTxtNode changed)
+
+ ClientModify(this, pOld, pNew);
+
+ if (!GetRegisteredIn()) // removed => dispose
+ {
+ m_ListenerContainer.Disposing();
+ m_bIsDisposed = true;
+ m_Text.Invalidate();
+ }
+}
+
uno::Reference<text::XText> SwXMeta::GetParentText() const
{
return m_pImpl->m_xParentText;
}
+SwXMeta::SwXMeta(SwDoc *const pDoc, ::sw::Meta *const pMeta,
+ uno::Reference<text::XText> const& xParentText,
+ TextRangeList_t const*const pPortions)
+ : m_pImpl( new SwXMeta::Impl(*this, *pDoc, pMeta, xParentText, pPortions) )
+{
+}
+
+SwXMeta::SwXMeta(SwDoc *const pDoc)
+ : m_pImpl( new SwXMeta::Impl(*this, *pDoc, 0, 0, 0) )
+{
+}
+
+SwXMeta::~SwXMeta()
+{
+}
+
+uno::Reference<rdf::XMetadatable>
+SwXMeta::CreateXMeta(::sw::Meta & rMeta,
+ uno::Reference<text::XText> const& i_xParent,
+ ::std::auto_ptr<TextRangeList_t const> pPortions)
+{
+ // re-use existing SwXMeta
+ // #i105557#: do not iterate over the registered clients: race condition
+ uno::Reference<rdf::XMetadatable> xMeta(rMeta.GetXMeta());
+ if (xMeta.is())
+ {
+ if (pPortions.get()) // set cache in the XMeta to the given portions
+ {
+ const uno::Reference<lang::XUnoTunnel> xUT(xMeta, uno::UNO_QUERY);
+ SwXMeta *const pXMeta(
+ ::sw::UnoTunnelGetImplementation<SwXMeta>(xUT));
+ OSL_ENSURE(pXMeta, "no pXMeta?");
+ // NB: the meta must always be created with the complete content
+ // if SwXTextPortionEnumeration is created for a selection,
+ // it must be checked that the Meta is contained in the selection!
+ pXMeta->m_pImpl->m_pTextPortions = pPortions;
+ // ??? is this necessary?
+ if (pXMeta->m_pImpl->m_xParentText.get() != i_xParent.get())
+ {
+ OSL_ENSURE(false, "SwXMeta with different parent?");
+ pXMeta->m_pImpl->m_xParentText.set(i_xParent);
+ }
+ }
+ return xMeta;
+ }
+
+ // create new SwXMeta
+ SwTxtNode * const pTxtNode( rMeta.GetTxtNode() );
+ OSL_ENSURE(pTxtNode, "CreateXMeta: no text node?");
+ if (!pTxtNode) { return 0; }
+ uno::Reference<text::XText> xParentText(i_xParent);
+ if (!xParentText.is())
+ {
+ SwTxtMeta * const pTxtAttr( rMeta.GetTxtAttr() );
+ OSL_ENSURE(pTxtAttr, "CreateXMeta: no text attr?");
+ if (!pTxtAttr) { return 0; }
+ const SwPosition aPos(*pTxtNode, *pTxtAttr->GetStart());
+ xParentText.set( ::sw::CreateParentXText(*pTxtNode->GetDoc(), aPos) );
+ }
+ if (!xParentText.is()) { return 0; }
+ SwXMeta *const pXMeta( (RES_TXTATR_META == rMeta.GetFmtMeta()->Which())
+ ? new SwXMeta (pTxtNode->GetDoc(), &rMeta, xParentText,
+ pPortions.release()) // temporarily un-auto_ptr :-(
+ : new SwXMetaField(pTxtNode->GetDoc(), &rMeta, xParentText,
+ pPortions.release()));
+ // this is why the constructor is private: need to acquire pXMeta here
+ xMeta.set(pXMeta);
+ // in order to initialize the weak pointer cache in the core object
+ rMeta.SetXMeta(xMeta);
+ return xMeta;
+}
+
+
bool SwXMeta::SetContentRange(
SwTxtNode *& rpNode, xub_StrLen & rStart, xub_StrLen & rEnd ) const
{
- ::sw::Meta const * const pMeta( GetMeta() );
+ ::sw::Meta const * const pMeta( m_pImpl->GetMeta() );
if (pMeta)
{
SwTxtMeta const * const pTxtAttr( pMeta->GetTxtAttr() );
@@ -652,28 +858,9 @@ bool SwXMeta::SetContentRange(
return false;
}
-SwXMeta::SwXMeta(SwDoc *const pDoc,
- uno::Reference<text::XText> const& xParentText,
- TextRangeList_t * const pPortions, SwTxtMeta * const pHint)
- : m_pImpl( new SwXMeta::Impl(*this, *pDoc, xParentText, pPortions, pHint) )
-{
- if (pHint)
- {
- ::sw::Meta * const pMeta(
- static_cast<SwFmtMeta&>(pHint->GetAttr()).GetMeta() );
- ASSERT(pMeta, "SwXMeta: no meta?")
- if (pMeta)
- {
- pMeta->Add(this);
- }
- }
-}
-
-bool SwXMeta::CheckForOwnMemberMeta(const SwXTextRange* const pRange,
- const SwPaM* const pPam, bool bAbsorb)
+bool SwXMeta::CheckForOwnMemberMeta(const SwPaM & rPam, const bool bAbsorb)
throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- ASSERT((pPam && !pRange) || (!pPam && pRange), "ERROR: pam xor range");
SwTxtNode * pTxtNode;
xub_StrLen nMetaStart;
xub_StrLen nMetaEnd;
@@ -681,9 +868,8 @@ bool SwXMeta::CheckForOwnMemberMeta(const SwXTextRange* const pRange,
ASSERT(bSuccess, "no pam?");
if (!bSuccess)
throw lang::DisposedException();
- SwPosition const * const pStartPos( (pPam)
- ? pPam->Start()
- : &pRange->GetBookmark()->GetMarkStart() );
+
+ SwPosition const * const pStartPos( rPam.Start() );
if (&pStartPos->nNode.GetNode() != pTxtNode)
{
throw lang::IllegalArgumentException(
@@ -706,14 +892,9 @@ bool SwXMeta::CheckForOwnMemberMeta(const SwXTextRange* const pRange,
{
bForceExpandHints = true;
}
- const bool bHasEnd( (pPam)
- ? pPam->HasMark()
- : pRange->GetBookmark()->IsExpanded());
- if (bHasEnd && bAbsorb)
+ if (rPam.HasMark() && bAbsorb)
{
- SwPosition const * const pEndPos( (pPam)
- ? pPam->End()
- : &pRange->GetBookmark()->GetMarkEnd() );
+ SwPosition const * const pEndPos( rPam.End() );
if (&pEndPos->nNode.GetNode() != pTxtNode)
{
throw lang::IllegalArgumentException(
@@ -739,16 +920,6 @@ bool SwXMeta::CheckForOwnMemberMeta(const SwXTextRange* const pRange,
return bForceExpandHints;
}
-
-SwXMeta::SwXMeta(SwDoc *const pDoc)
- : m_pImpl( new SwXMeta::Impl(*this, *pDoc, 0, 0, 0) )
-{
-}
-
-SwXMeta::~SwXMeta()
-{
-}
-
const uno::Sequence< sal_Int8 > & SwXMeta::getUnoTunnelId()
{
static uno::Sequence< sal_Int8 > aSeq( ::CreateUnoTunnelId() );
@@ -760,14 +931,7 @@ sal_Int64 SAL_CALL
SwXMeta::getSomething( const uno::Sequence< sal_Int8 > & i_rId )
throw (uno::RuntimeException)
{
- if ( i_rId.getLength() == 16 &&
- 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- i_rId.getConstArray(), 16 ) )
- {
- return sal::static_int_cast< sal_Int64 >(
- reinterpret_cast< sal_IntPtr >(this) );
- }
- return 0;
+ return ::sw::UnoTunnelImpl<SwXMeta>(i_rId, this);
}
// XServiceInfo
@@ -777,21 +941,26 @@ SwXMeta::getImplementationName() throw (uno::RuntimeException)
return C2U("SwXMeta");
}
+static char const*const g_ServicesMeta[] =
+{
+ "com.sun.star.text.TextContent",
+ "com.sun.star.text.InContentMetadata",
+};
+static const size_t g_nServicesMeta(
+ sizeof(g_ServicesMeta)/sizeof(g_ServicesMeta[0]));
+
sal_Bool SAL_CALL
SwXMeta::supportsService(const ::rtl::OUString& rServiceName)
throw (uno::RuntimeException)
{
- return rServiceName.equalsAscii("com.sun.star.text.TextContent")
- || rServiceName.equalsAscii("com.sun.star.text.InContentMetadata");
+ return ::sw::SupportsServiceImpl(
+ g_nServicesMeta, g_ServicesMeta, rServiceName);
}
uno::Sequence< ::rtl::OUString > SAL_CALL
SwXMeta::getSupportedServiceNames() throw (uno::RuntimeException)
{
- uno::Sequence< ::rtl::OUString > aRet(2);
- aRet[0] = C2U("com.sun.star.text.TextContent");
- aRet[1] = C2U("com.sun.star.text.InContentMetadata");
- return aRet;
+ return ::sw::GetSupportedServiceNamesImpl(g_nServicesMeta, g_ServicesMeta);
}
@@ -881,14 +1050,10 @@ throw (lang::IllegalArgumentException, uno::RuntimeException)
C2S("SwXMeta::attach(): argument is no XUnoTunnel"),
static_cast< ::cppu::OWeakObject* >(this), 0);
}
- SwXTextRange * const pRange(
- reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething(
- SwXTextRange::getUnoTunnelId() ))) );
- OTextCursorHelper * const pCursor( pRange ? 0 :
- reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething(
- OTextCursorHelper::getUnoTunnelId() ))) );
+ SwXTextRange *const pRange(
+ ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel));
+ OTextCursorHelper *const pCursor( (pRange) ? 0 :
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xRangeTunnel));
if (!pRange && !pCursor)
{
throw lang::IllegalArgumentException(
@@ -906,7 +1071,7 @@ throw (lang::IllegalArgumentException, uno::RuntimeException)
}
SwUnoInternalPaM aPam(*pDoc);
- SwXTextRange::XTextRangeToSwPaM(aPam, i_xTextRange);
+ ::sw::XTextRangeToSwPaM(aPam, i_xTextRange);
UnoActionContext aContext(pDoc);
@@ -940,10 +1105,10 @@ throw (lang::IllegalArgumentException, uno::RuntimeException)
static_cast< ::cppu::OWeakObject* >(this));
}
- pMeta->Add(this);
+ pMeta->Add(m_pImpl.get());
+ pMeta->SetXMeta(uno::Reference<rdf::XMetadatable>(this));
- m_pImpl->m_xParentText =
- SwXTextRange::CreateParentXText(pDoc, *aPam.GetPoint());
+ m_pImpl->m_xParentText = ::sw::CreateParentXText(*pDoc, *aPam.GetPoint());
m_pImpl->m_bIsDescriptor = false;
}
@@ -986,8 +1151,7 @@ SwXMeta::getAnchor() throw (uno::RuntimeException)
const SwPosition start(*pTxtNode, nMetaStart - 1); // -1 due to CH_TXTATR
const SwPosition end(*pTxtNode, nMetaEnd);
- return SwXTextRange::CreateTextRangeFromPosition(
- pTxtNode->GetDoc(), start, &end);
+ return SwXTextRange::CreateXTextRange(*pTxtNode->GetDoc(), start, &end);
}
// XTextRange
@@ -1097,7 +1261,7 @@ SwXMeta::hasElements() throw (uno::RuntimeException)
{
vos::OGuard g(Application::GetSolarMutex());
- return GetRegisteredIn() ? sal_True : sal_False;
+ return m_pImpl->GetRegisteredIn() ? sal_True : sal_False;
}
// XEnumerationAccess
@@ -1113,7 +1277,7 @@ SwXMeta::createEnumeration() throw (uno::RuntimeException)
if (m_pImpl->m_bIsDescriptor)
{
throw uno::RuntimeException(
- C2S("getAnchor(): not inserted"),
+ C2S("createEnumeration(): not inserted"),
static_cast< ::cppu::OWeakObject* >(this));
}
@@ -1142,12 +1306,12 @@ SwXMeta::createEnumeration() throw (uno::RuntimeException)
// MetadatableMixin
::sfx2::Metadatable* SwXMeta::GetCoreObject()
{
- return const_cast< ::sw::Meta * >(GetMeta());
+ return const_cast< ::sw::Meta * >(m_pImpl->GetMeta());
}
uno::Reference<frame::XModel> SwXMeta::GetModel()
{
- ::sw::Meta const * const pMeta( GetMeta() );
+ ::sw::Meta const * const pMeta( m_pImpl->GetMeta() );
if (pMeta)
{
SwTxtNode const * const pTxtNode( pMeta->GetTxtNode() );
@@ -1160,42 +1324,27 @@ uno::Reference<frame::XModel> SwXMeta::GetModel()
return 0;
}
-// SwModify
-void SwXMeta::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew )
-{
- m_pImpl->m_pTextPortions.reset(); // throw away cache (SwTxtNode changed)
-
- ClientModify(this, pOld, pNew);
-
- if (!GetRegisteredIn()) // removed => dispose
- {
- m_pImpl->m_ListenerContainer.Disposing();
- m_pImpl->m_bIsDisposed = true;
- m_pImpl->m_Text.Invalidate();
- }
-}
-
/******************************************************************
* SwXMetaField
******************************************************************/
-inline const ::sw::MetaField * SwXMetaField::GetMetaField() const
+inline const ::sw::MetaField * SwXMeta::Impl::GetMetaField() const
{
return static_cast< const ::sw::MetaField * >(GetRegisteredIn());
}
-SwXMetaField::SwXMetaField(SwDoc *const pDoc,
+SwXMetaField::SwXMetaField(SwDoc *const pDoc, ::sw::Meta *const pMeta,
uno::Reference<text::XText> const& xParentText,
- TextRangeList_t * const pPortions, SwTxtMeta * const pHint)
- : SwXMetaFieldBaseClass(pDoc, xParentText, pPortions, pHint)
+ TextRangeList_t const*const pPortions)
+ : SwXMetaField_Base(pDoc, pMeta, xParentText, pPortions)
{
- ASSERT(!pHint || RES_TXTATR_METAFIELD == pHint->Which(),
+ ASSERT(pMeta && dynamic_cast< ::sw::MetaField* >(pMeta),
"SwXMetaField created for wrong hint!");
}
SwXMetaField::SwXMetaField(SwDoc *const pDoc)
- : SwXMetaFieldBaseClass(pDoc)
+ : SwXMetaField_Base(pDoc)
{
}
@@ -1210,23 +1359,28 @@ SwXMetaField::getImplementationName() throw (uno::RuntimeException)
return C2U("SwXMetaField");
}
+static char const*const g_ServicesMetaField[] =
+{
+ "com.sun.star.text.TextContent",
+ "com.sun.star.text.TextField",
+ "com.sun.star.text.textfield.MetadataField",
+};
+static const size_t g_nServicesMetaField(
+ sizeof(g_ServicesMetaField)/sizeof(g_ServicesMetaField[0]));
+
sal_Bool SAL_CALL
SwXMetaField::supportsService(const ::rtl::OUString& rServiceName)
throw (uno::RuntimeException)
{
- return rServiceName.equalsAscii("com.sun.star.text.TextContent")
- || rServiceName.equalsAscii("com.sun.star.text.TextField")
- || rServiceName.equalsAscii("com.sun.star.text.textfield.MetadataField");
+ return ::sw::SupportsServiceImpl(
+ g_nServicesMetaField, g_ServicesMetaField, rServiceName);
}
uno::Sequence< ::rtl::OUString > SAL_CALL
SwXMetaField::getSupportedServiceNames() throw (uno::RuntimeException)
{
- uno::Sequence< ::rtl::OUString > aRet(3);
- aRet[0] = C2U("com.sun.star.text.TextContent");
- aRet[1] = C2U("com.sun.star.text.TextField");
- aRet[2] = C2U("com.sun.star.text.textfield.MetadataField");
- return aRet;
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesMetaField, g_ServicesMetaField);
}
// XComponent
@@ -1288,7 +1442,7 @@ throw (beans::UnknownPropertyException, beans::PropertyVetoException,
vos::OGuard g(Application::GetSolarMutex());
::sw::MetaField * const pMeta(
- const_cast< ::sw::MetaField * >(GetMetaField()) );
+ const_cast< ::sw::MetaField * >(m_pImpl->GetMetaField()) );
if (!pMeta)
throw lang::DisposedException();
@@ -1321,7 +1475,7 @@ throw (beans::UnknownPropertyException, lang::WrappedTargetException,
{
vos::OGuard g(Application::GetSolarMutex());
- ::sw::MetaField const * const pMeta( GetMetaField() );
+ ::sw::MetaField const * const pMeta( m_pImpl->GetMetaField() );
if (!pMeta)
throw lang::DisposedException();
diff --git a/sw/source/core/unocore/unosect.cxx b/sw/source/core/unocore/unosect.cxx
index 55b6fc7d0f..8e10a4ff39 100644
--- a/sw/source/core/unocore/unosect.cxx
+++ b/sw/source/core/unocore/unosect.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unosect.cxx,v $
- * $Revision: 1.60 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,31 +28,29 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
+#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/text/SectionFileLink.hpp>
#include <cmdid.h>
#include <hintids.hxx>
-#include <svtools/urihelper.hxx>
-#include <svx/brshitem.hxx>
-#ifndef _SVX_XMLCNITEM_HXX
-#include <svx/xmlcnitm.hxx>
-#endif
+#include <svl/urihelper.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/xmlcnitm.hxx>
#include <sfx2/linkmgr.hxx>
#include <sfx2/lnkbase.hxx>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
#include <fmtclds.hxx>
-#include <unoobj.hxx>
+#include <unotextrange.hxx>
+#include <unosection.hxx>
+#include <TextCursorHelper.hxx>
#include <unoredline.hxx>
#include <redline.hxx>
#include <unomap.hxx>
#include <unocrsr.hxx>
#include <section.hxx>
#include <doc.hxx>
-#ifndef _DOCSH_HXX
#include <docsh.hxx>
-#endif
#include <sfx2/docfile.hxx>
#include <docary.hxx>
#include <swundo.hxx>
@@ -65,189 +60,179 @@
#include <doctxm.hxx>
#include <fmtftntx.hxx>
#include <fmtclbl.hxx>
-#ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBUTE_HPPP_
#include <com/sun/star/beans/PropertyAttribute.hpp>
-#endif
-#include <svx/frmdiritem.hxx>
+#include <editeng/frmdiritem.hxx>
+#include <fmtcntnt.hxx>
/* #109700# */
-#include <svx/lrspitem.hxx>
+#include <editeng/lrspitem.hxx>
+
using namespace ::com::sun::star;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::text;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::beans;
using ::rtl::OUString;
-TYPEINIT1(SwXTextSectionClient, SwClient);
-/*-- 20.12.2005 09:56:33---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-SwXTextSectionClient::SwXTextSectionClient(
- SwSectionFmt& rFmt,
- SwXTextSection& rTextSection,
- uno::Reference< text::XTextSection > xSection ) :
- SwClient(&rFmt),
- m_pSection( &rTextSection ),
- m_xReference( xSection )
+/******************************************************************
+ *
+ ******************************************************************/
+struct SwTextSectionProperties_Impl
{
- m_pSection->SetClient( this );
-}
-/*-- 20.12.2005 09:56:33---------------------------------------------------
+ uno::Sequence<sal_Int8> m_Password;
+ ::rtl::OUString m_sCondition;
+ ::rtl::OUString m_sLinkFileName;
+ ::rtl::OUString m_sSectionFilter;
+ ::rtl::OUString m_sSectionRegion;
+
+ ::std::auto_ptr<SwFmtCol> m_pColItem;
+ ::std::auto_ptr<SvxBrushItem> m_pBrushItem;
+ ::std::auto_ptr<SwFmtFtnAtTxtEnd> m_pFtnItem;
+ ::std::auto_ptr<SwFmtEndAtTxtEnd> m_pEndItem;
+ ::std::auto_ptr<SvXMLAttrContainerItem> m_pXMLAttr;
+ ::std::auto_ptr<SwFmtNoBalancedColumns> m_pNoBalanceItem;
+ ::std::auto_ptr<SvxFrameDirectionItem> m_pFrameDirItem;
+ ::std::auto_ptr<SvxLRSpaceItem> m_pLRSpaceItem; // #109700#
+
+ bool m_bDDE;
+ bool m_bHidden;
+ bool m_bCondHidden;
+ bool m_bProtect;
+ // --> FME 2004-06-22 #114856# edit in readonly sections
+ bool m_bEditInReadonly;
+ // <--
+ bool m_bUpdateType;
- -----------------------------------------------------------------------*/
-SwXTextSectionClient::~SwXTextSectionClient()
-{
- uno::Reference< text::XTextSection > xSection( m_xReference );
- if(xSection.is())
+ SwTextSectionProperties_Impl()
+ : m_bDDE(false)
+ , m_bHidden(false)
+ , m_bCondHidden(false)
+ , m_bProtect(false)
+ // --> FME 2004-06-22 #114856# edit in readonly sections
+ , m_bEditInReadonly(false)
+ // <--
+ , m_bUpdateType(true)
{
- m_pSection->SetClient( 0 );
}
-}
-/*-- 20.12.2005 09:56:35---------------------------------------------------
- -----------------------------------------------------------------------*/
-uno::Reference< text::XTextSection > SwXTextSectionClient::GetXTextSection()
-{
- return uno::Reference< text::XTextSection >( m_xReference );
-}
+};
-/*-- 29.12.2005 11:29:30---------------------------------------------------
- -----------------------------------------------------------------------*/
-/*SwXTextSection* SwXTextSectionClient::GetSwTextSection()
+class SwXTextSection::Impl
+ : public SwClient
{
- if( m_xReference.is() )
- return m_pSection;;
-} */
+
+public:
+
+ SwXTextSection & m_rThis;
+ const SfxItemPropertySet & m_rPropSet;
+ SwEventListenerContainer m_ListenerContainer;
+ const bool m_bIndexHeader;
+ bool m_bIsDescriptor;
+ ::rtl::OUString m_sName;
+ ::std::auto_ptr<SwTextSectionProperties_Impl> m_pProps;
+
+ Impl( SwXTextSection & rThis,
+ SwSectionFmt *const pFmt, const bool bIndexHeader)
+ : SwClient(pFmt)
+ , m_rThis(rThis)
+ , m_rPropSet(*aSwMapProvider.GetPropertySet(PROPERTY_MAP_SECTION))
+ , m_ListenerContainer(static_cast< ::cppu::OWeakObject* >(&rThis))
+ , m_bIndexHeader(bIndexHeader)
+ , m_bIsDescriptor(0 == pFmt)
+ , m_pProps((pFmt) ? 0 : new SwTextSectionProperties_Impl())
+ {
+ }
+
+ SwSectionFmt * GetSectionFmt() const
+ {
+ return static_cast<SwSectionFmt*>(const_cast<SwModify*>(
+ GetRegisteredIn()));
+ }
+
+ SwSectionFmt & GetSectionFmtOrThrow() const {
+ SwSectionFmt *const pFmt( GetSectionFmt() );
+ if (!pFmt) {
+ throw uno::RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "SwXTextSection: disposed or invalid")), 0);
+ }
+ return *pFmt;
+ }
+
+ void SAL_CALL SetPropertyValues_Impl(
+ const uno::Sequence< ::rtl::OUString >& rPropertyNames,
+ const uno::Sequence< uno::Any >& aValues)
+ throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException);
+ uno::Sequence< uno::Any > SAL_CALL
+ GetPropertyValues_Impl(
+ const uno::Sequence< ::rtl::OUString >& rPropertyNames)
+ throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException);
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
/*-- 10.12.98 14:42:52---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextSectionClient::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
+void SwXTextSection::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
{
- if(pOld && pOld->Which() == RES_REMOVE_UNO_OBJECT &&
- (void*)GetRegisteredIn() == ((SwPtrMsgPoolItem *)pOld)->pObject )
- ((SwModify*)GetRegisteredIn())->Remove(this);
- else
- ClientModify(this, pOld, pNew);
- if(!GetRegisteredIn())
+ ClientModify(this, pOld, pNew);
+ if (!GetRegisteredIn())
{
- uno::Reference< text::XTextSection > xSection( m_xReference );
- if(xSection.is())
- {
- m_pSection->SetClient( 0 );
- m_pSection->aLstnrCntnr.Disposing();
- m_xReference = uno::Reference< text::XTextSection >();
-
- Application::PostUserEvent(
- STATIC_LINK( this, SwXTextSectionClient, RemoveSectionClient_Impl ), this );
- }
+ m_ListenerContainer.Disposing();
}
}
-/*-- 29.12.2005 13:04:57---------------------------------------------------
+/*-- 20.12.2005 10:27:33---------------------------------------------------
-----------------------------------------------------------------------*/
-IMPL_STATIC_LINK_NOINSTANCE( SwXTextSectionClient, RemoveSectionClient_Impl,
- SwXTextSectionClient*, pClient )
+SwSectionFmt * SwXTextSection::GetFmt() const
{
- delete pClient;
- return 0;
+ return m_pImpl->GetSectionFmt();
}
/*-- 20.12.2005 09:56:36---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextSection > SwXTextSectionClient::CreateXTextSection(
- SwSectionFmt* pFmt, BOOL bIndexHeader )
+uno::Reference< text::XTextSection >
+SwXTextSection::CreateXTextSection(
+ SwSectionFmt *const pFmt, const bool bIndexHeader)
{
- SwXTextSection* pNew;
- uno::Reference< text::XTextSection > xSection = pNew = new SwXTextSection( pFmt != 0, bIndexHeader );
- if(pFmt)
- new SwXTextSectionClient( *pFmt, *pNew, xSection );
+ // re-use existing SwXTextSection
+ // #i105557#: do not iterate over the registered clients: race condition
+ uno::Reference< text::XTextSection > xSection;
+ if (pFmt)
+ {
+ xSection.set(pFmt->GetXTextSection());
+ }
+ if ( !xSection.is() )
+ {
+ SwXTextSection *const pNew = new SwXTextSection(pFmt, bIndexHeader);
+ xSection.set(pNew);
+ if (pFmt)
+ {
+ pFmt->SetXTextSection(xSection);
+ }
+ }
return xSection;
}
-/*-- 29.12.2005 10:23:37---------------------------------------------------
+/*-- 10.12.98 14:47:05---------------------------------------------------
-----------------------------------------------------------------------*/
-SwXTextSectionClient* SwXTextSectionClient::Create(SwXTextSection& rSection,
- uno::Reference< text::XTextSection >xSection, SwSectionFmt& rFmt )
+SwXTextSection::SwXTextSection(
+ SwSectionFmt *const pFmt, const bool bIndexHeader)
+ : m_pImpl( new SwXTextSection::Impl(*this, pFmt, bIndexHeader) )
{
- return new SwXTextSectionClient( rFmt, rSection, xSection );
}
-/******************************************************************
- *
- ******************************************************************/
-struct SwTextSectionProperties_Impl
-{
-
- String sCondition;
- String sLinkFileName;
- String sSectionFilter;
- String sSectionRegion;
- uno::Sequence<sal_Int8> aPassword;
-
- SwFmtCol* pColItem;
- SvxBrushItem* pBrushItem;
- SwFmtFtnAtTxtEnd* pFtnItem;
- SwFmtEndAtTxtEnd* pEndItem;
- SvXMLAttrContainerItem *pXMLAttr;
- SwFmtNoBalancedColumns *pNoBalanceItem;
- SvxFrameDirectionItem *pFrameDirItem;
- SvxLRSpaceItem *pLRSpaceItem; // #109700#
- sal_Bool bDDE;
- sal_Bool bHidden;
- sal_Bool bCondHidden;
- sal_Bool bProtect;
- // --> FME 2004-06-22 #114856# edit in readonly sections
- sal_Bool bEditInReadonly;
- // <--
- sal_Bool bUpdateType;
-
- SwTextSectionProperties_Impl() :
- pColItem(0),
- pBrushItem(0),
- pFtnItem(0),
- pEndItem(0),
- pXMLAttr(0),
- pNoBalanceItem(0),
- pFrameDirItem(0),
- pLRSpaceItem(0), // #109700#
- bDDE(0),
- bHidden(0),
- bCondHidden(0),
- bProtect(0),
- // --> FME 2004-06-22 #114856# edit in readonly sections
- bEditInReadonly(0),
- // <--
- bUpdateType(sal_True){}
- ~SwTextSectionProperties_Impl()
- {
- delete pColItem;
- delete pBrushItem;
- delete pFtnItem;
- delete pEndItem;
- delete pXMLAttr;
- delete pNoBalanceItem;
- delete pFrameDirItem;
- delete pLRSpaceItem; // #109700#
- }
-};
-/* -----------------------------11.07.00 12:10--------------------------------
+/*-- 10.12.98 14:47:07---------------------------------------------------
- ---------------------------------------------------------------------------*/
-SwXTextSection* SwXTextSection::GetImplementation(uno::Reference< XInterface> xRef )
+ -----------------------------------------------------------------------*/
+SwXTextSection::~SwXTextSection()
{
- uno::Reference<lang::XUnoTunnel> xTunnel( xRef, uno::UNO_QUERY);
- if(xTunnel.is())
- return reinterpret_cast< SwXTextSection * >(
- sal::static_int_cast< sal_IntPtr >( xTunnel->getSomething(SwXTextSection::getUnoTunnelId()) ));
- return 0;
}
/* -----------------------------13.03.00 12:15--------------------------------
@@ -261,258 +246,230 @@ const uno::Sequence< sal_Int8 > & SwXTextSection::getUnoTunnelId()
/* -----------------------------10.03.00 18:04--------------------------------
---------------------------------------------------------------------------*/
-sal_Int64 SAL_CALL SwXTextSection::getSomething( const uno::Sequence< sal_Int8 >& rId )
- throw(uno::RuntimeException)
-{
- if( rId.getLength() == 16
- && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- rId.getConstArray(), 16 ) )
- {
- return sal::static_int_cast< sal_Int64 >( reinterpret_cast< sal_IntPtr >( this ) );
- }
- return 0;
-}
-/*-- 10.12.98 14:47:05---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-SwXTextSection::SwXTextSection(sal_Bool bWithFormat, sal_Bool bIndexHeader) :
-// SwClient(pFmt),
- aLstnrCntnr( (text::XTextContent*)this),
- m_pPropSet(aSwMapProvider.GetPropertySet(PROPERTY_MAP_SECTION)),
- m_bIsDescriptor(!bWithFormat),
- m_bIndexHeader(bIndexHeader),
- pProps(bWithFormat ? 0 : new SwTextSectionProperties_Impl()),
- m_pClient( 0 )
+sal_Int64 SAL_CALL
+SwXTextSection::getSomething(const uno::Sequence< sal_Int8 >& rId)
+throw (uno::RuntimeException)
{
-
+ return ::sw::UnoTunnelImpl<SwXTextSection>(rId, this);
}
-/*-- 10.12.98 14:47:07---------------------------------------------------
- -----------------------------------------------------------------------*/
-SwXTextSection::~SwXTextSection()
-{
- vos::OGuard aGuard(Application::GetSolarMutex());
- delete m_pClient;
- delete pProps;
-}
/*-- 10.12.98 14:47:08---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextSection > SwXTextSection::getParentSection(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextSection > SAL_CALL
+SwXTextSection::getParentSection() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextSection > aRef;
- SwSectionFmt* pSectFmt = GetFmt();
- if(pSectFmt)
- {
- SwSectionFmt* pParentFmt = pSectFmt->GetParent();
- if(pParentFmt)
- {
- SwXTextSectionClient* pClient = (SwXTextSectionClient*)SwClientIter(*pParentFmt).
- First(TYPE(SwXTextSectionClient));
- if(pClient)
- aRef = pClient->GetXTextSection();
- else
- aRef = SwXTextSectionClient::CreateXTextSection(pParentFmt);
- }
- }
- else
- throw uno::RuntimeException();
- return aRef;
+
+ SwSectionFmt & rSectionFmt( m_pImpl->GetSectionFmtOrThrow() );
+
+ SwSectionFmt *const pParentFmt = rSectionFmt.GetParent();
+ const uno::Reference< text::XTextSection > xRet =
+ (pParentFmt) ? CreateXTextSection(pParentFmt) : 0;
+ return xRet;
}
+
/*-- 10.12.98 14:47:08---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Sequence< uno::Reference< text::XTextSection > > SwXTextSection::getChildSections(void)
- throw( uno::RuntimeException )
+uno::Sequence< uno::Reference< text::XTextSection > > SAL_CALL
+SwXTextSection::getChildSections() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Sequence<uno::Reference< text::XTextSection > > aSeq;
- SwSectionFmt* pSectFmt = GetFmt();
- if(pSectFmt)
- {
- SwSections aChildren;
- pSectFmt->GetChildSections(aChildren, SORTSECT_NOT, sal_False);
- aSeq.realloc(aChildren.Count());
- uno::Reference< text::XTextSection > * pArray = aSeq.getArray();
- for(sal_uInt16 i = 0; i < aChildren.Count(); i++)
- {
- SwSectionFmt* pChild = aChildren.GetObject(i)->GetFmt();
- SwXTextSectionClient* pClient = (SwXTextSectionClient*)SwClientIter(*pChild).
- First(TYPE(SwXTextSectionClient));
- if(pClient)
- pArray[i] = pClient->GetXTextSection();
- else
- pArray[i] = SwXTextSectionClient::CreateXTextSection(pChild);
- }
+ SwSectionFmt & rSectionFmt( m_pImpl->GetSectionFmtOrThrow() );
+
+ SwSections aChildren;
+ rSectionFmt.GetChildSections(aChildren, SORTSECT_NOT, sal_False);
+ uno::Sequence<uno::Reference<text::XTextSection> > aSeq(aChildren.Count());
+ uno::Reference< text::XTextSection > * pArray = aSeq.getArray();
+ for (sal_uInt16 i = 0; i < aChildren.Count(); i++)
+ {
+ SwSectionFmt *const pChild = aChildren.GetObject(i)->GetFmt();
+ pArray[i] = CreateXTextSection(pChild);
}
return aSeq;
-
}
+
/* -----------------18.02.99 13:31-------------------
*
* --------------------------------------------------*/
-void SwXTextSection::attachToRange(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
+void SAL_CALL
+SwXTextSection::attach(const uno::Reference< text::XTextRange > & xTextRange)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- if(!m_bIsDescriptor)
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->m_bIsDescriptor)
+ {
throw uno::RuntimeException();
+ }
uno::Reference<lang::XUnoTunnel> xRangeTunnel( xTextRange, uno::UNO_QUERY);
SwXTextRange* pRange = 0;
OTextCursorHelper* pCursor = 0;
if(xRangeTunnel.is())
{
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
+ pRange = ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel);
+ pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xRangeTunnel);
+ }
+
+ SwDoc *const pDoc =
+ (pRange) ? pRange->GetDoc() : ((pCursor) ? pCursor->GetDoc() : 0);
+ if (!pDoc)
+ {
+ throw lang::IllegalArgumentException();
}
- SwDoc* pDoc = pRange ? (SwDoc*)pRange->GetDoc() : pCursor ? (SwDoc*)pCursor->GetDoc() : 0;
- if(pDoc)
+ SwUnoInternalPaM aPam(*pDoc);
+ //das muss jetzt sal_True liefern
+ ::sw::XTextRangeToSwPaM(aPam, xTextRange);
+ UnoActionContext aCont(pDoc);
+ pDoc->StartUndo( UNDO_INSSECTION, NULL );
+
+ if (!m_pImpl->m_sName.getLength())
+ {
+ m_pImpl->m_sName = C2U("TextSection");
+ }
+ SectionType eType = (m_pImpl->m_pProps->m_bDDE)
+ ? DDE_LINK_SECTION
+ : ((m_pImpl->m_pProps->m_sLinkFileName.getLength() ||
+ m_pImpl->m_pProps->m_sSectionRegion.getLength())
+ ? FILE_LINK_SECTION : CONTENT_SECTION);
+ // index header section?
+ if (m_pImpl->m_bIndexHeader)
{
- SwUnoInternalPaM aPam(*pDoc);
- //das muss jetzt sal_True liefern
- SwXTextRange::XTextRangeToSwPaM(aPam, xTextRange);
- UnoActionContext aCont(pDoc);
- pDoc->StartUndo( UNDO_INSSECTION, NULL );
-
- SwSection* pRet = 0;
- if(!m_sName.Len())
- m_sName = C2S("TextSection");
- SectionType eType = pProps->bDDE ? DDE_LINK_SECTION :
- pProps->sLinkFileName.Len() || pProps->sSectionRegion.Len() ? FILE_LINK_SECTION :
- CONTENT_SECTION;
- // index header section?
- if(m_bIndexHeader)
+ // caller wants an index header section, but will only
+ // give him one if a) we are inside an index, and b) said
+ // index doesn't yet have a header section.
+ const SwTOXBase* pBase = aPam.GetDoc()->GetCurTOX(*aPam.Start());
+
+ // are we inside an index?
+ if (pBase)
{
- // caller wants an index header section, but will only
- // give him one if a) we are inside an index, and b) said
- // index doesn't yet have a header section.
- const SwTOXBase* pBase = aPam.GetDoc()->GetCurTOX(
- *aPam.Start() );
-
- // are we inside an index?
- if (pBase)
+ // get all child sections
+ SwSections aSectionsArr;
+ static_cast<const SwTOXBaseSection*>(pBase)->GetFmt()->
+ GetChildSections(aSectionsArr);
+
+ // and search for current header section
+ const sal_uInt16 nCount = aSectionsArr.Count();
+ sal_Bool bHeaderPresent = sal_False;
+ for(sal_uInt16 i = 0; i < nCount; i++)
{
- // get all child sections
- SwSections aSectionsArr;
- ((SwTOXBaseSection*)pBase)->GetFmt()->
- GetChildSections(aSectionsArr);
-
- // and search for current header section
- sal_uInt16 nCount = aSectionsArr.Count();
- sal_Bool bHeaderPresent = sal_False;
- for(sal_uInt16 i = 0; i < nCount; i++)
- {
- bHeaderPresent |=
- (aSectionsArr[i]->GetType() == TOX_HEADER_SECTION);
- }
- if (! bHeaderPresent)
- {
- eType = TOX_HEADER_SECTION;
- }
+ bHeaderPresent |=
+ (aSectionsArr[i]->GetType() == TOX_HEADER_SECTION);
+ }
+ if (! bHeaderPresent)
+ {
+ eType = TOX_HEADER_SECTION;
}
}
+ }
- SwSection aSect(eType, pDoc->GetUniqueSectionName(&m_sName));
- aSect.SetCondition(pProps->sCondition);
- String sLinkName(pProps->sLinkFileName);
- sLinkName += sfx2::cTokenSeperator;
- sLinkName += pProps->sSectionFilter;
- sLinkName += sfx2::cTokenSeperator;
- sLinkName += pProps->sSectionRegion;
- aSect.SetLinkFileName(sLinkName);
-
- aSect.SetHidden(pProps->bHidden);
- aSect.SetProtect(pProps->bProtect);
- // --> FME 2004-06-22 #114856# edit in readonly sections
- aSect.SetEditInReadonly(pProps->bEditInReadonly);
- // <--
+ String tmp(m_pImpl->m_sName);
+ SwSection aSect(eType, pDoc->GetUniqueSectionName(&tmp));
+ aSect.SetCondition(m_pImpl->m_pProps->m_sCondition);
+ ::rtl::OUStringBuffer sLinkNameBuf(m_pImpl->m_pProps->m_sLinkFileName);
+ sLinkNameBuf.append(sfx2::cTokenSeperator);
+ sLinkNameBuf.append(m_pImpl->m_pProps->m_sSectionFilter);
+ sLinkNameBuf.append(sfx2::cTokenSeperator);
+ sLinkNameBuf.append(m_pImpl->m_pProps->m_sSectionRegion);
+ aSect.SetLinkFileName(sLinkNameBuf.makeStringAndClear());
+
+ aSect.SetHidden(m_pImpl->m_pProps->m_bHidden);
+ aSect.SetProtect(m_pImpl->m_pProps->m_bProtect);
+ // --> FME 2004-06-22 #114856# edit in readonly sections
+ aSect.SetEditInReadonly(m_pImpl->m_pProps->m_bEditInReadonly);
+ // <--
- SfxItemSet aSet(pDoc->GetAttrPool(),
- RES_COL, RES_COL,
- RES_BACKGROUND, RES_BACKGROUND,
- RES_FTN_AT_TXTEND, RES_FRAMEDIR,
- RES_LR_SPACE, RES_LR_SPACE, // #109700#
- RES_UNKNOWNATR_CONTAINER,RES_UNKNOWNATR_CONTAINER,
- 0);
- if(pProps->pBrushItem)
- aSet.Put(*pProps->pBrushItem);
- if(pProps->pColItem)
- aSet.Put(*pProps->pColItem);
- if(pProps->pFtnItem)
- aSet.Put(*pProps->pFtnItem);
- if(pProps->pEndItem)
- aSet.Put(*pProps->pEndItem);
- if(pProps->pXMLAttr)
- aSet.Put(*pProps->pXMLAttr);
- if(pProps->pNoBalanceItem)
- aSet.Put(*pProps->pNoBalanceItem);
- if(pProps->pFrameDirItem)
- aSet.Put(*pProps->pFrameDirItem);
- /* #109700# */
- if(pProps->pLRSpaceItem)
- aSet.Put(*pProps->pLRSpaceItem);
-
- // section password
- if (pProps->aPassword.getLength() > 0)
- aSect.SetPasswd(pProps->aPassword);
-
- pRet = pDoc->InsertSwSection( aPam, aSect, aSet.Count() ? &aSet : 0 );
- // now create the client
- m_refCount++;
- // keep block to remove Reference before the refcount is decremented
- {
- uno::Reference< text::XTextSection> xSection( this );
- m_pClient = SwXTextSectionClient::Create(*this, xSection, *pRet->GetFmt());
- }
- m_refCount--;
+ SfxItemSet aSet(pDoc->GetAttrPool(),
+ RES_COL, RES_COL,
+ RES_BACKGROUND, RES_BACKGROUND,
+ RES_FTN_AT_TXTEND, RES_FRAMEDIR,
+ RES_LR_SPACE, RES_LR_SPACE, // #109700#
+ RES_UNKNOWNATR_CONTAINER,RES_UNKNOWNATR_CONTAINER,
+ 0);
+ if (m_pImpl->m_pProps->m_pBrushItem.get())
+ {
+ aSet.Put(*m_pImpl->m_pProps->m_pBrushItem);
+ }
+ if (m_pImpl->m_pProps->m_pColItem.get())
+ {
+ aSet.Put(*m_pImpl->m_pProps->m_pColItem);
+ }
+ if (m_pImpl->m_pProps->m_pFtnItem.get())
+ {
+ aSet.Put(*m_pImpl->m_pProps->m_pFtnItem);
+ }
+ if (m_pImpl->m_pProps->m_pEndItem.get())
+ {
+ aSet.Put(*m_pImpl->m_pProps->m_pEndItem);
+ }
+ if (m_pImpl->m_pProps->m_pXMLAttr.get())
+ {
+ aSet.Put(*m_pImpl->m_pProps->m_pXMLAttr);
+ }
+ if (m_pImpl->m_pProps->m_pNoBalanceItem.get())
+ {
+ aSet.Put(*m_pImpl->m_pProps->m_pNoBalanceItem);
+ }
+ if (m_pImpl->m_pProps->m_pFrameDirItem.get())
+ {
+ aSet.Put(*m_pImpl->m_pProps->m_pFrameDirItem);
+ }
+ /* #109700# */
+ if (m_pImpl->m_pProps->m_pLRSpaceItem.get())
+ {
+ aSet.Put(*m_pImpl->m_pProps->m_pLRSpaceItem);
+ }
+ // section password
+ if (m_pImpl->m_pProps->m_Password.getLength() > 0)
+ {
+ aSect.SetPasswd(m_pImpl->m_pProps->m_Password);
+ }
+
+ SwSection *const pRet =
+ pDoc->InsertSwSection( aPam, aSect, aSet.Count() ? &aSet : 0 );
+ pRet->GetFmt()->Add(m_pImpl.get());
+ pRet->GetFmt()->SetXObject(static_cast< ::cppu::OWeakObject*>(this));
- // #97450# XML import must hide sections depending on their old
- // condition status
- if( pProps->sCondition.Len() != 0 )
- pRet->SetCondHidden(pProps->bCondHidden);
+ // #97450# XML import must hide sections depending on their old
+ // condition status
+ if (m_pImpl->m_pProps->m_sCondition.getLength() != 0)
+ {
+ pRet->SetCondHidden(m_pImpl->m_pProps->m_bCondHidden);
+ }
- // set update type if DDE link (and connect, if necessary)
- if (pProps->bDDE)
+ // set update type if DDE link (and connect, if necessary)
+ if (m_pImpl->m_pProps->m_bDDE)
+ {
+ if (! pRet->IsConnected())
{
- if (! pRet->IsConnected())
- {
- pRet->CreateLink(CREATE_CONNECT);
- }
- pRet->SetUpdateType( static_cast< USHORT >(pProps->bUpdateType ?
- sfx2::LINKUPDATE_ALWAYS : sfx2::LINKUPDATE_ONCALL) );
+ pRet->CreateLink(CREATE_CONNECT);
}
-
- // Undo-Klammerung hier beenden
- pDoc->EndUndo( UNDO_INSSECTION, NULL );
- DELETEZ(pProps);
- m_bIsDescriptor = sal_False;
+ pRet->SetUpdateType( static_cast< USHORT >(
+ (m_pImpl->m_pProps->m_bUpdateType) ?
+ sfx2::LINKUPDATE_ALWAYS : sfx2::LINKUPDATE_ONCALL) );
}
- else
- throw lang::IllegalArgumentException();
-}
-/*-- 10.12.98 14:47:09---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXTextSection::attach(const uno::Reference< text::XTextRange > & xTextRange)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
-{
- vos::OGuard aGuard(Application::GetSolarMutex());
- attachToRange( xTextRange );
+ // Undo-Klammerung hier beenden
+ pDoc->EndUndo( UNDO_INSSECTION, NULL );
+ m_pImpl->m_pProps.reset();
+ m_pImpl->m_bIsDescriptor = false;
}
/*-- 10.12.98 14:47:09---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXTextSection::getAnchor(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXTextSection::getAnchor() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
uno::Reference< text::XTextRange > xRet;
- SwSectionFmt* pSectFmt = GetFmt();
+ SwSectionFmt *const pSectFmt = m_pImpl->GetSectionFmt();
if(pSectFmt)
{
const SwSection* pSect;
@@ -527,7 +484,7 @@ uno::Reference< text::XTextRange > SwXTextSection::getAnchor(void) throw( uno::
const SwEndNode* pEndNode = pIdx->GetNode().EndOfSectionNode();
SwPaM aEnd(*pEndNode);
aEnd.Move( fnMoveBackward, fnGoCntnt );
- xRet = SwXTextRange::CreateTextRangeFromPosition(pSectFmt->GetDoc(),
+ xRet = SwXTextRange::CreateXTextRange(*pSectFmt->GetDoc(),
*aPaM.Start(), aEnd.Start());
}
}
@@ -536,380 +493,491 @@ uno::Reference< text::XTextRange > SwXTextSection::getAnchor(void) throw( uno::
/*-- 10.12.98 14:47:09---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextSection::dispose(void) throw( uno::RuntimeException )
+void SAL_CALL SwXTextSection::dispose() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwSectionFmt* pSectFmt = GetFmt();
- if(pSectFmt)
+
+ SwSectionFmt *const pSectFmt = m_pImpl->GetSectionFmt();
+ if (pSectFmt)
+ {
pSectFmt->GetDoc()->DelSectionFmt( pSectFmt );
- else
- throw uno::RuntimeException();
+ }
}
/*-- 10.12.98 14:47:10---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextSection::addEventListener(const uno::Reference< lang::XEventListener > & aListener)
- throw( uno::RuntimeException )
+void SAL_CALL SwXTextSection::addEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetFmt())
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->GetSectionFmt())
+ {
throw uno::RuntimeException();
- aLstnrCntnr.AddListener(aListener);
+ }
+ m_pImpl->m_ListenerContainer.AddListener(xListener);
}
/*-- 10.12.98 14:47:10---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextSection::removeEventListener(const uno::Reference< lang::XEventListener > & aListener)
- throw( uno::RuntimeException )
+void SAL_CALL SwXTextSection::removeEventListener(
+ const uno::Reference< lang::XEventListener > & xListener)
+throw (uno::RuntimeException)
{
- if(!GetFmt() || !aLstnrCntnr.RemoveListener(aListener))
+ vos::OGuard g(Application::GetSolarMutex());
+
+ if (!m_pImpl->GetSectionFmt() ||
+ !m_pImpl->m_ListenerContainer.RemoveListener(xListener))
+ {
throw uno::RuntimeException();
+ }
}
/*-- 10.12.98 14:47:11---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< beans::XPropertySetInfo > SwXTextSection::getPropertySetInfo(void) throw( uno::RuntimeException )
+uno::Reference< beans::XPropertySetInfo > SAL_CALL
+SwXTextSection::getPropertySetInfo() throw (uno::RuntimeException)
{
- static uno::Reference< beans::XPropertySetInfo > aRef = m_pPropSet->getPropertySetInfo();
+ vos::OGuard g(Application::GetSolarMutex());
+
+ static const uno::Reference< beans::XPropertySetInfo > aRef =
+ m_pImpl->m_rPropSet.getPropertySetInfo();
return aRef;
}
-/* -----------------------------12.02.01 10:29--------------------------------
- ---------------------------------------------------------------------------*/
-struct SwSectItemSet_Impl
-{
-
- SfxItemSet* pItemSet;
- SwSectItemSet_Impl() :
- pItemSet(0){}
- ~SwSectItemSet_Impl()
- {delete pItemSet;}
-};
/* -----------------------------12.02.01 10:45--------------------------------
---------------------------------------------------------------------------*/
-void SAL_CALL SwXTextSection::SetPropertyValues_Impl(
+void SwXTextSection::Impl::SetPropertyValues_Impl(
const uno::Sequence< OUString >& rPropertyNames,
- const uno::Sequence< Any >& rValues )
- throw( UnknownPropertyException, PropertyVetoException, IllegalArgumentException,
- WrappedTargetException, RuntimeException)
+ const uno::Sequence< uno::Any >& rValues)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- SwSectionFmt* pFmt = GetFmt();
if(rPropertyNames.getLength() != rValues.getLength())
- throw IllegalArgumentException();
- if(pFmt || m_bIsDescriptor)
{
- SwSection aSection(CONTENT_SECTION, aEmptyStr);
- SwSection* pSect = pFmt ? pFmt->GetSection() : 0;
- if(pFmt)
- aSection = *pSect;
- const OUString* pPropertyNames = rPropertyNames.getConstArray();
- const Any* pValues = rValues.getConstArray();
- SwSectItemSet_Impl aItemSet;
-
- sal_Bool bLinkModeChanged = sal_False;
- sal_Bool bLinkMode = sal_False;
- for(sal_Int16 nProperty = 0; nProperty < rPropertyNames.getLength(); nProperty++)
+ throw lang::IllegalArgumentException();
+ }
+ SwSectionFmt *const pFmt = GetSectionFmt();
+ if (!pFmt && !m_bIsDescriptor)
+ {
+ throw uno::RuntimeException();
+ }
+
+ SwSection aSection(CONTENT_SECTION, aEmptyStr);
+ SwSection *const pSect = (pFmt) ? pFmt->GetSection() : 0;
+ if (pFmt)
+ {
+ aSection = *pSect;
+ }
+ OUString const*const pPropertyNames = rPropertyNames.getConstArray();
+ uno::Any const*const pValues = rValues.getConstArray();
+ ::std::auto_ptr<SfxItemSet> pItemSet;
+ sal_Bool bLinkModeChanged = sal_False;
+ sal_Bool bLinkMode = sal_False;
+
+ for (sal_Int32 nProperty = 0; nProperty < rPropertyNames.getLength();
+ nProperty++)
+ {
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_rPropSet.getPropertyMap()->getByName(pPropertyNames[nProperty]);
+ if (!pEntry)
{
- const SfxItemPropertySimpleEntry* pEntry =
- m_pPropSet->getPropertyMap()->getByName( pPropertyNames[nProperty] );
- if(!pEntry)
- throw UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + pPropertyNames[nProperty], static_cast < cppu::OWeakObject * > ( this ) );
- else
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + pPropertyNames[nProperty],
+ static_cast<cppu::OWeakObject *>(& m_rThis));
+ }
+ if (pEntry->nFlags & beans::PropertyAttribute::READONLY)
+ {
+ throw beans::PropertyVetoException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Property is read-only: "))
+ + pPropertyNames[nProperty],
+ static_cast<cppu::OWeakObject *>(& m_rThis));
+ }
+ switch (pEntry->nWID)
+ {
+ case WID_SECT_CONDITION:
{
- if ( pEntry->nFlags & PropertyAttribute::READONLY)
- throw PropertyVetoException( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Property is read-only: " ) ) + pPropertyNames[nProperty], static_cast < cppu::OWeakObject * > ( this ) );
- switch(pEntry->nWID)
+ OUString uTmp;
+ pValues[nProperty] >>= uTmp;
+ if (m_bIsDescriptor)
{
- case WID_SECT_CONDITION:
+ m_pProps->m_sCondition = uTmp;
+ }
+ else
+ {
+ aSection.SetCondition(uTmp);
+ }
+ }
+ break;
+ case WID_SECT_DDE_TYPE:
+ case WID_SECT_DDE_FILE:
+ case WID_SECT_DDE_ELEMENT:
+ {
+ OUString uTmp;
+ pValues[nProperty] >>= uTmp;
+ String sTmp(uTmp);
+ if (m_bIsDescriptor)
+ {
+ if (!m_pProps->m_bDDE)
{
- OUString uTmp;
- pValues[nProperty] >>= uTmp;
- if(m_bIsDescriptor)
- pProps->sCondition = String(uTmp);
- else
- aSection.SetCondition(uTmp);
+ ::rtl::OUStringBuffer buf;
+ buf.append(sfx2::cTokenSeperator);
+ buf.append(sfx2::cTokenSeperator);
+ m_pProps->m_sLinkFileName = buf.makeStringAndClear();
+ m_pProps->m_bDDE = true;
}
- break;
- case WID_SECT_DDE_TYPE :
- case WID_SECT_DDE_FILE :
- case WID_SECT_DDE_ELEMENT :
+ String sLinkFileName(m_pProps->m_sLinkFileName);
+ sLinkFileName.SetToken(pEntry->nWID - WID_SECT_DDE_TYPE,
+ sfx2::cTokenSeperator, sTmp);
+ m_pProps->m_sLinkFileName = sLinkFileName;
+ }
+ else
+ {
+ String sLinkFileName(aSection.GetLinkFileName());
+ if (aSection.GetType() != DDE_LINK_SECTION)
{
- OUString uTmp;
- pValues[nProperty] >>= uTmp;
- String sTmp(uTmp);
- if(m_bIsDescriptor)
- {
- if(!pProps->bDDE)
- {
- pProps->sLinkFileName = sfx2::cTokenSeperator;
- pProps->sLinkFileName += sfx2::cTokenSeperator;
- pProps->bDDE = sal_True;
- }
- pProps->sLinkFileName.SetToken(pEntry->nWID - WID_SECT_DDE_TYPE,sfx2::cTokenSeperator,sTmp);
- }
- else
- {
- String sLinkFileName(aSection.GetLinkFileName());
- if(aSection.GetType() != DDE_LINK_SECTION)
- {
- sLinkFileName = sfx2::cTokenSeperator;
- sLinkFileName += sfx2::cTokenSeperator;
- aSection.SetType(DDE_LINK_SECTION);
- }
- sLinkFileName.SetToken(pEntry->nWID - WID_SECT_DDE_TYPE,sfx2::cTokenSeperator, sTmp);
- aSection.SetLinkFileName(sLinkFileName);
- }
+ sLinkFileName = sfx2::cTokenSeperator;
+ sLinkFileName += sfx2::cTokenSeperator;
+ aSection.SetType(DDE_LINK_SECTION);
+ }
+ sLinkFileName.SetToken(pEntry->nWID - WID_SECT_DDE_TYPE,
+ sfx2::cTokenSeperator, sTmp);
+ aSection.SetLinkFileName(sLinkFileName);
+ }
+ }
+ break;
+ case WID_SECT_DDE_AUTOUPDATE:
+ {
+ sal_Bool bVal(sal_False);
+ if (!(pValues[nProperty] >>= bVal))
+ {
+ throw lang::IllegalArgumentException();
+ }
+ if (m_bIsDescriptor)
+ {
+ m_pProps->m_bUpdateType = bVal;
+ }
+ else
+ {
+ bLinkModeChanged = sal_True;
+ bLinkMode = bVal;
+ }
+ }
+ break;
+ case WID_SECT_LINK:
+ {
+ text::SectionFileLink aLink;
+ if (!(pValues[nProperty] >>= aLink))
+ {
+ throw lang::IllegalArgumentException();
+ }
+ if (m_bIsDescriptor)
+ {
+ m_pProps->m_bDDE = sal_False;
+ m_pProps->m_sLinkFileName = aLink.FileURL;
+ m_pProps->m_sSectionFilter = aLink.FilterName;
+ }
+ else
+ {
+ if (aSection.GetType() != FILE_LINK_SECTION &&
+ aLink.FileURL.getLength())
+ {
+ aSection.SetType(FILE_LINK_SECTION);
}
- break;
- case WID_SECT_DDE_AUTOUPDATE:
+ ::rtl::OUStringBuffer sFileNameBuf;
+ if (aLink.FileURL.getLength())
{
- sal_Bool bVal = *(sal_Bool*)pValues[nProperty].getValue();
- if(m_bIsDescriptor)
- {
- pProps->bUpdateType = bVal;
- }
- else
+ sFileNameBuf.append( URIHelper::SmartRel2Abs(
+ pFmt->GetDoc()->GetDocShell()->GetMedium()
+ ->GetURLObject(),
+ aLink.FileURL, URIHelper::GetMaybeFileHdl()));
+ }
+ sFileNameBuf.append(sfx2::cTokenSeperator);
+ sFileNameBuf.append(aLink.FilterName);
+ sFileNameBuf.append(sfx2::cTokenSeperator);
+ sFileNameBuf.append(
+ aSection.GetLinkFileName().GetToken(2,
+ sfx2::cTokenSeperator));
+ const ::rtl::OUString sFileName(
+ sFileNameBuf.makeStringAndClear());
+ aSection.SetLinkFileName(sFileName);
+ if (sFileName.getLength() < 3)
+ {
+ aSection.SetType(CONTENT_SECTION);
+ }
+ }
+ }
+ break;
+ case WID_SECT_REGION:
+ {
+ OUString sLink;
+ pValues[nProperty] >>= sLink;
+ if (m_bIsDescriptor)
+ {
+ m_pProps->m_bDDE = sal_False;
+ m_pProps->m_sSectionRegion = sLink;
+ }
+ else
+ {
+ if (aSection.GetType() != FILE_LINK_SECTION &&
+ sLink.getLength())
+ {
+ aSection.SetType(FILE_LINK_SECTION);
+ }
+ String sSectLink(aSection.GetLinkFileName());
+ while (3 < sSectLink.GetTokenCount(sfx2::cTokenSeperator))
+ {
+ sSectLink += sfx2::cTokenSeperator;
+ }
+ sSectLink.SetToken(2, sfx2::cTokenSeperator, sLink);
+ aSection.SetLinkFileName(sSectLink);
+ if (sSectLink.Len() < 3)
+ {
+ aSection.SetType(CONTENT_SECTION);
+ }
+ }
+ }
+ break;
+ case WID_SECT_VISIBLE:
+ {
+ sal_Bool bVal(sal_False);
+ if (!(pValues[nProperty] >>= bVal))
+ {
+ throw lang::IllegalArgumentException();
+ }
+ if (m_bIsDescriptor)
+ {
+ m_pProps->m_bHidden = !bVal;
+ }
+ else
+ {
+ aSection.SetHidden(!bVal);
+ }
+ }
+ break;
+ case WID_SECT_CURRENTLY_VISIBLE:
+ {
+ sal_Bool bVal(sal_False);
+ if (!(pValues[nProperty] >>= bVal))
+ {
+ throw lang::IllegalArgumentException();
+ }
+ if (m_bIsDescriptor)
+ {
+ m_pProps->m_bCondHidden = !bVal;
+ }
+ else
+ {
+ if (aSection.GetCondition().Len() != 0)
+ {
+ aSection.SetCondHidden(!bVal);
+ }
+ }
+ }
+ break;
+ case WID_SECT_PROTECTED:
+ {
+ sal_Bool bVal(sal_False);
+ if (!(pValues[nProperty] >>= bVal))
+ {
+ throw lang::IllegalArgumentException();
+ }
+ if (m_bIsDescriptor)
+ {
+ m_pProps->m_bProtect = bVal;
+ }
+ else
+ {
+ aSection.SetProtect(bVal);
+ }
+ }
+ break;
+ // --> FME 2004-06-22 #114856# edit in readonly sections
+ case WID_SECT_EDIT_IN_READONLY:
+ {
+ sal_Bool bVal(sal_False);
+ if (!(pValues[nProperty] >>= bVal))
+ {
+ throw lang::IllegalArgumentException();
+ }
+ if (m_bIsDescriptor)
+ {
+ m_pProps->m_bEditInReadonly = bVal;
+ }
+ else
+ {
+ aSection.SetEditInReadonly(bVal);
+ }
+ }
+ // <--
+ break;
+ case WID_SECT_PASSWORD:
+ {
+ uno::Sequence<sal_Int8> aSeq;
+ pValues[nProperty] >>= aSeq;
+ if (m_bIsDescriptor)
+ {
+ m_pProps->m_Password = aSeq;
+ }
+ else
+ {
+ aSection.SetPasswd(aSeq);
+ }
+ }
+ break;
+ default:
+ {
+ if (pFmt)
+ {
+ const SfxItemSet& rOldAttrSet = pFmt->GetAttrSet();
+ pItemSet.reset( new SfxItemSet(*rOldAttrSet.GetPool(),
+ pEntry->nWID, pEntry->nWID, 0));
+ pItemSet->Put(rOldAttrSet);
+ m_rPropSet.setPropertyValue(*pEntry,
+ pValues[nProperty], *pItemSet);
+ }
+ else
+ {
+ SfxPoolItem* pPutItem = 0;
+ if (RES_COL == pEntry->nWID)
+ {
+ if (!m_pProps->m_pColItem.get())
{
- bLinkModeChanged = sal_True;
- bLinkMode = bVal;
+ m_pProps->m_pColItem.reset(new SwFmtCol);
}
+ pPutItem = m_pProps->m_pColItem.get();
}
- break;
- case WID_SECT_LINK :
+ else if (RES_BACKGROUND == pEntry->nWID)
{
- text::SectionFileLink aLink;
- if(pValues[nProperty] >>= aLink)
+ if (!m_pProps->m_pBrushItem.get())
{
- if(m_bIsDescriptor)
- {
- pProps->bDDE = sal_False;
- pProps->sLinkFileName = String(aLink.FileURL);
- pProps->sSectionFilter = String(aLink.FilterName);
- }
- else
- {
- if(aSection.GetType() != FILE_LINK_SECTION &&
- aLink.FileURL.getLength())
- aSection.SetType(FILE_LINK_SECTION);
- String sFileName;
- if(aLink.FileURL.getLength())
- {
- sFileName += URIHelper::SmartRel2Abs(
- pFmt->GetDoc()->GetDocShell()->GetMedium()->GetURLObject(),
- aLink.FileURL,
- URIHelper::GetMaybeFileHdl());
- }
- sFileName += sfx2::cTokenSeperator;
- sFileName += String(aLink.FilterName);
- sFileName += sfx2::cTokenSeperator;
- sFileName += aSection.GetLinkFileName().GetToken( 2, sfx2::cTokenSeperator );
- aSection.SetLinkFileName(sFileName);
- if(sFileName.Len() < 3)
- aSection.SetType(CONTENT_SECTION);
- }
+ m_pProps->m_pBrushItem.reset(
+ new SvxBrushItem(RES_BACKGROUND));
}
- else
- throw lang::IllegalArgumentException();
+ pPutItem = m_pProps->m_pBrushItem.get();
}
- break;
- case WID_SECT_REGION :
+ else if (RES_FTN_AT_TXTEND == pEntry->nWID)
{
- OUString uTmp;
- pValues[nProperty] >>= uTmp;
- String sLink(uTmp);
- if(m_bIsDescriptor)
+ if (!m_pProps->m_pFtnItem.get())
{
- pProps->bDDE = sal_False;
- pProps->sSectionRegion = sLink;
+ m_pProps->m_pFtnItem.reset(new SwFmtFtnAtTxtEnd);
}
- else
+ pPutItem = m_pProps->m_pFtnItem.get();
+ }
+ else if (RES_END_AT_TXTEND == pEntry->nWID)
+ {
+ if (!m_pProps->m_pEndItem.get())
{
- if(aSection.GetType() != FILE_LINK_SECTION &&
- sLink.Len())
- aSection.SetType(FILE_LINK_SECTION);
- String sSectLink(aSection.GetLinkFileName());
- while( 3 < sSectLink.GetTokenCount( sfx2::cTokenSeperator ))
- {
- sSectLink += sfx2::cTokenSeperator;
- }
- sSectLink.SetToken(2, sfx2::cTokenSeperator, sLink);
- aSection.SetLinkFileName(sSectLink);
- if(sSectLink.Len() < 3)
- aSection.SetType(CONTENT_SECTION);
+ m_pProps->m_pEndItem.reset(new SwFmtEndAtTxtEnd);
}
+ pPutItem = m_pProps->m_pEndItem.get();
}
- break;
- case WID_SECT_VISIBLE :
+ else if (RES_UNKNOWNATR_CONTAINER== pEntry->nWID)
{
- sal_Bool bVal = *(sal_Bool*)pValues[nProperty].getValue();
- if(m_bIsDescriptor)
- pProps->bHidden = !bVal;
- else
- aSection.SetHidden(!bVal);
+ if (!m_pProps->m_pXMLAttr.get())
+ {
+ m_pProps->m_pXMLAttr.reset(
+ new SvXMLAttrContainerItem(
+ RES_UNKNOWNATR_CONTAINER));
+ }
+ pPutItem = m_pProps->m_pXMLAttr.get();
}
- break;
- case WID_SECT_CURRENTLY_VISIBLE:
+ else if (RES_COLUMNBALANCE== pEntry->nWID)
{
- sal_Bool bVal = *(sal_Bool*)pValues[nProperty].getValue();
- if(m_bIsDescriptor)
- pProps->bCondHidden = !bVal;
- else
- if( aSection.GetCondition().Len() != 0 )
- aSection.SetCondHidden(!bVal);
+ if (!m_pProps->m_pNoBalanceItem.get())
+ {
+ m_pProps->m_pNoBalanceItem.reset(
+ new SwFmtNoBalancedColumns(RES_COLUMNBALANCE));
+ }
+ pPutItem = m_pProps->m_pNoBalanceItem.get();
}
- break;
- case WID_SECT_PROTECTED:
+ else if (RES_FRAMEDIR == pEntry->nWID)
{
- sal_Bool bVal = *(sal_Bool*)pValues[nProperty].getValue();
- if(m_bIsDescriptor)
- pProps->bProtect = bVal;
- else
- aSection.SetProtect(bVal);
+ if (!m_pProps->m_pFrameDirItem.get())
+ {
+ m_pProps->m_pFrameDirItem.reset(
+ new SvxFrameDirectionItem(
+ FRMDIR_HORI_LEFT_TOP, RES_FRAMEDIR));
+ }
+ pPutItem = m_pProps->m_pFrameDirItem.get();
}
- break;
- // --> FME 2004-06-22 #114856# edit in readonly sections
- case WID_SECT_EDIT_IN_READONLY:
+ else if (RES_LR_SPACE == pEntry->nWID)
{
- sal_Bool bVal = *(sal_Bool*)pValues[nProperty].getValue();
- if(m_bIsDescriptor)
- pProps->bEditInReadonly = bVal;
- else
- aSection.SetEditInReadonly(bVal);
+ // #109700#
+ if (!m_pProps->m_pLRSpaceItem.get())
+ {
+ m_pProps->m_pLRSpaceItem.reset(
+ new SvxLRSpaceItem( RES_LR_SPACE ));
+ }
+ pPutItem = m_pProps->m_pLRSpaceItem.get();
}
- // <--
- break;
- case WID_SECT_PASSWORD:
+ if (pPutItem)
{
- uno::Sequence<sal_Int8> aSeq;
- pValues[nProperty] >>= aSeq;
- if (m_bIsDescriptor)
- pProps->aPassword = aSeq;
- else
- aSection.SetPasswd(aSeq);
+ pPutItem->PutValue(pValues[nProperty],
+ pEntry->nMemberId);
}
- break;
- default:
- if(pFmt)
- {
- const SfxItemSet& rOldAttrSet = pFmt->GetAttrSet();
- aItemSet.pItemSet = new SfxItemSet(*rOldAttrSet.GetPool(),
- pEntry->nWID, pEntry->nWID, 0);
- aItemSet.pItemSet->Put(rOldAttrSet);
- m_pPropSet->setPropertyValue(*pEntry, pValues[nProperty], *aItemSet.pItemSet);
- }
- else
- {
- SfxPoolItem* pPutItem = 0;
- if(RES_COL == pEntry->nWID)
- {
- if(!pProps->pColItem)
- pProps->pColItem = new SwFmtCol;
- pPutItem = pProps->pColItem;
- }
- else if(RES_BACKGROUND == pEntry->nWID)
- {
- if(!pProps->pBrushItem)
- pProps->pBrushItem = new SvxBrushItem(RES_BACKGROUND);
- pPutItem = pProps->pBrushItem;
- }
- else if(RES_FTN_AT_TXTEND == pEntry->nWID)
- {
- if(!pProps->pFtnItem)
- pProps->pFtnItem = new SwFmtFtnAtTxtEnd;
- pPutItem = pProps->pFtnItem;
- }
- else if(RES_END_AT_TXTEND == pEntry->nWID)
- {
- if(!pProps->pEndItem)
- pProps->pEndItem = new SwFmtEndAtTxtEnd;
- pPutItem = pProps->pEndItem;
- }
- else if(RES_UNKNOWNATR_CONTAINER== pEntry->nWID)
- {
- if(!pProps->pXMLAttr)
- pProps->pXMLAttr= new SvXMLAttrContainerItem( RES_UNKNOWNATR_CONTAINER );
- pPutItem = pProps->pXMLAttr;
- }
- else if(RES_COLUMNBALANCE== pEntry->nWID)
- {
- if(!pProps->pNoBalanceItem)
- pProps->pNoBalanceItem= new SwFmtNoBalancedColumns( RES_COLUMNBALANCE );
- pPutItem = pProps->pNoBalanceItem;
- }
- else if(RES_FRAMEDIR == pEntry->nWID)
- {
- if(!pProps->pFrameDirItem)
- pProps->pFrameDirItem = new SvxFrameDirectionItem( FRMDIR_HORI_LEFT_TOP, RES_FRAMEDIR );
- pPutItem = pProps->pFrameDirItem;
- }
- else if(RES_LR_SPACE == pEntry->nWID)
- {
- // #109700#
- if(!pProps->pLRSpaceItem)
- pProps->pLRSpaceItem = new SvxLRSpaceItem( RES_LR_SPACE );
- pPutItem = pProps->pLRSpaceItem;
- }
- if(pPutItem)
- pPutItem->PutValue(pValues[nProperty], pEntry->nMemberId);
- }
}
}
}
- if(pFmt)
+ }
+
+ if (pFmt)
+ {
+ SwDoc* pDoc = pFmt->GetDoc();
+ const SwSectionFmts& rFmts = pDoc->GetSections();
+ UnoActionContext aContext(pDoc);
+ for (sal_uInt16 i = 0; i < rFmts.Count(); i++)
{
- SwDoc* pDoc = pFmt->GetDoc();
- const SwSectionFmts& rFmts = pDoc->GetSections();
- UnoActionContext aContext(pDoc);
- for( sal_uInt16 i = 0; i < rFmts.Count(); i++ )
+ if (rFmts[i]->GetSection()->GetName() == pSect->GetName())
{
- if(rFmts[i]->GetSection()->GetName() == pSect->GetName())
+ pDoc->ChgSection(i, aSection, pItemSet.get(),
+ pDoc->IsInReading());
{
- pDoc->ChgSection( i, aSection, aItemSet.pItemSet, pDoc->IsInReading());
-
- {
- // temporarily remove actions to allow cursor update
- UnoActionRemoveContext aRemoveContext( pDoc );
- }
+ // temporarily remove actions to allow cursor update
+ UnoActionRemoveContext aRemoveContext( pDoc );
+ }
- //SwSection* pSect = pFmt->GetSection();
- if( bLinkModeChanged && pSect->GetType() == DDE_LINK_SECTION)
+ //SwSection* pSect = pFmt->GetSection();
+ if (bLinkModeChanged && pSect->GetType() == DDE_LINK_SECTION)
+ {
+ // set update type; needs an established link
+ if (!pSect->IsConnected())
{
- // set update type; needs an established link
- if(!pSect->IsConnected())
- {
- pSect->CreateLink(CREATE_CONNECT);
- }
- pSect->SetUpdateType( static_cast< USHORT >(bLinkMode ?
- sfx2::LINKUPDATE_ALWAYS : sfx2::LINKUPDATE_ONCALL) );
+ pSect->CreateLink(CREATE_CONNECT);
}
- // section found and processed: break from loop
- break;
+ pSect->SetUpdateType( static_cast< USHORT >((bLinkMode) ?
+ sfx2::LINKUPDATE_ALWAYS : sfx2::LINKUPDATE_ONCALL) );
}
+ // section found and processed: break from loop
+ break;
}
}
}
- else
- throw uno::RuntimeException();
}
-void SwXTextSection::setPropertyValues(
- const Sequence< ::rtl::OUString >& rPropertyNames,
- const Sequence< Any >& rValues )
- throw(PropertyVetoException, lang::IllegalArgumentException,
- lang::WrappedTargetException, RuntimeException)
+void SAL_CALL
+SwXTextSection::setPropertyValues(
+ const uno::Sequence< ::rtl::OUString >& rPropertyNames,
+ const uno::Sequence< uno::Any >& rValues)
+throw (beans::PropertyVetoException, lang::IllegalArgumentException,
+ lang::WrappedTargetException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
// workaround for bad designed API
try
{
- SetPropertyValues_Impl( rPropertyNames, rValues );
+ m_pImpl->SetPropertyValues_Impl( rPropertyNames, rValues );
}
- catch (UnknownPropertyException &rException)
+ catch (beans::UnknownPropertyException &rException)
{
// wrap the original (here not allowed) exception in
// a WrappedTargetException that gets thrown instead.
- WrappedTargetException aWExc;
+ lang::WrappedTargetException aWExc;
aWExc.TargetException <<= rException;
throw aWExc;
}
@@ -918,295 +986,366 @@ void SwXTextSection::setPropertyValues(
-----------------------------------------------------------------------*/
void SwXTextSection::setPropertyValue(
- const OUString& rPropertyName, const uno::Any& aValue)
- throw( beans::UnknownPropertyException, beans::PropertyVetoException,
- lang::IllegalArgumentException, lang::WrappedTargetException,
+ const OUString& rPropertyName, const uno::Any& rValue)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
+ lang::IllegalArgumentException, lang::WrappedTargetException,
uno::RuntimeException )
{
vos::OGuard aGuard(Application::GetSolarMutex());
- Sequence< ::rtl::OUString > aPropertyNames(1);
+
+ uno::Sequence< ::rtl::OUString > aPropertyNames(1);
aPropertyNames.getArray()[0] = rPropertyName;
- Sequence< Any > aValues(1);
- aValues.getArray()[0] = aValue;
- SetPropertyValues_Impl( aPropertyNames, aValues );
+ uno::Sequence< uno::Any > aValues(1);
+ aValues.getArray()[0] = rValue;
+ m_pImpl->SetPropertyValues_Impl( aPropertyNames, aValues );
}
+
/* -----------------------------12.02.01 10:43--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< Any > SAL_CALL SwXTextSection::GetPropertyValues_Impl(
+uno::Sequence< uno::Any >
+SwXTextSection::Impl::GetPropertyValues_Impl(
const uno::Sequence< OUString > & rPropertyNames )
- throw( UnknownPropertyException, WrappedTargetException, RuntimeException)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- Sequence< Any > aRet(rPropertyNames.getLength());
- Any* pRet = aRet.getArray();
- SwSectionFmt* pFmt = GetFmt();
- if(pFmt||m_bIsDescriptor)
+ SwSectionFmt *const pFmt = GetSectionFmt();
+ if (!pFmt && !m_bIsDescriptor)
+ {
+ throw uno::RuntimeException();
+ }
+
+ uno::Sequence< uno::Any > aRet(rPropertyNames.getLength());
+ uno::Any* pRet = aRet.getArray();
+ SwSection *const pSect = (pFmt) ? pFmt->GetSection() : 0;
+ const OUString* pPropertyNames = rPropertyNames.getConstArray();
+
+ for (sal_Int32 nProperty = 0; nProperty < rPropertyNames.getLength();
+ nProperty++)
{
- SwSection* pSect = pFmt ? pFmt->GetSection() : 0;
- const OUString* pPropertyNames = rPropertyNames.getConstArray();
- for(sal_Int32 nProperty = 0; nProperty < rPropertyNames.getLength(); nProperty++)
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_rPropSet.getPropertyMap()->getByName(pPropertyNames[nProperty]);
+ if (!pEntry)
+ {
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + pPropertyNames[nProperty],
+ static_cast<cppu::OWeakObject *>(& m_rThis));
+ }
+ switch(pEntry->nWID)
{
- const SfxItemPropertySimpleEntry* pEntry =
- m_pPropSet->getPropertyMap()->getByName( pPropertyNames[nProperty]);
- if(pEntry)
+ case WID_SECT_CONDITION:
{
- switch(pEntry->nWID)
+ OUString uTmp( (m_bIsDescriptor)
+ ? m_pProps->m_sCondition
+ : ::rtl::OUString(pSect->GetCondition()));
+ pRet[nProperty] <<= uTmp;
+ }
+ break;
+ case WID_SECT_DDE_TYPE:
+ case WID_SECT_DDE_FILE:
+ case WID_SECT_DDE_ELEMENT:
+ {
+ ::rtl::OUString sRet;
+ if (m_bIsDescriptor)
{
- case WID_SECT_CONDITION:
+ if (m_pProps->m_bDDE)
{
- OUString uTmp(
- m_bIsDescriptor ? pProps->sCondition : pSect->GetCondition());
- pRet[nProperty] <<= uTmp;
+ sRet = m_pProps->m_sLinkFileName;
}
- break;
- case WID_SECT_DDE_TYPE :
- case WID_SECT_DDE_FILE :
- case WID_SECT_DDE_ELEMENT :
+ }
+ else if (DDE_LINK_SECTION == pSect->GetType())
+ {
+ sRet = pSect->GetLinkFileName();
+ }
+ sal_Int32 nDummy(0);
+ sRet = sRet.getToken(pEntry->nWID - WID_SECT_DDE_TYPE,
+ sfx2::cTokenSeperator, nDummy);
+ pRet[nProperty] <<= sRet;
+ }
+ break;
+ case WID_SECT_DDE_AUTOUPDATE:
+ {
+ // GetUpdateType() returns .._ALWAYS or .._ONCALL
+ if (pSect && pSect->IsLinkType() && pSect->IsConnected()) // lijian i73247
+ {
+ const sal_Bool bTemp =
+ (pSect->GetUpdateType() == sfx2::LINKUPDATE_ALWAYS);
+ pRet[nProperty] <<= bTemp;
+ }
+ }
+ break;
+ case WID_SECT_LINK :
+ {
+ text::SectionFileLink aLink;
+ if (m_bIsDescriptor)
+ {
+ if (!m_pProps->m_bDDE)
{
- String sRet;
- if(m_bIsDescriptor)
- {
- if(pProps->bDDE)
- sRet = pProps->sLinkFileName;
- }
- else if( DDE_LINK_SECTION == pSect->GetType() )
- {
- sRet = pSect->GetLinkFileName();
- }
- sRet = sRet.GetToken(pEntry->nWID - WID_SECT_DDE_TYPE, sfx2::cTokenSeperator);
- pRet[nProperty] <<= OUString(sRet);
+ aLink.FileURL = m_pProps->m_sLinkFileName;
+ aLink.FilterName = m_pProps->m_sSectionFilter;
+ }
+ }
+ else if (FILE_LINK_SECTION == pSect->GetType())
+ {
+ ::rtl::OUString sRet( pSect->GetLinkFileName() );
+ sal_Int32 nIndex(0);
+ aLink.FileURL =
+ sRet.getToken(0, sfx2::cTokenSeperator, nIndex);
+ aLink.FilterName =
+ sRet.getToken(0, sfx2::cTokenSeperator, nIndex);
+ }
+ pRet[nProperty] <<= aLink;
+ }
+ break;
+ case WID_SECT_REGION :
+ {
+ ::rtl::OUString sRet;
+ if (m_bIsDescriptor)
+ {
+ sRet = m_pProps->m_sSectionRegion;
+ }
+ else if (FILE_LINK_SECTION == pSect->GetType())
+ {
+ sRet = pSect->GetLinkFileName().GetToken(2,
+ sfx2::cTokenSeperator);
+ }
+ pRet[nProperty] <<= sRet;
+ }
+ break;
+ case WID_SECT_VISIBLE :
+ {
+ const sal_Bool bTemp = (m_bIsDescriptor)
+ ? !m_pProps->m_bHidden : !pSect->IsHidden();
+ pRet[nProperty] <<= bTemp;
+ }
+ break;
+ case WID_SECT_CURRENTLY_VISIBLE:
+ {
+ const sal_Bool bTemp = (m_bIsDescriptor)
+ ? !m_pProps->m_bCondHidden : !pSect->IsCondHidden();
+ pRet[nProperty] <<= bTemp;
+ }
+ break;
+ case WID_SECT_PROTECTED:
+ {
+ const sal_Bool bTemp = (m_bIsDescriptor)
+ ? m_pProps->m_bProtect : pSect->IsProtect();
+ pRet[nProperty] <<= bTemp;
+ }
+ break;
+ // --> FME 2004-06-22 #114856# edit in readonly sections
+ case WID_SECT_EDIT_IN_READONLY:
+ {
+ const sal_Bool bTemp = (m_bIsDescriptor)
+ ? m_pProps->m_bEditInReadonly : pSect->IsEditInReadonly();
+ pRet[nProperty] <<= bTemp;
+ }
+ break;
+ // <--
+ case FN_PARAM_LINK_DISPLAY_NAME:
+ {
+ if (pFmt)
+ {
+ pRet[nProperty] <<= OUString(pFmt->GetSection()->GetName());
+ }
+ }
+ break;
+ case WID_SECT_DOCUMENT_INDEX:
+ {
+ // search enclosing index
+ SwSection* pEnclosingSection = pSect;
+ while ((pEnclosingSection != NULL) &&
+ (TOX_CONTENT_SECTION != pEnclosingSection->GetType()))
+ {
+ pEnclosingSection = pEnclosingSection->GetParent();
+ }
+ if (pEnclosingSection)
+ {
+ // convert section to TOXBase and get SwXDocumentIndex
+ SwTOXBaseSection *const pTOXBaseSect =
+ PTR_CAST(SwTOXBaseSection, pEnclosingSection);
+ const uno::Reference<text::XDocumentIndex> xIndex =
+ SwXDocumentIndex::CreateXDocumentIndex(
+ *pTOXBaseSect->GetFmt()->GetDoc(), *pTOXBaseSect);
+ pRet[nProperty] <<= xIndex;
+ }
+ // else: no enclosing index found -> empty return value
+ }
+ break;
+ case WID_SECT_IS_GLOBAL_DOC_SECTION:
+ {
+ const sal_Bool bRet = (NULL == pFmt) ? sal_False :
+ static_cast<sal_Bool>(NULL != pFmt->GetGlobalDocSection());
+ pRet[nProperty] <<= bRet;
+ }
+ break;
+ case FN_UNO_ANCHOR_TYPES:
+ case FN_UNO_TEXT_WRAP:
+ case FN_UNO_ANCHOR_TYPE:
+ ::sw::GetDefaultTextContentValue(
+ pRet[nProperty], OUString(), pEntry->nWID);
+ break;
+ case FN_UNO_REDLINE_NODE_START:
+ case FN_UNO_REDLINE_NODE_END:
+ {
+ if (!pFmt)
+ break; // lijian i73247
+ SwNode* pSectNode = pFmt->GetSectionNode();
+ if (FN_UNO_REDLINE_NODE_END == pEntry->nWID)
+ {
+ pSectNode = pSectNode->EndOfSectionNode();
+ }
+ const SwRedlineTbl& rRedTbl =
+ pFmt->GetDoc()->GetRedlineTbl();
+ for (USHORT nRed = 0; nRed < rRedTbl.Count(); nRed++)
+ {
+ const SwRedline* pRedline = rRedTbl[nRed];
+ SwNode const*const pRedPointNode = pRedline->GetNode(TRUE);
+ SwNode const*const pRedMarkNode = pRedline->GetNode(FALSE);
+ if ((pRedPointNode == pSectNode) ||
+ (pRedMarkNode == pSectNode))
+ {
+ SwNode const*const pStartOfRedline =
+ (SwNodeIndex(*pRedPointNode) <=
+ SwNodeIndex(*pRedMarkNode))
+ ? pRedPointNode : pRedMarkNode;
+ const bool bIsStart = (pStartOfRedline == pSectNode);
+ pRet[nProperty] <<=
+ SwXRedlinePortion::CreateRedlineProperties(
+ *pRedline, bIsStart);
+ break;
}
- break;
- case WID_SECT_DDE_AUTOUPDATE:
+ }
+ }
+ break;
+ case WID_SECT_PASSWORD:
+ {
+ pRet[nProperty] <<= (m_bIsDescriptor)
+ ? m_pProps->m_Password : pSect->GetPasswd();
+ }
+ break;
+ default:
+ {
+ if (pFmt)
+ {
+ m_rPropSet.getPropertyValue(*pEntry,
+ pFmt->GetAttrSet(), pRet[nProperty]);
+ }
+ else
+ {
+ const SfxPoolItem* pQueryItem = 0;
+ if (RES_COL == pEntry->nWID)
{
- // GetUpdateType() returns .._ALWAYS or .._ONCALL
- if ( pSect && pSect->IsLinkType() && pSect->IsConnected() ) // lijian i73247
+ if (!m_pProps->m_pColItem.get())
{
- sal_Bool bTemp =
- (pSect->GetUpdateType() == sfx2::LINKUPDATE_ALWAYS);
- pRet[nProperty].setValue( &bTemp, ::getCppuBooleanType());
+ m_pProps->m_pColItem.reset(new SwFmtCol);
}
+ pQueryItem = m_pProps->m_pColItem.get();
}
- break;
- case WID_SECT_LINK :
+ else if (RES_BACKGROUND == pEntry->nWID)
{
- text::SectionFileLink aLink;
- if(m_bIsDescriptor)
+ if (!m_pProps->m_pBrushItem.get())
{
- if(!pProps->bDDE)
- {
- aLink.FileURL = pProps->sLinkFileName;
- aLink.FilterName = pProps->sSectionFilter;
- }
+ m_pProps->m_pBrushItem.reset(
+ new SvxBrushItem(RES_BACKGROUND));
}
- else if( FILE_LINK_SECTION == pSect->GetType() )
- {
- String sRet( pSect->GetLinkFileName() );
- aLink.FileURL = sRet.GetToken(0, sfx2::cTokenSeperator );
- aLink.FilterName = sRet.GetToken(1, sfx2::cTokenSeperator );
- }
- pRet[nProperty].setValue(&aLink, ::getCppuType((text::SectionFileLink*)0));
+ pQueryItem = m_pProps->m_pBrushItem.get();
}
- break;
- case WID_SECT_REGION :
+ else if (RES_FTN_AT_TXTEND == pEntry->nWID)
{
- String sRet;
- if(m_bIsDescriptor)
+ if (!m_pProps->m_pFtnItem.get())
{
- sRet = pProps->sSectionRegion;
+ m_pProps->m_pFtnItem.reset(new SwFmtFtnAtTxtEnd);
}
- else if( FILE_LINK_SECTION == pSect->GetType() )
- sRet = pSect->GetLinkFileName().GetToken(2, sfx2::cTokenSeperator);
- pRet[nProperty] <<= OUString(sRet);
- }
- break;
- case WID_SECT_VISIBLE :
- {
- sal_Bool bTemp = m_bIsDescriptor ? !pProps->bHidden : !pSect->IsHidden();
- pRet[nProperty].setValue( &bTemp, ::getCppuBooleanType());
- }
- break;
- case WID_SECT_CURRENTLY_VISIBLE:
- {
- sal_Bool bTmp = m_bIsDescriptor ? !pProps->bCondHidden : !pSect->IsCondHidden();
- pRet[nProperty].setValue( &bTmp, ::getCppuBooleanType());
- }
- break;
- case WID_SECT_PROTECTED:
- {
- sal_Bool bTemp = m_bIsDescriptor ? pProps->bProtect : pSect->IsProtect();
- pRet[nProperty].setValue( &bTemp, ::getCppuBooleanType());
- }
- break;
- // --> FME 2004-06-22 #114856# edit in readonly sections
- case WID_SECT_EDIT_IN_READONLY:
- {
- sal_Bool bTemp = m_bIsDescriptor ? pProps->bEditInReadonly : pSect->IsEditInReadonly();
- pRet[nProperty].setValue( &bTemp, ::getCppuBooleanType());
+ pQueryItem = m_pProps->m_pFtnItem.get();
}
- break;
- // <--
- case FN_PARAM_LINK_DISPLAY_NAME:
+ else if (RES_END_AT_TXTEND == pEntry->nWID)
{
- if(pFmt)
- pRet[nProperty] <<= OUString(pFmt->GetSection()->GetName());
+ if (!m_pProps->m_pEndItem.get())
+ {
+ m_pProps->m_pEndItem.reset(new SwFmtEndAtTxtEnd);
+ }
+ pQueryItem = m_pProps->m_pEndItem.get();
}
- break;
- case WID_SECT_DOCUMENT_INDEX:
+ else if (RES_UNKNOWNATR_CONTAINER== pEntry->nWID)
{
- // search enclosing index
- SwSection* pEnclosingSection = pSect;
- while ( (pEnclosingSection != NULL) &&
- (TOX_CONTENT_SECTION !=
- pEnclosingSection->GetType()) )
+ if (!m_pProps->m_pXMLAttr.get())
{
- pEnclosingSection = pEnclosingSection->GetParent();
+ m_pProps->m_pXMLAttr.reset(
+ new SvXMLAttrContainerItem);
}
- if (pEnclosingSection)
+ pQueryItem = m_pProps->m_pXMLAttr.get();
+ }
+ else if (RES_COLUMNBALANCE== pEntry->nWID)
+ {
+ if (!m_pProps->m_pNoBalanceItem.get())
{
- // convert section to TOXBase and get SwXDocumentIndex
- SwTOXBaseSection* pTOXBaseSect =
- PTR_CAST(SwTOXBaseSection, pEnclosingSection);
- uno::Reference<XDocumentIndex> xIndex =
- SwXDocumentIndexes::GetObject(pTOXBaseSect);
- pRet[nProperty] <<= xIndex;
+ m_pProps->m_pNoBalanceItem.reset(
+ new SwFmtNoBalancedColumns);
}
- // else: no enclosing index found -> empty return value
+ pQueryItem = m_pProps->m_pNoBalanceItem.get();
}
- break;
- case WID_SECT_IS_GLOBAL_DOC_SECTION:
+ else if (RES_FRAMEDIR == pEntry->nWID)
{
- sal_Bool bRet = (NULL == pFmt) ? sal_False :
- static_cast< sal_Bool >(NULL != pFmt->GetGlobalDocSection());
- pRet[nProperty].setValue( &bRet, ::getCppuBooleanType());
+ if (!m_pProps->m_pFrameDirItem.get())
+ {
+ m_pProps->m_pFrameDirItem.reset(
+ new SvxFrameDirectionItem(
+ FRMDIR_ENVIRONMENT, RES_FRAMEDIR));
+ }
+ pQueryItem = m_pProps->m_pFrameDirItem.get();
}
- break;
- case FN_UNO_ANCHOR_TYPES:
- case FN_UNO_TEXT_WRAP:
- case FN_UNO_ANCHOR_TYPE:
- SwXParagraph::getDefaultTextContentValue(pRet[nProperty], OUString(), pEntry->nWID);
- break;
- case FN_UNO_REDLINE_NODE_START:
- case FN_UNO_REDLINE_NODE_END:
+ /* -> #109700# */
+ else if (RES_LR_SPACE == pEntry->nWID)
{
- if(!pFmt)
- break; // lijian i73247
- SwNode* pSectNode = pFmt->GetSectionNode();
- if(FN_UNO_REDLINE_NODE_END == pEntry->nWID)
- pSectNode = pSectNode->EndOfSectionNode();
- const SwRedlineTbl& rRedTbl = pFmt->GetDoc()->GetRedlineTbl();
- for(USHORT nRed = 0; nRed < rRedTbl.Count(); nRed++)
+ if (!m_pProps->m_pLRSpaceItem.get())
{
- const SwRedline* pRedline = rRedTbl[nRed];
- const SwNode* pRedPointNode = pRedline->GetNode(TRUE);
- const SwNode* pRedMarkNode = pRedline->GetNode(FALSE);
- if(pRedPointNode == pSectNode || pRedMarkNode == pSectNode)
- {
- const SwNode* pStartOfRedline = SwNodeIndex(*pRedPointNode) <= SwNodeIndex(*pRedMarkNode) ?
- pRedPointNode : pRedMarkNode;
- BOOL bIsStart = pStartOfRedline == pSectNode;
- pRet[nProperty] <<= SwXRedlinePortion::CreateRedlineProperties(*pRedline, bIsStart);
- break;
- }
+ m_pProps->m_pLRSpaceItem.reset(
+ new SvxLRSpaceItem( RES_LR_SPACE ));
}
+ pQueryItem = m_pProps->m_pLRSpaceItem.get();
}
- break;
- case WID_SECT_PASSWORD:
+ /* <- #109700# */
+ if (pQueryItem)
{
- pRet[nProperty] <<= m_bIsDescriptor ? pProps->aPassword : pSect->GetPasswd();
+ pQueryItem->QueryValue(pRet[nProperty],
+ pEntry->nMemberId);
}
- break;
- default:
- if(pFmt)
- m_pPropSet->getPropertyValue(*pEntry, pFmt->GetAttrSet(), pRet[nProperty]);
- else
- {
- const SfxPoolItem* pQueryItem = 0;
- if(RES_COL == pEntry->nWID)
- {
- if(!pProps->pColItem)
- pProps->pColItem = new SwFmtCol;
- pQueryItem = pProps->pColItem;
- }
- else if(RES_BACKGROUND == pEntry->nWID)
- {
- if(!pProps->pBrushItem)
- pProps->pBrushItem = new SvxBrushItem(RES_BACKGROUND);
- pQueryItem = pProps->pBrushItem;
- }
- else if(RES_FTN_AT_TXTEND == pEntry->nWID)
- {
- if(!pProps->pFtnItem)
- pProps->pFtnItem = new SwFmtFtnAtTxtEnd;
- pQueryItem = pProps->pFtnItem;
- }
- else if(RES_END_AT_TXTEND == pEntry->nWID)
- {
- if(!pProps->pEndItem)
- pProps->pEndItem = new SwFmtEndAtTxtEnd;
- pQueryItem = pProps->pEndItem;
- }
- else if(RES_UNKNOWNATR_CONTAINER== pEntry->nWID)
- {
- if(!pProps->pXMLAttr)
- pProps->pXMLAttr= new SvXMLAttrContainerItem ;
- pQueryItem = pProps->pXMLAttr;
- }
- else if(RES_COLUMNBALANCE== pEntry->nWID)
- {
- if(!pProps->pNoBalanceItem)
- pProps->pNoBalanceItem= new SwFmtNoBalancedColumns;
- pQueryItem = pProps->pNoBalanceItem;
- }
- else if(RES_FRAMEDIR == pEntry->nWID)
- {
- if(!pProps->pFrameDirItem)
- pProps->pFrameDirItem = new SvxFrameDirectionItem(FRMDIR_ENVIRONMENT, RES_FRAMEDIR);
- pQueryItem = pProps->pFrameDirItem;
- }
- /* -> #109700# */
- else if(RES_LR_SPACE == pEntry->nWID)
- {
- if(!pProps->pLRSpaceItem)
- pProps->pLRSpaceItem = new SvxLRSpaceItem( RES_LR_SPACE );
- pQueryItem = pProps->pLRSpaceItem;
- }
- /* <- #109700# */
- if(pQueryItem)
- pQueryItem->QueryValue(pRet[nProperty], pEntry->nMemberId);
- }
}
}
- else
- throw UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + pPropertyNames[nProperty], static_cast < cppu::OWeakObject * > ( this ) );
}
}
- else
- throw uno::RuntimeException();
return aRet;
}
+
/* -----------------------------04.11.03 10:43--------------------------------
---------------------------------------------------------------------------*/
-Sequence< Any > SwXTextSection::getPropertyValues(
- const Sequence< ::rtl::OUString >& rPropertyNames )
- throw(RuntimeException)
+uno::Sequence< uno::Any > SAL_CALL
+SwXTextSection::getPropertyValues(
+ const uno::Sequence< ::rtl::OUString >& rPropertyNames)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- Sequence< Any > aValues;
+ uno::Sequence< uno::Any > aValues;
// workaround for bad designed API
try
{
- aValues = GetPropertyValues_Impl( rPropertyNames );
+ aValues = m_pImpl->GetPropertyValues_Impl( rPropertyNames );
}
- catch (UnknownPropertyException &)
+ catch (beans::UnknownPropertyException &)
{
- throw RuntimeException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property exception caught" ) ), static_cast < cppu::OWeakObject * > ( this ) );
+ throw uno::RuntimeException(OUString(
+ RTL_CONSTASCII_USTRINGPARAM("Unknown property exception caught")),
+ static_cast<cppu::OWeakObject *>(this));
}
- catch (WrappedTargetException &)
+ catch (lang::WrappedTargetException &)
{
- throw RuntimeException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "WrappedTargetException caught" ) ), static_cast < cppu::OWeakObject * > ( this ) );
+ throw uno::RuntimeException(OUString(
+ RTL_CONSTASCII_USTRINGPARAM("WrappedTargetException caught")),
+ static_cast<cppu::OWeakObject *>(this));
}
return aValues;
@@ -1214,279 +1353,373 @@ Sequence< Any > SwXTextSection::getPropertyValues(
/*-- 10.12.98 14:47:12---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXTextSection::getPropertyValue(const OUString& rPropertyName)
- throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+uno::Any SAL_CALL
+SwXTextSection::getPropertyValue(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- Sequence< ::rtl::OUString > aPropertyNames(1);
+
+ uno::Sequence< ::rtl::OUString > aPropertyNames(1);
aPropertyNames.getArray()[0] = rPropertyName;
- return GetPropertyValues_Impl(aPropertyNames).getConstArray()[0];
+ return m_pImpl->GetPropertyValues_Impl(aPropertyNames).getConstArray()[0];
}
/* -----------------------------12.02.01 10:30--------------------------------
---------------------------------------------------------------------------*/
-void SwXTextSection::addPropertiesChangeListener(
- const uno::Sequence< ::rtl::OUString >& /*aPropertyNames*/,
- const uno::Reference< beans::XPropertiesChangeListener >& /*xListener*/ ) throw(RuntimeException)
+void SAL_CALL SwXTextSection::addPropertiesChangeListener(
+ const uno::Sequence< OUString >& /*aPropertyNames*/,
+ const uno::Reference< beans::XPropertiesChangeListener >& /*xListener*/ )
+throw (uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextSection::addPropertiesChangeListener(): not implemented");
}
+
/* -----------------------------12.02.01 10:30--------------------------------
---------------------------------------------------------------------------*/
-void SwXTextSection::removePropertiesChangeListener(
+void SAL_CALL SwXTextSection::removePropertiesChangeListener(
const uno::Reference< beans::XPropertiesChangeListener >& /*xListener*/ )
- throw(RuntimeException)
+throw (uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextSection::removePropertiesChangeListener(): not implemented");
}
+
/* -----------------------------12.02.01 10:30--------------------------------
---------------------------------------------------------------------------*/
-void SwXTextSection::firePropertiesChangeEvent(
- const uno::Sequence< ::rtl::OUString >& /*aPropertyNames*/,
+void SAL_CALL SwXTextSection::firePropertiesChangeEvent(
+ const uno::Sequence< OUString >& /*aPropertyNames*/,
const uno::Reference< beans::XPropertiesChangeListener >& /*xListener*/ )
- throw(RuntimeException)
+ throw(uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextSection::firePropertiesChangeEvent(): not implemented");
}
+
/*-- 10.12.98 14:47:13---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextSection::addPropertyChangeListener(const OUString& /*rPropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*xListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXTextSection::addPropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextSection::addPropertyChangeListener(): not implemented");
}
-/*-- 10.12.98 14:47:13---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXTextSection::removePropertyChangeListener(const OUString& /*rPropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*xListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXTextSection::removePropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextSection::removePropertyChangeListener(): not implemented");
}
-/*-- 10.12.98 14:47:14---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXTextSection::addVetoableChangeListener(const OUString& /*rPropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*xListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXTextSection::addVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextSection::addVetoableChangeListener(): not implemented");
}
-/*-- 10.12.98 14:47:14---------------------------------------------------
- -----------------------------------------------------------------------*/
-void SwXTextSection::removeVetoableChangeListener(const OUString& /*rPropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*xListener*/) throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
+void SAL_CALL
+SwXTextSection::removeVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- DBG_WARNING("not implemented");
+ OSL_ENSURE(false,
+ "SwXTextSection::removeVetoableChangeListener(): not implemented");
}
/*-- 08.11.00 10:47:55---------------------------------------------------
-----------------------------------------------------------------------*/
-PropertyState SwXTextSection::getPropertyState( const OUString& rPropertyName )
- throw(UnknownPropertyException, RuntimeException)
+beans::PropertyState SAL_CALL
+SwXTextSection::getPropertyState(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- Sequence< OUString > aNames(1);
+
+ uno::Sequence< OUString > aNames(1);
aNames.getArray()[0] = rPropertyName;
return getPropertyStates(aNames).getConstArray()[0];
}
/*-- 08.11.00 10:47:55---------------------------------------------------
-----------------------------------------------------------------------*/
-Sequence< PropertyState > SwXTextSection::getPropertyStates(
- const Sequence< OUString >& rPropertyNames )
- throw(UnknownPropertyException, RuntimeException)
+uno::Sequence< beans::PropertyState > SAL_CALL
+SwXTextSection::getPropertyStates(
+ const uno::Sequence< OUString >& rPropertyNames)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- Sequence< PropertyState > aStates(rPropertyNames.getLength());
- SwSectionFmt* pFmt = GetFmt();
- if(pFmt||m_bIsDescriptor)
+
+ SwSectionFmt *const pFmt = m_pImpl->GetSectionFmt();
+ if (!pFmt && !m_pImpl->m_bIsDescriptor)
+ {
+ throw uno::RuntimeException();
+ }
+
+ uno::Sequence< beans::PropertyState > aStates(rPropertyNames.getLength());
+ beans::PropertyState *const pStates = aStates.getArray();
+ const OUString* pNames = rPropertyNames.getConstArray();
+ for (sal_Int32 i = 0; i < rPropertyNames.getLength(); i++)
{
- PropertyState* pStates = aStates.getArray();
- const OUString* pNames = rPropertyNames.getConstArray();
- for(sal_Int32 i = 0; i < rPropertyNames.getLength(); i++)
+ pStates[i] = beans::PropertyState_DEFAULT_VALUE;
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName( pNames[i]);
+ if (!pEntry)
{
- pStates[i] = PropertyState_DEFAULT_VALUE;
- const SfxItemPropertySimpleEntry* pEntry =
- m_pPropSet->getPropertyMap()->getByName( pNames[i]);
- if(!pEntry)
- throw UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + pNames[i], static_cast < cppu::OWeakObject * > ( this ) );
- switch(pEntry->nWID)
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + pNames[i], static_cast< cppu::OWeakObject* >(this));
+ }
+ switch (pEntry->nWID)
+ {
+ case WID_SECT_CONDITION:
+ case WID_SECT_DDE_TYPE:
+ case WID_SECT_DDE_FILE:
+ case WID_SECT_DDE_ELEMENT:
+ case WID_SECT_DDE_AUTOUPDATE:
+ case WID_SECT_LINK:
+ case WID_SECT_REGION :
+ case WID_SECT_VISIBLE:
+ case WID_SECT_PROTECTED:
+ // --> FME 2004-06-22 #114856# edit in readonly sections
+ case WID_SECT_EDIT_IN_READONLY:
+ // <--
+ case FN_PARAM_LINK_DISPLAY_NAME:
+ case FN_UNO_ANCHOR_TYPES:
+ case FN_UNO_TEXT_WRAP:
+ case FN_UNO_ANCHOR_TYPE:
+ pStates[i] = beans::PropertyState_DIRECT_VALUE;
+ break;
+ default:
{
- case WID_SECT_CONDITION:
- case WID_SECT_DDE_TYPE :
- case WID_SECT_DDE_FILE :
- case WID_SECT_DDE_ELEMENT :
- case WID_SECT_DDE_AUTOUPDATE:
- case WID_SECT_LINK :
- case WID_SECT_REGION :
- case WID_SECT_VISIBLE :
- case WID_SECT_PROTECTED:
- // --> FME 2004-06-22 #114856# edit in readonly sections
- case WID_SECT_EDIT_IN_READONLY:
- // <--
- case FN_PARAM_LINK_DISPLAY_NAME:
- case FN_UNO_ANCHOR_TYPES:
- case FN_UNO_TEXT_WRAP:
- case FN_UNO_ANCHOR_TYPE:
- pStates[i] = PropertyState_DIRECT_VALUE;
- break;
- default:
- if(pFmt)
- pStates[i] = m_pPropSet->getPropertyState(pNames[i], pFmt->GetAttrSet());
- else
+ if (pFmt)
+ {
+ pStates[i] = m_pImpl->m_rPropSet.getPropertyState(
+ pNames[i], pFmt->GetAttrSet());
+ }
+ else
+ {
+ if (RES_COL == pEntry->nWID)
+ {
+ if (!m_pImpl->m_pProps->m_pColItem.get())
+ {
+ pStates[i] = beans::PropertyState_DEFAULT_VALUE;
+ }
+ else
+ {
+ pStates[i] = beans::PropertyState_DIRECT_VALUE;
+ }
+ }
+ else //if(RES_BACKGROUND == pEntry->nWID)
{
- if(RES_COL == pEntry->nWID)
+ if (!m_pImpl->m_pProps->m_pBrushItem.get())
{
- if(!pProps->pColItem)
- pStates[i] = PropertyState_DEFAULT_VALUE;
- else
- pStates[i] = PropertyState_DIRECT_VALUE;
+ pStates[i] = beans::PropertyState_DEFAULT_VALUE;
}
- else //if(RES_BACKGROUND == pEntry->nWID)
+ else
{
- if(!pProps->pBrushItem)
- pStates[i] = PropertyState_DEFAULT_VALUE;
- else
- pStates[i] = PropertyState_DIRECT_VALUE;
+ pStates[i] = beans::PropertyState_DIRECT_VALUE;
}
}
+ }
}
}
}
- else
- throw RuntimeException();
return aStates;
}
+
/*-- 08.11.00 10:47:55---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextSection::setPropertyToDefault( const OUString& rPropertyName )
- throw(UnknownPropertyException, RuntimeException)
+void SAL_CALL
+SwXTextSection::setPropertyToDefault(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwSectionFmt* pFmt = GetFmt();
- if(pFmt||m_bIsDescriptor)
+
+ SwSectionFmt *const pFmt = m_pImpl->GetSectionFmt();
+ if (!pFmt && !m_pImpl->m_bIsDescriptor)
{
- SwSection aSection(CONTENT_SECTION, aEmptyStr);
- SwSection* pSect = pFmt ? pFmt->GetSection() : 0;
- if(pFmt)
- aSection = *pSect;
- const SfxItemPropertySimpleEntry* pEntry =
- m_pPropSet->getPropertyMap()->getByName( rPropertyName );
- if(!pEntry)
- throw UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
- if ( pEntry->nFlags & PropertyAttribute::READONLY)
- throw RuntimeException( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "setPropertyToDefault: property is read-only: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
- SfxItemSet* pNewAttrSet = 0;
- switch(pEntry->nWID)
+ throw uno::RuntimeException();
+ }
+
+ SwSection aSection(CONTENT_SECTION, aEmptyStr);
+ SwSection *const pSect = (pFmt) ? pFmt->GetSection() : 0;
+ if (pFmt)
+ {
+ aSection = *pSect;
+ }
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName(rPropertyName);
+ if (!pEntry)
+ {
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName, static_cast< cppu::OWeakObject* >(this));
+ }
+ if (pEntry->nFlags & beans::PropertyAttribute::READONLY)
+ {
+ throw uno::RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "setPropertyToDefault: property is read-only: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(this));
+ }
+
+ ::std::auto_ptr<SfxItemSet> pNewAttrSet;
+ switch (pEntry->nWID)
+ {
+ case WID_SECT_CONDITION:
{
- case WID_SECT_CONDITION:
+ if (m_pImpl->m_bIsDescriptor)
{
- if(m_bIsDescriptor)
- pProps->sCondition = aEmptyStr;
- else
- aSection.SetCondition(aEmptyStr);
+ m_pImpl->m_pProps->m_sCondition = aEmptyStr;
}
- break;
- case WID_SECT_DDE_TYPE :
- case WID_SECT_DDE_FILE :
- case WID_SECT_DDE_ELEMENT :
- case WID_SECT_LINK :
- case WID_SECT_REGION :
- aSection.SetType(CONTENT_SECTION);
- break;
- case WID_SECT_DDE_AUTOUPDATE:
- aSection.SetUpdateType(sfx2::LINKUPDATE_ALWAYS);
- break;
- case WID_SECT_VISIBLE :
+ else
{
- if(m_bIsDescriptor)
- pProps->bHidden = FALSE;
- else
- aSection.SetHidden(FALSE);
+ aSection.SetCondition(aEmptyStr);
}
- break;
- case WID_SECT_PROTECTED:
+ }
+ break;
+ case WID_SECT_DDE_TYPE :
+ case WID_SECT_DDE_FILE :
+ case WID_SECT_DDE_ELEMENT :
+ case WID_SECT_LINK :
+ case WID_SECT_REGION :
+ aSection.SetType(CONTENT_SECTION);
+ break;
+ case WID_SECT_DDE_AUTOUPDATE:
+ aSection.SetUpdateType(sfx2::LINKUPDATE_ALWAYS);
+ break;
+ case WID_SECT_VISIBLE :
+ {
+ if (m_pImpl->m_bIsDescriptor)
{
- if(m_bIsDescriptor)
- pProps->bProtect = FALSE;
- else
- aSection.SetProtect(FALSE);
+ m_pImpl->m_pProps->m_bHidden = false;
}
- break;
- // --> FME 2004-06-22 #114856# edit in readonly sections
- case WID_SECT_EDIT_IN_READONLY:
+ else
{
- if(m_bIsDescriptor)
- pProps->bEditInReadonly = FALSE;
- else
- aSection.SetEditInReadonly(FALSE);
+ aSection.SetHidden(FALSE);
}
- break;
- // <--
+ }
+ break;
+ case WID_SECT_PROTECTED:
+ {
+ if (m_pImpl->m_bIsDescriptor)
+ {
+ m_pImpl->m_pProps->m_bProtect = false;
+ }
+ else
+ {
+ aSection.SetProtect(FALSE);
+ }
+ }
+ break;
+ // --> FME 2004-06-22 #114856# edit in readonly sections
+ case WID_SECT_EDIT_IN_READONLY:
+ {
+ if (m_pImpl->m_bIsDescriptor)
+ {
+ m_pImpl->m_pProps->m_bEditInReadonly = false;
+ }
+ else
+ {
+ aSection.SetEditInReadonly(FALSE);
+ }
+ }
+ break;
+ // <--
- case FN_UNO_ANCHOR_TYPES:
- case FN_UNO_TEXT_WRAP:
- case FN_UNO_ANCHOR_TYPE:
- break;
- default:
- if(pEntry->nWID <= SFX_WHICH_MAX)
+ case FN_UNO_ANCHOR_TYPES:
+ case FN_UNO_TEXT_WRAP:
+ case FN_UNO_ANCHOR_TYPE:
+ break;
+ default:
+ {
+ if (pEntry->nWID <= SFX_WHICH_MAX)
+ {
+ if (pFmt)
{
- if(pFmt)
+ const SfxItemSet& rOldAttrSet = pFmt->GetAttrSet();
+ pNewAttrSet.reset( new SfxItemSet(*rOldAttrSet.GetPool(),
+ pEntry->nWID, pEntry->nWID, 0));
+ pNewAttrSet->ClearItem(pEntry->nWID);
+ }
+ else
+ {
+ if (RES_COL == pEntry->nWID)
{
- const SfxItemSet& rOldAttrSet = pFmt->GetAttrSet();
- pNewAttrSet = new SfxItemSet(*rOldAttrSet.GetPool(),
- pEntry->nWID, pEntry->nWID, 0);
- pNewAttrSet->ClearItem(pEntry->nWID);
+ m_pImpl->m_pProps->m_pColItem.reset();
}
- else
+ else if (RES_BACKGROUND == pEntry->nWID)
{
- if(RES_COL == pEntry->nWID)
- DELETEZ(pProps->pColItem);
- else if(RES_BACKGROUND == pEntry->nWID)
- DELETEZ(pProps->pBrushItem);
+ m_pImpl->m_pProps->m_pBrushItem.reset();
}
}
+ }
}
- if(pFmt)
+ }
+
+ if (pFmt)
+ {
+ SwDoc *const pDoc = pFmt->GetDoc();
+ const SwSectionFmts& rFmts = pDoc->GetSections();
+ UnoActionContext aContext(pDoc);
+ for (sal_uInt16 i = 0; i < rFmts.Count(); i++)
{
- SwDoc* pDoc = pFmt->GetDoc();
- const SwSectionFmts& rFmts = pDoc->GetSections();
- UnoActionContext aContext(pDoc);
- for( sal_uInt16 i = 0; i < rFmts.Count(); i++ )
+ if (rFmts[i]->GetSection()->GetName() == pSect->GetName())
{
- if(rFmts[i]->GetSection()->GetName() == pSect->GetName())
+ pDoc->ChgSection(i, aSection, pNewAttrSet.get(),
+ pDoc->IsInReading());
{
- pDoc->ChgSection( i, aSection, pNewAttrSet, pDoc->IsInReading());
-
- {
- // temporarily remove actions to allow cursor update
- UnoActionRemoveContext aRemoveContext( pDoc );
- }
-
- break;
+ // temporarily remove actions to allow cursor update
+ UnoActionRemoveContext aRemoveContext( pDoc );
}
+ break;
}
- delete pNewAttrSet;
}
}
- else
- throw RuntimeException();
}
+
/*-- 08.11.00 10:47:56---------------------------------------------------
-----------------------------------------------------------------------*/
-Any SwXTextSection::getPropertyDefault( const OUString& rPropertyName )
- throw(UnknownPropertyException, WrappedTargetException, RuntimeException)
+uno::Any SAL_CALL
+SwXTextSection::getPropertyDefault(const OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
uno::Any aRet;
- SwSectionFmt* pFmt = GetFmt();
- const SfxItemPropertySimpleEntry* pEntry =
- m_pPropSet->getPropertyMap()->getByName( rPropertyName );
+ SwSectionFmt *const pFmt = m_pImpl->GetSectionFmt();
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName(rPropertyName);
if (!pEntry)
- throw UnknownPropertyException(OUString ( RTL_CONSTASCII_USTRINGPARAM ( "Unknown property: " ) ) + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
+ {
+ throw beans::UnknownPropertyException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown property: "))
+ + rPropertyName,
+ static_cast<cppu::OWeakObject *>(this));
+ }
switch(pEntry->nWID)
{
@@ -1499,7 +1732,7 @@ Any SwXTextSection::getPropertyDefault( const OUString& rPropertyName )
aRet <<= OUString();
break;
case WID_SECT_LINK :
- aRet <<= SectionFileLink();
+ aRet <<= text::SectionFileLink();
break;
case WID_SECT_DDE_AUTOUPDATE:
case WID_SECT_VISIBLE :
@@ -1520,12 +1753,12 @@ Any SwXTextSection::getPropertyDefault( const OUString& rPropertyName )
case FN_UNO_ANCHOR_TYPES:
case FN_UNO_TEXT_WRAP:
case FN_UNO_ANCHOR_TYPE:
- SwXParagraph::getDefaultTextContentValue(aRet, OUString(), pEntry->nWID);
+ ::sw::GetDefaultTextContentValue(aRet, OUString(), pEntry->nWID);
break;
default:
if(pFmt && pEntry->nWID <= SFX_WHICH_MAX)
{
- SwDoc* pDoc = pFmt->GetDoc();
+ SwDoc *const pDoc = pFmt->GetDoc();
const SfxPoolItem& rDefItem =
pDoc->GetAttrPool().GetDefaultItem(pEntry->nWID);
rDefItem.QueryValue(aRet, pEntry->nMemberId);
@@ -1533,33 +1766,43 @@ Any SwXTextSection::getPropertyDefault( const OUString& rPropertyName )
}
return aRet;
}
+
/*-- 10.12.98 14:47:15---------------------------------------------------
-----------------------------------------------------------------------*/
-OUString SwXTextSection::getName(void) throw( uno::RuntimeException )
+OUString SAL_CALL SwXTextSection::getName() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- String sRet;
- const SwSectionFmt* pFmt = GetFmt();
+
+ ::rtl::OUString sRet;
+ SwSectionFmt const*const pFmt = m_pImpl->GetSectionFmt();
if(pFmt)
+ {
sRet = pFmt->GetSection()->GetName();
- else if(m_bIsDescriptor)
- sRet = m_sName;
+ }
+ else if (m_pImpl->m_bIsDescriptor)
+ {
+ sRet = m_pImpl->m_sName;
+ }
else
+ {
throw uno::RuntimeException();
+ }
return sRet;
}
/*-- 10.12.98 14:47:16---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXTextSection::setName(const OUString& rName) throw( uno::RuntimeException )
+void SAL_CALL SwXTextSection::setName(const OUString& rName)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- SwSectionFmt* pFmt = GetFmt();
+
+ SwSectionFmt *const pFmt = m_pImpl->GetSectionFmt();
if(pFmt)
{
SwSection aSection(CONTENT_SECTION, aEmptyStr);
- SwSection* pSect = pFmt->GetSection();
+ SwSection *const pSect = pFmt->GetSection();
aSection = *pSect;
String sNewName(rName);
aSection.SetName(sNewName);
@@ -1569,9 +1812,13 @@ void SwXTextSection::setName(const OUString& rName) throw( uno::RuntimeException
for( sal_uInt16 i = 0; i < rFmts.Count(); i++ )
{
if(rFmts[i]->GetSection() == pSect)
+ {
nApplyPos = i;
+ }
else if(sNewName == rFmts[i]->GetSection()->GetName())
+ {
throw uno::RuntimeException();
+ }
}
if(nApplyPos != USHRT_MAX)
{
@@ -1585,46 +1832,50 @@ void SwXTextSection::setName(const OUString& rName) throw( uno::RuntimeException
}
}
}
- else if(m_bIsDescriptor)
- m_sName = String(rName);
+ else if (m_pImpl->m_bIsDescriptor)
+ {
+ m_pImpl->m_sName = rName;
+ }
else
+ {
throw uno::RuntimeException();
+ }
}
/* -----------------02.11.99 11:30-------------------
--------------------------------------------------*/
-OUString SwXTextSection::getImplementationName(void) throw( uno::RuntimeException )
+OUString SAL_CALL
+SwXTextSection::getImplementationName() throw (uno::RuntimeException)
{
return C2U("SwXTextSection");
}
+
/* -----------------02.11.99 11:30-------------------
--------------------------------------------------*/
-sal_Bool SwXTextSection::supportsService(const OUString& rServiceName) throw( uno::RuntimeException )
+static char const*const g_ServicesTextSection[] =
{
- return !rServiceName.compareToAscii("com.sun.star.text.TextSection") ||
- !rServiceName.compareToAscii("com.sun.star.document.LinkTarget") ||
- !rServiceName.compareToAscii("com.sun.star.text.TextContent");
-}
-/* -----------------02.11.99 11:30-------------------
+ "com.sun.star.text.TextContent",
+ "com.sun.star.text.TextSection",
+ "com.sun.star.document.LinkTarget",
+};
+static const size_t g_nServicesTextSection(
+ sizeof(g_ServicesTextSection)/sizeof(g_ServicesTextSection[0]));
- --------------------------------------------------*/
-uno::Sequence< OUString > SwXTextSection::getSupportedServiceNames(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL SwXTextSection::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
{
- uno::Sequence< OUString > aRet(3);
- OUString* pArr = aRet.getArray();
- pArr[0] = C2U("com.sun.star.text.TextSection");
- pArr[1] = C2U("com.sun.star.document.LinkTarget");
- pArr[2] = C2U("com.sun.star.text.TextContent");
- return aRet;
+ return ::sw::SupportsServiceImpl(
+ g_nServicesTextSection, g_ServicesTextSection, rServiceName);
}
-/*-- 20.12.2005 10:27:33---------------------------------------------------
+/* -----------------02.11.99 11:30-------------------
- -----------------------------------------------------------------------*/
-SwSectionFmt* SwXTextSection::GetFmt()const
+ --------------------------------------------------*/
+uno::Sequence< OUString > SAL_CALL
+SwXTextSection::getSupportedServiceNames() throw (uno::RuntimeException)
{
- return m_pClient ?
- const_cast<SwSectionFmt*>(static_cast< const SwSectionFmt* >(m_pClient->GetRegisteredIn()))
- : 0;
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesTextSection, g_ServicesTextSection);
}
+
diff --git a/sw/source/core/unocore/unosett.cxx b/sw/source/core/unocore/unosett.cxx
index 4caa5a735e..29519b292d 100644
--- a/sw/source/core/unocore/unosett.cxx
+++ b/sw/source/core/unocore/unosett.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unosett.cxx,v $
- * $Revision: 1.59 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,7 +28,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
+#include <svx/svxids.hrc>
+#include <editeng/memberids.hrc>
#include <swtypes.hxx>
#include <cmdid.h>
#include <hintids.hxx>
@@ -51,7 +49,7 @@
#include <docary.hxx>
#include <docstyle.hxx>
#include <fmtclds.hxx>
-#include <svx/brshitem.hxx>
+#include <editeng/brshitem.hxx>
#include <com/sun/star/text/XFootnotesSettingsSupplier.hpp>
#include <com/sun/star/text/XFootnote.hpp>
#include <com/sun/star/text/XFootnotesSupplier.hpp>
@@ -61,21 +59,16 @@
#include <com/sun/star/text/HoriOrientation.hpp>
#include <com/sun/star/style/LineNumberPosition.hpp>
#include <com/sun/star/awt/XBitmap.hpp>
-#ifndef _COM_SUN_STAR_BEANS_PropertyAttribute_HPP_
#include <com/sun/star/beans/PropertyAttribute.hpp>
-#endif
#include <com/sun/star/style/VerticalAlignment.hpp>
-#include <unoobj.hxx>
#include <vcl/font.hxx>
-#include <svx/flstitem.hxx>
+#include <editeng/flstitem.hxx>
#include <vcl/metric.hxx>
#include <svtools/ctrltool.hxx>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#ifndef _TOOLKIT_UNOHLP_HXX
#include <toolkit/helper/vclunohelper.hxx>
-#endif
-#include <svx/unofdesc.hxx>
+#include <editeng/unofdesc.hxx>
#include <fmtornt.hxx>
#include <SwStyleNameMapper.hxx>
// --> OD 2008-01-15 #newlistlevelattrs#
diff --git a/sw/source/core/unocore/unosrch.cxx b/sw/source/core/unocore/unosrch.cxx
index 8ee8e3e141..3038865007 100644
--- a/sw/source/core/unocore/unosrch.cxx
+++ b/sw/source/core/unocore/unosrch.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unosrch.cxx,v $
- * $Revision: 1.19.210.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -30,16 +27,17 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-#include "unosrch.hxx"
-
+#include "unosrch.hxx"
#include <doc.hxx>
#include <hints.hxx>
#include <unomap.hxx>
-#include <unoobj.hxx>
+#include <unobaseclass.hxx>
+#include <unomid.h>
+
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include "svx/unolingu.hxx"
+#include "editeng/unolingu.hxx"
#include <com/sun/star/util/SearchOptions.hpp>
#include <com/sun/star/util/SearchFlags.hpp>
#include <com/sun/star/i18n/TransliterationModules.hpp>
diff --git a/sw/source/core/unocore/unostyle.cxx b/sw/source/core/unocore/unostyle.cxx
index 6033541f9d..b68fea70a9 100644
--- a/sw/source/core/unocore/unostyle.cxx
+++ b/sw/source/core/unocore/unostyle.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unostyle.cxx,v $
- * $Revision: 1.83.24.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,23 +28,23 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
+#include <svx/svxids.hrc>
#include <hintids.hxx>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include <svtools/smplhint.hxx>
+#include <svl/smplhint.hxx>
#include <svtools/ctrltool.hxx>
-#include <svtools/style.hxx>
-#include <svtools/itemiter.hxx>
+#include <svl/style.hxx>
+#include <svl/itemiter.hxx>
#include <svx/pageitem.hxx>
-#include <svx/sizeitem.hxx>
-#include <svx/ulspitem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/boxitem.hxx>
-#include <svx/shaditem.hxx>
-#include <svx/brshitem.hxx>
-#include <svx/flstitem.hxx>
-#include <svx/paperinf.hxx>
+#include <editeng/sizeitem.hxx>
+#include <editeng/ulspitem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/boxitem.hxx>
+#include <editeng/shaditem.hxx>
+#include <editeng/brshitem.hxx>
+#include <editeng/flstitem.hxx>
+#include <editeng/paperinf.hxx>
#include <pagedesc.hxx>
#include <doc.hxx>
#include <docary.hxx>
@@ -61,29 +58,20 @@
#include <unoprnms.hxx>
#include <shellio.hxx>
#include <docstyle.hxx>
-#include <unoobj.hxx>
+#include <unotextbodyhf.hxx>
#include <fmthdft.hxx>
#include <fmtpdsc.hxx>
#include <tools/urlobj.hxx>
-#ifndef _POOLFMT_HRC
#include <poolfmt.hrc>
-#endif
#include <poolfmt.hxx>
#include "unoevent.hxx"
#include <fmtruby.hxx>
#include <SwStyleNameMapper.hxx>
#include <sfx2/printer.hxx>
#include <com/sun/star/style/ParagraphStyleCategory.hpp>
-/*
-#include <com/sun/star/frame/XModel.hpp>
-*/
#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
-#ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBUTE_HPPP_
#include <com/sun/star/beans/PropertyAttribute.hpp>
-#endif
-#ifndef _COM_SUN_STAR_BEANS_NAMEDVALUE_HPPP_
#include <com/sun/star/beans/NamedValue.hpp>
-#endif
#include <istyleaccess.hxx>
#include <GetMetricVal.hxx>
#include <fmtfsize.hxx>
@@ -1266,6 +1254,7 @@ sal_Bool SwStyleProperties_Impl::GetProperty(const ::rtl::OUString& rName, uno::
bRet = sal_True;
break;
}
+ ++nPos;
++aIt;
}
@@ -3444,6 +3433,29 @@ void SwXPageStyle::setPropertyValues(
/* -----------------------------04.11.03 13:50--------------------------------
---------------------------------------------------------------------------*/
+static uno::Reference<text::XText>
+lcl_makeHeaderFooter(
+ const sal_uInt16 nRes, const bool bHeader, SwFrmFmt const*const pFrmFmt)
+{
+ if (!pFrmFmt) { return 0; }
+
+ const SfxItemSet& rSet = pFrmFmt->GetAttrSet();
+ const SfxPoolItem* pItem;
+ if (SFX_ITEM_SET == rSet.GetItemState(nRes, sal_True, &pItem))
+ {
+ SwFrmFmt *const pHeadFootFmt = (bHeader)
+ ? static_cast<SwFmtHeader*>(const_cast<SfxPoolItem*>(pItem))->
+ GetHeaderFmt()
+ : static_cast<SwFmtFooter*>(const_cast<SfxPoolItem*>(pItem))->
+ GetFooterFmt();
+ if (pHeadFootFmt)
+ {
+ return SwXHeadFootText::CreateXHeadFootText(*pHeadFootFmt, bHeader);
+ }
+ }
+ return 0;
+}
+
uno::Sequence< uno::Any > SAL_CALL SwXPageStyle::GetPropertyValues_Impl(
const uno::Sequence< OUString >& rPropertyNames )
throw( beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException )
@@ -3476,7 +3488,8 @@ uno::Sequence< uno::Any > SAL_CALL SwXPageStyle::GetPropertyValues_Impl(
GetBasePool()->SetSearchMask(GetFamily(), nSaveMask );
}
sal_uInt16 nRes = 0;
- sal_Bool bHeader = sal_False, bAll = sal_False, bLeft = sal_False, bRight = sal_False;
+ bool bHeader = false;
+ sal_Bool bAll = sal_False, bLeft = sal_False, bRight = sal_False;
switch(pEntry->nWID)
{
case FN_UNO_HEADER_ON:
@@ -3582,7 +3595,7 @@ uno::Sequence< uno::Any > SAL_CALL SwXPageStyle::GetPropertyValues_Impl(
case FN_UNO_HEADER_RIGHT :
bRight = sal_True; goto Header;
Header:
- bHeader = sal_True;
+ bHeader = true;
nRes = RES_HEADER; goto MakeObject;
case FN_UNO_FOOTER :
bAll = sal_True; goto Footer;
@@ -3603,27 +3616,18 @@ MakeObject:
// TextRight does the same as Text and is for
// comptability only.
if( bLeft && !bShare )
+ {
pFrmFmt = &rDesc.GetLeft();
+ }
else
+ {
pFrmFmt = &rDesc.GetMaster();
- if(pFrmFmt)
+ }
+ const uno::Reference< text::XText > xRet =
+ lcl_makeHeaderFooter(nRes, bHeader, pFrmFmt);
+ if (xRet.is())
{
- const SfxItemSet& rSet = pFrmFmt->GetAttrSet();
- const SfxPoolItem* pItem;
- SwFrmFmt* pHeadFootFmt;
- if(SFX_ITEM_SET == rSet.GetItemState(nRes, sal_True, &pItem) &&
- 0 != (pHeadFootFmt = bHeader ?
- ((SwFmtHeader*)pItem)->GetHeaderFmt() :
- ((SwFmtFooter*)pItem)->GetFooterFmt()))
- {
- // gibt es schon ein Objekt dafuer?
- SwXHeadFootText* pxHdFt = (SwXHeadFootText*)SwClientIter( *pHeadFootFmt ).
- First( TYPE( SwXHeadFootText ));
- uno::Reference< text::XText > xRet = pxHdFt;
- if(!pxHdFt)
- xRet = new SwXHeadFootText(*pHeadFootFmt, bHeader);
- pRet[nProp].setValue(&xRet, ::getCppuType((uno::Reference<text::XText>*)0));
- }
+ pRet[nProp] <<= xRet;
}
}
break;
diff --git a/sw/source/core/unocore/unotbl.cxx b/sw/source/core/unocore/unotbl.cxx
index 0adf9c79ac..8b0ceadc97 100644
--- a/sw/source/core/unocore/unotbl.cxx
+++ b/sw/source/core/unocore/unotbl.cxx
@@ -2,14 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unotbl.cxx,v $
- *
- * $Revision: 1.123 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,16 +29,14 @@
#include "precompiled_sw.hxx"
-
-
// STL includes
#include <list>
+#include <svx/svxids.hrc>
+#include <editeng/memberids.hrc>
#include <float.h> // for DBL_MIN
#include <swtypes.hxx>
-#ifndef _CMDID_H
#include <cmdid.h>
-#endif
#include <unotbl.hxx>
#include <unostyle.hxx>
#include <section.hxx>
@@ -63,7 +57,7 @@
#include <fmtpdsc.hxx>
#include <pagedesc.hxx>
#define _SVSTDARR_STRINGS
-#include <svtools/svstdarr.hxx>
+#include <svl/svstdarr.hxx>
#include <viewsh.hxx>
#include <tabfrm.hxx>
#include <redline.hxx>
@@ -73,6 +67,7 @@
#include <com/sun/star/text/WrapTextMode.hpp>
#include <com/sun/star/text/TextContentAnchorType.hpp>
#include <com/sun/star/text/TableColumnSeparator.hpp>
+#include <com/sun/star/text/XTextSection.hpp>
#include <com/sun/star/table/ShadowFormat.hpp>
#include <com/sun/star/table/TableBorder.hpp>
#include <com/sun/star/table/TableBorderDistances.hpp>
@@ -86,14 +81,16 @@
#include <com/sun/star/chart2/data/XLabeledDataSequence.hpp>
#include <com/sun/star/table/CellContentType.hpp>
#include <unotbl.hxx>
-#include <unoobj.hxx>
-#include <svtools/zforlist.hxx> // SvNumberFormatter
-#include <svx/brkitem.hxx>
-#include <svx/shaditem.hxx>
-#include <svx/lrspitem.hxx>
-#include <svx/ulspitem.hxx>
+#include <unotextrange.hxx>
+#include <unotextcursor.hxx>
+#include <unoparagraph.hxx>
+#include <svl/zforlist.hxx> // SvNumberFormatter
+#include <editeng/brkitem.hxx>
+#include <editeng/shaditem.hxx>
+#include <editeng/lrspitem.hxx>
+#include <editeng/ulspitem.hxx>
#include <fmtornt.hxx>
-#include <svx/keepitem.hxx>
+#include <editeng/keepitem.hxx>
#include <fmtlsplt.hxx>
#include <swundo.hxx>
#include <vos/mutex.hxx>
@@ -101,16 +98,15 @@
#include <frmatr.hxx>
#include <crsskip.hxx>
#include <unochart.hxx>
+#include <sortopt.hxx>
#include <rtl/math.hxx>
+
using namespace ::com::sun::star;
using ::rtl::OUString;
-//-----------------------------------------------------------------------------
-// from unoobj.cxx
-extern void lcl_SetTxtFmtColl(const uno::Any& rAny, SwPaM& rPaM) throw (lang::IllegalArgumentException);
-extern void lcl_setCharStyle(SwDoc* pDoc, const uno::Any aValue, SfxItemSet& rSet) throw (lang::IllegalArgumentException);
+//-----------------------------------------------------------------------------
// from swtable.cxx
extern void lcl_GetTblBoxColStr( sal_uInt16 nCol, String& rNm );
@@ -895,25 +891,32 @@ const SwStartNode *SwXCell::GetStartNode() const
return pSttNd;
}
-uno::Reference< text::XTextCursor > SwXCell::createCursor() throw (uno::RuntimeException)
+uno::Reference< text::XTextCursor >
+SwXCell::CreateCursor() throw (uno::RuntimeException)
{
return createTextCursor();
}
/*-- 11.12.98 10:56:24---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Bool SwXCell::IsValid()
+bool SwXCell::IsValid() const
{
+ // FIXME: this is now a const method, to make SwXText::IsValid invisible
+ // but the const_cast here are still ridiculous. TODO: find a better way.
SwFrmFmt* pTblFmt = pBox ? GetFrmFmt() : 0;
if(!pTblFmt)
- pBox = 0;
+ {
+ const_cast<SwXCell*>(this)->pBox = 0;
+ }
else
{
SwTable* pTable = SwTable::FindTable( pTblFmt );
- const SwTableBox* pFoundBox ;
- pFoundBox = FindBox(pTable, pBox);
- if(!pFoundBox)
- pBox = 0;
+ SwTableBox const*const pFoundBox =
+ const_cast<SwXCell*>(this)->FindBox(pTable, pBox);
+ if (!pFoundBox)
+ {
+ const_cast<SwXCell*>(this)->pBox = 0;
+ }
}
return 0 != pBox;
}
@@ -1037,10 +1040,11 @@ uno::Reference< text::XTextCursor > SwXCell::createTextCursor(void) throw( uno:
{
const SwStartNode* pSttNd = pStartNode ? pStartNode : pBox->GetSttNd();
SwPosition aPos(*pSttNd);
- SwXTextCursor* pCrsr = new SwXTextCursor(this, aPos, CURSOR_TBLTEXT, GetDoc());
- SwUnoCrsr* pUnoCrsr = pCrsr->GetCrsr();
+ SwXTextCursor *const pXCursor =
+ new SwXTextCursor(*GetDoc(), this, CURSOR_TBLTEXT, aPos);
+ SwUnoCrsr *const pUnoCrsr = pXCursor->GetCursor();
pUnoCrsr->Move(fnMoveForward, fnGoNode);
- aRef = (text::XWordCursor*)pCrsr;
+ aRef = static_cast<text::XWordCursor*>(pXCursor);
// // no Cursor in protected sections
// SwCrsrSaveState aSave( *pUnoCrsr );
// if(pUnoCrsr->IsInProtectTable( sal_True ) ||
@@ -1060,7 +1064,8 @@ uno::Reference< text::XTextCursor > SwXCell::createTextCursorByRange(const uno:
vos::OGuard aGuard(Application::GetSolarMutex());
uno::Reference< text::XTextCursor > aRef;
SwUnoInternalPaM aPam(*GetDoc());
- if((pStartNode || IsValid()) && SwXTextRange::XTextRangeToSwPaM(aPam, xTextPosition))
+ if ((pStartNode || IsValid())
+ && ::sw::XTextRangeToSwPaM(aPam, xTextPosition))
{
const SwStartNode* pSttNd = pStartNode ? pStartNode : pBox->GetSttNd();
//skip sections
@@ -1069,7 +1074,11 @@ uno::Reference< text::XTextCursor > SwXCell::createTextCursorByRange(const uno:
p1 = p1->StartOfSectionNode();
if( p1 == pSttNd )
- aRef = (text::XWordCursor*)new SwXTextCursor(this , *aPam.GetPoint(), CURSOR_TBLTEXT, GetDoc(), aPam.GetMark());
+ {
+ aRef = static_cast<text::XWordCursor*>(
+ new SwXTextCursor(*GetDoc(), this, CURSOR_TBLTEXT,
+ *aPam.GetPoint(), aPam.GetMark()));
+ }
}
else
throw uno::RuntimeException();
@@ -1212,15 +1221,16 @@ uno::Reference< container::XEnumeration > SwXCell::createEnumeration(void) thro
{
const SwStartNode* pSttNd = pBox->GetSttNd();
SwPosition aPos(*pSttNd);
- SwUnoCrsr* pUnoCrsr = GetDoc()->CreateUnoCrsr(aPos, sal_False);
- pUnoCrsr->Move( fnMoveForward, fnGoNode );
+ ::std::auto_ptr<SwUnoCrsr> pUnoCursor(
+ GetDoc()->CreateUnoCrsr(aPos, sal_False));
+ pUnoCursor->Move(fnMoveForward, fnGoNode);
- SwXParagraphEnumeration *pEnum = new SwXParagraphEnumeration(this, pUnoCrsr, CURSOR_TBLTEXT);
- const SwTableNode* pTblNode = pSttNd->FindTableNode();
// remember table and start node for later travelling
// (used in export of tables in tables)
- pEnum->SetOwnTable( &pTblNode->GetTable() );
- pEnum->SetOwnStartNode( pSttNd );
+ SwTable const*const pTable( & pSttNd->FindTableNode()->GetTable() );
+ SwXParagraphEnumeration *const pEnum =
+ new SwXParagraphEnumeration(this, pUnoCursor, CURSOR_TBLTEXT,
+ pSttNd, pTable);
aRef = pEnum;
// // no Cursor in protected sections
@@ -1854,12 +1864,6 @@ uno::Reference< beans::XPropertySetInfo > SwXTextTableCursor::getPropertySetInf
/*-- 11.12.98 12:16:17---------------------------------------------------
-----------------------------------------------------------------------*/
-extern sal_Bool lcl_setCrsrPropertyValue(const SfxItemPropertySimpleEntry* pEntry,
- SwPaM& rPam,
- SfxItemSet& rSet,
- const uno::Any& aValue ) throw (lang::IllegalArgumentException);
-
-
void SwXTextTableCursor::setPropertyValue(const OUString& rPropertyName,
const uno::Any& aValue)
throw( beans::UnknownPropertyException,
@@ -1903,16 +1907,21 @@ void SwXTextTableCursor::setPropertyValue(const OUString& rPropertyName,
}
break;
case FN_UNO_PARA_STYLE:
- lcl_SetTxtFmtColl(aValue, *pUnoCrsr);
+ SwUnoCursorHelper::SetTxtFmtColl(aValue, *pUnoCrsr);
break;
default:
{
SfxItemSet aItemSet( pDoc->GetAttrPool(), pEntry->nWID, pEntry->nWID );
- SwXTextCursor::GetCrsrAttr( pTblCrsr->GetSelRing(), aItemSet );
+ SwUnoCursorHelper::GetCrsrAttr(pTblCrsr->GetSelRing(),
+ aItemSet);
- if(!lcl_setCrsrPropertyValue( pEntry, pTblCrsr->GetSelRing(), aItemSet, aValue ))
- m_pPropSet->setPropertyValue( *pEntry, aValue, aItemSet );
- SwXTextCursor::SetCrsrAttr( pTblCrsr->GetSelRing(), aItemSet, CRSR_ATTR_MODE_TABLE );
+ if (!SwUnoCursorHelper::SetCursorPropertyValue(
+ *pEntry, aValue, pTblCrsr->GetSelRing(), aItemSet))
+ {
+ m_pPropSet->setPropertyValue(*pEntry, aValue, aItemSet);
+ }
+ SwUnoCursorHelper::SetCrsrAttr(pTblCrsr->GetSelRing(),
+ aItemSet, nsSetAttrMode::SETATTR_DEFAULT, true);
}
}
}
@@ -1956,7 +1965,8 @@ uno::Any SwXTextTableCursor::getPropertyValue(const OUString& rPropertyName)
break;
case FN_UNO_PARA_STYLE:
{
- SwFmtColl* pFmt = SwXTextCursor::GetCurTxtFmtColl(*pUnoCrsr, FALSE);
+ SwFmtColl *const pFmt =
+ SwUnoCursorHelper::GetCurTxtFmtColl(*pUnoCrsr, FALSE);
OUString sRet;
if(pFmt)
sRet = pFmt->GetName();
@@ -1970,7 +1980,8 @@ uno::Any SwXTextTableCursor::getPropertyValue(const OUString& rPropertyName)
RES_UNKNOWNATR_CONTAINER, RES_UNKNOWNATR_CONTAINER,
0L);
// erstmal die Attribute des Cursors
- SwXTextCursor::GetCrsrAttr(pTblCrsr->GetSelRing(), aSet);
+ SwUnoCursorHelper::GetCrsrAttr(pTblCrsr->GetSelRing(),
+ aSet);
m_pPropSet->getPropertyValue(*pEntry, aSet, aRet);
}
}
@@ -2469,7 +2480,7 @@ void SwXTextTable::attachToRange(const uno::Reference< text::XTextRange > & xTex
{
SwUnoInternalPaM aPam(*pDoc);
//das muss jetzt sal_True liefern
- SwXTextRange::XTextRangeToSwPaM(aPam, xTextRange);
+ ::sw::XTextRangeToSwPaM(aPam, xTextRange);
{
UnoActionContext aCont( pDoc );
@@ -3162,7 +3173,8 @@ uno::Sequence< beans::PropertyValue > SwXTextTable::createSortDescriptor(void)
throw( uno::RuntimeException )
{
vos::OGuard aGuard(Application::GetSolarMutex());
- return SwXTextCursor::createSortDescriptor(sal_True);
+
+ return SwUnoCursorHelper::CreateSortDescriptor(true);
}
/*-- 11.12.98 12:42:49---------------------------------------------------
@@ -3174,7 +3186,7 @@ void SwXTextTable::sort(const uno::Sequence< beans::PropertyValue >& rDescriptor
SwSortOptions aSortOpt;
SwFrmFmt* pFmt = GetFrmFmt();
if(pFmt &&
- SwXTextCursor::convertSortProperties(rDescriptor, aSortOpt))
+ SwUnoCursorHelper::ConvertSortProperties(rDescriptor, aSortOpt))
{
SwTable* pTable = SwTable::FindTable( pFmt );
SwSelBoxes aBoxes;
@@ -3474,7 +3486,8 @@ uno::Any SwXTextTable::getPropertyValue(const OUString& rPropertyName) throw( be
case FN_UNO_ANCHOR_TYPES:
case FN_UNO_TEXT_WRAP:
case FN_UNO_ANCHOR_TYPE:
- SwXParagraph::getDefaultTextContentValue(aRet, OUString(), pEntry->nWID);
+ ::sw::GetDefaultTextContentValue(
+ aRet, OUString(), pEntry->nWID);
break;
case FN_UNO_RANGE_ROW_LABEL:
{
@@ -4157,11 +4170,16 @@ void SwXCellRange::setPropertyValue(const OUString& rPropertyName,
default:
{
SfxItemSet aItemSet( pDoc->GetAttrPool(), pEntry->nWID, pEntry->nWID );
- SwXTextCursor::GetCrsrAttr( pCrsr->GetSelRing(), aItemSet );
+ SwUnoCursorHelper::GetCrsrAttr(pCrsr->GetSelRing(),
+ aItemSet);
- if(!lcl_setCrsrPropertyValue( pEntry, pCrsr->GetSelRing(), aItemSet, aValue ))
- m_pPropSet->setPropertyValue(*pEntry, aValue, aItemSet );
- SwXTextCursor::SetCrsrAttr(pCrsr->GetSelRing(), aItemSet, CRSR_ATTR_MODE_TABLE );
+ if (!SwUnoCursorHelper::SetCursorPropertyValue(
+ *pEntry, aValue, pCrsr->GetSelRing(), aItemSet))
+ {
+ m_pPropSet->setPropertyValue(*pEntry, aValue, aItemSet);
+ }
+ SwUnoCursorHelper::SetCrsrAttr(pCrsr->GetSelRing(),
+ aItemSet, nsSetAttrMode::SETATTR_DEFAULT, true);
}
}
}
@@ -4214,7 +4232,8 @@ uno::Any SwXCellRange::getPropertyValue(const OUString& rPropertyName) throw( be
break;
case FN_UNO_PARA_STYLE:
{
- SwFmtColl* pTmpFmt = SwXTextCursor::GetCurTxtFmtColl(*pTblCrsr, FALSE);
+ SwFmtColl *const pTmpFmt =
+ SwUnoCursorHelper::GetCurTxtFmtColl(*pTblCrsr, FALSE);
OUString sRet;
if(pFmt)
sRet = pTmpFmt->GetName();
@@ -4242,7 +4261,7 @@ uno::Any SwXCellRange::getPropertyValue(const OUString& rPropertyName) throw( be
0L);
// erstmal die Attribute des Cursors
SwUnoTableCrsr* pCrsr = dynamic_cast<SwUnoTableCrsr*>(pTblCrsr);
- SwXTextCursor::GetCrsrAttr(pCrsr->GetSelRing(), aSet);
+ SwUnoCursorHelper::GetCrsrAttr(pCrsr->GetSelRing(), aSet);
m_pPropSet->getPropertyValue(*pEntry, aSet, aRet);
}
}
@@ -4875,7 +4894,8 @@ double SwXCellRange::getNotANumber(void) throw( uno::RuntimeException )
uno::Sequence< beans::PropertyValue > SwXCellRange::createSortDescriptor(void) throw( uno::RuntimeException )
{
vos::OGuard aGuard(Application::GetSolarMutex());
- return SwXTextCursor::createSortDescriptor(sal_True);
+
+ return SwUnoCursorHelper::CreateSortDescriptor(true);
}
/*-- 11.12.98 14:27:39---------------------------------------------------
@@ -4887,7 +4907,7 @@ void SAL_CALL SwXCellRange::sort(const uno::Sequence< beans::PropertyValue >& rD
SwSortOptions aSortOpt;
SwFrmFmt* pFmt = GetFrmFmt();
if(pFmt &&
- SwXTextCursor::convertSortProperties(rDescriptor, aSortOpt))
+ SwUnoCursorHelper::ConvertSortProperties(rDescriptor, aSortOpt))
{
SwUnoTableCrsr* pTableCrsr = dynamic_cast<SwUnoTableCrsr*>(pTblCrsr);
pTableCrsr->MakeBoxSels();
diff --git a/sw/source/core/unocore/unotext.cxx b/sw/source/core/unocore/unotext.cxx
index 0373d8877a..133ad4d278 100644
--- a/sw/source/core/unocore/unotext.cxx
+++ b/sw/source/core/unocore/unotext.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unotext.cxx,v $
- * $Revision: 1.41 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -34,12 +31,22 @@
#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
#include <com/sun/star/text/ControlCharacter.hpp>
+#include <com/sun/star/text/TableColumnSeparator.hpp>
+
+#include <rtl/uuid.h>
-#include <cmdid.h>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include <rtl/uuid.h>
-#include <unoobj.hxx>
+#include <comphelper/sequence.hxx>
+
+#include <cmdid.h>
+#include <unotextbodyhf.hxx>
+#include <unotext.hxx>
+#include <unotextrange.hxx>
+#include <unotextcursor.hxx>
+#include <unosection.hxx>
+#include <unobookmark.hxx>
+#include <unorefmark.hxx>
#include <unoport.hxx>
#include <unotbl.hxx>
#include <unoidx.hxx>
@@ -51,6 +58,7 @@
#include <unomap.hxx>
#include <unoprnms.hxx>
#include <undobj.hxx>
+#include <unoparagraph.hxx>
#include <unocrsrhelper.hxx>
#include <docsh.hxx>
#include <docary.hxx>
@@ -60,37 +68,125 @@
#include <section.hxx>
#include <IMark.hxx>
#include <fmtanchr.hxx>
+#include <fmtcntnt.hxx>
#include <crsskip.hxx>
#include <ndtxt.hxx>
-#include <com/sun/star/text/TableColumnSeparator.hpp>
+
#include <memory>
#include <stdlib.h>
#include <iostream>
+
using namespace ::com::sun::star;
using ::rtl::OUString;
+
const sal_Char cInvalidObject[] = "this object is invalid";
+
/******************************************************************
* SwXText
******************************************************************/
+
+class SwXText::Impl
+{
+
+public:
+ SwXText & m_rThis;
+ SfxItemPropertySet const& m_rPropSet;
+ const enum CursorType m_eType;
+ SwDoc * m_pDoc;
+ bool m_bIsValid;
+
+ Impl( SwXText & rThis,
+ SwDoc *const pDoc, const enum CursorType eType)
+ : m_rThis(rThis)
+ , m_rPropSet(*aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT))
+ , m_eType(eType)
+ , m_pDoc(pDoc)
+ , m_bIsValid(0 != pDoc)
+ {
+ }
+
+ uno::Reference< text::XTextRange >
+ finishOrAppendParagraph(
+ const bool bFinish,
+ const uno::Sequence< beans::PropertyValue >&
+ rCharacterAndParagraphProperties)
+ throw (lang::IllegalArgumentException, uno::RuntimeException);
+
+ sal_Int16 ComparePositions(
+ const uno::Reference<text::XTextRange>& xPos1,
+ const uno::Reference<text::XTextRange>& xPos2)
+ throw (lang::IllegalArgumentException, uno::RuntimeException);
+
+ bool CheckForOwnMember(const SwPaM & rPaM)
+ throw (lang::IllegalArgumentException, uno::RuntimeException);
+
+ void ConvertCell(
+ const bool bFirstCell,
+ const uno::Sequence< uno::Reference< text::XTextRange > > & rCell,
+ ::std::vector<SwNodeRange> & rRowNodes,
+ ::std::auto_ptr< SwPaM > & rpFirstPaM,
+ SwPaM & rLastPaM,
+ bool & rbExcept);
+
+};
+
+/* -----------------------------15.03.2002 12:39------------------------------
+
+ ---------------------------------------------------------------------------*/
+SwXText::SwXText(SwDoc *const pDoc, const enum CursorType eType)
+ : m_pImpl( new SwXText::Impl(*this, pDoc, eType) )
+{
+}
+/*-- 09.12.98 12:43:55---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwXText::~SwXText()
+{
+}
+
/*-- 09.12.98 12:44:07---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXText::PrepareForAttach( ::com::sun::star::uno::Reference<
- ::com::sun::star::text::XTextRange > &,
- const SwXTextRange* const, const SwPaM * const)
+const SwDoc * SwXText::GetDoc() const
+{
+ return m_pImpl->m_pDoc;
+}
+ SwDoc * SwXText::GetDoc()
{
+ return m_pImpl->m_pDoc;
}
-bool SwXText::CheckForOwnMemberMeta(const SwXTextRange* const,
- const SwPaM* const, bool)
- throw (::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException)
+bool SwXText::IsValid() const
{
- ASSERT(CURSOR_META != eCrsrType, "should not be called!");
+ return m_pImpl->m_bIsValid;
+}
+
+void SwXText::Invalidate()
+{
+ m_pImpl->m_bIsValid = false;
+}
+
+void SwXText::SetDoc(SwDoc *const pDoc)
+{
+ OSL_ENSURE(!m_pImpl->m_pDoc || !pDoc,
+ "SwXText::SetDoc: already have a doc?");
+ m_pImpl->m_pDoc = pDoc;
+ m_pImpl->m_bIsValid = (0 != pDoc);
+}
+
+void
+SwXText::PrepareForAttach(uno::Reference< text::XTextRange > &, const SwPaM &)
+{
+}
+
+bool SwXText::CheckForOwnMemberMeta(const SwPaM &, const bool)
+ throw (lang::IllegalArgumentException, uno::RuntimeException)
+{
+ ASSERT(CURSOR_META != m_pImpl->m_eType, "should not be called!");
return false;
}
@@ -99,7 +195,8 @@ const SwStartNode *SwXText::GetStartNode() const
return GetDoc()->GetNodes().GetEndOfContent().StartOfSectionNode();
}
-uno::Reference< text::XTextCursor > SwXText::createCursor() throw (uno::RuntimeException)
+uno::Reference< text::XTextCursor >
+SwXText::CreateCursor() throw (uno::RuntimeException)
{
uno::Reference< text::XTextCursor > xRet;
if(IsValid())
@@ -107,546 +204,457 @@ uno::Reference< text::XTextCursor > SwXText::createCursor() throw (uno::Runtim
SwNode& rNode = GetDoc()->GetNodes().GetEndOfContent();
SwPosition aPos(rNode);
xRet = static_cast<text::XWordCursor*>(
- new SwXTextCursor(this, aPos, GetTextType(), GetDoc()));
+ new SwXTextCursor(*GetDoc(), this, m_pImpl->m_eType, aPos));
xRet->gotoStart(sal_False);
}
return xRet;
}
-/* -----------------------------15.03.2002 12:39------------------------------
-
- ---------------------------------------------------------------------------*/
-SwXText::SwXText(SwDoc* pDc, CursorType eType) :
- pDoc(pDc),
- bObjectValid(0 != pDc),
- eCrsrType(eType),
- m_pPropSet(aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT))
-{
-}
-/*-- 09.12.98 12:43:55---------------------------------------------------
- -----------------------------------------------------------------------*/
-SwXText::~SwXText()
-{
-}
/*-- 09.12.98 12:43:02---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SAL_CALL SwXText::queryInterface( const uno::Type& rType ) throw(uno::RuntimeException)
-{
- const uno::Type& rXTextType = ::getCppuType((uno::Reference< text::XText >*)0);
- const uno::Type& rXTextRangeCompareType = ::getCppuType((uno::Reference< text::XTextRangeCompare >*)0);
- const uno::Type& rXSimpleTextType = ::getCppuType((const uno::Reference< XSimpleText >*)0);
- const uno::Type& rXTextRangeType = ::getCppuType((uno::Reference< text::XTextRange >*)0);
- const uno::Type& rXTypeProviderType = ::getCppuType((uno::Reference< lang::XTypeProvider >*)0);
- const uno::Type& rXTextContentInsert = ::getCppuType((uno::Reference< text::XRelativeTextContentInsert >*)0);
- const uno::Type& rXTextContentRemove = ::getCppuType((uno::Reference< text::XRelativeTextContentRemove >*)0);
- const uno::Type& rXPropertySet = ::getCppuType((uno::Reference<beans::XPropertySet>*)0);
- const uno::Type& rXUnoTunnel = ::getCppuType((uno::Reference< lang::XUnoTunnel >*)0);
- const uno::Type& rXTextPortionAppend = ::getCppuType((uno::Reference< text::XTextPortionAppend >*)0);
- const uno::Type& rXParagraphAppend = ::getCppuType((uno::Reference< text::XParagraphAppend >*)0);
- const uno::Type& rXTextContentAppend = ::getCppuType((uno::Reference< text::XTextContentAppend >*)0);
- const uno::Type& rXTextConvert = ::getCppuType((uno::Reference< text::XTextConvert >*)0);
- const uno::Type& rXTextAppend = ::getCppuType((uno::Reference< text::XTextAppend >*)0);
- const uno::Type& rXTextAppendAndConvert = ::getCppuType((uno::Reference< text::XTextAppendAndConvert >*)0);
-
+uno::Any SAL_CALL
+SwXText::queryInterface(const uno::Type& rType) throw (uno::RuntimeException)
+{
uno::Any aRet;
- if(rType == rXTextType)
+ if (rType == text::XText::static_type())
{
- uno::Reference< text::XText > xRet = this;
- aRet.setValue(&xRet, rXTextType);
+ aRet <<= uno::Reference< text::XText >(this);
}
- else if(rType == rXSimpleTextType)
+ else if (rType == text::XSimpleText::static_type())
{
- uno::Reference< XSimpleText > xRet = this;
- aRet.setValue(&xRet, rXSimpleTextType);
+ aRet <<= uno::Reference< text::XSimpleText >(this);
}
- else if(rType == rXTextRangeType)
+ else if (rType == text::XTextRange::static_type())
{
- uno::Reference< text::XTextRange > xRet = this;
- aRet.setValue(&xRet, rXTextRangeType);
+ aRet <<= uno::Reference< text::XTextRange>(this);
}
- else if(rType == rXTextRangeCompareType)
+ else if (rType == text::XTextRangeCompare::static_type())
{
- uno::Reference< text::XTextRangeCompare > xRet = this;
- aRet.setValue(&xRet, rXTextRangeCompareType);
+ aRet <<= uno::Reference< text::XTextRangeCompare >(this);
}
- else if(rType == rXTypeProviderType)
+ else if (rType == lang::XTypeProvider::static_type())
{
- uno::Reference< lang::XTypeProvider > xRet = this;
- aRet.setValue(&xRet, rXTypeProviderType);
+ aRet <<= uno::Reference< lang::XTypeProvider >(this);
}
- else if(rType == rXTextContentInsert)
+ else if (rType == text::XRelativeTextContentInsert::static_type())
{
- uno::Reference< text::XRelativeTextContentInsert > xRet = this;
- aRet.setValue(&xRet, rXTextContentInsert);
+ aRet <<= uno::Reference< text::XRelativeTextContentInsert >(this);
}
- else if(rType == rXTextContentRemove)
+ else if (rType == text::XRelativeTextContentRemove::static_type())
{
- uno::Reference< text::XRelativeTextContentRemove > xRet = this;
- aRet.setValue(&xRet, rXTextContentRemove);
+ aRet <<= uno::Reference< text::XRelativeTextContentRemove >(this);
}
- else if(rType == rXPropertySet)
+ else if (rType == beans::XPropertySet::static_type())
{
- uno::Reference< beans::XPropertySet > xRet = this;
- aRet.setValue(&xRet, rXPropertySet);
+ aRet <<= uno::Reference< beans::XPropertySet >(this);
}
- else if(rType == rXUnoTunnel )
+ else if (rType == lang::XUnoTunnel::static_type())
{
- uno::Reference< lang::XUnoTunnel > xRet = this;
- aRet.setValue(&xRet, rXUnoTunnel);
+ aRet <<= uno::Reference< lang::XUnoTunnel >(this);
}
- else if(rType == rXTextAppendAndConvert )
+ else if (rType == text::XTextAppendAndConvert::static_type())
{
- uno::Reference< XTextAppendAndConvert > xRet = this;
- aRet.setValue(&xRet, rXTextAppendAndConvert);
+ aRet <<= uno::Reference< text::XTextAppendAndConvert >(this);
}
- else if(rType == rXTextAppend )
+ else if (rType == text::XTextAppend::static_type())
{
- uno::Reference< XTextAppend > xRet = this;
- aRet.setValue(&xRet, rXTextAppend);
+ aRet <<= uno::Reference< text::XTextAppend >(this);
}
- else if(rType == rXTextPortionAppend )
+ else if (rType == text::XTextPortionAppend::static_type())
{
- uno::Reference< XTextPortionAppend > xRet = this;
- aRet.setValue(&xRet, rXTextPortionAppend);
+ aRet <<= uno::Reference< text::XTextPortionAppend >(this);
}
- else if(rType == rXParagraphAppend )
+ else if (rType == text::XParagraphAppend::static_type())
{
- uno::Reference< XParagraphAppend > xRet = this;
- aRet.setValue(&xRet, rXParagraphAppend );
+ aRet <<= uno::Reference< text::XParagraphAppend >(this);
}
- else if(rType == rXTextConvert )
+ else if (rType == text::XTextConvert::static_type() )
{
- uno::Reference< XTextConvert > xRet = this;
- aRet.setValue(&xRet, rXParagraphAppend );
+ aRet <<= uno::Reference< text::XTextConvert >(this);
}
- else if(rType == rXTextContentAppend )
+ else if (rType == text::XTextContentAppend::static_type())
{
- uno::Reference< XTextContentAppend > xRet = this;
- aRet.setValue(&xRet, rXTextContentAppend );
+ aRet <<= uno::Reference< text::XTextContentAppend >(this);
}
return aRet;
}
/* -----------------------------15.03.00 17:42--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< uno::Type > SAL_CALL SwXText::getTypes() throw(uno::RuntimeException)
+uno::Sequence< uno::Type > SAL_CALL
+SwXText::getTypes() throw (uno::RuntimeException)
{
uno::Sequence< uno::Type > aRet(12);
uno::Type* pTypes = aRet.getArray();
- pTypes[0] = ::getCppuType((uno::Reference< text::XText >*)0);
- pTypes[1] = ::getCppuType((uno::Reference< text::XTextRangeCompare >*)0);
- pTypes[2] = ::getCppuType((uno::Reference< text::XRelativeTextContentInsert >*)0);
- pTypes[3] = ::getCppuType((uno::Reference< text::XRelativeTextContentRemove >*)0);
- pTypes[4] = ::getCppuType((uno::Reference< lang::XUnoTunnel >*)0);
- pTypes[5] = ::getCppuType((uno::Reference< beans::XPropertySet >*)0);
- pTypes[6] = ::getCppuType((uno::Reference< text::XTextPortionAppend >*)0);
- pTypes[7] = ::getCppuType((uno::Reference< text::XParagraphAppend >*)0);
- pTypes[8] = ::getCppuType((uno::Reference< text::XTextContentAppend >*)0);
- pTypes[9] = ::getCppuType((uno::Reference< text::XTextConvert >*)0);
- pTypes[10] = ::getCppuType((uno::Reference< text::XTextAppend >*)0);
- pTypes[11] = ::getCppuType((uno::Reference< text::XTextAppendAndConvert >*)0);
+ pTypes[0] = text::XText::static_type();
+ pTypes[1] = text::XTextRangeCompare::static_type();
+ pTypes[2] = text::XRelativeTextContentInsert::static_type();
+ pTypes[3] = text::XRelativeTextContentRemove::static_type();
+ pTypes[4] = lang::XUnoTunnel::static_type();
+ pTypes[5] = beans::XPropertySet::static_type();
+ pTypes[6] = text::XTextPortionAppend::static_type();
+ pTypes[7] = text::XParagraphAppend::static_type();
+ pTypes[8] = text::XTextContentAppend::static_type();
+ pTypes[9] = text::XTextConvert::static_type();
+ pTypes[10] = text::XTextAppend::static_type();
+ pTypes[11] = text::XTextAppendAndConvert::static_type();
return aRet;
}
// belongs the range in the text ? insert it then.
-void SwXText::insertString(const uno::Reference< text::XTextRange >& xTextRange,
- const OUString& aString,
- sal_Bool bAbsorb)
- throw( uno::RuntimeException )
+void SAL_CALL
+SwXText::insertString(const uno::Reference< text::XTextRange >& xTextRange,
+ const OUString& rString, sal_Bool bAbsorb)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(GetDoc() && xTextRange.is())
+
+ if (!xTextRange.is())
+ {
+ throw uno::RuntimeException();
+ }
+ if (!GetDoc())
+ {
+ throw uno::RuntimeException();
+ }
+ const uno::Reference<lang::XUnoTunnel> xRangeTunnel(xTextRange,
+ uno::UNO_QUERY);
+ SwXTextRange *const pRange =
+ ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel);
+ OTextCursorHelper *const pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xRangeTunnel);
+ if ((!pRange || pRange ->GetDoc() != GetDoc()) &&
+ (!pCursor || pCursor->GetDoc() != GetDoc()))
{
- uno::Reference<lang::XUnoTunnel> xRangeTunnel( xTextRange, uno::UNO_QUERY);
- SwXTextRange* pRange = 0;
- OTextCursorHelper* pCursor = 0;
- if(xRangeTunnel.is())
+ throw uno::RuntimeException();
+ }
+
+ const SwStartNode *const pOwnStartNode = GetStartNode();
+ SwPaM aPam(GetDoc()->GetNodes());
+ const SwPaM * pPam(0);
+ if (pCursor)
+ {
+ pPam = pCursor->GetPaM();
+ }
+ else // pRange
+ {
+ if (pRange->GetPositions(aPam))
{
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
+ pPam = &aPam;
}
+ }
+ if (!pPam)
+ {
+ throw uno::RuntimeException();
+ }
- if(pRange && pRange->GetDoc() == GetDoc() ||
- pCursor && pCursor->GetDoc() == GetDoc())
+ const SwStartNode* pTmp(pPam->GetNode()->StartOfSectionNode());
+ while (pTmp && pTmp->IsSectionNode())
+ {
+ pTmp = pTmp->StartOfSectionNode();
+ }
+ if (!pOwnStartNode || (pOwnStartNode != pTmp))
+ {
+ throw uno::RuntimeException();
+ }
+
+ bool bForceExpandHints( false );
+ if (CURSOR_META == m_pImpl->m_eType)
+ {
+ try
{
- const SwStartNode* pOwnStartNode = GetStartNode();
- if(pCursor)
- {
- const SwStartNode* pTmp = pCursor->GetPaM()->GetNode()->StartOfSectionNode();
- while(pTmp && pTmp->IsSectionNode())
- {
- pTmp = pTmp->StartOfSectionNode();
- }
- if( !pOwnStartNode || pOwnStartNode != pTmp)
- {
- throw uno::RuntimeException();
- }
- }
- else //dann pRange
- {
- ::sw::mark::IMark const * const pBkmk = pRange->GetBookmark();
- const SwStartNode* pTmp = pBkmk->GetMarkPos().nNode.GetNode().StartOfSectionNode();
- while(pTmp && pTmp->IsSectionNode())
- pTmp = pTmp->StartOfSectionNode();
- if(!pOwnStartNode || pOwnStartNode != pTmp)
- throw uno::RuntimeException();
- }
- bool bForceExpandHints( false );
- if (CURSOR_META == eCrsrType)
- {
- try
- {
- bForceExpandHints = CheckForOwnMemberMeta(
- pRange, (pCursor) ? pCursor->GetPaM() : 0, bAbsorb);
- }
- catch (lang::IllegalArgumentException & iae)
- {
- // stupid method not allowed to throw iae
- throw uno::RuntimeException(iae.Message, 0);
- }
- }
- if(bAbsorb)
+ bForceExpandHints = CheckForOwnMemberMeta(*pPam, bAbsorb);
+ }
+ catch (lang::IllegalArgumentException & iae)
+ {
+ // stupid method not allowed to throw iae
+ throw uno::RuntimeException(iae.Message, 0);
+ }
+ }
+ if (bAbsorb)
+ {
+ //!! scan for CR characters and inserting the paragraph breaks
+ //!! has to be done in the called function.
+ //!! Implemented in SwXTextRange::DeleteAndInsert
+ if (pCursor)
+ {
+ SwXTextCursor * const pTextCursor(
+ dynamic_cast<SwXTextCursor*>(pCursor) );
+ if (pTextCursor)
{
- //!! scan for CR characters and inserting the paragraph breaks
- //!! has to be done in the called function.
- //!! Implemented in SwXTextRange::DeleteAndInsert
- if (pCursor)
- {
- SwXTextCursor * const pTextCursor( dynamic_cast<SwXTextCursor*>(pCursor) );
- if (pTextCursor)
- {
- pTextCursor->DeleteAndInsert(aString, bForceExpandHints);
- }
- else
- {
- xTextRange->setString(aString);
- }
- }
- else
- {
- pRange->DeleteAndInsert(aString, bForceExpandHints);
- }
+ pTextCursor->DeleteAndInsert(rString, bForceExpandHints);
}
else
{
- //hier wird ein PaM angelegt, der vor dem Parameter-PaM liegt, damit der
- //Text davor eingefuegt wird
- UnoActionContext aContext(GetDoc());
- const SwPosition* pPos = pCursor
- ? pCursor->GetPaM()->Start()
- : &pRange->GetBookmark()->GetMarkStart();
- SwPaM aInsertPam(*pPos);
- const sal_Bool bGroupUndo = GetDoc()->DoesGroupUndo();
- GetDoc()->DoGroupUndo(sal_False);
-
- SwUnoCursorHelper::DocInsertStringSplitCR(
- *GetDoc(), aInsertPam, aString, bForceExpandHints );
- GetDoc()->DoGroupUndo(bGroupUndo);
+ xTextRange->setString(rString);
}
}
else
- throw uno::RuntimeException();
+ {
+ pRange->DeleteAndInsert(rString, bForceExpandHints);
+ }
}
else
- throw uno::RuntimeException();
+ {
+ // create a PaM positioned before the parameter PaM,
+ // so the text is inserted before
+ UnoActionContext aContext(GetDoc());
+ SwPaM aInsertPam(*pPam->Start());
+ const sal_Bool bGroupUndo = GetDoc()->DoesGroupUndo();
+ GetDoc()->DoGroupUndo(sal_False);
+
+ SwUnoCursorHelper::DocInsertStringSplitCR(
+ *GetDoc(), aInsertPam, rString, bForceExpandHints );
+ GetDoc()->DoGroupUndo(bGroupUndo);
+ }
}
/*-- 09.12.98 12:43:16---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXText::insertControlCharacter(const uno::Reference< text::XTextRange > & xTextRange,
- sal_Int16 nControlCharacter, sal_Bool bAbsorb)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
+void SAL_CALL
+SwXText::insertControlCharacter(
+ const uno::Reference< text::XTextRange > & xTextRange,
+ sal_Int16 nControlCharacter, sal_Bool bAbsorb)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if (!xTextRange.is())
+ {
throw lang::IllegalArgumentException();
- if (GetDoc())
+ }
+ if (!GetDoc())
{
- SwUnoInternalPaM aPam(*GetDoc());
- if(SwXTextRange::XTextRangeToSwPaM(aPam, xTextRange))
+ throw uno::RuntimeException();
+ }
+
+ SwUnoInternalPaM aPam(*GetDoc());
+ if (!::sw::XTextRangeToSwPaM(aPam, xTextRange))
+ {
+ throw uno::RuntimeException();
+ }
+ const bool bForceExpandHints(CheckForOwnMemberMeta(aPam, bAbsorb));
+
+ const enum IDocumentContentOperations::InsertFlags nInsertFlags =
+ (bForceExpandHints)
+ ? static_cast<IDocumentContentOperations::InsertFlags>(
+ IDocumentContentOperations::INS_FORCEHINTEXPAND |
+ IDocumentContentOperations::INS_EMPTYEXPAND)
+ : IDocumentContentOperations::INS_EMPTYEXPAND;
+
+ SwPaM aTmp(*aPam.Start());
+ if (bAbsorb && aPam.HasMark())
+ {
+ m_pImpl->m_pDoc->DeleteAndJoin(aPam);
+ }
+
+ sal_Unicode cIns = 0;
+ switch (nControlCharacter)
+ {
+ case text::ControlCharacter::PARAGRAPH_BREAK :
+ // a table cell now becomes an ordinary text cell!
+ m_pImpl->m_pDoc->ClearBoxNumAttrs( aTmp.GetPoint()->nNode );
+ m_pImpl->m_pDoc->SplitNode( *aTmp.GetPoint(), sal_False );
+ break;
+ case text::ControlCharacter::APPEND_PARAGRAPH:
{
- const bool bForceExpandHints(
- CheckForOwnMemberMeta( 0, &aPam, bAbsorb) );
-
- const enum IDocumentContentOperations::InsertFlags nInsertFlags =
- (bForceExpandHints)
- ? static_cast<IDocumentContentOperations::InsertFlags>(
- IDocumentContentOperations::INS_FORCEHINTEXPAND |
- IDocumentContentOperations::INS_EMPTYEXPAND)
- : IDocumentContentOperations::INS_EMPTYEXPAND;
-
- //Steuerzeichen einfuegen
- SwPaM aTmp(*aPam.Start());
- if(bAbsorb && aPam.HasMark())
+ m_pImpl->m_pDoc->ClearBoxNumAttrs( aTmp.GetPoint()->nNode );
+ m_pImpl->m_pDoc->AppendTxtNode( *aTmp.GetPoint() );
+
+ const uno::Reference<lang::XUnoTunnel> xRangeTunnel(
+ xTextRange, uno::UNO_QUERY);
+ SwXTextRange *const pRange =
+ ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel);
+ OTextCursorHelper *const pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(
+ xRangeTunnel);
+ if (pRange)
{
- pDoc->DeleteAndJoin(aPam);
+ pRange->SetPositions(aTmp);
}
-
- sal_Unicode cIns = 0;
- switch( nControlCharacter )
+ else if (pCursor)
{
- case text::ControlCharacter::PARAGRAPH_BREAK :
- // eine Tabellen Zelle wird jetzt zu einer normalen Textzelle!
- pDoc->ClearBoxNumAttrs( aTmp.GetPoint()->nNode );
- pDoc->SplitNode( *aTmp.GetPoint(), sal_False );
- break;
- case text::ControlCharacter::APPEND_PARAGRAPH:
- {
- pDoc->ClearBoxNumAttrs( aTmp.GetPoint()->nNode );
- pDoc->AppendTxtNode( *aTmp.GetPoint() );
-
- uno::Reference<lang::XUnoTunnel> xRangeTunnel( xTextRange, uno::UNO_QUERY);
- SwXTextRange* pRange = 0;
- OTextCursorHelper* pCursor = 0;
- if(xRangeTunnel.is())
- {
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
- }
- if(pRange)
- {
- pRange->_CreateNewBookmark(aTmp);
- }
- else if(pCursor)
- {
- SwPaM* pCrsr = pCursor->GetPaM();
- *pCrsr->GetPoint() = *aTmp.GetPoint();
- pCrsr->DeleteMark();
- }
- }
- break;
- case text::ControlCharacter::LINE_BREAK: cIns = 10; break;
- case text::ControlCharacter::SOFT_HYPHEN: cIns = CHAR_SOFTHYPHEN; break;
- case text::ControlCharacter::HARD_HYPHEN: cIns = CHAR_HARDHYPHEN; break;
- case text::ControlCharacter::HARD_SPACE: cIns = CHAR_HARDBLANK; break;
+ SwPaM *const pCrsr = pCursor->GetPaM();
+ *pCrsr->GetPoint() = *aTmp.GetPoint();
+ pCrsr->DeleteMark();
}
- if( cIns )
+ }
+ break;
+ case text::ControlCharacter::LINE_BREAK: cIns = 10; break;
+ case text::ControlCharacter::SOFT_HYPHEN: cIns = CHAR_SOFTHYPHEN; break;
+ case text::ControlCharacter::HARD_HYPHEN: cIns = CHAR_HARDHYPHEN; break;
+ case text::ControlCharacter::HARD_SPACE: cIns = CHAR_HARDBLANK; break;
+ }
+ if (cIns)
+ {
+ m_pImpl->m_pDoc->InsertString( aTmp, cIns, nInsertFlags );
+ }
+
+ if (bAbsorb)
+ {
+ const uno::Reference<lang::XUnoTunnel> xRangeTunnel(
+ xTextRange, uno::UNO_QUERY);
+ SwXTextRange *const pRange =
+ ::sw::UnoTunnelGetImplementation<SwXTextRange>(xRangeTunnel);
+ OTextCursorHelper *const pCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xRangeTunnel);
+
+ SwCursor aCrsr(*aTmp.GetPoint(),0,false);
+ SwUnoCursorHelper::SelectPam(aCrsr, true);
+ aCrsr.Left(1, CRSR_SKIP_CHARS, FALSE, FALSE);
+ //hier muss der uebergebene PaM umgesetzt werden:
+ if (pRange)
+ {
+ pRange->SetPositions(aCrsr);
+ }
+ else
+ {
+ SwPaM *const pUnoCrsr = pCursor->GetPaM();
+ *pUnoCrsr->GetPoint() = *aCrsr.GetPoint();
+ if (aCrsr.HasMark())
{
- pDoc->InsertString( aTmp, cIns, nInsertFlags );
+ pUnoCrsr->SetMark();
+ *pUnoCrsr->GetMark() = *aCrsr.GetMark();
}
-
- if(bAbsorb)
+ else
{
- uno::Reference<lang::XUnoTunnel> xRangeTunnel( xTextRange, uno::UNO_QUERY);
- SwXTextRange* pRange = 0;
- OTextCursorHelper* pCursor = 0;
- if(xRangeTunnel.is())
- {
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
- }
-
- SwCursor aCrsr(*aTmp.GetPoint(),0,false);
- SwXTextCursor::SelectPam(aCrsr, sal_True);
- aCrsr.Left(1, CRSR_SKIP_CHARS, FALSE, FALSE);
- //hier muss der uebergebene PaM umgesetzt werden:
- if(pRange)
- pRange->_CreateNewBookmark(aCrsr);
- else
- {
- SwPaM* pUnoCrsr = pCursor->GetPaM();
- *pUnoCrsr->GetPoint() = *aCrsr.GetPoint();
- if(aCrsr.HasMark())
- {
- pUnoCrsr->SetMark();
- *pUnoCrsr->GetMark() = *aCrsr.GetMark();
- }
- else
- pUnoCrsr->DeleteMark();
- }
+ pUnoCrsr->DeleteMark();
}
}
}
- else
- throw uno::RuntimeException();
}
+
/*-- 09.12.98 12:43:17---------------------------------------------------
-----------------------------------------------------------------------*/
-
-void SwXText::insertTextContent(const uno::Reference< text::XTextRange > & xRange,
- const uno::Reference< text::XTextContent > & xContent, sal_Bool bAbsorb)
- throw( lang::IllegalArgumentException, uno::RuntimeException )
+void SAL_CALL
+SwXText::insertTextContent(
+ const uno::Reference< text::XTextRange > & xRange,
+ const uno::Reference< text::XTextContent > & xContent,
+ sal_Bool bAbsorb)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- // erstmal testen, ob der Range an der richtigen Stelle ist und dann
- // am Sw-Content attachToRange aufrufen
+
+ if (!xRange.is())
+ {
+ lang::IllegalArgumentException aIllegal;
+ aIllegal.Message = C2U("first parameter invalid;");
+ throw aIllegal;
+ }
+ if (!xContent.is())
+ {
+ lang::IllegalArgumentException aIllegal;
+ aIllegal.Message += C2U("second parameter invalid");
+ throw aIllegal;
+ }
if(!GetDoc())
{
uno::RuntimeException aRuntime;
aRuntime.Message = C2U(cInvalidObject);
throw aRuntime;
}
- if(xRange.is() && xContent.is())
- {
- SwUnoInternalPaM aPam(*GetDoc());
- if(SwXTextRange::XTextRangeToSwPaM(aPam, xRange))
- {
- uno::Reference<lang::XUnoTunnel> xRangeTunnel( xRange, uno::UNO_QUERY);
- SwXTextRange* pRange = 0;
- OTextCursorHelper* pCursor = 0;
- SwXTextPortion* pPortion = 0;
- SwXText* pText = 0;
- if(xRangeTunnel.is())
- {
- pRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
- pPortion = reinterpret_cast< SwXTextPortion * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextPortion::getUnoTunnelId()) ));
- pText = reinterpret_cast< SwXText * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXText::getUnoTunnelId()) ));
- }
+ SwUnoInternalPaM aPam(*GetDoc());
+ if (!::sw::XTextRangeToSwPaM(aPam, xRange))
+ {
+ lang::IllegalArgumentException aIllegal;
+ aIllegal.Message = C2U("first parameter invalid");
+ throw aIllegal;
+ }
+ // first test if the range is at the right position, then call
+ // xContent->attach
+ const SwStartNode* pOwnStartNode = GetStartNode();
+ SwStartNodeType eSearchNodeType = SwNormalStartNode;
+ switch (m_pImpl->m_eType)
+ {
+ case CURSOR_FRAME: eSearchNodeType = SwFlyStartNode; break;
+ case CURSOR_TBLTEXT: eSearchNodeType = SwTableBoxStartNode; break;
+ case CURSOR_FOOTNOTE: eSearchNodeType = SwFootnoteStartNode; break;
+ case CURSOR_HEADER: eSearchNodeType = SwHeaderStartNode; break;
+ case CURSOR_FOOTER: eSearchNodeType = SwFooterStartNode; break;
+ //case CURSOR_INVALID:
+ //case CURSOR_BODY:
+ default:
+ break;
+ }
- uno::Reference< text::XTextCursor > xOwnCursor = createCursor();
- uno::Reference<lang::XUnoTunnel> xOwnTunnel( xOwnCursor, uno::UNO_QUERY);
-// OTextCursorHelper* pOwnCursor = reinterpret_cast< OTextCursorHelper * >(
-// sal::static_int_cast< sal_IntPtr >( xOwnTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
-
- const SwStartNode* pOwnStartNode = GetStartNode();
- SwStartNodeType eSearchNodeType = SwNormalStartNode;
- switch(eCrsrType)
- {
- case CURSOR_FRAME: eSearchNodeType = SwFlyStartNode; break;
- case CURSOR_TBLTEXT: eSearchNodeType = SwTableBoxStartNode; break;
- case CURSOR_FOOTNOTE: eSearchNodeType = SwFootnoteStartNode; break;
- case CURSOR_HEADER: eSearchNodeType = SwHeaderStartNode; break;
- case CURSOR_FOOTER: eSearchNodeType = SwFooterStartNode; break;
- //case CURSOR_INVALID:
- //case CURSOR_BODY:
- default:
- ;
- }
+ const SwStartNode* pTmp =
+ aPam.GetNode()->FindSttNodeByType(eSearchNodeType);
- const SwNode* pSrcNode = 0;
- if(pCursor && pCursor->GetPaM())
- {
- pSrcNode = pCursor->GetPaM()->GetNode();
- }
- else if (pRange && pRange->GetBookmark())
- {
- ::sw::mark::IMark const * const pBkmk = pRange->GetBookmark();
- pSrcNode = &pBkmk->GetMarkPos().nNode.GetNode();
- }
- else if (pPortion && pPortion->GetCursor())
- {
- pSrcNode = pPortion->GetCursor()->GetNode();
- }
- else if (pText)
- {
- uno::Reference<text::XTextCursor> xTextCursor = pText->createCursor();
- xTextCursor->gotoEnd(sal_True);
- uno::Reference<lang::XUnoTunnel> xCrsrTunnel( xTextCursor, uno::UNO_QUERY );
- pCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xCrsrTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
- pSrcNode = pCursor->GetPaM()->GetNode();
- }
- else
- throw lang::IllegalArgumentException();
+ // ignore SectionNodes
+ while (pTmp && pTmp->IsSectionNode())
+ {
+ pTmp = pTmp->StartOfSectionNode();
+ }
+ // if the document starts with a section
+ while (pOwnStartNode->IsSectionNode())
+ {
+ pOwnStartNode = pOwnStartNode->StartOfSectionNode();
+ }
+ // this checks if (this) and xRange are in the same text::XText interface
+ if (pOwnStartNode != pTmp)
+ {
+ uno::RuntimeException aRunException;
+ aRunException.Message = C2U("text interface and cursor not related");
+ throw aRunException;
+ }
- const SwStartNode* pTmp = pSrcNode->FindSttNodeByType(eSearchNodeType);
+ const bool bForceExpandHints(CheckForOwnMemberMeta(aPam, bAbsorb));
- //SectionNodes ueberspringen
- while(pTmp && pTmp->IsSectionNode())
- {
- pTmp = pTmp->StartOfSectionNode();
- }
- //if the document starts with a section
- while(pOwnStartNode->IsSectionNode())
- {
- pOwnStartNode = pOwnStartNode->StartOfSectionNode();
- }
- //this checks if (this) and xRange are in the same text::XText interface
- if(pOwnStartNode != pTmp)
- {
- uno::RuntimeException aRunException;
- aRunException.Message = C2U("text interface and cursor not related");
- throw aRunException;
- }
+ // special treatment for Contents that do not replace the range, but
+ // instead are "overlaid"
+ const uno::Reference<lang::XUnoTunnel> xContentTunnel(xContent,
+ uno::UNO_QUERY);
+ if (!xContentTunnel.is())
+ {
+ lang::IllegalArgumentException aArgException;
+ aArgException.Message =
+ C2U("text content does not support lang::XUnoTunnel");
+ throw aArgException;
+ }
+ SwXDocumentIndexMark *const pDocumentIndexMark =
+ ::sw::UnoTunnelGetImplementation<SwXDocumentIndexMark>(xContentTunnel);
+ SwXTextSection *const pSection =
+ ::sw::UnoTunnelGetImplementation<SwXTextSection>(xContentTunnel);
+ SwXBookmark *const pBookmark =
+ ::sw::UnoTunnelGetImplementation<SwXBookmark>(xContentTunnel);
+ SwXReferenceMark *const pReferenceMark =
+ ::sw::UnoTunnelGetImplementation<SwXReferenceMark>(xContentTunnel);
+ SwXMeta *const pMeta =
+ ::sw::UnoTunnelGetImplementation<SwXMeta>(xContentTunnel);
- const bool bForceExpandHints( CheckForOwnMemberMeta(
- pRange, (pCursor) ? pCursor->GetPaM() : 0, bAbsorb) );
+ const bool bAttribute = pBookmark || pDocumentIndexMark
+ || pSection || pReferenceMark || pMeta;
- // Sonderbehandlung fuer Contents, die den Range nicht ersetzen, sonder darueber gelegt werden
- // Bookmarks, IndexEntry
- uno::Reference<lang::XUnoTunnel> xContentTunnel( xContent, uno::UNO_QUERY);
- if(!xContentTunnel.is())
- {
- lang::IllegalArgumentException aArgException;
- aArgException.Message = C2U("text content doesn't support lang::XUnoTunnel");
- throw aArgException;
- }
- SwXDocumentIndexMark* pDocumentIndexMark = reinterpret_cast< SwXDocumentIndexMark * >(
- sal::static_int_cast< sal_IntPtr >( xContentTunnel->getSomething( SwXDocumentIndexMark::getUnoTunnelId()) ));
- SwXTextSection* pSection = reinterpret_cast< SwXTextSection * >(
- sal::static_int_cast< sal_IntPtr >( xContentTunnel->getSomething( SwXTextSection::getUnoTunnelId()) ));
- SwXBookmark* pBookmark = reinterpret_cast< SwXBookmark * >(
- sal::static_int_cast< sal_IntPtr >( xContentTunnel->getSomething( SwXBookmark::getUnoTunnelId()) ));
- SwXReferenceMark* pReferenceMark = reinterpret_cast< SwXReferenceMark * >(
- sal::static_int_cast< sal_IntPtr >( xContentTunnel->getSomething( SwXReferenceMark::getUnoTunnelId()) ));
- SwXMeta *const pMeta = reinterpret_cast< SwXMeta* >(
- sal::static_int_cast< sal_IntPtr >(
- xContentTunnel->getSomething( SwXMeta::getUnoTunnelId())));
-
- const bool bAttribute = pBookmark || pDocumentIndexMark
- || pSection || pReferenceMark || pMeta;
-
- if(bAbsorb && !bAttribute)
- {
- xRange->setString(aEmptyStr);
- }
- //hier wird tatsaechlich eingefuegt
- uno::Reference< text::XTextRange > xTempRange;
- if(bAttribute && bAbsorb)
- xTempRange = xRange;
- else
- xTempRange = xRange->getStart();
- if (bForceExpandHints)
- {
- // if necessary, replace xTempRange with a new SwXTextCursor
- PrepareForAttach(xTempRange, pRange,
- (pCursor) ? pCursor->GetPaM() : 0);
- }
- xContent->attach(xTempRange);
- }
- else
- {
- lang::IllegalArgumentException aIllegal;
- aIllegal.Message = C2U("first parameter invalid");
- throw aIllegal;
- }
+ if (bAbsorb && !bAttribute)
+ {
+ xRange->setString(aEmptyStr);
}
- else
+ uno::Reference< text::XTextRange > xTempRange =
+ (bAttribute && bAbsorb) ? xRange : xRange->getStart();
+ if (bForceExpandHints)
{
- lang::IllegalArgumentException aIllegal;
- if(!xRange.is())
- aIllegal.Message = C2U("first parameter invalid;");
- if(!xContent.is())
- aIllegal.Message += C2U("second parameter invalid");
- throw aIllegal;
+ // if necessary, replace xTempRange with a new SwXTextCursor
+ PrepareForAttach(xTempRange, aPam);
}
-
+ xContent->attach(xTempRange);
}
+
/* -----------------------------10.07.00 15:40--------------------------------
---------------------------------------------------------------------------*/
-void SwXText::insertTextContentBefore(
+void SAL_CALL
+SwXText::insertTextContentBefore(
const uno::Reference< text::XTextContent>& xNewContent,
const uno::Reference< text::XTextContent>& xSuccessor)
- throw(lang::IllegalArgumentException, uno::RuntimeException)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!GetDoc())
{
uno::RuntimeException aRuntime;
@@ -654,101 +662,123 @@ void SwXText::insertTextContentBefore(
throw aRuntime;
}
- SwXParagraph* pPara = SwXParagraph::GetImplementation(xNewContent);
- if(!pPara || !pPara->IsDescriptor() || !xSuccessor.is())
+ const uno::Reference<lang::XUnoTunnel> xParaTunnel(xNewContent,
+ uno::UNO_QUERY);
+ SwXParagraph *const pPara =
+ ::sw::UnoTunnelGetImplementation<SwXParagraph>(xParaTunnel);
+ if (!pPara || !pPara->IsDescriptor() || !xSuccessor.is())
+ {
throw lang::IllegalArgumentException();
+ }
sal_Bool bRet = sal_False;
- SwXTextSection* pXSection = SwXTextSection::GetImplementation( xSuccessor );
- SwXTextTable* pXTable = SwXTextTable::GetImplementation(xSuccessor );
- SwFrmFmt* pTableFmt = pXTable ? pXTable->GetFrmFmt() : 0;
- SwUnoCrsr* pUnoCrsr = 0;
+ const uno::Reference<lang::XUnoTunnel> xSuccTunnel(xSuccessor,
+ uno::UNO_QUERY);
+ SwXTextSection *const pXSection =
+ ::sw::UnoTunnelGetImplementation<SwXTextSection>(xSuccTunnel);
+ SwXTextTable *const pXTable =
+ ::sw::UnoTunnelGetImplementation<SwXTextTable>(xSuccTunnel);
+ SwFrmFmt *const pTableFmt = (pXTable) ? pXTable->GetFrmFmt() : 0;
+ SwTxtNode * pTxtNode = 0;
if(pTableFmt && pTableFmt->GetDoc() == GetDoc())
{
- SwTable* pTable = SwTable::FindTable( pTableFmt );
- SwTableNode* pTblNode = pTable->GetTableNode();
+ SwTable *const pTable = SwTable::FindTable( pTableFmt );
+ SwTableNode *const pTblNode = pTable->GetTableNode();
- SwNodeIndex aTblIdx( *pTblNode, -1 );
+ const SwNodeIndex aTblIdx( *pTblNode, -1 );
SwPosition aBefore(aTblIdx);
bRet = GetDoc()->AppendTxtNode( aBefore );
- pUnoCrsr = GetDoc()->CreateUnoCrsr( aBefore, FALSE);
+ pTxtNode = aBefore.nNode.GetNode().GetTxtNode();
}
- else if(pXSection &&
- pXSection->GetFmt() &&
+ else if (pXSection && pXSection->GetFmt() &&
pXSection->GetFmt()->GetDoc() == GetDoc())
{
- SwSectionFmt* pSectFmt = pXSection->GetFmt();
- SwSectionNode* pSectNode = pSectFmt->GetSectionNode();
+ SwSectionFmt *const pSectFmt = pXSection->GetFmt();
+ SwSectionNode *const pSectNode = pSectFmt->GetSectionNode();
- SwNodeIndex aSectIdx( *pSectNode, -1 );
+ const SwNodeIndex aSectIdx( *pSectNode, -1 );
SwPosition aBefore(aSectIdx);
bRet = GetDoc()->AppendTxtNode( aBefore );
- pUnoCrsr = GetDoc()->CreateUnoCrsr( aBefore, FALSE);
+ pTxtNode = aBefore.nNode.GetNode().GetTxtNode();
}
- if(!bRet)
- throw lang::IllegalArgumentException();
- else
+ if (!bRet || !pTxtNode)
{
- pPara->attachToText(this, pUnoCrsr);
+ throw lang::IllegalArgumentException();
}
-
+ pPara->attachToText(*this, *pTxtNode);
}
+
/* -----------------------------10.07.00 15:40--------------------------------
---------------------------------------------------------------------------*/
-void SwXText::insertTextContentAfter(
+void SAL_CALL
+SwXText::insertTextContentAfter(
const uno::Reference< text::XTextContent>& xNewContent,
const uno::Reference< text::XTextContent>& xPredecessor)
- throw(lang::IllegalArgumentException, uno::RuntimeException)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!GetDoc())
+ {
throw uno::RuntimeException();
- SwXParagraph* pPara = SwXParagraph::GetImplementation(xNewContent);
+ }
+
+ const uno::Reference<lang::XUnoTunnel> xParaTunnel(xNewContent,
+ uno::UNO_QUERY);
+ SwXParagraph *const pPara =
+ ::sw::UnoTunnelGetImplementation<SwXParagraph>(xParaTunnel);
if(!pPara || !pPara->IsDescriptor() || !xPredecessor.is())
+ {
throw lang::IllegalArgumentException();
+ }
- SwUnoCrsr* pUnoCrsr = 0;
- SwXTextSection* pXSection = SwXTextSection::GetImplementation( xPredecessor );
- SwXTextTable* pXTable = SwXTextTable::GetImplementation(xPredecessor );
- SwFrmFmt* pTableFmt = pXTable ? pXTable->GetFrmFmt() : 0;
+ const uno::Reference<lang::XUnoTunnel> xPredTunnel(xPredecessor,
+ uno::UNO_QUERY);
+ SwXTextSection *const pXSection =
+ ::sw::UnoTunnelGetImplementation<SwXTextSection>(xPredTunnel);
+ SwXTextTable *const pXTable =
+ ::sw::UnoTunnelGetImplementation<SwXTextTable>(xPredTunnel);
+ SwFrmFmt *const pTableFmt = (pXTable) ? pXTable->GetFrmFmt() : 0;
sal_Bool bRet = sal_False;
+ SwTxtNode * pTxtNode = 0;
if(pTableFmt && pTableFmt->GetDoc() == GetDoc())
{
- SwTable* pTable = SwTable::FindTable( pTableFmt );
- SwTableNode* pTblNode = pTable->GetTableNode();
+ SwTable *const pTable = SwTable::FindTable( pTableFmt );
+ SwTableNode *const pTblNode = pTable->GetTableNode();
- SwEndNode* pTableEnd = pTblNode->EndOfSectionNode();
+ SwEndNode *const pTableEnd = pTblNode->EndOfSectionNode();
SwPosition aTableEnd(*pTableEnd);
bRet = GetDoc()->AppendTxtNode( aTableEnd );
- pUnoCrsr = GetDoc()->CreateUnoCrsr( aTableEnd, FALSE);
+ pTxtNode = aTableEnd.nNode.GetNode().GetTxtNode();
}
- else if(pXSection &&
- pXSection->GetFmt() &&
+ else if (pXSection && pXSection->GetFmt() &&
pXSection->GetFmt()->GetDoc() == GetDoc())
{
- SwSectionFmt* pSectFmt = pXSection->GetFmt();
- SwSectionNode* pSectNode = pSectFmt->GetSectionNode();
- SwEndNode* pEnd = pSectNode->EndOfSectionNode();
+ SwSectionFmt *const pSectFmt = pXSection->GetFmt();
+ SwSectionNode *const pSectNode = pSectFmt->GetSectionNode();
+ SwEndNode *const pEnd = pSectNode->EndOfSectionNode();
SwPosition aEnd(*pEnd);
bRet = GetDoc()->AppendTxtNode( aEnd );
- pUnoCrsr = GetDoc()->CreateUnoCrsr( aEnd, FALSE);
+ pTxtNode = aEnd.nNode.GetNode().GetTxtNode();
}
- if(!bRet)
- throw lang::IllegalArgumentException();
- else
+ if (!bRet || !pTxtNode)
{
- pPara->attachToText(this, pUnoCrsr);
+ throw lang::IllegalArgumentException();
}
+ pPara->attachToText(*this, *pTxtNode);
}
+
/* -----------------------------10.07.00 15:40--------------------------------
---------------------------------------------------------------------------*/
-void SwXText::removeTextContentBefore(
+void SAL_CALL
+SwXText::removeTextContentBefore(
const uno::Reference< text::XTextContent>& xSuccessor)
- throw(lang::IllegalArgumentException, uno::RuntimeException)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!GetDoc())
{
uno::RuntimeException aRuntime;
@@ -757,29 +787,32 @@ void SwXText::removeTextContentBefore(
}
sal_Bool bRet = sal_False;
- SwXTextSection* pXSection = SwXTextSection::GetImplementation( xSuccessor );
- SwXTextTable* pXTable = SwXTextTable::GetImplementation( xSuccessor );
- SwFrmFmt* pTableFmt = pXTable ? pXTable->GetFrmFmt() : 0;
+ const uno::Reference<lang::XUnoTunnel> xSuccTunnel(xSuccessor,
+ uno::UNO_QUERY);
+ SwXTextSection *const pXSection =
+ ::sw::UnoTunnelGetImplementation<SwXTextSection>(xSuccTunnel);
+ SwXTextTable *const pXTable =
+ ::sw::UnoTunnelGetImplementation<SwXTextTable>(xSuccTunnel);
+ SwFrmFmt *const pTableFmt = (pXTable) ? pXTable->GetFrmFmt() : 0;
if(pTableFmt && pTableFmt->GetDoc() == GetDoc())
{
- SwTable* pTable = SwTable::FindTable( pTableFmt );
- SwTableNode* pTblNode = pTable->GetTableNode();
+ SwTable *const pTable = SwTable::FindTable( pTableFmt );
+ SwTableNode *const pTblNode = pTable->GetTableNode();
- SwNodeIndex aTblIdx( *pTblNode, -1 );
+ const SwNodeIndex aTblIdx( *pTblNode, -1 );
if(aTblIdx.GetNode().IsTxtNode())
{
SwPaM aBefore(aTblIdx);
bRet = GetDoc()->DelFullPara( aBefore );
}
}
- else if(pXSection &&
- pXSection->GetFmt() &&
+ else if (pXSection && pXSection->GetFmt() &&
pXSection->GetFmt()->GetDoc() == GetDoc())
{
- SwSectionFmt* pSectFmt = pXSection->GetFmt();
- SwSectionNode* pSectNode = pSectFmt->GetSectionNode();
+ SwSectionFmt *const pSectFmt = pXSection->GetFmt();
+ SwSectionNode *const pSectNode = pSectFmt->GetSectionNode();
- SwNodeIndex aSectIdx( *pSectNode, -1 );
+ const SwNodeIndex aSectIdx( *pSectNode, -1 );
if(aSectIdx.GetNode().IsTxtNode())
{
SwPaM aBefore(aSectIdx);
@@ -787,15 +820,21 @@ void SwXText::removeTextContentBefore(
}
}
if(!bRet)
+ {
throw lang::IllegalArgumentException();
+ }
}
+
/* -----------------------------10.07.00 15:40--------------------------------
---------------------------------------------------------------------------*/
-void SwXText::removeTextContentAfter(const uno::Reference< text::XTextContent>& xPredecessor)
- throw(lang::IllegalArgumentException, uno::RuntimeException)
+void SAL_CALL
+SwXText::removeTextContentAfter(
+ const uno::Reference< text::XTextContent>& xPredecessor)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!GetDoc())
{
uno::RuntimeException aRuntime;
@@ -804,30 +843,33 @@ void SwXText::removeTextContentAfter(const uno::Reference< text::XTextContent>&
}
sal_Bool bRet = sal_False;
- SwXTextSection* pXSection = SwXTextSection::GetImplementation( xPredecessor );
- SwXTextTable* pXTable = SwXTextTable::GetImplementation(xPredecessor );
- SwFrmFmt* pTableFmt = pXTable ? pXTable->GetFrmFmt() : 0;
+ const uno::Reference<lang::XUnoTunnel> xPredTunnel(xPredecessor,
+ uno::UNO_QUERY);
+ SwXTextSection *const pXSection =
+ ::sw::UnoTunnelGetImplementation<SwXTextSection>(xPredTunnel);
+ SwXTextTable *const pXTable =
+ ::sw::UnoTunnelGetImplementation<SwXTextTable>(xPredTunnel);
+ SwFrmFmt *const pTableFmt = (pXTable) ? pXTable->GetFrmFmt() : 0;
if(pTableFmt && pTableFmt->GetDoc() == GetDoc())
{
- SwTable* pTable = SwTable::FindTable( pTableFmt );
- SwTableNode* pTblNode = pTable->GetTableNode();
- SwEndNode* pTableEnd = pTblNode->EndOfSectionNode();
+ SwTable *const pTable = SwTable::FindTable( pTableFmt );
+ SwTableNode *const pTblNode = pTable->GetTableNode();
+ SwEndNode *const pTableEnd = pTblNode->EndOfSectionNode();
- SwNodeIndex aTblIdx( *pTableEnd, 1 );
+ const SwNodeIndex aTblIdx( *pTableEnd, 1 );
if(aTblIdx.GetNode().IsTxtNode())
{
SwPaM aPaM(aTblIdx);
bRet = GetDoc()->DelFullPara( aPaM );
}
}
- else if(pXSection &&
- pXSection->GetFmt() &&
+ else if (pXSection && pXSection->GetFmt() &&
pXSection->GetFmt()->GetDoc() == GetDoc())
{
- SwSectionFmt* pSectFmt = pXSection->GetFmt();
- SwSectionNode* pSectNode = pSectFmt->GetSectionNode();
- SwEndNode* pEnd = pSectNode->EndOfSectionNode();
- SwNodeIndex aSectIdx( *pEnd, 1 );
+ SwSectionFmt *const pSectFmt = pXSection->GetFmt();
+ SwSectionNode *const pSectNode = pSectFmt->GetSectionNode();
+ SwEndNode *const pEnd = pSectNode->EndOfSectionNode();
+ const SwNodeIndex aSectIdx( *pEnd, 1 );
if(aSectIdx.GetNode().IsTxtNode())
{
SwPaM aAfter(aSectIdx);
@@ -835,42 +877,50 @@ void SwXText::removeTextContentAfter(const uno::Reference< text::XTextContent>&
}
}
if(!bRet)
+ {
throw lang::IllegalArgumentException();
+ }
}
+
/*-- 09.12.98 12:43:19---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXText::removeTextContent(const uno::Reference< text::XTextContent > & xContent)
- throw( container::NoSuchElementException, uno::RuntimeException )
+void SAL_CALL
+SwXText::removeTextContent(
+ const uno::Reference< text::XTextContent > & xContent)
+throw (container::NoSuchElementException, uno::RuntimeException)
{
- vos::OGuard aGuard(Application::GetSolarMutex());
+ // forward: need no solar mutex here
if(!xContent.is())
{
uno::RuntimeException aRuntime;
aRuntime.Message = C2U("first parameter invalid");
throw aRuntime;
}
- else
- xContent->dispose();
+ xContent->dispose();
}
+
/*-- 09.12.98 12:43:22---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XText > SwXText::getText(void)
- throw( uno::RuntimeException )
+uno::Reference< text::XText > SAL_CALL
+SwXText::getText() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XText > xRet = (SwXText*)this;
- return xRet;
+ const uno::Reference< text::XText > xRet(this);
+ return xRet;
}
+
/*-- 09.12.98 12:43:24---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXText::getStart(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXText::getStart() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextCursor > xRef = createCursor();
+
+ const uno::Reference< text::XTextCursor > xRef = CreateCursor();
if(!xRef.is())
{
uno::RuntimeException aRuntime;
@@ -878,16 +928,18 @@ uno::Reference< text::XTextRange > SwXText::getStart(void) throw( uno::RuntimeE
throw aRuntime;
}
xRef->gotoStart(sal_False);
- uno::Reference< text::XTextRange > xRet(xRef, uno::UNO_QUERY);
+ const uno::Reference< text::XTextRange > xRet(xRef, uno::UNO_QUERY);
return xRet;
}
/*-- 09.12.98 12:43:27---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXText::getEnd(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextRange > SAL_CALL
+SwXText::getEnd() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextCursor > xRef = createCursor();
+
+ const uno::Reference< text::XTextCursor > xRef = CreateCursor();
if(!xRef.is())
{
uno::RuntimeException aRuntime;
@@ -895,42 +947,52 @@ uno::Reference< text::XTextRange > SwXText::getEnd(void) throw( uno::RuntimeExc
throw aRuntime;
}
xRef->gotoEnd(sal_False);
- uno::Reference< text::XTextRange > xRet(xRef, uno::UNO_QUERY);
+ const uno::Reference< text::XTextRange > xRet(xRef, uno::UNO_QUERY);
return xRet;
}
+
/*-- 09.12.98 12:43:29---------------------------------------------------
-----------------------------------------------------------------------*/
-OUString SwXText::getString(void) throw( uno::RuntimeException )
+OUString SAL_CALL SwXText::getString() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextCursor > xRet = createCursor();
+
+ const uno::Reference< text::XTextCursor > xRet = CreateCursor();
if(!xRet.is())
{
uno::RuntimeException aRuntime;
aRuntime.Message = C2U(cInvalidObject);
throw aRuntime;
}
- else
- {
- xRet->gotoEnd(sal_True);
- }
+ xRet->gotoEnd(sal_True);
return xRet->getString();
}
/*-- 09.12.98 12:43:30---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXText::setString(const OUString& aString) throw( uno::RuntimeException )
+void SAL_CALL
+SwXText::setString(const OUString& rString) throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
+ if (!GetDoc())
+ {
+ uno::RuntimeException aRuntime;
+ aRuntime.Message = C2U(cInvalidObject);
+ throw aRuntime;
+ }
+
const SwStartNode* pStartNode = GetStartNode();
- if(!pStartNode)
+ if (!pStartNode)
+ {
throw uno::RuntimeException();
+ }
GetDoc()->StartUndo(UNDO_START, NULL);
//insert an empty paragraph at the start and at the end to ensure that
//all tables and sections can be removed by the selecting text::XTextCursor
- if (CURSOR_META != eCrsrType)
+ if (CURSOR_META != m_pImpl->m_eType)
{
SwPosition aStartPos(*pStartNode);
const SwEndNode* pEnd = pStartNode->EndOfSectionNode();
@@ -962,7 +1024,7 @@ void SwXText::setString(const OUString& aString) throw( uno::RuntimeException )
}
}
- uno::Reference< text::XTextCursor > xRet = createCursor();
+ const uno::Reference< text::XTextCursor > xRet = CreateCursor();
if(!xRet.is())
{
GetDoc()->EndUndo(UNDO_END, NULL);
@@ -970,36 +1032,28 @@ void SwXText::setString(const OUString& aString) throw( uno::RuntimeException )
aRuntime.Message = C2U(cInvalidObject);
throw aRuntime;
}
- else
- {
- xRet->gotoEnd(sal_True);
- }
- xRet->setString(aString);
+ xRet->gotoEnd(sal_True);
+ xRet->setString(rString);
GetDoc()->EndUndo(UNDO_END, NULL);
}
//FIXME why is CheckForOwnMember duplicated in some insert methods?
// Description: Checks if pRange/pCursor are member of the same text interface.
// Only one of the pointers has to be set!
-sal_Bool SwXText::CheckForOwnMember(
- const SwXTextRange* pRange,
- const OTextCursorHelper* pCursor)
- throw(lang::IllegalArgumentException, uno::RuntimeException)
+bool SwXText::Impl::CheckForOwnMember(
+ const SwPaM & rPaM)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- DBG_ASSERT((!pRange || !pCursor) && (pRange || pCursor), "only one pointer will be checked" );
- uno::Reference<text::XTextCursor> xOwnCursor = createCursor();
+ const uno::Reference<text::XTextCursor> xOwnCursor(m_rThis.CreateCursor());
- uno::Reference<lang::XUnoTunnel> xTunnel( xOwnCursor, uno::UNO_QUERY);
- OTextCursorHelper* pOwnCursor = 0;
- if(xTunnel.is())
- {
- pOwnCursor = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xTunnel->getSomething(OTextCursorHelper::getUnoTunnelId()) ));
- }
+ const uno::Reference<lang::XUnoTunnel> xTunnel(xOwnCursor, uno::UNO_QUERY);
+ OTextCursorHelper *const pOwnCursor =
+ ::sw::UnoTunnelGetImplementation<OTextCursorHelper>(xTunnel);
DBG_ASSERT(pOwnCursor, "OTextCursorHelper::getUnoTunnelId() ??? ");
- const SwStartNode* pOwnStartNode = pOwnCursor->GetPaM()->GetNode()->StartOfSectionNode();
+ const SwStartNode* pOwnStartNode =
+ pOwnCursor->GetPaM()->GetNode()->StartOfSectionNode();
SwStartNodeType eSearchNodeType = SwNormalStartNode;
- switch(eCrsrType)
+ switch (m_eType)
{
case CURSOR_FRAME: eSearchNodeType = SwFlyStartNode; break;
case CURSOR_TBLTEXT: eSearchNodeType = SwTableBoxStartNode; break;
@@ -1012,105 +1066,62 @@ sal_Bool SwXText::CheckForOwnMember(
;
}
- const SwNode* pSrcNode;
- if(pCursor)
- pSrcNode = pCursor->GetPaM()->GetNode();
- else //dann pRange
- {
- ::sw::mark::IMark const * const pBkmk = pRange->GetBookmark();
- pSrcNode = &pBkmk->GetMarkPos().nNode.GetNode();
- }
+ SwNode const*const pSrcNode(rPaM.GetNode());
+ if (!pSrcNode) { return false; }
const SwStartNode* pTmp = pSrcNode->FindSttNodeByType(eSearchNodeType);
//SectionNodes ueberspringen
while(pTmp && pTmp->IsSectionNode())
+ {
pTmp = pTmp->StartOfSectionNode();
+ }
//if the document starts with a section
while(pOwnStartNode->IsSectionNode())
+ {
pOwnStartNode = pOwnStartNode->StartOfSectionNode();
+ }
//this checks if (this) and xRange are in the same text::XText interface
- return(pOwnStartNode == pTmp);
+ return (pOwnStartNode == pTmp);
}
-sal_Int16 SwXText::ComparePositions(
+sal_Int16
+SwXText::Impl::ComparePositions(
const uno::Reference<text::XTextRange>& xPos1,
const uno::Reference<text::XTextRange>& xPos2)
- throw(lang::IllegalArgumentException, uno::RuntimeException)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- sal_Int16 nCompare = 0;
- SwUnoInternalPaM aPam1(*GetDoc());
- SwUnoInternalPaM aPam2(*GetDoc());
+ SwUnoInternalPaM aPam1(*m_pDoc);
+ SwUnoInternalPaM aPam2(*m_pDoc);
- BOOL bExcept = FALSE;
- if(SwXTextRange::XTextRangeToSwPaM(aPam1, xPos1) &&
- SwXTextRange::XTextRangeToSwPaM(aPam2, xPos2))
+ if (!::sw::XTextRangeToSwPaM(aPam1, xPos1) ||
+ !::sw::XTextRangeToSwPaM(aPam2, xPos2))
{
- uno::Reference<lang::XUnoTunnel> xRangeTunnel1( xPos1, uno::UNO_QUERY);
- SwXTextRange* pRange1 = 0;
- OTextCursorHelper* pCursor1 = 0;
- if(xRangeTunnel1.is())
- {
- pRange1 = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel1->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor1 = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel1->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
- }
- uno::Reference<lang::XUnoTunnel> xRangeTunnel2( xPos2, uno::UNO_QUERY);
- SwXTextRange* pRange2 = 0;
- OTextCursorHelper* pCursor2 = 0;
- if(xRangeTunnel2.is())
- {
- pRange2 = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel2->getSomething( SwXTextRange::getUnoTunnelId()) ));
- pCursor2 = reinterpret_cast< OTextCursorHelper * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel2->getSomething( OTextCursorHelper::getUnoTunnelId()) ));
- }
-
- if((pRange1||pCursor1) && (pRange2||pCursor2))
- {
- if(CheckForOwnMember(pRange1, pCursor1)
- && CheckForOwnMember( pRange2, pCursor2))
- {
- const SwPosition *pStart1 = 0;
- const SwPosition *pStart2 = 0;
-
- if(pRange1)
- pStart1 = pRange1->GetBookmark() ? &(pRange1->GetBookmark()->GetMarkStart()) : 0;
- else
- pStart1 = pCursor1->GetPaM() ? pCursor1->GetPaM()->Start() : 0;
-
- if(pRange2)
- pStart2 = pRange2->GetBookmark() ? &(pRange2->GetBookmark()->GetMarkStart()) : 0;
- else
- pStart2 = pCursor2->GetPaM() ? pCursor2->GetPaM()->Start() : 0;
+ throw lang::IllegalArgumentException();
+ }
+ if (!CheckForOwnMember(aPam1) || !CheckForOwnMember(aPam2))
+ {
+ throw lang::IllegalArgumentException();
+ }
- if(pStart1 && pStart2)
- {
- if(*pStart1 < *pStart2)
- nCompare = 1;
- else if(*pStart1 > *pStart2)
- nCompare = -1;
- else
- {
- DBG_ASSERT(*pStart1 == *pStart2, "SwPositions should be equal here");
- nCompare = 0;
- }
- }
- else
- bExcept = TRUE;
- }
- else
- bExcept = TRUE;
- }
- else
- bExcept = TRUE;
+ sal_Int16 nCompare = 0;
+ SwPosition const*const pStart1 = aPam1.Start();
+ SwPosition const*const pStart2 = aPam2.Start();
+ if (*pStart1 < *pStart2)
+ {
+ nCompare = 1;
+ }
+ else if (*pStart1 > *pStart2)
+ {
+ nCompare = -1;
}
else
- bExcept = TRUE;
- if(bExcept)
- throw lang::IllegalArgumentException();
+ {
+ DBG_ASSERT(*pStart1 == *pStart2,
+ "SwPositions should be equal here");
+ nCompare = 0;
+ }
return nCompare;
}
@@ -1118,50 +1129,64 @@ sal_Int16 SwXText::ComparePositions(
/*-- 28.03.00 10:37:22---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Int16 SwXText::compareRegionStarts(
- const uno::Reference<text::XTextRange>& xR1,
- const uno::Reference<text::XTextRange>& xR2)
- throw(lang::IllegalArgumentException, uno::RuntimeException)
+sal_Int16 SAL_CALL
+SwXText::compareRegionStarts(
+ const uno::Reference<text::XTextRange>& xRange1,
+ const uno::Reference<text::XTextRange>& xRange2)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!xR1.is() || !xR2.is())
+
+ if (!xRange1.is() || !xRange2.is())
+ {
throw lang::IllegalArgumentException();
- uno::Reference<text::XTextRange> xStart1 = xR1->getStart();
- uno::Reference<text::XTextRange> xStart2 = xR2->getStart();
+ }
+ const uno::Reference<text::XTextRange> xStart1 = xRange1->getStart();
+ const uno::Reference<text::XTextRange> xStart2 = xRange2->getStart();
- return ComparePositions(xStart1, xStart2);
+ return m_pImpl->ComparePositions(xStart1, xStart2);
}
/*-- 28.03.00 10:37:25---------------------------------------------------
-----------------------------------------------------------------------*/
-sal_Int16 SwXText::compareRegionEnds(
- const uno::Reference<text::XTextRange>& xR1,
- const uno::Reference<text::XTextRange>& xR2)
- throw(lang::IllegalArgumentException, uno::RuntimeException)
+sal_Int16 SAL_CALL
+SwXText::compareRegionEnds(
+ const uno::Reference<text::XTextRange>& xRange1,
+ const uno::Reference<text::XTextRange>& xRange2)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!xR1.is() || !xR2.is())
+
+ if (!xRange1.is() || !xRange2.is())
+ {
throw lang::IllegalArgumentException();
- uno::Reference<text::XTextRange> xEnd1 = xR1->getEnd();
- uno::Reference<text::XTextRange> xEnd2 = xR2->getEnd();
+ }
+ uno::Reference<text::XTextRange> xEnd1 = xRange1->getEnd();
+ uno::Reference<text::XTextRange> xEnd2 = xRange2->getEnd();
- return ComparePositions(xEnd1, xEnd2);
+ return m_pImpl->ComparePositions(xEnd1, xEnd2);
}
/*-- 15.03.2002 12:30:40---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< beans::XPropertySetInfo > SwXText::getPropertySetInfo( )
- throw(uno::RuntimeException)
+uno::Reference< beans::XPropertySetInfo > SAL_CALL
+SwXText::getPropertySetInfo() throw(uno::RuntimeException)
{
- static uno::Reference< beans::XPropertySetInfo > xInfo = m_pPropSet->getPropertySetInfo();
+ vos::OGuard g(Application::GetSolarMutex());
+
+ static uno::Reference< beans::XPropertySetInfo > xInfo =
+ m_pImpl->m_rPropSet.getPropertySetInfo();
return xInfo;
}
+
/*-- 15.03.2002 12:30:42---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXText::setPropertyValue( const ::rtl::OUString& /*aPropertyName*/, const uno::Any& /*aValue*/ )
- throw(beans::UnknownPropertyException, beans::PropertyVetoException,
+void SAL_CALL
+SwXText::setPropertyValue(const ::rtl::OUString& /*aPropertyName*/,
+ const uno::Any& /*aValue*/)
+throw (beans::UnknownPropertyException, beans::PropertyVetoException,
lang::IllegalArgumentException, lang::WrappedTargetException,
uno::RuntimeException)
{
@@ -1170,100 +1195,113 @@ void SwXText::setPropertyValue( const ::rtl::OUString& /*aPropertyName*/, const
/*-- 15.03.2002 12:30:42---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXText::getPropertyValue(
- const ::rtl::OUString& rPropertyName )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException,
- uno::RuntimeException)
+uno::Any SAL_CALL
+SwXText::getPropertyValue(
+ const ::rtl::OUString& rPropertyName)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!IsValid())
+ {
throw uno::RuntimeException();
- const SfxItemPropertySimpleEntry* pEntry = m_pPropSet->getPropertyMap()->getByName(rPropertyName);
+ }
+
+ SfxItemPropertySimpleEntry const*const pEntry =
+ m_pImpl->m_rPropSet.getPropertyMap()->getByName(rPropertyName);
+ if (!pEntry)
+ {
+ beans::UnknownPropertyException aExcept;
+ aExcept.Message = C2U("Unknown property: ");
+ aExcept.Message += rPropertyName;
+ throw aExcept;
+ }
+
uno::Any aRet;
- if(pEntry)
+ switch (pEntry->nWID)
{
- switch(pEntry->nWID)
- {
// no code necessary - the redline is always located at the end node
// case FN_UNO_REDLINE_NODE_START:
// break;
- case FN_UNO_REDLINE_NODE_END:
+ case FN_UNO_REDLINE_NODE_END:
+ {
+ const SwRedlineTbl& rRedTbl = GetDoc()->GetRedlineTbl();
+ const USHORT nRedTblCount = rRedTbl.Count();
+ if (nRedTblCount > 0)
{
- const SwRedlineTbl& rRedTbl = GetDoc()->GetRedlineTbl();
- USHORT nRedTblCount = rRedTbl.Count();
- if ( nRedTblCount > 0 )
+ SwStartNode const*const pStartNode = GetStartNode();
+ const ULONG nOwnIndex = pStartNode->EndOfSectionIndex();
+ for (USHORT nRed = 0; nRed < nRedTblCount; nRed++)
{
- const SwStartNode* pStartNode = GetStartNode();
- ULONG nOwnIndex = pStartNode->EndOfSectionIndex();
- for(USHORT nRed = 0; nRed < nRedTblCount; nRed++)
+ SwRedline const*const pRedline = rRedTbl[nRed];
+ SwPosition const*const pRedStart = pRedline->Start();
+ const SwNodeIndex nRedNode = pRedStart->nNode;
+ if (nOwnIndex == nRedNode.GetIndex())
{
- const SwRedline* pRedline = rRedTbl[nRed];
- const SwPosition* pRedStart = pRedline->Start();
- const SwNodeIndex nRedNode = pRedStart->nNode;
- if(nOwnIndex == nRedNode.GetIndex())
- {
- aRet <<= SwXRedlinePortion::CreateRedlineProperties(*pRedline, TRUE);
- break;
- }
+ aRet <<= SwXRedlinePortion::CreateRedlineProperties(
+ *pRedline, TRUE);
+ break;
}
}
}
- break;
}
- }
- else
- {
- beans::UnknownPropertyException aExcept;
- aExcept.Message = C2U("Unknown property: ");
- aExcept.Message += rPropertyName;
- throw aExcept;
+ break;
}
return aRet;
-
}
+
/*-- 15.03.2002 12:30:42---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXText::addPropertyChangeListener(
- const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException,
- uno::RuntimeException)
+void SAL_CALL
+SwXText::addPropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- throw uno::RuntimeException();
+ OSL_ENSURE(false,
+ "SwXText::addPropertyChangeListener(): not implemented");
}
/*-- 15.03.2002 12:30:43---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXText::removePropertyChangeListener(
- const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*aListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException,
- uno::RuntimeException)
+void SAL_CALL
+SwXText::removePropertyChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- throw uno::RuntimeException();
+ OSL_ENSURE(false,
+ "SwXText::removePropertyChangeListener(): not implemented");
}
/*-- 15.03.2002 12:30:43---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXText::addVetoableChangeListener(
- const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException,
- uno::RuntimeException)
+void SAL_CALL
+SwXText::addVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
+ uno::RuntimeException)
{
- throw uno::RuntimeException();
+ OSL_ENSURE(false,
+ "SwXText::addVetoableChangeListener(): not implemented");
}
/*-- 15.03.2002 12:30:43---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwXText::removeVetoableChangeListener(
- const ::rtl::OUString& /*rPropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/ )
- throw(beans::UnknownPropertyException, lang::WrappedTargetException,
+void SAL_CALL
+SwXText::removeVetoableChangeListener(
+ const ::rtl::OUString& /*rPropertyName*/,
+ const uno::Reference< beans::XVetoableChangeListener >& /*xListener*/)
+throw (beans::UnknownPropertyException, lang::WrappedTargetException,
uno::RuntimeException)
{
- throw uno::RuntimeException();
+ OSL_ENSURE(false,
+ "SwXText::removeVetoableChangeListener(): not implemented");
}
/* -----------------------------08.01.01 09:07--------------------------------
@@ -1277,493 +1315,527 @@ const uno::Sequence< sal_Int8 > & SwXText::getUnoTunnelId()
/* -----------------------------08.01.01 09:07--------------------------------
---------------------------------------------------------------------------*/
-sal_Int64 SwXText::getSomething( const uno::Sequence< sal_Int8 >& rId )
- throw(uno::RuntimeException)
+sal_Int64 SAL_CALL
+SwXText::getSomething(const uno::Sequence< sal_Int8 >& rId)
+throw (uno::RuntimeException)
{
- if( rId.getLength() == 16
- && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- rId.getConstArray(), 16 ) )
- {
- return sal::static_int_cast< sal_Int64 >( reinterpret_cast< sal_IntPtr >(this) );
- }
- return 0;
+ return ::sw::UnoTunnelImpl<SwXText>(rId, this);
}
+
/*-- 23.06.2006 08:56:30---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXText::appendParagraph(
- const uno::Sequence< beans::PropertyValue > & rProperties )
- throw (lang::IllegalArgumentException, uno::RuntimeException)
+uno::Reference< text::XTextRange > SAL_CALL
+SwXText::appendParagraph(
+ const uno::Sequence< beans::PropertyValue > & rProperties)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- return finishOrAppendParagraph(false, rProperties);
+ vos::OGuard g(Application::GetSolarMutex());
+
+ return m_pImpl->finishOrAppendParagraph(false, rProperties);
}
/*-- 23.06.2006 08:56:22---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXText::finishParagraph(
- const uno::Sequence< beans::PropertyValue > & rProperties )
- throw (lang::IllegalArgumentException, uno::RuntimeException)
+uno::Reference< text::XTextRange > SAL_CALL
+SwXText::finishParagraph(
+ const uno::Sequence< beans::PropertyValue > & rProperties)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- return finishOrAppendParagraph(true, rProperties);
+ vos::OGuard g(Application::GetSolarMutex());
+
+ return m_pImpl->finishOrAppendParagraph(true, rProperties);
}
/*-- 08.05.2006 13:26:26---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXText::finishOrAppendParagraph(
- bool bFinish,
- const uno::Sequence< beans::PropertyValue > & rProperties )
- throw (lang::IllegalArgumentException, uno::RuntimeException)
-
+uno::Reference< text::XTextRange >
+SwXText::Impl::finishOrAppendParagraph(
+ const bool bFinish,
+ const uno::Sequence< beans::PropertyValue > & rProperties)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- if(!IsValid())
+ if (!m_bIsValid)
+ {
throw uno::RuntimeException();
- uno::Reference< text::XTextRange > xRet;
+ }
- const SwStartNode* pStartNode = GetStartNode();
+ const SwStartNode* pStartNode = m_rThis.GetStartNode();
if(!pStartNode)
+ {
throw uno::RuntimeException();
+ }
+
+ uno::Reference< text::XTextRange > xRet;
+ bool bIllegalException = false;
+ bool bRuntimeException = false;
+ ::rtl::OUString sMessage;
+ m_pDoc->StartUndo(UNDO_START , NULL);
+ // find end node, go backward - don't skip tables because the new
+ // paragraph has to be the last node
+ //aPam.Move( fnMoveBackward, fnGoNode );
+ SwPosition aInsertPosition(
+ SwNodeIndex( *pStartNode->EndOfSectionNode(), -1 ) );
+ SwPaM aPam(aInsertPosition);
+ m_pDoc->AppendTxtNode( *aPam.GetPoint() );
+ // remove attributes from the previous paragraph
+ m_pDoc->ResetAttrs(aPam);
+ // in case of finishParagraph the PaM needs to be moved to the
+ // previous paragraph
+ if (bFinish)
{
- bool bIllegalException = false;
- bool bRuntimeException = false;
- ::rtl::OUString sMessage;
- pDoc->StartUndo(UNDO_START , NULL);
- //find end node, go backward - don't skip tables because the new paragraph has to be the last node
- //aPam.Move( fnMoveBackward, fnGoNode );
- SwPosition aInsertPosition( SwNodeIndex( *pStartNode->EndOfSectionNode(), -1 ) );
- SwPaM aPam(aInsertPosition);
- pDoc->AppendTxtNode( *aPam.GetPoint() );
- //remove attributes from the previous paragraph
- pDoc->ResetAttrs(aPam);
- //in case of finishParagraph the PaM needs to be moved to the previous paragraph
- if(bFinish)
- aPam.Move( fnMoveBackward, fnGoNode );
- if(rProperties.getLength())
- {
- // now set the properties
- const SfxItemPropertySet* pParaPropSet = aSwMapProvider.GetPropertySet(PROPERTY_MAP_PARAGRAPH);
- const SfxItemPropertyMap* pParagraphMap = pParaPropSet->getPropertyMap();
+ aPam.Move( fnMoveBackward, fnGoNode );
+ }
+ if (rProperties.getLength())
+ {
+ // now set the properties
+ SfxItemPropertySet const*const pParaPropSet =
+ aSwMapProvider.GetPropertySet(PROPERTY_MAP_PARAGRAPH);
+ SfxItemPropertyMap const*const pParagraphMap =
+ pParaPropSet->getPropertyMap();
- const beans::PropertyValue* pValues = rProperties.getConstArray();
+ const beans::PropertyValue* pValues = rProperties.getConstArray();
- for( sal_Int32 nProp = 0; nProp < rProperties.getLength(); ++nProp)
+ for (sal_Int32 nProp = 0; nProp < rProperties.getLength(); ++nProp)
+ {
+ if (!pParagraphMap->getByName(pValues[nProp].Name))
{
- if(pParagraphMap->getByName( pValues[nProp].Name ))
- {
- try
- {
- SwXTextCursor::SetPropertyValue(
- aPam,
- *pParaPropSet,
- pValues[nProp].Name,
- pValues[nProp].Value);
- }
- catch( lang::IllegalArgumentException& rIllegal )
- {
- sMessage = rIllegal.Message;
- bIllegalException = true;
- }
- catch( uno::RuntimeException& rRuntime )
- {
- sMessage = rRuntime.Message;
- bRuntimeException = true;
- }
- }
- else
- bIllegalException = true;
- if( bIllegalException || bRuntimeException )
- {
- break;
- }
+ bIllegalException = true;
+ break;
}
- }
- pDoc->EndUndo(UNDO_END, NULL);
- if( bIllegalException || bRuntimeException )
- {
- SwUndoIter aUndoIter( &aPam, UNDO_EMPTY );
- pDoc->Undo(aUndoIter);
- if(bIllegalException)
+ try
+ {
+ SwUnoCursorHelper::SetPropertyValue(aPam, *pParaPropSet,
+ pValues[nProp].Name, pValues[nProp].Value);
+ }
+ catch (lang::IllegalArgumentException& rIllegal)
{
- lang::IllegalArgumentException aEx;
- aEx.Message = sMessage;
- throw aEx;
+ sMessage = rIllegal.Message;
+ bIllegalException = true;
+ break;
}
- else //if(bRuntimeException)
+ catch (uno::RuntimeException& rRuntime)
{
- uno::RuntimeException aEx;
- aEx.Message = sMessage;
- throw aEx;
+ sMessage = rRuntime.Message;
+ bRuntimeException = true;
+ break;
}
}
- SwTxtNode * pTxtNode( aPam.Start()->nNode.GetNode().GetTxtNode() );
- OSL_ENSURE(pTxtNode, "no SwTxtNode?");
- xRet = new SwXParagraph(this, pTxtNode);
+ }
+ m_pDoc->EndUndo(UNDO_END, NULL);
+ if (bIllegalException || bRuntimeException)
+ {
+ SwUndoIter aUndoIter( &aPam, UNDO_EMPTY );
+ m_pDoc->Undo(aUndoIter);
+ if (bIllegalException)
+ {
+ lang::IllegalArgumentException aEx;
+ aEx.Message = sMessage;
+ throw aEx;
+ }
+ else // if(bRuntimeException)
+ {
+ uno::RuntimeException aEx;
+ aEx.Message = sMessage;
+ throw aEx;
+ }
+ }
+ SwTxtNode *const pTxtNode( aPam.Start()->nNode.GetNode().GetTxtNode() );
+ OSL_ENSURE(pTxtNode, "no SwTxtNode?");
+ if (pTxtNode)
+ {
+ xRet.set(SwXParagraph::CreateXParagraph(*m_pDoc, *pTxtNode, &m_rThis),
+ uno::UNO_QUERY);
}
return xRet;
}
+
/*-- 08.05.2006 13:28:26---------------------------------------------------
Append text portions at the end of the last paragraph of the text
interface. Support of import filters.
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXText::appendTextPortion(
+uno::Reference< text::XTextRange > SAL_CALL
+SwXText::appendTextPortion(
const ::rtl::OUString& rText,
- const uno::Sequence< beans::PropertyValue > & rCharacterAndParagraphProperties )
- throw (lang::IllegalArgumentException, uno::RuntimeException)
+ const uno::Sequence< beans::PropertyValue > &
+ rCharacterAndParagraphProperties)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!IsValid())
+ {
throw uno::RuntimeException();
- uno::Reference< text::XTextRange > xRet;
- uno::Reference< text::XTextCursor > xTextCursor = createCursor();
+ }
+ uno::Reference< text::XTextRange > xRet;
+ const uno::Reference< text::XTextCursor > xTextCursor = CreateCursor();
xTextCursor->gotoEnd(sal_False);
- uno::Reference< lang::XUnoTunnel > xRangeTunnel( xTextCursor, uno::UNO_QUERY_THROW );
- SwXTextCursor* pTextCursor = reinterpret_cast< SwXTextCursor * >(
- sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( SwXTextCursor::getUnoTunnelId())));
- {
- bool bIllegalException = false;
- bool bRuntimeException = false;
- ::rtl::OUString sMessage;
- pDoc->StartUndo(UNDO_INSERT, NULL);
+ const uno::Reference< lang::XUnoTunnel > xRangeTunnel(
+ xTextCursor, uno::UNO_QUERY_THROW );
+ SwXTextCursor *const pTextCursor =
+ ::sw::UnoTunnelGetImplementation<SwXTextCursor>(xRangeTunnel);
-// SwPaM aPam(*pStartNode->EndOfSectionNode());
- //aPam.Move( fnMoveBackward, fnGoNode );
- SwUnoCrsr* pCursor = pTextCursor->GetCrsr();
- pCursor->MovePara( fnParaCurr, fnParaEnd );
- pDoc->DontExpandFmt( *pCursor->Start() );
-
- if(rText.getLength())
- {
- xub_StrLen nContentPos = pCursor->GetPoint()->nContent.GetIndex();
- SwUnoCursorHelper::DocInsertStringSplitCR( *pDoc, *pCursor, rText,
- false );
- SwXTextCursor::SelectPam(*pCursor, sal_True);
- pCursor->GetPoint()->nContent = nContentPos;
- }
+ bool bIllegalException = false;
+ bool bRuntimeException = false;
+ ::rtl::OUString sMessage;
+ m_pImpl->m_pDoc->StartUndo(UNDO_INSERT, NULL);
- if(rCharacterAndParagraphProperties.getLength())
+// SwPaM aPam(*pStartNode->EndOfSectionNode());
+ //aPam.Move( fnMoveBackward, fnGoNode );
+ SwUnoCrsr *const pCursor = pTextCursor->GetCursor();
+ pCursor->MovePara( fnParaCurr, fnParaEnd );
+ m_pImpl->m_pDoc->DontExpandFmt( *pCursor->Start() );
+
+ if (rText.getLength())
+ {
+ const xub_StrLen nContentPos = pCursor->GetPoint()->nContent.GetIndex();
+ SwUnoCursorHelper::DocInsertStringSplitCR(
+ *m_pImpl->m_pDoc, *pCursor, rText, false);
+ SwUnoCursorHelper::SelectPam(*pCursor, true);
+ pCursor->GetPoint()->nContent = nContentPos;
+ }
+
+ if (rCharacterAndParagraphProperties.getLength())
+ {
+ SfxItemPropertyMap const*const pCursorMap =
+ aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR)
+ ->getPropertyMap();
+ beans::PropertyValue const*const pValues =
+ rCharacterAndParagraphProperties.getConstArray();
+ SfxItemPropertySet const*const pCursorPropSet =
+ aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR);
+ const sal_Int32 nLen(rCharacterAndParagraphProperties.getLength());
+ for (sal_Int32 nProp = 0; nProp < nLen; ++nProp)
{
- const SfxItemPropertyMap* pCursorMap = aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR)->getPropertyMap();
- const beans::PropertyValue* pValues = rCharacterAndParagraphProperties.getConstArray();
- const SfxItemPropertySet* pCursorPropSet = aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR);
- for( sal_Int32 nProp = 0; nProp < rCharacterAndParagraphProperties.getLength(); ++nProp)
+ if (!pCursorMap->getByName( pValues[nProp].Name ))
{
- if( pCursorMap->getByName( pValues[nProp].Name ) )
- {
- try
- {
- SwXTextCursor::SetPropertyValue(
- *pCursor,
- *pCursorPropSet,
- pValues[nProp].Name,
- pValues[nProp].Value,
- nsSetAttrMode::SETATTR_NOFORMATATTR);
- }
- catch( lang::IllegalArgumentException& rIllegal )
- {
- sMessage = rIllegal.Message;
- bIllegalException = true;
- }
- catch( uno::RuntimeException& rRuntime )
- {
- sMessage = rRuntime.Message;
- bRuntimeException = true;
- }
- }
- else
- bIllegalException = true;
- if( bIllegalException || bRuntimeException )
- {
- break;
- }
+ bIllegalException = true;
+ break;
}
- }
- pDoc->EndUndo(UNDO_INSERT, NULL);
- if( bIllegalException || bRuntimeException )
- {
- SwUndoIter aUndoIter( pCursor, UNDO_EMPTY );
- pDoc->Undo(aUndoIter);
- delete pCursor;
- pCursor = 0;
- if(bIllegalException)
+ try
+ {
+ SwUnoCursorHelper::SetPropertyValue(
+ *pCursor, *pCursorPropSet,
+ pValues[nProp].Name, pValues[nProp].Value,
+ nsSetAttrMode::SETATTR_NOFORMATATTR);
+ }
+ catch( lang::IllegalArgumentException& rIllegal )
{
- lang::IllegalArgumentException aEx;
- aEx.Message = sMessage;
- throw aEx;
+ sMessage = rIllegal.Message;
+ bIllegalException = true;
+ break;
}
- else //if(bRuntimeException)
+ catch( uno::RuntimeException& rRuntime )
{
- uno::RuntimeException aEx;
- aEx.Message = sMessage;
- throw aEx;
+ sMessage = rRuntime.Message;
+ bRuntimeException = true;
+ break;
}
}
- xRet = new SwXTextRange(*pCursor, this);
- delete pCursor;
}
- return xRet;
+ m_pImpl->m_pDoc->EndUndo(UNDO_INSERT, NULL);
+ if (bIllegalException || bRuntimeException)
+ {
+ SwUndoIter aUndoIter( pCursor, UNDO_EMPTY );
+ m_pImpl->m_pDoc->Undo(aUndoIter);
+ if (bIllegalException)
+ {
+ lang::IllegalArgumentException aEx;
+ aEx.Message = sMessage;
+ throw aEx;
+ }
+ else //if(bRuntimeException)
+ {
+ uno::RuntimeException aEx;
+ aEx.Message = sMessage;
+ throw aEx;
+ }
+ }
+ xRet = new SwXTextRange(*pCursor, this);
+ return xRet;
}
+
/*-- 11.05.2006 15:46:26---------------------------------------------------
enable appending text contents like graphic objects, shapes and so on
to support import filters
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextRange > SwXText::appendTextContent(
+uno::Reference< text::XTextRange > SAL_CALL
+SwXText::appendTextContent(
const uno::Reference< text::XTextContent >& xTextContent,
- const uno::Sequence< beans::PropertyValue >& rCharacterAndParagraphProperties )
- throw (lang::IllegalArgumentException, uno::RuntimeException)
+ const uno::Sequence< beans::PropertyValue >&
+ rCharacterAndParagraphProperties)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(!IsValid())
+
+ if (!IsValid())
+ {
throw uno::RuntimeException();
- const SwStartNode* pStartNode = GetStartNode();
+ }
+ SwStartNode const*const pStartNode = GetStartNode();
if(!pStartNode)
+ {
throw uno::RuntimeException();
+ }
+
uno::Reference< text::XTextRange > xRet;
+ m_pImpl->m_pDoc->StartUndo(UNDO_INSERT, NULL);
+ // find end node, go backward - don't skip tables because the
+ // new paragraph has to be the last node
+ SwPaM aPam(*pStartNode->EndOfSectionNode());
+ aPam.Move( fnMoveBackward, fnGoNode );
+ // set cursor to the end of the last text node
+ SwCursor aCursor( *aPam.Start(), 0, false );
+ xRet = new SwXTextRange(aCursor, this);
+ aCursor.MovePara( fnParaCurr, fnParaEnd );
+ m_pImpl->m_pDoc->DontExpandFmt( *aCursor.Start() );
+ // now attach the text content here
+ insertTextContent( xRet, xTextContent, false );
+ // now apply the properties to the anchor
+ if (rCharacterAndParagraphProperties.getLength())
{
- pDoc->StartUndo(UNDO_INSERT, NULL);
- //find end node, go backward - don't skip tables because the new paragraph has to be the last node
- SwPaM aPam(*pStartNode->EndOfSectionNode());
- aPam.Move( fnMoveBackward, fnGoNode );
- //set cursor to the end of the last text node
- SwCursor* pCursor = new SwCursor( *aPam.Start(),0,false );
- xRet = new SwXTextRange(*pCursor, this);
- pCursor->MovePara( fnParaCurr, fnParaEnd );
- pDoc->DontExpandFmt( *pCursor->Start() );
- //now attach the text content here
- insertTextContent( xRet, xTextContent, false );
- //now apply the properties to the anchor
- if( rCharacterAndParagraphProperties.getLength())
+ try
{
- try
+ const sal_Int32 nLen(rCharacterAndParagraphProperties.getLength());
+ const uno::Reference< beans::XPropertySet > xAnchor(
+ xTextContent->getAnchor(), uno::UNO_QUERY);
+ if (xAnchor.is())
{
- uno::Reference< beans::XPropertySet > xAnchor( xTextContent->getAnchor(), uno::UNO_QUERY);
- if( xAnchor.is() )
+ for (sal_Int32 nElement = 0; nElement < nLen; ++nElement)
{
- for( sal_Int32 nElement = 0; nElement < rCharacterAndParagraphProperties.getLength(); ++nElement )
- {
- xAnchor->setPropertyValue( rCharacterAndParagraphProperties[nElement].Name, rCharacterAndParagraphProperties[nElement].Value );
- }
+ xAnchor->setPropertyValue(
+ rCharacterAndParagraphProperties[nElement].Name,
+ rCharacterAndParagraphProperties[nElement].Value);
}
-
- }
- catch(const uno::Exception&)
- {
- throw uno::RuntimeException();
}
}
- delete pCursor;
- pDoc->EndUndo(UNDO_INSERT, NULL);
+ catch (const uno::Exception&)
+ {
+ throw uno::RuntimeException();
+ }
}
+ m_pImpl->m_pDoc->EndUndo(UNDO_INSERT, NULL);
return xRet;
}
// move previously appended paragraphs into a text frames
// to support import filters
-uno::Reference< text::XTextContent > SwXText::convertToTextFrame(
+uno::Reference< text::XTextContent > SAL_CALL
+SwXText::convertToTextFrame(
const uno::Reference< text::XTextRange >& xStart,
const uno::Reference< text::XTextRange >& xEnd,
- const uno::Sequence< beans::PropertyValue >& rFrameProperties )
- throw (lang::IllegalArgumentException, uno::RuntimeException)
+ const uno::Sequence< beans::PropertyValue >& rFrameProperties)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
if(!IsValid())
+ {
throw uno::RuntimeException();
+ }
uno::Reference< text::XTextContent > xRet;
SwUnoInternalPaM aStartPam(*GetDoc());
- std::auto_ptr < SwUnoInternalPaM > pEndPam( new SwUnoInternalPaM(*GetDoc()));
- if(SwXTextRange::XTextRangeToSwPaM(aStartPam, xStart) &&
- SwXTextRange::XTextRangeToSwPaM(*pEndPam, xEnd) )
- {
- uno::Reference<lang::XUnoTunnel> xStartRangeTunnel( xStart, uno::UNO_QUERY);
- SwXTextRange* pStartRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xStartRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- uno::Reference<lang::XUnoTunnel> xEndRangeTunnel( xEnd, uno::UNO_QUERY);
- SwXTextRange* pEndRange = reinterpret_cast< SwXTextRange * >(
- sal::static_int_cast< sal_IntPtr >( xEndRangeTunnel->getSomething( SwXTextRange::getUnoTunnelId()) ));
- //bookmarks have to be removed before the referenced text node is deleted in DelFullPara
- if(pStartRange)
- {
- ::sw::mark::IMark const * const pStartBookmark = pStartRange->GetBookmark();
- if(pStartBookmark)
- pDoc->getIDocumentMarkAccess()->deleteMark(pStartBookmark);
- }
- if(pEndRange)
- {
- ::sw::mark::IMark const * const pEndBookmark = pEndRange->GetBookmark();
- if(pEndBookmark)
- pDoc->getIDocumentMarkAccess()->deleteMark(pEndBookmark);
- }
-
- pDoc->StartUndo( UNDO_START, NULL );
- bool bIllegalException = false;
- bool bRuntimeException = false;
- ::rtl::OUString sMessage;
- SwStartNode* pStartStartNode = aStartPam.GetNode()->StartOfSectionNode();
- while(pStartStartNode && pStartStartNode->IsSectionNode())
+ std::auto_ptr< SwUnoInternalPaM > pEndPam(new SwUnoInternalPaM(*GetDoc()));
+ if (!::sw::XTextRangeToSwPaM(aStartPam, xStart) ||
+ !::sw::XTextRangeToSwPaM(*pEndPam, xEnd))
+ {
+ throw lang::IllegalArgumentException();
+ }
+
+ const uno::Reference<lang::XUnoTunnel> xStartRangeTunnel(xStart,
+ uno::UNO_QUERY);
+ SwXTextRange *const pStartRange =
+ ::sw::UnoTunnelGetImplementation<SwXTextRange>(xStartRangeTunnel);
+ const uno::Reference<lang::XUnoTunnel> xEndRangeTunnel(xEnd,
+ uno::UNO_QUERY);
+ SwXTextRange *const pEndRange =
+ ::sw::UnoTunnelGetImplementation<SwXTextRange>(xEndRangeTunnel);
+ // bookmarks have to be removed before the referenced text node
+ // is deleted in DelFullPara
+ if (pStartRange)
+ {
+ pStartRange->Invalidate();
+ }
+ if (pEndRange)
+ {
+ pEndRange->Invalidate();
+ }
+
+ m_pImpl->m_pDoc->StartUndo( UNDO_START, NULL );
+ bool bIllegalException = false;
+ bool bRuntimeException = false;
+ ::rtl::OUString sMessage;
+ SwStartNode* pStartStartNode = aStartPam.GetNode()->StartOfSectionNode();
+ while (pStartStartNode && pStartStartNode->IsSectionNode())
+ {
+ pStartStartNode = pStartStartNode->StartOfSectionNode();
+ }
+ SwStartNode* pEndStartNode = pEndPam->GetNode()->StartOfSectionNode();
+ while (pEndStartNode && pEndStartNode->IsSectionNode())
+ {
+ pEndStartNode = pEndStartNode->StartOfSectionNode();
+ }
+ bool bParaAfterInserted = false;
+ bool bParaBeforeInserted = false;
+ if (pStartStartNode != pEndStartNode || pStartStartNode != GetStartNode())
+ {
+ // todo: if the start/end is in a table then insert a paragraph
+ // before/after, move the start/end nodes, then convert and
+ // remove the addtional paragraphs in the end
+ if (pStartStartNode->GetStartNodeType() == SwTableBoxStartNode)
{
- pStartStartNode = pStartStartNode->StartOfSectionNode();
+ SwTableNode *const pSartTableNode(pStartStartNode->FindTableNode());
+ const SwNodeIndex aTblIdx( *pSartTableNode, -1 );
+ SwPosition aBefore(aTblIdx);
+ bParaBeforeInserted = GetDoc()->AppendTxtNode( aBefore );
+ aStartPam.DeleteMark();
+ *aStartPam.GetPoint() = aBefore;
+ pStartStartNode = aStartPam.GetNode()->StartOfSectionNode();
}
- SwStartNode* pEndStartNode = pEndPam->GetNode()->StartOfSectionNode();
- while(pEndStartNode && pEndStartNode->IsSectionNode())
+ if (pEndStartNode->GetStartNodeType() == SwTableBoxStartNode)
{
- pEndStartNode = pEndStartNode->StartOfSectionNode();
+ SwTableNode *const pEndTableNode = pEndStartNode->FindTableNode();
+ SwEndNode *const pTableEnd = pEndTableNode->EndOfSectionNode();
+ SwPosition aTableEnd(*pTableEnd);
+ bParaAfterInserted = GetDoc()->AppendTxtNode( aTableEnd );
+ pEndPam->DeleteMark();
+ *pEndPam->GetPoint() = aTableEnd;
+ pEndStartNode = pEndPam->GetNode()->StartOfSectionNode();
}
- bool bParaAfterInserted = false;
- bool bParaBeforeInserted = false;
- if(pStartStartNode != pEndStartNode || pStartStartNode != GetStartNode())
+ // now we should have the positions in the same hierarchy
+ if ((pStartStartNode != pEndStartNode) ||
+ (pStartStartNode != GetStartNode()))
{
- //todo: if the start/end is in a table then insert a paragraph before/after, move
- //the start/end nodes, then convert and remove the addtional paragraphs in the end
- if( pStartStartNode->GetStartNodeType() == SwTableBoxStartNode )
+ // if not - remove the additional paragraphs and throw
+ if (bParaBeforeInserted)
{
- SwTableNode* pSartTableNode = pStartStartNode->FindTableNode();
- SwNodeIndex aTblIdx( *pSartTableNode, -1 );
- SwPosition aBefore(aTblIdx);
- bParaBeforeInserted = GetDoc()->AppendTxtNode( aBefore );
- aStartPam.DeleteMark();
- *aStartPam.GetPoint() = aBefore;
- pStartStartNode = aStartPam.GetNode()->StartOfSectionNode();
- }
- if( pEndStartNode->GetStartNodeType() == SwTableBoxStartNode )
- {
- SwTableNode* pEndTableNode = pEndStartNode->FindTableNode();
- SwEndNode* pTableEnd = pEndTableNode->EndOfSectionNode();
- SwPosition aTableEnd(*pTableEnd);
- bParaAfterInserted = GetDoc()->AppendTxtNode( aTableEnd );
- pEndPam->DeleteMark();
- *pEndPam->GetPoint() = aTableEnd;
- pEndStartNode = pEndPam->GetNode()->StartOfSectionNode();
+ SwCursor aDelete(*aStartPam.GetPoint(), 0, false);
+ aDelete.MovePara(fnParaCurr, fnParaStart);
+ aDelete.SetMark();
+ aDelete.MovePara(fnParaCurr, fnParaEnd);
+ GetDoc()->DelFullPara(aDelete);
}
- //now we should have the positions in the same hierarchy
- if(pStartStartNode != pEndStartNode || pStartStartNode != GetStartNode())
+ if (bParaAfterInserted)
{
- //if not - remove the additional paragraphs and throw
- if( bParaBeforeInserted )
- {
- SwCursor aDelete(*aStartPam.GetPoint(), 0, false);
- aDelete.MovePara(fnParaCurr, fnParaStart);
- aDelete.SetMark();
- aDelete.MovePara(fnParaCurr, fnParaEnd);
- GetDoc()->DelFullPara(aDelete);
- }
- if( bParaAfterInserted )
- {
- SwCursor aDelete(*pEndPam->GetPoint(), 0, false);
- aDelete.MovePara(fnParaCurr, fnParaStart);
- aDelete.SetMark();
- aDelete.MovePara(fnParaCurr, fnParaEnd);
- GetDoc()->DelFullPara(aDelete);
- }
- throw lang::IllegalArgumentException();
+ SwCursor aDelete(*pEndPam->GetPoint(), 0, false);
+ aDelete.MovePara(fnParaCurr, fnParaStart);
+ aDelete.SetMark();
+ aDelete.MovePara(fnParaCurr, fnParaEnd);
+ GetDoc()->DelFullPara(aDelete);
}
- }
-
- //make a selection from aStartPam to a EndPam
- SwSelBoxes aBoxes;
- SfxItemSet aFrameItemSet(pDoc->GetAttrPool(),
- RES_FRMATR_BEGIN, RES_FRMATR_END-1,
- 0 );
-
- aStartPam.SetMark();
- *aStartPam.End() = *pEndPam->End();
- pEndPam.reset(0);
-
- SwXTextFrame* pNewFrame;
- uno::Reference< text::XTextFrame > xNewFrame = pNewFrame = new SwXTextFrame( pDoc );
- pNewFrame->SetSelection( aStartPam );
- try
+ throw lang::IllegalArgumentException();
+ }
+ }
+
+ // make a selection from aStartPam to a EndPam
+ SwSelBoxes aBoxes;
+ SfxItemSet aFrameItemSet(m_pImpl->m_pDoc->GetAttrPool(),
+ RES_FRMATR_BEGIN, RES_FRMATR_END-1,
+ 0 );
+
+ aStartPam.SetMark();
+ *aStartPam.End() = *pEndPam->End();
+ pEndPam.reset(0);
+
+ SwXTextFrame *const pNewFrame = new SwXTextFrame(m_pImpl->m_pDoc);
+ const uno::Reference< text::XTextFrame > xNewFrame = pNewFrame;
+ pNewFrame->SetSelection( aStartPam );
+ try
+ {
+ const beans::PropertyValue* pValues = rFrameProperties.getConstArray();
+ for (sal_Int32 nProp = 0; nProp < rFrameProperties.getLength(); ++nProp)
{
- const beans::PropertyValue* pValues = rFrameProperties.getConstArray();
- for(sal_Int32 nProp = 0; nProp < rFrameProperties.getLength(); ++nProp)
- pNewFrame->SwXFrame::setPropertyValue(pValues[nProp].Name, pValues[nProp].Value);
-
- {//has to be in a block to remove the SwIndexes before DelFullPara is called
- uno::Reference< text::XTextRange> xInsertTextRange = new SwXTextRange(aStartPam, this);
- pNewFrame->attach( xInsertTextRange );
- pNewFrame->setName(pDoc->GetUniqueFrameName());
+ pNewFrame->SwXFrame::setPropertyValue(
+ pValues[nProp].Name, pValues[nProp].Value);
+ }
+
+ { // has to be in a block to remove the SwIndexes before
+ // DelFullPara is called
+ const uno::Reference< text::XTextRange> xInsertTextRange =
+ new SwXTextRange(aStartPam, this);
+ pNewFrame->attach( xInsertTextRange );
+ pNewFrame->setName(m_pImpl->m_pDoc->GetUniqueFrameName());
+ }
+
+ if (!aStartPam.GetTxt().Len())
+ {
+ bool bMoved = false;
+ { // has to be in a block to remove the SwIndexes before
+ // DelFullPara is called
+ SwPaM aMovePam( *aStartPam.GetNode() );
+ if (aMovePam.Move( fnMoveForward, fnGoCntnt ))
+ {
+ // move the anchor to the next paragraph
+ SwFmtAnchor aNewAnchor(pNewFrame->GetFrmFmt()->GetAnchor());
+ aNewAnchor.SetAnchor( aMovePam.Start() );
+ m_pImpl->m_pDoc->SetAttr(
+ aNewAnchor, *pNewFrame->GetFrmFmt() );
+ }
+ bMoved = true;
}
-
- if( !aStartPam.GetTxt().Len() )
+ if (bMoved)
{
-
- bool bMoved = false;
- {//has to be in a block to remove the SwIndexes before DelFullPara is called
- SwPaM aMovePam( *aStartPam.GetNode() );
- if( aMovePam.Move( fnMoveForward, fnGoCntnt ) )
- {
- //move the anchor to the next paragraph
- SwFmtAnchor aNewAnchor( pNewFrame->GetFrmFmt()->GetAnchor() );
- aNewAnchor.SetAnchor( aMovePam.Start() );
- pDoc->SetAttr( aNewAnchor, *pNewFrame->GetFrmFmt() );
- }
- bMoved = true;
- }
- if(bMoved)
- {
- aStartPam.DeleteMark();
+ aStartPam.DeleteMark();
// SwPaM aDelPam( *aStartPam.GetNode() );
- pDoc->DelFullPara(aStartPam/*aDelPam*/);
- }
+ m_pImpl->m_pDoc->DelFullPara(aStartPam/*aDelPam*/);
}
}
- catch( lang::IllegalArgumentException& rIllegal )
+ }
+ catch (lang::IllegalArgumentException& rIllegal)
+ {
+ sMessage = rIllegal.Message;
+ bIllegalException = true;
+ }
+ catch (uno::RuntimeException& rRuntime)
+ {
+ sMessage = rRuntime.Message;
+ bRuntimeException = true;
+ }
+ xRet = pNewFrame;
+ if (bParaBeforeInserted || bParaAfterInserted)
+ {
+ const uno::Reference<text::XTextCursor> xFrameTextCursor =
+ pNewFrame->createTextCursor();
+ const uno::Reference<XUnoTunnel> xTunnel(xFrameTextCursor,
+ uno::UNO_QUERY);
+ SwXTextCursor *const pFrameCursor =
+ ::sw::UnoTunnelGetImplementation<SwXTextCursor>(xTunnel);
+ if (bParaBeforeInserted)
{
- sMessage = rIllegal.Message;
- bIllegalException = true;
+ // todo: remove paragraph before frame
+ m_pImpl->m_pDoc->DelFullPara(*pFrameCursor->GetPaM());
}
- catch( uno::RuntimeException& rRuntime )
+ if (bParaAfterInserted)
{
- sMessage = rRuntime.Message;
- bRuntimeException = true;
+ xFrameTextCursor->gotoEnd(sal_False);
+ m_pImpl->m_pDoc->DelFullPara(*pFrameCursor->GetPaM());
}
- xRet = pNewFrame;
- uno::Reference<text::XTextCursor> xFrameTextCursor;
- if( bParaBeforeInserted )
+ }
+
+ m_pImpl->m_pDoc->EndUndo(UNDO_END, NULL);
+ if (bIllegalException || bRuntimeException)
+ {
+ SwUndoIter aUndoIter( &aStartPam, UNDO_EMPTY );
+ m_pImpl->m_pDoc->Undo(aUndoIter);
+ if (bIllegalException)
{
- //todo: remove paragraph before frame
- xFrameTextCursor = pNewFrame->createTextCursor();
- uno::Reference<XUnoTunnel> xTunnel(xFrameTextCursor, uno::UNO_QUERY);
- SwXTextCursor* pFrameCursor = reinterpret_cast< SwXTextCursor* >(
- sal::static_int_cast< sal_IntPtr >( xTunnel->getSomething(SwXTextCursor::getUnoTunnelId()) ));
- pDoc->DelFullPara(*pFrameCursor->GetPaM());
+ lang::IllegalArgumentException aEx;
+ aEx.Message = sMessage;
+ throw aEx;
}
- if( bParaAfterInserted )
+ else //if(bRuntimeException)
{
- //todo: remove paragraph after frame
- if( xFrameTextCursor.is() )
- xFrameTextCursor = pNewFrame->createTextCursor();
- xFrameTextCursor->gotoEnd( false );
- uno::Reference<XUnoTunnel> xTunnel(xFrameTextCursor, uno::UNO_QUERY);
- SwXTextCursor* pFrameCursor = reinterpret_cast< SwXTextCursor* >(
- sal::static_int_cast< sal_IntPtr >( xTunnel->getSomething(SwXTextCursor::getUnoTunnelId()) ));
- pDoc->DelFullPara(*pFrameCursor->GetPaM());
- }
-
- pDoc->EndUndo(UNDO_END, NULL);
- if( bIllegalException || bRuntimeException )
- {
- SwUndoIter aUndoIter( &aStartPam, UNDO_EMPTY );
- pDoc->Undo(aUndoIter);
- if(bIllegalException)
- {
- lang::IllegalArgumentException aEx;
- aEx.Message = sMessage;
- throw aEx;
- }
- else //if(bRuntimeException)
- {
- uno::RuntimeException aEx;
- aEx.Message = sMessage;
- throw aEx;
- }
+ uno::RuntimeException aEx;
+ aEx.Message = sMessage;
+ throw aEx;
}
}
- else
- throw lang::IllegalArgumentException();
return xRet;
}
+
/*-- 11.05.2006 15:46:26---------------------------------------------------
Move previously imported paragraphs into a new text table.
@@ -1774,155 +1846,407 @@ struct VerticallyMergedCell
sal_Int32 nLeftPosition;
bool bOpen;
- VerticallyMergedCell( uno::Reference< beans::XPropertySet >& rxCell, sal_Int32 nLeft ) :
- nLeftPosition( nLeft ),
- bOpen( true )
- {
- aCells.push_back( rxCell );
- }
+ VerticallyMergedCell(uno::Reference< beans::XPropertySet > const& rxCell,
+ const sal_Int32 nLeft)
+ : nLeftPosition( nLeft )
+ , bOpen( true )
+ {
+ aCells.push_back( rxCell );
+ }
};
#define COL_POS_FUZZY 2
-bool lcl_SimilarPosition( sal_Int32 nPos1, sal_Int32 nPos2 )
+static bool lcl_SimilarPosition( const sal_Int32 nPos1, const sal_Int32 nPos2 )
{
return abs( nPos1 - nPos2 ) < COL_POS_FUZZY;
}
-uno::Reference< text::XTextTable > SwXText::convertToTable(
- const uno::Sequence< uno::Sequence< uno::Sequence< uno::Reference< text::XTextRange > > > >& rTableRanges,
- const uno::Sequence< uno::Sequence< uno::Sequence< beans::PropertyValue > > >& rCellProperties,
- const uno::Sequence< uno::Sequence< beans::PropertyValue > >& rRowProperties,
- const uno::Sequence< beans::PropertyValue >& rTableProperties )
- throw (lang::IllegalArgumentException, uno::RuntimeException)
+void SwXText::Impl::ConvertCell(
+ const bool bFirstCell,
+ const uno::Sequence< uno::Reference< text::XTextRange > > & rCell,
+ ::std::vector<SwNodeRange> & rRowNodes,
+ ::std::auto_ptr< SwPaM > & rpFirstPaM,
+ SwPaM & rLastPaM,
+ bool & rbExcept)
{
- vos::OGuard aGuard(Application::GetSolarMutex());
- if(!IsValid())
- throw uno::RuntimeException();
+ if (rCell.getLength() != 2)
+ {
+ throw lang::IllegalArgumentException();
+ }
+ const uno::Reference<text::XTextRange> xStartRange = rCell[0];
+ const uno::Reference<text::XTextRange> xEndRange = rCell[1];
+ SwUnoInternalPaM aStartCellPam(*m_pDoc);
+ SwUnoInternalPaM aEndCellPam(*m_pDoc);
- //at first collect the text ranges as SwPaMs
- const uno::Sequence< uno::Sequence< uno::Reference< text::XTextRange > > >* pTableRanges = rTableRanges.getConstArray();
- std::auto_ptr < SwPaM > pFirstPaM;
- std::vector< std::vector<SwNodeRange> > aTableNodes;
- bool bExcept = false;
- SwPaM aLastPaM(pDoc->GetNodes());
- for( sal_Int32 nRow = 0; !bExcept && (nRow < rTableRanges.getLength()); ++nRow)
+ // !!! TODO - PaMs in tables and sections do not work here -
+ // the same applies to PaMs in frames !!!
+
+ if (!::sw::XTextRangeToSwPaM(aStartCellPam, xStartRange) ||
+ !::sw::XTextRangeToSwPaM(aEndCellPam, xEndRange))
{
- std::vector<SwNodeRange> aRowNodes;
- const uno::Sequence< uno::Sequence< uno::Reference< text::XTextRange > > >& rRow = pTableRanges[nRow];
- const uno::Sequence< uno::Reference< text::XTextRange > >* pRow = pTableRanges[nRow].getConstArray();
+ throw lang::IllegalArgumentException();
+ }
+ /** check the nodes between start and end
+ it is allowed to have pairs of StartNode/EndNodes
+ */
+ if (aStartCellPam.Start()->nNode < aEndCellPam.End()->nNode)
+ {
+ // increment on each StartNode and decrement on each EndNode
+ // we must reach zero at the end and must not go below zero
+ long nOpenNodeBlock = 0;
+ SwNodeIndex aCellIndex = aStartCellPam.Start()->nNode;
+ while (aCellIndex < aEndCellPam.End()->nNode.GetIndex())
+ {
+ if (aCellIndex.GetNode().IsStartNode())
+ {
+ ++nOpenNodeBlock;
+ }
+ else if (aCellIndex.GetNode().IsEndNode())
+ {
+ --nOpenNodeBlock;
+ }
+ if (nOpenNodeBlock < 0)
+ {
+ rbExcept = true;
+ break;
+ }
+ ++aCellIndex;
+ }
+ if (nOpenNodeBlock != 0)
+ {
+ rbExcept = true;
+ return;
+ }
+ }
- for( sal_Int32 nCell = 0; nCell < rRow.getLength(); ++nCell)
+ /** The vector<vector> NodeRanges has to contain consecutive nodes.
+ In rTableRanges the ranges don't need to be full paragraphs but
+ they have to follow each other. To process the ranges they
+ have to be aligned on paragraph borders by inserting paragraph
+ breaks. Non-consecutive ranges must initiate an exception.
+ */
+ if (bFirstCell)
+ {
+ // align the beginning - if necessary
+ if (aStartCellPam.Start()->nContent.GetIndex())
{
- if( pRow[nCell].getLength() != 2 )
- throw lang::IllegalArgumentException();
- const uno::Reference< text::XTextRange > xStartRange = pRow[nCell][0];
- const uno::Reference< text::XTextRange > xEndRange = pRow[nCell][1];
- SwUnoInternalPaM aStartCellPam(*pDoc);
- SwUnoInternalPaM aEndCellPam(*pDoc);
-
- // !!! TODO - PaMs in tables and sections do not work here - the same applies to PaMs in frames !!!
-
- if(!SwXTextRange::XTextRangeToSwPaM(aStartCellPam, xStartRange) ||
- !SwXTextRange::XTextRangeToSwPaM(aEndCellPam, xEndRange) )
- throw lang::IllegalArgumentException();
- /** check the nodes between start and end
- it is allowed to have pairs of StartNode/EndNodes
- */
- if(aStartCellPam.Start()->nNode < aEndCellPam.End()->nNode)
+ m_pDoc->SplitNode(*aStartCellPam.Start(), sal_False);
+ }
+ }
+ else
+ {
+ // check the predecessor
+ const ULONG nLastNodeIndex = rLastPaM.End()->nNode.GetIndex();
+ const ULONG nStartCellNodeIndex =
+ aStartCellPam.Start()->nNode.GetIndex();
+ const ULONG nLastNodeEndIndex = rLastPaM.End()->nNode.GetIndex();
+ if (nLastNodeIndex == nStartCellNodeIndex)
+ {
+ // same node as predecessor then equal nContent?
+ if (rLastPaM.End()->nContent != aStartCellPam.Start()->nContent)
{
- // increment on each StartNode and decrement on each EndNode
- // we must reach zero at the end and must not go below zero
- long nOpenNodeBlock = 0;
- SwNodeIndex aCellIndex = aStartCellPam.Start()->nNode;
- while( aCellIndex < aEndCellPam.End()->nNode.GetIndex())
- {
- if( aCellIndex.GetNode().IsStartNode() )
- ++nOpenNodeBlock;
- else if(aCellIndex.GetNode().IsEndNode() )
- --nOpenNodeBlock;
- if( nOpenNodeBlock < 0 )
- {
- bExcept = true;
- break;
- }
- ++aCellIndex;
- }
- if( nOpenNodeBlock != 0)
- {
- bExcept = true;
- break;
- }
+ rbExcept = true;
}
+ else
+ {
+ m_pDoc->SplitNode(*aStartCellPam.Start(), sal_False);
+ }
+ }
+ else if (nStartCellNodeIndex == (nLastNodeEndIndex + 1))
+ {
+ // next paragraph - now the content index of the new should be 0
+ // and of the old one should be equal to the text length
+ // but if it isn't we don't care - the cell is being inserted on
+ // the node border anyway
+ }
+ else
+ {
+ rbExcept = true;
+ }
+ }
+ // now check if there's a need to insert another paragraph break
+ if (aEndCellPam.End()->nContent.GetIndex() <
+ aEndCellPam.End()->nNode.GetNode().GetTxtNode()->Len())
+ {
+ m_pDoc->SplitNode(*aEndCellPam.End(), sal_False);
+ // take care that the new start/endcell is moved to the right position
+ // aStartCellPam has to point to the start of the new (previous) node
+ // aEndCellPam has to point to the end of the new (previous) node
+ aStartCellPam.DeleteMark();
+ aStartCellPam.Move(fnMoveBackward, fnGoNode);
+ aStartCellPam.GetPoint()->nContent = 0;
+ aEndCellPam.DeleteMark();
+ aEndCellPam.Move(fnMoveBackward, fnGoNode);
+ aEndCellPam.GetPoint()->nContent =
+ aEndCellPam.GetNode()->GetTxtNode()->Len();
+ }
- /** The vector<vector> NodeRanges has to contain consecutive nodes.
- In rTableRanges the ranges don't need to be full paragraphs but they have to follow
- each other. To process the ranges they have to be aligned on paragraph borders
- by inserting paragraph breaks. Non-consecutive ranges must initiate an
- exception.
+ *rLastPaM.GetPoint() = *aEndCellPam.Start();
+ if (aStartCellPam.HasMark())
+ {
+ rLastPaM.SetMark();
+ *rLastPaM.GetMark() = *aEndCellPam.End();
+ }
+ else
+ {
+ rLastPaM.DeleteMark();
+ }
- */
- if(!nRow && !nCell)
+ SwNodeRange aCellRange(aStartCellPam.Start()->nNode,
+ aEndCellPam.End()->nNode);
+ rRowNodes.push_back(aCellRange);
+ if (bFirstCell)
+ {
+ rpFirstPaM.reset(new SwPaM(*aStartCellPam.Start()));
+ }
+}
+
+typedef uno::Sequence< text::TableColumnSeparator > TableColumnSeparators;
+
+static void
+lcl_ApplyRowProperties(
+ uno::Sequence<beans::PropertyValue> const& rRowProperties,
+ uno::Any const& rRow,
+ TableColumnSeparators & rRowSeparators)
+{
+ uno::Reference< beans::XPropertySet > xRow;
+ rRow >>= xRow;
+ const beans::PropertyValue* pProperties = rRowProperties.getConstArray();
+ for (sal_Int32 nProperty = 0; nProperty < rRowProperties.getLength();
+ ++nProperty)
+ {
+ if (pProperties[ nProperty ].Name.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("TableColumnSeparators")))
+ {
+ // add the separators to access the cell's positions
+ // for vertical merging later
+ TableColumnSeparators aSeparators;
+ pProperties[ nProperty ].Value >>= aSeparators;
+ rRowSeparators = aSeparators;
+ }
+ xRow->setPropertyValue(
+ pProperties[ nProperty ].Name, pProperties[ nProperty ].Value);
+ }
+}
+
+#ifdef DEBUG
+//-->debug cell properties of all rows
+static void
+lcl_DebugCellProperties(
+ const uno::Sequence< uno::Sequence< uno::Sequence<
+ beans::PropertyValue > > >& rCellProperties)
+{
+ ::rtl::OUString sNames;
+ for (sal_Int32 nDebugRow = 0; nDebugRow < rCellProperties.getLength();
+ ++nDebugRow)
+ {
+ const uno::Sequence< beans::PropertyValues > aDebugCurrentRow =
+ rCellProperties[nDebugRow];
+ sal_Int32 nDebugCells = aDebugCurrentRow.getLength();
+ (void) nDebugCells;
+ for (sal_Int32 nDebugCell = 0; nDebugCell < nDebugCells;
+ ++nDebugCell)
+ {
+ const uno::Sequence< beans::PropertyValue >&
+ rDebugCellProperties = aDebugCurrentRow[nDebugCell];
+ const sal_Int32 nDebugCellProperties =
+ rDebugCellProperties.getLength();
+ for (sal_Int32 nDebugProperty = 0;
+ nDebugProperty < nDebugCellProperties; ++nDebugProperty)
{
- //align the beginning - if necessary
- if(aStartCellPam.Start()->nContent.GetIndex())
- pDoc->SplitNode(*aStartCellPam.Start(), sal_False);
+ const ::rtl::OUString sName =
+ rDebugCellProperties[nDebugProperty].Name;
+ sNames += sName;
+ sNames += ::rtl::OUString('-');
}
- else
+ sNames += ::rtl::OUString('+');
+ }
+ sNames += ::rtl::OUString('|');
+ }
+ (void)sNames;
+}
+//--<
+#endif
+
+
+static void
+lcl_ApplyCellProperties(
+ const sal_Int32 nCell,
+ TableColumnSeparators const& rRowSeparators,
+ const uno::Sequence< beans::PropertyValue >& rCellProperties,
+ uno::Reference< uno::XInterface > xCell,
+ ::std::vector<VerticallyMergedCell> & rMergedCells)
+{
+ const sal_Int32 nCellProperties = rCellProperties.getLength();
+ const uno::Reference< beans::XPropertySet > xCellPS(xCell, uno::UNO_QUERY);
+ for (sal_Int32 nProperty = 0; nProperty < nCellProperties; ++nProperty)
+ {
+ const OUString & rName = rCellProperties[nProperty].Name;
+ const uno::Any & rValue = rCellProperties[nProperty].Value;
+ if (rName.equalsAscii("VerticalMerge"))
+ {
+ // determine left border position
+ // add the cell to a queue of merged cells
+ sal_Bool bMerge = sal_False;
+ rValue >>= bMerge;
+ sal_Int32 nLeftPos = -1;
+ if (!nCell)
+ {
+ nLeftPos = 0;
+ }
+ else if (rRowSeparators.getLength() >= nCell)
{
- //check the predecessor
- ULONG nLastNodeIndex = aLastPaM.End()->nNode.GetIndex();
- ULONG nStartCellNodeIndex = aStartCellPam.Start()->nNode.GetIndex();
- ULONG nLastNodeEndIndex = aLastPaM.End()->nNode.GetIndex();
- if( nLastNodeIndex == nStartCellNodeIndex)
+ const text::TableColumnSeparator* pSeparators =
+ rRowSeparators.getConstArray();
+ nLeftPos = pSeparators[nCell - 1].Position;
+ }
+ if (bMerge)
+ {
+ // 'close' all the cell with the same left position
+ // if separate vertical merges in the same column exist
+ if (rMergedCells.size())
{
- //- same node as predecessor then equal nContent?
- if(aLastPaM.End()->nContent != aStartCellPam.Start()->nContent)
- bExcept = true;
- else
+ std::vector<VerticallyMergedCell>::iterator aMergedIter =
+ rMergedCells.begin();
+ while (aMergedIter != rMergedCells.end())
{
- pDoc->SplitNode(*aStartCellPam.Start(), sal_False);
+ if (lcl_SimilarPosition(aMergedIter->nLeftPosition,
+ nLeftPos))
+ {
+ aMergedIter->bOpen = false;
+ }
+ ++aMergedIter;
}
}
- else if(nStartCellNodeIndex == ( nLastNodeEndIndex + 1))
- {
- //next paragraph - now the content index of the new should be 0
- //and of the old one should be equal to the text length
- //but if it isn't we don't care - the cell is being inserted on the
- //node border anyway
- }
- else
+ // add the new group of merged cells
+ rMergedCells.push_back(VerticallyMergedCell(xCellPS, nLeftPos));
+ }
+ else
+ {
+ // find the cell that
+ DBG_ASSERT(rMergedCells.size(),
+ "the first merged cell is missing");
+ if (rMergedCells.size())
{
- bExcept = true;
+ std::vector<VerticallyMergedCell>::iterator aMergedIter =
+ rMergedCells.begin();
+#if OSL_DEBUG_LEVEL > 1
+ bool bDbgFound = false;
+#endif
+ while (aMergedIter != rMergedCells.end())
+ {
+ if (aMergedIter->bOpen &&
+ lcl_SimilarPosition(aMergedIter->nLeftPosition,
+ nLeftPos))
+ {
+ aMergedIter->aCells.push_back( xCellPS );
+#if OSL_DEBUG_LEVEL > 1
+ bDbgFound = true;
+#endif
+ }
+ ++aMergedIter;
+ }
+#if OSL_DEBUG_LEVEL > 1
+ DBG_ASSERT( bDbgFound,
+ "couldn't find first vertically merged cell" );
+#endif
}
}
- //now check if there's a need to insert another paragraph break
- if( aEndCellPam.End()->nContent.GetIndex() < aEndCellPam.End()->nNode.GetNode().GetTxtNode()->Len())
- {
- pDoc->SplitNode(*aEndCellPam.End(), sal_False);
- //take care that the new start/endcell is moved to the right position
- //aStartCellPam has to point to the start of the new (previous) node
- //aEndCellPam has to point the the end of the new (previous) node
- aStartCellPam.DeleteMark();
- aStartCellPam.Move(fnMoveBackward, fnGoNode);
- aStartCellPam.GetPoint()->nContent = 0;
- aEndCellPam.DeleteMark();
- aEndCellPam.Move(fnMoveBackward, fnGoNode);
- aEndCellPam.GetPoint()->nContent = aEndCellPam.GetNode()->GetTxtNode()->Len();
-
- }
-
- *aLastPaM.GetPoint() = *aEndCellPam.Start();
- if( aStartCellPam.HasMark() )
+ }
+ else
+ {
+ try
{
- aLastPaM.SetMark();
- *aLastPaM.GetMark() = *aEndCellPam.End();
+ xCellPS->setPropertyValue(rName, rValue);
}
- else
- aLastPaM.DeleteMark();
+ catch (uno::Exception const& e)
+ {
+ // Apply the paragraph and char properties to the cell's content
+ const uno::Reference< text::XText > xCellText(xCell,
+ uno::UNO_QUERY);
+ const uno::Reference< text::XTextCursor > xCellCurs =
+ xCellText->createTextCursor();
+ xCellCurs->gotoStart( sal_False );
+ xCellCurs->gotoEnd( sal_True );
+ const uno::Reference< beans::XPropertySet > xCellTextProps(
+ xCellCurs, uno::UNO_QUERY);
+ xCellTextProps->setPropertyValue(rName, rValue);
+ }
+ }
+ }
+}
- SwNodeRange aCellRange( aStartCellPam.Start()->nNode, aEndCellPam.End()->nNode);
- aRowNodes.push_back(aCellRange);
- if( !nRow && !nCell )
- pFirstPaM.reset( new SwPaM(*aStartCellPam.Start()));
+static void
+lcl_MergeCells(::std::vector<VerticallyMergedCell> & rMergedCells)
+{
+ if (rMergedCells.size())
+ {
+ std::vector<VerticallyMergedCell>::iterator aMergedIter =
+ rMergedCells.begin();
+ while (aMergedIter != rMergedCells.end())
+ {
+ sal_Int32 nCellCount =
+ static_cast<sal_Int32>(aMergedIter->aCells.size());
+ std::vector<uno::Reference< beans::XPropertySet > >::iterator
+ aCellIter = aMergedIter->aCells.begin();
+ bool bFirstCell = true;
+ // the first of the cells gets the number of cells set as RowSpan
+ // the others get the inverted number of remaining merged cells
+ // (3,-2,-1)
+ while (aCellIter != aMergedIter->aCells.end())
+ {
+ (*aCellIter)->setPropertyValue(
+ C2U(SW_PROP_NAME_STR(UNO_NAME_ROW_SPAN)),
+ uno::makeAny(nCellCount));
+ if (bFirstCell)
+ {
+ nCellCount *= -1;
+ bFirstCell = false;
+ }
+ ++nCellCount;
+ ++aCellIter;
+ }
+ ++aMergedIter;
+ }
+ }
+}
+
+uno::Reference< text::XTextTable > SAL_CALL
+SwXText::convertToTable(
+ const uno::Sequence< uno::Sequence< uno::Sequence<
+ uno::Reference< text::XTextRange > > > >& rTableRanges,
+ const uno::Sequence< uno::Sequence< uno::Sequence<
+ beans::PropertyValue > > >& rCellProperties,
+ const uno::Sequence< uno::Sequence< beans::PropertyValue > >&
+ rRowProperties,
+ const uno::Sequence< beans::PropertyValue >& rTableProperties)
+throw (lang::IllegalArgumentException, uno::RuntimeException)
+{
+ vos::OGuard aGuard(Application::GetSolarMutex());
+
+ if(!IsValid())
+ {
+ throw uno::RuntimeException();
+ }
+
+ //at first collect the text ranges as SwPaMs
+ const uno::Sequence< uno::Sequence< uno::Reference< text::XTextRange > > >*
+ pTableRanges = rTableRanges.getConstArray();
+ std::auto_ptr < SwPaM > pFirstPaM;
+ std::vector< std::vector<SwNodeRange> > aTableNodes;
+ bool bExcept = false;
+ SwPaM aLastPaM(m_pImpl->m_pDoc->GetNodes());
+ for (sal_Int32 nRow = 0; !bExcept && (nRow < rTableRanges.getLength());
+ ++nRow)
+ {
+ std::vector<SwNodeRange> aRowNodes;
+ const uno::Sequence< uno::Reference< text::XTextRange > >* pRow =
+ pTableRanges[nRow].getConstArray();
+ const sal_Int32 nCells(pTableRanges[nRow].getLength());
+
+ for (sal_Int32 nCell = 0; nCell < nCells; ++nCell)
+ {
+ m_pImpl->ConvertCell((nCell == 0) && (nRow == 0), pRow[nCell],
+ aRowNodes, pFirstPaM, aLastPaM, bExcept);
}
aTableNodes.push_back(aRowNodes);
}
@@ -1930,220 +2254,84 @@ uno::Reference< text::XTextTable > SwXText::convertToTable(
if(bExcept)
{
SwUndoIter aUndoIter( &aLastPaM, UNDO_EMPTY );
- pDoc->Undo(aUndoIter);
+ m_pImpl->m_pDoc->Undo(aUndoIter);
throw lang::IllegalArgumentException();
}
- typedef uno::Sequence< text::TableColumnSeparator > TableColumnSeparators;
- std::vector< TableColumnSeparators > aRowSeparators(rRowProperties.getLength());
- std::vector<VerticallyMergedCell> aMergedCells;
+ std::vector< TableColumnSeparators >
+ aRowSeparators(rRowProperties.getLength());
+ std::vector<VerticallyMergedCell> aMergedCells;
- const SwTable* pTable = pDoc->TextToTable( aTableNodes );
- SwXTextTable* pTextTable = 0;
- uno::Reference< text::XTextTable > xRet = pTextTable = new SwXTextTable( *pTable->GetFrmFmt() );
- uno::Reference< beans::XPropertySet > xPrSet = pTextTable;
- // set properties to the table - catch lang::WrappedTargetException and lang::IndexOutOfBoundsException
+ SwTable const*const pTable = m_pImpl->m_pDoc->TextToTable( aTableNodes );
+ SwXTextTable *const pTextTable = new SwXTextTable( *pTable->GetFrmFmt() );
+ const uno::Reference< text::XTextTable > xRet = pTextTable;
+ const uno::Reference< beans::XPropertySet > xPrSet = pTextTable;
+ // set properties to the table
+ // catch lang::WrappedTargetException and lang::IndexOutOfBoundsException
try
{
//apply table properties
- const beans::PropertyValue* pTableProperties = rTableProperties.getConstArray();
- sal_Int32 nProperty = 0;
- for( ; nProperty < rTableProperties.getLength(); ++nProperty)
+ const beans::PropertyValue* pTableProperties =
+ rTableProperties.getConstArray();
+ for (sal_Int32 nProperty = 0; nProperty < rTableProperties.getLength();
+ ++nProperty)
{
- try
+ try
{
- xPrSet->setPropertyValue( pTableProperties[nProperty].Name, pTableProperties[nProperty].Value );
+ xPrSet->setPropertyValue( pTableProperties[nProperty].Name,
+ pTableProperties[nProperty].Value );
}
- catch ( const uno::Exception e )
+ catch ( uno::Exception const& e )
{
#if DEBUG
std::clog << "Exception when setting property: ";
- std::clog << rtl::OUStringToOString( pTableProperties[nProperty].Name, RTL_TEXTENCODING_UTF8 ).getStr( );
+ std::clog << rtl::OUStringToOString(
+ pTableProperties[nProperty].Name, RTL_TEXTENCODING_UTF8)
+ .getStr();
std::clog << ". Message: ";
- std::clog << rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr( );
+ std::clog << rtl::OUStringToOString( e.Message,
+ RTL_TEXTENCODING_UTF8 ).getStr();
std::clog << std::endl;
#endif
}
}
//apply row properties
- uno::Reference< table::XTableRows > xRows = xRet->getRows();
- const beans::PropertyValues* pRowProperties = rRowProperties.getConstArray();
- sal_Int32 nRow = 0;
- for( ; nRow < xRows->getCount(); ++nRow)
+ const uno::Reference< table::XTableRows > xRows = xRet->getRows();
+
+ const beans::PropertyValues* pRowProperties =
+ rRowProperties.getConstArray();
+ for (sal_Int32 nRow = 0; nRow < xRows->getCount(); ++nRow)
{
if( nRow >= rRowProperties.getLength())
{
break;
}
- uno::Reference< beans::XPropertySet > xRow;
- xRows->getByIndex( nRow ) >>= xRow;
- const beans::PropertyValue* pProperties = pRowProperties[nRow].getConstArray();
- for( nProperty = 0; nProperty < pRowProperties[nRow].getLength(); ++nProperty)
- {
- if( pProperties[ nProperty ].Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM ( "TableColumnSeparators" )))
- {
- //add the separators to access the cell's positions for vertical merging later
- TableColumnSeparators aSeparators;
- pProperties[ nProperty ].Value >>= aSeparators;
- aRowSeparators[nRow] = aSeparators;
- }
- xRow->setPropertyValue( pProperties[ nProperty ].Name, pProperties[ nProperty ].Value );
- }
+ lcl_ApplyRowProperties(pRowProperties[nRow],
+ xRows->getByIndex(nRow), aRowSeparators[nRow]);
}
#ifdef DEBUG
-//-->debug cell properties of all rows
- {
- ::rtl::OUString sNames;
- for( sal_Int32 nDebugRow = 0; nDebugRow < rCellProperties.getLength(); ++nDebugRow)
- {
- const uno::Sequence< beans::PropertyValues > aDebugCurrentRow = rCellProperties[nDebugRow];
- sal_Int32 nDebugCells = aDebugCurrentRow.getLength();
- (void) nDebugCells;
- for( sal_Int32 nDebugCell = 0; nDebugCell < nDebugCells; ++nDebugCell)
- {
- const uno::Sequence< beans::PropertyValue >& aDebugCellProperties = aDebugCurrentRow[nDebugCell];
- sal_Int32 nDebugCellProperties = aDebugCellProperties.getLength();
- for( sal_Int32 nDebugProperty = 0; nDebugProperty < nDebugCellProperties; ++nDebugProperty)
- {
- const ::rtl::OUString sName = aDebugCellProperties[nDebugProperty].Name;
- sNames += sName;
- sNames += ::rtl::OUString('-');
- }
- sNames += ::rtl::OUString('+');
- }
- sNames += ::rtl::OUString('|');
- }
- (void)sNames;
- }
-//--<
+ lcl_DebugCellProperties(rCellProperties);
#endif
-
//apply cell properties
- for( nRow = 0; nRow < rCellProperties.getLength(); ++nRow)
+ for (sal_Int32 nRow = 0; nRow < rCellProperties.getLength(); ++nRow)
{
- const uno::Sequence< beans::PropertyValues > aCurrentRow = rCellProperties[nRow];
+ const uno::Sequence< beans::PropertyValues > aCurrentRow =
+ rCellProperties[nRow];
sal_Int32 nCells = aCurrentRow.getLength();
- for( sal_Int32 nCell = 0; nCell < nCells; ++nCell)
- {
- const uno::Sequence< beans::PropertyValue >& aCellProperties = aCurrentRow[nCell];
- sal_Int32 nCellProperties = aCellProperties.getLength();
- uno::Reference< beans::XPropertySet > xCell( pTextTable->getCellByPosition(nCell, nRow), uno::UNO_QUERY );
- for( nProperty = 0; nProperty < nCellProperties; ++nProperty)
- {
- const OUString& rName = aCellProperties[nProperty].Name;
- if( rName.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM ( "VerticalMerge")))
- {
- //determine left border position
- //add the cell to a queue of merged cells
- //
- sal_Bool bMerge = sal_False;
- aCellProperties[nProperty].Value >>= bMerge;
- sal_Int32 nLeftPos = -1;
- if( !nCell )
- nLeftPos = 0;
- else if( aRowSeparators[nRow].getLength() >= nCell )
- {
- const text::TableColumnSeparator* pSeparators = aRowSeparators[nRow].getConstArray();
- nLeftPos = pSeparators[nCell - 1].Position;
- }
- if( bMerge )
- {
- // 'close' all the cell with the same left position
- // if separate vertical merges in the same column exist
- if( aMergedCells.size() )
- {
- std::vector<VerticallyMergedCell>::iterator aMergedIter = aMergedCells.begin();
- while( aMergedIter != aMergedCells.end())
- {
- if( lcl_SimilarPosition( aMergedIter->nLeftPosition, nLeftPos) )
- {
- aMergedIter->bOpen = false;
- }
- ++aMergedIter;
- }
- }
- //add the new group of merged cells
- aMergedCells.push_back(VerticallyMergedCell(xCell, nLeftPos ));
- }
- else
- {
- //find the cell that
- DBG_ASSERT(aMergedCells.size(), "the first merged cell is missing");
- if( aMergedCells.size() )
- {
- std::vector<VerticallyMergedCell>::iterator aMergedIter = aMergedCells.begin();
-#if OSL_DEBUG_LEVEL > 1
- bool bDbgFound = false;
-#endif
- while( aMergedIter != aMergedCells.end())
- {
- if( aMergedIter->bOpen &&
- lcl_SimilarPosition( aMergedIter->nLeftPosition, nLeftPos) )
- {
- aMergedIter->aCells.push_back( xCell );
-#if OSL_DEBUG_LEVEL > 1
- bDbgFound = true;
-#endif
- }
- ++aMergedIter;
- }
-#if OSL_DEBUG_LEVEL > 1
- DBG_ASSERT( bDbgFound, "couldn't find first vertically merged cell" );
-#endif
- }
- }
- }
- else
- {
- try
- {
- xCell->setPropertyValue(rName, aCellProperties[nProperty].Value);
- }
- catch ( const uno::Exception e )
- {
- // Apply the paragraph and char properties to the cell's content
- uno::Reference< text::XText > xCellText( xCell, uno::UNO_QUERY );
- uno::Reference< text::XTextCursor > xCellCurs = xCellText->createTextCursor( );
- xCellCurs->gotoStart( false );
- xCellCurs->gotoEnd( true );
-
- uno::Reference< beans::XPropertySet > xCellTextProps( xCellCurs, uno::UNO_QUERY );
- xCellTextProps->setPropertyValue( rName, aCellProperties[nProperty].Value );
- }
- }
- }
- }
- }
- //now that the cell properties are set the vertical merge values have to be applied
- if( aMergedCells.size() )
- {
- std::vector<VerticallyMergedCell>::iterator aMergedIter = aMergedCells.begin();
- while( aMergedIter != aMergedCells.end())
+ for (sal_Int32 nCell = 0; nCell < nCells; ++nCell)
{
- sal_Int32 nCellCount = (sal_Int32)aMergedIter->aCells.size();
- std::vector<uno::Reference< beans::XPropertySet > >::iterator aCellIter = aMergedIter->aCells.begin();
- bool bFirstCell = true;
- //the first of the cells get's the number of cells set as RowSpan
- //the others get the inverted number of remaining merged cells (3,-2,-1)
- while( aCellIter != aMergedIter->aCells.end() )
- {
- (*aCellIter)->setPropertyValue(C2U(SW_PROP_NAME_STR(UNO_NAME_ROW_SPAN)), uno::makeAny( nCellCount ));
- if( bFirstCell )
- {
- nCellCount *= -1;
- bFirstCell = false;
- }
- ++nCellCount;
- ++aCellIter;
- }
- ++aMergedIter;
+ lcl_ApplyCellProperties(nCell,
+ aRowSeparators[nRow], aCurrentRow[nCell],
+ pTextTable->getCellByPosition(nCell, nRow),
+ aMergedCells);
}
}
+ // now that the cell properties are set the vertical merge values
+ // have to be applied
+ lcl_MergeCells(aMergedCells);
}
catch( const lang::WrappedTargetException& rWrapped )
{
@@ -2154,37 +2342,14 @@ uno::Reference< text::XTextTable > SwXText::convertToTable(
(void)rBounds;
}
-
- bool bIllegalException = false;
- bool bRuntimeException = false;
- ::rtl::OUString sMessage;
- pDoc->StartUndo(UNDO_START, NULL);
- pDoc->EndUndo(UNDO_START, NULL);
- if( bIllegalException || bRuntimeException )
- {
- SwUndoIter aUndoIter( pFirstPaM.get(), UNDO_EMPTY );
- pDoc->Undo(aUndoIter);
- if(bIllegalException)
- {
- lang::IllegalArgumentException aEx;
- aEx.Message = sMessage;
- throw aEx;
- }
- else //if(bRuntimeException)
- {
- uno::RuntimeException aEx;
- aEx.Message = sMessage;
- throw aEx;
- }
- }
return xRet;
}
/******************************************************************
* SwXBodyText
******************************************************************/
-SwXBodyText::SwXBodyText(SwDoc* _pDoc) :
- SwXText(_pDoc, CURSOR_BODY)
+SwXBodyText::SwXBodyText(SwDoc *const pDoc)
+ : SwXText(pDoc, CURSOR_BODY)
{
}
@@ -2198,82 +2363,81 @@ SwXBodyText::~SwXBodyText()
/* -----------------------------06.04.00 16:33--------------------------------
---------------------------------------------------------------------------*/
-OUString SwXBodyText::getImplementationName(void) throw( uno::RuntimeException )
+OUString SAL_CALL
+SwXBodyText::getImplementationName() throw (uno::RuntimeException)
{
return C2U("SwXBodyText");
}
/* -----------------------------06.04.00 16:33--------------------------------
---------------------------------------------------------------------------*/
-BOOL SwXBodyText::supportsService(const OUString& rServiceName) throw( uno::RuntimeException )
+static char const*const g_ServicesBodyText[] =
{
- return C2U("com.sun.star.text.Text") == rServiceName;
+ "com.sun.star.text.Text",
+};
+static const size_t g_nServicesBodyText(
+ sizeof(g_ServicesBodyText)/sizeof(g_ServicesBodyText[0]));
+
+sal_Bool SAL_CALL SwXBodyText::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ return ::sw::SupportsServiceImpl(
+ g_nServicesBodyText, g_ServicesBodyText, rServiceName);
}
-/* -----------------------------06.04.00 16:33--------------------------------
- ---------------------------------------------------------------------------*/
-uno::Sequence< OUString > SwXBodyText::getSupportedServiceNames(void) throw( uno::RuntimeException )
+uno::Sequence< OUString > SAL_CALL
+SwXBodyText::getSupportedServiceNames() throw (uno::RuntimeException)
{
- uno::Sequence< OUString > aRet(1);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.text.Text");
- return aRet;
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesBodyText, g_ServicesBodyText);
}
+
/*-- 10.12.98 11:17:27---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Any SwXBodyText::queryAggregation(
- const uno::Type& rType )
- throw(uno::RuntimeException)
+uno::Any SAL_CALL
+SwXBodyText::queryAggregation(const uno::Type& rType)
+throw (uno::RuntimeException)
{
uno::Any aRet;
- const uno::Type& rXEnumerationAccessType = ::getCppuType((uno::Reference< container::XEnumerationAccess >*)0);
- const uno::Type& rXElementAccessType = ::getCppuType((uno::Reference< container::XElementAccess >*)0);
- const uno::Type& rXServiceInfoType = ::getCppuType((uno::Reference< lang::XServiceInfo >*)0);
-
- if(rType == rXEnumerationAccessType)
+ if (rType == container::XEnumerationAccess::static_type())
{
- uno::Reference<container::XEnumerationAccess> xRet = this;
- aRet.setValue(&xRet, rXEnumerationAccessType);
+ aRet <<= uno::Reference< container::XEnumerationAccess >(this);
}
- else if(rType == rXElementAccessType)
+ else if (rType == container::XElementAccess::static_type())
{
- uno::Reference<container::XElementAccess> xRet = this;
- aRet.setValue(&xRet, rXElementAccessType);
+ aRet <<= uno::Reference< container::XElementAccess >(this);
}
- else if(rType == rXServiceInfoType)
+ else if (rType == lang::XServiceInfo::static_type())
{
- uno::Reference<lang::XServiceInfo> xRet = this;
- aRet.setValue(&xRet, rXServiceInfoType);
+ aRet <<= uno::Reference< lang::XServiceInfo >(this);
}
else
{
aRet = SwXText::queryInterface( rType );
}
if(aRet.getValueType() == ::getCppuVoidType())
+ {
aRet = OWeakAggObject::queryAggregation( rType );
+ }
return aRet;
}
/*-- 10.12.98 11:17:28---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Sequence< uno::Type > SwXBodyText::getTypes( ) throw(uno::RuntimeException)
-{
- uno::Sequence< uno::Type > aTypes = SwXBodyTextBaseClass::getTypes();
- uno::Sequence< uno::Type > aTextTypes = SwXText::getTypes();
- long nIndex = aTypes.getLength();
- aTypes.realloc(aTypes.getLength() + aTextTypes.getLength());
- uno::Type* pTypes = aTypes.getArray();
- const uno::Type* pTextTypes = aTextTypes.getConstArray();
- for(int i = 0; i < aTextTypes.getLength(); i++)
- pTypes[nIndex++] = pTextTypes[i];
- return aTypes;
+uno::Sequence< uno::Type > SAL_CALL
+SwXBodyText::getTypes() throw (uno::RuntimeException)
+{
+ const uno::Sequence< uno::Type > aTypes = SwXBodyText_Base::getTypes();
+ const uno::Sequence< uno::Type > aTextTypes = SwXText::getTypes();
+ return ::comphelper::concatSequences(aTypes, aTextTypes);
}
/* -----------------------------21.03.00 15:39--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< sal_Int8 > SwXBodyText::getImplementationId( ) throw(uno::RuntimeException)
+uno::Sequence< sal_Int8 > SAL_CALL
+SwXBodyText::getImplementationId() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
static uno::Sequence< sal_Int8 > aId( 16 );
@@ -2289,74 +2453,83 @@ uno::Sequence< sal_Int8 > SwXBodyText::getImplementationId( ) throw(uno::Runtim
-----------------------------------------------------------------------*/
uno::Any SAL_CALL
- SwXBodyText::queryInterface( const uno::Type& rType )
- throw(uno::RuntimeException)
+SwXBodyText::queryInterface(const uno::Type& rType)
+throw (uno::RuntimeException)
{
- uno::Any aRet = SwXText::queryInterface( rType );
- if(aRet.getValueType() == ::getCppuVoidType())
- aRet = SwXBodyTextBaseClass::queryInterface( rType );
- return aRet;
+ const uno::Any ret = SwXText::queryInterface(rType);
+ return (ret.getValueType() == ::getCppuVoidType())
+ ? SwXBodyText_Base::queryInterface(rType)
+ : ret;
}
/* -----------------------------05.01.00 11:07--------------------------------
---------------------------------------------------------------------------*/
-uno::Reference< text::XTextCursor > SwXBodyText::CreateTextCursor(sal_Bool bIgnoreTables)
+SwXTextCursor * SwXBodyText::CreateTextCursor(const bool bIgnoreTables)
{
- uno::Reference< text::XTextCursor > xRet;
- if(IsValid())
+ if(!IsValid())
{
- SwNode& rNode = GetDoc()->GetNodes().GetEndOfContent();
- //the cursor has to skip tables contained in this text
- SwPaM aPam(rNode);
- aPam.Move( fnMoveBackward, fnGoDoc );
- if(!bIgnoreTables)
+ return 0;
+ }
+
+ // the cursor has to skip tables contained in this text
+ SwPaM aPam(GetDoc()->GetNodes().GetEndOfContent());
+ aPam.Move( fnMoveBackward, fnGoDoc );
+ if (!bIgnoreTables)
+ {
+ SwTableNode * pTblNode = aPam.GetNode()->FindTableNode();
+ SwCntntNode * pCont = 0;
+ while (pTblNode)
{
- SwTableNode* pTblNode = aPam.GetNode()->FindTableNode();
- SwCntntNode* pCont = 0;
- while( pTblNode )
- {
- aPam.GetPoint()->nNode = *pTblNode->EndOfSectionNode();
- pCont = GetDoc()->GetNodes().GoNext(&aPam.GetPoint()->nNode);
- pTblNode = pCont->FindTableNode();
- }
- if(pCont)
- aPam.GetPoint()->nContent.Assign(pCont, 0);
+ aPam.GetPoint()->nNode = *pTblNode->EndOfSectionNode();
+ pCont = GetDoc()->GetNodes().GoNext(&aPam.GetPoint()->nNode);
+ pTblNode = pCont->FindTableNode();
+ }
+ if (pCont)
+ {
+ aPam.GetPoint()->nContent.Assign(pCont, 0);
}
- xRet = (text::XWordCursor*)new SwXTextCursor(this, *aPam.GetPoint(), CURSOR_BODY, GetDoc());
}
- return xRet;
+ return new SwXTextCursor(*GetDoc(), this, CURSOR_BODY, *aPam.GetPoint());
}
+
/*-- 10.12.98 11:17:29---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextCursor > SwXBodyText::createTextCursor(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextCursor > SAL_CALL
+SwXBodyText::createTextCursor() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextCursor > aRef = CreateTextCursor(sal_False);
- if(!aRef.is())
+
+ const uno::Reference< text::XTextCursor > xRef(
+ static_cast<text::XWordCursor*>(CreateTextCursor(false)) );
+ if (!xRef.is())
{
uno::RuntimeException aRuntime;
aRuntime.Message = C2U(cInvalidObject);
throw aRuntime;
}
- return aRef;
+ return xRef;
}
/*-- 10.12.98 11:17:29---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextCursor > SwXBodyText::createTextCursorByRange(
- const uno::Reference< text::XTextRange > & aTextPosition) throw( uno::RuntimeException )
+uno::Reference< text::XTextCursor > SAL_CALL
+SwXBodyText::createTextCursorByRange(
+ const uno::Reference< text::XTextRange > & xTextPosition)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextCursor > aRef;
+
if(!IsValid())
{
uno::RuntimeException aRuntime;
aRuntime.Message = C2U(cInvalidObject);
throw aRuntime;
}
+
+ uno::Reference< text::XTextCursor > aRef;
SwUnoInternalPaM aPam(*GetDoc());
- if(SwXTextRange::XTextRangeToSwPaM(aPam, aTextPosition))
+ if (::sw::XTextRangeToSwPaM(aPam, xTextPosition))
{
SwNode& rNode = GetDoc()->GetNodes().GetEndOfContent();
@@ -2366,152 +2539,232 @@ uno::Reference< text::XTextCursor > SwXBodyText::createTextCursorByRange(
{
p1 = p1->StartOfSectionNode();
}
- SwStartNode* p2 = rNode.StartOfSectionNode();
+ SwStartNode *const p2 = rNode.StartOfSectionNode();
if(p1 == p2)
- aRef = (text::XWordCursor*)new SwXTextCursor(this , *aPam.GetPoint(), CURSOR_BODY, GetDoc(), aPam.GetMark());
+ {
+ aRef = static_cast<text::XWordCursor*>(
+ new SwXTextCursor(*GetDoc(), this, CURSOR_BODY,
+ *aPam.GetPoint(), aPam.GetMark()));
+ }
}
if(!aRef.is())
+ {
throw uno::RuntimeException();
+ }
return aRef;
}
+
/*-- 10.12.98 11:17:30---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< container::XEnumeration > SwXBodyText::createEnumeration(void)
- throw( uno::RuntimeException )
+uno::Reference< container::XEnumeration > SAL_CALL
+SwXBodyText::createEnumeration()
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< container::XEnumeration > aRef;
- if(IsValid())
- {
- SwNode& rNode = GetDoc()->GetNodes().GetEndOfContent();
- SwPosition aPos(rNode);
- SwUnoCrsr* pUnoCrsr = GetDoc()->CreateUnoCrsr(aPos, sal_False);
- pUnoCrsr->Move( fnMoveBackward, fnGoDoc );
- aRef = new SwXParagraphEnumeration(this, pUnoCrsr, CURSOR_BODY);
- }
- else
+
+ if (!IsValid())
{
uno::RuntimeException aRuntime;
aRuntime.Message = C2U(cInvalidObject);
throw aRuntime;
}
- return aRef;
+ SwNode& rNode = GetDoc()->GetNodes().GetEndOfContent();
+ SwPosition aPos(rNode);
+ ::std::auto_ptr<SwUnoCrsr> pUnoCursor(
+ GetDoc()->CreateUnoCrsr(aPos, sal_False));
+ pUnoCursor->Move(fnMoveBackward, fnGoDoc);
+ const uno::Reference< container::XEnumeration > xRet
+ = new SwXParagraphEnumeration(this, pUnoCursor, CURSOR_BODY);
+ return xRet;
}
+
/* -----------------18.12.98 13:36-------------------
*
* --------------------------------------------------*/
-uno::Type SwXBodyText::getElementType(void) throw( uno::RuntimeException )
+uno::Type SAL_CALL
+SwXBodyText::getElementType() throw (uno::RuntimeException)
{
- return ::getCppuType((uno::Reference<text::XTextRange>*)0);
+ return text::XTextRange::static_type();
}
/* -----------------18.12.98 13:36-------------------
*
* --------------------------------------------------*/
-sal_Bool SwXBodyText::hasElements(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL
+SwXBodyText::hasElements() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- if(IsValid())
- return sal_True;
- else
+
+ if (!IsValid())
{
uno::RuntimeException aRuntime;
aRuntime.Message = C2U(cInvalidObject);
throw aRuntime;
}
+
+ return sal_True;
}
+
/******************************************************************
* SwXHeadFootText
******************************************************************/
-TYPEINIT1(SwXHeadFootText, SwClient);
-/* -----------------------------06.04.00 16:40--------------------------------
- ---------------------------------------------------------------------------*/
-OUString SwXHeadFootText::getImplementationName(void) throw( uno::RuntimeException )
+class SwXHeadFootText::Impl
+ : public SwClient
{
- return C2U("SwXHeadFootText");
+
+public:
+
+ bool m_bIsHeader;
+
+ Impl( SwXHeadFootText & /*rThis*/,
+ SwFrmFmt & rHeadFootFmt, const bool bIsHeader)
+ : SwClient(& rHeadFootFmt)
+ , m_bIsHeader(bIsHeader)
+ {
+ }
+
+ SwFrmFmt * GetHeadFootFmt() const {
+ return static_cast<SwFrmFmt*>(
+ const_cast<SwModify*>(GetRegisteredIn()));
+ }
+
+ SwFrmFmt & GetHeadFootFmtOrThrow() {
+ SwFrmFmt *const pFmt( GetHeadFootFmt() );
+ if (!pFmt) {
+ throw uno::RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "SwXHeadFootText: disposed or invalid")), 0);
+ }
+ return *pFmt;
+ }
+
+ // SwClient
+ virtual void Modify(SfxPoolItem *pOld, SfxPoolItem *pNew);
+
+};
+
+/*-- 11.12.98 10:14:51---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void SwXHeadFootText::Impl::Modify(SfxPoolItem *pOld, SfxPoolItem *pNew)
+{
+ ClientModify(this, pOld, pNew);
}
-/* -----------------------------06.04.00 16:40--------------------------------
- ---------------------------------------------------------------------------*/
-BOOL SwXHeadFootText::supportsService(const OUString& rServiceName) throw( uno::RuntimeException )
+bool SwXHeadFootText::IsXHeadFootText(SwClient *const pClient)
{
- return C2U("com.sun.star.text.Text") == rServiceName;
+ return 0 != dynamic_cast<SwXHeadFootText::Impl*>(pClient);
}
-/* -----------------------------06.04.00 16:40--------------------------------
- ---------------------------------------------------------------------------*/
-uno::Sequence< OUString > SwXHeadFootText::getSupportedServiceNames(void) throw( uno::RuntimeException )
+uno::Reference< text::XText >
+SwXHeadFootText::CreateXHeadFootText(
+ SwFrmFmt & rHeadFootFmt, const bool bIsHeader)
{
- uno::Sequence< OUString > aRet(1);
- OUString* pArray = aRet.getArray();
- pArray[0] = C2U("com.sun.star.text.Text");
- return aRet;
+ // re-use existing SwXHeadFootText
+ // #i105557#: do not iterate over the registered clients: race condition
+ uno::Reference< text::XText > xText(rHeadFootFmt.GetXObject(),
+ uno::UNO_QUERY);
+ if (!xText.is())
+ {
+ SwXHeadFootText *const pXHFT(
+ new SwXHeadFootText(rHeadFootFmt, bIsHeader));
+ xText.set(pXHFT);
+ rHeadFootFmt.SetXObject(xText);
+ }
+ return xText;
}
+
/*-- 11.12.98 10:14:48---------------------------------------------------
-----------------------------------------------------------------------*/
-SwXHeadFootText::SwXHeadFootText(SwFrmFmt& rHeadFootFmt, BOOL bHeader) :
- SwXText(rHeadFootFmt.GetDoc(), bHeader ? CURSOR_HEADER : CURSOR_FOOTER),
- SwClient(&rHeadFootFmt),
- bIsHeader(bHeader)
+SwXHeadFootText::SwXHeadFootText(SwFrmFmt & rHeadFootFmt, const bool bIsHeader)
+ : SwXText(rHeadFootFmt.GetDoc(),
+ (bIsHeader) ? CURSOR_HEADER : CURSOR_FOOTER)
+ , m_pImpl( new SwXHeadFootText::Impl(*this, rHeadFootFmt, bIsHeader) )
{
-
}
+
/*-- 11.12.98 10:14:48---------------------------------------------------
-----------------------------------------------------------------------*/
SwXHeadFootText::~SwXHeadFootText()
{
+}
+
+/* -----------------------------06.04.00 16:40--------------------------------
+
+ ---------------------------------------------------------------------------*/
+OUString SAL_CALL
+SwXHeadFootText::getImplementationName() throw (uno::RuntimeException)
+{
+ return C2U("SwXHeadFootText");
+}
+
+/* -----------------------------06.04.00 16:40--------------------------------
+
+ ---------------------------------------------------------------------------*/
+static char const*const g_ServicesHeadFootText[] =
+{
+ "com.sun.star.text.Text",
+};
+static const size_t g_nServicesHeadFootText(
+ sizeof(g_ServicesHeadFootText)/sizeof(g_ServicesHeadFootText[0]));
+sal_Bool SAL_CALL SwXHeadFootText::supportsService(const OUString& rServiceName)
+throw (uno::RuntimeException)
+{
+ return ::sw::SupportsServiceImpl(
+ g_nServicesHeadFootText, g_ServicesHeadFootText, rServiceName);
}
+
+uno::Sequence< OUString > SAL_CALL
+SwXHeadFootText::getSupportedServiceNames() throw (uno::RuntimeException)
+{
+ return ::sw::GetSupportedServiceNamesImpl(
+ g_nServicesHeadFootText, g_ServicesHeadFootText);
+}
+
/*-- 11.12.98 10:14:49---------------------------------------------------
-----------------------------------------------------------------------*/
const SwStartNode *SwXHeadFootText::GetStartNode() const
{
const SwStartNode *pSttNd = 0;
- SwFrmFmt* pHeadFootFmt = GetFmt();
+ SwFrmFmt *const pHeadFootFmt = m_pImpl->GetHeadFootFmt();
if(pHeadFootFmt)
{
const SwFmtCntnt& rFlyCntnt = pHeadFootFmt->GetCntnt();
if( rFlyCntnt.GetCntntIdx() )
+ {
pSttNd = rFlyCntnt.GetCntntIdx()->GetNode().GetStartNode();
+ }
}
return pSttNd;
}
-uno::Reference< text::XTextCursor > SwXHeadFootText::createCursor() throw(uno::RuntimeException)
+uno::Reference< text::XTextCursor >
+SwXHeadFootText::CreateCursor() throw (uno::RuntimeException)
{
return createTextCursor();
}
/* -----------------------------21.03.00 15:39--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< uno::Type > SwXHeadFootText::getTypes( ) throw(uno::RuntimeException)
+uno::Sequence< uno::Type > SAL_CALL
+SwXHeadFootText::getTypes() throw (uno::RuntimeException)
{
- uno::Sequence< uno::Type > aHFTypes = SwXHeadFootTextBaseClass::getTypes();
- uno::Sequence< uno::Type > aTextTypes = SwXText::getTypes();
-
- long nIndex = aHFTypes.getLength();
- aHFTypes.realloc(
- aHFTypes.getLength() +
- aTextTypes.getLength());
-
- uno::Type* pHFTypes = aHFTypes.getArray();
- const uno::Type* pTextTypes = aTextTypes.getConstArray();
- for(long nPos = 0; nPos < aTextTypes.getLength(); nPos++)
- pHFTypes[nIndex++] = pTextTypes[nPos];
-
- return aHFTypes;
+ const uno::Sequence< uno::Type > aTypes = SwXHeadFootText_Base::getTypes();
+ const uno::Sequence< uno::Type > aTextTypes = SwXText::getTypes();
+ return ::comphelper::concatSequences(aTypes, aTextTypes);
}
/* -----------------------------21.03.00 15:39--------------------------------
---------------------------------------------------------------------------*/
-uno::Sequence< sal_Int8 > SwXHeadFootText::getImplementationId( ) throw(uno::RuntimeException)
+uno::Sequence< sal_Int8 > SAL_CALL
+SwXHeadFootText::getImplementationId() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
static uno::Sequence< sal_Int8 > aId( 16 );
@@ -2526,140 +2779,141 @@ uno::Sequence< sal_Int8 > SwXHeadFootText::getImplementationId( ) throw(uno::Ru
/* -----------------------------21.03.00 15:46--------------------------------
---------------------------------------------------------------------------*/
-uno::Any SwXHeadFootText::queryInterface( const uno::Type& aType ) throw(uno::RuntimeException)
+uno::Any SAL_CALL
+SwXHeadFootText::queryInterface(const uno::Type& rType)
+throw (uno::RuntimeException)
{
- uno::Any aRet = SwXHeadFootTextBaseClass::queryInterface(aType);
- if(aRet.getValueType() == ::getCppuVoidType() )
- aRet = SwXText::queryInterface(aType);
- return aRet;
+ const uno::Any ret = SwXHeadFootText_Base::queryInterface(rType);
+ return (ret.getValueType() == ::getCppuVoidType())
+ ? SwXText::queryInterface(rType)
+ : ret;
}
/*-- 11.12.98 10:14:50---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextCursor > SwXHeadFootText::createTextCursor(void) throw( uno::RuntimeException )
+uno::Reference< text::XTextCursor > SAL_CALL
+SwXHeadFootText::createTextCursor() throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextCursor > xRet;
- SwFrmFmt* pHeadFootFmt = GetFmt();
- if(pHeadFootFmt)
- {
- const SwFmtCntnt& rFlyCntnt = pHeadFootFmt->GetCntnt();
- const SwNode& rNode = rFlyCntnt.GetCntntIdx()->GetNode();
- SwPosition aPos(rNode);
- SwXTextCursor* pCrsr = new SwXTextCursor(this, aPos, bIsHeader ? CURSOR_HEADER : CURSOR_FOOTER, GetDoc());
- SwUnoCrsr* pUnoCrsr = pCrsr->GetCrsr();
- pUnoCrsr->Move(fnMoveForward, fnGoNode);
-
- //save current start node to be able to check if there is content after the table -
- //otherwise the cursor would be in the body text!
-
- const SwStartNode* pOwnStartNode = rNode.FindSttNodeByType(
- bIsHeader ? SwHeaderStartNode : SwFooterStartNode);
- //steht hier eine Tabelle?
- SwTableNode* pTblNode = pUnoCrsr->GetNode()->FindTableNode();
- SwCntntNode* pCont = 0;
- while( pTblNode )
- {
- pUnoCrsr->GetPoint()->nNode = *pTblNode->EndOfSectionNode();
- pCont = GetDoc()->GetNodes().GoNext(&pUnoCrsr->GetPoint()->nNode);
- pTblNode = pCont->FindTableNode();
- }
- if(pCont)
- pUnoCrsr->GetPoint()->nContent.Assign(pCont, 0);
- const SwStartNode* pNewStartNode = pUnoCrsr->GetNode()->FindSttNodeByType(
- bIsHeader ? SwHeaderStartNode : SwFooterStartNode);
- if(!pNewStartNode || pNewStartNode != pOwnStartNode)
- {
- pCrsr = NULL;
- uno::RuntimeException aExcept;
- aExcept.Message = S2U("no text available");
- throw aExcept;
- }
- xRet = (text::XWordCursor*)pCrsr;
- }
- else
- {
- uno::RuntimeException aRuntime;
- aRuntime.Message = C2U(cInvalidObject);
- throw aRuntime;
+
+ SwFrmFmt & rHeadFootFmt( m_pImpl->GetHeadFootFmtOrThrow() );
+
+ uno::Reference< text::XTextCursor > xRet;
+ const SwFmtCntnt& rFlyCntnt = rHeadFootFmt.GetCntnt();
+ const SwNode& rNode = rFlyCntnt.GetCntntIdx()->GetNode();
+ SwPosition aPos(rNode);
+ SwXTextCursor *const pXCursor = new SwXTextCursor(*GetDoc(), this,
+ (m_pImpl->m_bIsHeader) ? CURSOR_HEADER : CURSOR_FOOTER, aPos);
+ SwUnoCrsr *const pUnoCrsr = pXCursor->GetCursor();
+ pUnoCrsr->Move(fnMoveForward, fnGoNode);
+
+ // save current start node to be able to check if there is content
+ // after the table - otherwise the cursor would be in the body text!
+ SwStartNode const*const pOwnStartNode = rNode.FindSttNodeByType(
+ (m_pImpl->m_bIsHeader) ? SwHeaderStartNode : SwFooterStartNode);
+ // is there a table here?
+ SwTableNode* pTblNode = pUnoCrsr->GetNode()->FindTableNode();
+ SwCntntNode* pCont = 0;
+ while (pTblNode)
+ {
+ pUnoCrsr->GetPoint()->nNode = *pTblNode->EndOfSectionNode();
+ pCont = GetDoc()->GetNodes().GoNext(&pUnoCrsr->GetPoint()->nNode);
+ pTblNode = pCont->FindTableNode();
+ }
+ if (pCont)
+ {
+ pUnoCrsr->GetPoint()->nContent.Assign(pCont, 0);
+ }
+ SwStartNode const*const pNewStartNode =
+ pUnoCrsr->GetNode()->FindSttNodeByType(
+ (m_pImpl->m_bIsHeader) ? SwHeaderStartNode : SwFooterStartNode);
+ if (!pNewStartNode || (pNewStartNode != pOwnStartNode))
+ {
+ uno::RuntimeException aExcept;
+ aExcept.Message = S2U("no text available");
+ throw aExcept;
}
+ xRet = static_cast<text::XWordCursor*>(pXCursor);
return xRet;
}
+
/*-- 11.12.98 10:14:50---------------------------------------------------
-----------------------------------------------------------------------*/
-uno::Reference< text::XTextCursor > SwXHeadFootText::createTextCursorByRange(
- const uno::Reference< text::XTextRange > & aTextPosition) throw( uno::RuntimeException )
+uno::Reference< text::XTextCursor > SAL_CALL
+SwXHeadFootText::createTextCursorByRange(
+ const uno::Reference< text::XTextRange > & xTextPosition)
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
- uno::Reference< text::XTextCursor > xRet;
- SwFrmFmt* pHeadFootFmt = GetFmt();
+
+ SwFrmFmt & rHeadFootFmt( m_pImpl->GetHeadFootFmtOrThrow() );
+
SwUnoInternalPaM aPam(*GetDoc());
- if(pHeadFootFmt && SwXTextRange::XTextRangeToSwPaM(aPam, aTextPosition))
+ if (!::sw::XTextRangeToSwPaM(aPam, xTextPosition))
{
- SwNode& rNode = pHeadFootFmt->GetCntnt().GetCntntIdx()->GetNode();
- SwPosition aPos(rNode);
- SwPaM aHFPam(aPos);
- aHFPam.Move(fnMoveForward, fnGoNode);
- SwStartNode* pOwnStartNode = aHFPam.GetNode()->FindSttNodeByType(
- bIsHeader ? SwHeaderStartNode : SwFooterStartNode);
- SwStartNode* p1 = aPam.GetNode()->FindSttNodeByType(
- bIsHeader ? SwHeaderStartNode : SwFooterStartNode);
- if(p1 == pOwnStartNode)
- xRet = (text::XWordCursor*)new SwXTextCursor(this, *aPam.GetPoint(),
- bIsHeader ? CURSOR_HEADER : CURSOR_FOOTER, GetDoc(), aPam.GetMark());
+ uno::RuntimeException aRuntime;
+ aRuntime.Message = C2U(cInvalidObject);
+ throw aRuntime;
+ }
+
+ uno::Reference< text::XTextCursor > xRet;
+ SwNode& rNode = rHeadFootFmt.GetCntnt().GetCntntIdx()->GetNode();
+ SwPosition aPos(rNode);
+ SwPaM aHFPam(aPos);
+ aHFPam.Move(fnMoveForward, fnGoNode);
+ SwStartNode *const pOwnStartNode = aHFPam.GetNode()->FindSttNodeByType(
+ (m_pImpl->m_bIsHeader) ? SwHeaderStartNode : SwFooterStartNode);
+ SwStartNode *const p1 = aPam.GetNode()->FindSttNodeByType(
+ (m_pImpl->m_bIsHeader) ? SwHeaderStartNode : SwFooterStartNode);
+ if (p1 == pOwnStartNode)
+ {
+ xRet = static_cast<text::XWordCursor*>(
+ new SwXTextCursor(*GetDoc(), this,
+ (m_pImpl->m_bIsHeader) ? CURSOR_HEADER : CURSOR_FOOTER,
+ *aPam.GetPoint(), aPam.GetMark()));
}
return xRet;
}
+
/* -----------------19.03.99 15:44-------------------
*
* --------------------------------------------------*/
-uno::Reference< container::XEnumeration > SwXHeadFootText::createEnumeration(void)
- throw( uno::RuntimeException )
+uno::Reference< container::XEnumeration > SAL_CALL
+SwXHeadFootText::createEnumeration()
+throw (uno::RuntimeException)
{
vos::OGuard aGuard(Application::GetSolarMutex());
+
+ SwFrmFmt & rHeadFootFmt( m_pImpl->GetHeadFootFmtOrThrow() );
+
uno::Reference< container::XEnumeration > aRef;
- //wenn this ungueltig ist, dann kommt die uno::Exception aus createTextCursor()
- SwFrmFmt* pHeadFootFmt = GetFmt();
- if(pHeadFootFmt)
- {
- const SwFmtCntnt& rFlyCntnt = pHeadFootFmt->GetCntnt();
- const SwNode& rNode = rFlyCntnt.GetCntntIdx()->GetNode();
- SwPosition aPos(rNode);
- SwUnoCrsr* pUnoCrsr = GetDoc()->CreateUnoCrsr(aPos, sal_False);
- pUnoCrsr->Move(fnMoveForward, fnGoNode);
- aRef = new SwXParagraphEnumeration(this, pUnoCrsr, bIsHeader ? CURSOR_HEADER : CURSOR_FOOTER);
- }
- else
- {
- uno::RuntimeException aRuntime;
- aRuntime.Message = C2U(cInvalidObject);
- throw aRuntime;
- }
+ const SwFmtCntnt& rFlyCntnt = rHeadFootFmt.GetCntnt();
+ const SwNode& rNode = rFlyCntnt.GetCntntIdx()->GetNode();
+ SwPosition aPos(rNode);
+ ::std::auto_ptr<SwUnoCrsr> pUnoCursor(
+ GetDoc()->CreateUnoCrsr(aPos, sal_False));
+ pUnoCursor->Move(fnMoveForward, fnGoNode);
+ aRef = new SwXParagraphEnumeration(this, pUnoCursor,
+ (m_pImpl->m_bIsHeader) ? CURSOR_HEADER : CURSOR_FOOTER);
return aRef;
}
+
/* -----------------19.03.99 15:50-------------------
*
* --------------------------------------------------*/
-uno::Type SwXHeadFootText::getElementType(void) throw( uno::RuntimeException )
+uno::Type SAL_CALL
+SwXHeadFootText::getElementType() throw (uno::RuntimeException)
{
- return ::getCppuType((uno::Reference<text::XTextRange>*)0);
+ return text::XTextRange::static_type();
}
/* -----------------19.03.99 15:50-------------------
*
* --------------------------------------------------*/
-sal_Bool SwXHeadFootText::hasElements(void) throw( uno::RuntimeException )
+sal_Bool SAL_CALL SwXHeadFootText::hasElements() throw (uno::RuntimeException)
{
return sal_True;
}
-/*-- 11.12.98 10:14:51---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-void SwXHeadFootText::Modify( SfxPoolItem *pOld, SfxPoolItem *pNew)
-{
- ClientModify( this, pOld, pNew);
-}
-
diff --git a/sw/source/core/unocore/unotextmarkup.cxx b/sw/source/core/unocore/unotextmarkup.cxx
index 9aca9a4c85..4e2da7ef6d 100644
--- a/sw/source/core/unocore/unotextmarkup.cxx
+++ b/sw/source/core/unocore/unotextmarkup.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: unotextmarkup.cxx,v $
- * $Revision: 1.6 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/view/makefile.mk b/sw/source/core/view/makefile.mk
index 56cfb7d6ed..aa010e6b60 100644
--- a/sw/source/core/view/makefile.mk
+++ b/sw/source/core/view/makefile.mk
@@ -2,14 +2,10 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2008 by Sun Microsystems, Inc.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.7 $
-#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/view/pagepreviewlayout.cxx b/sw/source/core/view/pagepreviewlayout.cxx
index fc62061a19..7b538316bf 100644
--- a/sw/source/core/view/pagepreviewlayout.cxx
+++ b/sw/source/core/view/pagepreviewlayout.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: pagepreviewlayout.cxx,v $
- * $Revision: 1.15.214.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/view/scrrect.cxx b/sw/source/core/view/scrrect.cxx
index 87b718425d..b3d44821d2 100644
--- a/sw/source/core/view/scrrect.cxx
+++ b/sw/source/core/view/scrrect.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: scrrect.cxx,v $
- * $Revision: 1.23 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/view/vdraw.cxx b/sw/source/core/view/vdraw.cxx
index a0c6d78e37..20e12f2e3c 100644
--- a/sw/source/core/view/vdraw.cxx
+++ b/sw/source/core/view/vdraw.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: vdraw.cxx,v $
- * $Revision: 1.24 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -45,11 +42,9 @@
/// include <svx/svdoutl.hxx>
#include <svx/svdoutl.hxx>
-#ifndef PRODUCT
-#ifndef _SVX_FMGLOB_HXX
+#ifdef DBG_UTIL
#include <svx/fmglob.hxx>
#endif
-#endif
#include "fesh.hxx"
#include "pagefrm.hxx"
@@ -57,14 +52,14 @@
#include "viewimp.hxx"
#include "dflyobj.hxx"
#include "viewopt.hxx"
+#include "swprtopt.hxx"
#include "dcontact.hxx"
#include "dview.hxx"
#include "flyfrm.hxx"
#include <vcl/svapp.hxx>
-#ifndef IDOCUMENTDRAWMODELACCESS_HXX_INCLUDED
#include <IDocumentDrawModelAccess.hxx>
-#endif
+
/*************************************************************************
|*
@@ -184,6 +179,7 @@ void SwViewImp::UnlockPaint()
// outliner of the draw view for painting layers <hell> and <heaven>.
// OD 25.06.2003 #108784# - correct type of 1st parameter
void SwViewImp::PaintLayer( const SdrLayerID _nLayerID,
+ const SwPrtOptions * _pPrintData,
const SwRect& ,
const Color* _pPageBackgrdColor,
const bool _bIsPageRightToLeft ) const
@@ -230,6 +226,12 @@ void SwViewImp::PaintLayer( const SdrLayerID _nLayerID,
}
pOutDev->Push( PUSH_LINECOLOR ); // #114231#
+ if (_pPrintData)
+ {
+ // hide drawings but not form controls (form controls are handled elsewhere)
+ SdrView &rSdrView = const_cast< SdrView & >(GetPageView()->GetView());
+ rSdrView.setHideDraw( !_pPrintData->IsPrintDraw() );
+ }
GetPageView()->DrawLayer(_nLayerID, pOutDev);
pOutDev->Pop();
@@ -337,8 +339,10 @@ void SwViewImp::NotifySizeChg( const Size &rNewSz )
const SwFrm *pAnchor = ((SwDrawContact*)pCont)->GetAnchorFrm();
if ( !pAnchor || pAnchor->IsInFly() || !pAnchor->IsValid() ||
!pAnchor->GetUpper() || !pAnchor->FindPageFrm() ||
- FLY_IN_CNTNT == pCont->GetFmt()->GetAnchor().GetAnchorId() )
+ (FLY_AS_CHAR == pCont->GetFmt()->GetAnchor().GetAnchorId()) )
+ {
continue;
+ }
// OD 19.06.2003 #108784# - no move for drawing objects in header/footer
if ( pAnchor->FindFooterOrHeader() )
diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx
index 5eb6ba17a2..ac63ccb5d7 100644
--- a/sw/source/core/view/viewimp.cxx
+++ b/sw/source/core/view/viewimp.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: viewimp.cxx,v $
- * $Revision: 1.41 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/sw/source/core/view/viewpg.cxx b/sw/source/core/view/viewpg.cxx
index a3c3482a8e..91f89299e8 100644
--- a/sw/source/core/view/viewpg.cxx
+++ b/sw/source/core/view/viewpg.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: viewpg.cxx,v $
- * $Revision: 1.31 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -31,9 +28,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+#include <com/sun/star/uno/Sequence.hxx>
#include <hintids.hxx>
#include <vcl/window.hxx>
+#include <vcl/oldprintadaptor.hxx>
#include <sfx2/printer.hxx>
#include <sfx2/progress.hxx>
#include <pvprtdat.hxx>
@@ -59,6 +58,10 @@
#include <IDocumentFieldsAccess.hxx>
#include <IDocumentDeviceAccess.hxx>
+
+using namespace ::com::sun::star;
+
+
// OD 12.12.2002 #103492#
SwPagePreviewLayout* ViewShell::PagePreviewLayout()
{
@@ -87,671 +90,173 @@ void ViewShell::AdjustOptionsForPagePreview( const SwPrtOptions &_rPrintOptions
return;
}
-// output print preview on printer
-// OD 05.05.2003 #i14016# - consider empty pages on calculation of scaling
-// and on calculation of paint offset.
-void ViewShell::PrintPreViewPage( SwPrtOptions& rOptions,
- USHORT nRowCol, SfxProgress& rProgress,
- const SwPagePreViewPrtData* pPrtData )
-{
- if( !rOptions.aMulti.GetSelectCount() )
- return;
- // wenn kein Drucker vorhanden ist, wird nicht gedruckt
- SfxPrinter* pPrt = getIDocumentDeviceAccess()->getPrinter(false);
- if( !pPrt || !pPrt->GetName().Len() )
+// print brochure
+// OD 05.05.2003 #i14016# - consider empty pages on calculation of the scaling
+// for a page to be printed.
+void ViewShell::PrintProspect(
+ OutputDevice *pOutDev,
+ const SwPrintData &rPrintData,
+ sal_Int32 nRenderer // the index in the vector of prospect pages to be printed
+ )
+{
+ const sal_Int32 nMaxRenderer = rPrintData.GetRenderData().GetPagePairsForProspectPrinting().size() - 1;
+#if OSL_DEBUG_LEVEL > 1
+ DBG_ASSERT( 0 <= nRenderer && nRenderer <= nMaxRenderer, "nRenderer out of bounds");
+#endif
+ Printer *pPrinter = dynamic_cast< Printer * >(pOutDev);
+ if (!pPrinter || nMaxRenderer < 0 || nRenderer < 0 || nRenderer > nMaxRenderer)
return;
-// schoen waers gewesen !!! const MultiSelection& rMulti = rOptions.aMulti;
- MultiSelection aMulti( rOptions.aMulti );
- Range aPages( aMulti.FirstSelected(), aMulti.LastSelected() );
- if ( aPages.Max() > USHRT_MAX )
- aPages.Max() = USHRT_MAX;
-
- ASSERT( aPages.Min() > 0,
- "Seite 0 Drucken?" );
- ASSERT( aPages.Min() <= aPages.Max(),
- "MinSeite groesser MaxSeite." );
+ // save settings of OutputDevice (should be done always since the
+ // output device is now provided by a call from outside the Writer)
+ pPrinter->Push();
+
+ std::pair< sal_Int32, sal_Int32 > rPagesToPrint =
+ rPrintData.GetRenderData().GetPagePairsForProspectPrinting()[ nRenderer ];
+// const USHORT nPageMax = static_cast< USHORT >(rPagesToPrint.first > rPagesToPrint.second ?
+// rPagesToPrint.first : rPagesToPrint.second);
+#if OSL_DEBUG_LEVEL > 1
+ DBG_ASSERT( rPagesToPrint.first == -1 || rPrintData.GetRenderData().GetValidPagesSet().count( rPagesToPrint.first ) == 1, "first Page not valid" );
+ DBG_ASSERT( rPagesToPrint.second == -1 || rPrintData.GetRenderData().GetValidPagesSet().count( rPagesToPrint.second ) == 1, "second Page not valid" );
+#endif
// eine neue Shell fuer den Printer erzeugen
- ViewShell aShell( *this, 0 );
- if ( &GetRefDev() == pPrt )
- aShell.mpTmpRef = new SfxPrinter( *pPrt );
-
+ ViewShell aShell( *this, 0, pPrinter );
+
SET_CURR_SHELL( &aShell );
- aShell.PrepareForPrint( rOptions );
-
- // gibt es versteckte Absatzfelder, unnoetig wenn die Absaetze bereits
- // ausgeblendet sind.
- int bHiddenFlds = FALSE;
- SwFieldType* pFldType = 0;
- if ( GetViewOptions()->IsShowHiddenPara() )
- {
- pFldType = getIDocumentFieldsAccess()->GetSysFldType( RES_HIDDENPARAFLD );
- bHiddenFlds = 0 != pFldType->GetDepends();
- if( bHiddenFlds )
- {
- SwMsgPoolItem aHnt( RES_HIDDENPARA_PRINT );
- pFldType->Modify( &aHnt, 0);
- }
- }
+ aShell.PrepareForPrint( rPrintData );
- // Seiten fuers Drucken formatieren
- aShell.CalcPagesForPrint( (USHORT)aPages.Max(), &rProgress );
+ //!! applying view options and formatting the dcoument should now only be done in getRendererCount!
- USHORT nCopyCnt = rOptions.bCollate ? rOptions.nCopyCount : 1;
- BOOL bStartJob = FALSE;
+ MapMode aMapMode( MAP_TWIP );
+ Size aPrtSize( pPrinter->PixelToLogic( pPrinter->GetPaperSizePixel(), aMapMode ) );
- const bool bPrintEmptyPages = rOptions.IsPrintEmptyPages();
+ SwTwips nMaxRowSz, nMaxColSz;
- for ( USHORT nCnt = 0; nCnt < nCopyCnt; nCnt++ )
+ const SwPageFrm *pStPage = 0;
+ const SwPageFrm *pNxtPage = 0;
+ const SwRenderData::ValidStartFramesMap_t &rFrms = rPrintData.GetRenderData().GetValidStartFrames();
+ if (rPagesToPrint.first > 0)
{
- if( rOptions.IsPrintSingleJobs() && rOptions.GetJobName().Len() &&
- ( bStartJob || rOptions.bJobStartet ) )
- {
- pPrt->EndJob();
- rOptions.bJobStartet = TRUE;
-
- // Reschedule statt Yield, da Yield keine Events abarbeitet
- // und es sonst eine Endlosschleife gibt.
- while( pPrt->IsPrinting() )
- rProgress.Reschedule();
-
- rOptions.MakeNextJobName();
- bStartJob = pPrt->StartJob( rOptions.GetJobName() );
- }
-
- const SwPageFrm *pStPage = (SwPageFrm*)GetLayout()->Lower();
- const SwFrm *pEndPage = pStPage;
- USHORT i;
-
- for( i = 1; pStPage && i < (USHORT)aPages.Min(); ++i )
- pStPage = (SwPageFrm*)pStPage->GetNext();
-
- if( !pStPage ) // dann wars das
- {
- if( bHiddenFlds )
- {
- SwMsgPoolItem aHnt( RES_HIDDENPARA_PRINT );
- pFldType->Modify( &aHnt, 0);
- CalcPagesForPrint( (USHORT)aPages.Max() );
- }
- return;
- }
-
- // unsere SttPage haben wir, dann die EndPage suchen
- USHORT nFirstPageNo = i;
- USHORT nLastPageNo = i;
- USHORT nPageNo = 1;
-
- pEndPage = pStPage;
-
- if( pStPage->GetNext() && (i != (USHORT)aPages.Max()) )
- {
- pEndPage = pEndPage->GetNext();
- for( ++i,++nLastPageNo;
- pEndPage->GetNext() && i < (USHORT)aPages.Max(); ++i )
- {
- pEndPage = pEndPage->GetNext();
- ++nLastPageNo;
- }
- }
+ SwRenderData::ValidStartFramesMap_t::const_iterator aIt( rFrms.find( rPagesToPrint.first ) );
+ DBG_ASSERT( aIt != rFrms.end(), "failed to find start frame" );
+ pStPage = aIt->second;
+ }
+ if (rPagesToPrint.second > 0)
+ {
+ SwRenderData::ValidStartFramesMap_t::const_iterator aIt( rFrms.find( rPagesToPrint.second ) );
+ DBG_ASSERT( aIt != rFrms.end(), "failed to find start frame" );
+ pNxtPage = aIt->second;
+ }
- if( rOptions.bPrintReverse )
+ // OD 05.05.2003 #i14016# - consider empty pages on calculation
+ // of page size, used for calculation of scaling.
+ Size aSttPageSize;
+ if ( pStPage )
+ {
+ if ( pStPage->IsEmptyPage() )
{
- const SwFrm *pTmp = pStPage;
- pStPage = (SwPageFrm*)pEndPage;
- pEndPage = pTmp;
- nPageNo = nLastPageNo;
+ if ( pStPage->GetPhyPageNum() % 2 == 0 )
+ aSttPageSize = pStPage->GetPrev()->Frm().SSize();
+ else
+ aSttPageSize = pStPage->GetNext()->Frm().SSize();
}
else
- nPageNo = nFirstPageNo;
-
- // ein Array fuer die Seiten anlegen, die auf eine Drucker-Seite
- // gedruckt werden sollen.
- BYTE nRow = BYTE(nRowCol >> 8), nCol = BYTE(nRowCol & 0xff);
- USHORT nPages = nRow * nCol;
- SwPageFrm** aPageArr = new SwPageFrm* [ nPages ];
- memset( aPageArr, 0, sizeof( SwPageFrm* ) * nPages );
- USHORT nCntPage = 0;
-
- SwTwips nCalcW = 0, nCalcH = 0, nMaxRowSz = 0, nMaxColSz = 0;
-
- MapMode aOld( pPrt->GetMapMode() );
- MapMode aMapMode( MAP_TWIP );
- Size aPrtSize( pPrt->PixelToLogic( pPrt->GetPaperSizePixel(), aMapMode ));
- if( pPrtData )
{
- aPrtSize.Width() -= pPrtData->GetLeftSpace() +
- pPrtData->GetRightSpace() +
- ( pPrtData->GetHorzSpace() * (nCol - 1));
- aPrtSize.Height() -= pPrtData->GetTopSpace() +
- pPrtData->GetBottomSpace() +
- ( pPrtData->GetVertSpace() * (nRow - 1));
+ aSttPageSize = pStPage->Frm().SSize();
}
-
- aMulti.Select( Range( nLastPageNo+1, USHRT_MAX ), FALSE );
- USHORT nSelCount = USHORT((aMulti.GetSelectCount()+nPages-1) / nPages);
- nSelCount = nSelCount * nCopyCnt;
- USHORT nPrintCount = 1;
-
- const XubString aTmp( SW_RES( STR_STATSTR_PRINT ) );
- rProgress.SetText( aTmp );
- //HACK, damit die Anzeige nicht durcheinander kommt:
- rProgress.SetState( 1, nSelCount );
- rProgress.SetText( aTmp );
- bStartJob = TRUE;
-
- while( pStPage )
+ }
+ Size aNxtPageSize;
+ if ( pNxtPage )
+ {
+ if ( pNxtPage->IsEmptyPage() )
{
- // Mag der Anwender noch ?
- rProgress.Reschedule();
-
- if ( !pPrt->IsJobActive() )
- break;
-
- // --> FME 2005-12-12 #b6354161# Feature - Print empty pages
- // --> OD 2007-10-22 #i79738# - correct condition:
- // always consider, if page is selected for print.
- if( aMulti.IsSelected( nPageNo ) &&
- ( bPrintEmptyPages || !pStPage->IsEmptyPage() ) )
- // <--
- {
- if( rOptions.bPrintReverse )
- aPageArr[ nPages - ++nCntPage ] = (SwPageFrm*)pStPage;
- else
- aPageArr[ nCntPage++ ] = (SwPageFrm*)pStPage;
-
- // OD 05.05.2003 #i14016# - consider empty pages on calculation
- // of page size, used for calculation of scaling.
- Size aPageSize;
- if ( pStPage->IsEmptyPage() )
- {
- if ( pStPage->GetPhyPageNum() % 2 == 0 )
- aPageSize = pStPage->GetPrev()->Frm().SSize();
- else
- aPageSize = pStPage->GetNext()->Frm().SSize();
- }
- else
- {
- aPageSize = pStPage->Frm().SSize();
- }
- nCalcW += aPageSize.Width();
- if( nCalcH < aPageSize.Height() )
- nCalcH = aPageSize.Height();
-
- if( 0 == (nCntPage % nCol ) || // neue Zeile
- nCntPage == nPages || pStPage == pEndPage )
- {
- // sollte die Seite nicht gefuellt sein, so erweiter
- // anhand der letzen Seite. Dadurch hat auch die
- // letze Seite die richtigen Spalten/Reihen.
- // BUG: 17695
- if( pStPage == pEndPage && nCntPage != nPages )
- {
- // dann Werte mit der letzen Seite auffuellen
- if( nCntPage < nCol )
- nCalcW += aPageSize.Width() * (nCol - nCntPage);
-
- BYTE nRows = (BYTE) ( nCntPage / nCol + 1 );
- if( nRows < nRow )
- nCalcH += ( nRow - nRows ) * nCalcH;
- }
-
- if( nMaxColSz < nCalcW )
- nMaxColSz = nCalcW;
- nCalcW = 0;
- nMaxRowSz += nCalcH;
- }
-
- if( nCntPage == nPages || pStPage == pEndPage )
- {
- // den MapMode einstellen
- aMapMode.SetOrigin( Point() );
- {
- Fraction aScX( aPrtSize.Width(), nMaxColSz );
- Fraction aScY( aPrtSize.Height(), nMaxRowSz );
-
- {
- if( aScX < aScY )
- aScY = aScX;
-
- // fuer Drawing, damit diese ihre Objecte vernuenftig Painten
- // koennen, auf "glatte" Prozentwerte setzen
- aScY *= Fraction( 1000, 1 );
- long nTmp = (long)aScY;
- if( 1 < nTmp )
- --nTmp;
- else
- nTmp = 1;
- aScY = Fraction( nTmp, 1000 );
- aScX = aScY;
- }
-
- aMapMode.SetScaleY( aScY );
- aMapMode.SetScaleX( aScX );
- }
-
- Point aPrtOff( pPrt->PixelToLogic(
- pPrt->GetPageOffsetPixel(), aMapMode ) );
- long nPageHeight = (nMaxRowSz / nRow);
-
- // dann kann das drucken losgehen
- rProgress.SetState( nPrintCount++, nSelCount );
-
- pPrt->StartPage();
- Point aCalcPt;
- SwPageFrm** ppTmpPg = aPageArr;
-
- // ist das Array nicht vollsteandig gefuellt ?
- if( rOptions.bPrintReverse && nCntPage != nPages )
- {
- // beim Rueckwaertsdruck alle Seiten nach vorne
- // verschieben!
- memmove( ppTmpPg, ppTmpPg + (nPages - nCntPage),
- nCntPage * sizeof( SwPageFrm*) );
- aPageArr[ nCntPage ] = 0; // Endekennung
- }
-
- long nHOffs = 0, nVOffs = 0, nXStt = 0;
- if( pPrtData )
- {
- const Fraction& rScaleX = aMapMode.GetScaleX();
- const Fraction& rScaleY = aMapMode.GetScaleY();
- Fraction aF( pPrtData->GetTopSpace(), 1 );
- aCalcPt.Y() = aF /= rScaleY;
- aF = Fraction( pPrtData->GetLeftSpace(), 1 );
- nXStt = aF /= rScaleX;
- aF = Fraction( pPrtData->GetVertSpace(), 1 );
- nVOffs = aF /= rScaleY;
- aF = Fraction( pPrtData->GetHorzSpace(), 1 );
- nHOffs = aF /= rScaleX;
- }
-
- for( BYTE nR = 0; *ppTmpPg && nR < nRow; ++nR )
- {
- aCalcPt.X() = nXStt;
- for( BYTE nC = 0; *ppTmpPg && nC < nCol; ++nC )
- {
- aShell.Imp()->SetFirstVisPageInvalid();
- aShell.aVisArea = (*ppTmpPg)->Frm();
-
- Point aPos( aCalcPt );
- aPos -= aShell.aVisArea.Pos();
- aPos -= aPrtOff;
- aMapMode.SetOrigin( aPos );
- pPrt->SetMapMode( aMapMode );
- (*ppTmpPg)->GetUpper()->Paint( (*ppTmpPg)->Frm() );
- // OD 05.05.2003 #i14016# - consider empty pages
- // on calculation of the paint offset for the next page.
- aCalcPt.X() += nHOffs;
- if ( (*ppTmpPg)->IsEmptyPage() )
- {
- if ( (*ppTmpPg)->GetPhyPageNum() % 2 == 0 )
- aCalcPt.X() += (*ppTmpPg)->GetPrev()->Frm().SSize().Width();
- else
- aCalcPt.X() += (*ppTmpPg)->GetNext()->Frm().SSize().Width();
- }
- else
- {
- aCalcPt.X() += (*ppTmpPg)->Frm().Width();
- }
- ++ppTmpPg;
- }
- aCalcPt.Y() += nVOffs + nPageHeight;
- }
- pPrt->EndPage();
- SwPaintQueue::Repaint();
-
- memset( aPageArr, 0, sizeof( SwPageFrm* ) * nPages );
- nCntPage = 0;
- nMaxRowSz = nMaxColSz = nCalcH = nCalcW = 0;
- }
- }
-
- if( pStPage == pEndPage )
- pStPage = 0;
- else if( rOptions.bPrintReverse )
- {
- --nPageNo;
- pStPage = (SwPageFrm*)pStPage->GetPrev();
- }
+ if ( pNxtPage->GetPhyPageNum() % 2 == 0 )
+ aNxtPageSize = pNxtPage->GetPrev()->Frm().SSize();
else
- {
- ++nPageNo;
- pStPage = (SwPageFrm*)pStPage->GetNext();
- }
+ aNxtPageSize = pNxtPage->GetNext()->Frm().SSize();
}
- pPrt->SetMapMode( aOld );
-
- if( bHiddenFlds )
+ else
{
- SwMsgPoolItem aHnt( RES_HIDDENPARA_PRINT );
- pFldType->Modify( &aHnt, 0);
- CalcPagesForPrint( (USHORT)aPages.Max() );
+ aNxtPageSize = pNxtPage->Frm().SSize();
}
- delete[] aPageArr;
-
- if( bStartJob )
- rOptions.bJobStartet = TRUE;
}
- pFntCache->Flush();
-}
-// print brochure
-// OD 05.05.2003 #i14016# - consider empty pages on calculation of the scaling
-// for a page to be printed.
-void ViewShell::PrintProspect( SwPrtOptions& rOptions,
- SfxProgress& rProgress , BOOL bRTL)
-{
- if( !rOptions.aMulti.GetSelectCount() )
- return;
-
- // wenn kein Drucker vorhanden ist, wird nicht gedruckt
- SfxPrinter* pPrt = getIDocumentDeviceAccess()->getPrinter(false);
- if( !pPrt || !pPrt->GetName().Len() ||
- ( !rOptions.bPrintLeftPage && !rOptions.bPrintRightPage ))
- return;
-
- MultiSelection aMulti( rOptions.aMulti );
- Range aPages( aMulti.FirstSelected(), aMulti.LastSelected() );
- if ( aPages.Max() > USHRT_MAX )
- aPages.Max() = USHRT_MAX;
-
- ASSERT( aPages.Min() > 0,
- "Seite 0 Drucken?" );
- ASSERT( aPages.Min() <= aPages.Max(),
- "MinSeite groesser MaxSeite." );
-
- // eine neue Shell fuer den Printer erzeugen
- ViewShell aShell( *this, 0 );
- if ( &GetRefDev() == pPrt )
- aShell.mpTmpRef = new SfxPrinter( *pPrt );
-
- SET_CURR_SHELL( &aShell );
-
- aShell.PrepareForPrint( rOptions );
-
- // gibt es versteckte Absatzfelder, unnoetig wenn die Absaetze bereits
- // ausgeblendet sind.
- int bHiddenFlds = FALSE;
- SwFieldType* pFldType = 0;
- if ( GetViewOptions()->IsShowHiddenPara() )
+ if( !pStPage )
{
- pFldType = getIDocumentFieldsAccess()->GetSysFldType( RES_HIDDENPARAFLD );
- bHiddenFlds = 0 != pFldType->GetDepends();
- if( bHiddenFlds )
- {
- SwMsgPoolItem aHnt( RES_HIDDENPARA_PRINT );
- pFldType->Modify( &aHnt, 0);
- }
+ nMaxColSz = 2 * aNxtPageSize.Width();
+ nMaxRowSz = aNxtPageSize.Height();
}
-
- // Seiten fuers Drucken formatieren
- aShell.CalcPagesForPrint( (USHORT)aPages.Max(), &rProgress );
-
- USHORT nCopyCnt = rOptions.bCollate ? rOptions.nCopyCount : 1;
-
- const SwPageFrm *pStPage = (SwPageFrm*)GetLayout()->Lower();
- USHORT i;
-
- for( i = 1; pStPage && i < (USHORT)aPages.Min(); ++i )
- pStPage = (SwPageFrm*)pStPage->GetNext();
-
- if( !pStPage ) // dann wars das
+ else if( !pNxtPage )
{
- if( bHiddenFlds )
- {
- SwMsgPoolItem aHnt( RES_HIDDENPARA_PRINT );
- pFldType->Modify( &aHnt, 0);
- CalcPagesForPrint( (USHORT)aPages.Max() );
- }
- return;
+ nMaxColSz = 2 * aSttPageSize.Width();
+ nMaxRowSz = aSttPageSize.Height();
}
-
- // unsere SttPage haben wir, dann die EndPage suchen
- SvPtrarr aArr( 255, 255 );
- aArr.Insert( (void*)pStPage, aArr.Count() );
-
- while( pStPage->GetNext() && i < (USHORT)aPages.Max() )
+ else
{
- pStPage = (SwPageFrm*)pStPage->GetNext();
- if( aMulti.IsSelected( ++i ) )
- aArr.Insert( (void*)pStPage, aArr.Count() );
+ nMaxColSz = aNxtPageSize.Width() + aSttPageSize.Width();
+ nMaxRowSz = Max( aNxtPageSize.Height(), aSttPageSize.Height() );
}
- // auf Doppelseiten auffuellen
- if( 1 == aArr.Count() ) // eine Seite ist ein Sonderfall
- aArr.Insert( (void*)0, 1 );
- else
+ // den MapMode einstellen
+ aMapMode.SetOrigin( Point() );
{
- while( aArr.Count() & 3 )
- aArr.Insert( (void*)0, aArr.Count() );
+ Fraction aScX( aPrtSize.Width(), nMaxColSz );
+ Fraction aScY( aPrtSize.Height(), nMaxRowSz );
+ if( aScX < aScY )
+ aScY = aScX;
- if( rOptions.bPrintReverse && 4 < aArr.Count() )
{
- // das Array umsortieren
- // Array: 1 2 3 4 5 6 7 8
- // soll: 3 4 1 2 7 8 5 6
- // Algorhytmus:
- // vordere Haelfte: Austausch von 2 Pointer von Vorne vor die Haelfte
- // hintere Haelfte: Austausch von 2 Pointer von der Haelfte nach hinten
-
- USHORT nHalf = aArr.Count() / 2;
- USHORT nSwapCount = nHalf / 4;
-
- VoidPtr* ppArrStt = (VoidPtr*)aArr.GetData();
- VoidPtr* ppArrHalf = (VoidPtr*)aArr.GetData() + nHalf;
-
- for( int nLoop = 0; nLoop < 2; ++nLoop )
- {
- for( USHORT n = 0; n < nSwapCount; ++n )
- {
- void* pTmp = *ppArrStt;
- *ppArrStt++ = *(ppArrHalf-2);
- *(ppArrHalf-2) = pTmp;
-
- pTmp = *ppArrStt;
- *ppArrStt++ = *--ppArrHalf;
- *ppArrHalf-- = pTmp;
- }
- ppArrStt = (VoidPtr*)aArr.GetData() + nHalf;
- ppArrHalf = (VoidPtr*)aArr.GetData() + aArr.Count();
- }
+ // fuer Drawing, damit diese ihre Objecte vernuenftig Painten
+ // koennen, auf "glatte" Prozentwerte setzen
+ aScY *= Fraction( 1000, 1 );
+ long nTmp = (long)aScY;
+ if( 1 < nTmp )
+ --nTmp;
+ else
+ nTmp = 1;
+ aScY = Fraction( nTmp, 1000 );
}
+
+ aMapMode.SetScaleY( aScY );
+ aMapMode.SetScaleX( aScY );
}
- BOOL bStartJob = FALSE;
+ Size aTmpPrtSize( pPrinter->PixelToLogic( pPrinter->GetPaperSizePixel(), aMapMode ) );
- for( USHORT nCnt = 0; nCnt < nCopyCnt; nCnt++ )
+ // calculate start point for equal border on all sides
+ Point aSttPt( (aTmpPrtSize.Width() - nMaxColSz) / 2,
+ (aTmpPrtSize.Height() - nMaxRowSz) / 2 );
+ for( int nC = 0; nC < 2; ++nC )
{
- if( rOptions.IsPrintSingleJobs() && rOptions.GetJobName().Len() &&
- ( bStartJob || rOptions.bJobStartet ) )
- {
- pPrt->EndJob();
- rOptions.bJobStartet = TRUE;
-
- // Reschedule statt Yield, da Yield keine Events abarbeitet
- // und es sonst eine Endlosschleife gibt.
- while( pPrt->IsPrinting() )
- rProgress.Reschedule();
-
- rOptions.MakeNextJobName();
- bStartJob = pPrt->StartJob( rOptions.GetJobName() );
- }
-
- // dann sorge mal dafuer, das alle Seiten in der richtigen
- // Reihenfolge stehen:
- USHORT nSPg = 0, nEPg = aArr.Count(), nStep = 1;
- if( 0 == (nEPg & 1 )) // ungerade gibt es nicht!
- --nEPg;
-
- if( !rOptions.bPrintLeftPage )
- ++nStep;
- else if( !rOptions.bPrintRightPage )
+ if( pStPage )
{
- ++nStep;
- ++nSPg, --nEPg;
+ aShell.Imp()->SetFirstVisPageInvalid();
+ aShell.aVisArea = pStPage->Frm();
+
+ Point aPos( aSttPt );
+ aPos -= aShell.aVisArea.Pos();
+// aPos -= aPrtOff;
+ aMapMode.SetOrigin( aPos );
+ pPrinter->SetMapMode( aMapMode );
+ pStPage->GetUpper()->Paint( pStPage->Frm() );
}
- USHORT nCntPage = (( nEPg - nSPg ) / ( 2 * nStep )) + 1;
+ pStPage = pNxtPage;
+ aSttPt.X() += aTmpPrtSize.Width() / 2;
+ }
- MapMode aOld( pPrt->GetMapMode() );
- MapMode aMapMode( MAP_TWIP );
- Size aPrtSize( pPrt->PixelToLogic( pPrt->GetPaperSizePixel(), aMapMode ) );
+ SwPaintQueue::Repaint();
- const XubString aTmp( SW_RES( STR_STATSTR_PRINT ) );
- rProgress.SetText( aTmp );
- //HACK, damit die Anzeige nicht durcheinander kommt:
- rProgress.SetState( 1, nCntPage );
- rProgress.SetText( aTmp );
+ //!! applying/modifying view options and formatting the dcoument should now only be done in getRendererCount!
+
+ pFntCache->Flush();
- for( USHORT nPrintCount = 0; nSPg < nEPg &&
- nPrintCount < nCntPage; ++nPrintCount )
- {
- // Mag der Anwender noch ?
- rProgress.Reschedule();
-
- if ( !pPrt->IsJobActive() )
- break;
-
- SwTwips nMaxRowSz, nMaxColSz;
- pStPage = (SwPageFrm*)aArr[ nSPg ];
- const SwPageFrm* pNxtPage = nEPg < aArr.Count()
- ? (SwPageFrm*)aArr[ nEPg ]
- : 0;
-
- // OD 05.05.2003 #i14016# - consider empty pages on calculation
- // of page size, used for calculation of scaling.
- Size aSttPageSize;
- if ( pStPage )
- {
- if ( pStPage->IsEmptyPage() )
- {
- if ( pStPage->GetPhyPageNum() % 2 == 0 )
- aSttPageSize = pStPage->GetPrev()->Frm().SSize();
- else
- aSttPageSize = pStPage->GetNext()->Frm().SSize();
- }
- else
- {
- aSttPageSize = pStPage->Frm().SSize();
- }
- }
- Size aNxtPageSize;
- if ( pNxtPage )
- {
- if ( pNxtPage->IsEmptyPage() )
- {
- if ( pNxtPage->GetPhyPageNum() % 2 == 0 )
- aNxtPageSize = pNxtPage->GetPrev()->Frm().SSize();
- else
- aNxtPageSize = pNxtPage->GetNext()->Frm().SSize();
- }
- else
- {
- aNxtPageSize = pNxtPage->Frm().SSize();
- }
- }
-
- if( !pStPage )
- {
- nMaxColSz = 2 * aNxtPageSize.Width();
- nMaxRowSz = aNxtPageSize.Height();
- }
- else if( !pNxtPage )
- {
- nMaxColSz = 2 * aSttPageSize.Width();
- nMaxRowSz = aSttPageSize.Height();
- }
- else
- {
- nMaxColSz = aNxtPageSize.Width() +
- aSttPageSize.Width();
- nMaxRowSz = Max( aNxtPageSize.Height(),
- aSttPageSize.Height() );
- }
-
- short nRtlOfs = bRTL ? 1 : 0;
- if( 0 == (( nSPg + nRtlOfs) & 1 ) ) // switch for odd number in LTR, even number in RTL
- {
- const SwPageFrm* pTmp = pStPage;
- pStPage = pNxtPage;
- pNxtPage = pTmp;
- }
-
- // den MapMode einstellen
- aMapMode.SetOrigin( Point() );
- {
- Fraction aScX( aPrtSize.Width(), nMaxColSz );
- Fraction aScY( aPrtSize.Height(), nMaxRowSz );
- if( aScX < aScY )
- aScY = aScX;
-
- {
- // fuer Drawing, damit diese ihre Objecte vernuenftig Painten
- // koennen, auf "glatte" Prozentwerte setzen
- aScY *= Fraction( 1000, 1 );
- long nTmp = (long)aScY;
- if( 1 < nTmp )
- --nTmp;
- else
- nTmp = 1;
- aScY = Fraction( nTmp, 1000 );
- }
-
- aMapMode.SetScaleY( aScY );
- aMapMode.SetScaleX( aScY );
- }
-
- Point aPrtOff( pPrt->PixelToLogic(
- pPrt->GetPageOffsetPixel(), aMapMode ) );
- Size aTmpPrtSize( pPrt->PixelToLogic(
- pPrt->GetPaperSizePixel(), aMapMode ) );
-
- // dann kann das drucken losgehen
- bStartJob = TRUE;
- rProgress.SetState( nPrintCount, nCntPage );
-
- pPrt->StartPage();
-
- Point aSttPt;
- for( int nC = 0; nC < 2; ++nC )
- {
- if( pStPage )
- {
- aShell.Imp()->SetFirstVisPageInvalid();
- aShell.aVisArea = pStPage->Frm();
-
- Point aPos( aSttPt );
- aPos -= aShell.aVisArea.Pos();
- aPos -= aPrtOff;
- aMapMode.SetOrigin( aPos );
- pPrt->SetMapMode( aMapMode );
- pStPage->GetUpper()->Paint( pStPage->Frm() );
- }
-
- pStPage = pNxtPage;
- aSttPt.X() += aTmpPrtSize.Width() / 2;
- }
-
- pPrt->EndPage();
- SwPaintQueue::Repaint();
- nSPg = nSPg + nStep;
- nEPg = nEPg - nStep;
- }
- pPrt->SetMapMode( aOld );
+ // restore settings of OutputDevice (should be done always now since the
+ // output device is now provided by a call from outside the Writer)
+ pPrinter->Pop();
+}
- if( bHiddenFlds )
- {
- SwMsgPoolItem aHnt( RES_HIDDENPARA_PRINT );
- pFldType->Modify( &aHnt, 0);
- CalcPagesForPrint( (USHORT)aPages.Max() );
- }
- if( bStartJob )
- rOptions.bJobStartet = TRUE;
- }
- pFntCache->Flush();
-}
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index c0a45fbb4e..8236d0292f 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -1,14 +1,11 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: viewsh.cxx,v $
- * $Revision: 1.87.42.1 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -376,6 +373,37 @@ void ViewShell::ImplEndAction( const BOOL bIdleEnd )
// #i75172# end DrawingLayer paint
DLPostPaint2(true);
}
+
+ // --> OD 2009-12-03 #i107365#
+ // Direct paint has been performed. Thus, take care of
+ // transparent child windows.
+ if ( GetWin() )
+ {
+ Window& rWindow = *(GetWin());
+ if(rWindow.IsChildTransparentModeEnabled() && rWindow.GetChildCount())
+ {
+ const Rectangle aRectanglePixel(rWindow.LogicToPixel(aRect.SVRect()));
+
+ for ( sal_uInt16 a(0); a < rWindow.GetChildCount(); a++ )
+ {
+ Window* pCandidate = rWindow.GetChild(a);
+
+ if ( pCandidate && pCandidate->IsPaintTransparent() )
+ {
+ const Rectangle aCandidatePosSizePixel(
+ pCandidate->GetPosPixel(),
+ pCandidate->GetSizePixel());
+
+ if ( aCandidatePosSizePixel.IsOver(aRectanglePixel) )
+ {
+ pCandidate->Invalidate( INVALIDATE_NOTRANSPARENT|INVALIDATE_CHILDREN );
+ pCandidate->Update();
+ }
+ }
+ }
+ }
+ }
+ // <--
}
delete pVout;
@@ -407,7 +435,7 @@ void ViewShell::ImplEndAction( const BOOL bIdleEnd )
UISizeNotify();
++nStartAction;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// test option 'No Scroll' suppresses the automatic repair of the scrolled area
if ( !GetViewOptions()->IsTest8() )
#endif
@@ -589,7 +617,7 @@ void ViewShell::MakeVisible( const SwRect &rRect )
EndAction();
} while( nOldH != pRoot->Frm().Height() && nLoopCnt-- );
}
-#ifndef PRODUCT
+#ifdef DBG_UTIL
else
{
//MA: 04. Nov. 94, braucht doch keiner oder??
@@ -746,7 +774,7 @@ void ViewShell::LayoutIdle()
SET_CURR_SHELL( this );
-#ifndef PRODUCT
+#ifdef DBG_UTIL
// Wenn Test5 gedrueckt ist, wird der IdleFormatierer abgeknipst.
if( pOpt->IsTest5() )
return;
@@ -1146,7 +1174,7 @@ void ViewShell::VisPortChgd( const SwRect &rRect)
if ( rRect == VisArea() )
return;
-#ifndef PRODUCT
+#ifdef DBG_UTIL
if ( bInEndAction )
{
//Da Rescheduled doch schon wieder irgendwo einer?
diff --git a/sw/source/core/view/vnew.cxx b/sw/source/core/view/vnew.cxx
index afae44310b..71e90b05a2 100644
--- a/sw/source/core/view/vnew.cxx
+++ b/sw/source/core/view/vnew.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: vnew.cxx,v $
- * $Revision: 1.31.210.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -116,11 +113,8 @@ void ViewShell::Init( const SwViewOption *pNewOpt )
// Only setup the printer if we need one:
const IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess();
const bool bBrowseMode = pIDSA->get(IDocumentSettingAccess::BROWSE_MODE);
- const bool bCreatePrinter = !bBrowseMode &&
- !pIDSA->get(IDocumentSettingAccess::USE_VIRTUAL_DEVICE);
- SfxPrinter* pPrinter = getIDocumentDeviceAccess()->getPrinter( bCreatePrinter );
- if( pPrinter )
- InitPrt( pPrinter, pPDFOut );
+ if( pPDFOut )
+ InitPrt( pPDFOut );
// <--
// --> FME 2005-03-16 #i44963# Good occasion to check if page sizes in
diff --git a/sw/source/core/view/vprint.cxx b/sw/source/core/view/vprint.cxx
index 3ae5a3b5ba..5b2898e577 100644
--- a/sw/source/core/view/vprint.cxx
+++ b/sw/source/core/view/vprint.cxx
@@ -1,15 +1,11 @@
/**************************************************************************
*
- *
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: vprint.cxx,v $
- * $Revision: 1.46 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -33,19 +29,37 @@
#include "precompiled_sw.hxx"
+#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/uno/Any.hxx>
+
#include <hintids.hxx>
+#include <vcl/oldprintadaptor.hxx>
#include <sfx2/printer.hxx>
#include <sfx2/objsh.hxx>
+#include <tools/resary.hxx>
+#include <tools/debug.hxx>
+#include <rtl/ustring.hxx>
+#include <toolkit/awt/vclxdevice.hxx>
+#include <toolkit/awt/vclxdevice.hxx>
-// #include <tools/intn.hxx>
#include <sfx2/progress.hxx>
#include <sfx2/app.hxx>
#include <sfx2/prnmon.hxx>
-#include <svx/paperinf.hxx>
-#include <svx/pbinitem.hxx>
+#include <editeng/paperinf.hxx>
+#include <editeng/pbinitem.hxx>
#include <svx/svdview.hxx>
#include <unotools/localedatawrapper.hxx>
-#include <svtools/syslocale.hxx>
+
+#include <unotools/moduleoptions.hxx>
+#include <svl/languageoptions.hxx>
+
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/view/XRenderable.hpp>
+
+#include <unotxdoc.hxx>
+
+#include <docsh.hxx>
+#include <unotools/syslocale.hxx>
#include <txtfld.hxx>
#include <fmtfld.hxx>
#include <fmtfsize.hxx>
@@ -54,14 +68,15 @@
#include <pagefrm.hxx>
#include <cntfrm.hxx>
#include <doc.hxx>
+#include <wdocsh.hxx>
#include <fesh.hxx>
#include <pam.hxx>
#include <viewimp.hxx> // Imp->SetFirstVisPageInvalid()
#include <layact.hxx>
#include <ndtxt.hxx>
#include <fldbas.hxx>
-#include <docufld.hxx> // PostItFld /-Type
#include <docfld.hxx> // _SetGetExpFld
+#include <docufld.hxx> // PostItFld /-Type
#include <shellres.hxx>
#include <viewopt.hxx>
#include <swprtopt.hxx> // SwPrtOptions
@@ -76,11 +91,18 @@
#include <txtfrm.hxx> // MinPrtLine
#include <viscrs.hxx> // SwShellCrsr
#include <fmtpdsc.hxx> // SwFmtPageDesc
+#include <globals.hrc>
#define JOBSET_ERR_DEFAULT 0
#define JOBSET_ERR_ERROR 1
#define JOBSET_ERR_ISSTARTET 2
+
+extern bool lcl_GetPostIts( IDocumentFieldsAccess* pIDFA, _SetGetExpFlds * pSrtLst );
+
+
+using namespace ::com::sun::star;
+
//--------------------------------------------------------------------
//Klasse zum Puffern von Paints
class SwQueuedPaint
@@ -99,19 +121,6 @@ public:
SwQueuedPaint *SwPaintQueue::pQueue = 0;
-//Klasse zum Speichern einiger Druckereinstellungen
-class SwPrtOptSave
-{
- Printer *pPrt;
- Size aSize;
- Paper ePaper;
- Orientation eOrientation;
- USHORT nPaperBin;
-public:
- SwPrtOptSave( Printer *pPrinter );
- ~SwPrtOptSave();
-};
-
// saves some settings from the draw view
class SwDrawViewSave
{
@@ -201,6 +210,7 @@ void SwPaintQueue::Remove( ViewShell *pSh )
}
}
+/*****************************************************************************/
const XubString& SwPrtOptions::MakeNextJobName()
{
@@ -214,340 +224,538 @@ const XubString& SwPrtOptions::MakeNextJobName()
return sJobName += XubString::CreateFromInt32( ++nJobNo );
}
-/******************************************************************************
- * Methode : void SetSwVisArea( ViewShell *pSh, Point aPrtOffset, ...
- * Beschreibung:
- * Erstellt : OK 04.11.94 16:27
- * Aenderung :
- ******************************************************************************/
+/*****************************************************************************/
-void SetSwVisArea( ViewShell *pSh, const SwRect &rRect, BOOL bPDFExport )
+SwRenderData::SwRenderData()
{
- ASSERT( !pSh->GetWin(), "Drucken mit Window?" );
- pSh->aVisArea = rRect;
- pSh->Imp()->SetFirstVisPageInvalid();
- Point aPt( rRect.Pos() );
+ m_pPostItFields = 0;
+ m_pPostItDoc = 0;
+ m_pPostItShell = 0;
- if (!bPDFExport)
- aPt += pSh->aPrtOffst;
- aPt.X() = -aPt.X(); aPt.Y() = -aPt.Y();
-
- OutputDevice *pOut = bPDFExport ?
- pSh->GetOut() :
- pSh->getIDocumentDeviceAccess()->getPrinter( false );
-
- MapMode aMapMode( pOut->GetMapMode() );
- aMapMode.SetOrigin( aPt );
- pOut->SetMapMode( aMapMode );
+ m_pViewOptionAdjust = 0;
+ m_pPrtOptions = 0;
}
-/******************************************************************************
- * Methode : struct _PostItFld : public _SetGetExpFld
- * Beschreibung: Update an das PostItFeld
- * Erstellt : OK 07.11.94 10:18
- * Aenderung :
- ******************************************************************************/
-struct _PostItFld : public _SetGetExpFld
+
+SwRenderData::~SwRenderData()
{
- _PostItFld( const SwNodeIndex& rNdIdx, const SwTxtFld* pFld,
- const SwIndex* pIdx = 0 )
- : _SetGetExpFld( rNdIdx, pFld, pIdx ) {}
-
- USHORT GetPageNo( MultiSelection &rMulti, BOOL bRgt, BOOL bLft,
- USHORT& rVirtPgNo, USHORT& rLineNo );
- SwPostItField* GetPostIt() const
- { return (SwPostItField*) GetFld()->GetFld().GetFld(); }
-};
+ delete m_pViewOptionAdjust; m_pViewOptionAdjust = 0;
+ delete m_pPrtOptions; m_pPrtOptions = 0;
+ DBG_ASSERT( !m_pPostItShell, "m_pPostItShell should already have been deleted" );
+ DBG_ASSERT( !m_pPostItDoc, "m_pPostItDoc should already have been deleted" );
+ DBG_ASSERT( !m_pPostItFields, " should already have been deleted" );
+}
+void SwRenderData::CreatePostItData( SwDoc *pDoc, const SwViewOption *pViewOpt, OutputDevice *pOutDev )
+{
+ DBG_ASSERT( !m_pPostItFields && !m_pPostItDoc && !m_pPostItShell, "some post-it data already exists" );
+ m_pPostItFields = new _SetGetExpFlds;
+ lcl_GetPostIts( pDoc, m_pPostItFields );
+ m_pPostItDoc = new SwDoc;
+
+ //!! Disable spell and grammar checking in the temporary document.
+ //!! Otherwise the grammar checker might process it and crash if we later on
+ //!! simply delete this document while he is still at it.
+ SwViewOption aViewOpt( *pViewOpt );
+ aViewOpt.SetOnlineSpell( FALSE );
+
+ m_pPostItShell = new ViewShell( *m_pPostItDoc, 0, &aViewOpt, pOutDev );
+}
+
-USHORT _PostItFld::GetPageNo( MultiSelection &rMulti, BOOL bRgt, BOOL bLft,
- USHORT& rVirtPgNo, USHORT& rLineNo )
+void SwRenderData::DeletePostItData()
{
- //Problem: Wenn ein PostItFld in einem Node steht, der von mehr als
- //einer Layout-Instanz repraesentiert wird, steht die Frage im Raum,
- //ob das PostIt nur ein- oder n-mal gedruck werden soll.
- //Wahrscheinlich nur einmal, als Seitennummer soll hier keine Zufaellige
- //sondern die des ersten Auftretens des PostIts innerhalb des selektierten
- //Bereichs ermittelt werden.
- rVirtPgNo = 0;
- USHORT nPos = GetCntnt();
- SwClientIter aIter( (SwModify &)GetFld()->GetTxtNode() );
- for( SwTxtFrm* pFrm = (SwTxtFrm*)aIter.First( TYPE( SwFrm ));
- pFrm; pFrm = (SwTxtFrm*)aIter.Next() )
+ if (HasPostItData())
{
- if( pFrm->GetOfst() > nPos ||
- (pFrm->HasFollow() && pFrm->GetFollow()->GetOfst() <= nPos) )
- continue;
- USHORT nPgNo = pFrm->GetPhyPageNum();
- BOOL bRight = pFrm->OnRightPage();
- if( rMulti.IsSelected( nPgNo ) &&
- ( (bRight && bRgt) || (!bRight && bLft) ) )
- {
- rLineNo = (USHORT)(pFrm->GetLineCount( nPos ) +
- pFrm->GetAllLines() - pFrm->GetThisLines());
- rVirtPgNo = pFrm->GetVirtPageNum();
- return nPgNo;
- }
+ m_pPostItDoc->setPrinter( 0, false, false ); //damit am echten DOC der Drucker bleibt
+ delete m_pPostItShell; //Nimmt das PostItDoc mit ins Grab.
+ delete m_pPostItFields;
+ m_pPostItDoc = 0;
+ m_pPostItShell = 0;
+ m_pPostItFields = 0;
}
- return 0;
-}
-
-/******************************************************************************
- * Methode : void lcl_GetPostIts( IDocumentFieldsAccess* pIDFA, _SetGetExpFlds& ...
- * Beschreibung:
- * Erstellt : OK 07.11.94 10:20
- * Aenderung :
- ******************************************************************************/
+}
-void lcl_GetPostIts( IDocumentFieldsAccess* pIDFA, _SetGetExpFlds& rSrtLst )
+void SwRenderData::ViewOptionAdjustStart( SwWrtShell &rSh, const SwViewOption &rViewOptions )
{
- SwFieldType* pFldType = pIDFA->GetSysFldType( RES_POSTITFLD );
- ASSERT( pFldType, "kein PostItType ? ");
-
- if( pFldType->GetDepends() )
+ if (m_pViewOptionAdjust)
{
- // Modify-Object gefunden, trage alle Felder ins Array ein
- SwClientIter aIter( *pFldType );
- SwClient* pLast;
- const SwTxtFld* pTxtFld;
-
- for( pLast = aIter.First( TYPE(SwFmtFld)); pLast; pLast = aIter.Next() )
- if( 0 != ( pTxtFld = ((SwFmtFld*)pLast)->GetTxtFld() ) &&
- pTxtFld->GetTxtNode().GetNodes().IsDocNodes() )
- {
- SwNodeIndex aIdx( pTxtFld->GetTxtNode() );
- _PostItFld* pNew = new _PostItFld( aIdx, pTxtFld );
- rSrtLst.Insert( pNew );
- }
+ DBG_ASSERT( 0, "error: there should be no ViewOptionAdjust active when calling this function" );
}
+ m_pViewOptionAdjust = new SwViewOptionAdjust_Impl( rSh, rViewOptions );
}
+
-/******************************************************************************
- * Methode : void lcl_FormatPostIt( IDocumentContentOperations* pIDCO, SwPaM& aPam, ...
- * Beschreibung:
- * Erstellt : OK 07.11.94 10:20
- * Aenderung :
- ******************************************************************************/
-
-
-void lcl_FormatPostIt( IDocumentContentOperations* pIDCO, SwPaM& aPam, SwPostItField* pField,
- USHORT nPageNo, USHORT nLineNo )
+void SwRenderData::ViewOptionAdjust( const SwPrtOptions *pPrtOptions )
{
- static char __READONLY_DATA sTmp[] = " : ";
-
- ASSERT( ViewShell::GetShellRes(), "missing ShellRes" );
+ m_pViewOptionAdjust->AdjustViewOptions( pPrtOptions );
+}
- String aStr( ViewShell::GetShellRes()->aPostItPage );
- aStr.AppendAscii(sTmp);
- aStr += XubString::CreateFromInt32( nPageNo );
- aStr += ' ';
- if( nLineNo )
+void SwRenderData::ViewOptionAdjustStop()
+{
+ if (m_pViewOptionAdjust)
{
- aStr += ViewShell::GetShellRes()->aPostItLine;
- aStr.AppendAscii(sTmp);
- aStr += XubString::CreateFromInt32( nLineNo );
- aStr += ' ';
- }
- aStr += ViewShell::GetShellRes()->aPostItAuthor;
- aStr.AppendAscii(sTmp);
- aStr += pField->GetPar1();
- aStr += ' ';
- aStr += SvtSysLocale().GetLocaleData().getDate( pField->GetDate() );
- pIDCO->InsertString( aPam, aStr );
-
- pIDCO->SplitNode( *aPam.GetPoint(), false );
- aStr = pField->GetPar2();
-#if defined( WIN ) || defined( WNT ) || defined( PM2 )
- // Bei Windows und Co alle CR rausschmeissen
- aStr.EraseAllChars( '\r' );
-#endif
- pIDCO->InsertString( aPam, aStr );
- pIDCO->SplitNode( *aPam.GetPoint(), false );
- pIDCO->SplitNode( *aPam.GetPoint(), false );
+ delete m_pViewOptionAdjust;
+ m_pViewOptionAdjust = 0;
+ }
}
-/******************************************************************************
- * Methode : void lcl_PrintPostIts( ViewShell* pPrtShell )
- * Beschreibung:
- * Erstellt : OK 07.11.94 10:21
- * Aenderung : MA 10. May. 95
- ******************************************************************************/
+void SwRenderData::MakeSwPrtOptions(
+ SwPrtOptions &rOptions,
+ const SwDocShell *pDocShell,
+ const SwPrintUIOptions *pOpt,
+ const SwRenderData *pData,
+ bool bIsPDFExport )
+{
+ if (!pDocShell || !pOpt || !pData)
+ return;
+
+ // get default print options
+ const TypeId aSwWebDocShellTypeId = TYPE(SwWebDocShell);
+ BOOL bWeb = pDocShell->IsA( aSwWebDocShellTypeId );
+ rOptions.MakeOptions( bWeb );
+
+ // get print options to use from provided properties
+ rOptions.bPrintGraphic = pOpt->IsPrintGraphics();
+ rOptions.bPrintTable = pOpt->IsPrintTables();
+ rOptions.bPrintDraw = pOpt->IsPrintDrawings();
+ rOptions.bPrintControl = pOpt->IsPrintFormControls();
+ rOptions.bPrintLeftPages = pOpt->IsPrintLeftPages();
+ rOptions.bPrintRightPages = pOpt->IsPrintRightPages();
+ rOptions.bPrintPageBackground = pOpt->IsPrintPageBackground();
+ rOptions.bPrintEmptyPages = pOpt->IsPrintEmptyPages( bIsPDFExport );
+ // bUpdateFieldsInPrinting <-- not set here; mail merge only
+ rOptions.bPaperFromSetup = pOpt->IsPaperFromSetup();
+ rOptions.bPrintReverse = pOpt->IsPrintReverse();
+ rOptions.bPrintProspect = pOpt->IsPrintProspect();
+ rOptions.bPrintProspectRTL = pOpt->IsPrintProspectRTL();
+ // bPrintSingleJobs <-- not set here; mail merge and or configuration
+ // bModified <-- not set here; mail merge only
+ rOptions.bPrintBlackFont = pOpt->IsPrintWithBlackTextColor();
+ rOptions.bPrintHiddenText = pOpt->IsPrintHiddenText();
+ rOptions.bPrintTextPlaceholder = pOpt->IsPrintTextPlaceholders();
+ rOptions.nPrintPostIts = pOpt->GetPrintPostItsType();
+
+ //! needs to be set after MakeOptions since the assignment operation in that
+ //! function will destroy the pointers
+ rOptions.SetPrintUIOptions( pOpt );
+ rOptions.SetRenderData( pData );
+
+ // rOptions.aMulti is not used anymore in the XRenderable API
+ // Thus we set it to a dummy value here.
+ rOptions.aMulti = MultiSelection( Range( 1, 1 ) );
-void lcl_PrintPostIts( ViewShell* pPrtShell, const XubString& rJobName,
- BOOL& rStartJob, int& rJobStartError, BOOL bReverse)
+ //! Note: Since for PDF export of (multi-)selection a temporary
+ //! document is created that contains only the selects parts,
+ //! and thus that document is to printed in whole the,
+ //! rOptions.bPrintSelection parameter will be false.
+ if (bIsPDFExport)
+ rOptions.bPrintSelection = FALSE;
+}
+
+
+/*****************************************************************************/
+
+SwPrintUIOptions::SwPrintUIOptions(
+ bool bWeb,
+ bool bSwSrcView,
+ bool bHasSelection,
+ bool bHasPostIts,
+ const SwPrintData &rDefaultPrintData ) :
+ m_pLast( NULL ),
+ m_rDefaultPrintData( rDefaultPrintData )
{
- // Formatieren und Ausdrucken
- pPrtShell->CalcLayout();
+ ResStringArray aLocalizedStrings( SW_RES( STR_PRINTOPTUI ) );
- SfxPrinter* pPrn = pPrtShell->getIDocumentDeviceAccess()->getPrinter( false );
+ DBG_ASSERT( aLocalizedStrings.Count() >= 44, "resource incomplete" );
+ if( aLocalizedStrings.Count() < 44 ) // bad resource ?
+ return;
+
+ // printing HTML sources does not have any valid UI options.
+ // Its just the source code that gets printed ...
+ if (bSwSrcView)
+ {
+ m_aUIProperties.realloc( 0 );
+ return;
+ }
+
+ // check if CTL is enabled
+ SvtLanguageOptions aLangOpt;
+ bool bCTL = aLangOpt.IsCTLFontEnabled();
+
+ // create sequence of print UI options
+ // (5 options are not available for Writer-Web)
+ const int nCTLOpts = bCTL ? 1 : 0;
+ const int nNumProps = nCTLOpts + (bWeb ? 14 : 20);
+ m_aUIProperties.realloc( nNumProps );
+ int nIdx = 0;
+
+ // create "writer" section (new tab page in dialog)
+ SvtModuleOptions aModOpt;
+ String aAppGroupname( aLocalizedStrings.GetString( 0 ) );
+ aAppGroupname.SearchAndReplace( String( RTL_CONSTASCII_USTRINGPARAM( "%s" ) ),
+ aModOpt.GetModuleName( SvtModuleOptions::E_SWRITER ) );
+ m_aUIProperties[ nIdx++ ].Value = getGroupControlOpt( aAppGroupname, rtl::OUString() );
+
+ // create sub section for Contents
+ m_aUIProperties[ nIdx++ ].Value = getSubgroupControlOpt( aLocalizedStrings.GetString( 1 ), rtl::OUString() );
+
+ // create a bool option for background
+ bool bDefaultVal = rDefaultPrintData.IsPrintPageBackground();
+ m_aUIProperties[ nIdx++ ].Value = getBoolControlOpt( aLocalizedStrings.GetString( 2 ),
+ aLocalizedStrings.GetString( 3 ),
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintPageBackground" ) ),
+ bDefaultVal );
+
+ // create a bool option for pictures/graphics AND OLE and drawing objects as well
+ bDefaultVal = rDefaultPrintData.IsPrintGraphic() || rDefaultPrintData.IsPrintDraw();
+ m_aUIProperties[ nIdx++ ].Value = getBoolControlOpt( aLocalizedStrings.GetString( 4 ),
+ aLocalizedStrings.GetString( 5 ),
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintPicturesAndObjects" ) ),
+ bDefaultVal );
+ if (!bWeb)
+ {
+ // create a bool option for hidden text
+ bDefaultVal = rDefaultPrintData.IsPrintHiddenText();
+ m_aUIProperties[ nIdx++ ].Value = getBoolControlOpt( aLocalizedStrings.GetString( 6 ),
+ aLocalizedStrings.GetString( 7 ),
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintHiddenText" ) ),
+ bDefaultVal );
+
+ // create a bool option for place holder
+ bDefaultVal = rDefaultPrintData.IsPrintTextPlaceholder();
+ m_aUIProperties[ nIdx++ ].Value = getBoolControlOpt( aLocalizedStrings.GetString( 8 ),
+ aLocalizedStrings.GetString( 9 ),
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintTextPlaceholder" ) ),
+ bDefaultVal );
+ }
- //Das Druckdokument ist ein default Dokument, mithin arbeitet es auf der
- //StandardSeite.
- SwFrm *pPage = pPrtShell->GetLayout()->Lower();
+ // create a bool option for controls
+ bDefaultVal = rDefaultPrintData.IsPrintControl();
+ m_aUIProperties[ nIdx++ ].Value = getBoolControlOpt( aLocalizedStrings.GetString( 10 ),
+ aLocalizedStrings.GetString( 11 ),
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintControls" ) ),
+ bDefaultVal );
- SwPrtOptSave aPrtSave( pPrn );
+ // create sub section for Color
+ m_aUIProperties[ nIdx++ ].Value = getSubgroupControlOpt( aLocalizedStrings.GetString( 12 ), rtl::OUString() );
- pPrn->SetOrientation( ORIENTATION_PORTRAIT );
- pPrn->SetPaperBin( pPage->GetAttrSet()->GetPaperBin().GetValue() );
+ // create a bool option for printing text with black font color
+ bDefaultVal = rDefaultPrintData.IsPrintBlackFont();
+ m_aUIProperties[ nIdx++ ].Value = getBoolControlOpt( aLocalizedStrings.GetString( 13 ),
+ aLocalizedStrings.GetString( 14 ),
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintBlackFonts" ) ),
+ bDefaultVal );
- if( !rStartJob && JOBSET_ERR_DEFAULT == rJobStartError &&
- rJobName.Len() )
+ if (!bWeb)
{
- if( !pPrn->IsJobActive() )
- {
- rStartJob = pPrn->StartJob( rJobName );
- if( !rStartJob )
- {
- rJobStartError = JOBSET_ERR_ERROR;
- return;
- }
- }
- pPrtShell->InitPrt( pPrn );
- rJobStartError = JOBSET_ERR_ISSTARTET;
+ // create subgroup for misc options
+ m_aUIProperties[ nIdx++ ].Value = getSubgroupControlOpt( rtl::OUString( aLocalizedStrings.GetString( 15 ) ), rtl::OUString() );
+
+ // create a bool option for printing automatically inserted blank pages
+ bDefaultVal = rDefaultPrintData.IsPrintEmptyPages();
+ m_aUIProperties[ nIdx++ ].Value = getBoolControlOpt( aLocalizedStrings.GetString( 16 ),
+ aLocalizedStrings.GetString( 17 ),
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintEmptyPages" ) ),
+ bDefaultVal );
}
- // Wir koennen auch rueckwaerts:
- if ( bReverse )
- pPage = pPrtShell->GetLayout()->GetLastPage();
-
- while( pPage )
+ // create a bool option for paper tray
+ bDefaultVal = rDefaultPrintData.IsPaperFromSetup();
+ vcl::PrinterOptionsHelper::UIControlOptions aPaperTrayOpt;
+ aPaperTrayOpt.maGroupHint = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "OptionsPageOptGroup" ) );
+ m_aUIProperties[ nIdx++ ].Value = getBoolControlOpt( aLocalizedStrings.GetString( 18 ),
+ aLocalizedStrings.GetString( 19 ),
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintPaperFromSetup" ) ),
+ bDefaultVal,
+ aPaperTrayOpt
+ );
+
+ // print range selection
+ vcl::PrinterOptionsHelper::UIControlOptions aPrintRangeOpt;
+ aPrintRangeOpt.maGroupHint = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintRange" ) );
+ aPrintRangeOpt.mbInternalOnly = sal_True;
+ m_aUIProperties[nIdx++].Value = getSubgroupControlOpt( rtl::OUString( aLocalizedStrings.GetString( 37 ) ),
+ rtl::OUString(),
+ aPrintRangeOpt
+ );
+
+ // create a choice for the content to create
+ rtl::OUString aPrintRangeName( RTL_CONSTASCII_USTRINGPARAM( "PrintContent" ) );
+ uno::Sequence< rtl::OUString > aChoices( bHasSelection ? 3 : 2 );
+ uno::Sequence< rtl::OUString > aHelpText( bHasSelection ? 3 : 2 );
+ aChoices[0] = aLocalizedStrings.GetString( 38 );
+ aHelpText[0] = aLocalizedStrings.GetString( 39 );
+ aChoices[1] = aLocalizedStrings.GetString( 40 );
+ aHelpText[1] = aLocalizedStrings.GetString( 41 );
+ if (bHasSelection)
{
- //Mag der Anwender noch?, Abbruch erst in Prt()
- GetpApp()->Reschedule();
- ::SetSwVisArea( pPrtShell, pPage->Frm() );
- pPrn->StartPage();
- pPage->GetUpper()->Paint( pPage->Frm() );
-// SFX_APP()->SpoilDemoOutput( *pPrtShell->GetOut(), pPage->Frm().SVRect());
- SwPaintQueue::Repaint();
- pPrn->EndPage();
- pPage = bReverse ? pPage->GetPrev() : pPage->GetNext();
+ aChoices[2] = aLocalizedStrings.GetString( 42 );
+ aHelpText[2] = aLocalizedStrings.GetString( 43 );
}
-}
+ m_aUIProperties[nIdx++].Value = getChoiceControlOpt( rtl::OUString(),
+ aHelpText,
+ aPrintRangeName,
+ aChoices,
+ bHasSelection ? 2 /*enable 'Selection' radio button*/ : 0 /* enable 'All pages' */);
+ // create a an Edit dependent on "Pages" selected
+ vcl::PrinterOptionsHelper::UIControlOptions aPageRangeOpt( aPrintRangeName, 1, sal_True );
+ m_aUIProperties[nIdx++].Value = getEditControlOpt( rtl::OUString(),
+ rtl::OUString(),
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PageRange" ) ),
+ rtl::OUString(),
+ aPageRangeOpt
+ );
+ // print content selection
+ vcl::PrinterOptionsHelper::UIControlOptions aContentsOpt;
+ aContentsOpt.maGroupHint = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "JobPage" ) );
+ m_aUIProperties[nIdx++].Value = getSubgroupControlOpt( rtl::OUString( aLocalizedStrings.GetString( 20 ) ),
+ rtl::OUString(),
+ aContentsOpt
+ );
+ // create a list box for notes content
+ const sal_Int16 nPrintPostIts = rDefaultPrintData.GetPrintPostIts();
+ aChoices.realloc( 4 );
+ aChoices[0] = aLocalizedStrings.GetString( 21 );
+ aChoices[1] = aLocalizedStrings.GetString( 22 );
+ aChoices[2] = aLocalizedStrings.GetString( 23 );
+ aChoices[3] = aLocalizedStrings.GetString( 24 );
+ aHelpText.realloc( 2 );
+ aHelpText[0] = aLocalizedStrings.GetString( 25 );
+ aHelpText[1] = aLocalizedStrings.GetString( 25 );
+ vcl::PrinterOptionsHelper::UIControlOptions aAnnotOpt( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintProspect" ) ), 0, sal_False );
+ aAnnotOpt.mbEnabled = bHasPostIts;
+ m_aUIProperties[ nIdx++ ].Value = getChoiceControlOpt( aLocalizedStrings.GetString( 26 ),
+ aHelpText,
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintAnnotationMode" ) ),
+ aChoices,
+ nPrintPostIts,
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "List" ) ),
+ aAnnotOpt
+ );
+
+ // create subsection for Page settings
+ vcl::PrinterOptionsHelper::UIControlOptions aPageSetOpt;
+ aPageSetOpt.maGroupHint = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "LayoutPage" ) );
+
+ if (!bWeb)
+ {
+ m_aUIProperties[nIdx++].Value = getSubgroupControlOpt( rtl::OUString( aLocalizedStrings.GetString( 27 ) ),
+ rtl::OUString(),
+ aPageSetOpt
+ );
+ uno::Sequence< rtl::OUString > aRLChoices( 3 );
+ aRLChoices[0] = aLocalizedStrings.GetString( 28 );
+ aRLChoices[1] = aLocalizedStrings.GetString( 29 );
+ aRLChoices[2] = aLocalizedStrings.GetString( 30 );
+ uno::Sequence< rtl::OUString > aRLHelp( 1 );
+ aRLHelp[0] = aLocalizedStrings.GetString( 31 );
+ // create a choice option for all/left/right pages
+ // 0 : all pages (left & right)
+ // 1 : left pages
+ // 2 : right pages
+ DBG_ASSERT( rDefaultPrintData.IsPrintLeftPage() || rDefaultPrintData.IsPrintRightPage(),
+ "unexpected value combination" );
+ sal_Int16 nPagesChoice = 0;
+ if (rDefaultPrintData.IsPrintLeftPage() && !rDefaultPrintData.IsPrintRightPage())
+ nPagesChoice = 1;
+ else if (!rDefaultPrintData.IsPrintLeftPage() && rDefaultPrintData.IsPrintRightPage())
+ nPagesChoice = 2;
+ m_aUIProperties[ nIdx++ ].Value = getChoiceControlOpt( aLocalizedStrings.GetString( 32 ),
+ aRLHelp,
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintLeftRightPages" ) ),
+ aRLChoices,
+ nPagesChoice,
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "List" ) )
+ );
+ }
+
+ // create a bool option for brochure
+ bDefaultVal = rDefaultPrintData.IsPrintProspect();
+ rtl::OUString aBrochurePropertyName( RTL_CONSTASCII_USTRINGPARAM( "PrintProspect" ) );
+ m_aUIProperties[ nIdx++ ].Value = getBoolControlOpt( aLocalizedStrings.GetString( 33 ),
+ aLocalizedStrings.GetString( 34 ),
+ aBrochurePropertyName,
+ bDefaultVal,
+ aPageSetOpt
+ );
+
+ if (bCTL)
+ {
+ // create a bool option for brochure RTL dependent on brochure
+ uno::Sequence< rtl::OUString > aBRTLChoices( 2 );
+ aBRTLChoices[0] = aLocalizedStrings.GetString( 35 );
+ aBRTLChoices[1] = aLocalizedStrings.GetString( 36 );
+ vcl::PrinterOptionsHelper::UIControlOptions aBrochureRTLOpt( aBrochurePropertyName, -1, sal_True );
+ aBrochureRTLOpt.maGroupHint = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "LayoutPage" ) );
+ // RTL brochure choices
+ // 0 : left-to-right
+ // 1 : right-to-left
+ const sal_Int16 nBRTLChoice = rDefaultPrintData.IsPrintProspectRTL() ? 1 : 0;
+ m_aUIProperties[ nIdx++ ].Value = getChoiceControlOpt( rtl::OUString(),
+ uno::Sequence< rtl::OUString >(),
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PrintProspectRTL" ) ),
+ aBRTLChoices,
+ nBRTLChoice,
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "List" ) ),
+ aBrochureRTLOpt
+ );
+ }
+
-/******************************************************************************
- * Methode : void lcl_PrintPostItsEndDoc( ViewShell* pPrtShell, ...
- * Beschreibung:
- * Erstellt : OK 07.11.94 10:21
- * Aenderung : MA 10. May. 95
- ******************************************************************************/
+ DBG_ASSERT( nIdx == nNumProps, "number of added properties is not as expected" );
+}
-void lcl_PrintPostItsEndDoc( ViewShell* pPrtShell,
- _SetGetExpFlds& rPostItFields, MultiSelection &rMulti,
- const XubString& rJobName, BOOL& rStartJob, int& rJobStartError,
- BOOL bRgt, BOOL bLft, BOOL bRev )
+SwPrintUIOptions::~SwPrintUIOptions()
{
- USHORT nPostIts = rPostItFields.Count();
- if( !nPostIts )
- // Keine Arbeit
- return;
+}
+
+bool SwPrintUIOptions::IsPrintLeftPages() const
+{
+ // take care of different property names for the option.
+ // for compatibility the old name should win (may still be used for PDF export or via Uno API)
+
+ // 0: left and right pages
+ // 1: left pages only
+ // 2: right pages only
+ sal_Int64 nLRPages = getIntValue( "PrintLeftRightPages", 0 /* default: all */ );
+ bool bRes = nLRPages == 0 || nLRPages == 1;
+ bRes = getBoolValue( "PrintLeftPages", bRes /* <- default value if property is not found */ );
+ return bRes;
+}
- SET_CURR_SHELL( pPrtShell );
+bool SwPrintUIOptions::IsPrintRightPages() const
+{
+ // take care of different property names for the option.
+ // for compatibility the old name should win (may still be used for PDF export or via Uno API)
- SwDoc* pPrtDoc = pPrtShell->GetDoc();
+ sal_Int64 nLRPages = getIntValue( "PrintLeftRightPages", 0 /* default: all */ );
+ bool bRes = nLRPages == 0 || nLRPages == 2;
+ bRes = getBoolValue( "PrintRightPages", bRes /* <- default value if property is not found */ );
+ return bRes;
+}
- // Dokument leeren und ans Dokumentende gehen
- SwPaM aPam( pPrtDoc->GetNodes().GetEndOfContent() );
- aPam.Move( fnMoveBackward, fnGoDoc );
- aPam.SetMark();
- aPam.Move( fnMoveForward, fnGoDoc );
- pPrtDoc->DeleteRange( aPam );
+bool SwPrintUIOptions::IsPrintEmptyPages( bool bIsPDFExport ) const
+{
+ // take care of different property names for the option.
- for( USHORT i = 0, nVirtPg, nLineNo; i < nPostIts; ++i )
- {
- _PostItFld& rPostIt = (_PostItFld&)*rPostItFields[ i ];
- if( rPostIt.GetPageNo( rMulti, bRgt, bLft, nVirtPg, nLineNo ) )
- lcl_FormatPostIt( pPrtShell->GetDoc(), aPam,
- rPostIt.GetPostIt(), nVirtPg, nLineNo );
- }
+ bool bRes = bIsPDFExport ?
+ !getBoolValue( "IsSkipEmptyPages", sal_True ) :
+ getBoolValue( "PrintEmptyPages", sal_True );
+ return bRes;
+}
- lcl_PrintPostIts( pPrtShell, rJobName, rStartJob, rJobStartError, bRev );
+bool SwPrintUIOptions::IsPrintTables() const
+{
+ // take care of different property names currently in use for this option.
+ // for compatibility the old name should win (may still be used for PDF export or via Uno API)
+
+// bool bRes = getBoolValue( "PrintTablesGraphicsAndDiagrams", sal_True );
+// bRes = getBoolValue( "PrintTables", bRes );
+// return bRes;
+ // for now it was decided that tables should always be printed
+ return true;
}
-/******************************************************************************
- * Methode : void lcl_PrintPostItsEndPage( ViewShell* pPrtShell, ...
- * Beschreibung:
- * Erstellt : OK 07.11.94 10:22
- * Aenderung :
- ******************************************************************************/
+bool SwPrintUIOptions::IsPrintGraphics() const
+{
+ // take care of different property names for the option.
+ // for compatibility the old name should win (may still be used for PDF export or via Uno API)
+ bool bRes = getBoolValue( "PrintPicturesAndObjects", sal_True );
+ bRes = getBoolValue( "PrintGraphics", bRes );
+ return bRes;
+}
-void lcl_PrintPostItsEndPage( ViewShell* pPrtShell,
- _SetGetExpFlds& rPostItFields, USHORT nPageNo, MultiSelection &rMulti,
- const XubString& rJobName, BOOL& rStartJob, int& rJobStartError,
- BOOL bRgt, BOOL bLft, BOOL bRev )
+bool SwPrintUIOptions::IsPrintDrawings() const
{
- USHORT nPostIts = rPostItFields.Count();
- if( !nPostIts )
- // Keine Arbeit
- return;
-
- SET_CURR_SHELL( pPrtShell );
+ // take care of different property names for the option.
+ // for compatibility the old name should win (may still be used for PDF export or via Uno API)
- USHORT i = 0, nVirtPg, nLineNo;
- while( ( i < nPostIts ) &&
- ( nPageNo != ((_PostItFld&)*rPostItFields[ i ]).
- GetPageNo( rMulti,bRgt, bLft, nVirtPg, nLineNo )))
- ++i;
- if(i == nPostIts)
- // Nix zu drucken
- return;
+ bool bRes = getBoolValue( "PrintPicturesAndObjects", sal_True );
+ bRes = getBoolValue( "PrintDrawings", bRes );
+ return bRes;
+}
- SwDoc* pPrtDoc = pPrtShell->GetDoc();
+bool SwPrintUIOptions::processPropertiesAndCheckFormat( const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& i_rNewProp )
+{
+ bool bChanged = processProperties( i_rNewProp );
- // Dokument leeren und ans Dokumentende gehen
- SwPaM aPam( pPrtDoc->GetNodes().GetEndOfContent() );
- aPam.Move( fnMoveBackward, fnGoDoc );
- aPam.SetMark();
- aPam.Move( fnMoveForward, fnGoDoc );
- pPrtDoc->DeleteRange( aPam );
+ uno::Reference< awt::XDevice > xRenderDevice;
+ uno::Any aVal( getValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "RenderDevice" ) ) ) );
+ aVal >>= xRenderDevice;
- while( i < nPostIts )
+ OutputDevice* pOut = 0;
+ if (xRenderDevice.is())
{
- _PostItFld& rPostIt = (_PostItFld&)*rPostItFields[ i ];
- if( nPageNo == rPostIt.GetPageNo( rMulti, bRgt, bLft, nVirtPg, nLineNo ) )
- lcl_FormatPostIt( pPrtShell->GetDoc(), aPam,
- rPostIt.GetPostIt(), nVirtPg, nLineNo );
- ++i;
+ VCLXDevice* pDevice = VCLXDevice::GetImplementation( xRenderDevice );
+ pOut = pDevice ? pDevice->GetOutputDevice() : 0;
}
- lcl_PrintPostIts( pPrtShell, rJobName, rStartJob, rJobStartError, bRev );
+ bChanged = bChanged || (pOut != m_pLast);
+ if( pOut )
+ m_pLast = pOut;
+
+ return bChanged;
}
+
/******************************************************************************
- * Methode : void ViewShell::InitPrt( SfxPrinter *pNew, OutputDevice *pPDFOut )
+ * Methode : void SetSwVisArea( ViewShell *pSh, Point aPrtOffset, ...
* Beschreibung:
- * Erstellt : OK 07.11.94 10:22
+ * Erstellt : OK 04.11.94 16:27
* Aenderung :
******************************************************************************/
-void ViewShell::InitPrt( SfxPrinter *pPrt, OutputDevice *pPDFOut )
+void SetSwVisArea( ViewShell *pSh, const SwRect &rRect, BOOL /*bPDFExport*/ )
+{
+ ASSERT( !pSh->GetWin(), "Drucken mit Window?" );
+ pSh->aVisArea = rRect;
+ pSh->Imp()->SetFirstVisPageInvalid();
+ Point aPt( rRect.Pos() );
+
+ // calculate an offset for the rectangle of the n-th page to
+ // move the start point of the output operation to a position
+ // such that in the output device all pages will be painted
+ // at the same position
+ aPt.X() = -aPt.X(); aPt.Y() = -aPt.Y();
+
+ OutputDevice *pOut = pSh->GetOut();
+
+ MapMode aMapMode( pOut->GetMapMode() );
+ aMapMode.SetOrigin( aPt );
+ pOut->SetMapMode( aMapMode );
+}
+
+/******************************************************************************/
+
+void ViewShell::InitPrt( OutputDevice *pOutDev )
{
//Fuer den Printer merken wir uns einen negativen Offset, der
//genau dem Offset de OutputSize entspricht. Das ist notwendig,
//weil unser Ursprung der linken ober Ecke der physikalischen
//Seite ist, die Ausgaben (SV) aber den Outputoffset als Urstprung
//betrachten.
- OutputDevice *pTmpDev = pPDFOut ? pPDFOut : (OutputDevice *) pPrt;
- if ( pTmpDev )
+ if ( pOutDev )
{
- aPrtOffst = pPrt ? pPrt->GetPageOffset() : Point();
+ aPrtOffst = Point();
- aPrtOffst += pTmpDev->GetMapMode().GetOrigin();
- MapMode aMapMode( pTmpDev->GetMapMode() );
+ aPrtOffst += pOutDev->GetMapMode().GetOrigin();
+ MapMode aMapMode( pOutDev->GetMapMode() );
aMapMode.SetMapUnit( MAP_TWIP );
- pTmpDev->SetMapMode( aMapMode );
- pTmpDev->SetLineColor();
- pTmpDev->SetFillColor();
+ pOutDev->SetMapMode( aMapMode );
+ pOutDev->SetLineColor();
+ pOutDev->SetFillColor();
}
else
aPrtOffst.X() = aPrtOffst.Y() = 0;
if ( !pWin )
- pOut = pTmpDev; //Oder was sonst?
+ pOut = pOutDev; //Oder was sonst?
}
/******************************************************************************
@@ -638,14 +846,6 @@ void ViewShell::ChgAllPageSize( Size &rSz )
}
}
-/******************************************************************************
- * Methode : void ViewShell::CalcPagesForPrint( short nMax, BOOL ...
- * Beschreibung:
- * Erstellt : OK 04.11.94 15:33
- * Aenderung : MA 07. Jun. 95
- ******************************************************************************/
-
-
void lcl_SetState( SfxProgress& rProgress, ULONG nPage, ULONG nMax,
const XubString *pStr, ULONG nAct, ULONG nCnt, ULONG nOffs, ULONG nPageNo )
@@ -674,50 +874,19 @@ void lcl_SetState( SfxProgress& rProgress, ULONG nPage, ULONG nMax,
-void ViewShell::CalcPagesForPrint( USHORT nMax, SfxProgress* pProgress,
- const XubString* pStr, ULONG nMergeAct, ULONG nMergeCnt )
+void ViewShell::CalcPagesForPrint( USHORT nMax )
{
SET_CURR_SHELL( this );
- //Seitenweise durchformatieren, by the way kann die Statusleiste
- //angetriggert werden, damit der Anwender sieht worauf er wartet.
- //Damit der Vorgang moeglichst transparent gestaltet werden kann
- //Versuchen wir mal eine Schaetzung.
- SfxPrinter* pPrt = getIDocumentDeviceAccess()->getPrinter( false );
- BOOL bPrtJob = pPrt ? pPrt->IsJobActive() : FALSE;
SwRootFrm* pLayout = GetLayout();
- ULONG nStatMax = pLayout->GetPageNum();
+ // ULONG nStatMax = pLayout->GetPageNum();
const SwFrm *pPage = pLayout->Lower();
SwLayAction aAction( pLayout, Imp() );
- if( pProgress )
- {
- // HACK, damit die Anzeige sich nicht verschluckt.
- const XubString aTmp( SW_RES( STR_STATSTR_FORMAT ) );
- pProgress->SetText( aTmp );
- lcl_SetState( *pProgress, 1, nStatMax, pStr, nMergeAct, nMergeCnt, 0, 1 );
- pProgress->Reschedule(); //Mag der Anwender noch oder hat er genug?
- aAction.SetProgress(pProgress);
- }
-
pLayout->StartAllAction();
for ( USHORT i = 1; pPage && i <= nMax; pPage = pPage->GetNext(), ++i )
{
- if ( ( bPrtJob && !pPrt->IsJobActive() ) || Imp()->IsStopPrt() )
- break;
-
- if( pProgress )
- {
- //HACK, damit die Anzeige sich nicht verschluckt.
- if ( i > nStatMax ) nStatMax = i;
- lcl_SetState( *pProgress, i, nStatMax, pStr, nMergeAct, nMergeCnt, 0, i );
- pProgress->Reschedule(); //Mag der Anwender noch oder hat er genug?
- }
-
- if ( ( bPrtJob && !pPrt->IsJobActive() ) || Imp()->IsStopPrt() )
- break;
-
pPage->Calc();
SwRect aOldVis( VisArea() );
aVisArea = pPage->Frm();
@@ -731,34 +900,23 @@ void ViewShell::CalcPagesForPrint( USHORT nMax, SfxProgress* pProgress,
aVisArea = aOldVis; //Zuruecksetzen wg. der Paints!
Imp()->SetFirstVisPageInvalid();
- SwPaintQueue::Repaint();
-
- if ( pProgress )
- pProgress->Reschedule(); //Mag der Anwender noch oder hat er genug?
+// SwPaintQueue::Repaint();
}
-
- if (pProgress)
- aAction.SetProgress( NULL );
-
pLayout->EndAllAction();
}
/******************************************************************************/
-SwDoc * ViewShell::CreatePrtDoc( SfxPrinter* pPrt, SfxObjectShellRef &rDocShellRef)
+SwDoc * ViewShell::CreatePrtDoc( SfxObjectShellRef &rDocShellRef)
{
ASSERT( this->IsA( TYPE(SwFEShell) ),"ViewShell::Prt for FEShell only");
SwFEShell* pFESh = (SwFEShell*)this;
// Wir bauen uns ein neues Dokument
SwDoc *pPrtDoc = new SwDoc;
pPrtDoc->acquire();
- pPrtDoc->SetRefForDocShell( boost::addressof(rDocShellRef) );
+ pPrtDoc->SetRefForDocShell( (SfxObjectShellRef*)&(long&)rDocShellRef );
pPrtDoc->LockExpFlds();
- // Der Drucker wird uebernommen
- if (pPrt)
- pPrtDoc->setPrinter( pPrt, true, true );
-
const SfxPoolItem* pCpyItem;
const SfxItemPool& rPool = GetAttrPool();
for( USHORT nWh = POOLATTR_BEGIN; nWh < POOLATTR_END; ++nWh )
@@ -776,16 +934,32 @@ SwDoc * ViewShell::CreatePrtDoc( SfxPrinter* pPrt, SfxObjectShellRef &rDocShellR
pActCrsr = dynamic_cast<SwShellCrsr*>(pActCrsr->GetPrev());
}
- // Die Y-Position der ersten Selektion
- const Point aSelPoint = pFESh->IsTableMode() ?
- pFESh->GetTableCrsr()->GetSttPos() :
- pFirstCrsr->GetSttPos();
+ Point aSelPoint;
+ if( pFESh->IsTableMode() )
+ {
+ SwShellTableCrsr* pShellTblCrsr = pFESh->GetTableCrsr();
+
+ const SwCntntNode* pCntntNode = pShellTblCrsr->GetNode()->GetCntntNode();
+ const SwCntntFrm *pCntntFrm = pCntntNode ? pCntntNode->GetFrm( 0, pShellTblCrsr->Start() ) : 0;
+ if( pCntntFrm )
+ {
+ SwRect aCharRect;
+ SwCrsrMoveState aTmpState( MV_NONE );
+ pCntntFrm->GetCharRect( aCharRect, *pShellTblCrsr->Start(), &aTmpState );
+ aSelPoint = Point( aCharRect.Left(), aCharRect.Top() );
+ }
+ }
+ else
+ {
+ aSelPoint = pFirstCrsr->GetSttPos();
+ }
const SwPageFrm* pPage = GetLayout()->GetPageAtPos( aSelPoint );
+ ASSERT( pPage, "no page found!" );
- // und ihren Seitendescribtor
- const SwPageDesc* pPageDesc = pPrtDoc->FindPageDescByName(
- pPage->GetPageDesc()->GetName() );
+ // get page descriptor - fall back to the first one if pPage could not be found
+ const SwPageDesc* pPageDesc = pPage ? pPrtDoc->FindPageDescByName(
+ pPage->GetPageDesc()->GetName() ) : &pPrtDoc->_GetPageDesc( (sal_uInt16)0 );
if( !pFESh->IsTableMode() && pActCrsr->HasMark() )
{ // Am letzten Absatz die Absatzattribute richten:
@@ -833,6 +1007,7 @@ SwDoc * ViewShell::CreatePrtDoc( SfxPrinter* pPrt, SfxObjectShellRef &rDocShellR
}
return pPrtDoc;
}
+
SwDoc * ViewShell::FillPrtDoc( SwDoc *pPrtDoc, const SfxPrinter* pPrt)
{
ASSERT( this->IsA( TYPE(SwFEShell) ),"ViewShell::Prt for FEShell only");
@@ -840,7 +1015,7 @@ SwDoc * ViewShell::FillPrtDoc( SwDoc *pPrtDoc, const SfxPrinter* pPrt)
// Wir bauen uns ein neues Dokument
// SwDoc *pPrtDoc = new SwDoc;
// pPrtDoc->acquire();
-// pPrtDoc->SetRefForDocShell( boost::addressof(rDocShellRef) );
+// pPrtDoc->SetRefForDocShell( (SvEmbeddedObjectRef*)&(long&)rDocShellRef );
pPrtDoc->LockExpFlds();
// Der Drucker wird uebernommen
@@ -868,15 +1043,32 @@ SwDoc * ViewShell::FillPrtDoc( SwDoc *pPrtDoc, const SfxPrinter* pPrt)
// Die Y-Position der ersten Selektion
// Die Y-Position der ersten Selektion
- const Point aSelPoint = pFESh->IsTableMode() ?
- pFESh->GetTableCrsr()->GetSttPos() :
- pFirstCrsr->GetSttPos();
+ Point aSelPoint;
+ if( pFESh->IsTableMode() )
+ {
+ SwShellTableCrsr* pShellTblCrsr = pFESh->GetTableCrsr();
+
+ const SwCntntNode* pCntntNode = pShellTblCrsr->GetNode()->GetCntntNode();
+ const SwCntntFrm *pCntntFrm = pCntntNode ? pCntntNode->GetFrm( 0, pShellTblCrsr->Start() ) : 0;
+ if( pCntntFrm )
+ {
+ SwRect aCharRect;
+ SwCrsrMoveState aTmpState( MV_NONE );
+ pCntntFrm->GetCharRect( aCharRect, *pShellTblCrsr->Start(), &aTmpState );
+ aSelPoint = Point( aCharRect.Left(), aCharRect.Top() );
+ }
+ }
+ else
+ {
+ aSelPoint = pFirstCrsr->GetSttPos();
+ }
const SwPageFrm* pPage = GetLayout()->GetPageAtPos( aSelPoint );
+ ASSERT( pPage, "no page found!" );
- // und ihren Seitendescribtor
- const SwPageDesc* pPageDesc = pPrtDoc->FindPageDescByName(
- pPage->GetPageDesc()->GetName() );
+ // get page descriptor - fall back to the first one if pPage could not be found
+ const SwPageDesc* pPageDesc = pPage ? pPrtDoc->FindPageDescByName(
+ pPage->GetPageDesc()->GetName() ) : &pPrtDoc->_GetPageDesc( (sal_uInt16)0 );
if( !pFESh->IsTableMode() && pActCrsr->HasMark() )
{ // Am letzten Absatz die Absatzattribute richten:
@@ -925,76 +1117,41 @@ SwDoc * ViewShell::FillPrtDoc( SwDoc *pPrtDoc, const SfxPrinter* pPrt)
return pPrtDoc;
}
-/******************************************************************************
- * Methode : void ViewShell::Prt( const SwPrtOptions& rOptions,
- * SfxProgress* pProgress,
- * OutputDevice* pPDFOut )
- * Beschreibung:
- * Erstellt : OK 04.11.94 15:33
- * Aenderung : MA 10. May. 95
- ******************************************************************************/
-
-BOOL ViewShell::Prt( SwPrtOptions& rOptions, SfxProgress* pProgress,
- OutputDevice* pPDFOut )
+sal_Bool ViewShell::PrintOrPDFExport(
+ OutputDevice *pOutDev,
+ const SwPrtOptions &rPrintData,
+ sal_Int32 nRenderer /* the index in the vector of pages to be printed */ )
{
-//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-//Immer die Druckroutine in viewpg.cxx (fuer Seitenvorschau) mitpflegen!!
-//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- ASSERT( pPDFOut || pProgress, "Printing without progress bar!" )
+//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+//Immer die Druckroutinen in viewpg.cxx (PrintProspect) mitpflegen!!
+//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- BOOL bStartJob = FALSE;
-
- //! Note: Since for PDF export of (multi-)selection a temporary
- //! document is created that contains only the selects parts,
- //! and thus that document is to printed in whole the,
- //! rOptions.bPrintSelection parameter will be false.
- BOOL bSelection = rOptions.bPrintSelection;
-
- MultiSelection aMulti( rOptions.aMulti );
-
- if ( !aMulti.GetSelectCount() )
- return bStartJob;
-
- Range aPages( aMulti.FirstSelected(), aMulti.LastSelected() );
- if ( aPages.Max() > USHRT_MAX )
- aPages.Max() = USHRT_MAX;
-
- ASSERT( aPages.Min() > 0,
- "Seite 0 Drucken?" );
- ASSERT( aPages.Min() <= aPages.Max(),
- "MinSeite groesser MaxSeite." );
-
- SfxPrinter* pPrt = 0; //!! will be 0 for PDF export !!
- if (pPDFOut)
- pPDFOut->Push();
- else
- {
- // wenn kein Drucker vorhanden ist, wird nicht gedruckt
- pPrt = getIDocumentDeviceAccess()->getPrinter( false );
- if( !pPrt || !pPrt->GetName().Len() )
- {
- ASSERT( FALSE, "Drucken ohne Drucker?" );
- return bStartJob;
- }
-
- if( !rOptions.GetJobName().Len() && !pPrt->IsJobActive() )
- return bStartJob;
- }
-
- // Einstellungen am Drucker merken
- SwPrtOptSave aPrtSave( pPrt );
+ const sal_Int32 nMaxRenderer = rPrintData.GetRenderData().GetPagesToPrint().size() - 1;
+#if OSL_DEBUG_LEVEL > 1
+ DBG_ASSERT( 0 <= nRenderer && nRenderer <= nMaxRenderer, "nRenderer out of bounds");
+#endif
+ if (!pOutDev || nMaxRenderer < 0 || nRenderer < 0 || nRenderer > nMaxRenderer)
+ return sal_False;
- OutputDevice *pPrtOrPDFOut = pPDFOut ? pPDFOut : (OutputDevice *) pPrt;
+ // save settings of OutputDevice (should be done always since the
+ // output device is now provided by a call from outside the Writer)
+ pOutDev->Push();
// eine neue Shell fuer den Printer erzeugen
ViewShell *pShell;
- SwDoc *pPrtDoc;
+ SwDoc *pOutDevDoc;
//!! muss warum auch immer hier in diesem scope existieren !!
//!! (h?ngt mit OLE Objekten im Dokument zusammen.)
SfxObjectShellRef aDocShellRef;
+ //! Note: Since for PDF export of (multi-)selection a temporary
+ //! document is created that contains only the selects parts,
+ //! and thus that document is to printed in whole the,
+ //! rPrintData.bPrintSelection parameter will be false.
+ BOOL bSelection = rPrintData.bPrintSelection;
+
// PDF export for (multi-)selection has already generated a temporary document
// with the selected text. (see XRenderable implementation in unotxdoc.cxx)
// Thus we like to go in the 'else' part here in that case.
@@ -1003,443 +1160,100 @@ BOOL ViewShell::Prt( SwPrtOptions& rOptions, SfxProgress* pProgress,
// to be created that often here in the 'then' part.
if ( bSelection )
{
- pPrtDoc = CreatePrtDoc( pPrt, aDocShellRef );
+ pOutDevDoc = CreatePrtDoc( aDocShellRef );
// eine ViewShell darauf
- OutputDevice *pTmpDev = pPDFOut ? pPDFOut : 0;
- pShell = new ViewShell( *pPrtDoc, 0, pOpt, pTmpDev );
- pPrtDoc->SetRefForDocShell( 0 );
+ pShell = new ViewShell( *pOutDevDoc, 0, pOpt, pOutDev );
+ pOutDevDoc->SetRefForDocShell( 0 );
}
else
{
- pPrtDoc = GetDoc();
- OutputDevice *pTmpDev = pPDFOut ? pPDFOut : 0;
- pShell = new ViewShell( *this, 0, pTmpDev );
+ pOutDevDoc = GetDoc();
+ pShell = new ViewShell( *this, 0, pOutDev );
+ }
+
+ SdrView *pDrawView = pShell->GetDrawView();
+ if (pDrawView)
+ {
+ pDrawView->SetBufferedOutputAllowed( false );
+ pDrawView->SetBufferedOverlayAllowed( false );
}
{ //Zusaetzlicher Scope, damit die CurrShell vor dem zerstoeren der
//Shell zurueckgesetzt wird.
- SET_CURR_SHELL( pShell );
-
- if ( pProgress )
- {
- Link aLnk = LINK(pShell->Imp(), SwViewImp, SetStopPrt);
- ((SfxPrintProgress *)pProgress)->SetCancelHdl(aLnk);
- }
+ SET_CURR_SHELL( pShell );
- //JP 01.02.99: das ReadOnly Flag wird NIE mitkopiert; Bug 61335
- if( pOpt->IsReadonly() )
- pShell->pOpt->SetReadonly( TRUE );
+ //JP 01.02.99: das ReadOnly Flag wird NIE mitkopiert; Bug 61335
+ if( pOpt->IsReadonly() )
+ pShell->pOpt->SetReadonly( TRUE );
- // save options at draw view:
- SwDrawViewSave aDrawViewSave( pShell->GetDrawView() );
+ // save options at draw view:
+ SwDrawViewSave aDrawViewSave( pShell->GetDrawView() );
- pShell->PrepareForPrint( rOptions );
+ pShell->PrepareForPrint( rPrintData );
- XubString* pStr = 0;
- ULONG nMergeAct = rOptions.nMergeAct, nMergeCnt = rOptions.nMergeCnt;
- if ( pProgress )
- {
- if( nMergeAct )
+ const sal_Int32 nPage = rPrintData.GetRenderData().GetPagesToPrint()[ nRenderer ];
+#if OSL_DEBUG_LEVEL > 1
+ DBG_ASSERT( nPage == 0 || rPrintData.GetRenderData().GetValidPagesSet().count( nPage ) == 1, "nPage not valid" );
+#endif
+ const SwPageFrm *pStPage = 0;
+ if (nPage > 0) // a 'regular' page, not one from the post-it document
{
- pStr = new SW_RESSTR(STR_STATSTR_LETTER);
- *pStr += ' ';
- *pStr += XubString::CreateFromInt64( nMergeAct );
- if( nMergeCnt )
- {
- *pStr += '/';
- *pStr += XubString::CreateFromInt64( nMergeCnt );
- }
+ const SwRenderData::ValidStartFramesMap_t &rFrms = rPrintData.GetRenderData().GetValidStartFrames();
+ SwRenderData::ValidStartFramesMap_t::const_iterator aIt( rFrms.find( nPage ) );
+ DBG_ASSERT( aIt != rFrms.end(), "failed to find start frame" );
+ if (aIt == rFrms.end())
+ return sal_False;
+ pStPage = aIt->second;
}
- else
+ else // a page from the post-its document ...
{
- ++nMergeAct;
+ DBG_ASSERT( nPage == 0, "unexpected page number. 0 for post-it pages expected" );
+ pStPage = rPrintData.GetRenderData().GetPostItStartFrames()[ nRenderer ];
}
- }
-
- // Seiten fuers Drucken formatieren
- pShell->CalcPagesForPrint( (USHORT)aPages.Max(), pProgress, pStr,
- nMergeAct, nMergeCnt );
-
- // Some field types, can require a valid layout
- // (expression fields in tables). For these we do an UpdateFlds
- // here after calculation of the pages.
- // --> FME 2004-06-21 #i9684# For performance reasons, we do not update
- // the fields during pdf export.
- // #i56195# prevent update of fields (for mail merge)
- if ( !pPDFOut && rOptions.bUpdateFieldsInPrinting )
- // <--
- pShell->UpdateFlds(TRUE);
-
- if( !pShell->Imp()->IsStopPrt() &&
- ( pPDFOut || rOptions.GetJobName().Len() || pPrt->IsJobActive()) )
- {
- BOOL bStop = FALSE;
- int nJobStartError = JOBSET_ERR_DEFAULT;
+ DBG_ASSERT( pStPage, "failed to get start page" );
- USHORT nCopyCnt = rOptions.bCollate ? rOptions.nCopyCount : 1;
+ //!! applying view options and formatting the dcoument should now only be done in getRendererCount!
- USHORT nPrintCount = 1;
- XubString sJobName( rOptions.GetJobName() );
+ ViewShell *pViewSh2 = nPage == 0 ? /* post-it page? */
+ rPrintData.GetRenderData().m_pPostItShell : pShell;
+ ::SetSwVisArea( pViewSh2, pStPage->Frm() );
- for ( USHORT nCnt = 0; !bStop && nCnt < nCopyCnt; nCnt++ )
+ // wenn wir einen Umschlag drucken wird ein Offset beachtet
+ if( pStPage->GetFmt()->GetPoolFmtId() == RES_POOLPAGE_JAKET )
{
- const SwPageFrm *pStPage = (SwPageFrm*)pShell->GetLayout()->Lower();
- const SwFrm *pEndPage = pStPage;
-
- USHORT nFirstPageNo = 0;
- USHORT nLastPageNo = 0;
- USHORT nPageNo = 1;
-
- if (pPrt)
- {
- if( rOptions.IsPrintSingleJobs() && sJobName.Len() &&
- ( bStartJob || rOptions.bJobStartet ) )
- {
- pPrt->EndJob();
- bStartJob = FALSE;
- rOptions.bJobStartet = TRUE;
-
- // Reschedule statt Yield, da Yield keine Events abarbeitet
- // und es sonst eine Endlosschleife gibt.
- while( pPrt->IsPrinting() && pProgress )
- pProgress->Reschedule();
-
- sJobName = rOptions.MakeNextJobName();
- nJobStartError = JOBSET_ERR_DEFAULT;
- }
- }
-
- for( USHORT i = 1; i <= (USHORT)aPages.Max(); ++i )
- {
- if( i < (USHORT)aPages.Min() )
- {
- if( !pStPage->GetNext() )
- break;
- pStPage = (SwPageFrm*)pStPage->GetNext();
- pEndPage= pStPage;
- }
- else if( i == (USHORT)aPages.Min() )
- {
- nFirstPageNo = i;
- nLastPageNo = nFirstPageNo;
- if( !pStPage->GetNext() || (i == (USHORT)aPages.Max()) )
- break;
- pEndPage = pStPage->GetNext();
- }
- else if( i > (USHORT)aPages.Min() )
- {
- nLastPageNo = i;
- if( !pEndPage->GetNext() || (i == (USHORT)aPages.Max()) )
- break;
- pEndPage = pEndPage->GetNext();
- }
- }
-
- if( !nFirstPageNo )
- {
- bStop = TRUE;
- break;
- }
-
-// HACK: Hier muss von der MultiSelection noch eine akzeptable Moeglichkeit
-// geschaffen werden, alle Seiten von Seite x an zu deselektieren.
-// Z.B. durch SetTotalRange ....
-
-// aMulti.Select( Range( nLastPageNo+1, SELECTION_MAX ), FALSE );
- MultiSelection aTmpMulti( Range( 1, nLastPageNo ) );
- long nTmpIdx = aMulti.FirstSelected();
- static long nEndOfSelection = SFX_ENDOFSELECTION;
- while ( nEndOfSelection != nTmpIdx && nTmpIdx <= long(nLastPageNo) )
- {
- aTmpMulti.Select( nTmpIdx );
- nTmpIdx = aMulti.NextSelected();
- }
- aMulti = aTmpMulti;
-// Ende des HACKs
-
- const USHORT nSelCount = USHORT(aMulti.GetSelectCount()
- /* * nCopyCnt*/);
-
- if ( pProgress )
- {
- pProgress->SetText( SW_RESSTR(STR_STATSTR_PRINT) );
- lcl_SetState( *pProgress, 1, nSelCount, pStr,
- nMergeAct, nMergeCnt, nSelCount, 1 );
- }
-
- if ( rOptions.bPrintReverse )
- {
- const SwFrm *pTmp = pStPage;
- pStPage = (SwPageFrm*)pEndPage;
- pEndPage = pTmp;
- nPageNo = nLastPageNo;
- }
- else
- nPageNo = nFirstPageNo;
-
- // PostitListe holen
- _SetGetExpFlds aPostItFields;
- SwDoc* pPostItDoc = 0;
- ViewShell* pPostItShell = 0;
- if( rOptions.nPrintPostIts != POSTITS_NONE )
- {
- lcl_GetPostIts( pDoc, aPostItFields );
- pPostItDoc = new SwDoc;
- if (pPrt)
- pPostItDoc->setPrinter( pPrt, true, true );
- pPostItShell = new ViewShell( *pPostItDoc, 0,
- pShell->GetViewOptions() );
- // Wenn PostIts am Dokumentenende gedruckt werden sollen,
- // die Druckreihenfolge allerdings umgekehrt ist, dann hier
- if ( ( rOptions.nPrintPostIts == POSTITS_ENDDOC ) &&
- rOptions.bPrintReverse )
- lcl_PrintPostItsEndDoc( pPostItShell, aPostItFields,
- aMulti, sJobName, bStartJob, nJobStartError,
- rOptions.bPrintRightPage, rOptions.bPrintLeftPage, TRUE );
-
- }
-
- // aOldMapMode wird fuer das Drucken von Umschlaegen gebraucht.
- MapMode aOldMapMode;
-
- const SwPageDesc *pLastPageDesc = NULL;
- BOOL bSetOrient = FALSE;
- BOOL bSetPaperSz = FALSE;
- BOOL bSetPaperBin = FALSE;
- BOOL bSetPrt = FALSE;
- if (pPrt)
- {
- bSetOrient = pPrt->HasSupport( SUPPORT_SET_ORIENTATION );
- bSetPaperSz = pPrt->HasSupport( SUPPORT_SET_PAPERSIZE );
- bSetPaperBin = !rOptions.bPaperFromSetup &&
- pPrt->HasSupport( SUPPORT_SET_PAPERBIN );
- bSetPrt = bSetOrient || bSetPaperSz || bSetPaperBin;
- }
-
- if ( rOptions.nPrintPostIts != POSTITS_ONLY )
- {
- // --> FME 2005-01-05 #110536# This valiable is used to track
- // the number of pages which actually have been printed.
- // If nPagesPrinted is odd, we have to send an additional
- // empty page to the printer if we are currently in collation
- // and duplex mode and there are still some more copies of the
- // document to print.
- USHORT nPagesPrinted = 0;
- // <--
-
- while( pStPage && !bStop )
- {
- // Mag der Anwender noch ?
- if ( pProgress )
- pProgress->Reschedule();
-
- if (pPrt)
- {
- if ( JOBSET_ERR_ERROR == nJobStartError ||
- ( !pPrt->IsJobActive() && ( !sJobName.Len() || bStartJob ) ) ||
- pShell->Imp()->IsStopPrt() )
- {
- bStop = TRUE;
- break;
- }
- }
-
- ::SetSwVisArea( pShell, pStPage->Frm(), 0 != pPDFOut );
-
- // wenn wir einen Umschlag drucken wird ein Offset beachtet
- if( pStPage->GetFmt()->GetPoolFmtId() == RES_POOLPAGE_JAKET )
- {
- aOldMapMode = pPrtOrPDFOut->GetMapMode();
- Point aNewOrigin = pPrtOrPDFOut->GetMapMode().GetOrigin();
- aNewOrigin += rOptions.aOffset;
- MapMode aTmp( pPrtOrPDFOut->GetMapMode() );
- aTmp.SetOrigin( aNewOrigin );
- pPrtOrPDFOut->SetMapMode( aTmp );
- }
-
- const BOOL bRightPg = pStPage->OnRightPage();
- if( aMulti.IsSelected( nPageNo ) &&
- ( (bRightPg && rOptions.bPrintRightPage) ||
- (!bRightPg && rOptions.bPrintLeftPage) ) )
- {
- if ( bSetPrt )
- {
- // check for empty page
- const SwPageFrm& rFormatPage = pStPage->GetFormatPage();
-
- if ( pLastPageDesc != rFormatPage.GetPageDesc() )
- {
- pLastPageDesc = rFormatPage.GetPageDesc();
-
- const BOOL bLandScp = rFormatPage.GetPageDesc()->GetLandscape();
-
- if( bSetPaperBin ) // Schacht einstellen.
- pPrt->SetPaperBin( rFormatPage.GetFmt()->
- GetPaperBin().GetValue() );
-
- if (bSetOrient )
- {
- // Orientation einstellen: Breiter als Hoch
- // -> Landscape, sonst -> Portrait.
- if( bLandScp )
- pPrt->SetOrientation(ORIENTATION_LANDSCAPE);
- else
- pPrt->SetOrientation(ORIENTATION_PORTRAIT);
- }
-
- if (bSetPaperSz )
- {
- Size aSize = pStPage->Frm().SSize();
- if ( bLandScp && bSetOrient )
- {
- // landscape is always interpreted as a rotation by 90 degrees !
- // this leads to non WYSIWIG but at least it prints!
- // #i21775#
- long nWidth = aSize.Width();
- aSize.Width() = aSize.Height();
- aSize.Height() = nWidth;
- }
- Paper ePaper = SvxPaperInfo::GetSvxPaper(aSize,MAP_TWIP,TRUE);
- if ( PAPER_USER == ePaper )
- pPrt->SetPaperSizeUser( aSize );
- else
- pPrt->SetPaper( ePaper );
- }
- }
- }
-
- // Wenn PostIts nach Seite gedruckt werden sollen,
- // jedoch Reverse eingestellt ist ...
- if( rOptions.bPrintReverse &&
- rOptions.nPrintPostIts == POSTITS_ENDPAGE )
- lcl_PrintPostItsEndPage( pPostItShell, aPostItFields,
- nPageNo, aMulti, sJobName, bStartJob, nJobStartError,
- rOptions.bPrintRightPage, rOptions.bPrintLeftPage,
- rOptions.bPrintReverse );
-
- if ( pProgress )
- lcl_SetState( *pProgress, nPrintCount++, nSelCount,
- pStr, nMergeAct, nMergeCnt,
- nSelCount, nPageNo );
-
- if( !bStartJob && JOBSET_ERR_DEFAULT == nJobStartError
- && sJobName.Len() )
- {
- if( pPrt && !pPrt->IsJobActive() )
- {
- bStartJob = pPrt->StartJob( sJobName );
- if( !bStartJob )
- {
- nJobStartError = JOBSET_ERR_ERROR;
- continue;
- }
- }
-
- pShell->InitPrt( pPrt, pPDFOut );
-
- ::SetSwVisArea( pShell, pStPage->Frm(), 0 != pPDFOut );
- nJobStartError = JOBSET_ERR_ISSTARTET;
- }
- // --> FME 2005-12-12 #b6354161# Feature - Print empty pages
- if ( rOptions.bPrintEmptyPages || pStPage->Frm().Height() )
- // <--
- {
- if (pPrt)
- pPrt->StartPage();
-
- pStPage->GetUpper()->Paint( pStPage->Frm() );
- ++nPagesPrinted;
-
- if (pPrt)
- pPrt->EndPage();
- }
- SwPaintQueue::Repaint();
-
- // Wenn PostIts nach Seite gedruckt werden sollen ...
- if( (!rOptions.bPrintReverse) &&
- rOptions.nPrintPostIts == POSTITS_ENDPAGE )
- lcl_PrintPostItsEndPage( pPostItShell, aPostItFields,
- nPageNo, aMulti, sJobName, bStartJob, nJobStartError,
- rOptions.bPrintRightPage, rOptions.bPrintLeftPage,
- rOptions.bPrintReverse );
- }
-
- // den eventl. fuer Umschlaege modifizierte OutDevOffset wieder
- // zuruecksetzen.
- if( pStPage->GetFmt()->GetPoolFmtId() == RES_POOLPAGE_JAKET )
- pPrtOrPDFOut->SetMapMode( aOldMapMode );
-
- if ( pStPage == pEndPage )
- {
- // --> FME 2005-01-05 #110536# Print emtpy page if
- // we are have an odd page count in collation/duplex
- // mode and there are still some copies to print:
- if ( pPrt && ( 1 == ( nPagesPrinted % 2 ) ) &&
- DUPLEX_ON == pPrt->GetDuplexMode() &&
- nCnt + 1 < nCopyCnt )
- {
- pPrt->StartPage();
- pPrt->EndPage();
- }
- // <--
-
- pStPage = 0;
- }
- else if ( rOptions.bPrintReverse )
- {
- --nPageNo;
- pStPage = (SwPageFrm*)pStPage->GetPrev();
- }
- else
- { ++nPageNo;
- pStPage = (SwPageFrm*)pStPage->GetNext();
- }
- }
- if ( bStop )
- break;
- }
-
- // Wenn PostIts am Dokumentenende gedruckt werden sollen, dann hier machen
- if( ((rOptions.nPrintPostIts == POSTITS_ENDDOC) && !rOptions.bPrintReverse)
- || (rOptions.nPrintPostIts == POSTITS_ONLY) )
- lcl_PrintPostItsEndDoc( pPostItShell, aPostItFields, aMulti,
- sJobName, bStartJob, nJobStartError,
- rOptions.bPrintRightPage, rOptions.bPrintLeftPage,
- rOptions.bPrintReverse );
-
- if( pPostItShell )
- {
- pPostItDoc->setPrinter( 0, false, false ); //damit am echten DOC der Drucker bleibt
- delete pPostItShell; //Nimmt das PostItDoc mit ins Grab.
- }
-
- if( bStartJob )
- rOptions.bJobStartet = TRUE;
+ Point aNewOrigin = pOutDev->GetMapMode().GetOrigin();
+ aNewOrigin += rPrintData.aOffset;
+ MapMode aTmp( pOutDev->GetMapMode() );
+ aTmp.SetOrigin( aNewOrigin );
+ pOutDev->SetMapMode( aTmp );
}
- }
- delete pStr;
+ pShell->InitPrt( pOutDev );
+ pViewSh2 = nPage == 0 ? /* post-it page? */
+ rPrintData.GetRenderData().m_pPostItShell : pShell;
+ ::SetSwVisArea( pViewSh2, pStPage->Frm() );
+
+ pStPage->GetUpper()->Paint( pStPage->Frm(), &rPrintData );
+
+ SwPaintQueue::Repaint();
} //Zus. Scope wg. CurShell!
delete pShell;
if (bSelection )
{
- // damit das Dokument nicht den Drucker mit ins Grab nimmt
- pPrtDoc->setPrinter( 0, false, false );
-
- if ( !pPrtDoc->release() )
- delete pPrtDoc;
+ if ( !pOutDevDoc->release() )
+ delete pOutDevDoc;
}
- // restore settings of OutputDevicef
- if (pPDFOut)
- pPDFOut->Pop();
+ // restore settings of OutputDevice (should be done always now since the
+ // output device is now provided by a call from outside the Writer)
+ pOutDev->Pop();
- return bStartJob;
+ return sal_True;
}
/******************************************************************************
@@ -1451,7 +1265,7 @@ BOOL ViewShell::Prt( SwPrtOptions& rOptions, SfxProgress* pProgress,
-void ViewShell::PrtOle2( SwDoc *pDoc, const SwViewOption *pOpt, SwPrtOptions& rOptions,
+void ViewShell::PrtOle2( SwDoc *pDoc, const SwViewOption *pOpt, const SwPrintData& rOptions,
OutputDevice* pOleOut, const Rectangle& rRect )
{
//Wir brauchen eine Shell fuer das Drucken. Entweder hat das Doc schon
@@ -1529,52 +1343,6 @@ BOOL ViewShell::IsAnyFieldInDoc() const
/******************************************************************************
- * Klasse : SwPrtOptSave
- * Erstellt : AMA 12.07.95
- * Aenderung : AMA 12.07.95
- * Holt sich im Ctor folgende Einstellungen des Druckers, die im Dtor dann
- * wieder im Drucker gesetzt werden (falls sie sich ueberhaupt geaendert haben)
- * - PaperBin - Orientation - PaperSize -
- ******************************************************************************/
-
-
-
-SwPrtOptSave::SwPrtOptSave( Printer *pPrinter )
- : pPrt( pPrinter )
-{
- if ( pPrt )
- {
- ePaper = pPrt->GetPaper();
- if ( PAPER_USER == ePaper )
- aSize = pPrt->GetPaperSize();
- eOrientation = pPrt->GetOrientation();
- nPaperBin = pPrt->GetPaperBin();
-
- }
-}
-
-
-
-SwPrtOptSave::~SwPrtOptSave()
-{
- if ( pPrt )
- {
- if ( PAPER_USER == ePaper )
- {
- if( pPrt->GetPaperSize() != aSize )
- pPrt->SetPaperSizeUser( aSize );
- }
- else if ( pPrt->GetPaper() != ePaper )
- pPrt->SetPaper( ePaper );
- if ( pPrt->GetOrientation() != eOrientation)
- pPrt->SetOrientation( eOrientation );
- if ( pPrt->GetPaperBin() != nPaperBin )
- pPrt->SetPaperBin( nPaperBin );
- }
-}
-
-
-/******************************************************************************
* SwDrawViewSave
*
* Saves some settings at the draw view
@@ -1600,7 +1368,7 @@ SwDrawViewSave::~SwDrawViewSave()
// OD 09.01.2003 #i6467# - method also called for page preview
-void ViewShell::PrepareForPrint( const SwPrtOptions &rOptions )
+void ViewShell::PrepareForPrint( const SwPrintData &rOptions )
{
// Viewoptions fuer den Drucker setzen
pOpt->SetGraphic ( TRUE == rOptions.bPrintGraphic );