summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore16
-rw-r--r--starmath/CppunitTest_starmath_qa_cppunit.mk113
-rw-r--r--starmath/JunitTest_starmath_unoapi.mk49
-rw-r--r--starmath/Library_sm.mk149
-rw-r--r--starmath/Makefile37
-rw-r--r--starmath/inc/action.hxx2
-rw-r--r--starmath/inc/applicat.hxx25
-rw-r--r--starmath/inc/caret.hxx480
-rw-r--r--starmath/inc/config.hxx2
-rw-r--r--starmath/inc/cursor.hxx482
-rw-r--r--[-rwxr-xr-x]starmath/inc/dialog.hxx72
-rw-r--r--[-rwxr-xr-x]starmath/inc/document.hxx72
-rw-r--r--starmath/inc/edit.hxx20
-rw-r--r--[-rwxr-xr-x]starmath/inc/format.hxx32
-rw-r--r--starmath/inc/node.hxx569
-rw-r--r--[-rwxr-xr-x]starmath/inc/parse.hxx63
-rw-r--r--starmath/inc/pch/precompiled_starmath.cxx2
-rw-r--r--starmath/inc/pch/precompiled_starmath.hxx2
-rw-r--r--starmath/inc/rect.hxx33
-rw-r--r--starmath/inc/smdll.hxx22
-rw-r--r--starmath/inc/smmod.hxx8
-rwxr-xr-xstarmath/inc/starmath.hrc21
-rw-r--r--starmath/inc/symbol.hxx24
-rw-r--r--starmath/inc/toolbox.hxx8
-rw-r--r--starmath/inc/types.hxx10
-rw-r--r--starmath/inc/unomodel.hxx2
-rw-r--r--starmath/inc/utility.hxx128
-rw-r--r--starmath/inc/view.hxx69
-rw-r--r--starmath/inc/visitors.hxx499
-rw-r--r--starmath/prj/build.lst4
-rw-r--r--starmath/qa/cppunit/test_nodetotextvisitors.cxx683
-rw-r--r--starmath/qa/cppunit/test_starmath.cxx450
-rwxr-xr-xstarmath/sdi/smath.sdi2
-rwxr-xr-xstarmath/sdi/smslots.sdi2
-rw-r--r--starmath/source/accessibility.cxx304
-rw-r--r--starmath/source/accessibility.hxx13
-rw-r--r--starmath/source/action.cxx2
-rw-r--r--starmath/source/caret.cxx66
-rw-r--r--starmath/source/cfgitem.cxx209
-rw-r--r--starmath/source/cfgitem.hxx70
-rw-r--r--[-rwxr-xr-x]starmath/source/config.cxx6
-rw-r--r--starmath/source/cursor.cxx1646
-rw-r--r--[-rwxr-xr-x]starmath/source/dialog.cxx325
-rw-r--r--[-rwxr-xr-x]starmath/source/document.cxx168
-rw-r--r--starmath/source/edit.cxx161
-rw-r--r--starmath/source/eqnolefilehdr.cxx28
-rw-r--r--starmath/source/eqnolefilehdr.hxx26
-rw-r--r--starmath/source/format.cxx26
-rw-r--r--starmath/source/math_pch.cxx430
-rw-r--r--[-rwxr-xr-x]starmath/source/mathmlexport.cxx143
-rw-r--r--starmath/source/mathmlexport.hxx3
-rw-r--r--[-rwxr-xr-x]starmath/source/mathmlimport.cxx284
-rw-r--r--[-rwxr-xr-x]starmath/source/mathmlimport.hxx3
-rw-r--r--starmath/source/mathtype.cxx267
-rw-r--r--starmath/source/mathtype.hxx15
-rw-r--r--[-rwxr-xr-x]starmath/source/node.cxx645
-rw-r--r--[-rwxr-xr-x]starmath/source/parse.cxx351
-rw-r--r--starmath/source/rect.cxx180
-rw-r--r--starmath/source/smdetect.cxx35
-rw-r--r--starmath/source/smdetect.hxx5
-rw-r--r--starmath/source/smdll.cxx115
-rw-r--r--[-rwxr-xr-x]starmath/source/smmod.cxx19
-rw-r--r--[-rwxr-xr-x]starmath/source/smres.src103
-rw-r--r--starmath/source/symbol.cxx64
-rw-r--r--starmath/source/symbol.src11
-rw-r--r--starmath/source/toolbox.cxx91
-rw-r--r--[-rwxr-xr-x]starmath/source/toolbox.src60
-rw-r--r--starmath/source/typemap.cxx16
-rw-r--r--starmath/source/types.cxx5
-rw-r--r--starmath/source/unodoc.cxx15
-rw-r--r--[-rwxr-xr-x]starmath/source/unomodel.cxx123
-rw-r--r--starmath/source/utility.cxx25
-rw-r--r--[-rwxr-xr-x]starmath/source/view.cxx440
-rw-r--r--starmath/source/visitors.cxx2541
-rwxr-xr-xstarmath/uiconfig/smath/menubar/menubar.xml4
-rw-r--r--starmath/uiconfig/smath/statusbar/statusbar.xml2
-rw-r--r--starmath/visual-editor-todo43
-rwxr-xr-xstarmath/workben/smath-dump-watch.sh26
-rw-r--r--sw/AllLangResTarget_sw.mk53
-rw-r--r--sw/CppunitTest_sw_swdoc_test.mk117
-rw-r--r--sw/CppunitTest_sw_test_filters.mk97
-rwxr-xr-xsw/JunitTest_sw_complex.mk13
-rwxr-xr-xsw/JunitTest_sw_unoapi.mk6
-rw-r--r--sw/Library_msword.mk27
-rw-r--r--sw/Library_sw.mk25
-rw-r--r--sw/Library_swd.mk11
-rw-r--r--sw/Library_swui.mk15
-rw-r--r--sw/Library_vbaswobj.mk39
-rw-r--r--sw/Module_sw.mk5
-rw-r--r--sw/Package_uiconfig.mk1
-rw-r--r--sw/inc/AnnotationWin.hxx7
-rw-r--r--sw/inc/EnhancedPDFExportHelper.hxx3
-rw-r--r--sw/inc/HandleAnchorNodeChg.hxx4
-rw-r--r--sw/inc/IDocumentChartDataProviderAccess.hxx2
-rw-r--r--sw/inc/IDocumentContentOperations.hxx85
-rw-r--r--[-rwxr-xr-x]sw/inc/IDocumentDeviceAccess.hxx3
-rw-r--r--sw/inc/IDocumentDrawModelAccess.hxx7
-rw-r--r--sw/inc/IDocumentExternalData.hxx7
-rw-r--r--sw/inc/IDocumentFieldsAccess.hxx61
-rw-r--r--sw/inc/IDocumentLayoutAccess.hxx3
-rw-r--r--sw/inc/IDocumentLineNumberAccess.hxx2
-rw-r--r--sw/inc/IDocumentLinksAdministration.hxx25
-rw-r--r--sw/inc/IDocumentListItems.hxx3
-rw-r--r--sw/inc/IDocumentListsAccess.hxx7
-rw-r--r--sw/inc/IDocumentMarkAccess.hxx3
-rw-r--r--sw/inc/IDocumentOutlineNodes.hxx3
-rw-r--r--sw/inc/IDocumentRedlineAccess.hxx80
-rw-r--r--sw/inc/IDocumentSettingAccess.hxx17
-rw-r--r--sw/inc/IDocumentState.hxx27
-rw-r--r--sw/inc/IDocumentStatistics.hxx13
-rw-r--r--sw/inc/IDocumentStylePoolAccess.hxx22
-rw-r--r--sw/inc/IDocumentTimerAccess.hxx3
-rw-r--r--sw/inc/IDocumentUndoRedo.hxx4
-rw-r--r--sw/inc/IGrammarContact.hxx2
-rw-r--r--sw/inc/IInterface.hxx3
-rw-r--r--sw/inc/IMark.hxx12
-rw-r--r--sw/inc/PostItMgr.hxx35
-rw-r--r--sw/inc/RefreshListenerContainer.hxx3
-rw-r--r--sw/inc/SidebarWin.hxx37
-rw-r--r--sw/inc/SidebarWindowsTypes.hxx7
-rw-r--r--sw/inc/SwAppletImpl.hxx7
-rw-r--r--sw/inc/SwCapObjType.hxx3
-rw-r--r--sw/inc/SwGetPoolIdFromName.hxx3
-rw-r--r--sw/inc/SwNodeNum.hxx19
-rw-r--r--sw/inc/SwNumberTree.hxx78
-rw-r--r--sw/inc/SwNumberTreeTypes.hxx3
-rw-r--r--sw/inc/SwRewriter.hxx14
-rw-r--r--sw/inc/SwSmartTagMgr.hxx10
-rw-r--r--sw/inc/SwStyleNameMapper.hxx11
-rw-r--r--sw/inc/SwUndoField.hxx3
-rw-r--r--sw/inc/SwXMLSectionList.hxx4
-rw-r--r--sw/inc/TextCursorHelper.hxx2
-rw-r--r--sw/inc/accessibilityoptions.hxx2
-rw-r--r--sw/inc/accmap.hxx46
-rw-r--r--sw/inc/acmplwrd.hxx9
-rw-r--r--sw/inc/anchoreddrawobject.hxx45
-rw-r--r--sw/inc/anchoredobject.hxx123
-rw-r--r--sw/inc/authfld.hxx31
-rw-r--r--sw/inc/authratr.hxx3
-rw-r--r--sw/inc/bparr.hxx52
-rw-r--r--sw/inc/breakit.hxx2
-rw-r--r--sw/inc/calbck.hxx7
-rw-r--r--sw/inc/calc.hxx89
-rw-r--r--sw/inc/ccoll.hxx9
-rw-r--r--sw/inc/cellatr.hxx19
-rw-r--r--sw/inc/cellfml.hxx42
-rw-r--r--sw/inc/charatr.hxx15
-rw-r--r--sw/inc/charfmt.hxx6
-rw-r--r--sw/inc/chcmprse.hxx6
-rw-r--r--sw/inc/checkit.hxx4
-rw-r--r--sw/inc/chpfld.hxx32
-rw-r--r--sw/inc/chrdlg.hrc5
-rw-r--r--sw/inc/cmdid.h1022
-rw-r--r--sw/inc/colwd.hxx5
-rw-r--r--sw/inc/comcore.hrc16
-rw-r--r--sw/inc/crsrsh.hxx436
-rw-r--r--sw/inc/crsskip.hxx3
-rw-r--r--sw/inc/crstate.hxx63
-rw-r--r--sw/inc/cshtyp.hxx44
-rw-r--r--sw/inc/dbfld.hxx81
-rw-r--r--sw/inc/dbgoutsw.hxx17
-rw-r--r--sw/inc/dbmgr.hxx51
-rw-r--r--sw/inc/dbui.hrc4
-rw-r--r--sw/inc/dcontact.hxx152
-rw-r--r--sw/inc/ddefld.hxx17
-rw-r--r--sw/inc/dialog.hrc2
-rw-r--r--sw/inc/dlelstnr.hxx2
-rw-r--r--sw/inc/dobjfac.hxx2
-rw-r--r--sw/inc/doc.hxx741
-rw-r--r--sw/inc/docary.hxx19
-rw-r--r--sw/inc/docfac.hxx4
-rw-r--r--sw/inc/docsh.hxx95
-rw-r--r--sw/inc/docstat.hxx4
-rw-r--r--sw/inc/docstyle.hxx29
-rw-r--r--sw/inc/docufld.hxx198
-rw-r--r--sw/inc/dpage.hxx4
-rw-r--r--sw/inc/drawdoc.hxx14
-rw-r--r--sw/inc/edglbldc.hxx7
-rw-r--r--sw/inc/edimp.hxx7
-rw-r--r--sw/inc/editsh.hxx510
-rw-r--r--sw/inc/envelp.hrc7
-rw-r--r--sw/inc/errhdl.hxx76
-rw-r--r--sw/inc/error.h50
-rw-r--r--sw/inc/expfld.hxx115
-rw-r--r--sw/inc/extinput.hxx2
-rw-r--r--sw/inc/fchrfmt.hxx10
-rw-r--r--sw/inc/fesh.hxx377
-rw-r--r--sw/inc/fldbas.hxx139
-rw-r--r--sw/inc/flddat.hxx22
-rw-r--r--sw/inc/flddropdown.hxx7
-rw-r--r--sw/inc/fldinit.hxx7
-rw-r--r--sw/inc/fldui.hrc28
-rw-r--r--sw/inc/fldupde.hxx3
-rw-r--r--sw/inc/flyenum.hxx19
-rw-r--r--sw/inc/flypos.hxx15
-rw-r--r--sw/inc/fmtanchr.hxx24
-rw-r--r--sw/inc/fmtautofmt.hxx6
-rw-r--r--sw/inc/fmtclbl.hxx4
-rw-r--r--sw/inc/fmtclds.hxx99
-rw-r--r--sw/inc/fmtcnct.hxx13
-rw-r--r--sw/inc/fmtcntnt.hxx9
-rw-r--r--sw/inc/fmtcol.hxx103
-rw-r--r--sw/inc/fmtcolfunc.hxx9
-rw-r--r--sw/inc/fmteiro.hxx4
-rw-r--r--sw/inc/fmtflcnt.hxx16
-rw-r--r--sw/inc/fmtfld.hxx16
-rw-r--r--sw/inc/fmtfollowtextflow.hxx4
-rw-r--r--sw/inc/fmtfordr.hxx5
-rw-r--r--sw/inc/fmtfsize.hxx50
-rw-r--r--sw/inc/fmtftn.hxx16
-rw-r--r--sw/inc/fmtftntx.hxx15
-rw-r--r--sw/inc/fmthdft.hxx19
-rw-r--r--sw/inc/fmtinfmt.hxx24
-rw-r--r--sw/inc/fmtline.hxx12
-rw-r--r--sw/inc/fmtlsplt.hxx4
-rw-r--r--[-rwxr-xr-x]sw/inc/fmtmeta.hxx2
-rw-r--r--sw/inc/fmtornt.hxx23
-rw-r--r--sw/inc/fmtpdsc.hxx26
-rw-r--r--sw/inc/fmtrfmrk.hxx10
-rw-r--r--sw/inc/fmtrowsplt.hxx4
-rw-r--r--sw/inc/fmtruby.hxx20
-rw-r--r--sw/inc/fmtsrnd.hxx15
-rw-r--r--sw/inc/fmtsrndenum.hxx3
-rw-r--r--sw/inc/fmtui.hrc2
-rw-r--r--sw/inc/fmturl.hxx20
-rw-r--r--sw/inc/fmtwrapinfluenceonobjpos.hxx13
-rw-r--r--sw/inc/format.hxx124
-rw-r--r--sw/inc/frmatr.hxx19
-rw-r--r--sw/inc/frmfmt.hxx102
-rw-r--r--sw/inc/ftnidx.hxx12
-rw-r--r--sw/inc/ftninfo.hxx7
-rw-r--r--sw/inc/globals.hrc15
-rw-r--r--sw/inc/globdoc.hxx2
-rw-r--r--sw/inc/grfatr.hxx59
-rw-r--r--sw/inc/helpid.h19
-rw-r--r--sw/inc/hfspacingitem.hxx4
-rw-r--r--sw/inc/hhcwrp.hxx3
-rw-r--r--sw/inc/hintids.hxx121
-rw-r--r--sw/inc/hints.hxx105
-rw-r--r--sw/inc/htmltbl.hxx186
-rw-r--r--sw/inc/index.hrc2
-rw-r--r--sw/inc/index.hxx33
-rw-r--r--sw/inc/inetfld.hxx22
-rw-r--r--sw/inc/init.hxx3
-rw-r--r--sw/inc/io.hxx52
-rw-r--r--sw/inc/iodetect.hxx33
-rw-r--r--sw/inc/istyleaccess.hxx3
-rw-r--r--sw/inc/itabenum.hxx4
-rw-r--r--sw/inc/lineinfo.hxx2
-rw-r--r--sw/inc/linkenum.hxx2
-rw-r--r--sw/inc/list.hxx7
-rw-r--r--sw/inc/listfunc.hxx3
-rw-r--r--sw/inc/mdiexp.hxx9
-rw-r--r--sw/inc/modcfg.hxx28
-rw-r--r--sw/inc/modeltoviewhelper.hxx3
-rw-r--r--sw/inc/ndarr.hxx129
-rw-r--r--sw/inc/ndgrf.hxx67
-rw-r--r--sw/inc/ndhints.hxx47
-rw-r--r--sw/inc/ndindex.hxx29
-rw-r--r--sw/inc/ndnotxt.hxx25
-rw-r--r--sw/inc/ndole.hxx35
-rw-r--r--sw/inc/ndtxt.hxx152
-rw-r--r--sw/inc/ndtyp.hxx17
-rw-r--r--sw/inc/newhdl.hxx4
-rw-r--r--sw/inc/node.hxx175
-rw-r--r--sw/inc/numrule.hxx100
-rw-r--r--sw/inc/pagedesc.hxx104
-rw-r--r--sw/inc/pageiter.hxx2
-rw-r--r--sw/inc/pagepreviewlayout.hxx65
-rw-r--r--sw/inc/pam.hxx50
-rw-r--r--sw/inc/paratr.hxx59
-rw-r--r--sw/inc/pausethreadstarting.hxx5
-rw-r--r--sw/inc/pch/precompiled_sw.cxx2
-rw-r--r--[-rwxr-xr-x]sw/inc/pch/precompiled_sw.hxx12
-rw-r--r--sw/inc/poolfmt.awk10
-rw-r--r--sw/inc/poolfmt.hxx498
-rw-r--r--sw/inc/postithelper.hxx24
-rw-r--r--sw/inc/printdata.hxx12
-rw-r--r--sw/inc/prtopt.hxx2
-rw-r--r--sw/inc/pvprtdat.hxx2
-rw-r--r--sw/inc/rcid.hrc9
-rw-r--r--sw/inc/redline.hxx50
-rw-r--r--sw/inc/redlnaut.hxx3
-rw-r--r--sw/inc/reffld.hxx39
-rw-r--r--sw/inc/ring.hxx5
-rw-r--r--sw/inc/rubylist.hxx3
-rw-r--r--sw/inc/section.hxx116
-rw-r--r--sw/inc/shellid.hxx8
-rw-r--r--sw/inc/shellio.hxx208
-rw-r--r--sw/inc/shellres.hxx42
-rw-r--r--sw/inc/sortopt.hxx7
-rw-r--r--sw/inc/splargs.hxx5
-rw-r--r--sw/inc/stringhash.hxx3
-rw-r--r--sw/inc/sw_primitivetypes2d.hxx5
-rw-r--r--sw/inc/swabstdlg.hxx17
-rw-r--r--sw/inc/swacorr.hxx11
-rw-r--r--sw/inc/swatrset.hxx53
-rw-r--r--sw/inc/swbaslnk.hxx10
-rw-r--r--sw/inc/swcalwrp.hxx2
-rw-r--r--sw/inc/swcli.hxx5
-rw-r--r--sw/inc/swcommands.h3
-rw-r--r--sw/inc/swcrsr.hxx39
-rw-r--r--sw/inc/swdbdata.hxx2
-rw-r--r--sw/inc/swdbtoolsclient.hxx6
-rw-r--r--sw/inc/swddetbl.hxx8
-rw-r--r--sw/inc/swddllapi.h3
-rw-r--r--sw/inc/swdll.hxx39
-rw-r--r--sw/inc/swdllapi.h3
-rw-r--r--sw/inc/swerror.h14
-rw-r--r--sw/inc/swevent.hxx10
-rw-r--r--sw/inc/swfltopt.hxx3
-rw-r--r--sw/inc/swgstr.hxx68
-rw-r--r--sw/inc/swhints.hxx3
-rw-r--r--[-rwxr-xr-x]sw/inc/switerator.hxx4
-rw-r--r--sw/inc/swmodule.hxx67
-rw-r--r--sw/inc/swrect.hxx39
-rw-r--r--sw/inc/swregion.hxx13
-rw-r--r--sw/inc/swserv.hxx2
-rw-r--r--sw/inc/swstyle.h2
-rw-r--r--sw/inc/swtable.hxx137
-rw-r--r--sw/inc/swtblfmt.hxx11
-rw-r--r--sw/inc/swtypes.hxx259
-rw-r--r--sw/inc/swundo.hxx20
-rw-r--r--sw/inc/swunodef.hxx3
-rw-r--r--sw/inc/swunohelper.hxx3
-rw-r--r--sw/inc/swurl.hxx3
-rw-r--r--sw/inc/swwait.hxx3
-rw-r--r--sw/inc/tabcol.hxx38
-rw-r--r--sw/inc/tblafmt.hxx32
-rw-r--r--sw/inc/tblenum.hxx33
-rw-r--r--sw/inc/tblsel.hxx78
-rw-r--r--sw/inc/tgrditem.hxx8
-rw-r--r--sw/inc/tox.hxx69
-rw-r--r--sw/inc/toxe.hxx4
-rw-r--r--sw/inc/toxinit.hxx3
-rw-r--r--sw/inc/toxwrap.hxx3
-rw-r--r--sw/inc/txatbase.hxx28
-rw-r--r--sw/inc/txatritr.hxx3
-rw-r--r--sw/inc/txtatr.hxx12
-rw-r--r--sw/inc/txtflcnt.hxx8
-rw-r--r--sw/inc/txtfld.hxx6
-rw-r--r--sw/inc/txtftn.hxx17
-rw-r--r--sw/inc/txtinet.hxx4
-rw-r--r--sw/inc/txtrfmrk.hxx6
-rw-r--r--sw/inc/txttxmrk.hxx6
-rw-r--r--sw/inc/undobj.hxx65
-rw-r--r--sw/inc/unoatxt.hxx11
-rw-r--r--sw/inc/unobaseclass.hxx21
-rw-r--r--sw/inc/unobookmark.hxx30
-rw-r--r--sw/inc/unochart.hxx2
-rw-r--r--sw/inc/unocoll.hxx45
-rw-r--r--sw/inc/unocrsr.hxx21
-rw-r--r--sw/inc/unocrsrhelper.hxx9
-rw-r--r--sw/inc/unodraw.hxx53
-rw-r--r--sw/inc/unoevent.hxx3
-rw-r--r--sw/inc/unoevtlstnr.hxx9
-rw-r--r--sw/inc/unofield.hxx9
-rw-r--r--sw/inc/unoflatpara.hxx3
-rw-r--r--sw/inc/unofootnote.hxx6
-rw-r--r--sw/inc/unoframe.hxx13
-rw-r--r--sw/inc/unoidx.hxx12
-rw-r--r--sw/inc/unomailmerge.hxx5
-rw-r--r--sw/inc/unomap.hxx25
-rw-r--r--sw/inc/unomid.h9
-rw-r--r--sw/inc/unomod.hxx37
-rw-r--r--sw/inc/unoparaframeenum.hxx9
-rw-r--r--sw/inc/unoparagraph.hxx8
-rw-r--r--sw/inc/unoport.hxx12
-rw-r--r--sw/inc/unoprnms.hxx74
-rw-r--r--sw/inc/unoredline.hxx11
-rw-r--r--sw/inc/unoredlines.hxx6
-rw-r--r--sw/inc/unorefmark.hxx6
-rw-r--r--sw/inc/unosection.hxx6
-rw-r--r--sw/inc/unosett.hxx31
-rw-r--r--sw/inc/unosrch.hxx6
-rw-r--r--sw/inc/unostyle.hxx51
-rw-r--r--sw/inc/unotbl.hxx49
-rw-r--r--sw/inc/unotext.hxx5
-rw-r--r--sw/inc/unotextbodyhf.hxx5
-rw-r--r--sw/inc/unotextcursor.hxx2
-rw-r--r--sw/inc/unotextmarkup.hxx2
-rw-r--r--sw/inc/unotextrange.hxx9
-rw-r--r--sw/inc/unotxdoc.hxx16
-rw-r--r--sw/inc/usrfld.hxx23
-rw-r--r--sw/inc/viewopt.hxx119
-rw-r--r--sw/inc/viewsh.hxx236
-rw-r--r--sw/inc/viscrs.hxx51
-rw-r--r--sw/inc/wdocsh.hxx6
-rw-r--r--sw/prj/build.lst2
-rw-r--r--[-rwxr-xr-x]sw/qa/complex/checkColor/CheckChangeColor.java0
-rw-r--r--[-rwxr-xr-x]sw/qa/complex/indeterminateState/CheckIndeterminateState.java0
-rw-r--r--[-rwxr-xr-x]sw/qa/complex/writer/CheckIndexedPropertyValues.java0
-rw-r--r--[-rwxr-xr-x]sw/qa/complex/writer/CheckNamedPropertyValues.java0
-rw-r--r--[-rwxr-xr-x]sw/qa/complex/writer/TextPortionEnumerationTest.java0
-rw-r--r--[-rwxr-xr-x]sw/qa/complex/writer/testdocuments/TESTMETA.odtbin8678 -> 8678 bytes
-rw-r--r--sw/qa/core/Test-BigPtrArray.cxx207
-rw-r--r--sw/qa/core/bigpointerarray-new.cxx15
-rw-r--r--sw/qa/core/bigpointerarray-new.hxx5
-rw-r--r--sw/qa/core/data/rtf/fail/.gitignore0
-rw-r--r--sw/qa/core/data/rtf/fail/CVE-2010-3451-1.rtf2072
-rw-r--r--sw/qa/core/data/rtf/pass/.gitignore0
-rw-r--r--sw/qa/core/data/rtf/pass/CVE-2007-0245-1.rtf21
-rw-r--r--sw/qa/core/data/rtf/pass/CVE-2010-3452-1.rtf1
-rw-r--r--sw/qa/core/data/ww8/fail/.gitignore0
-rw-r--r--sw/qa/core/data/ww8/pass/.gitignore0
-rw-r--r--sw/qa/core/data/ww8/pass/CVE-2009-0200-1.docbin0 -> 8192 bytes
-rw-r--r--sw/qa/core/data/ww8/pass/CVE-2009-0201-1.docbin0 -> 8192 bytes
-rw-r--r--sw/qa/core/data/ww8/pass/CVE-2009-3301-1.docbin0 -> 27648 bytes
-rw-r--r--sw/qa/core/data/ww8/pass/CVE-2009-3302-1.docbin0 -> 27648 bytes
-rw-r--r--sw/qa/core/data/ww8/pass/CVE-2009-3302-2.docbin0 -> 27648 bytes
-rw-r--r--sw/qa/core/data/ww8/pass/CVE-2010-3453-1.docbin0 -> 126464 bytes
-rw-r--r--sw/qa/core/data/ww8/pass/CVE-2010-3454-1.docbin0 -> 126464 bytes
-rw-r--r--sw/qa/core/data/xml/fail/.gitignore0
-rw-r--r--sw/qa/core/data/xml/fail/CVE-2006-3117-1.sxwbin0 -> 441416 bytes
-rw-r--r--sw/qa/core/data/xml/pass/.gitignore0
-rw-r--r--sw/qa/core/export.exp1
-rw-r--r--sw/qa/core/export.map34
-rw-r--r--sw/qa/core/filters-test.cxx256
-rw-r--r--sw/qa/core/swdoc-test.cxx230
-rw-r--r--sw/qa/unoapi/Test.java52
-rw-r--r--sw/qa/unoapi/knownissues.xcl3
-rw-r--r--[-rwxr-xr-x]sw/sdi/_annotsh.sdi0
-rw-r--r--sw/sdi/_basesh.sdi10
-rw-r--r--sw/sdi/_frmsh.sdi17
-rw-r--r--sw/sdi/_grfsh.sdi5
-rw-r--r--sw/sdi/_navsh.sdi49
-rw-r--r--sw/sdi/_textsh.sdi13
-rw-r--r--[-rwxr-xr-x]sw/sdi/annotsh.sdi7
-rw-r--r--sw/sdi/drwtxtsh.sdi6
-rw-r--r--sw/sdi/navsh.sdi35
-rw-r--r--sw/sdi/swinterf.c2
-rw-r--r--sw/sdi/swriter.sdi151
-rw-r--r--sw/sdi/swslots.sdi2
-rw-r--r--sw/sdi/textsh.sdi30
-rw-r--r--sw/source/core/SwNumberTree/SwNodeNum.cxx194
-rw-r--r--sw/source/core/SwNumberTree/SwNumberTree.cxx274
-rw-r--r--sw/source/core/access/acccell.cxx75
-rw-r--r--sw/source/core/access/acccell.hxx2
-rw-r--r--sw/source/core/access/acccontext.cxx334
-rw-r--r--sw/source/core/access/acccontext.hxx51
-rw-r--r--sw/source/core/access/accdoc.cxx63
-rw-r--r--sw/source/core/access/accdoc.hxx6
-rw-r--r--sw/source/core/access/accembedded.cxx19
-rw-r--r--sw/source/core/access/accembedded.hxx3
-rw-r--r--sw/source/core/access/accfootnote.cxx28
-rw-r--r--sw/source/core/access/accfootnote.hxx2
-rw-r--r--sw/source/core/access/accframe.cxx15
-rw-r--r--sw/source/core/access/accframe.hxx5
-rw-r--r--sw/source/core/access/accframebase.cxx35
-rw-r--r--sw/source/core/access/accframebase.hxx3
-rw-r--r--sw/source/core/access/accfrmobj.cxx12
-rw-r--r--sw/source/core/access/accfrmobj.hxx8
-rw-r--r--sw/source/core/access/accfrmobjmap.cxx11
-rw-r--r--sw/source/core/access/accfrmobjmap.hxx2
-rw-r--r--sw/source/core/access/accfrmobjslist.cxx14
-rw-r--r--sw/source/core/access/accfrmobjslist.hxx3
-rw-r--r--sw/source/core/access/accgraphic.cxx20
-rw-r--r--sw/source/core/access/accgraphic.hxx3
-rw-r--r--sw/source/core/access/accheaderfooter.cxx30
-rw-r--r--sw/source/core/access/accheaderfooter.hxx4
-rw-r--r--sw/source/core/access/acchyperlink.cxx16
-rw-r--r--sw/source/core/access/acchyperlink.hxx6
-rw-r--r--sw/source/core/access/acchypertextdata.cxx3
-rw-r--r--sw/source/core/access/acchypertextdata.hxx2
-rw-r--r--sw/source/core/access/accmap.cxx355
-rw-r--r--sw/source/core/access/accnotextframe.cxx41
-rw-r--r--sw/source/core/access/accnotextframe.hxx11
-rw-r--r--sw/source/core/access/accpage.cxx44
-rw-r--r--sw/source/core/access/accpage.hxx4
-rw-r--r--sw/source/core/access/accpara.cxx338
-rw-r--r--sw/source/core/access/accpara.hxx51
-rw-r--r--sw/source/core/access/accportions.cxx117
-rw-r--r--sw/source/core/access/accportions.hxx5
-rw-r--r--sw/source/core/access/accpreview.cxx30
-rw-r--r--sw/source/core/access/accpreview.hxx2
-rw-r--r--sw/source/core/access/accselectionhelper.cxx41
-rw-r--r--sw/source/core/access/accselectionhelper.hxx4
-rw-r--r--sw/source/core/access/acctable.cxx244
-rw-r--r--sw/source/core/access/acctable.hxx15
-rw-r--r--sw/source/core/access/acctextframe.cxx47
-rw-r--r--sw/source/core/access/acctextframe.hxx10
-rw-r--r--sw/source/core/access/parachangetrackinginfo.cxx20
-rw-r--r--sw/source/core/access/parachangetrackinginfo.hxx5
-rw-r--r--sw/source/core/access/textmarkuphelper.cxx24
-rw-r--r--sw/source/core/access/textmarkuphelper.hxx14
-rw-r--r--sw/source/core/attr/calbck.cxx21
-rw-r--r--sw/source/core/attr/cellatr.cxx11
-rw-r--r--sw/source/core/attr/fmtfollowtextflow.cxx3
-rw-r--r--sw/source/core/attr/fmtwrapinfluenceonobjpos.cxx38
-rw-r--r--sw/source/core/attr/format.cxx43
-rw-r--r--sw/source/core/attr/hints.cxx44
-rw-r--r--sw/source/core/attr/swatrset.cxx35
-rw-r--r--sw/source/core/bastyp/SwSmartTagMgr.cxx22
-rw-r--r--sw/source/core/bastyp/bparr.cxx24
-rw-r--r--sw/source/core/bastyp/breakit.cxx20
-rw-r--r--sw/source/core/bastyp/calc.cxx190
-rw-r--r--sw/source/core/bastyp/checkit.cxx4
-rw-r--r--sw/source/core/bastyp/index.cxx174
-rw-r--r--sw/source/core/bastyp/init.cxx134
-rw-r--r--sw/source/core/bastyp/ring.cxx17
-rw-r--r--sw/source/core/bastyp/swcache.cxx183
-rw-r--r--sw/source/core/bastyp/swrect.cxx38
-rw-r--r--sw/source/core/bastyp/swregion.cxx15
-rw-r--r--sw/source/core/bastyp/swtypes.cxx2
-rw-r--r--sw/source/core/bastyp/tabcol.cxx11
-rw-r--r--sw/source/core/crsr/BlockCursor.cxx2
-rw-r--r--sw/source/core/crsr/BlockCursor.hxx3
-rw-r--r--sw/source/core/crsr/IBlockCursor.hxx2
-rw-r--r--sw/source/core/crsr/bookmrk.cxx52
-rw-r--r--sw/source/core/crsr/callnk.cxx100
-rw-r--r--sw/source/core/crsr/callnk.hxx3
-rw-r--r--sw/source/core/crsr/crbm.cxx7
-rw-r--r--sw/source/core/crsr/crossrefbookmark.cxx10
-rw-r--r--sw/source/core/crsr/crsrsh.cxx187
-rw-r--r--sw/source/core/crsr/crstrvl.cxx43
-rw-r--r--sw/source/core/crsr/crstrvl1.cxx2
-rw-r--r--sw/source/core/crsr/findattr.cxx55
-rw-r--r--sw/source/core/crsr/findcoll.cxx2
-rw-r--r--sw/source/core/crsr/findfmt.cxx2
-rw-r--r--sw/source/core/crsr/findtxt.cxx10
-rw-r--r--sw/source/core/crsr/pam.cxx129
-rw-r--r--sw/source/core/crsr/paminit.cxx3
-rw-r--r--[-rwxr-xr-x]sw/source/core/crsr/swcrsr.cxx105
-rw-r--r--sw/source/core/crsr/trvlcol.cxx2
-rw-r--r--sw/source/core/crsr/trvlfnfl.cxx2
-rw-r--r--sw/source/core/crsr/trvlreg.cxx2
-rw-r--r--sw/source/core/crsr/trvltbl.cxx24
-rw-r--r--sw/source/core/crsr/unocrsr.cxx12
-rw-r--r--sw/source/core/crsr/viscrs.cxx344
-rw-r--r--sw/source/core/doc/SwStyleNameMapper.cxx29
-rw-r--r--sw/source/core/doc/acmplwrd.cxx81
-rw-r--r--sw/source/core/doc/dbgoutsw.cxx14
-rw-r--r--sw/source/core/doc/doc.cxx238
-rw-r--r--sw/source/core/doc/docbasic.cxx18
-rw-r--r--sw/source/core/doc/docbm.cxx70
-rw-r--r--sw/source/core/doc/docchart.cxx9
-rw-r--r--sw/source/core/doc/doccomp.cxx121
-rw-r--r--sw/source/core/doc/doccorr.cxx2
-rw-r--r--sw/source/core/doc/docdde.cxx4
-rw-r--r--sw/source/core/doc/docdesc.cxx107
-rw-r--r--sw/source/core/doc/docdraw.cxx168
-rw-r--r--sw/source/core/doc/docedt.cxx98
-rw-r--r--sw/source/core/doc/docfld.cxx191
-rw-r--r--sw/source/core/doc/docfly.cxx76
-rw-r--r--sw/source/core/doc/docfmt.cxx171
-rw-r--r--sw/source/core/doc/docftn.cxx18
-rw-r--r--sw/source/core/doc/docglbl.cxx542
-rw-r--r--sw/source/core/doc/docglos.cxx14
-rw-r--r--sw/source/core/doc/doclay.cxx214
-rw-r--r--sw/source/core/doc/doclay.cxx.rej7
-rw-r--r--sw/source/core/doc/docnew.cxx189
-rw-r--r--sw/source/core/doc/docnum.cxx522
-rw-r--r--sw/source/core/doc/docredln.cxx180
-rw-r--r--sw/source/core/doc/docruby.cxx32
-rw-r--r--sw/source/core/doc/docsort.cxx74
-rw-r--r--sw/source/core/doc/docstat.cxx4
-rw-r--r--sw/source/core/doc/doctxm.cxx147
-rw-r--r--sw/source/core/doc/docxforms.cxx17
-rw-r--r--sw/source/core/doc/extinput.cxx7
-rw-r--r--sw/source/core/doc/fmtcol.cxx62
-rw-r--r--sw/source/core/doc/ftnidx.cxx2
-rw-r--r--sw/source/core/doc/gctable.cxx5
-rw-r--r--sw/source/core/doc/htmltbl.cxx138
-rw-r--r--sw/source/core/doc/lineinfo.cxx6
-rw-r--r--sw/source/core/doc/list.cxx14
-rw-r--r--sw/source/core/doc/notxtfrm.cxx115
-rw-r--r--sw/source/core/doc/number.cxx452
-rw-r--r--sw/source/core/doc/poolfmt.cxx247
-rw-r--r--sw/source/core/doc/sortopt.cxx13
-rw-r--r--sw/source/core/doc/swserv.cxx20
-rw-r--r--sw/source/core/doc/swstylemanager.cxx13
-rw-r--r--sw/source/core/doc/swstylemanager.hxx7
-rw-r--r--[-rwxr-xr-x]sw/source/core/doc/tblafmt.cxx34
-rw-r--r--sw/source/core/doc/tblcpy.cxx38
-rw-r--r--sw/source/core/doc/tblrwcl.cxx155
-rw-r--r--sw/source/core/doc/visiturl.cxx2
-rw-r--r--sw/source/core/docnode/cancellablejob.cxx3
-rw-r--r--sw/source/core/docnode/cancellablejob.hxx3
-rw-r--r--sw/source/core/docnode/finalthreadmanager.cxx62
-rw-r--r--sw/source/core/docnode/ndcopy.cxx119
-rw-r--r--sw/source/core/docnode/ndindex.cxx14
-rwxr-xr-xsw/source/core/docnode/ndnotxt.cxx38
-rw-r--r--sw/source/core/docnode/ndnum.cxx89
-rw-r--r--sw/source/core/docnode/ndsect.cxx74
-rw-r--r--sw/source/core/docnode/ndtbl.cxx355
-rw-r--r--sw/source/core/docnode/ndtbl1.cxx43
-rw-r--r--sw/source/core/docnode/node.cxx115
-rw-r--r--sw/source/core/docnode/node2lay.cxx34
-rw-r--r--sw/source/core/docnode/nodes.cxx200
-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.cxx6
-rw-r--r--sw/source/core/docnode/retrieveinputstream.cxx9
-rw-r--r--sw/source/core/docnode/retrieveinputstreamconsumer.cxx4
-rw-r--r--sw/source/core/docnode/section.cxx146
-rw-r--r--sw/source/core/docnode/swbaslnk.cxx31
-rw-r--r--sw/source/core/docnode/swthreadjoiner.cxx15
-rw-r--r--sw/source/core/docnode/swthreadmanager.cxx5
-rw-r--r--sw/source/core/docnode/threadlistener.cxx4
-rw-r--r--sw/source/core/docnode/threadmanager.cxx10
-rw-r--r--sw/source/core/draw/dcontact.cxx443
-rw-r--r--sw/source/core/draw/dflyobj.cxx79
-rw-r--r--sw/source/core/draw/dobjfac.cxx5
-rw-r--r--sw/source/core/draw/dpage.cxx20
-rw-r--r--sw/source/core/draw/drawdoc.cxx22
-rw-r--r--sw/source/core/draw/dview.cxx98
-rw-r--r--[-rwxr-xr-x]sw/source/core/edit/acorrect.cxx13
-rw-r--r--sw/source/core/edit/autofmt.cxx162
-rw-r--r--sw/source/core/edit/edatmisc.cxx24
-rw-r--r--sw/source/core/edit/edattr.cxx32
-rw-r--r--sw/source/core/edit/eddel.cxx6
-rw-r--r--sw/source/core/edit/edfcol.cxx17
-rw-r--r--sw/source/core/edit/edfld.cxx25
-rw-r--r--sw/source/core/edit/edfldexp.cxx4
-rw-r--r--sw/source/core/edit/edfmt.cxx14
-rw-r--r--sw/source/core/edit/edglbldc.cxx4
-rw-r--r--sw/source/core/edit/edglss.cxx6
-rw-r--r--sw/source/core/edit/editsh.cxx85
-rw-r--r--sw/source/core/edit/edlingu.cxx145
-rw-r--r--sw/source/core/edit/ednumber.cxx80
-rw-r--r--sw/source/core/edit/edredln.cxx2
-rw-r--r--sw/source/core/edit/edsect.cxx18
-rw-r--r--sw/source/core/edit/edtab.cxx10
-rw-r--r--sw/source/core/edit/edtox.cxx38
-rw-r--r--sw/source/core/edit/edundo.cxx16
-rw-r--r--sw/source/core/edit/edws.cxx6
-rw-r--r--sw/source/core/except/dbgloop.cxx168
-rw-r--r--sw/source/core/except/errhdl.cxx136
-rw-r--r--sw/source/core/fields/authfld.cxx82
-rw-r--r--sw/source/core/fields/cellfml.cxx33
-rw-r--r--sw/source/core/fields/chpfld.cxx59
-rw-r--r--sw/source/core/fields/dbfld.cxx92
-rw-r--r--sw/source/core/fields/ddefld.cxx35
-rw-r--r--sw/source/core/fields/ddetbl.cxx18
-rw-r--r--sw/source/core/fields/docufld.cxx333
-rw-r--r--sw/source/core/fields/expfld.cxx63
-rw-r--r--sw/source/core/fields/fldbas.cxx85
-rw-r--r--sw/source/core/fields/flddat.cxx63
-rw-r--r--sw/source/core/fields/flddropdown.cxx19
-rw-r--r--sw/source/core/fields/fldlst.cxx4
-rw-r--r--sw/source/core/fields/macrofld.cxx28
-rw-r--r--sw/source/core/fields/postithelper.cxx22
-rw-r--r--sw/source/core/fields/reffld.cxx221
-rw-r--r--sw/source/core/fields/scrptfld.cxx22
-rw-r--r--sw/source/core/fields/tblcalc.cxx18
-rw-r--r--[-rwxr-xr-x]sw/source/core/fields/textapi.cxx3
-rw-r--r--sw/source/core/fields/usrfld.cxx32
-rw-r--r--sw/source/core/frmedt/fecopy.cxx64
-rw-r--r--sw/source/core/frmedt/fedesc.cxx22
-rw-r--r--sw/source/core/frmedt/fefly1.cxx177
-rw-r--r--sw/source/core/frmedt/feflyole.cxx7
-rw-r--r--sw/source/core/frmedt/feshview.cxx199
-rw-r--r--sw/source/core/frmedt/fetab.cxx131
-rw-r--r--sw/source/core/frmedt/fews.cxx143
-rw-r--r--sw/source/core/frmedt/tblsel.cxx119
-rw-r--r--sw/source/core/graphic/grfatr.cxx77
-rwxr-xr-xsw/source/core/graphic/ndgrf.cxx155
-rw-r--r--sw/source/core/inc/GetMetricVal.hxx3
-rw-r--r--sw/source/core/inc/MarkManager.hxx3
-rw-r--r--sw/source/core/inc/SwGrammarMarkUp.hxx3
-rw-r--r--sw/source/core/inc/SwPortionHandler.hxx3
-rw-r--r--sw/source/core/inc/SwUndoFmt.hxx4
-rw-r--r--sw/source/core/inc/SwUndoPageDesc.hxx7
-rw-r--r--sw/source/core/inc/SwUndoTOXChange.hxx3
-rw-r--r--sw/source/core/inc/SwXMLBlockExport.hxx5
-rw-r--r--sw/source/core/inc/SwXMLBlockImport.hxx6
-rw-r--r--sw/source/core/inc/SwXMLBlockListContext.hxx3
-rw-r--r--sw/source/core/inc/SwXMLTextBlocks.hxx3
-rw-r--r--sw/source/core/inc/SwXTextDefaults.hxx5
-rw-r--r--sw/source/core/inc/UndoAttribute.hxx15
-rw-r--r--sw/source/core/inc/UndoBookmark.hxx1
-rw-r--r--sw/source/core/inc/UndoCore.hxx13
-rw-r--r--sw/source/core/inc/UndoDelete.hxx2
-rw-r--r--sw/source/core/inc/UndoDraw.hxx6
-rw-r--r--sw/source/core/inc/UndoInsert.hxx11
-rw-r--r--sw/source/core/inc/UndoNumbering.hxx22
-rw-r--r--sw/source/core/inc/UndoOverwrite.hxx1
-rw-r--r--sw/source/core/inc/UndoTable.hxx7
-rw-r--r--[-rwxr-xr-x]sw/source/core/inc/acorrect.hxx3
-rw-r--r--sw/source/core/inc/anchoredobjectposition.hxx58
-rw-r--r--sw/source/core/inc/ascharanchoredobjectposition.hxx27
-rw-r--r--sw/source/core/inc/blink.hxx2
-rw-r--r--sw/source/core/inc/bodyfrm.hxx5
-rw-r--r--sw/source/core/inc/bookmrk.hxx8
-rw-r--r--sw/source/core/inc/cellfrm.hxx6
-rw-r--r--sw/source/core/inc/cntfrm.hxx16
-rw-r--r--sw/source/core/inc/colfrm.hxx3
-rw-r--r--sw/source/core/inc/crossrefbookmark.hxx3
-rw-r--r--sw/source/core/inc/dbg_lay.hxx5
-rw-r--r--sw/source/core/inc/dbgloop.hxx77
-rw-r--r--sw/source/core/inc/dflyobj.hxx5
-rw-r--r--sw/source/core/inc/docfld.hxx2
-rw-r--r--sw/source/core/inc/docsort.hxx4
-rw-r--r--sw/source/core/inc/doctxm.hxx9
-rw-r--r--sw/source/core/inc/drawdev.hxx5
-rw-r--r--sw/source/core/inc/drawfont.hxx102
-rw-r--r--sw/source/core/inc/dumpfilter.hxx87
-rw-r--r--sw/source/core/inc/dview.hxx15
-rw-r--r--sw/source/core/inc/environmentofanchoredobject.hxx21
-rw-r--r--sw/source/core/inc/finalthreadmanager.hxx3
-rw-r--r--sw/source/core/inc/flowfrm.hxx55
-rw-r--r--sw/source/core/inc/flyfrm.hxx43
-rw-r--r--sw/source/core/inc/flyfrms.hxx52
-rw-r--r--sw/source/core/inc/fntcache.hxx5
-rw-r--r--sw/source/core/inc/frame.hxx154
-rw-r--r--sw/source/core/inc/frminf.hxx2
-rw-r--r--sw/source/core/inc/frmtool.hxx66
-rw-r--r--sw/source/core/inc/ftnboss.hxx3
-rw-r--r--sw/source/core/inc/ftnfrm.hxx23
-rw-r--r--sw/source/core/inc/hffrm.hxx3
-rw-r--r--sw/source/core/inc/ifinishedthreadlistener.hxx3
-rw-r--r--sw/source/core/inc/ithreadlistenerowner.hxx3
-rw-r--r--sw/source/core/inc/layact.hxx13
-rw-r--r--sw/source/core/inc/laycache.hxx5
-rw-r--r--sw/source/core/inc/layfrm.hxx16
-rw-r--r--sw/source/core/inc/layouter.hxx51
-rw-r--r--sw/source/core/inc/movedfwdfrmsbyobjpos.hxx12
-rw-r--r--sw/source/core/inc/mvsave.hxx2
-rw-r--r--sw/source/core/inc/node2lay.hxx5
-rw-r--r--sw/source/core/inc/noteurl.hxx2
-rw-r--r--sw/source/core/inc/notxtfrm.hxx7
-rw-r--r--sw/source/core/inc/objectformatter.hxx60
-rw-r--r--sw/source/core/inc/observablethread.hxx5
-rw-r--r--sw/source/core/inc/pagefrm.hrc45
-rw-r--r--sw/source/core/inc/pagefrm.hxx136
-rw-r--r--sw/source/core/inc/pamtyp.hxx3
-rw-r--r--sw/source/core/inc/prevwpage.hxx7
-rw-r--r--sw/source/core/inc/ptqueue.hxx3
-rw-r--r--sw/source/core/inc/retrievedinputstreamdata.hxx9
-rw-r--r--sw/source/core/inc/retrieveinputstream.hxx8
-rw-r--r--sw/source/core/inc/retrieveinputstreamconsumer.hxx13
-rw-r--r--sw/source/core/inc/rolbck.hxx31
-rw-r--r--sw/source/core/inc/rootfrm.hxx14
-rw-r--r--sw/source/core/inc/rowfrm.hxx14
-rw-r--r--sw/source/core/inc/scriptinfo.hxx78
-rw-r--r--sw/source/core/inc/sectfrm.hxx5
-rw-r--r--sw/source/core/inc/setmapvirtdev.hxx2
-rw-r--r--sw/source/core/inc/sortedobjs.hxx14
-rw-r--r--sw/source/core/inc/sortedobjsimpl.hxx3
-rw-r--r--sw/source/core/inc/swblocks.hxx100
-rw-r--r--sw/source/core/inc/swcache.hxx23
-rw-r--r--sw/source/core/inc/swfntcch.hxx5
-rw-r--r--sw/source/core/inc/swfont.hxx17
-rw-r--r--sw/source/core/inc/swselectionlist.hxx3
-rw-r--r--sw/source/core/inc/swthreadjoiner.hxx5
-rw-r--r--sw/source/core/inc/swthreadmanager.hxx11
-rw-r--r--sw/source/core/inc/tabfrm.hxx19
-rw-r--r--sw/source/core/inc/tblrwcl.hxx12
-rw-r--r--[-rwxr-xr-x]sw/source/core/inc/textapi.hxx3
-rw-r--r--sw/source/core/inc/threadlistener.hxx3
-rw-r--r--sw/source/core/inc/threadmanager.hxx4
-rw-r--r--sw/source/core/inc/tocntntanchoredobjectposition.hxx14
-rw-r--r--sw/source/core/inc/tolayoutanchoredobjectposition.hxx11
-rw-r--r--sw/source/core/inc/toxhlp.hxx3
-rw-r--r--sw/source/core/inc/txmsrt.hxx3
-rw-r--r--sw/source/core/inc/txtfrm.hxx61
-rw-r--r--sw/source/core/inc/txttypes.hxx3
-rw-r--r--sw/source/core/inc/undoflystrattr.hxx3
-rw-r--r--sw/source/core/inc/unofldmid.h3
-rw-r--r--[-rwxr-xr-x]sw/source/core/inc/unometa.hxx2
-rwxr-xr-xsw/source/core/inc/viewimp.hxx35
-rw-r--r--sw/source/core/inc/visiturl.hxx9
-rw-r--r--sw/source/core/inc/wrong.hxx9
-rw-r--r--sw/source/core/layout/anchoreddrawobject.cxx212
-rw-r--r--sw/source/core/layout/anchoredobject.cxx176
-rw-r--r--sw/source/core/layout/atrfrm.cxx345
-rw-r--r--sw/source/core/layout/calcmove.cxx241
-rw-r--r--sw/source/core/layout/colfrm.cxx27
-rw-r--r--sw/source/core/layout/dbg_lay.cxx76
-rw-r--r--sw/source/core/layout/dumpfilter.cxx210
-rw-r--r--sw/source/core/layout/findfrm.cxx125
-rw-r--r--sw/source/core/layout/flowfrm.cxx273
-rwxr-xr-xsw/source/core/layout/fly.cxx333
-rw-r--r--sw/source/core/layout/flycnt.cxx241
-rw-r--r--sw/source/core/layout/flyincnt.cxx43
-rw-r--r--sw/source/core/layout/flylay.cxx235
-rw-r--r--sw/source/core/layout/flypos.cxx2
-rw-r--r--sw/source/core/layout/frmtool.cxx223
-rw-r--r--sw/source/core/layout/ftnfrm.cxx265
-rw-r--r--sw/source/core/layout/hffrm.cxx39
-rw-r--r--sw/source/core/layout/layact.cxx265
-rw-r--r--sw/source/core/layout/laycache.cxx194
-rw-r--r--sw/source/core/layout/layhelp.hxx14
-rw-r--r--sw/source/core/layout/layouter.cxx72
-rw-r--r--sw/source/core/layout/movedfwdfrmsbyobjpos.cxx8
-rw-r--r--sw/source/core/layout/newfrm.cxx34
-rw-r--r--sw/source/core/layout/objectformatter.cxx85
-rw-r--r--sw/source/core/layout/objectformatterlayfrm.cxx36
-rw-r--r--sw/source/core/layout/objectformatterlayfrm.hxx6
-rw-r--r--sw/source/core/layout/objectformattertxtfrm.cxx186
-rw-r--r--sw/source/core/layout/objectformattertxtfrm.hxx44
-rw-r--r--sw/source/core/layout/objstmpconsiderwrapinfl.cxx3
-rw-r--r--sw/source/core/layout/objstmpconsiderwrapinfl.hxx3
-rw-r--r--sw/source/core/layout/pagechg.cxx216
-rw-r--r--sw/source/core/layout/pagedesc.cxx51
-rw-r--r--sw/source/core/layout/pagefrm.src7
-rwxr-xr-xsw/source/core/layout/paintfrm.cxx1056
-rw-r--r--sw/source/core/layout/sectfrm.cxx178
-rw-r--r--sw/source/core/layout/softpagebreak.cxx2
-rw-r--r--sw/source/core/layout/sortedobjs.cxx3
-rw-r--r--sw/source/core/layout/sortedobjsimpl.cxx25
-rw-r--r--sw/source/core/layout/ssfrm.cxx36
-rw-r--r--sw/source/core/layout/swselectionlist.cxx2
-rw-r--r--sw/source/core/layout/tabfrm.cxx606
-rw-r--r--sw/source/core/layout/trvlfrm.cxx138
-rw-r--r--sw/source/core/layout/unusedf.cxx23
-rw-r--r--sw/source/core/layout/virtoutp.cxx10
-rw-r--r--sw/source/core/layout/virtoutp.hxx5
-rw-r--r--sw/source/core/layout/wsfrm.cxx266
-rw-r--r--sw/source/core/objectpositioning/anchoredobjectposition.cxx141
-rw-r--r--sw/source/core/objectpositioning/ascharanchoredobjectposition.cxx15
-rw-r--r--sw/source/core/objectpositioning/environmentofanchoredobject.cxx23
-rw-r--r--sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx156
-rw-r--r--sw/source/core/objectpositioning/tolayoutanchoredobjectposition.cxx13
-rw-r--r--sw/source/core/ole/ndole.cxx70
-rw-r--r--sw/source/core/para/paratr.cxx40
-rw-r--r--sw/source/core/sw3io/sw3convert.cxx28
-rw-r--r--sw/source/core/sw3io/swacorr.cxx9
-rw-r--r--sw/source/core/swg/SwXMLBlockExport.cxx3
-rw-r--r--sw/source/core/swg/SwXMLBlockImport.cxx11
-rw-r--r--sw/source/core/swg/SwXMLBlockListContext.cxx3
-rw-r--r--sw/source/core/swg/SwXMLSectionList.cxx7
-rw-r--r--sw/source/core/swg/SwXMLTextBlocks.cxx51
-rw-r--r--sw/source/core/swg/SwXMLTextBlocks1.cxx74
-rw-r--r--sw/source/core/swg/swblocks.cxx169
-rw-r--r--sw/source/core/table/swnewtable.cxx287
-rw-r--r--sw/source/core/table/swtable.cxx121
-rw-r--r--sw/source/core/text/EnhancedPDFExportHelper.cxx83
-rw-r--r--sw/source/core/text/SwGrammarMarkUp.cxx2
-rw-r--r--sw/source/core/text/atrhndl.hxx9
-rw-r--r--sw/source/core/text/atrstck.cxx18
-rw-r--r--sw/source/core/text/blink.cxx4
-rw-r--r--sw/source/core/text/frmcrsr.cxx31
-rwxr-xr-xsw/source/core/text/frmform.cxx203
-rw-r--r--sw/source/core/text/frminf.cxx3
-rw-r--r--sw/source/core/text/frmpaint.cxx78
-rw-r--r--sw/source/core/text/guess.cxx89
-rw-r--r--sw/source/core/text/guess.hxx3
-rw-r--r--sw/source/core/text/inftxt.cxx126
-rw-r--r--sw/source/core/text/inftxt.hxx34
-rw-r--r--sw/source/core/text/itradj.cxx41
-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.cxx83
-rw-r--r--sw/source/core/text/itrform2.cxx369
-rw-r--r--sw/source/core/text/itrform2.hxx7
-rw-r--r--sw/source/core/text/itrpaint.cxx33
-rw-r--r--sw/source/core/text/itrpaint.hxx3
-rw-r--r--sw/source/core/text/itrtxt.cxx30
-rw-r--r--sw/source/core/text/itrtxt.hxx18
-rw-r--r--sw/source/core/text/noteurl.cxx4
-rw-r--r--sw/source/core/text/pordrop.hxx3
-rw-r--r--sw/source/core/text/porexp.cxx2
-rw-r--r--sw/source/core/text/porexp.hxx3
-rw-r--r--sw/source/core/text/porfld.cxx69
-rw-r--r--sw/source/core/text/porfld.hxx14
-rw-r--r--sw/source/core/text/porfly.cxx31
-rw-r--r--sw/source/core/text/porfly.hxx3
-rw-r--r--sw/source/core/text/porftn.hxx11
-rw-r--r--sw/source/core/text/porglue.cxx11
-rw-r--r--sw/source/core/text/porglue.hxx4
-rw-r--r--sw/source/core/text/porhyph.hxx3
-rw-r--r--sw/source/core/text/porlay.cxx170
-rw-r--r--sw/source/core/text/porlay.hxx11
-rw-r--r--sw/source/core/text/porlin.cxx34
-rw-r--r--sw/source/core/text/porlin.hxx18
-rw-r--r--sw/source/core/text/pormulti.cxx99
-rw-r--r--sw/source/core/text/pormulti.hxx9
-rw-r--r--sw/source/core/text/porref.cxx3
-rw-r--r--sw/source/core/text/porref.hxx3
-rw-r--r--sw/source/core/text/porrst.cxx38
-rw-r--r--sw/source/core/text/porrst.hxx3
-rw-r--r--sw/source/core/text/portab.hxx3
-rw-r--r--sw/source/core/text/portox.cxx3
-rw-r--r--sw/source/core/text/portox.hxx4
-rw-r--r--sw/source/core/text/portxt.cxx43
-rw-r--r--sw/source/core/text/portxt.hxx3
-rw-r--r--sw/source/core/text/possiz.hxx2
-rw-r--r--sw/source/core/text/redlnitr.cxx21
-rw-r--r--sw/source/core/text/redlnitr.hxx6
-rw-r--r--sw/source/core/text/txtcache.cxx36
-rw-r--r--sw/source/core/text/txtcache.hxx3
-rw-r--r--sw/source/core/text/txtcfg.hxx54
-rw-r--r--sw/source/core/text/txtdrop.cxx27
-rw-r--r--sw/source/core/text/txtfld.cxx36
-rw-r--r--sw/source/core/text/txtfly.cxx329
-rw-r--r--sw/source/core/text/txtfly.hxx60
-rw-r--r--sw/source/core/text/txtfrm.cxx120
-rw-r--r--sw/source/core/text/txtftn.cxx84
-rw-r--r--sw/source/core/text/txthyph.cxx58
-rw-r--r--sw/source/core/text/txtinit.cxx8
-rw-r--r--sw/source/core/text/txtio.cxx249
-rw-r--r--sw/source/core/text/txtpaint.cxx6
-rw-r--r--sw/source/core/text/txtpaint.hxx5
-rw-r--r--sw/source/core/text/txttab.cxx52
-rwxr-xr-xsw/source/core/text/widorp.cxx18
-rw-r--r--sw/source/core/text/widorp.hxx3
-rw-r--r--sw/source/core/text/wrong.cxx13
-rw-r--r--sw/source/core/text/xmldump.cxx394
-rw-r--r--sw/source/core/tox/tox.cxx54
-rw-r--r--sw/source/core/tox/toxhlp.cxx46
-rw-r--r--sw/source/core/tox/txmsrt.cxx92
-rw-r--r--sw/source/core/txtnode/SwGrammarContact.cxx2
-rw-r--r--sw/source/core/txtnode/atrfld.cxx27
-rw-r--r--sw/source/core/txtnode/atrflyin.cxx19
-rw-r--r--sw/source/core/txtnode/atrftn.cxx198
-rw-r--r--sw/source/core/txtnode/atrref.cxx4
-rw-r--r--sw/source/core/txtnode/atrtox.cxx3
-rw-r--r--sw/source/core/txtnode/chrfmt.cxx2
-rw-r--r--sw/source/core/txtnode/fmtatr2.cxx75
-rw-r--r--sw/source/core/txtnode/fntcache.cxx167
-rw-r--r--sw/source/core/txtnode/fntcap.cxx44
-rw-r--r--sw/source/core/txtnode/modeltoviewhelper.cxx3
-rw-r--r--sw/source/core/txtnode/ndhints.cxx86
-rw-r--r--sw/source/core/txtnode/ndtxt.cxx564
-rw-r--r--sw/source/core/txtnode/swfntcch.cxx8
-rw-r--r--sw/source/core/txtnode/swfont.cxx40
-rw-r--r--sw/source/core/txtnode/thints.cxx147
-rw-r--r--sw/source/core/txtnode/txatbase.cxx2
-rw-r--r--sw/source/core/txtnode/txatritr.cxx4
-rw-r--r--sw/source/core/txtnode/txtatr2.cxx8
-rw-r--r--[-rwxr-xr-x]sw/source/core/txtnode/txtedt.cxx345
-rw-r--r--sw/source/core/undo/SwRewriter.cxx4
-rw-r--r--sw/source/core/undo/SwUndoField.cxx13
-rw-r--r--sw/source/core/undo/SwUndoFmt.cxx3
-rw-r--r--sw/source/core/undo/SwUndoPageDesc.cxx39
-rw-r--r--sw/source/core/undo/SwUndoTOXChange.cxx2
-rw-r--r--sw/source/core/undo/docundo.cxx4
-rw-r--r--sw/source/core/undo/rolbck.cxx70
-rw-r--r--sw/source/core/undo/unattr.cxx58
-rw-r--r--sw/source/core/undo/unbkmk.cxx3
-rw-r--r--sw/source/core/undo/undel.cxx17
-rw-r--r--sw/source/core/undo/undo.src2
-rw-r--r--sw/source/core/undo/undobj.cxx44
-rw-r--r--sw/source/core/undo/undobj1.cxx23
-rw-r--r--sw/source/core/undo/undoflystrattr.cxx5
-rw-r--r--sw/source/core/undo/undraw.cxx19
-rw-r--r--sw/source/core/undo/unfmco.cxx12
-rw-r--r--sw/source/core/undo/unins.cxx19
-rw-r--r--sw/source/core/undo/unmove.cxx2
-rw-r--r--sw/source/core/undo/unnum.cxx39
-rw-r--r--sw/source/core/undo/unoutl.cxx3
-rw-r--r--sw/source/core/undo/unovwr.cxx8
-rw-r--r--sw/source/core/undo/unredln.cxx5
-rw-r--r--sw/source/core/undo/unsect.cxx10
-rw-r--r--sw/source/core/undo/unsort.cxx15
-rw-r--r--sw/source/core/undo/unspnd.cxx4
-rw-r--r--sw/source/core/undo/untbl.cxx129
-rw-r--r--sw/source/core/undo/untblk.cxx7
-rw-r--r--sw/source/core/unocore/SwXTextDefaults.cxx23
-rw-r--r--sw/source/core/unocore/TextCursorHelper.cxx17
-rw-r--r--sw/source/core/unocore/XMLRangeHelper.cxx5
-rw-r--r--sw/source/core/unocore/XMLRangeHelper.hxx3
-rw-r--r--sw/source/core/unocore/swunohelper.cxx31
-rw-r--r--sw/source/core/unocore/unobkm.cxx162
-rw-r--r--sw/source/core/unocore/unochart.cxx362
-rw-r--r--sw/source/core/unocore/unocoll.cxx404
-rw-r--r--sw/source/core/unocore/unocrsrhelper.cxx153
-rw-r--r--sw/source/core/unocore/unodraw.cxx426
-rw-r--r--sw/source/core/unocore/unoevent.cxx6
-rw-r--r--sw/source/core/unocore/unoevtlstnr.cxx18
-rw-r--r--sw/source/core/unocore/unofield.cxx151
-rw-r--r--sw/source/core/unocore/unoflatpara.cxx56
-rwxr-xr-xsw/source/core/unocore/unoframe.cxx319
-rw-r--r--sw/source/core/unocore/unoftn.cxx156
-rw-r--r--sw/source/core/unocore/unoidx.cxx404
-rw-r--r--sw/source/core/unocore/unomap.cxx109
-rw-r--r--sw/source/core/unocore/unoobj.cxx460
-rw-r--r--sw/source/core/unocore/unoobj2.cxx139
-rw-r--r--sw/source/core/unocore/unoparagraph.cxx241
-rw-r--r--sw/source/core/unocore/unoport.cxx186
-rw-r--r--sw/source/core/unocore/unoportenum.cxx117
-rw-r--r--sw/source/core/unocore/unoprnms.cxx14
-rw-r--r--sw/source/core/unocore/unoredline.cxx155
-rw-r--r--sw/source/core/unocore/unoredlines.cxx18
-rw-r--r--sw/source/core/unocore/unorefmk.cxx218
-rw-r--r--sw/source/core/unocore/unosect.cxx201
-rw-r--r--sw/source/core/unocore/unosett.cxx372
-rw-r--r--sw/source/core/unocore/unosrch.cxx117
-rw-r--r--sw/source/core/unocore/unostyle.cxx625
-rw-r--r--sw/source/core/unocore/unotbl.cxx439
-rw-r--r--sw/source/core/unocore/unotext.cxx322
-rw-r--r--sw/source/core/unocore/unotextmarkup.cxx21
-rw-r--r--sw/source/core/view/pagepreviewlayout.cxx254
-rw-r--r--sw/source/core/view/printdata.cxx26
-rwxr-xr-xsw/source/core/view/vdraw.cxx124
-rw-r--r--sw/source/core/view/viewimp.cxx192
-rw-r--r--sw/source/core/view/viewpg.cxx34
-rw-r--r--sw/source/core/view/viewsh.cxx667
-rw-r--r--sw/source/core/view/vnew.cxx109
-rw-r--r--sw/source/core/view/vprint.cxx155
-rw-r--r--sw/source/filter/ascii/ascatr.cxx2
-rw-r--r--sw/source/filter/ascii/parasc.cxx38
-rw-r--r--sw/source/filter/ascii/wrtasc.cxx7
-rw-r--r--sw/source/filter/ascii/wrtasc.hxx3
-rw-r--r--sw/source/filter/basflt/docfact.cxx15
-rw-r--r--sw/source/filter/basflt/fltini.cxx189
-rw-r--r--sw/source/filter/basflt/iodetect.cxx37
-rw-r--r--sw/source/filter/basflt/shellio.cxx80
-rw-r--r--sw/source/filter/html/SwAppletImpl.cxx22
-rw-r--r--sw/source/filter/html/css1atr.cxx177
-rw-r--r--sw/source/filter/html/css1kywd.cxx312
-rw-r--r--sw/source/filter/html/css1kywd.hxx311
-rw-r--r--sw/source/filter/html/htmlatr.cxx104
-rw-r--r--sw/source/filter/html/htmlbas.cxx20
-rw-r--r--sw/source/filter/html/htmlcss1.cxx81
-rw-r--r--sw/source/filter/html/htmlctxt.cxx17
-rw-r--r--sw/source/filter/html/htmldraw.cxx32
-rw-r--r--sw/source/filter/html/htmlfld.cxx36
-rw-r--r--sw/source/filter/html/htmlfld.hxx2
-rw-r--r--sw/source/filter/html/htmlfldw.cxx16
-rw-r--r--sw/source/filter/html/htmlfly.cxx50
-rw-r--r--sw/source/filter/html/htmlfly.hxx5
-rw-r--r--sw/source/filter/html/htmlflyt.cxx2
-rw-r--r--sw/source/filter/html/htmlform.cxx283
-rw-r--r--sw/source/filter/html/htmlform.hxx12
-rw-r--r--sw/source/filter/html/htmlforw.cxx126
-rw-r--r--sw/source/filter/html/htmlftn.cxx21
-rw-r--r--sw/source/filter/html/htmlgrin.cxx46
-rw-r--r--sw/source/filter/html/htmlnum.cxx90
-rw-r--r--sw/source/filter/html/htmlnum.hxx2
-rw-r--r--sw/source/filter/html/htmlplug.cxx152
-rw-r--r--sw/source/filter/html/htmlsect.cxx9
-rw-r--r--sw/source/filter/html/htmltab.cxx374
-rw-r--r--sw/source/filter/html/htmltabw.cxx47
-rw-r--r--sw/source/filter/html/htmlvsh.hxx2
-rw-r--r--sw/source/filter/html/parcss1.cxx51
-rw-r--r--sw/source/filter/html/parcss1.hxx2
-rw-r--r--sw/source/filter/html/svxcss1.cxx278
-rw-r--r--sw/source/filter/html/svxcss1.hxx10
-rw-r--r--sw/source/filter/html/swcss1.hxx2
-rw-r--r--sw/source/filter/html/swhtml.cxx424
-rw-r--r--sw/source/filter/html/swhtml.hxx66
-rw-r--r--sw/source/filter/html/wrthtml.cxx76
-rw-r--r--sw/source/filter/html/wrthtml.hxx8
-rw-r--r--sw/source/filter/inc/fltbase.hxx2
-rw-r--r--sw/source/filter/inc/fltglbls.hxx3
-rw-r--r--sw/source/filter/inc/fltini.hxx4
-rw-r--r--sw/source/filter/inc/fltshell.hxx20
-rw-r--r--sw/source/filter/inc/msfilter.hxx18
-rw-r--r--sw/source/filter/inc/rtf.hxx2
-rw-r--r--sw/source/filter/inc/wrt_fn.hxx3
-rw-r--r--sw/source/filter/inc/wrtswtbl.hxx15
-rw-r--r--sw/source/filter/inc/wwstyles.hxx6
-rw-r--r--sw/source/filter/rtf/rtffld.cxx81
-rw-r--r--sw/source/filter/rtf/rtffly.cxx114
-rw-r--r--sw/source/filter/rtf/rtfnum.cxx146
-rw-r--r--sw/source/filter/rtf/rtftbl.cxx141
-rw-r--r--sw/source/filter/rtf/swparrtf.cxx406
-rw-r--r--sw/source/filter/rtf/swparrtf.hxx27
-rw-r--r--sw/source/filter/writer/writer.cxx28
-rw-r--r--sw/source/filter/writer/wrt_fn.cxx11
-rw-r--r--sw/source/filter/writer/wrtswtbl.cxx79
-rw-r--r--sw/source/filter/ww1/fltshell.cxx202
-rw-r--r--sw/source/filter/ww1/w1class.cxx112
-rw-r--r--sw/source/filter/ww1/w1class.hxx108
-rw-r--r--sw/source/filter/ww1/w1filter.cxx127
-rw-r--r--sw/source/filter/ww1/w1par.cxx8
-rw-r--r--sw/source/filter/ww1/w1par.hxx4
-rw-r--r--sw/source/filter/ww1/w1sprm.cxx109
-rw-r--r--sw/source/filter/ww1/w1struct.hxx79
-rw-r--r--sw/source/filter/ww8/README-rtf.txt30
-rw-r--r--sw/source/filter/ww8/WW8FFData.cxx2
-rw-r--r--sw/source/filter/ww8/WW8FFData.hxx3
-rw-r--r--sw/source/filter/ww8/WW8FibData.cxx4
-rw-r--r--sw/source/filter/ww8/WW8FibData.hxx5
-rw-r--r--sw/source/filter/ww8/WW8Sttbf.cxx12
-rw-r--r--sw/source/filter/ww8/WW8Sttbf.hxx4
-rw-r--r--sw/source/filter/ww8/WW8TableInfo.cxx77
-rw-r--r--sw/source/filter/ww8/WW8TableInfo.hxx13
-rw-r--r--sw/source/filter/ww8/attributeoutputbase.hxx17
-rw-r--r--sw/source/filter/ww8/docxattributeoutput.cxx1566
-rw-r--r--sw/source/filter/ww8/docxattributeoutput.hxx70
-rw-r--r--sw/source/filter/ww8/docxexport.cxx158
-rw-r--r--sw/source/filter/ww8/docxexport.hxx50
-rw-r--r--sw/source/filter/ww8/docxexportfilter.cxx80
-rw-r--r--sw/source/filter/ww8/docxexportfilter.hxx15
-rw-r--r--sw/source/filter/ww8/docxfootnotes.hxx3
-rw-r--r--sw/source/filter/ww8/dump/dump8.cxx171
-rw-r--r--sw/source/filter/ww8/dump/dump8a.cxx2746
-rw-r--r--sw/source/filter/ww8/dump/msvbasic.cxx536
-rw-r--r--sw/source/filter/ww8/dump/msvbasic.hxx102
-rw-r--r--sw/source/filter/ww8/dump/ww8darr.cxx546
-rw-r--r--sw/source/filter/ww8/dump/ww8darr.hxx43
-rw-r--r--sw/source/filter/ww8/dump/ww8dout.cxx419
-rw-r--r--sw/source/filter/ww8/dump/ww8dout.hxx86
-rw-r--r--sw/source/filter/ww8/dump/ww8scan.cxx6667
-rw-r--r--sw/source/filter/ww8/dump/ww8scan.hxx1488
-rw-r--r--sw/source/filter/ww8/dump/ww8struc.hxx815
-rw-r--r--sw/source/filter/ww8/escher.hxx14
-rw-r--r--sw/source/filter/ww8/fields.cxx15
-rw-r--r--sw/source/filter/ww8/fields.hxx5
-rw-r--r--sw/source/filter/ww8/hash_wrap.hxx27
-rw-r--r--sw/source/filter/ww8/needed_cast.hxx10
-rw-r--r--sw/source/filter/ww8/rtfattributeoutput.cxx248
-rw-r--r--sw/source/filter/ww8/rtfattributeoutput.hxx34
-rw-r--r--[-rwxr-xr-x]sw/source/filter/ww8/rtfexport.cxx70
-rw-r--r--[-rwxr-xr-x]sw/source/filter/ww8/rtfexport.hxx21
-rw-r--r--sw/source/filter/ww8/rtfexportfilter.cxx62
-rw-r--r--sw/source/filter/ww8/rtfexportfilter.hxx12
-rw-r--r--sw/source/filter/ww8/rtfimportfilter.cxx12
-rw-r--r--sw/source/filter/ww8/rtfimportfilter.hxx10
-rw-r--r--sw/source/filter/ww8/rtfsdrexport.cxx6
-rw-r--r--sw/source/filter/ww8/rtfsdrexport.hxx5
-rw-r--r--sw/source/filter/ww8/sortedarray.hxx15
-rw-r--r--sw/source/filter/ww8/staticassert.hxx5
-rw-r--r--sw/source/filter/ww8/styles.cxx9
-rw-r--r--sw/source/filter/ww8/tracer.cxx4
-rw-r--r--sw/source/filter/ww8/tracer.hxx6
-rw-r--r--sw/source/filter/ww8/types.hxx12
-rw-r--r--sw/source/filter/ww8/typessw.hxx46
-rw-r--r--sw/source/filter/ww8/writerhelper.cxx181
-rw-r--r--sw/source/filter/ww8/writerhelper.hxx80
-rw-r--r--sw/source/filter/ww8/writerwordglue.cxx405
-rw-r--r--sw/source/filter/ww8/writerwordglue.hxx10
-rw-r--r--sw/source/filter/ww8/wrtw8esh.cxx216
-rw-r--r--[-rwxr-xr-x]sw/source/filter/ww8/wrtw8nds.cxx499
-rw-r--r--sw/source/filter/ww8/wrtw8num.cxx104
-rw-r--r--sw/source/filter/ww8/wrtw8sty.cxx180
-rw-r--r--sw/source/filter/ww8/wrtww8.cxx455
-rw-r--r--sw/source/filter/ww8/wrtww8.hxx152
-rw-r--r--sw/source/filter/ww8/wrtww8gr.cxx127
-rw-r--r--sw/source/filter/ww8/ww8atr.cxx372
-rw-r--r--sw/source/filter/ww8/ww8attributeoutput.hxx24
-rw-r--r--sw/source/filter/ww8/ww8glsy.cxx6
-rw-r--r--sw/source/filter/ww8/ww8glsy.hxx4
-rw-r--r--sw/source/filter/ww8/ww8graf.cxx493
-rw-r--r--sw/source/filter/ww8/ww8graf.hxx18
-rw-r--r--sw/source/filter/ww8/ww8graf2.cxx78
-rw-r--r--sw/source/filter/ww8/ww8par.cxx1056
-rw-r--r--sw/source/filter/ww8/ww8par.hxx67
-rw-r--r--sw/source/filter/ww8/ww8par2.cxx402
-rw-r--r--sw/source/filter/ww8/ww8par2.hxx11
-rw-r--r--sw/source/filter/ww8/ww8par3.cxx198
-rw-r--r--sw/source/filter/ww8/ww8par4.cxx37
-rw-r--r--sw/source/filter/ww8/ww8par5.cxx319
-rw-r--r--sw/source/filter/ww8/ww8par6.cxx616
-rw-r--r--sw/source/filter/ww8/ww8scan.cxx427
-rw-r--r--sw/source/filter/ww8/ww8scan.hxx25
-rw-r--r--sw/source/filter/ww8/ww8struc.hxx84
-rw-r--r--sw/source/filter/ww8/ww8toolbar.cxx1332
-rw-r--r--sw/source/filter/ww8/ww8toolbar.hxx379
-rw-r--r--sw/source/filter/xml/DocSettingNames.hxx3
-rw-r--r--sw/source/filter/xml/ForbiddenCharactersEnum.hxx3
-rw-r--r--sw/source/filter/xml/XMLRedlineImportHelper.cxx39
-rw-r--r--sw/source/filter/xml/XMLRedlineImportHelper.hxx2
-rw-r--r--sw/source/filter/xml/swxml.cxx122
-rw-r--r--sw/source/filter/xml/wrtxml.cxx72
-rw-r--r--sw/source/filter/xml/wrtxml.hxx2
-rw-r--r--sw/source/filter/xml/xmlbrsh.cxx6
-rw-r--r--sw/source/filter/xml/xmlbrshe.hxx2
-rw-r--r--sw/source/filter/xml/xmlbrshi.hxx2
-rw-r--r--sw/source/filter/xml/xmlexp.cxx68
-rw-r--r--sw/source/filter/xml/xmlexp.hxx20
-rw-r--r--sw/source/filter/xml/xmlexpit.cxx148
-rw-r--r--sw/source/filter/xml/xmlexpit.hxx3
-rw-r--r--sw/source/filter/xml/xmlfmt.cxx22
-rw-r--r--sw/source/filter/xml/xmlfmte.cxx27
-rw-r--r--sw/source/filter/xml/xmlfonte.cxx7
-rw-r--r--sw/source/filter/xml/xmlimp.cxx195
-rw-r--r--sw/source/filter/xml/xmlimp.hxx6
-rw-r--r--sw/source/filter/xml/xmlimpit.cxx62
-rw-r--r--sw/source/filter/xml/xmlimpit.hxx3
-rw-r--r--sw/source/filter/xml/xmlitem.cxx3
-rw-r--r--sw/source/filter/xml/xmlitem.hxx2
-rw-r--r--sw/source/filter/xml/xmliteme.cxx4
-rw-r--r--sw/source/filter/xml/xmlitemi.cxx5
-rw-r--r--sw/source/filter/xml/xmlitemm.cxx13
-rw-r--r--sw/source/filter/xml/xmlithlp.cxx152
-rw-r--r--sw/source/filter/xml/xmlithlp.hxx14
-rw-r--r--sw/source/filter/xml/xmlitmap.hxx3
-rw-r--r--sw/source/filter/xml/xmlitmpr.cxx2
-rw-r--r--sw/source/filter/xml/xmlmeta.cxx26
-rw-r--r--sw/source/filter/xml/xmlscript.cxx4
-rw-r--r--sw/source/filter/xml/xmltble.cxx144
-rw-r--r--sw/source/filter/xml/xmltbli.cxx246
-rw-r--r--sw/source/filter/xml/xmltbli.hxx22
-rw-r--r--sw/source/filter/xml/xmltext.cxx5
-rw-r--r--sw/source/filter/xml/xmltexte.cxx74
-rw-r--r--sw/source/filter/xml/xmltexte.hxx3
-rw-r--r--sw/source/filter/xml/xmltexti.cxx96
-rw-r--r--sw/source/filter/xml/xmltexti.hxx4
-rw-r--r--sw/source/ui/app/app.src142
-rw-r--r--sw/source/ui/app/appenv.cxx126
-rw-r--r--sw/source/ui/app/apphdl.cxx80
-rw-r--r--sw/source/ui/app/applab.cxx108
-rw-r--r--sw/source/ui/app/appopt.cxx142
-rw-r--r--sw/source/ui/app/docsh.cxx204
-rwxr-xr-xsw/source/ui/app/docsh2.cxx429
-rw-r--r--sw/source/ui/app/docshdrw.cxx22
-rw-r--r--sw/source/ui/app/docshini.cxx150
-rw-r--r--sw/source/ui/app/docst.cxx225
-rw-r--r--sw/source/ui/app/docstyle.cxx341
-rw-r--r--sw/source/ui/app/error.src20
-rw-r--r--sw/source/ui/app/mainwn.cxx6
-rw-r--r--sw/source/ui/app/mn.src83
-rw-r--r--sw/source/ui/app/swdll.cxx73
-rw-r--r--sw/source/ui/app/swdllimpl.hxx42
-rw-r--r--sw/source/ui/app/swmodul1.cxx231
-rw-r--r--sw/source/ui/app/swmodule.cxx101
-rw-r--r--sw/source/ui/app/swwait.cxx2
-rw-r--r--sw/source/ui/cctrl/actctrl.cxx19
-rw-r--r--sw/source/ui/cctrl/popbox.cxx21
-rw-r--r--sw/source/ui/cctrl/swlbox.cxx78
-rw-r--r--sw/source/ui/chrdlg/break.cxx39
-rw-r--r--sw/source/ui/chrdlg/ccoll.cxx45
-rw-r--r--sw/source/ui/chrdlg/ccoll.src1
-rw-r--r--sw/source/ui/chrdlg/chardlg.cxx84
-rw-r--r--sw/source/ui/chrdlg/chrdlg.src1
-rw-r--r--sw/source/ui/chrdlg/drpcps.cxx233
-rw-r--r--sw/source/ui/chrdlg/drpcps.src1
-rw-r--r--sw/source/ui/chrdlg/numpara.cxx55
-rw-r--r--sw/source/ui/chrdlg/numpara.src1
-rw-r--r--sw/source/ui/chrdlg/paradlg.src3
-rw-r--r--sw/source/ui/chrdlg/pardlg.cxx50
-rw-r--r--sw/source/ui/chrdlg/swbreak.src2
-rw-r--r--sw/source/ui/chrdlg/swuiccoll.cxx74
-rw-r--r--sw/source/ui/chrdlg/tblnumfm.cxx15
-rw-r--r--sw/source/ui/config/barcfg.cxx19
-rw-r--r--sw/source/ui/config/caption.cxx100
-rw-r--r--sw/source/ui/config/cfgitems.cxx109
-rw-r--r--sw/source/ui/config/config.hrc4
-rw-r--r--sw/source/ui/config/dbconfig.cxx20
-rw-r--r--sw/source/ui/config/fontcfg.cxx47
-rw-r--r--sw/source/ui/config/mailconfigpage.cxx61
-rw-r--r--sw/source/ui/config/mailconfigpage.hrc1
-rw-r--r--sw/source/ui/config/mailconfigpage.src7
-rw-r--r--sw/source/ui/config/modcfg.cxx93
-rw-r--r--sw/source/ui/config/optcomp.cxx39
-rw-r--r--sw/source/ui/config/optdlg.hrc8
-rw-r--r--sw/source/ui/config/optdlg.src6
-rw-r--r--sw/source/ui/config/optload.cxx149
-rw-r--r--sw/source/ui/config/optload.hrc1
-rw-r--r--sw/source/ui/config/optload.src11
-rw-r--r--sw/source/ui/config/optpage.cxx294
-rw-r--r--sw/source/ui/config/prtopt.cxx14
-rw-r--r--sw/source/ui/config/uinums.cxx144
-rw-r--r--sw/source/ui/config/usrpref.cxx107
-rw-r--r--sw/source/ui/config/viewopt.cxx148
-rw-r--r--sw/source/ui/dbui/addresslistdialog.cxx68
-rw-r--r--sw/source/ui/dbui/addresslistdialog.hxx10
-rw-r--r--sw/source/ui/dbui/createaddresslistdialog.cxx85
-rw-r--r--sw/source/ui/dbui/createaddresslistdialog.hxx13
-rw-r--r--sw/source/ui/dbui/createaddresslistdialog.src6
-rw-r--r--sw/source/ui/dbui/customizeaddresslistdialog.cxx30
-rw-r--r--sw/source/ui/dbui/customizeaddresslistdialog.hxx8
-rw-r--r--sw/source/ui/dbui/customizeaddresslistdialog.src5
-rw-r--r--sw/source/ui/dbui/dbinsdlg.cxx174
-rw-r--r--sw/source/ui/dbui/dbmgr.cxx342
-rw-r--r--sw/source/ui/dbui/dbtablepreviewdialog.cxx28
-rw-r--r--sw/source/ui/dbui/dbtablepreviewdialog.hxx8
-rw-r--r--sw/source/ui/dbui/dbtree.cxx125
-rw-r--r--sw/source/ui/dbui/dbui.cxx18
-rw-r--r--sw/source/ui/dbui/dbui.src2
-rw-r--r--sw/source/ui/dbui/maildispatcher.cxx6
-rw-r--r--sw/source/ui/dbui/mailmergechildwindow.cxx116
-rw-r--r--sw/source/ui/dbui/mailmergechildwindow.hrc2
-rw-r--r--sw/source/ui/dbui/mailmergechildwindow.src14
-rw-r--r--sw/source/ui/dbui/mailmergehelper.cxx173
-rw-r--r--sw/source/ui/dbui/mailmergewizard.cxx34
-rw-r--r--sw/source/ui/dbui/mmaddressblockpage.cxx170
-rw-r--r--sw/source/ui/dbui/mmaddressblockpage.hxx24
-rw-r--r--sw/source/ui/dbui/mmaddressblockpage.src9
-rw-r--r--sw/source/ui/dbui/mmconfigitem.cxx287
-rw-r--r--sw/source/ui/dbui/mmdocselectpage.cxx22
-rw-r--r--sw/source/ui/dbui/mmdocselectpage.hxx6
-rw-r--r--sw/source/ui/dbui/mmgreetingspage.cxx47
-rw-r--r--sw/source/ui/dbui/mmgreetingspage.hxx10
-rw-r--r--sw/source/ui/dbui/mmlayoutpage.cxx49
-rw-r--r--sw/source/ui/dbui/mmlayoutpage.hxx6
-rw-r--r--sw/source/ui/dbui/mmmergepage.cxx17
-rw-r--r--sw/source/ui/dbui/mmmergepage.hxx6
-rw-r--r--sw/source/ui/dbui/mmoutputpage.cxx183
-rw-r--r--sw/source/ui/dbui/mmoutputpage.hxx9
-rw-r--r--sw/source/ui/dbui/mmoutputpage.src2
-rw-r--r--sw/source/ui/dbui/mmoutputtypepage.cxx12
-rw-r--r--sw/source/ui/dbui/mmoutputtypepage.hxx6
-rw-r--r--sw/source/ui/dbui/mmpreparemergepage.cxx26
-rw-r--r--sw/source/ui/dbui/mmpreparemergepage.hxx6
-rw-r--r--sw/source/ui/dbui/selectdbtabledialog.cxx16
-rw-r--r--sw/source/ui/dbui/selectdbtabledialog.hxx7
-rw-r--r--sw/source/ui/dbui/swdbtoolsclient.cxx30
-rw-r--r--sw/source/ui/dialog/SwSpellDialogChildWindow.cxx60
-rw-r--r--sw/source/ui/dialog/abstract.cxx17
-rw-r--r--sw/source/ui/dialog/abstract.src5
-rw-r--r--sw/source/ui/dialog/addrdlg.cxx17
-rw-r--r--sw/source/ui/dialog/ascfldlg.cxx30
-rw-r--r--sw/source/ui/dialog/dialog.src2
-rw-r--r--sw/source/ui/dialog/docstdlg.cxx47
-rw-r--r--sw/source/ui/dialog/docstdlg.hrc2
-rw-r--r--sw/source/ui/dialog/docstdlg.src33
-rw-r--r--sw/source/ui/dialog/macassgn.cxx24
-rw-r--r--sw/source/ui/dialog/regionsw.cxx36
-rw-r--r--sw/source/ui/dialog/regionsw.hrc6
-rw-r--r--sw/source/ui/dialog/regionsw.src10
-rw-r--r--sw/source/ui/dialog/swabstdlg.cxx8
-rw-r--r--sw/source/ui/dialog/swdialmgr.cxx5
-rw-r--r--sw/source/ui/dialog/swdlgfact.cxx224
-rw-r--r--sw/source/ui/dialog/swdlgfact.hxx17
-rw-r--r--sw/source/ui/dialog/swuiexp.cxx3
-rw-r--r--sw/source/ui/dialog/swwrtshitem.cxx3
-rw-r--r--sw/source/ui/dialog/uiregionsw.cxx361
-rw-r--r--sw/source/ui/dialog/wordcountdialog.cxx17
-rw-r--r--sw/source/ui/dialog/wordcountdialog.hrc30
-rw-r--r--sw/source/ui/dialog/wordcountdialog.src42
-rw-r--r--[-rwxr-xr-x]sw/source/ui/dochdl/gloshdl.cxx226
-rw-r--r--sw/source/ui/dochdl/selglos.cxx9
-rw-r--r--sw/source/ui/dochdl/selglos.src2
-rwxr-xr-xsw/source/ui/dochdl/swdtflvr.cxx523
-rw-r--r--sw/source/ui/docvw/AnchorOverlayObject.cxx5
-rw-r--r--sw/source/ui/docvw/AnchorOverlayObject.hxx7
-rw-r--r--sw/source/ui/docvw/AnnotationMenuButton.cxx7
-rw-r--r--sw/source/ui/docvw/AnnotationMenuButton.hxx7
-rw-r--r--sw/source/ui/docvw/AnnotationWin.cxx20
-rw-r--r--sw/source/ui/docvw/PostItMgr.cxx223
-rw-r--r--sw/source/ui/docvw/ShadowOverlayObject.cxx5
-rw-r--r--sw/source/ui/docvw/ShadowOverlayObject.hxx7
-rw-r--r--sw/source/ui/docvw/SidebarTxtControl.cxx6
-rw-r--r--sw/source/ui/docvw/SidebarTxtControl.hxx9
-rw-r--r--sw/source/ui/docvw/SidebarTxtControlAcc.cxx15
-rw-r--r--sw/source/ui/docvw/SidebarTxtControlAcc.hxx7
-rw-r--r--sw/source/ui/docvw/SidebarWin.cxx151
-rw-r--r--sw/source/ui/docvw/SidebarWinAcc.cxx13
-rw-r--r--sw/source/ui/docvw/SidebarWinAcc.hxx7
-rw-r--r--sw/source/ui/docvw/annotation.hrc3
-rw-r--r--sw/source/ui/docvw/annotation.src3
-rw-r--r--sw/source/ui/docvw/docvw.hrc2
-rw-r--r--sw/source/ui/docvw/docvw.src3
-rw-r--r--sw/source/ui/docvw/edtdd.cxx51
-rw-r--r--sw/source/ui/docvw/edtwin.cxx960
-rw-r--r--sw/source/ui/docvw/edtwin2.cxx92
-rw-r--r--sw/source/ui/docvw/edtwin3.cxx37
-rw-r--r--sw/source/ui/docvw/extedit.cxx150
-rw-r--r--sw/source/ui/docvw/frmsidebarwincontainer.cxx6
-rw-r--r--sw/source/ui/docvw/frmsidebarwincontainer.hxx5
-rwxr-xr-xsw/source/ui/docvw/romenu.cxx96
-rw-r--r--sw/source/ui/docvw/romenu.hxx12
-rw-r--r--sw/source/ui/docvw/srcedtw.cxx232
-rw-r--r--sw/source/ui/envelp/envelp.src1
-rw-r--r--sw/source/ui/envelp/envfmt.cxx245
-rw-r--r--sw/source/ui/envelp/envfmt.hrc10
-rw-r--r--sw/source/ui/envelp/envfmt.hxx8
-rw-r--r--sw/source/ui/envelp/envfmt.src1
-rw-r--r--sw/source/ui/envelp/envimg.cxx50
-rw-r--r--sw/source/ui/envelp/envlop.hrc8
-rw-r--r--sw/source/ui/envelp/envlop.src1
-rw-r--r--sw/source/ui/envelp/envlop1.cxx95
-rw-r--r--sw/source/ui/envelp/envprt.cxx90
-rw-r--r--sw/source/ui/envelp/envprt.hrc27
-rw-r--r--sw/source/ui/envelp/envprt.hxx4
-rw-r--r--sw/source/ui/envelp/envprt.src79
-rw-r--r--sw/source/ui/envelp/label.hrc8
-rw-r--r--sw/source/ui/envelp/label.src1
-rw-r--r--sw/source/ui/envelp/label1.cxx162
-rw-r--r--sw/source/ui/envelp/labelcfg.cxx31
-rw-r--r--sw/source/ui/envelp/labelexp.cxx18
-rw-r--r--sw/source/ui/envelp/labfmt.cxx133
-rw-r--r--sw/source/ui/envelp/labfmt.hrc8
-rw-r--r--sw/source/ui/envelp/labfmt.hxx4
-rw-r--r--sw/source/ui/envelp/labfmt.src1
-rw-r--r--sw/source/ui/envelp/labimg.cxx26
-rw-r--r--sw/source/ui/envelp/labimp.hxx4
-rw-r--r--sw/source/ui/envelp/labprt.cxx55
-rw-r--r--sw/source/ui/envelp/labprt.hrc6
-rw-r--r--sw/source/ui/envelp/labprt.hxx6
-rw-r--r--sw/source/ui/envelp/labprt.src1
-rw-r--r--sw/source/ui/envelp/mailmrge.cxx99
-rw-r--r--sw/source/ui/envelp/mailmrge.hrc4
-rw-r--r--sw/source/ui/envelp/mailmrge.src2
-rw-r--r--sw/source/ui/envelp/swuilabimp.hxx9
-rw-r--r--sw/source/ui/envelp/syncbtn.cxx20
-rw-r--r--sw/source/ui/fldui/DropDownFieldDialog.cxx11
-rw-r--r--sw/source/ui/fldui/FldRefTreeListBox.cxx3
-rw-r--r--sw/source/ui/fldui/FldRefTreeListBox.hxx2
-rw-r--r--sw/source/ui/fldui/changedb.cxx77
-rw-r--r--sw/source/ui/fldui/changedb.hrc6
-rw-r--r--sw/source/ui/fldui/flddb.cxx93
-rw-r--r--sw/source/ui/fldui/flddb.hxx8
-rw-r--r--sw/source/ui/fldui/flddinf.cxx80
-rw-r--r--sw/source/ui/fldui/flddinf.hxx5
-rw-r--r--sw/source/ui/fldui/flddok.cxx102
-rw-r--r--sw/source/ui/fldui/flddok.hxx8
-rw-r--r--sw/source/ui/fldui/fldedt.cxx87
-rw-r--r--sw/source/ui/fldui/fldfunc.cxx95
-rw-r--r--sw/source/ui/fldui/fldfunc.hxx9
-rw-r--r--sw/source/ui/fldui/fldmgr.cxx255
-rw-r--r--sw/source/ui/fldui/fldpage.cxx54
-rw-r--r--sw/source/ui/fldui/fldpage.hxx8
-rw-r--r--sw/source/ui/fldui/fldref.cxx190
-rw-r--r--sw/source/ui/fldui/fldref.hxx20
-rw-r--r--sw/source/ui/fldui/fldtdlg.cxx60
-rw-r--r--sw/source/ui/fldui/fldtdlg.hrc16
-rw-r--r--sw/source/ui/fldui/fldui.src52
-rw-r--r--sw/source/ui/fldui/fldvar.cxx200
-rw-r--r--sw/source/ui/fldui/fldvar.hxx14
-rw-r--r--sw/source/ui/fldui/fldwrap.cxx70
-rw-r--r--sw/source/ui/fldui/inpdlg.cxx18
-rw-r--r--sw/source/ui/fldui/javaedit.cxx68
-rw-r--r--sw/source/ui/fldui/javaedit.src1
-rw-r--r--sw/source/ui/fldui/xfldui.cxx20
-rw-r--r--sw/source/ui/fmtui/tmpdlg.cxx213
-rw-r--r--sw/source/ui/fmtui/tmpdlg.src5
-rw-r--r--sw/source/ui/frmdlg/colex.cxx45
-rw-r--r--sw/source/ui/frmdlg/colmgr.cxx76
-rw-r--r--sw/source/ui/frmdlg/column.cxx378
-rw-r--r--sw/source/ui/frmdlg/column.hrc8
-rw-r--r--sw/source/ui/frmdlg/column.src123
-rw-r--r--sw/source/ui/frmdlg/cption.cxx38
-rw-r--r--sw/source/ui/frmdlg/cption.src2
-rw-r--r--sw/source/ui/frmdlg/frmdlg.cxx25
-rw-r--r--sw/source/ui/frmdlg/frmmgr.cxx63
-rw-r--r--sw/source/ui/frmdlg/frmpage.cxx543
-rw-r--r--sw/source/ui/frmdlg/frmpage.hrc1
-rw-r--r--sw/source/ui/frmdlg/frmpage.src4
-rw-r--r--sw/source/ui/frmdlg/frmui.src12
-rw-r--r--sw/source/ui/frmdlg/pattern.cxx4
-rw-r--r--sw/source/ui/frmdlg/uiborder.cxx6
-rw-r--r--sw/source/ui/frmdlg/wrap.cxx133
-rw-r--r--sw/source/ui/frmdlg/wrap.hrc49
-rw-r--r--sw/source/ui/frmdlg/wrap.src8
-rw-r--r--sw/source/ui/globdoc/globdoc.cxx10
-rw-r--r--sw/source/ui/inc/DropDownFieldDialog.hxx6
-rw-r--r--sw/source/ui/inc/SidebarWindowsConsts.hxx7
-rw-r--r--sw/source/ui/inc/SwSpellDialogChildWindow.hxx4
-rw-r--r--sw/source/ui/inc/SwXFilterOptions.hxx6
-rw-r--r--sw/source/ui/inc/abstract.hxx12
-rw-r--r--sw/source/ui/inc/actctrl.hxx19
-rw-r--r--sw/source/ui/inc/addrdlg.hxx2
-rw-r--r--[-rwxr-xr-x]sw/source/ui/inc/annotsh.hxx6
-rw-r--r--sw/source/ui/inc/app.hrc211
-rw-r--r--sw/source/ui/inc/ascfldlg.hxx4
-rw-r--r--sw/source/ui/inc/autoedit.hxx6
-rw-r--r--sw/source/ui/inc/barcfg.hxx3
-rw-r--r--sw/source/ui/inc/basesh.hxx15
-rw-r--r--sw/source/ui/inc/beziersh.hxx3
-rw-r--r--sw/source/ui/inc/bmpwin.hxx13
-rw-r--r--sw/source/ui/inc/bookctrl.hxx2
-rw-r--r--sw/source/ui/inc/bookmark.hxx13
-rw-r--r--sw/source/ui/inc/break.hxx10
-rw-r--r--sw/source/ui/inc/caption.hxx11
-rw-r--r--sw/source/ui/inc/cfgdesc.hxx4
-rw-r--r--sw/source/ui/inc/cfgid.h3
-rw-r--r--sw/source/ui/inc/cfgitems.hxx24
-rw-r--r--sw/source/ui/inc/changedb.hxx15
-rw-r--r--sw/source/ui/inc/chartins.hxx2
-rw-r--r--sw/source/ui/inc/chldwrap.hxx2
-rw-r--r--sw/source/ui/inc/chrdlg.hxx22
-rw-r--r--sw/source/ui/inc/cnttab.hxx13
-rw-r--r--sw/source/ui/inc/colex.hxx15
-rw-r--r--sw/source/ui/inc/colmgr.hxx23
-rw-r--r--sw/source/ui/inc/column.hxx30
-rw-r--r--sw/source/ui/inc/conarc.hxx6
-rw-r--r--sw/source/ui/inc/concustomshape.hxx6
-rw-r--r--sw/source/ui/inc/condedit.hxx23
-rw-r--r--sw/source/ui/inc/conform.hxx4
-rw-r--r--sw/source/ui/inc/conpoly.hxx6
-rw-r--r--sw/source/ui/inc/conrect.hxx6
-rw-r--r--sw/source/ui/inc/content.hxx37
-rw-r--r--sw/source/ui/inc/conttree.hxx20
-rw-r--r--sw/source/ui/inc/convert.hxx5
-rw-r--r--sw/source/ui/inc/cption.hxx17
-rw-r--r--sw/source/ui/inc/dbconfig.hxx2
-rw-r--r--sw/source/ui/inc/dbinsdlg.hxx13
-rw-r--r--sw/source/ui/inc/dbtree.hxx3
-rw-r--r--sw/source/ui/inc/dbui.hxx4
-rw-r--r--sw/source/ui/inc/dialmgr.hxx3
-rw-r--r--sw/source/ui/inc/docfnote.hxx3
-rw-r--r--sw/source/ui/inc/docstdlg.hxx10
-rw-r--r--sw/source/ui/inc/drawbase.hxx14
-rw-r--r--sw/source/ui/inc/drawsh.hxx3
-rw-r--r--sw/source/ui/inc/drformsh.hxx3
-rw-r--r--sw/source/ui/inc/drpcps.hxx12
-rw-r--r--sw/source/ui/inc/drwbassh.hxx3
-rw-r--r--sw/source/ui/inc/drwtxtsh.hxx6
-rw-r--r--sw/source/ui/inc/dselect.hxx8
-rw-r--r--sw/source/ui/inc/edtwin.hxx69
-rw-r--r--sw/source/ui/inc/envimg.hxx36
-rw-r--r--sw/source/ui/inc/envlop.hxx16
-rw-r--r--sw/source/ui/inc/extedit.hxx50
-rw-r--r--sw/source/ui/inc/fldedt.hxx8
-rw-r--r--sw/source/ui/inc/fldmgr.hxx47
-rw-r--r--sw/source/ui/inc/fldtdlg.hxx7
-rw-r--r--sw/source/ui/inc/fldwrap.hxx6
-rw-r--r--sw/source/ui/inc/fontcfg.hxx5
-rw-r--r--sw/source/ui/inc/formatclipboard.hxx3
-rw-r--r--sw/source/ui/inc/formedt.hxx14
-rw-r--r--sw/source/ui/inc/frmdlg.hxx7
-rw-r--r--sw/source/ui/inc/frmmgr.hxx26
-rw-r--r--sw/source/ui/inc/frmpage.hxx33
-rw-r--r--sw/source/ui/inc/frmsh.hxx3
-rw-r--r--sw/source/ui/inc/globals.h3
-rw-r--r--sw/source/ui/inc/glosbib.hxx12
-rw-r--r--sw/source/ui/inc/glosdoc.hxx3
-rw-r--r--sw/source/ui/inc/gloshdl.hxx9
-rw-r--r--sw/source/ui/inc/gloslst.hxx6
-rw-r--r--sw/source/ui/inc/glossary.hxx18
-rw-r--r--sw/source/ui/inc/glshell.hxx2
-rw-r--r--sw/source/ui/inc/grfsh.hxx3
-rw-r--r--sw/source/ui/inc/hidfunc.h350
-rw-r--r--sw/source/ui/inc/hyp.hxx17
-rw-r--r--sw/source/ui/inc/idxmrk.hxx8
-rw-r--r--sw/source/ui/inc/imaildsplistener.hxx3
-rw-r--r--sw/source/ui/inc/initui.hxx5
-rw-r--r--sw/source/ui/inc/inpdlg.hxx9
-rw-r--r--sw/source/ui/inc/inputwin.hxx6
-rw-r--r--sw/source/ui/inc/insfnote.hxx11
-rw-r--r--sw/source/ui/inc/insrule.hxx11
-rw-r--r--sw/source/ui/inc/instable.hxx11
-rw-r--r--sw/source/ui/inc/javaedit.hxx10
-rw-r--r--sw/source/ui/inc/label.hxx2
-rw-r--r--sw/source/ui/inc/labelcfg.hxx2
-rw-r--r--sw/source/ui/inc/labimg.hxx47
-rw-r--r--[-rwxr-xr-x]sw/source/ui/inc/langhelper.hxx3
-rw-r--r--sw/source/ui/inc/linenum.hxx11
-rw-r--r--sw/source/ui/inc/listsh.hxx3
-rw-r--r--sw/source/ui/inc/macassgn.hxx4
-rw-r--r--sw/source/ui/inc/mailconfigpage.hxx15
-rw-r--r--sw/source/ui/inc/maildispatcher.hxx6
-rw-r--r--sw/source/ui/inc/mailmergechildwindow.hxx9
-rw-r--r--sw/source/ui/inc/mailmergehelper.hxx34
-rw-r--r--sw/source/ui/inc/mailmergewizard.hxx2
-rw-r--r--sw/source/ui/inc/mailmrge.hxx20
-rw-r--r--sw/source/ui/inc/mediash.hxx3
-rw-r--r--sw/source/ui/inc/mergetbl.hxx6
-rw-r--r--sw/source/ui/inc/misc.hrc1
-rw-r--r--sw/source/ui/inc/mmconfigitem.hxx8
-rw-r--r--sw/source/ui/inc/multmrk.hxx14
-rw-r--r--sw/source/ui/inc/navicfg.hxx7
-rw-r--r--sw/source/ui/inc/navicont.hxx15
-rw-r--r--sw/source/ui/inc/navipi.hxx18
-rw-r--r--sw/source/ui/inc/navmgr.hxx74
-rw-r--r--sw/source/ui/inc/navsh.hxx51
-rw-r--r--sw/source/ui/inc/num.hxx36
-rw-r--r--sw/source/ui/inc/numberingtypelistbox.hxx2
-rw-r--r--sw/source/ui/inc/numfmtlb.hxx2
-rw-r--r--sw/source/ui/inc/numpara.hxx9
-rw-r--r--sw/source/ui/inc/numprevw.hxx5
-rw-r--r--sw/source/ui/inc/olesh.hxx2
-rw-r--r--sw/source/ui/inc/olmenu.hxx2
-rw-r--r--sw/source/ui/inc/optcomp.hxx3
-rw-r--r--sw/source/ui/inc/optload.hxx20
-rw-r--r--sw/source/ui/inc/optpage.hxx50
-rw-r--r--sw/source/ui/inc/outline.hxx23
-rw-r--r--sw/source/ui/inc/pardlg.hxx3
-rw-r--r--sw/source/ui/inc/pattern.hxx2
-rw-r--r--sw/source/ui/inc/pgfnote.hxx18
-rw-r--r--sw/source/ui/inc/pggrid.hxx16
-rw-r--r--sw/source/ui/inc/popbox.hxx7
-rw-r--r--sw/source/ui/inc/prcntfld.hxx6
-rw-r--r--sw/source/ui/inc/pview.hxx26
-rw-r--r--sw/source/ui/inc/redlndlg.hxx25
-rw-r--r--sw/source/ui/inc/regionsw.hxx37
-rw-r--r--sw/source/ui/inc/rowht.hxx16
-rw-r--r--sw/source/ui/inc/scroll.hxx19
-rw-r--r--sw/source/ui/inc/selglos.hxx9
-rw-r--r--sw/source/ui/inc/sharedconnection.hxx3
-rw-r--r--sw/source/ui/inc/shdwcrsr.hxx2
-rw-r--r--sw/source/ui/inc/shells.hrc4
-rw-r--r--sw/source/ui/inc/split.hxx11
-rw-r--r--sw/source/ui/inc/splittbl.hxx2
-rw-r--r--sw/source/ui/inc/srcedtw.hxx5
-rw-r--r--sw/source/ui/inc/srcview.hxx29
-rw-r--r--sw/source/ui/inc/srtdlg.hxx10
-rw-r--r--sw/source/ui/inc/stmenu.hxx6
-rw-r--r--sw/source/ui/inc/swcont.hxx15
-rw-r--r--sw/source/ui/inc/swdtflvr.hxx7
-rw-r--r--sw/source/ui/inc/swlbox.hxx14
-rw-r--r--sw/source/ui/inc/swmodalredlineacceptdlg.hxx3
-rw-r--r--sw/source/ui/inc/swrenamexnameddlg.hxx10
-rw-r--r--sw/source/ui/inc/swtablerep.hxx2
-rw-r--r--sw/source/ui/inc/swuiccoll.hxx2
-rw-r--r--sw/source/ui/inc/swuicnttab.hxx41
-rw-r--r--sw/source/ui/inc/swuiidxmrk.hxx30
-rw-r--r--sw/source/ui/inc/swuipardlg.hxx3
-rw-r--r--sw/source/ui/inc/swvset.hxx3
-rw-r--r--sw/source/ui/inc/swwrtshitem.hxx3
-rw-r--r--sw/source/ui/inc/syncbtn.hxx12
-rw-r--r--sw/source/ui/inc/tabledlg.hxx5
-rw-r--r--sw/source/ui/inc/tablemgr.hxx3
-rw-r--r--sw/source/ui/inc/tabsh.hxx5
-rw-r--r--sw/source/ui/inc/tautofmt.hxx12
-rw-r--r--sw/source/ui/inc/tblctrl.hxx2
-rw-r--r--sw/source/ui/inc/tblnumfm.hxx2
-rw-r--r--sw/source/ui/inc/tbxanchr.hxx2
-rw-r--r--sw/source/ui/inc/textcontrolcombo.hxx5
-rw-r--r--sw/source/ui/inc/textsh.hxx10
-rw-r--r--sw/source/ui/inc/titlepage.hxx102
-rw-r--r--sw/source/ui/inc/tmpdlg.hxx7
-rw-r--r--sw/source/ui/inc/tmplctrl.hxx6
-rw-r--r--sw/source/ui/inc/toxmgr.hxx19
-rw-r--r--sw/source/ui/inc/uiborder.hxx2
-rw-r--r--sw/source/ui/inc/uiitems.hxx20
-rw-r--r--sw/source/ui/inc/uinums.hxx17
-rw-r--r--sw/source/ui/inc/uitool.hxx22
-rw-r--r--sw/source/ui/inc/uivwimp.hxx11
-rw-r--r--sw/source/ui/inc/unodispatch.hxx12
-rw-r--r--sw/source/ui/inc/unotools.hxx13
-rw-r--r--sw/source/ui/inc/unotxvw.hxx11
-rw-r--r--sw/source/ui/inc/usrpref.hxx28
-rw-r--r--sw/source/ui/inc/utlui.hrc16
-rwxr-xr-xsw/source/ui/inc/view.hxx100
-rw-r--r--sw/source/ui/inc/viewlayoutctrl.hxx4
-rw-r--r--sw/source/ui/inc/wformsh.hxx2
-rw-r--r--sw/source/ui/inc/wfrmsh.hxx2
-rw-r--r--sw/source/ui/inc/wgrfsh.hxx2
-rw-r--r--sw/source/ui/inc/wlistsh.hxx3
-rw-r--r--sw/source/ui/inc/wolesh.hxx2
-rw-r--r--sw/source/ui/inc/wordcountdialog.hxx9
-rw-r--r--sw/source/ui/inc/workctrl.hxx16
-rw-r--r--sw/source/ui/inc/wrap.hxx12
-rw-r--r--sw/source/ui/inc/wrtsh.hxx184
-rw-r--r--sw/source/ui/inc/wtabsh.hxx3
-rw-r--r--sw/source/ui/inc/wtextsh.hxx2
-rw-r--r--sw/source/ui/inc/wview.hxx7
-rw-r--r--sw/source/ui/inc/zoomctrl.hxx2
-rw-r--r--sw/source/ui/index/cntex.cxx77
-rw-r--r--sw/source/ui/index/cnttab.cxx975
-rw-r--r--sw/source/ui/index/cnttab.hrc2
-rw-r--r--[-rwxr-xr-x]sw/source/ui/index/cnttab.src10
-rw-r--r--sw/source/ui/index/idxmrk.cxx38
-rw-r--r--sw/source/ui/index/idxmrk.src1
-rw-r--r--sw/source/ui/index/multmrk.cxx6
-rw-r--r--sw/source/ui/index/swuiidxmrk.cxx237
-rw-r--r--sw/source/ui/index/toxmgr.cxx54
-rw-r--r--[-rwxr-xr-x]sw/source/ui/lingu/hhcwrp.cxx97
-rw-r--r--sw/source/ui/lingu/hyp.cxx10
-rw-r--r--sw/source/ui/lingu/olmenu.cxx96
-rw-r--r--sw/source/ui/lingu/sdrhhcwrap.cxx20
-rw-r--r--sw/source/ui/lingu/sdrhhcwrap.hxx2
-rw-r--r--sw/source/ui/misc/bookmark.cxx66
-rw-r--r--sw/source/ui/misc/bookmark.src2
-rw-r--r--sw/source/ui/misc/docfnote.cxx75
-rw-r--r--sw/source/ui/misc/docfnote.src1
-rw-r--r--sw/source/ui/misc/glosbib.cxx79
-rw-r--r--sw/source/ui/misc/glosbib.src1
-rw-r--r--sw/source/ui/misc/glosdoc.cxx129
-rw-r--r--sw/source/ui/misc/glossary.cxx217
-rw-r--r--sw/source/ui/misc/glossary.hrc8
-rw-r--r--sw/source/ui/misc/glossary.src100
-rw-r--r--sw/source/ui/misc/glshell.cxx83
-rw-r--r--sw/source/ui/misc/impfnote.hxx11
-rw-r--r--sw/source/ui/misc/insfnote.cxx62
-rw-r--r--sw/source/ui/misc/insfnote.src1
-rw-r--r--sw/source/ui/misc/insrule.cxx47
-rw-r--r--sw/source/ui/misc/linenum.cxx105
-rw-r--r--sw/source/ui/misc/num.cxx169
-rw-r--r--sw/source/ui/misc/num.src5
-rw-r--r--sw/source/ui/misc/numberingtypelistbox.cxx26
-rw-r--r--sw/source/ui/misc/numberingtypelistbox.src2
-rw-r--r--sw/source/ui/misc/outline.cxx283
-rw-r--r--sw/source/ui/misc/outline.src1
-rw-r--r--sw/source/ui/misc/pgfnote.cxx201
-rw-r--r--sw/source/ui/misc/pgfnote.hrc9
-rw-r--r--sw/source/ui/misc/pgfnote.src54
-rw-r--r--sw/source/ui/misc/pggrid.cxx107
-rw-r--r--sw/source/ui/misc/pggrid.hrc2
-rw-r--r--sw/source/ui/misc/pggrid.src12
-rw-r--r--sw/source/ui/misc/redlndlg.cxx265
-rw-r--r--sw/source/ui/misc/redlndlg.src1
-rw-r--r--sw/source/ui/misc/srtdlg.cxx31
-rw-r--r--sw/source/ui/misc/srtdlg.src4
-rw-r--r--sw/source/ui/misc/swmodalredlineacceptdlg.cxx41
-rw-r--r--sw/source/ui/misc/titlepage.cxx367
-rw-r--r--sw/source/ui/misc/titlepage.hrc50
-rw-r--r--sw/source/ui/misc/titlepage.src244
-rw-r--r--sw/source/ui/ribbar/conarc.cxx7
-rw-r--r--sw/source/ui/ribbar/concustomshape.cxx15
-rw-r--r--sw/source/ui/ribbar/conform.cxx4
-rw-r--r--sw/source/ui/ribbar/conpoly.cxx2
-rw-r--r--sw/source/ui/ribbar/conrect.cxx2
-rw-r--r--sw/source/ui/ribbar/drawbase.cxx26
-rw-r--r--sw/source/ui/ribbar/dselect.cxx2
-rw-r--r--[-rwxr-xr-x]sw/source/ui/ribbar/inputwin.cxx52
-rw-r--r--sw/source/ui/ribbar/inputwin.src10
-rw-r--r--sw/source/ui/ribbar/tblctrl.cxx3
-rw-r--r--sw/source/ui/ribbar/tbxanchr.cxx32
-rw-r--r--sw/source/ui/ribbar/workctrl.cxx184
-rw-r--r--sw/source/ui/ribbar/workctrl.hrc3
-rw-r--r--sw/source/ui/ribbar/workctrl.src58
-rw-r--r--[-rwxr-xr-x]sw/source/ui/shells/annotsh.cxx140
-rw-r--r--sw/source/ui/shells/basesh.cxx217
-rw-r--r--sw/source/ui/shells/beziersh.cxx24
-rw-r--r--sw/source/ui/shells/drawdlg.cxx40
-rw-r--r--sw/source/ui/shells/drawsh.cxx46
-rw-r--r--sw/source/ui/shells/drformsh.cxx8
-rw-r--r--sw/source/ui/shells/drwbassh.cxx67
-rw-r--r--sw/source/ui/shells/drwtxtex.cxx76
-rw-r--r--sw/source/ui/shells/drwtxtsh.cxx204
-rw-r--r--sw/source/ui/shells/frmsh.cxx239
-rw-r--r--sw/source/ui/shells/grfsh.cxx68
-rw-r--r--sw/source/ui/shells/grfshex.cxx4
-rw-r--r--[-rwxr-xr-x]sw/source/ui/shells/langhelper.cxx51
-rw-r--r--sw/source/ui/shells/listsh.cxx14
-rw-r--r--sw/source/ui/shells/mediash.cxx17
-rw-r--r--sw/source/ui/shells/navsh.cxx139
-rw-r--r--sw/source/ui/shells/olesh.cxx14
-rw-r--r--sw/source/ui/shells/shells.src1
-rw-r--r--sw/source/ui/shells/slotadd.cxx6
-rw-r--r--sw/source/ui/shells/tabsh.cxx159
-rw-r--r--sw/source/ui/shells/textdrw.cxx11
-rw-r--r--sw/source/ui/shells/textfld.cxx40
-rw-r--r--sw/source/ui/shells/textglos.cxx14
-rw-r--r--sw/source/ui/shells/textidx.cxx29
-rw-r--r--[-rwxr-xr-x]sw/source/ui/shells/textsh.cxx186
-rw-r--r--sw/source/ui/shells/textsh1.cxx193
-rw-r--r--sw/source/ui/shells/textsh2.cxx22
-rw-r--r--sw/source/ui/shells/txtattr.cxx108
-rw-r--r--sw/source/ui/shells/txtcrsr.cxx41
-rw-r--r--sw/source/ui/shells/txtnum.cxx40
-rw-r--r--sw/source/ui/smartmenu/stmenu.cxx9
-rw-r--r--sw/source/ui/table/chartins.cxx28
-rw-r--r--sw/source/ui/table/chartins.src2
-rw-r--r--sw/source/ui/table/colwd.cxx14
-rw-r--r--sw/source/ui/table/convert.cxx7
-rw-r--r--sw/source/ui/table/instable.cxx9
-rw-r--r--sw/source/ui/table/mergetbl.cxx6
-rw-r--r--sw/source/ui/table/rowht.cxx12
-rw-r--r--sw/source/ui/table/rowht.src2
-rw-r--r--sw/source/ui/table/splittbl.cxx7
-rw-r--r--sw/source/ui/table/swtablerep.cxx46
-rw-r--r--sw/source/ui/table/tabledlg.cxx222
-rw-r--r--sw/source/ui/table/tabledlg.src1
-rw-r--r--sw/source/ui/table/tablemgr.cxx26
-rw-r--r--sw/source/ui/table/tablepg.hxx12
-rw-r--r--sw/source/ui/table/tautofmt.cxx50
-rw-r--r--sw/source/ui/table/tautofmt.src2
-rw-r--r--sw/source/ui/uiview/formatclipboard.cxx45
-rw-r--r--sw/source/ui/uiview/pview.cxx424
-rw-r--r--sw/source/ui/uiview/pview.src1
-rw-r--r--sw/source/ui/uiview/scroll.cxx20
-rw-r--r--sw/source/ui/uiview/srcview.cxx112
-rw-r--r--sw/source/ui/uiview/swcli.cxx11
-rw-r--r--sw/source/ui/uiview/uivwimp.cxx41
-rwxr-xr-xsw/source/ui/uiview/view.cxx217
-rw-r--r--sw/source/ui/uiview/view.src1
-rw-r--r--sw/source/ui/uiview/view0.cxx31
-rw-r--r--sw/source/ui/uiview/view1.cxx34
-rw-r--r--sw/source/ui/uiview/view2.cxx213
-rw-r--r--sw/source/ui/uiview/viewcoll.cxx12
-rw-r--r--sw/source/ui/uiview/viewdlg.cxx7
-rw-r--r--sw/source/ui/uiview/viewdlg2.cxx24
-rw-r--r--sw/source/ui/uiview/viewdraw.cxx93
-rw-r--r--sw/source/ui/uiview/viewfunc.hxx3
-rw-r--r--[-rwxr-xr-x]sw/source/ui/uiview/viewling.cxx208
-rw-r--r--sw/source/ui/uiview/viewmdi.cxx160
-rw-r--r--sw/source/ui/uiview/viewport.cxx82
-rw-r--r--sw/source/ui/uiview/viewprt.cxx56
-rw-r--r--sw/source/ui/uiview/viewsrch.cxx71
-rw-r--r--sw/source/ui/uiview/viewstat.cxx21
-rw-r--r--sw/source/ui/uiview/viewtab.cxx142
-rw-r--r--sw/source/ui/uno/RefreshListenerContainer.cxx3
-rw-r--r--sw/source/ui/uno/SwXDocumentSettings.cxx89
-rw-r--r--sw/source/ui/uno/SwXDocumentSettings.hxx7
-rw-r--r--sw/source/ui/uno/SwXFilterOptions.cxx41
-rw-r--r--sw/source/ui/uno/detreg.cxx2
-rw-r--r--sw/source/ui/uno/dlelstnr.cxx44
-rw-r--r--sw/source/ui/uno/swdet2.cxx31
-rw-r--r--sw/source/ui/uno/swdetect.cxx41
-rw-r--r--sw/source/ui/uno/swdetect.hxx5
-rw-r--r--sw/source/ui/uno/unoatxt.cxx293
-rw-r--r--sw/source/ui/uno/unodefaults.cxx14
-rw-r--r--sw/source/ui/uno/unodefaults.hxx2
-rw-r--r--sw/source/ui/uno/unodispatch.cxx64
-rw-r--r--sw/source/ui/uno/unodoc.cxx16
-rw-r--r--sw/source/ui/uno/unofreg.cxx25
-rw-r--r--sw/source/ui/uno/unomailmerge.cxx82
-rw-r--r--sw/source/ui/uno/unomod.cxx75
-rw-r--r--sw/source/ui/uno/unomodule.cxx14
-rw-r--r--sw/source/ui/uno/unomodule.hxx3
-rw-r--r--[-rwxr-xr-x]sw/source/ui/uno/unotxdoc.cxx635
-rw-r--r--[-rwxr-xr-x]sw/source/ui/uno/unotxvw.cxx381
-rw-r--r--sw/source/ui/utlui/attrdesc.cxx30
-rw-r--r--sw/source/ui/utlui/attrdesc.src14
-rw-r--r--sw/source/ui/utlui/bookctrl.cxx22
-rw-r--r--sw/source/ui/utlui/condedit.cxx12
-rw-r--r--sw/source/ui/utlui/content.cxx512
-rw-r--r--sw/source/ui/utlui/glbltree.cxx153
-rw-r--r--sw/source/ui/utlui/gloslst.cxx29
-rw-r--r--sw/source/ui/utlui/initui.cxx38
-rw-r--r--sw/source/ui/utlui/initui.src3
-rw-r--r--sw/source/ui/utlui/navicfg.cxx20
-rw-r--r--sw/source/ui/utlui/navipi.cxx155
-rw-r--r--sw/source/ui/utlui/navipi.hrc1
-rw-r--r--sw/source/ui/utlui/navipi.src31
-rw-r--r--sw/source/ui/utlui/numfmtlb.cxx58
-rw-r--r--sw/source/ui/utlui/prcntfld.cxx76
-rw-r--r--sw/source/ui/utlui/shdwcrsr.cxx2
-rw-r--r--sw/source/ui/utlui/swrenamexnameddlg.cxx15
-rw-r--r--sw/source/ui/utlui/textcontrolcombo.cxx4
-rw-r--r--sw/source/ui/utlui/tmplctrl.cxx22
-rw-r--r--sw/source/ui/utlui/uiitems.cxx85
-rw-r--r--sw/source/ui/utlui/uitool.cxx60
-rw-r--r--sw/source/ui/utlui/unotools.cxx97
-rw-r--r--sw/source/ui/utlui/utlui.src99
-rw-r--r--sw/source/ui/utlui/viewlayoutctrl.cxx48
-rw-r--r--sw/source/ui/utlui/zoomctrl.cxx16
-rw-r--r--sw/source/ui/vba/service.cxx7
-rw-r--r--sw/source/ui/vba/vbaaddin.cxx2
-rw-r--r--sw/source/ui/vba/vbaaddin.hxx3
-rw-r--r--sw/source/ui/vba/vbaaddins.cxx5
-rw-r--r--sw/source/ui/vba/vbaaddins.hxx3
-rw-r--r--sw/source/ui/vba/vbaapplication.cxx20
-rw-r--r--sw/source/ui/vba/vbaapplication.hxx4
-rw-r--r--sw/source/ui/vba/vbaautotextentry.cxx31
-rw-r--r--sw/source/ui/vba/vbaautotextentry.hxx3
-rw-r--r--sw/source/ui/vba/vbabookmark.cxx9
-rw-r--r--sw/source/ui/vba/vbabookmark.hxx3
-rw-r--r--sw/source/ui/vba/vbabookmarks.cxx17
-rw-r--r--sw/source/ui/vba/vbabookmarks.hxx5
-rw-r--r--sw/source/ui/vba/vbaborders.cxx14
-rw-r--r--sw/source/ui/vba/vbaborders.hxx2
-rw-r--r--sw/source/ui/vba/vbacell.cxx119
-rw-r--r--sw/source/ui/vba/vbacell.hxx67
-rw-r--r--sw/source/ui/vba/vbacells.cxx223
-rw-r--r--sw/source/ui/vba/vbacells.hxx75
-rw-r--r--sw/source/ui/vba/vbacheckbox.cxx97
-rw-r--r--sw/source/ui/vba/vbacheckbox.hxx58
-rw-r--r--sw/source/ui/vba/vbacolumn.cxx165
-rw-r--r--sw/source/ui/vba/vbacolumn.hxx68
-rw-r--r--sw/source/ui/vba/vbacolumns.cxx160
-rw-r--r--sw/source/ui/vba/vbacolumns.hxx75
-rw-r--r--sw/source/ui/vba/vbadialog.cxx3
-rw-r--r--sw/source/ui/vba/vbadialog.hxx3
-rw-r--r--sw/source/ui/vba/vbadialogs.cxx2
-rw-r--r--sw/source/ui/vba/vbadialogs.hxx3
-rw-r--r--sw/source/ui/vba/vbadocument.cxx165
-rw-r--r--sw/source/ui/vba/vbadocument.hxx23
-rw-r--r--sw/source/ui/vba/vbadocumentproperties.cxx24
-rw-r--r--sw/source/ui/vba/vbadocumentproperties.hxx5
-rw-r--r--sw/source/ui/vba/vbadocuments.cxx5
-rw-r--r--sw/source/ui/vba/vbadocuments.hxx3
-rw-r--r--[-rwxr-xr-x]sw/source/ui/vba/vbaeventshelper.cxx3
-rw-r--r--[-rwxr-xr-x]sw/source/ui/vba/vbaeventshelper.hxx2
-rw-r--r--sw/source/ui/vba/vbafield.cxx121
-rw-r--r--sw/source/ui/vba/vbafield.hxx5
-rw-r--r--sw/source/ui/vba/vbafind.cxx9
-rw-r--r--sw/source/ui/vba/vbafind.hxx6
-rw-r--r--sw/source/ui/vba/vbafont.cxx9
-rw-r--r--sw/source/ui/vba/vbafont.hxx3
-rw-r--r--sw/source/ui/vba/vbaformfield.cxx138
-rw-r--r--sw/source/ui/vba/vbaformfield.hxx61
-rw-r--r--sw/source/ui/vba/vbaformfields.cxx205
-rw-r--r--sw/source/ui/vba/vbaformfields.hxx60
-rw-r--r--sw/source/ui/vba/vbaframe.cxx74
-rw-r--r--sw/source/ui/vba/vbaframe.hxx57
-rw-r--r--sw/source/ui/vba/vbaframes.cxx109
-rw-r--r--sw/source/ui/vba/vbaframes.hxx61
-rw-r--r--sw/source/ui/vba/vbaglobals.cxx14
-rw-r--r--sw/source/ui/vba/vbaglobals.hxx4
-rw-r--r--sw/source/ui/vba/vbaheaderfooter.cxx3
-rw-r--r--sw/source/ui/vba/vbaheaderfooter.hxx3
-rw-r--r--sw/source/ui/vba/vbaheaderfooterhelper.cxx131
-rw-r--r--sw/source/ui/vba/vbaheaderfooterhelper.hxx23
-rw-r--r--sw/source/ui/vba/vbaheadersfooters.cxx150
-rw-r--r--sw/source/ui/vba/vbaheadersfooters.hxx62
-rw-r--r--sw/source/ui/vba/vbainformationhelper.cxx3
-rw-r--r--sw/source/ui/vba/vbainformationhelper.hxx3
-rw-r--r--sw/source/ui/vba/vbalistformat.cxx120
-rw-r--r--sw/source/ui/vba/vbalistformat.hxx60
-rw-r--r--sw/source/ui/vba/vbalistgalleries.cxx115
-rw-r--r--sw/source/ui/vba/vbalistgalleries.hxx61
-rw-r--r--sw/source/ui/vba/vbalistgallery.cxx72
-rw-r--r--sw/source/ui/vba/vbalistgallery.hxx58
-rw-r--r--sw/source/ui/vba/vbalisthelper.cxx705
-rw-r--r--sw/source/ui/vba/vbalisthelper.hxx77
-rw-r--r--sw/source/ui/vba/vbalistlevel.cxx400
-rw-r--r--sw/source/ui/vba/vbalistlevel.hxx81
-rw-r--r--sw/source/ui/vba/vbalistlevels.cxx118
-rw-r--r--sw/source/ui/vba/vbalistlevels.hxx62
-rw-r--r--sw/source/ui/vba/vbalisttemplate.cxx79
-rw-r--r--sw/source/ui/vba/vbalisttemplate.hxx60
-rw-r--r--sw/source/ui/vba/vbalisttemplates.cxx112
-rw-r--r--sw/source/ui/vba/vbalisttemplates.hxx62
-rw-r--r--sw/source/ui/vba/vbaoptions.cxx7
-rw-r--r--sw/source/ui/vba/vbaoptions.hxx3
-rw-r--r--sw/source/ui/vba/vbapagesetup.cxx10
-rw-r--r--sw/source/ui/vba/vbapagesetup.hxx3
-rw-r--r--sw/source/ui/vba/vbapalette.cxx5
-rw-r--r--sw/source/ui/vba/vbapalette.hxx3
-rw-r--r--sw/source/ui/vba/vbapane.cxx2
-rw-r--r--sw/source/ui/vba/vbapane.hxx3
-rw-r--r--sw/source/ui/vba/vbapanes.cxx3
-rw-r--r--sw/source/ui/vba/vbapanes.hxx3
-rw-r--r--sw/source/ui/vba/vbaparagraph.cxx19
-rw-r--r--sw/source/ui/vba/vbaparagraph.hxx5
-rw-r--r--sw/source/ui/vba/vbaparagraphformat.cxx12
-rw-r--r--sw/source/ui/vba/vbaparagraphformat.hxx3
-rw-r--r--sw/source/ui/vba/vbarange.cxx122
-rw-r--r--sw/source/ui/vba/vbarange.hxx23
-rw-r--r--sw/source/ui/vba/vbarangehelper.cxx33
-rw-r--r--sw/source/ui/vba/vbarangehelper.hxx6
-rw-r--r--sw/source/ui/vba/vbareplacement.cxx8
-rw-r--r--sw/source/ui/vba/vbareplacement.hxx6
-rw-r--r--sw/source/ui/vba/vbarevision.cxx104
-rw-r--r--sw/source/ui/vba/vbarevision.hxx60
-rw-r--r--sw/source/ui/vba/vbarevisions.cxx188
-rw-r--r--sw/source/ui/vba/vbarevisions.hxx66
-rw-r--r--sw/source/ui/vba/vbarow.cxx135
-rw-r--r--sw/source/ui/vba/vbarow.hxx69
-rw-r--r--sw/source/ui/vba/vbarows.cxx368
-rw-r--r--sw/source/ui/vba/vbarows.hxx87
-rw-r--r--sw/source/ui/vba/vbasection.cxx17
-rw-r--r--sw/source/ui/vba/vbasection.hxx7
-rw-r--r--sw/source/ui/vba/vbasections.cxx16
-rw-r--r--sw/source/ui/vba/vbasections.hxx5
-rw-r--r--sw/source/ui/vba/vbaselection.cxx804
-rw-r--r--sw/source/ui/vba/vbaselection.hxx38
-rw-r--r--sw/source/ui/vba/vbastyle.cxx146
-rw-r--r--sw/source/ui/vba/vbastyle.hxx23
-rw-r--r--sw/source/ui/vba/vbastyles.cxx163
-rw-r--r--sw/source/ui/vba/vbastyles.hxx3
-rw-r--r--sw/source/ui/vba/vbasystem.cxx141
-rw-r--r--sw/source/ui/vba/vbasystem.hxx3
-rw-r--r--sw/source/ui/vba/vbatable.cxx26
-rw-r--r--sw/source/ui/vba/vbatable.hxx8
-rw-r--r--sw/source/ui/vba/vbatablehelper.cxx295
-rw-r--r--sw/source/ui/vba/vbatablehelper.hxx70
-rw-r--r--sw/source/ui/vba/vbatableofcontents.cxx124
-rw-r--r--sw/source/ui/vba/vbatableofcontents.hxx70
-rw-r--r--sw/source/ui/vba/vbatables.cxx103
-rw-r--r--sw/source/ui/vba/vbatables.hxx3
-rw-r--r--sw/source/ui/vba/vbatablesofcontents.cxx195
-rw-r--r--sw/source/ui/vba/vbatablesofcontents.hxx64
-rw-r--r--sw/source/ui/vba/vbatabstop.cxx62
-rw-r--r--sw/source/ui/vba/vbatabstop.hxx54
-rw-r--r--sw/source/ui/vba/vbatabstops.cxx280
-rw-r--r--sw/source/ui/vba/vbatabstops.hxx65
-rw-r--r--sw/source/ui/vba/vbatemplate.cxx63
-rw-r--r--sw/source/ui/vba/vbatemplate.hxx6
-rw-r--r--sw/source/ui/vba/vbavariable.cxx2
-rw-r--r--sw/source/ui/vba/vbavariable.hxx3
-rw-r--r--sw/source/ui/vba/vbavariables.cxx3
-rw-r--r--sw/source/ui/vba/vbavariables.hxx3
-rw-r--r--sw/source/ui/vba/vbaview.cxx49
-rw-r--r--sw/source/ui/vba/vbaview.hxx3
-rw-r--r--sw/source/ui/vba/vbawindow.cxx46
-rw-r--r--sw/source/ui/vba/vbawindow.hxx5
-rw-r--r--sw/source/ui/vba/vbawrapformat.cxx2
-rw-r--r--sw/source/ui/vba/vbawrapformat.hxx3
-rw-r--r--sw/source/ui/vba/wordvbahelper.cxx101
-rw-r--r--sw/source/ui/vba/wordvbahelper.hxx18
-rw-r--r--sw/source/ui/web/wdocsh.cxx14
-rw-r--r--sw/source/ui/web/wformsh.cxx6
-rw-r--r--sw/source/ui/web/wfrmsh.cxx19
-rw-r--r--sw/source/ui/web/wgrfsh.cxx2
-rw-r--r--sw/source/ui/web/wlistsh.cxx4
-rw-r--r--sw/source/ui/web/wolesh.cxx4
-rw-r--r--sw/source/ui/web/wtabsh.cxx4
-rw-r--r--sw/source/ui/web/wtextsh.cxx18
-rw-r--r--sw/source/ui/web/wview.cxx21
-rw-r--r--sw/source/ui/wrtsh/delete.cxx45
-rw-r--r--sw/source/ui/wrtsh/move.cxx97
-rw-r--r--sw/source/ui/wrtsh/navmgr.cxx224
-rw-r--r--sw/source/ui/wrtsh/select.cxx8
-rw-r--r--sw/source/ui/wrtsh/wrtsh1.cxx206
-rw-r--r--sw/source/ui/wrtsh/wrtsh2.cxx26
-rw-r--r--sw/source/ui/wrtsh/wrtsh3.cxx12
-rw-r--r--sw/source/ui/wrtsh/wrtsh4.cxx44
-rw-r--r--sw/source/ui/wrtsh/wrtundo.cxx3
-rwxr-xr-xsw/uiconfig/sglobal/menubar/menubar.xml10
-rw-r--r--sw/uiconfig/sglobal/statusbar/statusbar.xml2
-rw-r--r--sw/uiconfig/sglobal/toolbar/standardbar.xml2
-rwxr-xr-xsw/uiconfig/sweb/menubar/menubar.xml11
-rw-r--r--sw/uiconfig/sweb/statusbar/statusbar.xml2
-rw-r--r--sw/uiconfig/sweb/toolbar/standardbar.xml2
-rwxr-xr-xsw/uiconfig/swform/menubar/menubar.xml10
-rw-r--r--sw/uiconfig/swform/statusbar/statusbar.xml2
-rw-r--r--sw/uiconfig/swform/toolbar/standardbar.xml2
-rwxr-xr-xsw/uiconfig/swreport/menubar/menubar.xml10
-rw-r--r--sw/uiconfig/swreport/statusbar/statusbar.xml2
-rw-r--r--sw/uiconfig/swreport/toolbar/standardbar.xml2
-rwxr-xr-xsw/uiconfig/swriter/menubar/menubar.xml11
-rw-r--r--sw/uiconfig/swriter/statusbar/statusbar.xml2
-rw-r--r--sw/uiconfig/swriter/toolbar/navigationobjectbar.xml6
-rw-r--r--sw/uiconfig/swriter/toolbar/standardbar.xml2
-rwxr-xr-xsw/uiconfig/swxform/menubar/menubar.xml10
-rw-r--r--sw/uiconfig/swxform/statusbar/statusbar.xml2
-rw-r--r--sw/uiconfig/swxform/toolbar/standardbar.xml2
-rw-r--r--sw/util/msword.component7
-rw-r--r--sw/util/sw.component7
-rw-r--r--sw/xml/writer.xml2
1981 files changed, 62354 insertions, 78626 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..788a39643c8c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,16 @@
+# backup and temporary files
+*~
+.*.sw[op]
+.gitattributes
+
+# the build directories
+/*/unxlng??
+/*/unxlng??.pro
+/*/wntmsc???
+/*/wntmsc???.pro
+/*/unxmac??.pro
+/*/unxmac??
+/*/unxios?
+/*/unxios?.pro
+/*/unxand?
+/*/unxand?.pro
diff --git a/starmath/CppunitTest_starmath_qa_cppunit.mk b/starmath/CppunitTest_starmath_qa_cppunit.mk
new file mode 100644
index 000000000000..0f4606a2064e
--- /dev/null
+++ b/starmath/CppunitTest_starmath_qa_cppunit.mk
@@ -0,0 +1,113 @@
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# David Tardon, Red Hat Inc. <dtardon@redhat.com>
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Major Contributor(s):
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_CppunitTest_CppunitTest,starmath_qa_cppunit))
+
+$(eval $(call gb_CppunitTest_set_include,starmath_qa_cppunit,\
+ $$(INCLUDE) \
+ -I$(realpath $(SRCDIR)/starmath/inc) \
+ -I$(realpath $(SRCDIR)/starmath/inc/pch) \
+ -I$(OUTDIR)/inc \
+ -I$(OUTDIR)/inc/offuh \
+))
+
+$(eval $(call gb_CppunitTest_set_defs,starmath_qa_cppunit,\
+ $$(DEFS) \
+ -DSMDLL \
+))
+
+$(eval $(call gb_CppunitTest_add_library_objects,starmath_qa_cppunit,\
+ sm \
+))
+
+$(call gb_CxxObject_get_target,starmath/qa/cppunit/test_starmath): $(WORKDIR)/AllLangRes/sm
+
+$(eval $(call gb_CppunitTest_add_linked_libs,starmath_qa_cppunit,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ editeng \
+ i18nisolang1 \
+ i18npaper \
+ sal \
+ sfx \
+ sot \
+ svl \
+ svt \
+ svxcore \
+ svx \
+ tk \
+ tl \
+ utl \
+ vcl \
+ xo \
+ $(gb_STDLIBS) \
+))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,starmath_qa_cppunit,\
+ starmath/qa/cppunit/test_nodetotextvisitors \
+ starmath/qa/cppunit/test_starmath \
+))
+
+$(eval $(call gb_CppunitTest_uses_ure,starmath_qa_cppunit))
+
+$(eval $(call gb_CppunitTest_add_type_rdbs,starmath_qa_cppunit,\
+ types \
+))
+
+$(eval $(call gb_CppunitTest_add_service_rdbs,starmath_qa_cppunit,\
+ starmath_qa_cppunit \
+))
+
+$(eval $(call gb_CppunitTest_set_args,starmath_qa_cppunit,\
+ --headless \
+ --invisible \
+))
+
+$(eval $(call gb_RdbTarget_RdbTarget,starmath_qa_cppunit))
+
+$(eval $(call gb_RdbTarget_add_components,starmath_qa_cppunit,\
+ framework/util/fwk \
+ toolkit/util/tk \
+ sfx2/util/sfx \
+))
+
+$(eval $(call gb_RdbTarget_add_old_components,starmath_qa_cppunit,\
+ component/vcl/vcl \
+ configmgr \
+ i18npool \
+ mcnttype \
+))
+
+ifeq ($(strip $(OS)),WNT)
+$(eval $(call gb_RdbTarget_add_old_components,starmath_qa_cppunit,\
+ ftransl \
+ sysdtrans \
+))
+endif
+
+# vim: set noet sw=4:
diff --git a/starmath/JunitTest_starmath_unoapi.mk b/starmath/JunitTest_starmath_unoapi.mk
new file mode 100644
index 000000000000..27a18d934657
--- /dev/null
+++ b/starmath/JunitTest_starmath_unoapi.mk
@@ -0,0 +1,49 @@
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Bjoern Michaelsen, Canonical Ltd. <bjoern.michaelsen@canonical.com>
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Major Contributor(s):
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_JunitTest_JunitTest,starmath_unoapi))
+
+$(eval $(call gb_JunitTest_set_defs,starmath_unoapi,\
+ $$(DEFS) \
+ -Dorg.openoffice.test.arg.sce=$(realpath $(SRCDIR)/starmath/qa/unoapi/sm.sce) \
+ -Dorg.openoffice.test.arg.xcl=$(realpath $(SRCDIR)/starmath/qa/unoapi/knownissues.xcl) \
+ -Dorg.openoffice.test.arg.tdoc=$(realpath $(SRCDIR)/starmath/qa/unoapi/testdocuments) \
+))
+
+$(eval $(call gb_JunitTest_add_jars,starmath_unoapi,\
+ $(OUTDIR)/bin/OOoRunner.jar \
+ $(OUTDIR)/bin/ridl.jar \
+ $(OUTDIR)/bin/test.jar \
+ $(OUTDIR)/bin/unoil.jar \
+ $(OUTDIR)/bin/jurt.jar \
+))
+
+$(eval $(call gb_JunitTest_add_classes,starmath_unoapi,\
+ org.openoffice.test.UnoApiTest \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/starmath/Library_sm.mk b/starmath/Library_sm.mk
index 78648e025bd4..c1c03aa0e576 100644
--- a/starmath/Library_sm.mk
+++ b/starmath/Library_sm.mk
@@ -1,29 +1,23 @@
-#*************************************************************************
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2011 Oracle and/or its affiliates.
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
#
-# OpenOffice.org - a multi-platform office productivity suite
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
#
-# This file is part of OpenOffice.org.
+# The Initial Developer of the Original Code is
+# Norbert Thiebaud <nthiebaud@gmail.com> (C) 2010, All Rights Reserved.
#
-# 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.
-#
-#*************************************************************************
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
$(eval $(call gb_Library_Library,sm))
@@ -34,71 +28,80 @@ $(eval $(call gb_Library_add_precompiled_header,sm,$(SRCDIR)/starmath/inc/pch/pr
$(eval $(call gb_Library_set_componentfile,sm,starmath/util/sm))
$(eval $(call gb_Library_set_include,sm,\
- -I$(SRCDIR)/starmath/inc/pch \
- -I$(SRCDIR)/starmath/inc \
- -I$(WORKDIR)/SdiTarget/starmath/sdi \
- $$(INCLUDE) \
- -I$(OUTDIR)/inc/offuh \
- -I$(OUTDIR)/inc \
+ -I$(realpath $(SRCDIR)/starmath/inc/pch) \
+ -I$(realpath $(SRCDIR)/starmath/inc) \
+ -I$(WORKDIR)/SdiTarget/starmath/sdi \
+ -I$(WORKDIR)/Misc/starmath/ \
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_Library_add_defs,sm,\
+ -DSMDLL \
+ -DSC_INFO_OSVERSION=\"$(OS)\" \
))
$(eval $(call gb_Library_add_linked_libs,sm,\
- comphelper \
- cppu \
- cppuhelper \
- editeng \
+ comphelper \
+ cppu \
+ cppuhelper \
+ editeng \
i18npaper \
- sal \
- sfx \
- sot \
- stl \
- svl \
- svt \
- svx \
- svxcore \
- tk \
- tl \
- utl \
- vcl \
+ sal \
+ sfx \
+ sot \
+ svl \
+ svt \
+ svx \
+ svxcore \
+ tk \
+ tl \
+ utl \
+ vcl \
+ ucbhelper \
xo \
- $(gb_STDLIBS) \
))
$(eval $(call gb_Library_add_exception_objects,sm,\
- starmath/source/accessibility \
- starmath/source/action \
- starmath/source/cfgitem \
- starmath/source/config \
- starmath/source/dialog \
- starmath/source/document \
- starmath/source/edit \
- starmath/source/eqnolefilehdr \
- starmath/source/format \
- starmath/source/mathmlexport \
- starmath/source/mathmlimport \
- starmath/source/mathtype \
- starmath/source/node \
- starmath/source/parse \
- starmath/source/rect \
- starmath/source/register \
+ starmath/source/accessibility \
+ starmath/source/action \
+ starmath/source/caret \
+ starmath/source/cfgitem \
+ starmath/source/config \
+ starmath/source/cursor \
+ starmath/source/dialog \
+ starmath/source/document \
+ starmath/source/edit \
+ starmath/source/format \
+ starmath/source/mathmlexport \
+ starmath/source/mathmlimport \
+ starmath/source/mathtype \
+ starmath/source/node \
+ starmath/source/parse \
+ starmath/source/rect \
+ starmath/source/register \
starmath/source/smdll \
- starmath/source/smmod \
- starmath/source/symbol \
- starmath/source/toolbox \
- starmath/source/typemap \
- starmath/source/types \
- starmath/source/unodoc \
- starmath/source/unomodel \
- starmath/source/utility \
- starmath/source/view \
+ starmath/source/smmod \
+ starmath/source/symbol \
+ starmath/source/toolbox \
+ starmath/source/typemap \
+ starmath/source/types \
+ starmath/source/unodoc \
+ starmath/source/unomodel \
+ starmath/source/utility \
+ starmath/source/view \
+ starmath/source/visitors \
))
+
$(eval $(call gb_SdiTarget_SdiTarget,starmath/sdi/smslots,starmath/sdi/smath))
$(eval $(call gb_SdiTarget_set_include,starmath/sdi/smslots,\
- -I$(SRCDIR)/starmath/inc \
- -I$(SRCDIR)/starmath/sdi \
- $$(INCLUDE) \
+ -I$(realpath $(SRCDIR)/starmath/inc) \
+ -I$(realpath $(SRCDIR)/starmath/sdi) \
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc \
))
# vim: set noet sw=4 ts=4:
diff --git a/starmath/Makefile b/starmath/Makefile
index a79aff831024..de837bea620f 100644
--- a/starmath/Makefile
+++ b/starmath/Makefile
@@ -1,29 +1,24 @@
-#*************************************************************************
#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
-# OpenOffice.org - a multi-platform office productivity suite
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
#
-# This file is part of OpenOffice.org.
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
#
-# 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.
+# The Initial Developer of the Original Code is
+# Norbert Thiebaud <nthiebaud@gmail.com> (C) 2010, All Rights Reserved.
#
-# 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.
-#
-#*************************************************************************
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
ifeq ($(strip $(SOLARENV)),)
$(error No environment set!)
diff --git a/starmath/inc/action.hxx b/starmath/inc/action.hxx
index c59765ee45ac..2463edc983f0 100644
--- a/starmath/inc/action.hxx
+++ b/starmath/inc/action.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50,3 +51,4 @@ public:
#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/inc/applicat.hxx b/starmath/inc/applicat.hxx
index 9aad8d41b59e..326c2d0adf9a 100644
--- a/starmath/inc/applicat.hxx
+++ b/starmath/inc/applicat.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -25,7 +26,6 @@
*
************************************************************************/
-
#ifndef APPLICAT_HXX
#define APPLICAT_HXX
@@ -33,27 +33,10 @@ class SvxErrorHandler;
#include <sfx2/app.hxx>
-/**************************************************************************/
-/*
-**
-** MACRO DEFINITION
-**
-**/
-
-#define SMDLL 1
-#define APPLICATIONNAME "smath3"
+#define SMDLL 1
+#define APPLICATIONNAME "smath3"
-/**************************************************************************/
-/*
-**
-** CLASS DEFINITION
-**
-**/
-
-#ifdef PM2
-#define RELEASE "PM304"
-#endif
#ifdef WNT
#define RELEASE "WNT304"
@@ -76,5 +59,7 @@ public:
#endif
+
#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/inc/caret.hxx b/starmath/inc/caret.hxx
new file mode 100644
index 000000000000..cec8bd722482
--- /dev/null
+++ b/starmath/inc/caret.hxx
@@ -0,0 +1,480 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * Jonas Finnemann Jensen <jopsen@gmail.com>
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jonas Finnemann Jensen <jopsen@gmail.com>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+#ifndef CARET_H
+#define CARET_H
+
+#include "node.hxx"
+
+/** Representation of caret position with an equantion */
+struct SmCaretPos{
+ SmCaretPos(SmNode* selectedNode = NULL, int iIndex = 0) {
+ pSelectedNode = selectedNode;
+ Index = iIndex;
+ }
+ /** Selected node */
+ SmNode* pSelectedNode;
+ /** Index within the selected node
+ *
+ * 0: Position in front of a node
+ * 1: Position after a node or after first char in SmTextNode
+ * n: Position after n char in SmTextNode
+ *
+ * Notice how there's special cases for SmTextNode.
+ */
+ //TODO: Special cases for SmBlankNode is needed
+ //TODO: Consider forgetting about the todo above... As it's really unpleasent.
+ int Index;
+ /** True, if this is a valid caret position */
+ bool IsValid() { return pSelectedNode != NULL; }
+ bool operator!=(SmCaretPos pos) const {
+ return pos.pSelectedNode != pSelectedNode || Index != pos.Index;
+ }
+ bool operator==(SmCaretPos pos) const {
+ return pos.pSelectedNode == pSelectedNode && Index == pos.Index;
+ }
+ /** Get the caret position after pNode, regardless of pNode
+ *
+ * Gets the caret position following pNode, this is SmCaretPos(pNode, 1).
+ * Unless pNode is an instance of SmTextNode, then the index is the text length.
+ */
+ static SmCaretPos GetPosAfter(SmNode* pNode) {
+ if(pNode && pNode->GetType() == NTEXT)
+ return SmCaretPos(pNode, ((SmTextNode*)pNode)->GetText().Len());
+ return SmCaretPos(pNode, 1);
+ }
+};
+
+/** A line that represents a caret */
+class SmCaretLine{
+public:
+ SmCaretLine(long left = 0, long top = 0, long height = 0) {
+ _top = top;
+ _left = left;
+ _height = height;
+ }
+ long GetTop() const {return _top;}
+ long GetLeft() const {return _left;}
+ long GetHeight() const {return _height;}
+ long SquaredDistanceX(SmCaretLine line) const{
+ return (GetLeft() - line.GetLeft()) * (GetLeft() - line.GetLeft());
+ }
+ long SquaredDistanceX(Point pos) const{
+ return (GetLeft() - pos.X()) * (GetLeft() - pos.X());
+ }
+ long SquaredDistanceY(SmCaretLine line) const{
+ long d = GetTop() - line.GetTop();
+ if(d < 0)
+ d = (d * -1) - GetHeight();
+ else
+ d = d - line.GetHeight();
+ if(d < 0)
+ return 0;
+ return d * d;
+ }
+ long SquaredDistanceY(Point pos) const{
+ long d = GetTop() - pos.Y();
+ if(d < 0)
+ d = (d * -1) - GetHeight();
+ if(d < 0)
+ return 0;
+ return d * d;
+ }
+private:
+ long _top;
+ long _left;
+ long _height;
+};
+
+/////////////////////////////// SmCaretPosGraph////////////////////////////////
+
+/** An entry in SmCaretPosGraph */
+struct SmCaretPosGraphEntry{
+ SmCaretPosGraphEntry(SmCaretPos pos = SmCaretPos(),
+ SmCaretPosGraphEntry* left = NULL,
+ SmCaretPosGraphEntry* right = NULL){
+ CaretPos = pos;
+ Left = left;
+ Right = right;
+ }
+ /** Caret position */
+ SmCaretPos CaretPos;
+ /** Entry to the left visually */
+ SmCaretPosGraphEntry* Left;
+ /** Entry to the right visually */
+ SmCaretPosGraphEntry* Right;
+ void SetRight(SmCaretPosGraphEntry* right){
+ Right = right;
+ }
+ void SetLeft(SmCaretPosGraphEntry* left){
+ Left = left;
+ }
+};
+
+/** Define SmCaretPosGraph to be less than one page 4096 */
+#define SmCaretPosGraphSize 255
+
+class SmCaretPosGraph;
+
+/** Iterator for SmCaretPosGraph */
+class SmCaretPosGraphIterator{
+public:
+ SmCaretPosGraphIterator(SmCaretPosGraph* graph){
+ pGraph = graph;
+ nOffset = 0;
+ pEntry = NULL;
+ }
+ /** Get the next entry, NULL if none */
+ SmCaretPosGraphEntry* Next();
+ /** Get the current entry, NULL if none */
+ SmCaretPosGraphEntry* Current(){
+ return pEntry;
+ }
+ /** Get the current entry, NULL if none */
+ SmCaretPosGraphEntry* operator->(){
+ return pEntry;
+ }
+private:
+ /** Next entry to return */
+ int nOffset;
+ /** Current graph */
+ SmCaretPosGraph* pGraph;
+ /** Current entry */
+ SmCaretPosGraphEntry* pEntry;
+};
+
+
+/** A graph over all caret positions
+ * @remarks Graphs can only grow, entries cannot be removed!
+ */
+class SmCaretPosGraph{
+public:
+ SmCaretPosGraph(){
+ pNext = NULL;
+ nOffset = 0;
+ }
+ ~SmCaretPosGraph();
+ /** Add a caret position
+ * @remarks If Left and/or Right are set NULL, they will point back to the entry.
+ */
+ SmCaretPosGraphEntry* Add(SmCaretPosGraphEntry entry);
+ /** Add a caret position
+ * @remarks If left and/or right are set NULL, they will point back to the entry.
+ */
+ SmCaretPosGraphEntry* Add(SmCaretPos pos,
+ SmCaretPosGraphEntry* left = NULL,
+ SmCaretPosGraphEntry* right = NULL){
+ OSL_ENSURE(pos.Index >= 0, "Index shouldn't be -1!");
+ return Add(SmCaretPosGraphEntry(pos, left, right));
+ }
+ /** Get an iterator for this graph */
+ SmCaretPosGraphIterator GetIterator(){
+ return SmCaretPosGraphIterator(this);
+ }
+ friend class SmCaretPosGraphIterator;
+private:
+ /** Next graph, to be used when this graph is full */
+ SmCaretPosGraph* pNext;
+ /** Next free entry in graph */
+ int nOffset;
+ /** Entries in this graph segment */
+ SmCaretPosGraphEntry Graph[SmCaretPosGraphSize];
+};
+
+/** \page visual_formula_editing Visual Formula Editing
+ * A visual formula editor allows users to easily edit formulas without having to learn and
+ * use complicated commands. A visual formula editor is a WYSIWYG editor. For OpenOffice Math
+ * this essentially means that you can click on the formula image, to get a caret, which you
+ * can move with arrow keys, and use to modify the formula by entering text, clicking buttons
+ * or using shortcuts.
+ *
+ * \subsection formula_trees Formula Trees
+ * A formula in OpenOffice Math is a tree of nodes, take for instance the formula
+ * "A + {B cdot C} over D", it looks like this
+ * \f$ \mbox{A} + \frac{\mbox{B} \cdot \mbox{C}}{\mbox{D}} \f$. The tree for this formula
+ * looks like this:
+ *
+ * \dot
+ * digraph {
+ * labelloc = "t";
+ * label= "Equation: \"A + {B cdot C} over D\"";
+ * size = "9,9";
+ * n0 [label="SmTableNode (1)"];
+ * n0 -> n1 [label="0"];
+ * n1 [label="SmLineNode (2)"];
+ * n1 -> n2 [label="0"];
+ * n2 [label="SmExpressionNode (3)"];
+ * n2 -> n3 [label="0"];
+ * n3 [label="SmBinHorNode (4)"];
+ * n3 -> n4 [label="0"];
+ * n4 [label="SmTextNode: A (5)"];
+ * n3 -> n5 [label="1"];
+ * n5 [label="SmMathSymbolNode:  (6)"];
+ * n3 -> n6 [label="2"];
+ * n6 [label="SmBinVerNode (7)"];
+ * n6 -> n7 [label="0"];
+ * n7 [label="SmExpressionNode (8)"];
+ * n7 -> n8 [label="0"];
+ * n8 [label="SmBinHorNode (9)"];
+ * n8 -> n9 [label="0"];
+ * n9 [label="SmTextNode: B (10)"];
+ * n8 -> n10 [label="1"];
+ * n10 [label="SmMathSymbolNode: ⋅ (11)"];
+ * n8 -> n11 [label="2"];
+ * n11 [label="SmTextNode: C (12)"];
+ * n6 -> n12 [label="1"];
+ * n12 [label="SmRectangleNode (13)"];
+ * n6 -> n13 [label="2"];
+ * n13 [label="SmTextNode: D (14)"];
+ * }
+ * \enddot
+ *
+ * The vertices are nodes, their label says what kind of node and the number in parentheses is
+ * the identifier of the node (In practices a pointer is used instead of the id). The direction
+ * of the edges tells which node is parent and which is child. The label of the edges are the
+ * child node index number, given to SmNode::GetSubNode() of the parent to get the child node.
+ *
+ *
+ * \subsection visual_lines Visual Lines
+ *
+ * Inorder to do caret movement in visual lines, we need a definition of caret position and
+ * visual line. In a tree such as the above there are three visual lines. There's the outer most
+ * line, with entries such as
+ * \f$\mbox{A}\f$, \f$ + \f$ and \f$ \frac{\mbox{B} \cdot \mbox{C}}{\mbox{D}} \f$. Then there's
+ * the numerator line of the fraction it has entries \f$ \mbox{B} \f$, \f$ \cdot \f$ and \f$ \mbox{C} \f$.
+ * And last by not least there's the denominator line of the fraction it's only entry is \f$ \mbox{D} \f$.
+ *
+ * For visual editing it should be possible to place a caret on both sides of any line entry,
+ * consider a line entry a character or construction that in a line is treated as a character.
+ * Imagine the caret is placed to the right of the plus sign (id: 6), now if user presses
+ * backspace this should delete the plus sign (id: 6), and if the user presses delete this
+ * should delete the entire fraction (id: 7). This is because the caret is in the outer most
+ * line where the fraction is considered a line entry.
+ *
+ * However, inorder to prevent users from accidentally deleting large subtrees, just because
+ * they logically placed there caret a in the wrong line, require that complex constructions
+ * such as a fraction is selected before it is deleted. Thus in this case it wouldn't be
+ * deleted, but only selected and then deleted if the user hit delete again. Anyway, this is
+ * slightly off topic for now.
+ *
+ * Important about visual lines is that they don't always have an SmExpressionNode as root
+ * and the entries in a visual line is all the nodes of a subtree ordered left to right that
+ * isn't either an SmExpressionNode, SmBinHorNode or SmUnHorNode.
+ *
+ *
+ * \subsection caret_positions Caret Positions
+ *
+ * A caret position in OpenOffice Math is representated by an instance of SmCaretPos.
+ * That is a caret position is a node and an index related to this node. For most nodes the
+ * index 0, means caret is in front of this node, the index 1 means caret is after this node.
+ * For SmTextNode the index is the caret position after the specified number of characters,
+ * imagine an SmTextNode with the number 1337. The index 3 in such SmTextNode would mean a
+ * caret placed right before 7, e.g. "133|7".
+ *
+ * For SmExpressionNode, SmBinHorNode and SmUnHorNode the only legal index is 0, which means
+ * in front of the node. Actually the index 0 may only because for the first caret position
+ * in a visual line. From the example above, consider the following subtree that constitutes
+ * a visual line:
+ *
+ * \dot
+ * digraph {
+ * labelloc = "t";
+ * label= "Subtree that constitutes a visual line";
+ * size = "7,5";
+ * n7 [label="SmExpressionNode (8)"];
+ * n7 -> n8 [label="0"];
+ * n8 [label="SmBinHorNode (9)"];
+ * n8 -> n9 [label="0"];
+ * n9 [label="SmTextNode: B (10)"];
+ * n8 -> n10 [label="1"];
+ * n10 [label="SmMathSymbolNode: ⋅ (11)"];
+ * n8 -> n11 [label="2"];
+ * n11 [label="SmTextNode: C (12)"];
+ * }
+ * \enddot
+ * Here the caret positions are:
+ *
+ * <TABLE>
+ * <TR><TD><B>Caret position:</B></TD><TD><B>Example:</B></TD>
+ * </TR><TR>
+ * <TD>{id: 8, index: 0}</TD>
+ * <TD>\f$ \mid \mbox{C} \cdot \mbox{C} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 10, index: 1}</TD>
+ * <TD>\f$ \mbox{C} \mid \cdot \mbox{C} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 11, index: 1}</TD>
+ * <TD>\f$ \mbox{C} \cdot \mid \mbox{C} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 12, index: 1}</TD>
+ * <TD>\f$ \mbox{C} \cdot \mbox{C} \mid \f$</TD>
+ * </TR><TR>
+ * </TABLE>
+ *
+ * Where \f$ \mid \f$ is used to denote caret position.
+ *
+ * With these exceptions included in the definition the id and index: {id: 11, index: 0} does
+ * \b not constitute a caret position in the given context. Note the method
+ * SmCaretPos::IsValid() does not check if this invariant holds true, but code in SmCaret,
+ * SmSetSelectionVisitor and other places depends on this invariant to hold.
+ *
+ *
+ * \subsection caret_movement Caret Movement
+ *
+ * As the placement of caret positions depends very much on the context within which a node
+ * appears it is not trivial to find all caret positions and determine which follows which.
+ * In OpenOffice Math this is done by the SmCaretPosGraphBuildingVisitor. This visitor builds
+ * graph (an instnce of SmCaretPosGraph) over the caret positions. For details on how this
+ * graph is build, and how new methods should be implemented see SmCaretPosGraphBuildingVisitor.
+ *
+ * The result of the SmCaretPosGraphBuildingVisitor is a graph over the caret positions in a
+ * formula, representated by an instance of SmCaretPosGraph. Each entry (instances of SmCaretPosGraphEntry)
+ * has a pointer to the entry to the left and right of itself. This way we can easily find
+ * the caret position to a right or left of a given caret position. Note each caret position
+ * only appears once in this graph.
+ *
+ * When searching for a caret position after a left click on the formula this map is also used.
+ * We simply iterate over all entries, uses the SmCaretPos2LineVisitor to find a line for each
+ * caret position. Then the distance from the click to the line is computed and we choose the
+ * caret position closest to the click.
+ *
+ * For up and down movement, we also iterator over all caret positions and use SmCaretPos2LineVisitor
+ * to find a line for each caret position. Then we compute the distance from the current
+ * caret position to every other caret position and chooses the one closest that is either
+ * above or below the current caret position, depending on wether we're doing up or down movement.
+ *
+ * This result of this approach to caret movement is that we have logically predictable
+ * movement for left and right, whilst leftclick, up and down movement depends on the sizes
+ * and placement of all node and may be less logically predictable. This solution also means
+ * that we only have one complex visitor generating the graph, imagine the nightmare if we
+ * had a visitor for movement in each direction.
+ *
+ * Making up and down movement independent of node sizes and placement wouldn't necessarily
+ * be a good thing either. Consider the formula \f$ \frac{1+2+3+4+5}{6} \f$, if the caret is
+ * placed as displayed here: \f$ \frac{1+2+3+4+5}{6 \mid} \f$, up movement should move to right
+ * after "3": \f$ \frac{1+2+3|+4+5}{6} \f$. However, such a move depends on the sizes and placement
+ * of all nodes in the fraction.
+ *
+ *
+ * \subsubsection caretpos_graph_example Example of Caret Position Graph
+ *
+ * If we consider the formula
+ * \f$ \mbox{A} + \frac{\mbox{B} \cdot \mbox{C}}{\mbox{D}} \f$ from \ref formula_trees.
+ * It has the following caret positions:
+ *
+ * <TABLE>
+ * <TR>
+ * <TD><B>Caret position:</B></TD>
+ * <TD><B>Example:</B></TD>
+ * </TR><TR>
+ * <TD>{id: 3, index: 0}</TD>
+ * <TD>\f$ \mid\mbox{A} + \frac{\mbox{B} \cdot \mbox{C}}{\mbox{D}} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 5, index: 1}</TD>
+ * <TD>\f$ \mbox{A}\mid + \frac{\mbox{B} \cdot \mbox{C}}{\mbox{D}} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 6, index: 1}</TD>
+ * <TD>\f$ \mbox{A} + \mid \frac{\mbox{B} \cdot \mbox{C}}{\mbox{D}} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 8, index: 0}</TD>
+ * <TD>\f$ \mbox{A} + \frac{ \mid \mbox{B} \cdot \mbox{C}}{\mbox{D}} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 10, index: 1}</TD>
+ * <TD>\f$ \mbox{A} + \frac{\mbox{B} \mid \cdot \mbox{C}}{\mbox{D}} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 11, index: 1}</TD>
+ * <TD>\f$ \mbox{A} + \frac{\mbox{B} \cdot \mid \mbox{C}}{\mbox{D}} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 12, index: 1}</TD>
+ * <TD>\f$ \mbox{A} + \frac{\mbox{B} \cdot \mbox{C} \mid}{\mbox{D}} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 14, index: 0}</TD>
+ * <TD>\f$ \mbox{A} + \frac{\mbox{B} \cdot \mbox{C}}{\mid \mbox{D}} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 14, index: 1}</TD>
+ * <TD>\f$ \mbox{A} + \frac{\mbox{B} \cdot \mbox{C}}{\mbox{D} \mid} \f$</TD>
+ * </TR><TR>
+ * <TD>{id: 7, index: 1}</TD>
+ * <TD>\f$ \mbox{A} + \frac{\mbox{B} \cdot \mbox{C}}{\mbox{D}} \mid \f$</TD>
+ * </TR>
+ * </TABLE>
+ *
+ * Below is a directed graph over the caret postions and how you can move between them.
+ * \dot
+ * digraph {
+ * labelloc = "t";
+ * label= "Caret Position Graph";
+ * size = "4,6";
+ * p0 [label = "{id: 3, index: 0}"];
+ * p0 -> p1 [fontsize = 10.0, label = "right"];
+ * p1 [label = "{id: 5, index: 1}"];
+ * p1 -> p0 [fontsize = 10.0, label = "left"];
+ * p1 -> p2 [fontsize = 10.0, label = "right"];
+ * p2 [label = "{id: 6, index: 1}"];
+ * p2 -> p1 [fontsize = 10.0, label = "left"];
+ * p2 -> p3 [fontsize = 10.0, label = "right"];
+ * p3 [label = "{id: 8, index: 0}"];
+ * p3 -> p2 [fontsize = 10.0, label = "left"];
+ * p3 -> p4 [fontsize = 10.0, label = "right"];
+ * p4 [label = "{id: 10, index: 1}"];
+ * p4 -> p3 [fontsize = 10.0, label = "left"];
+ * p4 -> p5 [fontsize = 10.0, label = "right"];
+ * p5 [label = "{id: 11, index: 1}"];
+ * p5 -> p4 [fontsize = 10.0, label = "left"];
+ * p5 -> p6 [fontsize = 10.0, label = "right"];
+ * p6 [label = "{id: 12, index: 1}"];
+ * p6 -> p5 [fontsize = 10.0, label = "left"];
+ * p6 -> p9 [fontsize = 10.0, label = "right"];
+ * p7 [label = "{id: 14, index: 0}"];
+ * p7 -> p2 [fontsize = 10.0, label = "left"];
+ * p7 -> p8 [fontsize = 10.0, label = "right"];
+ * p8 [label = "{id: 14, index: 1}"];
+ * p8 -> p7 [fontsize = 10.0, label = "left"];
+ * p8 -> p9 [fontsize = 10.0, label = "right"];
+ * p9 [label = "{id: 7, index: 1}"];
+ * p9 -> p6 [fontsize = 10.0, label = "left"];
+ * }
+ * \enddot
+ */
+
+/* TODO: Write documentation about the following keywords:
+ *
+ * Visual Selections:
+ * - Show images
+ * - Talk about how the visitor does this
+ *
+ * Modifying a Visual Line:
+ * - Find top most non-compo of the line (e.g. The subtree that constitutes a line)
+ * - Make the line into a list
+ * - Edit the list, add/remove/modify nodes
+ * - Parse the list back into a subtree
+ * - Insert the new subtree where the old was taken
+ */
+
+#endif /* CARET_H */
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/inc/config.hxx b/starmath/inc/config.hxx
index 99f4fd4a9489..9fc397eca0cc 100644
--- a/starmath/inc/config.hxx
+++ b/starmath/inc/config.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -56,3 +57,4 @@ public:
#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/inc/cursor.hxx b/starmath/inc/cursor.hxx
new file mode 100644
index 000000000000..6b6e7168a59c
--- /dev/null
+++ b/starmath/inc/cursor.hxx
@@ -0,0 +1,482 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * Jonas Finnemann Jensen <jopsen@gmail.com>
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jonas Finnemann Jensen <jopsen@gmail.com>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+#ifndef SMCURSOR_H
+#define SMCURSOR_H
+
+#include "node.hxx"
+#include "caret.hxx"
+
+/** Factor to multiple the squared horizontical distance with
+ * Used for Up and Down movement.
+ */
+#define HORIZONTICAL_DISTANCE_FACTOR 10
+
+/** Enum of direction for movement */
+enum SmMovementDirection{
+ MoveUp,
+ MoveDown,
+ MoveLeft,
+ MoveRight
+};
+
+/** Enum of elements that can inserted into a formula */
+enum SmFormulaElement{
+ BlankElement,
+ FactorialElement,
+ PlusElement,
+ MinusElement,
+ CDotElement,
+ EqualElement,
+ LessThanElement,
+ GreaterThanElement,
+ PercentElement
+};
+
+/** Bracket types that can be inserted */
+enum SmBracketType {
+ /** None brackets, left command "none" */
+ NoneBrackets,
+ /** Round brackets, left command "(" */
+ RoundBrackets,
+ /**Square brackets, left command "[" */
+ SquareBrackets,
+ /** Double square brackets, left command "ldbracket" */
+ DoubleSquareBrackets,
+ /** Line brackets, left command "lline" */
+ LineBrackets,
+ /** Double line brackets, left command "ldline" */
+ DoubleLineBrackets,
+ /** Curly brackets, left command "lbrace" */
+ CurlyBrackets,
+ /** Angle brackets, left command "langle" */
+ AngleBrackets,
+ /** Ceiling brackets, left command "lceil" */
+ CeilBrackets,
+ /** Floor brackets, left command "lfloor" */
+ FloorBrackets
+};
+
+/** A list of nodes */
+typedef std::list<SmNode*> SmNodeList;
+
+class SmDocShell;
+
+/** Formula cursor
+ *
+ * This class is used to represent a cursor in a formula, which can be used to manipulate
+ * an formula programmatically.
+ * @remarks This class is a very intimite friend of SmDocShell.
+ */
+class SmCursor{
+public:
+ SmCursor(SmNode* tree, SmDocShell* pShell){
+ //Initialize members
+ pTree = tree;
+ anchor = NULL;
+ position = NULL;
+ pGraph = NULL;
+ pDocShell = pShell;
+ pClipboard = NULL;
+ nEditSections = 0;
+ //Build graph
+ BuildGraph();
+ }
+
+ ~SmCursor(){
+ SetClipboard();
+ if(pGraph)
+ delete pGraph;
+ pGraph = NULL;
+ }
+
+ /** Gets the anchor */
+ SmCaretPos GetAnchor(){ return anchor->CaretPos; }
+
+ /** Get position */
+ SmCaretPos GetPosition() { return position->CaretPos; }
+
+ /** True, if the cursor has a selection */
+ bool HasSelection() { return anchor != position; }
+
+ /** Move the position of this cursor */
+ void Move(OutputDevice* pDev, SmMovementDirection direction, bool bMoveAnchor = true);
+
+ /** Move to the caret position closet to a given point */
+ void MoveTo(OutputDevice* pDev, Point pos, bool bMoveAnchor = true);
+
+ /** Delete the current selection or do nothing */
+ void Delete();
+
+ /** Delete selection, previous element or merge lines
+ *
+ * This method implements the behaviour of backspace.
+ */
+ void DeletePrev(OutputDevice* pDev);
+
+ /** Insert text at the current position */
+ void InsertText(XubString aString);
+
+ /** Insert an element into the formula */
+ void InsertElement(SmFormulaElement element);
+
+ /** Insert a command specified in commands.src*/
+ void InsertCommand(sal_uInt16 nCommand);
+
+ /** Insert command text translated into line entries at position
+ *
+ * Note: This method uses the parser to translate a command text into a
+ * tree, then it copies line entries from this tree into the current tree.
+ * Will not work for commands such as newline or ##, if position is in a matrix.
+ * This will work for stuff like "A intersection B". But stuff spaning multiple lines
+ * or dependent on the context which position is placed in will not work!
+ */
+ void InsertCommandText(String aCommandText);
+
+ /** Insert a special node created from aString
+ *
+ * Used for handling insert request from the "catalog" dialog.
+ * The provided string should be formatet as the desired command: %phi
+ * Note: this method ONLY supports commands defined in Math.xcu
+ *
+ * For more complex expressions use InsertCommandText, this method doesn't
+ * use SmParser, this means that it's faster, but not as strong.
+ */
+ void InsertSpecial(XubString aString);
+
+ /** Create sub-/super script
+ *
+ * If there's a selection, it will be move into the appropriate sub-/super scription
+ * of the node in front of it. If there's no node in front of position (or the selection),
+ * a sub-/super scription of a new SmPlaceNode will be made.
+ *
+ * If there's is an existing subscription of the node, the caret will be moved into it,
+ * and any selection will replace it.
+ */
+ void InsertSubSup(SmSubSup eSubSup);
+
+ /** Create a limit on an SmOperNode
+ *
+ * This this method only work if the caret is inside an SmOperNode, or to the right of one.
+ * Notice also that this method ignores any selection made.
+ *
+ * @param bMoveCaret If true that caret will be moved into the limit.
+ *
+ * @returns True, if the caret was in a context where this operation was possible.
+ */
+ bool InsertLimit(SmSubSup eSubSup, bool bMoveCaret = true);
+
+ /** Insert a new row or newline
+ *
+ * Inserts a new row if position is in an matrix or stack command.
+ * Otherwise a newline is inserted if we're in a toplevel line.
+ *
+ * @returns True, if a new row/line could be inserted.
+ *
+ * @remarks If the caret is placed in a subline of a command that doesn't support
+ * this operator the method returns FALSE, and doesn't do anything.
+ */
+ bool InsertRow();
+
+ /** Insert a fraction, use selection as numerator */
+ void InsertFraction();
+
+ /** Create brackets around current selection, or new SmPlaceNode */
+ void InsertBrackets(SmBracketType eBracketType);
+
+ /** Copy the current selection */
+ void Copy();
+ /** Cut the current selection */
+ void Cut(){
+ Copy();
+ Delete();
+ }
+ /** Paste the clipboard */
+ void Paste();
+
+ /** Returns true if more than one node is selected
+ *
+ * This method is used for implementing backspace and delete.
+ * If one of these causes a complex selection, e.g. a node with
+ * subnodes or similar, this should not be deleted imidiately.
+ */
+ bool HasComplexSelection();
+
+ /** Finds the topmost node in a visual line
+ *
+ * If MoveUpIfSelected is true, this will move up to the parent line
+ * if the parent of the current line is selected.
+ */
+ static SmNode* FindTopMostNodeInLine(SmNode* pSNode, bool MoveUpIfSelected = false);
+
+ /** Draw the caret */
+ void Draw(OutputDevice& pDev, Point Offset, bool isCaretVisible);
+
+private:
+ friend class SmDocShell;
+
+ SmCaretPosGraphEntry *anchor,
+ *position;
+ /** Formula tree */
+ SmNode* pTree;
+ /** Owner of the formula tree */
+ SmDocShell* pDocShell;
+ /** Graph over caret position in the current tree */
+ SmCaretPosGraph* pGraph;
+ /** Clipboard holder */
+ SmNodeList* pClipboard;
+
+ /** Returns a node that is selected, if any could be found */
+ SmNode* FindSelectedNode(SmNode* pNode);
+
+ /** Is this one of the nodes used to compose a line
+ *
+ * These are SmExpression, SmBinHorNode, SmUnHorNode etc.
+ */
+ static bool IsLineCompositionNode(SmNode* pNode);
+
+ /** Count number of selected nodes, excluding line composition nodes
+ *
+ * Note this function doesn't count line composition nodes and it
+ * does count all subnodes as well as the owner nodes.
+ *
+ * Used by SmCursor::HasComplexSelection()
+ */
+ int CountSelectedNodes(SmNode* pNode);
+
+ /** Convert a visual line to a list
+ *
+ * Note this method will delete all the nodes that will no longer be needed.
+ * that includes pLine!
+ * This method also deletes SmErrorNode's as they're just meta info in the line.
+ */
+ static SmNodeList* LineToList(SmStructureNode* pLine, SmNodeList* pList = new SmNodeList());
+
+ /** Auxiliary function for calling LineToList on a node
+ *
+ * This method sets pNode = NULL and remove it from it's parent.
+ * (Assuming it has a parent, and is a child of it).
+ */
+ static SmNodeList* NodeToList(SmNode*& rpNode, SmNodeList* pList = new SmNodeList()){
+ //Remove from parent and NULL rpNode
+ SmNode* pNode = rpNode;
+ if(rpNode && rpNode->GetParent()){ //Don't remove this, correctness relies on it
+ int index = rpNode->GetParent()->IndexOfSubNode(rpNode);
+ if(index != -1)
+ rpNode->GetParent()->SetSubNode(index, NULL);
+ }
+ rpNode = NULL;
+ //Create line from node
+ if(pNode && IsLineCompositionNode(pNode))
+ return LineToList((SmStructureNode*)pNode, pList);
+ if(pNode)
+ pList->push_front(pNode);
+ return pList;
+ }
+
+ /** Clone a visual line to a list
+ *
+ * Doesn't clone SmErrorNode's these are ignored, as they are context dependent metadata.
+ */
+ static SmNodeList* CloneLineToList(SmStructureNode* pLine,
+ bool bOnlyIfSelected = false,
+ SmNodeList* pList = new SmNodeList());
+
+ /** Build pGraph over caret positions */
+ void BuildGraph();
+
+ /** Insert new nodes in the tree after position */
+ void InsertNodes(SmNodeList* pNewNodes);
+
+ /** tries to set position to a specific SmCaretPos
+ *
+ * @returns false on failure to find the position in pGraph.
+ */
+ bool SetCaretPosition(SmCaretPos pos, bool moveAnchor = false);
+
+ /** Set selected on nodes of the tree */
+ void AnnotateSelection();
+
+ /** Set the clipboard, and release current clipboard
+ *
+ * Call this method with NULL to reset the clipboard
+ * @remarks: This method takes ownership of pList.
+ */
+ void SetClipboard(SmNodeList* pList = NULL);
+
+ /** Clone list of nodes (creates a deep clone) */
+ static SmNodeList* CloneList(SmNodeList* pList);
+
+ /** Find an iterator pointing to the node in pLineList following aCaretPos
+ *
+ * If aCaretPos::pSelectedNode cannot be found it is assumed that it's in front of pLineList,
+ * thus not an element in pLineList. In this case this method returns an iterator to the
+ * first element in pLineList.
+ *
+ * If the current position is inside an SmTextNode, this node will be split in two, for this
+ * reason you should beaware that iterators to elements in pLineList may be invalidated, and
+ * that you should call PatchLineList() with this iterator if no action is taken.
+ */
+ static SmNodeList::iterator FindPositionInLineList(SmNodeList* pLineList, SmCaretPos aCaretPos);
+
+ /** Patch a line list after modification, merge SmTextNode, remove SmPlaceNode etc.
+ *
+ * @param pLineList The line list to patch
+ * @param aIter Iterator pointing to the element that needs to be patched with it's previous.
+ *
+ * When the list is patched text nodes before and after aIter will be merged.
+ * If there's an, in the context, inappropriate SmPlaceNode before or after aIter it will also be
+ * removed.
+ *
+ * @returns A caret position equivalent to one selecting the node before aIter, the method returns
+ * an invalid SmCaretPos to indicate placement in front of the line.
+ */
+ static SmCaretPos PatchLineList(SmNodeList* pLineList, SmNodeList::iterator aIter);
+
+ /** Take selected nodes from a list
+ *
+ * Puts the selected nodes into pSelectedNodes, or if pSelectedNodes is NULL deletes
+ * the selected nodes.
+ * Note: If there's a selection inside an SmTextNode this node will be split, and it
+ * will not be merged when the selection have been taken. Use PatchLineList on the
+ * iterator returns to fix this.
+ *
+ * @returns An iterator pointing to the element following the selection taken.
+ */
+ static SmNodeList::iterator TakeSelectedNodesFromList(SmNodeList *pLineList,
+ SmNodeList *pSelectedNodes = NULL);
+
+ /** Create an instance of SmMathSymbolNode usable for brackets */
+ static SmNode *CreateBracket(SmBracketType eBracketType, bool bIsLeft);
+
+ /** The number of times BeginEdit have been called
+ * Used to allow nesting of BeginEdit() and EndEdit() sections
+ */
+ int nEditSections;
+ /** Holds data for BeginEdit() and EndEdit() */
+ bool bIsEnabledSetModifiedSmDocShell;
+ /** Begin edit section where the tree will be modified */
+ void BeginEdit();
+ /** End edit section where the tree will be modified */
+ void EndEdit();
+ /** Finish editing
+ *
+ * Finishes editing by parsing pLineList and inserting back into pParent at nParentIndex.
+ * This method also rebuilts the graph, annotates the selection, sets caret position and
+ * Calls EndEdit.
+ *
+ * @remarks Please note that this method will delete pLineList, as the elements are taken.
+ *
+ * @param pLineList List the constitutes the edited line.
+ * @param pParent Parent to which the line should be inserted.
+ * @param nParentIndex Index in parent where the line should be inserted.
+ * @param PosAfterEdit Caret position to look for after rebuilding graph.
+ * @param pStartLine Line to take first position in, if PosAfterEdit cannot be found,
+ * leave it NULL for pLineList.
+ */
+ void FinishEdit(SmNodeList* pLineList,
+ SmStructureNode* pParent,
+ int nParentIndex,
+ SmCaretPos PosAfterEdit,
+ SmNode* pStartLine = NULL);
+ /** Request the formula is repainted */
+ void RequestRepaint();
+};
+
+/** Minimalistic recursive decent SmNodeList parser
+ *
+ * This parser is used to take a list of nodes that constitues a line
+ * and parse them to a tree of SmBinHorNode, SmUnHorNode and SmExpression.
+ *
+ * Please note, this will not handle all kinds of nodes, only nodes that
+ * constitues and entry in a line.
+ *
+ * Below is an EBNF representation of the grammar used for this parser:
+ * \code
+ * Expression -> Relation*
+ * Relation -> Sum [(=|<|>|...) Sum]*
+ * Sum -> Product [(+|-) Product]*
+ * Product -> Factor [(*|/) Factor]*
+ * Factor -> [+|-|-+|...]* Factor | Postfix
+ * Postfix -> node [!]*
+ * \endcode
+ */
+class SmNodeListParser{
+public:
+ /** Create an instance of SmNodeListParser */
+ SmNodeListParser(){
+ pList = NULL;
+ }
+ /** Parse a list of nodes to an expression
+ *
+ * If bDeleteErrorNodes is true, old error nodes will be deleted.
+ */
+ SmNode* Parse(SmNodeList* list, bool bDeleteErrorNodes = true);
+ /** True, if the token is an operator */
+ static bool IsOperator(const SmToken &token);
+ /** True, if the token is a relation operator */
+ static bool IsRelationOperator(const SmToken &token);
+ /** True, if the token is a sum operator */
+ static bool IsSumOperator(const SmToken &token);
+ /** True, if the token is a product operator */
+ static bool IsProductOperator(const SmToken &token);
+ /** True, if the token is a unary operator */
+ static bool IsUnaryOperator(const SmToken &token);
+ /** True, if the token is a postfix operator */
+ static bool IsPostfixOperator(const SmToken &token);
+private:
+ SmNodeList* pList;
+ /** Get the current terminal */
+ SmNode* Terminal(){
+ if(pList->size() > 0)
+ return pList->front();
+ return NULL;
+ }
+ /** Move to next terminal */
+ SmNode* Next(){
+ pList->pop_front();
+ return Terminal();
+ }
+ /** Take the current terminal */
+ SmNode* Take(){
+ SmNode* pRetVal = Terminal();
+ Next();
+ return pRetVal;
+ }
+ SmNode* Expression();
+ SmNode* Relation();
+ SmNode* Sum();
+ SmNode* Product();
+ SmNode* Factor();
+ SmNode* Postfix();
+ SmNode* Error();
+};
+
+
+#endif /* SMCURSOR_H */
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/inc/dialog.hxx b/starmath/inc/dialog.hxx
index 806bfbf4e4a2..316d1fb7ca62 100755..100644
--- a/starmath/inc/dialog.hxx
+++ b/starmath/inc/dialog.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -31,7 +32,6 @@
#include <vcl/dialog.hxx>
#include <vcl/fixed.hxx>
#include <vcl/button.hxx>
-#include <vcl/image.hxx>
#include <sfx2/tabdlg.hxx>
#include <vcl/combobox.hxx>
#include <svx/charmap.hxx>
@@ -53,7 +53,6 @@ class SubsetMap;
/**************************************************************************/
-const XubString GetFontStyleName(const Font &rFont);
void SetFontStyle(const XubString &rStyleName, Font &rFont);
/**************************************************************************/
@@ -121,7 +120,7 @@ class SmFontDialog : public ModalDialog
virtual void DataChanged( const DataChangedEvent& rDCEvt );
public:
- SmFontDialog(Window * pParent, OutputDevice *pFntListDevice, sal_Bool bHideCheckboxes, sal_Bool bFreeRes = sal_True);
+ SmFontDialog(Window * pParent, OutputDevice *pFntListDevice, bool bHideCheckboxes, bool bFreeRes = true);
const Font& GetFont() const { return Face; }
void SetFont(const Font &rFont);
@@ -151,7 +150,7 @@ class SmFontSizeDialog : public ModalDialog
DECL_LINK(DefaultButtonClickHdl, Button *);
public:
- SmFontSizeDialog(Window *pParent, sal_Bool bFreeRes = sal_True);
+ SmFontSizeDialog(Window *pParent, bool bFreeRes = true);
void ReadFrom(const SmFormat &rFormat);
void WriteTo (SmFormat &rFormat) const;
@@ -188,7 +187,7 @@ class SmFontTypeDialog : public ModalDialog
DECL_LINK(DefaultButtonClickHdl, Button *);
public:
- SmFontTypeDialog(Window *pParent, OutputDevice *pFntListDevice, sal_Bool bFreeRes = sal_True);
+ SmFontTypeDialog(Window *pParent, OutputDevice *pFntListDevice, bool bFreeRes = true);
void ReadFrom(const SmFormat &rFormat);
void WriteTo (SmFormat &rFormat) const;
@@ -203,11 +202,9 @@ class SmCategoryDesc : public Resource
XubString Name;
XubString *Strings[4];
Bitmap *Graphics[4]; /* regular bitmaps */
- Bitmap *GraphicsH[4]; /* high contrast bitmaps */
sal_uInt16 Minimum[4];
sal_uInt16 Maximum[4];
sal_uInt16 Value[4];
- sal_Bool bIsHighContrast;
public:
SmCategoryDesc(const ResId &rResId, sal_uInt16 nCategoryIdx);
@@ -220,10 +217,9 @@ public:
sal_uInt16 GetValue(sal_uInt16 Index) const { return Value[Index]; }
void SetValue(sal_uInt16 Index, sal_uInt16 nVal) { Value[Index] = nVal;}
- void SetHighContrast( sal_Bool bVal ) { bIsHighContrast = bVal; }
const Bitmap * GetGraphic(sal_uInt16 Index) const
{
- return bIsHighContrast ? GraphicsH[Index] : Graphics[Index];
+ return Graphics[Index];
}
};
@@ -248,7 +244,7 @@ class SmDistanceDialog : public ModalDialog
SmCategoryDesc *Categories[NOCATEGORIES];
sal_uInt16 nActiveCategory;
- sal_Bool bScaleAllBrackets;
+ bool bScaleAllBrackets;
DECL_LINK(GetFocusHdl, Control *);
DECL_LINK(MenuSelectHdl, Menu *);
@@ -259,10 +255,8 @@ class SmDistanceDialog : public ModalDialog
void SetHelpId(MetricField &rField, const rtl::OString& sHelpId);
void SetCategory(sal_uInt16 Category);
- void ApplyImages();
-
public:
- SmDistanceDialog(Window *pParent, sal_Bool bFreeRes = sal_True);
+ SmDistanceDialog(Window *pParent, bool bFreeRes = true);
~SmDistanceDialog();
void ReadFrom(const SmFormat &rFormat);
@@ -289,7 +283,7 @@ class SmAlignDialog : public ModalDialog
DECL_LINK(DefaultButtonClickHdl, Button *);
public:
- SmAlignDialog(Window *pParent, sal_Bool bFreeRes = sal_True);
+ SmAlignDialog(Window *pParent, bool bFreeRes = true);
void ReadFrom(const SmFormat &rFormat);
void WriteTo (SmFormat &rFormat) const;
@@ -373,7 +367,7 @@ class SmSymbolDialog : public ModalDialog
DECL_LINK(EditClickHdl, Button *);
DECL_LINK(GetClickHdl, Button *);
- void FillSymbolSets(sal_Bool bDeleteText = sal_True);
+ void FillSymbolSets(bool bDeleteText = true);
void SetSymbolSetManager(SmSymbolManager &rMgr);
const SmSym *GetSymbol() const;
void InitColor_Impl();
@@ -382,10 +376,10 @@ class SmSymbolDialog : public ModalDialog
public:
SmSymbolDialog(Window * pParent, OutputDevice *pFntListDevice,
- SmSymbolManager &rSymbolMgr, SmViewShell &rViewShell, sal_Bool bFreeRes = sal_True);
+ SmSymbolManager &rSymbolMgr, SmViewShell &rViewShell, bool bFreeRes = true);
virtual ~SmSymbolDialog();
- sal_Bool SelectSymbolSet(const XubString &rSymbolSetName);
+ bool SelectSymbolSet(const XubString &rSymbolSetName);
void SelectSymbol(sal_uInt16 nSymbolPos);
sal_uInt16 GetSelectedSymbol() const { return aSymbolSetDisplay.GetSelectSymbol(); }
};
@@ -438,7 +432,6 @@ class SmSymDefineDialog : public ModalDialog
PushButton aDeleteBtn;
FixedImage aRightArrow;
Image aRigthArrow_Im;
- Image aRigthArrow_Im_HC; // hi-contrast version
SmSymbolManager aSymbolMgrCopy,
&rSymbolMgr;
@@ -458,22 +451,22 @@ class SmSymDefineDialog : public ModalDialog
DECL_LINK(ChangeClickHdl, Button *);
DECL_LINK(DeleteClickHdl, Button *);
- void FillSymbols(ComboBox &rComboBox, sal_Bool bDeleteText = sal_True);
- void FillSymbolSets(ComboBox &rComboBox, sal_Bool bDeleteText = sal_True);
- void FillFonts(sal_Bool bDeleteText = sal_True);
- void FillStyles(sal_Bool bDeleteText = sal_True);
+ void FillSymbols(ComboBox &rComboBox, bool bDeleteText = true);
+ void FillSymbolSets(ComboBox &rComboBox, bool bDeleteText = true);
+ void FillFonts(bool bDeleteText = true);
+ void FillStyles(bool bDeleteText = true);
void SetSymbolSetManager(const SmSymbolManager &rMgr);
void SetFont(const XubString &rFontName, const XubString &rStyleName);
void SetOrigSymbol(const SmSym *pSymbol, const XubString &rSymbolSetName);
void UpdateButtons();
- sal_Bool SelectSymbolSet(ComboBox &rComboBox, const XubString &rSymbolSetName,
- sal_Bool bDeleteText);
- sal_Bool SelectSymbol(ComboBox &rComboBox, const XubString &rSymbolName,
- sal_Bool bDeleteText);
- sal_Bool SelectFont(const XubString &rFontName, sal_Bool bApplyFont);
- sal_Bool SelectStyle(const XubString &rStyleName, sal_Bool bApplyFont);
+ bool SelectSymbolSet(ComboBox &rComboBox, const XubString &rSymbolSetName,
+ bool bDeleteText);
+ bool SelectSymbol(ComboBox &rComboBox, const XubString &rSymbolName,
+ bool bDeleteText);
+ bool SelectFont(const XubString &rFontName, bool bApplyFont);
+ bool SelectStyle(const XubString &rStyleName, bool bApplyFont);
SmSym * GetSymbol(const ComboBox &rComboBox);
const SmSym * GetSymbol(const ComboBox &rComboBox) const
@@ -486,7 +479,7 @@ class SmSymDefineDialog : public ModalDialog
virtual void DataChanged( const DataChangedEvent& rDCEvt );
public:
- SmSymDefineDialog(Window *pParent, OutputDevice *pFntListDevice, SmSymbolManager &rMgr, sal_Bool bFreeRes = sal_True);
+ SmSymDefineDialog(Window *pParent, OutputDevice *pFntListDevice, SmSymbolManager &rMgr, bool bFreeRes = true);
~SmSymDefineDialog();
using OutputDevice::SetFont;
@@ -494,28 +487,28 @@ public:
// Dialog
virtual short Execute();
- sal_Bool SelectOldSymbolSet(const XubString &rSymbolSetName)
+ bool SelectOldSymbolSet(const XubString &rSymbolSetName)
{
- return SelectSymbolSet(aOldSymbolSets, rSymbolSetName, sal_False);
+ return SelectSymbolSet(aOldSymbolSets, rSymbolSetName, false);
}
- sal_Bool SelectOldSymbol(const XubString &rSymbolName)
+ bool SelectOldSymbol(const XubString &rSymbolName)
{
- return SelectSymbol(aOldSymbols, rSymbolName, sal_False);
+ return SelectSymbol(aOldSymbols, rSymbolName, false);
}
- sal_Bool SelectSymbolSet(const XubString &rSymbolSetName)
+ bool SelectSymbolSet(const XubString &rSymbolSetName)
{
- return SelectSymbolSet(aSymbolSets, rSymbolSetName, sal_False);
+ return SelectSymbolSet(aSymbolSets, rSymbolSetName, false);
}
- sal_Bool SelectSymbol(const XubString &rSymbolName)
+ bool SelectSymbol(const XubString &rSymbolName)
{
- return SelectSymbol(aSymbols, rSymbolName, sal_False);
+ return SelectSymbol(aSymbols, rSymbolName, false);
}
- sal_Bool SelectFont(const XubString &rFontName) { return SelectFont(rFontName, sal_True); }
- sal_Bool SelectStyle(const XubString &rStyleName) { return SelectStyle(rStyleName, sal_True); };
+ bool SelectFont(const XubString &rFontName) { return SelectFont(rFontName, true); }
+ bool SelectStyle(const XubString &rStyleName) { return SelectStyle(rStyleName, true); };
void SelectChar(xub_Unicode cChar);
};
@@ -523,3 +516,4 @@ public:
#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/inc/document.hxx b/starmath/inc/document.hxx
index f31a53801120..97753d9446e1 100755..100644
--- a/starmath/inc/document.hxx
+++ b/starmath/inc/document.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -24,6 +25,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
+
#ifndef DOCUMENT_HXX
#define DOCUMENT_HXX
@@ -48,6 +50,7 @@ class SmNode;
class SfxMenuBarManager;
class SfxPrinter;
class Printer;
+class SmCursor;
#define HINT_DATACHANGED 1004
@@ -55,8 +58,8 @@ class Printer;
#define SM30IDENT ((sal_uLong)0x30334d53L)
#define SM304AIDENT ((sal_uLong)0x34303330L)
#define SM30VERSION ((sal_uLong)0x00010000L)
-#define SM50VERSION ((sal_uLong)0x00010001L) //Unterschied zur SM30VERSION ist
- //der neue Border im Format.
+#define SM50VERSION ((ULONG)0x00010001L) //Difference to SM30VERSION is
+ //the new border in the format.
#define FRMIDENT ((sal_uLong)0x03031963L)
#define FRMVERSION ((sal_uLong)0x00010001L)
@@ -64,20 +67,19 @@ class Printer;
#define STAROFFICE_XML "StarOffice XML (Math)"
#define MATHML_XML "MathML XML (Math)"
-/* Zugriff auf den Drucker sollte ausschliesslich ueber diese Klasse erfolgen
+/* Access to printer should happen through this class only
* ==========================================================================
*
- * Der Drucker kann dem Dokument oder auch dem OLE-Container gehoeren. Wenn
- * das Dokument also eine OLE-Dokument ist, so gehoert der Drucker auch
- * grundsaetzlich dem Container. Der Container arbeitet aber eventuell mit
- * einer anderen MapUnit als der Server. Der Drucker wird bezueglich des MapMode
- * im Konstruktor entsprechend eingestellt und im Destruktor wieder restauriert.
- * Das bedingt natuerlich, das diese Klasse immer nur kurze Zeit existieren darf
- * (etwa waehrend des Paints).
- * Die Kontrolle darueber ob der Drucker selbst angelegt, vom Server besorgt
- * oder dann auch NULL ist, uebernimmt die DocShell in der Methode GetPrt(),
- * fuer die der Access auch Friend der DocShell ist.
-*/
+ * The printer can belong to the document or the OLE-Container. If the document
+ * is an OLE-Document the printer generally belongs to the container too.
+ * But the container mayby works with a different MapUnit than the server.
+ * Referring to the MapMode the printer will be accordingly adjusted in the
+ * constructor and restored in the destructor. This brings that this class
+ * is always allowed to exists only a short time (e.g. while painting).
+ * The control whether the printer is self-generated, gotten from the server
+ * or is NULL then, is taken by the DocShell in the method GetPrt(), for
+ * which the access is friend of the DocShell too.
+ */
class SmDocShell;
class EditEngine;
@@ -108,6 +110,7 @@ class SmDocShell : public SfxObjectShell, public SfxListener
{
friend class SmPrinterAccess;
friend class SmModel;
+ friend class SmCursor;
String aText;
SmFormat aFormat;
@@ -117,15 +120,15 @@ class SmDocShell : public SfxObjectShell, public SfxListener
SfxMenuBarManager *pMenuMgr;
SfxItemPool *pEditEngineItemPool;
EditEngine *pEditEngine;
- SfxPrinter *pPrinter; //Siehe Kommentar zum SmPrinter Access!
- Printer *pTmpPrinter; //ebenfalls
+ SfxPrinter *pPrinter; //q.v. comment to SmPrinter Access!
+ Printer *pTmpPrinter; //ditto
long nLeftBorder,
nRightBorder,
nTopBorder,
nBottomBorder;
sal_uInt16 nModifyCount;
- sal_Bool bIsFormulaArranged;
-
+ bool bIsFormulaArranged;
+ SmCursor *pCursor;
std::set< rtl::OUString > aUsedSymbols; // to export used symbols only when saving
@@ -133,7 +136,7 @@ class SmDocShell : public SfxObjectShell, public SfxListener
virtual void SFX_NOTIFY(SfxBroadcaster& rBC, const TypeId& rBCType,
const SfxHint& rHint, const TypeId& rHintType);
- sal_Bool WriteAsMathType3( SfxMedium& );
+ bool WriteAsMathType3( SfxMedium& );
virtual void Draw(OutputDevice *pDevice,
const JobSetup & rSetup,
@@ -161,11 +164,16 @@ class SmDocShell : public SfxObjectShell, public SfxListener
Printer *GetPrt();
OutputDevice* GetRefDev();
- sal_Bool IsFormulaArranged() const { return bIsFormulaArranged; }
- void SetFormulaArranged(sal_Bool bVal) { bIsFormulaArranged = bVal; }
+ bool IsFormulaArranged() const { return bIsFormulaArranged; }
+ void SetFormulaArranged(bool bVal) { bIsFormulaArranged = bVal; }
virtual sal_Bool ConvertFrom(SfxMedium &rMedium);
+ /** Called whenever the formula is changed
+ * Deletes the current cursor
+ */
+ void InvalidateCursor();
+
public:
TYPEINFO();
SFX_DECL_INTERFACE(SFX_INTERFACE_SMA_START+1)
@@ -180,11 +188,10 @@ public:
void ArrangeFormula();
- //Zugriff fuer die View. Diese Zugriffe sind nur fuer den nicht OLE-Fall!
- //und fuer die Kommunikation mit dem SFX!
- //Alle internen Verwendungen des Printers sollten ausschlieslich uber
- //den SmPrinterAccess funktionieren.
- sal_Bool HasPrinter() { return 0 != pPrinter; }
+ //Access for the View. This access is not for the OLE-case!
+ //and for the communication with the SFX!
+ //All internal printer uses should work with the SmPrinterAccess only
+ bool HasPrinter() { return 0 != pPrinter; }
SfxPrinter *GetPrinter() { GetPrt(); return pPrinter; }
void SetPrinter( SfxPrinter * );
@@ -211,7 +218,7 @@ public:
EditEngine & GetEditEngine();
SfxItemPool & GetEditEngineItemPool();
- void Draw(OutputDevice &rDev, Point &rPosition);
+ void DrawFormula(OutputDevice &rDev, Point &rPosition, bool bDrawSelection = false);
Size GetSize();
void Repaint();
@@ -225,8 +232,17 @@ public:
virtual void SetVisArea (const Rectangle & rVisArea);
virtual void SetModified(sal_Bool bModified);
-};
+ /** Get a cursor for modifying this document
+ * @remarks Don't store this reference, a new cursor may be made...
+ */
+ SmCursor& GetCursor();
+ /** True, if cursor have previously been requested and thus
+ * has some sort of position.
+ */
+ bool HasCursor() { return pCursor != NULL; }
+};
#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/inc/edit.hxx b/starmath/inc/edit.hxx
index 2de69a5924ed..454877dcaa7e 100644
--- a/starmath/inc/edit.hxx
+++ b/starmath/inc/edit.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -33,10 +34,6 @@
#include <editeng/editdata.hxx>
#include <svtools/colorcfg.hxx>
-//#ifndef _ACCESSIBILITY_HXX_
-//#include "accessibility.hxx"
-//#endif
-
class SmDocShell;
class SmViewShell;
class EditView;
@@ -52,7 +49,7 @@ class CommandEvent;
/**************************************************************************/
- void SmGetLeftSelectionPart(const ESelection aSelection,
+ void SmGetLeftSelectionPart(const ESelection &rSelection,
sal_uInt16 &nPara, sal_uInt16 &nPos);
/**************************************************************************/
@@ -117,9 +114,9 @@ public:
ESelection GetSelection() const;
void SetSelection(const ESelection &rSel);
- sal_Bool IsEmpty() const;
- sal_Bool IsSelected() const;
- sal_Bool IsAllSelected() const;
+ bool IsEmpty() const;
+ bool IsSelected() const;
+ bool IsAllSelected() const;
void Cut();
void Copy();
void Paste();
@@ -130,14 +127,16 @@ public:
void MarkError(const Point &rPos);
void SelNextMark();
void SelPrevMark();
- sal_Bool HasMark(const String &rText) const;
+ bool HasMark(const String &rText) const;
void Flush();
void DeleteEditView( SmViewShell &rView );
void ApplyColorConfigValues( const svtools::ColorConfig &rColorCfg );
- sal_Bool HandleWheelCommands( const CommandEvent &rCEvt );
+ bool HandleWheelCommands( const CommandEvent &rCEvt );
+ bool IsInlineEditEnabled();
+ void StartCursorMove();
// for Accessibility
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible();
@@ -149,3 +148,4 @@ public:
#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/inc/format.hxx b/starmath/inc/format.hxx
index de12c8af8891..98c34c4f4dc2 100755..100644
--- a/starmath/inc/format.hxx
+++ b/starmath/inc/format.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -103,14 +104,14 @@ String GetDefaultFontName( LanguageType nLang, sal_uInt16 nIdent );
class SmFormat : public SfxBroadcaster
{
SmFace vFont[FNT_END + 1];
- sal_Bool bDefaultFont[FNT_END + 1];
+ bool bDefaultFont[FNT_END + 1];
Size aBaseSize;
long nVersion;
sal_uInt16 vSize[SIZ_END + 1];
sal_uInt16 vDist[DIS_END + 1];
SmHorAlign eHorAlign;
sal_Int16 nGreekCharStyle;
- sal_Bool bIsTextmode,
+ bool bIsTextmode,
bScaleNormalBrackets;
public:
@@ -121,29 +122,29 @@ public:
void SetBaseSize(const Size &rSize) { aBaseSize = rSize; }
const SmFace & GetFont(sal_uInt16 nIdent) const { return vFont[nIdent]; }
- void SetFont(sal_uInt16 nIdent, const SmFace &rFont, sal_Bool bDefault = sal_False);
+ void SetFont(sal_uInt16 nIdent, const SmFace &rFont, bool bDefault = false);
void SetFontSize(sal_uInt16 nIdent, const Size &rSize) { vFont[nIdent].SetSize( rSize ); }
- void SetDefaultFont(sal_uInt16 nIdent, sal_Bool bVal) { bDefaultFont[nIdent] = bVal; }
- sal_Bool IsDefaultFont(sal_uInt16 nIdent) const { return bDefaultFont[nIdent]; }
+ void SetDefaultFont(sal_uInt16 nIdent, bool bVal) { bDefaultFont[nIdent] = bVal; }
+ bool IsDefaultFont(sal_uInt16 nIdent) const { return bDefaultFont[nIdent]; }
- sal_uInt16 GetRelSize(sal_uInt16 nIdent) const { return vSize[nIdent]; }
+ sal_uInt16 GetRelSize(sal_uInt16 nIdent) const { return vSize[nIdent]; }
void SetRelSize(sal_uInt16 nIdent, sal_uInt16 nVal) { vSize[nIdent] = nVal;}
- sal_uInt16 GetDistance(sal_uInt16 nIdent) const { return vDist[nIdent]; }
+ sal_uInt16 GetDistance(sal_uInt16 nIdent) const { return vDist[nIdent]; }
void SetDistance(sal_uInt16 nIdent, sal_uInt16 nVal) { vDist[nIdent] = nVal; }
SmHorAlign GetHorAlign() const { return eHorAlign; }
void SetHorAlign(SmHorAlign eAlign) { eHorAlign = eAlign; }
- sal_Bool IsTextmode() const { return bIsTextmode; }
- void SetTextmode(sal_Bool bVal) { bIsTextmode = bVal; }
+ bool IsTextmode() const { return bIsTextmode; }
+ void SetTextmode(bool bVal) { bIsTextmode = bVal; }
- sal_Int16 GetGreekCharStyle() const { return nGreekCharStyle; }
+ sal_Int16 GetGreekCharStyle() const { return nGreekCharStyle; }
void SetGreekCharStyle(sal_Int16 nVal) { nGreekCharStyle = nVal; }
- sal_Bool IsScaleNormalBrackets() const { return bScaleNormalBrackets; }
- void SetScaleNormalBrackets(sal_Bool bVal) { bScaleNormalBrackets = bVal; }
+ bool IsScaleNormalBrackets() const { return bScaleNormalBrackets; }
+ void SetScaleNormalBrackets(bool bVal) { bScaleNormalBrackets = bVal; }
long GetVersion() const { return nVersion; }
@@ -152,8 +153,8 @@ public:
SmFormat & operator = (const SmFormat &rFormat);
- sal_Bool operator == (const SmFormat &rFormat) const;
- inline sal_Bool operator != (const SmFormat &rFormat) const;
+ bool operator == (const SmFormat &rFormat) const;
+ inline bool operator != (const SmFormat &rFormat) const;
void RequestApplyChanges() const
{
@@ -162,10 +163,11 @@ public:
};
-inline sal_Bool SmFormat::operator != (const SmFormat &rFormat) const
+inline bool SmFormat::operator != (const SmFormat &rFormat) const
{
return !(*this == rFormat);
}
#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/inc/node.hxx b/starmath/inc/node.hxx
index e10f2c095507..202cf2e4b538 100644
--- a/starmath/inc/node.hxx
+++ b/starmath/inc/node.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -25,12 +26,13 @@
*
************************************************************************/
-
#ifndef NODE_HXX
#define NODE_HXX
-
#include <vector>
+#include <fstream>
+#include <iostream>
+#include <stdio.h>
#include "parse.hxx"
#include "types.hxx"
@@ -41,6 +43,7 @@
#define ATTR_BOLD 0x0001
#define ATTR_ITALIC 0x0002
+
#define FNTSIZ_ABSOLUT 1
#define FNTSIZ_PLUS 2
#define FNTSIZ_MINUS 3
@@ -59,6 +62,7 @@
extern SmFormat *pActiveFormat;
+class SmVisitor;
class SmDocShell;
class SmNode;
class SmStructureNode;
@@ -87,16 +91,19 @@ enum SmNodeType
class SmNode : public SmRect
{
- SmFace aFace;
+ SmFace aFace;
- SmToken aNodeToken;
+ SmToken aNodeToken;
SmNodeType eType;
SmScaleMode eScaleMode;
RectHorAlign eRectHorAlign;
sal_uInt16 nFlags,
nAttributes;
- sal_Bool bIsPhantom,
+ bool bIsPhantom,
bIsDebug;
+
+ bool bIsSelected;
+
protected:
SmNode(SmNodeType eNodeType, const SmToken &rNodeToken);
@@ -106,7 +113,7 @@ protected:
public:
virtual ~SmNode();
- virtual sal_Bool IsVisible() const;
+ virtual bool IsVisible() const;
virtual sal_uInt16 GetNumSubNodes() const;
virtual SmNode * GetSubNode(sal_uInt16 nIndex);
@@ -124,9 +131,9 @@ public:
sal_uInt16 & Flags() { return nFlags; }
sal_uInt16 & Attributes() { return nAttributes; }
- sal_Bool IsDebug() const { return bIsDebug; }
- sal_Bool IsPhantom() const { return bIsPhantom; }
- void SetPhantom(sal_Bool bIsPhantom);
+ bool IsDebug() const { return bIsDebug; }
+ bool IsPhantom() const { return bIsPhantom; }
+ void SetPhantom(bool bIsPhantom);
void SetColor(const Color &rColor);
void SetAttribut(sal_uInt16 nAttrib);
@@ -146,7 +153,7 @@ public:
void ToggleDebug() const;
#endif
- void SetRectHorAlign(RectHorAlign eHorAlign, sal_Bool bApplyToSubTree = sal_True );
+ void SetRectHorAlign(RectHorAlign eHorAlign, bool bApplyToSubTree = true );
RectHorAlign GetRectHorAlign() const { return eRectHorAlign; }
const SmRect & GetRect() const { return *this; }
@@ -157,11 +164,6 @@ public:
virtual void Arrange(const OutputDevice &rDev, const SmFormat &rFormat);
virtual void CreateTextFromNode(String &rText);
-#ifdef SM_RECT_DEBUG
- using SmRect::Draw;
-#endif
- virtual void Draw(OutputDevice &rDev, const Point &rPosition) const;
-
virtual void GetAccessibleText( String &rText ) const;
sal_Int32 GetAccessibleIndex() const { return nAccIndex; }
const SmNode * FindNodeWithAccessibleIndex(xub_StrLen nAccIndex) const;
@@ -181,15 +183,129 @@ public:
const SmNode * FindTokenAt(sal_uInt16 nRow, sal_uInt16 nCol) const;
const SmNode * FindRectClosestTo(const Point &rPoint) const;
- // --> 4.7.2010 #i972#
- virtual long GetFormulaBaseline() const;
- // <--
-};
+ virtual long GetFormulaBaseline() const;
+
+ /** Accept a visitor
+ * Calls the method for this class on the visitor
+ */
+ virtual void Accept(SmVisitor* pVisitor);
+ /** True if this node is selected */
+ bool IsSelected() const {return bIsSelected;}
+ void SetSelected(bool Selected = true) {bIsSelected = Selected;}
+
+#ifdef DEBUG_ENABLE_DUMPASDOT
+ /** The tree as dot graph for graphviz, usable for debugging
+ * Convert the output to a image using $ dot graph.gv -Tpng > graph.png
+ */
+ inline void DumpAsDot(std::ostream &out, String* label = NULL) const{
+ int id = 0;
+ DumpAsDot(out, label, -1, id, -1);
+ }
+#endif /* DEBUG_ENABLE_DUMPASDOT */
+
+ /** Get the parent node of this node */
+ SmStructureNode* GetParent(){ return aParentNode; }
+ /** Set the parent node */
+ void SetParent(SmStructureNode* parent){
+ aParentNode = parent;
+ }
+
+ /** Get the index of a child node
+ *
+ * Returns -1, if pSubNode isn't a subnode of this.
+ */
+ int IndexOfSubNode(SmNode* pSubNode){
+ sal_uInt16 nSize = GetNumSubNodes();
+ for(sal_uInt16 i = 0; i < nSize; i++)
+ if(pSubNode == GetSubNode(i))
+ return i;
+ return -1;
+ }
+ /** Set the token for this node */
+ void SetToken(SmToken& token){
+ aNodeToken = token;
+ }
+protected:
+ /** Sets parent on children of this node */
+ void ClaimPaternity(){
+ SmNode* pNode;
+ sal_uInt16 nSize = GetNumSubNodes();
+ for (sal_uInt16 i = 0; i < nSize; i++)
+ if (NULL != (pNode = GetSubNode(i)))
+ pNode->SetParent((SmStructureNode*)this); //Cast is valid if we have children
+ }
+private:
+ SmStructureNode* aParentNode;
+ void DumpAsDot(std::ostream &out, String* label, int number, int& id, int parent) const;
+};
////////////////////////////////////////////////////////////////////////////////
+/** A simple auxiliary iterator class for SmNode
+ *
+ * Example of iteration over children of pMyNode:
+ * \code
+ * //Node to iterate over:
+ * SmNode* pMyNode = 0;// A pointer from somewhere
+ * //The iterator:
+ * SmNodeIterator it(pMyNode);
+ * //The iteration:
+ * while(it.Next()) {
+ * it->SetSelected(true);
+ * }
+ * \endcode
+ */
+class SmNodeIterator{
+public:
+ SmNodeIterator(SmNode* node, bool bReverse = false){
+ pNode = node;
+ nSize = pNode->GetNumSubNodes();
+ nIndex = 0;
+ pChildNode = NULL;
+ bIsReverse = bReverse;
+ }
+ /** Get the subnode or NULL if none */
+ SmNode* Next(){
+ while(!bIsReverse && nIndex < nSize){
+ if(NULL != (pChildNode = pNode->GetSubNode(nIndex++)))
+ return pChildNode;
+ }
+ while(bIsReverse && nSize > 0){
+ if(NULL != (pChildNode = pNode->GetSubNode((nSize--)-1)))
+ return pChildNode;
+ }
+ pChildNode = NULL;
+ return NULL;
+ }
+ /** Get the current child node, NULL if none */
+ SmNode* Current(){
+ return pChildNode;
+ }
+ /** Get the current child node, NULL if none */
+ SmNode* operator->(){
+ return pChildNode;
+ }
+private:
+ /** Current child */
+ SmNode* pChildNode;
+ /** Node whos children we're iterating over */
+ SmNode* pNode;
+ /** Size of the node */
+ sal_uInt16 nSize;
+ /** Current index in the node */
+ sal_uInt16 nIndex;
+ /** Move reverse */
+ bool bIsReverse;
+};
+
+////////////////////////////////////////////////////////////////////////////////
+/** Abstract baseclass for all composite node
+ *
+ * Subclasses of this class can have subnodes. Nodes that doesn't derivate from
+ * this class does not have subnodes.
+ */
class SmStructureNode : public SmNode
{
SmNodeArray aSubNodes;
@@ -203,7 +319,7 @@ public:
SmStructureNode( const SmStructureNode &rNode );
virtual ~SmStructureNode();
- virtual sal_Bool IsVisible() const;
+ virtual bool IsVisible() const;
virtual sal_uInt16 GetNumSubNodes() const;
void SetNumSubNodes(sal_uInt16 nSize) { aSubNodes.resize(nSize); }
@@ -213,15 +329,34 @@ public:
void SetSubNodes(SmNode *pFirst, SmNode *pSecond, SmNode *pThird = NULL);
void SetSubNodes(const SmNodeArray &rNodeArray);
- virtual SmStructureNode & operator = ( const SmStructureNode &rNode );
+ SmStructureNode & operator = ( const SmStructureNode &rNode );
virtual void GetAccessibleText( String &rText ) const;
+
+ void SetSubNode(size_t nIndex, SmNode* pNode)
+ {
+ size_t size = aSubNodes.size();
+ if (size <= nIndex)
+ {
+ //Resize subnodes array
+ aSubNodes.resize(nIndex + 1);
+ //Set new slots to NULL
+ for (size_t i = size; i < nIndex+1; i++)
+ aSubNodes[i] = NULL;
+ }
+ aSubNodes[nIndex] = pNode;
+ ClaimPaternity();
+ }
};
////////////////////////////////////////////////////////////////////////////////
-
+/** Abstract base class for all visible node
+ *
+ * Nodes that doesn't derivate from this class doesn't draw anything, but their
+ * children.
+ */
class SmVisibleNode : public SmNode
{
protected:
@@ -231,7 +366,7 @@ protected:
public:
- virtual sal_Bool IsVisible() const;
+ virtual bool IsVisible() const;
virtual sal_uInt16 GetNumSubNodes() const;
using SmNode::GetSubNode;
virtual SmNode * GetSubNode(sal_uInt16 nIndex);
@@ -256,7 +391,10 @@ public:
////////////////////////////////////////////////////////////////////////////////
-
+/** Draws a rectangle
+ *
+ * Used for drawing the line in the OVER and OVERSTRIKE commands.
+ */
class SmRectangleNode : public SmGraphicNode
{
Size aToSize;
@@ -271,18 +409,17 @@ public:
virtual void Arrange(const OutputDevice &rDev, const SmFormat &rFormat);
-#ifdef SM_RECT_DEBUG
- using SmRect::Draw;
-#endif
- virtual void Draw(OutputDevice &rDev, const Point &rPosition) const;
-
void CreateTextFromNode(String &rText);
+ void Accept(SmVisitor* pVisitor);
};
////////////////////////////////////////////////////////////////////////////////
-
+/** Polygon line node
+ *
+ * Used to draw the slash of the WIDESLASH command by SmBinDiagonalNode.
+ */
class SmPolyLineNode : public SmGraphicNode
{
Polygon aPoly;
@@ -293,26 +430,36 @@ public:
SmPolyLineNode(const SmToken &rNodeToken);
long GetWidth() const { return nWidth; }
+ Size GetToSize() const { return aToSize; }
+ Polygon &GetPolygon() { return aPoly; }
virtual void AdaptToX(const OutputDevice &rDev, sal_uLong nWidth);
virtual void AdaptToY(const OutputDevice &rDev, sal_uLong nHeight);
virtual void Arrange(const OutputDevice &rDev, const SmFormat &rFormat);
-#ifdef SM_RECT_DEBUG
- using SmRect::Draw;
-#endif
- virtual void Draw(OutputDevice &rDev, const Point &rPosition) const;
+ void Accept(SmVisitor* pVisitor);
};
////////////////////////////////////////////////////////////////////////////////
-
+/** Text node
+ *
+ * @remarks This class also serves as baseclass for all nodes that contains text.
+ */
class SmTextNode : public SmVisibleNode
{
XubString aText;
sal_uInt16 nFontDesc;
+ /** Index within text where the selection starts
+ * @remarks Only valid if SmNode::IsSelected() is true
+ */
+ xub_StrLen nSelectionStart;
+ /** Index within text where the selection ends
+ * @remarks Only valid if SmNode::IsSelected() is true
+ */
+ xub_StrLen nSelectionEnd;
protected:
SmTextNode(SmNodeType eNodeType, const SmToken &rNodeToken, sal_uInt16 nFontDescP );
@@ -323,23 +470,47 @@ public:
sal_uInt16 GetFontDesc() const { return nFontDesc; }
void SetText(const XubString &rText) { aText = rText; }
const XubString & GetText() const { return aText; }
+ /** Change the text of this node, including the underlying token */
+ void ChangeText(const XubString &rText) {
+ aText = rText;
+ SmToken token = GetToken();
+ token.aText = rText;
+ SetToken(token); //TODO: Merge this with AdjustFontDesc for better performance
+ AdjustFontDesc();
+ }
+ /** Try to guess the correct FontDesc, used during visual editing */
+ void AdjustFontDesc();
+ /** Index within GetText() where the selection starts
+ * @remarks Only valid of SmNode::IsSelected() is true
+ */
+ xub_StrLen GetSelectionStart() const {return nSelectionStart;}
+ /** Index within GetText() where the selection end
+ * @remarks Only valid of SmNode::IsSelected() is true
+ */
+ xub_StrLen GetSelectionEnd() const {return nSelectionEnd;}
+ /** Set the index within GetText() where the selection starts */
+ void SetSelectionStart(xub_StrLen index) {nSelectionStart = index;}
+ /** Set the index within GetText() where the selection end */
+ void SetSelectionEnd(xub_StrLen index) {nSelectionEnd = index;}
virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell);
virtual void Arrange(const OutputDevice &rDev, const SmFormat &rFormat);
virtual void CreateTextFromNode(String &rText);
-#ifdef SM_RECT_DEBUG
- using SmRect::Draw;
-#endif
- virtual void Draw(OutputDevice &rDev, const Point &rPosition) const;
-
virtual void GetAccessibleText( String &rText ) const;
+ void Accept(SmVisitor* pVisitor);
};
////////////////////////////////////////////////////////////////////////////////
-
+/** Special node for user defined characters
+ *
+ * Node used for pre- and user-defined characters from:
+ * officecfg/registry/data/org/openoffice/Office/Math.xcu
+ *
+ * This is just single characters, I think.
+ */
class SmSpecialNode : public SmTextNode
{
bool bIsFromGreekSymbolSet;
@@ -353,16 +524,21 @@ public:
virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell);
virtual void Arrange(const OutputDevice &rDev, const SmFormat &rFormat);
-#ifdef SM_RECT_DEBUG
- using SmRect::Draw;
-#endif
- virtual void Draw(OutputDevice &rDev, const Point &rPosition) const;
+ void Accept(SmVisitor* pVisitor);
};
////////////////////////////////////////////////////////////////////////////////
-
+/** Glyph node for custom operators
+ *
+ * This node is used with commands: oper, uoper and boper.
+ * E.g. in "A boper op B", "op" will be an instance of SmGlyphSpecialNode.
+ * "boper" simply inteprets "op", the following token, as an binary operator.
+ * The command "uoper" interprets the following token as unary operator.
+ * For these commands an instance of SmGlyphSpecialNode is used for the
+ * operator token, following the command.
+ */
class SmGlyphSpecialNode : public SmSpecialNode
{
public:
@@ -371,12 +547,16 @@ public:
{}
virtual void Arran