summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--basegfx/source/curve/b2dcubicbezier.cxx24
-rw-r--r--basegfx/source/polygon/b2dtrapezoid.cxx4
-rw-r--r--canvas/prj/build.lst2
-rw-r--r--comphelper/inc/comphelper/docpasswordhelper.hxx63
-rw-r--r--comphelper/inc/comphelper/documentconstants.hxx38
-rw-r--r--comphelper/inc/comphelper/mediadescriptor.hxx27
-rw-r--r--comphelper/inc/comphelper/mimeconfighelper.hxx15
-rw-r--r--comphelper/inc/comphelper/namedvaluecollection.hxx12
-rw-r--r--comphelper/inc/comphelper/optionalvalue.hxx187
-rw-r--r--comphelper/inc/comphelper/property.hxx8
-rw-r--r--comphelper/inc/comphelper/querydeep.hxx484
-rw-r--r--comphelper/inc/comphelper/scopeguard.hxx16
-rw-r--r--comphelper/inc/comphelper/servicedecl.hxx4
-rw-r--r--comphelper/inc/comphelper/storagehelper.hxx11
-rw-r--r--comphelper/prj/build.lst2
-rw-r--r--comphelper/source/misc/docpasswordhelper.cxx152
-rw-r--r--comphelper/source/misc/makefile.mk1
-rw-r--r--comphelper/source/misc/mediadescriptor.cxx42
-rw-r--r--comphelper/source/misc/mimeconfighelper.cxx200
-rw-r--r--comphelper/source/misc/namedvaluecollection.cxx49
-rw-r--r--comphelper/source/misc/querydeep.cxx76
-rw-r--r--comphelper/source/misc/storagehelper.cxx52
-rw-r--r--comphelper/source/officeinstdir/officeinstallationdirectories.cxx92
-rw-r--r--comphelper/source/officeinstdir/officeinstallationdirectories.hxx6
-rw-r--r--comphelper/source/property/propagg.cxx24
-rw-r--r--cppcanvas/inc/cppcanvas/renderer.hxx18
-rw-r--r--cppcanvas/source/mtfrenderer/implrenderer.cxx46
-rw-r--r--cppcanvas/source/mtfrenderer/textaction.cxx20
-rw-r--r--dtrans/prj/build.lst2
-rw-r--r--i18npool/prj/build.lst2
-rw-r--r--l10ntools/inc/export.hxx61
-rw-r--r--l10ntools/scripts/tool/l10ntool.py5
-rw-r--r--l10ntools/source/help/HelpLinker.cxx45
-rw-r--r--l10ntools/source/merge.cxx284
-rw-r--r--rsc/inc/rsc/rscsfx.hxx (renamed from rsc/inc/rscsfx.hxx)0
-rw-r--r--rsc/prj/d.lst2
-rw-r--r--rsc/source/parser/rscdb.cxx3
-rw-r--r--rsc/source/parser/rscibas.cxx4
-rw-r--r--rsc/source/parser/rscicpx.cxx2
-rw-r--r--rsc/source/rsc/rsc.cxx172
-rw-r--r--sax/prj/build.lst2
-rw-r--r--sot/inc/sot/absdev.hxx (renamed from sot/inc/absdev.hxx)0
-rw-r--r--sot/inc/sot/agg.hxx (renamed from sot/inc/agg.hxx)0
-rw-r--r--sot/inc/sot/clsids.hxx (renamed from sot/inc/clsids.hxx)0
-rw-r--r--sot/inc/sot/filelist.hxx (renamed from sot/inc/filelist.hxx)0
-rw-r--r--sot/inc/sot/stg.hxx (renamed from sot/inc/stg.hxx)0
-rw-r--r--sot/inc/sot/storinfo.hxx (renamed from sot/inc/storinfo.hxx)0
-rw-r--r--sot/prj/build.lst2
-rw-r--r--sot/prj/d.lst17
-rw-r--r--sot/source/base/exchange.cxx2
-rw-r--r--sot/source/base/factory.cxx2
-rw-r--r--sot/source/base/filelist.cxx2
-rw-r--r--sot/source/base/formats.cxx4
-rw-r--r--sot/source/base/object.cxx2
-rw-r--r--sot/source/sdstor/stg.cxx4
-rw-r--r--sot/source/sdstor/stgcache.cxx2
-rw-r--r--sot/source/sdstor/stgdir.cxx7
-rw-r--r--sot/source/sdstor/stgelem.cxx2
-rw-r--r--sot/source/sdstor/stgelem.hxx2
-rw-r--r--sot/source/sdstor/stgio.cxx2
-rw-r--r--sot/source/sdstor/stgole.cxx2
-rw-r--r--sot/source/sdstor/stgole.hxx2
-rw-r--r--sot/source/sdstor/stgstrms.cxx2
-rw-r--r--sot/source/sdstor/storage.cxx4
-rw-r--r--sot/source/sdstor/storinfo.cxx4
-rw-r--r--sot/source/sdstor/ucbstorage.cxx6
-rw-r--r--sot/source/sdstor/unostorageholder.cxx2
-rw-r--r--sot/source/unoolestorage/xolesimplestorage.cxx2
-rw-r--r--sot/source/unoolestorage/xolesimplestorage.hxx2
-rw-r--r--sot/util/makefile.mk8
-rw-r--r--svl/AllLangResTarget_svl.mk (renamed from svl/source/filepicker/makefile.mk)35
-rw-r--r--svl/Library_fsstorage.mk78
-rw-r--r--svl/Library_passwordcontainer.mk74
-rw-r--r--svl/Library_svl.mk186
-rw-r--r--svl/Makefile38
-rw-r--r--svl/Module_svl.mk42
-rw-r--r--svl/Package_inc.mk129
-rw-r--r--svl/inc/svl/PasswordHelper.hxx (renamed from svl/inc/PasswordHelper.hxx)0
-rw-r--r--svl/inc/svl/adrparse.hxx (renamed from svl/inc/adrparse.hxx)0
-rw-r--r--svl/inc/svl/broadcast.hxx (renamed from svl/inc/broadcast.hxx)0
-rw-r--r--svl/inc/svl/cancel.hxx142
-rw-r--r--svl/inc/svl/cnclhint.hxx48
-rw-r--r--svl/inc/svl/cntnrsrt.hxx (renamed from svl/inc/cntnrsrt.hxx)0
-rw-r--r--svl/inc/svl/cntwids.hrc (renamed from svl/inc/cntwids.hrc)0
-rw-r--r--svl/inc/svl/converter.hxx (renamed from svl/inc/converter.hxx)0
-rw-r--r--svl/inc/svl/filenotation.hxx (renamed from svl/inc/filenotation.hxx)0
-rw-r--r--svl/inc/svl/folderrestriction.hxx (renamed from svl/inc/folderrestriction.hxx)0
-rw-r--r--svl/inc/svl/fstathelper.hxx (renamed from svl/inc/fstathelper.hxx)0
-rw-r--r--svl/inc/svl/inetdef.hxx (renamed from svl/inc/inetdef.hxx)0
-rw-r--r--svl/inc/svl/inetmsg.hxx (renamed from svl/inc/inetmsg.hxx)0
-rw-r--r--svl/inc/svl/inetstrm.hxx (renamed from svl/inc/inetstrm.hxx)0
-rw-r--r--svl/inc/svl/instrm.hxx (renamed from svl/inc/instrm.hxx)0
-rw-r--r--svl/inc/svl/listener.hxx (renamed from svl/inc/listener.hxx)0
-rw-r--r--svl/inc/svl/listeneriter.hxx (renamed from svl/inc/listeneriter.hxx)0
-rw-r--r--svl/inc/svl/lngmisc.hxx (renamed from svl/inc/lngmisc.hxx)0
-rw-r--r--svl/inc/svl/nfsymbol.hxx (renamed from svl/inc/nfsymbol.hxx)0
-rw-r--r--svl/inc/svl/numuno.hxx (renamed from svl/inc/numuno.hxx)0
-rw-r--r--svl/inc/svl/outstrm.hxx (renamed from svl/inc/outstrm.hxx)0
-rw-r--r--svl/inc/svl/pickerhelper.hxx (renamed from tools/win/inc/parser.hxx)49
-rw-r--r--svl/inc/svl/pickerhistory.hxx (renamed from svl/inc/pickerhistory.hxx)0
-rw-r--r--svl/inc/svl/pickerhistoryaccess.hxx (renamed from svl/inc/pickerhistoryaccess.hxx)0
-rw-r--r--svl/inc/svl/poolcach.hxx (renamed from svl/inc/poolcach.hxx)0
-rw-r--r--svl/inc/svl/strmadpt.hxx (renamed from svl/inc/strmadpt.hxx)0
-rw-r--r--svl/inc/svl/stylepool.hxx (renamed from svl/inc/stylepool.hxx)0
-rw-r--r--svl/inc/svl/urihelper.hxx (renamed from svl/inc/urihelper.hxx)0
-rw-r--r--svl/inc/svl/urlbmk.hxx (renamed from svl/inc/urlbmk.hxx)0
-rw-r--r--svl/inc/svl/whiter.hxx (renamed from svl/inc/whiter.hxx)0
-rw-r--r--svl/inc/svl/xmlement.hxx (renamed from svl/inc/xmlement.hxx)0
-rw-r--r--svl/prj/build.lst27
-rw-r--r--svl/prj/d.lst25
-rw-r--r--svl/prj/makefile.mk (renamed from tools/source/inet/makefile.mk)25
-rw-r--r--svl/qa/complex/ConfigItems/helper/makefile.mk74
-rw-r--r--svl/qa/complex/passwordcontainer/makefile.mk134
-rw-r--r--svl/qa/makefile.mk101
-rw-r--r--svl/source/filepicker/pickerhistory.cxx4
-rw-r--r--svl/source/fsstor/makefile.mk74
-rw-r--r--svl/source/items/itemset.cxx5
-rw-r--r--svl/source/items/makefile.mk84
-rw-r--r--svl/source/items/poolcach.cxx2
-rw-r--r--svl/source/items/poolio.cxx2
-rw-r--r--svl/source/items/stylepool.cxx2
-rw-r--r--svl/source/items/whiter.cxx4
-rw-r--r--svl/source/misc/PasswordHelper.cxx5
-rw-r--r--svl/source/misc/adrparse.cxx2
-rw-r--r--svl/source/misc/filenotation.cxx2
-rw-r--r--svl/source/misc/folderrestriction.cxx2
-rw-r--r--svl/source/misc/fstathelper.cxx3
-rw-r--r--svl/source/misc/lngmisc.cxx4
-rw-r--r--svl/source/misc/makefile.mk70
-rw-r--r--svl/source/misc/strmadpt.cxx6
-rw-r--r--svl/source/misc/svldata.cxx2
-rw-r--r--svl/source/misc/urihelper.cxx2
-rw-r--r--svl/source/notify/broadcast.cxx6
-rw-r--r--svl/source/notify/cancel.cxx201
-rw-r--r--svl/source/notify/listener.cxx11
-rw-r--r--svl/source/notify/listenerbase.cxx11
-rw-r--r--svl/source/notify/listeneriter.cxx8
-rw-r--r--svl/source/notify/makefile.mk62
-rw-r--r--svl/source/numbers/makefile.mk74
-rw-r--r--svl/source/numbers/numfmuno.cxx2
-rw-r--r--svl/source/numbers/numuno.cxx2
-rw-r--r--svl/source/numbers/supservs.cxx4
-rw-r--r--svl/source/numbers/supservs.hxx2
-rw-r--r--svl/source/numbers/zformat.cxx4
-rw-r--r--svl/source/numbers/zforscan.cxx2
-rw-r--r--svl/source/numbers/zforscan.hxx2
-rw-r--r--svl/source/passwordcontainer/makefile.mk70
-rw-r--r--svl/source/svdde/ddeml1.cxx2658
-rw-r--r--svl/source/svdde/ddeml2.cxx1011
-rw-r--r--svl/source/svdde/ddemldeb.cxx280
-rw-r--r--svl/source/svdde/ddemlimp.hxx433
-rw-r--r--svl/source/svdde/ddemlos2.h374
-rw-r--r--svl/source/svdde/makefile.mk60
-rw-r--r--svl/source/svsql/converter.cxx2
-rw-r--r--svl/source/svsql/makefile.mk46
-rw-r--r--svl/source/undo/makefile.mk47
-rw-r--r--svl/source/uno/makefile.mk47
-rw-r--r--svl/unx/source/svdde/makefile.mk46
-rw-r--r--svl/util/makefile.mk130
-rw-r--r--svtools/AllLangResTarget_productregistration.mk (renamed from svl/source/config/makefile.mk)40
-rw-r--r--svtools/AllLangResTarget_svt.mk74
-rw-r--r--svtools/Executable_bmp.mk71
-rw-r--r--svtools/Executable_bmpsum.mk (renamed from svl/qa/complex/ConfigItems/makefile.mk)70
-rw-r--r--svtools/Executable_g2g.mk (renamed from svl/inc/makefile.mk)62
-rw-r--r--svtools/Library_hatchwindowfactory.mk76
-rw-r--r--svtools/Library_productregistration.mk77
-rw-r--r--svtools/Library_svt.mk316
-rw-r--r--svtools/Makefile38
-rw-r--r--svtools/Module_svtools.mk (renamed from svl/source/filerec/makefile.mk)46
-rw-r--r--svtools/Package_inc.mk193
-rw-r--r--svtools/bmpmaker/bmp.cxx2
-rw-r--r--svtools/bmpmaker/makefile.mk74
-rw-r--r--svtools/inc/makefile.mk48
-rw-r--r--svtools/inc/svtools/DocumentInfoPreview.hxx (renamed from svtools/inc/DocumentInfoPreview.hxx)0
-rw-r--r--svtools/inc/svtools/QueryFolderName.hxx (renamed from svtools/inc/QueryFolderName.hxx)0
-rw-r--r--svtools/inc/svtools/acceleratorexecute.hxx (renamed from svtools/inc/acceleratorexecute.hxx)0
-rw-r--r--svtools/inc/svtools/addresstemplate.hxx (renamed from svtools/inc/addresstemplate.hxx)2
-rw-r--r--svtools/inc/svtools/apearcfg.hxx (renamed from svtools/inc/apearcfg.hxx)0
-rw-r--r--svtools/inc/svtools/asynclink.hxx (renamed from svtools/inc/asynclink.hxx)0
-rw-r--r--svtools/inc/svtools/calendar.hxx (renamed from svtools/inc/calendar.hxx)0
-rw-r--r--svtools/inc/svtools/cliplistener.hxx (renamed from svtools/inc/cliplistener.hxx)0
-rw-r--r--svtools/inc/svtools/collatorres.hxx (renamed from svtools/inc/collatorres.hxx)0
-rw-r--r--svtools/inc/svtools/contextmenuhelper.hxx (renamed from svtools/inc/contextmenuhelper.hxx)0
-rw-r--r--svtools/inc/svtools/controldims.hrc (renamed from svtools/inc/controldims.hrc)0
-rw-r--r--svtools/inc/svtools/ctrlbox.hxx (renamed from svtools/inc/ctrlbox.hxx)0
-rw-r--r--svtools/inc/svtools/ctrltool.hxx (renamed from svtools/inc/ctrltool.hxx)0
-rw-r--r--svtools/inc/svtools/dialogclosedlistener.hxx (renamed from svtools/inc/dialogclosedlistener.hxx)0
-rw-r--r--svtools/inc/svtools/dialogcontrolling.hxx (renamed from svtools/inc/dialogcontrolling.hxx)0
-rw-r--r--svtools/inc/svtools/editbrowsebox.hxx2
-rw-r--r--svtools/inc/svtools/expander.hxx (renamed from svtools/inc/expander.hxx)0
-rw-r--r--svtools/inc/svtools/extcolorcfg.hxx (renamed from svtools/inc/extcolorcfg.hxx)0
-rw-r--r--svtools/inc/svtools/filectrl.hxx (renamed from svtools/inc/filectrl.hxx)0
-rw-r--r--svtools/inc/svtools/filedlg.hxx (renamed from svtools/inc/filedlg.hxx)0
-rw-r--r--svtools/inc/svtools/filedlg2.hrc (renamed from svtools/inc/filedlg2.hrc)0
-rw-r--r--svtools/inc/svtools/fileview.hxx (renamed from svtools/inc/fileview.hxx)0
-rw-r--r--svtools/inc/svtools/fltdefs.hxx (renamed from svtools/inc/fltdefs.hxx)0
-rw-r--r--svtools/inc/svtools/fontsubstconfig.hxx (renamed from svtools/inc/fontsubstconfig.hxx)0
-rw-r--r--svtools/inc/svtools/framestatuslistener.hxx (renamed from svtools/inc/framestatuslistener.hxx)0
-rw-r--r--svtools/inc/svtools/helpagentwindow.hxx (renamed from svtools/inc/helpagentwindow.hxx)0
-rw-r--r--svtools/inc/svtools/htmlkywd.hxx (renamed from svtools/inc/htmlkywd.hxx)0
-rw-r--r--svtools/inc/svtools/htmltokn.h (renamed from svtools/inc/htmltokn.h)0
-rw-r--r--svtools/inc/svtools/imagemgr.hrc (renamed from svtools/inc/imagemgr.hrc)0
-rw-r--r--svtools/inc/svtools/imagemgr.hxx (renamed from svtools/inc/imagemgr.hxx)0
-rw-r--r--svtools/inc/svtools/imageresourceaccess.hxx (renamed from svtools/inc/imageresourceaccess.hxx)0
-rw-r--r--svtools/inc/svtools/imgdef.hxx (renamed from svtools/inc/imgdef.hxx)0
-rw-r--r--svtools/inc/svtools/indexentryres.hxx (renamed from svtools/inc/indexentryres.hxx)0
-rw-r--r--svtools/inc/svtools/inetimg.hxx (renamed from svtools/inc/inetimg.hxx)0
-rw-r--r--svtools/inc/svtools/itemdel.hxx (renamed from svtools/inc/itemdel.hxx)0
-rw-r--r--svtools/inc/svtools/ivctrl.hxx (renamed from svtools/inc/ivctrl.hxx)0
-rw-r--r--svtools/inc/svtools/localresaccess.hxx (renamed from svtools/inc/localresaccess.hxx)0
-rw-r--r--svtools/inc/svtools/prgsbar.hxx (renamed from svtools/inc/prgsbar.hxx)0
-rw-r--r--svtools/inc/svtools/roadmap.hxx (renamed from svtools/inc/roadmap.hxx)0
-rw-r--r--svtools/inc/svtools/rtfkeywd.hxx (renamed from svtools/inc/rtfkeywd.hxx)13
-rw-r--r--svtools/inc/svtools/rtfout.hxx (renamed from svtools/inc/rtfout.hxx)0
-rw-r--r--svtools/inc/svtools/rtftoken.h (renamed from svtools/inc/rtftoken.h)2
-rw-r--r--svtools/inc/svtools/ruler.hxx (renamed from svtools/inc/ruler.hxx)0
-rw-r--r--svtools/inc/svtools/scriptedtext.hxx (renamed from svtools/inc/scriptedtext.hxx)0
-rw-r--r--svtools/inc/svtools/scrwin.hxx (renamed from svtools/inc/scrwin.hxx)0
-rw-r--r--svtools/inc/svtools/sfxecode.hxx (renamed from svtools/inc/sfxecode.hxx)0
-rw-r--r--svtools/inc/svtools/soerr.hxx (renamed from svtools/inc/soerr.hxx)0
-rw-r--r--svtools/inc/svtools/sores.hxx (renamed from svtools/inc/sores.hxx)0
-rw-r--r--svtools/inc/svtools/statusbarcontroller.hxx (renamed from svtools/inc/statusbarcontroller.hxx)0
-rw-r--r--svtools/inc/svtools/stdmenu.hxx (renamed from svtools/inc/stdmenu.hxx)0
-rw-r--r--svtools/inc/svtools/svicnvw.hxx3
-rw-r--r--svtools/inc/svtools/svlbox.hxx30
-rw-r--r--svtools/inc/svtools/svtdata.hxx9
-rw-r--r--svtools/inc/svtools/svtools.hrc4
-rw-r--r--svtools/inc/svtools/svtreebx.hxx12
-rw-r--r--svtools/inc/svtools/sychconv.hxx (renamed from svtools/inc/sychconv.hxx)0
-rw-r--r--svtools/inc/svtools/tabbar.hxx (renamed from svtools/inc/tabbar.hxx)0
-rw-r--r--svtools/inc/svtools/taskbar.hxx (renamed from svtools/inc/taskbar.hxx)0
-rw-r--r--svtools/inc/svtools/templatefoldercache.hxx (renamed from svtools/inc/templatefoldercache.hxx)0
-rw-r--r--svtools/inc/svtools/templdlg.hxx (renamed from svtools/inc/templdlg.hxx)0
-rw-r--r--svtools/inc/svtools/testtool.hxx (renamed from svtools/inc/testtool.hxx)0
-rw-r--r--svtools/inc/svtools/tooltiplbox.hxx (renamed from svtools/inc/tooltiplbox.hxx)0
-rw-r--r--svtools/inc/svtools/txtattr.hxx (renamed from svtools/inc/txtattr.hxx)0
-rw-r--r--svtools/inc/svtools/txtcmp.hxx (renamed from svtools/inc/txtcmp.hxx)0
-rw-r--r--svtools/inc/svtools/unoevent.hxx (renamed from svtools/inc/unoevent.hxx)0
-rw-r--r--svtools/inc/svtools/unoimap.hxx (renamed from svtools/inc/unoimap.hxx)0
-rw-r--r--svtools/inc/svtools/wallitem.hxx (renamed from svtools/inc/wallitem.hxx)0
-rw-r--r--svtools/prj/build.lst36
-rw-r--r--svtools/prj/d.lst43
-rw-r--r--svtools/prj/makefile.mk (renamed from toolkit/uiconfig/layout/makefile.mk)32
-rw-r--r--svtools/qa/unoapi/makefile.mk48
-rw-r--r--svtools/source/brwbox/makefile.mk59
-rw-r--r--svtools/source/config/apearcfg.cxx2
-rw-r--r--svtools/source/config/extcolorcfg.cxx2
-rw-r--r--svtools/source/config/fontsubstconfig.cxx2
-rw-r--r--svtools/source/config/itemholder2.cxx4
-rw-r--r--svtools/source/config/makefile.mk58
-rw-r--r--svtools/source/config/miscopt.cxx2
-rw-r--r--svtools/source/contnr/cont_pch.cxx41
-rw-r--r--svtools/source/contnr/contentenumeration.cxx2
-rw-r--r--svtools/source/contnr/fileview.cxx5
-rw-r--r--svtools/source/contnr/imivctl.hxx2
-rw-r--r--svtools/source/contnr/imivctl1.cxx2
-rw-r--r--svtools/source/contnr/ivctrl.cxx5
-rw-r--r--svtools/source/contnr/makefile.mk82
-rw-r--r--svtools/source/contnr/svicnvw.cxx11
-rw-r--r--svtools/source/contnr/svimpbox.cxx126
-rw-r--r--svtools/source/contnr/svimpicn.cxx19
-rw-r--r--svtools/source/contnr/svlbox.cxx73
-rw-r--r--svtools/source/contnr/svtreebx.cxx41
-rw-r--r--svtools/source/contnr/templwin.cxx19
-rw-r--r--svtools/source/contnr/templwin.hxx4
-rw-r--r--svtools/source/contnr/templwin.src2
-rw-r--r--svtools/source/contnr/tooltiplbox.cxx2
-rwxr-xr-xsvtools/source/control/asynclink.cxx2
-rwxr-xr-xsvtools/source/control/calendar.cxx18
-rwxr-xr-xsvtools/source/control/collatorres.cxx4
-rwxr-xr-xsvtools/source/control/ctrlbox.cxx8
-rwxr-xr-xsvtools/source/control/ctrltool.cxx7
-rwxr-xr-xsvtools/source/control/filectrl.cxx7
-rwxr-xr-x[-rw-r--r--]svtools/source/control/filectrl2.cxx2
-rwxr-xr-xsvtools/source/control/indexentryres.cxx4
-rwxr-xr-xsvtools/source/control/inettbc.cxx31
-rwxr-xr-xsvtools/source/control/makefile.mk87
-rwxr-xr-xsvtools/source/control/prgsbar.cxx6
-rwxr-xr-xsvtools/source/control/roadmap.cxx9
-rwxr-xr-xsvtools/source/control/ruler.cxx45
-rwxr-xr-xsvtools/source/control/scriptedtext.cxx5
-rwxr-xr-xsvtools/source/control/scrwin.cxx2
-rwxr-xr-xsvtools/source/control/stdmenu.cxx9
-rwxr-xr-xsvtools/source/control/tabbar.cxx2
-rwxr-xr-xsvtools/source/control/taskbar.cxx7
-rwxr-xr-xsvtools/source/control/taskbox.cxx5
-rwxr-xr-xsvtools/source/control/taskmisc.cxx5
-rwxr-xr-xsvtools/source/control/taskstat.cxx5
-rw-r--r--svtools/source/dialogs/addresstemplate.cxx17
-rw-r--r--svtools/source/dialogs/addresstemplate.src8
-rw-r--r--svtools/source/dialogs/filedlg.cxx2
-rw-r--r--svtools/source/dialogs/filedlg2.cxx7
-rw-r--r--svtools/source/dialogs/filedlg2.src3
-rw-r--r--svtools/source/dialogs/formats.src2
-rw-r--r--svtools/source/dialogs/insdlg.cxx2
-rw-r--r--svtools/source/dialogs/makefile.mk75
-rw-r--r--svtools/source/dialogs/printdlg.cxx5
-rw-r--r--svtools/source/dialogs/propctrl.cxx503
-rw-r--r--svtools/source/dialogs/propctrl.hxx115
-rw-r--r--svtools/source/dialogs/roadmapwizard.cxx2
-rw-r--r--svtools/source/dialogs/so3res.src5
-rw-r--r--svtools/source/edit/editsyntaxhighlighter.cxx2
-rw-r--r--svtools/source/edit/makefile.mk61
-rw-r--r--svtools/source/edit/sychconv.cxx2
-rw-r--r--svtools/source/edit/textdoc.cxx1
-rw-r--r--svtools/source/edit/textdoc.hxx2
-rw-r--r--svtools/source/edit/txtattr.cxx2
-rw-r--r--svtools/source/filter.vcl/filter/FilterConfigCache.cxx2
-rw-r--r--svtools/source/filter.vcl/filter/FilterConfigItem.cxx2
-rw-r--r--svtools/source/filter.vcl/filter/filter.cxx4
-rw-r--r--svtools/source/filter.vcl/filter/gradwrap.cxx570
-rw-r--r--svtools/source/filter.vcl/filter/makefile.mk81
-rw-r--r--svtools/source/filter.vcl/igif/makefile.mk45
-rw-r--r--svtools/source/filter.vcl/jpeg/makefile.mk45
-rw-r--r--svtools/source/filter.vcl/wmf/makefile.mk50
-rw-r--r--svtools/source/graphic/makefile.mk66
-rw-r--r--svtools/source/hatchwindow/makefile.mk73
-rw-r--r--svtools/source/inc/svimpbox.hxx6
-rw-r--r--svtools/source/inc/svimpicn.hxx3
-rw-r--r--svtools/source/java/makefile.mk54
-rw-r--r--svtools/source/java/patchjavaerror.src93
-rw-r--r--svtools/source/misc/acceleratorexecute.cxx2
-rw-r--r--svtools/source/misc/cliplistener.cxx2
-rw-r--r--svtools/source/misc/dialogclosedlistener.cxx2
-rw-r--r--svtools/source/misc/dialogcontrolling.cxx2
-rw-r--r--svtools/source/misc/ehdl.cxx2
-rw-r--r--svtools/source/misc/ehdl.src3
-rw-r--r--svtools/source/misc/errtxt.src514
-rw-r--r--svtools/source/misc/helpagentwindow.cxx9
-rw-r--r--svtools/source/misc/imagemgr.cxx7
-rw-r--r--svtools/source/misc/imagemgr.src2
-rw-r--r--svtools/source/misc/imageresourceaccess.cxx4
-rw-r--r--svtools/source/misc/itemdel.cxx2
-rw-r--r--svtools/source/misc/makefile.mk84
-rw-r--r--svtools/source/misc/svtdata.cxx5
-rw-r--r--svtools/source/misc/templatefoldercache.cxx2
-rw-r--r--svtools/source/misc/transfer.cxx8
-rw-r--r--svtools/source/misc/transfer2.cxx9
-rw-r--r--svtools/source/misc/undo.src (renamed from svtools/source/plugapp/commtest.hrc)22
-rw-r--r--svtools/source/misc/wallitem.cxx2
-rw-r--r--svtools/source/plugapp/commtest.cxx261
-rw-r--r--svtools/source/plugapp/commtest.src60
-rw-r--r--svtools/source/plugapp/makefile.mk61
-rw-r--r--svtools/source/productregistration/makefile.mk86
-rw-r--r--svtools/source/svhtml/htmlkywd.cxx4
-rw-r--r--svtools/source/svhtml/htmlout.cxx2
-rw-r--r--svtools/source/svhtml/htmlsupp.cxx4
-rw-r--r--svtools/source/svhtml/parhtml.cxx4
-rw-r--r--svtools/source/svrtf/makefile.mk51
-rw-r--r--svtools/source/svrtf/parrtf.cxx4
-rw-r--r--svtools/source/svrtf/rtfkey2.cxx1159
-rw-r--r--svtools/source/svrtf/rtfkeywd.cxx5
-rw-r--r--svtools/source/svrtf/rtfout.cxx4
-rw-r--r--svtools/source/table/makefile.mk55
-rwxr-xr-xsvtools/source/toolpanel/makefile.mk68
-rw-r--r--svtools/source/uno/addrtempuno.cxx6
-rw-r--r--svtools/source/uno/contextmenuhelper.cxx2
-rw-r--r--svtools/source/uno/framestatuslistener.cxx2
-rw-r--r--svtools/source/uno/makefile.mk61
-rw-r--r--svtools/source/uno/statusbarcontroller.cxx6
-rw-r--r--svtools/source/uno/toolboxcontroller.cxx5
-rw-r--r--svtools/source/uno/treecontrolpeer.cxx24
-rw-r--r--svtools/source/uno/unoevent.cxx6
-rw-r--r--svtools/source/uno/unoiface.cxx12
-rw-r--r--svtools/source/uno/unoimap.cxx10
-rw-r--r--svtools/source/uno/wizard/makefile.mk48
-rw-r--r--svtools/source/urlobj/inetimg.cxx5
-rw-r--r--svtools/source/urlobj/makefile.mk46
-rw-r--r--svtools/util/makefile.mk200
-rw-r--r--svtools/workben/cui/makefile.mk60
-rw-r--r--svtools/workben/makefile.mk69
-rw-r--r--svtools/workben/toolpanel/makefile.mk110
-rw-r--r--svtools/workben/treecontrol/makefile.mk91
-rw-r--r--svtools/workben/unodialog/makefile.mk90
-rw-r--r--toolkit/AllLangResTarget_tk.mk (renamed from svl/source/memtools/makefile.mk)33
-rw-r--r--toolkit/Library_tk.mk175
-rw-r--r--toolkit/Makefile38
-rw-r--r--toolkit/Module_toolkit.mk38
-rw-r--r--toolkit/Package_inc.mk68
-rw-r--r--toolkit/Package_source.mk47
-rw-r--r--toolkit/Package_util.mk29
-rw-r--r--toolkit/inc/makefile.mk48
-rw-r--r--toolkit/prj/build.lst24
-rw-r--r--toolkit/prj/d.lst66
-rw-r--r--toolkit/prj/makefile.mk (renamed from svtools/source/filter.vcl/ixpm/makefile.mk)23
-rwxr-xr-xtoolkit/qa/complex/toolkit/interface_tests/makefile.mk57
-rwxr-xr-xtoolkit/qa/complex/toolkit/makefile.mk120
-rw-r--r--toolkit/qa/complex/xunitconversion/makefile.mk52
-rw-r--r--toolkit/qa/unoapi/makefile.mk48
-rw-r--r--toolkit/source/awt/makefile.mk84
-rw-r--r--toolkit/source/controls/grid/makefile.mk50
-rw-r--r--toolkit/source/controls/makefile.mk66
-rw-r--r--toolkit/source/controls/tree/makefile.mk48
-rw-r--r--toolkit/source/controls/unocontrols.cxx14
-rw-r--r--toolkit/source/helper/makefile.mk64
-rw-r--r--toolkit/source/layout/core/makefile.mk65
-rw-r--r--toolkit/source/layout/vcl/makefile.mk52
-rw-r--r--toolkit/src2xml/src-sw.lst1
-rw-r--r--toolkit/src2xml/src.lst1
-rw-r--r--toolkit/test/accessibility/makefile.mk127
-rw-r--r--toolkit/test/accessibility/ov/makefile.mk51
-rw-r--r--toolkit/test/accessibility/tools/makefile.mk42
-rw-r--r--toolkit/util/makefile.mk93
-rw-r--r--toolkit/workben/layout/makefile.mk151
-rw-r--r--toolkit/workben/makefile.mk84
-rw-r--r--tools/Executable_mkunroll.mk77
-rw-r--r--tools/Executable_rscdep.mk (renamed from svtools/source/svhtml/makefile.mk)63
-rw-r--r--tools/Executable_so_checksum.mk69
-rw-r--r--tools/Executable_sspretty.mk74
-rw-r--r--tools/Library_tl.mk180
-rw-r--r--tools/Makefile38
-rw-r--r--tools/Module_tools.mk41
-rw-r--r--tools/Package_inc.mk110
-rwxr-xr-x[-rw-r--r--]tools/StaticLibrary_ooopathutils.mk (renamed from svtools/source/config/test/makefile.mk)52
-rw-r--r--tools/bootstrp/addexes/makefile.mk49
-rw-r--r--tools/bootstrp/addexes2/makefile.mk56
-rw-r--r--tools/bootstrp/command.cxx690
-rw-r--r--tools/bootstrp/makefile.mk108
-rw-r--r--tools/bootstrp/prj.cxx1437
-rw-r--r--tools/bootstrp/rscdep.cxx2
-rw-r--r--tools/bootstrp/sstring.cxx317
-rw-r--r--tools/inc/bootstrp/command.hxx163
-rw-r--r--tools/inc/bootstrp/listmacr.hxx60
-rw-r--r--tools/inc/bootstrp/mkcreate.hxx4
-rw-r--r--tools/inc/bootstrp/prj.hxx273
-rw-r--r--tools/inc/bootstrp/sstring.hxx105
-rw-r--r--tools/inc/makefile.mk48
-rw-r--r--tools/inc/tools/wintypes.hxx13
-rw-r--r--tools/os2/source/dll/makefile.mk46
-rw-r--r--tools/prj/build.lst33
-rw-r--r--tools/prj/d.lst124
-rw-r--r--tools/prj/makefile.mk (renamed from svtools/source/filter.vcl/ixbm/makefile.mk)24
-rw-r--r--tools/qa/makefile.mk52
-rw-r--r--tools/source/communi/makefile.mk50
-rw-r--r--tools/source/datetime/makefile.mk50
-rw-r--r--tools/source/debug/makefile.mk53
-rw-r--r--tools/source/fsys/makefile.mk67
-rw-r--r--tools/source/generic/makefile.mk71
-rw-r--r--tools/source/makefile.mk58
-rw-r--r--tools/source/memtools/makefile.mk56
-rw-r--r--tools/source/misc/makefile.mk47
-rw-r--r--tools/source/misc/pathutils.cxx1
-rw-r--r--tools/source/rc/makefile.mk53
-rw-r--r--tools/source/ref/makefile.mk53
-rw-r--r--tools/source/stream/makefile.mk58
-rw-r--r--tools/source/string/makefile.mk79
-rw-r--r--tools/source/testtoolloader/makefile.mk45
-rw-r--r--tools/source/zcodec/makefile.mk47
-rw-r--r--tools/test/makefile.mk65
-rw-r--r--tools/unx/source/dll/makefile.mk48
-rw-r--r--tools/util/makefile.mk173
-rw-r--r--tools/win/inc/shellex.h115
-rw-r--r--tools/win/inc/shutil.h215
-rw-r--r--tools/win/inc/winshell.hxx386
-rw-r--r--tools/win/source/dll/makefile.mk56
-rw-r--r--tools/win/source/fastfsys/makefile.mk71
-rw-r--r--tools/workben/makefile.mk89
-rw-r--r--ucbhelper/inc/ucbhelper/simplenameclashresolverequest.hxx8
-rw-r--r--ucbhelper/source/client/proxydecider.cxx239
-rw-r--r--unotools/prj/build.lst2
-rw-r--r--unotools/source/config/pathoptions.cxx13
-rw-r--r--unotools/source/config/viewoptions.cxx2
-rw-r--r--unotools/source/ucbhelper/tempfile.cxx2
-rw-r--r--vcl/aqua/inc/salobj.h1
-rwxr-xr-xvcl/aqua/source/app/vclnsapp.mm3
-rwxr-xr-xvcl/aqua/source/gdi/salatslayout.cxx5
-rw-r--r--vcl/aqua/source/window/salobj.cxx6
-rw-r--r--vcl/inc/vcl/arrange.hxx56
-rw-r--r--vcl/inc/vcl/ilstbox.hxx16
-rw-r--r--vcl/inc/vcl/mnemonicengine.hxx6
-rw-r--r--vcl/inc/vcl/pdfwriter.hxx87
-rw-r--r--vcl/inc/vcl/prndlg.hxx10
-rw-r--r--vcl/inc/vcl/quickselectionengine.hxx95
-rw-r--r--vcl/inc/vcl/salframe.hxx1
-rw-r--r--vcl/inc/vcl/salobj.hxx2
-rw-r--r--vcl/inc/vcl/svdata.hxx2
-rw-r--r--vcl/inc/vcl/window.h9
-rwxr-xr-x[-rw-r--r--]vcl/inc/vcl/window.hxx74
-rw-r--r--vcl/inc/vcl/wpropset.hxx (renamed from svl/source/svdde/ddemldeb.hxx)60
-rw-r--r--vcl/os2/inc/salobj.h1
-rw-r--r--vcl/os2/source/window/salobj.cxx6
-rw-r--r--vcl/prj/build.lst2
-rw-r--r--vcl/prj/d.lst5
-rw-r--r--vcl/source/app/svdata.cxx3
-rw-r--r--vcl/source/control/ilstbox.cxx145
-rw-r--r--vcl/source/control/makefile.mk3
-rw-r--r--vcl/source/control/quickselectionengine.cxx183
-rw-r--r--vcl/source/gdi/metaact.cxx40
-rw-r--r--vcl/source/gdi/outdev.cxx6
-rw-r--r--vcl/source/gdi/pdfwriter.cxx24
-rw-r--r--vcl/source/gdi/pdfwriter_impl.cxx610
-rw-r--r--vcl/source/gdi/pdfwriter_impl.hxx172
-rw-r--r--vcl/source/gdi/pdfwriter_impl2.cxx507
-rw-r--r--vcl/source/gdi/pngread.cxx28
-rw-r--r--vcl/source/gdi/print2.cxx1
-rw-r--r--vcl/source/window/arrange.cxx234
-rw-r--r--vcl/source/window/makefile.mk2
-rw-r--r--vcl/source/window/printdlg.cxx191
-rwxr-xr-xvcl/source/window/window.cxx20
-rw-r--r--vcl/source/window/window4.cxx224
-rw-r--r--vcl/source/window/wpropset.cxx346
-rw-r--r--vcl/unx/gtk/window/gtkobject.cxx5
-rw-r--r--vcl/unx/headless/svpdummies.cxx1
-rw-r--r--vcl/unx/headless/svpdummies.hxx2
-rw-r--r--vcl/unx/inc/plugins/gtk/gtkobject.hxx1
-rw-r--r--vcl/unx/inc/salobj.h1
-rw-r--r--vcl/unx/source/gdi/salprnpsp.cxx11
-rw-r--r--vcl/unx/source/printer/ppdparser.cxx62
-rw-r--r--vcl/unx/source/window/salobj.cxx7
-rw-r--r--vcl/win/inc/saldata.hxx1
-rw-r--r--vcl/win/inc/salobj.h4
-rw-r--r--vcl/win/source/app/salinst.cxx15
-rw-r--r--vcl/win/source/gdi/salprn.cxx15
-rw-r--r--vcl/win/source/window/salobj.cxx50
514 files changed, 6676 insertions, 22076 deletions
diff --git a/basegfx/source/curve/b2dcubicbezier.cxx b/basegfx/source/curve/b2dcubicbezier.cxx
index adf819a214a1..adec8a2ac6ca 100644
--- a/basegfx/source/curve/b2dcubicbezier.cxx
+++ b/basegfx/source/curve/b2dcubicbezier.cxx
@@ -978,10 +978,10 @@ namespace basegfx
// calculate the x-extrema parameters by zeroing first x-derivative
// of the cubic bezier's parametric formula, which results in a
// quadratic equation: dBezier/dt = t*t*fAX - 2*t*fBX + fCX
- const B2DPoint aRelativeEndPoint(maEndPoint-maStartPoint);
- const double fAX = 3 * (maControlPointA.getX() - maControlPointB.getX()) + aRelativeEndPoint.getX();
- const double fBX = 2 * maControlPointA.getX() - maControlPointB.getX() - maStartPoint.getX();
- double fCX(maControlPointA.getX() - maStartPoint.getX());
+ const B2DPoint aControlDiff( maControlPointA - maControlPointB );
+ double fCX = maControlPointA.getX() - maStartPoint.getX();
+ const double fBX = fCX + aControlDiff.getX();
+ const double fAX = 3 * aControlDiff.getX() + (maEndPoint.getX() - maStartPoint.getX());
if(fTools::equalZero(fCX))
{
@@ -997,9 +997,9 @@ namespace basegfx
{
const double fS = sqrt(fD);
// calculate both roots (avoiding a numerically unstable subtraction)
- const double fQ = -(fBX + ((fBX >= 0) ? +fS : -fS));
+ const double fQ = fBX + ((fBX >= 0) ? +fS : -fS);
impCheckExtremumResult(fQ / fAX, rResults);
- if( fD > 0.0 ) // ignore root multiplicity
+ if( !fTools::equalZero(fS) ) // ignore root multiplicity
impCheckExtremumResult(fCX / fQ, rResults);
}
}
@@ -1010,9 +1010,9 @@ namespace basegfx
}
// calculate the y-extrema parameters by zeroing first y-derivative
- const double fAY = 3 * (maControlPointA.getY() - maControlPointB.getY()) + aRelativeEndPoint.getY();
- const double fBY = 2 * maControlPointA.getY() - maControlPointB.getY() - maStartPoint.getY();
- double fCY(maControlPointA.getY() - maStartPoint.getY());
+ double fCY = maControlPointA.getY() - maStartPoint.getY();
+ const double fBY = fCY + aControlDiff.getY();
+ const double fAY = 3 * aControlDiff.getY() + (maEndPoint.getY() - maStartPoint.getY());
if(fTools::equalZero(fCY))
{
@@ -1024,13 +1024,13 @@ namespace basegfx
{
// derivative is polynomial of order 2 => use binomial formula
const double fD = fBY*fBY - fAY*fCY;
- if( fD >= 0 )
+ if( fD >= 0.0 )
{
const double fS = sqrt(fD);
// calculate both roots (avoiding a numerically unstable subtraction)
- const double fQ = -(fBY + ((fBY >= 0) ? +fS : -fS));
+ const double fQ = fBY + ((fBY >= 0) ? +fS : -fS);
impCheckExtremumResult(fQ / fAY, rResults);
- if( fD > 0.0 ) // ignore root multiplicity, TODO: use equalZero() instead?
+ if( !fTools::equalZero(fS) ) // ignore root multiplicity
impCheckExtremumResult(fCY / fQ, rResults);
}
}
diff --git a/basegfx/source/polygon/b2dtrapezoid.cxx b/basegfx/source/polygon/b2dtrapezoid.cxx
index c1e0f7f6c7c1..d89ec7c6cf73 100644
--- a/basegfx/source/polygon/b2dtrapezoid.cxx
+++ b/basegfx/source/polygon/b2dtrapezoid.cxx
@@ -798,6 +798,7 @@ namespace basegfx
if(splitEdgeAtGivenPoint(aLeft, *pNewLeft, aCurrent))
{
maNewPoints.push_back(pNewLeft);
+ bDone = true;
}
else
{
@@ -809,13 +810,12 @@ namespace basegfx
if(splitEdgeAtGivenPoint(aRight, *pNewRight, aCurrent))
{
maNewPoints.push_back(pNewRight);
+ bDone = true;
}
else
{
delete pNewRight;
}
-
- bDone = true;
}
}
diff --git a/canvas/prj/build.lst b/canvas/prj/build.lst
index cacbdb5bb894..2adfe155e0b1 100644
--- a/canvas/prj/build.lst
+++ b/canvas/prj/build.lst
@@ -1,4 +1,4 @@
-cv canvas : javaunohelper comphelper cppuhelper offuh unoil tools svtools vcl AGG:agg basegfx CAIRO:cairo NULL
+cv canvas : javaunohelper comphelper cppuhelper offuh unoil tools svtools vcl AGG:agg basegfx CAIRO:cairo LIBXSLT:libxslt NULL
cv canvas usr1 - all cv_mkout NULL
cv canvas\inc nmake - all cv_inc NULL
cv canvas\source\tools nmake - all cv_tools cv_inc NULL
diff --git a/comphelper/inc/comphelper/docpasswordhelper.hxx b/comphelper/inc/comphelper/docpasswordhelper.hxx
index dbbb68372a07..7e9f06318a26 100644
--- a/comphelper/inc/comphelper/docpasswordhelper.hxx
+++ b/comphelper/inc/comphelper/docpasswordhelper.hxx
@@ -28,6 +28,7 @@
#ifndef COMPHELPER_DOCPASSWORDHELPR_HXX
#define COMPHELPER_DOCPASSWORDHELPR_HXX
+#include <com/sun/star/beans/NamedValue.hpp>
#include "comphelper/comphelperdllapi.h"
#include <vector>
#include "comphelper/docpasswordrequest.hxx"
@@ -53,7 +54,7 @@ enum DocPasswordVerifierResult
/** Base class for a password verifier used by the DocPasswordHelper class
below.
- Users have to implement the virtual function and pass an instance of the
+ Users have to implement the virtual functions and pass an instance of the
verifier to one of the password request functions.
*/
class COMPHELPER_DLLPUBLIC IDocPasswordVerifier
@@ -63,6 +64,14 @@ public:
/** Will be called everytime a password needs to be verified.
+ @param rPassword
+ The password to be verified
+
+ @param o_rEncryptionData
+ Output parameter, that is filled with the EncryptionData generated
+ from the password. The data is filled only if the validation was
+ successful.
+
@return The result of the verification.
- DocPasswordVerifierResult_OK, if and only if the passed password
is valid and can be used to process the related document.
@@ -72,7 +81,23 @@ public:
occured while password verification. The password request loop
will be aborted.
*/
- virtual DocPasswordVerifierResult verifyPassword( const ::rtl::OUString& rPassword ) = 0;
+ virtual DocPasswordVerifierResult verifyPassword( const ::rtl::OUString& rPassword, ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& o_rEncryptionData ) = 0;
+
+ /** Will be called everytime an encryption data needs to be verified.
+
+ @param rEncryptionData
+ The data will be validated
+
+ @return The result of the verification.
+ - DocPasswordVerifierResult_OK, if and only if the passed encryption data
+ is valid and can be used to process the related document.
+ - DocPasswordVerifierResult_WRONG_PASSWORD, if the encryption data is
+ wrong.
+ - DocPasswordVerifierResult_ABORT, if an unrecoverable error
+ occured while data verification. The password request loop
+ will be aborted.
+ */
+ virtual DocPasswordVerifierResult verifyEncryptionData( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& o_rEncryptionData ) = 0;
};
@@ -195,6 +220,35 @@ public:
// ------------------------------------------------------------------------
+ /** This helper function generates a random sequence of bytes of
+ requested length.
+ */
+
+ static ::com::sun::star::uno::Sequence< sal_Int8 > GenerateRandomByteSequence(
+ sal_Int32 nLength );
+
+ // ------------------------------------------------------------------------
+
+ /** This helper function generates a byte sequence representing the
+ key digest value used by MSCodec_Std97 codec.
+ */
+
+ static ::com::sun::star::uno::Sequence< sal_Int8 > GenerateStd97Key(
+ const ::rtl::OUString& aPassword,
+ const ::com::sun::star::uno::Sequence< sal_Int8 >& aDocId );
+
+ // ------------------------------------------------------------------------
+
+ /** This helper function generates a byte sequence representing the
+ key digest value used by MSCodec_Std97 codec.
+ */
+
+ static ::com::sun::star::uno::Sequence< sal_Int8 > GenerateStd97Key(
+ const sal_uInt16 pPassData[16],
+ const ::com::sun::star::uno::Sequence< sal_Int8 >& aDocId );
+
+ // ------------------------------------------------------------------------
+
/** This helper function tries to request and verify a password to load a
protected document.
@@ -248,8 +302,9 @@ public:
passed password verifier. If empty, no valid password has been
found, or the user has chossen to cancel password input.
*/
- static ::rtl::OUString requestAndVerifyDocPassword(
+ static ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > requestAndVerifyDocPassword(
IDocPasswordVerifier& rVerifier,
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& rMediaEncData,
const ::rtl::OUString& rMediaPassword,
const ::com::sun::star::uno::Reference<
::com::sun::star::task::XInteractionHandler >& rxInteractHandler,
@@ -300,7 +355,7 @@ public:
passed password verifier. If empty, no valid password has been
found, or the user has chossen to cancel password input.
*/
- static ::rtl::OUString requestAndVerifyDocPassword(
+ static ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > requestAndVerifyDocPassword(
IDocPasswordVerifier& rVerifier,
MediaDescriptor& rMediaDesc,
DocPasswordRequestType eRequestType,
diff --git a/comphelper/inc/comphelper/documentconstants.hxx b/comphelper/inc/comphelper/documentconstants.hxx
index b78150586e28..73b90d72cc8a 100644
--- a/comphelper/inc/comphelper/documentconstants.hxx
+++ b/comphelper/inc/comphelper/documentconstants.hxx
@@ -111,3 +111,41 @@
#define ODFVER_012_TEXT ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ODFVER_012_TEXT_ASCII ) )
#endif
+// filter flags
+// TODO/LATER: The flags should be part of the UNO specification
+#define SFX_FILTER_IMPORT 0x00000001L
+#define SFX_FILTER_EXPORT 0x00000002L
+#define SFX_FILTER_TEMPLATE 0x00000004L
+#define SFX_FILTER_INTERNAL 0x00000008L
+#define SFX_FILTER_TEMPLATEPATH 0x00000010L
+#define SFX_FILTER_OWN 0x00000020L
+#define SFX_FILTER_ALIEN 0x00000040L
+#define SFX_FILTER_USESOPTIONS 0x00000080L
+
+#define SFX_FILTER_DEFAULT 0x00000100L
+#define SFX_FILTER_EXECUTABLE 0x00000200L
+#define SFX_FILTER_SUPPORTSSELECTION 0x00000400L
+#define SFX_FILTER_MAPTOAPPPLUG 0x00000800L
+#define SFX_FILTER_NOTINFILEDLG 0x00001000L
+#define SFX_FILTER_NOTINCHOOSER 0x00002000L
+#define SFX_FILTER_ASYNC 0x00004000L
+#define SFX_FILTER_CREATOR 0x00008000L
+#define SFX_FILTER_OPENREADONLY 0x00010000L
+#define SFX_FILTER_MUSTINSTALL 0x00020000L
+#define SFX_FILTER_CONSULTSERVICE 0x00040000L
+
+#define SFX_FILTER_STARONEFILTER 0x00080000L
+#define SFX_FILTER_PACKED 0x00100000L
+#define SFX_FILTER_SILENTEXPORT 0x00200000L
+
+#define SFX_FILTER_BROWSERPREFERED 0x00400000L
+
+#define SFX_FILTER_ENCRYPTION 0x01000000L
+#define SFX_FILTER_PASSWORDTOMODIFY 0x02000000L
+
+#define SFX_FILTER_PREFERED 0x10000000L
+
+#define SFX_FILTER_VERSION_NONE 0
+#define SFX_FILTER_NOTINSTALLED SFX_FILTER_MUSTINSTALL | SFX_FILTER_CONSULTSERVICE
+
+
diff --git a/comphelper/inc/comphelper/mediadescriptor.hxx b/comphelper/inc/comphelper/mediadescriptor.hxx
index 7d2333045390..e92a6c4650f6 100644
--- a/comphelper/inc/comphelper/mediadescriptor.hxx
+++ b/comphelper/inc/comphelper/mediadescriptor.hxx
@@ -78,6 +78,7 @@ class COMPHELPER_DLLPUBLIC MediaDescriptor : public SequenceAsHashMap
static const ::rtl::OUString& PROP_DEEPDETECTION();
static const ::rtl::OUString& PROP_DETECTSERVICE();
static const ::rtl::OUString& PROP_DOCUMENTSERVICE();
+ static const ::rtl::OUString& PROP_ENCRYPTIONDATA();
static const ::rtl::OUString& PROP_EXTENSION();
static const ::rtl::OUString& PROP_FILENAME();
static const ::rtl::OUString& PROP_FILTERNAME();
@@ -127,10 +128,6 @@ class COMPHELPER_DLLPUBLIC MediaDescriptor : public SequenceAsHashMap
//-------------------------------------------
// interface
public:
- /** Value type of the 'ComponentData' property.
- */
- typedef ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > ComponentDataSequence;
-
//---------------------------------------
/** @short these ctors do nothing - excepting that they forward
the given parameters to the base class ctors.
@@ -204,8 +201,9 @@ class COMPHELPER_DLLPUBLIC MediaDescriptor : public SequenceAsHashMap
/** Returns a value from the sequence contained in the property
'ComponentData' of this media descriptor.
- @descr The property 'ComponentData' should be empty or should
- contain a value of type ComponentDataSequence (see above).
+ @descr The property 'ComponentData' should be empty, or should
+ contain a value of type sequence<com.sun.star.beans.NamedValue>
+ or sequence<com.sun.star.beans.PropertyValue>.
@return The value with the specified name, if existing in the
sequence of the 'ComponentData' property, otherwise an empty
@@ -218,10 +216,11 @@ class COMPHELPER_DLLPUBLIC MediaDescriptor : public SequenceAsHashMap
/** Inserts a value into the sequence contained in the property
'ComponentData' of the media descriptor.
- @descr The property 'ComponentData' should be empty or should
- contain a value of type ComponentDataSequence (see above). The
- passed value will be inserted into the sequence, or, if already
- existing, will be overwritten.
+ @descr The property 'ComponentData' should be empty, or should
+ contain a value of type sequence<com.sun.star.beans.NamedValue>
+ or sequence<com.sun.star.beans.PropertyValue>. The passed value
+ will be inserted into the sequence, or, if already existing,
+ will be overwritten.
@param rName The name of the value to be inserted into the
sequence of the 'ComponentData' property.
@@ -237,10 +236,10 @@ class COMPHELPER_DLLPUBLIC MediaDescriptor : public SequenceAsHashMap
/** Removes a value from the sequence contained in the property
'ComponentData' of the media descriptor.
- @descr The property 'ComponentData' should be empty or should
- contain a value of type ComponentDataSequence (see above). The
- value with the passed name will be removed from the sequence,
- if existing.
+ @descr The property 'ComponentData' should be empty, or should
+ contain a value of type sequence<com.sun.star.beans.NamedValue>
+ or sequence<com.sun.star.beans.PropertyValue>. The value with
+ the passed name will be removed from the sequence, if existing.
@param rName The name of the value to be removed from the sequence
of the 'ComponentData' property.
diff --git a/comphelper/inc/comphelper/mimeconfighelper.hxx b/comphelper/inc/comphelper/mimeconfighelper.hxx
index 5e02d4761cb1..16a0a159d5a4 100644
--- a/comphelper/inc/comphelper/mimeconfighelper.hxx
+++ b/comphelper/inc/comphelper/mimeconfighelper.hxx
@@ -32,6 +32,7 @@
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/container/XContainerQuery.hpp>
#include <com/sun/star/beans/NamedValue.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/embed/VerbDescriptor.hpp>
@@ -50,6 +51,8 @@ class COMPHELPER_DLLPUBLIC MimeConfigurationHelper
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xVerbsConfig;
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xMediaTypeConfig;
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xFilterFactory;
+
public:
MimeConfigurationHelper( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xFactory );
@@ -106,6 +109,10 @@ public:
::rtl::OUString GetFactoryNameByMediaType( const ::rtl::OUString& aMediaType );
// typedetection related
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > GetFilterFactory();
+
+ sal_Int32 GetFilterFlags( const ::rtl::OUString& aFilterName );
+
::rtl::OUString UpdateMediaDescriptorWithFilterName(
::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescr,
sal_Bool bIgnoreType );
@@ -117,6 +124,14 @@ public:
::rtl::OUString GetDefaultFilterFromServiceName( const ::rtl::OUString& aServName, sal_Int32 nVersion );
+ ::rtl::OUString GetExportFilterFromImportFilter( const ::rtl::OUString& aImportFilterName );
+
+ static ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SearchForFilter(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerQuery >& xFilterQuery,
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aSearchRequest,
+ sal_Int32 nMustFlags,
+ sal_Int32 nDontFlags );
+
static sal_Bool ClassIDsEqual( const ::com::sun::star::uno::Sequence< sal_Int8 >& aClassID1,
const ::com::sun::star::uno::Sequence< sal_Int8 >& aClassID2 );
static ::com::sun::star::uno::Sequence< sal_Int8 > GetSequenceClassID( sal_uInt32 n1, sal_uInt16 n2, sal_uInt16 n3,
diff --git a/comphelper/inc/comphelper/namedvaluecollection.hxx b/comphelper/inc/comphelper/namedvaluecollection.hxx
index 72cd0e7cdfbe..e13059361b0a 100644
--- a/comphelper/inc/comphelper/namedvaluecollection.hxx
+++ b/comphelper/inc/comphelper/namedvaluecollection.hxx
@@ -39,6 +39,7 @@
#include <memory>
#include <algorithm>
+#include <vector>
//........................................................................
namespace comphelper
@@ -91,6 +92,11 @@ namespace comphelper
~NamedValueCollection();
+ inline void assign( const ::com::sun::star::uno::Any& i_rWrappedElements )
+ {
+ impl_assign( i_rWrappedElements );
+ }
+
inline void assign( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& _rArguments )
{
impl_assign( _rArguments );
@@ -117,6 +123,11 @@ namespace comphelper
/// determines whether the collection is empty
bool empty() const;
+ /** returns the names of all elements in the collection
+ */
+ ::std::vector< ::rtl::OUString >
+ getNames() const;
+
/** merges the content of another collection into |this|
@param _rAdditionalValues
the collection whose values are to be merged
@@ -312,6 +323,7 @@ namespace comphelper
}
private:
+ void impl_assign( const ::com::sun::star::uno::Any& i_rWrappedElements );
void impl_assign( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& _rArguments );
void impl_assign( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _rArguments );
void impl_assign( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& _rArguments );
diff --git a/comphelper/inc/comphelper/optionalvalue.hxx b/comphelper/inc/comphelper/optionalvalue.hxx
deleted file mode 100644
index f63e1cde51aa..000000000000
--- a/comphelper/inc/comphelper/optionalvalue.hxx
+++ /dev/null
@@ -1,187 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _COMPHELPER_OPTIONALVALUE_HXX
-#define _COMPHELPER_OPTIONALVALUE_HXX
-
-#include <com/sun/star/uno/Any.hxx>
-
-namespace comphelper
-{
-
-/** @deprecated
- Use boost/optional.hpp instead.
-*/
-
-
-
- /* Definition of OptionalValue template */
-
- /** This template provides 'optionality' for the given value type.
-
- Especially for PODs, optionality either needs to be achieved
- by special 'magic' values (i.e. an int value is not set when
- -1 etc.), or an additional bool denoting value
- validity. This template encapsulates the latter into an atomic
- data type.
-
- @tpl Element
- The value type that should be made optional
- */
- template< typename Element > class OptionalValue
- {
- public:
- typedef Element ValueType;
-
- /** Default-construct the value.
-
- A default-constructed value is not valid. You have to
- explicitely set a value.
- */
- OptionalValue() :
- maValue(),
- mbValid( false )
- {
- }
-
- /** Construct the value.
-
- An explicitely constructed value is valid. To create an
- invalid value, you have to default-construct it.
- */
- OptionalValue( const Element& rValue ) :
- maValue( rValue ),
- mbValid( true )
- {
- }
-
- // default copy/assignment operators are okay here
- //OptionalValue(const OptionalValue&);
- //OptionalValue& operator=( const OptionalValue& );
-
- /** Query whether the value is valid
-
- @return true, if this object contains a valid value.
- */
- bool isValid() const
- {
- return mbValid;
- }
-
- /** Set a value.
-
- After this call, the object contains a valid value.
- */
- void setValue( const Element& rValue )
- {
- maValue = rValue;
- mbValid = true;
- }
-
- /** Get the value.
-
- The return value of this method is undefined, if the
- object does not contain a valid value.
- */
- Element getValue() const
- {
- return maValue;
- }
-
- /** Clear the value.
-
- After this call, the object no longer contains a valid
- value.
- */
- void clearValue()
- {
- mbValid = false;
- }
-
- // NOTE: The following two methods would optimally have been
- // implemented as operator>>=/operator<<=
- // overloads. Unfortunately, there's already a templatized
- // version for those two methods, namely for UNO interface
- // types. Adding a second would lead to ambiguities.
-
- /** Export the value into an Any.
-
- This method extracts the value into an Any. If the value
- is invalid, the Any will be cleared.
-
- @return true, if the value has been successfully
- transferred to the Any. Clearing the Any from an invalid
- object is also considered a successful operation.
- */
- bool exportValue( ::com::sun::star::uno::Any& o_rAny )
- {
- o_rAny.clear();
-
- if( isValid() )
- {
- if( !(o_rAny <<= getValue()) )
- return false;
- }
-
- return true;
- }
-
- /** Import the value from an Any.
-
- This method imports the value from an Any. If the Any
- is invalid, the object will get an invalid value.
-
- @return true, if the value has been successfully
- transferred from the Any. Setting the value to invalid
- from an empty Any is also considered a successful
- operation.
- */
- bool importValue( const ::com::sun::star::uno::Any& rAny )
- {
- clearValue();
-
- if( rAny.hasValue() )
- {
- Element tmp;
-
- if( !(rAny >>= tmp) )
- return false;
-
- setValue( tmp );
- }
-
- return true;
- }
-
- private:
- Element maValue;
- bool mbValid;
- };
-
-}
-
-#endif /* _COMPHELPER_OPTIONALVALUE_HXX */
diff --git a/comphelper/inc/comphelper/property.hxx b/comphelper/inc/comphelper/property.hxx
index 5631cf5670f2..9b5b1a9804fe 100644
--- a/comphelper/inc/comphelper/property.hxx
+++ b/comphelper/inc/comphelper/property.hxx
@@ -150,11 +150,11 @@ COMPHELPER_DLLPUBLIC void copyProperties(const staruno::Reference<starbeans::XPr
sal_False, if the value could be converted and has not changed
@exception InvalidArgumentException thrown if the value could not be converted to the requested type (which is the template argument)
*/
-template <class TYPE>
-sal_Bool tryPropertyValue(staruno::Any& /*out*/_rConvertedValue, staruno::Any& /*out*/_rOldValue, const staruno::Any& _rValueToSet, const TYPE& _rCurrentValue)
+template <typename T>
+sal_Bool tryPropertyValue(staruno::Any& /*out*/_rConvertedValue, staruno::Any& /*out*/_rOldValue, const staruno::Any& _rValueToSet, const T& _rCurrentValue)
{
sal_Bool bModified(sal_False);
- TYPE aNewValue;
+ T aNewValue = T();
::cppu::convertPropertyValue(aNewValue, _rValueToSet);
if (aNewValue != _rCurrentValue)
{
@@ -207,7 +207,7 @@ sal_Bool tryPropertyValueEnum(staruno::Any& /*out*/_rConvertedValue, staruno::An
inline sal_Bool tryPropertyValue(staruno::Any& /*out*/_rConvertedValue, staruno::Any& /*out*/_rOldValue, const staruno::Any& _rValueToSet, sal_Bool _bCurrentValue)
{
sal_Bool bModified(sal_False);
- sal_Bool bNewValue;
+ sal_Bool bNewValue(sal_False);
::cppu::convertPropertyValue(bNewValue, _rValueToSet);
if (bNewValue != _bCurrentValue)
{
diff --git a/comphelper/inc/comphelper/querydeep.hxx b/comphelper/inc/comphelper/querydeep.hxx
deleted file mode 100644
index 4115412d8d6c..000000000000
--- a/comphelper/inc/comphelper/querydeep.hxx
+++ /dev/null
@@ -1,484 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _COMPHELPER_QUERYDEEPINTERFACE_HXX
-#define _COMPHELPER_QUERYDEEPINTERFACE_HXX
-
-#include <com/sun/star/uno/XInterface.hpp>
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/uno/Type.hxx>
-
-/** */ //for docpp
-namespace comphelper
-{
-
-//--------------------------------------------------------------------------------------------------------
-/**
- * Inspect interfaces types whether they are related by inheritance.
- *<BR>
- * @return true if rType is derived from rBaseType
- * @param rBaseType a <type>Type</type> of an interface.
- * @param rType a <type>Type</type> of an interface.
- */
-sal_Bool isDerivedFrom(
- const ::com::sun::star::uno::Type & rBaseType,
- const ::com::sun::star::uno::Type & rType );
-
-//--------------------------------------------------------------------------------------------------------
-/**
- * Inspect interface types whether they are related by inheritance.
- *<BR>
- * @return true if p is of a type derived from rBaseType
- * @param rBaseType a <type>Type</type> of an interface.
- * @param p a pointer to an interface.
- */
-template <class Interface>
-inline sal_Bool isDerivedFrom(
- const ::com::sun::star::uno::Type& rBaseType,
- Interface* /*p*/)
-{
- return isDerivedFrom(rBaseType, Interface::static_type());
-}
-
-//--------------------------------------------------------------------------------------------------------
-// possible optimization ?
-// Any aRet(::cppu::queryInterface(rType, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12));
-// if (aRet.hasValue())
-// return aRet;
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- */
-template< class Interface1 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- * @param p2 a pointer to an interface.
- */
-template< class Interface1, class Interface2 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1, Interface2 * p2 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else if (isDerivedFrom(rType, Interface2::static_type()))
- return ::com::sun::star::uno::Any( &p2, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- * @param p2 a pointer to an interface.
- * @param p3 a pointer to an interface.
- */
-template< class Interface1, class Interface2, class Interface3 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1, Interface2 * p2, Interface3 * p3 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else if (isDerivedFrom(rType, Interface2::static_type()))
- return ::com::sun::star::uno::Any( &p2, rType );
- else if (isDerivedFrom(rType, Interface3::static_type()))
- return ::com::sun::star::uno::Any( &p3, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- * @param p2 a pointer to an interface.
- * @param p3 a pointer to an interface.
- * @param p4 a pointer to an interface.
- */
-template< class Interface1, class Interface2, class Interface3, class Interface4 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else if (isDerivedFrom(rType, Interface2::static_type()))
- return ::com::sun::star::uno::Any( &p2, rType );
- else if (isDerivedFrom(rType, Interface3::static_type()))
- return ::com::sun::star::uno::Any( &p3, rType );
- else if (isDerivedFrom(rType, Interface4::static_type()))
- return ::com::sun::star::uno::Any( &p4, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- * @param p2 a pointer to an interface.
- * @param p3 a pointer to an interface.
- * @param p4 a pointer to an interface.
- * @param p5 a pointer to an interface.
- */
-template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else if (isDerivedFrom(rType, Interface2::static_type()))
- return ::com::sun::star::uno::Any( &p2, rType );
- else if (isDerivedFrom(rType, Interface3::static_type()))
- return ::com::sun::star::uno::Any( &p3, rType );
- else if (isDerivedFrom(rType, Interface4::static_type()))
- return ::com::sun::star::uno::Any( &p4, rType );
- else if (isDerivedFrom(rType, Interface5::static_type()))
- return ::com::sun::star::uno::Any( &p5, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- * @param p2 a pointer to an interface.
- * @param p3 a pointer to an interface.
- * @param p4 a pointer to an interface.
- * @param p5 a pointer to an interface.
- * @param p6 a pointer to an interface.
- */
-template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
- class Interface6 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
- Interface6 * p6 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else if (isDerivedFrom(rType, Interface2::static_type()))
- return ::com::sun::star::uno::Any( &p2, rType );
- else if (isDerivedFrom(rType, Interface3::static_type()))
- return ::com::sun::star::uno::Any( &p3, rType );
- else if (isDerivedFrom(rType, Interface4::static_type()))
- return ::com::sun::star::uno::Any( &p4, rType );
- else if (isDerivedFrom(rType, Interface5::static_type()))
- return ::com::sun::star::uno::Any( &p5, rType );
- else if (isDerivedFrom(rType, Interface6::static_type()))
- return ::com::sun::star::uno::Any( &p6, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- * @param p2 a pointer to an interface.
- * @param p3 a pointer to an interface.
- * @param p4 a pointer to an interface.
- * @param p5 a pointer to an interface.
- * @param p6 a pointer to an interface.
- * @param p7 a pointer to an interface.
- */
-template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
- class Interface6, class Interface7 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
- Interface6 * p6, Interface7 * p7 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else if (isDerivedFrom(rType, Interface2::static_type()))
- return ::com::sun::star::uno::Any( &p2, rType );
- else if (isDerivedFrom(rType, Interface3::static_type()))
- return ::com::sun::star::uno::Any( &p3, rType );
- else if (isDerivedFrom(rType, Interface4::static_type()))
- return ::com::sun::star::uno::Any( &p4, rType );
- else if (isDerivedFrom(rType, Interface5::static_type()))
- return ::com::sun::star::uno::Any( &p5, rType );
- else if (isDerivedFrom(rType, Interface6::static_type()))
- return ::com::sun::star::uno::Any( &p6, rType );
- else if (isDerivedFrom(rType, Interface7::static_type()))
- return ::com::sun::star::uno::Any( &p7, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- * @param p2 a pointer to an interface.
- * @param p3 a pointer to an interface.
- * @param p4 a pointer to an interface.
- * @param p5 a pointer to an interface.
- * @param p6 a pointer to an interface.
- * @param p7 a pointer to an interface.
- * @param p8 a pointer to an interface.
- */
-template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
- class Interface6, class Interface7, class Interface8 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
- Interface6 * p6, Interface7 * p7, Interface8 * p8 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else if (isDerivedFrom(rType, Interface2::static_type()))
- return ::com::sun::star::uno::Any( &p2, rType );
- else if (isDerivedFrom(rType, Interface3::static_type()))
- return ::com::sun::star::uno::Any( &p3, rType );
- else if (isDerivedFrom(rType, Interface4::static_type()))
- return ::com::sun::star::uno::Any( &p4, rType );
- else if (isDerivedFrom(rType, Interface5::static_type()))
- return ::com::sun::star::uno::Any( &p5, rType );
- else if (isDerivedFrom(rType, Interface6::static_type()))
- return ::com::sun::star::uno::Any( &p6, rType );
- else if (isDerivedFrom(rType, Interface7::static_type()))
- return ::com::sun::star::uno::Any( &p7, rType );
- else if (isDerivedFrom(rType, Interface8::static_type()))
- return ::com::sun::star::uno::Any( &p8, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- * @param p2 a pointer to an interface.
- * @param p3 a pointer to an interface.
- * @param p4 a pointer to an interface.
- * @param p5 a pointer to an interface.
- * @param p6 a pointer to an interface.
- * @param p7 a pointer to an interface.
- * @param p8 a pointer to an interface.
- * @param p9 a pointer to an interface.
- */
-template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
- class Interface6, class Interface7, class Interface8, class Interface9 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
- Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else if (isDerivedFrom(rType, Interface2::static_type()))
- return ::com::sun::star::uno::Any( &p2, rType );
- else if (isDerivedFrom(rType, Interface3::static_type()))
- return ::com::sun::star::uno::Any( &p3, rType );
- else if (isDerivedFrom(rType, Interface4::static_type()))
- return ::com::sun::star::uno::Any( &p4, rType );
- else if (isDerivedFrom(rType, Interface5::static_type()))
- return ::com::sun::star::uno::Any( &p5, rType );
- else if (isDerivedFrom(rType, Interface6::static_type()))
- return ::com::sun::star::uno::Any( &p6, rType );
- else if (isDerivedFrom(rType, Interface7::static_type()))
- return ::com::sun::star::uno::Any( &p7, rType );
- else if (isDerivedFrom(rType, Interface8::static_type()))
- return ::com::sun::star::uno::Any( &p8, rType );
- else if (isDerivedFrom(rType, Interface9::static_type()))
- return ::com::sun::star::uno::Any( &p9, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- * @param p2 a pointer to an interface.
- * @param p3 a pointer to an interface.
- * @param p4 a pointer to an interface.
- * @param p5 a pointer to an interface.
- * @param p6 a pointer to an interface.
- * @param p7 a pointer to an interface.
- * @param p8 a pointer to an interface.
- * @param p9 a pointer to an interface.
- * @param p10 a pointer to an interface.
- */
-template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
- class Interface6, class Interface7, class Interface8, class Interface9, class Interface10 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
- Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else if (isDerivedFrom(rType, Interface2::static_type()))
- return ::com::sun::star::uno::Any( &p2, rType );
- else if (isDerivedFrom(rType, Interface3::static_type()))
- return ::com::sun::star::uno::Any( &p3, rType );
- else if (isDerivedFrom(rType, Interface4::static_type()))
- return ::com::sun::star::uno::Any( &p4, rType );
- else if (isDerivedFrom(rType, Interface5::static_type()))
- return ::com::sun::star::uno::Any( &p5, rType );
- else if (isDerivedFrom(rType, Interface6::static_type()))
- return ::com::sun::star::uno::Any( &p6, rType );
- else if (isDerivedFrom(rType, Interface7::static_type()))
- return ::com::sun::star::uno::Any( &p7, rType );
- else if (isDerivedFrom(rType, Interface8::static_type()))
- return ::com::sun::star::uno::Any( &p8, rType );
- else if (isDerivedFrom(rType, Interface9::static_type()))
- return ::com::sun::star::uno::Any( &p9, rType );
- else if (isDerivedFrom(rType, Interface10::static_type()))
- return ::com::sun::star::uno::Any( &p10, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- * @param p2 a pointer to an interface.
- * @param p3 a pointer to an interface.
- * @param p4 a pointer to an interface.
- * @param p5 a pointer to an interface.
- * @param p6 a pointer to an interface.
- * @param p7 a pointer to an interface.
- * @param p8 a pointer to an interface.
- * @param p9 a pointer to an interface.
- * @param p10 a pointer to an interface.
- * @param p11 a pointer to an interface.
- */
-template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
- class Interface6, class Interface7, class Interface8, class Interface9, class Interface10,
- class Interface11 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
- Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10,
- Interface11 * p11 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else if (isDerivedFrom(rType, Interface2::static_type()))
- return ::com::sun::star::uno::Any( &p2, rType );
- else if (isDerivedFrom(rType, Interface3::static_type()))
- return ::com::sun::star::uno::Any( &p3, rType );
- else if (isDerivedFrom(rType, Interface4::static_type()))
- return ::com::sun::star::uno::Any( &p4, rType );
- else if (isDerivedFrom(rType, Interface5::static_type()))
- return ::com::sun::star::uno::Any( &p5, rType );
- else if (isDerivedFrom(rType, Interface6::static_type()))
- return ::com::sun::star::uno::Any( &p6, rType );
- else if (isDerivedFrom(rType, Interface7::static_type()))
- return ::com::sun::star::uno::Any( &p7, rType );
- else if (isDerivedFrom(rType, Interface8::static_type()))
- return ::com::sun::star::uno::Any( &p8, rType );
- else if (isDerivedFrom(rType, Interface9::static_type()))
- return ::com::sun::star::uno::Any( &p9, rType );
- else if (isDerivedFrom(rType, Interface10::static_type()))
- return ::com::sun::star::uno::Any( &p10, rType );
- else if (isDerivedFrom(rType, Interface11::static_type()))
- return ::com::sun::star::uno::Any( &p11, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-/**
- * Inspect types and choose return proper interface.
- *<BR>
- * @param p1 a pointer to an interface.
- * @param p2 a pointer to an interface.
- * @param p3 a pointer to an interface.
- * @param p4 a pointer to an interface.
- * @param p5 a pointer to an interface.
- * @param p6 a pointer to an interface.
- * @param p7 a pointer to an interface.
- * @param p8 a pointer to an interface.
- * @param p9 a pointer to an interface.
- * @param p10 a pointer to an interface.
- * @param p11 a pointer to an interface.
- * @param p12 a pointer to an interface.
- */
-template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
- class Interface6, class Interface7, class Interface8, class Interface9, class Interface10,
- class Interface11, class Interface12 >
-inline ::com::sun::star::uno::Any queryDeepInterface(
- const ::com::sun::star::uno::Type & rType,
- Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
- Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10,
- Interface11 * p11, Interface12 * p12 )
-{
- if (isDerivedFrom(rType, Interface1::static_type()))
- return ::com::sun::star::uno::Any( &p1, rType );
- else if (isDerivedFrom(rType, Interface2::static_type()))
- return ::com::sun::star::uno::Any( &p2, rType );
- else if (isDerivedFrom(rType, Interface3::static_type()))
- return ::com::sun::star::uno::Any( &p3, rType );
- else if (isDerivedFrom(rType, Interface4::static_type()))
- return ::com::sun::star::uno::Any( &p4, rType );
- else if (isDerivedFrom(rType, Interface5::static_type()))
- return ::com::sun::star::uno::Any( &p5, rType );
- else if (isDerivedFrom(rType, Interface6::static_type()))
- return ::com::sun::star::uno::Any( &p6, rType );
- else if (isDerivedFrom(rType, Interface7::static_type()))
- return ::com::sun::star::uno::Any( &p7, rType );
- else if (isDerivedFrom(rType, Interface8::static_type()))
- return ::com::sun::star::uno::Any( &p8, rType );
- else if (isDerivedFrom(rType, Interface9::static_type()))
- return ::com::sun::star::uno::Any( &p9, rType );
- else if (isDerivedFrom(rType, Interface10::static_type()))
- return ::com::sun::star::uno::Any( &p10, rType );
- else if (isDerivedFrom(rType, Interface11::static_type()))
- return ::com::sun::star::uno::Any( &p11, rType );
- else if (isDerivedFrom(rType, Interface12::static_type()))
- return ::com::sun::star::uno::Any( &p12, rType );
- else
- return ::com::sun::star::uno::Any();
-}
-
-} // namespace comphelper
-
-#endif // _COMPHELPER_QUERYDEEPINTERFACE_HXX
-
diff --git a/comphelper/inc/comphelper/scopeguard.hxx b/comphelper/inc/comphelper/scopeguard.hxx
index 4841a564ae61..1fdd179404a2 100644
--- a/comphelper/inc/comphelper/scopeguard.hxx
+++ b/comphelper/inc/comphelper/scopeguard.hxx
@@ -33,6 +33,7 @@
#endif
#include "boost/function.hpp"
#include "boost/noncopyable.hpp"
+#include "boost/bind.hpp"
namespace comphelper {
@@ -66,6 +67,21 @@ private:
exc_handling const m_excHandling;
};
+class COMPHELPER_DLLPUBLIC FlagGuard : ScopeGuard
+{
+public:
+ explicit FlagGuard( bool& i_flagRef, exc_handling i_excHandling = IGNORE_EXCEPTIONS )
+ :ScopeGuard( ::boost::bind( ResetFlag, ::boost::ref( i_flagRef ) ), i_excHandling )
+ {
+ }
+
+private:
+ static void ResetFlag( bool& i_flagRef )
+ {
+ i_flagRef = false;
+ }
+};
+
} // namespace comphelper
#endif // ! defined(INCLUDED_COMPHELPER_SCOPEGUARD_HXX)
diff --git a/comphelper/inc/comphelper/servicedecl.hxx b/comphelper/inc/comphelper/servicedecl.hxx
index adf120b3bae2..5ea7972e29a2 100644
--- a/comphelper/inc/comphelper/servicedecl.hxx
+++ b/comphelper/inc/comphelper/servicedecl.hxx
@@ -67,7 +67,7 @@ typedef ::boost::function3<
The declaration can be done in various ways, the (simplest) form is
<pre>
- class MyClass : cppu::WeakImplHelper2<XInterface1, XInterface2> {
+ class MyClass : public cppu::WeakImplHelper2<XInterface1, XInterface2> {
public:
MyClass( uno::Reference<uno::XComponentContext> const& xContext )
[...]
@@ -85,7 +85,7 @@ typedef ::boost::function3<
context:
<pre>
- class MyClass : cppu::WeakImplHelper2<XInterface1, XInterface2> {
+ class MyClass : public cppu::WeakImplHelper2<XInterface1, XInterface2> {
public:
MyClass( uno::Sequence<uno::Any> const& args,
uno::Reference<uno:XComponentContext> const& xContext )
diff --git a/comphelper/inc/comphelper/storagehelper.hxx b/comphelper/inc/comphelper/storagehelper.hxx
index b7e5704c4d68..9d44b42e9514 100644
--- a/comphelper/inc/comphelper/storagehelper.hxx
+++ b/comphelper/inc/comphelper/storagehelper.hxx
@@ -33,6 +33,7 @@
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <com/sun/star/embed/XStorage.hpp>
#include <com/sun/star/embed/ElementModes.hpp>
+#include <com/sun/star/beans/NamedValue.hpp>
#include <com/sun/star/io/XInputStream.hpp>
#include <com/sun/star/io/XOutputStream.hpp>
#include <com/sun/star/io/XStream.hpp>
@@ -43,6 +44,9 @@
#define ZIP_STORAGE_FORMAT_STRING ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ZipFormat" ) )
#define OFOPXML_STORAGE_FORMAT_STRING ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "OFOPXMLFormat" ) )
+#define PACKAGE_ENCRYPTIONDATA_SHA1UTF8 ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PackageSHA1UTF8EncryptionKey" ) )
+#define PACKAGE_ENCRYPTIONDATA_SHA1MS1252 ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PackageSHA1MS1252EncryptionKey" ) )
+
namespace comphelper {
class COMPHELPER_DLLPUBLIC OStorageHelper
@@ -112,9 +116,9 @@ public:
= ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >() )
throw ( ::com::sun::star::uno::Exception );
- static void SetCommonStoragePassword(
+ static void SetCommonStorageEncryptionData(
const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
- const ::rtl::OUString& aPass )
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aEncryptionData )
throw ( ::com::sun::star::uno::Exception );
// the following method supports only storages of OOo formats
@@ -159,6 +163,9 @@ public:
sal_Bool bRepairStorage = sal_False )
throw ( ::com::sun::star::uno::Exception );
+ static ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >
+ CreatePackageEncryptionData( const ::rtl::OUString& aPassword );
+
static sal_Bool IsValidZipEntryFileName( const ::rtl::OUString& aName, sal_Bool bSlashAllowed );
static sal_Bool IsValidZipEntryFileName( const sal_Unicode *pChar, sal_Int32 nLength, sal_Bool bSlashAllowed );
diff --git a/comphelper/prj/build.lst b/comphelper/prj/build.lst
index 793d8bf30e09..91e836cabd68 100644
--- a/comphelper/prj/build.lst
+++ b/comphelper/prj/build.lst
@@ -1,4 +1,4 @@
-ph comphelper : cppuhelper ucbhelper offuh vos salhelper NULL
+ph comphelper : cppuhelper ucbhelper offuh vos salhelper LIBXSLT:libxslt NULL
ph comphelper usr1 - all ph_mkout NULL
ph comphelper\inc nmake - all ph_inc NULL
ph comphelper\source\container nmake - all ph_container ph_inc NULL
diff --git a/comphelper/source/misc/docpasswordhelper.cxx b/comphelper/source/misc/docpasswordhelper.cxx
index 37941352ae28..3c8d66bd57e4 100644
--- a/comphelper/source/misc/docpasswordhelper.cxx
+++ b/comphelper/source/misc/docpasswordhelper.cxx
@@ -84,16 +84,9 @@ uno::Sequence< beans::PropertyValue > DocPasswordHelper::GenerateNewModifyPasswo
{
uno::Sequence< beans::PropertyValue > aResult;
- uno::Sequence< sal_Int8 > aSalt( 16 );
+ uno::Sequence< sal_Int8 > aSalt = GenerateRandomByteSequence( 16 );
sal_Int32 nCount = 1024;
- TimeValue aTime;
- osl_getSystemTime( &aTime );
- rtlRandomPool aRandomPool = rtl_random_createPool ();
- rtl_random_addBytes ( aRandomPool, &aTime, 8 );
-
- rtl_random_getBytes ( aRandomPool, aSalt.getArray(), 16 );
-
uno::Sequence< sal_Int8 > aNewHash = GeneratePBKDF2Hash( aPassword, aSalt, nCount, 16 );
if ( aNewHash.getLength() )
{
@@ -108,9 +101,6 @@ uno::Sequence< beans::PropertyValue > DocPasswordHelper::GenerateNewModifyPasswo
aResult[3].Value <<= aNewHash;
}
- // Clean up random pool memory
- rtl_random_destroyPool ( aRandomPool );
-
return aResult;
}
@@ -282,9 +272,98 @@ Sequence< sal_Int8 > DocPasswordHelper::GetXLHashAsSequence(
}
// ============================================================================
+/*static*/ uno::Sequence< sal_Int8 > DocPasswordHelper::GenerateRandomByteSequence( sal_Int32 nLength )
+{
+ uno::Sequence< sal_Int8 > aResult( nLength );
+
+ TimeValue aTime;
+ osl_getSystemTime( &aTime );
+ rtlRandomPool aRandomPool = rtl_random_createPool ();
+ rtl_random_addBytes ( aRandomPool, &aTime, 8 );
+ rtl_random_getBytes ( aRandomPool, aResult.getArray(), nLength );
+ rtl_random_destroyPool ( aRandomPool );
-/*static*/ OUString DocPasswordHelper::requestAndVerifyDocPassword(
+ return aResult;
+}
+
+
+// ============================================================================
+/*static*/ uno::Sequence< sal_Int8 > DocPasswordHelper::GenerateStd97Key( const ::rtl::OUString& aPassword, const uno::Sequence< sal_Int8 >& aDocId )
+{
+ uno::Sequence< sal_Int8 > aResultKey;
+ if ( aPassword.getLength() && aDocId.getLength() == 16 )
+ {
+ sal_uInt16 pPassData[16];
+ rtl_zeroMemory( pPassData, sizeof(pPassData) );
+
+ sal_Int32 nPassLen = ::std::min< sal_Int32 >( aPassword.getLength(), 15 );
+ rtl_copyMemory( pPassData, aPassword.getStr(), nPassLen * sizeof(pPassData[0]) );
+
+ aResultKey = GenerateStd97Key( pPassData, aDocId );
+ }
+
+ return aResultKey;
+}
+
+// ============================================================================
+/*static*/ uno::Sequence< sal_Int8 > DocPasswordHelper::GenerateStd97Key( const sal_uInt16 pPassData[16], const uno::Sequence< sal_Int8 >& aDocId )
+{
+ uno::Sequence< sal_Int8 > aResultKey;
+ if ( pPassData[0] && aDocId.getLength() == 16 )
+ {
+ sal_uInt8 pKeyData[64];
+ rtl_zeroMemory( pKeyData, sizeof(pKeyData) );
+
+ sal_Int32 nInd = 0;
+
+ // Fill PassData into KeyData.
+ for ( nInd = 0; nInd < 16 && pPassData[nInd]; nInd++)
+ {
+ pKeyData[2*nInd] = sal::static_int_cast< sal_uInt8 >( (pPassData[nInd] >> 0) & 0xff );
+ pKeyData[2*nInd + 1] = sal::static_int_cast< sal_uInt8 >( (pPassData[nInd] >> 8) & 0xff );
+ }
+
+ pKeyData[2*nInd] = 0x80;
+ pKeyData[56] = sal::static_int_cast< sal_uInt8 >( nInd << 4 );
+
+ // Fill raw digest of KeyData into KeyData.
+ rtlDigest hDigest = rtl_digest_create ( rtl_Digest_AlgorithmMD5 );
+ (void)rtl_digest_updateMD5 (
+ hDigest, pKeyData, sizeof(pKeyData));
+ (void)rtl_digest_rawMD5 (
+ hDigest, pKeyData, RTL_DIGEST_LENGTH_MD5);
+
+ // Update digest with KeyData and Unique.
+ for ( nInd = 0; nInd < 16; nInd++ )
+ {
+ rtl_digest_updateMD5( hDigest, pKeyData, 5 );
+ rtl_digest_updateMD5( hDigest, (const sal_uInt8*)aDocId.getConstArray(), aDocId.getLength() );
+ }
+
+ // Update digest with padding.
+ pKeyData[16] = 0x80;
+ rtl_zeroMemory( pKeyData + 17, sizeof(pKeyData) - 17 );
+ pKeyData[56] = 0x80;
+ pKeyData[57] = 0x0a;
+
+ rtl_digest_updateMD5( hDigest, &(pKeyData[16]), sizeof(pKeyData) - 16 );
+
+ // Fill raw digest of above updates
+ aResultKey.realloc( RTL_DIGEST_LENGTH_MD5 );
+ rtl_digest_rawMD5 ( hDigest, (sal_uInt8*)aResultKey.getArray(), aResultKey.getLength() );
+
+ // Erase KeyData array and leave.
+ rtl_zeroMemory( pKeyData, sizeof(pKeyData) );
+ }
+
+ return aResultKey;
+}
+
+// ============================================================================
+
+/*static*/ ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > DocPasswordHelper::requestAndVerifyDocPassword(
IDocPasswordVerifier& rVerifier,
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& rMediaEncData,
const OUString& rMediaPassword,
const Reference< XInteractionHandler >& rxInteractHandler,
const OUString& rDocumentName,
@@ -292,7 +371,7 @@ Sequence< sal_Int8 > DocPasswordHelper::GetXLHashAsSequence(
const ::std::vector< OUString >* pDefaultPasswords,
bool* pbIsDefaultPassword )
{
- OUString aPassword;
+ ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > aEncData;
DocPasswordVerifierResult eResult = DocPasswordVerifierResult_WRONG_PASSWORD;
// first, try provided default passwords
@@ -302,23 +381,32 @@ Sequence< sal_Int8 > DocPasswordHelper::GetXLHashAsSequence(
{
for( ::std::vector< OUString >::const_iterator aIt = pDefaultPasswords->begin(), aEnd = pDefaultPasswords->end(); (eResult == DocPasswordVerifierResult_WRONG_PASSWORD) && (aIt != aEnd); ++aIt )
{
- aPassword = *aIt;
- OSL_ENSURE( aPassword.getLength() > 0, "DocPasswordHelper::requestAndVerifyDocPassword - unexpected empty default password" );
- if( aPassword.getLength() > 0 )
+ OSL_ENSURE( aIt->getLength() > 0, "DocPasswordHelper::requestAndVerifyDocPassword - unexpected empty default password" );
+ if( aIt->getLength() > 0 )
{
- eResult = rVerifier.verifyPassword( aPassword );
+ eResult = rVerifier.verifyPassword( *aIt, aEncData );
if( pbIsDefaultPassword )
*pbIsDefaultPassword = eResult == DocPasswordVerifierResult_OK;
}
}
}
+ // try media encryption data (skip, if result is OK or ABORT)
+ if( eResult == DocPasswordVerifierResult_WRONG_PASSWORD )
+ {
+ if( rMediaEncData.getLength() > 0 )
+ {
+ eResult = rVerifier.verifyEncryptionData( rMediaEncData );
+ if( eResult == DocPasswordVerifierResult_OK )
+ aEncData = rMediaEncData;
+ }
+ }
+
// try media password (skip, if result is OK or ABORT)
if( eResult == DocPasswordVerifierResult_WRONG_PASSWORD )
{
- aPassword = rMediaPassword;
- if( aPassword.getLength() > 0 )
- eResult = rVerifier.verifyPassword( aPassword );
+ if( rMediaPassword.getLength() > 0 )
+ eResult = rVerifier.verifyPassword( rMediaPassword, aEncData );
}
// request a password (skip, if result is OK or ABORT)
@@ -332,9 +420,8 @@ Sequence< sal_Int8 > DocPasswordHelper::GetXLHashAsSequence(
rxInteractHandler->handle( xRequest );
if( pRequest->isPassword() )
{
- aPassword = pRequest->getPassword();
- if( aPassword.getLength() > 0 )
- eResult = rVerifier.verifyPassword( aPassword );
+ if( pRequest->getPassword().getLength() > 0 )
+ eResult = rVerifier.verifyPassword( pRequest->getPassword(), aEncData );
}
else
{
@@ -347,15 +434,17 @@ Sequence< sal_Int8 > DocPasswordHelper::GetXLHashAsSequence(
{
}
- return (eResult == DocPasswordVerifierResult_OK) ? aPassword : OUString();
+ return (eResult == DocPasswordVerifierResult_OK) ? aEncData : uno::Sequence< beans::NamedValue >();
}
-/*static*/ OUString DocPasswordHelper::requestAndVerifyDocPassword(
+/*static*/ ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > DocPasswordHelper::requestAndVerifyDocPassword(
IDocPasswordVerifier& rVerifier,
MediaDescriptor& rMediaDesc,
DocPasswordRequestType eRequestType,
const ::std::vector< OUString >* pDefaultPasswords )
{
+ uno::Sequence< beans::NamedValue > aMediaEncData = rMediaDesc.getUnpackedValueOrDefault(
+ MediaDescriptor::PROP_ENCRYPTIONDATA(), uno::Sequence< beans::NamedValue >() );
OUString aMediaPassword = rMediaDesc.getUnpackedValueOrDefault(
MediaDescriptor::PROP_PASSWORD(), OUString() );
Reference< XInteractionHandler > xInteractHandler = rMediaDesc.getUnpackedValueOrDefault(
@@ -364,14 +453,17 @@ Sequence< sal_Int8 > DocPasswordHelper::GetXLHashAsSequence(
MediaDescriptor::PROP_URL(), OUString() );
bool bIsDefaultPassword = false;
- OUString aPassword = requestAndVerifyDocPassword(
- rVerifier, aMediaPassword, xInteractHandler, aDocumentName, eRequestType, pDefaultPasswords, &bIsDefaultPassword );
+ uno::Sequence< beans::NamedValue > aEncryptionData = requestAndVerifyDocPassword(
+ rVerifier, aMediaEncData, aMediaPassword, xInteractHandler, aDocumentName, eRequestType, pDefaultPasswords, &bIsDefaultPassword );
+
+ rMediaDesc.erase( MediaDescriptor::PROP_PASSWORD() );
+ rMediaDesc.erase( MediaDescriptor::PROP_ENCRYPTIONDATA() );
// insert valid password into media descriptor (but not a default password)
- if( (aPassword.getLength() > 0) && !bIsDefaultPassword )
- rMediaDesc[ MediaDescriptor::PROP_PASSWORD() ] <<= aPassword;
+ if( (aEncryptionData.getLength() > 0) && !bIsDefaultPassword )
+ rMediaDesc[ MediaDescriptor::PROP_ENCRYPTIONDATA() ] <<= aEncryptionData;
- return aPassword;
+ return aEncryptionData;
}
// ============================================================================
diff --git a/comphelper/source/misc/makefile.mk b/comphelper/source/misc/makefile.mk
index cecba554b332..0bb4defb4165 100644
--- a/comphelper/source/misc/makefile.mk
+++ b/comphelper/source/misc/makefile.mk
@@ -74,7 +74,6 @@ SLOFILES= \
$(SLO)$/officeresourcebundle.obj \
$(SLO)$/officerestartmanager.obj \
$(SLO)$/proxyaggregation.obj \
- $(SLO)$/querydeep.obj \
$(SLO)$/regpathhelper.obj \
$(SLO)$/scopeguard.obj \
$(SLO)$/SelectionMultiplex.obj \
diff --git a/comphelper/source/misc/mediadescriptor.cxx b/comphelper/source/misc/mediadescriptor.cxx
index 9e02afe8c56c..e0b3e797264a 100644
--- a/comphelper/source/misc/mediadescriptor.cxx
+++ b/comphelper/source/misc/mediadescriptor.cxx
@@ -28,6 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_comphelper.hxx"
#include <comphelper/mediadescriptor.hxx>
+#include <comphelper/namedvaluecollection.hxx>
#include <comphelper/stillreadwriteinteraction.hxx>
#include <com/sun/star/ucb/XContent.hpp>
@@ -112,6 +113,12 @@ const ::rtl::OUString& MediaDescriptor::PROP_DOCUMENTSERVICE()
return sProp;
}
+const ::rtl::OUString& MediaDescriptor::PROP_ENCRYPTIONDATA()
+{
+ static const ::rtl::OUString sProp(RTL_CONSTASCII_USTRINGPARAM("EncryptionData"));
+ return sProp;
+}
+
const ::rtl::OUString& MediaDescriptor::PROP_EXTENSION()
{
static const ::rtl::OUString sProp(RTL_CONSTASCII_USTRINGPARAM("Extension"));
@@ -477,27 +484,30 @@ sal_Bool MediaDescriptor::isStreamReadOnly() const
css::uno::Any MediaDescriptor::getComponentDataEntry( const ::rtl::OUString& rName ) const
{
- SequenceAsHashMap aCompDataMap( getUnpackedValueOrDefault( PROP_COMPONENTDATA(), ComponentDataSequence() ) );
- SequenceAsHashMap::iterator aIt = aCompDataMap.find( rName );
- return (aIt == aCompDataMap.end()) ? css::uno::Any() : aIt->second;
+ css::uno::Any aEntry;
+ SequenceAsHashMap::const_iterator aPropertyIter = find( PROP_COMPONENTDATA() );
+ if( aPropertyIter != end() )
+ return NamedValueCollection( aPropertyIter->second ).get( rName );
+ return css::uno::Any();
}
void MediaDescriptor::setComponentDataEntry( const ::rtl::OUString& rName, const css::uno::Any& rValue )
{
if( rValue.hasValue() )
{
- // get or craete the 'ComponentData' property entry
+ // get or create the 'ComponentData' property entry
css::uno::Any& rCompDataAny = operator[]( PROP_COMPONENTDATA() );
- // check type, insert the value
- OSL_ENSURE( !rCompDataAny.hasValue() || rCompDataAny.has< ComponentDataSequence >(),
- "MediaDescriptor::setComponentDataEntry - incompatible 'ComponentData' property in media descriptor" );
- if( !rCompDataAny.hasValue() || rCompDataAny.has< ComponentDataSequence >() )
+ // insert the value (retain sequence type, create NamedValue elements by default)
+ bool bHasNamedValues = !rCompDataAny.hasValue() || rCompDataAny.has< css::uno::Sequence< css::beans::NamedValue > >();
+ bool bHasPropValues = rCompDataAny.has< css::uno::Sequence< css::beans::PropertyValue > >();
+ OSL_ENSURE( bHasNamedValues || bHasPropValues, "MediaDescriptor::setComponentDataEntry - incompatible 'ComponentData' property in media descriptor" );
+ if( bHasNamedValues || bHasPropValues )
{
// insert or overwrite the passed value
SequenceAsHashMap aCompDataMap( rCompDataAny );
aCompDataMap[ rName ] = rValue;
- // write back the sequence (sal_False = use NamedValue instead of PropertyValue)
- rCompDataAny = aCompDataMap.getAsConstAny( sal_False );
+ // write back the sequence (restore sequence with correct element type)
+ rCompDataAny = aCompDataMap.getAsConstAny( bHasPropValues );
}
}
else
@@ -512,18 +522,20 @@ void MediaDescriptor::clearComponentDataEntry( const ::rtl::OUString& rName )
SequenceAsHashMap::iterator aPropertyIter = find( PROP_COMPONENTDATA() );
if( aPropertyIter != end() )
{
- OSL_ENSURE( aPropertyIter->second.has< ComponentDataSequence >(),
- "MediaDescriptor::clearComponentDataEntry - incompatible 'ComponentData' property in media descriptor" );
- if( aPropertyIter->second.has< ComponentDataSequence >() )
+ css::uno::Any& rCompDataAny = aPropertyIter->second;
+ bool bHasNamedValues = rCompDataAny.has< css::uno::Sequence< css::beans::NamedValue > >();
+ bool bHasPropValues = rCompDataAny.has< css::uno::Sequence< css::beans::PropertyValue > >();
+ OSL_ENSURE( bHasNamedValues || bHasPropValues, "MediaDescriptor::clearComponentDataEntry - incompatible 'ComponentData' property in media descriptor" );
+ if( bHasNamedValues || bHasPropValues )
{
// remove the value with the passed name
- SequenceAsHashMap aCompDataMap( aPropertyIter->second );
+ SequenceAsHashMap aCompDataMap( rCompDataAny );
aCompDataMap.erase( rName );
// write back the sequence, or remove it completely if it is empty
if( aCompDataMap.empty() )
erase( aPropertyIter );
else
- aPropertyIter->second = aCompDataMap.getAsConstAny( sal_False );
+ rCompDataAny = aCompDataMap.getAsConstAny( bHasPropValues );
}
}
}
diff --git a/comphelper/source/misc/mimeconfighelper.cxx b/comphelper/source/misc/mimeconfighelper.cxx
index b677c977739e..5be9df3d61b6 100644
--- a/comphelper/source/misc/mimeconfighelper.cxx
+++ b/comphelper/source/misc/mimeconfighelper.cxx
@@ -35,6 +35,7 @@
#include <comphelper/mimeconfighelper.hxx>
#include <comphelper/classids.hxx>
#include <comphelper/sequenceashashmap.hxx>
+#include <comphelper/documentconstants.hxx>
using namespace ::com::sun::star;
@@ -187,6 +188,46 @@ uno::Reference< container::XNameAccess > MimeConfigurationHelper::GetMediaTypeCo
return m_xMediaTypeConfig;
}
+
+//-----------------------------------------------------------------------
+uno::Reference< container::XNameAccess > MimeConfigurationHelper::GetFilterFactory()
+{
+ osl::MutexGuard aGuard( m_aMutex );
+
+ if ( !m_xFilterFactory.is() )
+ m_xFilterFactory.set(
+ m_xFactory->createInstance( ::rtl::OUString::createFromAscii( "com.sun.star.document.FilterFactory" ) ),
+ uno::UNO_QUERY );
+
+ return m_xFilterFactory;
+}
+
+//-----------------------------------------------------------------------
+sal_Int32 MimeConfigurationHelper::GetFilterFlags( const ::rtl::OUString& aFilterName )
+{
+ sal_Int32 nFlags = 0;
+ try
+ {
+ if ( aFilterName.getLength() )
+ {
+ uno::Reference< container::XNameAccess > xFilterFactory(
+ GetFilterFactory(),
+ uno::UNO_SET_THROW );
+
+ uno::Any aFilterAny = xFilterFactory->getByName( aFilterName );
+ uno::Sequence< beans::PropertyValue > aData;
+ if ( aFilterAny >>= aData )
+ {
+ SequenceAsHashMap aFilterHM( aData );
+ nFlags = aFilterHM.getUnpackedValueOrDefault( ::rtl::OUString::createFromAscii( "Flags" ), (sal_Int32)0 );
+ }
+ }
+ } catch( uno::Exception& )
+ {}
+
+ return nFlags;
+}
+
//-------------------------------------------------------------------------
::rtl::OUString MimeConfigurationHelper::GetDocServiceNameFromFilter( const ::rtl::OUString& aFilterName )
{
@@ -195,8 +236,8 @@ uno::Reference< container::XNameAccess > MimeConfigurationHelper::GetMediaTypeCo
try
{
uno::Reference< container::XNameAccess > xFilterFactory(
- m_xFactory->createInstance( ::rtl::OUString::createFromAscii( "com.sun.star.document.FilterFactory" ) ),
- uno::UNO_QUERY_THROW );
+ GetFilterFactory(),
+ uno::UNO_SET_THROW );
uno::Any aFilterAnyData = xFilterFactory->getByName( aFilterName );
uno::Sequence< beans::PropertyValue > aFilterData;
@@ -668,36 +709,17 @@ uno::Sequence< beans::NamedValue > MimeConfigurationHelper::GetObjectPropsByDocu
sal_Bool MimeConfigurationHelper::AddFilterNameCheckOwnFile(
uno::Sequence< beans::PropertyValue >& aMediaDescr )
{
+ sal_Bool bResult = sal_False;
+
::rtl::OUString aFilterName = UpdateMediaDescriptorWithFilterName( aMediaDescr, sal_False );
if ( aFilterName.getLength() )
{
- try
- {
- uno::Reference< container::XNameAccess > xFilterFactory(
- m_xFactory->createInstance( ::rtl::OUString::createFromAscii( "com.sun.star.document.FilterFactory" ) ),
- uno::UNO_QUERY_THROW );
-
- uno::Any aFilterAnyData = xFilterFactory->getByName( aFilterName );
- uno::Sequence< beans::PropertyValue > aFilterData;
- if ( aFilterAnyData >>= aFilterData )
- {
- for ( sal_Int32 nInd = 0; nInd < aFilterData.getLength(); nInd++ )
- if ( aFilterData[nInd].Name.equalsAscii( "Flags" ) )
- {
- uno::Any aVal = aFilterData[nInd].Value;
- sal_Int32 nFlags = 0;
- // check the OWN flag
- if ( ( aFilterData[nInd].Value >>= nFlags ) && ( nFlags & 0x20 ) )
- return sal_True;
- break;
- }
- }
- }
- catch( uno::Exception& )
- {}
+ sal_Int32 nFlags = GetFilterFlags( aFilterName );
+ // check the OWN flag
+ bResult = ( nFlags & SFX_FILTER_OWN );
}
- return sal_False;
+ return bResult;
}
//-----------------------------------------------------------
@@ -709,7 +731,7 @@ sal_Bool MimeConfigurationHelper::AddFilterNameCheckOwnFile(
try
{
uno::Reference< container::XContainerQuery > xFilterQuery(
- m_xFactory->createInstance( ::rtl::OUString::createFromAscii( "com.sun.star.document.FilterFactory" ) ),
+ GetFilterFactory(),
uno::UNO_QUERY_THROW );
uno::Sequence< beans::NamedValue > aSearchRequest( 2 );
@@ -734,14 +756,15 @@ sal_Bool MimeConfigurationHelper::AddFilterNameCheckOwnFile(
(sal_Int32)0 );
// that should be import, export, own filter and not a template filter ( TemplatePath flag )
- if ( ( ( nFlags & 0x23L ) == 0x23L ) && !( nFlags & 0x10 ) )
+ sal_Int32 nRequired = ( SFX_FILTER_OWN | SFX_FILTER_EXPORT | SFX_FILTER_IMPORT );
+ if ( ( ( nFlags & nRequired ) == nRequired ) && !( nFlags & SFX_FILTER_TEMPLATEPATH ) )
{
// if there are more than one filter the preffered one should be used
// if there is no preffered filter the first one will be used
- if ( !aResult.getLength() || ( nFlags & 0x10000000L ) )
+ if ( !aResult.getLength() || ( nFlags & SFX_FILTER_PREFERED ) )
aResult = aPropsHM.getUnpackedValueOrDefault( ::rtl::OUString::createFromAscii( "Name" ),
::rtl::OUString() );
- if ( nFlags & 0x10000000L )
+ if ( nFlags & SFX_FILTER_PREFERED )
break; // the preffered filter was found
}
}
@@ -752,6 +775,116 @@ sal_Bool MimeConfigurationHelper::AddFilterNameCheckOwnFile(
return aResult;
}
+
+//-------------------------------------------------------------------------
+::rtl::OUString MimeConfigurationHelper::GetExportFilterFromImportFilter( const ::rtl::OUString& aImportFilterName )
+{
+ ::rtl::OUString aExportFilterName;
+
+ try
+ {
+ if ( aImportFilterName.getLength() )
+ {
+ uno::Reference< container::XNameAccess > xFilterFactory(
+ GetFilterFactory(),
+ uno::UNO_SET_THROW );
+
+ uno::Any aImpFilterAny = xFilterFactory->getByName( aImportFilterName );
+ uno::Sequence< beans::PropertyValue > aImpData;
+ if ( aImpFilterAny >>= aImpData )
+ {
+ SequenceAsHashMap aImpFilterHM( aImpData );
+ sal_Int32 nFlags = aImpFilterHM.getUnpackedValueOrDefault( ::rtl::OUString::createFromAscii( "Flags" ),
+ (sal_Int32)0 );
+
+ if ( !( nFlags & SFX_FILTER_IMPORT ) )
+ {
+ OSL_ENSURE( sal_False, "This is no import filter!" );
+ throw uno::Exception();
+ }
+
+ if ( nFlags & SFX_FILTER_EXPORT )
+ {
+ aExportFilterName = aImportFilterName;
+ }
+ else
+ {
+ ::rtl::OUString aDocumentServiceName = aImpFilterHM.getUnpackedValueOrDefault( ::rtl::OUString::createFromAscii( "DocumentService" ), ::rtl::OUString() );
+ ::rtl::OUString aTypeName = aImpFilterHM.getUnpackedValueOrDefault( ::rtl::OUString::createFromAscii( "Type" ), ::rtl::OUString() );
+
+ OSL_ENSURE( aDocumentServiceName.getLength() && aTypeName.getLength(), "Incomplete filter data!" );
+ if ( aDocumentServiceName.getLength() && aTypeName.getLength() )
+ {
+ uno::Sequence< beans::NamedValue > aSearchRequest( 2 );
+ aSearchRequest[0].Name = ::rtl::OUString::createFromAscii( "Type" );
+ aSearchRequest[0].Value <<= aTypeName;
+ aSearchRequest[1].Name = ::rtl::OUString::createFromAscii( "DocumentService" );
+ aSearchRequest[1].Value <<= aDocumentServiceName;
+
+ uno::Sequence< beans::PropertyValue > aExportFilterProps = SearchForFilter(
+ uno::Reference< container::XContainerQuery >( xFilterFactory, uno::UNO_QUERY_THROW ),
+ aSearchRequest,
+ SFX_FILTER_EXPORT,
+ SFX_FILTER_INTERNAL );
+
+ if ( aExportFilterProps.getLength() )
+ {
+ SequenceAsHashMap aExpPropsHM( aExportFilterProps );
+ aExportFilterName = aExpPropsHM.getUnpackedValueOrDefault( ::rtl::OUString::createFromAscii( "Name" ), ::rtl::OUString() );
+ }
+ }
+ }
+ }
+ }
+ }
+ catch( uno::Exception& )
+ {}
+
+ return aExportFilterName;
+}
+
+//-------------------------------------------------------------------------
+// static
+uno::Sequence< beans::PropertyValue > MimeConfigurationHelper::SearchForFilter(
+ const uno::Reference< container::XContainerQuery >& xFilterQuery,
+ const uno::Sequence< beans::NamedValue >& aSearchRequest,
+ sal_Int32 nMustFlags,
+ sal_Int32 nDontFlags )
+{
+ uno::Sequence< beans::PropertyValue > aFilterProps;
+ uno::Reference< container::XEnumeration > xFilterEnum =
+ xFilterQuery->createSubSetEnumerationByProperties( aSearchRequest );
+
+ // the first default filter will be taken,
+ // if there is no filter with flag default the first acceptable filter will be taken
+ if ( xFilterEnum.is() )
+ {
+ while ( xFilterEnum->hasMoreElements() )
+ {
+ uno::Sequence< beans::PropertyValue > aProps;
+ if ( xFilterEnum->nextElement() >>= aProps )
+ {
+ SequenceAsHashMap aPropsHM( aProps );
+ sal_Int32 nFlags = aPropsHM.getUnpackedValueOrDefault( ::rtl::OUString::createFromAscii( "Flags" ),
+ (sal_Int32)0 );
+ if ( ( ( nFlags & nMustFlags ) == nMustFlags ) && !( nFlags & nDontFlags ) )
+ {
+ if ( ( nFlags & SFX_FILTER_DEFAULT ) == SFX_FILTER_DEFAULT )
+ {
+ aFilterProps = aProps;
+ break;
+ }
+ else if ( !aFilterProps.getLength() )
+ aFilterProps = aProps;
+ }
+ }
+ }
+ }
+
+ return aFilterProps;
+}
+
+
//-------------------------------------------------------------------------
sal_Bool MimeConfigurationHelper::ClassIDsEqual( const uno::Sequence< sal_Int8 >& aClassID1, const uno::Sequence< sal_Int8 >& aClassID2 )
{
@@ -764,7 +897,8 @@ sal_Bool MimeConfigurationHelper::ClassIDsEqual( const uno::Sequence< sal_Int8 >
return sal_True;
}
-//----------------------------------------------
+
+//-------------------------------------------------------------------------
uno::Sequence< sal_Int8 > MimeConfigurationHelper::GetSequenceClassID( sal_uInt32 n1, sal_uInt16 n2, sal_uInt16 n3,
sal_uInt8 b8, sal_uInt8 b9, sal_uInt8 b10, sal_uInt8 b11,
sal_uInt8 b12, sal_uInt8 b13, sal_uInt8 b14, sal_uInt8 b15 )
@@ -789,6 +923,8 @@ uno::Sequence< sal_Int8 > MimeConfigurationHelper::GetSequenceClassID( sal_uInt3
return aResult;
}
+
+//-------------------------------------------------------------------------
uno::Sequence<sal_Int8> MimeConfigurationHelper::GetSequenceClassIDFromObjectName(const ::rtl::OUString& _sObjectName)
{
uno::Sequence<sal_Int8> aClassId;
diff --git a/comphelper/source/misc/namedvaluecollection.cxx b/comphelper/source/misc/namedvaluecollection.cxx
index 8bab7fa3d7c7..566e5526019c 100644
--- a/comphelper/source/misc/namedvaluecollection.cxx
+++ b/comphelper/source/misc/namedvaluecollection.cxx
@@ -99,21 +99,7 @@ namespace comphelper
NamedValueCollection::NamedValueCollection( const Any& _rElements )
:m_pImpl( new NamedValueCollection_Impl )
{
- Sequence< NamedValue > aNamedValues;
- Sequence< PropertyValue > aPropertyValues;
- NamedValue aNamedValue;
- PropertyValue aPropertyValue;
-
- if ( _rElements >>= aNamedValues )
- impl_assign( aNamedValues );
- else if ( _rElements >>= aPropertyValues )
- impl_assign( aPropertyValues );
- else if ( _rElements >>= aNamedValue )
- impl_assign( Sequence< NamedValue >( &aNamedValue, 1 ) );
- else if ( _rElements >>= aPropertyValue )
- impl_assign( Sequence< PropertyValue >( &aPropertyValue, 1 ) );
- else
- OSL_ENSURE( !_rElements.hasValue(), "NamedValueCollection::NamedValueCollection(Any): unsupported type!" );
+ impl_assign( _rElements );
}
//--------------------------------------------------------------------
@@ -170,6 +156,39 @@ namespace comphelper
}
//--------------------------------------------------------------------
+ ::std::vector< ::rtl::OUString > NamedValueCollection::getNames() const
+ {
+ ::std::vector< ::rtl::OUString > aNames( m_pImpl->aValues.size() );
+ ::std::transform(
+ m_pImpl->aValues.begin(),
+ m_pImpl->aValues.end(),
+ aNames.begin(),
+ ::std::select1st< NamedValueRepository::value_type >()
+ );
+ return aNames;
+ }
+
+ //--------------------------------------------------------------------
+ void NamedValueCollection::impl_assign( const Any& i_rWrappedElements )
+ {
+ Sequence< NamedValue > aNamedValues;
+ Sequence< PropertyValue > aPropertyValues;
+ NamedValue aNamedValue;
+ PropertyValue aPropertyValue;
+
+ if ( i_rWrappedElements >>= aNamedValues )
+ impl_assign( aNamedValues );
+ else if ( i_rWrappedElements >>= aPropertyValues )
+ impl_assign( aPropertyValues );
+ else if ( i_rWrappedElements >>= aNamedValue )
+ impl_assign( Sequence< NamedValue >( &aNamedValue, 1 ) );
+ else if ( i_rWrappedElements >>= aPropertyValue )
+ impl_assign( Sequence< PropertyValue >( &aPropertyValue, 1 ) );
+ else
+ OSL_ENSURE( !i_rWrappedElements.hasValue(), "NamedValueCollection::impl_assign(Any): unsupported type!" );
+ }
+
+ //--------------------------------------------------------------------
void NamedValueCollection::impl_assign( const Sequence< Any >& _rArguments )
{
{
diff --git a/comphelper/source/misc/querydeep.cxx b/comphelper/source/misc/querydeep.cxx
deleted file mode 100644
index 92e475686783..000000000000
--- a/comphelper/source/misc/querydeep.cxx
+++ /dev/null
@@ -1,76 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_comphelper.hxx"
-#include <comphelper/querydeep.hxx>
-#include <typelib/typedescription.h>
-
-//__________________________________________________________________________________________________
-
-sal_Bool comphelper::isDerivedFrom(
- const ::com::sun::star::uno::Type & rBaseType,
- const ::com::sun::star::uno::Type & rType )
-{
- using namespace ::com::sun::star::uno;
-
- TypeClass eClass = rBaseType.getTypeClass();
-
- if (eClass != TypeClass_INTERFACE)
- return sal_False;
-
- // supported TypeClass - do the types match ?
- if (eClass != rType.getTypeClass())
- return sal_False;
-
- sal_Bool bRet;
-
- // shortcut for simple case
- if (rBaseType == ::getCppuType(static_cast<const Reference< XInterface > *>(0)))
- {
- bRet = sal_True;
- }
- else
- {
- // now ask in cppu (aka typelib)
- ::typelib_TypeDescription *pBaseTD = 0, *pTD = 0;
-
- rBaseType. getDescription(&pBaseTD);
- rType. getDescription(&pTD);
-
- // interfaces are assignable to a base
- bRet = ::typelib_typedescription_isAssignableFrom(pBaseTD, pTD);
-
- ::typelib_typedescription_release(pBaseTD);
- ::typelib_typedescription_release(pTD);
- }
-
- return bRet;
-}
-
-
-
diff --git a/comphelper/source/misc/storagehelper.cxx b/comphelper/source/misc/storagehelper.cxx
index db5ba71cd876..60ffa965fcf1 100644
--- a/comphelper/source/misc/storagehelper.cxx
+++ b/comphelper/source/misc/storagehelper.cxx
@@ -28,12 +28,15 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_comphelper.hxx"
#include <com/sun/star/embed/ElementModes.hpp>
-#include <com/sun/star/embed/XEncryptionProtectedSource.hpp>
+#include <com/sun/star/embed/XEncryptionProtectedSource2.hpp>
#include <com/sun/star/ucb/XSimpleFileAccess.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/beans/NamedValue.hpp>
#include <com/sun/star/beans/IllegalTypeException.hpp>
+#include <rtl/digest.h>
+
#include <ucbhelper/content.hxx>
#include <comphelper/fileformat.h>
@@ -236,16 +239,16 @@ uno::Reference< io::XInputStream > OStorageHelper::GetInputStreamFromURL(
}
// ----------------------------------------------------------------------
-void OStorageHelper::SetCommonStoragePassword(
+void OStorageHelper::SetCommonStorageEncryptionData(
const uno::Reference< embed::XStorage >& xStorage,
- const ::rtl::OUString& aPass )
+ const uno::Sequence< beans::NamedValue >& aEncryptionData )
throw ( uno::Exception )
{
- uno::Reference< embed::XEncryptionProtectedSource > xEncrSet( xStorage, uno::UNO_QUERY );
+ uno::Reference< embed::XEncryptionProtectedSource2 > xEncrSet( xStorage, uno::UNO_QUERY );
if ( !xEncrSet.is() )
throw io::IOException(); // TODO
- xEncrSet->setEncryptionPassword( aPass );
+ xEncrSet->setEncryptionData( aEncryptionData );
}
// ----------------------------------------------------------------------
@@ -419,6 +422,45 @@ uno::Reference< embed::XStorage > OStorageHelper::GetStorageOfFormatFromStream(
}
// ----------------------------------------------------------------------
+uno::Sequence< beans::NamedValue > OStorageHelper::CreatePackageEncryptionData( const ::rtl::OUString& aPassword )
+{
+ // TODO/LATER: Should not the method be part of DocPasswordHelper?
+ uno::Sequence< beans::NamedValue > aEncryptionData;
+ if ( aPassword.getLength() )
+ {
+ // MS_1252 encoding was used for SO60 document format password encoding,
+ // this encoding supports only a minor subset of nonascii characters,
+ // but for compatibility reasons it has to be used for old document formats
+ aEncryptionData.realloc( 2 );
+ aEncryptionData[0].Name = PACKAGE_ENCRYPTIONDATA_SHA1UTF8;
+ aEncryptionData[1].Name = PACKAGE_ENCRYPTIONDATA_SHA1MS1252;
+
+ rtl_TextEncoding pEncoding[2] = { RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_MS_1252 };
+
+ for ( sal_Int32 nInd = 0; nInd < 2; nInd++ )
+ {
+ ::rtl::OString aByteStrPass = ::rtl::OUStringToOString( aPassword, pEncoding[nInd] );
+
+ sal_uInt8 pBuffer[RTL_DIGEST_LENGTH_SHA1];
+ rtlDigestError nError = rtl_digest_SHA1( aByteStrPass.getStr(),
+ aByteStrPass.getLength(),
+ pBuffer,
+ RTL_DIGEST_LENGTH_SHA1 );
+
+ if ( nError != rtl_Digest_E_None )
+ {
+ aEncryptionData.realloc( 0 );
+ break;
+ }
+
+ aEncryptionData[nInd].Value <<= uno::Sequence< sal_Int8 >( (sal_Int8*)pBuffer, RTL_DIGEST_LENGTH_SHA1 );
+ }
+ }
+
+ return aEncryptionData;
+}
+
+// ----------------------------------------------------------------------
sal_Bool OStorageHelper::IsValidZipEntryFileName( const ::rtl::OUString& aName, sal_Bool bSlashAllowed )
{
return IsValidZipEntryFileName( aName.getStr(), aName.getLength(), bSlashAllowed );
diff --git a/comphelper/source/officeinstdir/officeinstallationdirectories.cxx b/comphelper/source/officeinstdir/officeinstallationdirectories.cxx
index 3ce0d4de865a..ebeedc92839d 100644
--- a/comphelper/source/officeinstdir/officeinstallationdirectories.cxx
+++ b/comphelper/source/officeinstdir/officeinstallationdirectories.cxx
@@ -101,10 +101,12 @@ static bool makeCanonicalFileURL( rtl::OUString & rURL )
OfficeInstallationDirectories::OfficeInstallationDirectories(
const uno::Reference< uno::XComponentContext > & xCtx )
-: m_aOfficeDirMacro( RTL_CONSTASCII_USTRINGPARAM( "$(baseinsturl)" ) ),
+: m_aOfficeBrandDirMacro( RTL_CONSTASCII_USTRINGPARAM( "$(brandbaseurl)" ) ),
+ m_aOfficeBaseDirMacro( RTL_CONSTASCII_USTRINGPARAM( "$(baseinsturl)" ) ),
m_aUserDirMacro( RTL_CONSTASCII_USTRINGPARAM( "$(userdataurl)" ) ),
m_xCtx( xCtx ),
- m_pOfficeDir( 0 ),
+ m_pOfficeBrandDir( 0 ),
+ m_pOfficeBaseDir( 0 ),
m_pUserDir( 0 )
{
}
@@ -113,6 +115,9 @@ OfficeInstallationDirectories::OfficeInstallationDirectories(
// virtual
OfficeInstallationDirectories::~OfficeInstallationDirectories()
{
+ delete m_pOfficeBrandDir;
+ delete m_pOfficeBaseDir;
+ delete m_pUserDir;
}
//=========================================================================
@@ -124,9 +129,8 @@ rtl::OUString SAL_CALL
OfficeInstallationDirectories::getOfficeInstallationDirectoryURL()
throw ( uno::RuntimeException )
{
- // late init m_pOfficeDir and m_pUserDir
initDirs();
- return rtl::OUString( *m_pOfficeDir );
+ return rtl::OUString( *m_pOfficeBrandDir );
}
//=========================================================================
@@ -135,7 +139,6 @@ rtl::OUString SAL_CALL
OfficeInstallationDirectories::getOfficeUserDataDirectoryURL()
throw ( uno::RuntimeException )
{
- // late init m_pOfficeDir and m_pUserDir
initDirs();
return rtl::OUString( *m_pUserDir );
}
@@ -149,29 +152,39 @@ OfficeInstallationDirectories::makeRelocatableURL( const rtl::OUString& URL )
{
if ( URL.getLength() > 0 )
{
- // late init m_pOfficeDir and m_pUserDir
initDirs();
rtl::OUString aCanonicalURL( URL );
makeCanonicalFileURL( aCanonicalURL );
- sal_Int32 nIndex = aCanonicalURL.indexOf( *m_pOfficeDir );
+ sal_Int32 nIndex = aCanonicalURL.indexOf( *m_pOfficeBrandDir );
if ( nIndex != -1 )
{
return rtl::OUString(
URL.replaceAt( nIndex,
- m_pOfficeDir->getLength(),
- m_aOfficeDirMacro ) );
+ m_pOfficeBrandDir->getLength(),
+ m_aOfficeBrandDirMacro ) );
}
else
{
- nIndex = aCanonicalURL.indexOf( *m_pUserDir );
+ nIndex = aCanonicalURL.indexOf( *m_pOfficeBaseDir );
if ( nIndex != -1 )
{
return rtl::OUString(
URL.replaceAt( nIndex,
- m_pUserDir->getLength(),
- m_aUserDirMacro ) );
+ m_pOfficeBaseDir->getLength(),
+ m_aOfficeBaseDirMacro ) );
+ }
+ else
+ {
+ nIndex = aCanonicalURL.indexOf( *m_pUserDir );
+ if ( nIndex != -1 )
+ {
+ return rtl::OUString(
+ URL.replaceAt( nIndex,
+ m_pUserDir->getLength(),
+ m_aUserDirMacro ) );
+ }
}
}
}
@@ -186,29 +199,40 @@ OfficeInstallationDirectories::makeAbsoluteURL( const rtl::OUString& URL )
{
if ( URL.getLength() > 0 )
{
- sal_Int32 nIndex = URL.indexOf( m_aOfficeDirMacro );
+ sal_Int32 nIndex = URL.indexOf( m_aOfficeBrandDirMacro );
if ( nIndex != -1 )
{
- // late init m_pOfficeDir and m_pUserDir
initDirs();
return rtl::OUString(
URL.replaceAt( nIndex,
- m_aOfficeDirMacro.getLength(),
- *m_pOfficeDir ) );
+ m_aOfficeBrandDirMacro.getLength(),
+ *m_pOfficeBrandDir ) );
}
else
{
- nIndex = URL.indexOf( m_aUserDirMacro );
+ nIndex = URL.indexOf( m_aOfficeBaseDirMacro );
if ( nIndex != -1 )
{
- // late init m_pOfficeDir and m_pUserDir
initDirs();
return rtl::OUString(
URL.replaceAt( nIndex,
- m_aUserDirMacro.getLength(),
- *m_pUserDir ) );
+ m_aOfficeBaseDirMacro.getLength(),
+ *m_pOfficeBaseDir ) );
+ }
+ else
+ {
+ nIndex = URL.indexOf( m_aUserDirMacro );
+ if ( nIndex != -1 )
+ {
+ initDirs();
+
+ return rtl::OUString(
+ URL.replaceAt( nIndex,
+ m_aUserDirMacro.getLength(),
+ *m_pUserDir ) );
+ }
}
}
}
@@ -300,13 +324,14 @@ OfficeInstallationDirectories::Create(
void OfficeInstallationDirectories::initDirs()
{
- if ( m_pOfficeDir == 0 )
+ if ( m_pOfficeBrandDir == 0 )
{
osl::MutexGuard aGuard( m_aMutex );
- if ( m_pOfficeDir == 0 )
+ if ( m_pOfficeBrandDir == 0 )
{
- m_pOfficeDir = new rtl::OUString;
- m_pUserDir = new rtl::OUString;
+ m_pOfficeBrandDir = new rtl::OUString;
+ m_pOfficeBaseDir = new rtl::OUString;
+ m_pUserDir = new rtl::OUString;
uno::Reference< util::XMacroExpander > xExpander;
@@ -320,15 +345,24 @@ void OfficeInstallationDirectories::initDirs()
if ( xExpander.is() )
{
- *m_pOfficeDir =
+ *m_pOfficeBrandDir =
+ xExpander->expandMacros(
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "$BRAND_BASE_DIR" ) ) );
+
+ OSL_ENSURE( m_pOfficeBrandDir->getLength() > 0,
+ "Unable to obtain office brand installation directory!" );
+
+ makeCanonicalFileURL( *m_pOfficeBrandDir );
+
+ *m_pOfficeBaseDir =
xExpander->expandMacros(
rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(
"${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE( "bootstrap" ) ":BaseInstallation}" ) ) );
- OSL_ENSURE( m_pOfficeDir->getLength() > 0,
- "Unable to obtain office installation directory!" );
+ OSL_ENSURE( m_pOfficeBaseDir->getLength() > 0,
+ "Unable to obtain office base installation directory!" );
- makeCanonicalFileURL( *m_pOfficeDir );
+ makeCanonicalFileURL( *m_pOfficeBaseDir );
*m_pUserDir =
xExpander->expandMacros(
@@ -336,7 +370,7 @@ void OfficeInstallationDirectories::initDirs()
"${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE( "bootstrap" ) ":UserInstallation}" ) ) );
OSL_ENSURE( m_pUserDir->getLength() > 0,
- "Unable to obtain office user data directory!" );
+ "Unable to obtain office user data directory!" );
makeCanonicalFileURL( *m_pUserDir );
}
diff --git a/comphelper/source/officeinstdir/officeinstallationdirectories.hxx b/comphelper/source/officeinstdir/officeinstallationdirectories.hxx
index 2ffb3582718a..9c56f7ce80fd 100644
--- a/comphelper/source/officeinstdir/officeinstallationdirectories.hxx
+++ b/comphelper/source/officeinstdir/officeinstallationdirectories.hxx
@@ -94,11 +94,13 @@ public:
private:
void initDirs();
- rtl::OUString m_aOfficeDirMacro;
+ rtl::OUString m_aOfficeBrandDirMacro;
+ rtl::OUString m_aOfficeBaseDirMacro;
rtl::OUString m_aUserDirMacro;
com::sun::star::uno::Reference<
com::sun::star::uno::XComponentContext > m_xCtx;
- rtl::OUString * m_pOfficeDir;
+ rtl::OUString * m_pOfficeBrandDir;
+ rtl::OUString * m_pOfficeBaseDir;
rtl::OUString * m_pUserDir;
};
diff --git a/comphelper/source/property/propagg.cxx b/comphelper/source/property/propagg.cxx
index e796c29eba90..9c2fd868d973 100644
--- a/comphelper/source/property/propagg.cxx
+++ b/comphelper/source/property/propagg.cxx
@@ -87,20 +87,36 @@ OPropertyArrayAggregationHelper::OPropertyArrayAggregationHelper(
const Property* pDelegateProps = _rProperties.getConstArray();
Property* pMergedProps = m_aProperties.getArray();
+ // if properties are present both at the delegatee and the aggregate, then the former are supposed to win.
+ // So, we'll need an existence check.
+ ::std::set< ::rtl::OUString > aDelegatorProps;
+
// create the map for the delegator properties
sal_Int32 nMPLoop = 0;
for ( ; nMPLoop < nDelegatorProps; ++nMPLoop, ++pDelegateProps )
+ {
m_aPropertyAccessors[ pDelegateProps->Handle ] = OPropertyAccessor( -1, nMPLoop, sal_False );
+ OSL_ENSURE( aDelegatorProps.find( pDelegateProps->Name ) == aDelegatorProps.end(),
+ "OPropertyArrayAggregationHelper::OPropertyArrayAggregationHelper: duplicate delegatee property!" );
+ aDelegatorProps.insert( pDelegateProps->Name );
+ }
// create the map for the aggregate properties
sal_Int32 nAggregateHandle = _nFirstAggregateId;
pMergedProps += nDelegatorProps;
- for ( ; nMPLoop < nMergedProps; ++nMPLoop, ++pMergedProps, ++pAggregateProps )
+ for ( ; nMPLoop < nMergedProps; ++pAggregateProps )
{
+ // if the aggregate property is present at the delegatee already, ignore it
+ if ( aDelegatorProps.find( pAggregateProps->Name ) != aDelegatorProps.end() )
+ {
+ --nMergedProps;
+ continue;
+ }
+
// next aggregate property - remember it
*pMergedProps = *pAggregateProps;
- // determine the handle for the property which we will expose to the ourside world
+ // determine the handle for the property which we will expose to the outside world
sal_Int32 nHandle = -1;
// ask the infor service first
if ( _pInfoService )
@@ -123,7 +139,11 @@ OPropertyArrayAggregationHelper::OPropertyArrayAggregationHelper(
// remember the accessor for this property
m_aPropertyAccessors[ nHandle ] = OPropertyAccessor( pMergedProps->Handle, nMPLoop, sal_True );
pMergedProps->Handle = nHandle;
+
+ ++nMPLoop;
+ ++pMergedProps;
}
+ m_aProperties.realloc( nMergedProps );
pMergedProps = m_aProperties.getArray(); // reset, needed again below
// sortieren der Properties nach Namen
diff --git a/cppcanvas/inc/cppcanvas/renderer.hxx b/cppcanvas/inc/cppcanvas/renderer.hxx
index 780a27f31503..0b8bb43d7e3e 100644
--- a/cppcanvas/inc/cppcanvas/renderer.hxx
+++ b/cppcanvas/inc/cppcanvas/renderer.hxx
@@ -32,7 +32,7 @@
#include <rtl/ustring.hxx>
#include <boost/shared_ptr.hpp>
-#include <comphelper/optionalvalue.hxx>
+#include <boost/optional.hpp>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <cppcanvas/canvasgraphic.hxx>
#include <cppcanvas/color.hxx>
@@ -109,16 +109,16 @@ namespace cppcanvas
struct Parameters
{
/// Optionally forces the fill color attribute for all actions
- ::comphelper::OptionalValue< Color::IntSRGBA > maFillColor;
+ ::boost::optional< Color::IntSRGBA > maFillColor;
/// Optionally forces the line color attribute for all actions
- ::comphelper::OptionalValue< Color::IntSRGBA > maLineColor;
+ ::boost::optional< Color::IntSRGBA > maLineColor;
/// Optionally forces the text color attribute for all actions
- ::comphelper::OptionalValue< Color::IntSRGBA > maTextColor;
+ ::boost::optional< Color::IntSRGBA > maTextColor;
/// Optionally forces the given fontname for all text actions
- ::comphelper::OptionalValue< ::rtl::OUString > maFontName;
+ ::boost::optional< ::rtl::OUString > maFontName;
/** Optionally transforms all text output actions with the
given matrix (in addition to the overall canvas
@@ -128,16 +128,16 @@ namespace cppcanvas
rect coordinate system, i.e. the metafile is assumed
to be contained in the unit rect.
*/
- ::comphelper::OptionalValue< ::basegfx::B2DHomMatrix > maTextTransformation;
+ ::boost::optional< ::basegfx::B2DHomMatrix > maTextTransformation;
/// Optionally forces the given font weight for all text actions
- ::comphelper::OptionalValue< sal_Int8 > maFontWeight;
+ ::boost::optional< sal_Int8 > maFontWeight;
/// Optionally forces the given font letter form (italics etc.) for all text actions
- ::comphelper::OptionalValue< sal_Int8 > maFontLetterForm;
+ ::boost::optional< sal_Int8 > maFontLetterForm;
/// Optionally forces underlining for all text actions
- ::comphelper::OptionalValue< bool > maFontUnderline;
+ ::boost::optional< bool > maFontUnderline;
};
};
diff --git a/cppcanvas/source/mtfrenderer/implrenderer.cxx b/cppcanvas/source/mtfrenderer/implrenderer.cxx
index 1423cd42ed93..006d55a01de6 100644
--- a/cppcanvas/source/mtfrenderer/implrenderer.cxx
+++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx
@@ -831,8 +831,8 @@ namespace cppcanvas
{
rendering::FontRequest aFontRequest;
- if( rParms.mrParms.maFontName.isValid() )
- aFontRequest.FontDescription.FamilyName = rParms.mrParms.maFontName.getValue();
+ if( rParms.mrParms.maFontName.is_initialized() )
+ aFontRequest.FontDescription.FamilyName = *rParms.mrParms.maFontName;
else
aFontRequest.FontDescription.FamilyName = rFont.GetName();
@@ -843,12 +843,12 @@ namespace cppcanvas
// TODO(F2): improve vclenum->panose conversion
aFontRequest.FontDescription.FontDescription.Weight =
- rParms.mrParms.maFontWeight.isValid() ?
- rParms.mrParms.maFontWeight.getValue() :
+ rParms.mrParms.maFontWeight.is_initialized() ?
+ *rParms.mrParms.maFontWeight :
::canvas::tools::numeric_cast<sal_Int8>( ::basegfx::fround( rFont.GetWeight() ) );
aFontRequest.FontDescription.FontDescription.Letterform =
- rParms.mrParms.maFontLetterForm.isValid() ?
- rParms.mrParms.maFontLetterForm.getValue() :
+ rParms.mrParms.maFontLetterForm.is_initialized() ?
+ *rParms.mrParms.maFontLetterForm :
(rFont.GetItalic() == ITALIC_NONE) ? 0 : 9;
LanguageType aLang = rFont.GetLanguage();
@@ -1445,7 +1445,7 @@ namespace cppcanvas
break;
case META_LINECOLOR_ACTION:
- if( !rParms.maLineColor.isValid() )
+ if( !rParms.maLineColor.is_initialized() )
{
setStateColor( static_cast<MetaLineColorAction*>(pCurrAct),
getState( rStates ).isLineColorSet,
@@ -1455,7 +1455,7 @@ namespace cppcanvas
break;
case META_FILLCOLOR_ACTION:
- if( !rParms.maFillColor.isValid() )
+ if( !rParms.maFillColor.is_initialized() )
{
setStateColor( static_cast<MetaFillColorAction*>(pCurrAct),
getState( rStates ).isFillColorSet,
@@ -1466,7 +1466,7 @@ namespace cppcanvas
case META_TEXTCOLOR_ACTION:
{
- if( !rParms.maTextColor.isValid() )
+ if( !rParms.maTextColor.is_initialized() )
{
// Text color is set unconditionally, thus, no
// use of setStateColor here
@@ -1486,7 +1486,7 @@ namespace cppcanvas
break;
case META_TEXTFILLCOLOR_ACTION:
- if( !rParms.maTextColor.isValid() )
+ if( !rParms.maTextColor.is_initialized() )
{
setStateColor( static_cast<MetaTextFillColorAction*>(pCurrAct),
getState( rStates ).isTextFillColorSet,
@@ -1496,7 +1496,7 @@ namespace cppcanvas
break;
case META_TEXTLINECOLOR_ACTION:
- if( !rParms.maTextColor.isValid() )
+ if( !rParms.maTextColor.is_initialized() )
{
setStateColor( static_cast<MetaTextLineColorAction*>(pCurrAct),
getState( rStates ).isTextLineColorSet,
@@ -1526,8 +1526,8 @@ namespace cppcanvas
// TODO(Q2): define and use appropriate enumeration types
rState.textReliefStyle = (sal_Int8)rFont.GetRelief();
rState.textOverlineStyle = (sal_Int8)rFont.GetOverline();
- rState.textUnderlineStyle = rParms.maFontUnderline.isValid() ?
- (rParms.maFontUnderline.getValue() ? (sal_Int8)UNDERLINE_SINGLE : (sal_Int8)UNDERLINE_NONE) :
+ rState.textUnderlineStyle = rParms.maFontUnderline.is_initialized() ?
+ (*rParms.maFontUnderline ? (sal_Int8)UNDERLINE_SINGLE : (sal_Int8)UNDERLINE_NONE) :
(sal_Int8)rFont.GetUnderline();
rState.textStrikeoutStyle = (sal_Int8)rFont.GetStrikeout();
rState.textEmphasisMarkStyle = (sal_Int8)rFont.GetEmphasisMark();
@@ -2946,28 +2946,28 @@ namespace cppcanvas
getState( aStateStack ).textLineColor = pColor->getDeviceColor( 0x000000FF );
// apply overrides from the Parameters struct
- if( rParams.maFillColor.isValid() )
+ if( rParams.maFillColor.is_initialized() )
{
getState( aStateStack ).isFillColorSet = true;
- getState( aStateStack ).fillColor = pColor->getDeviceColor( rParams.maFillColor.getValue() );
+ getState( aStateStack ).fillColor = pColor->getDeviceColor( *rParams.maFillColor );
}
- if( rParams.maLineColor.isValid() )
+ if( rParams.maLineColor.is_initialized() )
{
getState( aStateStack ).isLineColorSet = true;
- getState( aStateStack ).lineColor = pColor->getDeviceColor( rParams.maLineColor.getValue() );
+ getState( aStateStack ).lineColor = pColor->getDeviceColor( *rParams.maLineColor );
}
- if( rParams.maTextColor.isValid() )
+ if( rParams.maTextColor.is_initialized() )
{
getState( aStateStack ).isTextFillColorSet = true;
getState( aStateStack ).isTextLineColorSet = true;
getState( aStateStack ).textColor =
getState( aStateStack ).textFillColor =
- getState( aStateStack ).textLineColor = pColor->getDeviceColor( rParams.maTextColor.getValue() );
+ getState( aStateStack ).textLineColor = pColor->getDeviceColor( *rParams.maTextColor );
}
- if( rParams.maFontName.isValid() ||
- rParams.maFontWeight.isValid() ||
- rParams.maFontLetterForm.isValid() ||
- rParams.maFontUnderline.isValid() )
+ if( rParams.maFontName.is_initialized() ||
+ rParams.maFontWeight.is_initialized() ||
+ rParams.maFontLetterForm.is_initialized() ||
+ rParams.maFontUnderline.is_initialized() )
{
::cppcanvas::internal::OutDevState& rState = getState( aStateStack );
diff --git a/cppcanvas/source/mtfrenderer/textaction.cxx b/cppcanvas/source/mtfrenderer/textaction.cxx
index bc4cf6688ca3..56ce197b7e8e 100644
--- a/cppcanvas/source/mtfrenderer/textaction.cxx
+++ b/cppcanvas/source/mtfrenderer/textaction.cxx
@@ -2069,7 +2069,7 @@ namespace cppcanvas
rCanvas->getUNOCanvas()->getDevice(),
aResultingPolyPolygon ) );
- if( rParms.maTextTransformation.isValid() )
+ if( rParms.maTextTransformation.is_initialized() )
{
return ActionSharedPtr(
new OutlineAction(
@@ -2085,7 +2085,7 @@ namespace cppcanvas
rVDev,
rCanvas,
rState,
- rParms.maTextTransformation.getValue() ) );
+ *rParms.maTextTransformation ) );
}
else
{
@@ -2186,7 +2186,7 @@ namespace cppcanvas
rShadowColor == aEmptyColor )
{
// nope
- if( rParms.maTextTransformation.isValid() )
+ if( rParms.maTextTransformation.is_initialized() )
{
return ActionSharedPtr( new TextAction(
aStartPoint,
@@ -2195,7 +2195,7 @@ namespace cppcanvas
nLen,
rCanvas,
rState,
- rParms.maTextTransformation.getValue() ) );
+ *rParms.maTextTransformation ) );
}
else
{
@@ -2211,7 +2211,7 @@ namespace cppcanvas
else
{
// at least one of the effects requested
- if( rParms.maTextTransformation.isValid() )
+ if( rParms.maTextTransformation.is_initialized() )
return ActionSharedPtr( new EffectTextAction(
aStartPoint,
aReliefOffset,
@@ -2224,7 +2224,7 @@ namespace cppcanvas
rVDev,
rCanvas,
rState,
- rParms.maTextTransformation.getValue() ) );
+ *rParms.maTextTransformation ) );
else
return ActionSharedPtr( new EffectTextAction(
aStartPoint,
@@ -2250,7 +2250,7 @@ namespace cppcanvas
rShadowColor == aEmptyColor )
{
// nope
- if( rParms.maTextTransformation.isValid() )
+ if( rParms.maTextTransformation.is_initialized() )
return ActionSharedPtr( new TextArrayAction(
aStartPoint,
rText,
@@ -2259,7 +2259,7 @@ namespace cppcanvas
aCharWidths,
rCanvas,
rState,
- rParms.maTextTransformation.getValue() ) );
+ *rParms.maTextTransformation ) );
else
return ActionSharedPtr( new TextArrayAction(
aStartPoint,
@@ -2273,7 +2273,7 @@ namespace cppcanvas
else
{
// at least one of the effects requested
- if( rParms.maTextTransformation.isValid() )
+ if( rParms.maTextTransformation.is_initialized() )
return ActionSharedPtr( new EffectTextArrayAction(
aStartPoint,
aReliefOffset,
@@ -2287,7 +2287,7 @@ namespace cppcanvas
rVDev,
rCanvas,
rState,
- rParms.maTextTransformation.getValue() ) );
+ *rParms.maTextTransformation ) );
else
return ActionSharedPtr( new EffectTextArrayAction(
aStartPoint,
diff --git a/dtrans/prj/build.lst b/dtrans/prj/build.lst
index bd9c73582361..e30eccd59d7e 100644
--- a/dtrans/prj/build.lst
+++ b/dtrans/prj/build.lst
@@ -1,4 +1,4 @@
-dr dtrans : unotools offapi offuh rdbmaker vos stoc NULL
+dr dtrans : unotools offapi offuh rdbmaker vos stoc LIBXSLT:libxslt NULL
dr dtrans usr1 - all dr_mkout NULL
dr dtrans\inc nmake - all dr_inc NULL
dr dtrans\source\cnttype nmake - all dr_cnttype dr_generic dr_inc NULL
diff --git a/i18npool/prj/build.lst b/i18npool/prj/build.lst
index 24e9607596ac..22609becbe86 100644
--- a/i18npool/prj/build.lst
+++ b/i18npool/prj/build.lst
@@ -1,4 +1,4 @@
-inp i18npool : bridges sax stoc comphelper ICU:icu i18nutil regexp NULL
+inp i18npool : bridges sax stoc comphelper ICU:icu i18nutil regexp LIBXSLT:libxslt NULL
inp i18npool usr1 - all inp_mkout NULL
inp i18npool\inc nmake - all inp_inc NULL
inp i18npool\source\registerservices nmake - all inp_rserv inp_inc NULL
diff --git a/l10ntools/inc/export.hxx b/l10ntools/inc/export.hxx
index 8828594c54fd..768e63b03fd8 100644
--- a/l10ntools/inc/export.hxx
+++ b/l10ntools/inc/export.hxx
@@ -452,7 +452,6 @@ public:
const ByteString &rTitle
)
{
-
sText[ nId ] = rText;
bTextFirst[ nId ] = true;
sQuickHelpText[ nId ] = rQuickHelpText;
@@ -508,39 +507,33 @@ public:
class MergeDataFile
{
-private:
- sal_Bool bErrorLog;
- ByteString sErrorLog;
- SvFileStream aErrLog;
- ByteStringSet aLanguageSet;
- MergeDataHashMap aMap;
- ByteStringHashMap aLanguageMap;
- std::vector<ByteString> aLanguageList;
- ByteStringHashMap aFilenames;
-
-
-public:
- MergeDataFile( const ByteString &rFileName, const ByteString& rFile , sal_Bool bErrLog, CharSet aCharSet, bool bCaseSensitive = false );
- ~MergeDataFile();
-
-
- std::vector<ByteString> GetLanguages();
- MergeData *GetMergeData( ResData *pResData , bool bCaseSensitve = false );
-
- PFormEntrys *GetPFormEntrys( ResData *pResData );
- PFormEntrys *GetPFormEntrysCaseSensitive( ResData *pResData );
-
- void InsertEntry( const ByteString &rTYP, const ByteString &rGID, const ByteString &rLID,
- const ByteString &rPFO,
- const ByteString &nLang , const ByteString &rTEXT,
- const ByteString &rQHTEXT, const ByteString &rTITLE ,
- const ByteString &sFilename , bool bCaseSensitive
- );
- static sal_uInt16 GetLangIndex( sal_uInt16 nId );
- static ByteString CreateKey( const ByteString& rTYP , const ByteString& rGID , const ByteString& rLID , const ByteString& rFilename , bool bCaseSensitive = false );
-
- ByteString Dump();
- void WriteError( const ByteString &rLine );
+ private:
+ sal_Bool bErrorLog;
+ ByteString sErrorLog;
+ SvFileStream aErrLog;
+ MergeDataHashMap aMap;
+ std::set<ByteString> aLanguageSet;
+
+ MergeData *GetMergeData( ResData *pResData , bool bCaseSensitve = false );
+ void InsertEntry( const ByteString &rTYP, const ByteString &rGID, const ByteString &rLID,
+ const ByteString &rPFO,
+ const ByteString &nLang, const ByteString &rTEXT,
+ const ByteString &rQHTEXT, const ByteString &rTITLE,
+ const ByteString &sFilename, bool bCaseSensitive
+ );
+ ByteString Dump();
+ void WriteError( const ByteString &rLine );
+
+ public:
+ MergeDataFile( const ByteString &rFileName, const ByteString& rFile , sal_Bool bErrLog, CharSet aCharSet, bool bCaseSensitive = false );
+ ~MergeDataFile();
+
+ std::vector<ByteString> GetLanguages();
+
+ PFormEntrys *GetPFormEntrys( ResData *pResData );
+ PFormEntrys *GetPFormEntrysCaseSensitive( ResData *pResData );
+
+ static ByteString CreateKey( const ByteString& rTYP , const ByteString& rGID , const ByteString& rLID , const ByteString& rFilename , bool bCaseSensitive = false );
};
diff --git a/l10ntools/scripts/tool/l10ntool.py b/l10ntools/scripts/tool/l10ntool.py
index f1630027ccdc..b65c262b6020 100644
--- a/l10ntools/scripts/tool/l10ntool.py
+++ b/l10ntools/scripts/tool/l10ntool.py
@@ -116,6 +116,11 @@ class AbstractL10nTool:
return self._options.inputfile[0] == '@'
def copy_file(self, inputfilename, outputfilename):
+ try:
+ os.remove(outputfilename)
+ except:
+ pass
+
try:
shutil.copy(inputfilename, outputfilename)
except IOError:
diff --git a/l10ntools/source/help/HelpLinker.cxx b/l10ntools/source/help/HelpLinker.cxx
index 8e6976c0efd1..4e3a4cedbe6f 100644
--- a/l10ntools/source/help/HelpLinker.cxx
+++ b/l10ntools/source/help/HelpLinker.cxx
@@ -46,17 +46,16 @@
#define DBHELP_ONLY
-
class IndexerPreProcessor
{
private:
- std::string m_aModuleName;
- fs::path m_fsIndexBaseDir;
- fs::path m_fsCaptionFilesDirName;
- fs::path m_fsContentFilesDirName;
+ std::string m_aModuleName;
+ fs::path m_fsIndexBaseDir;
+ fs::path m_fsCaptionFilesDirName;
+ fs::path m_fsContentFilesDirName;
- xsltStylesheetPtr m_xsltStylesheetPtrCaption;
- xsltStylesheetPtr m_xsltStylesheetPtrContent;
+ xsltStylesheetPtr m_xsltStylesheetPtrCaption;
+ xsltStylesheetPtr m_xsltStylesheetPtrContent;
public:
IndexerPreProcessor( const std::string& aModuleName, const fs::path& fsIndexBaseDir,
@@ -245,7 +244,6 @@ class HelpLinker
{
public:
void main(std::vector<std::string> &args,
-// std::string* pExtensionPath = NULL, const rtl::OUString* pOfficeHelpPath = NULL )
std::string* pExtensionPath = NULL,
std::string* pDestination = NULL,
const rtl::OUString* pOfficeHelpPath = NULL )
@@ -667,8 +665,8 @@ void HelpLinker::link() throw( HelpProcessingException )
if( !bExtensionMode )
std::cout << std::endl;
- } // try
- catch( HelpProcessingException& )
+ } // try
+ catch( const HelpProcessingException& )
{
// catch HelpProcessingException to avoid locking data bases
#ifndef DBHELP_ONLY
@@ -1039,7 +1037,6 @@ void HelpLinker::main( std::vector<std::string> &args,
aStrStream << "language missing" << std::endl;
throw HelpProcessingException( HELPPROCESSING_GENERAL_ERROR, aStrStream.str() );
}
-
link();
}
@@ -1102,7 +1099,7 @@ HelpProcessingErrorInfo& HelpProcessingErrorInfo::operator=( const struct HelpPr
// Returns true in case of success, false in case of error
HELPLINKER_DLLPUBLIC bool compileExtensionHelp
(
- const rtl::OUString& aOfficeHelpPath,
+ const rtl::OUString& aOfficeHelpPath,
const rtl::OUString& aExtensionName,
const rtl::OUString& aExtensionLanguageRoot,
sal_Int32 nXhpFileCount, const rtl::OUString* pXhpFiles,
@@ -1112,31 +1109,20 @@ HELPLINKER_DLLPUBLIC bool compileExtensionHelp
{
bool bSuccess = true;
- sal_Int32 argc = nXhpFileCount + 3;
- const char** argv = new const char*[argc];
- argv[0] = "";
- argv[1] = "-mod";
+ std::vector<std::string> args;
+ args.reserve(nXhpFileCount + 2);
+ args.push_back(std::string("-mod"));
rtl::OString aOExtensionName = rtl::OUStringToOString( aExtensionName, fs::getThreadTextEncoding() );
- argv[2] = aOExtensionName.getStr();
+ args.push_back(std::string(aOExtensionName.getStr()));
for( sal_Int32 iXhp = 0 ; iXhp < nXhpFileCount ; ++iXhp )
{
rtl::OUString aXhpFile = pXhpFiles[iXhp];
rtl::OString aOXhpFile = rtl::OUStringToOString( aXhpFile, fs::getThreadTextEncoding() );
- char* pArgStr = new char[aOXhpFile.getLength() + 1];
- strcpy( pArgStr, aOXhpFile.getStr() );
- argv[iXhp + 3] = pArgStr;
+ args.push_back(std::string(aOXhpFile.getStr()));
}
- std::vector<std::string> args;
- for( sal_Int32 i = 1; i < argc; ++i )
- args.push_back(std::string( argv[i]) );
-
- for( sal_Int32 iXhp = 0 ; iXhp < nXhpFileCount ; ++iXhp )
- delete[] argv[iXhp + 3];
- delete[] argv;
-
rtl::OString aOExtensionLanguageRoot = rtl::OUStringToOString( aExtensionLanguageRoot, fs::getThreadTextEncoding() );
const char* pExtensionPath = aOExtensionLanguageRoot.getStr();
std::string aStdStrExtensionPath = pExtensionPath;
@@ -1206,6 +1192,3 @@ HELPLINKER_DLLPUBLIC bool compileExtensionHelp
return bSuccess;
}
-// vnd.sun.star.help://swriter/52821?Language=en-US&System=UNIX
-/* vi:set tabstop=4 shiftwidth=4 expandtab: */
-
diff --git a/l10ntools/source/merge.cxx b/l10ntools/source/merge.cxx
index 2a92dbdc7ab1..e6893ba8c721 100644
--- a/l10ntools/source/merge.cxx
+++ b/l10ntools/source/merge.cxx
@@ -35,18 +35,29 @@
using namespace std;
+namespace
+{
+ static ::rtl::OString lcl_NormalizeFilename(const ::rtl::OString& rFilename)
+ {
+ return rFilename.copy(
+ ::std::max(
+ rFilename.lastIndexOf( "\\" ),
+ rFilename.lastIndexOf( "/" ))+1);
+ };
+}
+
extern void ConvertHalfwitdhToFullwidth( String& rString );
//
// class PFormEntrys
//
-ByteString PFormEntrys::Dump(){
+ByteString PFormEntrys::Dump()
+{
ByteString sRet( "PFormEntrys\n" );
- //sRet.Append( Export::DumpMap( ByteString("sText") , sText ) );
- //sRet.Append("\n");
ByteString a("sText");
- if ( sText.size() ) Export::DumpMap( a , sText );
+ if(sText.size())
+ Export::DumpMap(a , sText);
return sRet;
}
@@ -69,21 +80,8 @@ sal_Bool PFormEntrys::GetTransex3Text( ByteString &rReturn,
/*****************************************************************************/
sal_Bool PFormEntrys::GetText( ByteString &rReturn,
sal_uInt16 nTyp, const ByteString &nLangIndex, sal_Bool bDel )
-/*****************************************************************************/
{
- /*printf("DBG: PFormEntrys::GetText(nId=%s)\n",nLangIndex.GetBuffer() );
-
- // DEBUG******************
- ByteStringHashMap::const_iterator idbg;
- std::cout << "HASHKEYS : \n";
- for( idbg = sText.begin() ; idbg != sText.end(); ++idbg )
- std::cout << (idbg->first).GetBuffer() << "\n";
- std::cout << "\n\n";
- std::cout << "String sText[ nLangIndex ] = " << sText[ nLangIndex ].GetBuffer() << "\n";
- // DEBUG******************
-*/
-
sal_Bool bReturn=sal_True;
switch ( nTyp ) {
case STRING_TYP_TEXT :
@@ -111,7 +109,6 @@ sal_Bool PFormEntrys::GetText( ByteString &rReturn,
bTitleFirst[ nLangIndex ] = sal_False;
break;
}
- //printf("Returning '%s'\n",rReturn.GetBuffer());
return bReturn;
}
@@ -120,68 +117,53 @@ sal_Bool PFormEntrys::GetText( ByteString &rReturn,
// class MergeData
//
-/*****************************************************************************/
MergeData::~MergeData()
-/*****************************************************************************/
{
}
-/*****************************************************************************/
-PFormEntrys* MergeData::GetPFormEntrys( ResData *pResData )
-/*****************************************************************************/
+PFormEntrys* MergeData::GetPFormEntrys(ResData*)
{
-
- (void) pResData; // FIXME
- if( aMap.find( ByteString("HACK") ) != aMap.end() ){
- return aMap[ ByteString("HACK") ];
- }
- else{
- return 0;
- }
+ if( aMap.find( ByteString("HACK") ) != aMap.end() )
+ return aMap[ ByteString("HACK") ];
+ return NULL;
}
-void MergeData::Insert( const ByteString& rPFO , PFormEntrys* pfEntrys ){
- (void) rPFO; // FIXME
+void MergeData::Insert(const ByteString&, PFormEntrys* pfEntrys )
+{
aMap.insert( PFormEntrysHashMap::value_type( ByteString("HACK") , pfEntrys ) );
-
}
+
ByteString MergeData::Dump(){
ByteString sRet( "MergeData\n" );
printf("MergeData sTyp = %s , sGid = %s , sLid =%s , sFilename = %s\n",sTyp.GetBuffer(),sGID.GetBuffer(),sLID.GetBuffer(), sFilename.GetBuffer() );
PFormEntrysHashMap::const_iterator idbg;
- for( idbg = aMap.begin() ; idbg != aMap.end(); ++idbg ){
+ for( idbg = aMap.begin() ; idbg != aMap.end(); ++idbg )
+ {
printf("aMap[ %s ] = " ,idbg->first.GetBuffer());
( (PFormEntrys*)(idbg->second) )->Dump();
- printf("\n") ;
+ printf("\n");
}
- printf("\n") ;
+ printf("\n");
return sRet;
}
PFormEntrys* MergeData::GetPFObject( const ByteString& rPFO ){
- if( aMap.find( ByteString("HACK") ) != aMap.end() ){
+ if( aMap.find( ByteString("HACK") ) != aMap.end() )
return aMap[ rPFO ];
- }
- else{
- return 0;
- }
+ return NULL;
}
-/*****************************************************************************/
PFormEntrys *MergeData::InsertEntry( const ByteString &rPForm )
-/*****************************************************************************/
{
PFormEntrys* pFEntrys = new PFormEntrys( rPForm );
aMap.insert( PFormEntrysHashMap::value_type( rPForm , pFEntrys ) );
return pFEntrys;
}
-/*****************************************************************************/
sal_Bool MergeData::operator==( ResData *pData )
-/*****************************************************************************/
{
ByteString sResTyp_upper( pData->sResTyp );
sResTyp_upper.ToUpperAscii();
@@ -202,130 +184,96 @@ sal_Bool MergeData::operator==( ResData *pData )
#define FFORMAT_NEW 0x0001
#define FFORMAT_OLD 0x0002
-/*****************************************************************************/
-MergeDataFile::MergeDataFile( const ByteString &rFileName, const ByteString& sFile ,sal_Bool bErrLog,
-// CharSet aCharSet, sal_Bool bUTF8 , bool bCaseSensitive )
- CharSet aCharSet, bool bCaseSensitive )
-/*****************************************************************************/
- : bErrorLog( bErrLog )
+MergeDataFile::MergeDataFile(
+ const ByteString &rFileName,
+ const ByteString& sFile,
+ sal_Bool bErrLog,
+ CharSet aCharSet,
+ bool bCaseSensitive)
+ : bErrorLog( bErrLog )
{
-
SvFileStream aInputStream( String( rFileName, RTL_TEXTENCODING_ASCII_US ), STREAM_STD_READ );
aInputStream.SetStreamCharSet( aCharSet );
ByteString sLine;
-// printf("\nReading localize.sdf ...\n");
- ByteString sTYP;
- ByteString sGID;
- ByteString sLID;
- ByteString sPFO;
- ByteString nLANG;
- ByteString sTEXT;
- ByteString sQHTEXT;
- ByteString sTITLE;
- ByteString sHACK("HACK");
+ const ByteString sHACK("HACK");
+ const ::rtl::OString sFileNormalized(lcl_NormalizeFilename(sFile));
+ const bool isFileEmpty = sFileNormalized.getLength();
- const ByteString sEmpty("");
-
- if( !aInputStream.IsOpen() ) {
+ if( !aInputStream.IsOpen() )
+ {
printf("Warning : Can't open %s\n", rFileName.GetBuffer());
- //exit( -1 );
return;
}
- while ( !aInputStream.IsEof()) {
+ while ( !aInputStream.IsEof())
+ {
xub_StrLen nToks;
aInputStream.ReadLine( sLine );
sLine = sLine.Convert( RTL_TEXTENCODING_MS_1252, aCharSet );
nToks = sLine.GetTokenCount( '\t' );
- if ( nToks == 15 ) {
+ if ( nToks == 15 )
+ {
// Skip all wrong filenames
- ByteString filename = sLine.GetToken( 1 , '\t' );
- filename = filename.Copy( filename.SearchCharBackward( "\\" )+1 , filename.Len() );
+ const ::rtl::OString filename = lcl_NormalizeFilename(sLine.GetToken( 1 , '\t' ));
- if( sFile.Equals( sEmpty ) || ( !sFile.Equals( sEmpty ) && filename.Equals( sFile ) ) )
+ if(isFileEmpty || (!isFileEmpty && filename.equals(sFileNormalized)))
{
- xub_StrLen rIdx = 0;
- sTYP = sLine.GetToken( 3, '\t', rIdx );
- sGID = sLine.GetToken( 0, '\t', rIdx ); // 4
- sLID = sLine.GetToken( 0, '\t', rIdx ); // 5
- sPFO = sLine.GetToken( 1, '\t', rIdx ); // 7
- sPFO = sHACK;
- nLANG = sLine.GetToken( 1, '\t', rIdx ); // 9
- sTEXT = sLine.GetToken( 0, '\t', rIdx ); // 10
-
- sQHTEXT = sLine.GetToken( 1, '\t', rIdx ); // 12
- sTITLE = sLine.GetToken( 0, '\t', rIdx ); // 13
-
+ xub_StrLen rIdx = 0;
+ const ByteString sTYP = sLine.GetToken( 3, '\t', rIdx );
+ const ByteString sGID = sLine.GetToken( 0, '\t', rIdx ); // 4
+ const ByteString sLID = sLine.GetToken( 0, '\t', rIdx ); // 5
+ ByteString sPFO = sLine.GetToken( 1, '\t', rIdx ); // 7
+ sPFO = sHACK;
+ ByteString nLANG = sLine.GetToken( 1, '\t', rIdx ); // 9
nLANG.EraseLeadingAndTrailingChars();
+ const ByteString sTEXT = sLine.GetToken( 0, '\t', rIdx ); // 10
+ const ByteString sQHTEXT = sLine.GetToken( 1, '\t', rIdx ); // 12
+ const ByteString sTITLE = sLine.GetToken( 0, '\t', rIdx ); // 13
+
#ifdef MERGE_SOURCE_LANGUAGES
- if( true ){
+ if( true )
#else
- if ( !nLANG.EqualsIgnoreCaseAscii("en-US") ){
+ if( !nLANG.EqualsIgnoreCaseAscii("en-US") )
#endif
- ByteStringHashMap::const_iterator lit;
- lit = aLanguageMap.find (nLANG);
- ByteString aLANG;
- if (lit == aLanguageMap.end()) {
- aLANG = nLANG;
- aLanguageMap.insert( ByteStringHashMap::value_type( aLANG, aLANG ) );
- // Remember read languages for -l all switch
- aLanguageList.push_back( nLANG );
- } else
- aLANG = lit->first;
-
- InsertEntry( sTYP, sGID, sLID, sPFO, aLANG, sTEXT, sQHTEXT, sTITLE , filename , bCaseSensitive );
+ {
+ aLanguageSet.insert(nLANG);
+ InsertEntry( sTYP, sGID, sLID, sPFO, nLANG, sTEXT, sQHTEXT, sTITLE, filename, bCaseSensitive );
}
}
}
- else if ( nToks == 10 ) {
+ else if ( nToks == 10 )
+ {
printf("ERROR: File format is obsolete and no longer supported!\n");
}
}
aInputStream.Close();
}
-/*****************************************************************************/
+
MergeDataFile::~MergeDataFile()
-/*****************************************************************************/
{
}
-/*****************************************************************************/
-//void MergeDataFile::WriteErrorLog( const ByteString &rFileName )
-/*****************************************************************************/
-//{
-// DEAD
-//}
-
ByteString MergeDataFile::Dump(){
ByteString sRet( "MergeDataFile\n" );
- //sRet.Append( Export::DumpMap( "aLanguageSet" , aLanguageSet ) );
- //sRet.Append( Export::DumpMap( "aLanguageList" , aLanguageList ) );
printf("MergeDataFile\n");
MergeDataHashMap::const_iterator idbg;
- for( idbg = aMap.begin() ; idbg != aMap.end(); ++idbg ){
- /*sRet.Append( "aMap[" );
- sRet.Append( idbg->first );
- sRet.Append( "]= " );
- sRet.Append( ((MergeData*) (idbg->second))->Dump() );
- sRet.Append("\n");*/
-
+ for( idbg = aMap.begin() ; idbg != aMap.end(); ++idbg )
+ {
printf("aMap[ %s ] = ",idbg->first.GetBuffer());
((MergeData*) (idbg->second))->Dump();
printf("\n");
}
printf("\n");
- //sRet.Append("\n");
return sRet;
}
-/*****************************************************************************/
void MergeDataFile::WriteError( const ByteString &rLine )
-/*****************************************************************************/
{
- if ( bErrorLog ) {
+ if ( bErrorLog )
+ {
if ( !aErrLog.IsOpen())
aErrLog.Open( String( sErrorLog, RTL_TEXTENCODING_ASCII_US ), STREAM_STD_WRITE | STREAM_TRUNC );
aErrLog.WriteLine( rLine );
@@ -333,45 +281,39 @@ void MergeDataFile::WriteError( const ByteString &rLine )
else
fprintf( stderr, "%s\n", rLine.GetBuffer());
}
+
std::vector<ByteString> MergeDataFile::GetLanguages(){
- return aLanguageList;
+ return std::vector<ByteString>(aLanguageSet.begin(),aLanguageSet.end());
}
-/*****************************************************************************/
MergeData *MergeDataFile::GetMergeData( ResData *pResData , bool bCaseSensitive )
-/*****************************************************************************/
{
ByteString sOldG = pResData->sGId;
ByteString sOldL = pResData->sId;
ByteString sGID = pResData->sGId;
ByteString sLID;
- if ( !sGID.Len())
+ if(!sGID.Len())
sGID = pResData->sId;
else
sLID = pResData->sId;
pResData->sGId = sGID;
pResData->sId = sLID;
- //printf("MergeData:: Search gid=%s lid=%s filename=%s \n", pResData->sGId.GetBuffer(),pResData->sId.GetBuffer(),pResData->sFilename.GetBuffer() );
+
ByteString sKey = CreateKey( pResData->sResTyp , pResData->sGId , pResData->sId , pResData->sFilename , bCaseSensitive );
- //printf("DBG: Searching [%s]\n",sKey.GetBuffer());
- if( aMap.find( sKey ) != aMap.end() ){
+ if(aMap.find( sKey ) != aMap.end())
+ {
pResData->sGId = sOldG;
pResData->sId = sOldL;
- //printf("DBG: Found[%s]\n",sKey.GetBuffer());
return aMap[ sKey ];
}
- //Dump();
pResData->sGId = sOldG;
pResData->sId = sOldL;
- //printf("DBG: Found[%s]\n",sKey.GetBuffer());
return NULL;
}
-/*****************************************************************************/
PFormEntrys *MergeDataFile::GetPFormEntrys( ResData *pResData )
-/*****************************************************************************/
{
// search for requested PFormEntrys
MergeData *pData = GetMergeData( pResData );
@@ -380,9 +322,7 @@ PFormEntrys *MergeDataFile::GetPFormEntrys( ResData *pResData )
return NULL;
}
-/*****************************************************************************/
PFormEntrys *MergeDataFile::GetPFormEntrysCaseSensitive( ResData *pResData )
-/*****************************************************************************/
{
// search for requested PFormEntrys
MergeData *pData = GetMergeData( pResData , true );
@@ -390,70 +330,58 @@ PFormEntrys *MergeDataFile::GetPFormEntrysCaseSensitive( ResData *pResData )
return pData->GetPFormEntrys( pResData );
return NULL;
}
-/*****************************************************************************/
+
void MergeDataFile::InsertEntry(
- const ByteString &rTYP, const ByteString &rGID,
- const ByteString &rLID, const ByteString &rPFO,
- const ByteString &nLANG, const ByteString &rTEXT,
- const ByteString &rQHTEXT, const ByteString &rTITLE ,
- const ByteString &rInFilename , bool bCaseSensitive
- )
-/*****************************************************************************/
+ const ByteString &rTYP, const ByteString &rGID,
+ const ByteString &rLID, const ByteString &rPFO,
+ const ByteString &nLANG, const ByteString &rTEXT,
+ const ByteString &rQHTEXT, const ByteString &rTITLE ,
+ const ByteString &rInFilename , bool bCaseSensitive
+ )
{
MergeData *pData;
- sal_Bool bFound = sal_False;
-
- // uniquify the filename to save memory.
- ByteStringHashMap::const_iterator fit = aFilenames.find (rInFilename);
- ByteString aFilename;
- if (fit == aFilenames.end()) {
- aFilename = rInFilename;
- aFilenames.insert (ByteStringHashMap::value_type (aFilename, aFilename));
- } else
- aFilename = fit->first;
// search for MergeData
-
- ByteString sKey = CreateKey( rTYP , rGID , rLID , aFilename , bCaseSensitive );
+ ByteString sKey = CreateKey( rTYP , rGID , rLID , rInFilename , bCaseSensitive );
MergeDataHashMap::const_iterator mit;
mit = aMap.find( sKey );
- if( mit != aMap.end() ){
+ if( mit != aMap.end() )
+ {
pData = mit->second;
- }else{
- pData = new MergeData( rTYP, rGID, rLID, aFilename );
+ }
+ else
+ {
+ pData = new MergeData( rTYP, rGID, rLID, rInFilename );
aMap.insert( MergeDataHashMap::value_type( sKey, pData ) );
}
- bFound = sal_False;
PFormEntrys *pFEntrys = 0;
// search for PFormEntrys
-
pFEntrys = pData->GetPFObject( rPFO );
- if( !pFEntrys ){
+ if( !pFEntrys )
+ {
// create new PFormEntrys, cause no one exists with current properties
pFEntrys = new PFormEntrys( rPFO );
pData->Insert( rPFO , pFEntrys );
}
// finaly insert the cur string
-
pFEntrys->InsertEntry( nLANG , rTEXT, rQHTEXT, rTITLE );
-
- //printf("DBG: MergeDataFile::Insert[]=( sKey=%s,nLang=%s,rTEXT=%s)\n",sKey2.GetBuffer(),nLANG.GetBuffer(),rTEXT.GetBuffer());
}
-ByteString MergeDataFile::CreateKey( const ByteString& rTYP , const ByteString& rGID , const ByteString& rLID , const ByteString& rFilename , bool bCaseSensitive ){
-
- ByteString sKey( rTYP );
- sKey.Append( '-' );
- sKey.Append( rGID );
- sKey.Append( '-' );
- sKey.Append( rLID );
- sKey.Append( '-' );
- sKey.Append( rFilename );
-
- if( bCaseSensitive ) return sKey; // officecfg case sensitive identifier
- else return sKey.ToUpperAscii();
-}
-
+ByteString MergeDataFile::CreateKey( const ByteString& rTYP , const ByteString& rGID , const ByteString& rLID , const ByteString& rFilename , bool bCaseSensitive )
+{
+ static const ::rtl::OString sStroke('-');
+ ::rtl::OString sKey( rTYP );
+ sKey += sStroke;
+ sKey += rGID;
+ sKey += sStroke;
+ sKey += rLID;
+ sKey += sStroke;
+ sKey += lcl_NormalizeFilename(rFilename);
+ OSL_TRACE("created key: %s", sKey.getStr());
+ if(bCaseSensitive)
+ return sKey; // officecfg case sensitive identifier
+ return sKey.toAsciiUpperCase();
+}
diff --git a/rsc/inc/rscsfx.hxx b/rsc/inc/rsc/rscsfx.hxx
index 830bbcf37baa..830bbcf37baa 100644
--- a/rsc/inc/rscsfx.hxx
+++ b/rsc/inc/rsc/rscsfx.hxx
diff --git a/rsc/prj/d.lst b/rsc/prj/d.lst
index e59c9b2e9f3a..e79c03d9bb63 100644
--- a/rsc/prj/d.lst
+++ b/rsc/prj/d.lst
@@ -6,4 +6,4 @@
..\%__SRC%\bin\rscpp %_DEST%\bin%_EXT%\rscpp
mkdir: %_DEST%\inc%_EXT%\rsc
-..\inc\rscsfx.hxx %_DEST%\inc%_EXT%\rsc\rscsfx.hxx
+..\inc\rsc/rscsfx.hxx %_DEST%\inc%_EXT%\rsc\rscsfx.hxx
diff --git a/rsc/source/parser/rscdb.cxx b/rsc/source/parser/rscdb.cxx
index fdbf6459ac63..e14d406b3bbc 100644
--- a/rsc/source/parser/rscdb.cxx
+++ b/rsc/source/parser/rscdb.cxx
@@ -903,7 +903,7 @@ ERRTYPE RscTypCont :: WriteHxx( FILE * fOutput, sal_uIntPtr nFileKey )
fprintf( fOutput, "#include <vcl/fixed.hxx>\n" );
fprintf( fOutput, "#include <vcl/group.hxx>\n" );
fprintf( fOutput, "#include <vcl/image.hxx>\n" );
- fprintf( fOutput, "#include <vcl/imagebtn.hxx>\n" );
+ fprintf( fOutput, "#include <vcl/button.hxx>\n" );
fprintf( fOutput, "#include <vcl/keycod.hxx>\n" );
fprintf( fOutput, "#include <vcl/lstbox.hxx>\n" );
fprintf( fOutput, "#include <vcl/mapmod.hxx>\n" );
@@ -1113,3 +1113,4 @@ sal_uInt32 RscTypCont::PutTranslatorKey( sal_uInt64 nKey )
aIdTranslator[ nKey ] = nFilePos;
return nPMId++;
}
+
diff --git a/rsc/source/parser/rscibas.cxx b/rsc/source/parser/rscibas.cxx
index c68fa6ac7ebf..75239f82e55b 100644
--- a/rsc/source/parser/rscibas.cxx
+++ b/rsc/source/parser/rscibas.cxx
@@ -102,7 +102,7 @@ void RscLangEnum::Init( RscNameTable& rNames )
while ( NULL != ( pLangEntry = MsLangId::getIsoLangEntry( nIndex )) && ( pLangEntry->mnLang != LANGUAGE_DONTKNOW ))
{
#if OSL_DEBUG_LEVEL > 2
- fprintf( stderr, "ISO Language in : %d %d %s\n",
+ fprintf( stderr, "ISO Language in : %d\n",
(int)nIndex,
pLangEntry->mnLang,
MsLangId::convertLanguageToIsoByteString( pLangEntry->mnLang ).getStr() );
@@ -200,7 +200,7 @@ Atom RscLangEnum::AddLanguage( const char* pLang, RscNameTable& rNames )
mnLangId++;
}
#if OSL_DEBUG_LEVEL > 2
- fprintf( stderr, "AddLanguage( %s ) = 0x%lx\n", pLang, nResult );
+ fprintf( stderr, "AddLanguage( %s ) = %d\n", pLang, nResult );
#endif
return nResult;
}
diff --git a/rsc/source/parser/rscicpx.cxx b/rsc/source/parser/rscicpx.cxx
index eab06b3ea8ec..13d84851a563 100644
--- a/rsc/source/parser/rscicpx.cxx
+++ b/rsc/source/parser/rscicpx.cxx
@@ -40,7 +40,7 @@
#include <rscclass.hxx>
#include <rsccont.hxx>
#include <rscdb.hxx>
-#include <rscsfx.hxx>
+#include <rsc/rscsfx.hxx>
#include "rsclex.hxx"
#include <yyrscyacc.hxx>
diff --git a/rsc/source/rsc/rsc.cxx b/rsc/source/rsc/rsc.cxx
index c1eb0f85b36b..81284ab00df8 100644
--- a/rsc/source/rsc/rsc.cxx
+++ b/rsc/source/rsc/rsc.cxx
@@ -66,12 +66,14 @@
#include <rschash.hxx>
#include <osl/file.h>
+#include <osl/file.hxx>
#include <osl/process.h>
#include <rtl/strbuf.hxx>
#include <rtl/tencinfo.h>
#include <rtl/textenc.h>
#include <vector>
+#include <algorithm>
using namespace rtl;
@@ -139,7 +141,7 @@ RscCmdLine::RscCmdLine( int argc, char ** argv, RscError * pEH )
RscPtrPtr aCmdLine; // Kommandozeile
ByteString aString;
sal_uInt32 i;
- sal_Bool bOutputSrsIsSet = sal_False;
+ sal_Bool bOutputSrsIsSet = sal_False;
Init(); // Defaults setzen
@@ -724,7 +726,7 @@ ERRTYPE RscCompiler :: IncludeParser( sal_uIntPtr lFileKey )
*************************************************************************/
ERRTYPE RscCompiler :: ParseOneFile( sal_uIntPtr lFileKey,
const RscCmdLine::OutputFile* pOutputFile,
- const WriteRcContext* pContext )
+ const WriteRcContext* pContext )
{
FILE * finput = NULL;
ERRTYPE aError;
@@ -802,13 +804,36 @@ ERRTYPE RscCompiler :: ParseOneFile( sal_uIntPtr lFileKey,
|*
*************************************************************************/
-static OString do_prefix( const char* pPrefix, const OUString& rFile )
+namespace
{
- OStringBuffer aBuf(256);
- aBuf.append( pPrefix );
- aBuf.append( ":" );
- aBuf.append( OUStringToOString( rFile, RTL_TEXTENCODING_MS_1252 ) );
- return aBuf.makeStringAndClear();
+ using namespace ::osl;
+ class RscIoError { };
+ static inline OUString lcl_getAbsoluteUrl(const OUString& i_sBaseUrl, const OString& i_sPath)
+ {
+ OUString sRelUrl, sAbsUrl;
+ if(FileBase::getFileURLFromSystemPath(OStringToOUString(i_sPath, RTL_TEXTENCODING_MS_1252), sRelUrl) != FileBase::E_None)
+ throw RscIoError();
+ if(FileBase::getAbsoluteFileURL(i_sBaseUrl, sRelUrl, sAbsUrl) != FileBase::E_None)
+ throw RscIoError();
+ return sAbsUrl;
+ };
+ static inline OString lcl_getSystemPath(const OUString& i_sUrl)
+ {
+ OUString sSys;
+ if(FileBase::getSystemPathFromFileURL(i_sUrl, sSys) != FileBase::E_None)
+ throw RscIoError();
+ OSL_TRACE("temporary file: %s", OUStringToOString(sSys, RTL_TEXTENCODING_UTF8).getStr());
+ return OUStringToOString(sSys, RTL_TEXTENCODING_MS_1252);
+ };
+ static inline OString lcl_getTempFile(OUString& sTempDirUrl)
+ {
+ // get a temp file name for the rc file
+ OUString sTempUrl;
+ if(FileBase::createTempFile(&sTempDirUrl, NULL, &sTempUrl) != FileBase::E_None)
+ throw RscIoError();
+ OSL_TRACE("temporary url: %s", OUStringToOString(sTempUrl, RTL_TEXTENCODING_UTF8).getStr());
+ return lcl_getSystemPath(sTempUrl);
+ };
}
ERRTYPE RscCompiler::Link()
@@ -817,12 +842,6 @@ ERRTYPE RscCompiler::Link()
ERRTYPE aError;
RscFile* pFName;
-#ifdef UNX
-#define PATHSEP '/'
-#else
-#define PATHSEP '\\'
-#endif
-
if( !(pCL->nCommands & NOLINK_FLAG) )
{
::std::list<RscCmdLine::OutputFile>::const_iterator it;
@@ -836,91 +855,59 @@ ERRTYPE RscCompiler::Link()
{
pTC->Delete( pTC->aFileTab.GetIndex( pFName ) );
pTC->aFileTab.Seek( pFName );
- pFName->bLoaded = sal_False;
- }
- }
-
- // rc-Datei schreiben
- ByteString aDir( it->aOutputRc );
- aDir.SetToken( aDir.GetTokenCount( PATHSEP )-1, PATHSEP, ByteString() );
- if( ! aDir.Len() )
- {
- char aBuf[1024];
- if( getcwd( aBuf, sizeof( aBuf ) ) )
- {
- aDir = aBuf;
- aDir.Append( PATHSEP );
+ pFName->bLoaded = FALSE;
}
}
- // work dir for absolute Urls
- OUString aCWD, aTmpUrl;
- osl_getProcessWorkingDir( &aCWD.pData );
// get two temp file urls
OString aRcTmp, aSysListTmp, aSysList;
- OUString aSysPath, aUrlDir;
- aSysPath = OStringToOUString( aDir, RTL_TEXTENCODING_MS_1252 );
- if( osl_getFileURLFromSystemPath( aSysPath.pData, &aUrlDir.pData ) != osl_File_E_None )
- pTC->pEH->FatalError( ERR_OPENFILE, RscId(), do_prefix( "url conversion", aUrlDir ) );
-
- if( osl_getAbsoluteFileURL( aCWD.pData, aUrlDir.pData, &aTmpUrl.pData ) != osl_File_E_None )
- pTC->pEH->FatalError( ERR_OPENFILE, RscId(), do_prefix( "absolute url", aUrlDir ) );
- aUrlDir = aTmpUrl;
+ try
+ {
+ OUString sPwdUrl;
+ osl_getProcessWorkingDir( &sPwdUrl.pData );
+ OUString sRcUrl = lcl_getAbsoluteUrl(sPwdUrl, it->aOutputRc);
+ // TempDir is either the directory where the rc file is located or pwd
+ OUString sTempDirUrl = sRcUrl.copy(0,sRcUrl.lastIndexOf('/'));
+ OSL_TRACE("rc directory URL: %s", OUStringToOString(sTempDirUrl, RTL_TEXTENCODING_UTF8).getStr());
+
+ aRcTmp = lcl_getTempFile(sTempDirUrl);
+ OSL_TRACE("temporary rc file: %s", aRcTmp.getStr());
+
+ OUString sOilDirUrl;
+ if(pCL->aILDir.Len())
+ sOilDirUrl = lcl_getAbsoluteUrl(sPwdUrl, pCL->aILDir);
+ else
+ sOilDirUrl = sTempDirUrl;
+ OSL_TRACE("ilst directory URL: %s", OUStringToOString(sOilDirUrl, RTL_TEXTENCODING_UTF8).getStr());
- // create temp file for rc target
- if( osl_createTempFile( aUrlDir.pData, NULL, &aTmpUrl.pData ) != osl_File_E_None )
- pTC->pEH->FatalError( ERR_OPENFILE, RscId(), do_prefix( "temp file creation", aUrlDir ) );
+ aSysListTmp = lcl_getTempFile(sOilDirUrl);
+ OSL_TRACE("temporary ilst file: %s", aSysListTmp.getStr());
- if( osl_getSystemPathFromFileURL( aTmpUrl.pData, &aSysPath.pData ) != osl_File_E_None )
- pTC->pEH->FatalError( ERR_OPENFILE, RscId(), do_prefix( "sys path conversion", aTmpUrl ) );
- aRcTmp = OUStringToOString( aSysPath, RTL_TEXTENCODING_MS_1252 );
+ OUString sIlstUrl, sIlstSys;
+ sIlstUrl = sRcUrl.copy(sRcUrl.lastIndexOf('/')+1);
+ sIlstUrl = sIlstUrl.copy(0,sIlstUrl.lastIndexOf('.'));
+ sIlstUrl += OUString::createFromAscii(".ilst");
+ sIlstUrl = lcl_getAbsoluteUrl(sOilDirUrl, OUStringToOString(sIlstUrl, RTL_TEXTENCODING_UTF8));
- if ( NULL == (fExitFile = foutput = fopen( aRcTmp.getStr(), "wb" )) )
- pTC->pEH->FatalError( ERR_OPENFILE, RscId(), aRcTmp.getStr() );
-
- // make absolute path from IL dir (-oil switch)
- // if no -oil was given, use the same dir as for rc file
- if( pCL->aILDir.Len() )
+ aSysList = lcl_getSystemPath(sIlstUrl);
+ OSL_TRACE("ilst file: %s", aSysList.getStr());
+ }
+ catch (RscIoError&)
{
- aSysPath = OStringToOUString( pCL->aILDir, RTL_TEXTENCODING_MS_1252 );
- if( osl_getFileURLFromSystemPath( aSysPath.pData, &aTmpUrl.pData ) != osl_File_E_None )
- pTC->pEH->FatalError( ERR_OPENFILE, RscId(), do_prefix( "url conversion", aSysPath ) );
- if( osl_getAbsoluteFileURL( aCWD.pData, aTmpUrl.pData, &aUrlDir.pData ) != osl_File_E_None )
- pTC->pEH->FatalError( ERR_OPENFILE, RscId(), do_prefix( "absolute url", aTmpUrl ) );
+ OString sMsg("Error with paths:\n");
+ sMsg += "temporary rc file: " + aRcTmp + "\n";
+ sMsg += "temporary ilst file: " + aSysListTmp + "\n";
+ sMsg += "ilst file: " + aSysList + "\n";
+ pTC->pEH->FatalError(ERR_OPENFILE, RscId(), sMsg);
}
-
- if( osl_getSystemPathFromFileURL( aUrlDir.pData, &aSysPath.pData ) != osl_File_E_None )
- pTC->pEH->FatalError( ERR_OPENFILE, RscId(), do_prefix( "sys path conversion", aUrlDir ) );
-
- aSysList = OUStringToOString( aSysPath, RTL_TEXTENCODING_MS_1252 );
- aSysList = aSysList + "/";
- xub_StrLen nLastSep = it->aOutputRc.SearchBackward( PATHSEP );
- if( nLastSep == STRING_NOTFOUND )
- nLastSep = 0;
- xub_StrLen nLastPt = it->aOutputRc.Search( '.', nLastSep );
- if( nLastPt == STRING_NOTFOUND )
- nLastPt = it->aOutputRc.Len()+1;
- aSysList = aSysList + it->aOutputRc.Copy( nLastSep+1, nLastPt - nLastSep-1 );
- aSysList = aSysList + ".ilst";
- // create temp file for sys list target
- if( osl_createTempFile( aUrlDir.pData, NULL, &aTmpUrl.pData ) != osl_File_E_None )
- pTC->pEH->FatalError( ERR_OPENFILE, RscId(), do_prefix( "temp file creation", aUrlDir ) );
-
- if( osl_getSystemPathFromFileURL( aTmpUrl.pData, &aSysPath.pData ) != osl_File_E_None )
- pTC->pEH->FatalError( ERR_OPENFILE, RscId(), do_prefix( "sys path conversion", aTmpUrl ) );
- aSysListTmp = OUStringToOString( aSysPath, RTL_TEXTENCODING_MS_1252 );
-
- pTC->pEH->StdOut( "Generating .rc file\n" );
-
- rtl_TextEncoding aEnc = RTL_TEXTENCODING_UTF8;
- //if( it->aLangName.CompareIgnoreCaseToAscii( "de", 2 ) == COMPARE_EQUAL )
- // aEnc = RTL_TEXTENCODING_MS_1252;
+ if ( NULL == (fExitFile = foutput = fopen( aRcTmp.getStr(), "wb" )) )
+ pTC->pEH->FatalError( ERR_OPENFILE, RscId(), aRcTmp.getStr() );
// Schreibe Datei
sal_Char cSearchDelim = ByteString( DirEntry::GetSearchDelimiter(), RTL_TEXTENCODING_ASCII_US ).GetChar( 0 );
sal_Char cAccessDelim = ByteString( DirEntry::GetAccessDelimiter(), RTL_TEXTENCODING_ASCII_US ).GetChar( 0 );
pTC->ChangeLanguage( it->aLangName );
- pTC->SetSourceCharSet( aEnc );
+ pTC->SetSourceCharSet( RTL_TEXTENCODING_UTF8 );
pTC->ClearSysNames();
ByteString aSysSearchPath( it->aLangSearchPath );
xub_StrLen nIndex = 0;
@@ -936,9 +923,7 @@ ERRTYPE RscCompiler::Link()
aSysSearchPath.Append( cSearchDelim );
aSysSearchPath.Append( aToken );
}
-#if OSL_DEBUG_LEVEL > 1
- fprintf( stderr, "setting search path for language %s: %s\n", it->aLangName.GetBuffer(), aSysSearchPath.GetBuffer() );
-#endif
+ OSL_TRACE( "setting search path for language %s: %s\n", it->aLangName.GetBuffer(), aSysSearchPath.GetBuffer() );
pTC->SetSysSearchPath( aSysSearchPath );
WriteRcContext aContext;
@@ -1130,7 +1115,7 @@ ByteString RscCompiler::GetTmpFileName()
/********************************************************************/
/* */
-/* Function : sal_Bool openinput() */
+/* Function : sal_Bool openinput() */
/* */
/* Description : Check to see if the input file exists and can */
/* be opened for reading. */
@@ -1153,7 +1138,7 @@ void RscCompiler::OpenInput( const ByteString& rInput )
|*************************************************************************/
bool RscCompiler::GetImageFilePath( const RscCmdLine::OutputFile& rOutputFile,
- const WriteRcContext& rContext,
+ const WriteRcContext& rContext,
const ByteString& rBaseFileName,
ByteString& rImagePath,
FILE* pSysListFile )
@@ -1243,9 +1228,9 @@ bool RscCompiler::GetImageFilePath( const RscCmdLine::OutputFile& rOutputFile,
// ------------------------------------------------------------------------------
void RscCompiler::PreprocessSrsFile( const RscCmdLine::OutputFile& rOutputFile,
- const WriteRcContext& rContext,
- const DirEntry& rSrsInPath,
- const DirEntry& rSrsOutPath )
+ const WriteRcContext& rContext,
+ const DirEntry& rSrsInPath,
+ const DirEntry& rSrsOutPath )
{
SvFileStream aIStm( rSrsInPath.GetFull(), STREAM_READ );
SvFileStream aOStm( rSrsOutPath.GetFull(), STREAM_WRITE | STREAM_TRUNC );
@@ -1353,7 +1338,7 @@ void RscCompiler::PreprocessSrsFile( const RscCmdLine::OutputFile& rOutputFile,
}
aOStm.WriteLine( "};" );
- }
+ }
else
aOStm.WriteLine( aLine );
}
@@ -1382,3 +1367,4 @@ void RscCompiler::PreprocessSrsFile( const RscCmdLine::OutputFile& rOutputFile,
if( pSysListFile )
fclose( pSysListFile );
}
+
diff --git a/sax/prj/build.lst b/sax/prj/build.lst
index 653d77ce9e25..849700087ae7 100644
--- a/sax/prj/build.lst
+++ b/sax/prj/build.lst
@@ -1,4 +1,4 @@
-ax sax : offapi cppuhelper EXPAT:expat comphelper NULL
+ax sax : offapi cppuhelper EXPAT:expat comphelper LIBXSLT:libxslt NULL
ax sax usr1 - all ax_mkout NULL
ax sax\source\expatwrap nmake - all ax_expatwrap NULL
ax sax\source\tools nmake - all ax_tools NULL
diff --git a/sot/inc/absdev.hxx b/sot/inc/sot/absdev.hxx
index d882e6fc6b14..d882e6fc6b14 100644
--- a/sot/inc/absdev.hxx
+++ b/sot/inc/sot/absdev.hxx
diff --git a/sot/inc/agg.hxx b/sot/inc/sot/agg.hxx
index cf07f6a8faff..cf07f6a8faff 100644
--- a/sot/inc/agg.hxx
+++ b/sot/inc/sot/agg.hxx
diff --git a/sot/inc/clsids.hxx b/sot/inc/sot/clsids.hxx
index a64df510dd07..a64df510dd07 100644
--- a/sot/inc/clsids.hxx
+++ b/sot/inc/sot/clsids.hxx
diff --git a/sot/inc/filelist.hxx b/sot/inc/sot/filelist.hxx
index fc04e92cb3d7..fc04e92cb3d7 100644
--- a/sot/inc/filelist.hxx
+++ b/sot/inc/sot/filelist.hxx
diff --git a/sot/inc/stg.hxx b/sot/inc/sot/stg.hxx
index b4f13b8d2660..b4f13b8d2660 100644
--- a/sot/inc/stg.hxx
+++ b/sot/inc/sot/stg.hxx
diff --git a/sot/inc/storinfo.hxx b/sot/inc/sot/storinfo.hxx
index 5f225c26d0de..5f225c26d0de 100644
--- a/sot/inc/storinfo.hxx
+++ b/sot/inc/sot/storinfo.hxx
diff --git a/sot/prj/build.lst b/sot/prj/build.lst
index a5ebff311e9c..9d6e785898a5 100644
--- a/sot/prj/build.lst
+++ b/sot/prj/build.lst
@@ -1,4 +1,4 @@
-to sot : tools ucbhelper unotools NULL
+to sot : LIBXSLT:libxslt tools ucbhelper unotools NULL
to sot usr1 - all sot_mkout NULL
to sot\inc nmake - all sot_inc NULL
to sot\prj get - all sot_prj NULL
diff --git a/sot/prj/d.lst b/sot/prj/d.lst
index 10bed8c9fe5e..ec3166bbea1a 100644
--- a/sot/prj/d.lst
+++ b/sot/prj/d.lst
@@ -1,20 +1,7 @@
mkdir: %_DEST%\inc%_EXT%\sot
-..\inc\clsids.hxx %_DEST%\inc%_EXT%\sot\clsids.hxx
-..\inc\sot\object.hxx %_DEST%\inc%_EXT%\sot\object.hxx
-..\inc\sot\factory.hxx %_DEST%\inc%_EXT%\sot\factory.hxx
-..\inc\sot\sotdata.hxx %_DEST%\inc%_EXT%\sot\sotdata.hxx
-..\inc\agg.hxx %_DEST%\inc%_EXT%\sot\agg.hxx
-..\inc\sot\storage.hxx %_DEST%\inc%_EXT%\sot\storage.hxx
-..\inc\storinfo.hxx %_DEST%\inc%_EXT%\sot\storinfo.hxx
-..\inc\sot\sotref.hxx %_DEST%\inc%_EXT%\sot\sotref.hxx
-..\inc\sot\exchange.hxx %_DEST%\inc%_EXT%\sot\exchange.hxx
-..\inc\sot\formats.hxx %_DEST%\inc%_EXT%\sot\formats.hxx
-..\inc\absdev.hxx %_DEST%\inc%_EXT%\sot\absdev.hxx
-..\inc\stg.hxx %_DEST%\inc%_EXT%\sot\stg.hxx
-..\inc\filelist.hxx %_DEST%\inc%_EXT%\sot\filelist.hxx
-..\inc\sot\sotdllapi.h %_DEST%\inc%_EXT%\sot\sotdllapi.h
+..\inc\sot/*.hxx %_DEST%\inc%_EXT%\sot\*.hxx
+..\inc\sot\*.h %_DEST%\inc%_EXT%\sot\*.h
-..\%__SRC%\inc\sdintern.hxx %_DEST%\inc%_EXT%\sot\sdintern.hxx
..\%__SRC%\lib\sot.lib %_DEST%\lib%_EXT%\sot.lib
..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%
..\%__SRC%\lib\lib*.so.* %_DEST%\lib%_EXT%
diff --git a/sot/source/base/exchange.cxx b/sot/source/base/exchange.cxx
index 2b51162df3a0..ec45c757c369 100644
--- a/sot/source/base/exchange.cxx
+++ b/sot/source/base/exchange.cxx
@@ -37,7 +37,7 @@
#include <sot/sotdata.hxx>
#include <sot/exchange.hxx>
#include <sot/formats.hxx>
-#include <clsids.hxx>
+#include <sot/clsids.hxx>
#include <rtl/instance.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/datatransfer/DataFlavor.hpp>
diff --git a/sot/source/base/factory.cxx b/sot/source/base/factory.cxx
index 5c4757188f38..3b71382906ca 100644
--- a/sot/source/base/factory.cxx
+++ b/sot/source/base/factory.cxx
@@ -36,7 +36,7 @@
#include <tools/string.hxx>
#include <sot/object.hxx>
#include <sot/sotdata.hxx>
-#include <clsids.hxx>
+#include <sot/clsids.hxx>
#include <rtl/instance.hxx>
#include <com/sun/star/datatransfer/DataFlavor.hpp>
diff --git a/sot/source/base/filelist.cxx b/sot/source/base/filelist.cxx
index 80828e596538..5be0b01e8de6 100644
--- a/sot/source/base/filelist.cxx
+++ b/sot/source/base/filelist.cxx
@@ -33,7 +33,7 @@
#include<tools/string.hxx>
#include<tools/rtti.hxx>
#include<sot/exchange.hxx>
-#include<filelist.hxx>
+#include<sot/filelist.hxx>
#include <osl/thread.h>
TYPEINIT1_AUTOFACTORY( FileList, SvDataCopyStream );
diff --git a/sot/source/base/formats.cxx b/sot/source/base/formats.cxx
index 10b6958ca4ac..81deb8e90112 100644
--- a/sot/source/base/formats.cxx
+++ b/sot/source/base/formats.cxx
@@ -34,8 +34,8 @@
#include <sot/exchange.hxx>
#include <sot/formats.hxx>
-#include "filelist.hxx"
-#include "clsids.hxx"
+#include "sot/filelist.hxx"
+#include "sot/clsids.hxx"
#include <tools/globname.hxx>
#include <com/sun/star/datatransfer/DataFlavor.hpp>
diff --git a/sot/source/base/object.cxx b/sot/source/base/object.cxx
index bdd3862d8d52..5ac3f7f45d87 100644
--- a/sot/source/base/object.cxx
+++ b/sot/source/base/object.cxx
@@ -33,7 +33,7 @@
#include <tools/debug.hxx>
#include <sot/object.hxx>
#include <sot/factory.hxx>
-#include <agg.hxx>
+#include <sot/agg.hxx>
/************** class SvAggregateMemberList *****************************/
/************************************************************************/
diff --git a/sot/source/sdstor/stg.cxx b/sot/source/sdstor/stg.cxx
index 5adfb735d47b..f1f51f20343b 100644
--- a/sot/source/sdstor/stg.cxx
+++ b/sot/source/sdstor/stg.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sot.hxx"
-#include <storinfo.hxx>
+#include <sot/storinfo.hxx>
#include <osl/file.hxx>
#include <tools/tempfile.hxx>
#include <tools/ownlist.hxx>
@@ -42,7 +42,7 @@
#include <tools/pstm.hxx>
#include <tools/debug.hxx>
-#include "stg.hxx"
+#include "sot/stg.hxx"
#include "stgelem.hxx"
#include "stgcache.hxx"
#include "stgstrms.hxx"
diff --git a/sot/source/sdstor/stgcache.cxx b/sot/source/sdstor/stgcache.cxx
index 6a0d1117f934..d0f0b0332482 100644
--- a/sot/source/sdstor/stgcache.cxx
+++ b/sot/source/sdstor/stgcache.cxx
@@ -41,7 +41,7 @@
#include <osl/endian.h>
#include <tools/string.hxx>
-#include "stg.hxx"
+#include "sot/stg.hxx"
#include "stgelem.hxx"
#include "stgcache.hxx"
#include "stgstrms.hxx"
diff --git a/sot/source/sdstor/stgdir.cxx b/sot/source/sdstor/stgdir.cxx
index 0b1cf2582501..080a4aba5268 100644
--- a/sot/source/sdstor/stgdir.cxx
+++ b/sot/source/sdstor/stgdir.cxx
@@ -30,7 +30,7 @@
#include <string.h> // memcpy()
-#include "stg.hxx"
+#include "sot/stg.hxx"
#include "stgelem.hxx"
#include "stgcache.hxx"
#include "stgstrms.hxx"
@@ -936,8 +936,11 @@ sal_Bool StgDirStrm::Store()
void* StgDirStrm::GetEntry( sal_Int32 n, sal_Bool bDirty )
{
+ if( n < 0 )
+ return NULL;
+
n *= STGENTRY_SIZE;
- if( n >= nSize )
+ if( n < 0 && n >= nSize )
return NULL;
return GetPtr( n, sal_True, bDirty );
}
diff --git a/sot/source/sdstor/stgelem.cxx b/sot/source/sdstor/stgelem.cxx
index 917a4c2adb61..b781e4051c3d 100644
--- a/sot/source/sdstor/stgelem.cxx
+++ b/sot/source/sdstor/stgelem.cxx
@@ -32,7 +32,7 @@
#include <rtl/ustring.hxx>
#include <com/sun/star/lang/Locale.hpp>
#include <unotools/charclass.hxx>
-#include "stg.hxx"
+#include "sot/stg.hxx"
#include "stgelem.hxx"
#include "stgcache.hxx"
#include "stgstrms.hxx"
diff --git a/sot/source/sdstor/stgelem.hxx b/sot/source/sdstor/stgelem.hxx
index 8b7d547ca416..9730813bb0ff 100644
--- a/sot/source/sdstor/stgelem.hxx
+++ b/sot/source/sdstor/stgelem.hxx
@@ -35,7 +35,7 @@
#include <tools/solar.h>
#endif
-#include <stg.hxx>
+#include <sot/stg.hxx>
class StgIo;
class SvStream;
diff --git a/sot/source/sdstor/stgio.cxx b/sot/source/sdstor/stgio.cxx
index 6e504130be5a..54dbe1d43366 100644
--- a/sot/source/sdstor/stgio.cxx
+++ b/sot/source/sdstor/stgio.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sot.hxx"
-#include "stg.hxx"
+#include "sot/stg.hxx"
#include "stgelem.hxx"
#include "stgcache.hxx"
#include "stgstrms.hxx"
diff --git a/sot/source/sdstor/stgole.cxx b/sot/source/sdstor/stgole.cxx
index e3d02bc597ab..250e0bc4d12b 100644
--- a/sot/source/sdstor/stgole.cxx
+++ b/sot/source/sdstor/stgole.cxx
@@ -31,7 +31,7 @@
#include "rtl/string.h"
#include "rtl/string.h"
#include "stgole.hxx"
-#include "storinfo.hxx" // Read/WriteClipboardFormat()
+#include "sot/storinfo.hxx" // Read/WriteClipboardFormat()
#include <tools/debug.hxx>
#if defined(_MSC_VER) && (_MSC_VER>=1400)
diff --git a/sot/source/sdstor/stgole.hxx b/sot/source/sdstor/stgole.hxx
index b8c569c81ded..5448bd3b6f9c 100644
--- a/sot/source/sdstor/stgole.hxx
+++ b/sot/source/sdstor/stgole.hxx
@@ -30,7 +30,7 @@
#include <string.h> // memset()
-#include "stg.hxx"
+#include "sot/stg.hxx"
#include "stgelem.hxx"
class StgInternalStream : public SvStream
diff --git a/sot/source/sdstor/stgstrms.cxx b/sot/source/sdstor/stgstrms.cxx
index 7310b44676dc..a47695fc14d7 100644
--- a/sot/source/sdstor/stgstrms.cxx
+++ b/sot/source/sdstor/stgstrms.cxx
@@ -34,7 +34,7 @@
#include <tools/tempfile.hxx>
#include <tools/debug.hxx>
-#include "stg.hxx"
+#include "sot/stg.hxx"
#include "stgelem.hxx"
#include "stgcache.hxx"
#include "stgstrms.hxx"
diff --git a/sot/source/sdstor/storage.cxx b/sot/source/sdstor/storage.cxx
index 9b5d3a95b92f..f912d76cdaf6 100644
--- a/sot/source/sdstor/storage.cxx
+++ b/sot/source/sdstor/storage.cxx
@@ -35,8 +35,8 @@
#include <rtl/digest.h>
#include <osl/file.hxx>
-#include <stg.hxx>
-#include <storinfo.hxx>
+#include <sot/stg.hxx>
+#include <sot/storinfo.hxx>
#include <sot/storage.hxx>
#include <sot/formats.hxx>
#include <sot/exchange.hxx>
diff --git a/sot/source/sdstor/storinfo.cxx b/sot/source/sdstor/storinfo.cxx
index f326025fd0ac..0958362f64a9 100644
--- a/sot/source/sdstor/storinfo.cxx
+++ b/sot/source/sdstor/storinfo.cxx
@@ -28,8 +28,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sot.hxx"
-#include <stg.hxx>
-#include <storinfo.hxx>
+#include <sot/stg.hxx>
+#include <sot/storinfo.hxx>
#include <sot/exchange.hxx>
diff --git a/sot/source/sdstor/ucbstorage.cxx b/sot/source/sdstor/ucbstorage.cxx
index ede41ec3aec9..ccdd42bb04bd 100644
--- a/sot/source/sdstor/ucbstorage.cxx
+++ b/sot/source/sdstor/ucbstorage.cxx
@@ -66,12 +66,12 @@
#include <cppuhelper/implbase2.hxx>
#include <ucbhelper/commandenvironment.hxx>
-#include "stg.hxx"
-#include "storinfo.hxx"
+#include "sot/stg.hxx"
+#include "sot/storinfo.hxx"
#include <sot/storage.hxx>
#include <sot/exchange.hxx>
#include <sot/formats.hxx>
-#include "clsids.hxx"
+#include "sot/clsids.hxx"
#include "unostorageholder.hxx"
diff --git a/sot/source/sdstor/unostorageholder.cxx b/sot/source/sdstor/unostorageholder.cxx
index aa84ed0cf87c..00a905125ff6 100644
--- a/sot/source/sdstor/unostorageholder.cxx
+++ b/sot/source/sdstor/unostorageholder.cxx
@@ -36,7 +36,7 @@
#include <comphelper/processfactory.hxx>
#include "unostorageholder.hxx"
-#include <storinfo.hxx>
+#include <sot/storinfo.hxx>
using namespace ::com::sun::star;
diff --git a/sot/source/unoolestorage/xolesimplestorage.cxx b/sot/source/unoolestorage/xolesimplestorage.cxx
index 1780e45c5ed6..45baf9eed4c5 100644
--- a/sot/source/unoolestorage/xolesimplestorage.cxx
+++ b/sot/source/unoolestorage/xolesimplestorage.cxx
@@ -39,7 +39,7 @@
#include <cppuhelper/exc_hlp.hxx>
-#include <storinfo.hxx>
+#include <sot/storinfo.hxx>
#include "xolesimplestorage.hxx"
diff --git a/sot/source/unoolestorage/xolesimplestorage.hxx b/sot/source/unoolestorage/xolesimplestorage.hxx
index c9f1b5c68b0a..18bd6ee64f9e 100644
--- a/sot/source/unoolestorage/xolesimplestorage.hxx
+++ b/sot/source/unoolestorage/xolesimplestorage.hxx
@@ -43,7 +43,7 @@
#include <osl/mutex.hxx>
-#include <stg.hxx>
+#include <sot/stg.hxx>
class OLESimpleStorage : public ::cppu::WeakImplHelper3
diff --git a/sot/util/makefile.mk b/sot/util/makefile.mk
index 72d17db189be..453dbddc5857 100644
--- a/sot/util/makefile.mk
+++ b/sot/util/makefile.mk
@@ -57,16 +57,16 @@ SHL1DEF= $(MISC)$/$(SHL1TARGET).def
DEF1NAME =$(SHL1TARGET)
DEF1DEPN =$(MISC)$/$(SHL1TARGET).flt \
- $(PRJ)$/inc$/absdev.hxx \
- $(PRJ)$/inc$/agg.hxx \
+ $(PRJ)$/inc$/sot/absdev.hxx \
+ $(PRJ)$/inc$/sot/agg.hxx \
$(PRJ)$/inc$/sot$/exchange.hxx \
$(PRJ)$/inc$/sot$/factory.hxx \
$(PRJ)$/inc$/sot$/object.hxx \
$(PRJ)$/inc$/sot$/sotdata.hxx \
$(PRJ)$/inc$/sot$/sotref.hxx \
- $(PRJ)$/inc$/stg.hxx \
+ $(PRJ)$/inc$/sot/stg.hxx \
$(PRJ)$/inc$/sot$/storage.hxx \
- $(PRJ)$/inc$/storinfo.hxx
+ $(PRJ)$/inc$/sot/storinfo.hxx
DEFLIB1NAME =$(TARGET)
DEF1DES =StarObjectsTools
diff --git a/svl/source/filepicker/makefile.mk b/svl/AllLangResTarget_svl.mk
index b3c2a829cf54..6759202a5fa4 100644
--- a/svl/source/filepicker/makefile.mk
+++ b/svl/AllLangResTarget_svl.mk
@@ -2,7 +2,7 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
+# Copyright 2009 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
#
@@ -14,33 +14,36 @@
#
# 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
+# 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
+# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ=..$/..
-PRJNAME=svl
-TARGET=filepicker
-ENABLE_EXCEPTIONS=TRUE
+$(eval $(call gb_AllLangResTarget_AllLangResTarget,svl))
-# --- Settings -----------------------------------------------------------
+$(eval $(call gb_AllLangResTarget_add_srs,svl,\
+ svl/res \
+))
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
+$(eval $(call gb_SrsTarget_SrsTarget,svl/res))
-# --- Files --------------------------------------------------------------
+$(eval $(call gb_SrsTarget_set_include,svl/res,\
+ $$(INCLUDE) \
+ -I$(WORKDIR)/inc \
+ -I$(SRCDIR)/svl/source/inc \
+ -I$(SRCDIR)/svl/inc/ \
+ -I$(SRCDIR)/svl/inc/svl \
+))
-SLOFILES =\
- $(SLO)$/pickerhistory.obj
+$(eval $(call gb_SrsTarget_add_files,svl/res,\
+ svl/source/misc/mediatyp.src \
+ svl/source/items/cstitem.src \
+))
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svl/Library_fsstorage.mk b/svl/Library_fsstorage.mk
new file mode 100644
index 000000000000..f109e0620d5e
--- /dev/null
+++ b/svl/Library_fsstorage.mk
@@ -0,0 +1,78 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,fsstorage))
+
+$(eval $(call gb_Library_set_componentfile,fsstorage,svl/source/fsstor/fsstorage))
+
+$(eval $(call gb_Library_set_include,fsstorage,\
+ $$(SOLARINC) \
+ -I$(WORKDIR)/inc/svl \
+ -I$(WORKDIR)/inc/ \
+ -I$(SRCDIR)/svl/inc \
+ -I$(SRCDIR)/svl/inc/svl \
+ -I$(SRCDIR)/svl/source/inc \
+ -I$(SRCDIR)/svl/inc/pch \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_Library_add_linked_libs,fsstorage,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ sal \
+ stl \
+ tl \
+ ucbhelper \
+ utl \
+))
+
+$(eval $(call gb_Library_add_linked_system_libs,fsstorage,\
+ dl \
+ icuuc \
+ m \
+ pthread \
+))
+
+$(eval $(call gb_Library_add_exception_objects,fsstorage,\
+ svl/source/fsstor/fsfactory \
+ svl/source/fsstor/fsstorage \
+ svl/source/fsstor/oinputstreamcontainer \
+ svl/source/fsstor/ostreamcontainer \
+))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,fsstorage,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/svl/Library_passwordcontainer.mk b/svl/Library_passwordcontainer.mk
new file mode 100644
index 000000000000..d0b35552e18a
--- /dev/null
+++ b/svl/Library_passwordcontainer.mk
@@ -0,0 +1,74 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,passwordcontainer))
+
+$(eval $(call gb_Library_set_componentfile,passwordcontainer,svl/source/passwordcontainer/passwordcontainer))
+
+$(eval $(call gb_Library_set_include,passwordcontainer,\
+ $$(SOLARINC) \
+ -I$(WORKDIR)/inc/svl \
+ -I$(WORKDIR)/inc/ \
+ -I$(SRCDIR)/svl/inc \
+ -I$(SRCDIR)/svl/inc/svl \
+ -I$(SRCDIR)/svl/source/inc \
+ -I$(SRCDIR)/svl/inc/pch \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_Library_add_linked_libs,passwordcontainer,\
+ cppu \
+ cppuhelper \
+ sal \
+ stl \
+ ucbhelper \
+ utl \
+))
+
+$(eval $(call gb_Library_add_linked_system_libs,passwordcontainer,\
+ icuuc \
+ dl \
+ m \
+ pthread \
+))
+
+$(eval $(call gb_Library_add_exception_objects,passwordcontainer,\
+ svl/source/passwordcontainer/passwordcontainer \
+ svl/source/passwordcontainer/syscreds \
+))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,passwordcontainer,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/svl/Library_svl.mk b/svl/Library_svl.mk
new file mode 100644
index 000000000000..7faf5caa7f65
--- /dev/null
+++ b/svl/Library_svl.mk
@@ -0,0 +1,186 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,svl))
+
+$(eval $(call gb_Library_add_package_headers,svl,svl_inc))
+
+$(eval $(call gb_Library_add_precompiled_header,svl,$(SRCDIR)/svl/inc/pch/precompiled_svl))
+
+$(eval $(call gb_Library_set_componentfile,svl,svl/util/svl))
+
+$(eval $(call gb_Library_set_include,svl,\
+ $$(SOLARINC) \
+ -I$(WORKDIR)/inc/svl \
+ -I$(WORKDIR)/inc/ \
+ -I$(SRCDIR)/svl/inc \
+ -I$(SRCDIR)/svl/source/inc \
+ -I$(SRCDIR)/svl/inc/pch \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_Library_set_defs,svl,\
+ $$(DEFS) \
+ -DSVL_DLLIMPLEMENTATION \
+))
+
+$(eval $(call gb_Library_add_linked_libs,svl,\
+ basegfx \
+ comphelper \
+ cppu \
+ cppuhelper \
+ i18nisolang1 \
+ i18nutil \
+ jvmfwk \
+ sal \
+ sot \
+ stl \
+ tl \
+ ucbhelper \
+ utl \
+ vos3 \
+))
+
+$(eval $(call gb_Library_add_linked_system_libs,svl,\
+ dl \
+ icuuc \
+ m \
+ pthread \
+))
+
+
+$(eval $(call gb_Library_add_exception_objects,svl,\
+ svl/inc/pch/precompiled_svl \
+ svl/source/config/asiancfg \
+ svl/source/config/cjkoptions \
+ svl/source/config/ctloptions \
+ svl/source/config/itemholder2 \
+ svl/source/config/languageoptions \
+ svl/source/config/srchcfg \
+ svl/source/filepicker/pickerhistory \
+ svl/source/filerec/filerec \
+ svl/source/items/aeitem \
+ svl/source/items/cenumitm \
+ svl/source/items/cintitem \
+ svl/source/items/cntwall \
+ svl/source/items/ctypeitm \
+ svl/source/items/custritm \
+ svl/source/items/dateitem \
+ svl/source/items/eitem \
+ svl/source/items/flagitem \
+ svl/source/items/globalnameitem \
+ svl/source/items/ilstitem \
+ svl/source/items/imageitm \
+ svl/source/items/intitem \
+ svl/source/items/itemiter \
+ svl/source/items/itempool \
+ svl/source/items/itemprop \
+ svl/source/items/itemset \
+ svl/source/items/lckbitem \
+ svl/source/items/macitem \
+ svl/source/items/poolcach \
+ svl/source/items/poolio \
+ svl/source/items/poolitem \
+ svl/source/items/ptitem \
+ svl/source/items/rectitem \
+ svl/source/items/rngitem \
+ svl/source/items/sfontitm \
+ svl/source/items/sitem \
+ svl/source/items/slstitm \
+ svl/source/items/srchitem \
+ svl/source/items/stritem \
+ svl/source/items/style \
+ svl/source/items/stylepool \
+ svl/source/items/szitem \
+ svl/source/items/visitem \
+ svl/source/items/whiter \
+ svl/source/memtools/svarray \
+ svl/source/misc/PasswordHelper \
+ svl/source/misc/adrparse \
+ svl/source/misc/documentlockfile \
+ svl/source/misc/filenotation \
+ svl/source/misc/folderrestriction \
+ svl/source/misc/fstathelper \
+ svl/source/misc/inethist \
+ svl/source/misc/inettype \
+ svl/source/misc/lngmisc \
+ svl/source/misc/lockfilecommon \
+ svl/source/misc/ownlist \
+ svl/source/misc/restrictedpaths \
+ svl/source/misc/sharecontrolfile \
+ svl/source/misc/strmadpt \
+ svl/source/misc/svldata \
+ svl/source/misc/urihelper \
+ svl/source/notify/brdcst \
+ svl/source/notify/broadcast \
+ svl/source/notify/hint \
+ svl/source/notify/isethint \
+ svl/source/notify/listener \
+ svl/source/notify/listenerbase \
+ svl/source/notify/listeneriter \
+ svl/source/notify/lstner \
+ svl/source/notify/smplhint \
+ svl/source/numbers/numfmuno \
+ svl/source/numbers/numhead \
+ svl/source/numbers/numuno \
+ svl/source/numbers/supservs \
+ svl/source/numbers/zforfind \
+ svl/source/numbers/zforlist \
+ svl/source/numbers/zformat \
+ svl/source/numbers/zforscan \
+ svl/source/svsql/converter \
+ svl/source/undo/undo \
+ svl/source/uno/pathservice \
+ svl/source/uno/registerservices \
+))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_exception_objects,svl,\
+ svl/source/svdde/ddecli \
+ svl/source/svdde/ddedata \
+ svl/source/svdde/ddeinf \
+ svl/source/svdde/ddestrg \
+ svl/source/svdde/ddesvr \
+ svl/source/svdde/ddewrap \
+))
+
+$(eval $(call gb_Library_add_linked_libs,svl,\
+ advapi32 \
+ kernel32 \
+ gdi32 \
+ msvcrt \
+ shell32 \
+ user32 \
+ uwinapi \
+))
+else
+$(eval $(call gb_Library_add_exception_objects,svl,\
+ svl/unx/source/svdde/ddedummy \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/svl/Makefile b/svl/Makefile
new file mode 100644
index 000000000000..a79aff831024
--- /dev/null
+++ b/svl/Makefile
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+ifeq ($(strip $(SOLARENV)),)
+$(error No environment set!)
+endif
+
+gb_PARTIALBUILD := T
+GBUILDDIR := $(SOLARENV)/gbuild
+include $(GBUILDDIR)/gbuild.mk
+
+$(eval $(call gb_Module_make_global_targets,$(shell ls $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/Module*.mk)))
+
+# vim: set noet sw=4 ts=4:
diff --git a/svl/Module_svl.mk b/svl/Module_svl.mk
new file mode 100644
index 000000000000..6bba7a0836f7
--- /dev/null
+++ b/svl/Module_svl.mk
@@ -0,0 +1,42 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Module_Module,svl))
+
+$(eval $(call gb_Module_add_targets,svl,\
+ AllLangResTarget_svl \
+ Library_fsstorage \
+ Library_passwordcontainer \
+ Library_svl \
+ Package_inc \
+))
+
+#todo: dde platform dependent
+#todo: package_inc
+#todo: map file
+
+# vim: set noet ts=4 sw=4:
diff --git a/svl/Package_inc.mk b/svl/Package_inc.mk
new file mode 100644
index 000000000000..888cdc38cfa6
--- /dev/null
+++ b/svl/Package_inc.mk
@@ -0,0 +1,129 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Package_Package,svl_inc,$(SRCDIR)/svl/inc))
+
+
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/PasswordHelper.hxx,svl/PasswordHelper.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/adrparse.hxx,svl/adrparse.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/aeitem.hxx,svl/aeitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/asiancfg.hxx,svl/asiancfg.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/brdcst.hxx,svl/brdcst.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/broadcast.hxx,svl/broadcast.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/broadcast.hxx,svl/broadcast.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cenumitm.hxx,svl/cenumitm.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cintitem.hxx,svl/cintitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cjkoptions.hxx,svl/cjkoptions.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cntnrsrt.hxx,svl/cntnrsrt.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cntwall.hxx,svl/cntwall.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cntwids.hrc,svl/cntwids.hrc))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/converter.hxx,svl/converter.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/ctloptions.hxx,svl/ctloptions.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/ctypeitm.hxx,svl/ctypeitm.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/custritm.hxx,svl/custritm.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/dateitem.hxx,svl/dateitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/documentlockfile.hxx,svl/documentlockfile.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/eitem.hxx,svl/eitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/filenotation.hxx,svl/filenotation.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/filerec.hxx,svl/filerec.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/flagitem.hxx,svl/flagitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/folderrestriction.hxx,svl/folderrestriction.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/fstathelper.hxx,svl/fstathelper.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/globalnameitem.hxx,svl/globalnameitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/hint.hxx,svl/hint.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/httpcook.hxx,svl/httpcook.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/ilstitem.hxx,svl/ilstitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/imageitm.hxx,svl/imageitm.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/inetdef.hxx,svl/inetdef.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/inethist.hxx,svl/inethist.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/inetmsg.hxx,svl/inetmsg.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/inetstrm.hxx,svl/inetstrm.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/inettype.hxx,svl/inettype.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/instrm.hxx,svl/instrm.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/intitem.hxx,svl/intitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/isethint.hxx,svl/isethint.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/itemiter.hxx,svl/itemiter.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/itempool.hxx,svl/itempool.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/itemprop.hxx,svl/itemprop.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/itemset.hxx,svl/itemset.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/languageoptions.hxx,svl/languageoptions.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/lckbitem.hxx,svl/lckbitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/listener.hxx,svl/listener.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/listeneriter.hxx,svl/listeneriter.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/lngmisc.hxx,svl/lngmisc.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/lockfilecommon.hxx,svl/lockfilecommon.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/lstner.hxx,svl/lstner.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/macitem.hxx,svl/macitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/mailenum.hxx,svl/mailenum.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/memberid.hrc,svl/memberid.hrc))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/metitem.hxx,svl/metitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/nfkeytab.hxx,svl/nfkeytab.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/nfsymbol.hxx,svl/nfsymbol.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/nfversi.hxx,svl/nfversi.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/nranges.hxx,svl/nranges.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/numuno.hxx,svl/numuno.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/ondemand.hxx,svl/ondemand.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/outstrm.hxx,svl/outstrm.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/ownlist.hxx,svl/ownlist.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/pickerhelper.hxx,svl/pickerhelper.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/pickerhistory.hxx,svl/pickerhistory.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/pickerhistoryaccess.hxx,svl/pickerhistoryaccess.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/poolcach.hxx,svl/poolcach.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/poolitem.hxx,svl/poolitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/ptitem.hxx,svl/ptitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/rectitem.hxx,svl/rectitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/restrictedpaths.hxx,svl/restrictedpaths.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/rngitem.hxx,svl/rngitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/sfontitm.hxx,svl/sfontitm.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/sharecontrolfile.hxx,svl/sharecontrolfile.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/slstitm.hxx,svl/slstitm.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/smplhint.hxx,svl/smplhint.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/solar.hrc,svl/solar.hrc))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/srchcfg.hxx,svl/srchcfg.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/srchdefs.hxx,svl/srchdefs.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/srchitem.hxx,svl/srchitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/stritem.hxx,svl/stritem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/strmadpt.hxx,svl/strmadpt.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/style.hrc,svl/style.hrc))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/style.hxx,svl/style.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/stylepool.hxx,svl/stylepool.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/svarray.hxx,svl/svarray.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/svdde.hxx,svl/svdde.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/svl.hrc,svl/svl.hrc))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/svldata.hxx,svl/svldata.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/svldllapi.h,svl/svldllapi.h))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/svstdarr.hxx,svl/svstdarr.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/szitem.hxx,svl/szitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/undo.hxx,svl/undo.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/urihelper.hxx,svl/urihelper.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/urlbmk.hxx,svl/urlbmk.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/urlfilter.hxx,svl/urlfilter.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/visitem.hxx,svl/visitem.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/whiter.hxx,svl/whiter.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/xmlement.hxx,svl/xmlement.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/zforlist.hxx,svl/zforlist.hxx))
+$(eval $(call gb_Package_add_file,svl_inc,inc/svl/zformat.hxx,svl/zformat.hxx))
diff --git a/svl/inc/PasswordHelper.hxx b/svl/inc/svl/PasswordHelper.hxx
index da9bc5da99ea..da9bc5da99ea 100644
--- a/svl/inc/PasswordHelper.hxx
+++ b/svl/inc/svl/PasswordHelper.hxx
diff --git a/svl/inc/adrparse.hxx b/svl/inc/svl/adrparse.hxx
index f2a85b9cacd5..f2a85b9cacd5 100644
--- a/svl/inc/adrparse.hxx
+++ b/svl/inc/svl/adrparse.hxx
diff --git a/svl/inc/broadcast.hxx b/svl/inc/svl/broadcast.hxx
index 758906877bc1..758906877bc1 100644
--- a/svl/inc/broadcast.hxx
+++ b/svl/inc/svl/broadcast.hxx
diff --git a/svl/inc/svl/cancel.hxx b/svl/inc/svl/cancel.hxx
deleted file mode 100644
index 192db6102ee8..000000000000
--- a/svl/inc/svl/cancel.hxx
+++ /dev/null
@@ -1,142 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _SFXCANCEL_HXX
-#define _SFXCANCEL_HXX
-
-#include "svl/svldllapi.h"
-#include <tools/string.hxx>
-#include <tools/ref.hxx>
-#include <svl/brdcst.hxx>
-#include <svl/smplhint.hxx>
-
-class SfxCancellable;
-
-#ifdef _SFX_CANCEL_CXX
-#include <svl/svarray.hxx>
-
-SV_DECL_PTRARR( SfxCancellables_Impl, SfxCancellable*, 0, 4 )
-
-#else
-
-typedef SvPtrarr SfxCancellables_Impl;
-
-#endif
-
-//-------------------------------------------------------------------------
-
-class SVL_DLLPUBLIC SfxCancelManager: public SfxBroadcaster
-, public SvWeakBase
-
-/* [Beschreibung]
-
- An Instanzen dieser Klasse k"onnen nebenl"aufige Prozesse angemeldet
- werden, um vom Benutzer abbrechbar zu sein. Werden abbrechbare
- Prozesse (Instanzen von <SfxCancellable>) an- oder abgemeldet, wird
- dies durch einen <SfxSimpleHint> mit dem Flag SFX_HINT_CANCELLABLE
- gebroadcastet.
-
- SfxCancelManager k"onnen hierarchisch angeordnet werden, so k"onnen
- z.B. Dokument-lokale Prozesse getrennt gecancelt werden.
-
- [Beispiel]
-
- SfxCancelManager *pMgr = new SfxCancelManager;
- StartListening( pMgr );
- pMailSystem->SetCancelManager( pMgr )
-*/
-
-{
- SfxCancelManager* _pParent;
- SfxCancellables_Impl _aJobs;
-
-public:
- SfxCancelManager( SfxCancelManager *pParent = 0 );
- ~SfxCancelManager();
-
- sal_Bool CanCancel() const;
- void Cancel( sal_Bool bDeep );
- SfxCancelManager* GetParent() const { return _pParent; }
-
- void InsertCancellable( SfxCancellable *pJob );
- void RemoveCancellable( SfxCancellable *pJob );
- sal_uInt16 GetCancellableCount() const
- { return _aJobs.Count(); }
- SfxCancellable* GetCancellable( sal_uInt16 nPos ) const
- { return (SfxCancellable*) _aJobs[nPos]; }
-};
-
-SV_DECL_WEAK( SfxCancelManager )
-//-------------------------------------------------------------------------
-
-class SVL_DLLPUBLIC SfxCancellable
-
-/* [Beschreibung]
-
- Instanzen dieser Klasse werden immer an einem Cancel-Manager angemeldet,
- der dadurch dem Benutzer signalisieren kann, ob abbrechbare Prozesse
- vorhanden sind und der die SfxCancellable-Instanzen auf 'abgebrochen'
- setzen kann.
-
- Die im Ctor "ubergebene <SfxCancelManger>-Instanz mu\s die Instanz
- dieser Klasse "uberleben!
-
- [Beispiel]
-
- {
- SfxCancellable aCancel( pCancelMgr );
- while ( !aCancel && GetData() )
- Reschedule();
- }
-
-*/
-
-{
- SfxCancelManager* _pMgr;
- sal_Bool _bCancelled;
- String _aTitle;
-
-public:
- SfxCancellable( SfxCancelManager *pMgr,
- const String &rTitle )
- : _pMgr( pMgr ),
- _bCancelled( sal_False ),
- _aTitle( rTitle )
- { pMgr->InsertCancellable( this ); }
-
- virtual ~SfxCancellable();
-
- void SetManager( SfxCancelManager *pMgr );
- SfxCancelManager* GetManager() const { return _pMgr; }
-
- virtual void Cancel();
- sal_Bool IsCancelled() const { return _bCancelled; }
- operator sal_Bool() const { return _bCancelled; }
- const String& GetTitle() const { return _aTitle; }
-};
-
-#endif
-
diff --git a/svl/inc/svl/cnclhint.hxx b/svl/inc/svl/cnclhint.hxx
deleted file mode 100644
index 864e9f367aa2..000000000000
--- a/svl/inc/svl/cnclhint.hxx
+++ /dev/null
@@ -1,48 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _SFXCNCLHINT_HXX
-#define _SFXCNCLHINT_HXX
-
-#include <svl/hint.hxx>
-#include <svl/cancel.hxx>
-#include <tools/rtti.hxx>
-
-#define SFXCANCELHINT_REMOVED 1
-
-class SfxCancelHint: public SfxHint
-{
-private:
- SfxCancellable* pCancellable;
- sal_uInt16 nAction;
-public:
- TYPEINFO();
- SfxCancelHint( SfxCancellable*, sal_uInt16 nAction );
- sal_uInt16 GetAction() const { return nAction; }
- const SfxCancellable& GetCancellable() const { return *pCancellable; }
-};
-
-#endif
diff --git a/svl/inc/cntnrsrt.hxx b/svl/inc/svl/cntnrsrt.hxx
index f7c114274981..f7c114274981 100644
--- a/svl/inc/cntnrsrt.hxx
+++ b/svl/inc/svl/cntnrsrt.hxx
diff --git a/svl/inc/cntwids.hrc b/svl/inc/svl/cntwids.hrc
index 01a965c38652..01a965c38652 100644
--- a/svl/inc/cntwids.hrc
+++ b/svl/inc/svl/cntwids.hrc
diff --git a/svl/inc/converter.hxx b/svl/inc/svl/converter.hxx
index c208a370bceb..c208a370bceb 100644
--- a/svl/inc/converter.hxx
+++ b/svl/inc/svl/converter.hxx
diff --git a/svl/inc/filenotation.hxx b/svl/inc/svl/filenotation.hxx
index 65f28659e056..65f28659e056 100644
--- a/svl/inc/filenotation.hxx
+++ b/svl/inc/svl/filenotation.hxx
diff --git a/svl/inc/folderrestriction.hxx b/svl/inc/svl/folderrestriction.hxx
index 66a99a4d49d1..66a99a4d49d1 100644
--- a/svl/inc/folderrestriction.hxx
+++ b/svl/inc/svl/folderrestriction.hxx
diff --git a/svl/inc/fstathelper.hxx b/svl/inc/svl/fstathelper.hxx
index 17fa62c5bbeb..17fa62c5bbeb 100644
--- a/svl/inc/fstathelper.hxx
+++ b/svl/inc/svl/fstathelper.hxx
diff --git a/svl/inc/inetdef.hxx b/svl/inc/svl/inetdef.hxx
index 533530838700..533530838700 100644
--- a/svl/inc/inetdef.hxx
+++ b/svl/inc/svl/inetdef.hxx
diff --git a/svl/inc/inetmsg.hxx b/svl/inc/svl/inetmsg.hxx
index bcfc4ad714ad..bcfc4ad714ad 100644
--- a/svl/inc/inetmsg.hxx
+++ b/svl/inc/svl/inetmsg.hxx
diff --git a/svl/inc/inetstrm.hxx b/svl/inc/svl/inetstrm.hxx
index efb6c35a1b68..efb6c35a1b68 100644
--- a/svl/inc/inetstrm.hxx
+++ b/svl/inc/svl/inetstrm.hxx
diff --git a/svl/inc/instrm.hxx b/svl/inc/svl/instrm.hxx
index f27375baff25..f27375baff25 100644
--- a/svl/inc/instrm.hxx
+++ b/svl/inc/svl/instrm.hxx
diff --git a/svl/inc/listener.hxx b/svl/inc/svl/listener.hxx
index e3bdea45169e..e3bdea45169e 100644
--- a/svl/inc/listener.hxx
+++ b/svl/inc/svl/listener.hxx
diff --git a/svl/inc/listeneriter.hxx b/svl/inc/svl/listeneriter.hxx
index 3bfb6380acaa..3bfb6380acaa 100644
--- a/svl/inc/listeneriter.hxx
+++ b/svl/inc/svl/listeneriter.hxx
diff --git a/svl/inc/lngmisc.hxx b/svl/inc/svl/lngmisc.hxx
index 9dbe2d4740d0..9dbe2d4740d0 100644
--- a/svl/inc/lngmisc.hxx
+++ b/svl/inc/svl/lngmisc.hxx
diff --git a/svl/inc/nfsymbol.hxx b/svl/inc/svl/nfsymbol.hxx
index 8886f0e47f85..8886f0e47f85 100644
--- a/svl/inc/nfsymbol.hxx
+++ b/svl/inc/svl/nfsymbol.hxx
diff --git a/svl/inc/numuno.hxx b/svl/inc/svl/numuno.hxx
index 425cff60763d..425cff60763d 100644
--- a/svl/inc/numuno.hxx
+++ b/svl/inc/svl/numuno.hxx
diff --git a/svl/inc/outstrm.hxx b/svl/inc/svl/outstrm.hxx
index 8846bd84e5df..8846bd84e5df 100644
--- a/svl/inc/outstrm.hxx
+++ b/svl/inc/svl/outstrm.hxx
diff --git a/tools/win/inc/parser.hxx b/svl/inc/svl/pickerhelper.hxx
index 08b0d7968d54..307031b578d1 100644
--- a/tools/win/inc/parser.hxx
+++ b/svl/inc/svl/pickerhelper.hxx
@@ -24,25 +24,46 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _PARSER_HXX
-#define _PARSER_HXX
-#if defined WNT
+#ifndef _PICKERHELPER_HXX
+#define _PICKERHELPER_HXX
-#include <tools/string.hxx>
-#include <winshell.hxx>
+#include "svl/svldllapi.h"
+#include "sal/types.h"
+#include "com/sun/star/uno/Reference.hxx"
-void * NewBinaryFromString( const String & rBinStr );
-String CreateStringFromData( const void *pData, ULONG nBytes );
+namespace com
+{
+ namespace sun
+ {
+ namespace star
+ {
+ namespace ui
+ {
+ namespace dialogs
+ {
+ class XFilePicker;
+ class XFolderPicker;
+ }
+ }
+ }
+ }
+}
-String CreateStringFromItemIDList( const CItemIDList & rIDList );
-String GetURLFromHostNotation( const String & rPath );
-String GetHostNotationFromURL( const String & rURL );
+namespace svt
+{
-CItemIDList MakeIDToken( const String &rToken );
-CItemIDList ParseSpecialURL( const String & rURL );
+ SVL_DLLPUBLIC void SetDialogHelpId(
+ ::com::sun::star::uno::Reference < ::com::sun::star::ui::dialogs::XFilePicker > _mxFileDlg,
+ sal_Int32 _nHelpId );
-#endif
+ SVL_DLLPUBLIC void SetDialogHelpId(
+ ::com::sun::star::uno::Reference < ::com::sun::star::ui::dialogs::XFolderPicker > _mxFileDlg,
+ sal_Int32 _nHelpId );
+
+}
-#endif // _PARSER_HXX
+//-----------------------------------------------------------------------------
+
+#endif
diff --git a/svl/inc/pickerhistory.hxx b/svl/inc/svl/pickerhistory.hxx
index af282e72513d..af282e72513d 100644
--- a/svl/inc/pickerhistory.hxx
+++ b/svl/inc/svl/pickerhistory.hxx
diff --git a/svl/inc/pickerhistoryaccess.hxx b/svl/inc/svl/pickerhistoryaccess.hxx
index 1a4e8ced8381..1a4e8ced8381 100644
--- a/svl/inc/pickerhistoryaccess.hxx
+++ b/svl/inc/svl/pickerhistoryaccess.hxx
diff --git a/svl/inc/poolcach.hxx b/svl/inc/svl/poolcach.hxx
index 182c9739f0cf..182c9739f0cf 100644
--- a/svl/inc/poolcach.hxx
+++ b/svl/inc/svl/poolcach.hxx
diff --git a/svl/inc/strmadpt.hxx b/svl/inc/svl/strmadpt.hxx
index 0d2779504daf..0d2779504daf 100644
--- a/svl/inc/strmadpt.hxx
+++ b/svl/inc/svl/strmadpt.hxx
diff --git a/svl/inc/stylepool.hxx b/svl/inc/svl/stylepool.hxx
index b820c9442229..b820c9442229 100644
--- a/svl/inc/stylepool.hxx
+++ b/svl/inc/svl/stylepool.hxx
diff --git a/svl/inc/urihelper.hxx b/svl/inc/svl/urihelper.hxx
index ab2ae5878cc2..ab2ae5878cc2 100644
--- a/svl/inc/urihelper.hxx
+++ b/svl/inc/svl/urihelper.hxx
diff --git a/svl/inc/urlbmk.hxx b/svl/inc/svl/urlbmk.hxx
index 9a37184c8ec1..9a37184c8ec1 100644
--- a/svl/inc/urlbmk.hxx
+++ b/svl/inc/svl/urlbmk.hxx
diff --git a/svl/inc/whiter.hxx b/svl/inc/svl/whiter.hxx
index eb9bb7d7e732..eb9bb7d7e732 100644
--- a/svl/inc/whiter.hxx
+++ b/svl/inc/svl/whiter.hxx
diff --git a/svl/inc/xmlement.hxx b/svl/inc/svl/xmlement.hxx
index d2680fbbf404..d2680fbbf404 100644
--- a/svl/inc/xmlement.hxx
+++ b/svl/inc/svl/xmlement.hxx
diff --git a/svl/prj/build.lst b/svl/prj/build.lst
index d5897d9e9883..b48df3a6824a 100644
--- a/svl/prj/build.lst
+++ b/svl/prj/build.lst
@@ -1,26 +1,3 @@
-sl svl : l10n rsc offuh ucbhelper unotools cppu cppuhelper comphelper sal sot NULL
+sl svl : l10n rsc offuh ucbhelper unotools cppu cppuhelper comphelper sal sot LIBXSLT:libxslt NULL
sl svl usr1 - all svl_mkout NULL
-sl svl\inc nmake - all svl_inc NULL
-sl svl\unx\source\svdde nmake - u svl_usdde svl_inc NULL
-sl svl\unx\source\svdde nmake - p svl_psdde svl_inc NULL
-sl svl\source\config nmake - all svl_conf svl_inc NULL
-sl svl\source\filepicker nmake - all svl_filepick svl_inc NULL
-sl svl\source\filerec nmake - all svl_file svl_inc NULL
-sl svl\source\items nmake - all svl__item svl_inc NULL
-sl svl\source\memtools nmake - all svl_mem svl_inc NULL
-sl svl\source\misc nmake - all svl__misc svl_inc NULL
-sl svl\source\notify nmake - all svl_not svl_inc NULL
-sl svl\source\numbers nmake - all svl_num svl_inc NULL
-sl svl\source\svdde nmake - all svl__dde svl_inc NULL
-sl svl\source\svsql nmake - all svl_sql svl_inc NULL
-sl svl\source\undo nmake - all svl_undo svl_inc NULL
-sl svl\source\uno nmake - all svl_uno svl_inc NULL
-sl svl\util nmake - all svl_util svl_usdde.u svl_psdde.p svl_conf svl_filepick svl_file svl__item svl_mem svl__misc svl_not svl_num svl__dde svl_sql svl_undo svl_uno NULL
-sl svl\source\fsstor nmake - all svl_fsstor svl_inc NULL
-sl svl\source\passwordcontainer nmake - all svl_passcont svl_inc NULL
-
-# complex test for ConfigItems are marked as defect
-# sl svl\qa\complex\ConfigItems\helper nmake - all svl_qa_complex_help svl_util svl_passcont NULL
-# sl svl\qa\complex\ConfigItems nmake - all svl_qa_complex svl_qa_complex_help svl_util svl_passcont NULL
-sl svl\qa\complex\passwordcontainer nmake - all svl_qa_complex svl_util svl_passcont NULL
-
+sl svl\prj nmake - all svl_prj NULL
diff --git a/svl/prj/d.lst b/svl/prj/d.lst
index d79346c16087..e69de29bb2d1 100644
--- a/svl/prj/d.lst
+++ b/svl/prj/d.lst
@@ -1,25 +0,0 @@
-mkdir: %COMMON_DEST%\bin%_EXT%\hid
-mkdir: %COMMON_DEST%\res%_EXT%
-mkdir: %_DEST%\inc%_EXT%\svl
-
-..\%COMMON_OUTDIR%\misc\*.hid %COMMON_DEST%\bin%_EXT%\hid\*.hid
-..\%__SRC%\lib\isvl.lib %_DEST%\lib%_EXT%\isvl.lib
-..\%__SRC%\bin\*.dll %_DEST%\bin%_EXT%\*
-..\%__SRC%\bin\*.res %_DEST%\bin%_EXT%\*
-..\%__SRC%\lib\*.so %_DEST%\lib%_EXT%\*
-..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*
-
-..\inc\svl\*.hrc %_DEST%\inc%_EXT%\svl\*.hrc
-..\inc\svl\*.hxx %_DEST%\inc%_EXT%\svl\*.hxx
-..\inc\svl\*.h %_DEST%\inc%_EXT%\svl\*.h
-..\inc\*.hrc %_DEST%\inc%_EXT%\svl\*.hrc
-..\inc\*.hxx %_DEST%\inc%_EXT%\svl\*.hxx
-..\inc\*.h %_DEST%\inc%_EXT%\svl\*.h
-
-dos: sh -c "if test %OS% = MACOSX; then macosx-create-bundle %_DEST%\bin%_EXT%\bmp=%__PRJROOT%\%__SRC%\bin%_EXT%; fi"
-
-*.xml %_DEST%\xml%_EXT%\*.xml
-
-..\%__SRC%\misc\fsstorage.component %_DEST%\xml%_EXT%\fsstorage.component
-..\%__SRC%\misc\passwordcontainer.component %_DEST%\xml%_EXT%\passwordcontainer.component
-..\%__SRC%\misc\svl.component %_DEST%\xml%_EXT%\svl.component
diff --git a/tools/source/inet/makefile.mk b/svl/prj/makefile.mk
index 1e0bdfdd2391..c73a3d944bbf 100644
--- a/tools/source/inet/makefile.mk
+++ b/svl/prj/makefile.mk
@@ -25,21 +25,16 @@
#
#*************************************************************************
-PRJ = ..$/..
-PRJNAME = tools
-TARGET = inet
+PRJ=..
+TARGET=prj
-.INCLUDE: settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
+.INCLUDE : settings.mk
-SLOFILES=\
- $(SLO)$/inetmime.obj \
- $(SLO)$/inetmsg.obj \
- $(SLO)$/inetstrm.obj
+.IF "$(VERBOSE)"!=""
+VERBOSEFLAG :=
+.ELSE
+VERBOSEFLAG := -s
+.ENDIF
-OBJFILES=\
- $(OBJ)$/inetmime.obj \
- $(OBJ)$/inetmsg.obj \
- $(OBJ)$/inetstrm.obj
-
-.INCLUDE: target.mk
+all:
+ cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET)
diff --git a/svl/qa/complex/ConfigItems/helper/makefile.mk b/svl/qa/complex/ConfigItems/helper/makefile.mk
deleted file mode 100644
index 95f2e456fab3..000000000000
--- a/svl/qa/complex/ConfigItems/helper/makefile.mk
+++ /dev/null
@@ -1,74 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=../../../..
-
-PRJNAME= svl
-TARGET= ConfigItemTest
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-NO_BSYMBOLIC= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-INCPOST += $(PRJ)/source/inc
-
-# --- light services library ----------------------------------------------------
-
-SHL1TARGET= svt_$(TARGET)
-
-SHL1OBJS= \
- $(SLO)/UserOptTest.obj \
- $(SLO)/HistoryOptTest.obj \
- $(SLO)/ConfigItemTest.obj
-
-# $(SLO)/PrintOptTest.obj
-# $(SLO)/AccessibilityOptTest.obj
-
-SHL1STDLIBS= \
- $(SVLIB) \
- $(SVLLIB) \
- $(UNOTOOLSLIB) \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-#SHL1DEPN= $(SHL1IMPLIBN) $(SHL1TARGETN)
-
-DEF1NAME= $(SHL1TARGET)
-
-SHL1VERSIONMAP= $(SOLARENV)/src/component.map
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svl/qa/complex/passwordcontainer/makefile.mk b/svl/qa/complex/passwordcontainer/makefile.mk
deleted file mode 100644
index 625404682761..000000000000
--- a/svl/qa/complex/passwordcontainer/makefile.mk
+++ /dev/null
@@ -1,134 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../../..
-PRJNAME = svl
-TARGET = qa_complex_passwordcontainer
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/passwordcontainer
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- PasswordContainerUnitTest.java
-
-
-# put here all other files
-JAVAFILES = $(JAVATESTFILES) \
- PasswordContainerTest.java\
- Test01.java\
- Test02.java\
- Test03.java\
- TestHelper.java\
- MasterPasswdHandler.java
-
-
-JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
-EXTRAJARFILES = $(OOO_JUNIT_JAR)
-
-# Sample how to debug
-# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-
-.END
-
-.INCLUDE: settings.mk
-.INCLUDE: target.mk
-.INCLUDE: installationtest.mk
-
-ALLTAR : javatest
-
-.END
-
-
-#
-#
-#
-#
-# PRJ = ..$/..$/..
-# TARGET = PasswordContainerUnitTest
-# PRJNAME=svl
-# PACKAGE = complex$/passwordcontainer
-#
-# # --- Settings -----------------------------------------------------
-# .INCLUDE: settings.mk
-#
-#
-# #----- compile .java files -----------------------------------------
-#
-# JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-#
-# JAVAFILES =\
-# PasswordContainerUnitTest.java\
-# PasswordContainerTest.java\
-# TestHelper.java\
-# Test01.java\
-# Test02.java\
-# Test03.java\
-# MasterPasswdHandler.java
-#
-# JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-#
-# #----- make a jar from compiled files ------------------------------
-#
-# MAXLINELENGTH = 100000
-#
-# JARCLASSDIRS = $(PACKAGE)
-# JARTARGET = $(TARGET).jar
-# JARCOMPRESS = TRUE
-#
-# # --- Parameters for the test --------------------------------------
-#
-# # start an office if the parameter is set for the makefile
-# .IF "$(OFFICE)" == ""
-# CT_APPEXECCOMMAND =
-# .ELSE
-# CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;"
-# .ENDIF
-#
-# # test base is java complex
-# CT_TESTBASE = -TestBase java_complex
-#
-# # test looks something like the.full.package.TestName
-# CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
-#
-# # start the runner application
-# CT_APP = org.openoffice.Runner
-#
-# # --- Targets ------------------------------------------------------
-#
-# .INCLUDE: target.mk
-#
-# RUN: run
-#
-# run:
-# +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST)
-#
-#
diff --git a/svl/qa/makefile.mk b/svl/qa/makefile.mk
deleted file mode 100644
index 7e8c7ee795cc..000000000000
--- a/svl/qa/makefile.mk
+++ /dev/null
@@ -1,101 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ = ..
-PRJNAME=svl
-TARGET = qa
-
-ENABLE_EXCEPTIONS = true
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-CFLAGSCXX += $(CPPUNIT_CFLAGS)
-
-# BEGIN ----------------------------------------------------------------
-# auto generated Target:job by codegen.pl
-SHL1OBJS= \
- $(SLO)$/test_URIHelper.obj
-
-SHL1TARGET= URIHelper
-SHL1STDLIBS=\
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB) \
- $(SVLLIB) \
- $(TOOLSLIB) \
- $(UNOTOOLSLIB) \
- $(TESTSHL2LIB) \
- $(CPPUNITLIB)
-
-SHL1IMPLIB= i$(SHL1TARGET)
-DEF1NAME =$(SHL1TARGET)
-SHL1VERSIONMAP= export.map
-# auto generated Target:job
-# END ------------------------------------------------------------------
-
-#------------------------------- All object files -------------------------------
-# do this here, so we get right dependencies
-# SLOFILES=$(SHL1OBJS)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-.INCLUDE : _cppunit.mk
-
-# LLA: old stuff
-# USE_DEFFILE = true
-#
-# .INCLUDE: settings.mk
-#
-# .IF "$(OS)" == "WNT"
-# REGEXP = "s/^[\#].*$$//"
-# .ELSE # OS, WNT
-# REGEXP = 's/^[\#].*$$//'
-# .ENDIF # OS, WNT
-#
-# SHL1TARGET = URIHelper
-# SHL1OBJS = \
-# $(SLO)$/test_URIHelper.obj
-# SHL1STDLIBS = \
-# $(CPPULIB) \
-# $(CPPUHELPERLIB) \
-# $(SALLIB) \
-# $(SVTOOLLIB) \
-# $(TOOLSLIB) \
-# $(UNOTOOLSLIB)
-#
-# DEF1NAME = $(SHL1TARGET)
-# DEF1EXPORTFILE = $(MISC)$/$(SHL1TARGET).dxp
-#
-# .INCLUDE: target.mk
-#
-# $(MISC)$/$(SHL1TARGET).dxp: sce$/$(SHL1TARGET).sce
-# + $(TYPE) $< | sed $(REGEXP) > $@
-# + $(TYPE) $@ | sed "s/^/test_/" > $(MISC)$/$(SHL1TARGET).tst
-# + $(TYPE) $(MISC)$/$(SHL1TARGET).tst | sed "/test_./ w $@"
diff --git a/svl/source/filepicker/pickerhistory.cxx b/svl/source/filepicker/pickerhistory.cxx
index 4c372c48163d..27a217f1688c 100644
--- a/svl/source/filepicker/pickerhistory.cxx
+++ b/svl/source/filepicker/pickerhistory.cxx
@@ -27,8 +27,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
-#include "pickerhistory.hxx"
-#include "pickerhistoryaccess.hxx"
+#include <svl/pickerhistory.hxx>
+#include <svl/pickerhistoryaccess.hxx>
#include <cppuhelper/weakref.hxx>
#include <vector>
diff --git a/svl/source/fsstor/makefile.mk b/svl/source/fsstor/makefile.mk
deleted file mode 100644
index 1dd5d2307037..000000000000
--- a/svl/source/fsstor/makefile.mk
+++ /dev/null
@@ -1,74 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-PRJNAME=svl
-TARGET=fsstorage.uno
-LIBTARGET=NO
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings ----------------------------------
-
-.INCLUDE : settings.mk
-DLLPRE=
-
-# --- Files -------------------------------------
-
-SLOFILES=\
- $(SLO)$/fsfactory.obj \
- $(SLO)$/fsstorage.obj \
- $(SLO)$/oinputstreamcontainer.obj \
- $(SLO)$/ostreamcontainer.obj
-
-SHL1TARGET= $(TARGET)
-SHL1IMPLIB= i$(TARGET)
-SHL1OBJS= $(SLOFILES)
-SHL1STDLIBS=\
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(COMPHELPERLIB) \
- $(UCBHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-
-SHL1VERSIONMAP=$(SOLARENV)/src/component.map
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-DEF1NAME= $(SHL1TARGET)
-
-# --- Targets ----------------------------------
-
-.INCLUDE : target.mk
-
-
-ALLTAR : $(MISC)/fsstorage.component
-
-$(MISC)/fsstorage.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- fsstorage.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt fsstorage.component
diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx
index ce50cbbe84a3..69efd2e7aa2c 100644
--- a/svl/source/items/itemset.cxx
+++ b/svl/source/items/itemset.cxx
@@ -34,9 +34,6 @@
#include <cstdarg>
#endif
-#ifndef GCC
-#endif
-
#define _SVSTDARR_USHORTS
#define _SVSTDARR_ULONGS
@@ -44,7 +41,7 @@
#include <svl/itemset.hxx>
#include <svl/itempool.hxx>
#include <svl/itemiter.hxx>
-#include "whiter.hxx"
+#include <svl/whiter.hxx>
#include <svl/nranges.hxx>
#include "whassert.hxx"
diff --git a/svl/source/items/makefile.mk b/svl/source/items/makefile.mk
deleted file mode 100644
index da602391239a..000000000000
--- a/svl/source/items/makefile.mk
+++ /dev/null
@@ -1,84 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-PRJNAME=svl
-TARGET=items
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES=\
- $(SLO)$/aeitem.obj \
- $(SLO)$/cenumitm.obj \
- $(SLO)$/cintitem.obj \
- $(SLO)$/cntwall.obj \
- $(SLO)$/ctypeitm.obj \
- $(SLO)$/custritm.obj \
- $(SLO)$/dateitem.obj \
- $(SLO)$/eitem.obj \
- $(SLO)$/flagitem.obj \
- $(SLO)$/globalnameitem.obj \
- $(SLO)$/ilstitem.obj \
- $(SLO)$/imageitm.obj \
- $(SLO)$/intitem.obj \
- $(SLO)$/itemiter.obj \
- $(SLO)$/itempool.obj \
- $(SLO)$/itemprop.obj \
- $(SLO)$/itemset.obj \
- $(SLO)$/lckbitem.obj \
- $(SLO)$/macitem.obj \
- $(SLO)$/poolcach.obj \
- $(SLO)$/poolio.obj \
- $(SLO)$/poolitem.obj \
- $(SLO)$/ptitem.obj \
- $(SLO)$/rectitem.obj \
- $(SLO)$/rngitem.obj \
- $(SLO)$/sfontitm.obj \
- $(SLO)$/sitem.obj \
- $(SLO)$/slstitm.obj \
- $(SLO)$/srchitem.obj \
- $(SLO)$/stritem.obj \
- $(SLO)$/style.obj \
- $(SLO)$/stylepool.obj \
- $(SLO)$/szitem.obj \
- $(SLO)$/visitem.obj \
- $(SLO)$/whiter.obj
-
-SRS1NAME=$(TARGET)
-SRC1FILES=\
- cstitem.src
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svl/source/items/poolcach.cxx b/svl/source/items/poolcach.cxx
index f07c19788764..6e13a3b77485 100644
--- a/svl/source/items/poolcach.cxx
+++ b/svl/source/items/poolcach.cxx
@@ -35,7 +35,7 @@
#include <svl/itempool.hxx>
#include <svl/itemset.hxx>
-#include "poolcach.hxx"
+#include <svl/poolcach.hxx>
// STATIC DATA -----------------------------------------------------------
diff --git a/svl/source/items/poolio.cxx b/svl/source/items/poolio.cxx
index 054eb984d2fd..6982764af432 100644
--- a/svl/source/items/poolio.cxx
+++ b/svl/source/items/poolio.cxx
@@ -241,7 +241,7 @@ SvStream &SfxItemPool::Store(SvStream &rStream) const
const SfxPoolItem *pItem = (*pArr)->operator[](j);
if ( pItem && pItem->GetRefCount() ) //! siehe anderes MI-REF
{
- aItemsRec.NewContent(j, 'X' );
+ aItemsRec.NewContent((USHORT)j, 'X' );
if ( pItem->GetRefCount() == SFX_ITEMS_SPECIAL )
rStream << (sal_uInt16) pItem->GetKind();
diff --git a/svl/source/items/stylepool.cxx b/svl/source/items/stylepool.cxx
index c61faa93bd34..8ad8346af075 100644
--- a/svl/source/items/stylepool.cxx
+++ b/svl/source/items/stylepool.cxx
@@ -34,7 +34,7 @@
#include <vector>
#include <map>
-#include "stylepool.hxx"
+#include <svl/stylepool.hxx>
#include <svl/itemiter.hxx>
#include <svl/itempool.hxx>
diff --git a/svl/source/items/whiter.cxx b/svl/source/items/whiter.cxx
index fe4a47b1dbaf..17e0e18115bb 100644
--- a/svl/source/items/whiter.cxx
+++ b/svl/source/items/whiter.cxx
@@ -28,10 +28,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
// INCLUDE ---------------------------------------------------------------
-#ifndef GCC
-#endif
-#include "whiter.hxx"
+#include <svl/whiter.hxx>
#include <svl/itemset.hxx>
DBG_NAME(SfxWhichIter)
diff --git a/svl/source/misc/PasswordHelper.cxx b/svl/source/misc/PasswordHelper.cxx
index 05e9e8a65897..73e1c6c050a0 100644
--- a/svl/source/misc/PasswordHelper.cxx
+++ b/svl/source/misc/PasswordHelper.cxx
@@ -28,10 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
-
-#ifndef GCC
-#endif
-#include "PasswordHelper.hxx"
+#include <svl/PasswordHelper.hxx>
#include <rtl/digest.h>
#include <tools/string.hxx>
diff --git a/svl/source/misc/adrparse.cxx b/svl/source/misc/adrparse.cxx
index b6dfec5cbb63..f0faa8ca0504 100644
--- a/svl/source/misc/adrparse.cxx
+++ b/svl/source/misc/adrparse.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
#include <tools/inetmime.hxx>
-#include <adrparse.hxx>
+#include <svl/adrparse.hxx>
namespace unnamed_svl_adrparse {}
using namespace unnamed_svl_adrparse;
diff --git a/svl/source/misc/filenotation.cxx b/svl/source/misc/filenotation.cxx
index abec6bb310fc..61c98bf5a851 100644
--- a/svl/source/misc/filenotation.cxx
+++ b/svl/source/misc/filenotation.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
-#include "filenotation.hxx"
+#include <svl/filenotation.hxx>
#include <osl/file.h>
#include <osl/diagnose.h>
#include <tools/urlobj.hxx>
diff --git a/svl/source/misc/folderrestriction.cxx b/svl/source/misc/folderrestriction.cxx
index f7eef328de7d..412ef60e5627 100644
--- a/svl/source/misc/folderrestriction.cxx
+++ b/svl/source/misc/folderrestriction.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
-#include "folderrestriction.hxx"
+#include <svl/folderrestriction.hxx>
#include "osl/process.h"
#include "tools/urlobj.hxx"
#include "unotools/localfilehelper.hxx"
diff --git a/svl/source/misc/fstathelper.cxx b/svl/source/misc/fstathelper.cxx
index c373e035fe05..b90df8fb6f7e 100644
--- a/svl/source/misc/fstathelper.cxx
+++ b/svl/source/misc/fstathelper.cxx
@@ -32,8 +32,7 @@
#include <tools/string.hxx>
#include <ucbhelper/content.hxx>
#include <com/sun/star/util/DateTime.hpp>
-
-#include <fstathelper.hxx>
+#include <svl/fstathelper.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
diff --git a/svl/source/misc/lngmisc.cxx b/svl/source/misc/lngmisc.cxx
index de53c0d2f63f..aba411079074 100644
--- a/svl/source/misc/lngmisc.cxx
+++ b/svl/source/misc/lngmisc.cxx
@@ -27,15 +27,13 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
-
-#include <lngmisc.hxx>
+#include <svl/lngmisc.hxx>
#include <tools/solar.h>
#include <tools/string.hxx>
#include <tools/debug.hxx>
#include <rtl/ustrbuf.hxx>
#include <rtl/ustring.hxx>
-
using namespace rtl;
namespace linguistic
diff --git a/svl/source/misc/makefile.mk b/svl/source/misc/makefile.mk
deleted file mode 100644
index a68cb396f22c..000000000000
--- a/svl/source/misc/makefile.mk
+++ /dev/null
@@ -1,70 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-PRJNAME=svl
-TARGET=misc
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
-
-# --- Files --------------------------------------------------------
-
-EXCEPTIONSFILES=\
- $(SLO)$/documentlockfile.obj \
- $(SLO)$/folderrestriction.obj \
- $(SLO)$/fstathelper.obj \
- $(SLO)$/lockfilecommon.obj \
- $(SLO)$/ownlist.obj \
- $(SLO)$/restrictedpaths.obj \
- $(SLO)$/sharecontrolfile.obj \
- $(SLO)$/strmadpt.obj \
- $(SLO)$/svldata.obj \
- $(SLO)$/urihelper.obj
-
-SLOFILES=\
- $(EXCEPTIONSFILES) \
- $(SLO)$/adrparse.obj \
- $(SLO)$/filenotation.obj \
- $(SLO)$/inethist.obj \
- $(SLO)$/inettype.obj \
- $(SLO)$/lngmisc.obj \
- $(SLO)$/PasswordHelper.obj
-
-SRS1NAME=$(TARGET)
-SRC1FILES=\
- mediatyp.src
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-
-
-
diff --git a/svl/source/misc/strmadpt.cxx b/svl/source/misc/strmadpt.cxx
index 24ed126cde25..e726601f837d 100644
--- a/svl/source/misc/strmadpt.cxx
+++ b/svl/source/misc/strmadpt.cxx
@@ -35,9 +35,9 @@
#include <set>
#include <rtl/alloc.h>
#include <rtl/memory.h>
-#include <instrm.hxx>
-#include <outstrm.hxx>
-#include <strmadpt.hxx>
+#include <svl/instrm.hxx>
+#include <svl/outstrm.hxx>
+#include <svl/strmadpt.hxx>
using namespace com::sun::star;
diff --git a/svl/source/misc/svldata.cxx b/svl/source/misc/svldata.cxx
index 35c9fca3aef2..f4eae26d2276 100644
--- a/svl/source/misc/svldata.cxx
+++ b/svl/source/misc/svldata.cxx
@@ -75,7 +75,7 @@ SimpleResMgr* ImpSvlData::GetSimpleRM(const ::com::sun::star::lang::Locale& rLoc
= (*static_cast< SimpleResMgrMap * >(m_pThreadsafeRMs))[aISOcode];
if (!rResMgr)
{
- rResMgr = new SimpleResMgr(CREATEVERSIONRESMGR_NAME(svs), rLocale );
+ rResMgr = new SimpleResMgr(CREATEVERSIONRESMGR_NAME(svl), rLocale );
}
return rResMgr;
}
diff --git a/svl/source/misc/urihelper.cxx b/svl/source/misc/urihelper.cxx
index 46063564193d..656000fceae3 100644
--- a/svl/source/misc/urihelper.cxx
+++ b/svl/source/misc/urihelper.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
-#include <urihelper.hxx>
+#include <svl/urihelper.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
#include "com/sun/star/lang/WrappedTargetRuntimeException.hpp"
#include "com/sun/star/lang/XMultiComponentFactory.hpp"
diff --git a/svl/source/notify/broadcast.cxx b/svl/source/notify/broadcast.cxx
index b09288cc83e4..046b584e4385 100644
--- a/svl/source/notify/broadcast.cxx
+++ b/svl/source/notify/broadcast.cxx
@@ -32,9 +32,9 @@
#endif
#include <tools/debug.hxx>
-#include "listener.hxx"
-#include "listeneriter.hxx"
-#include "broadcast.hxx"
+#include <svl/listener.hxx>
+#include <svl/listeneriter.hxx>
+#include <svl/broadcast.hxx>
#include <svl/smplhint.hxx>
diff --git a/svl/source/notify/cancel.cxx b/svl/source/notify/cancel.cxx
deleted file mode 100644
index 2ae43bfaf1ae..000000000000
--- a/svl/source/notify/cancel.cxx
+++ /dev/null
@@ -1,201 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svl.hxx"
-#define _SFX_CANCEL_CXX
-#include <svl/cancel.hxx>
-
-#include <vos/mutex.hxx>
-#include <tools/debug.hxx>
-
-#include <svl/smplhint.hxx>
-#include <svl/cnclhint.hxx>
-#include <rtl/instance.hxx>
-
-namespace { struct lclMutex : public rtl::Static< ::vos::OMutex, lclMutex >{}; }
-
-//=========================================================================
-
-SfxCancelManager::SfxCancelManager( SfxCancelManager *pParent )
-: _pParent( pParent )
-{
-}
-
-//-------------------------------------------------------------------------
-
-SfxCancelManager::~SfxCancelManager()
-{
- DBG_ASSERT( _pParent || !_aJobs.Count(), "deleting SfxCancelManager in use" );
- for ( sal_uInt16 n = _aJobs.Count(); n--; )
- _aJobs.GetObject(n)->SetManager( _pParent );
-}
-
-//-------------------------------------------------------------------------
-
-sal_Bool SfxCancelManager::CanCancel() const
-
-/* [Beschreibung]
-
- Liefert sal_True wenn an diesem CancelManager oder an einem Parent
- ein Job l"auft.
-*/
-
-{
- ::vos::OGuard aGuard( lclMutex::get() );
- return _aJobs.Count() > 0 || ( _pParent && _pParent->CanCancel() );
-}
-
-//-------------------------------------------------------------------------
-
-void SfxCancelManager::Cancel( sal_Bool bDeep )
-
-/* [Beschreibung]
-
- Diese Methode markiert alle angemeldeten <SfxCancellable>-Instanzen
- als suspendiert.
-*/
-
-{
- ::vos::OGuard aGuard( lclMutex::get() );
- SfxCancelManagerWeak xWeak( this );
- for ( sal_uInt16 n = _aJobs.Count(); n-- && xWeak.Is(); )
- if ( n < _aJobs.Count() )
- _aJobs.GetObject(n)->Cancel();
- if ( xWeak.Is() && _pParent )
- _pParent->Cancel( bDeep );
-}
-
-//-------------------------------------------------------------------------
-
-void SfxCancelManager::InsertCancellable( SfxCancellable *pJob )
-
-/* [Beschreibung]
-
- Diese interne Methode tr"agt 'pJob' in die Liste der unterbrechbaren
- Jobs ein und Broadcastet dies. Jeder <SfxCancellable> darf nur
- maximal einmal angemeldet sein, dies geschiet in seinem Ctor.
-*/
-
-{
-#ifdef GPF_ON_EMPTY_TITLE
- if ( !pJob->GetTitle() )
- {
- DBG_ERROR( "SfxCancellable: empty titles not allowed (Vermummungsverbot)" )
- *(int*)0 = 0;
- }
-#endif
-
- ::vos::OClearableGuard aGuard( lclMutex::get() );
- _aJobs.C40_INSERT( SfxCancellable, pJob, _aJobs.Count() );
-
- aGuard.clear();
- Broadcast( SfxSimpleHint( SFX_HINT_CANCELLABLE ) );
-}
-
-//-------------------------------------------------------------------------
-
-
-void SfxCancelManager::RemoveCancellable( SfxCancellable *pJob )
-
-/* [Beschreibung]
-
- Diese interne Methode tr"agt 'pJob' aus die Liste der unterbrechbaren
- Jobs aus und Broadcastet dies. Dieser Aufruf mu\s paarig nach einem
- <InsertCancellable> erfolgen und wird im Dtor des <SfxCancellable>
- ausgel"ost.
-*/
-
-{
- ::vos::OClearableGuard aGuard( lclMutex::get() );
- const SfxCancellable *pTmp = pJob;
- sal_uInt16 nPos = _aJobs.GetPos( pTmp );
- if ( nPos != 0xFFFF )
- {
- _aJobs.Remove( nPos , 1 );
- aGuard.clear();
- Broadcast( SfxSimpleHint( SFX_HINT_CANCELLABLE ) );
- Broadcast( SfxCancelHint( pJob, SFXCANCELHINT_REMOVED ) );
- }
-}
-
-//-------------------------------------------------------------------------
-
-SfxCancellable::~SfxCancellable()
-{
- SfxCancelManager* pMgr = _pMgr;
- if ( pMgr )
- pMgr->RemoveCancellable( this );
-}
-
-//-------------------------------------------------------------------------
-
-void SfxCancellable::Cancel()
-
-/* [Description]
-
- This virtual function is called when the user hits the cancel-button.
- If you overload it, you can stop your activities. Please always call
- 'SfxCancellable::Cancel()'.
-*/
-
-{
-#ifdef GFP_ON_NO_CANCEL
- if ( _bCancelled < 5 )
- ++_bCancelled;
- else
- {
- delete this;
- }
-#else
- _bCancelled = sal_True;
-#endif
-}
-
-//-------------------------------------------------------------------------
-
-void SfxCancellable::SetManager( SfxCancelManager *pMgr )
-{
- SfxCancelManager* pTmp = _pMgr;
- if ( pTmp )
- pTmp->RemoveCancellable( this );
- _pMgr = pMgr;
- if ( pMgr )
- pMgr->InsertCancellable( this );
-}
-
-//-------------------------------------------------------------------------
-
-TYPEINIT1(SfxCancelHint, SfxHint);
-
-SfxCancelHint::SfxCancelHint( SfxCancellable* pJob, sal_uInt16 _nAction )
-{
- pCancellable = pJob;
- nAction = _nAction;
-}
-
-
diff --git a/svl/source/notify/listener.cxx b/svl/source/notify/listener.cxx
index 7ee0f290ff31..8a90a0ddfd3c 100644
--- a/svl/source/notify/listener.cxx
+++ b/svl/source/notify/listener.cxx
@@ -27,17 +27,12 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
-#ifndef GCC
-#endif
-#ifndef DEBUG_HXX
#include <tools/debug.hxx>
-#endif
-
-#include "broadcast.hxx"
-#include "listener.hxx"
+#include <svl/broadcast.hxx>
+#include <svl/listener.hxx>
#include "listenerbase.hxx"
-#include "listeneriter.hxx"
+#include <svl/listeneriter.hxx>
//====================================================================
diff --git a/svl/source/notify/listenerbase.cxx b/svl/source/notify/listenerbase.cxx
index ec899ee9d70b..4dedd24cbe0e 100644
--- a/svl/source/notify/listenerbase.cxx
+++ b/svl/source/notify/listenerbase.cxx
@@ -27,17 +27,12 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
-#ifndef GCC
-#endif
-#ifndef DEBUG_HXX
#include <tools/debug.hxx>
-#endif
-
#include "listenerbase.hxx"
-#include "listeneriter.hxx"
-#include "listener.hxx"
-#include "broadcast.hxx"
+#include <svl/listeneriter.hxx>
+#include <svl/listener.hxx>
+#include <svl/broadcast.hxx>
SvtListenerBase::SvtListenerBase( SvtListener& rLst,
diff --git a/svl/source/notify/listeneriter.cxx b/svl/source/notify/listeneriter.cxx
index 5dda8d0433b4..2078393822cb 100644
--- a/svl/source/notify/listeneriter.cxx
+++ b/svl/source/notify/listeneriter.cxx
@@ -27,14 +27,12 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
-#ifndef GCC
-#endif
#include <tools/debug.hxx>
#include "listenerbase.hxx"
-#include "listeneriter.hxx"
-#include "broadcast.hxx"
-#include "listener.hxx"
+#include <svl/listeneriter.hxx>
+#include <svl/broadcast.hxx>
+#include <svl/listener.hxx>
SvtListenerIter* SvtListenerIter::pListenerIters = 0;
diff --git a/svl/source/notify/makefile.mk b/svl/source/notify/makefile.mk
deleted file mode 100644
index c2e6648907e5..000000000000
--- a/svl/source/notify/makefile.mk
+++ /dev/null
@@ -1,62 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svl
-TARGET=notify
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/smplhint.obj \
- $(SLO)$/hint.obj \
- $(SLO)$/lstner.obj \
- $(SLO)$/isethint.obj \
- $(SLO)$/brdcst.obj \
- $(SLO)$/listener.obj \
- $(SLO)$/listenerbase.obj \
- $(SLO)$/listeneriter.obj \
- $(SLO)$/broadcast.obj
-
-HXX1TARGET= notify
-HXX1EXT= hxx
-HXX1FILES= $(INC)$/hint.hxx \
- $(INC)$/smplhint.hxx \
- $(INC)$/lstner.hxx \
- $(INC)$/brdcst.hxx
-HXX1EXCL= -E:*include*
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svl/source/numbers/makefile.mk b/svl/source/numbers/makefile.mk
deleted file mode 100644
index 87a367566a8b..000000000000
--- a/svl/source/numbers/makefile.mk
+++ /dev/null
@@ -1,74 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svl
-TARGET=numbers
-LIBTARGET=NO
-
-PROJECTPCH=
-PROJECTPCHSOURCE=
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
-
-# --- Files --------------------------------------------------------
-
-EXCEPTIONSFILES= \
- $(SLO)$/numuno.obj \
- $(SLO)$/numfmuno.obj \
- $(SLO)$/supservs.obj \
- $(SLO)$/zforlist.obj
-
-SLOFILES = \
- $(EXCEPTIONSFILES) \
- $(SLO)$/zforfind.obj \
- $(SLO)$/zformat.obj \
- $(SLO)$/zforscan.obj \
- $(SLO)$/numhead.obj
-
-LIB1TARGET= $(SLB)$/$(TARGET).uno.lib
-LIB1OBJFILES= \
- $(SLO)$/numfmuno.obj \
- $(SLO)$/supservs.obj
-
-LIB2TARGET= $(SLB)$/$(TARGET).lib
-LIB2OBJFILES= \
- $(SLO)$/zforfind.obj \
- $(SLO)$/zforlist.obj \
- $(SLO)$/zformat.obj \
- $(SLO)$/zforscan.obj \
- $(SLO)$/numuno.obj \
- $(SLO)$/numhead.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svl/source/numbers/numfmuno.cxx b/svl/source/numbers/numfmuno.cxx
index be5622fdf225..a0af8caef8ae 100644
--- a/svl/source/numbers/numfmuno.cxx
+++ b/svl/source/numbers/numfmuno.cxx
@@ -40,7 +40,7 @@
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include "numfmuno.hxx"
-#include "numuno.hxx"
+#include <svl/numuno.hxx>
#include <svl/zforlist.hxx>
#include <svl/zformat.hxx>
#include <svl/itemprop.hxx>
diff --git a/svl/source/numbers/numuno.cxx b/svl/source/numbers/numuno.cxx
index a6208657406e..94f535c48b02 100644
--- a/svl/source/numbers/numuno.cxx
+++ b/svl/source/numbers/numuno.cxx
@@ -38,7 +38,7 @@
#include <osl/mutex.hxx>
#include <rtl/uuid.h>
-#include "numuno.hxx"
+#include <svl/numuno.hxx>
#include "numfmuno.hxx"
#include <svl/zforlist.hxx>
diff --git a/svl/source/numbers/supservs.cxx b/svl/source/numbers/supservs.cxx
index 90d41977e974..93e6051a21ce 100644
--- a/svl/source/numbers/supservs.cxx
+++ b/svl/source/numbers/supservs.cxx
@@ -34,8 +34,8 @@
#include <tools/debug.hxx>
#include <vos/mutex.hxx>
#include <tools/stream.hxx>
-#include <strmadpt.hxx>
-#include "instrm.hxx"
+#include <svl/strmadpt.hxx>
+#include <svl/instrm.hxx>
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
diff --git a/svl/source/numbers/supservs.hxx b/svl/source/numbers/supservs.hxx
index 45f6b3a8e285..85c5456beb01 100644
--- a/svl/source/numbers/supservs.hxx
+++ b/svl/source/numbers/supservs.hxx
@@ -28,7 +28,7 @@
#ifndef _SVTOOLS_NUMBERS_SUPPLIERSERVICE_HXX_
#define _SVTOOLS_NUMBERS_SUPPLIERSERVICE_HXX_
-#include "numuno.hxx"
+#include <svl/numuno.hxx>
#include <svl/zforlist.hxx>
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index b601bcd89f2a..3345a19513bd 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -47,13 +47,13 @@
#define _ZFORMAT_CXX
#include <svl/zformat.hxx>
-#include "zforscan.hxx"
+#include <zforscan.hxx>
#include "zforfind.hxx"
#include <svl/zforlist.hxx>
#include "numhead.hxx"
#include <unotools/digitgroupingiterator.hxx>
-#include "nfsymbol.hxx"
+#include <svl/nfsymbol.hxx>
#include <cmath>
diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx
index ece26cff43b1..000649a6de80 100644
--- a/svl/source/numbers/zforscan.cxx
+++ b/svl/source/numbers/zforscan.cxx
@@ -45,7 +45,7 @@
#define _ZFORSCAN_CXX
#include "zforscan.hxx"
#undef _ZFORSCAN_CXX
-#include "nfsymbol.hxx"
+#include <svl/nfsymbol.hxx>
using namespace svt;
const sal_Unicode cNonBreakingSpace = 0xA0;
diff --git a/svl/source/numbers/zforscan.hxx b/svl/source/numbers/zforscan.hxx
index 0e82021acb3c..9b04921cb7f4 100644
--- a/svl/source/numbers/zforscan.hxx
+++ b/svl/source/numbers/zforscan.hxx
@@ -32,7 +32,7 @@
#include <i18npool/lang.h>
#include <tools/color.hxx>
#include <svl/nfkeytab.hxx>
-#include "nfsymbol.hxx"
+#include <svl/nfsymbol.hxx>
class SvNumberFormatter;
struct ImpSvNumberformatInfo;
diff --git a/svl/source/passwordcontainer/makefile.mk b/svl/source/passwordcontainer/makefile.mk
deleted file mode 100644
index 626a6ffc5830..000000000000
--- a/svl/source/passwordcontainer/makefile.mk
+++ /dev/null
@@ -1,70 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-PRJNAME=svl
-TARGET=passwordcontainer.uno
-LIBTARGET=NO
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings ----------------------------------
-
-.INCLUDE : settings.mk
-DLLPRE=
-
-# --- Files -------------------------------------
-
-SLOFILES= \
- $(SLO)$/passwordcontainer.obj\
- $(SLO)$/syscreds.obj
-
-SHL1TARGET= $(TARGET)
-SHL1IMPLIB= i$(TARGET)
-SHL1OBJS= $(SLOFILES)
-SHL1STDLIBS=\
- $(UNOTOOLSLIB) \
- $(UCBHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-
-SHL1VERSIONMAP=$(SOLARENV)/src/component.map
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-DEF1NAME= $(SHL1TARGET)
-
-# --- Targets ----------------------------------
-
-.INCLUDE : target.mk
-
-
-ALLTAR : $(MISC)/passwordcontainer.component
-
-$(MISC)/passwordcontainer.component .ERRREMOVE : \
- $(SOLARENV)/bin/createcomponent.xslt passwordcontainer.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt passwordcontainer.component
diff --git a/svl/source/svdde/ddeml1.cxx b/svl/source/svdde/ddeml1.cxx
deleted file mode 100644
index 421fe6fd214d..000000000000
--- a/svl/source/svdde/ddeml1.cxx
+++ /dev/null
@@ -1,2658 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svl.hxx"
-
-/*
- ToDo / Bugs:
-
- - DdeInitiate: Eigener Thread?
- - Timeout bei Disconnects (IBM:nicht auf Ack warten!)
- - Konzept Errorhandling (globale/lokale Fehler)
- - Bedeutung/Anwendung Conversation-Contexte
- - Bei Zugriffen auf ConversationHandles WindowHandles checken
- - Namen der Partner-App ermitteln
- - Codepage-Geraffel
-*/
-#define INCL_DOSPROCESS
-
-#include "ddemlimp.hxx"
-
-#define LOGFILE
-#define STATUSFILE
-#define DDEDATAFILE
-#include "ddemldeb.hxx"
-
-
-#if defined (OS2) && defined (__BORLANDC__)
-#pragma option -w-par
-#endif
-
-// static
-inline sal_Bool ImpDdeMgr::MyWinDdePostMsg( HWND hWndTo, HWND hWndFrom,
- sal_uInt16 nMsg, PDDESTRUCT pData, sal_uIntPtr nFlags )
-{
- sal_Bool bSuccess = WinDdePostMsg( hWndTo,hWndFrom,nMsg,pData,nFlags);
- if( !bSuccess )
- {
- WRITELOG("WinDdePostMsg:Failed!")
- if ( !(nFlags & DDEPM_NOFREE) )
- {
- MyDosFreeMem( pData,"MyWinDdePostMsg" );
- }
- }
- return bSuccess;
-}
-
-
-// *********************************************************************
-// ImpDdeMgr
-// *********************************************************************
-
-sal_uInt16 ImpDdeMgr::nLastErrInstance = 0;
-
-//
-// Conversation-WndProc
-// Steuert Transaktionen eines Conversationhandles
-//
-MRESULT EXPENTRY ConvWndProc(HWND hWnd,sal_uIntPtr nMsg,MPARAM nPar1,MPARAM nPar2)
-{
-#if defined(DBG_UTIL) && defined(OV_DEBUG)
- if( nMsg >= WM_DDE_FIRST && nMsg <= WM_DDE_LAST)
- {
- ////WRITELOG("::ConvWndProc:DDE-Msg received")
- }
-#endif
- ImpConvWndData* pObj = (ImpConvWndData*)WinQueryWindowULong( hWnd, 0 );
- return pObj->pThis->ConvWndProc( hWnd, nMsg, nPar1, nPar2 );
-}
-
-//
-// Server-WndProc
-// DDE-Server-Window der App
-//
-MRESULT EXPENTRY ServerWndProc(HWND hWnd,sal_uIntPtr nMsg,MPARAM nPar1,MPARAM nPar2)
-{
-#if defined(DBG_UTIL) && defined(OV_DEBUG)
- if( nMsg >= WM_DDE_FIRST && nMsg <= WM_DDE_LAST)
- {
- ////WRITELOG("::ServerWndProc:DDE-Msg received")
- }
-#endif
- ImpDdeMgr* pObj = (ImpDdeMgr*)WinQueryWindowULong( hWnd, 0 );
- return pObj->SrvWndProc( hWnd, nMsg, nPar1, nPar2 );
-}
-
-
-inline HDDEDATA ImpDdeMgr::Callback( sal_uInt16 nTransactionType,
- sal_uInt16 nClipboardFormat, HCONV hConversationHandle, HSZ hsz1,
- HSZ hsz2, HDDEDATA hData, sal_uIntPtr nData1, sal_uIntPtr nData2 )
-{
- HDDEDATA hRet = (HDDEDATA)0;
- if( pCallback )
- hRet = (*pCallback)(nTransactionType, nClipboardFormat,
- hConversationHandle, hsz1, hsz2, hData, nData1, nData2);
- return hRet;
-}
-
-
-
-ImpDdeMgr::ImpDdeMgr()
-{
- nLastErrInstance = DMLERR_NO_ERROR;
- pCallback = 0;
- nTransactFilter = 0;
- nServiceCount = 0;
- pServices = 0;
- pAppTable = 0;
- pConvTable = 0;
- pTransTable = 0;
- bServFilterOn = sal_True;
- bInSyncTrans = sal_False;
-
- CreateServerWnd();
- pData = InitAll();
- if ( !pData )
- nLastErrInstance = DMLERR_MEMORY_ERROR;
- else
- RegisterDDEMLApp();
-}
-
-ImpDdeMgr::~ImpDdeMgr()
-{
- CleanUp();
- DestroyServerWnd();
-// Named Shared Mem vom BS loeschen lassen, da nicht bekannt ist,
-// wieviele DDEML-Instanzen die App erzeugt hat, und OS/2
-// keinen App-Referenzzaehler fuer shared mem fuehrt.
-// if ( pData )
-// DosFreeMem( pData );
-}
-
-
-sal_Bool ImpDdeMgr::IsSameInstance( HWND hWnd )
-{
- TID tid; PID pid;
- WinQueryWindowProcess( hWnd, &pid, &tid );
- return (sal_Bool)(pid == pidThis);
-}
-
-HSZ ImpDdeMgr::GetAppName( HWND hWnd )
-{
- return 0;
-}
-
-// static
-ImpDdeMgr* ImpDdeMgr::GetImpDdeMgrInstance( HWND hWnd )
-{
- ImpDdeMgrData* pData = ImpDdeMgr::AccessMgrData();
- if( !pData )
- return 0;
-
- ImpDdeMgr* pResult = 0;
- TID tid; PID pidApp;
- WinQueryWindowProcess( hWnd, &pidApp, &tid );
- HWND* pApp = ImpDdeMgr::GetAppTable( pData );
- sal_uInt16 nCurApp = 0;
- while( nCurApp < pData->nMaxAppCount )
- {
- HWND hCurWin = *pApp;
- if( hCurWin )
- {
- PID pidCurApp;
- WinQueryWindowProcess( hCurWin, &pidCurApp, &tid );
- if( pidCurApp == pidApp )
- {
- pResult = (ImpDdeMgr*)WinQueryWindowULong( hCurWin, 0 );
- break;
- }
- }
- pApp++;
- nCurApp++;
- }
- return pResult;
-}
-
-
-
-
-
-void ImpDdeMgr::CleanUp()
-{
- DisconnectAll();
- ImpService* pPtr = pServices;
- if( pPtr )
- {
- for( sal_uInt16 nIdx = 0; nIdx < nServiceCount; nIdx++, pPtr++ )
- {
- HSZ hStr = pPtr->hBaseServName;
- if( hStr )
- DdeFreeStringHandle( hStr );
- hStr = pPtr->hInstServName;
- if( hStr )
- DdeFreeStringHandle( hStr );
- }
- nServiceCount = 0;
- delete pServices;
- pServices = 0;
- }
- bServFilterOn = sal_True; // default setting DDEML
- UnregisterDDEMLApp();
-}
-
-void ImpDdeMgr::RegisterDDEMLApp()
-{
- HWND* pPtr = pAppTable;
- HWND hCur;
- sal_uInt16 nPos = 0;
- while( nPos < pData->nMaxAppCount )
- {
- hCur = *pPtr;
- if (hCur == (HWND)0 )
- {
- // in Tabelle stellen
- *pPtr = hWndServer;
- break;
- }
- nPos++;
- pPtr++;
- }
-}
-
-void ImpDdeMgr::UnregisterDDEMLApp()
-{
- HWND* pPtr = pAppTable;
- sal_uInt16 nPos = 0;
- while( nPos < pData->nMaxAppCount )
- {
- if (*pPtr == hWndServer )
- {
- *pPtr = 0;
- break;
- }
- nPos++;
- pPtr++;
- }
-}
-
-// static
-ImpDdeMgrData* ImpDdeMgr::AccessMgrData()
-{
- ImpDdeMgrData* pData = 0;
- APIRET nRet = DosGetNamedSharedMem((PPVOID)&pData,DDEMLDATA,PAG_READ|PAG_WRITE);
- DBG_ASSERT(!nRet,"DDE:AccessMgrData failed");
- return pData;
-}
-
-sal_uInt16 ImpDdeMgr::DdeGetLastError()
-{
- sal_uInt16 nErr;
- if ( !pData )
- nErr = DMLERR_DLL_NOT_INITIALIZED;
- else if ( nLastErrInstance )
- nErr = nLastErrInstance;
- else
- nErr = pData->nLastErr;
-
- nLastErrInstance = 0;
- pData->nLastErr = 0;
- return nErr;
-}
-
-
-
-sal_uInt16 ImpDdeMgr::DdeInitialize( PFNCALLBACK pCallbackProc, sal_uIntPtr nTransactionFilter )
-{
- if ( !nLastErrInstance )
- {
- if ( !pCallbackProc )
- {
- nLastErrInstance = DMLERR_INVALIDPARAMETER;
- return nLastErrInstance;
- }
- pCallback = pCallbackProc;
- nTransactFilter = nTransactionFilter;
- nTransactFilter |= CBF_FAIL_SELFCONNECTIONS;
- }
- return nLastErrInstance;
-}
-
-
-// static
-HWND ImpDdeMgr::NextFrameWin( HENUM hEnum )
-{
- char aBuf[ 10 ];
-
- HWND hWnd = WinGetNextWindow( hEnum );
- while( hWnd )
- {
- WinQueryClassName( hWnd, sizeof(aBuf)-1, (PCH)aBuf );
- // Frame-Window ?
- if( !strcmp( aBuf, "#1" ) ) // #define WC_FRAME ((PSZ)0xffff0001L)
- break;
- hWnd = WinGetNextWindow( hEnum );
- }
- return hWnd;
-}
-
-
-HCONV ImpDdeMgr::DdeConnectImp( HSZ hszService,HSZ hszTopic,CONVCONTEXT* pCC)
-{
- hCurConv = 0;
- if( !pCC )
- pCC = &aDefaultContext;
-
- sal_uIntPtr nBufLen;
- PSZ pService = AllocAtomName( (ATOM)hszService, nBufLen );
- PSZ pTopic = AllocAtomName( (ATOM)hszTopic, nBufLen );
-#if 0 && defined(OV_DEBUG)
- String aStr("DdeConnectImp Service:");
- aStr += pService;
- aStr += " Topic:";
- aStr += pTopic;
- WRITELOG((char*)(const char*)aStr)
-#endif
-
-#if defined(OV_DEBUG)
- if( !strcmp(pService,"oliver voeltz") )
- {
- WRITESTATUS("Table of connections");
- MyDosFreeMem( pTopic,"DdeConnectImp" );
- MyDosFreeMem( pService,"DdeConnectImp" );
- return 0;
- }
-#endif
-
-#if 0
- // original pm-fkt benutzen
- HWND hWndCurClient = CreateConversationWnd();
- WinDdeInitiate( hWndCurClient, pService, pTopic, pCC );
- if( GetConversationWndRefCount(hWndCurClient) == 0)
- DestroyConversationWnd( hWndCurClient );
-#else
- // eigener Verbindungsaufbau
- HENUM hEnum = WinBeginEnumWindows( HWND_DESKTOP );
- HWND hWndCurSrv = NextFrameWin( hEnum );
- HWND hWndCurClient = CreateConversationWnd();
- while( hWndCurSrv && !hCurConv )
- {
- if( hWndCurSrv != hWndServer ||
- ((nTransactFilter & CBF_FAIL_SELFCONNECTIONS)==0 ))
- {
- // pro DDE-Server ein Conversation-Window erzeugen
- if( GetConversationWndRefCount(hWndCurClient) >= 2)
- {
- DestroyConversationWnd( hWndCurClient );
- hWndCurClient = CreateConversationWnd();
- }
- MyInitiateDde(hWndCurSrv,hWndCurClient,hszService,hszTopic,pCC);
- if( !bListConnect && hCurConv )
- break;
- }
- hWndCurSrv = NextFrameWin( hEnum );
- }
-
- if( GetConversationWndRefCount(hWndCurClient) == 0)
- DestroyConversationWnd( hWndCurClient );
- WinEndEnumWindows( hEnum );
-#endif
-
- if( !hCurConv )
- nLastErrInstance = DMLERR_NO_CONV_ESTABLISHED;
-
-#if 0 && defined(OV_DEBUG)
- String aCStr( "DdeConnectImp:End ");
- if( nLastErrInstance != DMLERR_NO_CONV_ESTABLISHED )
- aCStr += "(Success)";
- else
- aCStr += "(Failed)";
- WRITELOG((char*)aCStr.GetStr())
-#endif
-
- MyDosFreeMem( pTopic,"DdeConnectImp" );
- MyDosFreeMem( pService,"DdeConnectImp" );
- return hCurConv;
-}
-
-HCONV ImpDdeMgr::DdeConnect( HSZ hszService, HSZ hszTopic, CONVCONTEXT* pCC)
-{
- ////WRITELOG("DdeConnect:Start")
- bListConnect = sal_False;
- HCONV hResult = DdeConnectImp( hszService, hszTopic, pCC );
- ////WRITELOG("DdeConnect:End")
- ////WRITESTATUS("DdeConnect:End")
- return hResult;
-}
-
-
-HCONVLIST ImpDdeMgr::DdeConnectList( HSZ hszService, HSZ hszTopic,
- HCONVLIST hConvList, CONVCONTEXT* pCC )
-{
- nPrevConv = 0;
- ////WRITESTATUS("Before DdeConnectList")
- if( hConvList )
- {
- HCONV hLastConvInList;
-
- hCurListId = hConvList;
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hConvList;
- if( (sal_uInt16)hConvList >= pData->nMaxConvCount ||pConv->hWndThis==0 )
- {
- nLastErrInstance = DMLERR_INVALIDPARAMETER;
- return 0;
- }
- GetLastServer(pData, hConvList, hLastConvInList);
- nPrevConv = (sal_uInt16)hLastConvInList;
- }
- else
- hCurListId = (HCONVLIST)WinCreateWindow( HWND_OBJECT, WC_FRAME,
- CONVLISTNAME, 0,0,0,0,0, HWND_DESKTOP, HWND_BOTTOM, 0,0,0);
-
- bListConnect = sal_True;
- DdeConnectImp( hszService, hszTopic, pCC );
-#if 0 && defined(OV_DEBUG)
- WRITELOG("DdeConnectList:ConnectionList:")
- HCONV hDebug = 0;
- do
- {
- hDebug = DdeQueryNextServer( hCurListId, hDebug);
- String aStr( (sal_uIntPtr)hDebug );
- WRITELOG((char*)(const char*)aStr)
- } while( hDebug );
-#endif
- ////WRITESTATUS("After DdeConnectList")
- return (HCONVLIST)hCurListId;
-}
-
-DDEINIT* ImpDdeMgr::CreateDDEInitData( HWND hWndDestination, HSZ hszService,
- HSZ hszTopic, CONVCONTEXT* pCC )
-{
- sal_uIntPtr nLen1 = 0, nLen2 = 0;
- HATOMTBL hAtomTable = WinQuerySystemAtomTable();
-
- if( hszService )
- nLen1 = WinQueryAtomLength( hAtomTable, hszService );
- if( hszTopic )
- nLen2 = WinQueryAtomLength( hAtomTable, hszTopic );
- nLen1++; nLen2++;
-
- DDEINIT* pBuf = 0;
-
- sal_uIntPtr nLen = sizeof(DDEINIT) + nLen1+ nLen2 + sizeof(CONVCONTEXT);
- if( !(MyDosAllocSharedMem((PPVOID)&pBuf, NULL, nLen,
- PAG_COMMIT | PAG_READ | PAG_WRITE | OBJ_GIVEABLE | OBJ_ANY,
- "CreateDDEInitData")))
- {
- memset( pBuf, 0, nLen );
-
- /*
- PID pid; TID tid;
- WinQueryWindowProcess( hWndDestination, &pid, &tid );
- APIRET nRet = DosGiveSharedMem( pBuf, pid, PAG_READ | PAG_WRITE );
- */
-
- pBuf->cb = nLen;
- pBuf->offConvContext = sizeof( DDEINIT );
- char* pBase = (char*)pBuf;
- pBase += sizeof(DDEINIT);
- if( pCC )
- memcpy( pBase, pCC, sizeof(CONVCONTEXT) );
- pBase += sizeof(CONVCONTEXT);
- pBuf->pszAppName = pBase;
- if( hszService )
- WinQueryAtomName( hAtomTable, hszService, pBase, nLen1 );
- pBase += nLen1;
- pBuf->pszTopic = pBase;
- if( hszTopic )
- WinQueryAtomName( hAtomTable, hszTopic, pBase, nLen2 );
- }
- return pBuf;
-}
-
-
-
-void ImpDdeMgr::MyInitiateDde( HWND hWndSrv, HWND hWndClient,
- HSZ hszService, HSZ hszTopic, CONVCONTEXT* pCC )
-{
- DDEINIT* pBuf = CreateDDEInitData( hWndSrv, hszService, hszTopic, pCC );
- if( pBuf )
- {
- PID pid; TID tid;
- WinQueryWindowProcess( hWndSrv, &pid, &tid );
- APIRET nRet = DosGiveSharedMem( pBuf, pid, PAG_READ | PAG_WRITE );
- WinSendMsg( hWndSrv,WM_DDE_INITIATE,(MPARAM)hWndClient,(MPARAM)pBuf);
- MyDosFreeMem( pBuf,"MyInitiateDde" );
- }
-}
-
-// static
-ImpHCONV* ImpDdeMgr::GetFirstServer(ImpDdeMgrData* pData, HCONVLIST hConvList,
- HCONV& rhConv )
-{
- ImpHCONV* pPtr = GetConvTable( pData );
- HCONV hConv;
- if( !rhConv )
- {
- pPtr++;
- hConv = 1;
- }
- else
- {
- // Startposition
- pPtr += (sal_uInt16)rhConv;
- hConv = rhConv;
- pPtr++; hConv++; // auf den naechsten
- }
- while( hConv < pData->nMaxConvCount )
- {
- if( pPtr->hConvList == hConvList )
- {
- rhConv = hConv;
- return pPtr;
- }
- pPtr++;
- hConv++;
- }
- rhConv = 0;
- return 0;
-}
-
-// static
-ImpHCONV* ImpDdeMgr::GetLastServer(ImpDdeMgrData* pData, HCONVLIST hConvList,
- HCONV& rhConv )
-{
- ImpHCONV* pPtr = GetConvTable( pData );
- pPtr += pData->nMaxConvCount;
- pPtr--;
- HCONV hConv = pData->nMaxConvCount;
- hConv--;
- while( hConv > 0 )
- {
- if( pPtr->hConvList == hConvList )
- {
- rhConv = hConv;
- return pPtr;
- }
- pPtr--;
- hConv--;
- }
- rhConv = 0;
- return 0;
-}
-
-// static
-sal_Bool ImpDdeMgr::CheckConvListId( HCONVLIST hConvListId )
-{
- HAB hAB = WinQueryAnchorBlock( (HWND)hConvListId );
- if( hAB )
- return WinIsWindow( hAB, (HWND)hConvListId );
- return sal_False;
- /*
- HAB hAB = WinQueryAnchorBlock( (HWND)hConvListId );
- if( hAB )
- {
- char aBuf[ 16 ];
- WinQueryWindowText( (HWND)hConvListId, sizeof(aBuf), aBuf );
- if( strcmp(aBuf, CONVLISTNAME ) == 0 )
- return sal_True;
- }
- return sal_False;
- */
-}
-
-// static
-HCONV ImpDdeMgr::DdeQueryNextServer(HCONVLIST hConvList, HCONV hConvPrev)
-{
- if( !CheckConvListId( hConvList ) )
- return (HCONV)0;
- ImpDdeMgrData* pData = ImpDdeMgr::AccessMgrData();
- GetFirstServer( pData, hConvList, hConvPrev );
- return hConvPrev;
-}
-
-// static
-
-// Idee: DisconnectAll uebergibt das ServerWindow. Zu jedem HCONV
-// wird das Creator-Server-Wnd gespeichert. Disconnect braucht
-// dann nur noch die Window-Handles zu vergleichen
-sal_Bool ImpDdeMgr::DdeDisconnect( HCONV hConv )
-{
- WRITELOG("DdeDisconnect:Start")
- ////WRITESTATUS("DdeDisconnect:Start")
-
- ImpDdeMgrData* pData = ImpDdeMgr::AccessMgrData();
- if ( !pData )
- {
- ImpDdeMgr::nLastErrInstance = DMLERR_DLL_NOT_INITIALIZED;
- return sal_False;
- }
- ImpHCONV* pConv = GetConvTable(pData) + (sal_uInt16)hConv;
-
- if( (sal_uInt16)hConv >= pData->nMaxConvCount || pConv->hWndThis==0 )
- {
- nLastErrInstance = DMLERR_NO_CONV_ESTABLISHED;
- return sal_False;
- }
-
- PID pidApp; TID tid;
- HWND hWndDummy = WinCreateWindow( HWND_OBJECT, WC_FRAME,
- "Bla", 0, 0,0,0,0, HWND_DESKTOP, HWND_BOTTOM, 0, 0, 0 );
- WinQueryWindowProcess( hWndDummy, &pidApp, &tid );
- WinDestroyWindow( hWndDummy );
- PID pidThis; PID pidPartner;
-
- HWND hWndThis = pConv->hWndThis;
- HWND hWndPartner = pConv->hWndPartner;
-
- WinQueryWindowProcess( hWndThis, &pidThis, &tid );
- WinQueryWindowProcess( hWndPartner, &pidPartner, &tid );
- if( pidApp != pidThis && pidApp != pidPartner )
- return sal_True; // gehoert nicht der App -> ueberspringen
-
- HCONV hConvPartner = pConv->hConvPartner;
-
- // die App benachrichtigen, dass alle offenen Advise-Loops
- // beendet werden, egal ob sie vom Server oder Client
- // initiiert wurden. Die Dinger aber nicht loeschen, da sie evtl.
- // noch vom Partner gebraucht werden.
- ImpConvWndData* pObj =
- (ImpConvWndData*)WinQueryWindowULong( pConv->hWndThis, 0 );
- ImpDdeMgr* pThis = pObj->pThis;
- pThis->SendUnadvises( hConv, 0, sal_False ); // alle Formate & NICHT loeschen
- pThis->SendUnadvises( hConvPartner, 0, sal_False ); // alle Formate & NICHT loeschen
-
- pConv->nStatus |= ST_TERMINATED;
-
- HAB hAB = WinQueryAnchorBlock( pConv->hWndThis );
- // um die MessageQueue inne Gaenge zu halten
- sal_uIntPtr nTimerId = WinStartTimer( hAB, 0, 0, 50 );
-
- /*
- Die Partner-App muss ein DDE_TERMINATE posten, auf das
- wir warten muessen, um alle Messages zu bearbeiten, die
- _vor_ dem DdeDisconnect von der Partner-App gepostet
- wurden.
- */
- WRITELOG("DdeDisconnect:Waiting for acknowledge...")
- WinDdePostMsg( hWndPartner, hWndThis, WM_DDE_TERMINATE,
- (PDDESTRUCT)0,DDEPM_RETRY);
-
- QMSG aQueueMsg;
- sal_Bool bContinue = sal_True;
- while( bContinue )
- {
- if( WinGetMsg( hAB, &aQueueMsg, 0, 0, 0 ))
- {
- WinDispatchMsg( hAB, &aQueueMsg );
- if( (!WinIsWindow( hAB, hWndPartner)) ||
- (pConv->nStatus & ST_TERMACKREC) )
- {
- bContinue = sal_False;
- if( pConv->nStatus & ST_TERMACKREC )
- {
- WRITELOG("DdeDisconnect: TermAck received")
- }
- else
- {
- WRITELOG("DdeDisconnect: Partner died")
- }
- }
- }
- else
- bContinue = sal_False;
- }
-
- WinStopTimer( hAB, 0, nTimerId );
-
- // WRITELOG("DdeDisconnect:Freeing data")
- // Transaktionstabelle aufraeumen
- FreeTransactions( pData, hConv );
- if( hConvPartner )
- FreeTransactions( pData, hConvPartner );
-
- FreeConvHandle( pData, hConv );
-
- WRITELOG("DdeDisconnect:End")
- //WRITESTATUS("DdeDisconnect:End")
- return sal_True;
-}
-
-// static
-sal_Bool ImpDdeMgr::DdeDisconnectList( HCONVLIST hConvList )
-{
- if( !CheckConvListId( hConvList ) )
- {
- ImpDdeMgr::nLastErrInstance = DMLERR_INVALIDPARAMETER;
- return sal_False;
- }
-
- ImpDdeMgrData* pData = ImpDdeMgr::AccessMgrData();
- if ( !pData )
- {
- ImpDdeMgr::nLastErrInstance = DMLERR_DLL_NOT_INITIALIZED;
- return sal_False;
- }
- HCONV hConv = 0;
- GetFirstServer( pData, hConvList, hConv );
- while( hConv )
- {
- DdeDisconnect( hConv );
- GetFirstServer( pData, hConvList, hConv );
- }
- WinDestroyWindow( (HWND)hConvList );
- return sal_True;
-}
-
-
-
-// static
-HCONV ImpDdeMgr::DdeReconnect(HCONV hConv)
-{
- ImpDdeMgrData* pData = ImpDdeMgr::AccessMgrData();
- if ( !pData )
- {
- ImpDdeMgr::nLastErrInstance = DMLERR_DLL_NOT_INITIALIZED;
- return 0;
- }
- return 0;
-}
-
-// static
-sal_uInt16 ImpDdeMgr::DdeQueryConvInfo(HCONV hConv, sal_uIntPtr nTransId, CONVINFO* pCI)
-{
- if( !pCI || pCI->nSize == 0)
- return 0;
- ImpDdeMgrData* pData = ImpDdeMgr::AccessMgrData();
- if ( !pData )
- {
- ImpDdeMgr::nLastErrInstance = DMLERR_DLL_NOT_INITIALIZED;
- return 0;
- }
- Transaction* pTrans;
- if( nTransId != QID_SYNC )
- {
- pTrans = ImpDdeMgr::GetTransTable( pData );
- pTrans += nTransId;
- if( nTransId >= pData->nMaxTransCount || pTrans->hConvOwner == 0 )
- {
- ImpDdeMgr::nLastErrInstance = DMLERR_UNFOUND_QUEUE_ID;
- return 0;
- }
- }
- else
- pTrans = 0;
-
- ImpHCONV* pConv = ImpDdeMgr::GetConvTable( pData );
- pConv += (sal_uIntPtr)hConv;
- if( hConv >= pData->nMaxConvCount || pConv->hWndThis == 0 )
- {
- ImpDdeMgr::nLastErrInstance = DMLERR_NO_CONV_ESTABLISHED;
- return 0;
- }
-
- sal_uInt16 nSize = pCI->nSize;
- if( nSize > sizeof(CONVINFO) )
- nSize = sizeof(CONVINFO);
- CONVINFO aTempInfo;
- memset( &aTempInfo, 0, sizeof(CONVINFO) );
- aTempInfo.nSize = pCI->nSize;
- aTempInfo.hConvPartner = pConv->hConvPartner;
- aTempInfo.hszPartner = pConv->hszPartner;
- aTempInfo.hszServiceReq = pConv->hszServiceReq;
- aTempInfo.hszTopic = pConv->hszTopic;
- aTempInfo.nStatus = pConv->nStatus;
- aTempInfo.hConvList = pConv->hConvList;
- aTempInfo.aConvCtxt = pConv->aConvContext;
- if( pTrans )
- {
- aTempInfo.nUser = pTrans->nUser;
- aTempInfo.hszItem = pTrans->hszItem;
- aTempInfo.nFormat = pTrans->nFormat;
- aTempInfo.nType = pTrans->nType;
- aTempInfo.nConvst = pTrans->nConvst;
- aTempInfo.nLastError= pTrans->nLastError;
- }
- memcpy( pCI, &aTempInfo, nSize );
-
- return nSize;
-}
-
-// static
-sal_Bool ImpDdeMgr::DdeSetUserHandle(HCONV hConv, sal_uIntPtr nTransId, sal_uIntPtr hUser)
-{
- ImpDdeMgrData* pData = ImpDdeMgr::AccessMgrData();
- if ( !pData )
- {
- ImpDdeMgr::nLastErrInstance = DMLERR_DLL_NOT_INITIALIZED;
- return sal_False;
- }
- Transaction* pTrans = GetTransTable( pData );
- pTrans += nTransId;
- if( !nTransId || !hConv || nTransId >= pData->nMaxTransCount ||
- pTrans->hConvOwner != hConv )
- {
- ImpDdeMgr::nLastErrInstance = DMLERR_INVALIDPARAMETER;
- return sal_False;
- }
- if( !pTrans->hConvOwner)
- {
- ImpDdeMgr::nLastErrInstance = DMLERR_UNFOUND_QUEUE_ID;
- return sal_False;
- }
- pTrans->nUser = hUser;
- return sal_True;
-}
-
-sal_Bool ImpDdeMgr::DdeAbandonTransaction( HCONV hConv, sal_uIntPtr nTransId )
-{
- ////WRITELOG("DdeAbandonTransaction:Start")
- if( !pData )
- {
- nLastErrInstance = DMLERR_DLL_NOT_INITIALIZED;
- return sal_False;
- }
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hConv;
- if( nTransId < 1 || nTransId >= pData->nMaxTransCount ||
- hConv < 1 || hConv >= pData->nMaxConvCount || !pConv->hWndThis)
- {
- nLastErrInstance = DMLERR_INVALIDPARAMETER;
- return sal_False;
- }
- if( !hConv )
- {
- DBG_ASSERT(0,"DdeAbandonTransaction:NULL-hConv not supported");
- nLastErrInstance = DMLERR_INVALIDPARAMETER;
- return sal_False;
- }
- Transaction* pTrans = pTransTable;
- pTrans += (sal_uInt16)nTransId;
- if( pTrans->hConvOwner != hConv )
- {
- nLastErrInstance = DMLERR_UNFOUND_QUEUE_ID;
- return sal_False;
- }
-
- if( bInSyncTrans && nTransId == nSyncTransId )
- {
- bSyncAbandonTrans = sal_True;
- return sal_True;
- }
- sal_uInt16 nTempType = pTrans->nType;
- nTempType &= (~XTYPF_MASK);
- if( nTempType == (XTYP_ADVREQ & ~(XTYPF_NOBLOCK)))
- {
- ////WRITELOG("DdeAbandTrans:Advise Loop")
-
-// ----------------------------------------------------------------------
-// Der von der Deutschen Bank eingesetzte DDE-Server
-// "Invision V2.71 Build 36 Mar 12 1999 V4.8.2" hat einen Bug, der
-// dazu fuehrt, dass auf per WM_DDE_TERMINATE geschlossene Verbindungen
-// nicht mit einem WM_DDE_TERMINATE geantwortet wird, wenn der
-// entsprechende Link vorher per WM_DDE_UNADVISE beendet wurde. Dieser
-// Bug tritt ab zwei parallel laufenden Links auf. Auf Wunsch der DB
-// wurde das folgende Workaround eingebaut.
-// ----------------------------------------------------------------------
-#define DEUTSCHE_BANK
-#ifndef DEUTSCHE_BANK
-
-// Acknowledge ist beim Unadvise nicht ueblich
-//#define SO_DDE_ABANDON_TRANSACTION_WAIT_ACK
-#ifdef SO_DDE_ABANDON_TRANSACTION_WAIT_ACK
- DDESTRUCT* pOutDDEData = MakeDDEObject( pConv->hWndPartner,
- pTrans->hszItem, DDE_FACKREQ, 0 /*pTrans->nFormat*/, 0, 0);
-#else
- DDESTRUCT* pOutDDEData = MakeDDEObject( pConv->hWndPartner,
- pTrans->hszItem, 0, 0 /*pTrans->nFormat*/, 0, 0);
-#endif
- WRITELOG("DdeAbandTrans:Waiting for acknowledge...")
- pTrans->nConvst = XST_UNADVSENT;
- if ( !MyWinDdePostMsg( pConv->hWndPartner, pConv->hWndThis,
- WM_DDE_UNADVISE, pOutDDEData, DDEPM_RETRY ) )
- {
- WRITELOG("DdeAbandTrans:PostMsg Failed")
- return sal_False;
- }
-#ifdef SO_DDE_ABANDON_TRANSACTION_WAIT_ACK
- WaitTransState( pTrans, nTransId, XST_UNADVACKRCVD, 0 );
-#else
- pTrans->nConvst = XST_UNADVACKRCVD;
-#endif
-
-#endif // DEUTSCHE_BANK
-
- WRITELOG("DdeAbandTrans:Ack received->Freeing transaction")
- FreeTransaction( pData, nTransId );
- }
- WRITELOG("DdeAbandonTransaction:End")
- return sal_True;
-}
-
-// wird von einem Server aufgerufen, wenn sich die Daten des
-// Topic/Item-Paars geaendert haben. Diese Funktion fordert
-// dann den Server auf, die Daten zu rendern (bei Hotlinks) und
-// benachrichtigt die Clients
-sal_Bool ImpDdeMgr::DdePostAdvise( HSZ hszTopic, HSZ hszItem)
-{
- ////WRITELOG("DdePostAdvise:Start")
- ////WRITESTATUS("DdePostAdvise:Start")
-
-#if 0 && defined( OV_DEBUG )
- String aDebStr("DdePostAdvise:Item ");
- aDebStr += (sal_uIntPtr)hszItem;
- WRITELOG((char*)(const char*)aDebStr)
-#endif
-
- Transaction* pTrans = pTransTable;
- pTrans++;
- sal_uInt16 nCurTrans = 1;
- sal_uInt16 nUsedTransactions = pData->nCurTransCount;
- while( nUsedTransactions && nCurTrans < pData->nMaxTransCount )
- {
- HCONV hOwner = pTrans->hConvOwner;
- if( hOwner )
- {
- nUsedTransactions--;
- sal_uInt16 nTempType = pTrans->nType;
- nTempType &= (~XTYPF_MASK);
- if( nTempType == (XTYP_ADVREQ & (~XTYPF_NOBLOCK) ) )
- {
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hOwner;
- if(hszItem == pTrans->hszItem && pConv->hszTopic == hszTopic)
- {
- if( pConv->hConvPartner )
- {
- // Transaktionen werden immer vom Client erzeugt
- // -> auf Server-HCONV umschalten
- hOwner = pConv->hConvPartner;
- pConv = pConvTable;
- pConv += (sal_uInt16)hOwner;
- }
- HWND hWndClient = pConv->hWndPartner;
- HWND hWndServer = pConv->hWndThis;
-#if 0 && defined( OV_DEBUG )
- String aDebStr("DdePostAdvise: Server:");
- aDebStr += (sal_uIntPtr)hWndServer;
- aDebStr += " Client:";
- aDebStr += (sal_uIntPtr)hWndClient;
- WRITELOG((char*)(const char*)aDebStr)
-#endif
- DDESTRUCT* pOutDDEData;
- if ( pTrans->nType & XTYPF_NODATA )
- {
- // Warm link
- ////WRITELOG("DdePostAdvise:Warm link found")
- pOutDDEData = MakeDDEObject( hWndClient, hszItem,
- DDE_FNODATA, pTrans->nFormat, 0, 0 );
- }
- else
- {
- // Hot link
- ////WRITELOG("DdePostAdvise:Hot link found")
- pOutDDEData = Callback( XTYP_ADVREQ,
- pTrans->nFormat, hOwner, hszTopic,
- hszItem, (HDDEDATA)0, 1, 0 );
- }
- if( pOutDDEData )
- {
- // todo: FACK_REQ in Out-Data setzen, wenn pTrans->nType & XTYPF_ACKREQ
- ////WRITELOG("DdePostAdvise:Sending data/notification")
- sal_Bool bSuccess = MyWinDdePostMsg( hWndClient,
- hWndServer,WM_DDE_DATA, pOutDDEData, DDEPM_RETRY);
- if( bSuccess )
- {
- // auf Acknowledge des Partners warten ?
- if( pTrans->nType & XTYPF_ACKREQ )
- {
- pTrans->nConvst = XST_ADVDATASENT;
- // Impl. ist falsch! => korrekt: XST_ADVDATAACKRCVD
- WaitTransState(pTrans, nCurTrans,
- XST_UNADVACKRCVD, 0);
- }
- }
- else
- {
- ////WRITELOG("DdePostAdvise:PostMsg failed")
- nLastErrInstance = DMLERR_POSTMSG_FAILED;
- }
- }
- else
- {
- ////WRITELOG("DdePostAdvise:No data to send")
- }
- }
- }
- }
- nCurTrans++;
- pTrans++;
- }
- ////WRITELOG("DdePostAdvise:End")
- return sal_True;
-}
-
-sal_Bool ImpDdeMgr::DdeEnableCallback( HCONV hConv, sal_uInt16 wCmd)
-{
- return sal_False;
-}
-
-// Rueckgabe: 0==Service nicht registriert; sonst Pointer auf Service-Eintrag
-ImpService* ImpDdeMgr::GetService( HSZ hszService )
-{
- ImpService* pPtr = pServices;
- if( !pPtr || !hszService )
- return 0;
- for( sal_uIntPtr nIdx = 0; nIdx < nServiceCount; nIdx++, pPtr++ )
- {
- if(( hszService == pPtr->hBaseServName ) ||
- ( hszService == pPtr->hInstServName ) )
- return pPtr;
- }
- return 0;
-}
-
-
-// legt Service in Service-Tabelle ab. Tabelle wird ggf. expandiert
-ImpService* ImpDdeMgr::PutService( HSZ hszService )
-{
- if( !pServices )
- {
- DBG_ASSERT(nServiceCount==0,"DDE:Bad ServiceCount");
- pServices = new ImpService[ DDEMLSERVICETABLE_INISIZE ];
- memset( pServices, 0, DDEMLSERVICETABLE_INISIZE* sizeof(ImpService));
- nServiceCount = DDEMLSERVICETABLE_INISIZE;
- }
- ImpService* pPtr = pServices;
- sal_uInt16 nCurPos = 0;
- while( pPtr )
- {
- if( pPtr->hBaseServName == 0 )
- break;
- nCurPos++;
- if( nCurPos < nServiceCount )
- pPtr++;
- else
- pPtr = 0;
- }
- if( !pPtr )
- {
- // Tabelle vergroessern
- pPtr = new ImpService[ nServiceCount + DDEMLSERVICETABLE_INISIZE ];
- memset( pPtr, 0, DDEMLSERVICETABLE_INISIZE* sizeof(ImpService));
- memcpy( pPtr, pServices, nServiceCount * sizeof(ImpService) );
-#ifdef DBG_UTIL
- memset( pServices, 0, nServiceCount * sizeof(ImpService) );
-#endif
- delete pServices;
- pServices = pPtr;
- pPtr += nServiceCount; // zeigt auf erste neue Position
- nServiceCount += DDEMLSERVICETABLE_INISIZE;
- }
- DBG_ASSERT(pPtr->hBaseServName==0,"DDE:Service not empty");
- DBG_ASSERT(pPtr->hInstServName==0,"DDE:Service not empty");
-
- DdeKeepStringHandle( hszService );
-
- sal_uInt16 nStrLen = (sal_uInt16)DdeQueryString( hszService, 0, 0, 0);
- char* pBuf = new char[ nStrLen + 1 ];
- DdeQueryString(hszService, pBuf, nStrLen, 850 /* CodePage*/ );
- pBuf[ nStrLen ] = 0;
- String aStr( (sal_uIntPtr)hWndServer );
- aStr += pBuf;
- HSZ hszInstServ = DdeCreateStringHandle( (PSZ)(const char*)pBuf, 850 );
- delete [] pBuf;
-
- pPtr->hBaseServName = hszService;
- pPtr->hInstServName = hszInstServ;
- return pPtr;
-}
-
-void ImpDdeMgr::BroadcastService( ImpService* pService, sal_Bool bRegistered )
-{
- DBG_ASSERT(pService,"DDE:No Service");
- if( !pService )
- return;
- MPARAM aMp1 = (MPARAM)(pService->hBaseServName);
- MPARAM aMp2 = (MPARAM)(pService->hInstServName);
- sal_uIntPtr nMsg;
- if( bRegistered )
- nMsg = WM_DDEML_REGISTER;
- else
- nMsg = WM_DDEML_UNREGISTER;
-
- HWND* pPtr = pAppTable;
- for( sal_uInt16 nPos = 0; nPos < pData->nMaxAppCount; nPos++, pPtr++ )
- {
- HWND hWndCurWin = *pPtr;
- if ( hWndCurWin && hWndCurWin != hWndServer )
- WinSendMsg( hWndCurWin, nMsg, aMp1, aMp2 );
- }
-}
-
-HDDEDATA ImpDdeMgr::DdeNameService( HSZ hszService, sal_uInt16 afCmd )
-{
- HDDEDATA hRet = (HDDEDATA)1;
-
- if( afCmd & DNS_FILTERON )
- bServFilterOn = sal_True;
- else if( afCmd & DNS_FILTEROFF )
- bServFilterOn = sal_False;
- ImpService* pService = GetService( hszService );
- sal_Bool bRegister = (sal_Bool)(afCmd & DNS_REGISTER);
- if( bRegister )
- {
- if( !pService )
- {
- pService = PutService( hszService );
- BroadcastService( pService, sal_True );
- }
- }
- else
- {
- if( pService )
- {
- BroadcastService( pService, sal_False );
- DdeFreeStringHandle( pService->hBaseServName );
- pService->hBaseServName = 0;
- DdeFreeStringHandle( pService->hInstServName );
- pService->hInstServName = 0;
- }
- hRet = (HDDEDATA)0; // Service nicht gefunden
- }
- return hRet;
-}
-
-
-// static
-HDDEDATA ImpDdeMgr::DdeClientTransaction(void* pDdeData, sal_uIntPtr cbData,
- HCONV hConv, HSZ hszItem, sal_uInt16 nFormat, sal_uInt16 nType,
- sal_uIntPtr nTimeout, sal_uIntPtr* pResult)
-{
- //WRITELOG("DdeClientTransaction:Start")
-
-#if 0 && defined(OV_DEBUG)
- if( nType == XTYP_REQUEST )
- {
- WRITELOG("Start XTYP_REQUEST");
- WinMessageBox(HWND_DESKTOP,HWND_DESKTOP,
- "Start XTYP_REQUEST","DdeClientTransaction",
- HWND_DESKTOP,MB_OK);
- }
-#endif
-
- if( pResult )
- *pResult = 0;
-
- ImpDdeMgrData* pData = ImpDdeMgr::AccessMgrData();
- if ( !pData )
- {
- ImpDdeMgr::nLastErrInstance = DMLERR_DLL_NOT_INITIALIZED;
- return (HDDEDATA)0;
- }
-
- sal_Bool bIsDdeHandle = (sal_Bool)(pDdeData && cbData==0xffffffff);
- sal_Bool bAppOwnsHandle = (sal_Bool)( bIsDdeHandle &&
- (((DDESTRUCT*)pDdeData)->fsStatus & IMP_HDATAAPPOWNED) );
-
- sal_Bool bNoData = (sal_Bool)(nType & XTYPF_NODATA)!=0;
- sal_Bool bAckReq = (sal_Bool)(nType & XTYPF_ACKREQ)!=0;
- sal_uInt16 nTypeFlags = nType & XTYPF_MASK;
- nType &= (~XTYPF_MASK);
-
- sal_Bool bSync = (sal_Bool)( nTimeout != TIMEOUT_ASYNC ) != 0;
- if( nType == XTYP_ADVSTART )
- bSync = sal_True;
-
- // Mapping transaction -> OS/2-Message
- sal_uInt16 nTimeoutErr, nMsg;
- switch ( nType )
- {
- case XTYP_ADVSTART:
- nMsg = WM_DDE_ADVISE;
- nTimeoutErr = DMLERR_ADVACKTIMEOUT;
-{
- nTimeout = 60000;
-#if 0 && defined(OV_DEBUG)
- char aBuf[ 128 ];
- ImpDdeMgr::DdeQueryString( hszItem,aBuf,127,850);
- String aXXStr("Establishing hotlink ");
- aXXStr += aBuf;
- WRITELOG((char*)aXXStr.GetStr());
-#endif
-
-}
- break;
-
- case XTYP_ADVSTOP:
- nMsg = WM_DDE_UNADVISE;
- nTimeoutErr = DMLERR_UNADVACKTIMEOUT;
- break;
-
- case XTYP_REQUEST:
- nMsg = WM_DDE_REQUEST;
- nTimeoutErr = DMLERR_DATAACKTIMEOUT;
- break;
-
- case XTYP_POKE:
- nMsg = WM_DDE_POKE;
- nTimeoutErr = DMLERR_POKEACKTIMEOUT;
- break;
-
- case XTYP_EXECUTE:
- nMsg = WM_DDE_EXECUTE;
- nTimeoutErr = DMLERR_EXECACKTIMEOUT;
- break;
-
- default:
- nMsg = 0;
- }
- if(!hConv || (sal_uInt16)hConv>= pData->nMaxConvCount || !nType || !nMsg ||
- (nType != XTYP_EXECUTE && (!hszItem || !nFormat)) )
- {
- WRITELOG("DdeClientTransaction:Invalid parameter")
- ImpDdeMgr::nLastErrInstance = DMLERR_INVALIDPARAMETER;
- if( bIsDdeHandle && !bAppOwnsHandle )
- DdeFreeDataHandle( (HDDEDATA)pDdeData );
- return (HDDEDATA)0;
- }
-
- // ueber den Conversation handle das ImpDdeMgr-Objekt holen
- ImpHCONV* pConv = GetConvTable( pData );
- pConv += (sal_uInt16)hConv;
- ImpConvWndData* pObj =
- (ImpConvWndData*)WinQueryWindowULong( pConv->hWndThis, 0 );
- ImpDdeMgr* pThis = pObj->pThis;
-
- if( bSync && pThis->bInSyncTrans )
- {
- WRITELOG("DdeClientTransaction:Already in sync. transaction")
- ImpDdeMgr::nLastErrInstance = DMLERR_REENTRANCY;
- if( bIsDdeHandle && !bAppOwnsHandle )
- DdeFreeDataHandle( (HDDEDATA)pDdeData );
- return (HDDEDATA)0;
- }
-
- Transaction* pTrans;
-
- sal_Bool bReqOnAdvLoop = sal_False;
- sal_uIntPtr nTransId = GetTransaction( pData, hConv, hszItem, nFormat );
- if( nTransId )
- {
- // WRITELOG("DdeClientTransaction:Transaction found")
- pTrans = GetTransTable( pData );
- pTrans += (sal_uInt16)nTransId;
- sal_uInt16 nTransType = pTrans->nType;
- nTransType &= (~XTYPF_MASK);
- if( (nType != XTYP_REQUEST && nTransType == nType) ||
- // wird Advise-Loop schon zum requesten missbraucht ?
- (nType == XTYP_REQUEST &&
- nTransType == XTYP_ADVREQ &&
- pTrans->nConvst == XST_WAITING_REQDATA))
- {
- // dieser Kanal ist dicht!
- WRITELOG("DdeClientTransaction:Transaction already used")
- ImpDdeMgr::nLastErrInstance = DMLERR_REENTRANCY;
- if( bIsDdeHandle && !bAppOwnsHandle )
- DdeFreeDataHandle( (HDDEDATA)pDdeData );
- return (HDDEDATA)0;
- }
- else if( nTransType == XTYP_ADVREQ )
- {
- switch( nType )
- {
- case XTYP_ADVSTOP:
- //WRITELOG("DdeClientTransaction:Stopping advise trans")
- pTrans->nType = XTYP_ADVSTOP;
- break;
-
- case XTYP_ADVSTART:
- //WRITELOG("DdeClientTransaction:Adj. Advise-Params")
- pTrans->nType = XTYP_ADVREQ;
- if( bNoData )
- pTrans->nType |= XTYPF_NODATA;
- if( bAckReq )
- pTrans->nType |= XTYPF_ACKREQ;
- if( pResult )
- *pResult = nTransId;
- return (HDDEDATA)sal_True;
-
- case XTYP_REQUEST:
- // WRITELOG("DdeClientTransaction:Using adv trans for req")
- // nConvst wird unten auf XST_WAITING_REQDATA gesetzt
- bReqOnAdvLoop = sal_True;
- break;
-
- default:
- WRITELOG("DdeClientTransaction:Invalid parameter")
- ImpDdeMgr::nLastErrInstance = DMLERR_INVALIDPARAMETER;
- if( bIsDdeHandle && !bAppOwnsHandle )
- DdeFreeDataHandle( (HDDEDATA)pDdeData );
- return (HDDEDATA)sal_False;
- }
- }
- }
- else
- {
- // WRITELOG("DdeClientTransaction:Creating transaction")
- nTransId = CreateTransaction(pData, hConv, hszItem, nFormat, nType);
- }
-
- pTrans = GetTransTable( pData );
- pTrans += (sal_uInt16)nTransId;
- pTrans->nConvst = XST_WAITING_ACK;
- if( nType == XTYP_REQUEST )
- pTrans->nConvst = XST_WAITING_REQDATA;
-
- HWND hWndServer = pConv->hWndPartner;
- HWND hWndClient = pConv->hWndThis;
-
- HDDEDATA pOutDDEData;
- if( bIsDdeHandle )
- {
- if( bAppOwnsHandle )
- {
- // wir muessen leider leider duplizieren, da uns OS/2
- // keine Chance laesst, diesen Status im Datenobjekt
- // zu versenken.
- ////WRITELOG("DdeClientTransaction:Copying handle")
- HDDEDATA pNew;
- HDDEDATA pData = (HDDEDATA)pDdeData;
- if( !(MyDosAllocSharedMem((PPVOID)&pNew, NULL, pData->cbData,
- PAG_COMMIT | PAG_READ | PAG_WRITE | OBJ_GIVEABLE | OBJ_ANY,
- "MakeDDEObject")))
- {
- memcpy( pNew, pData, pData->cbData );
- pOutDDEData = pNew;
- }
- else
- {
- WRITELOG("DdeClientTransaction:No Memory")
- ImpDdeMgr::nLastErrInstance = DMLERR_LOW_MEMORY;
- return (HDDEDATA)0;
- }
- }
- else
- pOutDDEData = (HDDEDATA)pDdeData;
- }
- else
- pOutDDEData=MakeDDEObject(hWndServer,hszItem,0,nFormat,pDdeData,cbData);
-
- pOutDDEData->fsStatus |= nTypeFlags;
-
- HDDEDATA pDDEInData = 0;
- if( bSync )
- {
- if( nType != XTYP_REQUEST )
- pOutDDEData->fsStatus |= DDE_FACKREQ;
-
- // WRITELOG("DdeClientTransaction:Starting sync. trans.")
- pThis->hSyncResponseData = (HDDEDATA)0;
- pThis->nSyncResponseMsg = 0;
- pThis->bInSyncTrans = sal_True;
- pThis->nSyncTransId = nTransId;
- pThis->bSyncAbandonTrans = sal_False;
-
- if ( !MyWinDdePostMsg( hWndServer, hWndClient, nMsg, pOutDDEData,
- DDEPM_RETRY) )
- {
- WRITELOG("DdeClientTransaction:PostMsg failed")
- nLastErrInstance = DMLERR_POSTMSG_FAILED;
- if( !bReqOnAdvLoop )
- FreeTransaction( pData, nTransId );
- else
- {
- DBG_ASSERT(pTrans->nType==XTYP_ADVREQ,"DDE:Error!")
- pTrans->nConvst = 0;
- }
- return sal_False;
- }
- HAB hAB = WinQueryAnchorBlock( hWndClient );
- sal_uIntPtr nDummyTimer = WinStartTimer( hAB, 0, 0, 50 );
- sal_uIntPtr nTimeoutId = TID_USERMAX - nTransId;
- WinStartTimer( hAB, hWndClient, nTimeoutId, nTimeout );
- QMSG aQueueMsg;
- sal_Bool bLoop = sal_True;
- while( bLoop )
- {
- if( pThis->nSyncResponseMsg )
- bLoop = sal_False;
- else
- {
- if( WinGetMsg(hAB,&aQueueMsg,0,0,0 ))
- {
- WinDispatchMsg( hAB, &aQueueMsg );
- }
- else
- bLoop = sal_False;
- }
- }
-
- WinStopTimer( hAB, hWndClient, nTimeoutId );
- WinStopTimer( hAB, 0, nDummyTimer );
-
- //
- // Der Speicherblock pOutDDEData muss vom Server geloescht worden sein!
- // Ueberlegen: Nochmal loeschen, falls Server buggy ist, ansonsten
- // platzt uns bald der Adressraum!
- //
- if( !pThis->nSyncResponseMsg )
- {
- // unsere App wurde beendet
- ////WRITELOG("DdeClientTransaction:App terminated")
- return 0;
- }
- pDDEInData = pThis->hSyncResponseData;
- nMsg = pThis->nSyncResponseMsg;
- pThis->hSyncResponseData= 0;
- pThis->nSyncResponseMsg = 0;
- pThis->bInSyncTrans = sal_False;
- pThis->nSyncTransId = 0;
- if( !pDDEInData && nMsg != WM_TIMER )
- {
- DBG_ASSERT(0,"Dde:No data!");
- WRITELOG("DdeClientTransaction: No Data!")
- return (HDDEDATA)0;
- }
- switch( nMsg )
- {
- case WM_TIMER:
- WRITELOG("DdeClientTransaction:Timeout!")
- nLastErrInstance = nTimeoutErr;
- if( bReqOnAdvLoop )
- // auf normalen Loop-Betrieb zurueckschalten
- pTrans->nConvst = XST_WAITING_ADVDATA;
- break;
-
- case WM_DDE_ACK:
- {
- // WRITELOG("DdeClientTransaction:Ack received")
- sal_Bool bPositive = (sal_Bool)(pDDEInData->fsStatus & DDE_FACK);
- MyDosFreeMem( pDDEInData,"DdeClientTransaction" );
- pDDEInData = (HDDEDATA)bPositive;
- if( nType == XTYP_ADVSTART && pDDEInData )
- {
-
-#if 0 && defined(OV_DEBUG)
- char aBuf[ 128 ];
- ImpDdeMgr::DdeQueryString( pTrans->hszItem,aBuf,128,850);
- String aXXStr("Hotlink ");
-#endif
-
- if( bPositive )
- {
- pTrans->nType = XTYP_ADVREQ;
- // Hot/Warmlink, Ack
- pTrans->nType |= nTypeFlags;
- // XST_WAITING_ACK ==> XST_WAITING_ADVDATA
- pTrans->nConvst = XST_WAITING_ADVDATA;
-
-#if 0 && defined(OV_DEBUG)
- aXXStr += "established ";
- aXXStr += aBuf;
-#endif
-
- }
-
-#if 0 && defined(OV_DEBUG)
- else
- {
- aXXStr += "failed ";
- aXXStr += aBuf;
- }
- WRITELOG((char*)aXXStr.GetStr());
-#endif
-
- }
- }
- break;
-
- case WM_DDE_DATA:
- // WRITELOG("DdeClientTransaction:Data received")
- // WRITEDATA(pDDEInData)
- if( bReqOnAdvLoop )
- {
- DBG_ASSERT(pTrans->nConvst==XST_WAITING_REQDATA,"DDE:Bad state");
- DBG_ASSERT(pTrans->nType==XTYP_ADVREQ,"DDE:Bad state");
- // auf Loop-Betrieb umschalten
- pTrans->nConvst = XST_WAITING_ADVDATA;
- }
- break;
-
- default:
- WRITELOG("DdeClientTransaction:Unexpected msg")
- MyDosFreeMem( pDDEInData,"DdeClientTransaction" );
- pDDEInData = 0;
- }
- pThis->bSyncAbandonTrans = sal_False;
- pThis->bInSyncTrans = sal_False;
- if( pThis->bSyncAbandonTrans && bReqOnAdvLoop )
- pThis->DdeAbandonTransaction( hConv, nTransId );
- }
- else
- {
- // WRITELOG("DdeClientTransaction:Starting async. trans.")
- pDDEInData = (HDDEDATA)MyWinDdePostMsg( hWndServer, hWndClient, nMsg,
- pOutDDEData, DDEPM_RETRY);
- if( !pDDEInData )
- {
- WRITELOG("DdeClientTransaction:PostMsg failed")
- nLastErrInstance = DMLERR_POSTMSG_FAILED;
- if( !bReqOnAdvLoop )
- FreeTransaction( pData, nTransId );
- else
- {
- DBG_ASSERT(pTrans->nType==XTYP_ADVREQ,"DDE:Error!")
- pTrans->nConvst = 0;
- }
- }
- else
- {
- // WRITELOG("DdeClientTransaction:Async trans. success")
- if( pResult )
- *pResult = nTransId;
- }
- }
-#if 0 && defined( OV_DEBUG )
- if( nType == XTYP_REQUEST )
- {
- WRITELOG("End XTYP_REQUEST");
- WinMessageBox(HWND_DESKTOP,HWND_DESKTOP,
- "End XTYP_REQUEST","DdeClientTransaction",
- HWND_DESKTOP,MB_OK);
- }
-#endif
- //WRITELOG("DdeClientTransaction:End")
- //WRITESTATUS("DdeClientTransaction:End")
- return pDDEInData;
-}
-
-MRESULT ImpDdeMgr::DdeRegister( ImpWndProcParams* pParams )
-{
- MRESULT nRet = (MRESULT)0;
- if ( !(nTransactFilter & CBF_SKIP_REGISTRATIONS) )
- {
- HSZ hSBaseName = (HSZ)pParams->nPar1;
- HSZ hIBaseName = (HSZ)pParams->nPar2;
- nRet=(MRESULT)Callback(XTYP_REGISTER,0,0,hSBaseName,hIBaseName,0,0,0);
- }
- return nRet;
-}
-
-MRESULT ImpDdeMgr::DdeUnregister( ImpWndProcParams* pParams )
-{
- MRESULT nRet = (MRESULT)0;
- if ( !(nTransactFilter & CBF_SKIP_UNREGISTRATIONS) )
- {
- HSZ hSBaseName = (HSZ)pParams->nPar1;
- HSZ hIBaseName = (HSZ)pParams->nPar2;
- nRet=(MRESULT)Callback(XTYP_UNREGISTER,0,0,hSBaseName,hIBaseName,0,0,0);
- }
- return nRet;
-}
-
-MRESULT ImpDdeMgr::DdeTimeout( ImpWndProcParams* pParams )
-{
- ////WRITELOG("DdeTimeout:Received")
- if( nSyncResponseMsg )
- {
- ////WRITELOG("DdeTimeout:Trans already processed->ignoring timeout")
- return (MRESULT)1;
- }
- sal_uIntPtr nTimerId = (sal_uIntPtr)pParams->nPar1;
- sal_uIntPtr nTransId = TID_USERMAX - nTimerId;
- Transaction* pTrans = pTransTable;
- pTrans += (sal_uInt16)nTransId;
- if( nTransId < 1 || nTransId >= pData->nMaxTransCount ||
- pTrans->hConvOwner == 0 )
- {
- DBG_ASSERT(0,"DdeTimeout:Invalid TransactionId");
- return (MRESULT)1;
- }
- if( bInSyncTrans && nTransId == nSyncTransId )
- {
- sal_uInt16 nTempType = pTrans->nType;
- nTempType &= (~XTYPF_MASK);
- // advise-loops koennen nur innerhalb synchroner
- // requests timeouts bekommen. die transaktion wird
- // in diesem fall nicht geloescht.
- if( nTempType != (XTYP_ADVREQ & (~XTYPF_NOBLOCK) ))
- {
- ////WRITELOG("DdeTimeout:Freeing transaction")
- FreeTransaction( pData, nTransId );
- }
- nSyncResponseMsg = WM_TIMER;
-#if 0 && defined( OV_DEBUG )
- String aMsg("DdeTimeout:Transaction=");
- aMsg += nTransId;
- WRITELOG((char*)(const char*)aMsg)
-#endif
- }
- else
- {
- ////WRITELOG("DdeTimeout:Async transaction timed out")
- pTrans->nConvst = XST_TIMEOUT;
- }
- return (MRESULT)1;
-}
-
-
-
-MRESULT ImpDdeMgr::DdeTerminate( ImpWndProcParams* pParams )
-{
- WRITELOG("DdeTerminate:Received")
- HWND hWndThis = pParams->hWndReceiver;
- HWND hWndPartner = (HWND)(pParams->nPar1);
-
- HCONV hConv = GetConvHandle( pData, hWndThis, hWndPartner );
-#if 0 && defined( OV_DEBUG )
- String strDebug("DdeTerminate:ConvHandle=");
- strDebug += (sal_uInt16)hConv;
- WRITELOG((char*)(const char*)strDebug)
-#endif
- ImpHCONV* pConv = pConvTable + (sal_uInt16)hConv;
- if( hConv )
- {
- // warten wir auf ein DDE_TERMINATE Acknowledge ?
- if( pConv->nStatus & ST_TERMINATED )
- {
- ////WRITELOG("DdeTerminate:TERMINATE-Ack received")
- pConv->nStatus |= ST_TERMACKREC;
- return (MRESULT)0; // DdeDisconnect raeumt jetzt auf
- }
-
- // sind wir Server?, wenn ja: die App benachrichtigen,
- // dass die Advise loops gestoppt wurden und die
- // Transaktionen loeschen
-
- // OV 26.07.96: Die das TERMINATE empfangende App muss
- // die Transaction-Tabelle abraeumen, egal ob Server oder Client!!
- // Es muessen alle Trans geloescht werden, die als Owner den
- // Client oder den Server haben!
- // if( !(pConv->nStatus & ST_CLIENT ) )
- SendUnadvises( hConv, 0, sal_False ); // alle Formate & nicht loeschen
- SendUnadvises( pConv->hConvPartner, 0, sal_False );
-
- // wir werden von draussen gekillt
- if ( !(nTransactFilter & CBF_SKIP_DISCONNECTS) )
- {
- Callback( XTYP_DISCONNECT, 0, hConv, 0, 0, 0,
- 0, (sal_uIntPtr)IsSameInstance(hWndPartner));
- }
-
- // kann unsere Partner-App DDEML ?
- if( !(pConv->hConvPartner) )
- {
- // nein, deshalb Transaktionstabelle selbst loeschen
- ////WRITELOG("DdeTerminate:Freeing transactions")
- FreeTransactions( pData, hConv );
- }
- }
- else
- nLastErrInstance = DMLERR_NO_CONV_ESTABLISHED;
-
-#if 0 && defined(OV_DEBUG)
- if( !WinIsWindow(0,hWndPartner))
- {
- WRITELOG("DdeTerminate:hWndPartner not valid")
- }
- if(!WinIsWindow(0,hWndThis))
- {
- WRITELOG("DdeTerminate:hWndThis not valid")
- }
-#endif
-
- if( hConv )
- {
- // hWndThis nicht loeschen, da wir den Handle noch fuer
- // das Acknowledge brauchen
- ////WRITELOG("DdeTerminate:Freeing conversation")
- FreeConvHandle( pData, hConv, sal_False );
- }
-
- ////WRITELOG("DdeTerminate:Acknowledging DDE_TERMINATE")
-
-#ifdef OV_DEBUG
- DBG_ASSERT(WinIsWindow( 0, hWndThis ),"hWndThis not valid");
-#endif
-
- if( !WinDdePostMsg( hWndPartner, hWndThis, WM_DDE_TERMINATE, 0, DDEPM_RETRY ))
- {
- ////WRITELOG("DdeTerminate:Acknowledging DDE_TERMINATE failed")
- }
- // jetzt hWndThis loeschen
- DestroyConversationWnd( hWndThis );
-
- return (MRESULT)0;
-}
-
-
-/*
- Zuordnung des Conversationhandles:
-
- Verbindungsaufbau:
- Client: DdeInitiate( HWNDClient )
- Server: Post( WM_DDE_INITIATEACK( HWNDServer ))
- Client: CreateConvHandle( HWNDClient, HWNDServer )
-
- Datenaustausch:
- Server: Post(WM_DDE_ACK( HWNDSender ))
- Client: GetConvHandle( HWNDClient, HWNDSender )
-*/
-
-MRESULT ImpDdeMgr::ConvWndProc( HWND hWnd,sal_uIntPtr nMsg,MPARAM nPar1,MPARAM nPar2 )
-{
- ImpWndProcParams aParams;
-
- MRESULT nRet = (MRESULT)0;
- aParams.hWndReceiver= hWnd;
- aParams.nPar1 = nPar1;
- aParams.nPar2 = nPar2;
-
- switch( nMsg )
- {
-
-#ifdef DBG_UTIL
- case WM_DDE_INITIATE :
- DBG_ASSERT(0,"dde:unexpected msg");
- nRet = (MRESULT)sal_True;
- break;
-#endif
-
- case WM_DDE_INITIATEACK : nRet = DdeInitiateAck(&aParams); break;
- case WM_DDE_ACK : nRet = DdeAck( &aParams ); break;
- case WM_DDE_ADVISE : nRet = DdeAdvise( &aParams ); break;
- case WM_DDE_DATA : nRet = DdeData( &aParams ); break;
- case WM_DDE_EXECUTE : nRet = DdeExecute( &aParams ); break;
- case WM_DDE_POKE : nRet = DdePoke( &aParams ); break;
- case WM_DDE_REQUEST : nRet = DdeRequest( &aParams ); break;
- case WM_DDE_TERMINATE : nRet = DdeTerminate( &aParams ); break;
- case WM_DDE_UNADVISE : nRet = DdeUnadvise( &aParams ); break;
- case WM_TIMER : nRet = DdeTimeout( &aParams ); break;
- }
- return nRet;
-}
-
-MRESULT ImpDdeMgr::SrvWndProc( HWND hWnd,sal_uIntPtr nMsg,MPARAM nPar1,MPARAM nPar2 )
-{
- MRESULT nRet = (MRESULT)0;
-
- ImpWndProcParams aParams;
- aParams.hWndReceiver= hWnd;
- aParams.nPar1 = nPar1;
- aParams.nPar2 = nPar2;
-
- switch( nMsg )
- {
-#ifdef DBG_UTIL
- case WM_DDE_ACK :
- case WM_DDE_ADVISE :
- case WM_DDE_EXECUTE :
- case WM_DDE_POKE :
- case WM_DDE_REQUEST :
- case WM_DDE_UNADVISE :
- case WM_DDE_DATA :
- case WM_DDE_INITIATEACK :
- DBG_ASSERT(0,"dde:unexpected msg");
- nRet = (MRESULT)sal_True;
- break;
-#endif
-
- case WM_DDE_TERMINATE :
- break; // DDE_INITIATE wurde im DDE_INITIATEACK terminiert
-
- // ein Client will was von uns
- case WM_DDE_INITIATE :
- nRet = DdeInitiate( &aParams );
- break;
-
- // eine ddeml-faehige App. hat einen Service (typ. AppName) [de]reg.
- case WM_DDEML_REGISTER :
- nRet = DdeRegister( &aParams );
- break;
-
- case WM_DDEML_UNREGISTER :
- nRet = DdeUnregister( &aParams );
- break;
- };
- return nRet;
-}
-
-
-MRESULT ImpDdeMgr::DdeAck( ImpWndProcParams* pParams )
-{
- //WRITELOG("DdeAck:Start")
- HSZ hszItem;
- DDESTRUCT* pInDDEData = (DDESTRUCT*)(pParams->nPar2);
- if( pInDDEData )
- {
- sal_Bool bPositive = (sal_Bool)(pInDDEData->fsStatus & DDE_FACK ) != 0;
- sal_Bool bBusy = bPositive ? sal_False : (sal_Bool)(pInDDEData->fsStatus & DDE_FBUSY ) != 0;
- sal_Bool bNotProcessed = (sal_Bool)(pInDDEData->fsStatus & DDE_NOTPROCESSED ) != 0;
-#if 0 && defined( OV_DEBUG )
- String aDebStr("DdeAck:Received ");
- if( bPositive )
- aDebStr += "(positive)";
- else
- aDebStr += "(negative)";
- if( bBusy )
- aDebStr += "(busy)";
- if( bNotProcessed )
- aDebStr += "(not processed)";
- WRITELOG((char*)(const char*)aDebStr)
-#endif
- // ein DDE_ACK niemals bestaetigen (um endlosschleifen zu vermeiden)
- pInDDEData->fsStatus &= (~DDE_FACKREQ);
- }
- else
- {
- //WRITELOG("DdeAck:Received (no data!)")
- return (MRESULT)0;
- }
-
- HCONV hConv = CheckIncoming(pParams, 0, hszItem);
-#ifdef OV_DEBUG
- if( !hConv )
- {
- WRITELOG("DdeAck:HCONV not found")
- }
-#endif
- sal_uIntPtr nTransId=GetTransaction(pData,hConv,hszItem,pInDDEData->usFormat);
- if( !nTransId )
- {
- WRITELOG("DdeAck:Transaction not found")
- MyDosFreeMem( pInDDEData,"DdeAck" );
- return (MRESULT)0;
- }
-
- sal_Bool bThisIsSync = (sal_Bool)( bInSyncTrans && nTransId == nSyncTransId );
-#if 0 && defined( OV_DEBUG )
- if( bThisIsSync)
- WRITELOG("DdeAck: sync transaction")
- else
- WRITELOG("DdeAck: async transaction")
-#endif
- // pruefen, ob die Transaktion abgeschlossen ist.
- Transaction* pTrans = pTransTable;
- pTrans += (sal_uInt16)nTransId;
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hConv;
-
- if( pTrans->nConvst == XST_UNADVSENT )
- {
- //WRITELOG("DdeAck:Unadvise-Ack received")
- pTrans->nConvst = XST_UNADVACKRCVD;
- MyDosFreeMem( pInDDEData,"DdeAck" );
- DdeFreeStringHandle( hszItem );
- return (MRESULT)0;
- }
- if( pTrans->nConvst == XST_ADVDATASENT )
- {
- //WRITELOG("DdeAck:AdvData-Ack received")
- pTrans->nConvst = XST_ADVDATAACKRCVD;
- MyDosFreeMem( pInDDEData,"DdeAck" );
- DdeFreeStringHandle( hszItem );
- return (MRESULT)0;
- }
-
- sal_uInt16 nType = pTrans->nType;
- nType &= (~XTYPF_MASK);
- // beginn einer advise-loop oder request auf advise-loop ?
- // wenn ja: transaktion nicht loeschen
- sal_Bool bFinished = (sal_Bool)(nType != XTYP_ADVSTART &&
- nType != (XTYP_ADVREQ & (~XTYPF_NOBLOCK)) );
- if( bFinished )
- {
- if( !bThisIsSync )
- {
- ////WRITELOG("DdeAck:Transaction completed")
- Callback( XTYP_XACT_COMPLETE, pInDDEData->usFormat, hConv,
- pConv->hszTopic, hszItem, (HDDEDATA)0, nTransId, 0 );
- }
- ////WRITELOG("DdeAck:Freeing transaction")
- FreeTransaction( pData, nTransId );
- }
-
- if( bThisIsSync )
- {
- hSyncResponseData = pInDDEData;
- nSyncResponseMsg = WM_DDE_ACK;
- }
- else
- {
- MyDosFreeMem( pInDDEData,"DdeAck" );
- }
-
- DdeFreeStringHandle( hszItem );
-
- return (MRESULT)0;
-}
-
-
-sal_uInt16 ImpDdeMgr::SendUnadvises(HCONV hConvServer,sal_uInt16 nFormat,sal_Bool bFree)
-{
- sal_uInt16 nTransFound = 0;
- sal_Bool bCallApp = (sal_Bool)(!(nTransactFilter & CBF_FAIL_ADVISES));
-#if 0 && defined( OV_DEBUG )
- String aStr("Unadvising transactions for HCONV=");
- aStr += (sal_uIntPtr)hConvServer;
- aStr += " CallApp:"; aStr += (sal_uInt16)bCallApp;
- WRITELOG((char*)aStr.GetStr())
-#endif
-
-
- // wenn wir weder loeschen noch die App benachrichtigen sollen,
- // koennen wir gleich wieder returnen
- if( !hConvServer || ( !bFree && !bCallApp ) )
- return 0;
-
- ImpHCONV* pConvSrv = pConvTable;
- pConvSrv += (sal_uInt16)hConvServer;
- HSZ hszTopic = pConvSrv->hszTopic;
-
- Transaction* pTrans = pTransTable;
- pTrans++;
- sal_uInt16 nCurTransId = 1;
- sal_uInt16 nCurTransactions = pData->nCurTransCount;
- while( nCurTransactions && nCurTransId < pData->nMaxTransCount )
- {
- if( pTrans->hConvOwner )
- nCurTransactions--;
- if( pTrans->hConvOwner == hConvServer &&
- (pTrans->nType & XTYP_ADVREQ) )
- {
- if( !nFormat || (nFormat == pTrans->nFormat) )
- {
- nTransFound++;
- if( bCallApp )
- {
- //WRITELOG("SendUnadvises:Notifying App")
- Callback( XTYP_ADVSTOP, pTrans->nFormat, hConvServer,
- hszTopic, pTrans->hszItem, 0,0,0 );
- }
- if( bFree )
- FreeTransaction( pData, (sal_uIntPtr)nCurTransId );
- }
- }
- nCurTransId++;
- pTrans++;
- }
- return nTransFound;
-}
-
-
-
-HCONV ImpDdeMgr::CheckIncoming( ImpWndProcParams* pParams, sal_uIntPtr nTransMask,
- HSZ& rhszItem )
-{
-// ////WRITELOG("CheckIncoming")
- rhszItem = 0;
- DDESTRUCT* pInDDEData = (DDESTRUCT*)(pParams->nPar2);
- if( !pInDDEData )
- {
- // ////WRITELOG("CheckIncoming:PDDESTRUCT==0")
- return (HCONV)0;
- }
-
- HWND hWndThis = pParams->hWndReceiver;
- HWND hWndClient = (HWND)pParams->nPar1;
-
- sal_Bool bReject = (sal_Bool)(nTransactFilter & nTransMask);
- HCONV hConv;
- if( !bReject )
- hConv = GetConvHandle( pData, hWndThis, hWndClient );
- if ( bReject || !hConv )
- return (HCONV)0;
-
- rhszItem = DdeCreateStringHandle(
- ((char*)(pInDDEData)+pInDDEData->offszItemName), 850 );
-
- // ////WRITELOG("CheckIncoming:OK");
- return hConv;
-}
-
-
-MRESULT ImpDdeMgr::DdeAdvise( ImpWndProcParams* pParams )
-{
- ////WRITELOG("DdeAdvise:Received")
- HSZ hszItem;
- HCONV hConv = CheckIncoming(pParams, CBF_FAIL_ADVISES, hszItem);
- DDESTRUCT* pInDDEData = (DDESTRUCT*)(pParams->nPar2);
- HWND hWndThis = pParams->hWndReceiver;
- HWND hWndClient = (HWND)pParams->nPar1;
- if( !hConv )
- {
- ////WRITELOG("DdeAdvise:Conversation not found")
- pInDDEData->fsStatus &= (~DDE_FACK);
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- DdeFreeStringHandle( hszItem );
- return (MRESULT)0;
- }
-
- Transaction* pTrans = pTransTable;
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hConv;
-
- // existiert schon ein Link auf Topic/Item/Format-Vektor ?
-
- sal_uIntPtr nTransId=GetTransaction(pData,hConv,hszItem,pInDDEData->usFormat);
- if( nTransId )
- {
- ////WRITELOG("DdeAdvise:Transaction already exists")
- pTrans += (sal_uInt16)nTransId;
- // ist es eine AdviseLoop ?
- sal_uInt16 nTempType = pTrans->nType;
- nTempType &= (~XTYPF_MASK);
- if( nTempType == XTYP_ADVREQ )
- {
- // Flags der laufenden Advise-Loop aktualisieren
- ////WRITELOG("DdeAdvise:Adjusting Advise-Params")
- pTrans->nType = XTYP_ADVREQ;
- if( pInDDEData->fsStatus & DDE_FNODATA )
- pTrans->nType |= XTYPF_NODATA;
- if( pInDDEData->fsStatus & DDE_FACKREQ )
- pTrans->nType |= XTYPF_ACKREQ;
- pInDDEData->fsStatus |= DDE_FACK;
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- DdeFreeStringHandle( hszItem );
- return (MRESULT)0;
- }
- else if( nTempType != XTYP_ADVSTART )
- {
- ////WRITELOG("DdeAdvise:Not a advise transaction")
- pInDDEData->fsStatus &= (~DDE_FACK);
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- DdeFreeStringHandle( hszItem );
- return (MRESULT)0;
- }
- }
-
- if( !nTransId )
- {
- ////WRITELOG("DdeAdvise:Creating Transaction")
- ////WRITESTATUS("DdeAdvise:Creating Transaction")
- nTransId = CreateTransaction( pData, hConv, hszItem,
- pInDDEData->usFormat, XTYP_ADVREQ );
- ////WRITESTATUS("DdeAdvise:Created Transaction")
- }
- if( nTransId )
- {
- pTrans = pTransTable;
- pTrans += (sal_uInt16)nTransId;
- if( pInDDEData->fsStatus & DDE_FNODATA )
- pTrans->nType |= XTYPF_NODATA;
- if( pInDDEData->fsStatus & DDE_FACKREQ )
- pTrans->nType |= XTYPF_ACKREQ;
- }
- else
- {
- ////WRITELOG("DdeAdvise:Cannot create Transaction")
- pInDDEData->fsStatus &= (~DDE_FACK);
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- DdeFreeStringHandle( hszItem );
- return (MRESULT)0;
- }
-
- ////WRITELOG("DdeAdvise:Calling Server")
-
- if ( Callback( XTYP_ADVSTART, pInDDEData->usFormat,
- hConv, pConv->hszTopic, hszItem, (HDDEDATA)0, 0, 0 ) )
- {
- //
- // ServerApp erlaubt AdviseLoop
- //
- ////WRITELOG("DdeAdvise:Advise loop established")
- pInDDEData->fsStatus |= DDE_FACK;
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- }
- else
- {
- ////WRITELOG("DdeAdvise:Advise loop not established")
- FreeTransaction( pData, nTransId );
- pInDDEData->fsStatus &= (~DDE_FACK); // DDE_FNOTPROCESSED;
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- }
- ////WRITESTATUS("DdeAdvise:End")
- ////WRITELOG("DdeAdvise:End")
- DdeFreeStringHandle( hszItem );
- return (MRESULT)0;
-}
-
-MRESULT ImpDdeMgr::DdeData( ImpWndProcParams* pParams )
-{
- WRITELOG("DdeData:Received")
- HSZ hszItem;
- HCONV hConv = CheckIncoming(pParams, 0, hszItem);
- HWND hWndThis = pParams->hWndReceiver;
- HWND hWndClient = (HWND)pParams->nPar1;
- DDESTRUCT* pInDDEData = (DDESTRUCT*)(pParams->nPar2);
-#if 0 && defined( OV_DEBUG )
- {
- String aStr("DdeData Address:");
- aStr += (sal_uIntPtr)pInDDEData;
- WRITELOG((char*)aStr.GetStr())
- }
-#endif
-
- sal_Bool bSendAck;
- if( pInDDEData && (pInDDEData->fsStatus & DDE_FACKREQ ))
- {
- WRITELOG("DdeData: Ackn requested")
- bSendAck = sal_True;
- }
- else
- {
- WRITELOG("DdeData: Ackn not requested")
- bSendAck = sal_False;
- }
-
- sal_uIntPtr nTransId = GetTransaction(pData,hConv,hszItem,pInDDEData->usFormat);
- if( !nTransId )
- {
- WRITELOG("DdeData:Transaction not found")
- WRITEDATA(pInDDEData)
- if( bSendAck )
- {
- WRITELOG("DdeData: Posting Ackn")
- pInDDEData->fsStatus &= (~DDE_FACK); // NOTPROCESSED;
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- }
- else
- {
- MyDosFreeMem( pInDDEData,"DdeData" );
- }
- return (MRESULT)0;
- }
-
-#if 0 && defined( OV_DEBUG )
- if( pInDDEData )
- {
- WRITEDATA(pInDDEData)
- }
-#endif
-
- sal_Bool bThisIsSync = (sal_Bool)( bInSyncTrans && nTransId == nSyncTransId );
-
- // pruefen, ob die Transaktion abgeschlossen ist.
- Transaction* pTrans = pTransTable;
- pTrans += (sal_uInt16)nTransId;
-
- if( pTrans->nConvst == XST_WAITING_ACK )
- {
- // dieser Fall kann eintreten, wenn ein Server innerhalb
- // einer WM_DDE_ADVISE-Msg. oder bevor beim Client das
- // Ack eintrifft, Advise-Daten sendet.
- WRITELOG("DdeData:Ignoring unexpected data")
- if( bSendAck )
- {
- WRITELOG("DdeData: Posting Ackn")
- pInDDEData->fsStatus &= (~DDE_FACK); // NOTPROCESSED;
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- }
- else
- {
- MyDosFreeMem( pInDDEData,"DdeData" );
- }
- return (MRESULT)0;
- }
-
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hConv;
-
- sal_uInt16 nType = pTrans->nType;
- nType &= (~XTYPF_MASK);
- sal_Bool bNotAdviseLoop = (sal_Bool)(nType != (XTYP_ADVREQ & (~XTYPF_NOBLOCK)));
- if( !bThisIsSync )
- {
- // WRITELOG("DdeData:Is async transaction")
- if( bNotAdviseLoop )
- {
- // WRITELOG("DdeData:Transaction completed -> calling client")
- Callback( XTYP_XACT_COMPLETE, pInDDEData->usFormat, hConv,
- pConv->hszTopic, hszItem, pInDDEData, nTransId, 0 );
- // WRITELOG("DdeData:Freeing transaction")
- FreeTransaction( pData, nTransId );
- }
- else
- {
- WRITELOG("DdeData:Advise-Loop -> calling client")
- HDDEDATA pToSend = pInDDEData;
- if( pTrans->nType & XTYPF_NODATA )
- {
- pToSend = 0;
- // WRITELOG("DdeData:Is warm link")
- }
- Callback( XTYP_ADVDATA, pInDDEData->usFormat, hConv,
- pConv->hszTopic, hszItem, pToSend, nTransId, 0 );
- }
- if( bSendAck )
- {
- WRITELOG("DdeData: Posting Ackn")
- pInDDEData->fsStatus = DDE_FACK;
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- }
- else
- MyDosFreeMem( pInDDEData,"DdeData" );
- }
- else // synchrone Transaktion (Datenhandle nicht freigeben!)
- {
- // WRITELOG("DdeData:Is sync transaction")
- hSyncResponseData = pInDDEData;
- nSyncResponseMsg = WM_DDE_DATA;
- if( bSendAck )
- {
- pInDDEData->fsStatus |= DDE_FACK;
- WRITELOG("DdeData: Posting Ackn")
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,
- DDEPM_RETRY | DDEPM_NOFREE );
- }
- }
-
- DdeFreeStringHandle( hszItem );
- // WRITELOG("DdeData:End")
- return (MRESULT)0;
-}
-
-MRESULT ImpDdeMgr::DdeExecute( ImpWndProcParams* pParams )
-{
- ////WRITELOG("DdeExecute:Received")
- DDESTRUCT* pInDDEData = (DDESTRUCT*)(pParams->nPar2);
- HSZ hszItem;
- HCONV hConv = CheckIncoming(pParams, 0, hszItem);
- sal_Bool bSuccess = sal_False;
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hConv;
- if ( hConv && !(nTransactFilter & CBF_FAIL_EXECUTES) && pInDDEData )
- {
- if ( Callback( XTYP_EXECUTE, pInDDEData->usFormat, hConv,
- pConv->hszTopic, hszItem, pInDDEData, 0, 0 )
- == (DDESTRUCT*)DDE_FACK )
- bSuccess = sal_True;
- }
- else
- {
- ////WRITELOG("DdeExecute:Not processed")
- }
- if( pInDDEData )
- {
- if( bSuccess )
- pInDDEData->fsStatus |= DDE_FACK;
- else
- pInDDEData->fsStatus &= (~DDE_FACK);
- MyWinDdePostMsg( pConv->hWndPartner, pConv->hWndThis, WM_DDE_ACK,
- pInDDEData, DDEPM_RETRY );
- }
- DdeFreeStringHandle( hszItem );
- return (MRESULT)0;
-}
-
-HCONV ImpDdeMgr::ConnectWithClient( HWND hWndClient,
- HSZ hszPartner, HSZ hszService, HSZ hszTopic, sal_Bool bSameInst,
- DDEINIT* pDDEData, CONVCONTEXT* pCC )
-{
- ////WRITELOG("ConnectWithClient:Start")
- HWND hWndSrv = CreateConversationWnd();
- IncConversationWndRefCount( hWndSrv );
- HCONV hConv = CreateConvHandle( pData, pidThis, hWndSrv, hWndClient,
- hszPartner, hszService, hszTopic );
- if(!hConv )
- return 0;
- sal_Bool bFreeDdeData = sal_False;
- if( !pDDEData )
- {
- bFreeDdeData = sal_True;
- pDDEData = CreateDDEInitData( hWndClient,hszService,hszTopic, pCC );
- PID pid; TID tid;
- WinQueryWindowProcess( hWndClient, &pid, &tid );
- DosGiveSharedMem( pDDEData, pid, PAG_READ | PAG_WRITE);
- }
- HAB hAB = WinQueryAnchorBlock( hWndSrv );
- WinGetLastError( hAB ); // fehlercode zuruecksetzen
- WinSendMsg(hWndClient,WM_DDE_INITIATEACK,(MPARAM)hWndSrv,(MPARAM)pDDEData);
- if( WinGetLastError( hAB ) )
- {
- // ////WRITELOG("DdeConnectWithClient:Client died")
- if( bFreeDdeData )
- {
- MyDosFreeMem( pDDEData,"ConnectWithClient" );
- }
- FreeConvHandle( pData, hConv );
- return (HCONV)0;
- }
-
- if( !(nTransactFilter & CBF_SKIP_CONNECT_CONFIRMS) )
- {
- Callback( XTYP_CONNECT_CONFIRM, 0, hConv, hszTopic, hszService,
- 0, 0, (sal_uIntPtr)bSameInst );
- }
-
- if( bFreeDdeData )
- {
- MyDosFreeMem( pDDEData,"ConnectWithClient" );
- }
- // HCONV der PartnerApp suchen & bei uns eintragen
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hConv;
- pConv->hConvPartner = GetConvHandle( pData, hWndClient, hWndSrv );
-#if 0 && defined(OV_DEBUG)
- if( !pConv->hConvPartner )
- {
- WRITELOG("DdeConnectWithClient:Partner not found")
- }
-#endif
- pConv->nStatus = ST_CONNECTED;
- //WRITESTATUS("Server:Connected with client")
- //WRITELOG("ConnectWithClient:End")
- return hConv;
-}
-
-MRESULT ImpDdeMgr::DdeInitiate( ImpWndProcParams* pParams )
-{
- ////WRITELOG("DdeInitiate:Received")
- HWND hWndClient = (HWND)(pParams->nPar1);
-// sal_Bool bSameInst = IsSameInstance( hWndClient );
- sal_Bool bSameInst = (sal_Bool)(hWndClient==hWndServer);
- DDEINIT* pDDEData = (DDEINIT*)pParams->nPar2;
-
- if ( ( nTransactFilter & (CBF_FAIL_CONNECTIONS | APPCMD_CLIENTONLY)) ||
- (( nTransactFilter & CBF_FAIL_SELFCONNECTIONS) && bSameInst )
- )
- {
- MyDosFreeMem( pDDEData,"DdeInitiate" );
- return (MRESULT)sal_False; // narda
- }
-
- HSZ hszService = (HSZ)0;
- if( *(pDDEData->pszAppName) != '\0' )
- {
- hszService = DdeCreateStringHandle( pDDEData->pszAppName, 850 );
- ////WRITELOG(pDDEData->pszAppName);
- }
- HSZ hszTopic = (HSZ)0;
- if( *(pDDEData->pszTopic) != '\0' )
- {
- hszTopic = DdeCreateStringHandle( pDDEData->pszTopic, 850 );
- ////WRITELOG(pDDEData->pszTopic);
- }
- HSZ hszPartner = GetAppName( hWndClient );
-
- // nur weitermachen, wenn Service registriert oder
- // Service-Name-Filtering ausgeschaltet.
- if( !bServFilterOn || GetService(hszService) )
- {
- // XTYP_CONNECT-Transaktionen erfolgen nur mit
- // Services & Topics ungleich 0!
- if( hszService && hszTopic )
- {
- if( IsConvHandleAvailable(pData) && Callback( XTYP_CONNECT,
- 0, 0, hszTopic,hszService, 0, 0, (sal_uIntPtr)bSameInst))
- {
- // App erlaubt Verbindung mit Client
- ConnectWithClient( hWndClient, hszPartner,
- hszService, hszTopic, bSameInst, pDDEData );
- }
- }
- else
- {
- // ** Wildcard-Connect **
- ////WRITELOG("DdeInitiate:Wildconnect")
- // vom Server eine Liste aller Service/Topic-Paare anfordern
- CONVCONTEXT* pCC=(CONVCONTEXT*)(pDDEData+pDDEData->offConvContext);
- DDESTRUCT* hList = Callback( XTYP_WILDCONNECT, 0, (HCONV)0,
- hszTopic,hszService, (HDDEDATA)0, (sal_uIntPtr)pCC, (sal_uIntPtr)bSameInst );
- if( hList )
- {
- HSZPAIR* pPairs = (HSZPAIR*)((char*)hList+hList->offabData);
- while( pPairs->hszSvc )
- {
- ////WRITELOG("DdeInitiate:Wildconnect.Connecting")
- ConnectWithClient( hWndClient, hszPartner,
- pPairs->hszSvc, pPairs->hszTopic, bSameInst, 0, pCC);
- // Stringhandles gehoeren der App! (nicht free-en)
- pPairs++;
- }
- DdeFreeDataHandle( hList );
- }
- }
- }
-#if 0 && defined(OV_DEBUG)
- else
- {
- WRITELOG("DdeInitiate:Service filtered")
- }
-#endif
- DdeFreeStringHandle( hszTopic );
- DdeFreeStringHandle( hszService );
- DdeFreeStringHandle( hszPartner );
- MyDosFreeMem( pDDEData,"DdeInitiate" );
- ////WRITELOG("DdeInitiate:End")
- return (MRESULT)sal_True;
-}
-
-MRESULT ImpDdeMgr::DdeInitiateAck( ImpWndProcParams* pParams )
-{
- ////WRITELOG("DdeInitiateAck:Received")
- DDEINIT* pDDEData = (DDEINIT*)(pParams->nPar2);
-
- if( !bListConnect && hCurConv )
- {
- ////WRITELOG("DdeInitiateAck:Already connected")
- MyDosFreeMem( pDDEData,"DdeInitiateAck" );
- WinPostMsg( hWndServer, WM_DDE_TERMINATE, (MPARAM)hWndServer, 0 );
- return (MRESULT)sal_False;
- }
-
- HWND hWndThis = pParams->hWndReceiver;
- // Referenz-Count unseres Client-Windows inkrementieren
- IncConversationWndRefCount( hWndThis );
-
- HWND hWndSrv = (HWND)(pParams->nPar1);
- HSZ hszService = DdeCreateStringHandle( pDDEData->pszAppName, 850 );
- HSZ hszTopic = DdeCreateStringHandle( pDDEData->pszTopic, 850 );
- HSZ hszPartnerApp = GetAppName( hWndSrv );
-
- hCurConv = CreateConvHandle( pData, pidThis, hWndThis, hWndSrv,
- hszPartnerApp, hszService, hszTopic, 0 );
-
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hCurConv;
-
- // HCONV der PartnerApp suchen & bei uns eintragen
- pConv->hConvPartner = GetConvHandle( pData, hWndSrv, hWndThis );
- // nicht asserten, da ja non-ddeml-Partner moeglich
- // DBG_ASSERT(pConv->hConvPartner,"DDE:Partner not found");
- pConv->nStatus = ST_CONNECTED | ST_CLIENT;
-
- if( bListConnect )
- {
- ////WRITELOG("DdeInitiateAck:ListConnect/Connecting hConvs")
- // Status setzen & verketten
- pConv->hConvList = hCurListId;
- pConv->nPrevHCONV = nPrevConv;
- pConv->nStatus |= ST_INLIST;
- if( nPrevConv )
- {
- pConv = pConvTable;
- pConv += nPrevConv;
- pConv->nNextHCONV = (sal_uInt16)hCurConv;
- }
- nPrevConv = (sal_uInt16)hCurConv;
- }
-
- DdeFreeStringHandle( hszService );
- DdeFreeStringHandle( hszTopic );
- DdeFreeStringHandle( hszPartnerApp );
- MyDosFreeMem( pDDEData,"DdeInitiateAck" );
- ////WRITESTATUS("After DdeInitiateAck")
- ////WRITELOG("DdeInitiateAck:End")
- return (MRESULT)sal_True;
-}
-
-MRESULT ImpDdeMgr::DdePoke( ImpWndProcParams* pParams )
-{
- ////WRITELOG("DdePoke:Received")
- HSZ hszItem = 0;
- DDESTRUCT* pInDDEData = (DDESTRUCT*)(pParams->nPar2);
- HCONV hConv = CheckIncoming( pParams, CBF_FAIL_REQUESTS, hszItem );
- sal_Bool bSuccess =sal_False;
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hConv;
- if ( hConv && !(nTransactFilter & CBF_FAIL_POKES) && pInDDEData )
- {
- if( Callback( XTYP_POKE, pInDDEData->usFormat, hConv,
- pConv->hszTopic, hszItem, pInDDEData, 0, 0 )
- == (DDESTRUCT*)DDE_FACK )
- bSuccess = sal_True;
- }
-#if 0 && defined( OV_DEBUG )
- else
- {
- WRITELOG("DdePoke:Not processed")
- }
-#endif
- if( pInDDEData )
- {
- if( bSuccess )
- pInDDEData->fsStatus |= DDE_FACK;
- else
- pInDDEData->fsStatus &= (~DDE_FACK);
-
- MyWinDdePostMsg( pConv->hWndPartner, pConv->hWndThis, WM_DDE_ACK,
- pInDDEData, DDEPM_RETRY );
- }
- DdeFreeStringHandle( hszItem );
- return (MRESULT)0;
-}
-
-MRESULT ImpDdeMgr::DdeRequest( ImpWndProcParams* pParams )
-{
- ////WRITELOG("DdeRequest:Received")
- HSZ hszItem = 0;
- DDESTRUCT* pInDDEData = (DDESTRUCT*)(pParams->nPar2);
- if( pInDDEData )
- // ist fuer Requests nicht definiert
- pInDDEData->fsStatus = 0;
- HCONV hConv = CheckIncoming( pParams, CBF_FAIL_REQUESTS, hszItem );
- HWND hWndThis = pParams->hWndReceiver;
- HWND hWndClient = (HWND)pParams->nPar1;
- if( hConv )
- {
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hConv;
-
- DDESTRUCT* pOutDDEData = Callback( XTYP_REQUEST, pInDDEData->usFormat,
- hConv, pConv->hszTopic, hszItem, (HDDEDATA)0, 0, 0 );
-
- if ( !pOutDDEData )
- {
- ////WRITELOG("DdeRequest:Not processed")
- pInDDEData->fsStatus &= (~DDE_FACK);
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- }
- else
- {
- ////WRITELOG("DdeRequest:Success")
- MyDosFreeMem( pInDDEData,"DdeRequest" );
- pOutDDEData->fsStatus |= DDE_FRESPONSE;
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_DATA,pOutDDEData,DDEPM_RETRY);
- }
- }
- else
- {
- pInDDEData->fsStatus &= (~DDE_FACK);
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- }
-
- DdeFreeStringHandle( hszItem );
- ////WRITELOG("DdeRequest:End")
- return (MRESULT)0;
-}
-
-
-MRESULT ImpDdeMgr::DdeUnadvise( ImpWndProcParams* pParams )
-{
- ////WRITELOG("DdeUnadvise:Received")
-
- HSZ hszItem;
- HCONV hConv = CheckIncoming( pParams, 0, hszItem );
- DDESTRUCT* pInDDEData = (DDESTRUCT*)(pParams->nPar2);
- HWND hWndThis = pParams->hWndReceiver;
- HWND hWndClient = (HWND)pParams->nPar1;
- sal_uInt16 nClosedTransactions = 0;
- if( hConv )
- {
- sal_uInt16 nFormat = pInDDEData->usFormat;
- // alle Transaktionen des HCONVs loeschen ?
- if( !hszItem )
- {
- // App benachrichtigen & Transaktionen loeschen
- nClosedTransactions = SendUnadvises( hConv, nFormat, sal_True );
- }
- else
- {
- sal_uIntPtr nTransId = GetTransaction(pData, hConv, hszItem, nFormat);
- if( nTransId )
- {
- ////WRITELOG("DdeUnadvise:Transaction found")
- Transaction* pTrans = pTransTable;
- pTrans += (sal_uInt16)nTransId;
- ImpHCONV* pConv = pConvTable;
- pConv += (sal_uInt16)hConv;
- nClosedTransactions = 1;
- if( !(nTransactFilter & CBF_FAIL_ADVISES) )
- Callback( XTYP_ADVSTOP, nFormat, hConv,
- pConv->hszTopic, hszItem, 0, 0, 0 );
- if( !pConv->hConvPartner )
- FreeTransaction( pData, nTransId );
- }
-#if defined(OV_DEBUG)
- else
- {
- WRITELOG("DdeUnadvise:Transaction not found")
- }
-#endif
- }
- }
-#if defined(OV_DEBUG)
- else
- {
- WRITELOG("DdeUnadvise:Conversation not found")
- }
-#endif
-
- if( !nClosedTransactions )
- pInDDEData->fsStatus &= (~DDE_FACK);
- else
- pInDDEData->fsStatus |= DDE_FACK;
-
- MyWinDdePostMsg(hWndClient,hWndThis,WM_DDE_ACK,pInDDEData,DDEPM_RETRY);
- DdeFreeStringHandle( hszItem );
- return (MRESULT)0;
-}
-
-sal_Bool ImpDdeMgr::WaitTransState( Transaction* pTrans, sal_uIntPtr nTransId,
- sal_uInt16 nNewState, sal_uIntPtr nTimeout )
-{
- ////WRITELOG("WaitTransState:Start")
- ImpHCONV* pConv = pConvTable;
- pConv += pTrans->hConvOwner;
- HAB hAB = WinQueryAnchorBlock( pConv->hWndThis );
- sal_uIntPtr nTimerId = WinStartTimer( hAB, 0, 0, 50 );
- QMSG aQueueMsg;
-
-// while( WinGetMsg( hAB, &aQueueMsg, 0, 0, 0 ) &&
-// WinIsWindow( hAB, pConv->hWndPartner) &&
-// pTrans->nConvst != nNewState )
-// {
-// WinDispatchMsg( hAB, &aQueueMsg );
-// }
-
- sal_Bool bContinue = sal_True;
- while( bContinue )
- {
- if( WinGetMsg( hAB, &aQueueMsg, 0, 0, 0 ))
- {
- WinDispatchMsg( hAB, &aQueueMsg );
- if( (!WinIsWindow( hAB, pConv->hWndPartner)) ||
- (pTrans->nConvst == nNewState) )
- {
- bContinue = sal_False;
- }
- }
- else
- bContinue = sal_False;
- }
-
- WinStopTimer( hAB, 0, nTimerId );
- ////WRITELOG("WaitTransState:End")
- return sal_True;
-}
-
-
-
-
diff --git a/svl/source/svdde/ddeml2.cxx b/svl/source/svdde/ddeml2.cxx
deleted file mode 100644
index 6bcb4f7fcf27..000000000000
--- a/svl/source/svdde/ddeml2.cxx
+++ /dev/null
@@ -1,1011 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svl.hxx"
-
-#define INCL_DOS
-#include <stdlib.h>
-
-#include "ddemlimp.hxx"
-#define LOGFILE
-#define STATUSFILE
-#define DDEDATAFILE
-#include "ddemldeb.hxx"
-
-#if defined (OS2) && defined (__BORLANDC__)
-#pragma option -w-par
-#endif
-
-
-// ************************************************************************
-// Hilfsfunktionen Speicherverwaltung
-// ************************************************************************
-
-//
-// AllocAtomName
-//
-
-PSZ ImpDdeMgr::AllocAtomName( ATOM hString, sal_uIntPtr& rBufLen )
-{
- HATOMTBL hAtomTable = WinQuerySystemAtomTable();
- sal_uIntPtr nLen = WinQueryAtomLength( hAtomTable, hString );
- nLen++;
- PSZ pBuf = 0;
- if ( !MyDosAllocMem( (PPVOID)&pBuf, nLen, PAG_READ|PAG_WRITE|PAG_COMMIT | OBJ_ANY,"Atom" ) )
- {
- WinQueryAtomName( hAtomTable, hString, pBuf, nLen );
- rBufLen = nLen;
- }
- return pBuf;
-}
-
-
-//
-// MakeDDEObject
-//
-
-PDDESTRUCT ImpDdeMgr::MakeDDEObject( HWND hwnd, ATOM hItemName,
- sal_uInt16 fsStatus, sal_uInt16 usFormat, PVOID pabData, sal_uIntPtr usDataLen )
-{
- PDDESTRUCT pddes = 0;
- sal_uIntPtr usItemLen;
- PULONG pulSharedObj;
- //WRITELOG("MakeDDEObject: Start")
-
- PSZ pItemName = 0;
- if( hItemName != NULL )
- pItemName = AllocAtomName( hItemName, usItemLen );
- else
- usItemLen = 1;
-
- sal_uIntPtr nTotalSize = sizeof(DDESTRUCT) + usItemLen + usDataLen;
-
- if( !(MyDosAllocSharedMem((PPVOID)&pulSharedObj, NULL,
- nTotalSize,
- PAG_COMMIT | PAG_READ | PAG_WRITE | OBJ_GETTABLE | OBJ_GIVEABLE | OBJ_ANY,
- "MakeDDEObject")))
- {
- pddes = (PDDESTRUCT) pulSharedObj;
- // siehe "Glenn Puchtel, DDE for OS/2" p.60
- pddes->cbData = (sal_uIntPtr)usDataLen;
- pddes->fsStatus = fsStatus;
- pddes->usFormat = usFormat;
- pddes->offszItemName = sizeof( DDESTRUCT );
- if( (usDataLen) && (pabData != NULL ) )
- pddes->offabData = sizeof(DDESTRUCT) + usItemLen;
- else
- pddes->offabData = 0;
-
- if( pItemName != NULL )
- memcpy(DDES_PSZITEMNAME(pddes), pItemName, usItemLen );
- else
- *(DDES_PSZITEMNAME(pddes)) = '\0';
-
- if( pabData != NULL )
- memcpy( DDES_PABDATA(pddes), pabData, usDataLen );
- }
-
- if ( pItemName )
- {
- MyDosFreeMem( pItemName,"MakeDDEObject" );
- }
- return pddes;
-}
-
-//
-// AllocNamedSharedMem
-//
-
-APIRET ImpDdeMgr::AllocNamedSharedMem( PPVOID ppBaseAddress, PSZ pName,
- sal_uIntPtr nElementSize, sal_uIntPtr nElementCount )
-{
- sal_uIntPtr nObjSize = (sal_uIntPtr)(nElementSize * nElementCount );
- nObjSize += sizeof( sal_uIntPtr ); // fuer ElementCount am Anfang des Blocks
-
- *ppBaseAddress = 0;
- APIRET nRet = MyDosAllocSharedMem( ppBaseAddress, pName, nObjSize,
- PAG_READ | PAG_WRITE | PAG_COMMIT | OBJ_ANY,
- "AllocNamedSharedMem" );
- if ( !nRet )
- {
- memset( *ppBaseAddress, 0, nObjSize );
- sal_uIntPtr* pULONG = (sal_uIntPtr*)*ppBaseAddress;
- *pULONG = nObjSize;
- }
- return nRet;
-}
-
-void ImpDdeMgr::CreateServerWnd()
-{
- hWndServer = WinCreateWindow( HWND_DESKTOP, WC_FRAME, "DDEServer", 0,
- 0,0,0,0, HWND_DESKTOP, HWND_BOTTOM, 0, 0, 0 );
- WinSetWindowULong( hWndServer, 0, (sal_uIntPtr)this );
- WinSubclassWindow( hWndServer, ::ServerWndProc );
- TID tidDummy;
- WinQueryWindowProcess( hWndServer, &pidThis, &tidDummy );
-}
-
-void ImpDdeMgr::DestroyServerWnd()
-{
- WinDestroyWindow( hWndServer );
- hWndServer = NULLHANDLE;
-}
-
-HWND ImpDdeMgr::CreateConversationWnd()
-{
- HWND hWnd = WinCreateWindow( HWND_OBJECT, WC_FRAME, "DDEConvWnd", 0,
- 0,0,0,0, HWND_DESKTOP, HWND_BOTTOM, 0, 0, 0 );
- if ( hWnd )
- {
- ImpConvWndData* pWndData = new ImpConvWndData;
- pWndData->pThis = this;
- pWndData->nRefCount = 0;
- WinSetWindowULong( hWnd, 0, (sal_uIntPtr)pWndData );
- WinSubclassWindow( hWnd, ::ConvWndProc );
-#if 0 && defined( OV_DEBUG )
- String aStr("ConvWnd created:");
- aStr += (sal_uIntPtr)hWnd;
- WRITELOG((char*)aStr.GetStr())
-#endif
- }
- else
- nLastErrInstance = DMLERR_SYS_ERROR;
-
- return hWnd;
-}
-
-// static
-void ImpDdeMgr::DestroyConversationWnd( HWND hWnd )
-{
- ImpConvWndData* pObj = (ImpConvWndData*)WinQueryWindowULong( hWnd, 0 );
- if( pObj )
- {
- pObj->nRefCount--;
- if( pObj->nRefCount == 0
- // auch Windows mit Refcount vonm loeschen, da dieser in initial
- // auf 0 gesetzt wird
- || pObj->nRefCount == (sal_uInt16)-1 )
- {
- delete pObj;
- WinDestroyWindow( hWnd );
-#if 0 && defined( OV_DEBUG )
- String aStr("ConvWnd destroyed:");
- aStr += (sal_uIntPtr)hWnd;
- WRITELOG((char*)aStr.GetStr())
-#endif
- }
- else
- {
-#if 0 && defined( OV_DEBUG )
- String aStr("ConvWnd not destroyed (Refcount=");
- aStr += pObj->nRefCount;
- aStr += ") "; aStr += (sal_uIntPtr)hWnd;
- WRITELOG((char*)aStr.GetStr())
-#endif
- }
- }
-#if defined( OV_DEBUG )
- else
- {
- WRITELOG("DestroyCnvWnd:Already destroyed/No win data/Partner died")
- }
-#endif
-}
-
-// static
-sal_uInt16 ImpDdeMgr::GetConversationWndRefCount( HWND hWnd )
-{
- ImpConvWndData* pObj = (ImpConvWndData*)WinQueryWindowULong( hWnd, 0 );
- DBG_ASSERT(pObj,"Dde:ConvWnd has no data");
- if( pObj )
- return pObj->nRefCount;
- return 0;
-}
-
-// static
-sal_uInt16 ImpDdeMgr::IncConversationWndRefCount( HWND hWnd )
-{
-#if 0 && defined( OV_DEBUG )
- String aStr("IncConversationWndRefCount ");
- aStr += (sal_uIntPtr)hWnd;
- WRITELOG((char*)aStr.GetStr())
-#endif
- ImpConvWndData* pObj = (ImpConvWndData*)WinQueryWindowULong( hWnd, 0 );
- DBG_ASSERT(pObj,"Dde:ConvWnd has no data");
- if( pObj )
- {
- pObj->nRefCount++;
- return pObj->nRefCount;
- }
- return 0;
-}
-
-ImpDdeMgrData* ImpDdeMgr::InitAll()
-{
- ImpDdeMgrData* pBase = 0;
- // nur dann neu anlegen, wenn die Tabelle nicht existiert
- APIRET nRet=DosGetNamedSharedMem((PPVOID)&pBase,DDEMLDATA,PAG_READ| PAG_WRITE);
- if ( nRet )
- {
- if ( nRet == 2 ) // ERROR_FILE_NOT_FOUND )
- {
- // DDECONVERSATIONCOUNT=4096
- sal_uInt16 nConvTransCount = 128;
- PSZ pResult;
- nRet = DosScanEnv( "SOMAXDDECONN", (const char**)&pResult );
- if( !nRet )
- {
- int nTemp = 0;
- nTemp = atoi( pResult );
- nTemp++; // der nullte Eintrag wird nicht benutzt
- if( nTemp > 128 )
- nConvTransCount = (sal_uInt16)nTemp;
- }
- sal_uIntPtr nSize = sizeof(ImpDdeMgrData);
- nSize += sizeof(ImpHCONV) * nConvTransCount;
- nSize += sizeof(Transaction) * nConvTransCount;
- nSize += sizeof(HWND) * DDEMLAPPCOUNT;
-
- nRet = ImpDdeMgr::AllocNamedSharedMem( (PPVOID)&pBase,
- DDEMLDATA, nSize, 1 );
- if ( !nRet )
- {
- pBase->nTotalSize = nSize;
- sal_uIntPtr nAppTable = (sal_uIntPtr)&(pBase->aAppTable);
- sal_uIntPtr nCharBase = (sal_uIntPtr)pBase;
- pBase->nOffsAppTable = nAppTable - nCharBase;
- pBase->nOffsConvTable = pBase->nOffsAppTable;
- pBase->nOffsConvTable += sizeof(HWND) * DDEMLAPPCOUNT;
- pBase->nOffsTransTable = pBase->nOffsConvTable;
- pBase->nOffsTransTable += sizeof(ImpHCONV) * nConvTransCount;
-
- pBase->nMaxAppCount = DDEMLAPPCOUNT;
- pBase->nMaxConvCount = nConvTransCount;
- pBase->nMaxTransCount = nConvTransCount;
- }
- }
- }
-
- if( pBase )
- {
- pConvTable = ImpDdeMgr::GetConvTable( pBase );
- pTransTable = ImpDdeMgr::GetTransTable( pBase );
- pAppTable = ImpDdeMgr::GetAppTable( pBase );
- }
-
- memset( &aDefaultContext, 0, sizeof(CONVCONTEXT) );
- aDefaultContext.cb = sizeof(CONVCONTEXT);
- aDefaultContext.idCountry = 49; // ??
- aDefaultContext.usCodepage = 850; // ??
-
- return pBase;
-}
-
-// static
-HCONV ImpDdeMgr::CreateConvHandle( ImpDdeMgrData* pData,
- PID pidOwner,
- HWND hWndMe, HWND hWndPartner,
- HSZ hszPartner, HSZ hszServiceReq, HSZ hszTopic,
- HCONV hPrevHCONV )
-{
- DBG_ASSERT(pData,"DDE:Invalid data");
- if( !pData )
- return (HCONV)0;
-
- ImpHCONV* pPtr = ImpDdeMgr::GetConvTable( pData );
- sal_uInt16 nCount = pData->nMaxConvCount;
- pPtr++;
- nCount--; // ersten Handle (NULLHANDLE) ueberspringen
- sal_uInt16 nIdx = 1;
- DBG_ASSERT(pPtr,"No ConvTable");
- if( !pPtr )
- return (HCONV)0;
-
- while( nCount && pPtr->hWndThis != (HWND)NULL )
- {
- nCount--;
- pPtr++;
- nIdx++;
- }
- if( !nCount )
- return (HCONV)0;
-
- DdeKeepStringHandle( hszPartner );
- DdeKeepStringHandle( hszServiceReq );
- DdeKeepStringHandle( hszTopic );
- pPtr->hszPartner = hszPartner;
- pPtr->hszServiceReq = hszServiceReq;
- pPtr->hszTopic = hszTopic;
-
- pPtr->hWndThis = hWndMe;
- pPtr->hWndPartner = hWndPartner;
- pPtr->pidOwner = pidOwner;
- pPtr->hConvPartner = (HCONV)0;
- pPtr->nPrevHCONV = (sal_uInt16)hPrevHCONV;
- pPtr->nNextHCONV = 0;
- pPtr->nStatus = ST_CONNECTED;
-
- pData->nCurConvCount++;
-
- return (HCONV)nIdx;
-}
-
-// static
-void ImpDdeMgr::FreeConvHandle( ImpDdeMgrData* pBase, HCONV hConv,
- sal_Bool bDestroyHWndThis )
-{
- DBG_ASSERT(pBase,"DDE:No data");
-#if 0 && defined( OV_DEBUG )
- String aStr("FreeConvHandle: Start ");
- aStr += (sal_uIntPtr)hConv;
- aStr += " Destroy: "; aStr += (sal_uInt16)bDestroyHWndThis;
- WRITELOG((char*)aStr.GetStr());
- WRITESTATUS("FreeConvHandle: Start");
-#endif
- if( !pBase )
- {
- WRITELOG("FreeConvHandle: FAIL");
- return;
- }
- DBG_ASSERT(hConv&&hConv<pBase->nMaxConvCount,"DDE:Invalid Conv-Handle");
- if( hConv && hConv < pBase->nMaxConvCount )
- {
- ImpHCONV* pTable = ImpDdeMgr::GetConvTable( pBase );
- ImpHCONV* pPtr = pTable + (sal_uInt16)hConv;
- if( pPtr->nStatus & ST_INLIST )
- {
- // Verkettung umsetzen
- sal_uInt16 nPrev = pPtr->nPrevHCONV;
- sal_uInt16 nNext = pPtr->nNextHCONV;
- if( nPrev )
- {
- pPtr = pTable + nPrev;
- pPtr->nNextHCONV = nNext;
- }
- if( nNext )
- {
- pPtr = pTable + nNext;
- pPtr->nPrevHCONV = nPrev;
- }
- pPtr = pTable + (sal_uInt16)hConv;
- }
-
- DdeFreeStringHandle( pPtr->hszPartner );
- DdeFreeStringHandle( pPtr->hszServiceReq );
- DdeFreeStringHandle( pPtr->hszTopic );
- if( bDestroyHWndThis )
- DestroyConversationWnd( pPtr->hWndThis );
- memset( pPtr, 0, sizeof(ImpHCONV) );
- DBG_ASSERT(pBase->nCurConvCount,"Dde:Invalid Trans. count");
- pBase->nCurConvCount--;
- }
-#if defined(OV_DEBUG)
- else
- {
- WRITELOG("FreeConvHandle: FAIL");
- }
-#endif
- //WRITELOG("FreeConvHandle: END");
- //WRITESTATUS("FreeConvHandle: End");
-}
-
-// static
-HCONV ImpDdeMgr::IsConvHandleAvailable( ImpDdeMgrData* pBase )
-{
- DBG_ASSERT(pBase,"DDE:No data");
- if( !pBase )
- return 0;
-
- ImpHCONV* pPtr = ImpDdeMgr::GetConvTable( pBase );
- sal_uInt16 nCurPos = pBase->nMaxConvCount - 1;
- pPtr += nCurPos; // von hinten aufrollen
- while( nCurPos >= 1 )
- {
- if( pPtr->hWndThis == 0 )
- return sal_True;
- pPtr--;
- nCurPos--;
- }
- return sal_False;
-}
-
-// static
-HCONV ImpDdeMgr::GetConvHandle( ImpDdeMgrData* pBase, HWND hWndThis,
- HWND hWndPartner )
-{
- DBG_ASSERT(pBase,"DDE:No data");
- if( !pBase )
- return 0;
- ImpHCONV* pPtr = ImpDdeMgr::GetConvTable( pBase );
- sal_uInt16 nCurPos = 1;
- pPtr++; // ersten Handle ueberspringen
- sal_uInt16 nCurConvCount = pBase->nCurConvCount;
- while( nCurConvCount && nCurPos < pBase->nMaxConvCount )
- {
- if( pPtr->hWndThis )
- {
- if(pPtr->hWndThis == hWndThis && pPtr->hWndPartner == hWndPartner)
- return (HCONV)nCurPos;
- nCurConvCount--;
- if( !nCurConvCount )
- return (HCONV)0;
- }
- nCurPos++;
- pPtr++;
- }
- return (HCONV)0;
-}
-
-
-
-// static
-sal_uIntPtr ImpDdeMgr::CreateTransaction( ImpDdeMgrData* pBase, HCONV hOwner,
- HSZ hszItem, sal_uInt16 nFormat, sal_uInt16 nTransactionType )
-{
- DBG_ASSERT(pBase,"DDE:No Data");
- DBG_ASSERT(hOwner!=0,"DDE:No Owner");
-
- if( pBase && hOwner )
- {
- Transaction* pPtr = ImpDdeMgr::GetTransTable( pBase );
- DBG_ASSERT(pPtr->hConvOwner==0,"DDE:Data corrupted");
- sal_uInt16 nId = 1;
- pPtr++;
- while( nId < pBase->nMaxTransCount )
- {
- if( pPtr->hConvOwner == (HCONV)0 )
- {
- pPtr->hConvOwner = hOwner;
- DdeKeepStringHandle( hszItem );
- pPtr->hszItem = hszItem;
- pPtr->nType = nTransactionType;
- pPtr->nConvst = XST_CONNECTED;
- pPtr->nFormat = nFormat;
- pBase->nCurTransCount++;
- return (sal_uIntPtr)nId;
- }
- nId++;
- pPtr++;
- }
- }
- return 0;
-}
-
-// static
-void ImpDdeMgr::FreeTransaction( ImpDdeMgrData* pBase, sal_uIntPtr nTransId )
-{
- DBG_ASSERT(pBase,"DDE:No Data");
- if( !pBase )
- return;
-
- DBG_ASSERT(nTransId<pBase->nMaxTransCount,"DDE:Invalid TransactionId");
- if( nTransId >= pBase->nMaxTransCount )
- return;
-
- Transaction* pPtr = ImpDdeMgr::GetTransTable( pBase );
- pPtr += nTransId;
- DBG_ASSERT(pPtr->hConvOwner!=0,"DDE:TransId has no owner");
- if( pPtr->hConvOwner )
- {
- //WRITELOG("Freeing transaction");
- DdeFreeStringHandle( pPtr->hszItem );
- memset( pPtr, 0, sizeof(Transaction) );
- DBG_ASSERT(pBase->nCurTransCount,"Dde:Invalid Trans. count");
- pBase->nCurTransCount--;
- }
-}
-
-// static
-sal_uIntPtr ImpDdeMgr::GetTransaction( ImpDdeMgrData* pBase,
- HCONV hOwner, HSZ hszItem, sal_uInt16 nFormat )
-{
- DBG_ASSERT(pBase,"DDE:No Data");
- if( !pBase || !hOwner )
- return 0;
-
- Transaction* pTrans = ImpDdeMgr::GetTransTable( pBase );
- DBG_ASSERT(pTrans,"DDE:No TransactionTable");
- if( !pTrans )
- return 0;
- pTrans++; // NULLHANDLE ueberspringen
-
- ImpHCONV* pConv = ImpDdeMgr::GetConvTable( pBase );
- pConv += (sal_uInt16)hOwner;
- HCONV hConvPartner = pConv->hConvPartner;
-
- sal_uInt16 nCurTransCount = pBase->nCurTransCount;
- for( sal_uInt16 nTrans=1; nTrans< pBase->nMaxTransCount; nTrans++, pTrans++ )
- {
- if( pTrans->hConvOwner )
- {
- if(( pTrans->hConvOwner == hOwner ||
- pTrans->hConvOwner == hConvPartner) &&
- pTrans->nFormat == nFormat &&
- pTrans->hszItem == hszItem )
- {
- // gefunden!
- return (sal_uIntPtr)nTrans;
- }
- nCurTransCount--;
- if( !nCurTransCount )
- return 0;
- }
- }
- return 0; // narda
-}
-
-// static
-HSZ ImpDdeMgr::DdeCreateStringHandle( PSZ pszString, int iCodePage)
-{
- if( !pszString || *pszString == '\0' )
- return (HSZ)0;
- // Atom-Table beachtet Gross/Kleinschreibung, DDEML aber nicht
-
- // OV 12.4.96: Services,Topics,Items case-sensitiv!!!
- // (Grosskundenanforderung (Reuter-DDE))
- //strlwr( pszString );
- //*pszString = (char)toupper(*pszString);
-
- HATOMTBL hAtomTable = WinQuerySystemAtomTable();
- ATOM aAtom = WinAddAtom( hAtomTable, pszString );
- return (HSZ)aAtom;
-}
-
-// static
-sal_uIntPtr ImpDdeMgr::DdeQueryString( HSZ hszStr, PSZ pszStr, sal_uIntPtr cchMax, int iCodePage)
-{
- HATOMTBL hAtomTable = WinQuerySystemAtomTable();
- if ( !pszStr )
- return WinQueryAtomLength( hAtomTable, (ATOM)hszStr);
- else
- {
- *pszStr = 0;
- return WinQueryAtomName( hAtomTable, (ATOM)hszStr, pszStr, cchMax );
- }
-}
-
-// static
-sal_Bool ImpDdeMgr::DdeFreeStringHandle( HSZ hsz )
-{
- if( !hsz )
- return sal_False;
- ATOM aResult = WinDeleteAtom( WinQuerySystemAtomTable(),(ATOM)hsz );
- return (sal_Bool)(aResult==0);
-}
-
-// static
-sal_Bool ImpDdeMgr::DdeKeepStringHandle( HSZ hsz )
-{
- if( !hsz )
- return sal_True;
- HATOMTBL hAtomTable = WinQuerySystemAtomTable();
-#ifdef DBG_UTIL
- sal_uIntPtr nUsageCount=WinQueryAtomUsage(hAtomTable,(ATOM)hsz);
-#endif
- sal_uIntPtr nAtom = 0xFFFF0000;
- sal_uIntPtr nPar = (sal_uIntPtr)hsz;
- nAtom |= nPar;
- ATOM aAtom = WinAddAtom( hAtomTable, (PSZ)nAtom );
-#ifdef DBG_UTIL
- if ( aAtom )
- DBG_ASSERT(WinQueryAtomUsage(hAtomTable,(ATOM)hsz)==nUsageCount+1,"Keep failed");
-#endif
- return (sal_Bool)(aAtom!=0);
-}
-
-
-// static
-int ImpDdeMgr::DdeCmpStringHandles(HSZ hsz1, HSZ hsz2)
-{
- if ( hsz1 == hsz2 )
- return 0;
- if ( hsz1 < hsz2 )
- return -1;
- return 1;
-}
-
-HDDEDATA ImpDdeMgr::DdeCreateDataHandle( void* pSrc, sal_uIntPtr cb,
- sal_uIntPtr cbOff, HSZ hszItem, sal_uInt16 wFmt, sal_uInt16 afCmd)
-{
- char* pData = (char*)pSrc;
- pData += cbOff;
- sal_uInt16 nStatus;
- if( afCmd & HDATA_APPOWNED )
- nStatus = IMP_HDATAAPPOWNED;
- else
- nStatus = 0;
- PDDESTRUCT hData=MakeDDEObject(0,(ATOM)hszItem,nStatus,wFmt,pData,cb);
-// WRITEDATA(hData)
- if ( !hData )
- ImpDdeMgr::nLastErrInstance = DMLERR_INVALIDPARAMETER;
- return (HDDEDATA)hData;
-}
-
-// static
-sal_uInt8* ImpDdeMgr::DdeAccessData(HDDEDATA hData, sal_uIntPtr* pcbDataSize)
-{
- sal_uInt8* pRet = 0;
- *pcbDataSize = 0;
- if ( hData )
- {
- pRet = (sal_uInt8*)hData;
- pRet += hData->offabData;
- sal_uIntPtr nLen = hData->cbData;
- // nLen -= hData->offabData;
- *pcbDataSize = nLen;
- }
- else
- ImpDdeMgr::nLastErrInstance = DMLERR_INVALIDPARAMETER;
- return pRet;
-}
-
-// static
-sal_Bool ImpDdeMgr::DdeUnaccessData(HDDEDATA hData)
-{
- return sal_True; // nothing to do for us
-}
-
-// static
-sal_Bool ImpDdeMgr::DdeFreeDataHandle(HDDEDATA hData)
-{
- DdeUnaccessData( hData );
- MyDosFreeMem( (PSZ)hData, "DdeFreeDataHandle" );
- return sal_True;
-}
-
-// static
-HDDEDATA ImpDdeMgr::DdeAddData(HDDEDATA hData,void* pSrc,sal_uIntPtr cb,sal_uIntPtr cbOff)
-{
- return (HDDEDATA)0;
-}
-
-// static
-sal_uIntPtr ImpDdeMgr::DdeGetData(HDDEDATA hData,void* pDst,sal_uIntPtr cbMax,sal_uIntPtr cbOff)
-{
- return 0;
-}
-
-sal_Bool ImpDdeMgr::DisconnectAll()
-{
- //WRITESTATUS("Before DisconnectAll()")
- sal_uInt16 nCurConvCount = pData->nCurConvCount;
- if( !nCurConvCount )
- return sal_True;
-
- sal_Bool bRet = sal_True;
- ImpHCONV* pPtr = pConvTable;
- pPtr++;
-
- for( sal_uInt16 nPos=1; nPos < pData->nMaxConvCount; nPos++, pPtr++ )
- {
- if( pPtr->hWndThis )
- {
- if( !DdeDisconnect( (HCONV)nPos ) )
- bRet = sal_False;
- nCurConvCount--;
- if( !nCurConvCount )
- break;
- }
- }
- //WRITESTATUS("After DisconnectAll()")
- return bRet;
-}
-
-// static
-void ImpDdeMgr::FreeTransactions( ImpDdeMgrData* pData,HWND hWndThis,
- HWND hWndPartner )
-{
- sal_uInt16 nCurTransCount = pData->nCurTransCount;
- if( !nCurTransCount )
- return;
-
- Transaction* pTrans = GetTransTable( pData );
- ImpHCONV* pConvTable = GetConvTable( pData );
- pTrans++;
- for( sal_uInt16 nPos=1; nPos < pData->nMaxTransCount; nPos++, pTrans++ )
- {
- if( pTrans->hConvOwner )
- {
- ImpHCONV* pConv = pConvTable + (sal_uInt16)(pTrans->hConvOwner);
- if((pConv->hWndThis==hWndThis&& pConv->hWndPartner==hWndPartner)||
- (pConv->hWndThis==hWndPartner && pConv->hWndPartner==hWndThis))
- {
- FreeTransaction( pData, (sal_uIntPtr)nPos );
- }
- nCurTransCount--;
- if( !nCurTransCount )
- return;
- }
- }
-}
-
-// static
-void ImpDdeMgr::FreeTransactions( ImpDdeMgrData* pData, HCONV hConvOwner )
-{
- sal_uInt16 nCurTransCount = pData->nCurTransCount;
- if( !nCurTransCount )
- return;
-
- Transaction* pTrans = GetTransTable( pData );
-// ImpHCONV* pConvTable = GetConvTable( pData );
- pTrans++;
- for( sal_uInt16 nPos=1; nPos < pData->nMaxTransCount; nPos++, pTrans++ )
- {
- if( pTrans->hConvOwner == hConvOwner )
- {
- FreeTransaction( pData, (sal_uIntPtr)nPos );
- nCurTransCount--;
- if( !nCurTransCount )
- return;
- }
- }
-}
-
-// static
-void ImpDdeMgr::FreeConversations( ImpDdeMgrData* pData, HWND hWndThis,
- HWND hWndPartner )
-{
- sal_uInt16 nCurCount = pData->nCurConvCount;
- if( !nCurCount )
- return;
-
- ImpHCONV* pPtr = GetConvTable( pData );
- pPtr++;
- for( sal_uInt16 nPos=1; nPos < pData->nMaxConvCount; nPos++, pPtr++ )
- {
- if( pPtr->hWndThis )
- {
- if( hWndThis && pPtr->hWndPartner==hWndPartner )
- FreeConvHandle( pData, (HCONV)nPos );
- nCurCount--;
- if( !nCurCount )
- return;
- }
- }
-}
-
-
-sal_Bool ImpDdeMgr::OwnsConversationHandles()
-{
- //WRITESTATUS("OwnsConversationHandles()");
-#if 0 && defined( OV_DEBUG )
- String aStr("OwnsConversationHandles Server:");
- aStr += (sal_uIntPtr)hWndServer;
- WRITELOG((char*)aStr.GetStr())
-#endif
- ImpHCONV* pPtr = GetConvTable( pData );
- for( sal_uInt16 nCur = 1; nCur < pData->nMaxConvCount; nCur++, pPtr++ )
- {
- if( pPtr->hWndThis && pPtr->pidOwner == pidThis )
- {
- //WRITELOG("OwnsConversationHandles: sal_True");
- return sal_True;
- }
- }
- // WRITELOG("OwnsConversationHandles: sal_False");
- return sal_False;
-}
-
-
-
-// *********************************************************************
-// *********************************************************************
-// *********************************************************************
-
-sal_uInt16 DdeInitialize(sal_uIntPtr* pidInst, PFNCALLBACK pfnCallback,
- sal_uIntPtr afCmd, sal_uIntPtr ulRes)
-{
- if( (*pidInst)!=0 )
- {
- // Reinitialize wird noch nicht unterstuetzt
- DBG_ASSERT(0,"DDEML:Reinitialize not supported");
- return DMLERR_INVALIDPARAMETER;
- }
-
- ImpDdeMgr* pMgr = new ImpDdeMgr;
- *pidInst = (sal_uIntPtr)pMgr;
- return pMgr->DdeInitialize( pfnCallback, afCmd );
-}
-
-sal_Bool DdeUninitialize(sal_uIntPtr idInst)
-{
- if( !idInst )
- return sal_False;
- ImpDdeMgr* pMgr = (ImpDdeMgr*)idInst;
- // nur loeschen, wenn wir nicht mehr benutzt werden!
- if( !pMgr->OwnsConversationHandles() )
- {
- WRITELOG("DdeUninitialize: sal_True");
- delete pMgr;
- return sal_True;
- }
- WRITELOG("DdeUninitialize: sal_False");
- return sal_False;
-}
-
-
-HCONVLIST DdeConnectList(sal_uIntPtr idInst, HSZ hszService, HSZ hszTopic,
- HCONVLIST hConvList, CONVCONTEXT* pCC)
-{
- if( !idInst )
- return 0;
- return ((ImpDdeMgr*)idInst)->DdeConnectList(hszService,hszTopic,
- hConvList, pCC );
-}
-
-HCONV DdeQueryNextServer(HCONVLIST hConvList, HCONV hConvPrev)
-{
- return ImpDdeMgr::DdeQueryNextServer( hConvList, hConvPrev );
-}
-
-sal_Bool DdeDisconnectList(HCONVLIST hConvList)
-{
- return ImpDdeMgr::DdeDisconnectList( hConvList );
-}
-
-HCONV DdeConnect(sal_uIntPtr idInst, HSZ hszService, HSZ hszTopic,
- CONVCONTEXT* pCC)
-{
- if( !idInst )
- return 0;
- return ((ImpDdeMgr*)idInst)->DdeConnect( hszService, hszTopic, pCC );
-}
-
-sal_Bool DdeDisconnect(HCONV hConv)
-{
- return ImpDdeMgr::DdeDisconnect( hConv );
-}
-
-HCONV DdeReconnect(HCONV hConv)
-{
- return ImpDdeMgr::DdeReconnect( hConv );
-}
-
-
-sal_uInt16 DdeQueryConvInfo(HCONV hConv, sal_uIntPtr idTransact, CONVINFO* pCI )
-{
- return ImpDdeMgr::DdeQueryConvInfo( hConv, idTransact, pCI );
-}
-
-sal_Bool DdeSetUserHandle(HCONV hConv, sal_uIntPtr id, sal_uIntPtr hUser)
-{
- return ImpDdeMgr::DdeSetUserHandle( hConv, id, hUser );
-}
-
-sal_Bool DdeAbandonTransaction(sal_uIntPtr idInst, HCONV hConv, sal_uIntPtr idTransaction)
-{
- if( !idInst )
- return sal_False;
- return ((ImpDdeMgr*)idInst)->DdeAbandonTransaction(hConv,idTransaction);
-}
-
-sal_Bool DdePostAdvise(sal_uIntPtr idInst, HSZ hszTopic, HSZ hszItem)
-{
- if( !idInst )
- return sal_False;
- return ((ImpDdeMgr*)idInst)->DdePostAdvise( hszTopic, hszItem );
-}
-
-sal_Bool DdeEnableCallback(sal_uIntPtr idInst, HCONV hConv, sal_uInt16 wCmd)
-{
- if( !idInst )
- return sal_False;
- return ((ImpDdeMgr*)idInst)->DdeEnableCallback( hConv, wCmd );
-}
-
-HDDEDATA DdeClientTransaction(void* pData, sal_uIntPtr cbData,
- HCONV hConv, HSZ hszItem, sal_uInt16 wFmt, sal_uInt16 wType,
- sal_uIntPtr dwTimeout, sal_uIntPtr* pdwResult)
-{
- return ImpDdeMgr::DdeClientTransaction( pData, cbData,
- hConv, hszItem, wFmt, wType, dwTimeout, pdwResult );
-}
-
-HDDEDATA DdeCreateDataHandle(sal_uIntPtr idInst, void* pSrc, sal_uIntPtr cb,
- sal_uIntPtr cbOff, HSZ hszItem, sal_uInt16 wFmt, sal_uInt16 afCmd)
-{
- if( !idInst )
- return 0;
- return ((ImpDdeMgr*)idInst)->DdeCreateDataHandle( pSrc, cb,
- cbOff, hszItem, wFmt, afCmd );
-}
-
-HDDEDATA DdeAddData(HDDEDATA hData, void* pSrc, sal_uIntPtr cb, sal_uIntPtr cbOff)
-{
- return ImpDdeMgr::DdeAddData( hData, pSrc, cb, cbOff );
-}
-
-sal_uIntPtr DdeGetData(HDDEDATA hData, void* pDst, sal_uIntPtr cbMax, sal_uIntPtr cbOff)
-{
- return ImpDdeMgr::DdeGetData( hData, pDst, cbMax, cbOff );
-}
-
-sal_uInt8* DdeAccessData(HDDEDATA hData, sal_uIntPtr* pcbDataSize)
-{
- return ImpDdeMgr::DdeAccessData( hData, pcbDataSize );
-}
-
-sal_Bool DdeUnaccessData(HDDEDATA hData)
-{
- return ImpDdeMgr::DdeUnaccessData( hData );
-}
-
-sal_Bool DdeFreeDataHandle(HDDEDATA hData)
-{
- return ImpDdeMgr::DdeFreeDataHandle( hData );
-}
-
-sal_uInt16 DdeGetLastError(sal_uIntPtr idInst)
-{
- if( !idInst )
- return DMLERR_DLL_NOT_INITIALIZED;
- return ((ImpDdeMgr*)idInst)->DdeGetLastError();
-}
-
-HSZ DdeCreateStringHandle(sal_uIntPtr idInst, PSZ pszString,int iCodePage )
-{
- if( !idInst )
- return 0;
- return ((ImpDdeMgr*)idInst)->DdeCreateStringHandle(pszString,iCodePage);
-}
-
-sal_uIntPtr DdeQueryString( sal_uIntPtr idInst, HSZ hsz, PSZ pBuf,
- sal_uIntPtr cchMax, int iCodePage )
-{
- if( !idInst )
- return 0;
- return ((ImpDdeMgr*)idInst)->DdeQueryString( hsz,pBuf,cchMax,iCodePage);
-}
-
-sal_Bool DdeFreeStringHandle( sal_uIntPtr idInst, HSZ hsz)
-{
- if( !idInst )
- return sal_False;
- return ((ImpDdeMgr*)idInst)->DdeFreeStringHandle( hsz );
-}
-
-sal_Bool DdeKeepStringHandle( sal_uIntPtr idInst, HSZ hsz )
-{
- if( !idInst )
- return sal_False;
- return ((ImpDdeMgr*)idInst)->DdeKeepStringHandle( hsz );
-}
-
-int DdeCmpStringHandles(HSZ hsz1, HSZ hsz2)
-{
- return ImpDdeMgr::DdeCmpStringHandles( hsz1, hsz2 );
-}
-
-HDDEDATA DdeNameService( sal_uIntPtr idInst, HSZ hsz1, HSZ hszRes, sal_uInt16 afCmd )
-{
- if( !idInst )
- return 0;
- return ((ImpDdeMgr*)idInst)->DdeNameService( hsz1, afCmd );
-}
-
-
diff --git a/svl/source/svdde/ddemldeb.cxx b/svl/source/svdde/ddemldeb.cxx
deleted file mode 100644
index 84b9ca555546..000000000000
--- a/svl/source/svdde/ddemldeb.cxx
+++ /dev/null
@@ -1,280 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svl.hxx"
-
-#include "ddemlimp.hxx"
-
-#ifdef OV_DEBUG
-#include <svgen.hxx>
-#endif
-
-#if defined(OV_DEBUG)
-
-void ImpAddHSZ( HSZ hszString, String& rStr )
-{
- char aBuf[ 128 ];
- ImpDdeMgr::DdeQueryString( hszString,aBuf,sizeof(aBuf),850);
- rStr += " (\""; rStr += aBuf; rStr += "\",";
- HATOMTBL hAtomTable = WinQuerySystemAtomTable();
- sal_uIntPtr nRefCount = 0;
- if( hszString )
- nRefCount = WinQueryAtomUsage(hAtomTable, (ATOM)hszString );
- rStr += nRefCount; rStr += ')';
-}
-
-
-void ImpWriteDdeStatus(char* aFilename, char* pAppContext)
-{
- char aBuf[ 128 ];
- sal_uInt16 nCtr;
- HWND* pAppPtr;
- ImpHCONV* pConvPtr;
- Transaction* pTransPtr;
-
- ImpDdeMgrData* pData = ImpDdeMgr::AccessMgrData();
- if( !pData )
- return;
- SvFileStream aStrm(aFilename, STREAM_READWRITE );
- String aLine;
- aStrm.Seek( STREAM_SEEK_TO_END );
- aStrm << endl;
- aStrm.WriteLine("********************** DDEML-Log ***********************");
- aStrm << endl;
- if( pAppContext )
- {
- aLine = Application::GetAppName();
- aLine += ':';
- aLine += "App-Context:"; aLine += pAppContext;
- aStrm.WriteLine( aLine ); aStrm << endl;
- }
- aStrm.WriteLine("----------------- ImpDdeMgrData -------------------");
- aStrm << endl;
- aLine= "TotalSize :"; aLine+= pData->nTotalSize; aStrm.WriteLine(aLine);
- aLine= "nOffsAppTable :"; aLine+= pData->nOffsAppTable; aStrm.WriteLine(aLine);
- aLine= "nOffsConvTable :"; aLine+= pData->nOffsConvTable; aStrm.WriteLine(aLine);
- aLine= "nOffsTransTable:"; aLine+= pData->nOffsTransTable; aStrm.WriteLine(aLine);
- aLine= "nMaxAppCount :"; aLine+= pData->nMaxAppCount; aStrm.WriteLine(aLine);
- aLine= "nMaxConvCount :"; aLine+= pData->nMaxConvCount; aStrm.WriteLine(aLine);
- aLine= "nMaxTransCount :"; aLine+= pData->nMaxTransCount; aStrm.WriteLine(aLine);
- aLine= "nLastErr :"; aLine+= pData->nLastErr; aStrm.WriteLine(aLine);
- aLine= "nCurConvCount :"; aLine+= pData->nCurConvCount; aStrm.WriteLine(aLine);
- aLine= "nCurTransCount :"; aLine+= pData->nCurTransCount; aStrm.WriteLine(aLine);
- aStrm << endl;
- aStrm.WriteLine("---------- Registered DDEML-Applications -----------");
- aStrm << endl;
- pAppPtr = ImpDdeMgr::GetAppTable( pData );
- for( nCtr = 0; nCtr < pData->nMaxAppCount; nCtr++, pAppPtr++ )
- {
- if( *pAppPtr )
- {
- aLine = "App."; aLine += nCtr; aLine += " HWND:";
- aLine += (sal_uIntPtr)*pAppPtr; aStrm.WriteLine(aLine);
- }
- }
-
- aStrm << endl;
- aStrm.WriteLine("-------------- Conversation handles ----------------");
- aStrm << endl;
-
- sal_uInt16 nCurCount = pData->nCurConvCount;
-
- if( nCurCount )
- {
- pConvPtr = ImpDdeMgr::GetConvTable( pData );
- for( nCtr = 0; nCtr < pData->nMaxConvCount; nCtr++, pConvPtr++ )
- {
- if( pConvPtr->hWndThis )
- {
- aLine = "HCONV:"; aLine += nCtr;
- aLine += " HCONVpartner: "; aLine += (sal_uInt16)pConvPtr->hConvPartner;
- if( !pConvPtr->hConvPartner ) aLine += "(Non-DDEML-App)";
- aLine += " hszPartner: "; aLine += (sal_uInt16)pConvPtr->hszPartner;
- ImpAddHSZ( pConvPtr->hszPartner, aLine );
- aStrm.WriteLine( aLine );
-
- aLine = "hszService: "; aLine += (sal_uInt16)pConvPtr->hszServiceReq;
- ImpAddHSZ( pConvPtr->hszServiceReq, aLine );
- aLine += " hszTopic: "; aLine += (sal_uInt16)pConvPtr->hszTopic;
- ImpAddHSZ( pConvPtr->hszTopic, aLine );
- aStrm.WriteLine( aLine );
-
- aLine= "Status: "; aLine+= pConvPtr->nStatus;
- if( pConvPtr->nStatus & ST_CLIENT ) aLine += " (Client)";
- if( pConvPtr->nStatus & ST_INLIST ) aLine += " (Inlist)";
- aStrm.WriteLine(aLine);
-
- aLine = "pidOwner: "; aLine += (sal_uIntPtr)pConvPtr->pidOwner;
- aStrm.WriteLine( aLine );
- aLine = "hWndThis: "; aLine += (sal_uIntPtr)pConvPtr->hWndThis;
- aStrm.WriteLine( aLine );
- aLine = "hWndPartner: "; aLine += (sal_uIntPtr)pConvPtr->hWndPartner;
- aStrm.WriteLine( aLine );
-
- aLine = "hConvList: "; aLine += (sal_uIntPtr)pConvPtr->hConvList;
- aLine += " Prev: "; aLine += pConvPtr->nPrevHCONV;
- aLine += " Next: "; aLine += pConvPtr->nNextHCONV;
- aStrm.WriteLine( aLine );
- aStrm.WriteLine("----------------------------------------------------");
-
- nCurCount--;
- if( !nCurCount )
- break;
- }
- }
- }
-
- aStrm.WriteLine("----------------- Transaction Ids ------------------");
-
- nCurCount = pData->nCurTransCount;
- if( nCurCount )
- {
- pTransPtr = ImpDdeMgr::GetTransTable( pData );
- for( nCtr = 0; nCtr < pData->nMaxTransCount; nCtr++, pTransPtr++ )
- {
-
- if( pTransPtr->hConvOwner )
- {
- aLine = "TransactionId:"; aLine += nCtr;
- aLine += " hConvOwner: "; aLine += (sal_uInt16)pTransPtr->hConvOwner;
- aStrm.WriteLine( aLine );
- aLine = "Item: "; aLine += (sal_uInt16)pTransPtr->hszItem;
- ImpAddHSZ( pTransPtr->hszItem, aLine );
- aLine += " Format: "; aLine += pTransPtr->nFormat;
- aStrm.WriteLine( aLine );
- aLine = "TransactionType: "; aLine += pTransPtr->nType;
- aLine += " Convst: "; aLine += pTransPtr->nConvst;
- aLine += " LastErr: "; aLine += pTransPtr->nLastError;
- aLine += " Userhandle: "; aLine += pTransPtr->nUser;
- aStrm.WriteLine( aLine );
- aStrm.WriteLine("--------------------------------------------------");
-
- nCurCount--;
- if( !nCurCount )
- break;
- }
- }
- }
- aStrm << endl;
- aStrm.WriteLine("******************* End of DDEML-Log *******************");
-}
-
-void ImpWriteDdeData(char* aFilename, DDESTRUCT* pData)
-{
- char aBuf[ 128 ];
- sal_uInt16 nCtr;
- SvFileStream aStrm(aFilename, STREAM_READWRITE );
- aStrm.Seek( STREAM_SEEK_TO_END );
- String aLine;
- aStrm << endl;
- aLine = "cbData:"; aLine += pData->cbData; aStrm.WriteLine( aLine );
- aLine = "fsStatus:"; aLine += pData->fsStatus; aStrm.WriteLine( aLine );
- aLine = "usFormat:"; aLine += pData->usFormat; aStrm.WriteLine( aLine );
- aLine = "ItemName:"; aLine += (char*)((char*)pData+pData->offszItemName);
- aStrm.WriteLine( aLine );
- aLine = "offabData:"; aLine += pData->offabData; aStrm.WriteLine(aLine);
- char* pBuf = (char*)pData+pData->offabData;
- sal_uInt16 nLen = pData->cbData; // - pData->offabData;
- while( nLen )
- {
- aStrm << *pBuf;
- nLen--;
- pBuf++;
- }
- aStrm << endl;
-}
-
-void ImpWriteLogFile(char* pFilename, char* pStr)
-{
- SvFileStream aStrm(pFilename, STREAM_READWRITE );
- aStrm.Seek( STREAM_SEEK_TO_END );
- String aStr( Application::GetAppName() );
- aStr += ':'; aStr += pStr;
- aStrm.WriteLine( (char*)aStr.GetStr() );
-}
-
-#else
-
-void ImpWriteDdeStatus(char*, char* ) {}
-void ImpWriteDdeData(char*, DDESTRUCT*) {}
-void ImpWriteLogFile(char*, char*) {}
-
-#endif
-
-APIRET MyDosAllocSharedMem(void** ppBaseAddress, char* pszName, unsigned long ulObjectSize,
- unsigned long ulFlags, char* pContextStr )
-{
- APIRET nRet = DosAllocSharedMem(ppBaseAddress,pszName,ulObjectSize,ulFlags );
-#if 0 && defined(OV_DEBUG) && defined(LOGFILE)
- String aStr("DosAllocSharedMem:");
- aStr += pContextStr;
- aStr += ": ";
- aStr += ulObjectSize;
- aStr += " (";
- aStr += (sal_uIntPtr)*((char**)ppBaseAddress);
- aStr += ')';
- ImpWriteLogFile("\\ddeml.mem", (char*)aStr.GetStr() );
-#endif
- return nRet;
-}
-
-APIRET MyDosAllocMem(void** ppBaseAddress, unsigned long ulObjectSize,
- unsigned long ulFlags, char* pContextStr )
-{
- APIRET nRet = DosAllocMem(ppBaseAddress, ulObjectSize,ulFlags );
-#if 0 && defined(OV_DEBUG) && defined(LOGFILE)
- String aStr("DosAllocMem:");
- aStr += pContextStr;
- aStr += ": ";
- aStr += ulObjectSize;
- aStr += " (";
- aStr += (sal_uIntPtr)*((char**)ppBaseAddress);
- aStr += ')';
- ImpWriteLogFile("\\ddeml.mem", (char*)aStr.GetStr() );
-#endif
- return nRet;
-}
-
-
-APIRET MyDosFreeMem( void* pBaseAddress, char* pContextStr )
-{
- APIRET nRet = DosFreeMem( pBaseAddress );
-#if 0 && defined(OV_DEBUG) && defined(LOGFILE)
- String aStr("DosFreeMem:");
- aStr += pContextStr;
- aStr += ": ";
- aStr += (sal_uIntPtr)pBaseAddress;
- ImpWriteLogFile("\\ddeml.mem", (char*)aStr.GetStr());
-#endif
- return nRet;
-}
-
-
-
-
-
diff --git a/svl/source/svdde/ddemlimp.hxx b/svl/source/svdde/ddemlimp.hxx
deleted file mode 100644
index a145bc489f0f..000000000000
--- a/svl/source/svdde/ddemlimp.hxx
+++ /dev/null
@@ -1,433 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _DDEMLIMP_HXX
-#define _DDEMLIMP_HXX
-
-
-#include <string.h>
-#include <ctype.h>
-#include "ddemlos2.h"
-
-#define DDEMLSERVICETABLE_INISIZE 8
-
-// Bezeichner der systemglobalen DDEML-Tabelle
-#define DDEMLDATA "\\SHAREMEM\\OV_DDEML.DAT"
-
-// vorlaeufig konstante Tabellengroessen
-#define CONVTABLECOUNT 2048 /* max count conversations */
-#define TRANSTABLECOUNT 2048 /* transactions */
-#define DDEMLAPPCOUNT 16 /* max count simultaniously running */
- /* ddeml (StarDivision) applications */
-
-#define ST_TERMACKREC 0x8000 /* wird im Conversationhandle gesetzt, */
- /* wenn die Partner-App DDE_TERMINATE */
- /* bestaetigt hat */
-
-#define XST_TIMEOUT 17 /* Trans. hat Timeout ueberschritten */
-#define XST_WAITING_ACK 18 /* Trans. wartet auf Acknowledge */
-#define XST_WAITING_ADVDATA 19 /* Trans. wartet auf Advise-Daten */
-#define XST_WAITING_REQDATA 20 /* Trans. wartet auf angeforderte Daten */
-
-
-/* User-Flags DDESTRUCT */
-#define IMP_HDATAAPPOWNED 0x8000
-
-#define CONVLISTNAME "DdeConvListId"
-
-#define XTYPF_MASK (XTYPF_NOBLOCK | XTYPF_NODATA | XTYPF_ACKREQ)
-
-//
-// DDEML-Messages; werden nur an registrierte DDEML-Apps gesendet
-//
-
-// Msg: WM_DDEML_REGISTER
-// Empfaenger: wird allen DDEML-Applikationen nach Registrierung
-// eines neuen Services gesendet
-// Params: nPar1: hszBaseServName
-// nPar2: hszInstServName
-#define WM_DDEML_REGISTER WM_USER+1
-
-// Msg: WM_DDEML_UNREGISTER
-// Empfaenger: wird allen DDEML-Applikationen nach Deregistrierung
-// eines Services gesendet
-// Params: nPar1: hszBaseServName
-// nPar2: hszInstServName
-#define WM_DDEML_UNREGISTER WM_USER+2
-
-//
-//
-//
-
-struct ImpHCONV
-{
- HCONV hConvPartner;
- HSZ hszPartner; // Name of partner application
- HSZ hszServiceReq; // Service name
- HSZ hszTopic; // Topic name
- sal_uInt16 nStatus; // ST_* of conversation
- HCONVLIST hConvList; // ConvListId , wenn in ConvList
- CONVCONTEXT aConvContext; // Conversation context
-
- // private
- HWND hWndThis; // 0 == Handle not used
- HWND hWndPartner;
- PID pidOwner; // PID des DdeManagers, der
- // den Conv-Handle erzeugt hat.
- sal_uInt16 nPrevHCONV; // 0 == no previous hConv or not in list
- sal_uInt16 nNextHCONV; // 0 == no next hconv or not in list
-};
-
-struct Transaction
-{
- HSZ hszItem; // Item name
- sal_uInt16 nFormat; // Data format
- sal_uInt16 nType; // Transaction type (XTYP_*)
- // XTYP_ADVREQ [|XTYPF_NODATA] == Advise-Loop
- // [|XTYPF_ACKREQ]
- // XTYP_EXECUTE == laufendes Execute
- // XTYP_REQUEST
- // XTYP_POKE
- // XTYP_ADVSTOP
- // XTYP_ADVSTART
- sal_uInt16 nConvst; // Conversation state (XST_*)
- // 0 == idle
- // XST_REQSENT (fuer XTYP_ADVREQ)
- // XST_TIMEOUT (fuer alle Typen!)
- // XST_WAITING (alle ausser XTYP_ADVREQ)
- sal_uInt16 nLastError; // last err in transaction
- sal_uIntPtr nUser; // Userhandle
- // private
- HCONV hConvOwner; // 0 == Transaction not used
-};
-
-
-struct ImpWndProcParams
-{
- HWND hWndReceiver;
- MPARAM nPar1;
- MPARAM nPar2;
-};
-
-struct ImpService
-{
- HSZ hBaseServName; // Basis-Name des Service
- HSZ hInstServName; // Basis-Name + DDEML-Server-HWND der App
-};
-
-class ImpDdeMgr;
-
-// Daten eines Conversation-Windows
-struct ImpConvWndData
-{
- ImpDdeMgr* pThis;
- sal_uInt16 nRefCount; // Zahl Conversations auf diesem Window
-};
-
-
-// systemglobale Daten der Library (liegen in named shared memory)
-struct ImpDdeMgrData
-{
- sal_uIntPtr nTotalSize;
- sal_uIntPtr nOffsAppTable;
- sal_uIntPtr nOffsConvTable;
- sal_uIntPtr nOffsTransTable;
- sal_uInt16 nMaxAppCount;
- sal_uInt16 nMaxConvCount;
- sal_uInt16 nMaxTransCount;
- sal_uInt16 nLastErr;
- sal_uInt16 nReserved;
- sal_uInt16 nCurTransCount;
- sal_uInt16 nCurConvCount;
- HWND aAppTable[ 1 ]; // fuer Broadcast-Messages
- ImpHCONV aConvTable[ 1 ];
- Transaction aTransTable[ 1 ];
-};
-
-
-
-class ImpDdeMgr
-{
- friend MRESULT EXPENTRY ConvWndProc(HWND hWnd,sal_uIntPtr nMsg,MPARAM nPar1,MPARAM nPar2);
- friend MRESULT EXPENTRY ServerWndProc(HWND hWnd,sal_uIntPtr nMsg,MPARAM nPar1,MPARAM nPar2);
- friend void ImpWriteDdeStatus(char*,char*);
- friend void ImpAddHSZ( HSZ, String& );
-
- static PSZ AllocAtomName( ATOM hString, sal_uIntPtr& rBufLen );
- static PDDESTRUCT MakeDDEObject( HWND hwnd, ATOM hItemName,
- sal_uInt16 fsStatus, sal_uInt16 usFormat, PVOID pabData, sal_uIntPtr usDataLen );
- static APIRET AllocNamedSharedMem( PPVOID ppBaseAddress, PSZ pName,
- sal_uIntPtr nElementSize, sal_uIntPtr nElementCount );
-
- HWND hWndServer;
- PID pidThis;
- PFNCALLBACK pCallback;
- sal_uIntPtr nTransactFilter;
- CONVCONTEXT aDefaultContext;
- ImpDdeMgrData* pData;
- ImpService* pServices;
- sal_uInt16 nServiceCount;
-
- ImpHCONV* pConvTable; // liegt in pData (nicht deleten!)
- Transaction* pTransTable; // liegt in pData (nicht deleten!)
- HWND* pAppTable; // liegt in pData (nicht deleten!)
-
- static ImpHCONV* GetConvTable( ImpDdeMgrData* );
- static Transaction* GetTransTable( ImpDdeMgrData* );
- static HWND* GetAppTable( ImpDdeMgrData* );
-
-
- static HWND NextFrameWin( HENUM hEnum );
- void CreateServerWnd();
- void DestroyServerWnd();
- HWND CreateConversationWnd();
- // Fktn. duerfen nur fuer HCONVs aufgerufen werden, die
- // in der eigenen Applikation erzeugt wurden
- static void DestroyConversationWnd( HWND hWndConv );
- static sal_uInt16 GetConversationWndRefCount( HWND hWndConv );
- static sal_uInt16 IncConversationWndRefCount( HWND hWndConv );
-
- MRESULT SrvWndProc(HWND hWnd,sal_uIntPtr nMsg,MPARAM nPar1,MPARAM nPar2);
- MRESULT ConvWndProc(HWND hWnd,sal_uIntPtr nMsg,MPARAM nPar1,MPARAM nPar2);
- void RegisterDDEMLApp();
- void UnregisterDDEMLApp();
- void CleanUp();
- ImpDdeMgrData* InitAll();
- static sal_Bool MyWinDdePostMsg( HWND, HWND, sal_uInt16, PDDESTRUCT, sal_uIntPtr );
- void MyInitiateDde( HWND hWndServer, HWND hWndClient,
- HSZ hszService, HSZ hszTopic, CONVCONTEXT* pCC );
- DDEINIT* CreateDDEInitData( HWND hWndDest, HSZ hszService,
- HSZ hszTopic, CONVCONTEXT* pCC );
- // wenn pDDEData==0, muss pCC gesetzt sein
- HCONV ConnectWithClient( HWND hWndClient, HSZ hszPartner,
- HSZ hszService, HSZ hszTopic, sal_Bool bSameInst,
- DDEINIT* pDDEData, CONVCONTEXT* pCC = 0);
-
- HCONV CheckIncoming( ImpWndProcParams*, sal_uIntPtr nTransMask,
- HSZ& rhszItem );
- // fuer Serverbetrieb. Ruft Callback-Fkt fuer alle offenen Advises
- // auf, deren Owner der uebergebene HCONV ist.
- // bFreeTransactions==sal_True: loescht die Transaktionen
- // gibt Anzahl der getrennten Transaktionen zurueck
- sal_uInt16 SendUnadvises( HCONV hConv,
- sal_uInt16 nFormat, // 0==alle
- sal_Bool bFreeTransactions );
-
- sal_Bool WaitTransState(
- Transaction* pTrans, sal_uIntPtr nTransId,
- sal_uInt16 nNewState,
- sal_uIntPtr nTimeout );
-
- // DDEML ruft Callback mit XTYP_CONNECT-Transaction nur auf,
- // wenn die App den angeforderten Service registriert hat
- // Standardeinstellung: sal_True
- sal_Bool bServFilterOn;
-
- // Fehlercode muss noch systemglobal werden (Atom o. ae.)
- static sal_uInt16 nLastErrInstance; // wenn 0, dann gilt globaler Fehlercode
-
- static ImpDdeMgrData* AccessMgrData();
-
- static HCONV CreateConvHandle( ImpDdeMgrData* pBase,
- PID pidOwner,
- HWND hWndThis, HWND hWndPartner,
- HSZ hszPartner, HSZ hszServiceReq, HSZ hszTopic,
- HCONV hPrevHCONV = 0 );
-
- static HCONV IsConvHandleAvailable( ImpDdeMgrData* pBase );
- static HCONV GetConvHandle( ImpDdeMgrData* pBase,
- HWND hWndThis, HWND hWndPartner );
- static void FreeConvHandle( ImpDdeMgrData*, HCONV,
- sal_Bool bDestroyHWndThis = sal_True );
-
- static sal_uIntPtr CreateTransaction( ImpDdeMgrData* pBase,
- HCONV hOwner, HSZ hszItem, sal_uInt16 nFormat,
- sal_uInt16 nTransactionType );
- static sal_uIntPtr GetTransaction( ImpDdeMgrData* pBase,
- HCONV hOwner, HSZ hszItem, sal_uInt16 nFormat );
-
- static void FreeTransaction( ImpDdeMgrData*, sal_uIntPtr nTransId );
-
- sal_Bool DisconnectAll();
- // Transaktionen muessen _vor_ den Konversationen geloescht werden!
- static void FreeTransactions( ImpDdeMgrData*, HWND hWndThis,
- HWND hWndPartner );
- static void FreeTransactions( ImpDdeMgrData*, HCONV hConvOwner );
-
- static void FreeConversations( ImpDdeMgrData*,HWND hWndThis,
- HWND hWndPartner );
-
- ImpService* GetService( HSZ hszService );
- ImpService* PutService( HSZ hszService );
- void BroadcastService( ImpService*, sal_Bool bRegistered );
-
- // rh: Startposition(!) & gefundener Handle
- static ImpHCONV* GetFirstServer( ImpDdeMgrData*, HCONVLIST, HCONV& rh);
- static ImpHCONV* GetLastServer( ImpDdeMgrData*, HCONVLIST, HCONV& );
- static sal_Bool CheckConvListId( HCONVLIST hConvListId );
-
- sal_Bool IsSameInstance( HWND hWnd );
- HSZ GetAppName( HWND hWnd );
-
-
- // Transactions
- MRESULT DdeAck( ImpWndProcParams* pParams );
- MRESULT DdeAdvise( ImpWndProcParams* pParams );
- MRESULT DdeData( ImpWndProcParams* pParams );
- MRESULT DdeExecute( ImpWndProcParams* pParams );
- MRESULT DdeInitiate( ImpWndProcParams* pParams );
- MRESULT DdeInitiateAck( ImpWndProcParams* pParams );
- MRESULT DdePoke( ImpWndProcParams* pParams );
- MRESULT DdeRequest( ImpWndProcParams* pParams );
- MRESULT DdeTerminate( ImpWndProcParams* pParams );
- MRESULT DdeUnadvise( ImpWndProcParams* pParams );
- MRESULT DdeRegister( ImpWndProcParams* pParams );
- MRESULT DdeUnregister( ImpWndProcParams* pParams );
- MRESULT DdeTimeout( ImpWndProcParams* pParams );
-
- HDDEDATA Callback(
- sal_uInt16 nTransactionType,
- sal_uInt16 nClipboardFormat,
- HCONV hConversationHandle,
- HSZ hsz1,
- HSZ hsz2,
- HDDEDATA hData,
- sal_uIntPtr nData1,
- sal_uIntPtr nData2 );
-
- HCONV DdeConnectImp( HSZ hszService,HSZ hszTopic,CONVCONTEXT* pCC);
-
- // connection data
- HCONV hCurConv; // wird im DdeInitiateAck gesetzt
- HCONVLIST hCurListId; // fuer DdeConnectList
- sal_uInt16 nPrevConv; // .... "" ....
- sal_Bool bListConnect;
-
- // synchr. transaction data
- sal_Bool bInSyncTrans;
- sal_uIntPtr nSyncTransId;
- HDDEDATA hSyncResponseData;
- sal_uIntPtr nSyncResponseMsg; // WM_DDE_ACK, WM_DDE_DATA, WM_TIMER
- // sal_True==nach Ende der synchronen Transaktion eine evtl. benutzte
- // asynchrone Transaktion beenden (typisch synchroner Request auf
- // Advise-Loop)
- sal_Bool bSyncAbandonTrans;
-
-public:
- ImpDdeMgr();
- ~ImpDdeMgr();
-
- sal_uInt16 DdeInitialize( PFNCALLBACK pCallbackProc, sal_uIntPtr nTransactionFilter );
- sal_uInt16 DdeGetLastError();
-
- HCONV DdeConnect( HSZ hszService, HSZ hszTopic, CONVCONTEXT* );
- HCONVLIST DdeConnectList( HSZ hszService, HSZ hszTopic,
- HCONVLIST hConvList, CONVCONTEXT* );
- static sal_Bool DdeDisconnect( HCONV hConv );
- static sal_Bool DdeDisconnectList( HCONVLIST hConvList );
- static HCONV DdeReconnect(HCONV hConv);
- static HCONV DdeQueryNextServer(HCONVLIST hConvList, HCONV hConvPrev);
- static sal_uInt16 DdeQueryConvInfo(HCONV hConv, sal_uIntPtr idTrans,CONVINFO* pCI);
- static sal_Bool DdeSetUserHandle(HCONV hConv, sal_uIntPtr id, sal_uIntPtr hUser);
- sal_Bool DdeAbandonTransaction( HCONV hConv, sal_uIntPtr idTransaction);
-
- sal_Bool DdePostAdvise( HSZ hszTopic, HSZ hszItem);
- sal_Bool DdeEnableCallback( HCONV hConv, sal_uInt16 wCmd);
-
- HDDEDATA DdeNameService( HSZ hszService, sal_uInt16 afCmd);
-
- static HDDEDATA DdeClientTransaction(void* pData, sal_uIntPtr cbData,
- HCONV hConv, HSZ hszItem, sal_uInt16 wFmt, sal_uInt16 wType,
- sal_uIntPtr dwTimeout, sal_uIntPtr* pdwResult);
-
- // Data handles
-
- HDDEDATA DdeCreateDataHandle( void* pSrc, sal_uIntPtr cb, sal_uIntPtr cbOff,
- HSZ hszItem, sal_uInt16 wFmt, sal_uInt16 afCmd);
- static sal_uInt8* DdeAccessData(HDDEDATA hData, sal_uIntPtr* pcbDataSize);
- static sal_Bool DdeUnaccessData(HDDEDATA hData);
- static sal_Bool DdeFreeDataHandle(HDDEDATA hData);
- static HDDEDATA DdeAddData(HDDEDATA hData,void* pSrc,sal_uIntPtr cb,sal_uIntPtr cbOff);
- static sal_uIntPtr DdeGetData(HDDEDATA hData,void* pDst,sal_uIntPtr cbMax,sal_uIntPtr cbOff);
-
- // String handles
-
- static HSZ DdeCreateStringHandle( PSZ pStr, int iCodePage);
- static sal_uIntPtr DdeQueryString(HSZ hsz,PSZ pStr,sal_uIntPtr cchMax,int iCPage);
- static sal_Bool DdeFreeStringHandle( HSZ hsz );
- static sal_Bool DdeKeepStringHandle( HSZ hsz );
- static int DdeCmpStringHandles(HSZ hsz1, HSZ hsz2);
-
- // mit dieser Funktion kann geprueft werden, ob eine
- // Applikation schon eine DDEML-Instanz angelegt hat.
- // Die aktuelle Impl. unterstuetzt nur eine DDEML-Instanz
- // pro Applikation (wg. synchroner Transaktionen)
- static ImpDdeMgr* GetImpDdeMgrInstance( HWND hWnd );
-
- // gibt sal_True zurueck, wenn mind. ein lebender HCONV
- // von diesem DdeMgr erzeugt wurde
- sal_Bool OwnsConversationHandles();
-};
-
-// static
-inline ImpHCONV* ImpDdeMgr::GetConvTable( ImpDdeMgrData* pData )
-{
- ImpHCONV* pRet;
- if( pData )
- pRet = (ImpHCONV*)((sal_uIntPtr)(pData) + pData->nOffsConvTable);
- else
- pRet = 0;
- return pRet;
-}
-
-// static
-inline Transaction* ImpDdeMgr::GetTransTable( ImpDdeMgrData* pData )
-{
- Transaction* pRet;
- if( pData )
- pRet = (Transaction*)((sal_uIntPtr)(pData) + pData->nOffsTransTable);
- else
- pRet = 0;
- return pRet;
-}
-
-// static
-inline HWND* ImpDdeMgr::GetAppTable( ImpDdeMgrData* pData )
-{
- HWND* pRet;
- if( pData )
- pRet = (HWND*)((sal_uIntPtr)(pData) + pData->nOffsAppTable);
- else
- pRet = 0;
- return pRet;
-}
-
-
-
-
-#endif
-
diff --git a/svl/source/svdde/ddemlos2.h b/svl/source/svdde/ddemlos2.h
deleted file mode 100644
index 0d8fec8cef8b..000000000000
--- a/svl/source/svdde/ddemlos2.h
+++ /dev/null
@@ -1,374 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _DDEML_H
-#define _DDEML_H
-
-#define INCL_OS2
-#define INCL_WIN
-
-#include <tools/svpm.h>
-#include <tools/solar.h>
-#include <tools/debug.hxx>
-#include <tools/stream.hxx>
-
-typedef LHANDLE HSTR;
-
-#ifndef CALLBACK
-#define CALLBACK
-#endif
-
-
-typedef sal_uIntPtr HCONVLIST;
-typedef sal_uIntPtr HCONV;
-typedef ATOM HSZ;
-typedef DDESTRUCT* HDDEDATA;
-
-struct CONVINFO
-{
- sal_uInt16 nSize; // sizeof(CONVINFO)
- sal_uIntPtr nUser; // Userhandle
- HCONV hConvPartner; //
- HSZ hszPartner; // Name der Partnerapp
- HSZ hszServiceReq; // Name des angeforderten Services
- HSZ hszTopic; // -- " -- Topics
- HSZ hszItem; // -- " -- Items
- sal_uInt16 nFormat; // Datenformat der akt. Transaktion
- sal_uInt16 nType; // Typ der akt. Transaktion (XTYP_*)
- sal_uInt16 nStatus; // ST_* der Konversation
- sal_uInt16 nConvst; // XST_* der akt. Transaktion
- sal_uInt16 nLastError; // letzter Fehler der Transaktion
- HCONVLIST hConvList; // ConvListId , wenn in ConvList
- CONVCONTEXT aConvCtxt; // conversation context
-};
-
-/* the following structure is for use with XTYP_WILDCONNECT processing. */
-
-struct HSZPAIR
-{
- HSZ hszSvc;
- HSZ hszTopic;
-};
-typedef HSZPAIR *PHSZPAIR;
-
-/***** conversation states (usState) *****/
-
-#define XST_NULL 0 /* quiescent states */
-#define XST_INCOMPLETE 1
-#define XST_CONNECTED 2
-#define XST_INIT1 3 /* mid-initiation states */
-#define XST_INIT2 4
-#define XST_REQSENT 5 /* active conversation states */
-#define XST_DATARCVD 6
-#define XST_POKESENT 7
-#define XST_POKEACKRCVD 8
-#define XST_EXECSENT 9
-#define XST_EXECACKRCVD 10
-#define XST_ADVSENT 11
-#define XST_UNADVSENT 12
-#define XST_ADVACKRCVD 13
-#define XST_UNADVACKRCVD 14
-#define XST_ADVDATASENT 15
-#define XST_ADVDATAACKRCVD 16
-
-/* used in LOWORD(dwData1) of XTYP_ADVREQ callbacks... */
-#define CADV_LATEACK 0xFFFF
-
-/***** conversation status bits (fsStatus) *****/
-
-#define ST_CONNECTED 0x0001
-#define ST_ADVISE 0x0002
-#define ST_ISLOCAL 0x0004
-#define ST_BLOCKED 0x0008
-#define ST_CLIENT 0x0010
-#define ST_TERMINATED 0x0020
-#define ST_INLIST 0x0040
-#define ST_BLOCKNEXT 0x0080
-#define ST_ISSELF 0x0100
-
-
-/* DDE constants for wStatus field */
-
-//#define DDE_FACK 0x8000
-//#define DDE_FBUSY 0x4000
-//#define DDE_FDEFERUPD 0x4000
-//#define DDE_FACKREQ 0x8000
-//#define DDE_FRELEASE 0x2000
-//#define DDE_FREQUESTED 0x1000
-//#define DDE_FACKRESERVED 0x3ff0
-//#define DDE_FADVRESERVED 0x3fff
-//#define DDE_FDATRESERVED 0x4fff
-//#define DDE_FPOKRESERVED 0xdfff
-//#define DDE_FAPPSTATUS 0x00ff
-#define DDE_FNOTPROCESSED 0x0000
-
-/***** message filter hook types *****/
-
-#define MSGF_DDEMGR 0x8001
-
-/***** codepage constants ****/
-
-#define CP_WINANSI 1004 /* default codepage for windows & old DDE convs. */
-
-/***** transaction types *****/
-
-#define XTYPF_NOBLOCK 0x0002 /* CBR_BLOCK will not work */
-#define XTYPF_NODATA 0x0004 /* DDE_FDEFERUPD */
-#define XTYPF_ACKREQ 0x0008 /* DDE_FACKREQ */
-
-#define XCLASS_MASK 0xFC00
-#define XCLASS_BOOL 0x1000
-#define XCLASS_DATA 0x2000
-#define XCLASS_FLAGS 0x4000
-#define XCLASS_NOTIFICATION 0x8000
-
-#define XTYP_ERROR (0x0000 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK )
-#define XTYP_ADVDATA (0x0010 | XCLASS_FLAGS )
-#define XTYP_ADVREQ (0x0020 | XCLASS_DATA | XTYPF_NOBLOCK )
-#define XTYP_ADVSTART (0x0030 | XCLASS_BOOL )
-#define XTYP_ADVSTOP (0x0040 | XCLASS_NOTIFICATION)
-#define XTYP_EXECUTE (0x0050 | XCLASS_FLAGS )
-#define XTYP_CONNECT (0x0060 | XCLASS_BOOL | XTYPF_NOBLOCK)
-#define XTYP_CONNECT_CONFIRM (0x0070 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK)
-#define XTYP_XACT_COMPLETE (0x0080 | XCLASS_NOTIFICATION )
-#define XTYP_POKE (0x0090 | XCLASS_FLAGS )
-#define XTYP_REGISTER (0x00A0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK)
-#define XTYP_REQUEST (0x00B0 | XCLASS_DATA )
-#define XTYP_DISCONNECT (0x00C0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK)
-#define XTYP_UNREGISTER (0x00D0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK)
-#define XTYP_WILDCONNECT (0x00E0 | XCLASS_DATA | XTYPF_NOBLOCK)
-
-#define XTYP_MASK 0x00F0
-#define XTYP_SHIFT 4 /* shift to turn XTYP_ into an index */
-
-/***** Timeout constants *****/
-
-#define TIMEOUT_ASYNC -1L
-
-/***** Transaction ID constants *****/
-
-#define QID_SYNC -1L
-
-/****** public strings used in DDE ******/
-
-#define SZDDESYS_TOPIC "System"
-#define SZDDESYS_ITEM_TOPICS "Topics"
-#define SZDDESYS_ITEM_SYSITEMS "SysItems"
-#define SZDDESYS_ITEM_RTNMSG "ReturnMessage"
-#define SZDDESYS_ITEM_STATUS "Status"
-#define SZDDESYS_ITEM_FORMATS "Formats"
-#define SZDDESYS_ITEM_HELP "Help"
-#define SZDDE_ITEM_ITEMLIST "TopicItemList"
-
-
-/****** API entry points ******/
-
-typedef HDDEDATA CALLBACK FNCALLBACK(sal_uInt16 wType, sal_uInt16 wFmt, HCONV hConv,
- HSZ hsz1, HSZ hsz2, HDDEDATA hData, sal_uIntPtr dwData1, sal_uIntPtr dwData2);
-typedef FNCALLBACK* PFNCALLBACK;
-
-#define CBR_BLOCK 0xffffffffL
-
-/* DLL registration functions */
-
-sal_uInt16 DdeInitialize(sal_uIntPtr* pidInst, PFNCALLBACK pfnCallback,
- sal_uIntPtr afCmd, sal_uIntPtr ulRes);
-
-/*
- * Callback filter flags for use with standard apps.
- */
-
-#define CBF_FAIL_SELFCONNECTIONS 0x00001000
-#define CBF_FAIL_CONNECTIONS 0x00002000
-#define CBF_FAIL_ADVISES 0x00004000
-#define CBF_FAIL_EXECUTES 0x00008000
-#define CBF_FAIL_POKES 0x00010000
-#define CBF_FAIL_REQUESTS 0x00020000
-#define CBF_FAIL_ALLSVRXACTIONS 0x0003f000
-
-#define CBF_SKIP_CONNECT_CONFIRMS 0x00040000
-#define CBF_SKIP_REGISTRATIONS 0x00080000
-#define CBF_SKIP_UNREGISTRATIONS 0x00100000
-#define CBF_SKIP_DISCONNECTS 0x00200000
-#define CBF_SKIP_ALLNOTIFICATIONS 0x003c0000
-
-/*
- * Application command flags
- */
-#define APPCMD_CLIENTONLY 0x00000010L
-#define APPCMD_FILTERINITS 0x00000020L
-#define APPCMD_MASK 0x00000FF0L
-
-/*
- * Application classification flags
- */
-#define APPCLASS_STANDARD 0x00000000L
-#define APPCLASS_MASK 0x0000000FL
-
-
-sal_Bool DdeUninitialize(sal_uIntPtr idInst);
-
-/* conversation enumeration functions */
-
-HCONVLIST DdeConnectList(sal_uIntPtr idInst, HSZ hszService, HSZ hszTopic,
- HCONVLIST hConvList, CONVCONTEXT* pCC);
-HCONV DdeQueryNextServer(HCONVLIST hConvList, HCONV hConvPrev);
-sal_Bool DdeDisconnectList(HCONVLIST hConvList);
-
-/* conversation control functions */
-
-HCONV DdeConnect(sal_uIntPtr idInst, HSZ hszService, HSZ hszTopic,
- CONVCONTEXT* pCC);
-sal_Bool DdeDisconnect(HCONV hConv);
-HCONV DdeReconnect(HCONV hConv);
-
-sal_uInt16 DdeQueryConvInfo(HCONV hConv, sal_uIntPtr idTransaction, CONVINFO* pConvInfo);
-sal_Bool DdeSetUserHandle(HCONV hConv, sal_uIntPtr id, sal_uIntPtr hUser);
-
-sal_Bool DdeAbandonTransaction(sal_uIntPtr idInst, HCONV hConv, sal_uIntPtr idTransaction);
-
-
-/* app server interface functions */
-
-sal_Bool DdePostAdvise(sal_uIntPtr idInst, HSZ hszTopic, HSZ hszItem);
-sal_Bool DdeEnableCallback(sal_uIntPtr idInst, HCONV hConv, sal_uInt16 wCmd);
-
-#define EC_ENABLEALL 0
-#define EC_ENABLEONE ST_BLOCKNEXT
-#define EC_DISABLE ST_BLOCKED
-#define EC_QUERYWAITING 2
-
-HDDEDATA DdeNameService(sal_uIntPtr idInst, HSZ hsz1, HSZ hsz2, sal_uInt16 afCmd);
-
-#define DNS_REGISTER 0x0001
-#define DNS_UNREGISTER 0x0002
-#define DNS_FILTERON 0x0004
-#define DNS_FILTEROFF 0x0008
-
-/* app client interface functions */
-
-HDDEDATA DdeClientTransaction(void* pData, sal_uIntPtr cbData,
- HCONV hConv, HSZ hszItem, sal_uInt16 wFmt, sal_uInt16 wType,
- sal_uIntPtr dwTimeout, sal_uIntPtr* pdwResult);
-
-/* data transfer functions */
-
-HDDEDATA DdeCreateDataHandle(sal_uIntPtr idInst, void* pSrc, sal_uIntPtr cb,
- sal_uIntPtr cbOff, HSZ hszItem, sal_uInt16 wFmt, sal_uInt16 afCmd);
-// HDDEDATA DdeAddData(HDDEDATA hData, void* pSrc, sal_uIntPtr cb, sal_uIntPtr cbOff);
-sal_uIntPtr DdeGetData(HDDEDATA hData, void* pDst, sal_uIntPtr cbMax, sal_uIntPtr cbOff);
-sal_uInt8* DdeAccessData(HDDEDATA hData, sal_uIntPtr* pcbDataSize);
-sal_Bool DdeUnaccessData(HDDEDATA hData);
-sal_Bool DdeFreeDataHandle(HDDEDATA hData);
-
-#define HDATA_APPOWNED 0x0001
-
-sal_uInt16 DdeGetLastError(sal_uIntPtr idInst);
-
-#define DMLERR_NO_ERROR 0 /* must be 0 */
-
-#define DMLERR_FIRST 0x4000
-
-#define DMLERR_ADVACKTIMEOUT 0x4000
-#define DMLERR_BUSY 0x4001
-#define DMLERR_DATAACKTIMEOUT 0x4002
-#define DMLERR_DLL_NOT_INITIALIZED 0x4003
-#define DMLERR_DLL_USAGE 0x4004
-#define DMLERR_EXECACKTIMEOUT 0x4005
-#define DMLERR_INVALIDPARAMETER 0x4006
-#define DMLERR_LOW_MEMORY 0x4007
-#define DMLERR_MEMORY_ERROR 0x4008
-#define DMLERR_NOTPROCESSED 0x4009
-#define DMLERR_NO_CONV_ESTABLISHED 0x400a
-#define DMLERR_POKEACKTIMEOUT 0x400b
-#define DMLERR_POSTMSG_FAILED 0x400c
-#define DMLERR_REENTRANCY 0x400d
-#define DMLERR_SERVER_DIED 0x400e
-#define DMLERR_SYS_ERROR 0x400f
-#define DMLERR_UNADVACKTIMEOUT 0x4010
-#define DMLERR_UNFOUND_QUEUE_ID 0x4011
-
-#define DMLERR_LAST 0x4011
-
-HSZ DdeCreateStringHandle(sal_uIntPtr idInst, PSZ pStr, int iCodePage);
-sal_uIntPtr DdeQueryString(sal_uIntPtr idInst, HSZ hsz, PSZ pStr, sal_uIntPtr cchMax,
- int iCodePage);
-sal_Bool DdeFreeStringHandle(sal_uIntPtr idInst, HSZ hsz);
-sal_Bool DdeKeepStringHandle(sal_uIntPtr idInst, HSZ hsz);
-int DdeCmpStringHandles(HSZ hsz1, HSZ hsz2);
-
-
-
-/* von OS/2 nicht unterstuetzte Win3.1 Clipboard-Formate */
-
-#define CF_NOTSUPPORTED_BASE 0xff00
-
-#ifndef CF_DIB
-#define CF_DIB CF_NOTSUPPORTED_BASE+1
-#endif
-
-#ifndef CF_DIF
-#define CF_DIF CF_NOTSUPPORTED_BASE+2
-#endif
-
-#ifndef CF_DSPMETAFILEPICT
-#define CF_DSPMETAFILEPICT CF_NOTSUPPORTED_BASE+3
-#endif
-
-#ifndef CF_METAFILEPICT
-#define CF_METAFILEPICT CF_NOTSUPPORTED_BASE+4
-#endif
-
-#ifndef CF_OEMTEXT
-#define CF_OEMTEXT CF_NOTSUPPORTED_BASE+5
-#endif
-
-#ifndef CF_OWNERDISPLAY
-#define CF_OWNERDISPLAY CF_NOTSUPPORTED_BASE+6
-#endif
-
-#ifndef CF_PENDATA
-#define CF_PENDATA CF_NOTSUPPORTED_BASE+7
-#endif
-
-#ifndef CF_RIFF
-#define CF_RIFF CF_NOTSUPPORTED_BASE+8
-#endif
-
-#ifndef CF_SYLK
-#define CF_SYLK CF_NOTSUPPORTED_BASE+9
-#endif
-
-#ifndef CF_TIFF
-#define CF_TIFF CF_NOTSUPPORTED_BASE+10
-#endif
-
-#ifndef CF_WAVE
-#define CF_WAVE CF_NOTSUPPORTED_BASE+11
-#endif
-
-
-#endif /* _DDEML_HXX */
diff --git a/svl/source/svdde/makefile.mk b/svl/source/svdde/makefile.mk
deleted file mode 100644
index d7f0a790486b..000000000000
--- a/svl/source/svdde/makefile.mk
+++ /dev/null
@@ -1,60 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-
-.IF "$(GUIBASE)"=="WIN"
-
-PRJ=..$/..
-
-PRJNAME=svl
-TARGET=svdde
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
-
-# --- Files --------------------------------------------------------
-
-
-SLOFILES= $(SLO)$/ddecli.obj \
- $(SLO)$/ddesvr.obj \
- $(SLO)$/ddedata.obj \
- $(SLO)$/ddestrg.obj \
- $(SLO)$/ddewrap.obj \
- $(SLO)$/ddeinf.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-.ELSE
-dummy:
- @echo GUI == "$(GUI)" - nothing to do
-
-.ENDIF
-
diff --git a/svl/source/svsql/converter.cxx b/svl/source/svsql/converter.cxx
index 7b684110a196..2f6fa9f8c389 100644
--- a/svl/source/svsql/converter.cxx
+++ b/svl/source/svsql/converter.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
-#include "converter.hxx"
+#include <svl/converter.hxx>
sal_Int32 SvDbaseConverter::ConvertPrecisionToDbase(sal_Int32 _nLen, sal_Int32 _nScale)
{
diff --git a/svl/source/svsql/makefile.mk b/svl/source/svsql/makefile.mk
deleted file mode 100644
index e837d022fb1e..000000000000
--- a/svl/source/svsql/makefile.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svl
-TARGET=svsql
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/converter.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svl/source/undo/makefile.mk b/svl/source/undo/makefile.mk
deleted file mode 100644
index 8a615d97a03b..000000000000
--- a/svl/source/undo/makefile.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svl
-TARGET=undo
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/undo.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svl/source/uno/makefile.mk b/svl/source/uno/makefile.mk
deleted file mode 100644
index 3414871305d5..000000000000
--- a/svl/source/uno/makefile.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svl
-TARGET=unoiface
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/registerservices.obj\
- $(SLO)$/pathservice.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svl/unx/source/svdde/makefile.mk b/svl/unx/source/svdde/makefile.mk
deleted file mode 100644
index 3d2ae4308821..000000000000
--- a/svl/unx/source/svdde/makefile.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-
-PRJNAME=svl
-TARGET=svdde
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/ddedummy.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svl/util/makefile.mk b/svl/util/makefile.mk
deleted file mode 100644
index 7cb493ae0d94..000000000000
--- a/svl/util/makefile.mk
+++ /dev/null
@@ -1,130 +0,0 @@
-#*************************************************************************
-#*
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=svl
-TARGET=svl
-RESTARGETSIMPLE=svs
-GEN_HID=TRUE
-# GEN_HID_OTHER=TRUE
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- general section ----------------------------------------------------
-
-.IF "$(GUI)"!="UNX"
-LIB2TARGET= $(LB)$/isvl.lib
-LIB2FILES= $(LB)$/_isvl.lib
-.ENDIF
-
-LIB1TARGET= $(SLB)$/svl.lib
-LIB1FILES= \
- $(SLB)$/config.lib \
- $(SLB)$/svdde.lib \
- $(SLB)$/undo.lib \
- $(SLB)$/numbers.lib \
- $(SLB)$/numbers.uno.lib \
- $(SLB)$/filerec.lib \
- $(SLB)$/filepicker.lib \
- $(SLB)$/items.lib \
- $(SLB)$/misc.lib \
- $(SLB)$/notify.lib \
- $(SLB)$/unoiface.lib \
- $(SLB)$/svarray.lib \
- $(SLB)$/svsql.lib
-
-# generation of resourcen-lib ----------------------------------------
-
-RESLIB1NAME= $(RESTARGETSIMPLE)
-RESLIB1SRSFILES=\
- $(SRS)$/items.srs \
- $(SRS)$/misc.srs
-
-# build the shared library --------------------------------------------------
-
-SHL1TARGET= svl$(DLLPOSTFIX)
-SHL1IMPLIB= _isvl
-SHL1USE_EXPORTS=name
-#Do not link with VCL or any other library that links with VCL
-SHL1STDLIBS= \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(I18NISOLANGLIB) \
- $(UCBHELPERLIB) \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(VOSLIB) \
- $(SOTLIB) \
- $(SALLIB)
-
-.IF "$(GUI)"=="WNT"
-SHL1STDLIBS+= \
- $(UWINAPILIB) \
- $(ADVAPI32LIB) \
- $(GDI32LIB)
-.ENDIF # WNT
-
-SHL1LIBS= $(SLB)$/svl.lib
-
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME= $(SHL1TARGET)
-DEF1DEPN= $(SLB)$/svl.lib
-DEFLIB1NAME=svl
-DEF1DES =SvTools lite
-
-# --- Targets ------------------------------------------------------
-
-.IF "$(GUI)"=="UNX"
-SVTTARGETS= $(LB)$/lib$(SHL1TARGET)$(DLLPOST)
-.ELSE
-SVTTARGETS= $(LB)$/isvl.lib
-.ENDIF
-
-# just a quick fix - has to be cleaned up some day...
-.IF "$(L10N-framework)"==""
-ALL: $(SLB)$/svl.lib \
- $(MISC)$/$(SHL1TARGET).def \
- $(SVTTARGETS) \
- ALLTAR
-.ENDIF # "$(L10N-framework)"==""
-
-.INCLUDE : target.mk
-
-
-ALLTAR : $(MISC)/svl.component
-
-$(MISC)/svl.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- svl.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt svl.component
diff --git a/svl/source/config/makefile.mk b/svtools/AllLangResTarget_productregistration.mk
index beb696c0feaf..af510d338c6e 100644
--- a/svl/source/config/makefile.mk
+++ b/svtools/AllLangResTarget_productregistration.mk
@@ -2,7 +2,7 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
+# Copyright 2009 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
#
@@ -14,39 +14,37 @@
#
# 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
+# 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
+# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ=..$/..
-PRJNAME=svl
-TARGET=config
+$(eval $(call gb_AllLangResTarget_AllLangResTarget,productregistration))
-ENABLE_EXCEPTIONS := TRUE
+$(eval $(call gb_AllLangResTarget_set_reslocation,productregistration,svtools))
-# --- Settings -----------------------------------------------------
+$(eval $(call gb_AllLangResTarget_add_srs,productregistration,\
+ svt/productregistration \
+))
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
+$(eval $(call gb_SrsTarget_SrsTarget,svt/productregistration))
-# --- Files --------------------------------------------------------
+$(eval $(call gb_SrsTarget_set_include,svt/productregistration,\
+ $$(INCLUDE) \
+ -I$(WORKDIR)/inc \
+ -I$(SRCDIR)/svtools/source/inc \
+ -I$(SRCDIR)/svtools/inc/ \
+ -I$(SRCDIR)/svtools/inc/svtools \
+))
-SLOFILES= \
- $(SLO)$/asiancfg.obj \
- $(SLO)$/cjkoptions.obj \
- $(SLO)$/ctloptions.obj \
- $(SLO)$/srchcfg.obj \
- $(SLO)$/itemholder2.obj \
- $(SLO)$/languageoptions.obj
+$(eval $(call gb_SrsTarget_add_files,svt/productregistration,\
+ svtools/source/productregistration/registrationdlg.src \
+))
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/AllLangResTarget_svt.mk b/svtools/AllLangResTarget_svt.mk
new file mode 100644
index 000000000000..511cdb4ed13e
--- /dev/null
+++ b/svtools/AllLangResTarget_svt.mk
@@ -0,0 +1,74 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_AllLangResTarget_AllLangResTarget,svt))
+
+$(eval $(call gb_AllLangResTarget_set_reslocation,svt,svtools))
+
+$(eval $(call gb_AllLangResTarget_add_srs,svt,\
+ svt/res \
+))
+
+$(eval $(call gb_SrsTarget_SrsTarget,svt/res))
+
+$(eval $(call gb_SrsTarget_set_include,svt/res,\
+ $$(INCLUDE) \
+ -I$(WORKDIR)/inc \
+ -I$(SRCDIR)/svtools/source/uno \
+ -I$(SRCDIR)/svtools/source/inc \
+ -I$(SRCDIR)/svtools/inc/ \
+ -I$(SRCDIR)/svtools/inc/svtools \
+))
+
+$(eval $(call gb_SrsTarget_add_files,svt/res,\
+ svtools/source/brwbox/editbrowsebox.src \
+ svtools/source/contnr/fileview.src \
+ svtools/source/contnr/svcontnr.src \
+ svtools/source/contnr/templwin.src \
+ svtools/source/control/calendar.src \
+ svtools/source/control/ctrlbox.src \
+ svtools/source/control/ctrltool.src \
+ svtools/source/control/filectrl.src \
+ svtools/source/dialogs/addresstemplate.src \
+ svtools/source/dialogs/colrdlg.src \
+ svtools/source/dialogs/filedlg2.src \
+ svtools/source/dialogs/formats.src \
+ svtools/source/dialogs/printdlg.src \
+ svtools/source/dialogs/prnsetup.src \
+ svtools/source/dialogs/so3res.src \
+ svtools/source/dialogs/wizardmachine.src \
+ svtools/source/java/javaerror.src \
+ svtools/source/misc/ehdl.src \
+ svtools/source/misc/helpagent.src \
+ svtools/source/misc/imagemgr.src \
+ svtools/source/misc/langtab.src \
+ svtools/source/misc/undo.src \
+ svtools/source/plugapp/testtool.src \
+))
+
+
+# vim: set noet sw=4 ts=4:
diff --git a/svtools/Executable_bmp.mk b/svtools/Executable_bmp.mk
new file mode 100644
index 000000000000..24019ced63d2
--- /dev/null
+++ b/svtools/Executable_bmp.mk
@@ -0,0 +1,71 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Executable_Executable,bmp))
+
+$(eval $(call gb_Executable_set_include,bmp,\
+ $$(INCLUDE) \
+ -I$(WORKDIR)/inc/svtools \
+ -I$(WORKDIR)/inc/ \
+ -I$(OUTDIR)/inc/ \
+ -I$(SRCDIR)/svtools/inc \
+ -I$(SRCDIR)/svtools/inc/svtools \
+ -I$(SRCDIR)/svtools/source/inc \
+ -I$(SRCDIR)/svtools/inc/pch \
+ -I$(OUTDIR)/inc/offuh \
+))
+
+$(eval $(call gb_Executable_add_linked_libs,bmp,\
+ sal \
+ stl \
+ tl \
+ vcl \
+ vos3 \
+))
+
+$(eval $(call gb_Executable_add_exception_objects,bmp,\
+ svtools/bmpmaker/bmp \
+ svtools/bmpmaker/bmpcore \
+))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Executable_add_linked_libs,bmp,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Executable_add_linked_libs,bmp,\
+ dl \
+ pthread \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/svl/qa/complex/ConfigItems/makefile.mk b/svtools/Executable_bmpsum.mk
index b4241f24dfee..3d04c3b5a25a 100644
--- a/svl/qa/complex/ConfigItems/makefile.mk
+++ b/svtools/Executable_bmpsum.mk
@@ -2,7 +2,7 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
+# Copyright 2009 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
#
@@ -14,48 +14,54 @@
#
# 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
+# 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
+# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-PRJ = ../../..
-PRJNAME = svl
-TARGET = qa_complex_ConfigItems
+$(eval $(call gb_Executable_Executable,bmpsum))
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/ConfigItems
+$(eval $(call gb_Executable_set_include,bmpsum,\
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc/ \
+ -I$(OUTDIR)/inc/offuh/ \
+ -I$(SRCDIR)/svtools/inc/ \
+ -I$(SRCDIR)/svtools/inc/pch/ \
+ -I$(SRCDIR)/svtools/inc/svtools/ \
+))
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- CheckConfigItems.java
+$(eval $(call gb_Executable_add_linked_libs,bmpsum,\
+ sal \
+ stl \
+ tl \
+ vcl \
+ vos3 \
+))
-# put here all other files
-JAVAFILES = $(JAVATESTFILES)
-
-JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
-EXTRAJARFILES = $(OOO_JUNIT_JAR)
-
-# Sample how to debug
-# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-
-.END
-
-.INCLUDE: settings.mk
-.INCLUDE: target.mk
-.INCLUDE: installationtest.mk
-
-ALLTAR : javatest
-
-.END
+$(eval $(call gb_Executable_add_exception_objects,bmpsum,\
+ svtools/bmpmaker/bmpsum \
+))
+ifeq ($(OS),WNT)
+$(eval $(call gb_Executable_add_linked_libs,bmpsum,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Executable_add_linked_libs,bmpsum,\
+ dl \
+ pthread \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/svl/inc/makefile.mk b/svtools/Executable_g2g.mk
index a99cf8acc0d2..99bde19e1055 100644
--- a/svl/inc/makefile.mk
+++ b/svtools/Executable_g2g.mk
@@ -2,7 +2,7 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
+# Copyright 2009 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
#
@@ -14,35 +14,55 @@
#
# 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
+# 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
+# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ=..
-PRJNAME=svl
-TARGET=inc
+$(eval $(call gb_Executable_Executable,g2g))
-# --- Settings -----------------------------------------------------
+$(eval $(call gb_Executable_set_include,g2g,\
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc/ \
+ -I$(OUTDIR)/inc/offuh/ \
+ -I$(SRCDIR)/svtools/inc/ \
+ -I$(SRCDIR)/svtools/inc/pch/ \
+ -I$(SRCDIR)/svtools/inc/svtools/ \
+))
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
-
-# --- Files --------------------------------------------------------
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-.IF "$(ENABLE_PCH)"!=""
-ALLTAR : \
- $(SLO)$/precompiled.pch \
- $(SLO)$/precompiled_ex.pch
-
-.ENDIF # "$(ENABLE_PCH)"!=""
+$(eval $(call gb_Executable_add_linked_libs,g2g,\
+ jvmfwk \
+ sal \
+ stl \
+ svt \
+ tl \
+ vcl \
+ vos3 \
+))
+$(eval $(call gb_Executable_add_exception_objects,g2g,\
+ svtools/bmpmaker/g2g \
+))
+ifeq ($(OS),WNT)
+$(eval $(call gb_Executable_add_linked_libs,g2g,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Executable_add_linked_libs,g2g,\
+ pthread \
+ dl \
+ X11 \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/svtools/Library_hatchwindowfactory.mk b/svtools/Library_hatchwindowfactory.mk
new file mode 100644
index 000000000000..150b71396284
--- /dev/null
+++ b/svtools/Library_hatchwindowfactory.mk
@@ -0,0 +1,76 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,hatchwindowfactory))
+
+$(eval $(call gb_Library_set_componentfile,hatchwindowfactory,svtools/source/hatchwindow/hatchwindowfactory))
+
+$(eval $(call gb_Library_set_include,hatchwindowfactory,\
+ $$(INCLUDE) \
+ -I$(WORKDIR)/inc/svtools \
+ -I$(WORKDIR)/inc/ \
+ -I$(SRCDIR)/svtools/inc/pch/ \
+ -I$(OUTDIR)/inc/ \
+ -I$(SRCDIR)/svtools/inc \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_Library_add_linked_libs,hatchwindowfactory,\
+ cppu \
+ cppuhelper \
+ sal \
+ tk \
+ tl \
+ vcl \
+))
+
+$(eval $(call gb_Library_add_exception_objects,hatchwindowfactory,\
+ svtools/source/hatchwindow/documentcloser \
+ svtools/source/hatchwindow/hatchwindow \
+ svtools/source/hatchwindow/hatchwindowfactory \
+ svtools/source/hatchwindow/ipwin \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,hatchwindowfactory,\
+ dl \
+ m \
+ pthread \
+))
+endif
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,hatchwindowfactory,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ stl \
+ user32 \
+ uwinapi \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/svtools/Library_productregistration.mk b/svtools/Library_productregistration.mk
new file mode 100644
index 000000000000..8b0c27d4469a
--- /dev/null
+++ b/svtools/Library_productregistration.mk
@@ -0,0 +1,77 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,productregistration))
+
+$(eval $(call gb_Library_set_componentfile,productregistration,svtools/source/productregistration/productregistration.uno))
+
+$(eval $(call gb_Library_set_include,productregistration,\
+ $$(SOLARINC) \
+ -I$(WORKDIR)/inc/svtools \
+ -I$(WORKDIR)/inc/ \
+ -I$(SRCDIR)/svtools/inc/pch/ \
+ -I$(OUTDIR)/inc/ \
+ -I$(SRCDIR)/svtools/inc \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_Library_add_linked_libs,productregistration,\
+ cppu \
+ cppuhelper \
+ sal \
+ stl \
+ svl \
+ tk \
+ tl \
+ utl \
+ vcl \
+))
+
+$(eval $(call gb_Library_add_exception_objects,productregistration,\
+ svtools/source/productregistration/productregistration \
+ svtools/source/productregistration/registrationdlg \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,productregistration,\
+ dl \
+ m \
+ pthread \
+))
+endif
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,productregistration,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/svtools/Library_svt.mk b/svtools/Library_svt.mk
new file mode 100644
index 000000000000..545690bd0f12
--- /dev/null
+++ b/svtools/Library_svt.mk
@@ -0,0 +1,316 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,svt))
+
+$(eval $(call gb_Library_add_package_headers,svt,svtools_inc))
+
+$(eval $(call gb_Library_add_precompiled_header,svt,$(SRCDIR)/svtools/inc/pch/precompiled_svtools))
+
+$(eval $(call gb_Library_set_componentfile,svt,svtools/util/svt))
+
+$(eval $(call gb_Library_set_include,svt,\
+ $$(INCLUDE) \
+ -I$(WORKDIR)/inc/svtools \
+ -I$(WORKDIR)/inc/ \
+ -I$(OUTDIR)/inc/ \
+ -I$(SRCDIR)/svtools/inc \
+ -I$(SRCDIR)/svtools/inc/svtools \
+ -I$(SRCDIR)/svtools/source/inc \
+ -I$(SRCDIR)/svtools/inc/pch \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_Library_set_defs,svt,\
+ $$(DEFS) \
+ -DSVT_DLLIMPLEMENTATION \
+))
+
+$(eval $(call gb_Library_add_linked_libs,svt,\
+ basegfx \
+ comphelper \
+ cppu \
+ cppuhelper \
+ i18nisolang1 \
+ i18nutil \
+ icuuc \
+ jvmfwk \
+ sal \
+ sot \
+ stl \
+ svl \
+ tk \
+ tl \
+ ucbhelper \
+ utl \
+ vcl \
+ vos3 \
+))
+
+ifeq ($(SYSTEM_JPEG),YES)
+$(eval $(call gb_Library_add_linked_libs,svt,\
+ jpeg \
+))
+$(eval $(call gb_Library_set_ldflags,svt,\
+ $$(filter-out -L/usr/lib/jvm%,$$(LDFLAGS)) \
+))
+else
+$(eval $(call gb_Library_add_linked_static_libs,svt,\
+ jpeglib \
+))
+endif
+
+$(eval $(call gb_Library_add_exception_objects,svt,\
+ svtools/source/brwbox/brwbox1 \
+ svtools/source/brwbox/brwbox2 \
+ svtools/source/brwbox/brwbox3 \
+ svtools/source/brwbox/brwhead \
+ svtools/source/brwbox/datwin \
+ svtools/source/brwbox/ebbcontrols \
+ svtools/source/brwbox/editbrowsebox \
+ svtools/source/brwbox/editbrowsebox2 \
+ svtools/source/config/accessibilityoptions \
+ svtools/source/config/apearcfg \
+ svtools/source/config/colorcfg \
+ svtools/source/config/extcolorcfg \
+ svtools/source/config/fontsubstconfig \
+ svtools/source/config/helpopt \
+ svtools/source/config/htmlcfg \
+ svtools/source/config/itemholder2 \
+ svtools/source/config/menuoptions \
+ svtools/source/config/miscopt \
+ svtools/source/config/optionsdrawinglayer \
+ svtools/source/config/printoptions \
+ svtools/source/contnr/contentenumeration \
+ svtools/source/contnr/fileview \
+ svtools/source/contnr/imivctl1 \
+ svtools/source/contnr/imivctl2 \
+ svtools/source/contnr/ivctrl \
+ svtools/source/contnr/svicnvw \
+ svtools/source/contnr/svimpbox \
+ svtools/source/contnr/svimpicn \
+ svtools/source/contnr/svlbitm \
+ svtools/source/contnr/svlbox \
+ svtools/source/contnr/svtabbx \
+ svtools/source/contnr/svtreebx \
+ svtools/source/contnr/templwin \
+ svtools/source/contnr/tooltiplbox \
+ svtools/source/contnr/treelist \
+ svtools/source/control/asynclink \
+ svtools/source/control/calendar \
+ svtools/source/control/collatorres \
+ svtools/source/control/ctrlbox \
+ svtools/source/control/ctrltool \
+ svtools/source/control/filectrl \
+ svtools/source/control/filectrl2 \
+ svtools/source/control/fileurlbox \
+ svtools/source/control/fixedhyper \
+ svtools/source/control/fmtfield \
+ svtools/source/control/headbar \
+ svtools/source/control/hyperlabel \
+ svtools/source/control/indexentryres \
+ svtools/source/control/inettbc \
+ svtools/source/control/prgsbar \
+ svtools/source/control/roadmap \
+ svtools/source/control/ruler \
+ svtools/source/control/scriptedtext \
+ svtools/source/control/scrwin \
+ svtools/source/control/stdctrl \
+ svtools/source/control/stdmenu \
+ svtools/source/control/tabbar \
+ svtools/source/control/taskbar \
+ svtools/source/control/taskbox \
+ svtools/source/control/taskmisc \
+ svtools/source/control/taskstat \
+ svtools/source/control/toolbarmenu \
+ svtools/source/control/toolbarmenuacc \
+ svtools/source/control/urlcontrol \
+ svtools/source/control/valueacc \
+ svtools/source/control/valueset \
+ svtools/source/dialogs/addresstemplate \
+ svtools/source/dialogs/colctrl \
+ svtools/source/dialogs/colrdlg \
+ svtools/source/dialogs/filedlg \
+ svtools/source/dialogs/filedlg2 \
+ svtools/source/dialogs/insdlg \
+ svtools/source/dialogs/mcvmath \
+ svtools/source/dialogs/printdlg \
+ svtools/source/dialogs/prnsetup \
+ svtools/source/dialogs/property \
+ svtools/source/dialogs/roadmapwizard \
+ svtools/source/dialogs/wizardmachine \
+ svtools/source/dialogs/wizdlg \
+ svtools/source/edit/editsyntaxhighlighter \
+ svtools/source/edit/svmedit \
+ svtools/source/edit/svmedit2 \
+ svtools/source/edit/sychconv \
+ svtools/source/edit/syntaxhighlight \
+ svtools/source/edit/textdata \
+ svtools/source/edit/textdoc \
+ svtools/source/edit/texteng \
+ svtools/source/edit/textundo \
+ svtools/source/edit/textview \
+ svtools/source/edit/textwindowpeer \
+ svtools/source/edit/txtattr \
+ svtools/source/edit/xtextedt \
+ svtools/source/filter.vcl/filter/FilterConfigCache \
+ svtools/source/filter.vcl/filter/FilterConfigItem \
+ svtools/source/filter.vcl/filter/SvFilterOptionsDialog \
+ svtools/source/filter.vcl/filter/exportdialog \
+ svtools/source/filter.vcl/filter/filter \
+ svtools/source/filter.vcl/filter/filter2 \
+ svtools/source/filter.vcl/filter/sgfbram \
+ svtools/source/filter.vcl/filter/sgvmain \
+ svtools/source/filter.vcl/filter/sgvspln \
+ svtools/source/filter.vcl/filter/sgvtext \
+ svtools/source/filter.vcl/igif/decode \
+ svtools/source/filter.vcl/igif/gifread \
+ svtools/source/filter.vcl/ixbm/xbmread \
+ svtools/source/filter.vcl/ixpm/xpmread \
+ svtools/source/filter.vcl/jpeg/jpeg \
+ svtools/source/filter.vcl/wmf/emfwr \
+ svtools/source/filter.vcl/wmf/enhwmf \
+ svtools/source/filter.vcl/wmf/winmtf \
+ svtools/source/filter.vcl/wmf/winwmf \
+ svtools/source/filter.vcl/wmf/wmf \
+ svtools/source/filter.vcl/wmf/wmfwr \
+ svtools/source/graphic/descriptor \
+ svtools/source/graphic/graphic \
+ svtools/source/graphic/graphicunofactory \
+ svtools/source/graphic/grfattr \
+ svtools/source/graphic/grfcache \
+ svtools/source/graphic/grfmgr \
+ svtools/source/graphic/grfmgr2 \
+ svtools/source/graphic/provider \
+ svtools/source/graphic/renderer \
+ svtools/source/graphic/transformer \
+ svtools/source/java/javacontext \
+ svtools/source/java/javainteractionhandler \
+ svtools/source/misc/acceleratorexecute \
+ svtools/source/misc/chartprettypainter \
+ svtools/source/misc/cliplistener \
+ svtools/source/misc/dialogclosedlistener \
+ svtools/source/misc/dialogcontrolling \
+ svtools/source/misc/ehdl \
+ svtools/source/misc/embedhlp \
+ svtools/source/misc/embedtransfer \
+ svtools/source/misc/helpagentwindow \
+ svtools/source/misc/imagemgr \
+ svtools/source/misc/imageresourceaccess \
+ svtools/source/misc/imap \
+ svtools/source/misc/imap2 \
+ svtools/source/misc/imap3 \
+ svtools/source/misc/itemdel \
+ svtools/source/misc/langtab \
+ svtools/source/misc/stringtransfer \
+ svtools/source/misc/svtaccessiblefactory \
+ svtools/source/misc/svtdata \
+ svtools/source/misc/templatefoldercache \
+ svtools/source/misc/transfer \
+ svtools/source/misc/transfer2 \
+ svtools/source/misc/unitconv \
+ svtools/source/misc/wallitem \
+ svtools/source/misc/xwindowitem \
+ svtools/source/plugapp/ttprops \
+ svtools/source/svhtml/htmlkywd \
+ svtools/source/svhtml/htmlout \
+ svtools/source/svhtml/htmlsupp \
+ svtools/source/svhtml/parhtml \
+ svtools/source/svrtf/parrtf \
+ svtools/source/svrtf/rtfkeywd \
+ svtools/source/svrtf/rtfout \
+ svtools/source/svrtf/svparser \
+ svtools/source/table/defaultinputhandler \
+ svtools/source/table/gridtablerenderer \
+ svtools/source/table/tablecontrol \
+ svtools/source/table/tablecontrol_impl \
+ svtools/source/table/tabledatawindow \
+ svtools/source/table/tablegeometry \
+ svtools/source/toolpanel/drawerlayouter \
+ svtools/source/toolpanel/dummypanel \
+ svtools/source/toolpanel/paneldecklisteners \
+ svtools/source/toolpanel/paneltabbar \
+ svtools/source/toolpanel/paneltabbarpeer \
+ svtools/source/toolpanel/refbase \
+ svtools/source/toolpanel/tabbargeometry \
+ svtools/source/toolpanel/tablayouter \
+ svtools/source/toolpanel/toolpanel \
+ svtools/source/toolpanel/toolpanelcollection \
+ svtools/source/toolpanel/toolpaneldeck \
+ svtools/source/toolpanel/toolpaneldeckpeer \
+ svtools/source/toolpanel/toolpaneldrawer \
+ svtools/source/toolpanel/toolpaneldrawerpeer \
+ svtools/source/uno/addrtempuno \
+ svtools/source/uno/contextmenuhelper \
+ svtools/source/uno/framestatuslistener \
+ svtools/source/uno/generictoolboxcontroller \
+ svtools/source/uno/genericunodialog \
+ svtools/source/uno/miscservices \
+ svtools/source/uno/popupmenucontrollerbase \
+ svtools/source/uno/popupwindowcontroller \
+ svtools/source/uno/statusbarcontroller \
+ svtools/source/uno/svtxgridcontrol \
+ svtools/source/uno/toolboxcontroller \
+ svtools/source/uno/treecontrolpeer \
+ svtools/source/uno/unocontroltablemodel \
+ svtools/source/uno/unoevent \
+ svtools/source/uno/unoiface \
+ svtools/source/uno/unoimap \
+ svtools/source/uno/wizard/unowizard \
+ svtools/source/uno/wizard/wizardpagecontroller \
+ svtools/source/uno/wizard/wizardshell \
+ svtools/source/urlobj/inetimg \
+))
+
+$(eval $(call gb_Library_add_cobjects,svt,\
+ svtools/source/filter.vcl/jpeg/jpegc \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,svt,\
+ dl \
+ m \
+ pthread \
+))
+endif
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,svt,\
+ advapi32 \
+ gdi32 \
+ kernel32 \
+ msvcrt \
+ oldnames \
+ ole32 \
+ oleaut32 \
+ user32 \
+ uuid \
+ uwinapi \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/svtools/Makefile b/svtools/Makefile
new file mode 100644
index 000000000000..a79aff831024
--- /dev/null
+++ b/svtools/Makefile
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+ifeq ($(strip $(SOLARENV)),)
+$(error No environment set!)
+endif
+
+gb_PARTIALBUILD := T
+GBUILDDIR := $(SOLARENV)/gbuild
+include $(GBUILDDIR)/gbuild.mk
+
+$(eval $(call gb_Module_make_global_targets,$(shell ls $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/Module*.mk)))
+
+# vim: set noet sw=4 ts=4:
diff --git a/svl/source/filerec/makefile.mk b/svtools/Module_svtools.mk
index ea2b88d8d493..bc760add6d26 100644
--- a/svl/source/filerec/makefile.mk
+++ b/svtools/Module_svtools.mk
@@ -2,7 +2,7 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
+# Copyright 2009 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
#
@@ -14,33 +14,35 @@
#
# 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
+# 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
+# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ=..$/..
-
-PRJNAME=svl
-TARGET=filerec
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/filerec.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
+$(eval $(call gb_Module_Module,svtools))
+
+$(eval $(call gb_Module_add_targets,svtools,\
+ AllLangResTarget_productregistration \
+ AllLangResTarget_svt \
+ Executable_bmp \
+ Executable_bmpsum \
+ Executable_g2g \
+ Library_hatchwindowfactory \
+ Library_productregistration \
+ Library_svt \
+ Package_inc \
+))
+
+#todo: javapatchres
+#todo: jpeg on mac in svtools/util/makefile.mk
+#todo: deliver errtxt.src as ehdl.srs
+#todo: nooptfiles filter, filterconfigitem, FilterConfigCache, SvFilterOptionsDialog
+#todo: map file
+
+# vim: set noet sw=4 ts=4:
diff --git a/svtools/Package_inc.mk b/svtools/Package_inc.mk
new file mode 100644
index 000000000000..ef656f9ba061
--- /dev/null
+++ b/svtools/Package_inc.mk
@@ -0,0 +1,193 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Package_Package,svtools_inc,$(SRCDIR)/svtools/inc))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/AccessibleBrowseBoxObjType.hxx,svtools/AccessibleBrowseBoxObjType.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/DocumentInfoPreview.hxx,svtools/DocumentInfoPreview.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/FilterConfigItem.hxx,svtools/FilterConfigItem.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/QueryFolderName.hxx,svtools/QueryFolderName.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/acceleratorexecute.hxx,svtools/acceleratorexecute.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/accessibilityoptions.hxx,svtools/accessibilityoptions.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/accessiblefactory.hxx,svtools/accessiblefactory.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/accessibletable.hxx,svtools/accessibletable.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/accessibletableprovider.hxx,svtools/accessibletableprovider.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/addresstemplate.hxx,svtools/addresstemplate.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/apearcfg.hxx,svtools/apearcfg.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/asynclink.hxx,svtools/asynclink.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/brwbox.hxx,svtools/brwbox.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/brwhead.hxx,svtools/brwhead.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/calendar.hxx,svtools/calendar.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/chartprettypainter.hxx,svtools/chartprettypainter.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/cliplistener.hxx,svtools/cliplistener.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/colctrl.hxx,svtools/colctrl.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/collatorres.hxx,svtools/collatorres.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/colorcfg.hxx,svtools/colorcfg.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/colrdlg.hxx,svtools/colrdlg.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/contextmenuhelper.hxx,svtools/contextmenuhelper.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/controldims.hrc,svtools/controldims.hrc))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/ctrlbox.hxx,svtools/ctrlbox.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/ctrltool.hxx,svtools/ctrltool.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/dialogclosedlistener.hxx,svtools/dialogclosedlistener.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/dialogcontrolling.hxx,svtools/dialogcontrolling.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/editbrowsebox.hxx,svtools/editbrowsebox.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/editimplementation.hxx,svtools/editimplementation.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/editsyntaxhighlighter.hxx,svtools/editsyntaxhighlighter.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/ehdl.hxx,svtools/ehdl.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/embedhlp.hxx,svtools/embedhlp.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/embedtransfer.hxx,svtools/embedtransfer.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/expander.hxx,svtools/expander.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/extcolorcfg.hxx,svtools/extcolorcfg.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/extensionlistbox.hxx,svtools/extensionlistbox.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/filectrl.hxx,svtools/filectrl.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/filedlg.hxx,svtools/filedlg.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/filedlg2.hrc,svtools/filedlg2.hrc))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/fileurlbox.hxx,svtools/fileurlbox.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/fileview.hxx,svtools/fileview.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/filter.hxx,svtools/filter.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/fixedhyper.hxx,svtools/fixedhyper.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/fltcall.hxx,svtools/fltcall.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/fltdefs.hxx,svtools/fltdefs.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/fmtfield.hxx,svtools/fmtfield.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/fontsubstconfig.hxx,svtools/fontsubstconfig.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/framestatuslistener.hxx,svtools/framestatuslistener.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/generictoolboxcontroller.hxx,svtools/generictoolboxcontroller.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/genericunodialog.hxx,svtools/genericunodialog.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/grfmgr.hxx,svtools/grfmgr.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/headbar.hxx,svtools/headbar.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/helpagentwindow.hxx,svtools/helpagentwindow.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/helpid.hrc,svtools/helpid.hrc))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/helpopt.hxx,svtools/helpopt.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/htmlcfg.hxx,svtools/htmlcfg.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/htmlkywd.hxx,svtools/htmlkywd.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/htmlout.hxx,svtools/htmlout.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/htmltokn.h,svtools/htmltokn.h))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/hyperlabel.hxx,svtools/hyperlabel.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/imagemgr.hrc,svtools/imagemgr.hrc))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/imagemgr.hxx,svtools/imagemgr.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/imageresourceaccess.hxx,svtools/imageresourceaccess.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/imap.hxx,svtools/imap.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/imapcirc.hxx,svtools/imapcirc.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/imapobj.hxx,svtools/imapobj.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/imappoly.hxx,svtools/imappoly.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/imaprect.hxx,svtools/imaprect.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/imgdef.hxx,svtools/imgdef.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/indexentryres.hxx,svtools/indexentryres.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/inetimg.hxx,svtools/inetimg.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/inettbc.hxx,svtools/inettbc.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/insdlg.hxx,svtools/insdlg.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/itemdel.hxx,svtools/itemdel.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/ivctrl.hxx,svtools/ivctrl.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/javacontext.hxx,svtools/javacontext.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/javainteractionhandler.hxx,svtools/javainteractionhandler.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/langtab.hxx,svtools/langtab.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/localresaccess.hxx,svtools/localresaccess.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/menuoptions.hxx,svtools/menuoptions.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/miscopt.hxx,svtools/miscopt.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/optionsdrawinglayer.hxx,svtools/optionsdrawinglayer.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/parhtml.hxx,svtools/parhtml.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/parrtf.hxx,svtools/parrtf.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/popupmenucontrollerbase.hxx,svtools/popupmenucontrollerbase.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/popupwindowcontroller.hxx,svtools/popupwindowcontroller.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/prgsbar.hxx,svtools/prgsbar.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/printdlg.hxx,svtools/printdlg.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/printoptions.hxx,svtools/printoptions.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/prnsetup.hxx,svtools/prnsetup.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/roadmap.hxx,svtools/roadmap.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/roadmapwizard.hxx,svtools/roadmapwizard.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/rtfkeywd.hxx,svtools/rtfkeywd.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/rtfout.hxx,svtools/rtfout.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/rtftoken.h,svtools/rtftoken.h))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/ruler.hxx,svtools/ruler.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/scriptedtext.hxx,svtools/scriptedtext.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/scrwin.hxx,svtools/scrwin.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/sfxecode.hxx,svtools/sfxecode.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/soerr.hxx,svtools/soerr.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/sores.hxx,svtools/sores.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/statusbarcontroller.hxx,svtools/statusbarcontroller.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/stdctrl.hxx,svtools/stdctrl.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/stdmenu.hxx,svtools/stdmenu.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/stringtransfer.hxx,svtools/stringtransfer.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svicnvw.hxx,svtools/svicnvw.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svlbitm.hxx,svtools/svlbitm.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svlbox.hxx,svtools/svlbox.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svmedit.hxx,svtools/svmedit.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svmedit2.hxx,svtools/svmedit2.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svparser.hxx,svtools/svparser.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svtabbx.hxx,svtools/svtabbx.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svtdata.hxx,svtools/svtdata.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svtdllapi.h,svtools/svtdllapi.h))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svtools.hrc,svtools/svtools.hrc))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svtreebx.hxx,svtools/svtreebx.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/svxbox.hxx,svtools/svxbox.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/sychconv.hxx,svtools/sychconv.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/syntaxhighlight.hxx,svtools/syntaxhighlight.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/tabbar.hxx,svtools/tabbar.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/table/abstracttablecontrol.hxx,svtools/table/abstracttablecontrol.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/table/defaultinputhandler.hxx,svtools/table/defaultinputhandler.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/table/gridtablerenderer.hxx,svtools/table/gridtablerenderer.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/table/tablecontrol.hxx,svtools/table/tablecontrol.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/table/tabledatawindow.hxx,svtools/table/tabledatawindow.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/table/tableinputhandler.hxx,svtools/table/tableinputhandler.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/table/tablemodel.hxx,svtools/table/tablemodel.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/table/tablerenderer.hxx,svtools/table/tablerenderer.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/table/tabletypes.hxx,svtools/table/tabletypes.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/taskbar.hxx,svtools/taskbar.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/templatefoldercache.hxx,svtools/templatefoldercache.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/templdlg.hxx,svtools/templdlg.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/testtool.hxx,svtools/testtool.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/textdata.hxx,svtools/textdata.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/texteng.hxx,svtools/texteng.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/textview.hxx,svtools/textview.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/textwindowpeer.hxx,svtools/textwindowpeer.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/toolbarmenu.hxx,svtools/toolbarmenu.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/toolboxcontroller.hxx,svtools/toolboxcontroller.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/toolpanel/decklayouter.hxx,svtools/toolpanel/decklayouter.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/toolpanel/drawerlayouter.hxx,svtools/toolpanel/drawerlayouter.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/toolpanel/paneltabbar.hxx,svtools/toolpanel/paneltabbar.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/toolpanel/refbase.hxx,svtools/toolpanel/refbase.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/toolpanel/tabalignment.hxx,svtools/toolpanel/tabalignment.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/toolpanel/tabitemcontent.hxx,svtools/toolpanel/tabitemcontent.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/toolpanel/tablayouter.hxx,svtools/toolpanel/tablayouter.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/toolpanel/toolpanel.hxx,svtools/toolpanel/toolpanel.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/toolpanel/toolpaneldeck.hxx,svtools/toolpanel/toolpaneldeck.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/tooltiplbox.hxx,svtools/tooltiplbox.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/transfer.hxx,svtools/transfer.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/treelist.hxx,svtools/treelist.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/ttprops.hxx,svtools/ttprops.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/txtattr.hxx,svtools/txtattr.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/txtcmp.hxx,svtools/txtcmp.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/unitconv.hxx,svtools/unitconv.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/unoevent.hxx,svtools/unoevent.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/unoimap.hxx,svtools/unoimap.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/urlcontrol.hxx,svtools/urlcontrol.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/valueset.hxx,svtools/valueset.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/wallitem.hxx,svtools/wallitem.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/wizardmachine.hxx,svtools/wizardmachine.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/wizdlg.hxx,svtools/wizdlg.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/wmf.hxx,svtools/wmf.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/xtextedt.hxx,svtools/xtextedt.hxx))
+$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/xwindowitem.hxx,svtools/xwindowitem.hxx))
diff --git a/svtools/bmpmaker/bmp.cxx b/svtools/bmpmaker/bmp.cxx
index 204fd404d329..43f285c1b422 100644
--- a/svtools/bmpmaker/bmp.cxx
+++ b/svtools/bmpmaker/bmp.cxx
@@ -41,7 +41,7 @@ using namespace std;
#include <vcl/svapp.hxx>
#include "svl/solar.hrc"
-#include "filedlg.hxx"
+#include <svtools/filedlg.hxx>
#include "bmpcore.hxx"
#include "bmp.hrc"
diff --git a/svtools/bmpmaker/makefile.mk b/svtools/bmpmaker/makefile.mk
deleted file mode 100644
index a1303343a503..000000000000
--- a/svtools/bmpmaker/makefile.mk
+++ /dev/null
@@ -1,74 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-PRJNAME=svtools
-TARGET=bmp
-LIBTARGET=NO
-
-# --- Settings -----------------------------------------------------
-
-ENABLE_EXCEPTIONS=true
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-OBJFILES= $(OBJ)$/bmp.obj \
- $(OBJ)$/bmpcore.obj \
- $(OBJ)$/g2g.obj \
- $(OBJ)$/bmpsum.obj
-
-# --- APP1TARGET ---------------------------------------------------
-
-APP1TARGET= $(TARGET)
-
-APP1STDLIBS = \
- $(VCLLIB) \
- $(TOOLSLIB) \
- $(VOSLIB) \
- $(SALLIB)
-
-APP1OBJS= $(OBJ)$/bmp.obj \
- $(OBJ)$/bmpcore.obj
-
-APP1BASE=0x10000000
-
-# --- APP2TARGET --------------------------------------------------
-
-APP2TARGET = bmpsum
-APP2BASE = 0x10000000
-APP2OBJS = $(OBJ)$/bmpsum.obj
-
-APP2STDLIBS = $(VCLLIB) \
- $(TOOLSLIB) \
- $(VOSLIB) \
- $(SALLIB)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/inc/makefile.mk b/svtools/inc/makefile.mk
deleted file mode 100644
index cde85ffe82ca..000000000000
--- a/svtools/inc/makefile.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..
-
-PRJNAME=svtools
-TARGET=inc
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-.IF "$(ENABLE_PCH)"!=""
-ALLTAR : \
- $(SLO)$/precompiled.pch \
- $(SLO)$/precompiled_ex.pch
-
-.ENDIF # "$(ENABLE_PCH)"!=""
-
diff --git a/svtools/inc/DocumentInfoPreview.hxx b/svtools/inc/svtools/DocumentInfoPreview.hxx
index 92c9c72b36bc..92c9c72b36bc 100644
--- a/svtools/inc/DocumentInfoPreview.hxx
+++ b/svtools/inc/svtools/DocumentInfoPreview.hxx
diff --git a/svtools/inc/QueryFolderName.hxx b/svtools/inc/svtools/QueryFolderName.hxx
index 971b4b26e13e..971b4b26e13e 100644
--- a/svtools/inc/QueryFolderName.hxx
+++ b/svtools/inc/svtools/QueryFolderName.hxx
diff --git a/svtools/inc/acceleratorexecute.hxx b/svtools/inc/svtools/acceleratorexecute.hxx
index b5e9f99d2c4b..b5e9f99d2c4b 100644
--- a/svtools/inc/acceleratorexecute.hxx
+++ b/svtools/inc/svtools/acceleratorexecute.hxx
diff --git a/svtools/inc/addresstemplate.hxx b/svtools/inc/svtools/addresstemplate.hxx
index f29ea2478b4e..bb4ee44647e9 100644
--- a/svtools/inc/addresstemplate.hxx
+++ b/svtools/inc/svtools/addresstemplate.hxx
@@ -33,7 +33,7 @@
#include <vcl/group.hxx>
#include <vcl/fixed.hxx>
#include <vcl/combobox.hxx>
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/scrbar.hxx>
#include <com/sun/star/container/XNameAccess.hpp>
diff --git a/svtools/inc/apearcfg.hxx b/svtools/inc/svtools/apearcfg.hxx
index bda7e09828b3..bda7e09828b3 100644
--- a/svtools/inc/apearcfg.hxx
+++ b/svtools/inc/svtools/apearcfg.hxx
diff --git a/svtools/inc/asynclink.hxx b/svtools/inc/svtools/asynclink.hxx
index efc8afac1064..efc8afac1064 100644
--- a/svtools/inc/asynclink.hxx
+++ b/svtools/inc/svtools/asynclink.hxx
diff --git a/svtools/inc/calendar.hxx b/svtools/inc/svtools/calendar.hxx
index 1fe0013e055e..1fe0013e055e 100644
--- a/svtools/inc/calendar.hxx
+++ b/svtools/inc/svtools/calendar.hxx
diff --git a/svtools/inc/cliplistener.hxx b/svtools/inc/svtools/cliplistener.hxx
index 5051633bd6b6..5051633bd6b6 100644
--- a/svtools/inc/cliplistener.hxx
+++ b/svtools/inc/svtools/cliplistener.hxx
diff --git a/svtools/inc/collatorres.hxx b/svtools/inc/svtools/collatorres.hxx
index 63b4e7ef64f3..63b4e7ef64f3 100644
--- a/svtools/inc/collatorres.hxx
+++ b/svtools/inc/svtools/collatorres.hxx
diff --git a/svtools/inc/contextmenuhelper.hxx b/svtools/inc/svtools/contextmenuhelper.hxx
index 54d254309b1e..54d254309b1e 100644
--- a/svtools/inc/contextmenuhelper.hxx
+++ b/svtools/inc/svtools/contextmenuhelper.hxx
diff --git a/svtools/inc/controldims.hrc b/svtools/inc/svtools/controldims.hrc
index 5e26f132897d..5e26f132897d 100644
--- a/svtools/inc/controldims.hrc
+++ b/svtools/inc/svtools/controldims.hrc
diff --git a/svtools/inc/ctrlbox.hxx b/svtools/inc/svtools/ctrlbox.hxx
index 46e3a64d49f6..46e3a64d49f6 100644
--- a/svtools/inc/ctrlbox.hxx
+++ b/svtools/inc/svtools/ctrlbox.hxx
diff --git a/svtools/inc/ctrltool.hxx b/svtools/inc/svtools/ctrltool.hxx
index 91587bef7f28..91587bef7f28 100644
--- a/svtools/inc/ctrltool.hxx
+++ b/svtools/inc/svtools/ctrltool.hxx
diff --git a/svtools/inc/dialogclosedlistener.hxx b/svtools/inc/svtools/dialogclosedlistener.hxx
index 3712d408af52..3712d408af52 100644
--- a/svtools/inc/dialogclosedlistener.hxx
+++ b/svtools/inc/svtools/dialogclosedlistener.hxx
diff --git a/svtools/inc/dialogcontrolling.hxx b/svtools/inc/svtools/dialogcontrolling.hxx
index cd60736527f5..cd60736527f5 100644
--- a/svtools/inc/dialogcontrolling.hxx
+++ b/svtools/inc/svtools/dialogcontrolling.hxx
diff --git a/svtools/inc/svtools/editbrowsebox.hxx b/svtools/inc/svtools/editbrowsebox.hxx
index 1b085adceac1..5bc2d14f752c 100644
--- a/svtools/inc/svtools/editbrowsebox.hxx
+++ b/svtools/inc/svtools/editbrowsebox.hxx
@@ -37,7 +37,7 @@
#include <vcl/lstbox.hxx>
#ifndef _IMAGEBTN_HXX
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#endif
#include <svtools/brwbox.hxx>
#include <vcl/timer.hxx>
diff --git a/svtools/inc/expander.hxx b/svtools/inc/svtools/expander.hxx
index ec53a515c989..ec53a515c989 100644
--- a/svtools/inc/expander.hxx
+++ b/svtools/inc/svtools/expander.hxx
diff --git a/svtools/inc/extcolorcfg.hxx b/svtools/inc/svtools/extcolorcfg.hxx
index 44167f63287c..44167f63287c 100644
--- a/svtools/inc/extcolorcfg.hxx
+++ b/svtools/inc/svtools/extcolorcfg.hxx
diff --git a/svtools/inc/filectrl.hxx b/svtools/inc/svtools/filectrl.hxx
index c88689ea0338..c88689ea0338 100644
--- a/svtools/inc/filectrl.hxx
+++ b/svtools/inc/svtools/filectrl.hxx
diff --git a/svtools/inc/filedlg.hxx b/svtools/inc/svtools/filedlg.hxx
index 59fd393ea73c..59fd393ea73c 100644
--- a/svtools/inc/filedlg.hxx
+++ b/svtools/inc/svtools/filedlg.hxx
diff --git a/svtools/inc/filedlg2.hrc b/svtools/inc/svtools/filedlg2.hrc
index a87bd6ebcad0..a87bd6ebcad0 100644
--- a/svtools/inc/filedlg2.hrc
+++ b/svtools/inc/svtools/filedlg2.hrc
diff --git a/svtools/inc/fileview.hxx b/svtools/inc/svtools/fileview.hxx
index cf1c624a2488..cf1c624a2488 100644
--- a/svtools/inc/fileview.hxx
+++ b/svtools/inc/svtools/fileview.hxx
diff --git a/svtools/inc/fltdefs.hxx b/svtools/inc/svtools/fltdefs.hxx
index ee76739fb8c7..ee76739fb8c7 100644
--- a/svtools/inc/fltdefs.hxx
+++ b/svtools/inc/svtools/fltdefs.hxx
diff --git a/svtools/inc/fontsubstconfig.hxx b/svtools/inc/svtools/fontsubstconfig.hxx
index 7bdb0dc412c3..7bdb0dc412c3 100644
--- a/svtools/inc/fontsubstconfig.hxx
+++ b/svtools/inc/svtools/fontsubstconfig.hxx
diff --git a/svtools/inc/framestatuslistener.hxx b/svtools/inc/svtools/framestatuslistener.hxx
index fd068ac5f86b..fd068ac5f86b 100644
--- a/svtools/inc/framestatuslistener.hxx
+++ b/svtools/inc/svtools/framestatuslistener.hxx
diff --git a/svtools/inc/helpagentwindow.hxx b/svtools/inc/svtools/helpagentwindow.hxx
index 45b2917c500a..45b2917c500a 100644
--- a/svtools/inc/helpagentwindow.hxx
+++ b/svtools/inc/svtools/helpagentwindow.hxx
diff --git a/svtools/inc/htmlkywd.hxx b/svtools/inc/svtools/htmlkywd.hxx
index 13928eaeaa39..13928eaeaa39 100644
--- a/svtools/inc/htmlkywd.hxx
+++ b/svtools/inc/svtools/htmlkywd.hxx
diff --git a/svtools/inc/htmltokn.h b/svtools/inc/svtools/htmltokn.h
index 5b577093ce8a..5b577093ce8a 100644
--- a/svtools/inc/htmltokn.h
+++ b/svtools/inc/svtools/htmltokn.h
diff --git a/svtools/inc/imagemgr.hrc b/svtools/inc/svtools/imagemgr.hrc
index 19cc2942d6f4..19cc2942d6f4 100644
--- a/svtools/inc/imagemgr.hrc
+++ b/svtools/inc/svtools/imagemgr.hrc
diff --git a/svtools/inc/imagemgr.hxx b/svtools/inc/svtools/imagemgr.hxx
index efd15c5f4cde..efd15c5f4cde 100644
--- a/svtools/inc/imagemgr.hxx
+++ b/svtools/inc/svtools/imagemgr.hxx
diff --git a/svtools/inc/imageresourceaccess.hxx b/svtools/inc/svtools/imageresourceaccess.hxx
index d77b1c97a512..d77b1c97a512 100644
--- a/svtools/inc/imageresourceaccess.hxx
+++ b/svtools/inc/svtools/imageresourceaccess.hxx
diff --git a/svtools/inc/imgdef.hxx b/svtools/inc/svtools/imgdef.hxx
index 7cdcec0fd642..7cdcec0fd642 100644
--- a/svtools/inc/imgdef.hxx
+++ b/svtools/inc/svtools/imgdef.hxx
diff --git a/svtools/inc/indexentryres.hxx b/svtools/inc/svtools/indexentryres.hxx
index f2c73000ed67..f2c73000ed67 100644
--- a/svtools/inc/indexentryres.hxx
+++ b/svtools/inc/svtools/indexentryres.hxx
diff --git a/svtools/inc/inetimg.hxx b/svtools/inc/svtools/inetimg.hxx
index 093263e82da3..093263e82da3 100644
--- a/svtools/inc/inetimg.hxx
+++ b/svtools/inc/svtools/inetimg.hxx
diff --git a/svtools/inc/itemdel.hxx b/svtools/inc/svtools/itemdel.hxx
index 51af97730079..51af97730079 100644
--- a/svtools/inc/itemdel.hxx
+++ b/svtools/inc/svtools/itemdel.hxx
diff --git a/svtools/inc/ivctrl.hxx b/svtools/inc/svtools/ivctrl.hxx
index bbc93a7530ff..bbc93a7530ff 100644
--- a/svtools/inc/ivctrl.hxx
+++ b/svtools/inc/svtools/ivctrl.hxx
diff --git a/svtools/inc/localresaccess.hxx b/svtools/inc/svtools/localresaccess.hxx
index b00a306d0535..b00a306d0535 100644
--- a/svtools/inc/localresaccess.hxx
+++ b/svtools/inc/svtools/localresaccess.hxx
diff --git a/svtools/inc/prgsbar.hxx b/svtools/inc/svtools/prgsbar.hxx
index 25411b696c84..25411b696c84 100644
--- a/svtools/inc/prgsbar.hxx
+++ b/svtools/inc/svtools/prgsbar.hxx
diff --git a/svtools/inc/roadmap.hxx b/svtools/inc/svtools/roadmap.hxx
index ff94cc966f4d..ff94cc966f4d 100644
--- a/svtools/inc/roadmap.hxx
+++ b/svtools/inc/svtools/roadmap.hxx
diff --git a/svtools/inc/rtfkeywd.hxx b/svtools/inc/svtools/rtfkeywd.hxx
index 5ccd9149bd68..de59e1d8faf9 100644
--- a/svtools/inc/rtfkeywd.hxx
+++ b/svtools/inc/svtools/rtfkeywd.hxx
@@ -39,6 +39,7 @@
#define OOO_STRING_SVTOOLS_RTF_ALT "\\alt"
#define OOO_STRING_SVTOOLS_RTF_ANNOTATION "\\annotation"
#define OOO_STRING_SVTOOLS_RTF_ANSI "\\ansi"
+#define OOO_STRING_SVTOOLS_RTF_ATNDATE "\\atndate"
#define OOO_STRING_SVTOOLS_RTF_ATNID "\\atnid"
#define OOO_STRING_SVTOOLS_RTF_AUTHOR "\\author"
#define OOO_STRING_SVTOOLS_RTF_B "\\b"
@@ -976,12 +977,15 @@
#define OOO_STRING_SVTOOLS_RTF_SHPBXCOLUMN "\\shpbxcolumn"
#define OOO_STRING_SVTOOLS_RTF_SHPBXMARGIN "\\shpbxmargin"
#define OOO_STRING_SVTOOLS_RTF_SHPBXPAGE "\\shpbxpage"
+#define OOO_STRING_SVTOOLS_RTF_SHPBXIGNORE "\\shpbxignore"
#define OOO_STRING_SVTOOLS_RTF_SHPBYMARGIN "\\shpbymargin"
#define OOO_STRING_SVTOOLS_RTF_SHPBYPAGE "\\shpbypage"
#define OOO_STRING_SVTOOLS_RTF_SHPBYPARA "\\shpbypara"
+#define OOO_STRING_SVTOOLS_RTF_SHPBYIGNORE "\\shpbyignore"
#define OOO_STRING_SVTOOLS_RTF_SHPFBLWTXT "\\shpfblwtxt"
#define OOO_STRING_SVTOOLS_RTF_SHPFHDR "\\shpfhdr"
#define OOO_STRING_SVTOOLS_RTF_SHPGRP "\\shpgrp"
+#define OOO_STRING_SVTOOLS_RTF_SHPINST "\\shpinst"
#define OOO_STRING_SVTOOLS_RTF_SHPLEFT "\\shpleft"
#define OOO_STRING_SVTOOLS_RTF_SHPLID "\\shplid"
#define OOO_STRING_SVTOOLS_RTF_SHPLOCKANCHOR "\\shplockanchor"
@@ -993,6 +997,7 @@
#define OOO_STRING_SVTOOLS_RTF_SHPWRK "\\shpwrk"
#define OOO_STRING_SVTOOLS_RTF_SHPWR "\\shpwr"
#define OOO_STRING_SVTOOLS_RTF_SHPZ "\\shpz"
+#define OOO_STRING_SVTOOLS_RTF_SP "\\sp"
#define OOO_STRING_SVTOOLS_RTF_SPRSBSP "\\sprsbsp"
#define OOO_STRING_SVTOOLS_RTF_SPRSLNSP "\\sprslnsp"
#define OOO_STRING_SVTOOLS_RTF_SPRSTSM "\\sprstsm"
@@ -1116,6 +1121,7 @@
#define OOO_STRING_SVTOOLS_RTF_SHP "\\shp"
#define OOO_STRING_SVTOOLS_RTF_SN "\\sn"
#define OOO_STRING_SVTOOLS_RTF_SV "\\sv"
+#define OOO_STRING_SVTOOLS_RTF_SP "\\sp"
// Support for overline attributes
#define OOO_STRING_SVTOOLS_RTF_OL "\\ol"
@@ -1138,4 +1144,11 @@
#define OOO_STRING_SVTOOLS_RTF_OLHWAVE "\\olhwave"
#define OOO_STRING_SVTOOLS_RTF_OLOLDBWAVE "\\ololdbwave"
+// Support for nested tables
+#define OOO_STRING_SVTOOLS_RTF_ITAP "\\itap"
+#define OOO_STRING_SVTOOLS_RTF_NESTCELL "\\nestcell"
+#define OOO_STRING_SVTOOLS_RTF_NESTTABLEPROPRS "\\nesttableprops"
+#define OOO_STRING_SVTOOLS_RTF_NESTROW "\\nestrow"
+#define OOO_STRING_SVTOOLS_RTF_NONESTTABLES "\\nonesttables"
+
#endif // _RTFKEYWD_HXX
diff --git a/svtools/inc/rtfout.hxx b/svtools/inc/svtools/rtfout.hxx
index 2b34ccb5971b..2b34ccb5971b 100644
--- a/svtools/inc/rtfout.hxx
+++ b/svtools/inc/svtools/rtfout.hxx
diff --git a/svtools/inc/rtftoken.h b/svtools/inc/svtools/rtftoken.h
index e75254487312..f292682a0236 100644
--- a/svtools/inc/rtftoken.h
+++ b/svtools/inc/svtools/rtftoken.h
@@ -1258,7 +1258,7 @@ enum RTF_TOKEN_IDS {
RTF_SOUTLVL,
// shapes
- RTF_SHP, RTF_SN, RTF_SV
+ RTF_SHP, RTF_SN, RTF_SV, RTF_SP
/*
RTF_SHPLEFT,
RTF_SHPTOP,
diff --git a/svtools/inc/ruler.hxx b/svtools/inc/svtools/ruler.hxx
index 028d67c20877..028d67c20877 100644
--- a/svtools/inc/ruler.hxx
+++ b/svtools/inc/svtools/ruler.hxx
diff --git a/svtools/inc/scriptedtext.hxx b/svtools/inc/svtools/scriptedtext.hxx
index 5bb89969785b..5bb89969785b 100644
--- a/svtools/inc/scriptedtext.hxx
+++ b/svtools/inc/svtools/scriptedtext.hxx
diff --git a/svtools/inc/scrwin.hxx b/svtools/inc/svtools/scrwin.hxx
index c3e3729b2734..c3e3729b2734 100644
--- a/svtools/inc/scrwin.hxx
+++ b/svtools/inc/svtools/scrwin.hxx
diff --git a/svtools/inc/sfxecode.hxx b/svtools/inc/svtools/sfxecode.hxx
index 59611eb35844..59611eb35844 100644
--- a/svtools/inc/sfxecode.hxx
+++ b/svtools/inc/svtools/sfxecode.hxx
diff --git a/svtools/inc/soerr.hxx b/svtools/inc/svtools/soerr.hxx
index 41e488480039..41e488480039 100644
--- a/svtools/inc/soerr.hxx
+++ b/svtools/inc/svtools/soerr.hxx
diff --git a/svtools/inc/sores.hxx b/svtools/inc/svtools/sores.hxx
index e5a7e51b54cf..e5a7e51b54cf 100644
--- a/svtools/inc/sores.hxx
+++ b/svtools/inc/svtools/sores.hxx
diff --git a/svtools/inc/statusbarcontroller.hxx b/svtools/inc/svtools/statusbarcontroller.hxx
index 7856d96bcd77..7856d96bcd77 100644
--- a/svtools/inc/statusbarcontroller.hxx
+++ b/svtools/inc/svtools/statusbarcontroller.hxx
diff --git a/svtools/inc/stdmenu.hxx b/svtools/inc/svtools/stdmenu.hxx
index 34626dbd7721..34626dbd7721 100644
--- a/svtools/inc/stdmenu.hxx
+++ b/svtools/inc/svtools/stdmenu.hxx
diff --git a/svtools/inc/svtools/svicnvw.hxx b/svtools/inc/svtools/svicnvw.hxx
index 53b8c62be294..f25a5f3b80ba 100644
--- a/svtools/inc/svtools/svicnvw.hxx
+++ b/svtools/inc/svtools/svicnvw.hxx
@@ -89,7 +89,6 @@ class SvIconView : public SvLBox
SvImpIconView* pImp;
Image aCollapsedEntryBmp;
Image aExpandedEntryBmp;
- WinBits nWinBits;
sal_uInt16 nIcnVwFlags;
void SetModel( SvLBoxTreeList* );
@@ -111,6 +110,7 @@ protected:
virtual void ReadDragServerInfo( const Point&, SvLBoxDDInfo* );
virtual void Command( const CommandEvent& rCEvt );
virtual void PreparePaint( SvLBoxEntry* );
+ virtual void StateChanged( StateChangedType nStateChange );
public:
@@ -203,7 +203,6 @@ public:
SvLBoxEntry* GetEntryFromLogicPos( const Point& rDocPos ) const;
- void SetWindowBits( WinBits nWinStyle );
virtual void PaintEntry( SvLBoxEntry* );
virtual void PaintEntry( SvLBoxEntry*, const Point& rDocPos );
Rectangle GetFocusRect( SvLBoxEntry* );
diff --git a/svtools/inc/svtools/svlbox.hxx b/svtools/inc/svtools/svlbox.hxx
index a401ccb1f598..7882224cbebe 100644
--- a/svtools/inc/svtools/svlbox.hxx
+++ b/svtools/inc/svtools/svlbox.hxx
@@ -47,6 +47,7 @@
#include <vcl/accel.hxx>
#endif
#include <vcl/mnemonicengine.hxx>
+#include <vcl/quickselectionengine.hxx>
#include <tools/gen.hxx>
#include <svtools/treelist.hxx>
#include <svl/svarray.hxx>
@@ -253,10 +254,12 @@ DECLARE_SVTREELIST(SvLBoxTreeList, SvLBoxEntry*)
class SvLBox;
struct SvLBox_Impl
{
- bool m_bIsEmptyTextAllowed;
- bool m_bEntryMnemonicsEnabled;
- Link* m_pLink;
- ::vcl::MnemonicEngine m_aMnemonicEngine;
+ bool m_bIsEmptyTextAllowed;
+ bool m_bEntryMnemonicsEnabled;
+ bool m_bDoingQuickSelection;
+ Link* m_pLink;
+ ::vcl::MnemonicEngine m_aMnemonicEngine;
+ ::vcl::QuickSelectionEngine m_aQuickSelectionEngine;
SvLBox_Impl( SvLBox& _rBox );
};
@@ -267,6 +270,7 @@ class SVT_DLLPUBLIC SvLBox
,public DropTargetHelper
,public DragSourceHelper
,public ::vcl::IMnemonicEntryList
+ ,public ::vcl::ISearchableStringList
{
friend class SvLBoxEntry;
@@ -290,7 +294,6 @@ class SVT_DLLPUBLIC SvLBox
protected:
- WinBits nWindowStyle;
Link aExpandedHdl;
Link aExpandingHdl;
Link aSelectHdl;
@@ -376,11 +379,18 @@ protected:
// for asynchronous D&D
sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt, SvLBox* pSourceView );
- // IMnemonicEntryList
- virtual const void* FirstSearchEntry( String& _rEntryText );
- virtual const void* NextSearchEntry( const void* _pCurrentSearchEntry, String& _rEntryText );
- virtual void SelectSearchEntry( const void* _pEntry );
- virtual void ExecuteSearchEntry( const void* _pEntry );
+ void OnCurrentEntryChanged();
+
+ // IMnemonicEntryList
+ virtual const void* FirstSearchEntry( String& _rEntryText ) const;
+ virtual const void* NextSearchEntry( const void* _pCurrentSearchEntry, String& _rEntryText ) const;
+ virtual void SelectSearchEntry( const void* _pEntry );
+ virtual void ExecuteSearchEntry( const void* _pEntry ) const;
+
+ // ISearchableStringList
+ virtual ::vcl::StringEntryIdentifier CurrentEntry( String& _out_entryText ) const;
+ virtual ::vcl::StringEntryIdentifier NextEntry( ::vcl::StringEntryIdentifier _currentEntry, String& _out_entryText ) const;
+ virtual void SelectEntry( ::vcl::StringEntryIdentifier _entry );
public:
diff --git a/svtools/inc/svtools/svtdata.hxx b/svtools/inc/svtools/svtdata.hxx
index eee8fe9dd175..d2012f067e38 100644
--- a/svtools/inc/svtools/svtdata.hxx
+++ b/svtools/inc/svtools/svtdata.hxx
@@ -28,6 +28,7 @@
#ifndef _SVTOOLS_SVTDATA_HXX
#define _SVTOOLS_SVTDATA_HXX
+#include "svtools/svtdllapi.h"
#include <tools/resid.hxx>
#include <com/sun/star/lang/Locale.hpp>
@@ -56,13 +57,11 @@ public:
};
//============================================================================
-class SvtResId: public ResId
+class SVT_DLLPUBLIC SvtResId: public ResId
{
public:
- SvtResId(sal_uInt16 nId, const ::com::sun::star::lang::Locale aLocale):
- ResId(nId, *ImpSvtData::GetSvtData().GetResMgr(aLocale)) {}
-
- SvtResId(sal_uInt16 nId): ResId(nId, *ImpSvtData::GetSvtData().GetResMgr()) {}
+ SvtResId(sal_uInt16 nId, const ::com::sun::star::lang::Locale aLocale);
+ SvtResId(sal_uInt16 nId);
// VCL dependant, only available in SVT, not in SVL!
};
diff --git a/svtools/inc/svtools/svtools.hrc b/svtools/inc/svtools/svtools.hrc
index 3dd2f0706a2e..0461064f7d96 100644
--- a/svtools/inc/svtools/svtools.hrc
+++ b/svtools/inc/svtools/svtools.hrc
@@ -89,6 +89,10 @@
#define STR_BASICKEY_FORMAT_TRUE (RID_SVTOOLS_START+107)
#define STR_BASICKEY_FORMAT_FALSE (RID_SVTOOLS_START+108)
#define CONFIG_BASIC_FORMAT_END (RID_SVTOOLS_START+109)
+#define STR_UNDO (RID_SVTOOLS_START+110)
+#define STR_REDO (RID_SVTOOLS_START+111)
+#define STR_REPEAT (RID_SVTOOLS_START+112)
+
#define STR_INVALIDTRYBUY (RID_SVTOOLS_START+120)
#define STR_OLDTRYBUY (RID_SVTOOLS_START+121)
diff --git a/svtools/inc/svtools/svtreebx.hxx b/svtools/inc/svtools/svtreebx.hxx
index d88203fcbb37..9da3493204d7 100644
--- a/svtools/inc/svtools/svtreebx.hxx
+++ b/svtools/inc/svtools/svtreebx.hxx
@@ -39,11 +39,6 @@ class TabBar;
#define SV_TAB_BORDER 8
-#define WB_HASBUTTONSATROOT ((WinBits)0x0800)
-#define WB_NOINITIALSELECTION WB_DROPDOWN
-#define WB_HIDESELECTION WB_NOHIDESELECTION
-#define WB_FORCE_MAKEVISIBLE WB_SPIN
-
#define SV_LISTBOX_ID_TREEBOX 1 // fuer SvLBox::IsA()
#define SV_ENTRYHEIGHTOFFS_PIXEL 2
@@ -97,9 +92,11 @@ class SVT_DLLPUBLIC SvTreeListBox : public SvLBox
sal_uInt16 nTabFlagMask=0xffff,
sal_Bool bHasClipRegion=sal_False );
- SVT_DLLPRIVATE void InitTreeView( WinBits nWinStyle );
+ SVT_DLLPRIVATE void InitTreeView();
SVT_DLLPRIVATE SvLBoxItem* GetItem_Impl( SvLBoxEntry*, long nX, SvLBoxTab** ppTab,
sal_uInt16 nEmptyWidth );
+ SVT_DLLPRIVATE void ImplInitStyle();
+
#endif
protected:
@@ -318,9 +315,6 @@ public:
SvLBoxEntry* GetEntry( SvLBoxEntry* pParent, sal_uIntPtr nPos ) const { return SvLBox::GetEntry(pParent,nPos); }
SvLBoxEntry* GetEntry( sal_uIntPtr nRootPos ) const { return SvLBox::GetEntry(nRootPos);}
- void SetWindowBits( WinBits nWinStyle );
- WinBits GetWindowBits() const { return nWindowStyle; }
-
void PaintEntry( SvLBoxEntry* );
long PaintEntry( SvLBoxEntry*, long nLine,
sal_uInt16 nTabFlagMask=0xffff );
diff --git a/svtools/inc/sychconv.hxx b/svtools/inc/svtools/sychconv.hxx
index c5ab6d78059c..c5ab6d78059c 100644
--- a/svtools/inc/sychconv.hxx
+++ b/svtools/inc/svtools/sychconv.hxx
diff --git a/svtools/inc/tabbar.hxx b/svtools/inc/svtools/tabbar.hxx
index d5cbf7fc6aa1..d5cbf7fc6aa1 100644
--- a/svtools/inc/tabbar.hxx
+++ b/svtools/inc/svtools/tabbar.hxx
diff --git a/svtools/inc/taskbar.hxx b/svtools/inc/svtools/taskbar.hxx
index 71f028ae6e2f..71f028ae6e2f 100644
--- a/svtools/inc/taskbar.hxx
+++ b/svtools/inc/svtools/taskbar.hxx
diff --git a/svtools/inc/templatefoldercache.hxx b/svtools/inc/svtools/templatefoldercache.hxx
index 510c095fb4f4..510c095fb4f4 100644
--- a/svtools/inc/templatefoldercache.hxx
+++ b/svtools/inc/svtools/templatefoldercache.hxx
diff --git a/svtools/inc/templdlg.hxx b/svtools/inc/svtools/templdlg.hxx
index f08f7cc8770d..f08f7cc8770d 100644
--- a/svtools/inc/templdlg.hxx
+++ b/svtools/inc/svtools/templdlg.hxx
diff --git a/svtools/inc/testtool.hxx b/svtools/inc/svtools/testtool.hxx
index 8f617c7e2d9e..8f617c7e2d9e 100644
--- a/svtools/inc/testtool.hxx
+++ b/svtools/inc/svtools/testtool.hxx
diff --git a/svtools/inc/tooltiplbox.hxx b/svtools/inc/svtools/tooltiplbox.hxx
index e50d516f5aa1..e50d516f5aa1 100644
--- a/svtools/inc/tooltiplbox.hxx
+++ b/svtools/inc/svtools/tooltiplbox.hxx
diff --git a/svtools/inc/txtattr.hxx b/svtools/inc/svtools/txtattr.hxx
index 46e0c82b6760..46e0c82b6760 100644
--- a/svtools/inc/txtattr.hxx
+++ b/svtools/inc/svtools/txtattr.hxx
diff --git a/svtools/inc/txtcmp.hxx b/svtools/inc/svtools/txtcmp.hxx
index 7b30b76e69a7..7b30b76e69a7 100644
--- a/svtools/inc/txtcmp.hxx
+++ b/svtools/inc/svtools/txtcmp.hxx
diff --git a/svtools/inc/unoevent.hxx b/svtools/inc/svtools/unoevent.hxx
index 5d5378bf909b..5d5378bf909b 100644
--- a/svtools/inc/unoevent.hxx
+++ b/svtools/inc/svtools/unoevent.hxx
diff --git a/svtools/inc/unoimap.hxx b/svtools/inc/svtools/unoimap.hxx
index 9ed2afe8dc6c..9ed2afe8dc6c 100644
--- a/svtools/inc/unoimap.hxx
+++ b/svtools/inc/svtools/unoimap.hxx
diff --git a/svtools/inc/wallitem.hxx b/svtools/inc/svtools/wallitem.hxx
index e8b45c080198..e8b45c080198 100644
--- a/svtools/inc/wallitem.hxx
+++ b/svtools/inc/svtools/wallitem.hxx
diff --git a/svtools/prj/build.lst b/svtools/prj/build.lst
index a7d8569de301..465c3a688ada 100644
--- a/svtools/prj/build.lst
+++ b/svtools/prj/build.lst
@@ -1,33 +1,3 @@
-st svtools : l10n svl offuh toolkit ucbhelper unotools JPEG:jpeg cppu cppuhelper comphelper sal sot jvmfwk NULL
-st svtools usr1 - all st_mkout NULL
-st svtools\inc nmake - all st_inc NULL
-st svtools\bmpmaker nmake - all st_bmp st_inc NULL
-st svtools\source\brwbox nmake - all st__brw st_bmp st_inc NULL
-st svtools\source\config nmake - all st_conf st_inc NULL
-st svtools\source\contnr nmake - all st__ctr st_inc NULL
-st svtools\source\control nmake - all st_ctl st_inc NULL
-st svtools\source\dialogs nmake - all st_dial st_inc NULL
-st svtools\source\edit nmake - all st_edit st_inc NULL
-st svtools\source\filter.vcl\filter nmake - all st_vfilt st_inc NULL
-st svtools\source\filter.vcl\wmf nmake - all st_vwmf st_inc NULL
-st svtools\source\filter.vcl\igif nmake - all st_vigif st_inc NULL
-st svtools\source\filter.vcl\jpeg nmake - all st_vjpeg st_inc NULL
-st svtools\source\filter.vcl\ixbm nmake - all st_vixbm st_inc NULL
-st svtools\source\filter.vcl\ixpm nmake - all st_vixpm st_inc NULL
-st svtools\source\graphic nmake - all st_svtgraphic st_inc NULL
-st svtools\source\java nmake - all st_svtjava st_inc NULL
-st svtools\source\misc nmake - all st__misc st_bmp st_inc NULL
-st svtools\source\plugapp nmake - all st_papp st_inc NULL
-st svtools\source\svhtml nmake - all st_html st_inc NULL
-st svtools\source\svrtf nmake - all st_rtf st_inc NULL
-st svtools\source\table nmake - all st_table st_inc NULL
-st svtools\source\toolpanel nmake - all st_toolpanel st_inc NULL
-st svtools\source\uno nmake - all st_uno st_inc NULL
-st svtools\source\uno\wizard nmake - all st_uno_wiz st_inc NULL
-st svtools\source\urlobj nmake - all st__url st_inc NULL
-st svtools\util nmake - all st_util st_svtgraphic st__brw st__ctr st_conf st_ctl st_dial st_edit st__misc st__url st_html st_papp st_rtf st_table st_toolpanel st_uno st_uno_wiz st_vfilt st_vigif st_vixbm st_vixpm st_vjpeg st_vwmf st_svtjava NULL
-st svtools\source\hatchwindow nmake - all st_hatchwin st_inc NULL
-st svtools\source\productregistration nmake - all st_prodreg st_util st_inc NULL
-st svtools\workben\unodialog nmake - all st_workben_udlg st_util NULL
-st svtools\workben\toolpanel nmake - all st_workben_toolpanel st_util st_toolpanel NULL
-st svtools\qa\unoapi nmake - all st_qa_unoapi NULL
+st svtools : l10n svl offuh toolkit ucbhelper unotools JPEG:jpeg cppu cppuhelper comphelper sal sot jvmfwk LIBXSLT:libxslt NULL
+st svtools\prj nmake - all st_prj NULL
+
diff --git a/svtools/prj/d.lst b/svtools/prj/d.lst
index 7b9c6a1957e3..e69de29bb2d1 100644
--- a/svtools/prj/d.lst
+++ b/svtools/prj/d.lst
@@ -1,43 +0,0 @@
-mkdir: %COMMON_DEST%\bin%_EXT%\hid
-mkdir: %COMMON_DEST%\res%_EXT%
-mkdir: %_DEST%\inc%_EXT%\svtools
-mkdir: %_DEST%\inc%_EXT%\svtools\toolpanel
-mkdir: %_DEST%\inc%_EXT%\svtools\table
-
-..\%COMMON_OUTDIR%\misc\*.hid %COMMON_DEST%\bin%_EXT%\hid\*.hid
-..\%__SRC%\srs\ehdl.srs %_DEST%\res%_EXT%\svtools.srs
-..\%COMMON_OUTDIR%\srs\ehdl_srs.hid %COMMON_DEST%\res%_EXT%\svtools_srs.hid
-..\%__SRC%\lib\svtool.lib %_DEST%\lib%_EXT%\svtool.lib
-..\%__SRC%\slb\svt.lib %_DEST%\lib%_EXT%\xsvtool.lib
-..\%__SRC%\bin\*.dll %_DEST%\bin%_EXT%\*
-..\%__SRC%\bin\*.res %_DEST%\bin%_EXT%\*
-..\%__SRC%\bin\bmp.* %_DEST%\bin%_EXT%\bmp.*
-..\%__SRC%\bin\bmpsum.* %_DEST%\bin%_EXT%\bmpsum.*
-..\%__SRC%\bin\bmpgui.* %_DEST%\bin%_EXT%\bmpgui.*
-..\%__SRC%\bin\g2g.* %_DEST%\bin%_EXT%\g2g.*
-..\%__SRC%\bin\bmp %_DEST%\bin%_EXT%\bmp
-..\%__SRC%\bin\bmpsum %_DEST%\bin%_EXT%\bmpsum
-..\%__SRC%\bin\bmpgui %_DEST%\bin%_EXT%\bmpgui
-..\%__SRC%\bin\g2g %_DEST%\bin%_EXT%\g2g
-..\%__SRC%\res\bmp.* %_DEST%\bin%_EXT%\bmp.*
-..\%__SRC%\res\bmpgui.* %_DEST%\bin%_EXT%\bmpgui.*
-..\%__SRC%\lib\*.so %_DEST%\lib%_EXT%\*
-..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*
-
-..\inc\svtools\*.hxx %_DEST%\inc%_EXT%\svtools\*.hxx
-..\inc\svtools\*.h %_DEST%\inc%_EXT%\svtools\*.h
-..\inc\svtools\*.hrc %_DEST%\inc%_EXT%\svtools\*.hrc
-..\inc\svtools\table\*.hxx %_DEST%\inc%_EXT%\svtools\table\*.hxx
-..\inc\*.hxx %_DEST%\inc%_EXT%\svtools\*.hxx
-..\inc\*.h %_DEST%\inc%_EXT%\svtools\*.h
-..\inc\*.hrc %_DEST%\inc%_EXT%\svtools\*.hrc
-
-..\inc\svtools\toolpanel\*.* %_DEST%\inc%_EXT%\svtools\toolpanel\*.hrc
-
-dos: sh -c "if test %OS% = MACOSX; then macosx-create-bundle %_DEST%\bin%_EXT%\bmp=%__PRJROOT%\%__SRC%\bin%_EXT%; fi"
-
-*.xml %_DEST%\xml%_EXT%\*.xml
-
-..\%__SRC%\misc\hatchwindowfactory.component %_DEST%\xml%_EXT%\hatchwindowfactory.component
-..\%__SRC%\misc\productregistration.uno.component %_DEST%\xml%_EXT%\productregistration.uno.component
-..\%__SRC%\misc\svt.component %_DEST%\xml%_EXT%\svt.component
diff --git a/toolkit/uiconfig/layout/makefile.mk b/svtools/prj/makefile.mk
index 46d0b187b744..c73a3d944bbf 100644
--- a/toolkit/uiconfig/layout/makefile.mk
+++ b/svtools/prj/makefile.mk
@@ -25,30 +25,16 @@
#
#*************************************************************************
-PRJ=../..
-PRJNAME=toolkit
-TARGET=layout
+PRJ=..
+TARGET=prj
.INCLUDE : settings.mk
-.IF "$(ENABLE_LAYOUT)" == "TRUE"
+.IF "$(VERBOSE)"!=""
+VERBOSEFLAG :=
+.ELSE
+VERBOSEFLAG := -s
+.ENDIF
-all: ALLTAR
-
-XML_FILES=\
- message-box.xml\
- tab-dialog.xml\
-
-#
-
-.INCLUDE : layout.mk
-
-.ELSE # ENABLE_LAYOUT != TRUE
-all .PHONY:
-.ENDIF # ENABLE_LAYOUT != TRUE
-
-.INCLUDE : target.mk
-
-localize.sdf:
- echo '#empty' | cat - > $@
- rm -f *-$@
+all:
+ cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET)
diff --git a/svtools/qa/unoapi/makefile.mk b/svtools/qa/unoapi/makefile.mk
deleted file mode 100644
index e3afb77e637a..000000000000
--- a/svtools/qa/unoapi/makefile.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-#*************************************************************************
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#***********************************************************************/
-
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../..
-PRJNAME = svtools
-TARGET = qa_unoapi
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = org/openoffice/svtools/qa/unoapi
-JAVATESTFILES = Test.java
-JAVAFILES = $(JAVATESTFILES)
-JARFILES = OOoRunner.jar ridl.jar test.jar
-EXTRAJARFILES = $(OOO_JUNIT_JAR)
-.END
-
-.INCLUDE: settings.mk
-.INCLUDE: target.mk
-.INCLUDE: installationtest.mk
-
-ALLTAR : javatest
-
-.END
diff --git a/svtools/source/brwbox/makefile.mk b/svtools/source/brwbox/makefile.mk
deleted file mode 100644
index e195e0ef4859..000000000000
--- a/svtools/source/brwbox/makefile.mk
+++ /dev/null
@@ -1,59 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=browse
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SRS1NAME=$(TARGET)
-SRC1FILES= editbrowsebox.src
-
-EXCEPTIONSFILES =\
- $(SLO)$/editbrowsebox2.obj \
- $(SLO)$/brwbox1.obj \
- $(SLO)$/brwbox3.obj
-
-SLOFILES= \
- $(EXCEPTIONSFILES) \
- $(SLO)$/ebbcontrols.obj \
- $(SLO)$/editbrowsebox.obj \
- $(SLO)$/brwbox2.obj \
- $(SLO)$/brwhead.obj \
- $(SLO)$/datwin.obj
-
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/source/config/apearcfg.cxx b/svtools/source/config/apearcfg.cxx
index 10e3d5ec68b8..89de59baadb4 100644
--- a/svtools/source/config/apearcfg.cxx
+++ b/svtools/source/config/apearcfg.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "apearcfg.hxx"
+#include <svtools/apearcfg.hxx>
#include "com/sun/star/uno/Any.hxx"
#include "tools/debug.hxx"
diff --git a/svtools/source/config/extcolorcfg.cxx b/svtools/source/config/extcolorcfg.cxx
index 993025b22884..35d0276144ec 100644
--- a/svtools/source/config/extcolorcfg.cxx
+++ b/svtools/source/config/extcolorcfg.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "extcolorcfg.hxx"
+#include <svtools/extcolorcfg.hxx>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/lang/Locale.hpp>
diff --git a/svtools/source/config/fontsubstconfig.cxx b/svtools/source/config/fontsubstconfig.cxx
index 7bcbc1e4be82..bf372902fb6f 100644
--- a/svtools/source/config/fontsubstconfig.cxx
+++ b/svtools/source/config/fontsubstconfig.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "fontsubstconfig.hxx"
+#include <svtools/fontsubstconfig.hxx>
#include <svl/svarray.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/uno/Any.hxx>
diff --git a/svtools/source/config/itemholder2.cxx b/svtools/source/config/itemholder2.cxx
index 8e971a1629bf..2382bf3ad7a3 100644
--- a/svtools/source/config/itemholder2.cxx
+++ b/svtools/source/config/itemholder2.cxx
@@ -36,10 +36,10 @@
#include <com/sun/star/lang/XComponent.hpp>
#include <svtools/accessibilityoptions.hxx>
-#include <apearcfg.hxx>
+#include <svtools/apearcfg.hxx>
#include <svtools/menuoptions.hxx>
#include <svtools/colorcfg.hxx>
-#include <fontsubstconfig.hxx>
+#include <svtools/fontsubstconfig.hxx>
#include <svtools/helpopt.hxx>
#include <svtools/printoptions.hxx>
#include <unotools/options.hxx>
diff --git a/svtools/source/config/makefile.mk b/svtools/source/config/makefile.mk
deleted file mode 100644
index d3ba43de68ef..000000000000
--- a/svtools/source/config/makefile.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=config
-
-ENABLE_EXCEPTIONS := TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/accessibilityoptions.obj \
- $(SLO)$/apearcfg.obj \
- $(SLO)$/colorcfg.obj \
- $(SLO)$/extcolorcfg.obj \
- $(SLO)$/fontsubstconfig.obj \
- $(SLO)$/helpopt.obj \
- $(SLO)$/htmlcfg.obj \
- $(SLO)$/itemholder2.obj \
- $(SLO)$/menuoptions.obj \
- $(SLO)$/miscopt.obj \
- $(SLO)$/optionsdrawinglayer.obj \
- $(SLO)$/printoptions.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svtools/source/config/miscopt.cxx b/svtools/source/config/miscopt.cxx
index dd8c9ad24994..bb385ca314f9 100644
--- a/svtools/source/config/miscopt.cxx
+++ b/svtools/source/config/miscopt.cxx
@@ -45,7 +45,7 @@
#include <rtl/logfile.hxx>
#include "itemholder2.hxx"
-#include <imgdef.hxx>
+#include <svtools/imgdef.hxx>
#include <vcl/svapp.hxx>
//_________________________________________________________________________________________________________________
diff --git a/svtools/source/contnr/cont_pch.cxx b/svtools/source/contnr/cont_pch.cxx
deleted file mode 100644
index 4661a08162a2..000000000000
--- a/svtools/source/contnr/cont_pch.cxx
+++ /dev/null
@@ -1,41 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svtools.hxx"
-
-#include <sv.hxx>
-#include <svtools/treelist.hxx>
-#include <svtools/svtabbx.hxx>
-#include <svtools/svtreebx.hxx>
-#include <svtools/svicnvw.hxx>
-#include "svimpbox.hxx"
-#include "svimpicn.hxx"
-#include <svtools/svlbox.hxx>
-#include <svtools/svlbitm.hxx>
-
-
diff --git a/svtools/source/contnr/contentenumeration.cxx b/svtools/source/contnr/contentenumeration.cxx
index 93f328ae2028..e3ba48180e9c 100644
--- a/svtools/source/contnr/contentenumeration.cxx
+++ b/svtools/source/contnr/contentenumeration.cxx
@@ -30,7 +30,7 @@
#include "contentenumeration.hxx"
#include <svl/urlfilter.hxx>
#include <svtools/inettbc.hxx>
-#include "imagemgr.hxx"
+#include <svtools/imagemgr.hxx>
/** === begin UNO includes === **/
#include <com/sun/star/beans/XPropertySet.hpp>
diff --git a/svtools/source/contnr/fileview.cxx b/svtools/source/contnr/fileview.cxx
index b40ef436d8ab..accbbc84dcdd 100644
--- a/svtools/source/contnr/fileview.cxx
+++ b/svtools/source/contnr/fileview.cxx
@@ -28,12 +28,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "fileview.hxx"
+#include <svtools/fileview.hxx>
#include <svtools/svtdata.hxx>
-#include "imagemgr.hxx"
+#include <svtools/imagemgr.hxx>
#include <svtools/headbar.hxx>
#include <svtools/svtabbx.hxx>
-
#include <svtools/svtools.hrc>
#include "fileview.hrc"
#include "contentenumeration.hxx"
diff --git a/svtools/source/contnr/imivctl.hxx b/svtools/source/contnr/imivctl.hxx
index 82cfbe4595d5..81231925154c 100644
--- a/svtools/source/contnr/imivctl.hxx
+++ b/svtools/source/contnr/imivctl.hxx
@@ -41,7 +41,7 @@
#include <limits.h>
-#include "ivctrl.hxx"
+#include <svtools/ivctrl.hxx>
#include <svl/svarray.hxx>
class IcnCursor_Impl;
diff --git a/svtools/source/contnr/imivctl1.cxx b/svtools/source/contnr/imivctl1.cxx
index a6686f6013ab..1ba9419d48a3 100644
--- a/svtools/source/contnr/imivctl1.cxx
+++ b/svtools/source/contnr/imivctl1.cxx
@@ -40,7 +40,7 @@
#include <vcl/mnemonic.hxx>
#include <vcl/controllayout.hxx>
-#include "ivctrl.hxx"
+#include <svtools/ivctrl.hxx>
#include "imivctl.hxx"
#include <svtools/svmedit.hxx>
diff --git a/svtools/source/contnr/ivctrl.cxx b/svtools/source/contnr/ivctrl.cxx
index 5b542b75d0aa..d674712d9d23 100644
--- a/svtools/source/contnr/ivctrl.cxx
+++ b/svtools/source/contnr/ivctrl.cxx
@@ -28,10 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#ifndef GCC
-#endif
-
-#include "ivctrl.hxx"
+#include <svtools/ivctrl.hxx>
#include "imivctl.hxx"
#include <vcl/bitmapex.hxx>
#include <vcl/controllayout.hxx>
diff --git a/svtools/source/contnr/makefile.mk b/svtools/source/contnr/makefile.mk
deleted file mode 100644
index 232665c88c9c..000000000000
--- a/svtools/source/contnr/makefile.mk
+++ /dev/null
@@ -1,82 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=svcontnr
-
-PROJECTPCH4DLL=TRUE
-PROJECTPCH=cont_pch
-PROJECTPCHSOURCE=cont_pch
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-EXCEPTIONSFILES=\
- $(SLO)$/contentenumeration.obj \
- $(SLO)$/fileview.obj \
- $(SLO)$/svlbox.obj \
- $(SLO)$/svtabbx.obj \
- $(SLO)$/svimpbox.obj \
- $(SLO)$/templwin.obj
-
-SLOFILES= $(EXCEPTIONSFILES) \
- $(SLO)$/svicnvw.obj \
- $(SLO)$/svimpicn.obj \
- $(SLO)$/treelist.obj \
- $(SLO)$/svlbitm.obj \
- $(SLO)$/svtreebx.obj \
- $(SLO)$/imivctl1.obj \
- $(SLO)$/imivctl2.obj \
- $(SLO)$/ivctrl.obj \
- $(SLO)$/tooltiplbox.obj
-
-SRS1NAME=$(TARGET)
-SRC1FILES =\
- fileview.src \
- templwin.src \
- svcontnr.src
-
-HXX1TARGET= svcontnr
-HXX1EXT= hxx
-HXX1FILES= $(PRJ)$/inc$/svlbox.hxx \
- $(PRJ)$/inc$/svlbitm.hxx \
- $(PRJ)$/inc$/svtreebx.hxx \
- $(PRJ)$/inc$/svicnvw.hxx \
- $(PRJ)$/inc$/svtabbx.hxx \
- $(PRJ)$/inc$/treelist.hxx
-HXX1EXCL= -E:*include*
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svtools/source/contnr/svicnvw.cxx b/svtools/source/contnr/svicnvw.cxx
index 6b472465d400..f41c480e3c08 100644
--- a/svtools/source/contnr/svicnvw.cxx
+++ b/svtools/source/contnr/svicnvw.cxx
@@ -50,7 +50,6 @@ SvIcnVwDataEntry::~SvIcnVwDataEntry()
SvIconView::SvIconView( Window* pParent, WinBits nWinStyle ) :
SvLBox( pParent, nWinStyle | WB_BORDER )
{
- nWinBits = nWinStyle;
nIcnVwFlags = 0;
pImp = new SvImpIconView( this, GetModel(), nWinStyle | WB_ICON );
pImp->mpViewData = 0;
@@ -72,8 +71,6 @@ SvIconView::SvIconView( Window* pParent , const ResId& rResId ) :
SetBackground( Wallpaper( rStyleSettings.GetFieldColor() ) );
SetDefaultFont();
pImp->SetSelectionMode( GetSelectionMode() );
- pImp->SetWindowBits( nWindowStyle );
- nWinBits = nWindowStyle;
}
SvIconView::~SvIconView()
@@ -403,10 +400,11 @@ SvLBoxEntry* SvIconView::GetEntryFromLogicPos( const Point& rDocPos ) const
}
-void SvIconView::SetWindowBits( WinBits nWinStyle )
+void SvIconView::StateChanged( StateChangedType i_nStateChange )
{
- nWinBits = nWinStyle;
- pImp->SetWindowBits( nWinStyle );
+ SvLBox::StateChanged( i_nStateChange );
+ if ( i_nStateChange == STATE_CHANGE_STYLE )
+ pImp->SetStyle( GetStyle() );
}
void SvIconView::PaintEntry( SvLBoxEntry* pEntry )
@@ -469,6 +467,7 @@ void SvIconView::SelectAll( sal_Bool bSelect, sal_Bool )
void SvIconView::SetCurEntry( SvLBoxEntry* _pEntry )
{
pImp->SetCursor( _pEntry );
+ OnCurrentEntryChanged();
}
SvLBoxEntry* SvIconView::GetCurEntry() const
diff --git a/svtools/source/contnr/svimpbox.cxx b/svtools/source/contnr/svimpbox.cxx
index 8336e29a8ff6..6a5aadfbbbf0 100644
--- a/svtools/source/contnr/svimpbox.cxx
+++ b/svtools/source/contnr/svimpbox.cxx
@@ -29,15 +29,10 @@
#include "precompiled_svtools.hxx"
#include <vcl/svapp.hxx>
#include <vcl/salnativewidgets.hxx>
-
-#ifndef _HELP_HXX
#include <vcl/help.hxx>
-#endif
-#include <tabbar.hxx>
+#include <svtools/tabbar.hxx>
-#ifndef _STACK_
#include <stack>
-#endif
#define _SVTREEBX_CXX
#include <svtools/svtreebx.hxx>
@@ -45,15 +40,9 @@
#include <svimpbox.hxx>
#include <rtl/instance.hxx>
#include <svtools/svtdata.hxx>
-
-#ifndef _SVTOOLS_HRC
+#include <tools/wintypes.hxx>
#include <svtools/svtools.hrc>
-#endif
-
-// #102891# --------------------
-#ifndef _UNOTOOLS_PROCESSFACTORY_HXX
#include <comphelper/processfactory.hxx>
-#endif
#define NODE_BMP_TABDIST_NOTVALID -2000000
#define FIRST_ENTRY_TAB 1
@@ -83,7 +72,7 @@ SvImpLBox::SvImpLBox( SvTreeListBox* pLBView, SvLBoxTreeList* pLBTree, WinBits n
pTree = pLBTree;
aSelEng.SetFunctionSet( (FunctionSet*)&aFctSet );
aSelEng.ExpandSelectionOnMouseMove( sal_False );
- SetWindowBits( nWinStyle );
+ SetStyle( nWinStyle );
SetSelectionMode( SINGLE_SELECTION );
SetDragDropMode( 0 );
@@ -253,10 +242,10 @@ void SvImpLBox::CalcCellFocusRect( SvLBoxEntry* pEntry, Rectangle& rRect )
}
}
-void SvImpLBox::SetWindowBits( WinBits nWinStyle )
+void SvImpLBox::SetStyle( WinBits i_nWinStyle )
{
- nWinBits = nWinStyle;
- if((nWinStyle & WB_SIMPLEMODE) && aSelEng.GetSelectionMode()==MULTIPLE_SELECTION)
+ m_nStyle = i_nWinStyle;
+ if ( ( m_nStyle & WB_SIMPLEMODE) && ( aSelEng.GetSelectionMode() == MULTIPLE_SELECTION ) )
aSelEng.AddAlways( sal_True );
}
@@ -683,6 +672,8 @@ void SvImpLBox::SetCursor( SvLBoxEntry* pEntry, sal_Bool bForceNoSelect )
}
}
nFlags &= (~F_DESEL_ALL);
+
+ pView->OnCurrentEntryChanged();
}
void SvImpLBox::ShowCursor( sal_Bool bShow )
@@ -952,7 +943,7 @@ void SvImpLBox::Paint( const Rectangle& rRect )
// erst die Linien Zeichnen, dann clippen!
pView->SetClipRegion();
- if( nWinBits & ( WB_HASLINES | WB_HASLINESATROOT ) )
+ if( m_nStyle & ( WB_HASLINES | WB_HASLINESATROOT ) )
DrawNet();
pView->SetClipRegion( aClipRegion );
@@ -969,7 +960,7 @@ void SvImpLBox::Paint( const Rectangle& rRect )
{
// do not select if multiselection or explicit set
sal_Bool bNotSelect = ( aSelEng.GetSelectionMode() == MULTIPLE_SELECTION )
- || ( ( nWinBits & WB_NOINITIALSELECTION ) == WB_NOINITIALSELECTION );
+ || ( ( m_nStyle & WB_NOINITIALSELECTION ) == WB_NOINITIALSELECTION );
SetCursor( pStartEntry, bNotSelect );
}
@@ -994,7 +985,7 @@ void SvImpLBox::MakeVisible( SvLBoxEntry* pEntry, sal_Bool bMoveToTop )
if( bInView && (!bMoveToTop || pStartEntry == pEntry) )
return; // ist schon sichtbar
- if( pStartEntry || (nWinBits & WB_FORCE_MAKEVISIBLE) )
+ if( pStartEntry || (m_nStyle & WB_FORCE_MAKEVISIBLE) )
nFlags &= (~F_FILLING);
if( !bInView )
{
@@ -1132,7 +1123,7 @@ void SvImpLBox::DrawNet()
pView->DrawLine( aPos1, aPos2 );
}
// Sichtbar im Control ?
- if( n>= nOffs && ((nWinBits & WB_HASLINESATROOT) || !pTree->IsAtRootDepth(pEntry)))
+ if( n>= nOffs && ((m_nStyle & WB_HASLINESATROOT) || !pTree->IsAtRootDepth(pEntry)))
{
// kann aPos1 recyclet werden ?
if( !pView->IsExpanded(pEntry) )
@@ -1154,7 +1145,7 @@ void SvImpLBox::DrawNet()
nY += nEntryHeight;
pEntry = (SvLBoxEntry*)(pView->NextVisible( pEntry ));
}
- if( nWinBits & WB_HASLINESATROOT )
+ if( m_nStyle & WB_HASLINESATROOT )
{
pEntry = pView->First();
aPos1.X() = pView->GetTabPos( pEntry, pFirstDynamicTab);
@@ -1248,7 +1239,8 @@ sal_uInt16 SvImpLBox::AdjustScrollBars( Size& rSize )
Size aOSize( pView->Control::GetOutputSizePixel() );
- sal_Bool bVerSBar = ( pView->nWindowStyle & WB_VSCROLL ) != 0;
+ const WinBits nWindowStyle = pView->GetStyle();
+ sal_Bool bVerSBar = ( nWindowStyle & WB_VSCROLL ) != 0;
sal_Bool bHorBar = sal_False;
long nMaxRight = aOSize.Width(); //GetOutputSize().Width();
Point aOrigin( pView->GetMapMode().GetOrigin() );
@@ -1256,7 +1248,7 @@ sal_uInt16 SvImpLBox::AdjustScrollBars( Size& rSize )
nMaxRight += aOrigin.X() - 1;
long nVis = nMostRight - aOrigin.X();
if( pTabBar || (
- (pView->nWindowStyle & WB_HSCROLL) &&
+ (nWindowStyle & WB_HSCROLL) &&
(nVis < nMostRight || nMaxRight < nMostRight) ))
bHorBar = sal_True;
@@ -1274,7 +1266,7 @@ sal_uInt16 SvImpLBox::AdjustScrollBars( Size& rSize )
nMaxRight -= nVerSBarWidth;
if( !bHorBar )
{
- if( (pView->nWindowStyle & WB_HSCROLL) &&
+ if( (nWindowStyle & WB_HSCROLL) &&
(nVis < nMostRight || nMaxRight < nMostRight) )
bHorBar = sal_True;
}
@@ -1439,7 +1431,7 @@ void SvImpLBox::FillView()
void SvImpLBox::ShowVerSBar()
{
- sal_Bool bVerBar = ( pView->nWindowStyle & WB_VSCROLL ) != 0;
+ sal_Bool bVerBar = ( pView->GetStyle() & WB_VSCROLL ) != 0;
sal_uIntPtr nVis = 0;
if( !bVerBar )
nVis = pView->GetVisibleCount();
@@ -1681,7 +1673,7 @@ void SvImpLBox::EntrySelected( SvLBoxEntry* pEntry, sal_Bool bSelect )
return;
/*
- if( (nWinBits & WB_HIDESELECTION) && pEntry && !pView->HasFocus() )
+ if( (m_nStyle & WB_HIDESELECTION) && pEntry && !pView->HasFocus() )
{
SvViewData* pViewData = pView->GetViewData( pEntry );
pViewData->SetCursored( bSelect );
@@ -1943,7 +1935,7 @@ void SvImpLBox::EntryInserted( SvLBoxEntry* pEntry )
// die Linien invalidieren
/*
if( (bEntryVisible || bPrevEntryVisible) &&
- (nWinBits & ( WB_HASLINES | WB_HASLINESATROOT )) )
+ (m_nStyle & ( WB_HASLINES | WB_HASLINESATROOT )) )
{
SvLBoxTab* pTab = pView->GetFirstDynamicTab();
if( pTab )
@@ -2265,6 +2257,7 @@ sal_Bool SvImpLBox::KeyInput( const KeyEvent& rKEvt)
SvLBoxEntry* pNewCursor;
+ const WinBits nWindowStyle = pView->GetStyle();
switch( aCode )
{
case KEY_UP:
@@ -2348,7 +2341,7 @@ sal_Bool SvImpLBox::KeyInput( const KeyEvent& rKEvt)
CallEventListeners( VCLEVENT_LISTBOX_SELECT, pCursor );
}
}
- else if( pView->nWindowStyle & WB_HSCROLL )
+ else if( nWindowStyle & WB_HSCROLL )
{
long nThumb = aHorSBar.GetThumbPos();
nThumb += aHorSBar.GetLineSize();
@@ -2379,7 +2372,7 @@ sal_Bool SvImpLBox::KeyInput( const KeyEvent& rKEvt)
CallEventListeners( VCLEVENT_LISTBOX_SELECT, pCursor );
}
}
- else if ( pView->nWindowStyle & WB_HSCROLL )
+ else if ( nWindowStyle & WB_HSCROLL )
{
long nThumb = aHorSBar.GetThumbPos();
nThumb -= aHorSBar.GetLineSize();
@@ -2481,13 +2474,17 @@ sal_Bool SvImpLBox::KeyInput( const KeyEvent& rKEvt)
else if ( !bShift /*&& !bMod1*/ )
{
if ( aSelEng.IsAddMode() )
+ {
// toggle selection
pView->Select( pCursor, !pView->IsSelected( pCursor ) );
- else
+ }
+ else if ( !pView->IsSelected( pCursor ) )
{
SelAllDestrAnch( sal_False );
pView->Select( pCursor, sal_True );
}
+ else
+ bKeyUsed = sal_False;
}
else
bKeyUsed = sal_False;
@@ -2520,7 +2517,7 @@ sal_Bool SvImpLBox::KeyInput( const KeyEvent& rKEvt)
case KEY_F8:
if( bShift && pView->GetSelectionMode()==MULTIPLE_SELECTION &&
- !(nWinBits & WB_SIMPLEMODE))
+ !(m_nStyle & WB_SIMPLEMODE))
{
if( aSelEng.IsAlwaysAdding() )
aSelEng.AddAlways( sal_False );
@@ -2568,8 +2565,8 @@ sal_Bool SvImpLBox::KeyInput( const KeyEvent& rKEvt)
case KEY_A:
if( bMod1 )
SelAllDestrAnch( sal_True );
-// else
-// bKeyUsed = sal_False; #105907# assume user wants to use quicksearch with key "a", so key is handled!
+ else
+ bKeyUsed = sal_False;
break;
case KEY_SUBTRACT:
@@ -2680,10 +2677,15 @@ sal_Bool SvImpLBox::KeyInput( const KeyEvent& rKEvt)
break;
default:
- if( bMod1 || rKeyCode.GetGroup() == KEYGROUP_FKEYS )
- // #105907# CTRL or Function key is pressed, assume user don't want to use quicksearch...
- // if there are groups of keys which should not be handled, they can be added here
- bKeyUsed = sal_False;
+ // is there any reason why we should eat the events here? The only place where this is called
+ // is from SvTreeListBox::KeyInput. If we set bKeyUsed to sal_True here, then the key input
+ // is just silenced. However, we want SvLBox::KeyInput to get a chance, to do the QuickSelection
+ // handling.
+ // (The old code here which intentionally set bKeyUsed to TRUE said this was because of "quick search"
+ // handling, but actually there was no quick search handling anymore. We just re-implemented it.)
+ // #i31275# / 2009-06-16 / frank.schoenheit@sun.com
+ bKeyUsed = sal_False;
+ break;
}
return bKeyUsed;
}
@@ -2698,7 +2700,7 @@ void __EXPORT SvImpLBox::GetFocus()
// if( bSimpleTravel && !pView->IsSelected(pCursor) )
// pView->Select( pCursor, sal_True );
}
- if( nWinBits & WB_HIDESELECTION )
+ if( m_nStyle & WB_HIDESELECTION )
{
SvLBoxEntry* pEntry = pView->FirstSelected();
while( pEntry )
@@ -2731,7 +2733,7 @@ void __EXPORT SvImpLBox::LoseFocus()
pView->SetEntryFocus( pCursor,sal_False );
ShowCursor( sal_False );
- if( nWinBits & WB_HIDESELECTION )
+ if( m_nStyle & WB_HIDESELECTION )
{
SvLBoxEntry* pEntry = pView->FirstSelected();
while( pEntry )
@@ -3029,7 +3031,7 @@ void SvImpLBox::SetSelectionMode( SelectionMode eSelMode )
bSimpleTravel = sal_True;
else
bSimpleTravel = sal_False;
- if( (nWinBits & WB_SIMPLEMODE) && (eSelMode == MULTIPLE_SELECTION) )
+ if( (m_nStyle & WB_SIMPLEMODE) && (eSelMode == MULTIPLE_SELECTION) )
aSelEng.AddAlways( sal_True );
}
@@ -3107,7 +3109,7 @@ void lcl_DeleteSubPopups(PopupMenu* pPopup)
}
}
-bool SvImpLBox::Command( const CommandEvent& rCEvt )
+void SvImpLBox::Command( const CommandEvent& rCEvt )
{
sal_uInt16 nCommand = rCEvt.GetCommand();
@@ -3115,22 +3117,9 @@ bool SvImpLBox::Command( const CommandEvent& rCEvt )
aEditTimer.Stop();
// Rollmaus-Event?
- if ( ( ( nCommand == COMMAND_WHEEL )
- || ( nCommand == COMMAND_STARTAUTOSCROLL )
- || ( nCommand == COMMAND_AUTOSCROLL )
- )
- && pView->HandleScrollCommand( rCEvt, &aHorSBar, &aVerSBar )
- )
- {
- return true;
- }
-
- if ( ( nCommand == COMMAND_CONTEXTMENU )
- && !bContextMenuHandling
- )
- {
- return false;
- }
+ if( ( ( nCommand == COMMAND_WHEEL ) || ( nCommand == COMMAND_STARTAUTOSCROLL ) || ( nCommand == COMMAND_AUTOSCROLL ) )
+ && pView->HandleScrollCommand( rCEvt, &aHorSBar, &aVerSBar ) )
+ return;
if( bContextMenuHandling && nCommand == COMMAND_CONTEXTMENU )
{
@@ -3179,6 +3168,8 @@ bool SvImpLBox::Command( const CommandEvent& rCEvt )
{ // deselect all
pView->SelectAll( sal_False );
}
+
+
}
else
{ // key event (or at least no mouse event)
@@ -3238,18 +3229,15 @@ bool SvImpLBox::Command( const CommandEvent& rCEvt )
aSelRestore.pop();
}
}
- return true;
}
-
- const Point& rPos = rCEvt.GetMousePosPixel();
- if( rPos.X() < aOutputSize.Width() && rPos.Y() < aOutputSize.Height() )
- aSelEng.Command( rCEvt );
-
- // strictly, this is not correct. However, it leads to a behavior compatible to the one at the time
- // when this method did have a void return value ...
- // A proper solution would be to give the EditEngine::Command also a boolean return value, and forward
- // this (or false) to our caller
- return true;
+#ifndef NOCOMMAND
+ else
+ {
+ const Point& rPos = rCEvt.GetMousePosPixel();
+ if( rPos.X() < aOutputSize.Width() && rPos.Y() < aOutputSize.Height() )
+ aSelEng.Command( rCEvt );
+ }
+#endif
}
void SvImpLBox::BeginScroll()
diff --git a/svtools/source/contnr/svimpicn.cxx b/svtools/source/contnr/svimpicn.cxx
index 89f94bd531d4..4b9d82f59172 100644
--- a/svtools/source/contnr/svimpicn.cxx
+++ b/svtools/source/contnr/svimpicn.cxx
@@ -708,7 +708,7 @@ public:
SvImpIconView::SvImpIconView( SvIconView* pCurView, SvLBoxTreeList* pTree,
- WinBits nWinStyle ) :
+ WinBits i_nWinStyle ) :
aVerSBar( pCurView, WB_DRAG | WB_VSCROLL ),
aHorSBar( pCurView, WB_DRAG | WB_HSCROLL )
{
@@ -716,7 +716,7 @@ SvImpIconView::SvImpIconView( SvIconView* pCurView, SvLBoxTreeList* pTree,
pModel = pTree;
pCurParent = 0;
pZOrderList = new SvPtrarr;
- SetWindowBits( nWinStyle );
+ SetStyle( i_nWinStyle );
nHorDist = 0;
nVerDist = 0;
nFlags = 0;
@@ -785,13 +785,12 @@ void SvImpIconView::Clear( sal_Bool bInCtor )
AdjustScrollBars();
}
-void SvImpIconView::SetWindowBits( WinBits nWinStyle )
+void SvImpIconView::SetStyle( const WinBits i_nWinStyle )
{
- nWinBits = nWinStyle;
nViewMode = VIEWMODE_TEXT;
- if( nWinStyle & WB_NAME )
+ if( i_nWinStyle & WB_NAME )
nViewMode = VIEWMODE_NAME;
- if( nWinStyle & WB_ICON )
+ if( i_nWinStyle & WB_ICON )
nViewMode = VIEWMODE_ICON;
}
@@ -1754,8 +1753,8 @@ void SvImpIconView::AdjustScrollBars()
else
nVisibleHeight = nRealHeight;
- bool bVerSBar = (pView->nWindowStyle & WB_VSCROLL) ? true : false;
- bool bHorSBar = (pView->nWindowStyle & WB_HSCROLL) ? true : false;
+ bool bVerSBar = (pView->GetStyle() & WB_VSCROLL) ? true : false;
+ bool bHorSBar = (pView->GetStyle() & WB_HSCROLL) ? true : false;
sal_uInt16 nResult = 0;
if( nVirtHeight )
@@ -1903,7 +1902,7 @@ sal_Bool SvImpIconView::CheckHorScrollBar()
return sal_False;
const MapMode& rMapMode = pView->GetMapMode();
Point aOrigin( rMapMode.GetOrigin() );
- if(!(pView->nWindowStyle & WB_HSCROLL) && !aOrigin.X() )
+ if(!(pView->GetStyle() & WB_HSCROLL) && !aOrigin.X() )
{
long nWidth = aOutputSize.Width();
sal_uInt16 nCount = pZOrderList->Count();
@@ -1941,7 +1940,7 @@ sal_Bool SvImpIconView::CheckVerScrollBar()
return sal_False;
const MapMode& rMapMode = pView->GetMapMode();
Point aOrigin( rMapMode.GetOrigin() );
- if(!(pView->nWindowStyle & WB_VSCROLL) && !aOrigin.Y() )
+ if(!(pView->GetStyle() & WB_VSCROLL) && !aOrigin.Y() )
{
long nDeepest = 0;
long nHeight = aOutputSize.Height();
diff --git a/svtools/source/contnr/svlbox.cxx b/svtools/source/contnr/svlbox.cxx
index 494bcfe28ad5..2074d41e248d 100644
--- a/svtools/source/contnr/svlbox.cxx
+++ b/svtools/source/contnr/svlbox.cxx
@@ -685,6 +685,7 @@ SvLBox_Impl::SvLBox_Impl( SvLBox& _rBox )
,m_bEntryMnemonicsEnabled( false )
,m_pLink( NULL )
,m_aMnemonicEngine( _rBox )
+ ,m_aQuickSelectionEngine( _rBox )
{
}
@@ -699,7 +700,6 @@ SvLBox::SvLBox( Window* pParent, WinBits nWinStyle ) :
DropTargetHelper( this ), DragSourceHelper( this ), eSelMode( NO_SELECTION )
{
DBG_CTOR(SvLBox,0);
- nWindowStyle = nWinStyle;
nDragOptions = DND_ACTION_COPYMOVE | DND_ACTION_LINK;
nImpFlags = 0;
pTargetEntry = 0;
@@ -724,7 +724,6 @@ SvLBox::SvLBox( Window* pParent, const ResId& rResId ) :
DBG_CTOR(SvLBox,0);
pTargetEntry = 0;
nImpFlags = 0;
- nWindowStyle = 0;
pLBoxImpl = new SvLBox_Impl( *this );
nDragOptions = DND_ACTION_COPYMOVE | DND_ACTION_LINK;
nDragDropMode = 0;
@@ -1251,6 +1250,12 @@ sal_uIntPtr SvLBox::SelectChilds( SvLBoxEntry* , sal_Bool )
return 0;
}
+void SvLBox::OnCurrentEntryChanged()
+{
+ if ( !pLBoxImpl->m_bDoingQuickSelection )
+ pLBoxImpl->m_aQuickSelectionEngine.Reset();
+}
+
void SvLBox::SelectAll( sal_Bool /* bSelect */ , sal_Bool /* bPaint */ )
{
DBG_CHKTHIS(SvLBox,0);
@@ -1535,15 +1540,14 @@ void SvLBox::KeyInput( const KeyEvent& rKEvt )
Control::KeyInput( rKEvt );
}
-const void* SvLBox::FirstSearchEntry( String& _rEntryText )
+const void* SvLBox::FirstSearchEntry( String& _rEntryText ) const
{
SvLBoxEntry* pEntry = GetCurEntry();
if ( pEntry )
pEntry = const_cast< SvLBoxEntry* >( static_cast< const SvLBoxEntry* >( NextSearchEntry( pEntry, _rEntryText ) ) );
else
{
- if ( !pEntry )
- pEntry = FirstSelected();
+ pEntry = FirstSelected();
if ( !pEntry )
pEntry = First();
}
@@ -1554,11 +1558,23 @@ const void* SvLBox::FirstSearchEntry( String& _rEntryText )
return pEntry;
}
-const void* SvLBox::NextSearchEntry( const void* _pCurrentSearchEntry, String& _rEntryText )
+const void* SvLBox::NextSearchEntry( const void* _pCurrentSearchEntry, String& _rEntryText ) const
{
SvLBoxEntry* pEntry = const_cast< SvLBoxEntry* >( static_cast< const SvLBoxEntry* >( _pCurrentSearchEntry ) );
- pEntry = Next( pEntry );
+ if ( ( ( GetChildCount( pEntry ) > 0 )
+ || ( pEntry->HasChildsOnDemand() )
+ )
+ && !IsExpanded( pEntry )
+ )
+ {
+ pEntry = NextSibling( pEntry );
+ }
+ else
+ {
+ pEntry = Next( pEntry );
+ }
+
if ( !pEntry )
pEntry = First();
@@ -1572,7 +1588,7 @@ void SvLBox::SelectSearchEntry( const void* _pEntry )
{
SvLBoxEntry* pEntry = const_cast< SvLBoxEntry* >( static_cast< const SvLBoxEntry* >( _pEntry ) );
DBG_ASSERT( pEntry, "SvLBox::SelectSearchEntry: invalid entry!" );
- if ( pEntry )
+ if ( !pEntry )
return;
SelectAll( sal_False );
@@ -1580,17 +1596,50 @@ void SvLBox::SelectSearchEntry( const void* _pEntry )
Select( pEntry );
}
-void SvLBox::ExecuteSearchEntry( const void* /*_pEntry*/ )
+void SvLBox::ExecuteSearchEntry( const void* /*_pEntry*/ ) const
{
// nothing to do here, we have no "execution"
}
+::vcl::StringEntryIdentifier SvLBox::CurrentEntry( String& _out_entryText ) const
+{
+ // always accept the current entry if there is one
+ SvLBoxEntry* pCurrentEntry( GetCurEntry() );
+ if ( pCurrentEntry )
+ {
+ _out_entryText = GetEntryText( pCurrentEntry );
+ return pCurrentEntry;
+ }
+ return FirstSearchEntry( _out_entryText );
+}
+
+::vcl::StringEntryIdentifier SvLBox::NextEntry( ::vcl::StringEntryIdentifier _currentEntry, String& _out_entryText ) const
+{
+ return NextSearchEntry( _currentEntry, _out_entryText );
+}
+
+void SvLBox::SelectEntry( ::vcl::StringEntryIdentifier _entry )
+{
+ SelectSearchEntry( _entry );
+}
+
bool SvLBox::HandleKeyInput( const KeyEvent& _rKEvt )
{
- if ( !IsEntryMnemonicsEnabled() )
- return false;
+ if ( IsEntryMnemonicsEnabled()
+ && pLBoxImpl->m_aMnemonicEngine.HandleKeyEvent( _rKEvt )
+ )
+ return true;
+
+ if ( ( GetStyle() & WB_QUICK_SEARCH ) != 0 )
+ {
+ pLBoxImpl->m_bDoingQuickSelection = true;
+ const bool bHandled = pLBoxImpl->m_aQuickSelectionEngine.HandleKeyEvent( _rKEvt );
+ pLBoxImpl->m_bDoingQuickSelection = false;
+ if ( bHandled )
+ return true;
+ }
- return pLBoxImpl->m_aMnemonicEngine.HandleKeyEvent( _rKEvt );
+ return false;
}
SvLBoxEntry* SvLBox::GetEntry( const Point&, sal_Bool ) const
diff --git a/svtools/source/contnr/svtreebx.cxx b/svtools/source/contnr/svtreebx.cxx
index ac4ca35a67ac..0e66c425825e 100644
--- a/svtools/source/contnr/svtreebx.cxx
+++ b/svtools/source/contnr/svtreebx.cxx
@@ -65,10 +65,10 @@ DBG_NAME(SvTreeListBox)
#define SV_LBOX_DEFAULT_INDENT_PIXEL 20
SvTreeListBox::SvTreeListBox( Window* pParent, WinBits nWinStyle )
- : SvLBox(pParent,nWinStyle )
+ : SvLBox( pParent, nWinStyle )
{
DBG_CTOR(SvTreeListBox,0);
- InitTreeView( nWinStyle );
+ InitTreeView();
SetSublistOpenWithLeftRight();
}
@@ -78,13 +78,13 @@ SvTreeListBox::SvTreeListBox( Window* pParent , const ResId& rResId )
{
DBG_CTOR(SvTreeListBox,0);
- InitTreeView( 0 );
+ InitTreeView();
Resize();
SetSublistOpenWithLeftRight();
}
-void SvTreeListBox::InitTreeView( WinBits nWinStyle )
+void SvTreeListBox::InitTreeView()
{
DBG_CHKTHIS(SvTreeListBox,0);
pCheckButtonData = NULL;
@@ -102,7 +102,7 @@ void SvTreeListBox::InitTreeView( WinBits nWinStyle )
nTreeFlags = TREEFLAG_RECALCTABS;
nIndent = SV_LBOX_DEFAULT_INDENT_PIXEL;
nEntryHeightOffs = SV_ENTRYHEIGHTOFFS_PIXEL;
- pImp = new SvImpLBox( this, GetModel(), nWinStyle );
+ pImp = new SvImpLBox( this, GetModel(), GetStyle() );
aContextBmpMode = SVLISTENTRYFLAG_EXPANDED;
nContextBmpWidthMax = 0;
@@ -110,7 +110,7 @@ void SvTreeListBox::InitTreeView( WinBits nWinStyle )
SetSpaceBetweenEntries( 0 );
SetLineColor();
InitSettings( sal_True, sal_True, sal_True );
- SetWindowBits( nWinStyle );
+ ImplInitStyle();
SetTabs();
}
@@ -227,8 +227,9 @@ void SvTreeListBox::SetTabs()
EndEditing( sal_True );
nTreeFlags &= (~TREEFLAG_RECALCTABS);
nFocusWidth = -1;
- sal_Bool bHasButtons = (nWindowStyle & WB_HASBUTTONS)!=0;
- sal_Bool bHasButtonsAtRoot = (nWindowStyle & (WB_HASLINESATROOT |
+ const WinBits nStyle( GetStyle() );
+ sal_Bool bHasButtons = (nStyle & WB_HASBUTTONS)!=0;
+ sal_Bool bHasButtonsAtRoot = (nStyle & (WB_HASLINESATROOT |
WB_HASBUTTONSATROOT))!=0;
long nStartPos = TAB_STARTPOS;
long nNodeWidthPixel = GetExpandedNodeBmp().GetSizePixel().Width();
@@ -1492,12 +1493,14 @@ SvLBoxEntry* SvTreeListBox::GetCurEntry() const
return pImp->GetCurEntry();
}
-void SvTreeListBox::SetWindowBits( WinBits nWinStyle )
+void SvTreeListBox::ImplInitStyle()
{
DBG_CHKTHIS(SvTreeListBox,0);
- nWindowStyle = nWinStyle;
+
+ const WinBits nWindowStyle = GetStyle();
+
nTreeFlags |= TREEFLAG_RECALCTABS;
- if( nWinStyle & WB_SORT )
+ if( nWindowStyle & WB_SORT )
{
GetModel()->SetSortMode( SortAscending );
GetModel()->SetCompareHdl( LINK(this,SvTreeListBox,DefaultCompare));
@@ -1508,9 +1511,9 @@ void SvTreeListBox::SetWindowBits( WinBits nWinStyle )
GetModel()->SetCompareHdl( Link() );
}
#ifdef OS2
- nWinStyle |= WB_VSCROLL;
+ nWindowStyle |= WB_VSCROLL;
#endif
- pImp->SetWindowBits( nWinStyle );
+ pImp->SetStyle( nWindowStyle );
pImp->Resize();
Invalidate();
}
@@ -1578,8 +1581,9 @@ long SvTreeListBox::PaintEntry1(SvLBoxEntry* pEntry,long nLine,sal_uInt16 nTabFl
sal_Bool bInUse = pEntry->HasInUseEmphasis();
// wenn eine ClipRegion von aussen gesetzt wird, dann
// diese nicht zuruecksetzen
- sal_Bool bResetClipRegion = !bHasClipRegion;
- sal_Bool bHideSelection = ((nWindowStyle & WB_HIDESELECTION) && !HasFocus())!=0;
+ const WinBits nWindowStyle = GetStyle();
+ const sal_Bool bResetClipRegion = !bHasClipRegion;
+ const sal_Bool bHideSelection = ((nWindowStyle & WB_HIDESELECTION) && !HasFocus())!=0;
const StyleSettings& rSettings = GetSettings().GetStyleSettings();
Font aHighlightFont( GetFont() );
@@ -2229,8 +2233,8 @@ Region SvTreeListBox::GetDragRegion() const
void SvTreeListBox::Command( const CommandEvent& rCEvt )
{
DBG_CHKTHIS(SvTreeListBox,0);
- if ( !pImp->Command( rCEvt ) )
- SvLBox::Command( rCEvt );
+ // FIXME gnumake2 resync to DEV300_m84
+ pImp->Command( rCEvt );
}
@@ -2367,6 +2371,7 @@ void SvTreeListBox::ModelNotification( sal_uInt16 nActionId, SvListEntry* pEntry
long SvTreeListBox::GetTextOffset() const
{
DBG_CHKTHIS(SvTreeListBox,0);
+ const WinBits nWindowStyle = GetStyle();
sal_Bool bHasButtons = (nWindowStyle & WB_HASBUTTONS)!=0;
sal_Bool bHasButtonsAtRoot = (nWindowStyle & (WB_HASLINESATROOT |
WB_HASBUTTONSATROOT))!=0;
@@ -2519,6 +2524,8 @@ void SvTreeListBox::DataChanged( const DataChangedEvent& rDCEvt )
void SvTreeListBox::StateChanged( StateChangedType i_nStateChange )
{
SvLBox::StateChanged( i_nStateChange );
+ if ( i_nStateChange == STATE_CHANGE_STYLE )
+ ImplInitStyle();
}
void SvTreeListBox::InitSettings(sal_Bool bFont,sal_Bool bForeground,sal_Bool bBackground)
diff --git a/svtools/source/contnr/templwin.cxx b/svtools/source/contnr/templwin.cxx
index fc39b771bf92..82514405cbdd 100644
--- a/svtools/source/contnr/templwin.cxx
+++ b/svtools/source/contnr/templwin.cxx
@@ -28,31 +28,24 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
#include "templwin.hxx"
-#include "templdlg.hxx"
+#include <svtools/templdlg.hxx>
#include <svtools/svtdata.hxx>
#include <unotools/pathoptions.hxx>
#include <unotools/dynamicmenuoptions.hxx>
#include <unotools/extendedsecurityoptions.hxx>
#include <svtools/xtextedt.hxx>
#include <svl/inettype.hxx>
-#include "imagemgr.hxx"
+#include <svtools/imagemgr.hxx>
#include <svtools/miscopt.hxx>
-#include "templatefoldercache.hxx"
-#include "imgdef.hxx"
-#include "txtattr.hxx"
-#ifndef _SVTOOLS_HRC
+#include <svtools/templatefoldercache.hxx>
+#include <svtools/imgdef.hxx>
+#include <svtools/txtattr.hxx>
#include <svtools/svtools.hrc>
-#endif
-#ifndef _SVTOOLS_TEMPLWIN_HRC
#include "templwin.hrc"
-#endif
-#ifndef _SVT_HELPID_HRC
#include <svtools/helpid.hrc>
-#endif
#include <unotools/pathoptions.hxx>
#include <unotools/viewoptions.hxx>
#include <unotools/ucbhelper.hxx>
-
#include "unotools/configmgr.hxx"
#include <com/sun/star/awt/XWindow.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
@@ -87,7 +80,7 @@
#include <vcl/svapp.hxx>
#include <vcl/split.hxx>
#include <vcl/msgbox.hxx>
-#include "DocumentInfoPreview.hxx"
+#include <svtools/DocumentInfoPreview.hxx>
#include <vcl/mnemonic.hxx>
#include <ucbhelper/content.hxx>
diff --git a/svtools/source/contnr/templwin.hxx b/svtools/source/contnr/templwin.hxx
index 42969f3ad99f..0bab9d2a6546 100644
--- a/svtools/source/contnr/templwin.hxx
+++ b/svtools/source/contnr/templwin.hxx
@@ -32,8 +32,8 @@
#include <vcl/toolbox.hxx>
#include <vcl/window.hxx>
#include <svtools/headbar.hxx>
-#include "fileview.hxx"
-#include "ivctrl.hxx"
+#include <svtools/fileview.hxx>
+#include <svtools/ivctrl.hxx>
#include <svtools/svmedit2.hxx>
#include <svl/restrictedpaths.hxx>
#include <com/sun/star/frame/XDispatch.hpp>
diff --git a/svtools/source/contnr/templwin.src b/svtools/source/contnr/templwin.src
index 45f9803539a1..113e20c34f28 100644
--- a/svtools/source/contnr/templwin.src
+++ b/svtools/source/contnr/templwin.src
@@ -28,7 +28,7 @@
// includes ------------------------------------------------------------------
#include "templwin.hrc"
-#include "controldims.hrc"
+#include <svtools/controldims.hrc>
#include <svtools/helpid.hrc>
#include <svtools/svtools.hrc>
diff --git a/svtools/source/contnr/tooltiplbox.cxx b/svtools/source/contnr/tooltiplbox.cxx
index 6aae495bd504..69073a0793c5 100644
--- a/svtools/source/contnr/tooltiplbox.cxx
+++ b/svtools/source/contnr/tooltiplbox.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "tooltiplbox.hxx"
+#include <svtools/tooltiplbox.hxx>
#include <vcl/help.hxx>
// ============================================================================
diff --git a/svtools/source/control/asynclink.cxx b/svtools/source/control/asynclink.cxx
index 7cc2bc2a83e7..7231470528d5 100755
--- a/svtools/source/control/asynclink.cxx
+++ b/svtools/source/control/asynclink.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include <asynclink.hxx>
+#include <svtools/asynclink.hxx>
#include <vos/mutex.hxx>
#include <tools/debug.hxx>
#include <vcl/timer.hxx>
diff --git a/svtools/source/control/calendar.cxx b/svtools/source/control/calendar.cxx
index 0d18a3329841..d1ae83fc94b3 100755
--- a/svtools/source/control/calendar.cxx
+++ b/svtools/source/control/calendar.cxx
@@ -28,30 +28,14 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#ifndef _APP_HXX
#include <vcl/svapp.hxx>
-#endif
-#ifndef _TABLE_HXX
#include <tools/table.hxx>
-#endif
-#ifndef _HELP_HXX
#include <vcl/help.hxx>
-#endif
-#ifndef _MENU_HXX
#include <vcl/menu.hxx>
-#endif
-#ifndef _DECOVIEW_HXX
#include <vcl/decoview.hxx>
-#endif
-#ifndef _FLOATWIN_HXX
#include <vcl/floatwin.hxx>
-#endif
-#ifndef _BUTTON_HXX
#include <vcl/button.hxx>
-#endif
-#ifndef _FIXED_HXX
#include <vcl/fixed.hxx>
-#endif
#include <unotools/calendarwrapper.hxx>
#include <unotools/localedatawrapper.hxx>
#include <com/sun/star/i18n/Weekdays.hpp>
@@ -61,7 +45,7 @@
#define _SV_CALENDAR_CXX
#include <svtools/svtools.hrc>
#include <svtools/svtdata.hxx>
-#include <calendar.hxx>
+#include <svtools/calendar.hxx>
// =======================================================================
diff --git a/svtools/source/control/collatorres.cxx b/svtools/source/control/collatorres.cxx
index 9988bfdadbb9..4514ec918b24 100755
--- a/svtools/source/control/collatorres.cxx
+++ b/svtools/source/control/collatorres.cxx
@@ -30,9 +30,7 @@
#include "precompiled_svtools.hxx"
#include <svtools/svtdata.hxx>
#include <svtools/svtools.hrc>
-
-
-#include <collatorres.hxx>
+#include <svtools/collatorres.hxx>
// -------------------------------------------------------------------------
//
diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx
index fe4d28fedbc9..08dffc8d7e29 100755
--- a/svtools/source/control/ctrlbox.cxx
+++ b/svtools/source/control/ctrlbox.cxx
@@ -30,19 +30,15 @@
#define _CTRLBOX_CXX
#include <tools/debug.hxx>
-#ifndef _APP_HXX
#include <vcl/svapp.hxx>
-#endif
-#ifndef _FIELD_HXX
#include <vcl/field.hxx>
-#endif
#include <comphelper/processfactory.hxx>
#include <unotools/charclass.hxx>
#include <svtools/svtdata.hxx>
#include <svtools/svtools.hrc>
-#include <ctrlbox.hxx>
-#include <ctrltool.hxx>
+#include <svtools/ctrlbox.hxx>
+#include <svtools/ctrltool.hxx>
#include <vcl/i18nhelp.hxx>
diff --git a/svtools/source/control/ctrltool.cxx b/svtools/source/control/ctrltool.cxx
index 76e833b6d349..55968967a34f 100755
--- a/svtools/source/control/ctrltool.cxx
+++ b/svtools/source/control/ctrltool.cxx
@@ -32,19 +32,14 @@
#include <string.h>
-#ifndef TOOLS_DEBUG_HXX
#include <tools/debug.hxx>
-#endif
#include <i18npool/mslangid.hxx>
-#ifndef _VCL_WINDOW_HXX
#include <vcl/window.hxx>
-#endif
#include <vcl/svapp.hxx>
#include <vcl/wrkwin.hxx>
-
#include <svtools/svtools.hrc>
#include <svtools/svtdata.hxx>
-#include <ctrltool.hxx>
+#include <svtools/ctrltool.hxx>
// =======================================================================
diff --git a/svtools/source/control/filectrl.cxx b/svtools/source/control/filectrl.cxx
index 1d42c89f8b7d..1988dffebec9 100755
--- a/svtools/source/control/filectrl.cxx
+++ b/svtools/source/control/filectrl.cxx
@@ -31,13 +31,8 @@
#define _SV_FIELCTRL_CXX
#include <tools/urlobj.hxx>
#include <svtools/svtdata.hxx>
-#include <filectrl.hxx>
-#ifndef _SV_FILECTRL_HRC
+#include <svtools/filectrl.hxx>
#include <filectrl.hrc>
-#endif
-
-#ifndef GCC
-#endif
// =======================================================================
diff --git a/svtools/source/control/filectrl2.cxx b/svtools/source/control/filectrl2.cxx
index 2a75c5d3d7e8..904b643d2ae3 100644..100755
--- a/svtools/source/control/filectrl2.cxx
+++ b/svtools/source/control/filectrl2.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svtools.hxx"
// this file contains code from filectrl.cxx which needs to be compiled with enabled exception hanling
-#include <filectrl.hxx>
+#include <svtools/filectrl.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/ui/dialogs/XFilePicker.hpp>
#include <vcl/unohelp.hxx>
diff --git a/svtools/source/control/indexentryres.cxx b/svtools/source/control/indexentryres.cxx
index 5a79edab5b77..23eada244a47 100755
--- a/svtools/source/control/indexentryres.cxx
+++ b/svtools/source/control/indexentryres.cxx
@@ -30,9 +30,7 @@
#include "precompiled_svtools.hxx"
#include <svtools/svtdata.hxx>
#include <svtools/svtools.hrc>
-
-
-#include <indexentryres.hxx>
+#include <svtools/indexentryres.hxx>
// -------------------------------------------------------------------------
//
diff --git a/svtools/source/control/inettbc.cxx b/svtools/source/control/inettbc.cxx
index 51f9a45a3961..fe7db1d8c078 100755
--- a/svtools/source/control/inettbc.cxx
+++ b/svtools/source/control/inettbc.cxx
@@ -33,7 +33,6 @@
#include <sys/types.h>
#endif
-
#include <svtools/inettbc.hxx>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/Reference.hxx>
@@ -41,27 +40,16 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/sdbc/XResultSet.hpp>
#include <com/sun/star/sdbc/XRow.hpp>
-
-#ifndef _COM_SUN_STAR_TASK_XINTERACTIONHANDLER_HDL_
-#include <com/sun/star/task/XInteractionHandler.hdl>
-#endif
+#include <com/sun/star/task/XInteractionHandler.hpp>
#include <com/sun/star/ucb/NumberedSortingInfo.hpp>
#include <com/sun/star/ucb/XAnyCompareFactory.hpp>
#include <com/sun/star/ucb/XProgressHandler.hpp>
#include <com/sun/star/ucb/XContentAccess.hpp>
#include <com/sun/star/ucb/XSortedDynamicResultSetFactory.hpp>
-
-#ifndef _UNOTOOLS_PROCESSFACTORY_HXX
#include <comphelper/processfactory.hxx>
-#endif
-
#include <vcl/toolbox.hxx>
-#ifndef _VOS_THREAD_HXX //autogen
#include <vos/thread.hxx>
-#endif
-#ifndef _VOS_MUTEX_HXX //autogen
#include <vos/mutex.hxx>
-#endif
#include <vcl/svapp.hxx>
#include <unotools/historyoptions.hxx>
#include <svl/eitem.hxx>
@@ -76,9 +64,8 @@
#include <ucbhelper/content.hxx>
#include <unotools/localfilehelper.hxx>
#include <unotools/ucbhelper.hxx>
-
#include "iodlg.hrc"
-#include <asynclink.hxx>
+#include <svtools/asynclink.hxx>
#include <svl/urlfilter.hxx>
#include <vector>
@@ -165,7 +152,7 @@ SvtMatchContext_Impl::SvtMatchContext_Impl(
SvtURLBox* pBoxP, const String& rText )
: aLink( STATIC_LINK( this, SvtMatchContext_Impl, Select_Impl ) )
, aBaseURL( pBoxP->aBaseURL )
- , aText( rText )
+ , aText( rText )
, pBox( pBoxP )
, bStop( sal_False )
, bOnlyDirectories( pBoxP->bOnlyDirectories )
@@ -426,7 +413,7 @@ void SvtMatchContext_Impl::ReadFolder( const String& rURL,
uno::Reference< XDynamicResultSet > xDynResultSet;
ResultSetInclude eInclude = INCLUDE_FOLDERS_AND_DOCUMENTS;
if ( bOnlyDirectories )
- eInclude = INCLUDE_FOLDERS_ONLY;
+ eInclude = INCLUDE_FOLDERS_ONLY;
xDynResultSet = aCnt.createDynamicCursor( aProps, eInclude );
@@ -654,7 +641,7 @@ void SvtMatchContext_Impl::run()
{
// if text input is a directory, it must be part of the match list! Until then it is scanned
if ( UCBContentHelper::IsFolder( aMainURL ) && aURLObject.hasFinalSlash() )
- Insert( aText, aMatch );
+ Insert( aText, aMatch );
else
// otherwise the parent folder will be taken
aURLObject.removeSegment();
@@ -684,6 +671,7 @@ void SvtMatchContext_Impl::run()
aCurObj.SetURL( *aPickList.GetObject( nPos ) );
aCurObj.SetSmartURL( aCurObj.GetURLNoPass());
aCurMainURL = aCurObj.GetMainURL( INetURLObject::NO_DECODE );
+
if( eProt != INET_PROT_NOT_VALID && aCurObj.GetProtocol() != eProt )
continue;
@@ -708,7 +696,7 @@ void SvtMatchContext_Impl::run()
{
// try if text matches the scheme
String aScheme( INetURLObject::GetScheme( aCurObj.GetProtocol() ) );
- if ( aText.CompareTo( aScheme, aText.Len() ) == COMPARE_EQUAL && aText.Len() < aScheme.Len() )
+ if ( aText.CompareIgnoreCaseToAscii( aScheme, aText.Len() ) == COMPARE_EQUAL && aText.Len() < aScheme.Len() )
{
if( bFull )
aMatch = aCurObj.GetMainURL( INetURLObject::NO_DECODE );
@@ -727,7 +715,7 @@ void SvtMatchContext_Impl::run()
aCurString.Erase( 0, aScheme.Len() );
}
- if( aText.CompareTo( aCurString, aText.Len() )== COMPARE_EQUAL )
+ if( aText.CompareIgnoreCaseToAscii( aCurString, aText.Len() )== COMPARE_EQUAL )
{
if( bFull )
aMatch = aCurObj.GetMainURL( INetURLObject::NO_DECODE );
@@ -858,6 +846,7 @@ SvtURLBox::SvtURLBox( Window* pParent, const ResId& _rResId, INetProtocol eSmart
void SvtURLBox::ImplInit()
{
pImp = new SvtURLBox_Impl();
+
SetHelpId( ".uno:OpenURL" );
EnableAutocomplete( sal_False );
@@ -1314,7 +1303,7 @@ sal_Bool SvtURLBox_Impl::TildeParsing(
return sal_False; // no such user
#else
pPasswd = getpwnam( OUStringToOString( OUString( aUserName ), RTL_TEXTENCODING_ASCII_US ).getStr() );
- if( pPasswd )
+ if( pPasswd )
aParseTilde = String::CreateFromAscii( pPasswd->pw_dir );
else
return sal_False; // no such user
diff --git a/svtools/source/control/makefile.mk b/svtools/source/control/makefile.mk
deleted file mode 100755
index a2e622730635..000000000000
--- a/svtools/source/control/makefile.mk
+++ /dev/null
@@ -1,87 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=ctrl
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SRS1NAME=$(TARGET)
-SRC1FILES=\
- ctrltool.src \
- ctrlbox.src \
- calendar.src \
- filectrl.src
-
-EXCEPTIONSFILES=\
- $(SLO)$/svxbox.obj \
- $(SLO)$/filectrl2.obj \
- $(SLO)$/roadmap.obj \
- $(SLO)$/scriptedtext.obj\
- $(SLO)$/fmtfield.obj \
- $(SLO)$/inettbc.obj \
- $(SLO)$/valueacc.obj \
- $(SLO)$/toolbarmenu.obj \
- $(SLO)$/toolbarmenuacc.obj
-
-SLOFILES=\
- $(EXCEPTIONSFILES) \
- $(SLO)$/asynclink.obj \
- $(SLO)$/urlcontrol.obj \
- $(SLO)$/fileurlbox.obj \
- $(SLO)$/ctrltool.obj \
- $(SLO)$/ctrlbox.obj \
- $(SLO)$/stdctrl.obj \
- $(SLO)$/stdmenu.obj \
- $(SLO)$/valueset.obj \
- $(SLO)$/tabbar.obj \
- $(SLO)$/headbar.obj \
- $(SLO)$/prgsbar.obj \
- $(SLO)$/ruler.obj \
- $(SLO)$/taskbar.obj \
- $(SLO)$/taskbox.obj \
- $(SLO)$/taskstat.obj \
- $(SLO)$/taskmisc.obj \
- $(SLO)$/calendar.obj \
- $(SLO)$/filectrl.obj \
- $(SLO)$/scrwin.obj \
- $(SLO)$/collatorres.obj \
- $(SLO)$/indexentryres.obj \
- $(SLO)$/hyperlabel.obj \
- $(SLO)$/fixedhyper.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svtools/source/control/prgsbar.cxx b/svtools/source/control/prgsbar.cxx
index dc6c09f7eb8f..86b49c782398 100755
--- a/svtools/source/control/prgsbar.cxx
+++ b/svtools/source/control/prgsbar.cxx
@@ -30,13 +30,9 @@
#define _SV_PRGSBAR_CXX
-#ifndef _TOOLS_DEBUGS_HXX
#include <tools/debug.hxx>
-#endif
-#ifndef _VCL_STATUS_HXX
#include <vcl/status.hxx>
-#endif
-#include <prgsbar.hxx>
+#include <svtools/prgsbar.hxx>
// =======================================================================
diff --git a/svtools/source/control/roadmap.cxx b/svtools/source/control/roadmap.cxx
index b302a0a0fda5..118c16c3a4dc 100755
--- a/svtools/source/control/roadmap.cxx
+++ b/svtools/source/control/roadmap.cxx
@@ -27,23 +27,16 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include <roadmap.hxx>
+#include <svtools/roadmap.hxx>
#ifndef _STRING_HXX
#define _STRING_HXX
#endif
-#ifndef __SGI_STL_VECTOR
#include <vector>
-#endif
-
#include <algorithm>
#include <vcl/bitmap.hxx>
#include <tools/color.hxx>
-
-#ifndef _RTL_USTRING_HXX_
-#include <rtl/OUString.hxx>
-#endif
#include <memory>
#define ROADMAP_INDENT_X 4
diff --git a/svtools/source/control/ruler.cxx b/svtools/source/control/ruler.cxx
index 9732c6b3303c..de4d77a6be8d 100755
--- a/svtools/source/control/ruler.cxx
+++ b/svtools/source/control/ruler.cxx
@@ -32,11 +32,10 @@
#include <tools/debug.hxx>
#include <vcl/svapp.hxx>
#include <tools/poly.hxx>
-
#include <vcl/i18nhelp.hxx>
#define _SV_RULER_CXX
-#include <ruler.hxx>
+#include <svtools/ruler.hxx>
// =======================================================================
@@ -468,6 +467,7 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
sal_Bool bNoTicks = sal_False;
// Groessenvorberechnung
+ // Sizes calculation
sal_Bool bVertRight = sal_False;
if ( mnWinStyle & WB_HORZ )
nTickWidth = aPixSize.Width();
@@ -486,19 +486,21 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
}
long nMaxWidth = maVirDev.PixelToLogic( Size( mpData->nPageWidth, 0 ), maMapMode ).Width();
if ( nMaxWidth < 0 )
- nMaxWidth *= -1;
+ nMaxWidth = -nMaxWidth;
nMaxWidth /= aImplRulerUnitTab[mnUnitIndex].nTickUnit;
UniString aNumStr( UniString::CreateFromInt32( nMaxWidth ) );
long nTxtWidth = GetTextWidth( aNumStr );
- if ( (nTxtWidth*2) > nTickWidth )
+
+ const long nTextOff = 4;
+ if ( nTickWidth < nTxtWidth+nTextOff )
{
+ // Calculate the scale of the ruler
long nMulti = 1;
long nOrgTick3 = nTick3;
- long nTextOff = 2;
while ( nTickWidth < nTxtWidth+nTextOff )
{
long nOldMulti = nMulti;
- if ( !nTickWidth )
+ if ( !nTickWidth ) //If nTickWidth equals 0
nMulti *= 10;
else if ( nMulti < 10 )
nMulti++;
@@ -516,8 +518,7 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
bNoTicks = sal_True;
break;
}
- if ( nMulti >= 100 )
- nTextOff = 4;
+
nTick3 = nOrgTick3 * nMulti;
aPixSize = maVirDev.LogicToPixel( Size( nTick3, nTick3 ), maMapMode );
if ( mnWinStyle & WB_HORZ )
@@ -541,7 +542,7 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
{
if ( nStart > nMin )
{
- // Nur 0 malen, wenn Margin1 nicht gleich dem NullPunkt ist
+ // 0 is only painted when Margin1 is not equal to zero
if ( (mpData->nMargin1Style & RULER_STYLE_INVISIBLE) || (mpData->nMargin1 != 0) )
{
aNumStr = (sal_Unicode)'0';
@@ -564,7 +565,7 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
else
n = aPixSize.Height();
- // Tick3 - Ausgabe (Text)
+ // Tick3 - Output (Text)
if ( !(nTick % nTick3) )
{
aNumStr = UniString::CreateFromInt32( nTick / aImplRulerUnitTab[mnUnitIndex].nTickUnit );
@@ -573,7 +574,9 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
nX = nStart+n;
//different orientation needs a different starting position
nY = bVertRight ? nCenter+nTxtHeight2 : nCenter-nTxtHeight2;
- if ( nX < nMax )
+
+ // Check if we can display full number
+ if ( nX < (nMax-nTxtWidth2) )
{
if ( mnWinStyle & WB_HORZ )
nX -= nTxtWidth2;
@@ -582,7 +585,7 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
ImplVDrawText( nX, nY, aNumStr );
}
nX = nStart-n;
- if ( nX > nMin )
+ if ( nX > (nMin+nTxtWidth2) )
{
if ( mnWinStyle & WB_HORZ )
nX -= nTxtWidth2;
@@ -591,7 +594,7 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
ImplVDrawText( nX, nY, aNumStr );
}
}
- // Tick/Tick2 - Ausgabe (Striche)
+ // Tick/Tick2 - Output (Strokes)
else
{
if ( !(nTick % aImplRulerUnitTab[mnUnitIndex].nTick2) )
@@ -1258,7 +1261,7 @@ void Ruler::ImplFormat()
Size aVirDevSize;
sal_Bool b3DLook = !(rStyleSettings.GetOptions() & STYLE_OPTION_MONO);
- // VirtualDevice initialisieren
+ // VirtualDevice initialize
if ( mnWinStyle & WB_HORZ )
{
aVirDevSize.Width() = mnVirWidth;
@@ -1387,15 +1390,15 @@ void Ruler::ImplFormat()
if ( nP2 < nVirRight )
nMax--;
- // Beschriftung ausgeben
+ // Draw captions
ImplDrawTicks( nMin, nMax, nStart, nCenter );
}
- // Spalten ausgeben
+ // Draw borders
if ( mpData->pBorders )
ImplDrawBorders( nVirLeft, nP2, nVirTop, nVirBottom );
- // Einzuege ausgeben
+ // Draw indents
if ( mpData->pIndents )
ImplDrawIndents( nVirLeft, nP2, nVirTop-1, nVirBottom+1 );
@@ -2888,7 +2891,7 @@ void Ruler::SetMargin2( long nPos, sal_uInt16 nMarginStyle )
void Ruler::SetLines( sal_uInt16 n, const RulerLine* pLineAry )
{
- // Testen, ob sich was geaendert hat
+ // To determine if what has changed
if ( mpData->nLines == n )
{
sal_uInt16 i = n;
@@ -2907,18 +2910,18 @@ void Ruler::SetLines( sal_uInt16 n, const RulerLine* pLineAry )
return;
}
- // Neue Werte setzen und neu ausgeben
+ // New values and new share issue
sal_Bool bMustUpdate;
if ( IsReallyVisible() && IsUpdateMode() )
bMustUpdate = sal_True;
else
bMustUpdate = sal_False;
- // Alte Linien loeschen
+ // Delete old lines
if ( bMustUpdate )
ImplInvertLines();
- // Neue Daten setzen
+ // New data set
if ( !n || !pLineAry )
{
if ( !mpData->pLines )
diff --git a/svtools/source/control/scriptedtext.cxx b/svtools/source/control/scriptedtext.cxx
index 8249663f7665..7e657ba56ce8 100755
--- a/svtools/source/control/scriptedtext.cxx
+++ b/svtools/source/control/scriptedtext.cxx
@@ -27,11 +27,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "scriptedtext.hxx"
-
-#ifndef __SGI_STL_VECTOR
+#include <svtools/scriptedtext.hxx>
#include <vector>
-#endif
#include <rtl/ustring.hxx>
#include <vcl/outdev.hxx>
#include <vcl/font.hxx>
diff --git a/svtools/source/control/scrwin.cxx b/svtools/source/control/scrwin.cxx
index 51f6e829d6dd..2f17fd9ff606 100755
--- a/svtools/source/control/scrwin.cxx
+++ b/svtools/source/control/scrwin.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svtools.hxx"
#define _SVT_SCRWIN_CXX
-#include <scrwin.hxx>
+#include <svtools/scrwin.hxx>
//===================================================================
diff --git a/svtools/source/control/stdmenu.cxx b/svtools/source/control/stdmenu.cxx
index 2f7dec072344..b51260de7b7d 100755
--- a/svtools/source/control/stdmenu.cxx
+++ b/svtools/source/control/stdmenu.cxx
@@ -29,15 +29,10 @@
#include "precompiled_svtools.hxx"
#include <string.h>
-
-#ifndef _APP_HXX
#include <vcl/svapp.hxx>
-#endif
-
#include <vcl/i18nhelp.hxx>
-
-#include <ctrltool.hxx>
-#include <stdmenu.hxx>
+#include <svtools/ctrltool.hxx>
+#include <svtools/stdmenu.hxx>
// ========================================================================
diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx
index 481a87633315..033ae63e8a0a 100755
--- a/svtools/source/control/tabbar.cxx
+++ b/svtools/source/control/tabbar.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "tabbar.hxx"
+#include <svtools/tabbar.hxx>
#include <tools/time.hxx>
#include <tools/debug.hxx>
#include <tools/poly.hxx>
diff --git a/svtools/source/control/taskbar.cxx b/svtools/source/control/taskbar.cxx
index 3a18b9ff6129..06c90818b13e 100755
--- a/svtools/source/control/taskbar.cxx
+++ b/svtools/source/control/taskbar.cxx
@@ -30,16 +30,11 @@
#define _TASKBAR_CXX
-#ifndef _TOOLS_LIST_HXX
#include <tools/list.hxx>
-#endif
#include <tools/debug.hxx>
-
-#ifndef _VCL_FLOATWIN_HXX
#include <vcl/floatwin.hxx>
-#endif
-#include <taskbar.hxx>
+#include <svtools/taskbar.hxx>
// =======================================================================
diff --git a/svtools/source/control/taskbox.cxx b/svtools/source/control/taskbox.cxx
index 9d4af5d81ca4..f10d8e117ce1 100755
--- a/svtools/source/control/taskbox.cxx
+++ b/svtools/source/control/taskbox.cxx
@@ -30,14 +30,11 @@
#define _TASKBAR_CXX
-#ifndef _TOOLS_LIST_HXX
#include <tools/list.hxx>
-#endif
#include <tools/debug.hxx>
#include <vcl/image.hxx>
#include <vcl/help.hxx>
-
-#include <taskbar.hxx>
+#include <svtools/taskbar.hxx>
// =======================================================================
diff --git a/svtools/source/control/taskmisc.cxx b/svtools/source/control/taskmisc.cxx
index ba2254450a96..35d5d8997624 100755
--- a/svtools/source/control/taskmisc.cxx
+++ b/svtools/source/control/taskmisc.cxx
@@ -30,13 +30,10 @@
#define _TASKBAR_CXX
-#ifndef _TOOLS_LIST_HXX
#include <tools/list.hxx>
-#endif
#include <tools/debug.hxx>
#include <vcl/help.hxx>
-
-#include <taskbar.hxx>
+#include <svtools/taskbar.hxx>
// =======================================================================
diff --git a/svtools/source/control/taskstat.cxx b/svtools/source/control/taskstat.cxx
index 892ccdc1be4e..34870bafd5fd 100755
--- a/svtools/source/control/taskstat.cxx
+++ b/svtools/source/control/taskstat.cxx
@@ -30,18 +30,15 @@
#define _TASKBAR_CXX
-#ifndef _TOOLS_LIST_HXX
#include <tools/list.hxx>
-#endif
#include <tools/debug.hxx>
#include <tools/date.hxx>
#include <vcl/image.hxx>
#include <vcl/help.hxx>
#include <vcl/svapp.hxx>
#include <unotools/calendarwrapper.hxx>
-
#include <unotools/syslocale.hxx>
-#include <taskbar.hxx>
+#include <svtools/taskbar.hxx>
// =======================================================================
diff --git a/svtools/source/dialogs/addresstemplate.cxx b/svtools/source/dialogs/addresstemplate.cxx
index 27786d3a79cf..11ab9659984b 100644
--- a/svtools/source/dialogs/addresstemplate.cxx
+++ b/svtools/source/dialogs/addresstemplate.cxx
@@ -29,18 +29,10 @@
#include "precompiled_svtools.hxx"
#include <stdio.h>
-
-
-#include "addresstemplate.hxx"
-#ifndef _SVT_ADDRESSTEMPLATE_HRC_
+#include <svtools/addresstemplate.hxx>
#include "addresstemplate.hrc"
-#endif
-#ifndef _SVTOOLS_HRC
#include <svtools/svtools.hrc>
-#endif
-#ifndef _SVT_HELPID_HRC
#include <svtools/helpid.hrc>
-#endif
#include <svtools/svtdata.hxx>
#include <tools/debug.hxx>
#include <comphelper/processfactory.hxx>
@@ -49,9 +41,7 @@
#include <vcl/waitobj.hxx>
#include <vcl/msgbox.hxx>
#include <toolkit/helper/vclunohelper.hxx>
-#ifndef _CPPUHELPER_EXTRACT_HXX_
#include <cppuhelper/extract.hxx>
-#endif
#include <comphelper/interaction.hxx>
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
#include <com/sun/star/awt/XWindow.hpp>
@@ -65,12 +55,9 @@
#include <com/sun/star/sdbcx/XTablesSupplier.hpp>
#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
#include <com/sun/star/sdb/CommandType.hpp>
-#include "localresaccess.hxx"
-#ifndef SVTOOLS_FILENOTATION_HXX_
+#include <svtools/localresaccess.hxx>
#include "svl/filenotation.hxx"
-#endif
#include <tools/urlobj.hxx>
-
#include <algorithm>
// .......................................................................
diff --git a/svtools/source/dialogs/addresstemplate.src b/svtools/source/dialogs/addresstemplate.src
index 990dfc98f89b..0e4845949dca 100644
--- a/svtools/source/dialogs/addresstemplate.src
+++ b/svtools/source/dialogs/addresstemplate.src
@@ -25,15 +25,9 @@
*
************************************************************************/
-#ifndef _SVTOOLS_HRC
#include <svtools/svtools.hrc>
-#endif
-#ifndef _SVT_ADDRESSTEMPLATE_HRC_
#include "addresstemplate.hrc"
-#endif
-#ifndef _SVT_CONTROLDIMS_HRC_
-#include "controldims.hrc"
-#endif
+#include <svtools/controldims.hrc>
#define FIELD_ROW_HEIGHT 17
diff --git a/svtools/source/dialogs/filedlg.cxx b/svtools/source/dialogs/filedlg.cxx
index 8180f188bd1e..d0f86867686a 100644
--- a/svtools/source/dialogs/filedlg.cxx
+++ b/svtools/source/dialogs/filedlg.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include <filedlg.hxx>
+#include <svtools/filedlg.hxx>
#include <filedlg2.hxx>
PathDialog::PathDialog( Window* _pParent, WinBits nStyle, sal_Bool bCreateDir ) :
diff --git a/svtools/source/dialogs/filedlg2.cxx b/svtools/source/dialogs/filedlg2.cxx
index 73ad8e93e78e..7eda7eb16191 100644
--- a/svtools/source/dialogs/filedlg2.cxx
+++ b/svtools/source/dialogs/filedlg2.cxx
@@ -28,17 +28,14 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
#include <vcl/svapp.hxx>
-#ifndef _SV_BUTTON_HXX //autogen
#include <vcl/button.hxx>
-#endif
#include <vcl/fixed.hxx>
#include <vcl/edit.hxx>
#include <vcl/lstbox.hxx>
#include <svtools/svtdata.hxx>
-
#include <filedlg2.hxx>
-#include <filedlg.hxx>
-#include <filedlg2.hrc>
+#include <svtools/filedlg.hxx>
+#include <svtools/filedlg2.hrc>
#include <vcl/msgbox.hxx>
#include <vos/security.hxx>
#include <com/sun/star/i18n/XCollator.hpp>
diff --git a/svtools/source/dialogs/filedlg2.src b/svtools/source/dialogs/filedlg2.src
index 977a0d6f430b..acef462c04cb 100644
--- a/svtools/source/dialogs/filedlg2.src
+++ b/svtools/source/dialogs/filedlg2.src
@@ -25,7 +25,8 @@
*
************************************************************************/
-#include <filedlg2.hrc>
+#include <svtools/filedlg2.hrc>
+
String STR_FILEDLG_SELECT
{
Text [ en-US ] = "Select Directory" ;
diff --git a/svtools/source/dialogs/formats.src b/svtools/source/dialogs/formats.src
index f8ce80f62f2f..d91700afac8f 100644
--- a/svtools/source/dialogs/formats.src
+++ b/svtools/source/dialogs/formats.src
@@ -25,7 +25,7 @@
*
************************************************************************/
-#include "sores.hxx"
+#include <svtools/sores.hxx>
String STR_FORMAT_STRING
{
diff --git a/svtools/source/dialogs/insdlg.cxx b/svtools/source/dialogs/insdlg.cxx
index 301b8602c17d..2052da492737 100644
--- a/svtools/source/dialogs/insdlg.cxx
+++ b/svtools/source/dialogs/insdlg.cxx
@@ -33,7 +33,7 @@
// include ---------------------------------------------------------------
#include <svtools/insdlg.hxx>
-#include "sores.hxx"
+#include <svtools/sores.hxx>
#include <svtools/svtdata.hxx>
#include <tools/rc.hxx>
diff --git a/svtools/source/dialogs/makefile.mk b/svtools/source/dialogs/makefile.mk
deleted file mode 100644
index 99c4b59b76ae..000000000000
--- a/svtools/source/dialogs/makefile.mk
+++ /dev/null
@@ -1,75 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=dialogs
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SRS1NAME=$(TARGET)
-SRC1FILES= filedlg2.src \
- so3res.src \
- formats.src \
- prnsetup.src \
- printdlg.src \
- colrdlg.src \
- addresstemplate.src \
- wizardmachine.src
-
-
-EXCEPTIONSFILES= $(SLO)$/addresstemplate.obj \
- $(SLO)$/insdlg.obj \
- $(SLO)$/roadmapwizard.obj \
- $(SLO)$/printdlg.obj \
- $(SLO)$/wizardmachine.obj
-
-
-SLOFILES= \
- $(SLO)$/insdlg.obj \
- $(SLO)$/roadmapwizard.obj \
- $(SLO)$/wizardmachine.obj \
- $(SLO)$/addresstemplate.obj \
- $(SLO)$/filedlg.obj \
- $(SLO)$/filedlg2.obj \
- $(SLO)$/prnsetup.obj \
- $(SLO)$/printdlg.obj \
- $(SLO)$/colctrl.obj \
- $(SLO)$/colrdlg.obj \
- $(SLO)$/property.obj \
- $(SLO)$/wizdlg.obj \
- $(SLO)$/mcvmath.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/source/dialogs/printdlg.cxx b/svtools/source/dialogs/printdlg.cxx
index dc726683a355..cc8395229d6a 100644
--- a/svtools/source/dialogs/printdlg.cxx
+++ b/svtools/source/dialogs/printdlg.cxx
@@ -34,11 +34,12 @@
#include <vcl/jobset.hxx>
#include <tools/urlobj.hxx>
#include "printdlg.hrc"
-#include "controldims.hrc"
+#include <svtools/controldims.hrc>
#include <svtools/prnsetup.hxx>
#include <svtools/printdlg.hxx>
#include <svtools/svtdata.hxx>
-#include <filedlg.hxx>
+#include <svtools/filedlg.hxx>
+#include "svl/pickerhelper.hxx"
#include <svtools/helpid.hrc>
#include <com/sun/star/ui/dialogs/TemplateDescription.hpp>
#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
diff --git a/svtools/source/dialogs/propctrl.cxx b/svtools/source/dialogs/propctrl.cxx
deleted file mode 100644
index 4a20b37aa398..000000000000
--- a/svtools/source/dialogs/propctrl.cxx
+++ /dev/null
@@ -1,503 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svtools.hxx"
-
-
-#ifndef _USR_INTROSP_HXX
-#include <usr/inspect.hxx>
-#endif
-#ifndef _USR_SERINFO_HXX
-#include <usr/serinfo.hxx>
-#endif
-#ifndef _USR_INTROSP_HXX
-#include <usr/introsp.hxx>
-#endif
-
-#include <propctrl.hxx>
-#include <property.hxx>
-
-
-// Controller-Implementation
-class PropertyEditorControler_Impl : public SvPropertyDataControl
-{
- XIntrospectionAccessRef mxUnoAccess;
- PropertySequence mPropSeq;
- XPropertyEditorRef mxEditor;
- SvPropertyBox* mpPropBox;
- UsrAny maUnoObj;
-
-public:
- // Provisorisch direkt Window mitgeben
- PropertyEditorControler_Impl( SvPropertyBox* pPropBox_ );
- //SimplePropertyEditor_Impl( void );
-
- // Objekt zum Editieren setzen, dies loest das Eintragen
- // der Properties in die PropertyBox aus
- void setObject( XPropertyEditorRef xEditor_, const UsrAny& aToEditObj,
- /* HACK fuer History-Interface*/String aPath, sal_Bool bBack=sal_False, sal_Bool bForward=sal_False );
-
- /* SPAETER
- SMART_UNO_DECLARATION(ImplIntrospection,UsrObject);
-
- // Methoden von XInterface
- XInterface * queryInterface( Uik aUik );
- XIdlClassRef getIdlClass();
- */
-
- // Methoden von SvPropertyDataControl
- virtual void Modified( const String& aName,
- const String& aVal,
- void* pData);
-
- virtual void Clicked( const String& aName,
- const String& aVal,
- void* pData);
-
- virtual void Commit( const String& aName,
- const String& aVal,
- void* pData);
-
- virtual void Select( const String& aName,
- void* pData);
-
- virtual void LinkClicked(const String& aName,
- void* pData);
-
- // TODO: Das muss raus, sehr unglueckliche Schnittstelle
- // PropertyBox erzwingt Zustand des Controllers
- virtual String GetTheCorrectProperty() const;
-};
-
-// Methoden von XPropertyEditor
-PropertyEditorControler_Impl::PropertyEditorControler_Impl( SvPropertyBox* pPropBox_ )
-{
- mpPropBox = pPropBox_;
-}
-
-void PropertyEditorControler_Impl::setObject( XPropertyEditorRef xEditor_, const UsrAny& aToEditObj,
- /* HACK fuer History-Interface*/ String aPath, sal_Bool bBack, sal_Bool bForward )
-{
- static XIntrospectionRef xIntrospection;
-
- // Ohne Fenster laeuft gar nix
- if( !mpPropBox )
- return;
-
- // Fenster aufraeumen
- mpPropBox->ClearAll();
-
- // Editor und Objekt übernehmen
- mxEditor = xEditor_;
- maUnoObj = aToEditObj;
-
- if( !xIntrospection.is() )
- {
- // Introspection-Service holen
- XServiceManagerRef xServiceManager = getGlobalServiceManager();
- XServiceProviderRef xProv = xServiceManager->getServiceProvider
- ( "com.sun.star.beans.Introspection", UikSequence(), UikSequence() );
- xIntrospection = (XIntrospection *)xProv->newInstance()
- ->queryInterface( XIntrospection::getSmartUik() );
- }
- if( !xIntrospection.is() )
- return;
-
- // und unspecten
- mxUnoAccess = xIntrospection->inspect( maUnoObj );
- if( !mxUnoAccess.Is() )
- return;
-
- // Uns als Controler anmelden
- mpPropBox->SetController( this );
-
- // Properties anlegen
- mPropSeq = mxUnoAccess->getProperties();
- UINT32 nPropCount = mPropSeq.getLen();
- const Property* pProps = mPropSeq.getConstArray();
-
- // 1. Seite anlegen
- sal_uInt16 nPropPageId = mpPropBox->AppendPage("Properties");
-
- // Beim Eintragen solls nicht flimmern
- mpPropBox->DisableUpdate();
-
- // Dummy-Properties fuer Path und Navigation
- SvPropertyData aProperty;
- if( aPath.Len() )
- {
- // Interface und Structs werden Hyperlinks
- aProperty.bIsHyperLink = sal_False;
- aProperty.bIsLocked = sal_True;
- aProperty.bHasVisibleXButton = sal_False;
- aProperty.eKind = KOC_EDIT;
- aProperty.pControl = NULL;
- aProperty.pDataPtr = NULL;
- aProperty.aName = "Path";
- aProperty.aValue = aPath;
- mpPropBox->InsertEntry( aProperty );
- }
- if( bBack || bForward )
- {
- // Interface und Structs werden Hyperlinks
- aProperty.bIsHyperLink = sal_True;
- aProperty.bIsLocked = sal_True;
- // HACK, solange Hyperlink nicht funktioniert
- aProperty.bHasVisibleXButton = aProperty.bIsHyperLink;
- aProperty.eKind = KOC_EDIT;
- UINT32 iHandle;
- aProperty.pControl = NULL;
- if( bBack )
- {
- iHandle = 1000001;
- aProperty.pDataPtr = (void*)iHandle;
- aProperty.aName = "<-";
- aProperty.aValue = "Back";
- mpPropBox->InsertEntry( aProperty );
- }
- if( bForward )
- {
- iHandle = 1000000;
- aProperty.pDataPtr = (void*)iHandle;
- aProperty.aName = "->";
- aProperty.aValue = "Forward";
- mpPropBox->InsertEntry( aProperty );
- }
- }
-
- // Properties eintragen
- // TODO: Wo kommen die Strings her
- UINT32 i;
- for( i = 0 ; i < nPropCount ; i++ )
- {
- const Property& rProp = pProps[ i ];
-
- // TypeClass des Property ermitteln
- XIdlClassRef xPropClass = rProp.Type;
- if( !xPropClass.is() )
- {
- DBG_ERROR( "PropertyEditorControler_Impl::Commit(), Property without type" )
- return;
- }
- TypeClass eType = xPropClass->getTypeClass();
-
- // Interface und Structs werden Hyperlinks
- aProperty.bIsHyperLink = ( eType == TYPECLASS_INTERFACE || eType == TYPECLASS_STRUCT );
- aProperty.bIsLocked = ((rProp.Attributes & PROPERTY_READONLY) != 0 );
-
- // HACK, solange Hyperlink nicht funktioniert
- aProperty.bHasVisibleXButton = aProperty.bIsHyperLink;
-
- // Wert holen und in String wandeln
- UsrAny aVal = mxUnoAccess->getPropertyValueByIndex( maUnoObj, i );
- String aStrVal = AnyToString( aVal );
-
- // Properties reinbraten
- aProperty.eKind = KOC_EDIT;
- aProperty.aName = rProp.Name;
- aProperty.aValue = aStrVal;
- aProperty.pDataPtr = (void*)i;
- aProperty.pControl = NULL;
- //aProperty.theValues.Insert(new String("1"),aProperty.theValues.Count());
- //aProperty.theValues.Insert(new String("2"),aProperty.theValues.Count());
- //aProperty.theValues.Insert(new String("3"),aProperty.theValues.Count());
- //aProperty.theValues.Insert(new String("4"),aProperty.theValues.Count());
- mpPropBox->InsertEntry( aProperty );
- }
-
- // 2. Seite fuer Listener
- // TODO: Wo kommen die Eintraege her
- sal_uInt16 nListenerPageId = mpPropBox->AppendPage("Listener");
-
- XIdlClassSequence aSupportedListenerSeq = mxUnoAccess->getSupportedListeners();
- const XIdlClassRef* pListenerArray = aSupportedListenerSeq.getConstArray();
- UINT32 nIfaceCount = aSupportedListenerSeq.getLen();
-
- // Property-Data vorfuellen
- aProperty.eKind = KOC_EDIT;
- //aProperty.eKind = KOC_UNDEFINED;
- aProperty.aValue = "Listener-Value";
- aProperty.bHasVisibleXButton = sal_True;
- // TEST
- //aProperty.bIsHyperLink = sal_True;
- aProperty.bIsHyperLink = sal_False;
- aProperty.bIsLocked = sal_True;
- //aProperty.bIsLocked = sal_False;
- aProperty.pDataPtr = NULL;
- aProperty.pControl = NULL;
-
- for( UINT32 j = 0 ; j < nIfaceCount ; j++ )
- {
- const XIdlClassRef& rxIfaceClass = pListenerArray[j];
- aProperty.aName = rxIfaceClass->getName();
- mpPropBox->InsertEntry( aProperty );
- }
- mpPropBox->EnableUpdate();
- mpPropBox->SetPage( nPropPageId );
-}
-
-void PropertyEditorControler_Impl::Modified
-( const String& aName, const String& aVal, void* pData)
-{
-}
-
-void PropertyEditorControler_Impl::Clicked
-( const String& aName, const String& aVal, void* pData)
-{
- // HACK, solange LinkClicked nicht funktioniert
- UINT32 iPos = (UINT32)pData;
- UINT32 nPropCount = mPropSeq.getLen();
- if( iPos >= nPropCount )
- {
- // Spezial-IDs fuer forward/back?
- sal_Bool bForward = (iPos == 1000000);
- sal_Bool bBack = (iPos == 1000001);
- if( bForward || bBack )
- {
- // Unterstuetzt der PropertyEditor das?
- XPropertyEditorNavigationRef xPropEdNav = (XPropertyEditorNavigation*)
- mxEditor->queryInterface( XPropertyEditorNavigation::getSmartUik() );
- if( xPropEdNav.is() )
- {
- if( bForward )
- xPropEdNav->forward();
- else
- xPropEdNav->back();
- }
- }
- return;
- }
-
- const Property* pProps = mPropSeq.getConstArray();
- const Property& rProp = pProps[ iPos ];
- XIdlClassRef xPropClass = rProp.Type;
- if( !xPropClass.is() )
- {
- DBG_ERROR( "PropertyEditorControler_Impl::Commit(), Property without type" )
- return;
- }
- TypeClass eType = xPropClass->getTypeClass();
- if( eType == TYPECLASS_INTERFACE || eType == TYPECLASS_STRUCT )
- LinkClicked( aName, pData );
-}
-
-void PropertyEditorControler_Impl::Commit
-( const String& aName, const String& aVal, void* pData)
-{
- UINT32 iPos = (UINT32)pData;
- UINT32 nPropCount = mPropSeq.getLen();
- if( iPos >= nPropCount )
- return;
-
- // String in Property-Typ wandeln
- const Property* pProps = mPropSeq.getConstArray();
- const Property& rProp = pProps[ iPos ];
- XIdlClassRef xPropClass = rProp.Type;
- if( !xPropClass.is() )
- {
- DBG_ERROR( "PropertyEditorControler_Impl::Commit(), Property without type" )
- return;
- }
- TypeClass eType = xPropClass->getTypeClass();
- UsrAny aValue = StringToAny( aVal, eType );
-
- // Wert setzen
- mxUnoAccess->setPropertyValueByIndex( maUnoObj, iPos, aValue );
-
- // Wert neu holen und ggf. neu setzen
- UsrAny aNewVal = mxUnoAccess->getPropertyValueByIndex( maUnoObj, iPos );
- String aNewStrVal = AnyToString( aNewVal );
- if( aNewStrVal != aVal )
- mpPropBox->SetPropertyValue( aName, aNewStrVal );
-}
-
-void PropertyEditorControler_Impl::Select
-( const String& aName, void* pData)
-{
-}
-
-void PropertyEditorControler_Impl::LinkClicked(const String& aName, void* pData)
-{
- UINT32 iPos = (UINT32)pData;
- UINT32 nPropCount = mPropSeq.getLen();
- if( iPos >= nPropCount )
- return;
-
- // Wert holen und an Master-Controller zurueckgeben
- UsrAny aNewObj = mxUnoAccess->getPropertyValueByIndex( maUnoObj, iPos );
- mxEditor->setObject( aNewObj, aName );
-}
-
-
-// TODO: Das muss raus, sehr unglueckliche Schnittstelle
-// PropertyBox erzwingt Zustand des Controllers
-String PropertyEditorControler_Impl::GetTheCorrectProperty() const
-{
- return String();
-}
-
-
-SMART_UNO_IMPLEMENTATION(SimplePropertyEditor_Impl,UsrObject);
-
-// Methoden von XInterface
-XInterface * SimplePropertyEditor_Impl::queryInterface( Uik aUik )
-{
- if( aUik == XPropertyEditor::getSmartUik() )
- return (XPropertyEditor *)this;
- if( aUik == XPropertyEditorNavigation::getSmartUik() )
- return (XPropertyEditorNavigation *)this;
- return UsrObject::queryInterface( aUik );
-}
-
-XIdlClassRef SimplePropertyEditor_Impl::getIdlClass()
-{
- // TODO: Unterstuetzen
- return NULL;
-}
-
-
-// Methoden von SimplePropertyEditor_Impl
-SimplePropertyEditor_Impl::SimplePropertyEditor_Impl( Window *pParent )
- : maHistorySeq( 10 ), maHistoryNames( 10 ), bSimpleHistory( sal_False )
-{
- //XVCLComponent xC = pParent->getVCLComponent
- //xC->addVCLComponentListener( MyListener )
-
- pActiveControler = NULL;
- mpPropBox = new SvPropertyBox( pParent );
- mpPropBox->Show();
-
- long cxOut = pParent->GetOutputSizePixel().Width();
- long cyOut = pParent->GetOutputSizePixel().Height();
- Size aSize( cxOut, cyOut );
- mpPropBox->SetPosSizePixel( Point( 0, 0 ), aSize );
-
- mnHistoryCount = 0;
- mnActualHistoryLevel = -1;
-}
-
-SimplePropertyEditor_Impl::~SimplePropertyEditor_Impl()
-{
- delete mpPropBox;
- if( pActiveControler )
- delete pActiveControler;
-}
-
-// Private Methode zum Anlegen/Aktivieren der Controller
-void SimplePropertyEditor_Impl::showObject( const UsrAny& aToShowObj )
-{
- if( pActiveControler )
- delete pActiveControler;
-
- // Neuen Controller auf der Wiese anlegen (TODO: Controller cachen?)
- pActiveControler = new PropertyEditorControler_Impl( mpPropBox );
-
- XPropertyEditorRef xThis = (XPropertyEditor *)this;
- pActiveControler->setObject( xThis, aToShowObj,
- /*aPath*/bSimpleHistory ? getPath() : String(),
- /*bBack*/bSimpleHistory && mnActualHistoryLevel > 0,
- /*bForward*/bSimpleHistory && (INT32)mnHistoryCount > mnActualHistoryLevel );
-}
-
-String SimplePropertyEditor_Impl::getPath( void )
-{
- String aRetStr;
- const String* pStr = maHistoryNames.getConstArray();
- for( INT32 i = 0 ; i <= mnActualHistoryLevel ; i++ )
- {
- String aName = pStr[i];
-
- // Root speziell behandeln
- if( i == 0 )
- {
- aRetStr += aName;
- }
- else
- {
- // Ist es ein Index?
- long l = (long)aName;
- String aNumStr( l );
- if( aNumStr == aName )
- {
- aRetStr += '[';
- aRetStr += aName;
- aRetStr += ']';
- }
- else
- {
- aRetStr += '.';
- aRetStr += aName;
- }
- }
- }
- return aRetStr;
-}
-
-// Methoden von XPropertyEditor
-void SimplePropertyEditor_Impl::setObject( const UsrAny& aToEditObj, const XubString& aObjName )
-{
- // History pflegen
- mnActualHistoryLevel++;
- mnHistoryCount = (UINT32)mnActualHistoryLevel;
- UINT32 iHistorySize = maHistorySeq.getLen();
- if( mnHistoryCount > iHistorySize )
- {
- maHistorySeq.realloc( iHistorySize + 10 );
- maHistoryNames.realloc( iHistorySize + 10 );
- }
-
- // Neues Object eintragen
- maHistorySeq.getArray()[ mnHistoryCount ] = aToEditObj;
- maHistoryNames.getArray()[ mnHistoryCount ] = aObjName;
-
- // Object anzeigen
- showObject( aToEditObj );
-}
-
-// Methoden von PropertyEditorNavigation
-void SimplePropertyEditor_Impl::forward(void)
-{
- if( (INT32)mnHistoryCount > mnActualHistoryLevel )
- {
- // Naechstes Object darstellen
- mnActualHistoryLevel++;
- showObject( maHistorySeq.getConstArray()[mnActualHistoryLevel] );
- }
-}
-
-void SimplePropertyEditor_Impl::back(void)
-{
- if( mnActualHistoryLevel > 0 )
- {
- // Voriges Object darstellen
- mnActualHistoryLevel--;
- showObject( maHistorySeq.getConstArray()[mnActualHistoryLevel] );
- }
-}
-
-
diff --git a/svtools/source/dialogs/propctrl.hxx b/svtools/source/dialogs/propctrl.hxx
deleted file mode 100644
index f82424682389..000000000000
--- a/svtools/source/dialogs/propctrl.hxx
+++ /dev/null
@@ -1,115 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-/*
-#include <tools/stream.hxx>
-#include <vcl/sound.hxx>
-#include "sbx.hxx"
-#include "sbxbase.hxx"
-#include "sbxres.hxx"
-#include <svl/brdcst.hxx>
- */
-
-
-#ifndef __PROPED_HXX__
-#include <proped.hxx>
-#endif
-#ifndef _UNO_HXX
-#include <usr/uno.hxx>
-#endif
-#ifndef _USR_SEQU_HXX
-#include <usr/sequ.hxx>
-#endif
-#ifndef __TOOLSIDL_HXX__
-#include <usr/toolsidl.hxx>
-#endif
-
-/*
-class XPropertyEditor
- : public XInterface
-{
-public:
-
- virtual void setObject(const UsrAny& aToInspectObj) = 0;
-
- static Uik getSmartUik() { return(385); }
-};
-*/
-
-class PropertyEditorControler_Impl;
-class SvPropertyBox;
-class Window;
-
-class SimplePropertyEditor_Impl :
- public XPropertyEditor,
- public XPropertyEditorNavigation,
- public UsrObject
-{
- PropertyEditorControler_Impl* pActiveControler;
- SvPropertyBox* mpPropBox;
- UsrAny maStartUnoObj;
- UsrAny maActiveUnoObj;
-
- // History der Objekte speichern
- AnySequence maHistorySeq;
- WSStringSequence maHistoryNames;
- UINT32 mnHistoryCount;
- INT32 mnActualHistoryLevel;
-
- // Einfache History via Dummy-Properties
- sal_Bool bSimpleHistory;
-
- // Methode zum Anlegen/Aktivieren der Controller
- void showObject( const UsrAny& aToShowObj );
- String getPath( void );
-
-public:
- // Provisorischer Ctor mit Parent-Window
- SimplePropertyEditor_Impl( Window *pParent );
- ~SimplePropertyEditor_Impl();
-
- // HACK fuer History-Test
- void enableSimpleHistory( sal_Bool bHistory_ ) { bSimpleHistory = bHistory_; }
-
- SMART_UNO_DECLARATION(ImplIntrospection,UsrObject);
-
- // Methoden von XInterface
- XInterface * queryInterface( Uik aUik );
- XIdlClassRef getIdlClass();
-
- // Methoden von XPropertyEditor
- virtual void setObject(const UsrAny& aToInspectObj, const XubString& aObjName);
-
- // Methoden von PropertyEditorNavigation
- virtual void forward(void);
- virtual void back(void);
-
-};
-
-
-
-
diff --git a/svtools/source/dialogs/roadmapwizard.cxx b/svtools/source/dialogs/roadmapwizard.cxx
index 43b9fcddf91d..cdf2eef32fdc 100644
--- a/svtools/source/dialogs/roadmapwizard.cxx
+++ b/svtools/source/dialogs/roadmapwizard.cxx
@@ -31,7 +31,7 @@
#include <svtools/roadmapwizard.hxx>
#include <svtools/svtools.hrc>
#include <svtools/svtdata.hxx>
-#include "roadmap.hxx"
+#include <svtools/roadmap.hxx>
#include <tools/debug.hxx>
#include <stdarg.h>
diff --git a/svtools/source/dialogs/so3res.src b/svtools/source/dialogs/so3res.src
index 524b58e0a5df..0d1aa1756267 100644
--- a/svtools/source/dialogs/so3res.src
+++ b/svtools/source/dialogs/so3res.src
@@ -25,10 +25,11 @@
*
************************************************************************/
-#include "sores.hxx"
+#include "svtools/sores.hxx"
#define __RSC
-#include "soerr.hxx"
+#include <svtools/soerr.hxx>
#define S_MAX 0x7fff
+
Resource RID_SO_ERROR_HANDLER
{
String ERRCODE_SO_GENERALERROR&S_MAX
diff --git a/svtools/source/edit/editsyntaxhighlighter.cxx b/svtools/source/edit/editsyntaxhighlighter.cxx
index 65e3f58dbae6..ba9cb3be4ce7 100644
--- a/svtools/source/edit/editsyntaxhighlighter.cxx
+++ b/svtools/source/edit/editsyntaxhighlighter.cxx
@@ -31,7 +31,7 @@
#include <svtools/svmedit.hxx>
#include <svtools/xtextedt.hxx>
#include <svtools/editsyntaxhighlighter.hxx>
-#include "../../inc/txtattr.hxx"
+#include <svtools/txtattr.hxx>
MultiLineEditSyntaxHighlight::MultiLineEditSyntaxHighlight( Window* pParent, WinBits nWinStyle,
diff --git a/svtools/source/edit/makefile.mk b/svtools/source/edit/makefile.mk
deleted file mode 100644
index 8d4da553cb0d..000000000000
--- a/svtools/source/edit/makefile.mk
+++ /dev/null
@@ -1,61 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=edit
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(EXCEPTIONSFILES) \
- $(SLO)$/textdata.obj \
- $(SLO)$/textundo.obj \
- $(SLO)$/txtattr.obj \
- $(SLO)$/xtextedt.obj \
- $(SLO)$/sychconv.obj \
- $(SLO)$/svmedit.obj \
- $(SLO)$/svmedit2.obj \
- $(SLO)$/editsyntaxhighlighter.obj
-
-EXCEPTIONSFILES= \
- $(SLO)$/textview.obj \
- $(SLO)$/textdoc.obj \
- $(SLO)$/texteng.obj \
- $(SLO)$/textwindowpeer.obj \
- $(SLO)$/syntaxhighlight.obj \
-
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/source/edit/sychconv.cxx b/svtools/source/edit/sychconv.cxx
index 2ce9a3702519..5e723815eb37 100644
--- a/svtools/source/edit/sychconv.cxx
+++ b/svtools/source/edit/sychconv.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "sychconv.hxx"
+#include <svtools/sychconv.hxx>
#include <vcl/outdev.hxx>
sal_Bool SymCharConverter::Convert( Font& rFont, UniString& rString, OutputDevice* pDev )
diff --git a/svtools/source/edit/textdoc.cxx b/svtools/source/edit/textdoc.cxx
index 26b72450c267..d95dfe7fe241 100644
--- a/svtools/source/edit/textdoc.cxx
+++ b/svtools/source/edit/textdoc.cxx
@@ -27,7 +27,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-
#include <textdoc.hxx>
#include <stdlib.h>
diff --git a/svtools/source/edit/textdoc.hxx b/svtools/source/edit/textdoc.hxx
index 8b046e647f1f..c091ca1c6bd9 100644
--- a/svtools/source/edit/textdoc.hxx
+++ b/svtools/source/edit/textdoc.hxx
@@ -30,7 +30,7 @@
#include <svl/svarray.hxx>
#include <svtools/textdata.hxx>
-#include <txtattr.hxx>
+#include <svtools/txtattr.hxx>
#include <tools/debug.hxx>
#include <tools/string.hxx>
diff --git a/svtools/source/edit/txtattr.cxx b/svtools/source/edit/txtattr.cxx
index e7466cbe1d85..810132731712 100644
--- a/svtools/source/edit/txtattr.cxx
+++ b/svtools/source/edit/txtattr.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include <txtattr.hxx>
+#include <svtools/txtattr.hxx>
#include <vcl/font.hxx>
diff --git a/svtools/source/filter.vcl/filter/FilterConfigCache.cxx b/svtools/source/filter.vcl/filter/FilterConfigCache.cxx
index 4c8023bed883..48408609cf98 100644
--- a/svtools/source/filter.vcl/filter/FilterConfigCache.cxx
+++ b/svtools/source/filter.vcl/filter/FilterConfigCache.cxx
@@ -46,7 +46,7 @@ using namespace ::com::sun::star::container ; // XNameAccess
using namespace ::com::sun::star::uno ; // Reference
using namespace ::com::sun::star::beans ; // PropertyValue
using namespace ::utl ; // getProcessServiceFactory();
-using namespace ::rtl ;
+using ::rtl::OUString;
const char* FilterConfigCache::FilterConfigCacheEntry::InternalPixelFilterNameList[] =
{
diff --git a/svtools/source/filter.vcl/filter/FilterConfigItem.cxx b/svtools/source/filter.vcl/filter/FilterConfigItem.cxx
index 765711ad8d4a..312f62af9d84 100644
--- a/svtools/source/filter.vcl/filter/FilterConfigItem.cxx
+++ b/svtools/source/filter.vcl/filter/FilterConfigItem.cxx
@@ -38,7 +38,7 @@
#include <com/sun/star/beans/XPropertySetInfo.hpp>
#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
-using namespace ::rtl;
+using ::rtl::OUString;
using namespace ::utl ; // getProcessServiceFactory
using namespace ::com::sun::star::lang ; // XMultiServiceFactory
using namespace ::com::sun::star::beans ; // PropertyValue
diff --git a/svtools/source/filter.vcl/filter/filter.cxx b/svtools/source/filter.vcl/filter/filter.cxx
index 8002629c22e7..c14407f1c21a 100644
--- a/svtools/source/filter.vcl/filter/filter.cxx
+++ b/svtools/source/filter.vcl/filter/filter.cxx
@@ -95,10 +95,6 @@
#endif
-// Compilerfehler, wenn Optimierung bei WNT & MSC
-#ifdef _MSC_VER
-#pragma optimize( "", off )
-#endif
// -----------
// - statics -
diff --git a/svtools/source/filter.vcl/filter/gradwrap.cxx b/svtools/source/filter.vcl/filter/gradwrap.cxx
deleted file mode 100644
index 970c022b7c21..000000000000
--- a/svtools/source/filter.vcl/filter/gradwrap.cxx
+++ /dev/null
@@ -1,570 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svtools.hxx"
-
-#include <math.h>
-#include <svgrad.hxx>
-#include <svbmpacc.hxx>
-#include <gradwrap.hxx>
-
-// -------------------
-// - GradientWrapper -
-// -------------------
-
-GradientWrapper::GradientWrapper(const Link& rDrawPolyRecordHdl,
- const Link& rDrawPolyPolyRecordHdl,
- const Link& rSetFillInBrushRecordHdl) :
- aDrawPolyRecordHdl (rDrawPolyRecordHdl),
- aDrawPolyPolyRecordHdl (rDrawPolyPolyRecordHdl),
- aSetFillInBrushRecordHdl(rSetFillInBrushRecordHdl)
-{
-}
-
-// ------------------------------------------------------------------------
-
-GradientWrapper::~GradientWrapper()
-{
-}
-
-// ------------------------------------------------------------------------
-
-void GradientWrapper::WriteLinearGradient(const Rectangle& rRect,
- const Gradient& rGradient)
-{
- sal_uInt16 nStepCount = 100;
-
- Rectangle aRect = rRect;
- aRect.Left()--;
- aRect.Top()--;
- aRect.Right()++;
- aRect.Bottom()++;
-
- // rotiertes BoundRect ausrechnen
- double fAngle = (rGradient.GetAngle() % 3600) * F_PI1800;
- double fWidth = aRect.GetWidth();
- double fHeight = aRect.GetHeight();
- double fDX = fWidth * fabs( cos( fAngle ) ) +
- fHeight * fabs( sin( fAngle ) );
- double fDY = fHeight * fabs( cos( fAngle ) ) +
- fWidth * fabs( sin( fAngle ) );
- fDX = (fDX - fWidth) * 0.5 + 0.5;
- fDY = (fDY - fHeight) * 0.5 + 0.5;
- aRect.Left() -= (long)fDX;
- aRect.Right() += (long)fDX;
- aRect.Top() -= (long)fDY;
- aRect.Bottom() += (long)fDY;
-
- // Rand berechnen und Rechteck neu setzen
- Point aCenter = rRect.Center();
- Rectangle aFullRect = aRect;
- long nBorder = (long)rGradient.GetBorder() * aRect.GetHeight() / 100;
- sal_Bool bLinear;
-
- // Rand berechnen und Rechteck neu setzen fuer linearen Farbverlauf
- if ( rGradient.GetStyle() == GRADIENT_LINEAR )
- {
- bLinear = sal_True;
- aRect.Top() += nBorder;
- }
- // Rand berechnen und Rechteck neu setzen fuer axiale Farbverlauf
- else
- {
- bLinear = sal_False;
- nBorder >>= 1;
-
- aRect.Top() += nBorder;
- aRect.Bottom() -= nBorder;
- }
-
- // Top darf nicht groesser als Bottom sein
- aRect.Top() = Min( aRect.Top(), (long)(aRect.Bottom() - 1) );
-
- long nMinRect = aRect.GetHeight();
-
- // Anzahl der Schritte berechnen, falls nichts uebergeben wurde
- if ( !nStepCount )
- {
- long nInc = ((nMinRect >> 9) + 1) << 3;
-
- if ( !nInc )
- nInc = 1;
-
- nStepCount = (sal_uInt16)(nMinRect / nInc);
- }
- // minimal drei Schritte
- long nSteps = Max( nStepCount, (sal_uInt16)3 );
-
- // Falls axialer Farbverlauf, muss die Schrittanzahl ungerade sein
- if ( !bLinear && !(nSteps & 1) )
- nSteps++;
-
- // Berechnung ueber Double-Addition wegen Genauigkeit
- double fScanLine = aRect.Top();
- double fScanInc = (double)aRect.GetHeight() / (double)nSteps;
-
- // Intensitaeten von Start- und Endfarbe ggf. aendern und
- // Farbschrittweiten berechnen
- long nFactor;
- const Color& rStartCol = rGradient.GetStartColor();
- const Color& rEndCol = rGradient.GetEndColor();
- long nRed = rStartCol.GetRed();
- long nGreen = rStartCol.GetGreen();
- long nBlue = rStartCol.GetBlue();
- long nEndRed = rEndCol.GetRed();
- long nEndGreen = rEndCol.GetGreen();
- long nEndBlue = rEndCol.GetBlue();
- nFactor = rGradient.GetStartIntensity();
- nRed = (nRed * nFactor) / 100;
- nGreen = (nGreen * nFactor) / 100;
- nBlue = (nBlue * nFactor) / 100;
- nFactor = rGradient.GetEndIntensity();
- nEndRed = (nEndRed * nFactor) / 100;
- nEndGreen = (nEndGreen * nFactor) / 100;
- nEndBlue = (nEndBlue * nFactor) / 100;
- long nStepRed = (nEndRed - nRed) / nSteps;
- long nStepGreen = (nEndGreen - nGreen) / nSteps;
- long nStepBlue = (nEndBlue - nBlue) / nSteps;
- long nSteps2;
-
- if ( bLinear )
- {
- // Um 1 erhoeht, um die Border innerhalb der Schleife
- // zeichnen zu koennen
- nSteps2 = nSteps + 1;
- }
- else
- {
- nStepRed <<= 1;
- nStepGreen <<= 1;
- nStepBlue <<= 1;
- nRed = nEndRed;
- nGreen = nEndGreen;
- nBlue = nEndBlue;
-
- // Um 2 erhoeht, um die Border innerhalb der Schleife
- // zeichnen zu koennen
- nSteps2 = nSteps + 2;
- }
- Color aCol( (sal_uInt8) nRed, (sal_uInt8) nGreen, (sal_uInt8) nBlue );
-
- // GDI-Objekte sichern und setzen
- aSetFillInBrushRecordHdl.Call(&aCol);
-
- // Startpolygon erzeugen (== Borderpolygon)
- Polygon aPoly( 4 );
- Polygon aTempPoly( 2 );
- aPoly[0] = aFullRect.TopLeft();
- aPoly[1] = aFullRect.TopRight();
- aPoly[2] = aRect.TopRight();
- aPoly[3] = aRect.TopLeft();
- aPoly.Rotate( aCenter, rGradient.GetAngle() );
-
- // Schleife, um rotierten Verlauf zu fuellen
- for ( long i = 0; i < nSteps2; i++ )
- {
- Polygon aTempPoly = aPoly;
- aTempPoly.Clip( rRect );
- aDrawPolyRecordHdl.Call(&aTempPoly);
- aTempPoly.SetSize( 2 );
-
- // neues Polygon berechnen
- aRect.Top() = (long)(fScanLine += fScanInc);
-
- // unteren Rand komplett fuellen
- if ( i == nSteps )
- {
- aTempPoly[0] = aFullRect.BottomLeft();
- aTempPoly[1] = aFullRect.BottomRight();
- }
- else
- {
- aTempPoly[0] = aRect.TopLeft();
- aTempPoly[1] = aRect.TopRight();
- }
- aTempPoly.Rotate( aCenter, rGradient.GetAngle() );
-
- aPoly[0] = aPoly[3];
- aPoly[1] = aPoly[2];
- aPoly[2] = aTempPoly[1];
- aPoly[3] = aTempPoly[0];
-
- // Farbintensitaeten aendern...
- // fuer lineare FV
- if ( bLinear )
- {
- nRed += nStepRed;
- nGreen += nStepGreen;
- nBlue += nStepBlue;
- }
- // fuer radiale FV
- else
- {
- if ( i <= (nSteps >> 1) )
- {
- nRed -= nStepRed;
- nGreen -= nStepGreen;
- nBlue -= nStepBlue;
- }
- // genau die Mitte und hoeher
- else
- {
- nRed += nStepRed;
- nGreen += nStepGreen;
- nBlue += nStepBlue;
- }
- }
-
- nRed = MinMax( nRed, 0, 255 );
- nGreen = MinMax( nGreen, 0, 255 );
- nBlue = MinMax( nBlue, 0, 255 );
-
- // fuer lineare FV ganz normale Bestimmung der Farbe
- if ( bLinear || (i <= nSteps) )
- {
- aCol = Color( (sal_uInt8) nRed, (sal_uInt8) nGreen, (sal_uInt8) nBlue );
- }
- // fuer axiale FV muss die letzte Farbe der ersten
- // Farbe entsprechen
- else
- {
- aCol = Color( (sal_uInt8) nEndRed, (sal_uInt8) nEndGreen, (sal_uInt8) nEndBlue );
- }
-
- aSetFillInBrushRecordHdl.Call(&aCol);
- }
-}
-
-// ------------------------------------------------------------------------
-
-void GradientWrapper::WriteRadialGradient(const Rectangle& rRect,
- const Gradient& rGradient)
-{
- sal_uInt16 nStepCount = 100;
- Rectangle aClipRect = rRect;
- Rectangle aRect = rRect;
- long nZWidth = aRect.GetWidth() * (long)rGradient.GetOfsX() / 100;
- long nZHeight= aRect.GetHeight() * (long)rGradient.GetOfsY() / 100;
- Size aSize = aRect.GetSize();
- Point aCenter( aRect.Left() + nZWidth, aRect.Top() + nZHeight );
-
- // Radien-Berechnung fuer Kreisausgabe (Kreis schliesst Rechteck ein)
- if ( rGradient.GetStyle() == GRADIENT_RADIAL )
- {
- aSize.Width() = (long)(0.5 + sqrt((double)aSize.Width()*(double)aSize.Width() +
- (double)aSize.Height()*(double)aSize.Height()));
- aSize.Height() = aSize.Width();
- }
- // Radien-Berechnung fuer Ellipse
- else
- {
- aSize.Width() = (long)(0.5 + (double)aSize.Width() * 1.4142);
- aSize.Height() = (long)(0.5 + (double)aSize.Height() * 1.4142);
- }
-
- long nBorderX = (long)rGradient.GetBorder() * aSize.Width() / 100;
- long nBorderY = (long)rGradient.GetBorder() * aSize.Height() / 100;
- aSize.Width() -= nBorderX;
- aSize.Height() -= nBorderY;
- aRect.Left() = aCenter.X() - (aSize.Width() >> 1);
- aRect.Top() = aCenter.Y() - (aSize.Height() >> 1);
- aRect.SetSize( aSize );
-
- long nMinRect = Min( aRect.GetWidth(), aRect.GetHeight() );
-
- // Anzahl der Schritte berechnen, falls nichts uebergeben wurde
- if ( !nStepCount )
- {
- long nInc = ((nMinRect >> 9) + 1) << 3;
-
- if ( !nInc )
- nInc = 1;
-
- nStepCount = (sal_uInt16)(nMinRect / nInc);
- }
- // minimal drei Schritte
- long nSteps = Max( nStepCount, (sal_uInt16)3 );
-
- // Ausgabebegrenzungen und Schrittweite fuer jede Richtung festlegen
- double fScanLeft = aRect.Left();
- double fScanTop = aRect.Top();
- double fScanRight = aRect.Right();
- double fScanBottom = aRect.Bottom();
- double fScanInc = (double)nMinRect / (double)nSteps * 0.5;
-
- // Intensitaeten von Start- und Endfarbe ggf. aendern und
- // Farbschrittweiten berechnen
- long nFactor;
- const Color& rStartCol = rGradient.GetStartColor();
- const Color& rEndCol = rGradient.GetEndColor();
- long nRed = rStartCol.GetRed();
- long nGreen = rStartCol.GetGreen();
- long nBlue = rStartCol.GetBlue();
- long nEndRed = rEndCol.GetRed();
- long nEndGreen = rEndCol.GetGreen();
- long nEndBlue = rEndCol.GetBlue();
- nFactor = rGradient.GetStartIntensity();
- nRed = (nRed * nFactor) / 100;
- nGreen = (nGreen * nFactor) / 100;
- nBlue = (nBlue * nFactor) / 100;
- nFactor = rGradient.GetEndIntensity();
- nEndRed = (nEndRed * nFactor) / 100;
- nEndGreen = (nEndGreen * nFactor) / 100;
- nEndBlue = (nEndBlue * nFactor) / 100;
- long nStepRed = (nEndRed - nRed) / nSteps;
- long nStepGreen = (nEndGreen - nGreen) / nSteps;
- long nStepBlue = (nEndBlue - nBlue) / nSteps;
- Color aCol( (sal_uInt8) nRed, (sal_uInt8) nGreen, (sal_uInt8) nBlue );
-
- // GDI-Objekte sichern und setzen
- aSetFillInBrushRecordHdl.Call(&aCol);
-
- // Recteck erstmal ausgeben
- PolyPolygon aPolyPoly( 2 );
- Polygon aPoly( rRect );
-
- aPolyPoly.Insert( aPoly );
- aPoly = Polygon( aRect );
- aPoly.Rotate( aCenter, rGradient.GetAngle() );
- aPolyPoly.Insert( aPoly );
-
- // erstes Polygon zeichnen (entspricht Rechteck)
- PolyPolygon aTempPolyPoly = aPolyPoly;
- aTempPolyPoly.Clip( aClipRect );
- aDrawPolyPolyRecordHdl.Call(&aTempPolyPoly);
-
- for ( long i = 0; i < nSteps; i++ )
- {
- Color aCol( (sal_uInt8) nRed, (sal_uInt8) nGreen, (sal_uInt8) nBlue );
- aSetFillInBrushRecordHdl.Call(&aCol);
-
- // neues Polygon berechnen
- aRect.Left() = (long)(fScanLeft += fScanInc);
- aRect.Top() = (long)(fScanTop += fScanInc);
- aRect.Right() = (long)(fScanRight -= fScanInc);
- aRect.Bottom() = (long)(fScanBottom -= fScanInc);
-
- if ( (aRect.GetWidth() < 2) || (aRect.GetHeight() < 2) )
- break;
-
- aPoly = Polygon( aRect.Center(),
- aRect.GetWidth() >> 1, aRect.GetHeight() >> 1 );
- aPoly.Rotate( aCenter, rGradient.GetAngle() );
-
- aPolyPoly.Replace( aPolyPoly.GetObject( 1 ), 0 );
- aPolyPoly.Replace( aPoly, 1 );
-
- PolyPolygon aTempPolyPoly = aPolyPoly;
- aTempPolyPoly.Clip( aClipRect );
- aDrawPolyPolyRecordHdl.Call(&aTempPolyPoly);
-
- // Farbe entsprechend anpassen
- nRed += nStepRed;
- nGreen += nStepGreen;
- nBlue += nStepBlue;
-
- nRed = MinMax( nRed, 0, 0xFF );
- nGreen = MinMax( nGreen, 0, 0xFF );
- nBlue = MinMax( nBlue, 0, 0xFF );
- }
-
- // Falls PolyPolygon-Ausgabe, muessen wir noch ein letztes
- // inneres Polygon zeichnen
- aCol = Color( (sal_uInt8) nRed, (sal_uInt8) nGreen, (sal_uInt8) nBlue );
- aSetFillInBrushRecordHdl.Call(&aCol);
-
- aPoly = aPolyPoly.GetObject( 1 );
- if ( !aPoly.GetBoundRect().IsEmpty() )
- {
- aPoly.Clip( aClipRect );
- aDrawPolyRecordHdl.Call(&aPoly);
- }
-}
-
-// ------------------------------------------------------------------------
-
-void GradientWrapper::WriteRectGradient(const Rectangle& rRect,
- const Gradient& rGradient)
-{
- sal_uInt16 nStepCount = 100;
- Rectangle aClipRect = rRect;
- Rectangle aRect = rRect;
-
- aRect.Left()--;
- aRect.Top()--;
- aRect.Right()++;
- aRect.Bottom()++;
-
- // rotiertes BoundRect ausrechnen
- double fAngle = (rGradient.GetAngle() % 3600) * F_PI1800;
- double fWidth = aRect.GetWidth();
- double fHeight = aRect.GetHeight();
- double fDX = fWidth * fabs( cos( fAngle ) ) +
- fHeight * fabs( sin( fAngle ) );
- double fDY = fHeight * fabs( cos( fAngle ) ) +
- fWidth * fabs( sin( fAngle ) );
- fDX = (fDX - fWidth) * 0.5 + 0.5;
- fDY = (fDY - fHeight) * 0.5 + 0.5;
- aRect.Left() -= (long)fDX;
- aRect.Right() += (long)fDX;
- aRect.Top() -= (long)fDY;
- aRect.Bottom() += (long)fDY;
-
- // Quadratisch machen, wenn angefordert;
- Size aSize = aRect.GetSize();
- if ( rGradient.GetStyle() == GRADIENT_SQUARE )
- {
- if ( aSize.Width() > aSize.Height() )
- aSize.Height() = aSize.Width();
- else
- aSize.Width() = aSize.Height();
- }
-
- // neue Mittelpunkte berechnen
- long nZWidth = aRect.GetWidth() * (long)rGradient.GetOfsX() / 100;
- long nZHeight = aRect.GetHeight() * (long)rGradient.GetOfsY() / 100;
- long nBorderX = (long)rGradient.GetBorder() * aSize.Width() / 100;
- long nBorderY = (long)rGradient.GetBorder() * aSize.Height() / 100;
- Point aCenter( aRect.Left() + nZWidth, aRect.Top() + nZHeight );
-
- // Rand beruecksichtigen
- aSize.Width() -= nBorderX;
- aSize.Height() -= nBorderY;
-
- // Ausgaberechteck neu setzen
- aRect.Left() = aCenter.X() - (aSize.Width() >> 1);
- aRect.Top() = aCenter.Y() - (aSize.Height() >> 1);
- aRect.SetSize( aSize );
-
- long nMinRect = Min( aRect.GetWidth(), aRect.GetHeight() );
-
- // Anzahl der Schritte berechnen, falls nichts uebergeben wurde
- if ( !nStepCount )
- {
- long nInc = ((nMinRect >> 9) + 1) << 3;
-
- if ( !nInc )
- nInc = 1;
-
- nStepCount = (sal_uInt16)(nMinRect / nInc);
- }
- // minimal drei Schritte
- long nSteps = Max( nStepCount, (sal_uInt16)3 );
-
- // Ausgabebegrenzungen und Schrittweite fuer jede Richtung festlegen
- double fScanLeft = aRect.Left();
- double fScanTop = aRect.Top();
- double fScanRight = aRect.Right();
- double fScanBottom = aRect.Bottom();
- double fScanInc = (double)nMinRect / (double)nSteps * 0.5;
-
- // Intensitaeten von Start- und Endfarbe ggf. aendern und
- // Farbschrittweiten berechnen
- long nFactor;
- const Color& rStartCol = rGradient.GetStartColor();
- const Color& rEndCol = rGradient.GetEndColor();
- long nRed = rStartCol.GetRed();
- long nGreen = rStartCol.GetGreen();
- long nBlue = rStartCol.GetBlue();
- long nEndRed = rEndCol.GetRed();
- long nEndGreen = rEndCol.GetGreen();
- long nEndBlue = rEndCol.GetBlue();
- nFactor = rGradient.GetStartIntensity();
- nRed = (nRed * nFactor) / 100;
- nGreen = (nGreen * nFactor) / 100;
- nBlue = (nBlue * nFactor) / 100;
- nFactor = rGradient.GetEndIntensity();
- nEndRed = (nEndRed * nFactor) / 100;
- nEndGreen = (nEndGreen * nFactor) / 100;
- nEndBlue = (nEndBlue * nFactor) / 100;
- long nStepRed = (nEndRed - nRed) / nSteps;
- long nStepGreen = (nEndGreen - nGreen) / nSteps;
- long nStepBlue = (nEndBlue - nBlue) / nSteps;
- Color aCol( (sal_uInt8) nRed, (sal_uInt8) nGreen, (sal_uInt8) nBlue );
-
- // GDI-Objekte sichern und setzen
- aSetFillInBrushRecordHdl.Call(&aCol);
-
- // Recteck erstmal ausgeben
- PolyPolygon aPolyPoly( 2 );
- Polygon aPoly( rRect );
-
- aPolyPoly.Insert( aPoly );
- aPoly = Polygon( aRect );
- aPoly.Rotate( aCenter, rGradient.GetAngle() );
- aPolyPoly.Insert( aPoly );
-
- PolyPolygon aTempPolyPoly = aPolyPoly;
- aTempPolyPoly.Clip( aClipRect );
- aDrawPolyPolyRecordHdl.Call(&aTempPolyPoly);
-
- // Schleife, um nacheinander die Polygone/PolyPolygone auszugeben
- for ( long i = 0; i < nSteps; i++ )
- {
- Color aCol( (sal_uInt8) nRed, (sal_uInt8) nGreen, (sal_uInt8) nBlue );
- aSetFillInBrushRecordHdl.Call(&aCol);
-
- // neues Polygon berechnen
- aRect.Left() = (long)(fScanLeft += fScanInc);
- aRect.Top() = (long)(fScanTop += fScanInc);
- aRect.Right() = (long)(fScanRight -= fScanInc);
- aRect.Bottom() = (long)(fScanBottom-= fScanInc);
-
- if ( (aRect.GetWidth() < 2) || (aRect.GetHeight() < 2) )
- break;
-
- aPoly = Polygon( aRect );
- aPoly.Rotate( aCenter, rGradient.GetAngle() );
-
- aPolyPoly.Replace( aPolyPoly.GetObject( 1 ), 0 );
- aPolyPoly.Replace( aPoly, 1 );
-
- PolyPolygon aTempPolyPoly = aPolyPoly;
- aTempPolyPoly.Clip( aClipRect );
- aDrawPolyPolyRecordHdl.Call(&aTempPolyPoly);
-
- // Farben aendern
- nRed += nStepRed;
- nGreen += nStepGreen;
- nBlue += nStepBlue;
-
- nRed = MinMax( nRed, 0, 0xFF );
- nGreen = MinMax( nGreen, 0, 0xFF );
- nBlue = MinMax( nBlue, 0, 0xFF );
- }
-
- aCol = Color( (sal_uInt8) nRed, (sal_uInt8) nGreen, (sal_uInt8) nBlue );
- aSetFillInBrushRecordHdl.Call(&aCol);
-
- aPoly = aPolyPoly.GetObject( 1 );
- if ( !aPoly.GetBoundRect().IsEmpty() )
- {
- aPoly.Clip( aClipRect );
- aDrawPolyRecordHdl.Call(&aPoly);
- }
-}
diff --git a/svtools/source/filter.vcl/filter/makefile.mk b/svtools/source/filter.vcl/filter/makefile.mk
deleted file mode 100644
index 11d35150bda8..000000000000
--- a/svtools/source/filter.vcl/filter/makefile.mk
+++ /dev/null
@@ -1,81 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-
-PRJNAME=svtools
-TARGET=filter
-LIBTARGET=NO
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-SOLARINC+=-I../../inc
-
-# --- Files --------------------------------------------------------
-
-SRS1NAME=$(TARGET)
-SRC1FILES=exportdialog.src
-
-SLOFILES= $(SLO)$/filter.obj \
- $(SLO)$/filter2.obj \
- $(SLO)$/exportdialog.obj \
- $(SLO)$/sgfbram.obj \
- $(SLO)$/sgvmain.obj \
- $(SLO)$/sgvtext.obj \
- $(SLO)$/sgvspln.obj \
- $(SLO)$/FilterConfigItem.obj \
- $(SLO)$/FilterConfigCache.obj \
- $(SLO)$/SvFilterOptionsDialog.obj
-
-EXCEPTIONSFILES= $(SLO)$/exportdialog.obj
-
-EXCEPTIONSNOOPTFILES= $(SLO)$/filter.obj \
- $(SLO)$/FilterConfigItem.obj \
- $(SLO)$/FilterConfigCache.obj \
- $(SLO)$/SvFilterOptionsDialog.obj
-
-LIB1TARGET= $(SLB)$/$(TARGET).uno.lib
-LIB1OBJFILES= $(SLO)$/exportdialog.obj \
- $(SLO)$/SvFilterOptionsDialog.obj
-
-LIB2TARGET= $(SLB)$/$(TARGET).lib
-LIB2OBJFILES= $(SLO)$/filter.obj \
- $(SLO)$/filter2.obj \
- $(SLO)$/sgfbram.obj \
- $(SLO)$/sgvmain.obj \
- $(SLO)$/sgvtext.obj \
- $(SLO)$/sgvspln.obj \
- $(SLO)$/FilterConfigItem.obj \
- $(SLO)$/FilterConfigCache.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svtools/source/filter.vcl/igif/makefile.mk b/svtools/source/filter.vcl/igif/makefile.mk
deleted file mode 100644
index 0821591e0178..000000000000
--- a/svtools/source/filter.vcl/igif/makefile.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-
-PRJNAME=svtools
-TARGET=igif
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-SOLARINC+=-I../../inc
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/gifread.obj \
- $(SLO)$/decode.obj
-
-.INCLUDE : target.mk
-
diff --git a/svtools/source/filter.vcl/jpeg/makefile.mk b/svtools/source/filter.vcl/jpeg/makefile.mk
deleted file mode 100644
index c782c520324c..000000000000
--- a/svtools/source/filter.vcl/jpeg/makefile.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-
-PRJNAME=svtools
-TARGET=jpeg
-
-# --- Settings -----------------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-SOLARINC+=-I../../inc
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/jpegc.obj \
- $(SLO)$/jpeg.obj
-
-.INCLUDE : target.mk
diff --git a/svtools/source/filter.vcl/wmf/makefile.mk b/svtools/source/filter.vcl/wmf/makefile.mk
deleted file mode 100644
index 5c9412bc8387..000000000000
--- a/svtools/source/filter.vcl/wmf/makefile.mk
+++ /dev/null
@@ -1,50 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-
-PRJNAME=svtools
-TARGET=wmf
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/wmf.obj \
- $(SLO)$/winmtf.obj \
- $(SLO)$/winwmf.obj \
- $(SLO)$/enhwmf.obj \
- $(SLO)$/emfwr.obj \
- $(SLO)$/wmfwr.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/source/graphic/makefile.mk b/svtools/source/graphic/makefile.mk
deleted file mode 100644
index 37870b46b80b..000000000000
--- a/svtools/source/graphic/makefile.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=graphic
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-.IF "$(GUI)"=="WIN"
-LINKFLAGS=$(LINKFLAGS) /PACKC:32768
-.ENDIF
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/grfattr.obj \
- $(SLO)$/grfmgr.obj \
- $(SLO)$/grfmgr2.obj \
- $(SLO)$/grfcache.obj \
- $(SLO)$/descriptor.obj \
- $(SLO)$/provider.obj \
- $(SLO)$/graphic.obj \
- $(SLO)$/renderer.obj \
- $(SLO)$/graphicunofactory.obj \
- $(SLO)$/transformer.obj
-
-EXCEPTIONSFILES= \
- $(SLO)$/descriptor.obj \
- $(SLO)$/provider.obj \
- $(SLO)$/graphic.obj \
- $(SLO)$/renderer.obj \
- $(SLO)$/graphicunofactory.obj \
- $(SLO)$/transformer.obj
-
-# --- Target -------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/source/hatchwindow/makefile.mk b/svtools/source/hatchwindow/makefile.mk
deleted file mode 100644
index 3c736bc4e66a..000000000000
--- a/svtools/source/hatchwindow/makefile.mk
+++ /dev/null
@@ -1,73 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-PRJNAME=svtools
-TARGET=hatchwindowfactory.uno
-LIBTARGET=NO
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings ----------------------------------
-
-.INCLUDE : settings.mk
-DLLPRE=
-
-# --- Files -------------------------------------
-
-SLOFILES= \
- $(SLO)$/hatchwindow.obj\
- $(SLO)$/hatchwindowfactory.obj\
- $(SLO)$/documentcloser.obj\
- $(SLO)$/ipwin.obj
-
-SHL1TARGET= $(TARGET)
-SHL1IMPLIB= i$(TARGET)
-SHL1OBJS= $(SLOFILES)
-SHL1STDLIBS=\
- $(TKLIB) \
- $(VCLLIB) \
- $(TOOLSLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-
-SHL1VERSIONMAP=$(SOLARENV)/src/component.map
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-DEF1NAME= $(SHL1TARGET)
-
-# --- Targets ----------------------------------
-
-.INCLUDE : target.mk
-
-
-ALLTAR : $(MISC)/hatchwindowfactory.component
-
-$(MISC)/hatchwindowfactory.component .ERRREMOVE : \
- $(SOLARENV)/bin/createcomponent.xslt hatchwindowfactory.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt hatchwindowfactory.component
diff --git a/svtools/source/inc/svimpbox.hxx b/svtools/source/inc/svimpbox.hxx
index 8655e46aace4..2e10fabf461e 100644
--- a/svtools/source/inc/svimpbox.hxx
+++ b/svtools/source/inc/svimpbox.hxx
@@ -153,7 +153,7 @@ private:
sal_uInt16 nFlags;
sal_uInt16 nCurTabPos;
- WinBits nWinBits;
+ WinBits m_nStyle;
ExtendedWinBits nExtendedWinBits;
sal_Bool bSimpleTravel : 1; // ist sal_True bei SINGLE_SELECTION
sal_Bool bUpdateMode : 1;
@@ -264,7 +264,7 @@ public:
~SvImpLBox();
void Clear();
- void SetWindowBits( WinBits nWinStyle );
+ void SetStyle( WinBits i_nWinStyle );
void SetExtendedWindowBits( ExtendedWinBits _nBits );
ExtendedWinBits GetExtendedWindowBits() const { return nExtendedWinBits; }
void SetModel( SvLBoxTreeList* pModel ) { pTree = pModel;}
@@ -340,7 +340,7 @@ public:
const Size& GetOutputSize() const { return aOutputSize;}
void KeyUp( sal_Bool bPageUp, sal_Bool bNotifyScroll = sal_True );
void KeyDown( sal_Bool bPageDown, sal_Bool bNotifyScroll = sal_True );
- bool Command( const CommandEvent& rCEvt );
+ void Command( const CommandEvent& rCEvt );
void Invalidate();
void DestroyAnchor() { pAnchor=0; aSelEng.Reset(); }
diff --git a/svtools/source/inc/svimpicn.hxx b/svtools/source/inc/svimpicn.hxx
index c2592314a2b9..c81368dbcbc5 100644
--- a/svtools/source/inc/svimpicn.hxx
+++ b/svtools/source/inc/svimpicn.hxx
@@ -96,7 +96,6 @@ class SvImpIconView
nGridDY;
long nHorSBarHeight,
nVerSBarWidth;
- WinBits nWinBits;
int nViewMode;
long nHorDist;
long nVerDist;
@@ -171,7 +170,7 @@ public:
~SvImpIconView();
void Clear( sal_Bool bInCtor = sal_False );
- void SetWindowBits( WinBits nWinStyle );
+ void SetStyle( const WinBits i_nWinStyle );
void SetModel( SvLBoxTreeList* pTree, SvLBoxEntry* pParent )
{ pModel = pTree; SetCurParent(pParent); }
void EntryInserted( SvLBoxEntry*);
diff --git a/svtools/source/java/makefile.mk b/svtools/source/java/makefile.mk
deleted file mode 100644
index 6db57388dca0..000000000000
--- a/svtools/source/java/makefile.mk
+++ /dev/null
@@ -1,54 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=java
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SRS1NAME= javaerror
-SRC1FILES= javaerror.src
-
-SRS2NAME= patchjavaerror
-SRC2FILES= patchjavaerror.src
-
-
-SLOFILES= \
- $(SLO)$/javainteractionhandler.obj \
- $(SLO)$/javacontext.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/source/java/patchjavaerror.src b/svtools/source/java/patchjavaerror.src
deleted file mode 100644
index d5990c05a663..000000000000
--- a/svtools/source/java/patchjavaerror.src
+++ /dev/null
@@ -1,93 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <svtools/svtools.hrc>
-
-WarningBox WARNINGBOX_JAVANOTFOUND
-{
- Buttons = WB_OK ;
- DefButton = WB_DEF_OK ;
- Message[ en-US ] ="%PRODUCTNAME requires a Java runtime environment (JRE) to perform this task. Please install a JRE and restart %PRODUCTNAME.";
-};
-
-WarningBox WARNINGBOX_INVALIDJAVASETTINGS
-{
- Buttons = WB_OK ;
- DefButton = WB_DEF_OK ;
- Message[ en-US ] ="The %PRODUCTNAME configuration has been changed. Under Tools - Options - %PRODUCTNAME - Java, select the Java runtime environment you want to have used by %PRODUCTNAME.";
-};
-
-QueryBox QBX_JAVADISABLED
-{
- Buttons = WB_YES_NO_CANCEL ;
- DefButton = WB_DEF_YES ;
- Message[ en-US ] = "%PRODUCTNAME requires a Java runtime environment (JRE) to perform this task. However, use of a JRE has been disabled. Do you want to enable the use of a JRE now?";
-};
-
-ErrorBox ERRORBOX_JVMCREATIONFAILED
-{
- Buttons = WB_OK;
- DefButton = WB_DEF_OK ;
- Message[ en-US ] = "%PRODUCTNAME requires a Java runtime environment (JRE) to perform this task. The selected JRE is defective. Please select another version or install a new JRE and select it under Tools - Options - %PRODUCTNAME - Java.";
-};
-
-ErrorBox ERRORBOX_RESTARTREQUIRED
-{
- Buttons = WB_OK;
- DefButton = WB_DEF_OK ;
- Message[ en-US ] = "For the selected Java runtime environment to work properly, %PRODUCTNAME must be restarted. Please restart %PRODUCTNAME now.";
-};
-
-
-
-String STR_WARNING_JAVANOTFOUND
-{
- Text[ en-US ] = "JRE Required" ;
-};
-
-String STR_WARNING_INVALIDJAVASETTINGS
-{
- Text[ en-US ] = "Select JRE";
-};
-
-String STR_ERROR_RESTARTREQUIRED
-{
- Text[ en-US ] = "Restart Required";
-};
-
-String STR_QUESTION_JAVADISABLED
-{
- Text[ en-US ] = "Enable JRE" ;
-};
-
-
-String STR_ERROR_JVMCREATIONFAILED
-{
- Text[ en-US ] = "JRE is Defective" ;
-};
-
-
diff --git a/svtools/source/misc/acceleratorexecute.cxx b/svtools/source/misc/acceleratorexecute.cxx
index c941a3b3990d..59df22b580c6 100644
--- a/svtools/source/misc/acceleratorexecute.cxx
+++ b/svtools/source/misc/acceleratorexecute.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "acceleratorexecute.hxx"
+#include <svtools/acceleratorexecute.hxx>
//===============================================
// includes
diff --git a/svtools/source/misc/cliplistener.cxx b/svtools/source/misc/cliplistener.cxx
index c16b58d57ad4..266950f10697 100644
--- a/svtools/source/misc/cliplistener.cxx
+++ b/svtools/source/misc/cliplistener.cxx
@@ -34,7 +34,7 @@
#include <vcl/window.hxx>
#include <vos/mutex.hxx>
-#include "cliplistener.hxx"
+#include <svtools/cliplistener.hxx>
#include <svtools/transfer.hxx>
using namespace ::com::sun::star;
diff --git a/svtools/source/misc/dialogclosedlistener.cxx b/svtools/source/misc/dialogclosedlistener.cxx
index a08c8a3b6dd5..9e5b72989601 100644
--- a/svtools/source/misc/dialogclosedlistener.cxx
+++ b/svtools/source/misc/dialogclosedlistener.cxx
@@ -26,7 +26,7 @@
************************************************************************/
#include "precompiled_svtools.hxx"
-#include "dialogclosedlistener.hxx"
+#include <svtools/dialogclosedlistener.hxx>
//.........................................................................
namespace svt
diff --git a/svtools/source/misc/dialogcontrolling.cxx b/svtools/source/misc/dialogcontrolling.cxx
index 7565dad731f7..2b33734c245f 100644
--- a/svtools/source/misc/dialogcontrolling.cxx
+++ b/svtools/source/misc/dialogcontrolling.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "dialogcontrolling.hxx"
+#include <svtools/dialogcontrolling.hxx>
#include <vcl/window.hxx>
#include <algorithm>
diff --git a/svtools/source/misc/ehdl.cxx b/svtools/source/misc/ehdl.cxx
index 03924074cfa6..3f1896554bdd 100644
--- a/svtools/source/misc/ehdl.cxx
+++ b/svtools/source/misc/ehdl.cxx
@@ -43,7 +43,7 @@
#include <svtools/ehdl.hxx>
#include <svtools/svtdata.hxx>
#include <svtools/svtools.hrc>
-#include "sfxecode.hxx"
+#include <svtools/sfxecode.hxx>
//=========================================================================
diff --git a/svtools/source/misc/ehdl.src b/svtools/source/misc/ehdl.src
index 436e06b7f3c5..2c2fab3e19b5 100644
--- a/svtools/source/misc/ehdl.src
+++ b/svtools/source/misc/ehdl.src
@@ -27,7 +27,8 @@
#define __RSC
#include <svtools/svtools.hrc>
-#include "sfxecode.hxx"
+#include <svtools/sfxecode.hxx>
+
// pragma ----------------------------------------------------------------
String STR_ERR_HDLMESS
diff --git a/svtools/source/misc/errtxt.src b/svtools/source/misc/errtxt.src
deleted file mode 100644
index f33896e20003..000000000000
--- a/svtools/source/misc/errtxt.src
+++ /dev/null
@@ -1,514 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#define __RSC
-#include <svtools/svtools.hrc>
-#include "sfxecode.hxx"
- // pragma ----------------------------------------------------------------
-Resource RID_ERRCTX
-{
- String ERRCTX_ERROR
- {
- Text [ en-US ] = "Error" ;
- };
- String ERRCTX_WARNING
- {
- Text [ en-US ] = "Warning" ;
- };
- String ERRCTX_SFX_LOADTEMPLATE
- {
- Text [ en-US ] = "$(ERR) loading the template $(ARG1)" ;
- };
- String ERRCTX_SFX_SAVEDOC
- {
- Text [ en-US ] = "$(ERR) saving the document $(ARG1)";
- };
- String ERRCTX_SFX_SAVEASDOC
- {
- Text [ en-US ] = "$(ERR) saving the document $(ARG1)";
- };
- String ERRCTX_SFX_DOCINFO
- {
- Text [ en-US ] = "$(ERR) displaying doc. information for document $(ARG1)" ;
- };
- String ERRCTX_SFX_DOCTEMPLATE
- {
- Text [ en-US ] = "$(ERR) writing document $(ARG1) as template" ;
- };
- String ERRCTX_SFX_MOVEORCOPYCONTENTS
- {
- Text [ en-US ] = "$(ERR) copying or moving document contents" ;
- };
- String ERRCTX_SFX_DOCMANAGER
- {
- Text [ en-US ] = "$(ERR) starting the Document Manager" ;
- };
- String ERRCTX_SFX_OPENDOC
- {
- Text [ en-US ] = "$(ERR) loading document $(ARG1)" ;
- };
- String ERRCTX_SFX_NEWDOCDIRECT
- {
- Text [ en-US ] = "$(ERR) creating a new document" ;
- };
- String ERRCTX_SFX_NEWDOC
- {
- Text [ en-US ] = "$(ERR) creating a new document" ;
- };
- String ERRCTX_SFX_CREATEOBJSH
- {
- Text [ en-US ] = "$(ERR) expanding entry" ;
- };
- String ERRCTX_SFX_LOADBASIC
- {
- Text [ en-US ] = "$(ERR) loading BASIC of document $(ARG1)" ;
- };
- String ERRCTX_SFX_SEARCHADDRESS
- {
- Text [ en-US ] = "$(ERR) searching for an address";
- };
-};
-Resource RID_ERRHDL
-{
- String ERRCODE_CLASS_ABORT
- {
- Text [ en-US ] = "Abort" ;
- };
- String ERRCODE_CLASS_NOTEXISTS
- {
- Text [ en-US ] = "Nonexistent object" ;
- };
- String ERRCODE_CLASS_ALREADYEXISTS
- {
- Text [ en-US ] = "Object already exists" ;
- };
- String ERRCODE_CLASS_ACCESS
- {
- Text [ en-US ] = "Object not accessible" ;
- };
- String ERRCODE_CLASS_PATH
- {
- Text [ en-US ] = "Inadmissible path" ;
- };
- String ERRCODE_CLASS_LOCKING
- {
- Text [ en-US ] = "Locking problem" ;
- };
- String ERRCODE_CLASS_PARAMETER
- {
- Text [ en-US ] = "Wrong parameter" ;
- };
- String ERRCODE_CLASS_SPACE
- {
- Text [ en-US ] = "Resource exhausted" ;
- };
- String ERRCODE_CLASS_NOTSUPPORTED
- {
- Text [ en-US ] = "Action not supported" ;
- };
- String ERRCODE_CLASS_READ
- {
- Text [ en-US ] = "Read-Error" ;
- };
- String ERRCODE_CLASS_WRITE
- {
- Text [ en-US ] = "Write Error" ;
- };
- String ERRCODE_CLASS_UNKNOWN
- {
- Text [ en-US ] = "unknown" ;
- };
- String ERRCODE_CLASS_VERSION
- {
- Text [ en-US ] = "Version Incompatibility" ;
- };
- String ERRCODE_CLASS_GENERAL
- {
- Text [ en-US ] = "General Error" ;
- };
- String ERRCODE_CLASS_FORMAT
- {
- Text [ en-US ] = "Incorrect format" ;
- };
- String ERRCODE_CLASS_CREATE
- {
- Text [ en-US ] = "Error creating object" ;
- };
- String ERRCODE_CLASS_SBX
- {
- Text [ en-US ] = "Inadmissible value or data type" ;
- };
- String ERRCODE_CLASS_RUNTIME
- {
- Text [ en-US ] = "BASIC runtime error" ;
- };
- String ERRCODE_CLASS_COMPILER
- {
- Text [ en-US ] = "BASIC syntax error" ;
- };
- String 1
- {
- Text [ en-US ] = "General Error" ;
- };
- String ERRCODE_IO_GENERAL
- {
- Text [ en-US ] = "General input/output error." ;
- };
- String ERRCODE_IO_MISPLACEDCHAR
- {
- Text [ en-US ] = "Invalid file name." ;
- };
- String ERRCODE_IO_NOTEXISTS
- {
- Text [ en-US ] = "Nonexistent file." ;
- };
- String ERRCODE_IO_ALREADYEXISTS
- {
- Text [ en-US ] = "File already exists." ;
- };
- String ERRCODE_IO_NOTADIRECTORY
- {
- Text [ en-US ] = "The object is not a directory." ;
- };
- String ERRCODE_IO_NOTAFILE
- {
- Text [ en-US ] = "The object is not a file." ;
- };
- String ERRCODE_IO_INVALIDDEVICE
- {
- Text [ en-US ] = "The specified device is invalid." ;
- };
- String ERRCODE_IO_ACCESSDENIED
- {
- Text [ en-US ] = "The object cannot be accessed\ndue to insufficient user rights." ;
- };
- String ERRCODE_IO_LOCKVIOLATION
- {
- Text [ en-US ] = "Sharing violation while accessing the object." ;
- };
- String ERRCODE_IO_OUTOFSPACE
- {
- Text [ en-US ] = "No more space on device." ;
- };
- String ERRCODE_IO_ISWILDCARD
- {
- Text [ en-US ] = "This operation cannot be run on\nfiles containing wildcards." ;
- };
- String ERRCODE_IO_NOTSUPPORTED
- {
- Text [ en-US ] = "This operation is not supported on this operating system." ;
- };
- String ERRCODE_IO_TOOMANYOPENFILES
- {
- Text [ en-US ] = "There are too many files open." ;
- };
- String ERRCODE_IO_CANTREAD
- {
- Text [ en-US ] = "Data could not be read from the file." ;
- };
- String ERRCODE_IO_CANTWRITE
- {
- Text [ en-US ] = "The file could not be written." ;
- };
- String ERRCODE_IO_OUTOFMEMORY
- {
- Text [ en-US ] = "The operation could not be run due to insufficient memory." ;
- };
- String ERRCODE_IO_CANTSEEK
- {
- Text [ en-US ] = "The seek operation could not be run." ;
- };
- String ERRCODE_IO_CANTTELL
- {
- Text [ en-US ] = "The tell operation could not be run." ;
- };
- String ERRCODE_IO_WRONGVERSION
- {
- Text [ en-US ] = "Incorrect file version." ;
- };
- String ERRCODE_IO_WRONGFORMAT
- {
- Text [ en-US ] = "Incorrect file format." ;
- };
- String ERRCODE_IO_INVALIDCHAR
- {
- Text [ en-US ] = "The file name contains invalid characters." ;
- };
- String ERRCODE_IO_UNKNOWN
- {
- Text [ en-US ] = "An unknown I/O error has occurred." ;
- };
- String ERRCODE_IO_INVALIDACCESS
- {
- Text [ en-US ] = "An invalid attempt was made to access the file." ;
- };
- String ERRCODE_IO_CANTCREATE
- {
- Text [ en-US ] = "The file could not be created." ;
- };
- String ERRCODE_IO_INVALIDPARAMETER
- {
- Text [ en-US ] = "The operation was started under an invalid parameter." ;
- };
- String ERRCODE_IO_ABORT
- {
- Text [ en-US ] = "The operation on the file was aborted." ;
- };
- String ERRCODE_IO_NOTEXISTSPATH
- {
- Text [ en-US ] = "Path to the file does not exist." ;
- };
- String ERRCODE_IO_RECURSIVE
- {
- Text [ en-US ] = "An object cannot be copied into itself." ;
- };
- String ERRCODE_SFX_NOSTDTEMPLATE
- {
- Text [ en-US ] = "The default template could not be opened." ;
- };
- String ERRCODE_SFX_TEMPLATENOTFOUND
- {
- Text [ en-US ] = "The specified template could not be found." ;
- };
- String ERRCODE_SFX_NOTATEMPLATE
- {
- Text [ en-US ] = "The file cannot be used as template." ;
- };
- String ERRCODE_SFX_CANTREADDOCINFO
- {
- Text [ en-US ] = "Document information could not be read from the file because\nthe document information format is unknown or because document information does not\nexist." ;
- };
- String ERRCODE_SFX_ALREADYOPEN
- {
- Text [ en-US ] = "This document has already been opened for editing." ;
- };
- String ERRCODE_SFX_WRONGPASSWORD
- {
- Text [ en-US ] = "The wrong password has been entered." ;
- };
- String ERRCODE_SFX_DOLOADFAILED
- {
- Text [ en-US ] = "Error reading file." ;
- };
- String ERRCODE_SFX_DOCUMENTREADONLY
- {
- Text [ en-US ] = "The document was opened as read-only." ;
- };
- String ERRCODE_SFX_OLEGENERAL
- {
- Text [ en-US ] = "General OLE Error." ;
- };
- String ERRCODE_INET_NAME_RESOLVE
- {
- Text [ en-US ] = "The host name $(ARG1) could not be resolved." ;
- };
- String ERRCODE_INET_CONNECT
- {
- Text [ en-US ] = "Could not establish network connection to $(ARG1)." ;
- };
- String ERRCODE_INET_READ
- {
- Text [ en-US ] = "Error reading data from the network.\nServer error message: $(ARG1)." ;
- };
- String ERRCODE_INET_WRITE
- {
- Text [ en-US ] = "Error transferring data to the network.\nServer error message: $(ARG1)." ;
- };
- String ERRCODE_INET_GENERAL
- {
- Text [ en-US ] = "General network error has occurred." ;
- };
- String ERRCODE_INET_OFFLINE
- {
- Text [ en-US ] = "The requested network data is not available in the cache and cannot be transmitted as the Online mode has not be activated." ;
- };
- String ERRCODE_SFXMSG_STYLEREPLACE
- {
- ExtraData = ERRCODE_MSG_ERROR | ERRCODE_BUTTON_OK_CANCEL ;
- Text [ en-US ] = "Should the $(ARG1) Style be replaced?" ;
- };
- String ERRCODE_SFX_NOFILTER
- {
- Text [ en-US ] = "A filter has not been found." ;
- };
- String ERRCODE_SFX_CANTFINDORIGINAL
- {
- Text [ en-US ] = "The original could not be determined." ;
- };
- String ERRCODE_SFX_CANTCREATECONTENT
- {
- Text [ en-US ] = "The contents could not be created." ;
- };
- String ERRCODE_SFX_CANTCREATELINK
- {
- Text [ en-US ] = "The link could not be created." ;
- };
- String ERRCODE_SFX_WRONGBMKFORMAT
- {
- Text [ en-US ] = "The link format is invalid." ;
- };
- String ERRCODE_SFX_WRONGICONFILE
- {
- Text [ en-US ] = "The configuration of the icon display is invalid." ;
- };
- String ERRCODE_SFX_CANTWRITEICONFILE
- {
- Text [ en-US ] = "The configuration of the icon display can not be saved." ;
- };
- String ERRCODE_SFX_CANTDELICONFILE
- {
- Text [ en-US ] = "The configuration of the icon display could not be deleted." ;
- };
- String ERRCODE_SFX_CANTRENAMECONTENT
- {
- Text [ en-US ] = "Contents cannot be renamed." ;
- };
- String ERRCODE_SFX_INVALIDBMKPATH
- {
- Text [ en-US ] = "The bookmark folder is invalid." ;
- };
- String ERRCODE_SFX_CANTWRITEURLCFGFILE
- {
- Text [ en-US ] = "The configuration of the URLs to be saved locally could not be saved." ;
- };
- String ERRCODE_SFX_WRONGURLCFGFORMAT
- {
- Text [ en-US ] = "The configuration format of the URLs to be saved locally is invalid." ;
- };
- String ERRCODE_SFX_NODOCUMENT
- {
- Text [ en-US ] = "This action cannot be applied to a document that does not exist." ;
- };
- String ERRCODE_SFX_INVALIDLINK
- {
- Text [ en-US ] = "The link refers to an invalid target." ;
- };
- String ERRCODE_SFX_INVALIDTRASHPATH
- {
- Text [ en-US ] = "The Recycle Bin path is invalid." ;
- };
- String ERRCODE_SFX_NOTRESTORABLE
- {
- Text [ en-US ] = "The entry could not be restored." ;
- };
- String ERRCODE_IO_NAMETOOLONG
- {
- Text [ en-US ] = "The file name is too long for the target file system." ;
- };
- String ERRCODE_SFX_CONSULTUSER
- {
- Text [ en-US ] = "The details for running the function are incomplete." ;
- };
- String ERRCODE_SFX_INVALIDSYNTAX
- {
- Text [ en-US ] = "The input syntax is invalid." ;
- };
- String ERRCODE_SFX_CANTCREATEFOLDER
- {
- Text [ en-US ] = "The input syntax is invalid." ;
- };
- String ERRCODE_SFX_CANTRENAMEFOLDER
- {
- Text [ en-US ] = "The input syntax is invalid." ;
- };
- String ERRCODE_SFX_WRONG_CDF_FORMAT
- {
- Text [ en-US ] = "The channel document has an invalid format." ;
- };
- String ERRCODE_SFX_EMPTY_SERVER
- {
- Text [ en-US ] = "The server must not be empty." ;
- };
- String ERRCODE_SFX_NO_ABOBOX
- {
- Text [ en-US ] = "A subscription folder is required to install a Channel." ;
- };
- String ERRCODE_IO_NOTSTORABLEINBINARYFORMAT
- {
- Text [ en-US ] = "This document contains attributes that cannot be saved in the selected format.\nPlease save the document in a %PRODUCTNAME %PRODUCTVERSION file format.";
- };
- String ERRCODE_SFX_TARGETFILECORRUPTED
- {
- Text [ en-US ] = "The file $(FILENAME) cannot be saved. Please check your system settings. You can find an automatically generated backup copy of this file in folder $(PATH) named $(BACKUPNAME).";
- };
- String ERRCODE_SFX_NOMOREDOCUMENTSALLOWED
- {
- Text [ en-US ] = "The maximum number of documents that can be opened at the same time has been reached. You need to close one or more documents before you can open a new document.";
- };
- String ERRCODE_SFX_CANTCREATEBACKUP
- {
- Text [ en-US ] = "Could not create backup copy." ;
- };
- String ERRCODE_SFX_MACROS_SUPPORT_DISABLED
- {
- Text [ en-US ] = "An attempt was made to execute a macro.\nFor security reasons, macro support is disabled.";
- };
- String ERRCODE_SFX_DOCUMENT_MACRO_DISABLED
- {
- Text [ en-US ] = "This document contains macros.\n\nMacros may contain viruses. Execution of macros is disabled due to the current macro security setting in Tools - Options - %PRODUCTNAME - Security.\n\nTherefore, some functionality may not be available." ;
- };
- String ERRCODE_SFX_BROKENSIGNATURE
- {
- Text [ en-US ] = "The digitally signed document content and/or macros do not match the current document signature.\n\nThis could be the result of document manipulation or of structural document damage due to data transmission.\n\nWe recommend that you do not trust the content of the current document.\nExecution of macros is disabled for this document.\n " ;
- };
- String ERRCODE_SFX_INCOMPLETE_ENCRYPTION
- {
- Text [ en-US ] = "The encrypted document contains unexpected non-encrypted streams.\n\nThis could be the result of document manipulation.\n\nWe recommend that you do not trust the content of the current document.\nExecution of macros is disabled for this document.\n " ;
- };
-
- String ERRCODE_IO_INVALIDLENGTH
- {
- Text [ en-US ] = "Invalid data length." ;
- };
- String ERRCODE_IO_CURRENTDIR
- {
- Text [ en-US ] = "Function not possible: path contains current directory." ;
- };
- String ERRCODE_IO_NOTSAMEDEVICE
- {
- Text [ en-US ] = "Function not possible: device (drive) not identical." ;
- };
- String ERRCODE_IO_DEVICENOTREADY
- {
- Text [ en-US ] = "Device (drive) not ready." ;
- };
- String ERRCODE_IO_BADCRC
- {
- Text [ en-US ] = "Wrong check amount." ;
- };
- String ERRCODE_IO_WRITEPROTECTED
- {
- Text [ en-US ] = "Function not possible: write protected." ;
- };
- String ERRCODE_SFX_SHARED_NOPASSWORDCHANGE
- {
- Text [ en-US ] = "The password of a shared spreadsheet cannot be set or changed.\nDeactivate sharing mode first.";
- };
-};
-
-// eof ------------------------------------------------------------------------
-
diff --git a/svtools/source/misc/helpagentwindow.cxx b/svtools/source/misc/helpagentwindow.cxx
index 63c803be353d..a270e8b68bf9 100644
--- a/svtools/source/misc/helpagentwindow.cxx
+++ b/svtools/source/misc/helpagentwindow.cxx
@@ -27,20 +27,13 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "helpagentwindow.hxx"
+#include <svtools/helpagentwindow.hxx>
#include <osl/diagnose.h>
-#ifndef _SV_BUTTON_HXX
#include <vcl/button.hxx>
-#endif
#include <vcl/bitmap.hxx>
#include <svtools/svtdata.hxx>
-
-#ifndef _SVTOOLS_HRC
#include <svtools/svtools.hrc>
-#endif
-#ifndef _SVT_HELPID_HRC
#include <svtools/helpid.hrc>
-#endif
#define WB_AGENT_STYLE 0
diff --git a/svtools/source/misc/imagemgr.cxx b/svtools/source/misc/imagemgr.cxx
index 95dbef61cb3b..a9109bf17656 100644
--- a/svtools/source/misc/imagemgr.cxx
+++ b/svtools/source/misc/imagemgr.cxx
@@ -30,7 +30,7 @@
// includes --------------------------------------------------------------
-#include "imagemgr.hxx"
+#include <svtools/imagemgr.hxx>
#include <tools/urlobj.hxx>
#include <tools/debug.hxx>
#include <vcl/svapp.hxx>
@@ -39,9 +39,7 @@
#include <sot/storage.hxx>
#include <sot/clsids.hxx>
#include <unotools/ucbhelper.hxx>
-#ifndef _UNOTOOLS_PROCESSFACTORY_HXX
#include <comphelper/processfactory.hxx>
-#endif
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/document/XTypeDetection.hpp>
@@ -51,9 +49,8 @@
#include <tools/rcid.h>
#include <rtl/logfile.hxx>
#include <unotools/configmgr.hxx>
-
#include <svtools/svtools.hrc>
-#include "imagemgr.hrc"
+#include <svtools/imagemgr.hrc>
#include <svtools/svtdata.hxx>
#include <vos/mutex.hxx>
diff --git a/svtools/source/misc/imagemgr.src b/svtools/source/misc/imagemgr.src
index cdc9f8da1c87..03e68b3b30b7 100644
--- a/svtools/source/misc/imagemgr.src
+++ b/svtools/source/misc/imagemgr.src
@@ -27,7 +27,7 @@
// includes ******************************************************************
#include <svtools/svtools.hrc>
-#include "imagemgr.hrc"
+#include <svtools/imagemgr.hrc>
// images ********************************************************************
diff --git a/svtools/source/misc/imageresourceaccess.cxx b/svtools/source/misc/imageresourceaccess.cxx
index 436c3f721833..a4fd7e372880 100644
--- a/svtools/source/misc/imageresourceaccess.cxx
+++ b/svtools/source/misc/imageresourceaccess.cxx
@@ -28,9 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#ifndef SVTOOLS_SOURCE_MISC_IMAGERESOURCEACCESS_HXX
-#include "imageresourceaccess.hxx"
-#endif
+#include <svtools/imageresourceaccess.hxx>
/** === begin UNO includes === **/
#include <com/sun/star/io/NotConnectedException.hpp>
diff --git a/svtools/source/misc/itemdel.cxx b/svtools/source/misc/itemdel.cxx
index 05d7cf62a51a..676ae5383e63 100644
--- a/svtools/source/misc/itemdel.cxx
+++ b/svtools/source/misc/itemdel.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "itemdel.hxx"
+#include <svtools/itemdel.hxx>
#include <vcl/svapp.hxx>
#include <tools/errcode.hxx>
#include <limits.h>
diff --git a/svtools/source/misc/makefile.mk b/svtools/source/misc/makefile.mk
deleted file mode 100644
index 32781dbfefb1..000000000000
--- a/svtools/source/misc/makefile.mk
+++ /dev/null
@@ -1,84 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-PRJNAME=svtools
-TARGET=misc
-
-ENABLE_EXCEPTIONS := TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-#use local "bmp" as it may not yet be delivered
-
-SRS1NAME=misc
-SRC1FILES=\
- ehdl.src \
- helpagent.src \
- imagemgr.src \
- langtab.src
-
-SRS2NAME=ehdl
-SRC2FILES=\
- errtxt.src
-
-SLOFILES=\
- $(SLO)$/acceleratorexecute.obj \
- $(SLO)$/chartprettypainter.obj \
- $(SLO)$/cliplistener.obj \
- $(SLO)$/dialogclosedlistener.obj\
- $(SLO)$/dialogcontrolling.obj \
- $(SLO)$/ehdl.obj \
- $(SLO)$/embedhlp.obj \
- $(SLO)$/embedtransfer.obj \
- $(SLO)$/helpagentwindow.obj \
- $(SLO)$/imagemgr.obj \
- $(SLO)$/imageresourceaccess.obj \
- $(SLO)$/imap.obj \
- $(SLO)$/imap2.obj \
- $(SLO)$/imap3.obj \
- $(SLO)$/itemdel.obj \
- $(SLO)$/langtab.obj \
- $(SLO)$/stringtransfer.obj \
- $(SLO)$/svtaccessiblefactory.obj \
- $(SLO)$/svtdata.obj \
- $(SLO)$/templatefoldercache.obj \
- $(SLO)$/transfer.obj \
- $(SLO)$/transfer2.obj \
- $(SLO)$/unitconv.obj \
- $(SLO)$/wallitem.obj \
- $(SLO)$/xwindowitem.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svtools/source/misc/svtdata.cxx b/svtools/source/misc/svtdata.cxx
index 7a04b3276c9f..495929bd89dc 100644
--- a/svtools/source/misc/svtdata.cxx
+++ b/svtools/source/misc/svtdata.cxx
@@ -71,3 +71,8 @@ ImpSvtData & ImpSvtData::GetSvtData()
return *static_cast<ImpSvtData *>(*pAppData);
}
+SvtResId::SvtResId(USHORT nId, const ::com::sun::star::lang::Locale aLocale):
+ ResId(nId, *ImpSvtData::GetSvtData().GetResMgr(aLocale)) {}
+
+SvtResId::SvtResId(USHORT nId): ResId(nId, *ImpSvtData::GetSvtData().GetResMgr()) {}
+
diff --git a/svtools/source/misc/templatefoldercache.cxx b/svtools/source/misc/templatefoldercache.cxx
index a7f5b978f0f4..6e38a1436c10 100644
--- a/svtools/source/misc/templatefoldercache.cxx
+++ b/svtools/source/misc/templatefoldercache.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "templatefoldercache.hxx"
+#include <svtools/templatefoldercache.hxx>
#include <unotools/ucbstreamhelper.hxx>
#include <unotools/localfilehelper.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
diff --git a/svtools/source/misc/transfer.cxx b/svtools/source/misc/transfer.cxx
index 1d2aba199e94..fcd519398c8e 100644
--- a/svtools/source/misc/transfer.cxx
+++ b/svtools/source/misc/transfer.cxx
@@ -43,12 +43,8 @@
#include <rtl/memory.h>
#include <rtl/uuid.h>
#include <rtl/uri.hxx>
-#ifndef DEBUG_HXX
#include <tools/debug.hxx>
-#endif
-#ifndef URLOBJ_HXX
#include <tools/urlobj.hxx>
-#endif
#include <unotools/ucbstreamhelper.hxx>
#include <sot/exchange.hxx>
#include <sot/storage.hxx>
@@ -65,12 +61,8 @@
#include <comphelper/seqstream.hxx>
#include <com/sun/star/datatransfer/clipboard/XClipboardNotifier.hpp>
#include <com/sun/star/datatransfer/clipboard/XFlushableClipboard.hpp>
-#ifndef _COM_SUN_STAR_DATATRANSFER_CLIPBOARD_XMIMECONTENTTYPEFACTORY_HPP_
#include <com/sun/star/datatransfer/XMimeContentTypeFactory.hpp>
-#endif
-#ifndef _COM_SUN_STAR_DATATRANSFER_CLIPBOARD_XMIMECONTENTTYPE_HPP_
#include <com/sun/star/datatransfer/XMimeContentType.hpp>
-#endif
#include <com/sun/star/frame/XDesktop.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
diff --git a/svtools/source/misc/transfer2.cxx b/svtools/source/misc/transfer2.cxx
index 6cf2645c10ad..8603cf317de7 100644
--- a/svtools/source/misc/transfer2.cxx
+++ b/svtools/source/misc/transfer2.cxx
@@ -28,12 +28,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
#include <vos/mutex.hxx>
-#ifndef DEBUG_HXX
#include <tools/debug.hxx>
-#endif
-#ifndef URLOBJ_HXX
#include <tools/urlobj.hxx>
-#endif
#include <unotools/ucbstreamhelper.hxx>
#include <sot/exchange.hxx>
#include <sot/storage.hxx>
@@ -43,12 +39,9 @@
#include <vcl/svapp.hxx>
#include <vcl/window.hxx>
#include <comphelper/processfactory.hxx>
-#ifndef _COM_SUN_STAR_DATATRANSFER_DND_DROPTARGETDRAGCONTEXT_HPP_
#include <com/sun/star/datatransfer/dnd/XDropTargetDragContext.hpp>
-#endif
-
#include "svl/urlbmk.hxx"
-#include "inetimg.hxx"
+#include <svtools/inetimg.hxx>
#include <svtools/imap.hxx>
#include <svtools/transfer.hxx>
diff --git a/svtools/source/plugapp/commtest.hrc b/svtools/source/misc/undo.src
index f0f646b49bfc..6f341741b112 100644
--- a/svtools/source/plugapp/commtest.hrc
+++ b/svtools/source/misc/undo.src
@@ -24,11 +24,21 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#define TBMenu 256
+ // include ------------------------------------------------------------------
+
+#include <svtools/svtools.hrc>
+
+String STR_UNDO
+{
+ Text [ en-US ] = "Undo: " ;
+};
+String STR_REDO
+{
+ Text [ en-US ] = "Re~do: " ;
+};
+String STR_REPEAT
+{
+ Text [ en-US ] = "~Repeat: " ;
+};
-#define SERVER_TCP 1
-#define CLIENT_TCP 2
-#define BCST_BROOKER 3
-#define BCST_LISTEN 4
-#define BCST_SEND 5
diff --git a/svtools/source/misc/wallitem.cxx b/svtools/source/misc/wallitem.cxx
index 505af52c9908..859958cea41c 100644
--- a/svtools/source/misc/wallitem.cxx
+++ b/svtools/source/misc/wallitem.cxx
@@ -48,7 +48,7 @@
#include <vcl/gradient.hxx>
#include <vcl/cvtgrf.hxx>
-#include "wallitem.hxx"
+#include <svtools/wallitem.hxx>
#include <svl/cntwall.hxx>
// -----------------------------------------------------------------------
diff --git a/svtools/source/plugapp/commtest.cxx b/svtools/source/plugapp/commtest.cxx
deleted file mode 100644
index 033d0fd89580..000000000000
--- a/svtools/source/plugapp/commtest.cxx
+++ /dev/null
@@ -1,261 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svtools.hxx"
-#include <vcl/svapp.hxx>
-#include <vcl/wrkwin.hxx>
-#include <vcl/toolbox.hxx>
-
-
-#include <tools/simplecm.hxx>
-#include "communi.hxx"
-#include "brooker.hxx"
-//#include <tools/bcst.hxx>
-
-#include "commtest.hrc"
-
-
-
-#define TCP_PORT 17612
-
-#define CUniString( constAsciiStr ) UniString( RTL_CONSTASCII_USTRINGPARAM ( constAsciiStr ) )
-
-
-class PacketSender : public Timer
-{
- SvStream* mpData;
- CommunicationLinkRef mxCL;
-
-public:
- PacketSender( sal_uIntPtr nDelay, SvStream* pData, CommunicationLink* pCL );
- virtual void Timeout();
-};
-
-PacketSender::PacketSender( sal_uIntPtr nDelay, SvStream* pData, CommunicationLink* pCL )
-: mpData( pData )
-, mxCL( pCL )
-{
- SetTimeout( nDelay );
- Start();
-}
-
-void PacketSender::Timeout()
-{
- mxCL->TransferDataStream( mpData );
- delete mpData;
- delete this;
-}
-
-
-
-class DelayedDeleter : public Timer
-{
- CommunicationManager *mpManager;
-
-public:
- DelayedDeleter( sal_uIntPtr nDelay, CommunicationManager *pManager );
- virtual void Timeout();
-};
-
-DelayedDeleter::DelayedDeleter( sal_uIntPtr nDelay, CommunicationManager *pManager )
-: mpManager( pManager )
-{
- SetTimeout( nDelay );
- Start();
-}
-
-void DelayedDeleter::Timeout()
-{
- delete mpManager;
- delete this;
-}
-
-
-
-
-class CommunicationTester : public Application
-{
- DECL_LINK( TBClick, ToolBox* );
- DECL_LINK( DataReceived, CommunicationLink* );
- DECL_LINK( ConnectionOpened, CommunicationLink* );
- DECL_LINK( ConnectionClosed, CommunicationLink* );
-
-
- CommunicationManager *pClientTcp, *pServerTcp;
- InformationBroadcaster *pBCSTSend;
- InformationBroadcaster *pBCSTListen;
- InformationBrooker *pBCSTBrooker;
-public:
- CommunicationTester();
-
- virtual void Main();
-};
-
-CommunicationTester IchSelber;
-
-CommunicationTester::CommunicationTester()
-: pClientTcp( NULL )
-, pServerTcp( NULL )
-, pBCSTSend( NULL )
-, pBCSTListen( NULL )
-, pBCSTBrooker( NULL )
-{}
-
-void CommunicationTester::Main()
-{
- ResMgr *pRes = ResMgr::CreateResMgr( "commtest" );
- Resource::SetResManager( pRes );
- WorkWindow aWW( NULL, WB_APP | WB_STDWORK );
- aWW.Show();
- ToolBox aTB( &aWW, ResId( TBMenu ) );
- aTB.Show();
- aTB.RecalcItems();
- aTB.SetFloatingMode( sal_True );
- aTB.SetFloatingMode( sal_False );
- aTB.SetClickHdl( LINK( this, CommunicationTester, TBClick ) );
-
- Execute();
-}
-
-#define SWITCH( pManager, ManagerClass ) \
-{ \
- if ( pManager ) \
- { \
- pManager->StopCommunication(); \
- new DelayedDeleter( 1000, pManager ); \
- pTB->SetItemState( pTB->GetCurItemId(), STATE_NOCHECK ); \
- pManager = NULL; \
- } \
- else \
- { \
- pManager = new ManagerClass; \
- pManager->SetConnectionOpenedHdl( LINK( this, CommunicationTester, ConnectionOpened ) );\
- pManager->SetConnectionClosedHdl( LINK( this, CommunicationTester, ConnectionClosed ) );\
- pManager->SetDataReceivedHdl( LINK( this, CommunicationTester, DataReceived ) );\
- pTB->SetItemState( pTB->GetCurItemId(), STATE_CHECK ); \
- } \
-}
-
-
-IMPL_LINK( CommunicationTester, TBClick, ToolBox*, pTB )
-{
- switch ( pTB->GetCurItemId() )
- {
- case SERVER_TCP:
- {
- SWITCH( pServerTcp, CommunicationManagerServerViaSocket( TCP_PORT, (sal_uInt16) 32000 ) );
- if ( pServerTcp )
- pServerTcp->StartCommunication(); // Am Port horchen
- }
- break;
- case CLIENT_TCP:
- {
- SWITCH( pClientTcp, CommunicationManagerClientViaSocket( "localhost", TCP_PORT ) );
- if ( pClientTcp )
- pClientTcp->StartCommunication(); // Eine Verbindung aufbauen
- }
- break;
- case BCST_BROOKER:
- {
- if ( pBCSTBrooker )
- {
- delete pBCSTBrooker;
- pBCSTBrooker = NULL;
- }
- else
- {
- pBCSTBrooker = new InformationBrooker();
- }
- }
- break;
- case BCST_LISTEN:
- {
- if ( pBCSTListen )
- {
- delete pBCSTListen;
- pBCSTListen = NULL;
- }
- else
- {
- pBCSTListen = new InformationBroadcaster();
- }
- }
- case BCST_SEND:
- {
- if ( pBCSTSend )
- {
- pBCSTSend->Broadcast( BCST_CAT_PL2X, "Message: BCST_CAT_PL2X" );
- pBCSTSend->Broadcast( BCST_CAT_MINORCOPY, "Message: BCST_CAT_MINORCOPY" );
- pBCSTSend->Broadcast( BCST_CAT_DELIVER, "Message: BCST_CAT_DELIVER" );
- pBCSTSend->Broadcast( BCST_CAT_ALL, "Message: BCST_CAT_ALL" );
- }
- else
- {
- pBCSTSend = new InformationBroadcaster();
- }
- }
- break;
- }
- return 0;
-}
-
-IMPL_LINK( CommunicationTester, ConnectionOpened, CommunicationLink*, pCL )
-{
- SvStream *pData = pCL->GetBestCommunicationStream();
- while ( pData->Tell() < 70 ) *pData << 123;
-
- pCL->TransferDataStream( pData );
- return 0;
-}
-
-IMPL_LINK( CommunicationTester, ConnectionClosed, CommunicationLink*, pCL )
-{
- return 0;
-}
-
-IMPL_LINK( CommunicationTester, DataReceived, CommunicationLink*, pCL )
-{
- // Find Manager
- CommunicationManager* pManager;
- if ( pClientTcp && pClientTcp->IsLinkValid( pCL ) )
- {
- pManager = pClientTcp;
- }
- if ( pServerTcp && pServerTcp->IsLinkValid( pCL ) )
- {
- DBG_ASSERT( !pManager, "CommunicationLink bei mehreren Managern eingetragen");
- pManager = pServerTcp;
- }
- DBG_ASSERT( pCL->GetCommunicationManager() == pManager, "Manager des Link != Manager bei dem der Link Valid ist");
-
- // Send Data Back (Echo)
- new PacketSender( 1000, pCL->GetServiceData(), pCL );
-
- return 0;
-}
-
diff --git a/svtools/source/plugapp/commtest.src b/svtools/source/plugapp/commtest.src
deleted file mode 100644
index 7073699f4956..000000000000
--- a/svtools/source/plugapp/commtest.src
+++ /dev/null
@@ -1,60 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#include "commtest.hrc"
-
-ToolBox TBMenu {
- Border = TRUE;
- SVLook = TRUE;
- Dockable = TRUE;
- Pos = MAP_APPFONT( 0, 0 );
- Size = MAP_APPFONT( 100, 20 );
- LineCount = 2;
-// FloatingLines = 2;
- ItemList = {
- ToolBoxItem {
- Identifier = SERVER_TCP;
- Text = "Server TCP";
- };
- ToolBoxItem {
- Identifier = CLIENT_TCP;
- Text = "Client TCP";
- };
- ToolBoxItem {
- Identifier = BCST_BROOKER;
- Text = "BroadcastBrooker";
- };
- ToolBoxItem {
- Identifier = BCST_SEND;
- Text = "BroadcastClientSend";
- };
- ToolBoxItem {
- Identifier = BCST_LISTEN;
- Text = "BroadcastClientListen";
- };
- };
- Scroll = TRUE;
-};
diff --git a/svtools/source/plugapp/makefile.mk b/svtools/source/plugapp/makefile.mk
deleted file mode 100644
index f1dd0a4a8334..000000000000
--- a/svtools/source/plugapp/makefile.mk
+++ /dev/null
@@ -1,61 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=plugapp
-LIBTARGET=NO
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/ttprops.obj
-
-
-SRS2NAME=$(TARGET)
-SRC2FILES= testtool.src
-
-
-LIB1TARGET= $(SLB)$/plugapp.lib
-LIB1OBJFILES= $(SLOFILES)
-
-######## Testapplikation #########
-
-SRC1FILES= commtest.src
-SRS1NAME= commtest
-
-######## Ende Testapplikation #########
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svtools/source/productregistration/makefile.mk b/svtools/source/productregistration/makefile.mk
deleted file mode 100644
index b6e119601697..000000000000
--- a/svtools/source/productregistration/makefile.mk
+++ /dev/null
@@ -1,86 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-PRJNAME=svtools
-TARGET=productregistration.uno
-LIBTARGET=NO
-ENABLE_EXCEPTIONS=TRUE
-GEN_HID=TRUE
-
-# --- Settings ----------------------------------
-
-.INCLUDE : settings.mk
-DLLPRE=
-
-# --- Files -------------------------------------
-
-SLOFILES= \
- $(SLO)$/productregistration.obj \
- $(SLO)$/registrationdlg.obj
-
-SHL1TARGET= $(TARGET)
-SHL1IMPLIB= i$(TARGET)
-
-SHL1OBJS= \
- $(SLOFILES)
-
-SHL1STDLIBS=\
- $(TKLIB) \
- $(VCLLIB) \
- $(SVLLIB) \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-
-SHL1VERSIONMAP=$(SOLARENV)/src/component.map
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-DEF1NAME= $(SHL1TARGET)
-
-SRS1NAME= productregistration
-SRC1FILES= \
- registrationdlg.src
-
-RESLIB1NAME=productregistration
-RESLIB1IMAGES=$(PRJ)$/res
-RESLIB1SRSFILES=\
- $(SRS)$/productregistration.srs
-
-# --- Targets ----------------------------------
-
-.INCLUDE : target.mk
-
-
-ALLTAR : $(MISC)/productregistration.uno.component
-
-$(MISC)/productregistration.uno.component .ERRREMOVE : \
- $(SOLARENV)/bin/createcomponent.xslt productregistration.uno.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt productregistration.uno.component
diff --git a/svtools/source/svhtml/htmlkywd.cxx b/svtools/source/svhtml/htmlkywd.cxx
index 99ec82d4e756..3a654bd4d719 100644
--- a/svtools/source/svhtml/htmlkywd.cxx
+++ b/svtools/source/svhtml/htmlkywd.cxx
@@ -34,8 +34,8 @@
#include <limits.h>
#include <svtools/svparser.hxx>
-#include "htmlkywd.hxx"
-#include "htmltokn.h"
+#include <svtools/htmlkywd.hxx>
+#include <svtools/htmltokn.h>
// die Tabelle muss noch sortiert werden
struct HTML_TokenEntry
diff --git a/svtools/source/svhtml/htmlout.cxx b/svtools/source/svhtml/htmlout.cxx
index 7e800ace4e90..c43deba25c15 100644
--- a/svtools/source/svhtml/htmlout.cxx
+++ b/svtools/source/svhtml/htmlout.cxx
@@ -36,7 +36,7 @@
#include <svl/zforlist.hxx>
#include <svtools/htmlout.hxx>
-#include "htmlkywd.hxx"
+#include <svtools/htmlkywd.hxx>
#include <svtools/imap.hxx>
#include <svtools/imaprect.hxx>
#include <svtools/imapcirc.hxx>
diff --git a/svtools/source/svhtml/htmlsupp.cxx b/svtools/source/svhtml/htmlsupp.cxx
index a264a0c5aa09..4b92214d7827 100644
--- a/svtools/source/svhtml/htmlsupp.cxx
+++ b/svtools/source/svhtml/htmlsupp.cxx
@@ -37,8 +37,8 @@
#endif
#include <svtools/parhtml.hxx>
-#include "htmltokn.h"
-#include "htmlkywd.hxx"
+#include <svtools/htmltokn.h>
+#include <svtools/htmlkywd.hxx>
/* */
diff --git a/svtools/source/svhtml/parhtml.cxx b/svtools/source/svhtml/parhtml.cxx
index 6bf22785e112..8ca98213f3ad 100644
--- a/svtools/source/svhtml/parhtml.cxx
+++ b/svtools/source/svhtml/parhtml.cxx
@@ -48,8 +48,8 @@
#include <com/sun/star/document/XDocumentProperties.hpp>
#include <svtools/parhtml.hxx>
-#include "htmltokn.h"
-#include "htmlkywd.hxx"
+#include <svtools/htmltokn.h>
+#include <svtools/htmlkywd.hxx>
using namespace ::com::sun::star;
diff --git a/svtools/source/svrtf/makefile.mk b/svtools/source/svrtf/makefile.mk
deleted file mode 100644
index cb76882f5f94..000000000000
--- a/svtools/source/svrtf/makefile.mk
+++ /dev/null
@@ -1,51 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=svrtf
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/svparser.obj \
- $(SLO)$/parrtf.obj \
- $(SLO)$/rtfout.obj \
- $(SLO)$/rtfkeywd.obj
-
-# ==========================================================================
-
-.INCLUDE : target.mk
-
diff --git a/svtools/source/svrtf/parrtf.cxx b/svtools/source/svrtf/parrtf.cxx
index 478846b57b98..bd08a32942bf 100644
--- a/svtools/source/svrtf/parrtf.cxx
+++ b/svtools/source/svrtf/parrtf.cxx
@@ -34,8 +34,8 @@
#include <rtl/tencinfo.h>
#include <tools/stream.hxx>
#include <tools/debug.hxx>
-#include "rtftoken.h"
-#include "rtfkeywd.hxx"
+#include <svtools/rtftoken.h>
+#include <svtools/rtfkeywd.hxx>
#include <svtools/parrtf.hxx>
const int MAX_STRING_LEN = 1024;
diff --git a/svtools/source/svrtf/rtfkey2.cxx b/svtools/source/svrtf/rtfkey2.cxx
deleted file mode 100644
index 03a7667f48e2..000000000000
--- a/svtools/source/svrtf/rtfkey2.cxx
+++ /dev/null
@@ -1,1159 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svtools.hxx"
-
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil -*- */
-
-#include "rtfkeywd.hxx"
-
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HEXCHAR, "\\'" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_IGNORE, "\\*" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OPTHYPH, "\\-" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SUBENTRY, "\\:" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ABSH, "\\absh" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ABSW, "\\absw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ALT, "\\alt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ANNOTATION, "\\annotation" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ANSI, "\\ansi" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ATNID, "\\atnid" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AUTHOR, "\\author" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_B, "\\b" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGBDIAG, "\\bgbdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGCROSS, "\\bgcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGDCROSS, "\\bgdcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGDKBDIAG, "\\bgdkbdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGDKCROSS, "\\bgdkcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGDKDCROSS, "\\bgdkdcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGDKFDIAG, "\\bgdkfdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGDKHORIZ, "\\bgdkhoriz" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGDKVERT, "\\bgdkvert" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGFDIAG, "\\bgfdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGHORIZ, "\\bghoriz" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BGVERT, "\\bgvert" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BIN, "\\bin" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BINFSXN, "\\binfsxn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BINSXN, "\\binsxn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BKMKCOLF, "\\bkmkcolf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BKMKCOLL, "\\bkmkcoll" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BKMKEND, "\\bkmkend" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BKMKSTART, "\\bkmkstart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BLUE, "\\blue" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BOX, "\\box" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRB, "\\brdrb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRBAR, "\\brdrbar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRBTW, "\\brdrbtw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRCF, "\\brdrcf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRDB, "\\brdrdb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRDOT, "\\brdrdot" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRHAIR, "\\brdrhair" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRL, "\\brdrl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRR, "\\brdrr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRS, "\\brdrs" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRSH, "\\brdrsh" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRT, "\\brdrt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRTH, "\\brdrth" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRW, "\\brdrw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRSP, "\\brsp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BULLET, "\\bullet" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BUPTIM, "\\buptim" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BXE, "\\bxe" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CAPS, "\\caps" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CB, "\\cb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CBPAT, "\\cbpat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CELL, "\\cell" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CELLX, "\\cellx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CF, "\\cf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CFPAT, "\\cfpat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHATN, "\\chatn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHDATE, "\\chdate" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHDPA, "\\chdpa" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHDPL, "\\chdpl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHFTN, "\\chftn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHFTNSEP, "\\chftnsep" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHFTNSEPC, "\\chftnsepc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHPGN, "\\chpgn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHTIME, "\\chtime" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGBDIAG, "\\clbgbdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGCROSS, "\\clbgcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGDCROSS, "\\clbgdcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGDKBDIAG, "\\clbgdkbdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGDKCROSS, "\\clbgdkcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGDKDCROSS, "\\clbgdkdcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGDKFDIAG, "\\clbgdkfdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGDKHOR, "\\clbgdkhor" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGDKVERT, "\\clbgdkvert" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGFDIAG, "\\clbgfdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGHORIZ, "\\clbghoriz" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBGVERT, "\\clbgvert" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBRDRB, "\\clbrdrb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBRDRL, "\\clbrdrl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBRDRR, "\\clbrdrr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLBRDRT, "\\clbrdrt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLCBPAT, "\\clcbpat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLCFPAT, "\\clcfpat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLMGF, "\\clmgf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLMRG, "\\clmrg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLSHDNG, "\\clshdng" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_COLNO, "\\colno" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_COLORTBL, "\\colortbl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_COLS, "\\cols" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_COLSR, "\\colsr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_COLSX, "\\colsx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_COLUMN, "\\column" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_COLW, "\\colw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_COMMENT, "\\comment" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CREATIM, "\\creatim" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CTRL, "\\ctrl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DEFF, "\\deff" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DEFFORMAT, "\\defformat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DEFLANG, "\\deflang" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DEFTAB, "\\deftab" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DELETED, "\\deleted" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DFRMTXTX, "\\dfrmtxtx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DFRMTXTY, "\\dfrmtxty" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DIBITMAP, "\\dibitmap" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DN, "\\dn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DOCCOMM, "\\doccomm" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DOCTEMP, "\\doctemp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DROPCAPLI, "\\dropcapli" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DROPCAPT, "\\dropcapt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ABSNOOVRLP, "\\absnoovrlp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DXFRTEXT, "\\dxfrtext" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DY, "\\dy" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_EDMINS, "\\edmins" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_EMDASH, "\\emdash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ENDASH, "\\endash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ENDDOC, "\\enddoc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ENDNHERE, "\\endnhere" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ENDNOTES, "\\endnotes" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_EXPND, "\\expnd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_EXPNDTW, "\\expndtw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_F, "\\f" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FACINGP, "\\facingp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FACPGSXN, "\\facpgsxn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FALT, "\\falt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FCHARSET, "\\fcharset" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FDECOR, "\\fdecor" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FI, "\\fi" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FIELD, "\\field" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLDDIRTY, "\\flddirty" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLDEDIT, "\\fldedit" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLDINST, "\\fldinst" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLDLOCK, "\\fldlock" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLDPRIV, "\\fldpriv" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLDRSLT, "\\fldrslt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FMODERN, "\\fmodern" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FN, "\\fn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FNIL, "\\fnil" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FONTTBL, "\\fonttbl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FOOTER, "\\footer" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FOOTERF, "\\footerf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FOOTERL, "\\footerl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FOOTERR, "\\footerr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FOOTERY, "\\footery" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FOOTNOTE, "\\footnote" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FPRQ, "\\fprq" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FRACWIDTH, "\\fracwidth" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FROMAN, "\\froman" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FS, "\\fs" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FSCRIPT, "\\fscript" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FSWISS, "\\fswiss" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTECH, "\\ftech" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNBJ, "\\ftnbj" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNCN, "\\ftncn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNRESTART, "\\ftnrestart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNSEP, "\\ftnsep" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNSEPC, "\\ftnsepc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNSTART, "\\ftnstart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNTJ, "\\ftntj" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_GREEN, "\\green" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_GUTTER, "\\gutter" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_GUTTERSXN, "\\guttersxn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HEADER, "\\header" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HEADERF, "\\headerf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HEADERL, "\\headerl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HEADERR, "\\headerr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HEADERY, "\\headery" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HR, "\\hr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HYPHHOTZ, "\\hyphhotz" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_I, "\\i" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ID, "\\id" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_INFO, "\\info" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_INTBL, "\\intbl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_IXE, "\\ixe" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_KEEP, "\\keep" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_KEEPN, "\\keepn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_KERNING, "\\kerning" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_KEYCODE, "\\keycode" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_KEYWORDS, "\\keywords" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LANDSCAPE, "\\landscape" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LANG, "\\lang" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LDBLQUOTE, "\\ldblquote" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVEL, "\\level" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LI, "\\li" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LIN, "\\lin" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINE, "\\line" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINEBETCOL, "\\linebetcol" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINECONT, "\\linecont" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINEMOD, "\\linemod" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINEPPAGE, "\\lineppage" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINERESTART, "\\linerestart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINESTART, "\\linestart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINESTARTS, "\\linestarts" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINEX, "\\linex" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LNDSCPSXN, "\\lndscpsxn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LQUOTE, "\\lquote" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MAC, "\\mac" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MACPICT, "\\macpict" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MAKEBACKUP, "\\makebackup" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MARGB, "\\margb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MARGBSXN, "\\margbsxn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MARGL, "\\margl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MARGLSXN, "\\marglsxn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MARGMIRROR, "\\margmirror" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MARGR, "\\margr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MARGRSXN, "\\margrsxn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MARGT, "\\margt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MARGTSXN, "\\margtsxn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MIN, "\\min" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MO, "\\mo" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NEXTCSET, "\\nextcset" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NEXTFILE, "\\nextfile" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOFCHARS, "\\nofchars" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOFPAGES, "\\nofpages" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOFWORDS, "\\nofwords" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOLINE, "\\noline" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOSUPERSUB, "\\nosupersub" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOWRAP, "\\nowrap" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OPERATOR, "\\operator" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OUTL, "\\outl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PAGE, "\\page" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PAGEBB, "\\pagebb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PAPERH, "\\paperh" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PAPERW, "\\paperw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PAR, "\\par" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PARD, "\\pard" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PC, "\\pc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PCA, "\\pca" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGHSXN, "\\pghsxn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNCONT, "\\pgncont" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNDEC, "\\pgndec" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNLCLTR, "\\pgnlcltr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNLCRM, "\\pgnlcrm" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNRESTART, "\\pgnrestart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNSTART, "\\pgnstart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNSTARTS, "\\pgnstarts" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNUCLTR, "\\pgnucltr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNUCRM, "\\pgnucrm" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNX, "\\pgnx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNY, "\\pgny" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGWSXN, "\\pgwsxn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PHCOL, "\\phcol" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PHMRG, "\\phmrg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PHPG, "\\phpg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICCROPB, "\\piccropb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICCROPL, "\\piccropl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICCROPR, "\\piccropr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICCROPT, "\\piccropt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICH, "\\pich" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICHGOAL, "\\pichgoal" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICSCALED, "\\picscaled" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICSCALEX, "\\picscalex" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICSCALEY, "\\picscaley" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICT, "\\pict" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICW, "\\picw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICWGOAL, "\\picwgoal" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PLAIN, "\\plain" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PMMETAFILE, "\\pmmetafile" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSNEGX, "\\posnegx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSNEGY, "\\posnegy" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSX, "\\posx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSXC, "\\posxc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSXI, "\\posxi" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSXL, "\\posxl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSXO, "\\posxo" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSXR, "\\posxr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSY, "\\posy" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSYB, "\\posyb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSYC, "\\posyc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSYIL, "\\posyil" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSYT, "\\posyt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PRINTIM, "\\printim" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PSOVER, "\\psover" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PVMRG, "\\pvmrg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PVPARA, "\\pvpara" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PVPG, "\\pvpg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_QC, "\\qc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_QJ, "\\qj" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_QL, "\\ql" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_QR, "\\qr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RDBLQUOTE, "\\rdblquote" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RED, "\\red" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_REVBAR, "\\revbar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_REVISED, "\\revised" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_REVISIONS, "\\revisions" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_REVPROP, "\\revprop" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_REVTIM, "\\revtim" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RI, "\\ri" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RIN, "\\rin" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ROW, "\\row" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RQUOTE, "\\rquote" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RTF, "\\rtf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RXE, "\\rxe" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_S, "\\s" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SA, "\\sa" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SB, "\\sb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SBASEDON, "\\sbasedon" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SBKCOL, "\\sbkcol" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SBKEVEN, "\\sbkeven" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SBKNONE, "\\sbknone" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SBKODD, "\\sbkodd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SBKPAGE, "\\sbkpage" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SBYS, "\\sbys" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SCAPS, "\\scaps" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SECT, "\\sect" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SECTD, "\\sectd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHAD, "\\shad" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHADING, "\\shading" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHIFT, "\\shift" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SL, "\\sl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SNEXT, "\\snext" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_STRIKE, "\\strike" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_STYLESHEET, "\\stylesheet" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SUB, "\\sub" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SUBJECT, "\\subject" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SUPER, "\\super" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TAB, "\\tab" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TB, "\\tb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TC, "\\tc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TCF, "\\tcf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TCL, "\\tcl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TEMPLATE, "\\template" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TITLE, "\\title" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TITLEPG, "\\titlepg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TLDOT, "\\tldot" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TLEQ, "\\tleq" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TLHYPH, "\\tlhyph" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TLTH, "\\tlth" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TLUL, "\\tlul" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TQC, "\\tqc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TQDEC, "\\tqdec" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TQR, "\\tqr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TQL, "\\tql" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRGAPH, "\\trgaph" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRLEFT, "\\trleft" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TROWD, "\\trowd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRQC, "\\trqc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRQL, "\\trql" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRQR, "\\trqr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRRH, "\\trrh" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TX, "\\tx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TXE, "\\txe" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_UL, "\\ul" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULD, "\\uld" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULDB, "\\uldb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULNONE, "\\ulnone" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULW, "\\ulw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_UP, "\\up" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_V, "\\v" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_VERN, "\\vern" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_VERSION, "\\version" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_VERTALB, "\\vertalb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_VERTALC, "\\vertalc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_VERTALJ, "\\vertalj" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_VERTALT, "\\vertalt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WBITMAP, "\\wbitmap" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WBMBITSPIXEL, "\\wbmbitspixel" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WBMPLANES, "\\wbmplanes" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WBMWIDTHBYTES, "\\wbmwidthbytes" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WIDOWCTRL, "\\widowctrl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WMETAFILE, "\\wmetafile" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_XE, "\\xe" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_YR, "\\yr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOBRKHYPH, "\\_" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FORMULA, "\\|" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOBREAK, "\\~" );
-
-
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AB, "\\ab" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ACAPS, "\\acaps" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ACF, "\\acf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ADDITIVE, "\\additive" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ADN, "\\adn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AENDDOC, "\\aenddoc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AENDNOTES, "\\aendnotes" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AEXPND, "\\aexpnd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AF, "\\af" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFS, "\\afs" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNBJ, "\\aftnbj" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNCN, "\\aftncn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNALC, "\\aftnnalc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNAR, "\\aftnnar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNAUC, "\\aftnnauc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNCHI, "\\aftnnchi" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNRLC, "\\aftnnrlc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNRUC, "\\aftnnruc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNRESTART, "\\aftnrestart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNRSTCONT, "\\aftnrstcont" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNSEP, "\\aftnsep" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNSEPC, "\\aftnsepc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNSTART, "\\aftnstart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNTJ, "\\aftntj" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AI, "\\ai" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ALANG, "\\alang" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ALLPROT, "\\allprot" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ANNOTPROT, "\\annotprot" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AOUTL, "\\aoutl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ASCAPS, "\\ascaps" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ASHAD, "\\ashad" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ASTRIKE, "\\astrike" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ATNAUTHOR, "\\atnauthor" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ATNICN, "\\atnicn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ATNREF, "\\atnref" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ATNTIME, "\\atntime" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ATRFEND, "\\atrfend" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ATRFSTART, "\\atrfstart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AUL, "\\aul" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AULD, "\\auld" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AULDB, "\\auldb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AULNONE, "\\aulnone" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AULW, "\\aulw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AUP, "\\aup" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BKMKPUB, "\\bkmkpub" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRDASH, "\\brdrdash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRKFRM, "\\brkfrm" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CCHS, "\\cchs" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CPG, "\\cpg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CS, "\\cs" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CVMME, "\\cvmme" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DATAFIELD, "\\datafield" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DO, "\\do" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DOBXCOLUMN, "\\dobxcolumn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DOBXMARGIN, "\\dobxmargin" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DOBXPAGE, "\\dobxpage" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DOBYMARGIN, "\\dobymargin" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DOBYPAGE, "\\dobypage" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DOBYPARA, "\\dobypara" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DODHGT, "\\dodhgt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DOLOCK, "\\dolock" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPAENDHOL, "\\dpaendhol" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPAENDL, "\\dpaendl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPAENDSOL, "\\dpaendsol" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPAENDW, "\\dpaendw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPARC, "\\dparc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPARCFLIPX, "\\dparcflipx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPARCFLIPY, "\\dparcflipy" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPASTARTHOL, "\\dpastarthol" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPASTARTL, "\\dpastartl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPASTARTSOL, "\\dpastartsol" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPASTARTW, "\\dpastartw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCALLOUT, "\\dpcallout" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOA, "\\dpcoa" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOACCENT, "\\dpcoaccent" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOBESTFIT, "\\dpcobestfit" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOBORDER, "\\dpcoborder" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCODABS, "\\dpcodabs" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCODBOTTOM, "\\dpcodbottom" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCODCENTER, "\\dpcodcenter" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCODTOP, "\\dpcodtop" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOLENGTH, "\\dpcolength" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOMINUSX, "\\dpcominusx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOMINUSY, "\\dpcominusy" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOOFFSET, "\\dpcooffset" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOSMARTA, "\\dpcosmarta" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOTDOUBLE, "\\dpcotdouble" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOTRIGHT, "\\dpcotright" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOTSINGLE, "\\dpcotsingle" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOTTRIPLE, "\\dpcottriple" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCOUNT, "\\dpcount" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPELLIPSE, "\\dpellipse" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPENDGROUP, "\\dpendgroup" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPFILLBGCB, "\\dpfillbgcb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPFILLBGCG, "\\dpfillbgcg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPFILLBGCR, "\\dpfillbgcr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPFILLBGGRAY, "\\dpfillbggray" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPFILLBGPAL, "\\dpfillbgpal" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPFILLFGCB, "\\dpfillfgcb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPFILLFGCG, "\\dpfillfgcg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPFILLFGCR, "\\dpfillfgcr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPFILLFGGRAY, "\\dpfillfggray" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPFILLFGPAL, "\\dpfillfgpal" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPFILLPAT, "\\dpfillpat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPGROUP, "\\dpgroup" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINE, "\\dpline" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINECOB, "\\dplinecob" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINECOG, "\\dplinecog" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINECOR, "\\dplinecor" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINEDADO, "\\dplinedado" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINEDADODO, "\\dplinedadodo" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINEDASH, "\\dplinedash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINEDOT, "\\dplinedot" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINEGRAY, "\\dplinegray" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINEHOLLOW, "\\dplinehollow" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINEPAL, "\\dplinepal" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINESOLID, "\\dplinesolid" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPLINEW, "\\dplinew" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPPOLYCOUNT, "\\dppolycount" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPPOLYGON, "\\dppolygon" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPPOLYLINE, "\\dppolyline" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPPTX, "\\dpptx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPPTY, "\\dppty" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPRECT, "\\dprect" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPROUNDR, "\\dproundr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPSHADOW, "\\dpshadow" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPSHADX, "\\dpshadx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPSHADY, "\\dpshady" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPTXBX, "\\dptxbx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPTXBXMAR, "\\dptxbxmar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPTXBXTEXT, "\\dptxbxtext" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPX, "\\dpx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPXSIZE, "\\dpxsize" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPY, "\\dpy" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPYSIZE, "\\dpysize" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DS, "\\ds" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_EMSPACE, "\\emspace" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ENSPACE, "\\enspace" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FBIDI, "\\fbidi" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FET, "\\fet" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FID, "\\fid" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FILE, "\\file" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FILETBL, "\\filetbl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLDALT, "\\fldalt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FNETWORK, "\\fnetwork" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FONTEMB, "\\fontemb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FONTFILE, "\\fontfile" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FORMDISP, "\\formdisp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FORMPROT, "\\formprot" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FORMSHADE, "\\formshade" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FOSNUM, "\\fosnum" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FRELATIVE, "\\frelative" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNALT, "\\ftnalt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNIL, "\\ftnil" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNALC, "\\ftnnalc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNAR, "\\ftnnar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNAUC, "\\ftnnauc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNCHI, "\\ftnnchi" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNRLC, "\\ftnnrlc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNRUC, "\\ftnnruc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNRSTCONT, "\\ftnrstcont" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNRSTPG, "\\ftnrstpg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTTRUETYPE, "\\fttruetype" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FVALIDDOS, "\\fvaliddos" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FVALIDHPFS, "\\fvalidhpfs" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FVALIDMAC, "\\fvalidmac" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FVALIDNTFS, "\\fvalidntfs" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HYPHAUTO, "\\hyphauto" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HYPHCAPS, "\\hyphcaps" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HYPHCONSEC, "\\hyphconsec" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HYPHPAR, "\\hyphpar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINKSELF, "\\linkself" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINKSTYLES, "\\linkstyles" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LTRCH, "\\ltrch" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LTRDOC, "\\ltrdoc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LTRMARK, "\\ltrmark" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LTRPAR, "\\ltrpar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LTRROW, "\\ltrrow" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LTRSECT, "\\ltrsect" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOCOLBAL, "\\nocolbal" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOEXTRASPRL, "\\noextrasprl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOTABIND, "\\notabind" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOWIDCTLPAR, "\\nowidctlpar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJALIAS, "\\objalias" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJALIGN, "\\objalign" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJAUTLINK, "\\objautlink" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJCLASS, "\\objclass" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJCROPB, "\\objcropb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJCROPL, "\\objcropl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJCROPR, "\\objcropr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJCROPT, "\\objcropt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJDATA, "\\objdata" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJECT, "\\object" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJEMB, "\\objemb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJH, "\\objh" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJICEMB, "\\objicemb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJLINK, "\\objlink" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJLOCK, "\\objlock" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJNAME, "\\objname" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJPUB, "\\objpub" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJSCALEX, "\\objscalex" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJSCALEY, "\\objscaley" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJSECT, "\\objsect" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJSETSIZE, "\\objsetsize" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJSUB, "\\objsub" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJTIME, "\\objtime" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJTRANSY, "\\objtransy" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJUPDATE, "\\objupdate" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJW, "\\objw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OTBLRUL, "\\otblrul" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNHN, "\\pgnhn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNHNSC, "\\pgnhnsc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNHNSH, "\\pgnhnsh" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNHNSM, "\\pgnhnsm" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNHNSN, "\\pgnhnsn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNHNSP, "\\pgnhnsp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICBMP, "\\picbmp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICBPP, "\\picbpp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PN, "\\pn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNACROSS, "\\pnacross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNB, "\\pnb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNCAPS, "\\pncaps" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNCARD, "\\pncard" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNCF, "\\pncf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNDEC, "\\pndec" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNF, "\\pnf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNFS, "\\pnfs" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNHANG, "\\pnhang" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNI, "\\pni" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNINDENT, "\\pnindent" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNLCLTR, "\\pnlcltr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNLCRM, "\\pnlcrm" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNLVL, "\\pnlvl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNLVLBLT, "\\pnlvlblt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNLVLBODY, "\\pnlvlbody" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNLVLCONT, "\\pnlvlcont" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNNUMONCE, "\\pnnumonce" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNORD, "\\pnord" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNORDT, "\\pnordt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNPREV, "\\pnprev" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNQC, "\\pnqc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNQL, "\\pnql" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNQR, "\\pnqr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNRESTART, "\\pnrestart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNSCAPS, "\\pnscaps" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNSECLVL, "\\pnseclvl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNSP, "\\pnsp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNSTART, "\\pnstart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNSTRIKE, "\\pnstrike" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNTEXT, "\\pntext" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNTXTA, "\\pntxta" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNTXTB, "\\pntxtb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNUCLTR, "\\pnucltr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNUCRM, "\\pnucrm" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNUL, "\\pnul" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNULD, "\\pnuld" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNULDB, "\\pnuldb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNULNONE, "\\pnulnone" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNULW, "\\pnulw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PRCOLBL, "\\prcolbl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PRINTDATA, "\\printdata" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PSZ, "\\psz" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PUBAUTO, "\\pubauto" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RESULT, "\\result" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_REVAUTH, "\\revauth" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_REVDTTM, "\\revdttm" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_REVPROT, "\\revprot" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_REVTBL, "\\revtbl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RSLTBMP, "\\rsltbmp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RSLTMERGE, "\\rsltmerge" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RSLTPICT, "\\rsltpict" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RSLTRTF, "\\rsltrtf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RSLTTXT, "\\rslttxt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RTLCH, "\\rtlch" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RTLDOC, "\\rtldoc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RTLMARK, "\\rtlmark" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RTLPAR, "\\rtlpar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RTLROW, "\\rtlrow" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_RTLSECT, "\\rtlsect" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SEC, "\\sec" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SECTNUM, "\\sectnum" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SECTUNLOCKED, "\\sectunlocked" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SLMULT, "\\slmult" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SOFTCOL, "\\softcol" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SOFTLHEIGHT, "\\softlheight" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SOFTLINE, "\\softline" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SOFTPAGE, "\\softpage" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SPRSSPBF, "\\sprsspbf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SPRSTSP, "\\sprstsp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SUBDOCUMENT, "\\subdocument" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SWPBDR, "\\swpbdr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TCN, "\\tcn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRANSMF, "\\transmf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRBRDRB, "\\trbrdrb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRBRDRH, "\\trbrdrh" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRBRDRL, "\\trbrdrl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRBRDRR, "\\trbrdrr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRBRDRT, "\\trbrdrt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRBRDRV, "\\trbrdrv" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRHDR, "\\trhdr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRKEEP, "\\trkeep" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRPADDB, "\\trpaddb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRPADDL, "\\trpaddl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRPADDR, "\\trpaddr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRPADDT, "\\trpaddt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRPADDFB, "\\trpaddfb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRPADDFL, "\\trpaddfl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRPADDFR, "\\trpaddfr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRPADDFT, "\\trpaddft" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WRAPTRSP, "\\wraptrsp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_XEF, "\\xef" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ZWJ, "\\zwj" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ZWNJ, "\\zwnj" );
-
-// neue Tokens zur 1.5
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ABSLOCK, "\\abslock" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ADJUSTRIGHT, "\\adjustright" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNCHOSUNG, "\\aftnnchosung" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNCNUM, "\\aftnncnum" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNDBAR, "\\aftnndbar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNDBNUM, "\\aftnndbnum" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNDBNUMD, "\\aftnndbnumd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNDBNUMK, "\\aftnndbnumk" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNDBNUMT, "\\aftnndbnumt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNGANADA, "\\aftnnganada" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNGBNUM, "\\aftnngbnum" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNGBNUMD, "\\aftnngbnumd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNGBNUMK, "\\aftnngbnumk" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNGBNUML, "\\aftnngbnuml" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNZODIAC, "\\aftnnzodiac" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNZODIACD, "\\aftnnzodiacd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_AFTNNZODIACL, "\\aftnnzodiacl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ANIMTEXT, "\\animtext" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ANSICPG, "\\ansicpg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BACKGROUND, "\\background" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BDBFHDR, "\\bdbfhdr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BLIPTAG, "\\bliptag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BLIPUID, "\\blipuid" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BLIPUPI, "\\blipupi" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRART, "\\brdrart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRDASHD, "\\brdrdashd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRDASHDD, "\\brdrdashdd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRDASHDOTSTR, "\\brdrdashdotstr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRDASHSM, "\\brdrdashsm" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDREMBOSS, "\\brdremboss" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRENGRAVE, "\\brdrengrave" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRFRAME, "\\brdrframe" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRTHTNLG, "\\brdrthtnlg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRTHTNMG, "\\brdrthtnmg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRTHTNSG, "\\brdrthtnsg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRTNTHLG, "\\brdrtnthlg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRTNTHMG, "\\brdrtnthmg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRTNTHSG, "\\brdrtnthsg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRTNTHTNLG, "\\brdrtnthtnlg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRTNTHTNMG, "\\brdrtnthtnmg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRTNTHTNSG, "\\brdrtnthtnsg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRTRIPLE, "\\brdrtriple" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRWAVY, "\\brdrwavy" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDRWAVYDB, "\\brdrwavydb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CATEGORY, "\\category" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CGRID, "\\cgrid" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHARSCALEX, "\\charscalex" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGBDIAG, "\\chbgbdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGCROSS, "\\chbgcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGDCROSS, "\\chbgdcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGDKBDIAG, "\\chbgdkbdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGDKCROSS, "\\chbgdkcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGDKDCROSS, "\\chbgdkdcross" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGDKFDIAG, "\\chbgdkfdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGDKHORIZ, "\\chbgdkhoriz" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGDKVERT, "\\chbgdkvert" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGFDIAG, "\\chbgfdiag" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGHORIZ, "\\chbghoriz" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBGVERT, "\\chbgvert" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHBRDR, "\\chbrdr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHCBPAT, "\\chcbpat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHCFPAT, "\\chcfpat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CHSHDNG, "\\chshdng" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLPADL, "\\clpadl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLPADT, "\\clpadt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLPADB, "\\clpadb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLPADR, "\\clpadr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLPADFL, "\\clpadfl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLPADFT, "\\clpadft" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLPADFB, "\\clpadfb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLPADFR, "\\clpadfr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLTXLRTB, "\\cltxlrtb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLTXTBRL, "\\cltxtbrl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLVERTALB, "\\clvertalb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLVERTALC, "\\clvertalc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLVERTALT, "\\clvertalt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLVMGF, "\\clvmgf" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLVMRG, "\\clvmrg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLTXTBRLV, "\\cltxtbrlv" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLTXBTLR, "\\cltxbtlr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CLTXLRTBV, "\\cltxlrtbv" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_COMPANY, "\\company" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CRAUTH, "\\crauth" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_CRDATE, "\\crdate" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DATE, "\\date" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DEFLANGFE, "\\deflangfe" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DFRAUTH, "\\dfrauth" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DFRDATE, "\\dfrdate" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DFRSTART, "\\dfrstart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DFRSTOP, "\\dfrstop" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DFRXST, "\\dfrxst" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DGMARGIN, "\\dgmargin" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DNTBLNSBDB, "\\dntblnsbdb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DOCTYPE, "\\doctype" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DOCVAR, "\\docvar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DPCODESCENT, "\\dpcodescent" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_EMBO, "\\embo" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_EMFBLIP, "\\emfblip" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_EXPSHRTN, "\\expshrtn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FAAUTO, "\\faauto" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FBIAS, "\\fbias" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFDEFRES, "\\ffdefres" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFDEFTEXT, "\\ffdeftext" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFENTRYMCR, "\\ffentrymcr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFEXITMCR, "\\ffexitmcr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFFORMAT, "\\ffformat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFHASLISTBOX, "\\ffhaslistbox" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFHELPTEXT, "\\ffhelptext" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFHPS, "\\ffhps" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFL, "\\ffl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFMAXLEN, "\\ffmaxlen" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFNAME, "\\ffname" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFOWNHELP, "\\ffownhelp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFOWNSTAT, "\\ffownstat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFPROT, "\\ffprot" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFRECALC, "\\ffrecalc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFRES, "\\ffres" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFSIZE, "\\ffsize" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFSTATTEXT, "\\ffstattext" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFTYPE, "\\fftype" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FFTYPETXT, "\\fftypetxt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLDTYPE, "\\fldtype" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FNAME, "\\fname" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FORMFIELD, "\\formfield" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FROMTEXT, "\\fromtext" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNCHOSUNG, "\\ftnnchosung" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNCNUM, "\\ftnncnum" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNDBAR, "\\ftnndbar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNDBNUM, "\\ftnndbnum" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNDBNUMD, "\\ftnndbnumd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNDBNUMK, "\\ftnndbnumk" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNDBNUMT, "\\ftnndbnumt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNGANADA, "\\ftnnganada" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNGBNUM, "\\ftnngbnum" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNGBNUMD, "\\ftnngbnumd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNGBNUMK, "\\ftnngbnumk" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNGBNUML, "\\ftnngbnuml" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNZODIAC, "\\ftnnzodiac" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNZODIACD, "\\ftnnzodiacd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FTNNZODIACL, "\\ftnnzodiacl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_G, "\\g" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_GCW, "\\gcw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_GRIDTBL, "\\gridtbl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HIGHLIGHT, "\\highlight" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HLFR, "\\hlfr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HLINKBASE, "\\hlinkbase" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HLLOC, "\\hlloc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HLSRC, "\\hlsrc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ILVL, "\\ilvl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_IMPR, "\\impr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_JPEGBLIP, "\\jpegblip" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELFOLLOW, "\\levelfollow" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELINDENT, "\\levelindent" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELJC, "\\leveljc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELLEGAL, "\\levellegal" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELNFC, "\\levelnfc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELNORESTART, "\\levelnorestart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELNUMBERS, "\\levelnumbers" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELOLD, "\\levelold" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELPREV, "\\levelprev" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELPREVSPACE, "\\levelprevspace" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELSPACE, "\\levelspace" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELSTARTAT, "\\levelstartat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LEVELTEXT, "\\leveltext" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LINKVAL, "\\linkval" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LIST, "\\list" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTID, "\\listid" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTLEVEL, "\\listlevel" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTNAME, "\\listname" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTOVERRIDE, "\\listoverride" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTOVERRIDECOUNT, "\\listoverridecount" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTOVERRIDEFORMAT, "\\listoverrideformat" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTOVERRIDESTART, "\\listoverridestart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTOVERRIDETABLE, "\\listoverridetable" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTRESTARTHDN, "\\listrestarthdn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTSIMPLE, "\\listsimple" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTTABLE, "\\listtable" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTTEMPLATEID, "\\listtemplateid" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LISTTEXT, "\\listtext" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LS, "\\ls" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LYTEXCTTP, "\\lytexcttp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LYTPRTMET, "\\lytprtmet" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MANAGER, "\\manager" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_MSMCAP, "\\msmcap" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOFCHARSWS, "\\nofcharsws" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOLEAD, "\\nolead" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NONSHPPICT, "\\nonshppict" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOSECTEXPAND, "\\nosectexpand" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOSNAPLINEGRID, "\\nosnaplinegrid" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOSPACEFORUL, "\\nospaceforul" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOULTRLSPC, "\\noultrlspc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOXLATTOYEN, "\\noxlattoyen" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJATTPH, "\\objattph" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJHTML, "\\objhtml" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OBJOCX, "\\objocx" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLDLINEWRAP, "\\oldlinewrap" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OUTLINELEVEL, "\\outlinelevel" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OVERLAY, "\\overlay" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PANOSE, "\\panose" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGBRDRB, "\\pgbrdrb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGBRDRFOOT, "\\pgbrdrfoot" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGBRDRHEAD, "\\pgbrdrhead" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGBRDRL, "\\pgbrdrl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGBRDROPT, "\\pgbrdropt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGBRDRR, "\\pgbrdrr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGBRDRSNAP, "\\pgbrdrsnap" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGBRDRT, "\\pgbrdrt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNCHOSUNG, "\\pgnchosung" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNCNUM, "\\pgncnum" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNDBNUMK, "\\pgndbnumk" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNDBNUMT, "\\pgndbnumt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNGANADA, "\\pgnganada" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNGBNUM, "\\pgngbnum" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNGBNUMD, "\\pgngbnumd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNGBNUMK, "\\pgngbnumk" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNGBNUML, "\\pgngbnuml" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNZODIAC, "\\pgnzodiac" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNZODIACD, "\\pgnzodiacd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGNZODIACL, "\\pgnzodiacl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PICPROP, "\\picprop" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNAIUEO, "\\pnaiueo" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNAIUEOD, "\\pnaiueod" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNCHOSUNG, "\\pnchosung" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNDBNUMD, "\\pndbnumd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNDBNUMK, "\\pndbnumk" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNDBNUML, "\\pndbnuml" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNDBNUMT, "\\pndbnumt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNGANADA, "\\pnganada" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNGBLIP, "\\pngblip" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNGBNUM, "\\pngbnum" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNGBNUMD, "\\pngbnumd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNGBNUMK, "\\pngbnumk" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNGBNUML, "\\pngbnuml" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNRAUTH, "\\pnrauth" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNRDATE, "\\pnrdate" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNRNFC, "\\pnrnfc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNRNOT, "\\pnrnot" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNRPNBR, "\\pnrpnbr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNRRGB, "\\pnrrgb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNRSTART, "\\pnrstart" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNRSTOP, "\\pnrstop" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNRXST, "\\pnrxst" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNZODIAC, "\\pnzodiac" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNZODIACD, "\\pnzodiacd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PNZODIACL, "\\pnzodiacl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LFOLEVEL, "\\lfolevel" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSYIN, "\\posyin" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_POSYOUT, "\\posyout" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PRIVATE, "\\private" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PROPNAME, "\\propname" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PROPTYPE, "\\proptype" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_REVAUTHDEL, "\\revauthdel" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_REVDTTMDEL, "\\revdttmdel" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SAUTOUPD, "\\sautoupd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SECTDEFAULTCL, "\\sectdefaultcl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SECTEXPAND, "\\sectexpand" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SECTLINEGRID, "\\sectlinegrid" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SECTSPECIFYCL, "\\sectspecifycl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SECTSPECIFYL, "\\sectspecifyl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHIDDEN, "\\shidden" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPBOTTOM, "\\shpbottom" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPBXCOLUMN, "\\shpbxcolumn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPBXMARGIN, "\\shpbxmargin" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPBXPAGE, "\\shpbxpage" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPBYMARGIN, "\\shpbymargin" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPBYPAGE, "\\shpbypage" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPBYPARA, "\\shpbypara" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPFBLWTXT, "\\shpfblwtxt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPFHDR, "\\shpfhdr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPGRP, "\\shpgrp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPLEFT, "\\shpleft" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPLID, "\\shplid" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPLOCKANCHOR, "\\shplockanchor" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPPICT, "\\shppict" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPRIGHT, "\\shpright" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPRSLT, "\\shprslt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPTOP, "\\shptop" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPTXT, "\\shptxt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPWRK, "\\shpwrk" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPWR, "\\shpwr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPZ, "\\shpz" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SPRSBSP, "\\sprsbsp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SPRSLNSP, "\\sprslnsp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SPRSTSM, "\\sprstsm" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_STATICVAL, "\\staticval" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_STEXTFLOW, "\\stextflow" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_STRIKED, "\\striked" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SUBFONTBYSIZE, "\\subfontbysize" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TCELLD, "\\tcelld" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TIME, "\\time" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TRUNCATEFONTHEIGHT, "\\truncatefontheight" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_UC, "\\uc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_UD, "\\ud" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULDASH, "\\uldash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULDASHD, "\\uldashd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULDASHDD, "\\uldashdd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULTH, "\\ulth" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULWAVE, "\\ulwave" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULC, "\\ulc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_U, "\\u" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_UPR, "\\upr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_USERPROPS, "\\userprops" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_VIEWKIND, "\\viewkind" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_VIEWSCALE, "\\viewscale" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_VIEWZK, "\\viewzk" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WIDCTLPAR, "\\widctlpar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WINDOWCAPTION, "\\windowcaption" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WPEQN, "\\wpeqn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WPJST, "\\wpjst" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_WPSP, "\\wpsp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_YXE, "\\yxe" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FRMTXLRTB, "\\frmtxlrtb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FRMTXTBRL, "\\frmtxtbrl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FRMTXBTLR, "\\frmtxbtlr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FRMTXLRTBV, "\\frmtxlrtbv" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FRMTXTBRLV, "\\frmtxtbrlv" );
-
-// MS-2000 Tokens
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULTHD, "\\ulthd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULTHDASH, "\\ulthdash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULLDASH, "\\ulldash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULTHLDASH, "\\ulthldash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULTHDASHD, "\\ulthdashd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULTHDASHDD, "\\ulthdashdd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULHWAVE, "\\ulhwave" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ULULDBWAVE, "\\ululdbwave" );
-
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LOCH, "\\loch" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HICH, "\\hich" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DBCH, "\\dbch" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_LANGFE, "\\langfe" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ADEFLANG, "\\adeflang" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ADEFF, "\\adeff" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ACCNONE, "\\accnone" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ACCDOT, "\\accdot" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ACCCOMMA, "\\acccomma" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TWOINONE, "\\twoinone" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HORZVERT, "\\horzvert" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FAHANG, "\\fahang" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FAVAR, "\\favar" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FACENTER, "\\facenter" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FAROMAN, "\\faroman" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FAFIXED, "\\fafixed" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOCWRAP, "\\nocwrap" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_NOOVERFLOW,"\\nooverflow" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_ASPALPHA, "\\aspalpha" );
-
-// SWG spezifische Attribute
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_GRFALIGNV, "\\grfalignv" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_GRFALIGNH, "\\grfalignh" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_GRFMIRROR, "\\grfmirror" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HEADERYB, "\\headeryb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HEADERXL, "\\headerxl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HEADERXR, "\\headerxr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FOOTERYT, "\\footeryt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FOOTERXL, "\\footerxl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FOOTERXR, "\\footerxr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HEADERYH, "\\headeryh" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FOOTERYH, "\\footeryh" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BALANCEDCOLUMN, "\\swcolmnblnc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_UPDNPROP, "\\updnprop" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PRTDATA, "\\prtdata" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BKMKKEY, "\\bkmkkey" );
-
-// Attribute fuer die freifliegenden Rahmen
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLYPRINT, "\\flyprint" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLYOPAQUE, "\\flyopaque" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLYPRTCTD, "\\flyprtctd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLYMAINCNT, "\\flymaincnt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLYVERT, "\\flyvert" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLYHORZ, "\\flyhorz" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DFRMTXTL, "\\dfrmtxtl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DFRMTXTR, "\\dfrmtxtr" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DFRMTXTU, "\\dfrmtxtu" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_DFRMTXTW, "\\dfrmtxtw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLYANCHOR, "\\flyanchor" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLYCNTNT, "\\flycntnt" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLYCOLUMN, "\\flycolumn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLYPAGE, "\\flypage" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_FLYINPARA, "\\flyinpara" );
-
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDBOX, "\\brdbox" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDLNCOL, "\\brdlncol" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDLNIN, "\\brdlnin" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDLNOUT, "\\brdlnout" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_BRDLNDIST, "\\brdlndist" );
-
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHADOW, "\\shadow" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHDWDIST, "\\shdwdist" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHDWSTYLE, "\\shdwstyle" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHDWCOL, "\\shdwcol" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHDWFCOL, "\\shdwfcol" );
-
-
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGDSCTBL, "\\pgdsctbl" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGDSC, "\\pgdsc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGDSCUSE, "\\pgdscuse" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGDSCNXT, "\\pgdscnxt" );
-
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HYPHEN, "\\hyphen" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HYPHLEAD, "\\hyphlead" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HYPHTRAIL, "\\hyphtrail" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_HYPHMAX, "\\hyphmax" );
-
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_TLSWG, "\\tlswg" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGBRK, "\\pgbrk" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_PGDSCNO, "\\pgdscno" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SOUTLVL, "\\soutlvl" );
-
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHP, "\\shp" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SN, "\\sn" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SV, "\\sv" );
-/*
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPLEFT, "\\shpleft" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPTOP, "\\shptop" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPBOTTOM, "\\shpbottom" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_SHPRIGHT, "\\shpright" );
-*/
-
-// Support for overline attributes
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OL, "\\ol" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLD, "\\old" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLDB, "\\oldb" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLNONE, "\\olnone" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLW, "\\olw" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLDASH, "\\oldash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLDASHD, "\\oldashd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLDASHDD, "\\oldashdd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLTH, "\\olth" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLWAVE, "\\olwave" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLC, "\\olc" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLTHD, "\\olthd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLTHDASH, "\\olthdash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLLDASH, "\\olldash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLTHLDASH, "\\olthldash" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLTHDASHD, "\\olthdashd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLTHDASHDD, "\\olthdashdd" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLHWAVE, "\\olhwave" );
-sal_Char const SVTOOLS_CONSTASCII_DEF( sRTF_OLOLDBWAVE, "\\ololdbwave" );
-
-/* vi:set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/svtools/source/svrtf/rtfkeywd.cxx b/svtools/source/svrtf/rtfkeywd.cxx
index 84d8ff6a5cc6..ac10c3982b6e 100644
--- a/svtools/source/svrtf/rtfkeywd.cxx
+++ b/svtools/source/svrtf/rtfkeywd.cxx
@@ -30,8 +30,8 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil -*- */
-#include "rtfkeywd.hxx"
-#include "rtftoken.h"
+#include <svtools/rtfkeywd.hxx>
+#include <svtools/rtftoken.h>
#include "tools/string.hxx"
#include <string.h>
@@ -1160,6 +1160,7 @@ static RTF_TokenEntry __FAR_DATA aRTFTokenTab[] = {
*/
{{OOO_STRING_SVTOOLS_RTF_SN}, RTF_SN},
{{OOO_STRING_SVTOOLS_RTF_SV}, RTF_SV},
+ {{OOO_STRING_SVTOOLS_RTF_SP}, RTF_SP},
// Support for overline attributes
{{OOO_STRING_SVTOOLS_RTF_OL}, RTF_OL},
diff --git a/svtools/source/svrtf/rtfout.cxx b/svtools/source/svrtf/rtfout.cxx
index 1a5ea855c607..3428a339c71f 100644
--- a/svtools/source/svrtf/rtfout.cxx
+++ b/svtools/source/svrtf/rtfout.cxx
@@ -32,8 +32,8 @@
#include <tools/string.hxx>
#include <rtl/string.hxx>
#include <rtl/ustrbuf.hxx>
-#include <rtfkeywd.hxx>
-#include <rtfout.hxx>
+#include <svtools/rtfkeywd.hxx>
+#include <svtools/rtfout.hxx>
using namespace rtl;
diff --git a/svtools/source/table/makefile.mk b/svtools/source/table/makefile.mk
deleted file mode 100644
index cf1adc76fe92..000000000000
--- a/svtools/source/table/makefile.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-ENABLE_EXCEPTIONS=TRUE
-PRJNAME=svtools
-TARGET=table
-#LIBTARGET=NO
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES=\
- $(SLO)$/tablecontrol.obj \
- $(SLO)$/tablecontrol_impl.obj \
- $(SLO)$/gridtablerenderer.obj \
- $(SLO)$/tablegeometry.obj \
- $(SLO)$/defaultinputhandler.obj \
- $(SLO)$/tabledatawindow.obj
-
-#LIB1TARGET= $(SLB)$/$(TARGET).lib
-#LIB1OBJFILES= $(SLOFILES)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/source/toolpanel/makefile.mk b/svtools/source/toolpanel/makefile.mk
deleted file mode 100755
index 58282056f529..000000000000
--- a/svtools/source/toolpanel/makefile.mk
+++ /dev/null
@@ -1,68 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2008 by Sun Microsystems, Inc.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.16 $
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# 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.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=toolpanel
-
-# --- Settings -----------------------------------------------------
-
-ENABLE_EXCEPTIONS=TRUE
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SRS1NAME=$(TARGET)
-SRC1FILES=\
- toolpanel.src
-
-SLOFILES=\
- $(SLO)$/drawerlayouter.obj \
- $(SLO)$/dummypanel.obj \
- $(SLO)$/paneldecklisteners.obj \
- $(SLO)$/paneltabbar.obj \
- $(SLO)$/paneltabbarpeer.obj \
- $(SLO)$/refbase.obj \
- $(SLO)$/tabbargeometry.obj \
- $(SLO)$/tablayouter.obj \
- $(SLO)$/toolpanel.obj \
- $(SLO)$/toolpanelcollection.obj \
- $(SLO)$/toolpaneldrawer.obj \
- $(SLO)$/toolpaneldrawerpeer.obj \
- $(SLO)$/toolpaneldeck.obj \
- $(SLO)$/toolpaneldeckpeer.obj \
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/source/uno/addrtempuno.cxx b/svtools/source/uno/addrtempuno.cxx
index 2f25a8f2f9b2..3ccf83a224f8 100644
--- a/svtools/source/uno/addrtempuno.cxx
+++ b/svtools/source/uno/addrtempuno.cxx
@@ -28,12 +28,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
#include "svtools/genericunodialog.hxx"
-#ifndef _SVT_DOC_ADDRESSTEMPLATE_HXX_
-#include "addresstemplate.hxx"
-#endif
-#ifndef _CPPUHELPER_EXTRACT_HXX_
+#include <svtools/addresstemplate.hxx>
#include <cppuhelper/extract.hxx>
-#endif
#include <cppuhelper/typeprovider.hxx>
#include <comphelper/property.hxx>
#include <com/sun/star/sdbc/XDataSource.hpp>
diff --git a/svtools/source/uno/contextmenuhelper.cxx b/svtools/source/uno/contextmenuhelper.cxx
index 9eb36cf18a45..5b7d7c709509 100644
--- a/svtools/source/uno/contextmenuhelper.cxx
+++ b/svtools/source/uno/contextmenuhelper.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include "contextmenuhelper.hxx"
+#include <svtools/contextmenuhelper.hxx>
#include <svtools/menuoptions.hxx>
#include <svtools/miscopt.hxx>
diff --git a/svtools/source/uno/framestatuslistener.cxx b/svtools/source/uno/framestatuslistener.cxx
index 20176160b396..f7a0540f6eb4 100644
--- a/svtools/source/uno/framestatuslistener.cxx
+++ b/svtools/source/uno/framestatuslistener.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include <framestatuslistener.hxx>
+#include <svtools/framestatuslistener.hxx>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
#include <vos/mutex.hxx>
diff --git a/svtools/source/uno/makefile.mk b/svtools/source/uno/makefile.mk
deleted file mode 100644
index 7c1c44006047..000000000000
--- a/svtools/source/uno/makefile.mk
+++ /dev/null
@@ -1,61 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=unoiface
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/addrtempuno.obj \
- $(SLO)$/contextmenuhelper.obj \
- $(SLO)$/framestatuslistener.obj \
- $(SLO)$/generictoolboxcontroller.obj \
- $(SLO)$/genericunodialog.obj \
- $(SLO)$/miscservices.obj\
- $(SLO)$/statusbarcontroller.obj \
- $(SLO)$/toolboxcontroller.obj \
- $(SLO)$/treecontrolpeer.obj \
- $(SLO)$/unocontroltablemodel.obj \
- $(SLO)$/unoevent.obj \
- $(SLO)$/unoiface.obj \
- $(SLO)$/unoimap.obj \
- $(SLO)$/svtxgridcontrol.obj \
- $(SLO)$/popupwindowcontroller.obj \
- $(SLO)$/popupmenucontrollerbase.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/source/uno/statusbarcontroller.cxx b/svtools/source/uno/statusbarcontroller.cxx
index 14b802a1bf90..8dde75dc7fc3 100644
--- a/svtools/source/uno/statusbarcontroller.cxx
+++ b/svtools/source/uno/statusbarcontroller.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#include <statusbarcontroller.hxx>
+#include <svtools/statusbarcontroller.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
@@ -37,11 +37,9 @@
#include <vcl/svapp.hxx>
#include <vcl/window.hxx>
#include <vcl/status.hxx>
-#include <imgdef.hxx>
+#include <svtools/imgdef.hxx>
#include <svtools/miscopt.hxx>
-#ifndef _TOOLKIT_HELPER_VCLUNOHELPER_HXX_
#include <toolkit/unohlp.hxx>
-#endif
using namespace ::cppu;
using namespace ::com::sun::star::awt;
diff --git a/svtools/source/uno/toolboxcontroller.cxx b/svtools/source/uno/toolboxcontroller.cxx
index 7640c813652f..254dbae12f68 100644
--- a/svtools/source/uno/toolboxcontroller.cxx
+++ b/svtools/source/uno/toolboxcontroller.cxx
@@ -35,12 +35,9 @@
#include <com/sun/star/frame/XLayoutManager.hpp>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include <imgdef.hxx>
+#include <svtools/imgdef.hxx>
#include <svtools/miscopt.hxx>
-
-#ifndef _TOOLKIT_HELPER_VCLUNOHELPER_HXX_
#include <toolkit/unohlp.hxx>
-#endif
#include <vcl/toolbox.hxx>
//shizhobo
#include <com/sun/star/beans/PropertyAttribute.hpp>
diff --git a/svtools/source/uno/treecontrolpeer.cxx b/svtools/source/uno/treecontrolpeer.cxx
index 730d5c8e5a8b..526193aaa97f 100644
--- a/svtools/source/uno/treecontrolpeer.cxx
+++ b/svtools/source/uno/treecontrolpeer.cxx
@@ -1327,12 +1327,12 @@ void TreeControlPeer::setProperty( const ::rtl::OUString& PropertyName, const An
sal_Bool bEnabled = sal_False;
if ( aValue >>= bEnabled )
{
- WinBits nStyle = rTree.GetWindowBits();
+ WinBits nStyle = rTree.GetStyle();
if ( bEnabled )
nStyle |= WB_HIDESELECTION;
else
nStyle &= ~WB_HIDESELECTION;
- rTree.SetWindowBits( nStyle );
+ rTree.SetStyle( nStyle );
}
}
break;
@@ -1390,11 +1390,11 @@ void TreeControlPeer::setProperty( const ::rtl::OUString& PropertyName, const An
sal_Bool bEnabled = false;
if( aValue >>= bEnabled )
{
- WinBits nBits = rTree.GetWindowBits() & (~WB_HASLINES);
+ WinBits nBits = rTree.GetStyle() & (~WB_HASLINES);
if( bEnabled )
nBits |= WB_HASLINES;
- if( nBits != rTree.GetWindowBits() )
- rTree.SetWindowBits( nBits );
+ if( nBits != rTree.GetStyle() )
+ rTree.SetStyle( nBits );
}
break;
}
@@ -1403,11 +1403,11 @@ void TreeControlPeer::setProperty( const ::rtl::OUString& PropertyName, const An
sal_Bool bEnabled = false;
if( aValue >>= bEnabled )
{
- WinBits nBits = rTree.GetWindowBits() & (~WB_HASLINESATROOT);
+ WinBits nBits = rTree.GetStyle() & (~WB_HASLINESATROOT);
if( bEnabled )
nBits |= WB_HASLINESATROOT;
- if( nBits != rTree.GetWindowBits() )
- rTree.SetWindowBits( nBits );
+ if( nBits != rTree.GetStyle() )
+ rTree.SetStyle( nBits );
}
break;
}
@@ -1428,7 +1428,7 @@ Any TreeControlPeer::getProperty( const ::rtl::OUString& PropertyName ) throw(Ru
switch(nPropId)
{
case BASEPROPERTY_HIDEINACTIVESELECTION:
- return Any( ( rTree.GetWindowBits() & WB_HIDESELECTION ) != 0 ? sal_True : sal_False );
+ return Any( ( rTree.GetStyle() & WB_HIDESELECTION ) != 0 ? sal_True : sal_False );
case BASEPROPERTY_TREE_SELECTIONTYPE:
{
@@ -1456,9 +1456,9 @@ Any TreeControlPeer::getProperty( const ::rtl::OUString& PropertyName ) throw(Ru
case BASEPROPERTY_TREE_ROOTDISPLAYED:
return Any( mbIsRootDisplayed );
case BASEPROPERTY_TREE_SHOWSHANDLES:
- return Any( (rTree.GetWindowBits() & WB_HASLINES) != 0 ? sal_True : sal_False );
+ return Any( (rTree.GetStyle() & WB_HASLINES) != 0 ? sal_True : sal_False );
case BASEPROPERTY_TREE_SHOWSROOTHANDLES:
- return Any( (rTree.GetWindowBits() & WB_HASLINESATROOT) != 0 ? sal_True : sal_False );
+ return Any( (rTree.GetStyle() & WB_HASLINESATROOT) != 0 ? sal_True : sal_False );
}
}
return VCLXWindow::getProperty( PropertyName );
@@ -1527,7 +1527,7 @@ UnoTreeListBoxImpl::UnoTreeListBoxImpl( TreeControlPeer* pPeer, Window* pParent,
: SvTreeListBox( pParent, nWinStyle )
, mxPeer( pPeer )
{
- SetWindowBits( WB_BORDER | WB_HASLINES |WB_HASBUTTONS | WB_HASLINESATROOT | WB_HASBUTTONSATROOT | WB_HSCROLL );
+ SetStyle( WB_BORDER | WB_HASLINES |WB_HASBUTTONS | WB_HASLINESATROOT | WB_HASBUTTONSATROOT | WB_HSCROLL );
SetNodeDefaultImages();
SetSelectHdl( LINK(this, UnoTreeListBoxImpl, OnSelectionChangeHdl) );
SetDeselectHdl( LINK(this, UnoTreeListBoxImpl, OnSelectionChangeHdl) );
diff --git a/svtools/source/uno/unoevent.cxx b/svtools/source/uno/unoevent.cxx
index 526cdbb5d03a..0f8bc91d9927 100644
--- a/svtools/source/uno/unoevent.cxx
+++ b/svtools/source/uno/unoevent.cxx
@@ -28,15 +28,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svtools.hxx"
-#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP
#include <com/sun/star/beans/PropertyValue.hpp>
-#endif
#include <rtl/ustrbuf.hxx>
-
-
#include <tools/rtti.hxx>
#include <tools/solar.h>
-#include "unoevent.hxx"
+#include <svtools/unoevent.hxx>
#include <svl/macitem.hxx>
using namespace ::com::sun::star;
diff --git a/svtools/source/uno/unoiface.cxx b/svtools/source/uno/unoiface.cxx
index 662100baa097..f95385c8793b 100644
--- a/svtools/source/uno/unoiface.cxx
+++ b/svtools/source/uno/unoiface.cxx
@@ -31,12 +31,11 @@
#define _SVT_UNOIFACE_CXX
#include <tools/debug.hxx>
#include <vcl/svapp.hxx>
-
#include <svtools/svmedit.hxx>
#include <unoiface.hxx>
-#include "filedlg.hxx"
-#include "filectrl.hxx"
-#include "roadmap.hxx"
+#include <svtools/filedlg.hxx>
+#include <svtools/filectrl.hxx>
+#include <svtools/roadmap.hxx>
#include <svtools/fixedhyper.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
@@ -46,9 +45,8 @@
#include <toolkit/helper/property.hxx>
#include <svtools/fmtfield.hxx>
#include <svl/numuno.hxx>
-#include <calendar.hxx>
-#include <prgsbar.hxx>
-
+#include <svtools/calendar.hxx>
+#include <svtools/prgsbar.hxx>
#include <svtools/svtreebx.hxx>
#include "treecontrolpeer.hxx"
#include "svtxgridcontrol.hxx"
diff --git a/svtools/source/uno/unoimap.cxx b/svtools/source/uno/unoimap.cxx
index e7ce4babf65b..e6a7626b8f4a 100644
--- a/svtools/source/uno/unoimap.cxx
+++ b/svtools/source/uno/unoimap.cxx
@@ -36,23 +36,17 @@
#include <com/sun/star/awt/Rectangle.hpp>
#include <com/sun/star/awt/Point.hpp>
#include <com/sun/star/drawing/PointSequence.hpp>
-
-#ifndef _COMPHELPER_SERVICEHELPER_HXX_
#include <comphelper/servicehelper.hxx>
-#endif
#include <comphelper/propertysethelper.hxx>
#include <comphelper/propertysetinfo.hxx>
#include <cppuhelper/weakagg.hxx>
-
#include <cppuhelper/implbase3.hxx>
-
#include <list>
#include <rtl/uuid.h>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-
-#include "unoevent.hxx"
-#include "unoimap.hxx"
+#include <svtools/unoevent.hxx>
+#include <svtools/unoimap.hxx>
#include <svtools/imap.hxx>
#include <svtools/imapcirc.hxx>
#include <svtools/imaprect.hxx>
diff --git a/svtools/source/uno/wizard/makefile.mk b/svtools/source/uno/wizard/makefile.mk
deleted file mode 100644
index 521496fc5d48..000000000000
--- a/svtools/source/uno/wizard/makefile.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=../../..
-
-PRJNAME=svtools
-TARGET=unowiz
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/unowizard.obj \
- $(SLO)$/wizardshell.obj \
- $(SLO)$/wizardpagecontroller.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/svtools/source/urlobj/inetimg.cxx b/svtools/source/urlobj/inetimg.cxx
index 7dd316a57f81..57d13e865c50 100644
--- a/svtools/source/urlobj/inetimg.cxx
+++ b/svtools/source/urlobj/inetimg.cxx
@@ -31,10 +31,7 @@
#include <sot/formats.hxx>
#include <tools/stream.hxx>
-#ifndef GCC
-#endif
-
-#include "inetimg.hxx"
+#include <svtools/inetimg.hxx>
#define TOKEN_SEPARATOR '\001'
diff --git a/svtools/source/urlobj/makefile.mk b/svtools/source/urlobj/makefile.mk
deleted file mode 100644
index c75e592ea10b..000000000000
--- a/svtools/source/urlobj/makefile.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=urlobj
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/inetimg.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svtools/util/makefile.mk b/svtools/util/makefile.mk
deleted file mode 100644
index 27b46488a16c..000000000000
--- a/svtools/util/makefile.mk
+++ /dev/null
@@ -1,200 +0,0 @@
-#*************************************************************************
-#*
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=svtools
-TARGET=svtool
-RESTARGET=svt
-RESTARGETPATCH=svp
-GEN_HID=TRUE
-GEN_HID_OTHER=TRUE
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-USE_LDUMP2=TRUE
-
-# --- general section ----------------------------------------------------
-
-.IF "$(GUI)"!="UNX"
-LIB2TARGET= $(LB)$/svtool.lib
-LIB2FILES= $(LB)$/_svt.lib
-.ENDIF
-
-LIB1TARGET= $(SLB)/svt.lib
-LIB1FILES= \
- $(SLB)/browse.lib \
- $(SLB)/config.lib \
- $(SLB)/svcontnr.lib \
- $(SLB)/ctrl.lib \
- $(SLB)/dialogs.lib \
- $(SLB)/edit.lib \
- $(SLB)/filter.lib \
- $(SLB)/filter.uno.lib \
- $(SLB)$/graphic.lib \
- $(SLB)/igif.lib \
- $(SLB)/jpeg.lib \
- $(SLB)/ixpm.lib \
- $(SLB)/ixbm.lib \
- $(SLB)/wmf.lib \
- $(SLB)/java.lib \
- $(SLB)/misc.lib \
- $(SLB)/plugapp.lib \
- $(SLB)/svhtml.lib \
- $(SLB)/svrtf.lib \
- $(SLB)/table.lib \
- $(SLB)/unoiface.lib \
- $(SLB)/unowiz.lib \
- $(SLB)/urlobj.lib \
- $(SLB)/toolpanel.lib
-
-# generation of resourcen-lib ----------------------------------------
-
-RESLIB1NAME= $(RESTARGET)
-RESLIB1IMAGES=$(PRJ)$/res
-RESLIB1SRSFILES= \
- $(SRS)$/filter.srs \
- $(SRS)$/misc.srs \
- $(SRS)$/ctrl.srs \
- $(SRS)$/dialogs.srs \
- $(SRS)$/plugapp.srs \
- $(SRS)$/svcontnr.srs \
- $(SRS)$/browse.srs \
- $(SRS)$/toolpanel.srs \
- $(SRS)$/javaerror.srs
-
-RESLIB3NAME= $(RESTARGETPATCH)
-RESLIB3SRSFILES= \
- $(SRS)$/patchjavaerror.srs
-
-# build the shared library --------------------------------------------------
-
-SHL1TARGET= svt$(DLLPOSTFIX)
-SHL1IMPLIB= _svt
-SHL1USE_EXPORTS=name
-
-.IF "$(OS)"!="MACOSX"
-# static libraries
-SHL1STDLIBS+= $(JPEG3RDLIB)
-.ENDIF
-
-# dynamic libraries
-SHL1STDLIBS+= \
- $(TKLIB) \
- $(VCLLIB) \
- $(SVLLIB) \
- $(SOTLIB) \
- $(BASEGFXLIB) \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(I18NISOLANGLIB) \
- $(I18NUTILLIB) \
- $(UCBHELPERLIB) \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(VOSLIB) \
- $(SALLIB) \
- $(ICUUCLIB) \
- $(JVMFWKLIB)
-
-.IF "$(OS)"=="MACOSX"
-# static libraries go at end
-SHL1STDLIBS+= $(JPEG3RDLIB)
-.ENDIF
-
-.IF "$(GUI)"=="WNT"
-SHL1STDLIBS+= \
- $(UWINAPILIB) \
- $(ADVAPI32LIB) \
- $(GDI32LIB) \
- $(OLE32LIB) \
- $(UUIDLIB) \
- $(ADVAPI32LIB) \
- $(OLEAUT32LIB)
-.ENDIF # WNT
-
-SHL1LIBS= \
- $(SLB)$/svt.lib
-
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME= $(SHL1TARGET)
-DEFLIB1NAME =svt
-DEF1DES =SvTools
-
-
-# --- g2g application --------------------------------------------------
-
-APP2TARGET = g2g
-APP2BASE = 0x10000000
-APP2DEPN = $(SHL1TARGETN) $(SHL2TARGETN)
-
-APP2OBJS = $(OBJ)$/g2g.obj
-
-.IF "$(GUI)"!="UNX"
-APP2STDLIBS+= $(SVTOOLLIB)
-.ELSE
-APP2STDLIBS+= -lsvt$(DLLPOSTFIX)
-APP2STDLIBS+= -lsvl$(DLLPOSTFIX)
-.ENDIF
-
-APP2STDLIBS+= $(VCLLIB) \
- $(TOOLSLIB) \
- $(VOSLIB) \
- $(SALLIB)
-
-# --- Targets ------------------------------------------------------
-
-.IF "$(GUI)"=="UNX"
-SVTTARGETS= $(LB)$/lib$(SHL1TARGET)$(DLLPOST)
-.ELSE
-SVTTARGETS= $(BIN)$/$(SHL1TARGET)$(DLLPOST)
-.ENDIF
-
-# just a quick fix - has to be cleaned up some day...
-.IF "$(L10N-framework)"==""
-ALL: $(SLB)$/svt.lib \
- $(MISC)$/$(SHL1TARGET).def \
- $(SVTTARGETS) \
- ALLTAR
-.ENDIF # "$(L10N-framework)"==""
-
-.INCLUDE : target.mk
-
-
-
-ALLTAR : $(MISC)/svt.component
-
-$(MISC)/svt.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- svt.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt svt.component
diff --git a/svtools/workben/cui/makefile.mk b/svtools/workben/cui/makefile.mk
deleted file mode 100644
index 2c7d06682c77..000000000000
--- a/svtools/workben/cui/makefile.mk
+++ /dev/null
@@ -1,60 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=cuidem
-LIBTARGET=NO
-
-TARGETTYPE=CUI
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-OBJFILES= $(OBJ)$/loadlib.obj
-
-APP4TARGET= dllver
-APP4STDLIBS= \
- $(SVTOOLLIB) \
- $(SVLLIB) \
- $(VCLLIB) \
- $(TOOLSLIB) \
- $(VOSLIB) \
- $(SALLIB)
-.IF "$(GUI)"=="WNT" || "$(COM)"=="GCC"
-APP4STDLIBS+= $(CPPULIB)
-.ENDIF
-APP4OBJS= $(OBJ)$/loadlib.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svtools/workben/makefile.mk b/svtools/workben/makefile.mk
deleted file mode 100644
index 9e50208b9ee9..000000000000
--- a/svtools/workben/makefile.mk
+++ /dev/null
@@ -1,69 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=svtools
-TARGET=svdem
-LIBTARGET=NO
-TARGETTYPE=GUI
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-OBJFILES= $(OBJ)$/svdem.obj
-
-APP1TARGET= $(TARGET)
-APP1STDLIBS= $(SVTOOLLIB) \
- $(VCLLIB) \
- $(UNOTOOLSLIB) \
- $(COMPHELPERLIB) \
- $(TOOLSLIB) \
- $(SALLIB) \
- $(VOSLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB)
-
-APP1OBJS= $(OBJ)$/svdem.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-ALLTAR : $(BIN)$/applicat.rdb
-
-$(BIN)$/applicat.rdb : makefile.mk $(UNOUCRRDB)
- rm -f $@
- $(GNUCOPY) $(UNOUCRRDB) $@
- cd $(BIN) && \
- regcomp -register -r applicat.rdb \
- -c i18nsearch.uno$(DLLPOST) \
- -c i18npool.uno$(DLLPOST)
diff --git a/svtools/workben/toolpanel/makefile.mk b/svtools/workben/toolpanel/makefile.mk
deleted file mode 100644
index e64e3cd8eccd..000000000000
--- a/svtools/workben/toolpanel/makefile.mk
+++ /dev/null
@@ -1,110 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2008 by Sun Microsystems, Inc.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.16 $
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# 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.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=toolpaneltest
-TARGETTYPE=GUI
-LIBTARGET=NO
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-CXXFILES= toolpaneltest.cxx
-
-OBJFILES= $(OBJ)$/toolpaneltest.obj
-
-APP1TARGET= $(TARGET)
-APP1OBJS= $(OBJFILES)
-APP1STDLIBS=\
- $(VCLLIB) \
- $(UCBHELPERLIB) \
- $(SALLIB) \
- $(TOOLSLIB) \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(BASEGFXLIB) \
- $(SVTOOLLIB) \
-
-APP1RAPTH=BRAND
-
-.IF "$(GUI)"!="UNX"
-APP1DEF= $(MISC)$/$(TARGET).def
-.ENDIF
-
-.IF "$(COM)"=="GCC"
-ADDOPTFILES=$(OBJ)$/toolpaneltest.obj
-add_cflagscxx="-frtti -fexceptions"
-.ENDIF
-
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
-
-# ------------------------------------------------------------------
-# MAC
-# ------------------------------------------------------------------
-
-.IF "$(GUI)" == "MAC"
-
-$(MISC)$/$(TARGET).def: makefile
- echo Kein Def-File fuer Applikationen auf Mac
-.ENDIF
-
-
-# ------------------------------------------------------------------
-# Windows
-# ------------------------------------------------------------------
-
-.IF "$(GUI)" == "WIN"
-
-$(MISC)$/$(TARGET).def: makefile
- echo NAME $(TARGET) >$@
- echo DESCRIPTION 'ToolPanel - Testprogramm' >>$@
- echo EXETYPE WINDOWS >>$@
- echo STUB 'winSTUB.EXE' >>$@
- echo PROTMODE >>$@
- echo CODE PRELOAD MOVEABLE DISCARDABLE >>$@
- echo DATA PRELOAD MOVEABLE MULTIPLE >>$@
- echo HEAPSIZE 8192 >>$@
- echo STACKSIZE 32768 >>$@
-
-.ENDIF
-
diff --git a/svtools/workben/treecontrol/makefile.mk b/svtools/workben/treecontrol/makefile.mk
deleted file mode 100644
index 2558ed2c9a94..000000000000
--- a/svtools/workben/treecontrol/makefile.mk
+++ /dev/null
@@ -1,91 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=svtools
-TARGET=treetest
-LIBTARGET=NO
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-APP1NOSAL= TRUE
-APP1TARGET= treetest
-APP1OBJS= $(OBJ)$/treetest.obj
-APP1STDLIBS=$(SOTLIB) \
- $(COMPHELPERLIB) \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
-
-# $(SVTOOLLIB) \
-
-APP2DEF= $(MISC)$/treetest.def
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
-
-# ------------------------------------------------------------------
-# Windows
-# ------------------------------------------------------------------
-
-.IF "$(GUI)" == "WIN"
-
-$(MISC)$/treetest.def: makefile.mk
- echo NAME treetest >$@
- echo DESCRIPTION 'StarView - Testprogramm' >>$@
- echo EXETYPE WINDOWS >>$@
- echo STUB 'winSTUB.EXE' >>$@
- echo PROTMODE >>$@
- echo CODE PRELOAD MOVEABLE DISCARDABLE >>$@
- echo DATA PRELOAD MOVEABLE MULTIPLE >>$@
- echo HEAPSIZE 8192 >>$@
- echo STACKSIZE 32768 >>$@
-
-.ENDIF
-
-ALLTAR : $(BIN)$/treetest.rdb
-
-$(BIN)$/treetest.rdb : makefile.mk $(UNOUCRRDB)
- rm -f $@
- $(GNUCOPY) $(UNOUCRRDB) $@
- +cd $(BIN) && \
- regcomp -register -r treetest.rdb \
- -c i18nsearch.uno$(DLLPOST) \
- -c i18npool.uno$(DLLPOST) \
- -c connector.uno$(DLLPOST) \
- -c remotebridge.uno$(DLLPOST) \
- -c bridgefac.uno$(DLLPOST) \
- -c uuresolver.uno$(DLLPOST) \
- -c $(DLLPRE)tk$(DLLPOSTFIX)$(DLLPOST)
diff --git a/svtools/workben/unodialog/makefile.mk b/svtools/workben/unodialog/makefile.mk
deleted file mode 100644
index f18feffce5c3..000000000000
--- a/svtools/workben/unodialog/makefile.mk
+++ /dev/null
@@ -1,90 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-PRJINC=$(PRJ)/inc
-PRJNAME=svtools
-TARGET=udlg
-USE_DEFFILE=TRUE
-
-ENABLE_EXCEPTIONS=TRUE
-VISIBILITY_HIDDEN=TRUE
-
-# --- Settings ----------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files -------------------------------------
-
-# ... resource files ............................
-
-SRS1NAME=$(TARGET)
-SRC1FILES = \
- roadmapskeleton.src
-
-# ... object files ............................
-SLOFILES= $(SLO)$/unodialogsample.obj \
- $(SLO)$/roadmapskeleton.obj \
- $(SLO)$/roadmapskeletonpages.obj \
- $(SLO)$/udlg_module.obj \
- $(SLO)$/udlg_services.obj \
-
-# --- library -----------------------------------
-
-SHL1TARGET=$(TARGET)$(DLLPOSTFIX)
-SHL1VERSIONMAP=$(SOLARENV)/src/component.map
-
-SHL1STDLIBS= \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(COMPHELPERLIB) \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(SALLIB) \
- $(SVTOOLLIB) \
- $(VCLLIB)
-
-SHL1LIBS= $(SLB)$/$(TARGET).lib
-SHL1IMPLIB= i$(TARGET)
-SHL1DEPN= $(SHL1LIBS)
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME= $(SHL1TARGET)
-
-# --- .res files -------------------------------
-
-RES1FILELIST=\
- $(SRS)$/$(TARGET).srs
-
-RESLIB1NAME=$(TARGET)
-RESLIB1IMAGES=$(PRJ)$/res
-RESLIB1SRSFILES=$(RES1FILELIST)
-
-# --- Targets ----------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/svl/source/memtools/makefile.mk b/toolkit/AllLangResTarget_tk.mk
index e19667214d13..571d5dfbff70 100644
--- a/svl/source/memtools/makefile.mk
+++ b/toolkit/AllLangResTarget_tk.mk
@@ -2,7 +2,7 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
+# Copyright 2009 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
#
@@ -14,33 +14,32 @@
#
# 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
+# 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
+# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ=..$/..
+$(eval $(call gb_AllLangResTarget_AllLangResTarget,tk))
-PRJNAME=svl
-TARGET=svarray
+$(eval $(call gb_AllLangResTarget_set_reslocation,tk,toolkit/source/awt))
-# --- Settings -----------------------------------------------------
+$(eval $(call gb_AllLangResTarget_add_srs,tk,\
+ toolkit/awt \
+))
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svl.pmk
+$(eval $(call gb_SrsTarget_SrsTarget,toolkit/awt))
-# --- Files --------------------------------------------------------
-
-SLOFILES=\
- $(SLO)$/svarray.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
+$(eval $(call gb_SrsTarget_set_include,toolkit/awt,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/toolkit/source/awt \
+))
+$(eval $(call gb_SrsTarget_add_files,toolkit/awt,\
+ toolkit/source/awt/xthrobber.src \
+))
diff --git a/toolkit/Library_tk.mk b/toolkit/Library_tk.mk
new file mode 100644
index 000000000000..9d94c76314f1
--- /dev/null
+++ b/toolkit/Library_tk.mk
@@ -0,0 +1,175 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,tk))
+
+$(eval $(call gb_Library_set_componentfile,tk,toolkit/util/tk))
+
+$(eval $(call gb_Library_add_package_headers,tk,toolkit_inc))
+
+#$(eval $(call gb_Library_add_precompiled_header,tk,$(SRCDIR)/toolkit/inc/pch/precompiled_toolkit))
+
+$(eval $(call gb_Library_set_include,tk,\
+ $$(INCLUDE) \
+ -I$(WORKDIR)/inc/toolkit/ \
+ -I$(SRCDIR)/toolkit/inc \
+ -I$(SRCDIR)/toolkit/inc/pch \
+ -I$(SRCDIR)/toolkit/source \
+ -I$(OUTDIR)/inc/toolkit \
+ -I$(OUTDIR)/inc/offuh \
+))
+
+$(eval $(call gb_Library_set_defs,tk,\
+ $$(DEFS) \
+ -DTOOLKIT_DLLIMPLEMENTATION \
+))
+
+$(eval $(call gb_Library_add_linked_libs,tk,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ sal \
+ stl \
+ tl \
+ utl \
+ vcl \
+))
+
+$(eval $(call gb_Library_add_exception_objects,tk,\
+ toolkit/source/awt/asynccallback \
+ toolkit/source/awt/stylesettings \
+ toolkit/source/awt/vclxaccessiblecomponent \
+ toolkit/source/awt/vclxbitmap \
+ toolkit/source/awt/vclxbutton \
+ toolkit/source/awt/vclxcontainer \
+ toolkit/source/awt/vclxdevice \
+ toolkit/source/awt/vclxdialog \
+ toolkit/source/awt/vclxfixedline \
+ toolkit/source/awt/vclxfont \
+ toolkit/source/awt/vclxgraphics \
+ toolkit/source/awt/vclxmenu \
+ toolkit/source/awt/vclxplugin \
+ toolkit/source/awt/vclxpointer \
+ toolkit/source/awt/vclxprinter \
+ toolkit/source/awt/vclxregion \
+ toolkit/source/awt/vclxscroller \
+ toolkit/source/awt/vclxspinbutton \
+ toolkit/source/awt/vclxsplitter \
+ toolkit/source/awt/vclxsystemdependentwindow \
+ toolkit/source/awt/vclxtabcontrol \
+ toolkit/source/awt/vclxtabpage \
+ toolkit/source/awt/vclxtoolkit \
+ toolkit/source/awt/vclxtopwindow \
+ toolkit/source/awt/vclxwindow \
+ toolkit/source/awt/vclxwindow1 \
+ toolkit/source/awt/vclxwindows \
+ toolkit/source/awt/xsimpleanimation \
+ toolkit/source/awt/xthrobber \
+ toolkit/source/controls/accessiblecontrolcontext \
+ toolkit/source/controls/dialogcontrol \
+ toolkit/source/controls/eventcontainer \
+ toolkit/source/controls/formattedcontrol \
+ toolkit/source/controls/geometrycontrolmodel \
+ toolkit/source/controls/grid/defaultgridcolumnmodel \
+ toolkit/source/controls/grid/defaultgriddatamodel \
+ toolkit/source/controls/grid/gridcolumn \
+ toolkit/source/controls/grid/gridcontrol \
+ toolkit/source/controls/roadmapcontrol \
+ toolkit/source/controls/roadmapentry \
+ toolkit/source/controls/stdtabcontroller \
+ toolkit/source/controls/stdtabcontrollermodel \
+ toolkit/source/controls/tkscrollbar \
+ toolkit/source/controls/tksimpleanimation \
+ toolkit/source/controls/tkspinbutton \
+ toolkit/source/controls/tkthrobber \
+ toolkit/source/controls/tree/treecontrol \
+ toolkit/source/controls/tree/treedatamodel \
+ toolkit/source/controls/unocontrol \
+ toolkit/source/controls/unocontrolbase \
+ toolkit/source/controls/unocontrolcontainer \
+ toolkit/source/controls/unocontrolcontainermodel \
+ toolkit/source/controls/unocontrolmodel \
+ toolkit/source/controls/unocontrols \
+ toolkit/source/helper/accessibilityclient \
+ toolkit/source/helper/externallock \
+ toolkit/source/helper/fixedhyperbase \
+ toolkit/source/helper/formpdfexport \
+ toolkit/source/helper/imagealign \
+ toolkit/source/helper/listenermultiplexer \
+ toolkit/source/helper/property \
+ toolkit/source/helper/registerservices \
+ toolkit/source/helper/servicenames \
+ toolkit/source/helper/throbberimpl \
+ toolkit/source/helper/tkresmgr \
+ toolkit/source/helper/unomemorystream \
+ toolkit/source/helper/unopropertyarrayhelper \
+ toolkit/source/helper/unowrapper \
+ toolkit/source/helper/vclunohelper \
+ toolkit/source/layout/core/bin \
+ toolkit/source/layout/core/box \
+ toolkit/source/layout/core/box-base \
+ toolkit/source/layout/core/byteseq \
+ toolkit/source/layout/core/container \
+ toolkit/source/layout/core/dialogbuttonhbox \
+ toolkit/source/layout/core/factory \
+ toolkit/source/layout/core/flow \
+ toolkit/source/layout/core/helper \
+ toolkit/source/layout/core/import \
+ toolkit/source/layout/core/localized-string \
+ toolkit/source/layout/core/proplist \
+ toolkit/source/layout/core/root \
+ toolkit/source/layout/core/table \
+ toolkit/source/layout/core/timer \
+ toolkit/source/layout/core/translate \
+ toolkit/source/layout/core/vcl \
+ toolkit/source/layout/vcl/wbutton \
+ toolkit/source/layout/vcl/wcontainer \
+ toolkit/source/layout/vcl/wfield \
+ toolkit/source/layout/vcl/wrapper \
+))
+
+ifeq ($(GUIBASE),aqua)
+$(eval $(call gb_Library_set_cxxflags,tk,\
+ $$(CXXFLAGS) $(gb_OBJCXXFLAGS)))
+endif
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,tk,\
+ X11 \
+ dl \
+ m \
+ pthread \
+))
+endif
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,tk,\
+ kernel32 \
+ msvcrt \
+ uwinapi \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/toolkit/Makefile b/toolkit/Makefile
new file mode 100644
index 000000000000..a79aff831024
--- /dev/null
+++ b/toolkit/Makefile
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+ifeq ($(strip $(SOLARENV)),)
+$(error No environment set!)
+endif
+
+gb_PARTIALBUILD := T
+GBUILDDIR := $(SOLARENV)/gbuild
+include $(GBUILDDIR)/gbuild.mk
+
+$(eval $(call gb_Module_make_global_targets,$(shell ls $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/Module*.mk)))
+
+# vim: set noet sw=4 ts=4:
diff --git a/toolkit/Module_toolkit.mk b/toolkit/Module_toolkit.mk
new file mode 100644
index 000000000000..666fd44a6db3
--- /dev/null
+++ b/toolkit/Module_toolkit.mk
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Module_Module,toolkit))
+
+$(eval $(call gb_Module_add_targets,toolkit,\
+ AllLangResTarget_tk \
+ Library_tk \
+ Package_inc \
+ Package_source \
+ Package_util \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/toolkit/Package_inc.mk b/toolkit/Package_inc.mk
new file mode 100644
index 000000000000..3fc23a5b9f1f
--- /dev/null
+++ b/toolkit/Package_inc.mk
@@ -0,0 +1,68 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Package_Package,toolkit_inc,$(SRCDIR)/toolkit/inc))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/layout/layout-post.hxx,layout/layout-post.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/layout/layout-pre.hxx,layout/layout-pre.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/layout/layout.hxx,layout/layout.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/awt/vclxaccessiblecomponent.hxx,toolkit/awt/vclxaccessiblecomponent.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/awt/vclxcontainer.hxx,toolkit/awt/vclxcontainer.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/awt/vclxdevice.hxx,toolkit/awt/vclxdevice.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/awt/vclxfont.hxx,toolkit/awt/vclxfont.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/awt/vclxmenu.hxx,toolkit/awt/vclxmenu.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/awt/vclxsystemdependentwindow.hxx,toolkit/awt/vclxsystemdependentwindow.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/awt/vclxtoolkit.hxx,toolkit/awt/vclxtoolkit.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/awt/vclxtopwindow.hxx,toolkit/awt/vclxtopwindow.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/awt/vclxwindow.hxx,toolkit/awt/vclxwindow.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/awt/vclxwindows.hxx,toolkit/awt/vclxwindows.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/controls/unocontrol.hxx,toolkit/controls/unocontrol.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/controls/unocontrolbase.hxx,toolkit/controls/unocontrolbase.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/controls/unocontrolmodel.hxx,toolkit/controls/unocontrolmodel.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/controls/unocontrols.hxx,toolkit/controls/unocontrols.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/dllapi.h,toolkit/dllapi.h))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/accessibilityclient.hxx,toolkit/helper/accessibilityclient.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/accessiblefactory.hxx,toolkit/helper/accessiblefactory.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/convert.hxx,toolkit/helper/convert.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/emptyfontdescriptor.hxx,toolkit/helper/emptyfontdescriptor.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/externallock.hxx,toolkit/helper/externallock.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/fixedhyperbase.hxx,toolkit/helper/fixedhyperbase.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/formpdfexport.hxx,toolkit/helper/formpdfexport.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/imagealign.hxx,toolkit/helper/imagealign.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/listenermultiplexer.hxx,toolkit/helper/listenermultiplexer.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/macros.hxx,toolkit/helper/macros.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/mutexandbroadcasthelper.hxx,toolkit/helper/mutexandbroadcasthelper.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/mutexhelper.hxx,toolkit/helper/mutexhelper.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/property.hxx,toolkit/helper/property.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/servicenames.hxx,toolkit/helper/servicenames.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/solarrelease.hxx,toolkit/helper/solarrelease.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/throbberimpl.hxx,toolkit/helper/throbberimpl.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/tkresmgr.hxx,toolkit/helper/tkresmgr.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/unomemorystream.hxx,toolkit/helper/unomemorystream.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/unopropertyarrayhelper.hxx,toolkit/helper/unopropertyarrayhelper.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/unowrapper.hxx,toolkit/helper/unowrapper.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/helper/vclunohelper.hxx,toolkit/helper/vclunohelper.hxx))
+$(eval $(call gb_Package_add_file,toolkit_inc,inc/toolkit/unohlp.hxx,toolkit/helper/vclunohelper.hxx))
diff --git a/toolkit/Package_source.mk b/toolkit/Package_source.mk
new file mode 100644
index 000000000000..41f46138df2b
--- /dev/null
+++ b/toolkit/Package_source.mk
@@ -0,0 +1,47 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Package_Package,toolkit_source,$(SRCDIR)/toolkit/source))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/bin.hxx,layout/core/bin.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/box-base.hxx,layout/core/box-base.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/box.hxx,layout/core/box.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/container.hxx,layout/core/container.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/dialogbuttonhbox.hxx,layout/core/dialogbuttonhbox.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/factory.hxx,layout/core/factory.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/flow.hxx,layout/core/flow.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/helper.hxx,layout/core/helper.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/import.hxx,layout/core/import.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/localized-string.hxx,layout/core/localized-string.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/precompiled_xmlscript.hxx,layout/core/precompiled_xmlscript.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/proplist.hxx,layout/core/proplist.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/root.hxx,layout/core/root.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/table.hxx,layout/core/table.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/timer.hxx,layout/core/timer.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/translate.hxx,layout/core/translate.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/core/vcl.hxx,layout/core/vcl.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/layout/vcl/wrapper.hxx,layout/vcl/wrapper.hxx))
+$(eval $(call gb_Package_add_file,toolkit_source,inc/toolkit/awt/vclxdialog.hxx,awt/vclxdialog.hxx))
diff --git a/toolkit/Package_util.mk b/toolkit/Package_util.mk
new file mode 100644
index 000000000000..990248eb142d
--- /dev/null
+++ b/toolkit/Package_util.mk
@@ -0,0 +1,29 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Package_Package,toolkit_util,$(SRCDIR)/toolkit/util))
+$(eval $(call gb_Package_add_file,toolkit_util,xml/toolkit.xml,toolkit.xml))
diff --git a/toolkit/inc/makefile.mk b/toolkit/inc/makefile.mk
deleted file mode 100644
index 41100071a4d8..000000000000
--- a/toolkit/inc/makefile.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..
-
-PRJNAME=toolkit
-TARGET=inc
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-.IF "$(ENABLE_PCH)"!=""
-ALLTAR : \
- $(SLO)$/precompiled.pch \
- $(SLO)$/precompiled_ex.pch
-
-.ENDIF # "$(ENABLE_PCH)"!=""
-
diff --git a/toolkit/prj/build.lst b/toolkit/prj/build.lst
index f4854de8e0c4..7b6fd72c3ab0 100644
--- a/toolkit/prj/build.lst
+++ b/toolkit/prj/build.lst
@@ -1,22 +1,2 @@
-ti toolkit : vcl NULL
-ti toolkit usr1 - all ti_mkout NULL
-ti toolkit\prj get - all ti_prj NULL
-ti toolkit\inc nmake - all ti_inc NULL
-ti toolkit\uiconfig\layout nmake - all ti_uiconfig_layout NULL
-ti toolkit\source\helper nmake - all ti_helper ti_inc NULL
-ti toolkit\source\awt nmake - all ti_awt ti_inc NULL
-ti toolkit\source\controls nmake - all ti_controls ti_inc NULL
-ti toolkit\source\controls\tree nmake - all ti_tree NULL
-ti toolkit\source\controls\grid nmake - all ti_grid NULL
-ti toolkit\source\layout\core nmake - all ti_layout_core NULL
-ti toolkit\source\layout\vcl nmake - all ti_layout_vcl NULL
-ti toolkit\util nmake - all ti_util ti_awt ti_controls ti_layout_core ti_helper ti_tree ti_grid ti_layout_vcl NULL
-
-ti toolkit\qa\unoapi nmake - all ti_qa_unoapi NULL
-
-
-# fail on unxsoli4
-#ti toolkit\qa\complex\xunitconversion nmake - all ti_complex_conv ti_util NULL
-
-# fails
-# ti toolkit\qa\complex\toolkit nmake - all ti_complex_ti ti_qa_complex_toolkit_interface_tests ti_util NULL
+ti toolkit : LIBXSLT:libxslt vcl NULL
+ti toolkit\prj nmake - all ti_prj NULL
diff --git a/toolkit/prj/d.lst b/toolkit/prj/d.lst
index 01eb5026e401..e69de29bb2d1 100644
--- a/toolkit/prj/d.lst
+++ b/toolkit/prj/d.lst
@@ -1,66 +0,0 @@
-mkdir: %COMMON_DEST%\bin%_EXT%\hid
-mkdir: %_DEST%\inc%_EXT%\toolkit
-mkdir: %_DEST%\inc%_EXT%\toolkit\helper
-mkdir: %_DEST%\inc%_EXT%\toolkit\awt
-mkdir: %_DEST%\inc%_EXT%\toolkit\controls
-
-..\%COMMON_OUTDIR%\misc\*.hid %COMMON_DEST%\bin%_EXT%\hid\*.hid
-..\%__SRC%\lib\itk.lib %_DEST%\lib%_EXT%\itk.lib
-..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%
-..\%__SRC%\lib\*.sl %_DEST%\lib%_EXT%\*.sl
-..\%__SRC%\lib\*.a %_DEST%\lib%_EXT%\*.a
-..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
-..\%__SRC%\bin\tk*.res %_DEST%\bin%_EXT%\tk*res
-..\%__SRC%\bin\tk?????.sym %_DEST%\bin%_EXT%\tk?????.sym
-..\%__SRC%\bin\tk?????.dll %_DEST%\bin%_EXT%\tk?????.dll
-..\%__SRC%\misc\tk?????.map %_DEST%\bin%_EXT%\tk?????.map
-
-..\util\toolkit.xml %_DEST%\xml%_EXT%\toolkit.xml
-
-..\inc\toolkit\awt\vclxaccessiblecomponent.hxx %_DEST%\inc%_EXT%\toolkit\awt\vclxaccessiblecomponent.hxx
-..\inc\toolkit\awt\vclxcontainer.hxx %_DEST%\inc%_EXT%\toolkit\awt\vclxcontainer.hxx
-..\inc\toolkit\awt\vclxdevice.hxx %_DEST%\inc%_EXT%\toolkit\awt\vclxdevice.hxx
-..\inc\toolkit\awt\vclxfont.hxx %_DEST%\inc%_EXT%\toolkit\awt\vclxfont.hxx
-..\inc\toolkit\awt\vclxtopwindow.hxx %_DEST%\inc%_EXT%\toolkit\awt\vclxtopwindow.hxx
-..\inc\toolkit\awt\vclxtoolkit.hxx %_DEST%\inc%_EXT%\toolkit\awt\vclxtoolkit.hxx
-..\inc\toolkit\awt\vclxwindow.hxx %_DEST%\inc%_EXT%\toolkit\awt\vclxwindow.hxx
-..\inc\toolkit\awt\vclxsystemdependentwindow.hxx %_DEST%\inc%_EXT%\toolkit\awt\vclxsystemdependentwindow.hxx
-..\source\awt\vclxdialog.hxx %_DEST%\inc%_EXT%\toolkit\awt\vclxdialog.hxx
-..\inc\toolkit\awt\vclxwindows.hxx %_DEST%\inc%_EXT%\toolkit\awt\vclxwindows.hxx
-..\inc\toolkit\awt\vclxmenu.hxx %_DEST%\inc%_EXT%\toolkit\awt\vclxmenu.hxx
-
-..\inc\toolkit\controls\unocontrol.hxx %_DEST%\inc%_EXT%\toolkit\controls\unocontrol.hxx
-..\inc\toolkit\controls\unocontrols.hxx %_DEST%\inc%_EXT%\toolkit\controls\unocontrols.hxx
-..\inc\toolkit\controls\unocontrolmodel.hxx %_DEST%\inc%_EXT%\toolkit\controls\unocontrolmodel.hxx
-..\inc\toolkit\controls\unocontrolbase.hxx %_DEST%\inc%_EXT%\toolkit\controls\unocontrolbase.hxx
-..\inc\toolkit\helper\servicenames.hxx %_DEST%\inc%_EXT%\toolkit\helper\servicenames.hxx
-
-..\inc\toolkit\helper\emptyfontdescriptor.hxx %_DEST%\inc%_EXT%\toolkit\helper\emptyfontdescriptor.hxx
-..\inc\toolkit\helper\vclunohelper.hxx %_DEST%\inc%_EXT%\toolkit\helper\vclunohelper.hxx
-..\inc\toolkit\helper\convert.hxx %_DEST%\inc%_EXT%\toolkit\helper\convert.hxx
-..\inc\toolkit\helper\property.hxx %_DEST%\inc%_EXT%\toolkit\helper\property.hxx
-..\inc\toolkit\helper\macros.hxx %_DEST%\inc%_EXT%\toolkit\helper\macros.hxx
-..\inc\toolkit\helper\mutexhelper.hxx %_DEST%\inc%_EXT%\toolkit\helper\mutexhelper.hxx
-..\inc\toolkit\helper\mutexandbroadcasthelper.hxx %_DEST%\inc%_EXT%\toolkit\helper\mutexandbroadcasthelper.hxx
-..\inc\toolkit\helper\listenermultiplexer.hxx %_DEST%\inc%_EXT%\toolkit\helper\listenermultiplexer.hxx
-..\inc\toolkit\helper\unowrapper.hxx %_DEST%\inc%_EXT%\toolkit\helper\unowrapper.hxx
-..\inc\toolkit\helper\externallock.hxx %_DEST%\inc%_EXT%\toolkit\helper\externallock.hxx
-..\inc\toolkit\helper\formpdfexport.hxx %_DEST%\inc%_EXT%\toolkit\helper/formpdfexport.hxx
-..\inc\toolkit\helper\accessiblefactory.hxx %_DEST%\inc%_EXT%\toolkit\helper\accessiblefactory.hxx
-..\inc\toolkit\helper\fixedhyperbase.hxx %_DEST%\inc%_EXT%\toolkit\helper\fixedhyperbase.hxx
-..\inc\toolkit\helper\unopropertyarrayhelper.hxx %_DEST%\inc%_EXT%\toolkit\helper\unopropertyarrayhelper.hxx
-
-..\inc\toolkit\helper\vclunohelper.hxx %_DEST%\inc%_EXT%\toolkit\unohlp.hxx
-..\inc\toolkit\dllapi.h %_DEST%\inc%_EXT%\toolkit\dllapi.h
-
-mkdir: %_DEST%\inc%_EXT%\layout
-..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
-
-..\inc\layout\*.hxx %_DEST%\inc%_EXT%\layout\*.hxx
-mkdir: %_DEST%\inc%_EXT%\layout\core
-..\source\layout\core\*.hxx %_DEST%\inc%_EXT%\layout\core\*.hxx
-mkdir: %_DEST%\inc%_EXT%\layout\vcl
-..\source\layout\vcl\*.hxx %_DEST%\inc%_EXT%\layout\vcl\*.hxx
-
-..\%__SRC%\bin\*-layout.zip %_DEST%\pck%_EXT%\*.*
-..\%__SRC%\misc\tk.component %_DEST%\xml%_EXT%\tk.component
diff --git a/svtools/source/filter.vcl/ixpm/makefile.mk b/toolkit/prj/makefile.mk
index 98f93290d325..c73a3d944bbf 100644
--- a/svtools/source/filter.vcl/ixpm/makefile.mk
+++ b/toolkit/prj/makefile.mk
@@ -25,19 +25,16 @@
#
#*************************************************************************
-PRJ=..$/..$/..
+PRJ=..
+TARGET=prj
-PRJNAME=svtools
-TARGET=ixpm
+.INCLUDE : settings.mk
-# --- Settings -----------------------------------------------------
+.IF "$(VERBOSE)"!=""
+VERBOSEFLAG :=
+.ELSE
+VERBOSEFLAG := -s
+.ENDIF
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-SOLARINC+=-I../../inc
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/xpmread.obj
-
-.INCLUDE : target.mk
+all:
+ cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET)
diff --git a/toolkit/qa/complex/toolkit/interface_tests/makefile.mk b/toolkit/qa/complex/toolkit/interface_tests/makefile.mk
deleted file mode 100755
index 7d8c4c951d4e..000000000000
--- a/toolkit/qa/complex/toolkit/interface_tests/makefile.mk
+++ /dev/null
@@ -1,57 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ = ../../../..
-TARGET = Toolkit
-PRJNAME = $(TARGET)
-PACKAGE = complex/toolkit/interface_tests
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = _XAccessibleComponent.java \
- _XAccessibleContext.java \
- _XAccessibleExtendedComponent.java \
- _XAccessibleEventBroadcaster.java \
- _XAccessibleText.java \
- _XRequestCallback.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)/$(PACKAGE)/$(i:b).class)
-
-# --- Targets ------------------------------------------------------
-
-.IF "$(depend)" == ""
-ALL : ALLTAR
-.ELSE
-ALL: ALLDEP
-.ENDIF
-
-.INCLUDE : target.mk
-
diff --git a/toolkit/qa/complex/toolkit/makefile.mk b/toolkit/qa/complex/toolkit/makefile.mk
deleted file mode 100755
index 70918d602624..000000000000
--- a/toolkit/qa/complex/toolkit/makefile.mk
+++ /dev/null
@@ -1,120 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../../..
-PRJNAME = toolkit
-TARGET = qa_complex_toolkit
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/toolkit
-
-JAVATESTFILES = CheckAccessibleStatusBar.java \
- CheckAccessibleStatusBarItem.java \
- CheckAsyncCallback.java \
- CallbackClass.java
-
-JAVAFILES = $(JAVATESTFILES) \
- _XAccessibleComponent.java \
- _XAccessibleContext.java \
- _XAccessibleEventBroadcaster.java \
- _XAccessibleExtendedComponent.java \
- _XAccessibleText.java \
- _XRequestCallback.java
-
-JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
-EXTRAJARFILES = $(OOO_JUNIT_JAR)
-
-.END
-
-.INCLUDE: settings.mk
-.INCLUDE: target.mk
-.INCLUDE: installationtest.mk
-
-ALLTAR : javatest
-
-.END
-
-
-# PRJ = ..$/..$/..
-# TARGET = Toolkit
-# PRJNAME = $(TARGET)
-# PACKAGE = complex$/toolkit
-#
-# # --- Settings -----------------------------------------------------
-# .INCLUDE: settings.mk
-#
-#
-# #----- compile .java files -----------------------------------------
-#
-# JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-# JAVAFILES = CheckAccessibleStatusBar.java CheckAccessibleStatusBarItem.java CheckAsyncCallback.java CallbackClass.java
-# JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-# SUBDIRS = interface_tests
-#
-# #----- make a jar from compiled files ------------------------------
-#
-# MAXLINELENGTH = 100000
-#
-# JARCLASSDIRS = $(PACKAGE)
-# JARTARGET = $(TARGET).jar
-# JARCOMPRESS = TRUE
-#
-# # --- Parameters for the test --------------------------------------
-#
-# # start an office if the parameter is set for the makefile
-# .IF "$(OFFICE)" == ""
-# CT_APPEXECCOMMAND =
-# .ELSE
-# CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;"
-# .ENDIF
-#
-# # test base is java complex
-# CT_TESTBASE = -tb java_complex
-#
-# # build up package name with "." instead of $/
-# CT_PACKAGE = -o $(PACKAGE:s\$/\.\)
-#
-# # start the runner application
-# CT_APP = org.openoffice.Runner
-#
-# # --- Targets ------------------------------------------------------
-#
-# .INCLUDE : target.mk
-#
-# run: \
-# CheckAccessibleStatusBarItem
-#
-# CheckAccessibleStatusBar:
-# +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_PACKAGE).CheckAccessibleStatusBar
-#
-# CheckAccessibleStatusBarItem:
-# +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_PACKAGE).CheckAccessibleStatusBarItem
-#
diff --git a/toolkit/qa/complex/xunitconversion/makefile.mk b/toolkit/qa/complex/xunitconversion/makefile.mk
deleted file mode 100644
index bc5a0e7c5949..000000000000
--- a/toolkit/qa/complex/xunitconversion/makefile.mk
+++ /dev/null
@@ -1,52 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../../..
-PRJNAME = sc
-TARGET = qa_complex_xunitconversiontest
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/xunitconversion
-
-JAVATESTFILES = \
- XUnitConversionTest.java
-JAVAFILES = $(JAVATESTFILES)
-JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
-EXTRAJARFILES = $(OOO_JUNIT_JAR)
-.END
-
-.INCLUDE: settings.mk
-.INCLUDE: target.mk
-.INCLUDE: installationtest.mk
-
-ALLTAR : javatest
-
-.END
diff --git a/toolkit/qa/unoapi/makefile.mk b/toolkit/qa/unoapi/makefile.mk
deleted file mode 100644
index 9517601c3917..000000000000
--- a/toolkit/qa/unoapi/makefile.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-#*************************************************************************
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#***********************************************************************/
-
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../..
-PRJNAME = toolkit
-TARGET = qa_unoapi
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = org/openoffice/toolkit/qa/unoapi
-JAVATESTFILES = Test.java
-JAVAFILES = $(JAVATESTFILES)
-JARFILES = OOoRunner.jar ridl.jar test.jar
-EXTRAJARFILES = $(OOO_JUNIT_JAR)
-.END
-
-.INCLUDE: settings.mk
-.INCLUDE: target.mk
-.INCLUDE: installationtest.mk
-
-ALLTAR : javatest
-
-.END
diff --git a/toolkit/source/awt/makefile.mk b/toolkit/source/awt/makefile.mk
deleted file mode 100644
index 88b40a597410..000000000000
--- a/toolkit/source/awt/makefile.mk
+++ /dev/null
@@ -1,84 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=toolkit
-TARGET=awt
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-.IF "$(GUIBASE)"=="aqua"
-CFLAGSCXX+=$(OBJCXXFLAGS)
-.ENDIF # "$(GUIBASE)"=="aqua"
-
-SLOFILES= \
- $(SLO)$/stylesettings.obj \
- $(SLO)$/vclxaccessiblecomponent.obj \
- $(SLO)$/vclxbitmap.obj \
- $(SLO)$/vclxcontainer.obj \
- $(SLO)$/vclxdevice.obj \
- $(SLO)$/vclxfont.obj \
- $(SLO)$/vclxgraphics.obj \
- $(SLO)$/vclxmenu.obj \
- $(SLO)$/vclxpointer.obj \
- $(SLO)$/vclxprinter.obj \
- $(SLO)$/vclxregion.obj \
- $(SLO)$/vclxsystemdependentwindow.obj \
- $(SLO)$/vclxtoolkit.obj \
- $(SLO)$/vclxtopwindow.obj \
- $(SLO)$/vclxwindow.obj \
- $(SLO)$/vclxwindow1.obj \
- $(SLO)$/vclxwindows.obj \
- $(SLO)$/vclxspinbutton.obj \
- $(SLO)$/xsimpleanimation.obj \
- $(SLO)$/xthrobber.obj \
- $(SLO)$/asynccallback.obj\
- $(SLO)/vclxbutton.obj\
- $(SLO)/vclxdialog.obj\
- $(SLO)/vclxfixedline.obj\
- $(SLO)/vclxplugin.obj\
- $(SLO)/vclxscroller.obj\
- $(SLO)/vclxsplitter.obj\
- $(SLO)/vclxtabcontrol.obj\
- $(SLO)/vclxtabpage.obj
-
-SRS1NAME=$(TARGET)
-SRC1FILES=\
- xthrobber.src
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/toolkit/source/controls/grid/makefile.mk b/toolkit/source/controls/grid/makefile.mk
deleted file mode 100644
index 70bfc34b9d02..000000000000
--- a/toolkit/source/controls/grid/makefile.mk
+++ /dev/null
@@ -1,50 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-
-PRJNAME=toolkit
-TARGET=grid
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/gridcontrol.obj\
- $(SLO)$/defaultgriddatamodel.obj\
- $(SLO)$/defaultgridcolumnmodel.obj\
- $(SLO)$/gridcolumn.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/toolkit/source/controls/makefile.mk b/toolkit/source/controls/makefile.mk
deleted file mode 100644
index 1ce9f7b22c8c..000000000000
--- a/toolkit/source/controls/makefile.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=toolkit
-TARGET=controls
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/accessiblecontrolcontext.obj \
- $(SLO)$/geometrycontrolmodel.obj \
- $(SLO)$/eventcontainer.obj \
- $(SLO)$/stdtabcontroller.obj \
- $(SLO)$/stdtabcontrollermodel.obj \
- $(SLO)$/unocontrol.obj \
- $(SLO)$/unocontrolbase.obj \
- $(SLO)$/unocontrolcontainer.obj \
- $(SLO)$/unocontrolcontainermodel.obj \
- $(SLO)$/unocontrolmodel.obj \
- $(SLO)$/unocontrols.obj \
- $(SLO)$/formattedcontrol.obj \
- $(SLO)$/roadmapcontrol.obj \
- $(SLO)$/roadmapentry.obj \
- $(SLO)$/dialogcontrol.obj \
- $(SLO)$/tkscrollbar.obj \
- $(SLO)$/tkspinbutton.obj \
- $(SLO)$/tksimpleanimation.obj \
- $(SLO)$/tkthrobber.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/toolkit/source/controls/tree/makefile.mk b/toolkit/source/controls/tree/makefile.mk
deleted file mode 100644
index 4e72b62b416b..000000000000
--- a/toolkit/source/controls/tree/makefile.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-
-PRJNAME=toolkit
-TARGET=tree
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/treecontrol.obj\
- $(SLO)$/treedatamodel.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/toolkit/source/controls/unocontrols.cxx b/toolkit/source/controls/unocontrols.cxx
index 0648c75329ce..7f71260be239 100644
--- a/toolkit/source/controls/unocontrols.cxx
+++ b/toolkit/source/controls/unocontrols.cxx
@@ -592,7 +592,7 @@ void SAL_CALL GraphicControlModel::setFastPropertyValue_NoBroadcast( sal_Int32 n
mbAdjustingGraphic = true;
::rtl::OUString sImageURL;
OSL_VERIFY( rValue >>= sImageURL );
- setPropertyValue( GetPropertyName( BASEPROPERTY_GRAPHIC ), uno::makeAny( getGraphicFromURL_nothrow( sImageURL ) ) );
+ setDependentFastPropertyValue( BASEPROPERTY_GRAPHIC, uno::makeAny( getGraphicFromURL_nothrow( sImageURL ) ) );
mbAdjustingGraphic = false;
}
break;
@@ -601,7 +601,7 @@ void SAL_CALL GraphicControlModel::setFastPropertyValue_NoBroadcast( sal_Int32 n
if ( !mbAdjustingGraphic && ImplHasProperty( BASEPROPERTY_IMAGEURL ) )
{
mbAdjustingGraphic = true;
- setPropertyValue( GetPropertyName( BASEPROPERTY_IMAGEURL ), uno::makeAny( ::rtl::OUString() ) );
+ setDependentFastPropertyValue( BASEPROPERTY_IMAGEURL, uno::makeAny( ::rtl::OUString() ) );
mbAdjustingGraphic = false;
}
break;
@@ -612,7 +612,7 @@ void SAL_CALL GraphicControlModel::setFastPropertyValue_NoBroadcast( sal_Int32 n
mbAdjustingImagePosition = true;
sal_Int16 nUNOValue = 0;
OSL_VERIFY( rValue >>= nUNOValue );
- setPropertyValue( GetPropertyName( BASEPROPERTY_IMAGEPOSITION ), uno::makeAny( getExtendedImagePosition( nUNOValue ) ) );
+ setDependentFastPropertyValue( BASEPROPERTY_IMAGEPOSITION, uno::makeAny( getExtendedImagePosition( nUNOValue ) ) );
mbAdjustingImagePosition = false;
}
break;
@@ -622,7 +622,7 @@ void SAL_CALL GraphicControlModel::setFastPropertyValue_NoBroadcast( sal_Int32 n
mbAdjustingImagePosition = true;
sal_Int16 nUNOValue = 0;
OSL_VERIFY( rValue >>= nUNOValue );
- setPropertyValue( GetPropertyName( BASEPROPERTY_IMAGEALIGN ), uno::makeAny( getCompatibleImageAlign( translateImagePosition( nUNOValue ) ) ) );
+ setDependentFastPropertyValue( BASEPROPERTY_IMAGEALIGN, uno::makeAny( getCompatibleImageAlign( translateImagePosition( nUNOValue ) ) ) );
mbAdjustingImagePosition = false;
}
break;
@@ -888,7 +888,7 @@ void SAL_CALL UnoControlImageControlModel::setFastPropertyValue_NoBroadcast( sal
mbAdjustingImageScaleMode = true;
sal_Int16 nScaleMode( awt::ImageScaleMode::Anisotropic );
OSL_VERIFY( _rValue >>= nScaleMode );
- setPropertyValue( GetPropertyName( BASEPROPERTY_SCALEIMAGE ), uno::makeAny( sal_Bool( nScaleMode != awt::ImageScaleMode::None ) ) );
+ setDependentFastPropertyValue( BASEPROPERTY_SCALEIMAGE, uno::makeAny( sal_Bool( nScaleMode != awt::ImageScaleMode::None ) ) );
mbAdjustingImageScaleMode = false;
}
break;
@@ -898,7 +898,7 @@ void SAL_CALL UnoControlImageControlModel::setFastPropertyValue_NoBroadcast( sal
mbAdjustingImageScaleMode = true;
sal_Bool bScale = sal_True;
OSL_VERIFY( _rValue >>= bScale );
- setPropertyValue( GetPropertyName( BASEPROPERTY_IMAGE_SCALE_MODE ), uno::makeAny( bScale ? awt::ImageScaleMode::Anisotropic : awt::ImageScaleMode::None ) );
+ setDependentFastPropertyValue( BASEPROPERTY_IMAGE_SCALE_MODE, uno::makeAny( bScale ? awt::ImageScaleMode::Anisotropic : awt::ImageScaleMode::None ) );
mbAdjustingImageScaleMode = false;
}
break;
@@ -1917,7 +1917,7 @@ void SAL_CALL UnoControlListBoxModel::setFastPropertyValue_NoBroadcast( sal_Int3
uno::Sequence<sal_Int16> aSeq;
uno::Any aAny;
aAny <<= aSeq;
- setPropertyValue( GetPropertyName( BASEPROPERTY_SELECTEDITEMS ), aAny );
+ setDependentFastPropertyValue( BASEPROPERTY_SELECTEDITEMS, aAny );
if ( !m_pData->m_bSettingLegacyProperty )
{
diff --git a/toolkit/source/helper/makefile.mk b/toolkit/source/helper/makefile.mk
deleted file mode 100644
index 1455708069c4..000000000000
--- a/toolkit/source/helper/makefile.mk
+++ /dev/null
@@ -1,64 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=toolkit
-TARGET=helper
-
-ENABLE_EXCEPTIONS=sal_True
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/listenermultiplexer.obj \
- $(SLO)$/property.obj \
- $(SLO)$/registerservices.obj \
- $(SLO)$/servicenames.obj \
- $(SLO)$/tkresmgr.obj \
- $(SLO)$/unomemorystream.obj \
- $(SLO)$/unopropertyarrayhelper.obj \
- $(SLO)$/unowrapper.obj \
- $(SLO)$/vclunohelper.obj \
- $(SLO)$/externallock.obj \
- $(SLO)$/imagealign.obj \
- $(SLO)$/throbberimpl.obj \
- $(SLO)$/formpdfexport.obj \
- $(SLO)$/accessibilityclient.obj \
- $(SLO)$/fixedhyperbase.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/toolkit/source/layout/core/makefile.mk b/toolkit/source/layout/core/makefile.mk
deleted file mode 100644
index 2c90921799af..000000000000
--- a/toolkit/source/layout/core/makefile.mk
+++ /dev/null
@@ -1,65 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=../../..
-PRJNAME=toolkit
-TARGET=layout-core
-ENABLE_EXCEPTIONS=true
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-# FIXME: This is bad, hmkay
-CFLAGS+= -I$(PRJ)/source
-
-SLOFILES= \
- $(SLO)$/bin.obj \
- $(SLO)$/box-base.obj \
- $(SLO)$/box.obj \
- $(SLO)$/byteseq.obj \
- $(SLO)$/container.obj \
- $(SLO)$/dialogbuttonhbox.obj \
- $(SLO)$/factory.obj \
- $(SLO)$/flow.obj \
- $(SLO)$/helper.obj \
- $(SLO)$/import.obj \
- $(SLO)$/localized-string.obj \
- $(SLO)$/proplist.obj \
- $(SLO)$/root.obj \
- $(SLO)$/table.obj \
- $(SLO)$/timer.obj \
- $(SLO)$/translate.obj\
- $(SLO)$/vcl.obj\
-#
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/toolkit/source/layout/vcl/makefile.mk b/toolkit/source/layout/vcl/makefile.mk
deleted file mode 100644
index 529ddc31d97e..000000000000
--- a/toolkit/source/layout/vcl/makefile.mk
+++ /dev/null
@@ -1,52 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=../../..
-PRJNAME=toolkit
-TARGET=layout-vcl
-ENABLE_EXCEPTIONS=true
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-.IF "$(COMNAME)" == "gcc3"
-CFLAGS+=-Wall -fno-default-inline
-.ENDIF
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/wrapper.obj \
- $(SLO)$/wbutton.obj \
- $(SLO)$/wcontainer.obj \
- $(SLO)$/wfield.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/toolkit/src2xml/src-sw.lst b/toolkit/src2xml/src-sw.lst
index 8d43400462d8..a0e7245fc4f4 100644
--- a/toolkit/src2xml/src-sw.lst
+++ b/toolkit/src2xml/src-sw.lst
@@ -51,7 +51,6 @@
../../sw/source/ui/fldui/DropDownFieldDialog.src
../../sw/source/ui/fldui/fldui.src
../../sw/source/ui/fmtui/tmpdlg.src
-../../sw/source/ui/fmtui/fmtui.src
../../sw/source/ui/index/cnttab.src
../../sw/source/ui/index/multmrk.src
../../sw/source/ui/index/idxmrk.src
diff --git a/toolkit/src2xml/src.lst b/toolkit/src2xml/src.lst
index 4a5876b84a08..a402a6b633c9 100644
--- a/toolkit/src2xml/src.lst
+++ b/toolkit/src2xml/src.lst
@@ -170,7 +170,6 @@
../../sw/source/ui/fldui/DropDownFieldDialog.src
../../sw/source/ui/fldui/fldui.src
../../sw/source/ui/fmtui/tmpdlg.src
-../../sw/source/ui/fmtui/fmtui.src
../../sw/source/ui/index/cnttab.src
../../sw/source/ui/index/multmrk.src
../../sw/source/ui/index/idxmrk.src
diff --git a/toolkit/test/accessibility/makefile.mk b/toolkit/test/accessibility/makefile.mk
deleted file mode 100644
index cc6f410f7404..000000000000
--- a/toolkit/test/accessibility/makefile.mk
+++ /dev/null
@@ -1,127 +0,0 @@
-# This is the dmake version.
-
-# copied from settings.mk
-SOLARBINDIR=$(SOLARVERSION)$/$(INPATH)$/bin$(UPDMINOREXT)
-
-# Please modify the following lines to match your environment:
-# If you use the run: target at the end of the file, then adapt port number.
-PORT_NUMBER = 5678
-
-# The following variables probably don't need to be changed.
-JAVAC = javac
-JAVA = java
-# The JAR_PATH points to the jar files of your local office installation.
-JAR_PATH = $(SOLARBINDIR)$/
-
-
-# The rest of this makefile should not need to be touched.
-
-all : AccessibilityWorkBench
-
-JAR_FILES = \
- unoil.jar \
- ridl.jar \
- jurt.jar \
- juh.jar \
- java_uno.jar
-
-JAVA_FILES = \
- AccTreeNode.java \
- AccessibilityTree.java \
- AccessibilityTreeModel.java \
- AccessibilityTreeModelBase.java \
- AccessibilityWorkBench.java \
- AccessibleActionHandler.java \
- AccessibleActionNode.java \
- AccessibleCellHandler.java \
- AccessibleComponentHandler.java \
- AccessibleContextHandler.java \
- AccessibleEditableTextHandler.java \
- AccessibleExtendedComponentHandler.java \
- AccessibleHyperlinkHandler.java \
- AccessibleHypertextHandler.java \
- AccessibleImageHandler.java \
- AccessibleRelationHandler.java \
- AccessibleSelectionHandler.java \
- AccessibleTableHandler.java \
- AccessibleTextHandler.java \
- AccessibleTreeCellRenderer.java \
- AccessibleTreeHandler.java \
- AccessibleTreeNode.java \
- AccessibleUNOHandler.java \
- Canvas.java \
- CanvasShape.java \
- ChildEventHandler.java \
- ContextEventHandler.java \
- EventHandler.java \
- EventListener.java \
- EventLogger.java \
- EventQueue.java \
- FrameActionListener.java \
- GeometryEventHandler.java \
- HelpWindow.java \
- InformationWriter.java \
- MessageArea.java \
- NodeFactory.java \
- NodeHandler.java \
- NodeMap.java \
- OfficeConnection.java \
- Options.java \
- QueuedListener.java \
- QueuedTopWindowListener.java \
- SelectionDialog.java \
- SimpleOffice.java \
- StringNode.java \
- TableEventHandler.java \
- TextLogger.java \
- TextUpdateListener.java \
- TopWindowListener.java \
- VectorNode.java
-
-JAVA_CLASSPATHS := \
- . \
- $(foreach,i,$(JAR_FILES) $(JAR_PATH)$i) \
- $(CLASSPATH)
-
-CLASSPATH !:=$(JAVA_CLASSPATHS:t$(PATH_SEPERATOR))
-
-JFLAGS = -deprecation -classpath $(CLASSPATH)
-
-%.class : %.java
- $(JAVAC) $(JFLAGS) $<
-
-%.class : %.java
- $(JAVAC) $(JFLAGS) $<
-
-AccessibilityWorkBench : ObjectView Tools $(JAVA_FILES:b:+".class")
-
-ObjectView .SETDIR=ov :
- @echo "making package ObjectView"
- dmake
-
-Tools .SETDIR=tools :
- @echo "making package Tools"
- dmake
-
-# Remove all class files.
-clean : ObjectView.clean Tools.clean
- rm *.class
- rm AccessibilityWorkBench.jar
-ObjectView.clean .SETDIR=ov :
- rm *.class
-Tools.clean .SETDIR=tools :
- rm *.class
-
-# Create a jar file of all files neccessary to build and run the work bench.
-dist: AccessibilityWorkBench.jar
-
-AccessibilityWorkBench.jar: $(JAVA_FILES:b:+".class") jawb.mf
- jar -cfm AccessibilityWorkBench.jar jawb.mf *.class ov\*.class tools\*.class
-
-# Example of how to run the work bench.
-run: all
- $(JAVA) -classpath $(CLASSPATH) AccessibilityWorkBench -p $(PORT_NUMBER)
-
-runjar: all dist
- $(JAVA) -classpath $(CLASSPATH) -jar AccessibilityWorkBench.jar -p $(PORT_NUMBER)
-
diff --git a/toolkit/test/accessibility/ov/makefile.mk b/toolkit/test/accessibility/ov/makefile.mk
deleted file mode 100644
index 56fb563eeee0..000000000000
--- a/toolkit/test/accessibility/ov/makefile.mk
+++ /dev/null
@@ -1,51 +0,0 @@
-# This is the dmake version.
-
-# copied from settings.mk
-SOLARBINDIR=$(SOLARVERSION)$/$(INPATH)$/bin$(UPDMINOREXT)
-
-# Please modify the following lines to match your environment:
-# If you use the run: target at the end of the file, then adapt port number.
-PORT_NUMBER = 5678
-
-# The following variables probably don't need to be changed.
-JAVAC = javac
-JAVA = java
-# The JAR_PATH points to the jar files of your local office installation.
-JAR_PATH = $(SOLARBINDIR)$/
-
-
-# The rest of this makefile should not need to be touched.
-
-all : ov
-
-JAR_FILES = \
- unoil.jar \
- ridl.jar \
- jurt.jar \
- juh.jar \
- java_uno.jar
-
-JAVA_FILES = \
- ov/ObjectViewContainer.java \
- ov/ObjectView.java \
- ov/ListeningObjectView.java \
- ov/ContextView.java \
- ov/FocusView.java \
- ov/SelectionView.java \
- ov/TextView.java
-# ov/StateSetView.java \
-
-
-JAVA_CLASSPATHS := \
- . .. \
- $(foreach,i,$(JAR_FILES) $(JAR_PATH)$i) \
- $(CLASSPATH)
-
-CLASSPATH !:=$(JAVA_CLASSPATHS:t$(PATH_SEPERATOR))
-
-JFLAGS = -deprecation -classpath $(CLASSPATH)
-
-%.class : %.java
- $(JAVAC) $(JFLAGS) $<
-
-ov : $(JAVA_FILES:b:+".class")
diff --git a/toolkit/test/accessibility/tools/makefile.mk b/toolkit/test/accessibility/tools/makefile.mk
deleted file mode 100644
index 045ba6f65b49..000000000000
--- a/toolkit/test/accessibility/tools/makefile.mk
+++ /dev/null
@@ -1,42 +0,0 @@
-# copied from settings.mk
-SOLARBINDIR=$(SOLARVERSION)$/$(INPATH)$/bin$(UPDMINOREXT)
-
-# Please modify the following lines to match your environment:
-# If you use the run: target at the end of the file, then adapt port number.
-PORT_NUMBER = 5678
-
-# The following variables probably don't need to be changed.
-JAVAC = javac
-JAVA = java
-# The JAR_PATH points to the jar files of your local office installation.
-JAR_PATH = $(SOLARBINDIR)$/
-
-
-# The rest of this makefile should not need to be touched.
-
-all : tools
-
-JAR_FILES = \
- unoil.jar \
- ridl.jar \
- jurt.jar \
- juh.jar \
- java_uno.jar
-
-JAVA_FILES = \
- tools/NameProvider.java
-
-
-JAVA_CLASSPATHS := \
- . .. \
- $(foreach,i,$(JAR_FILES) $(JAR_PATH)$i) \
- $(CLASSPATH)
-
-CLASSPATH !:=$(JAVA_CLASSPATHS:t$(PATH_SEPERATOR))
-
-JFLAGS = -deprecation -classpath $(CLASSPATH)
-
-%.class : %.java
- $(JAVAC) $(JFLAGS) $<
-
-tools : $(JAVA_FILES:b:+".class")
diff --git a/toolkit/util/makefile.mk b/toolkit/util/makefile.mk
deleted file mode 100644
index 2e9adce4f6bd..000000000000
--- a/toolkit/util/makefile.mk
+++ /dev/null
@@ -1,93 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-# tk.dxp should contain all c functions that have to be exported. MT 2001/11/29
-
-PRJ=..
-
-PRJNAME=toolkit
-TARGET=tk
-TARGET2=tka
-USE_DEFFILE=TRUE
-
-# --- Settings -----------------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-
-# --- Allgemein ----------------------------------------------------------
-
-# ========================================================================
-# = tk lib: the "classic" toolkit library
-
-LIB1TARGET= $(SLB)$/$(TARGET).lib
-LIB1FILES= $(SLB)$/awt.lib \
- $(SLB)$/tree.lib \
- $(SLB)$/grid.lib \
- $(SLB)$/controls.lib \
- $(SLB)$/helper.lib\
- $(SLB)$/layout-core.lib \
- $(SLB)$/layout-vcl.lib
-
-SHL1TARGET= tk$(DLLPOSTFIX)
-SHL1IMPLIB= itk
-SHL1USE_EXPORTS=name
-
-SHL1STDLIBS=\
- $(VCLLIB) \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-
-SHL1LIBS= $(LIB1TARGET)
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-SHL1DEPN=$(LIB1TARGET)
-
-DEF1NAME =$(SHL1TARGET)
-DEF1DEPN =$(LIB1TARGET)
-DEF1DES =TK
-DEFLIB1NAME =tk
-
-RESLIB1IMAGES=$(PRJ)$/source$/awt
-RES1FILELIST=$(SRS)$/awt.srs
-RESLIB1NAME=$(TARGET)
-RESLIB1SRSFILES=$(RES1FILELIST)
-
-# --- Footer -------------------------------------------------------------
-.INCLUDE : target.mk
-
-ALLTAR : $(MISC)/tk.component
-
-$(MISC)/tk.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- tk.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt tk.component
diff --git a/toolkit/workben/layout/makefile.mk b/toolkit/workben/layout/makefile.mk
deleted file mode 100644
index 53797e5a3102..000000000000
--- a/toolkit/workben/layout/makefile.mk
+++ /dev/null
@@ -1,151 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=../..
-PRJNAME=toolkit
-TARGET=test
-TARGETTYPE=GUI
-LIBTARGET=NO
-ENABLE_EXCEPTIONS=TRUE
-
-.INCLUDE : settings.mk
-
-.IF "$(ENABLE_LAYOUT)" == "TRUE"
-
-# Allow zoom and wordcount to be built without depending on svx,sv,sfx2
-CFLAGS += -I../$(PRJ)/svx/inc -I../$(PRJ)/svtools/inc -I../$(PRJ)/sfx2/inc -I../$(PRJ)/sc/inc -I../$(PRJ)/sc/source/ui/inc -I../$(PRJ)/sw/inc
-
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-.IF "$(COMNAME)" == "gcc3"
-CFLAGS+=-Wall -Wno-non-virtual-dtor
-.ENDIF
-
-CXXFILES=\
- editor.cxx \
- plugin.cxx \
- recover.cxx \
- wordcountdialog.cxx \
- test.cxx \
- zoom.cxx
-
-OBJFILES=\
- $(OBJ)$/editor.obj \
- $(OBJ)$/plugin.obj \
- $(OBJ)$/recover.obj \
- $(OBJ)$/test.obj \
- $(OBJ)$/tpsort.obj \
- $(OBJ)$/sortdlg.obj \
- $(OBJ)$/wordcountdialog.obj \
- $(OBJ)$/zoom.obj
-
-APP1TARGET=$(TARGET)
-APP1OBJS=$(OBJFILES)
-APP1STDLIBS= \
- $(TOOLSLIB) \
- $(COMPHELPERLIB) \
- $(VCLLIB) \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB) \
- $(XMLSCRIPTLIB) \
- $(TKLIB) \
- $(SVXLIB) \
- $(ISCLIB) \
-#
-
-svtools = $(INCCOM)/svtools
-default: ALLTAR
-
-.INCLUDE : target.mk
-
-XML_FILES=\
- insert-sheet.xml\
- message-box.xml\
- move-copy-sheet.xml\
- recover.xml\
- sort-options.xml\
- string-input.xml\
- tab-dialog.xml\
- wordcount.xml\
- zoom.xml\
-
-TRALAY=$(AUGMENT_LIBRARY_PATH) tralay
-XML_LANGS=$(alllangiso)
-
-ALLTAR: localize.sdf $(BIN)/testrc $(svtools) $(foreach,i,$(XML_FILES) en-US/$i)
-
-$(XML_LANGS:f:t"/%.xml ")/%.xml: %.xml
- $(TRALAY) -m localize.sdf -o . -l $(XML_LANGS:f:t" -l ") $<
- rm -rf en-US
-
-$(BIN)/%: %.in
- cp $< $@
-
-$(svtools):
-# FIXME: there's a bug in svtools layout or usage
-# Include files are in svtools/inc, but are referenced as <svtools/..>
-# They probably should be in svtools/inc/svtools
-# This means that include files can only be included after svtools
-# is built, which would mean a circular dependency,
-# because svtools depends on toolkit.
- ln -sf ..$/$(PRJ)$/svtools$/inc $(INCCOM)$/svtools
-
-dist .PHONY :
- cp -pv message-box.xml $(PRJ)/uiconfig/layout
- cp -pv tab-dialog.xml $(PRJ)/uiconfig/layout
- $(SHELL) ./un-test.sh zoom.cxx > ../$(PRJ)/svx/source/dialog/zoom.cxx
- $(SHELL) ./un-test.sh zoom.hxx > ../$(PRJ)/svx/source/dialog/zoom.hxx
- touch ../$(PRJ)/svx/source/dialog/dlgfact.cxx
- cp -pv zoom.xml ../$(PRJ)/svx/uiconfig/layout
- $(SHELL) ./un-test.sh wordcountdialog.cxx > ../$(PRJ)/sw/source/ui/dialog/wordcountdialog.cxx
- $(SHELL) ./un-test.sh wordcountdialog.hxx > ../$(PRJ)/sw/source/ui/inc/wordcountdialog.hxx
- touch ../$(PRJ)/sw/source/ui/dialog/swdlgfact.cxx
- cp -pv wordcount.xml ../$(PRJ)/sw/uiconfig/layout
- # FIXME: broken setup
- ln -sf ../inc/wordcountdialog.hxx ../$(PRJ)/sw/source/ui/dialog/wordcountdialog.hxx
- $(SHELL) ./un-test.sh tpsort.cxx > ../$(PRJ)/sc/source/ui/dbgui/tpsort.cxx
- $(SHELL) ./un-test.sh tpsort.hxx > ../$(PRJ)/sc/source/ui/inc/tpsort.hxx
- $(SHELL) ./un-test.sh sortdlg.cxx > ../$(PRJ)/sc/source/ui/dbgui/sortdlg.cxx
- $(SHELL) ./un-test.sh sortdlg.hxx > ../$(PRJ)/sc/source/ui/inc/sortdlg.hxx
- touch ../$(PRJ)/sc/source/ui/attrdlg/scdlgfact.cxx
- touch ../$(PRJ)/sc/source/ui/view/cellsh2.cxx
- cp -pv insert-sheet.xml ../$(PRJ)/sc/uiconfig/layout
- cp -pv move-copy-sheet.xml ../$(PRJ)/sc/uiconfig/layout
- cp -pv sort-options.xml ../$(PRJ)/sc/uiconfig/layout
- cp -pv string-input.xml ../$(PRJ)/sc/uiconfig/layout
-
-localize.sdf: $(PRJ)/../svx/source/dialog/localize.sdf $(PRJ)/../sw/source/ui/dialog/localize.sdf $(PRJ)/../sc/source/ui/src/localize.sdf
- grep sortdlg.src $(PRJ)/../sc/source/ui/src/localize.sdf | awk -F'\t' '{{printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", "layout", "sc\\uiconfig\\layout\\sort-options.xml", $$3, "layout", $$6 "_label", "", "", $$8, "0", $$10, $$11, $$12, "", $$14, $$15}}' | sed -e 's/\(\(FL\|STR\)_[^\t]*\)_label/\1_text/' -e 's/\t_label/\tRID_SCDLG_SORT_title/' > sort-options-$@
- grep wordcountdialog.src $(PRJ)/../sw/source/ui/dialog/localize.sdf | awk -F'\t' '{{printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", "layout", "sw\\uiconfig\\layout\\wordcount.xml", $$3, "layout", $$6 "_label", "", "", $$8, "0", $$10, $$11, $$12, "", $$14, $$15}}' | sed -e 's/\(\(FL\|STR\)_[^\t]*\)_label/\1_text/' -e 's/\t_label/\tDLG_WORDCOUNT_title/' > wordcount-$@
- grep zoom.src $(PRJ)/source/dialog/localize.sdf | awk -F'\t' '{{printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", "layout", "svx\\uiconfig\\layout\\zoom.xml", $$3, "layout", $$6 "_label", "", "", $$8, "0", $$10, $$11, $$12, "", $$14, $$15}}' | sed -e 's/\(\(FL\|STR\)_[^\t]*\)_label/\1_text/' -e 's/\t_label/\tRID_SVXDLG_ZOOM_title/' > zoom-$@
- echo '#empty' | cat - sort-options-$@ wordcount-$@ zoom-$@ > $@
- rm -f *-$@
-
-.ELSE # ENABLE_LAYOUT != TRUE
-all .PHONY:
-.ENDIF # ENABLE_LAYOUT != TRUE
diff --git a/toolkit/workben/makefile.mk b/toolkit/workben/makefile.mk
deleted file mode 100644
index 8e54c7737a20..000000000000
--- a/toolkit/workben/makefile.mk
+++ /dev/null
@@ -1,84 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=toolkit
-TARGET=unodialog
-LIBTARGET=NO
-ENABLE_EXCEPTIONS=TRUE
-
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-CXXFILES= unodialog.cxx
-
-OBJFILES= $(OBJ)$/unodialog.obj
-
-
-APP2NOSAL= TRUE
-APP2TARGET= unodialog
-APP2OBJS= $(OBJ)$/unodialog.obj
-APP2STDLIBS=$(TOOLSLIB) \
- $(SOTLIB) \
- $(COMPHELPERLIB) \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(VCLLIB) \
- $(SALLIB)
-
-# $(SVTOOLLIB) \
-
-APP2DEF= $(MISC)$/unodialog.def
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
-
-# ------------------------------------------------------------------
-# Windows
-# ------------------------------------------------------------------
-
-.IF "$(GUI)" == "WIN"
-
-$(MISC)$/unodialog.def: makefile.mk
- echo NAME unodialog >$@
- echo DESCRIPTION 'StarView - Testprogramm' >>$@
- echo EXETYPE WINDOWS >>$@
- echo STUB 'winSTUB.EXE' >>$@
- echo PROTMODE >>$@
- echo CODE PRELOAD MOVEABLE DISCARDABLE >>$@
- echo DATA PRELOAD MOVEABLE MULTIPLE >>$@
- echo HEAPSIZE 8192 >>$@
- echo STACKSIZE 32768 >>$@
-
-.ENDIF
diff --git a/tools/Executable_mkunroll.mk b/tools/Executable_mkunroll.mk
new file mode 100644
index 000000000000..6a88e48f232a
--- /dev/null
+++ b/tools/Executable_mkunroll.mk
@@ -0,0 +1,77 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Executable_Executable,mkunroll))
+
+$(eval $(call gb_Executable_set_include,mkunroll,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/tools/inc/ \
+ -I$(SRCDIR)/tools/inc/pch \
+ -I$(SRCDIR)/tools/bootstrp/ \
+))
+
+$(eval $(call gb_Executable_set_cxxflags,mkunroll,\
+ $$(CXXFLAGS) \
+ -D_TOOLS_STRINGLIST \
+))
+
+$(eval $(call gb_Executable_add_linked_libs,mkunroll,\
+ basegfx \
+ sal \
+ stl \
+ tl \
+ vos3 \
+))
+
+# used to link against basegfxlx comphelp4gcc3 i18nisolang1gcc3 ucbhelper4gcc3 uno_cppu uno_cppuhelpergcc3 uno_salhelpergcc3 - seems to be superficial
+
+$(eval $(call gb_Executable_add_exception_objects,mkunroll,\
+ tools/bootstrp/addexes2/mkfilt \
+ tools/bootstrp/appdef \
+ tools/bootstrp/cppdep \
+ tools/bootstrp/inimgr \
+ tools/bootstrp/prj \
+))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Executable_add_linked_libs,mkunroll,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Executable_add_linked_libs,mkunroll,\
+ dl \
+ pthread \
+))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/svtools/source/svhtml/makefile.mk b/tools/Executable_rscdep.mk
index 7a8552f2b672..d6f2c25a1763 100644
--- a/svtools/source/svhtml/makefile.mk
+++ b/tools/Executable_rscdep.mk
@@ -14,38 +14,61 @@
#
# 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
+# 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
+# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ=..$/..
+$(eval $(call gb_Executable_Executable,rscdep))
-PRJNAME=svtools
-TARGET=svhtml
+$(eval $(call gb_Executable_set_include,rscdep,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/tools/inc/ \
+ -I$(SRCDIR)/tools/inc/pch \
+ -I$(SRCDIR)/tools/bootstrp/ \
+))
-ENABLE_EXCEPTIONS=TRUE
+$(eval $(call gb_Executable_set_cxxflags,rscdep,\
+ $$(CXXFLAGS) \
+ -D_TOOLS_STRINGLIST \
+))
-# --- Settings -----------------------------------------------------
+$(eval $(call gb_Executable_add_linked_libs,rscdep,\
+ sal \
+ stl \
+ tl \
+ vos3 \
+))
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
+$(eval $(call gb_Executable_add_exception_objects,rscdep,\
+ tools/bootstrp/appdef \
+ tools/bootstrp/cppdep \
+ tools/bootstrp/inimgr \
+ tools/bootstrp/prj \
+ tools/bootstrp/rscdep \
+))
-# --- Files --------------------------------------------------------
-
-SLOFILES=\
- $(SLO)$/htmlkywd.obj \
- $(SLO)$/htmlsupp.obj \
- $(SLO)$/htmlout.obj \
- $(SLO)$/parhtml.obj
-
-# ==========================================================================
-
-.INCLUDE : target.mk
+ifeq ($(OS),WNT)
+$(eval $(call gb_Executable_add_linked_libs,rscdep,\
+ gnu_getopt \
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Executable_add_linked_libs,rscdep,\
+ dl \
+ pthread \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/tools/Executable_so_checksum.mk b/tools/Executable_so_checksum.mk
new file mode 100644
index 000000000000..071f0c5bb7b0
--- /dev/null
+++ b/tools/Executable_so_checksum.mk
@@ -0,0 +1,69 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Executable_Executable,so_checksum))
+
+$(eval $(call gb_Executable_set_include,so_checksum,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/tools/inc/ \
+ -I$(SRCDIR)/tools/inc/pch \
+ -I$(SRCDIR)/tools/bootstrp/ \
+))
+
+$(eval $(call gb_Executable_set_cxxflags,so_checksum,\
+ $$(CXXFLAGS) \
+ -D_TOOLS_STRINGLIST \
+))
+
+$(eval $(call gb_Executable_add_linked_libs,so_checksum,\
+ sal \
+ tl \
+))
+# used to link against basegfxlx comphelp4gcc3 i18nisolang1gcc3 ucbhelper4gcc3 uno_cppu uno_cppuhelpergcc3 uno_salhelpergcc3 vos3gcc3 - seems to be superficial
+
+$(eval $(call gb_Executable_add_exception_objects,so_checksum,\
+ tools/bootstrp/md5 \
+ tools/bootstrp/so_checksum \
+))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Executable_add_linked_libs,so_checksum,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Executable_add_linked_libs,so_checksum,\
+ dl \
+ pthread \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/tools/Executable_sspretty.mk b/tools/Executable_sspretty.mk
new file mode 100644
index 000000000000..0c83b7137eea
--- /dev/null
+++ b/tools/Executable_sspretty.mk
@@ -0,0 +1,74 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Executable_Executable,sspretty))
+
+$(eval $(call gb_Executable_set_include,sspretty,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/tools/inc/ \
+ -I$(SRCDIR)/tools/inc/pch \
+ -I$(SRCDIR)/tools/bootstrp/ \
+))
+
+$(eval $(call gb_Executable_set_cxxflags,sspretty,\
+ $$(CXXFLAGS) \
+ -D_TOOLS_STRINGLIST \
+))
+
+$(eval $(call gb_Executable_add_linked_libs,sspretty,\
+ sal \
+ stl \
+ tl \
+ vos3 \
+))
+# used to link against basegfxlx comphelp4gcc3 i18nisolang1gcc3 ucbhelper4gcc3 uno_cppu uno_cppuhelpergcc3 uno_salhelpergcc3 - seems to be superficial
+
+$(eval $(call gb_Executable_add_exception_objects,sspretty,\
+ tools/bootstrp/appdef \
+ tools/bootstrp/cppdep \
+ tools/bootstrp/inimgr \
+ tools/bootstrp/prj \
+ tools/bootstrp/sspretty \
+))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Executable_add_linked_libs,sspretty,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Executable_add_linked_libs,sspretty,\
+ dl \
+ pthread \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/tools/Library_tl.mk b/tools/Library_tl.mk
new file mode 100644
index 000000000000..dde1f8f5dd92
--- /dev/null
+++ b/tools/Library_tl.mk
@@ -0,0 +1,180 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,tl))
+
+$(eval $(call gb_Library_add_package_headers,tl,tools_inc))
+
+$(eval $(call gb_Library_add_precompiled_header,tl,$(SRCDIR)/tools/inc/pch/precompiled_tools))
+
+$(eval $(call gb_Library_set_include,tl,\
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc \
+ -I$(WORKDIR)/inc/tools \
+ -I$(SRCDIR)/tools/inc \
+ -I$(SRCDIR)/tools/inc/pch \
+ -I$(SRCDIR)/solenv/inc \
+ -I$(SRCDIR)/solenv/inc/Xp31 \
+ -I$(OUTDIR)/inc/tools \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc/stl \
+))
+
+$(eval $(call gb_Library_set_defs,tl,\
+ $$(DEFS) \
+ -DTOOLS_DLLIMPLEMENTATION \
+ -DVCL \
+))
+
+$(eval $(call gb_Library_add_linked_libs,tl,\
+ basegfx \
+ comphelper \
+ i18nisolang1 \
+ stl \
+ cppu \
+ sal \
+ vos3 \
+))
+
+
+$(eval $(call gb_Library_add_exception_objects,tl,\
+ tools/source/communi/geninfo \
+ tools/source/communi/parser \
+ tools/source/datetime/datetime \
+ tools/source/datetime/tdate \
+ tools/source/datetime/ttime \
+ tools/source/debug/debug \
+ tools/source/debug/stcktree \
+ tools/source/fsys/comdep \
+ tools/source/fsys/dirent \
+ tools/source/fsys/filecopy \
+ tools/source/fsys/fstat \
+ tools/source/fsys/tdir \
+ tools/source/fsys/tempfile \
+ tools/source/fsys/urlobj \
+ tools/source/fsys/wldcrd \
+ tools/source/generic/b3dtrans \
+ tools/source/generic/bigint \
+ tools/source/generic/color \
+ tools/source/generic/config \
+ tools/source/generic/fract \
+ tools/source/generic/gen \
+ tools/source/generic/line \
+ tools/source/generic/link \
+ tools/source/generic/poly \
+ tools/source/generic/poly2 \
+ tools/source/generic/svborder \
+ tools/source/generic/toolsin \
+ tools/source/generic/svlibrary \
+ tools/source/inet/inetmime \
+ tools/source/inet/inetmsg \
+ tools/source/inet/inetstrm \
+ tools/source/memtools/contnr \
+ tools/source/memtools/mempool \
+ tools/source/memtools/multisel \
+ tools/source/memtools/table \
+ tools/source/memtools/unqidx \
+ tools/source/misc/appendunixshellword \
+ tools/source/misc/extendapplicationenvironment \
+ tools/source/misc/getprocessworkingdir \
+ tools/source/misc/solarmutex \
+ tools/source/rc/isofallback \
+ tools/source/rc/rc \
+ tools/source/rc/resary \
+ tools/source/rc/resmgr \
+ tools/source/ref/errinf \
+ tools/source/ref/globname \
+ tools/source/ref/pstm \
+ tools/source/ref/ref \
+ tools/source/stream/cachestr \
+ tools/source/stream/stream \
+ tools/source/stream/strmsys \
+ tools/source/stream/vcompat \
+ tools/source/string/debugprint \
+ tools/source/string/tenccvt \
+ tools/source/string/tstring \
+ tools/source/string/tustring \
+ tools/source/testtoolloader/testtoolloader \
+ tools/source/zcodec/zcodec \
+))
+
+ifeq ($(GUI),UNX)
+$(eval $(call gb_Library_add_exception_objects,tl,\
+ tools/unx/source/dll/toolsdll \
+))
+endif
+
+ifeq ($(SYSTEM_ZLIB),YES)
+$(eval $(call gb_Library_set_cxxflags,tl,\
+ $$(CXXFLAGS) \
+ -DSYSTEM_ZLIB \
+))
+$(eval $(call gb_Library_add_linked_libs,tl,\
+ z \
+))
+else
+$(eval $(call gb_Library_add_linked_static_libs,tl,\
+ zlib \
+))
+endif
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,tl,\
+ dl \
+ m \
+ pthread \
+))
+endif
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_set_include,tl,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/tools/win/inc \
+))
+
+$(eval $(call gb_Library_add_exception_objects,tl,\
+ tools/win/source/dll/toolsdll \
+))
+
+$(eval $(call gb_Library_add_linked_libs,tl,\
+ advapi32 \
+ kernel32 \
+ mpr \
+ msvcrt \
+ oldnames \
+ ole32 \
+ shell32 \
+ user32 \
+ uuid \
+ uwinapi \
+))
+endif
+# tools/source/string/debugprint -DDEBUG -DEXCEPTIONS_OFF -DOSL_DEBUG_LEVEL=2 -DSHAREDLIB -DTOOLS_DLLIMPLEMENTATION -D_DLL_ -O0 -fno-exceptions -fpic -fvisibility=hidden -g
+# -DOPTIMIZE
+# no -DTOOLS_DLLIMPLEMENTATION on toolsdll
+# -DEXCEPTIONS_OFF -fno-exceptions on geninfo parser datetime tdate ttime bigint color config fract gen line link poly2 svborder toolsin inetmime inetmsg inetstrm contnr mempool multisel table unqidx cachestr stream strmsys vcompat tenccvt tstring tustring testtoolloader
+# vim: set noet sw=4 ts=4:
diff --git a/tools/Makefile b/tools/Makefile
new file mode 100644
index 000000000000..a79aff831024
--- /dev/null
+++ b/tools/Makefile
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+ifeq ($(strip $(SOLARENV)),)
+$(error No environment set!)
+endif
+
+gb_PARTIALBUILD := T
+GBUILDDIR := $(SOLARENV)/gbuild
+include $(GBUILDDIR)/gbuild.mk
+
+$(eval $(call gb_Module_make_global_targets,$(shell ls $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/Module*.mk)))
+
+# vim: set noet sw=4 ts=4:
diff --git a/tools/Module_tools.mk b/tools/Module_tools.mk
new file mode 100644
index 000000000000..9e233408b317
--- /dev/null
+++ b/tools/Module_tools.mk
@@ -0,0 +1,41 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+
+$(eval $(call gb_Module_Module,tools))
+
+$(eval $(call gb_Module_add_targets,tools,\
+ Executable_mkunroll \
+ Executable_rscdep \
+ Executable_so_checksum \
+ Executable_sspretty \
+ Library_tl \
+ Package_inc \
+ StaticLibrary_ooopathutils \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/tools/Package_inc.mk b/tools/Package_inc.mk
new file mode 100644
index 000000000000..97d99653c312
--- /dev/null
+++ b/tools/Package_inc.mk
@@ -0,0 +1,110 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Package_Package,tools_inc,$(SRCDIR)/tools/inc))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/StringListResource.hxx,tools/StringListResource.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/appendunixshellword.hxx,tools/appendunixshellword.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/b3dtrans.hxx,tools/b3dtrans.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/bigint.hxx,tools/bigint.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/cachestr.hxx,tools/cachestr.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/color.hxx,tools/color.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/config.hxx,tools/config.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/contnr.hxx,tools/contnr.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/date.hxx,tools/date.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/datetime.hxx,tools/datetime.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/debug.hxx,tools/debug.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/diagnose_ex.h,tools/diagnose_ex.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/dynary.hxx,tools/dynary.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/errcode.hxx,tools/errcode.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/errinf.hxx,tools/errinf.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/extendapplicationenvironment.hxx,tools/extendapplicationenvironment.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/fldunit.hxx,tools/fldunit.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/fontenum.hxx,tools/fontenum.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/fract.hxx,tools/fract.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/fsys.hxx,tools/fsys.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/gen.hxx,tools/gen.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/geninfo.hxx,tools/geninfo.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/getprocessworkingdir.hxx,tools/getprocessworkingdir.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/globname.hxx,tools/globname.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/inetdef.hxx,tools/inetdef.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/inetmime.hxx,tools/inetmime.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/inetmsg.hxx,tools/inetmsg.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/inetstrm.hxx,tools/inetstrm.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/iparser.hxx,tools/iparser.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/isofallback.hxx,tools/isofallback.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/line.hxx,tools/line.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/link.hxx,tools/link.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/list.hxx,tools/list.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/mapunit.hxx,tools/mapunit.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/mempool.hxx,tools/mempool.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/multisel.hxx,tools/multisel.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/ownlist.hxx,tools/ownlist.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/pathutils.hxx,tools/pathutils.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/poly.hxx,tools/poly.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/postsys.h,tools/postsys.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/postwin.h,tools/postwin.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/postx.h,tools/postx.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/presys.h,tools/presys.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/prewin.h,tools/prewin.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/prex.h,tools/prex.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/pstm.hxx,tools/pstm.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/queue.hxx,tools/queue.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/rc.h,tools/rc.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/rc.hxx,tools/rc.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/rcid.h,tools/rcid.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/ref.hxx,tools/ref.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/resary.hxx,tools/resary.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/resid.hxx,tools/resid.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/resmgr.hxx,tools/resmgr.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/rtti.hxx,tools/rtti.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/shl.hxx,tools/shl.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/simplerm.hxx,tools/simplerm.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/solar.h,tools/solar.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/solarmutex.hxx,tools/solarmutex.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/stack.hxx,tools/stack.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/stream.hxx,tools/stream.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/string.hxx,tools/string.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/svborder.hxx,tools/svborder.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/svlibrary.hxx,tools/svlibrary.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/svwin.h,tools/svwin.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/table.hxx,tools/table.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/tempfile.hxx,tools/tempfile.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/tenccvt.hxx,tools/tenccvt.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/testtoolloader.hxx,tools/testtoolloader.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/time.hxx,tools/time.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/tools.h,tools/tools.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/toolsdllapi.h,tools/toolsdllapi.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/unqid.hxx,tools/unqid.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/unqidx.hxx,tools/unqidx.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/urlobj.hxx,tools/urlobj.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/vcompat.hxx,tools/vcompat.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/vector2d.hxx,tools/vector2d.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/weakbase.h,tools/weakbase.h))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/weakbase.hxx,tools/weakbase.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/wintypes.hxx,tools/wintypes.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/wldcrd.hxx,tools/wldcrd.hxx))
+$(eval $(call gb_Package_add_file,tools_inc,inc/tools/zcodec.hxx,tools/zcodec.hxx))
diff --git a/svtools/source/config/test/makefile.mk b/tools/StaticLibrary_ooopathutils.mk
index 71bea788d8de..a5b12532c60b 100644..100755
--- a/svtools/source/config/test/makefile.mk
+++ b/tools/StaticLibrary_ooopathutils.mk
@@ -14,49 +14,41 @@
#
# 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
+# 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
+# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ=..$/..$/..
-PRJNAME= svtools
-TARGET= test_configitems
-LIBTARGET= NO
-ENABLE_EXCEPTIONS= TRUE
-USE_DEFFILE= TRUE
+$(eval $(call gb_StaticLibrary_StaticLibrary,ooopathutils))
-# --- Settings -----------------------------------------------------
+$(eval $(call gb_StaticLibrary_add_package_headers,ooopathutils,tools_inc))
-.INCLUDE : settings.mk
+$(eval $(call gb_StaticLibrary_add_exception_objects,ooopathutils,\
+ tools/source/misc/pathutils \
+))
-# --- application: "test" --------------------------------------------------
-APP1TARGET= test
+# HACK for now
+# We really should fix the clients of this to link against the static library
+# Instead of this evil linking of an object from $(OUTDIR)
+define StaticLibrary_ooopathutils_hack
+$(call gb_StaticLibrary_get_target,ooopathutils) : $(OUTDIR)/lib/$(1)
+$$(eval $$(call gb_Deliver_add_deliverable,$(OUTDIR)/lib/$(1),$(call gb_CxxObject_get_target,tools/source/misc/pathutils)))
-APP1OBJS= $(SLO)$/test.obj \
- $(SLO)$/dynamicmenuoptions.obj
+$(OUTDIR)/lib/$(1) : $(call gb_CxxObject_get_target,tools/source/misc/pathutils)
+ $$(call gb_Deliver_deliver,$$<,$$@)
-DEPOBJFILES=$(APP1OBJS)
-
-APP1STDLIBS= $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(COMPHELPERLIB) \
- $(UNOTOOLSLIB) \
- $(SALLIB) \
- $(VOSLIB) \
- $(TOOLSLIB) \
- $(VCLLIB)
-
-APP1DEPN= $(SLO)$/dynamicmenuoptions.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
+endef
+ifeq ($(OS),WNT)
+$(eval $(call StaticLibrary_ooopathutils_hack,pathutils-obj.obj))
+else
+$(eval $(call StaticLibrary_ooopathutils_hack,pathutils-obj.o))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/tools/bootstrp/addexes/makefile.mk b/tools/bootstrp/addexes/makefile.mk
deleted file mode 100644
index 324de9479502..000000000000
--- a/tools/bootstrp/addexes/makefile.mk
+++ /dev/null
@@ -1,49 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=addexes
-TARGETTYPE=CUI
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-CDEFS+=-D_TOOLS_STRINGLIST
-
-# --- Files --------------------------------------------------------
-
-APP1TARGET= txtrepl
-APP1OBJS= $(OBJ)$/replace.obj
-APP1STDLIBS=$(TOOLSLIB)
-
-DEPOBJFILES = $(APP1OBJS)
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/bootstrp/addexes2/makefile.mk b/tools/bootstrp/addexes2/makefile.mk
deleted file mode 100644
index 492d6f3105ed..000000000000
--- a/tools/bootstrp/addexes2/makefile.mk
+++ /dev/null
@@ -1,56 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=addexes2
-TARGETTYPE=CUI
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-APP1TARGET= mkunroll
-APP1OBJS= $(OBJ)$/mkfilt.obj
-APP1STDLIBS= $(SALLIB) $(VOSLIB) $(TOOLSLIB)
-.IF "$(OS)"=="LINUX"
-APP1STDLIBS+=-lpthread
-.ENDIF
-.IF "$(OS)"=="NETBSD"
-APP1STDLIBS+=-lpthread
-.ENDIF
-APP1LIBS= $(LB)$/btstrp.lib $(LB)$/bootstrp2.lib
-APP1DEPN= $(LB)$/atools.lib $(LB)$/btstrp.lib $(LB)$/bootstrp2.lib
-
-
-DEPOBJFILES = $(APP1OBJS)
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/bootstrp/command.cxx b/tools/bootstrp/command.cxx
deleted file mode 100644
index 85dc982379e7..000000000000
--- a/tools/bootstrp/command.cxx
+++ /dev/null
@@ -1,690 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_tools.hxx"
-
-#ifdef SCO
-#define _IOSTREAM_H
-#endif
-
-#ifdef PRECOMPILED
-#include "first.hxx"
-#endif
-
-#include <tools/fsys.hxx>
-#include <tools/stream.hxx>
-#include "bootstrp/command.hxx"
-#include <tools/debug.hxx>
-#include "bootstrp/appdef.hxx"
-
-#ifdef _MSC_VER
-#pragma warning (push,1)
-#endif
-
-#include <iostream>
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <errno.h>
-
-#ifdef _MSC_VER
-#pragma warning (pop)
-#endif
-
-//#define MH_TEST2 1 // fuers direkte Testen
-
-#if defined(WNT) || defined(OS2)
-#ifdef _MSC_VER
-#pragma warning (push,1)
-#endif
-#include <process.h> // for _SPAWN
-#ifdef _MSC_VER
-#pragma warning (pop)
-#endif
-#endif
-#ifdef UNX
-#include <sys/types.h>
-#include <unistd.h>
-#if ( defined NETBSD ) || defined (FREEBSD) || defined (AIX) \
- || defined (HPUX) || defined (MACOSX)
-#include <sys/wait.h>
-#else
-#include <wait.h>
-#endif
-#define P_WAIT 1 // erstmal einen dummz
-#endif
-
-#if defined WNT
-#include <tools/svwin.h>
-#endif
-
-#if defined(WNT) || defined(OS2)
-#define cPathSeperator ';'
-#endif
-#ifdef UNX
-#define cPathSeperator ':'
-#endif
-
-/*****************************************************************************/
-CommandLine::CommandLine(sal_Bool bWrite)
-/*****************************************************************************/
- : bTmpWrite(bWrite)
-{
- CommandBuffer = new char [1];
- if (CommandBuffer == NULL) {
- //cout << "Error: nospace" << endl;
- exit(0);
- }
- CommandBuffer[0] = '\0';
- nArgc = 0;
- ppArgv = new char * [1];
- ppArgv[0] = NULL;
-
- ComShell = new char [128];
- char* pTemp = getenv("COMMAND_SHELL");
- if(!pTemp)
- strcpy(ComShell,COMMAND_SHELL);
- else
- strcpy(ComShell,pTemp);
-
- strcpy(&ComShell[strlen(ComShell)]," -C ");
-}
-
-/*****************************************************************************/
-CommandLine::CommandLine(const char *CommandString, sal_Bool bWrite)
-/*****************************************************************************/
- : bTmpWrite(bWrite)
-{
- CommandBuffer = new char [1];
- if (CommandBuffer == NULL) {
- //cout << "Error: nospace" << endl;
- exit(0);
- }
- nArgc = 0;
- ppArgv = new char * [1];
- ppArgv[0] = NULL;
-
- ComShell = new char [128];
- char* pTemp = getenv("COMMAND_SHELL");
- if(!pTemp)
- strcpy(ComShell,COMMAND_SHELL);
- else
- strcpy(ComShell,pTemp);
-
- strcpy(&ComShell[strlen(ComShell)]," -C ");
-
- BuildCommand(CommandString);
-}
-
-/*****************************************************************************/
-CommandLine::CommandLine(const CommandLine& CCommandLine, sal_Bool bWrite)
-/*****************************************************************************/
- : bTmpWrite(bWrite)
-{
- CommandBuffer = new char [1];
- if (CommandBuffer == NULL) {
- //cout << "Error: nospace" << endl;
- exit(0);
- }
- nArgc = 0;
- ppArgv = new char * [1];
- ppArgv[0] = NULL;
-
- ComShell = new char [128];
- char* pTemp = getenv("COMMAND_SHELL");
- if(!pTemp)
- strcpy(ComShell,COMMAND_SHELL);
- else
- strcpy(ComShell,pTemp);
-
- strcpy(&ComShell[strlen(ComShell)]," -C ");
-
- BuildCommand(CCommandLine.CommandBuffer);
-}
-
-/*****************************************************************************/
-CommandLine::~CommandLine()
-/*****************************************************************************/
-{
- delete [] CommandBuffer;
- delete [] ComShell;
- //for (int i = 0; ppArgv[i] != '\0'; i++) {
- for (int i = 0; ppArgv[i] != 0; i++) {
- delete [] ppArgv[i];
- }
- delete [] ppArgv;
-
-}
-
-/*****************************************************************************/
-CommandLine& CommandLine::operator=(const CommandLine& CCommandLine)
-/*****************************************************************************/
-{
- strcpy (CommandBuffer, CCommandLine.CommandBuffer);
- for (int i = 0; i != nArgc; i++) {
- delete [] ppArgv[i];
- }
- delete [] ppArgv;
- ppArgv = new char * [1];
- ppArgv[0] = NULL;
- BuildCommand(CommandBuffer);
- return *this;
-}
-
-/*****************************************************************************/
-CommandLine& CommandLine::operator=(const char *CommandString)
-/*****************************************************************************/
-{
- strcpy (CommandBuffer, CommandString);
- for (int i = 0; i != nArgc; i++) {
- delete [] ppArgv[i];
- }
- delete [] ppArgv;
- ppArgv = new char * [1];
- ppArgv[0] = NULL;
- BuildCommand(CommandBuffer);
-
- return *this;
-}
-
-/*****************************************************************************/
-void CommandLine::Print()
-/*****************************************************************************/
-{
- //cout << "******* start print *******" << endl;
- //cout << "nArgc = " << nArgc << endl;
- //cout << "CommandBuffer = " << CommandBuffer << endl;
- for (int i = 0; ppArgv[i] != NULL; i++) {
- //cout << "ppArgv[" << i << "] = " << ppArgv[i] << endl;
- }
- //cout << "******** end print ********" << endl;
-}
-
-/*****************************************************************************/
-void CommandLine::BuildCommand(const char *CommandString)
-/*****************************************************************************/
-{
- int index = 0, pos=0;
- char buffer[1024];
- char WorkString[1024];
-
- strcpy(WorkString,CommandString);
-
- //falls LogWindow -> in tmpfile schreiben
- if(bTmpWrite)
- {
- strcpy(&WorkString[strlen(WorkString)]," >&");
- strcpy(&WorkString[strlen(WorkString)],getenv("TMP"));
- strcpy(&WorkString[strlen(WorkString)],TMPNAME);
- }
-
- // delete old memory and get some new memory for CommandBuffer
-
- delete [] CommandBuffer;
- CommandBuffer = new char [strlen(ComShell)+strlen(WorkString)+1];
- if (CommandBuffer == NULL) {
- //cout << "Error: nospace" << endl;
- exit(0);
- }
- strcpy (CommandBuffer, ComShell);
- strcpy (&CommandBuffer[strlen(ComShell)], WorkString);
-
- CommandString = CommandBuffer;
-
- // get the number of tokens
- Strtokens(CommandString);
-
- // delete the space for the old CommandLine
-
- for (int i = 0; ppArgv[i] != 0; i++) {
- delete [] ppArgv[i];
- }
- delete [] ppArgv;
-
- /* get space for the new command line */
-
- ppArgv = (char **) new char * [nArgc+1];
- if (ppArgv == NULL) {
- //cout << "Error: no space" << endl;
- exit(0);
- }
-
- // flush the white space
-
- while ( isspace(*CommandString) )
- CommandString++;
-
- index = 0;
-
- // start the loop to build all the individual tokens
-
- while (*CommandString != '\0') {
-
- pos = 0;
-
- // copy the token until white space is found
-
- while ( !isspace(*CommandString) && *CommandString != '\0') {
-
- buffer[pos++] = *CommandString++;
-
- }
-
- buffer[pos] = '\0';
-
- // get space for the individual tokens
-
- ppArgv[index] = (char *) new char [strlen(buffer)+1];
- if (ppArgv[index] == NULL) {
- //cout << "Error: nospace" << endl;
- exit(0);
- }
-
- // copy the token
-
- strcpy (ppArgv[index++], buffer);
-
- // flush while space
-
- while ( isspace(*CommandString) )
- CommandString++;
-
- }
-
- // finish by setting the las pointer to NULL
- ppArgv[nArgc]= NULL;
-
-}
-
-/*****************************************************************************/
-void CommandLine::Strtokens(const char *CommandString)
-/*****************************************************************************/
-{
- int count = 0;
- const char *temp;
-
- temp = CommandString;
-
- /* bypass white space */
-
- while (isspace(*temp)) temp++;
-
- for (count=0; *temp != '\0'; count++) {
-
- /* continue until white space of string terminator is found */
-
- while ((!isspace(*temp)) && (*temp != '\0')) temp++;
-
- /* bypass white space */
-
- while (isspace(*temp)) temp++;
-
- }
- nArgc = count;
-}
-
-/*****************************************************************************/
-CCommand::CCommand( ByteString &rString )
-/*****************************************************************************/
-{
- rString.SearchAndReplace( '\t', ' ' );
- aCommand = rString.GetToken( 0, ' ' );
- aCommandLine = Search( "PATH" );
-#ifndef UNX
- aCommandLine += " /c ";
-#else
- aCommandLine += " -c ";
-#endif
-
- ByteString sCmd( rString.GetToken( 0, ' ' ));
- ByteString sParam( rString.Copy( sCmd.Len()));
-
- aCommandLine += Search( "PATH", sCmd );
- aCommandLine += sParam;
-
- ImplInit();
-}
-
-/*****************************************************************************/
-CCommand::CCommand( const char *pChar )
-/*****************************************************************************/
-{
- ByteString aString = pChar;
- aString.SearchAndReplace( '\t', ' ' );
- aCommand = aString.GetToken( 0, ' ' );
-
- aCommandLine = Search( "PATH" );
-#ifndef UNX
- aCommandLine += " /c ";
-#else
- aCommandLine += " -c ";
-#endif
- ByteString rString( pChar );
-
- ByteString sCmd( rString.GetToken( 0, ' ' ));
- ByteString sParam( rString.Copy( sCmd.Len()));
-
- aCommandLine += Search( "PATH", sCmd );
- aCommandLine += sParam;
-
- ImplInit();
-}
-
-/*****************************************************************************/
-void CCommand::ImplInit()
-/*****************************************************************************/
-{
- char pTmpStr[255];
- size_t *pPtr;
- char *pChar;
- int nVoid = sizeof( size_t * );
- nArgc = aCommandLine.GetTokenCount(' ');
- sal_uIntPtr nLen = aCommandLine.Len();
-
- ppArgv = (char **) new char[ (sal_uIntPtr)(nLen + nVoid * (nArgc +2) + nArgc ) ];
- pChar = (char *) ppArgv + ( (1+nArgc) * nVoid );
- pPtr = (size_t *) ppArgv;
- for ( xub_StrLen i=0; i<nArgc; i++ )
- {
- (void) strcpy( pTmpStr, aCommandLine.GetToken(i, ' ' ).GetBuffer() );
- size_t nStrLen = strlen( pTmpStr ) + 1;
- strcpy( pChar, pTmpStr );
- *pPtr = (sal_uIntPtr) pChar;
- pChar += nStrLen;
- pPtr += 1;
-#ifdef UNX
- if ( i == 1 )
- {
- sal_uInt16 nWo = aCommandLine.Search("csh -c ");
- if (nWo != STRING_NOTFOUND)
- aCommandLine.Erase(0, nWo + 7);
- else
- aCommandLine.Erase(0, 16);
- i = nArgc;
- strcpy( pChar, aCommandLine.GetBuffer() );
- *pPtr = (sal_uIntPtr) pChar;
- pPtr += 1;
- }
-#endif
- }
- *pPtr = 0;
-}
-
-/*****************************************************************************/
-CCommand::operator int()
-/*****************************************************************************/
-{
- int nRet;
-#if defined WNT
- nRet = _spawnv( P_WAIT, ppArgv[0], (const char **) ppArgv );
-#elif defined OS2
- nRet = _spawnv( P_WAIT, ppArgv[0], ppArgv );
-#elif defined UNX
- //fprintf( stderr, "CComand : operator (int) not implemented\n");
- // **** Unix Implementierung ***************
- pid_t pid;
-
- if (( pid = fork()) < 0 )
- {
- DBG_ASSERT( sal_False, "fork error" );
- }
- else if ( pid == 0 )
- {
- if ( execv( ppArgv[0], (char * const *) ppArgv ) < 0 )
- {
- DBG_ASSERT( sal_False, "execv failed" );
- }
- }
- //fprintf( stderr, "parent: %s %s\n", ppArgv[0] , ppArgv[1] );
- if ( (nRet = waitpid( pid, NULL, 0 ) < 0) )
- {
- DBG_ASSERT( sal_False, "wait error" );
- }
-#endif
-
- switch ( errno )
- {
- case E2BIG :
- nError = COMMAND_TOOBIG;
- break;
- case EINVAL :
- nError = COMMAND_INVALID;
- break;
- case ENOENT:
- nError = COMMAND_NOTFOUND;
- break;
- case ENOEXEC :
- nError = COMMAND_NOEXEC;
- break;
- case ENOMEM :
- nError = COMMAND_NOMEM;
- break;
- default:
- nError = COMMAND_UNKNOWN;
- }
-
- if ( nRet )
- fprintf( stderr, "Program returned with errros\n");
- return nRet;
-}
-
-/*****************************************************************************/
-ByteString CCommand::Search(ByteString aEnv, ByteString sItem)
-/*****************************************************************************/
-{
- // default wird eine Shell im Path gesucht,
- // wenn aber compsec gestzt ist holen wir uns die
- // Shell von dort
- if ( sItem.Equals( COMMAND_SHELL ))
- {
- ByteString aComspec = GetEnv( "COMSPEC" );
- if ( !aComspec.Equals(""))
- return aComspec;
- }
-
- DirEntry aItem( String( sItem, RTL_TEXTENCODING_ASCII_US ));
- if ( aItem.Exists())
- return sItem;
-
- ByteString aEntry, sReturn;
- ByteString sEnv( aEnv );
- ByteString sEnvironment = GetEnv( sEnv.GetBuffer());
- xub_StrLen nCount = sEnvironment.GetTokenCount( cPathSeperator );
-
- sal_Bool bFound = sal_False;
-
- for ( xub_StrLen i=0; i<nCount && !bFound; i++ )
- {
- aEntry = sEnvironment.GetToken(i, cPathSeperator );
-#ifndef UNX
- aEntry += '\\';
-#else
- aEntry += '/';
-#endif
- aEntry += sItem;
-
- String sEntry( aEntry, RTL_TEXTENCODING_ASCII_US );
- DirEntry aDirEntry( sEntry );
- aDirEntry.ToAbs();
- if ( aDirEntry.Exists()) {
- sReturn = aEntry;
- bFound = sal_True;
- }
- }
- if ( !bFound )
- {
- sEnv = sEnv.ToUpperAscii();
- ByteString sEnvironment2 = GetEnv(sEnv.GetBuffer() );
- xub_StrLen nCount2 = sEnvironment2.GetTokenCount( cPathSeperator );
- for ( xub_StrLen i=0; i<nCount2 && !bFound; i++ )
- {
- aEntry = sEnvironment2.GetToken(i, cPathSeperator );
-#ifndef UNX
- aEntry += '\\';
-#else
- aEntry += '/';
-#endif
- aEntry += sItem;
-
- String sEntry( aEntry, RTL_TEXTENCODING_ASCII_US );
- DirEntry aDirEntry( sEntry );
- aDirEntry.ToAbs();
- if ( aDirEntry.Exists()) {
- sReturn = aEntry;
- bFound = sal_True;
- }
- }
- }
-
- if ( sReturn.Equals( "" ))
- sReturn = sItem;
-
- return sReturn;
-}
-
-/*****************************************************************************/
-CCommandd::CCommandd( ByteString &rString, CommandBits nBits )
-/*****************************************************************************/
- : CCommand( rString ),
- nFlag( nBits )
-{
-}
-
-
-/*****************************************************************************/
-CCommandd::CCommandd( const char *pChar, CommandBits nBits )
-/*****************************************************************************/
- : CCommand( pChar ),
- nFlag( nBits )
-{
-}
-
-/*****************************************************************************/
-CCommandd::operator int()
-/*****************************************************************************/
-{
- int nRet = 0;
-
-#ifdef WNT
- LPCTSTR lpApplicationName = NULL;
- LPTSTR lpCommandLine = (char *) GetCommandLine_().GetBuffer();
- LPSECURITY_ATTRIBUTES lpProcessAttributes = NULL;
- LPSECURITY_ATTRIBUTES lpThreadAttributes = NULL;
- sal_Bool bInheritHandles = sal_True;
-
- // wie wuenschen wir denn gestartet zu werden ??
- DWORD dwCreationFlags;
-
- if ( nFlag & COMMAND_EXECUTE_START )
- dwCreationFlags = DETACHED_PROCESS;
- else
- dwCreationFlags = CREATE_NEW_CONSOLE;
-
- // wir erben vom Vaterprozess
- LPVOID lpEnvironment = NULL;
-
- // das exe im Pfad suchen
- LPCTSTR lpCurrentDirectory = NULL;
-
- // in dieser Struktur bekommen wir die erzeugte Processinfo
- // zurueck
- PROCESS_INFORMATION aProcessInformation;
-
- // weiteres Startupinfo anlegen
- STARTUPINFO aStartupInfo;
-
- aStartupInfo.cb = sizeof( STARTUPINFO );
- aStartupInfo.lpReserved = NULL;
- aStartupInfo.lpDesktop = NULL;
-
- // das Fenster bekommt den Namen des Exes
- aStartupInfo.lpTitle = NULL;
- aStartupInfo.dwX = 100;
- aStartupInfo.dwY = 100;
- //aStartupInfo.dwXSize = 400;
- //aStartupInfo.dwYSize = 400;
- aStartupInfo.dwXCountChars = 40;
- aStartupInfo.dwYCountChars = 40;
-
- // Farben setzen
- aStartupInfo.dwFillAttribute = FOREGROUND_RED | BACKGROUND_RED |
- BACKGROUND_BLUE | BACKGROUND_GREEN;
-
-// aStartupInfo.dwFlags = STARTF_USESTDHANDLES;
- //aStartupInfo.wShowWindow = SW_NORMAL; //SW_SHOWDEFAULT;
- //aStartupInfo.wShowWindow = SW_HIDE; //SW_SHOWNOACTIVATE;
- aStartupInfo.wShowWindow = SW_SHOWNOACTIVATE;
- aStartupInfo.cbReserved2 = NULL;
- aStartupInfo.lpReserved2 = NULL;
- //aStartupInfo.hStdInput = stdin;
- //aStartupInfo.hStdOutput = stdout;
- //aStartupInfo.hStdError = stderr;
-
- if ( nFlag & COMMAND_EXECUTE_HIDDEN )
- {
- aStartupInfo.wShowWindow = SW_HIDE;
- aStartupInfo.dwFlags = aStartupInfo.dwFlags | STARTF_USESHOWWINDOW;
- }
-
- bool bProcess = CreateProcess( lpApplicationName,
- lpCommandLine, lpProcessAttributes,
- lpThreadAttributes, bInheritHandles,
- dwCreationFlags, lpEnvironment, lpCurrentDirectory,
- &aStartupInfo, &aProcessInformation );
-
- LPVOID lpMsgBuf;
-
- if ( bProcess )
- {
- FormatMessage(
- FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
- NULL,
- GetLastError(),
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
- (LPTSTR) &lpMsgBuf,
- 0,
- NULL );
-
- ByteString aErrorString = (char *) lpMsgBuf;
-
- if ( nFlag & COMMAND_EXECUTE_WAIT )
- {
- DWORD aProcessState = STILL_ACTIVE;
- while(aProcessState == STILL_ACTIVE)
- {
- GetExitCodeProcess(aProcessInformation.hProcess,&aProcessState);
- }
- }
- }
- else
- fprintf( stderr, "Can not start Process !" );
-
-#endif
- return nRet;
-}
diff --git a/tools/bootstrp/makefile.mk b/tools/bootstrp/makefile.mk
deleted file mode 100644
index 41188d2117d0..000000000000
--- a/tools/bootstrp/makefile.mk
+++ /dev/null
@@ -1,108 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=tools
-TARGET=btstrp
-TARGET1=bootstrp2
-TARGETTYPE=CUI
-LIBTARGET=NO
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-CDEFS+=-D_TOOLS_STRINGLIST
-
-.IF "$(HAVE_GETOPT)" == "YES"
-CDEFS += -DHAVE_GETOPT
-.ENDIF
-
-# --- Files --------------------------------------------------------
-
-OBJFILES= \
- $(OBJ)$/appdef.obj \
- $(OBJ)$/command.obj \
- $(OBJ)$/cppdep.obj\
- $(OBJ)$/inimgr.obj\
- $(OBJ)$/mkcreate.obj \
- $(OBJ)$/sstring.obj \
- $(OBJ)$/prj.obj
-
-SLOFILES= \
- $(SLO)$/appdef.obj \
- $(SLO)$/command.obj \
- $(SLO)$/cppdep.obj \
- $(SLO)$/inimgr.obj \
- $(SLO)$/mkcreate.obj \
- $(SLO)$/sstring.obj \
- $(SLO)$/prj.obj
-
-
-LIB1TARGET= $(LB)$/$(TARGET).lib
-LIB1ARCHIV= $(LB)$/lib$(TARGET).a
-LIB1OBJFILES=\
- $(OBJ)$/appdef.obj \
- $(OBJ)$/command.obj \
- $(OBJ)$/cppdep.obj \
- $(OBJ)$/inimgr.obj \
- $(OBJ)$/mkcreate.obj \
- $(OBJ)$/sstring.obj
-
-LIB2TARGET= $(LB)$/$(TARGET1).lib
-LIB2ARCHIV= $(LB)$/lib$(TARGET1).a
-LIB2OBJFILES=\
- $(OBJ)$/prj.obj
-
-APP1TARGET= sspretty
-APP1OBJS= $(OBJ)$/sspretty.obj
-APP1LIBS= $(LB)$/$(TARGET).lib $(LB)$/$(TARGET1).lib
-APP1STDLIBS=$(SALLIB) $(VOSLIB) $(TOOLSLIB) $(BASEGFXLIB) $(UCBHELPERLIB) $(CPPULIB) $(COMPHELPERLIB) $(CPPUHELPERLIB) $(SALHELPERLIB) $(I18NISOLANGLIB)
-
-APP2TARGET= rscdep
-APP2OBJS= $(OBJ)$/rscdep.obj
-APP2LIBS= $(LB)$/$(TARGET).lib $(LB)$/$(TARGET1).lib
-APP2STDLIBS= $(SALLIB) $(VOSLIB) $(TOOLSLIB) $(BASEGFXLIB) $(UCBHELPERLIB) $(CPPULIB) $(COMPHELPERLIB) $(I18NISOLANGLIB) $(CPPUHELPERLIB) $(SALHELPERLIB)
-.IF "$(HAVE_GETOPT)" != "YES"
-.IF "$(OS)"=="WNT"
-APP2STDLIBS+=gnu_getopt.lib
-.ENDIF
-.ENDIF
-APP2RPATH= NONE
-APP2RPATH= NONE
-APP2RPATH= NONE
-
-APP3TARGET= so_checksum
-APP3OBJS= $(OBJ)$/md5.obj \
- $(OBJ)$/so_checksum.obj
-APP3STDLIBS= $(TOOLSLIB) $(SALLIB) $(VOSLIB) $(BASEGFXLIB) $(UCBHELPERLIB) $(CPPULIB) $(COMPHELPERLIB) $(I18NISOLANGLIB) $(CPPUHELPERLIB) $(SALHELPERLIB)
-
-DEPOBJFILES = $(APP1OBJS) $(APP2OBJS) $(APP3OBJS)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/bootstrp/prj.cxx b/tools/bootstrp/prj.cxx
index bb62313685a2..b4dee65f9673 100644
--- a/tools/bootstrp/prj.cxx
+++ b/tools/bootstrp/prj.cxx
@@ -29,7 +29,7 @@
#include "precompiled_tools.hxx"
#include <stdlib.h>
#include <stdio.h>
-#include "bootstrp/sstring.hxx"
+//#include "bootstrp/sstring.hxx"
#include <vos/mutex.hxx>
#include <tools/stream.hxx>
@@ -37,6 +37,8 @@
#include "bootstrp/prj.hxx"
#include "bootstrp/inimgr.hxx"
+DECLARE_LIST( UniStringList, UniString* )
+
//#define TEST 1
#if defined(WNT) || defined(OS2)
@@ -47,7 +49,7 @@
#define PATH_DELIMETER '/'
#endif
-Link Star::aDBNotFoundHdl;
+//Link Star::aDBNotFoundHdl;
//
// class SimpleConfig
@@ -167,1434 +169,3 @@ ByteString SimpleConfig::GetCleanedNextLine( sal_Bool bReadComments )
}
-
-//
-// class CommandData
-//
-
-/*****************************************************************************/
-CommandData::CommandData()
-/*****************************************************************************/
-{
- nOSType = 0;
- nCommand = 0;
- pDepList = 0;
-}
-
-/*****************************************************************************/
-CommandData::~CommandData()
-/*****************************************************************************/
-{
- if ( pDepList )
- {
- ByteString *pString = pDepList->First();
- while ( pString )
- {
- delete pString;
- pString = pDepList->Next();
- }
- delete pDepList;
-
- pDepList = NULL;
- }
-}
-
-/*****************************************************************************/
-ByteString CommandData::GetOSTypeString()
-/*****************************************************************************/
-{
- ByteString aRetStr;
-
- switch (nOSType)
- {
- case OS_WIN16 | OS_WIN32 | OS_OS2 | OS_UNX :
- aRetStr = "all";
- break;
- case OS_WIN32 | OS_WIN16 :
- aRetStr = "w";
- break;
- case OS_OS2 :
- aRetStr = "p";
- break;
- case OS_UNX :
- aRetStr = "u";
- break;
- case OS_WIN16 :
- aRetStr = "d";
- break;
- case OS_WIN32 :
- aRetStr = "n";
- break;
- default :
- aRetStr = "none";
- }
-
- return aRetStr;
-}
-
-/*****************************************************************************/
-ByteString CommandData::GetCommandTypeString()
-/*****************************************************************************/
-{
- ByteString aRetStr;
-
- switch (nCommand)
- {
- case COMMAND_NMAKE :
- aRetStr = "nmake";
- break;
- case COMMAND_GET :
- aRetStr = "get";
- break;
- default :
- aRetStr = "usr";
- aRetStr += ByteString::CreateFromInt64( nCommand + 1 - COMMAND_USER_START );
-
- }
-
- return aRetStr;
-}
-
-/*****************************************************************************/
-CommandData* Prj::GetDirectoryList ( sal_uInt16, sal_uInt16 )
-/*****************************************************************************/
-{
- return (CommandData *)NULL;
-}
-
-/*****************************************************************************/
-CommandData* Prj::GetDirectoryData( ByteString aLogFileName )
-/*****************************************************************************/
-{
- CommandData *pData = NULL;
- sal_uIntPtr nObjCount = Count();
- for ( sal_uIntPtr i=0; i<nObjCount; i++ )
- {
- pData = GetObject(i);
- if ( pData->GetLogFile() == aLogFileName )
- return pData;
- }
- return NULL;
-}
-
-//
-// class Prj
-//
-
-/*****************************************************************************/
-Prj::Prj() :
- bVisited( sal_False ),
- pPrjInitialDepList(0),
- pPrjDepList(0),
- bHardDependencies( sal_False ),
- bSorted( sal_False )
-/*****************************************************************************/
-{
-}
-
-/*****************************************************************************/
-Prj::Prj( ByteString aName ) :
- bVisited( sal_False ),
- aProjectName( aName ),
- pPrjInitialDepList(0),
- pPrjDepList(0),
- bHardDependencies( sal_False ),
- bSorted( sal_False )
-/*****************************************************************************/
-{
-}
-
-/*****************************************************************************/
-Prj::~Prj()
-/*****************************************************************************/
-{
- if ( pPrjDepList )
- {
- ByteString *pString = pPrjDepList->First();
- while ( pString )
- {
- delete pString;
- pString = pPrjDepList->Next();
- }
- delete pPrjDepList;
-
- pPrjDepList = NULL;
- }
-
- if ( pPrjInitialDepList )
- {
- ByteString *pString = pPrjInitialDepList->First();
- while ( pString )
- {
- delete pString;
- pString = pPrjInitialDepList->Next();
- }
- delete pPrjInitialDepList;
-
- pPrjInitialDepList = NULL;
- }
-}
-
-/*****************************************************************************/
-void Prj::AddDependencies( ByteString aStr )
-/*****************************************************************************/
-{
-
- // needs dirty flag - not expanded
- if ( !pPrjDepList )
- pPrjDepList = new SByteStringList;
-
- pPrjDepList->PutString( new ByteString(aStr) );
-
- if ( !pPrjInitialDepList )
- pPrjInitialDepList = new SByteStringList;
-
- pPrjInitialDepList->PutString( new ByteString(aStr) );
-}
-
-/*****************************************************************************/
-SByteStringList* Prj::GetDependencies( sal_Bool bExpanded )
-/*****************************************************************************/
-{
- if ( bExpanded )
- return pPrjDepList;
- else
- return pPrjInitialDepList;
-}
-
-
-
-/*****************************************************************************/
-sal_Bool Prj::InsertDirectory ( ByteString aDirName, sal_uInt16 aWhat,
- sal_uInt16 aWhatOS, ByteString aLogFileName,
- const ByteString &rClientRestriction )
-/*****************************************************************************/
-{
- CommandData* pData = new CommandData();
-
- pData->SetPath( aDirName );
- pData->SetCommandType( aWhat );
- pData->SetOSType( aWhatOS );
- pData->SetLogFile( aLogFileName );
- pData->SetClientRestriction( rClientRestriction );
-
- Insert( pData );
-
- return sal_False;
-}
-
-/*****************************************************************************/
-//
-// removes directory and existing dependencies on it
-//
-CommandData* Prj::RemoveDirectory ( ByteString aLogFileName )
-/*****************************************************************************/
-{
- sal_uIntPtr nCountMember = Count();
- CommandData* pData;
- CommandData* pDataFound = NULL;
- SByteStringList* pDataDeps;
-
- for ( sal_uInt16 i = 0; i < nCountMember; i++ )
- {
- pData = GetObject( i );
- if ( pData->GetLogFile() == aLogFileName )
- pDataFound = pData;
- else
- {
- pDataDeps = pData->GetDependencies();
- if ( pDataDeps )
- {
- ByteString* pString;
- sal_uIntPtr nDataDepsCount = pDataDeps->Count();
- for ( sal_uIntPtr j = nDataDepsCount; j > 0; j-- )
- {
- pString = pDataDeps->GetObject( j - 1 );
- if ( pString->GetToken( 0, '.') == aLogFileName )
- pDataDeps->Remove( pString );
- }
- }
- }
- }
-
- Remove( pDataFound );
-
- return pDataFound;
-}
-
-//
-// class Star
-//
-
-/*****************************************************************************/
-Star::Star()
-/*****************************************************************************/
-{
- // this ctor is only used by StarWriter
-}
-
-/*****************************************************************************/
-Star::Star(String aFileName, sal_uInt16 nMode )
-/*****************************************************************************/
- : nStarMode( nMode )
-{
- Read( aFileName );
-}
-
-/*****************************************************************************/
-Star::Star( SolarFileList *pSolarFiles )
-/*****************************************************************************/
- : nStarMode( STAR_MODE_MULTIPLE_PARSE )
-{
- // this ctor is used by StarBuilder to get the information for the whole workspace
- Read( pSolarFiles );
-}
-
-/*****************************************************************************/
-Star::Star( GenericInformationList *pStandLst, ByteString &rVersion,
- sal_Bool bLocal, const char *pSourceRoot )
-/*****************************************************************************/
-{
- ByteString sPath( rVersion );
- String sSrcRoot;
- if ( pSourceRoot )
- sSrcRoot = String::CreateFromAscii( pSourceRoot );
-
-#ifdef UNX
- sPath += "/settings/UNXSOLARLIST";
-#else
- sPath += "/settings/SOLARLIST";
-#endif
- GenericInformation *pInfo = pStandLst->GetInfo( sPath, sal_True );
-
- if( pInfo && pInfo->GetValue().Len()) {
- ByteString sFile( pInfo->GetValue());
- if ( bLocal ) {
- IniManager aIniManager;
- aIniManager.ToLocal( sFile );
- }
- String sFileName( sFile, RTL_TEXTENCODING_ASCII_US );
- nStarMode = STAR_MODE_SINGLE_PARSE;
- Read( sFileName );
- }
- else {
- SolarFileList *pFileList = new SolarFileList();
-
- sPath = rVersion;
- sPath += "/drives";
-
- GenericInformation *pInfo2 = pStandLst->GetInfo( sPath, sal_True );
- if ( pInfo2 && pInfo2->GetSubList()) {
- GenericInformationList *pDrives = pInfo2->GetSubList();
- for ( sal_uIntPtr i = 0; i < pDrives->Count(); i++ ) {
- GenericInformation *pDrive = pDrives->GetObject( i );
- if ( pDrive ) {
- DirEntry aEntry;
- sal_Bool bOk = sal_False;
- if ( sSrcRoot.Len()) {
- aEntry = DirEntry( sSrcRoot );
- bOk = sal_True;
- }
- else {
-#ifdef UNX
- sPath = "UnixVolume";
- GenericInformation *pUnixVolume = pDrive->GetSubInfo( sPath );
- if ( pUnixVolume ) {
- String sRoot( pUnixVolume->GetValue(), RTL_TEXTENCODING_ASCII_US );
- aEntry = DirEntry( sRoot );
- bOk = sal_True;
- }
-#else
- bOk = sal_True;
- String sRoot( *pDrive, RTL_TEXTENCODING_ASCII_US );
- sRoot += String::CreateFromAscii( "\\" );
- aEntry = DirEntry( sRoot );
-#endif
- }
- if ( bOk ) {
- sPath = "projects";
- GenericInformation *pProjectsKey = pDrive->GetSubInfo( sPath, sal_True );
- if ( pProjectsKey ) {
- if ( !sSrcRoot.Len()) {
- sPath = rVersion;
- sPath += "/settings/PATH";
- GenericInformation *pPath = pStandLst->GetInfo( sPath, sal_True );
- if( pPath ) {
- ByteString sAddPath( pPath->GetValue());
-#ifdef UNX
- sAddPath.SearchAndReplaceAll( "\\", "/" );
-#else
- sAddPath.SearchAndReplaceAll( "/", "\\" );
-#endif
- String ssAddPath( sAddPath, RTL_TEXTENCODING_ASCII_US );
- aEntry += DirEntry( ssAddPath );
- }
- }
- GenericInformationList *pProjects = pProjectsKey->GetSubList();
- if ( pProjects ) {
- String sPrjDir( String::CreateFromAscii( "prj" ));
- String sSolarFile( String::CreateFromAscii( "build.lst" ));
-
- for ( sal_uIntPtr j = 0; j < pProjects->Count(); j++ ) {
- ByteString sProject( *pProjects->GetObject( j ));
- String ssProject( sProject, RTL_TEXTENCODING_ASCII_US );
-
- DirEntry aPrjEntry( aEntry );
-
- aPrjEntry += DirEntry( ssProject );
- aPrjEntry += DirEntry( sPrjDir );
- aPrjEntry += DirEntry( sSolarFile );
-
- pFileList->Insert( new String( aPrjEntry.GetFull()), LIST_APPEND );
-
- ByteString sFile( aPrjEntry.GetFull(), RTL_TEXTENCODING_ASCII_US );
- }
- }
- }
- }
- }
- }
- }
- Read( pFileList );
- }
-}
-
-/*****************************************************************************/
-Star::~Star()
-/*****************************************************************************/
-{
-}
-
-/*****************************************************************************/
-sal_Bool Star::NeedsUpdate()
-/*****************************************************************************/
-{
- aMutex.acquire();
- for ( sal_uIntPtr i = 0; i < aLoadedFilesList.Count(); i++ )
- if ( aLoadedFilesList.GetObject( i )->NeedsUpdate()) {
- aMutex.release();
- return sal_True;
- }
-
- aMutex.release();
- return sal_False;
-}
-
-/*****************************************************************************/
-void Star::Read( String &rFileName )
-/*****************************************************************************/
-{
- ByteString aString;
- aFileList.Insert( new String( rFileName ));
-
- DirEntry aEntry( rFileName );
- aEntry.ToAbs();
- aEntry = aEntry.GetPath().GetPath().GetPath();
- sSourceRoot = aEntry.GetFull();
-
- while( aFileList.Count()) {
- StarFile *pFile = new StarFile( *aFileList.GetObject(( sal_uIntPtr ) 0 ));
- if ( pFile->Exists()) {
- SimpleConfig aSolarConfig( *aFileList.GetObject(( sal_uIntPtr ) 0 ));
- while (( aString = aSolarConfig.GetNext()) != "" )
- InsertToken (( char * ) aString.GetBuffer());
- }
- aMutex.acquire();
- aLoadedFilesList.Insert( pFile, LIST_APPEND );
- aMutex.release();
- aFileList.Remove(( sal_uIntPtr ) 0 );
- }
- // resolve all dependencies recursive
- Expand_Impl();
-}
-
-/*****************************************************************************/
-void Star::Read( SolarFileList *pSolarFiles )
-/*****************************************************************************/
-{
- while( pSolarFiles->Count()) {
- ByteString aString;
-
- StarFile *pFile = new StarFile( *pSolarFiles->GetObject(( sal_uIntPtr ) 0 ));
- if ( pFile->Exists()) {
- SimpleConfig aSolarConfig( *pSolarFiles->GetObject(( sal_uIntPtr ) 0 ));
- while (( aString = aSolarConfig.GetNext()) != "" )
- InsertToken (( char * ) aString.GetBuffer());
- }
-
- aMutex.acquire();
- aLoadedFilesList.Insert( pFile, LIST_APPEND );
- aMutex.release();
- delete pSolarFiles->Remove(( sal_uIntPtr ) 0 );
- }
- delete pSolarFiles;
-
- Expand_Impl();
-}
-
-/*****************************************************************************/
-String Star::CreateFileName( String sProject )
-/*****************************************************************************/
-{
- // this method is used to find solarlist parts of nabours (other projects)
- String sPrjDir( String::CreateFromAscii( "prj" ));
- String sSolarFile( String::CreateFromAscii( "build.lst" ));
-
- DirEntry aEntry( sSourceRoot );
- aEntry += DirEntry( sProject );
- aEntry += DirEntry( sPrjDir );
- aEntry += DirEntry( sSolarFile );
-
- if ( !aEntry.Exists() && aDBNotFoundHdl.IsSet())
- aDBNotFoundHdl.Call( &sProject );
-
- return aEntry.GetFull();
-}
-
-/*****************************************************************************/
-void Star::InsertSolarList( String sProject )
-/*****************************************************************************/
-{
- // inserts a new solarlist part of another project
- String sFileName( CreateFileName( sProject ));
-
- for ( sal_uIntPtr i = 0; i < aFileList.Count(); i++ ) {
- if (( *aFileList.GetObject( i )) == sFileName )
- return;
- }
-
- ByteString ssProject( sProject, RTL_TEXTENCODING_ASCII_US );
- if ( HasProject( ssProject ))
- return;
-
- aFileList.Insert( new String( sFileName ), LIST_APPEND );
-}
-
-/*****************************************************************************/
-void Star::ExpandPrj_Impl( Prj *pPrj, Prj *pDepPrj )
-/*****************************************************************************/
-{
- if ( pDepPrj->bVisited )
- return;
-
- pDepPrj->bVisited = sal_True;
-
- SByteStringList* pPrjLst = pPrj->GetDependencies();
- SByteStringList* pDepLst = NULL;
- ByteString* pDepend;
- ByteString* pPutStr;
- Prj *pNextPrj = NULL;
- sal_uIntPtr i, nRetPos;
-
- if ( pPrjLst ) {
- pDepLst = pDepPrj->GetDependencies();
- if ( pDepLst ) {
- for ( i = 0; i < pDepLst->Count(); i++ ) {
- pDepend = pDepLst->GetObject( i );
- pPutStr = new ByteString( *pDepend );
- nRetPos = pPrjLst->PutString( pPutStr );
- if( nRetPos == NOT_THERE )
- delete pPutStr;
- pNextPrj = GetPrj( *pDepend );
- if ( pNextPrj ) {
- ExpandPrj_Impl( pPrj, pNextPrj );
- }
- }
- }
- }
-}
-
-/*****************************************************************************/
-void Star::Expand_Impl()
-/*****************************************************************************/
-{
- for ( sal_uIntPtr i = 0; i < Count(); i++ ) {
- for ( sal_uIntPtr j = 0; j < Count(); j++ )
- GetObject( j )->bVisited = sal_False;
-
- Prj* pPrj = GetObject( i );
- ExpandPrj_Impl( pPrj, pPrj );
- }
-}
-
-/*****************************************************************************/
-void Star::InsertToken ( char *yytext )
-/*****************************************************************************/
-{
- static int i = 0;
- static ByteString aDirName, aWhat, aWhatOS,
- sClientRestriction, aLogFileName, aProjectName, aPrefix, aCommandPara;
- static sal_Bool bPrjDep = sal_False;
- static sal_Bool bHardDep = sal_False;
- static sal_uInt16 nCommandType, nOSType;
- CommandData* pCmdData;
- static SByteStringList *pStaticDepList;
- Prj* pPrj;
-
- switch (i)
- {
- case 0:
- aPrefix = yytext;
- pStaticDepList = 0;
- break;
- case 1:
- aDirName = yytext;
- break;
- case 2:
- if ( !strcmp( yytext, ":" ))
- {
- bPrjDep = sal_True;
- bHardDep = sal_False;
- i = 9;
- }
- else if ( !strcmp( yytext, "::" ))
- {
- bPrjDep = sal_True;
- bHardDep = sal_True;
- i = 9;
- }
- else
- {
- bPrjDep = sal_False;
- bHardDep = sal_False;
-
- aWhat = yytext;
- if ( aWhat == "nmake" )
- nCommandType = COMMAND_NMAKE;
- else if ( aWhat == "get" )
- nCommandType = COMMAND_GET;
- else {
- sal_uIntPtr nOffset = aWhat.Copy( 3 ).ToInt32();
- nCommandType = sal::static_int_cast< sal_uInt16 >(
- COMMAND_USER_START + nOffset - 1);
- }
- }
- break;
- case 3:
- if ( !bPrjDep )
- {
- aWhat = yytext;
- if ( aWhat == "-" )
- {
- aCommandPara = ByteString();
- }
- else
- aCommandPara = aWhat;
- }
- break;
- case 4:
- if ( !bPrjDep )
- {
- aWhatOS = yytext;
- if ( aWhatOS.GetTokenCount( ',' ) > 1 ) {
- sClientRestriction = aWhatOS.Copy( aWhatOS.GetToken( 0, ',' ).Len() + 1 );
- aWhatOS = aWhatOS.GetToken( 0, ',' );
- }
- if ( aWhatOS == "all" )
- nOSType = ( OS_WIN16 | OS_WIN32 | OS_OS2 | OS_UNX );
- else if ( aWhatOS == "w" )
- nOSType = ( OS_WIN16 | OS_WIN32 );
- else if ( aWhatOS == "p" )
- nOSType = OS_OS2;
- else if ( aWhatOS == "u" )
- nOSType = OS_UNX;
- else if ( aWhatOS == "d" )
- nOSType = OS_WIN16;
- else if ( aWhatOS == "n" )
- nOSType = OS_WIN32;
- else
- nOSType = OS_NONE;
- }
- break;
- case 5:
- if ( !bPrjDep )
- {
- aLogFileName = yytext;
- }
- break;
- default:
- if ( !bPrjDep )
- {
- ByteString aItem = yytext;
- if ( aItem == "NULL" )
- {
- // Liste zu Ende
- i = -1;
- }
- else
- {
- // ggfs. Dependency liste anlegen und ergaenzen
- if ( !pStaticDepList )
- pStaticDepList = new SByteStringList;
- pStaticDepList->PutString( new ByteString( aItem ));
- }
- }
- else
- {
- ByteString aItem = yytext;
- if ( aItem == "NULL" )
- {
- // Liste zu Ende
- i = -1;
- bPrjDep= sal_False;
- }
- else
- {
- aProjectName = aDirName.GetToken ( 0, '\\');
- if ( HasProject( aProjectName ))
- {
- pPrj = GetPrj( aProjectName );
- // Projekt exist. schon, neue Eintraege anhaengen
- }
- else
- {
- // neues Project anlegen
- pPrj = new Prj ( aProjectName );
- pPrj->SetPreFix( aPrefix );
- Insert(pPrj,LIST_APPEND);
- }
- pPrj->AddDependencies( aItem );
- pPrj->HasHardDependencies( bHardDep );
-
- if ( nStarMode == STAR_MODE_RECURSIVE_PARSE ) {
- String sItem( aItem, RTL_TEXTENCODING_ASCII_US );
- InsertSolarList( sItem );
- }
- }
- }
- break;
- }
- /* Wenn dieses Project noch nicht vertreten ist, in die Liste
- der Solar-Projekte einfuegen */
- if ( i == -1 )
- {
- aProjectName = aDirName.GetToken ( 0, '\\');
- if ( HasProject( aProjectName ))
- {
- pPrj = GetPrj( aProjectName );
- // Projekt exist. schon, neue Eintraege anhaengen
- }
- else
- {
- // neues Project anlegen
- pPrj = new Prj ( aProjectName );
- pPrj->SetPreFix( aPrefix );
- Insert(pPrj,LIST_APPEND);
- }
-
- pCmdData = new CommandData;
- pCmdData->SetPath( aDirName );
- pCmdData->SetCommandType( nCommandType );
- pCmdData->SetCommandPara( aCommandPara );
- pCmdData->SetOSType( nOSType );
- pCmdData->SetLogFile( aLogFileName );
- pCmdData->SetClientRestriction( sClientRestriction );
- if ( pStaticDepList )
- pCmdData->SetDependencies( pStaticDepList );
-
- pStaticDepList = 0;
- pPrj->Insert ( pCmdData, LIST_APPEND );
- aDirName ="";
- aWhat ="";
- aWhatOS = "";
- sClientRestriction = "";
- aLogFileName = "";
- nCommandType = 0;
- nOSType = 0;
- }
- i++;
-
- // und wer raeumt die depLst wieder ab ?
-}
-
-/*****************************************************************************/
-sal_Bool Star::HasProject ( ByteString aProjectName )
-/*****************************************************************************/
-{
- Prj *pPrj;
- int nCountMember;
-
- nCountMember = Count();
-
- for ( int i=0; i<nCountMember; i++)
- {
- pPrj = GetObject(i);
- if ( pPrj->GetProjectName().EqualsIgnoreCaseAscii(aProjectName) )
- return sal_True;
- }
- return sal_False;
-}
-
-/*****************************************************************************/
-Prj* Star::GetPrj ( ByteString aProjectName )
-/*****************************************************************************/
-{
- Prj* pPrj;
- int nCountMember = Count();
- for ( int i=0;i<nCountMember;i++)
- {
- pPrj = GetObject(i);
- if ( pPrj->GetProjectName().EqualsIgnoreCaseAscii(aProjectName) )
- return pPrj;
- }
-// return (Prj*)NULL;
- return 0L ;
-}
-
-/*****************************************************************************/
-ByteString Star::GetPrjName( DirEntry &aPath )
-/*****************************************************************************/
-{
- ByteString aRetPrj, aDirName;
- ByteString aFullPathName = ByteString( aPath.GetFull(), gsl_getSystemTextEncoding());
-
- xub_StrLen nToken = aFullPathName.GetTokenCount(PATH_DELIMETER);
- for ( xub_StrLen i=0; i< nToken; i++ )
- {
- aDirName = aFullPathName.GetToken( i, PATH_DELIMETER );
- if ( HasProject( aDirName ))
- {
- aRetPrj = aDirName;
- break;
- }
- }
-
- return aRetPrj;
-}
-
-
-//
-// class StarWriter
-//
-
-/*****************************************************************************/
-StarWriter::StarWriter( String aFileName, sal_Bool bReadComments, sal_uInt16 nMode )
-/*****************************************************************************/
-{
- Read ( aFileName, bReadComments, nMode );
-}
-
-/*****************************************************************************/
-StarWriter::StarWriter( SolarFileList *pSolarFiles, sal_Bool bReadComments )
-/*****************************************************************************/
-{
- Read( pSolarFiles, bReadComments );
-}
-
-/*****************************************************************************/
-StarWriter::StarWriter( GenericInformationList *pStandLst, ByteString &rVersion,
- sal_Bool bLocal, const char *pSourceRoot )
-/*****************************************************************************/
-{
- ByteString sPath( rVersion );
- String sSrcRoot;
- if ( pSourceRoot )
- sSrcRoot = String::CreateFromAscii( pSourceRoot );
-
-#ifdef UNX
- sPath += "/settings/UNXSOLARLIST";
-#else
- sPath += "/settings/SOLARLIST";
-#endif
- GenericInformation *pInfo = pStandLst->GetInfo( sPath, sal_True );
-
- if( pInfo && pInfo->GetValue().Len()) {
- ByteString sFile( pInfo->GetValue());
- if ( bLocal ) {
- IniManager aIniManager;
- aIniManager.ToLocal( sFile );
- }
- String sFileName( sFile, RTL_TEXTENCODING_ASCII_US );
- nStarMode = STAR_MODE_SINGLE_PARSE;
- Read( sFileName );
- }
- else {
- SolarFileList *pFileList = new SolarFileList();
-
- sPath = rVersion;
- sPath += "/drives";
-
- GenericInformation *pInfo2 = pStandLst->GetInfo( sPath, sal_True );
- if ( pInfo2 && pInfo2->GetSubList()) {
- GenericInformationList *pDrives = pInfo2->GetSubList();
- for ( sal_uIntPtr i = 0; i < pDrives->Count(); i++ ) {
- GenericInformation *pDrive = pDrives->GetObject( i );
- if ( pDrive ) {
- DirEntry aEntry;
- sal_Bool bOk = sal_False;
- if ( sSrcRoot.Len()) {
- aEntry = DirEntry( sSrcRoot );
- bOk = sal_True;
- }
- else {
-#ifdef UNX
- sPath = "UnixVolume";
- GenericInformation *pUnixVolume = pDrive->GetSubInfo( sPath );
- if ( pUnixVolume ) {
- String sRoot( pUnixVolume->GetValue(), RTL_TEXTENCODING_ASCII_US );
- aEntry = DirEntry( sRoot );
- bOk = sal_True;
- }
-#else
- bOk = sal_True;
- String sRoot( *pDrive, RTL_TEXTENCODING_ASCII_US );
- sRoot += String::CreateFromAscii( "\\" );
- aEntry = DirEntry( sRoot );
-#endif
- }
- if ( bOk ) {
- sPath = "projects";
- GenericInformation *pProjectsKey = pDrive->GetSubInfo( sPath, sal_True );
- if ( pProjectsKey ) {
- if ( !sSrcRoot.Len()) {
- sPath = rVersion;
- sPath += "/settings/PATH";
- GenericInformation *pPath = pStandLst->GetInfo( sPath, sal_True );
- if( pPath ) {
- ByteString sAddPath( pPath->GetValue());
-#ifdef UNX
- sAddPath.SearchAndReplaceAll( "\\", "/" );
-#else
- sAddPath.SearchAndReplaceAll( "/", "\\" );
-#endif
- String ssAddPath( sAddPath, RTL_TEXTENCODING_ASCII_US );
- aEntry += DirEntry( ssAddPath );
- }
- }
- GenericInformationList *pProjects = pProjectsKey->GetSubList();
- if ( pProjects ) {
- String sPrjDir( String::CreateFromAscii( "prj" ));
- String sSolarFile( String::CreateFromAscii( "build.lst" ));
-
- for ( sal_uIntPtr j = 0; j < pProjects->Count(); j++ ) {
- ByteString sProject( *pProjects->GetObject( j ));
- String ssProject( sProject, RTL_TEXTENCODING_ASCII_US );
-
- DirEntry aPrjEntry( aEntry );
-
- aPrjEntry += DirEntry( ssProject );
- aPrjEntry += DirEntry( sPrjDir );
- aPrjEntry += DirEntry( sSolarFile );
-
- pFileList->Insert( new String( aPrjEntry.GetFull()), LIST_APPEND );
-
- ByteString sFile( aPrjEntry.GetFull(), RTL_TEXTENCODING_ASCII_US );
- fprintf( stdout, "%s\n", sFile.GetBuffer());
- }
- }
- }
- }
- }
- }
- }
- Read( pFileList );
- }
-}
-
-/*****************************************************************************/
-void StarWriter::CleanUp()
-/*****************************************************************************/
-{
- Expand_Impl();
-}
-
-/*****************************************************************************/
-sal_uInt16 StarWriter::Read( String aFileName, sal_Bool bReadComments, sal_uInt16 nMode )
-/*****************************************************************************/
-{
- nStarMode = nMode;
-
- ByteString aString;
- aFileList.Insert( new String( aFileName ));
-
- DirEntry aEntry( aFileName );
- aEntry.ToAbs();
- aEntry = aEntry.GetPath().GetPath().GetPath();
- sSourceRoot = aEntry.GetFull();
-
- while( aFileList.Count()) {
-
- StarFile *pFile = new StarFile( *aFileList.GetObject(( sal_uIntPtr ) 0 ));
- if ( pFile->Exists()) {
- SimpleConfig aSolarConfig( *aFileList.GetObject(( sal_uIntPtr ) 0 ));
- while (( aString = aSolarConfig.GetCleanedNextLine( bReadComments )) != "" )
- InsertTokenLine ( aString );
- }
-
- aMutex.acquire();
- aLoadedFilesList.Insert( pFile, LIST_APPEND );
- aMutex.release();
- delete aFileList.Remove(( sal_uIntPtr ) 0 );
- }
- // resolve all dependencies recursive
- Expand_Impl();
-
- // Die gefundenen Abhaengigkeiten rekursiv aufloesen
- Expand_Impl();
- return 0;
-}
-
-/*****************************************************************************/
-sal_uInt16 StarWriter::Read( SolarFileList *pSolarFiles, sal_Bool bReadComments )
-/*****************************************************************************/
-{
- nStarMode = STAR_MODE_MULTIPLE_PARSE;
-
- // this ctor is used by StarBuilder to get the information for the whole workspace
- while( pSolarFiles->Count()) {
- ByteString aString;
-
- StarFile *pFile = new StarFile( *pSolarFiles->GetObject(( sal_uIntPtr ) 0 ));
- if ( pFile->Exists()) {
- SimpleConfig aSolarConfig( *pSolarFiles->GetObject(( sal_uIntPtr ) 0 ));
- while (( aString = aSolarConfig.GetCleanedNextLine( bReadComments )) != "" )
- InsertTokenLine ( aString );
- }
-
- aMutex.acquire();
- aLoadedFilesList.Insert( pFile, LIST_APPEND );
- aMutex.release();
- delete pSolarFiles->Remove(( sal_uIntPtr ) 0 );
- }
- delete pSolarFiles;
-
- Expand_Impl();
- return 0;
-}
-
-/*****************************************************************************/
-sal_uInt16 StarWriter::WritePrj( Prj *pPrj, SvFileStream& rStream )
-/*****************************************************************************/
-{
- ByteString aDataString;
- ByteString aTab('\t');
- ByteString aSpace(' ');
- ByteString aEmptyString("");
- SByteStringList* pCmdDepList;
-
- CommandData* pCmdData = NULL;
- if ( pPrj->Count() > 0 )
- {
- pCmdData = pPrj->First();
- SByteStringList* pPrjDepList = pPrj->GetDependencies( sal_False );
- if ( pPrjDepList != 0 )
- {
- aDataString = pPrj->GetPreFix();
- aDataString += aTab;
- aDataString += pPrj->GetProjectName();
- aDataString += aTab;
- if ( pPrj->HasHardDependencies())
- aDataString+= ByteString("::");
- else
- aDataString+= ByteString(":");
- aDataString += aTab;
- for ( sal_uInt16 i = 0; i< pPrjDepList->Count(); i++ ) {
- aDataString += *pPrjDepList->GetObject( i );
- aDataString += aSpace;
- }
- aDataString+= "NULL";
-
- rStream.WriteLine( aDataString );
-
- pCmdData = pPrj->Next();
- }
- if ( pCmdData ) {
- do
- {
- if (( aDataString = pCmdData->GetComment()) == aEmptyString )
- {
- aDataString = pPrj->GetPreFix();
- aDataString += aTab;
-
- aDataString+= pCmdData->GetPath();
- aDataString += aTab;
- sal_uInt16 nPathLen = pCmdData->GetPath().Len();
- if ( nPathLen < 40 )
- for ( int i = 0; i < 9 - pCmdData->GetPath().Len() / 4 ; i++ )
- aDataString += aTab;
- else
- for ( int i = 0; i < 12 - pCmdData->GetPath().Len() / 4 ; i++ )
- aDataString += aTab;
- aDataString += pCmdData->GetCommandTypeString();
- aDataString += aTab;
- if ( pCmdData->GetCommandType() == COMMAND_GET )
- aDataString += aTab;
- if ( pCmdData->GetCommandPara() == aEmptyString )
- aDataString+= ByteString("-");
- else
- aDataString+= pCmdData->GetCommandPara();
- aDataString += aTab;
- aDataString+= pCmdData->GetOSTypeString();
- if ( pCmdData->GetClientRestriction().Len()) {
- aDataString += ByteString( "," );
- aDataString += pCmdData->GetClientRestriction();
- }
- aDataString += aTab;
- aDataString += pCmdData->GetLogFile();
- aDataString += aSpace;
-
- pCmdDepList = pCmdData->GetDependencies();
- if ( pCmdDepList )
- for ( sal_uInt16 i = 0; i< pCmdDepList->Count(); i++ ) {
- aDataString += *pCmdDepList->GetObject( i );
- aDataString += aSpace;
- }
- aDataString += "NULL";
- }
-
- rStream.WriteLine( aDataString );
-
- pCmdData = pPrj->Next();
- } while ( pCmdData );
- }
- }
- return 0;
-}
-
-/*****************************************************************************/
-sal_uInt16 StarWriter::Write( String aFileName )
-/*****************************************************************************/
-{
- SvFileStream aFileStream;
-
- aFileStream.Open( aFileName, STREAM_WRITE | STREAM_TRUNC);
-
- if ( Count() > 0 )
- {
- Prj* pPrj = First();
- do
- {
- WritePrj( pPrj, aFileStream );
- pPrj = Next();
- } while ( pPrj );
- }
-
- aFileStream.Close();
-
- return 0;
-}
-
-/*****************************************************************************/
-sal_uInt16 StarWriter::WriteMultiple( String rSourceRoot )
-/*****************************************************************************/
-{
- if ( Count() > 0 )
- {
- String sPrjDir( String::CreateFromAscii( "prj" ));
- String sSolarFile( String::CreateFromAscii( "build.lst" ));
-
- Prj* pPrj = First();
- do
- {
- String sName( pPrj->GetProjectName(), RTL_TEXTENCODING_ASCII_US );
-
- DirEntry aEntry( rSourceRoot );
- aEntry += DirEntry( sName );
- aEntry += DirEntry( sPrjDir );
- aEntry += DirEntry( sSolarFile );
-
- SvFileStream aFileStream;
- aFileStream.Open( aEntry.GetFull(), STREAM_WRITE | STREAM_TRUNC);
-
- WritePrj( pPrj, aFileStream );
-
- aFileStream.Close();
-
- pPrj = Next();
- } while ( pPrj );
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-void StarWriter::InsertTokenLine ( ByteString& rString )
-/*****************************************************************************/
-{
- int i = 0;
- ByteString aWhat, aWhatOS,
- sClientRestriction, aLogFileName, aProjectName, aPrefix, aCommandPara;
- static ByteString aDirName;
- sal_Bool bPrjDep = sal_False;
- sal_Bool bHardDep = sal_False;
- sal_uInt16 nCommandType = 0;
- sal_uInt16 nOSType = 0;
- CommandData* pCmdData;
- SByteStringList *pDepList2 = NULL;
- Prj* pPrj;
-
- ByteString aEmptyString;
- ByteString aToken = rString.GetToken( 0, '\t' );
- ByteString aCommentString;
-
- const char* yytext = aToken.GetBuffer();
-
- while ( !( aToken == aEmptyString ) )
- {
- switch (i)
- {
- case 0:
- if ( rString.Search( "#" ) == 0 )
- {
- i = -1;
- aCommentString = rString;
- rString = aEmptyString;
- if ( Count() == 0 )
- aDirName = "null_entry" ; //comments at begin of file
- break;
- }
- aPrefix = yytext;
- pDepList2 = NULL;
- break;
- case 1:
- aDirName = yytext;
- break;
- case 2:
- if ( !strcmp( yytext, ":" ))
- {
- bPrjDep = sal_True;
- bHardDep = sal_False;
- i = 9;
- }
- else if ( !strcmp( yytext, "::" ))
- {
- bPrjDep = sal_True;
- bHardDep = sal_True;
- i = 9;
- }
- else
- {
- bPrjDep = sal_False;
- bHardDep = sal_False;
-
- aWhat = yytext;
- if ( aWhat == "nmake" )
- nCommandType = COMMAND_NMAKE;
- else if ( aWhat == "get" )
- nCommandType = COMMAND_GET;
- else {
- sal_uIntPtr nOffset = aWhat.Copy( 3 ).ToInt32();
- nCommandType = sal::static_int_cast< sal_uInt16 >(
- COMMAND_USER_START + nOffset - 1);
- }
- }
- break;
- case 3:
- if ( !bPrjDep )
- {
- aWhat = yytext;
- if ( aWhat == "-" )
- {
- aCommandPara = ByteString();
- }
- else
- aCommandPara = aWhat;
- }
- break;
- case 4:
- if ( !bPrjDep )
- {
- aWhatOS = yytext;
- if ( aWhatOS.GetTokenCount( ',' ) > 1 ) {
- sClientRestriction = aWhatOS.Copy( aWhatOS.GetToken( 0, ',' ).Len() + 1 );
- aWhatOS = aWhatOS.GetToken( 0, ',' );
- }
- aWhatOS = aWhatOS.GetToken( 0, ',' );
- if ( aWhatOS == "all" )
- nOSType = ( OS_WIN16 | OS_WIN32 | OS_OS2 | OS_UNX );
- else if ( aWhatOS == "w" )
- nOSType = ( OS_WIN16 | OS_WIN32 );
- else if ( aWhatOS == "p" )
- nOSType = OS_OS2;
- else if ( aWhatOS == "u" )
- nOSType = OS_UNX;
- else if ( aWhatOS == "d" )
- nOSType = OS_WIN16;
- else if ( aWhatOS == "n" )
- nOSType = OS_WIN32;
- else
- nOSType = OS_NONE;
- }
- break;
- case 5:
- if ( !bPrjDep )
- {
- aLogFileName = yytext;
- }
- break;
- default:
- if ( !bPrjDep )
- {
- ByteString aItem = yytext;
- if ( aItem == "NULL" )
- {
- // Liste zu Ende
- i = -1;
- }
- else
- {
- // ggfs. Dependency liste anlegen und ergaenzen
- if ( !pDepList2 )
- pDepList2 = new SByteStringList;
- pDepList2->PutString( new ByteString( aItem ));
- }
- }
- else
- {
- ByteString aItem = yytext;
- if ( aItem == "NULL" )
- {
- // Liste zu Ende
- i = -1;
- bPrjDep= sal_False;
- }
- else
- {
- aProjectName = aDirName.GetToken ( 0, '\\');
- if ( HasProject( aProjectName ))
- {
- pPrj = GetPrj( aProjectName );
- // Projekt exist. schon, neue Eintraege anhaengen
- }
- else
- {
- // neues Project anlegen
- pPrj = new Prj ( aProjectName );
- pPrj->SetPreFix( aPrefix );
- Insert(pPrj,LIST_APPEND);
- }
- pPrj->AddDependencies( aItem );
- pPrj->HasHardDependencies( bHardDep );
-
- if ( nStarMode == STAR_MODE_RECURSIVE_PARSE ) {
- String sItem( aItem, RTL_TEXTENCODING_ASCII_US );
- InsertSolarList( sItem );
- }
- }
-
- }
- break;
- }
- /* Wenn dieses Project noch nicht vertreten ist, in die Liste
- der Solar-Projekte einfuegen */
- if ( i == -1 )
- {
- aProjectName = aDirName.GetToken ( 0, '\\');
- if ( HasProject( aProjectName ))
- {
- pPrj = GetPrj( aProjectName );
- // Projekt exist. schon, neue Eintraege anhaengen
- }
- else
- {
- // neues Project anlegen
- pPrj = new Prj ( aProjectName );
- pPrj->SetPreFix( aPrefix );
- Insert(pPrj,LIST_APPEND);
- }
-
- pCmdData = new CommandData;
- pCmdData->SetPath( aDirName );
- pCmdData->SetCommandType( nCommandType );
- pCmdData->SetCommandPara( aCommandPara );
- pCmdData->SetOSType( nOSType );
- pCmdData->SetLogFile( aLogFileName );
- pCmdData->SetComment( aCommentString );
- pCmdData->SetClientRestriction( sClientRestriction );
- if ( pDepList2 )
- pCmdData->SetDependencies( pDepList2 );
-
- pPrj->Insert ( pCmdData, LIST_APPEND );
-
- }
- i++;
-
- rString.Erase(0, aToken.Len()+1);
- aToken = rString.GetToken( 0, '\t' );
- yytext = aToken.GetBuffer();
-
- }
- // und wer raeumt die depLst wieder ab ?
-}
-
-/*****************************************************************************/
-sal_Bool StarWriter::InsertProject ( Prj* )
-/*****************************************************************************/
-{
- return sal_False;
-}
-
-/*****************************************************************************/
-Prj* StarWriter::RemoveProject ( ByteString aProjectName )
-/*****************************************************************************/
-{
- sal_uIntPtr nCountMember = Count();
- Prj* pPrj;
- Prj* pPrjFound = NULL;
- SByteStringList* pPrjDeps;
-
- for ( sal_uInt16 i = 0; i < nCountMember; i++ )
- {
- pPrj = GetObject( i );
- if ( pPrj->GetProjectName() == aProjectName )
- pPrjFound = pPrj;
- else
- {
- pPrjDeps = pPrj->GetDependencies( sal_False );
- if ( pPrjDeps )
- {
- ByteString* pString;
- sal_uIntPtr nPrjDepsCount = pPrjDeps->Count();
- for ( sal_uIntPtr j = nPrjDepsCount; j > 0; j-- )
- {
- pString = pPrjDeps->GetObject( j - 1 );
- if ( pString->GetToken( 0, '.') == aProjectName )
- pPrjDeps->Remove( pString );
- }
- }
- }
- }
-
- Remove( pPrjFound );
-
- return pPrjFound;
-}
-
-//
-// class StarFile
-//
-
-/*****************************************************************************/
-StarFile::StarFile( const String &rFile )
-/*****************************************************************************/
- : aFileName( rFile )
-{
- DirEntry aEntry( aFileName );
- if ( aEntry.Exists()) {
- bExists = sal_True;
- FileStat aStat( aEntry );
- aDate = aStat.DateModified();
- aTime = aStat.TimeModified();
- }
- else
- bExists = sal_False;
-}
-
-/*****************************************************************************/
-sal_Bool StarFile::NeedsUpdate()
-/*****************************************************************************/
-{
- DirEntry aEntry( aFileName );
- if ( aEntry.Exists()) {
- if ( !bExists ) {
- bExists = sal_True;
- return sal_True;
- }
- FileStat aStat( aEntry );
- if (( aStat.DateModified() > aDate ) ||
- (( aStat.DateModified() == aDate ) && ( aStat.TimeModified() > aTime )))
- return sal_True;
- }
- return sal_False;
-}
-
diff --git a/tools/bootstrp/rscdep.cxx b/tools/bootstrp/rscdep.cxx
index d119b6f2f181..e25eea2e0c8e 100644
--- a/tools/bootstrp/rscdep.cxx
+++ b/tools/bootstrp/rscdep.cxx
@@ -80,7 +80,7 @@ void RscHrcDep::Execute()
//static String aDelim;
-SAL_IMPLEMENT_MAIN_WITH_ARGS( argc, argv )
+int main( int argc, char** argv )
{
int c;
char aBuf[255];
diff --git a/tools/bootstrp/sstring.cxx b/tools/bootstrp/sstring.cxx
deleted file mode 100644
index b8e70a6272e2..000000000000
--- a/tools/bootstrp/sstring.cxx
+++ /dev/null
@@ -1,317 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_tools.hxx"
-
-#ifndef _TOOLS_STRINGLIST
-# define _TOOLS_STRINGLIST
-#endif
-
-#define ENABLE_BYTESTRING_STREAM_OPERATORS
-#include <tools/stream.hxx>
-#include "bootstrp/sstring.hxx"
-
-SByteStringList::SByteStringList()
-{
-}
-
-SByteStringList::~SByteStringList()
-{
-}
-
-sal_uIntPtr SByteStringList::IsString( ByteString* pStr )
-{
- sal_uIntPtr nRet = NOT_THERE;
- if ( (nRet = GetPrevString( pStr )) != 0 )
- {
- ByteString* pString = GetObject( nRet );
- if ( *pString == *pStr )
- return nRet;
- else
- return NOT_THERE;
- }
- else
- {
- ByteString* pString = GetObject( 0 );
- if ( pString && (*pString == *pStr) )
- return 0;
- else
- return NOT_THERE;
- }
-}
-
-sal_uIntPtr SByteStringList::GetPrevString( ByteString* pStr )
-{
- sal_uIntPtr nRet = 0;
- sal_Bool bFound = sal_False;
- sal_uIntPtr nCountMember = Count();
- sal_uIntPtr nUpper = nCountMember;
- sal_uIntPtr nLower = 0;
- sal_uIntPtr nCurrent = nUpper / 2;
- sal_uIntPtr nRem = 0;
- ByteString* pString;
-
- do
- {
- if ( (nCurrent == nLower) || (nCurrent == nUpper) )
- return nLower;
- pString = GetObject( nCurrent );
- StringCompare nResult = pStr->CompareTo( *pString );
- if ( nResult == COMPARE_LESS )
- {
- nUpper = nCurrent;
- nCurrent = (nCurrent + nLower) /2;
- }
- else if ( nResult == COMPARE_GREATER )
- {
- nLower = nCurrent;
- nCurrent = (nUpper + nCurrent) /2;
- }
- else if ( nResult == COMPARE_EQUAL )
- return nCurrent;
- if ( nRem == nCurrent )
- return nCurrent;
- nRem = nCurrent;
- }
- while ( !bFound );
- return nRet;
-}
-
-/**************************************************************************
-*
-* Sortiert einen ByteString in die Liste ein und gibt die Position,
-* an der einsortiert wurde, zurueck
-*
-**************************************************************************/
-
-sal_uIntPtr SByteStringList::PutString( ByteString* pStr )
-{
- sal_uIntPtr nPos = GetPrevString ( pStr );
- if ( Count() )
- {
- {
- ByteString* pString = GetObject( 0 );
- if ( pString->CompareTo( *pStr ) == COMPARE_GREATER )
- {
- Insert( pStr, (sal_uIntPtr)0 );
- return (sal_uIntPtr)0;
- }
- }
- ByteString* pString = GetObject( nPos );
- if ( *pStr != *pString )
- {
- Insert( pStr, nPos+1 );
- return ( nPos +1 );
- }
- }
- else
- {
- Insert( pStr );
- return (sal_uIntPtr)0;
- }
-
- return NOT_THERE;
-}
-
-ByteString* SByteStringList::RemoveString( const ByteString& rName )
-{
- sal_uIntPtr i;
- ByteString* pReturn;
-
- for( i = 0 ; i < Count(); i++ )
- {
- if ( rName == *GetObject( i ) )
- {
- pReturn = GetObject(i);
- Remove(i);
- return pReturn;
- }
- }
-
- return NULL;
-}
-
-void SByteStringList::CleanUp()
-{
- ByteString* pByteString = First();
- while (pByteString) {
- delete pByteString;
- pByteString = Next();
- }
- Clear();
-}
-
-SByteStringList& SByteStringList::operator<< ( SvStream& rStream )
-{
- sal_uInt32 nListCount;
- rStream >> nListCount;
- for ( sal_uInt16 i = 0; i < nListCount; i++ ) {
- ByteString* pByteString = new ByteString();
- rStream >> *pByteString;
- Insert (pByteString, LIST_APPEND);
- }
- return *this;
-}
-
-SByteStringList& SByteStringList::operator>> ( SvStream& rStream )
-{
- sal_uInt32 nListCount = Count();
- rStream << nListCount;
- ByteString* pByteString = First();
- while (pByteString) {
- rStream << *pByteString;
- pByteString = Next();
- }
- return *this;
-}
-
-
-
-
-
-
-
-SUniStringList::SUniStringList()
-{
-}
-
-SUniStringList::~SUniStringList()
-{
-}
-
-sal_uIntPtr SUniStringList::IsString( UniString* pStr )
-{
- sal_uIntPtr nRet = NOT_THERE;
- if ( (nRet = GetPrevString( pStr )) != 0 )
- {
- UniString* pString = GetObject( nRet );
- if ( *pString == *pStr )
- return nRet;
- else
- return NOT_THERE;
- }
- else
- {
- UniString* pString = GetObject( 0 );
- if ( pString && (*pString == *pStr) )
- return 0;
- else
- return NOT_THERE;
- }
-}
-
-sal_uIntPtr SUniStringList::GetPrevString( UniString* pStr )
-{
- sal_uIntPtr nRet = 0;
- sal_Bool bFound = sal_False;
- sal_uIntPtr nCountMember = Count();
- sal_uIntPtr nUpper = nCountMember;
- sal_uIntPtr nLower = 0;
- sal_uIntPtr nCurrent = nUpper / 2;
- sal_uIntPtr nRem = 0;
- UniString* pString;
-
- do
- {
- if ( (nCurrent == nLower) || (nCurrent == nUpper) )
- return nLower;
- pString = GetObject( nCurrent );
- StringCompare nResult = pStr->CompareTo( *pString );
- if ( nResult == COMPARE_LESS )
- {
- nUpper = nCurrent;
- nCurrent = (nCurrent + nLower) /2;
- }
- else if ( nResult == COMPARE_GREATER )
- {
- nLower = nCurrent;
- nCurrent = (nUpper + nCurrent) /2;
- }
- else if ( nResult == COMPARE_EQUAL )
- return nCurrent;
- if ( nRem == nCurrent )
- return nCurrent;
- nRem = nCurrent;
- }
- while ( !bFound );
- return nRet;
-}
-
-/**************************************************************************
-*
-* Sortiert einen UniString in die Liste ein und gibt die Position,
-* an der einsortiert wurde, zurueck
-*
-**************************************************************************/
-
-sal_uIntPtr SUniStringList::PutString( UniString* pStr )
-{
- sal_uIntPtr nPos = GetPrevString ( pStr );
- if ( Count() )
- {
- {
- UniString* pString = GetObject( 0 );
- if ( pString->CompareTo( *pStr ) == COMPARE_GREATER )
- {
- Insert( pStr, (sal_uIntPtr)0);
- return (sal_uIntPtr)0;
- }
- }
- UniString* pString = GetObject( nPos );
- if ( *pStr != *pString )
- {
- Insert( pStr, nPos+1 );
- return ( nPos +1 );
- }
- }
- else
- {
- Insert( pStr );
- return (sal_uIntPtr)0;
- }
-
- return NOT_THERE;
-}
-
-UniString* SUniStringList::RemoveString( const UniString& rName )
-{
- sal_uIntPtr i;
- UniString* pReturn;
-
- for( i = 0 ; i < Count(); i++ )
- {
- if ( rName == *GetObject( i ) )
- {
- pReturn = GetObject(i);
- Remove(i);
- return pReturn;
- }
- }
-
- return NULL;
-}
diff --git a/tools/inc/bootstrp/command.hxx b/tools/inc/bootstrp/command.hxx
deleted file mode 100644
index 50781e1679a9..000000000000
--- a/tools/inc/bootstrp/command.hxx
+++ /dev/null
@@ -1,163 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef COMMAND_HXX
-#define COMMAND_HXX
-
-#include <iostream>
-
-#include <tools/stream.hxx>
-#define STRLEN 100
-#ifndef UNX
-#define TMPNAME "\\command.tmp"
-#else
-#define TMPNAME "/tmp/command.tmp"
-#endif
-
-/** Different types of spawnable programs
-*/
-enum ExeType
-{
- EXE, /// programm is a native executable
- BAT, /// programm is a DOS-Batch
- BTM /// programm is a 4DOS-Batch
-};
-
-#define COMMAND_NOTFOUND 0x0001
-#define COMMAND_TOOBIG 0x0002
-#define COMMAND_INVALID 0x0004
-#define COMMAND_NOEXEC 0x0008
-#define COMMAND_NOMEM 0x0010
-#define COMMAND_UNKNOWN 0x0020
-
-#ifdef WNT
-#define COMMAND_SHELL "4nt.exe"
-#endif
-#ifdef OS2
-#define COMMAND_SHELL "4os2.exe"
-#endif
-#ifdef UNX
-#define COMMAND_SHELL "csh"
-#endif
-
-class CommandLine;
-class LogWindow;
-
-class CommandLine
-{
-friend class ChildProcess;
-private:
- char *CommandBuffer;
- char *ComShell;
- char **ppArgv;
- sal_Bool bTmpWrite;
-
-public:
- CommandLine(sal_Bool bTmpWrite = sal_False);
- CommandLine(const char *, sal_Bool bTmpWrite = sal_False);
- CommandLine(const CommandLine&, sal_Bool bTmpWrite = sal_False);
- virtual ~CommandLine();
-
- int nArgc;
-
- CommandLine& operator=(const CommandLine&);
- CommandLine& operator=(const char *);
- void BuildCommand(const char *);
- char** GetCommand(void) { return ppArgv; }
- void Strtokens(const char *);
- void Print();
-};
-
-/** Declares and spawns a child process.
- The spawned programm could be a native executable or a schell script.
-*/
-class CCommand
-{
-private:
- ByteString aCommandLine;
- ByteString aCommand;
- char *pArgv;
- char **ppArgv;
- sal_uIntPtr nArgc;
- int nError;
-
-protected:
- void ImplInit();
- void Initpp( sal_uIntPtr nCount, ByteString &rStr );
-
-public:
- /** Creates the process specified without spawning it
- @param rString specifies the programm or shell scrip
- */
- CCommand( ByteString &rString );
-
- /** Creates the process specified without spawning it
- @param pChar specifies the programm or shell scrip
- */
- CCommand( const char *pChar );
-
- /** Try to find the given programm in specified path
- @param sEnv specifies the current search path, defaulted by environment
- @param sItem specifies the system shell
- @return the Location (when programm was found)
- */
- static ByteString Search( ByteString sEnv,
- ByteString sItem = COMMAND_SHELL );
-
- /** Spawns the Process
- @return 0 when spawned without errors, otherwise a error code
- */
- operator int();
-
- ByteString GetCommandLine_() { return aCommandLine; }
- ByteString GetCommand() { return aCommand; }
-
- char** GetCommandStr() { return ppArgv; }
-};
-
-#define COMMAND_EXECUTE_WINDOW 0x0000001
-#define COMMAND_EXECUTE_CONSOLE 0x0000002
-#define COMMAND_EXECUTE_HIDDEN 0x0000004
-#define COMMAND_EXECUTE_START 0x0000008
-#define COMMAND_EXECUTE_WAIT 0x0000010
-#define COMMAND_EXECUTE_REMOTE 0x1000000
-
-typedef sal_uIntPtr CommandBits;
-
-/** Allowes to spawn programms hidden, waiting etc.
- @see CCommand
-*/
-class CCommandd : public CCommand
-{
- CommandBits nFlag;
-public:
- CCommandd( ByteString &rString, CommandBits nBits );
- CCommandd( const char *pChar, CommandBits nBits );
- operator int();
-};
-
-#endif
diff --git a/tools/inc/bootstrp/listmacr.hxx b/tools/inc/bootstrp/listmacr.hxx
deleted file mode 100644
index a27f51cfdd4c..000000000000
--- a/tools/inc/bootstrp/listmacr.hxx
+++ /dev/null
@@ -1,60 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _LISTMACR_HXX
-#define _LISTMACR_HXX
-
-#define DECL_DEST_LIST( TmpListType, ListType, PointerType ) \
-DECLARE_LIST(TmpListType, PointerType) \
-class ListType : public TmpListType \
-{ \
-public: \
- void ClearAndDelete() \
- { \
- while ( Count()) { \
- PointerType pTmp = GetObject(( sal_uIntPtr ) 0 ); \
- delete pTmp; \
- Remove(( sal_uIntPtr ) 0 ); \
- } \
- } \
- ~ListType() \
- { \
- ClearAndDelete(); \
- } \
-}; \
-
-#endif
-
-
-
-
-
-
-
-
-
-
diff --git a/tools/inc/bootstrp/mkcreate.hxx b/tools/inc/bootstrp/mkcreate.hxx
index be3183d042d0..96f272533d55 100644
--- a/tools/inc/bootstrp/mkcreate.hxx
+++ b/tools/inc/bootstrp/mkcreate.hxx
@@ -29,7 +29,9 @@
#define _MK_CREATE_HXX
#include <tools/string.hxx>
-#include "bootstrp/sstring.hxx"
+//#include "bootstrp/sstring.hxx"
+
+DECLARE_LIST( UniStringList, UniString* )
#include <tools/list.hxx>
#include "bootstrp/prj.hxx"
diff --git a/tools/inc/bootstrp/prj.hxx b/tools/inc/bootstrp/prj.hxx
index bc459ba6f1ae..9e16ab2ee9a3 100644
--- a/tools/inc/bootstrp/prj.hxx
+++ b/tools/inc/bootstrp/prj.hxx
@@ -30,98 +30,6 @@
#include <tools/fsys.hxx>
#include <tools/stream.hxx>
-#include "bootstrp/listmacr.hxx"
-#include <vos/mutex.hxx>
-
-#define OS_NONE 0x0000
-#define OS_WIN16 0x0001
-#define OS_WIN32 0x0002
-#define OS_OS2 0x0004
-#define OS_UNX 0x0008
-#define OS_ALL ( OS_WIN16 | OS_WIN32 | OS_OS2 | OS_UNX )
-
-#define COMMAND_PROJECTROOT 0x0000
-#define COMMAND_NMAKE 0x0001
-#define COMMAND_GET 0x0002
-#define COMMAND_USER_START 0x0003
-#define COMMAND_USER_END 0xFFFE
-#define COMMAND_ALLDIRS 0xFFFF
-
-class SByteStringList;
-class GenericInformationList;
-
-/*
-// Pfade auf Konfigurationsdateien des Build-Servers
-
-#define REQUEST_DIR \\src\data4\source\b_server\server\newjob
-*/
-/*********************************************************************
-*
-* Die Klasse CommandData haelte alle Informationen, die fuer die
-* Abarbeitung eines Kommandos (nmake, get) noetig sind
-*
-*********************************************************************/
-
-class CommandData
-{
- ByteString aPrj;
- ByteString aLogFileName;
- ByteString aInpath;
- ByteString aUpd;
- ByteString aUpdMinor;
- ByteString aProduct;
- ByteString aCommand;
- ByteString aPath;
- ByteString aPrePath;
- ByteString aPreFix;
- ByteString aCommandPara;
- ByteString aComment;
- ByteString sClientRestriction;
- SByteStringList *pDepList;
- sal_uInt16 nOSType;
- sal_uInt16 nCommand;
-
- sal_uIntPtr nDepth; // Tiefe der Abhaenigkeit
-
-public:
- CommandData();
- ~CommandData();
- ByteString GetProjectName(){return aPrj;}
- void SetProjectName( ByteString aName ){aPrj = aName;}
- ByteString GetLogFile(){return aLogFileName;}
- void SetLogFile( ByteString aName ){aLogFileName = aName;}
- ByteString GetInpath(){return aInpath;}
- void SetInpath( ByteString aName ){aInpath = aName;}
- ByteString GetUpd(){return aUpd;}
- void SetUpd( ByteString aName ){aUpd = aName;}
- ByteString GetUpdMinor(){return aUpdMinor;}
- void SetUpdMinor( ByteString aName ){aUpdMinor = aName;}
- ByteString GetProduct(){return aProduct;}
- void SetProduct( ByteString aName ){aProduct = aName;}
- ByteString GetCommand(){return aCommand;}
- void SetCommand ( ByteString aName ){aCommand = aName;}
- ByteString GetCommandPara(){return aCommandPara;}
- void SetCommandPara ( ByteString aName ){aCommandPara = aName;}
- ByteString GetComment(){return aComment;}
- void SetComment ( ByteString aCommentString ){aComment = aCommentString;}
- ByteString GetPath(){return aPath;}
- void SetPath( ByteString aName ){aPath = aName;}
- ByteString GetPrePath(){return aPrePath;}
- void SetPrePath( ByteString aName ){aPrePath = aName;}
- sal_uInt16 GetOSType(){return nOSType;}
- ByteString GetOSTypeString();
- void SetOSType( sal_uInt16 nType ){nOSType = nType;}
- sal_uInt16 GetCommandType(){return nCommand;}
- ByteString GetCommandTypeString();
- void SetCommandType( sal_uInt16 nCommandType ){nCommand = nCommandType;}
- SByteStringList* GetDependencies(){return pDepList;}
- void SetDependencies( SByteStringList *pList ){pDepList = pList;}
- ByteString GetClientRestriction() { return sClientRestriction; }
- void SetClientRestriction( ByteString sRestriction ) { sClientRestriction = sRestriction; }
-
- void AddDepth(){nDepth++;}
- sal_uIntPtr GetDepth(){return nDepth;}
-};
/*********************************************************************
*
@@ -147,185 +55,4 @@ public:
ByteString GetCleanedNextLine( sal_Bool bReadComments = sal_False );
};
-#define ENV_GUI 0x00000000
-#define ENV_OS 0x00000001
-#define ENV_UPD 0x00000002
-#define ENV_UPDMIN 0x00000004
-#define ENV_INPATH 0x00000008
-#define ENV_OUTPATH 0x00000010
-#define ENV_GUIBASE 0x00000020
-#define ENV_CVER 0x00000040
-#define ENV_GVER 0x00000080
-#define ENV_GUIENV 0x00000100
-#define ENV_CPU 0x00000200
-#define ENV_CPUNAME 0x00000400
-#define ENV_DLLSUFF 0x00000800
-#define ENV_COMEX 0x00001000
-#define ENV_COMPATH 0x00002000
-#define ENV_INCLUDE 0x00004000
-#define ENV_LIB 0x00008000
-#define ENV_PATH 0x00010000
-#define ENV_SOLVER 0x00020000
-#define ENV_SOLENV 0x00040000
-#define ENV_SOLROOT 0x00080000
-#define ENV_DEVROOT 0x00100000
-#define ENV_EMERG 0x00200000
-#define ENV_STAND 0x00400000
-
-/*********************************************************************
-*
-* class Prj
-* alle Daten eines Projektes werden hier gehalten
-*
-*********************************************************************/
-
-DECL_DEST_LIST ( PrjList_tmp, PrjList, CommandData * )
-
-class Star;
-class Prj : public PrjList
-{
-friend class Star;
-private:
- sal_Bool bVisited;
-
- ByteString aPrjPath;
- ByteString aProjectName;
- ByteString aProjectPrefix; // max. 2-buchstabige Abk.
- SByteStringList* pPrjInitialDepList;
- SByteStringList* pPrjDepList;
- sal_Bool bHardDependencies;
- sal_Bool bSorted;
-
-public:
- Prj();
- Prj( ByteString aName );
- ~Prj();
- void SetPreFix( ByteString aPre ){aProjectPrefix = aPre;}
- ByteString GetPreFix(){return aProjectPrefix;}
- ByteString GetProjectName()
- {return aProjectName;}
- void SetProjectName(ByteString aName)
- {aProjectName = aName;}
- sal_Bool InsertDirectory( ByteString aDirName , sal_uInt16 aWhat,
- sal_uInt16 aWhatOS, ByteString aLogFileName,
- const ByteString &rClientRestriction );
- CommandData* RemoveDirectory( ByteString aLogFileName );
- CommandData* GetDirectoryList ( sal_uInt16 nWhatOs, sal_uInt16 nCommand );
- CommandData* GetDirectoryData( ByteString aLogFileName );
- inline CommandData* GetData( ByteString aLogFileName )
- { return GetDirectoryData( aLogFileName ); };
-
- SByteStringList* GetDependencies( sal_Bool bExpanded = sal_True );
- void AddDependencies( ByteString aStr );
- void HasHardDependencies( sal_Bool bHard ) { bHardDependencies = bHard; }
- sal_Bool HasHardDependencies() { return bHardDependencies; }
-};
-
-/*********************************************************************
-*
-* class Star
-* Diese Klasse liest die Projectstruktur aller StarDivision Projekte
-* aus \\dev\data1\upenv\data\config\solar.lst aus
-*
-*********************************************************************/
-
-DECL_DEST_LIST ( StarList_tmp, StarList, Prj* )
-DECLARE_LIST ( SolarFileList, String* )
-
-class StarFile
-{
-private:
- String aFileName;
- Date aDate;
- Time aTime;
-
- sal_Bool bExists;
-
-public:
- StarFile( const String &rFile );
- const String &GetName() { return aFileName; }
- Date GetDate() { return aDate; }
- Time GetTime() { return aTime; }
-
- sal_Bool NeedsUpdate();
- sal_Bool Exists() { return bExists; }
-};
-
-DECLARE_LIST( StarFileList, StarFile * )
-
-#define STAR_MODE_SINGLE_PARSE 0x0000
-#define STAR_MODE_RECURSIVE_PARSE 0x0001
-#define STAR_MODE_MULTIPLE_PARSE 0x0002
-
-class Star : public StarList
-{
-private:
- ByteString aStarName;
-
- static Link aDBNotFoundHdl;
-protected:
- vos:: OMutex aMutex;
-
- sal_uInt16 nStarMode;
- SolarFileList aFileList;
- StarFileList aLoadedFilesList;
- String sSourceRoot;
-
- void InsertSolarList( String sProject );
- String CreateFileName( String sProject );
-
- void Expand_Impl();
- void ExpandPrj_Impl( Prj *pPrj, Prj *pDepPrj );
-
-private:
- void Read( String &rFileName );
- void Read( SolarFileList *pSOlarFiles );
-
-public:
- Star();
- Star( String aFileName, sal_uInt16 nMode = STAR_MODE_SINGLE_PARSE );
- Star( SolarFileList *pSolarFiles );
- Star( GenericInformationList *pStandLst, ByteString &rVersion, sal_Bool bLocal = sal_False,
- const char *pSourceRoot = NULL );
-
- ~Star();
-
- static void SetDBNotFoundHdl( const Link &rLink ) { aDBNotFoundHdl = rLink; }
-
- ByteString GetName(){ return aStarName; };
-
- sal_Bool HasProject( ByteString aProjectName );
- Prj* GetPrj( ByteString aProjectName );
- ByteString GetPrjName( DirEntry &rPath );
-
- void InsertToken( char *pChar );
- sal_Bool NeedsUpdate();
-
- sal_uInt16 GetMode() { return nStarMode; }
-};
-
-class StarWriter : public Star
-{
-private:
- sal_uInt16 WritePrj( Prj *pPrj, SvFileStream& rStream );
-
-public:
- StarWriter( String aFileName, sal_Bool bReadComments = sal_False, sal_uInt16 nMode = STAR_MODE_SINGLE_PARSE );
- StarWriter( SolarFileList *pSolarFiles, sal_Bool bReadComments = sal_False );
- StarWriter( GenericInformationList *pStandLst, ByteString &rVersion, sal_Bool bLocal = sal_False,
- const char *pSourceRoot = NULL );
-
- void CleanUp();
-
- sal_Bool InsertProject ( Prj* pNewPrj );
- Prj* RemoveProject ( ByteString aProjectName );
-
- sal_uInt16 Read( String aFileName, sal_Bool bReadComments = sal_False, sal_uInt16 nMode = STAR_MODE_SINGLE_PARSE );
- sal_uInt16 Read( SolarFileList *pSolarFiles, sal_Bool bReadComments = sal_False );
- sal_uInt16 Write( String aFileName );
- sal_uInt16 WriteMultiple( String rSourceRoot );
-
- void InsertTokenLine( ByteString& rString );
-};
-
#endif
diff --git a/tools/inc/bootstrp/sstring.hxx b/tools/inc/bootstrp/sstring.hxx
deleted file mode 100644
index 08eb1da71a09..000000000000
--- a/tools/inc/bootstrp/sstring.hxx
+++ /dev/null
@@ -1,105 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _SSTRING_HXX
-#define _SSTRING_HXX
-
-#include <tools/string.hxx>
-#include <tools/list.hxx>
-
-#define NOT_THERE LIST_ENTRY_NOTFOUND
-
-#define SStringList SUniStringList
-#define StringList UniStringList
-
-DECLARE_LIST( ByteStringList, ByteString* )
-DECLARE_LIST( UniStringList, UniString* )
-
-class SvStream;
-
-// ---------------------
-// - class SStringList -
-// ---------------------
-
-class SByteStringList : public ByteStringList
-{
-public:
- SByteStringList();
- ~SByteStringList();
-
- // neuen ByteString in Liste einfuegen
- sal_uIntPtr PutString( ByteString* );
- ByteString* RemoveString( const ByteString& rName );
-
- // Position des ByteString in Liste, wenn nicht enthalten, dann
- // return = NOT_THERE
- sal_uIntPtr IsString( ByteString* );
-
- // Vorgaenger ermitteln ( auch wenn selbst noch nicht in
- // Liste enthalten
- sal_uIntPtr GetPrevString( ByteString* );
- void CleanUp();
-
- SByteStringList& operator<< ( SvStream& rStream );
- SByteStringList& operator>> ( SvStream& rStream );
-};
-
-// ---------------------
-// - class SUniStringList -
-// ---------------------
-
-class SUniStringList : public UniStringList
-{
-public:
- SUniStringList();
- ~SUniStringList();
-
- // neuen UniString in Liste einfuegen
- sal_uIntPtr PutString( UniString* );
- UniString* RemoveString( const UniString& rName );
-
- // Position des UniString in Liste, wenn nicht enthalten, dann
- // return = NOT_THERE
- sal_uIntPtr IsString( UniString* );
-
- // Vorgaenger ermitteln ( auch wenn selbst noch nicht in
- // Liste enthalten
- sal_uIntPtr GetPrevString( UniString* );
-};
-
-class Text
-{
-protected:
- String aString;
-
-public:
- Text( char* pChar );
- Text( String &rStr ) { aString = rStr; }
- void Stderr();
-};
-
-#endif
diff --git a/tools/inc/makefile.mk b/tools/inc/makefile.mk
deleted file mode 100644
index a3a76dc94a11..000000000000
--- a/tools/inc/makefile.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..
-
-PRJNAME=tools
-TARGET=inc
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-.IF "$(ENABLE_PCH)"!=""
-ALLTAR : \
- $(SLO)$/precompiled.pch \
- $(SLO)$/precompiled_ex.pch
-
-.ENDIF # "$(ENABLE_PCH)"!=""
-
diff --git a/tools/inc/tools/wintypes.hxx b/tools/inc/tools/wintypes.hxx
index 71a59a48d4e8..39dd4db7ef21 100644
--- a/tools/inc/tools/wintypes.hxx
+++ b/tools/inc/tools/wintypes.hxx
@@ -274,9 +274,16 @@ typedef sal_Int64 WinBits;
#define WB_STDTABCONTROL 0
// For TreeListBox
-#define WB_HASBUTTONS ((WinBits)0x00800000)
-#define WB_HASLINES ((WinBits)0x01000000)
-#define WB_HASLINESATROOT ((WinBits)0x02000000)
+#define WB_HASBUTTONS ((WinBits)SAL_CONST_INT64(0x000100000000))
+#define WB_HASLINES ((WinBits)SAL_CONST_INT64(0x000200000000))
+#define WB_HASLINESATROOT ((WinBits)SAL_CONST_INT64(0x000400000000))
+#define WB_HASBUTTONSATROOT ((WinBits)SAL_CONST_INT64(0x000800000000))
+#define WB_NOINITIALSELECTION ((WinBits)SAL_CONST_INT64(0x001000000000))
+#define WB_HIDESELECTION ((WinBits)SAL_CONST_INT64(0x002000000000))
+#define WB_FORCE_MAKEVISIBLE ((WinBits)SAL_CONST_INT64(0x004000000000))
+// DO NOT USE: 0x008000000000, that's WB_SYSTEMCHILDWINDOW
+#define WB_QUICK_SEARCH ((WinBits)SAL_CONST_INT64(0x010000000000))
+
// For FileOpen Dialog
#define WB_PATH ((WinBits)0x00100000)
diff --git a/tools/os2/source/dll/makefile.mk b/tools/os2/source/dll/makefile.mk
deleted file mode 100644
index 97cff795defb..000000000000
--- a/tools/os2/source/dll/makefile.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-
-PRJNAME=TOOLS
-TARGET=dll
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-CXXFILES= toolsdll.cxx
-
-SLOFILES= $(SLO)$/toolsdll.obj
-
-OBJFILES= $(OBJ)$/toolsdll.obj
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/prj/build.lst b/tools/prj/build.lst
index 659ecfe66cab..3194cbb4e87c 100644
--- a/tools/prj/build.lst
+++ b/tools/prj/build.lst
@@ -1,30 +1,3 @@
-tl tools : cppu external offuh vos ZLIB:zlib EXPAT:expat basegfx comphelper i18npool NULL
-tl tools usr1 - all tl_mkout NULL
-tl tools\bootstrp\isdll get - all tl_bsisdll NULL
-tl tools\bootstrp\addexes get - all tl_bsexes NULL
-tl tools\inc nmake - all tl_inc NULL
-tl tools\prj get - all tl_prj NULL
-tl tools\prj usr7 - all tl_deliver NULL
-tl tools\prj usr42 - all tl_zn NULL
-tl tools\workben get - all tl_wben NULL
-tl tools\source\testtoolloader nmake - all tl_ttloader tl_inc NULL
-tl tools\source\generic nmake - all tl_gen tl_fsys tl_inc NULL
-tl tools\source\memtools nmake - all tl_mem tl_fsys tl_inc NULL
-tl tools\source\debug nmake - all tl_deb tl_fsys tl_inc NULL
-tl tools\source\datetime nmake - all tl_dat tl_fsys tl_inc NULL
-tl tools\source\stream nmake - all tl_str tl_fsys tl_inc NULL
-tl tools\source\rc nmake - all tl_rc tl_fsys tl_inc NULL
-tl tools\source\ref nmake - all tl_ref tl_fsys tl_inc NULL
-tl tools\source\fsys nmake - all tl_fsys tl_inc NULL
-tl tools\source\zcodec nmake - all tl_zco tl_fsys tl_inc NULL
-tl tools\source\communi nmake - all tl_com tl_fsys tl_inc NULL
-tl tools\source\inet nmake - all tl_inet tl_fsys tl_inc NULL
-tl tools\source\string nmake - all tl_string tl_fsys tl_inc NULL
-tl tools\source\misc nmake - all tl_misc tl_inc NULL
-tl tools\win\source\dll nmake - w tl_dllw tl_inc NULL
-tl tools\os2\source\dll nmake - p tl_dllp tl_inc NULL
-tl tools\unx\source\dll nmake - u tl_dllu tl_inc NULL
-tl tools\util nmake - all tl_utl tl_com tl_dat tl_deb tl_dllu.u tl_dllp.p tl_dllw.w tl_fsys tl_gen tl_inet tl_mem tl_rc tl_ref tl_str tl_string tl_misc tl_zco tl_ttloader NULL
-tl tools\bootstrp nmake - all tl_bstrp tl_utl tl_inc NULL
-tl tools\bootstrp\addexes2 nmake - all tl_bsexes2 tl_bstrp tl_inc NULL
-
+tl tools : cppu external offuh vos ZLIB:zlib EXPAT:expat basegfx comphelper i18npool NULL
+tl tools usr1 - all tl_mkout NULL
+tl tools\prj nmake - all tl_prj NULL
diff --git a/tools/prj/d.lst b/tools/prj/d.lst
index f2c508342015..e69de29bb2d1 100644
--- a/tools/prj/d.lst
+++ b/tools/prj/d.lst
@@ -1,124 +0,0 @@
-mkdir: %_DEST%\inc%_EXT%\bootstrp
-
-..\%__SRC%\misc\_ooo_st_btstrp.pdb %_DEST%\lib%_EXT%\_ooo_st_btstrp.pdb
-..\%__SRC%\bin\mkunroll* %_DEST%\bin%_EXT%
-..\%__SRC%\bin\tl?????.dll %_DEST%\bin%_EXT%\tl?????.dll
-..\%__SRC%\bin\tl?????.sym %_DEST%\bin%_EXT%\tl?????.sym
-..\%__SRC%\lib\atools.lib %_DEST%\lib%_EXT%\atools.lib
-..\%__SRC%\lib\btstrp.lib %_DEST%\lib%_EXT%\btstrp.lib
-..\%__SRC%\lib\bootstrp2.lib %_DEST%\lib%_EXT%\bootstrp2.lib
-..\%__SRC%\lib\itools.lib %_DEST%\lib%_EXT%\itools.lib
-..\%__SRC%\lib\lib*.a %_DEST%\lib%_EXT%\lib*.a
-..\%__SRC%\lib\lib*.sl %_DEST%\lib%_EXT%\lib*.sl
-..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%\lib*.so
-..\%__SRC%\lib\lib*.so.* %_DEST%\lib%_EXT%\lib*.so.*
-..\%__SRC%\lib\lib*.dylib %_DEST%\lib%_EXT%\lib*.dylib
-..\%__SRC%\lib\stdstrm.lib %_DEST%\lib%_EXT%\stdstrm.lib
-..\%__SRC%\misc\tl?????.map %_DEST%\bin%_EXT%\tl?????.map
-..\%__SRC%\slb\btstrpsh.lib %_DEST%\lib%_EXT%\btstrpsh.lib
-
-..\inc\bootstrp\command.hxx %_DEST%\inc%_EXT%\bootstrp\command.hxx
-..\inc\bootstrp\inimgr.hxx %_DEST%\inc%_EXT%\bootstrp\inimgr.hxx
-..\inc\bootstrp\listmacr.hxx %_DEST%\inc%_EXT%\bootstrp\listmacr.hxx
-..\inc\bootstrp\mkcreate.hxx %_DEST%\inc%_EXT%\bootstrp\mkcreate.hxx
-..\inc\bootstrp\prj.hxx %_DEST%\inc%_EXT%\bootstrp\prj.hxx
-..\inc\bootstrp\sstring.hxx %_DEST%\inc%_EXT%\bootstrp\sstring.hxx
-
-..\inc\tools\toolsdllapi.h %_DEST%\inc%_EXT%\tools\toolsdllapi.h
-..\inc\tools\weakbase.hxx %_DEST%\inc%_EXT%\tools\weakbase.hxx
-..\inc\tools\weakbase.h %_DEST%\inc%_EXT%\tools\weakbase.h
-
-..\inc\tools\postwin.h %_DEST%\inc%_EXT%\tools\postwin.h
-..\inc\tools\prewin.h %_DEST%\inc%_EXT%\tools\prewin.h
-
-..\inc\tools\postx.h %_DEST%\inc%_EXT%\tools\postx.h
-..\inc\tools\prex.h %_DEST%\inc%_EXT%\tools\prex.h
-
-..\inc\tools\svlibrary.hxx %_DEST%\inc%_EXT%\tools\svlibrary.hxx
-..\inc\tools\solarmutex.hxx %_DEST%\inc%_EXT%\tools\solarmutex.hxx
-..\inc\tools\wintypes.hxx %_DEST%\inc%_EXT%\tools\wintypes.hxx
-..\inc\tools\mapunit.hxx %_DEST%\inc%_EXT%\tools\mapunit.hxx
-..\inc\tools\fldunit.hxx %_DEST%\inc%_EXT%\tools\fldunit.hxx
-..\inc\tools\fontenum.hxx %_DEST%\inc%_EXT%\tools\fontenum.hxx
-..\inc\tools\agapi.hxx %_DEST%\inc%_EXT%\tools\agapi.hxx
-..\inc\tools\agitem.hxx %_DEST%\inc%_EXT%\tools\agitem.hxx
-..\inc\tools\appendunixshellword.hxx %_DEST%\inc%_EXT%\tools\appendunixshellword.hxx
-..\inc\tools\bigint.hxx %_DEST%\inc%_EXT%\tools\bigint.hxx
-..\inc\tools\cachestr.hxx %_DEST%\inc%_EXT%\tools\cachestr.hxx
-..\inc\tools\color.hxx %_DEST%\inc%_EXT%\tools\color.hxx
-..\inc\tools\contnr.hxx %_DEST%\inc%_EXT%\tools\contnr.hxx
-..\inc\tools\date.hxx %_DEST%\inc%_EXT%\tools\date.hxx
-..\inc\tools\datetime.hxx %_DEST%\inc%_EXT%\tools\datetime.hxx
-..\inc\tools\debug.hxx %_DEST%\inc%_EXT%\tools\debug.hxx
-..\inc\tools\diagnose_ex.h %_DEST%\inc%_EXT%\tools\diagnose_ex.h
-..\inc\tools\download.hxx %_DEST%\inc%_EXT%\tools\download.hxx
-..\inc\tools\dynary.hxx %_DEST%\inc%_EXT%\tools\dynary.hxx
-..\inc\tools\errcode.hxx %_DEST%\inc%_EXT%\tools\errcode.hxx
-..\inc\tools\errinf.hxx %_DEST%\inc%_EXT%\tools\errinf.hxx
-..\inc\tools\extendapplicationenvironment.hxx %_DEST%\inc%_EXT%\tools\extendapplicationenvironment.hxx
-..\inc\tools\fract.hxx %_DEST%\inc%_EXT%\tools\fract.hxx
-..\inc\tools\fsys.hxx %_DEST%\inc%_EXT%\tools\fsys.hxx
-..\inc\tools\eacopier.hxx %_DEST%\inc%_EXT%\tools\eacopier.hxx
-..\inc\tools\gen.hxx %_DEST%\inc%_EXT%\tools\gen.hxx
-..\inc\tools\globname.hxx %_DEST%\inc%_EXT%\tools\globname.hxx
-..\inc\tools\inetdef.hxx %_DEST%\inc%_EXT%\tools\inetdef.hxx
-..\inc\tools\inetmime.hxx %_DEST%\inc%_EXT%\tools\inetmime.hxx
-..\inc\tools\inetmsg.hxx %_DEST%\inc%_EXT%\tools\inetmsg.hxx
-..\inc\tools\inetstrm.hxx %_DEST%\inc%_EXT%\tools\inetstrm.hxx
-..\inc\tools\link.hxx %_DEST%\inc%_EXT%\tools\link.hxx
-..\inc\tools\list.hxx %_DEST%\inc%_EXT%\tools\list.hxx
-..\inc\tools\mempool.hxx %_DEST%\inc%_EXT%\tools\mempool.hxx
-..\inc\tools\multisel.hxx %_DEST%\inc%_EXT%\tools\multisel.hxx
-..\inc\tools\ownlist.hxx %_DEST%\inc%_EXT%\tools\ownlist.hxx
-..\inc\tools\postsys.h %_DEST%\inc%_EXT%\tools\postsys.h
-..\inc\tools\presys.h %_DEST%\inc%_EXT%\tools\presys.h
-..\inc\tools\pstm.hxx %_DEST%\inc%_EXT%\tools\pstm.hxx
-..\inc\tools\queue.hxx %_DEST%\inc%_EXT%\tools\queue.hxx
-..\inc\tools\rc.h %_DEST%\inc%_EXT%\tools\rc.h
-..\inc\tools\rc.hxx %_DEST%\inc%_EXT%\tools\rc.hxx
-..\inc\tools\rcid.h %_DEST%\inc%_EXT%\tools\rcid.h
-..\inc\tools\ref.hxx %_DEST%\inc%_EXT%\tools\ref.hxx
-..\inc\tools\resid.hxx %_DEST%\inc%_EXT%\tools\resid.hxx
-..\inc\tools\resmgr.hxx %_DEST%\inc%_EXT%\tools\resmgr.hxx
-..\inc\tools\StringListResource.hxx %_DEST%\inc%_EXT%\tools\StringListResource.hxx
-..\inc\tools\isofallback.hxx %_DEST%\inc%_EXT%\tools\isofallback.hxx
-..\inc\tools\rtti.hxx %_DEST%\inc%_EXT%\tools\rtti.hxx
-..\inc\tools\shl.hxx %_DEST%\inc%_EXT%\tools\shl.hxx
-..\inc\tools\simplerm.hxx %_DEST%\inc%_EXT%\tools\simplerm.hxx
-..\inc\tools\solar.h %_DEST%\inc%_EXT%\tools\solar.h
-..\inc\tools\stack.hxx %_DEST%\inc%_EXT%\tools\stack.hxx
-..\inc\tools\stream.hxx %_DEST%\inc%_EXT%\tools\stream.hxx
-..\inc\tools\string.hxx %_DEST%\inc%_EXT%\tools\string.hxx
-..\inc\tools\svwin.h %_DEST%\inc%_EXT%\tools\svwin.h
-..\inc\tools\table.hxx %_DEST%\inc%_EXT%\tools\table.hxx
-..\inc\tools\tenccvt.hxx %_DEST%\inc%_EXT%\tools\tenccvt.hxx
-..\inc\tools\time.hxx %_DEST%\inc%_EXT%\tools\time.hxx
-..\inc\tools\tools.h %_DEST%\inc%_EXT%\tools\tools.h
-..\inc\tools\unqid.hxx %_DEST%\inc%_EXT%\tools\unqid.hxx
-..\inc\tools\unqidx.hxx %_DEST%\inc%_EXT%\tools\unqidx.hxx
-..\inc\tools\urlkeys.hxx %_DEST%\inc%_EXT%\tools\urlkeys.hxx
-..\inc\tools\urlobj.hxx %_DEST%\inc%_EXT%\tools\urlobj.hxx
-..\inc\tools\vcompat.hxx %_DEST%\inc%_EXT%\tools\vcompat.hxx
-..\inc\tools\wldcrd.hxx %_DEST%\inc%_EXT%\tools\wldcrd.hxx
-..\inc\tools\zcodec.hxx %_DEST%\inc%_EXT%\tools\zcodec.hxx
-..\inc\tools\tempfile.hxx %_DEST%\inc%_EXT%\tools\tempfile.hxx
-..\inc\tools\geninfo.hxx %_DEST%\inc%_EXT%\tools\geninfo.hxx
-..\inc\tools\iparser.hxx %_DEST%\inc%_EXT%\tools\iparser.hxx
-..\inc\tools\config.hxx %_DEST%\inc%_EXT%\tools\config.hxx
-..\inc\tools\resary.hxx %_DEST%\inc%_EXT%\tools\resary.hxx
-..\inc\tools\poly.hxx %_DEST%\inc%_EXT%\tools\poly.hxx
-..\inc\tools\line.hxx %_DEST%\inc%_EXT%\tools\line.hxx
-..\inc\tools\vector2d.hxx %_DEST%\inc%_EXT%\tools\vector2d.hxx
-..\inc\tools\testtoolloader.hxx %_DEST%\inc%_EXT%\tools\testtoolloader.hxx
-..\inc\tools\svborder.hxx %_DEST%\inc%_EXT%\tools\svborder.hxx
-..\inc\tools\getprocessworkingdir.hxx %_DEST%\inc%_EXT%\tools\getprocessworkingdir.hxx
-..\inc\tools\b3dtrans.hxx %_DEST%\inc%_EXT%\tools\b3dtrans.hxx
-
-..\%__SRC%\bin\rscdep.exe %_DEST%\bin%_EXT%\rscdep.exe
-..\%__SRC%\bin\rscdep %_DEST%\bin%_EXT%\rscdep
-..\%__SRC%\bin\so_checksum.exe %_DEST%\bin%_EXT%\so_checksum.exe
-..\%__SRC%\bin\so_checksum %_DEST%\bin%_EXT%\so_checksum
-
-..\inc\tools\pathutils.hxx %_DEST%\inc%_EXT%\tools\pathutils.hxx
-..\%__SRC%\obj\pathutils.obj %_DEST%\lib%_EXT%\pathutils-obj.obj
-..\%__SRC%\slo\pathutils.obj %_DEST%\lib%_EXT%\pathutils-slo.obj
diff --git a/svtools/source/filter.vcl/ixbm/makefile.mk b/tools/prj/makefile.mk
index 55708d2f2630..c73a3d944bbf 100644
--- a/svtools/source/filter.vcl/ixbm/makefile.mk
+++ b/tools/prj/makefile.mk
@@ -25,20 +25,16 @@
#
#*************************************************************************
-PRJ=..$/..$/..
+PRJ=..
+TARGET=prj
-PRJNAME=svtools
-TARGET=ixbm
+.INCLUDE : settings.mk
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/svt.pmk
-SOLARINC+=-I../../inc
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/xbmread.obj
-
-.INCLUDE : target.mk
+.IF "$(VERBOSE)"!=""
+VERBOSEFLAG :=
+.ELSE
+VERBOSEFLAG := -s
+.ENDIF
+all:
+ cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET)
diff --git a/tools/qa/makefile.mk b/tools/qa/makefile.mk
deleted file mode 100644
index abaea848c1db..000000000000
--- a/tools/qa/makefile.mk
+++ /dev/null
@@ -1,52 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ = ..
-PRJNAME = tools
-TARGET = qa
-ENABLE_EXCEPTIONS = TRUE
-
-.INCLUDE: settings.mk
-
-CFLAGSCXX += $(CPPUNIT_CFLAGS)
-DLLPRE = # no leading "lib" on .so files
-
-SHL1TARGET = test_pathutils
-SHL1OBJS = $(SLO)$/test_pathutils.obj $(SLO)$/pathutils.obj
-SHL1STDLIBS = $(CPPUNITLIB) $(SALLIB) $(TESTSHL2LIB)
-SHL1VERSIONMAP = version.map
-SHL1IMPLIB = i$(SHL1TARGET)
-DEF1NAME = $(SHL1TARGET)
-
-SLOFILES = $(SHL1OBJS)
-
-.INCLUDE: target.mk
-
-ALLTAR: test
-
-test .PHONY: $(SHL1TARGETN)
- $(TESTSHL2) $(SHL1TARGETN) -forward $(BIN)$/$(TARGET).rdb
diff --git a/tools/source/communi/makefile.mk b/tools/source/communi/makefile.mk
deleted file mode 100644
index 1795081a9ec5..000000000000
--- a/tools/source/communi/makefile.mk
+++ /dev/null
@@ -1,50 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=TOOLS
-TARGET=communi
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-OBJFILES= \
- $(OBJ)$/parser.obj \
- $(OBJ)$/geninfo.obj \
-
-SLOFILES= \
- $(SLO)$/parser.obj \
- $(SLO)$/geninfo.obj \
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/source/datetime/makefile.mk b/tools/source/datetime/makefile.mk
deleted file mode 100644
index 3d46cc6ce1b0..000000000000
--- a/tools/source/datetime/makefile.mk
+++ /dev/null
@@ -1,50 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=datetime
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/tdate.obj \
- $(SLO)$/ttime.obj \
- $(SLO)$/datetime.obj
-
-OBJFILES= $(OBJ)$/tdate.obj \
- $(OBJ)$/ttime.obj \
- $(OBJ)$/datetime.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/source/debug/makefile.mk b/tools/source/debug/makefile.mk
deleted file mode 100644
index 925ae90f333d..000000000000
--- a/tools/source/debug/makefile.mk
+++ /dev/null
@@ -1,53 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=debug
-
-ENABLE_EXCEPTIONS := TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-CXXFILES= debug.cxx \
- stcktree.cxx
-
-SLOFILES= $(SLO)$/debug.obj \
- $(SLO)$/stcktree.obj
-
-OBJFILES= $(OBJ)$/debug.obj \
- $(OBJ)$/stcktree.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/source/fsys/makefile.mk b/tools/source/fsys/makefile.mk
deleted file mode 100644
index b1d34d6347f3..000000000000
--- a/tools/source/fsys/makefile.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=fsys
-ENABLE_EXCEPTIONS=true
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-.IF "$(COM)"=="GCC"
-CFLAGSCXX+=-fexceptions
-.ENDIF
-
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/tempfile.obj \
- $(SLO)$/wldcrd.obj \
- $(SLO)$/fstat.obj \
- $(SLO)$/comdep.obj \
- $(SLO)$/filecopy.obj \
- $(SLO)$/dirent.obj \
- $(SLO)$/tdir.obj \
- $(SLO)$/urlobj.obj
-
-OBJFILES= $(OBJ)$/wldcrd.obj \
- $(OBJ)$/fstat.obj \
- $(OBJ)$/comdep.obj \
- $(OBJ)$/filecopy.obj \
- $(OBJ)$/dirent.obj \
- $(OBJ)$/tdir.obj \
- $(OBJ)$/urlobj.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/tools/source/generic/makefile.mk b/tools/source/generic/makefile.mk
deleted file mode 100644
index 07bab82f32b0..000000000000
--- a/tools/source/generic/makefile.mk
+++ /dev/null
@@ -1,71 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=gen
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-EXCEPTIONSFILES = $(SLO)$/poly.obj $(OBJ)$/poly.obj $(SLO)$/svlibrary.obj
-
-SLOFILES= $(SLO)$/toolsin.obj \
- $(SLO)$/svlibrary.obj \
- $(SLO)$/b3dtrans.obj \
- $(SLO)$/link.obj \
- $(SLO)$/bigint.obj \
- $(SLO)$/fract.obj \
- $(SLO)$/color.obj \
- $(SLO)$/gen.obj \
- $(SLO)$/config.obj \
- $(SLO)$/poly.obj \
- $(SLO)$/poly2.obj \
- $(SLO)$/svborder.obj \
- $(SLO)$/line.obj
-
-OBJFILES= $(OBJ)$/toolsin.obj \
- $(OBJ)$/b3dtrans.obj \
- $(OBJ)$/link.obj \
- $(OBJ)$/bigint.obj \
- $(OBJ)$/fract.obj \
- $(OBJ)$/color.obj \
- $(OBJ)$/gen.obj \
- $(OBJ)$/config.obj \
- $(OBJ)$/poly.obj \
- $(OBJ)$/poly2.obj \
- $(OBJ)$/svborder.obj \
- $(OBJ)$/line.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/source/makefile.mk b/tools/source/makefile.mk
deleted file mode 100644
index 8c3f3167635e..000000000000
--- a/tools/source/makefile.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-TARGET=source
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-.IF "$(GUI)" == "UNX"
-SUBDIRS+= solar
-.ENDIF
-
-SUBDIRS+= \
- datetime \
- timestamp \
- debug \
- fsys \
- generic \
- intntl \
- memtools \
- misc \
- rc \
- ref \
- stream \
- zcodec
-
-
-.INCLUDE : target.mk
-
diff --git a/tools/source/memtools/makefile.mk b/tools/source/memtools/makefile.mk
deleted file mode 100644
index de03a0d50cc3..000000000000
--- a/tools/source/memtools/makefile.mk
+++ /dev/null
@@ -1,56 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=mtools
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/contnr.obj \
- $(SLO)$/table.obj \
- $(SLO)$/unqidx.obj \
- $(SLO)$/mempool.obj \
- $(SLO)$/multisel.obj
-
-EXCEPTIONSFILES= $(SLO)$/multisel.obj $(OBJ)$/multisel.obj
-
-OBJFILES= $(OBJ)$/contnr.obj \
- $(OBJ)$/table.obj \
- $(OBJ)$/unqidx.obj \
- $(OBJ)$/mempool.obj \
- $(OBJ)$/multisel.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/source/misc/makefile.mk b/tools/source/misc/makefile.mk
deleted file mode 100644
index a426bb4053c3..000000000000
--- a/tools/source/misc/makefile.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ = ..$/..
-PRJNAME = tools
-TARGET = misc
-LIBTARGET = NO
-ENABLE_EXCEPTIONS = TRUE
-
-.INCLUDE: settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-LIB1TARGET = $(SLB)$/$(TARGET).lib
-LIB1OBJFILES = \
- $(SLO)$/appendunixshellword.obj \
- $(SLO)$/extendapplicationenvironment.obj \
- $(SLO)$/solarmutex.obj \
- $(SLO)$/getprocessworkingdir.obj
-
-OBJFILES = $(OBJ)$/pathutils.obj
-SLOFILES = $(SLO)$/pathutils.obj $(LIB1OBJFILES) $(SLO)$/solarmutex.obj
-
-.INCLUDE: target.mk
diff --git a/tools/source/misc/pathutils.cxx b/tools/source/misc/pathutils.cxx
index 397bade136e7..4685f96ca187 100644
--- a/tools/source/misc/pathutils.cxx
+++ b/tools/source/misc/pathutils.cxx
@@ -25,7 +25,6 @@
*
************************************************************************/
-#include "precompiled_tools.hxx"
#include "sal/config.h"
#if defined WNT
diff --git a/tools/source/rc/makefile.mk b/tools/source/rc/makefile.mk
deleted file mode 100644
index f8b46f38a0f7..000000000000
--- a/tools/source/rc/makefile.mk
+++ /dev/null
@@ -1,53 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=rc
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/rc.obj \
- $(SLO)$/isofallback.obj \
- $(SLO)$/resmgr.obj \
- $(SLO)$/resary.obj
-
-OBJFILES= $(OBJ)$/rc.obj \
- $(OBJ)$/isofallback.obj \
- $(OBJ)$/resmgr.obj \
- $(OBJ)$/resary.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/source/ref/makefile.mk b/tools/source/ref/makefile.mk
deleted file mode 100644
index c87f8a740a4f..000000000000
--- a/tools/source/ref/makefile.mk
+++ /dev/null
@@ -1,53 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=ref
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/ref.obj \
- $(SLO)$/pstm.obj \
- $(SLO)$/globname.obj \
- $(SLO)$/errinf.obj
-
-OBJFILES= $(OBJ)$/ref.obj \
- $(OBJ)$/pstm.obj \
- $(OBJ)$/globname.obj \
- $(OBJ)$/errinf.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/source/stream/makefile.mk b/tools/source/stream/makefile.mk
deleted file mode 100644
index ee548934c6c6..000000000000
--- a/tools/source/stream/makefile.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=stream
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/stream.obj \
- $(SLO)$/strmsys.obj \
- $(SLO)$/cachestr.obj \
- $(SLO)$/vcompat.obj
-
-OBJFILES+= $(OBJ)$/stream.obj \
- $(OBJ)$/strmsys.obj \
- $(OBJ)$/cachestr.obj \
- $(OBJ)$/vcompat.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-$(SLO)$/strmsys.obj : \
- strmwnt.cxx \
- strmos2.cxx \
- strmunx.cxx
-
diff --git a/tools/source/string/makefile.mk b/tools/source/string/makefile.mk
deleted file mode 100644
index 4caa31672472..000000000000
--- a/tools/source/string/makefile.mk
+++ /dev/null
@@ -1,79 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=str
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-ALWAYSDBGFILES = $(SLO)$/debugprint.obj
-
-.IF "$(ALWAYSDBGFILES)" != ""
-ALWAYSDBGTARGET=do_it_alwaysdebug
-.ENDIF
-
-SLOFILES= $(SLO)$/tstring.obj \
- $(SLO)$/tustring.obj \
- $(SLO)$/tenccvt.obj \
- $(SLO)$/debugprint.obj
-
-OBJFILES= $(OBJ)$/tstring.obj \
- $(OBJ)$/tustring.obj \
- $(OBJ)$/tenccvt.obj \
- $(OBJ)$/debugprint.obj
-
-# --- Targets ------------------------------------------------------
-
-.IF "$(ALWAYSDBG_FLAG)"==""
-TARGETDEPS+=$(ALWAYSDBGTARGET)
-.ENDIF
-
-.INCLUDE : target.mk
-
-.IF "$(ALWAYSDBGTARGET)" != ""
-.IF "$(ALWAYSDBG_FLAG)" == ""
-# --------------------------------------------------
-# - ALWAYSDBG - files always compiled with debugging
-# --------------------------------------------------
-$(ALWAYSDBGTARGET):
- @echo --- ALWAYSDBGFILES ---
- @dmake $(MFLAGS) $(MAKEFILE) debug=true $(ALWAYSDBGFILES) ALWAYSDBG_FLAG=TRUE $(CALLMACROS)
- @echo --- ALWAYSDBGFILES OVER ---
-
-$(ALWAYSDBGFILES):
- @echo --- ALWAYSDBG ---
- @dmake $(MFLAGS) $(MAKEFILE) debug=true ALWAYSDBG_FLAG=TRUE $(CALLMACROS) $@
- @echo --- ALWAYSDBG OVER ---
-.ENDIF
-.ENDIF
diff --git a/tools/source/testtoolloader/makefile.mk b/tools/source/testtoolloader/makefile.mk
deleted file mode 100644
index 3d5cb8223e3f..000000000000
--- a/tools/source/testtoolloader/makefile.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=TOOLS
-TARGET=testtoolloader
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/testtoolloader.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/source/zcodec/makefile.mk b/tools/source/zcodec/makefile.mk
deleted file mode 100644
index 9067b45c3b5d..000000000000
--- a/tools/source/zcodec/makefile.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=tools
-TARGET=zcodec
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-.IF "$(SYSTEM_ZLIB)" == "YES"
-CFLAGS+=-DSYSTEM_ZLIB
-.ENDIF
-SLOFILES= $(SLO)$/zcodec.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/test/makefile.mk b/tools/test/makefile.mk
deleted file mode 100644
index ab2cfd8e6676..000000000000
--- a/tools/test/makefile.mk
+++ /dev/null
@@ -1,65 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=tools
-TARGET=tests
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-CFLAGSCXX += $(CPPUNIT_CFLAGS)
-
-# --- Common ----------------------------------------------------------
-
-SHL1OBJS= \
- $(SLO)$/tests.obj
-
-SHL1TARGET= tests
-SHL1STDLIBS= $(SALLIB) \
- $(TOOLSLIB) \
- $(TESTSHL2LIB) \
- $(CPPUNITLIB)
-
-SHL1IMPLIB= i$(SHL1TARGET)
-
-DEF1NAME =$(SHL1TARGET)
-SHL1VERSIONMAP = export.map
-
-#------------------------------- All object files ----------------------------
-
-# do this here, so we get right dependencies
-SLOFILES=$(SHL1OBJS)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-.INCLUDE : _cppunit.mk
diff --git a/tools/unx/source/dll/makefile.mk b/tools/unx/source/dll/makefile.mk
deleted file mode 100644
index da1d73f04682..000000000000
--- a/tools/unx/source/dll/makefile.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-
-PRJNAME=TOOLS
-TARGET=dll
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-CXXFILES= toolsdll.cxx
-
-SLOFILES= $(SLO)$/toolsdll.obj
-
-OBJFILES= $(OBJ)$/toolsdll.obj
-
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/tools/util/makefile.mk b/tools/util/makefile.mk
deleted file mode 100644
index 1574addcf59c..000000000000
--- a/tools/util/makefile.mk
+++ /dev/null
@@ -1,173 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=TOOLS
-TARGET=tools
-ENABLE_EXCEPTIONS=true
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Allgemein ----------------------------------------------------
-
-# --- STDSTRM.LIB ---
-LIB3TARGET= $(LB)$/stdstrm.lib
-LIB3ARCHIV= $(LB)$/libstdstrm.a
-LIB3FILES= $(LB)$/stream.lib
-
-LIB7TARGET= $(LB)$/a$(TARGET).lib
-LIB7ARCHIV= $(LB)$/liba$(TARGET).a
-LIB7FILES= $(LB)$/gen.lib \
- $(LB)$/str.lib \
- $(LB)$/mtools.lib \
- $(LB)$/datetime.lib \
- $(LB)$/fsys.lib \
- $(LB)$/communi.lib \
- $(LB)$/stream.lib \
- $(LB)$/ref.lib \
- $(LB)$/rc.lib \
- $(LB)$/inet.lib \
- $(LB)$/debug.lib
-
-
-LIB7FILES+= $(LB)$/dll.lib
-
-# --- TOOLS.LIB ---
-LIB1TARGET:= $(SLB)$/$(TARGET).lib
-LIB1FILES+= \
- $(SLB)$/gen.lib \
- $(SLB)$/str.lib \
- $(SLB)$/mtools.lib \
- $(SLB)$/datetime.lib \
- $(SLB)$/fsys.lib \
- $(SLB)$/communi.lib \
- $(SLB)$/stream.lib \
- $(SLB)$/ref.lib \
- $(SLB)$/rc.lib \
- $(SLB)$/debug.lib \
- $(SLB)$/zcodec.lib \
- $(SLB)$/inet.lib \
- $(SLB)$/testtoolloader.lib \
- $(SLB)$/misc.lib
-
-.IF "$(OS)"=="MACOSX"
-SHL1STDLIBS += $(CPPULIB) \
- $(ZLIB3RDLIB)
-.ELSE
-SHL1STDLIBS += $(ZLIB3RDLIB) \
- $(CPPULIB)
-.ENDIF
-
-LIB1FILES+= $(SLB)$/dll.lib
-
-
-.IF "$(BIG_TOOLS)"!=""
-.IF "$(GUI)"=="WNT"
-#SOLARLIBDIR=$(SOLARVER)\$((INPATH)\lib
-#SOLARLIBDIR=..\$(INPATH)\lib
-# bei lokalen osl rtl oder vos das SOLARLIBDIR bitte patchen !
-LIB1FILES+= $(SOLARLIBDIR)\xosl.lib \
- $(SOLARLIBDIR)\xrtl.lib \
- $(SOLARLIBDIR)\xvos.lib
-SHL1STDLIBS+= $(WSOCK32LIB)
-.ENDIF
-.ENDIF # "$(BIG_TOOLS)"!=""
-
-# --- TOOLS.DLL ---
-
-SHL1TARGET= tl$(DLLPOSTFIX)
-SHL1LIBS= $(LIB1TARGET)
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-SHL1IMPLIB= itools
-SHL1USE_EXPORTS=name
-SHL1STDLIBS+= $(SALLIB) $(VOSLIB) $(BASEGFXLIB) $(I18NISOLANGLIB) $(COMPHELPERLIB)
-
-.IF "$(GUI)"=="WNT"
-SHL1STDLIBS+= $(SHELL32LIB) \
- $(MPRLIB) \
- $(OLE32LIB) \
- $(UUIDLIB) \
- $(ADVAPI32LIB)
-.ENDIF
-
-DEF1NAME =$(SHL1TARGET)
-DEF1DEPN = \
- $(MISC)$/$(SHL1TARGET).flt \
- $(HXX1FILES) \
- $(HXX2FILES) \
- $(HXX3FILES) \
- $(HXX4FILES) \
- $(HXX5FILES) \
- $(HXX6FILES) \
- $(HXX7FILES) \
- $(HXX8FILES) \
- $(HXX9FILES) \
- $(HXX10FILES) \
- $(HXX11FILES) \
- $(HXX12FILES) \
- $(HXX13FILES) \
- $(HXX14FILES) \
- $(HXX15FILES) \
- $(HXX16FILES) \
- $(HXX17FILES) \
- $(HXX18FILES) \
- $(HXX19FILES) \
- $(HXX20FILES) \
- makefile.mk
-
-DEFLIB1NAME =tools
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
-# --- TOOLS.FLT ---
-$(MISC)$/$(SHL1TARGET).flt: makefile.mk
- @echo ------------------------------
- @echo Making: $@
- @echo Imp>$@
- @echo PointerList>>$@
- @echo DbgCheck>>$@
- @echo LabelList>>$@
- @echo ActionList>>$@
- @echo CBlock>>$@
- @echo DirEntryStack>>$@
- @echo readdir>>$@
- @echo closedir>>$@
- @echo opendir>>$@
- @echo volumeid>>$@
- @echo MsDos2Time>>$@
- @echo MsDos2Date>>$@
- @echo __new_alloc>>$@
- @echo __CT>>$@
- @echo unnamed>>$@
-.IF "$(COM)"=="BLC"
- @echo WEP>>$@
-.ENDIF
diff --git a/tools/win/inc/shellex.h b/tools/win/inc/shellex.h
deleted file mode 100644
index f81502a3382b..000000000000
--- a/tools/win/inc/shellex.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _SHELLEX_H_
-#define _SHELLEX_H_
-
-#ifndef _SHLOBJ_H_
-#include <shlobj.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#define WINSHELLCALL inline
-#else
-#define WINSHELLCALL static
-#endif
-
-#define SHChangeNotifyRegister_PROC_STR MAKEINTRESOURCE(2)
-#define SHChangeNotifyDeregister_PROC_STR MAKEINTRESOURCE(4)
-
-#define SHCNF_ACCEPT_INTERRUPTS 0x0001
-#define SHCNF_ACCEPT_NON_INTERRUPTS 0x0002
-#define SHCNF_NO_PROXY 0x8000
-
-#define SHCNF_ACCEPT_ALL (SHCNF_ACCEPT_INTERRUPTS | SHCNF_ACCEPT_NON_INTERRUPTS)
-
-typedef struct tagNOTIFYREGISTER {
- LPCITEMIDLIST pidlPath;
- BOOL bWatchSubtree;
-} NOTIFYREGISTER;
-
-typedef NOTIFYREGISTER *LPNOTIFYREGISTER;
-typedef NOTIFYREGISTER const *LPCNOTIFYREGISTER;
-
-typedef HANDLE (WINAPI *SHChangeNotifyRegister_PROC)(
- HWND hWnd,
- DWORD dwFlags,
- LONG wEventMask,
- UINT uMsg,
- ULONG cItems,
- LPCNOTIFYREGISTER lpItems);
-
-
-WINSHELLCALL HANDLE WINAPI SHChangeNotifyRegister(
- HWND hWnd,
- DWORD dwFlags,
- LONG wEventMask,
- UINT uMsg,
- ULONG cItems,
- LPCNOTIFYREGISTER lpItems)
-
-{
- HMODULE hModule = GetModuleHandle( "SHELL32" );
- HANDLE hNotify = NULL;
-
- if ( hModule )
- {
- SHChangeNotifyRegister_PROC lpfnSHChangeNotifyRegister = (SHChangeNotifyRegister_PROC)GetProcAddress( hModule, SHChangeNotifyRegister_PROC_STR );
- if ( lpfnSHChangeNotifyRegister )
- hNotify = lpfnSHChangeNotifyRegister( hWnd, dwFlags, wEventMask, uMsg, cItems, lpItems );
- }
-
- return hNotify;
-}
-
-
-
-typedef BOOL (WINAPI *SHChangeNotifyDeregister_PROC)(
- HANDLE hNotify);
-
-WINSHELLCALL BOOL WINAPI SHChangeNotifyDeregister( HANDLE hNotify )
-{
- HMODULE hModule = GetModuleHandle( "SHELL32" );
- BOOL fSuccess = FALSE;
-
- if ( hModule )
- {
- SHChangeNotifyDeregister_PROC lpfnSHChangeNotifyDeregister = (SHChangeNotifyDeregister_PROC)GetProcAddress( hModule, SHChangeNotifyDeregister_PROC_STR );
- if ( lpfnSHChangeNotifyDeregister )
- fSuccess = lpfnSHChangeNotifyDeregister( hNotify );
- }
-
- return fSuccess;
-}
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/tools/win/inc/shutil.h b/tools/win/inc/shutil.h
deleted file mode 100644
index 1daae442292d..000000000000
--- a/tools/win/inc/shutil.h
+++ /dev/null
@@ -1,215 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _SHUTIL_H_
-#define _SHUTIL_H_
-
-#if defined WNT
-
-#ifndef _SHOBJ_H
-#include <shlobj.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define PROTOCOL_FILE "file:"
-#define MAX_URL (MAX_PATH + sizeof(PROTOCOL_FILE))
-
-#define SHUTIL_TO_DELIVER
-
-//--------------------------------------------------------------------------
-
-void * WINAPI WIN_SHAlloc( ULONG cb );
-void * WINAPI WIN_SHRealloc( void *pv, ULONG cb );
-void WINAPI WIN_SHFree( void *pv );
-
-//--------------------------------------------------------------------------
-
-ULONG WINAPI WIN_SHGetIDListSize( LPCITEMIDLIST pidl );
-BOOL WINAPI WIN_SHCloneIDList( LPCITEMIDLIST pidl, LPITEMIDLIST *ppidl );
-BOOL WINAPI WIN_SHAppendIDList( LPCITEMIDLIST pidl, LPITEMIDLIST *ppidl );
-LONG WINAPI WIN_SHCompareIDList( LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2 );
-
-LONG WINAPI WIN_SHGetIDListTokenCount( LPCITEMIDLIST pidl );
-BOOL WINAPI WIN_SHGetIDListToken( LPCITEMIDLIST pidl, ULONG nToken, LPITEMIDLIST *ppidl );
-
-BOOL WINAPI WIN_SHSplitIDList(
- LPCITEMIDLIST pidl,
- LPITEMIDLIST * pidlFolder,
- LPITEMIDLIST * pidlItem
- );
-
-BOOL WINAPI WIN_SHSplitIDListEx(
- LPCITEMIDLIST pidl,
- LPITEMIDLIST * pidlParent,
- LPITEMIDLIST * pidlChild,
- ULONG nLevel
- );
-
-//--------------------------------------------------------------------------
-
-#define WIN_SHGetSpecialFolderLocation( nFolder, ppidl ) \
- ((BOOL)(NOERROR == SHGetSpecialFolderLocation( GetFocus(), nFolder, ppidl )))
-
-#define WIN_SHGetPathFromIDList( pidl, pszPath ) \
- SHGetPathFromIDList( pidl, pszPath )
-
-// #define SHGP_CLSID 0x00000001
-
-// BOOL WINAPI WIN_SHGetPathFromIDListEx( LPCITEMIDLIST pidl, LPSTR pszBuffer, UINT uFlags );
-
-BOOL WINAPI WIN_SHGetIDListFromPath( LPCSTR pszPath, LPITEMIDLIST *ppidl );
-
-BOOL WINAPI WIN_SHGetPathFromURL( LPCSTR pszURL, LPSTR pszPath );
-BOOL WINAPI WIN_SHGetURLFromPath( LPCSTR pszPath, LPSTR pszURL );
-
-BOOL WINAPI WIN_SHGetFolderFromIDList( LPCITEMIDLIST pidl, LPSHELLFOLDER *ppshf );
-BOOL WINAPI WIN_SHGetSpecialFolder( int nFolder, LPSHELLFOLDER *ppshf );
-BOOL WINAPI WIN_SHGetFolderFromPath( LPCSTR pszPath, LPSHELLFOLDER *ppshf );
-
-BOOL WINAPI WIN_SHGetSpecialFolderPath( int nFolder, LPSTR pszPath );
-
-HRESULT WINAPI WIN_SHGetDataFromIDList(
- LPSHELLFOLDER psf,
- LPCITEMIDLIST pidl,
- int nFormat,
- PVOID pv,
- int cb
- );
-
-
-//--------------------------------------------------------------------------
-
-#define SHIC_PIDL 0x00000001
-#define SHIC_NO_UI 0x00000002
-
-#define CMDSTR_OPENA "open"
-#define CMDSTR_EXPLOREA "explore"
-#define CMDSTR_FINDA "find"
-
-#define CMDSTR_OPENW L"open"
-#define CMDSTR_EXPLOREW L"explore"
-#define CMDSTR_FINDW L"find"
-
-#ifdef UNICODE
-#define CMDSTR_OPEN CMDSTR_OPENW
-#define CMDSTR_EXPLORE CMDSTR_EXPLOREW
-#define CMDSTR_FIND CMDSTR_FINDW
-#else
-#define CMDSTR_OPEN CMDSTR_OPENA
-#define CMDSTR_EXPLORE CMDSTR_EXPLOREA
-#define CMDSTR_FIND CMDSTR_FINDA
-#endif
-
-#define CMDSTR_DEFAULT MAKEINTRESOURCE(0x00)
-
-#define CMDSTR_LINK MAKEINTRESOURCE(0x10)
-#define CMDSTR_DELETE MAKEINTRESOURCE(0x11)
-#define CMDSTR_RENAME MAKEINTRESOURCE(0x12)
-#define CMDSTR_PROPERTIES MAKEINTRESOURCE(0x13)
-#define CMDSTR_CUT MAKEINTRESOURCE(0x18)
-#define CMDSTR_COPY MAKEINTRESOURCE(0x19)
-
-BOOL WINAPI WIN_SHInvokeCommand(
- HWND hwndOwner,
- DWORD dwFlags,
- LPCTSTR lpPath,
- LPCSTR lpVerb,
- LPCSTR lpParameters,
- LPCSTR lpDirectory,
- int nShow
- );
-
-//--------------------------------------------------------------------------
-
-BOOL WINAPI WIN_SHStrRetToMultiByte(
- LPCITEMIDLIST pidl,
- const STRRET * pStr,
- LPSTR lpMultiByte,
- int cchMultiByte
- );
-
-DWORD WIN_SHBuildCRC( LPVOID pBytes, ULONG nBytes );
-
-DWORD WINAPI WIN_GetShellVersion(VOID);
-
-HIMAGELIST WINAPI WIN_SHGetSystemImageList( UINT uFlags );
-
-//--------------------------------------------------------------------------
-
-/*
-
-ULONG WINAPI WIN_CreateStringFromBinary (
- LPCVOID pv,
- ULONG cbSize,
- LPSTR pszString,
- ULONG cbStringSize
- );
-
-ULONG WINAPI WIN_CreateBinaryFromString(
- LPCSTR pszStr,
- LPVOID pBuffer,
- ULONG cbSize
- );
-*/
-
-//--------------------------------------------------------------------------
-
-DWORD WINAPI WIN_SHSetValue(
- HKEY hKey,
- LPCTSTR pszSubKey,
- LPCTSTR pszValue,
- DWORD dwType,
- LPCVOID pvData,
- DWORD cbData
- );
-
-DWORD WINAPI WIN_SHGetValue(
- HKEY hKey,
- LPCTSTR pszSubKey,
- LPCTSTR pszValue,
- LPDWORD pdwType,
- LPVOID pvData,
- LPDWORD pcbData
- );
-
-DWORD WINAPI WIN_SHDeleteValue(
- HKEY hKey,
- LPCTSTR pszSubKey,
- LPCTSTR pszValue
- );
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-#endif // _SHUTIL_H_
-
diff --git a/tools/win/inc/winshell.hxx b/tools/win/inc/winshell.hxx
deleted file mode 100644
index a8be1e7d1344..000000000000
--- a/tools/win/inc/winshell.hxx
+++ /dev/null
@@ -1,386 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _WINSHELL_HXX
-#define _WINSHELL_HXX
-
-#if defined WNT
-
-#include <tools/prewin.h>
-#include "shutil.h"
-#include <tools/postwin.h>
-
-#include <tools/string.hxx>
-
-//----------------------------------------------------------------------------
-// CItemIDList
-//----------------------------------------------------------------------------
-
-class CItemIDList
-{
-public:
- CItemIDList();
- CItemIDList( const CItemIDList & );
- CItemIDList( LPCITEMIDLIST );
- CItemIDList( const String & );
- CItemIDList( int nFolder );
- ~CItemIDList();
-
- CItemIDList & operator = ( const CItemIDList & );
- CItemIDList & operator += ( const CItemIDList & );
- CItemIDList operator + ( const CItemIDList & ) const;
-
- int operator == ( const CItemIDList & ) const;
- int operator != ( const CItemIDList & rIDList ) const
- { return ! operator == ( rIDList ); };
-
- operator LPCITEMIDLIST() const
- { return m_pidl; };
-
- int GetTokenCount() const;
- CItemIDList GetToken( int nIndex ) const;
- CItemIDList GetParent( int nLevelFromBottom = 1) const;
- CItemIDList GetChild( int nLevelFromBottom = 1 ) const;
- void Split( CItemIDList & rParent, CItemIDList & rChild, int nLevelFromBottom = 1 ) const;
-
- CItemIDList operator []( int nIndex ) const
- { return GetToken( nIndex ); };
-
- String GetFilePath() const;
-
- BOOL IsValid() const
- { return m_pidl != NULL && m_pidl->mkid.cb != sizeof(USHORT); }
-
- int GetRootID() const
- { return m_nFolder; }
-
-protected:
- ITEMIDLIST *m_pidl;
- int m_nFolder;
-};
-
-
-inline CItemIDList CItemIDList::operator + ( const CItemIDList & rIDList ) const
-{
- CItemIDList aCopy( *this );
- aCopy += rIDList;
- return aCopy;
-}
-
-//----------------------------------------------------------------------------
-// Types for CShellFolder
-//----------------------------------------------------------------------------
-
-// Notification Events fuer CShellFolder
-
-enum NotificationEvent
-{
- NotificationEvent_Error,
- NotificationEvent_Signaled,
- NotificationEvent_Canceled
-};
-
-// Volume information
-
-typedef struct _WIN32_VOLUME_DATA
-{
- TCHAR cDeviceName[MAX_PATH];
- TCHAR cVolumeName[MAX_PATH];
- TCHAR cFileSystemName[MAX_PATH];
- DWORD dwSerialNumber;
- DWORD dwFileSystemFlags;
- DWORD nMaxComponentLength;
-} WIN32_VOLUME_DATA;
-
-// Bekannte Class-IDs fuer wichtige Ordner
-
-// {871C5380-42A0-1069-A2EA-08002B30309D} Internet Explorer 4.0
-static const GUID CLSID_IE4 =
-{ 0x871C5380, 0x42A0, 0x1069, { 0xA2, 0xEA, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D } };
-
-// {208D2C60-3AEA-1069-A2D7-08002B30309D} Netzwerkumgebung
-static const GUID CLSID_Network =
-{ 0x208D2C60, 0x3AEA, 0x1069, { 0xA2, 0xD7, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D } };
-
-// {645FF040-5081-101B-9F08-00AA002F954E} Papierkorb
-static const GUID CLSID_RecycleBin =
-{ 0x645FF040, 0x5081, 0x101B, { 0x9F, 0x08, 0x00, 0xAA, 0x00, 0x2F, 0x95, 0x4E } };
-
-// {20D04FE0-3AEA-1069-A2D8-08002B30309D} Arbeitsplatz
-static const GUID CLSID_MyComputer =
-{ 0x20D04FE0, 0x3AEA, 0x1069, { 0xA2, 0xD8, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D } };
-
-// {D6277990-4C6A-11CF-8D87-00AA0060F5BF} Geplante Vorgänge
-static const GUID CLSID_Tasks =
-{ 0xD6277990, 0x4C6A, 0x11CF, { 0x8D, 0x87, 0x00, 0xAA, 0x00, 0x60, 0xF5, 0xBF } };
-
-// Fehlt im Header
-
-#define SHGDN_INCLUDE_NONFILESYS 0x2000
-
-#define CSIDL_UNKNOWN -1
-#define CSIDL_ROOT -2
-#define CSIDL_SYSTEM -3
-
-// Suchmaske fuer IEnumIDList
-
-#define SHCONTF_ALL (SHCONTF_FOLDERS | SHCONTF_NONFOLDERS | SHCONTF_INCLUDEHIDDEN)
-
-// SHITEM Prefix Kinds
-
-#define SHGII_CONTAINER_MASK 0x70
-
-#define SHGII_COMPUTER 0x20
-
-#define SHGII_COMPUTER_REMOVABLE 0x22
-#define SHGII_COMPUTER_FIXED 0x23
-#define SHGII_COMPUTER_REMOTE 0x24
-#define SHGII_COMPUTER_CDROM 0x25
-#define SHGII_COMPUTER_RAMDISK 0x26
-#define SHGII_COMPUTER_FLOPPY525 0x28
-#define SHGII_COMPUTER_FLOPPY35 0x29
-#define SHGII_COMPUTER_NETWORK 0x2A
-#define SHGII_COMPUTER_REGITEM 0x2E
-
-#define SHGII_ROOT 0x10
-#define SHGII_ROOT_REGITEM 0x1F
-
-#define SHGII_NETWORK 0x40
-#define SHGII_NETWORK_TREE 0x47
-#define SHGII_NETWORK_SERVER 0x42
-#define SHGII_NETWORK_DIRECTORY 0x43
-#define SHGII_NETWORK_PRINTER 0x41
-
-#define SHGII_FILESYSTEM 0x30
-#define SHGII_FILESYSTEM_FILE 0x31
-#define SHGII_FILESYSTEM_DIRECTORY 0x32
-
-#define SHGII_ANCESTOR 0x80
-
-#define SHITEMCONTAINER( pidl ) ((pidl)->mkid.abID[0] & SHGII_CONTAINER_MASK)
-#define SHITEMKIND( pidl ) ((pidl)->mkid.abID[0] & 0x7F)
-
-//----------------------------------------------------------------------------
-// CShellFolderData
-//----------------------------------------------------------------------------
-
-class CShellFolderData
-{
-protected:
- CShellFolderData();
- virtual ~CShellFolderData();
-
- IShellFolder *m_pShellFolder;
- IEnumIDList *m_pEnumIDList;
- IShellIcon *m_pShellIcon;
- BOOL m_bIsOpen;
- HANDLE m_hCancelEvent;
- DWORD m_dwContentFlags;
-};
-
-//----------------------------------------------------------------------------
-// CShellFolder
-//----------------------------------------------------------------------------
-
-// Ganz "normaler" Ordner basierend auf dem IShellFolder Interface
-
-class CShellFolder : public CShellFolderData
-{
-public:
- CShellFolder( const CItemIDList & );
- CShellFolder( const CShellFolder & );
- CShellFolder( IShellFolder * );
-
- // Retrieval of Item IDs
-
- virtual BOOL Reset();
-
- BOOL GetNextValidID( CItemIDList & );
-
- virtual BOOL GetNextID( CItemIDList & );
- virtual BOOL ValidateID( const CItemIDList & );
-
- // Getting information about Items
-
- virtual BOOL GetAttributesOf( const CItemIDList &, LPDWORD pdwInOut );
- virtual BOOL GetNameOf( const CItemIDList &, String & );
-
- virtual BOOL GetFileInfo( const CItemIDList &, WIN32_FIND_DATA * );
- virtual BOOL GetVolumeInfo( const CItemIDList & rIDList, WIN32_VOLUME_DATA * );
-
- // Modifying the folder contents
-
- virtual BOOL SetNameOf( const CItemIDList &, const String &, CItemIDList & );
- virtual BOOL DeleteItem( const CItemIDList & );
-
- // Comparison of IDs
-
- virtual int CompareIDs( const CItemIDList &, const CItemIDList & );
-
- // UI Components
-
- virtual IContextMenu *GetContextMenu( int nItems, const CItemIDList * );
- virtual String GetIconLocation( const CItemIDList & );
-
- // Notifications
-
- virtual NotificationEvent WaitForChanges();
- virtual void CancelWaitNotifications();
-
-protected:
- CShellFolder() : CShellFolderData() {};
-
- void Initialize( IShellFolder *pShellFolder );
- void Initialize( LPCITEMIDLIST );
-};
-
-//----------------------------------------------------------------------------
-// CFileSystemFolder
-//----------------------------------------------------------------------------
-
-// Reiner !!! Filesystem-Ordner. Benutzt optimierten Notification Mechanismus
-
-class CFileSystemFolder : public CShellFolder
-{
-public:
- CFileSystemFolder( LPCSTR pszPath );
-
- virtual NotificationEvent WaitForChanges();
-
-protected:
- CFileSystemFolder() : CShellFolder() {};
-
- void Initialize( LPCTSTR pszPath );
-
- TCHAR m_szPath[MAX_PATH];
-};
-
-//----------------------------------------------------------------------------
-// CSpecialFolder
-//----------------------------------------------------------------------------
-
-// Wie SHellFolder, aber andere Konstruktion ueber definierte Junktion-Points
-
-class CSpecialFolder : public CShellFolder
-{
-public:
- CSpecialFolder( int nFolder );
-
-protected:
- CSpecialFolder() : CShellFolder() {};
-
- void Initialize( int nFolder );
-
- int m_nFolder;
-};
-
-//----------------------------------------------------------------------------
-// CMyComputerFolder
-//----------------------------------------------------------------------------
-
-// Der MS-Windows "Arbeitsplatz"
-
-class CMyComputerFolder : public CSpecialFolder
-{
-public:
- CMyComputerFolder() : CSpecialFolder( CSIDL_DRIVES ) {};
-};
-
-//----------------------------------------------------------------------------
-// CVolumesFolder
-//----------------------------------------------------------------------------
-
-// Wie CMyComputersFolder, enthält aber nur die Laufwerke
-
-class CVolumesFolder : public CMyComputerFolder
-{
-public:
- CVolumesFolder() : CMyComputerFolder() {};
-
- virtual BOOL ValidateID( const CItemIDList & );
- virtual NotificationEvent WaitForChanges();
-};
-
-//----------------------------------------------------------------------------
-// CWorkplaceFolder
-//----------------------------------------------------------------------------
-
-// Wie CMyComputersFolder, enthält aber keine!!! Laufwerke
-
-class CWorkplaceFolder : public CMyComputerFolder
-{
- CWorkplaceFolder() : CMyComputerFolder() {};
-
- virtual BOOL ValidateID( const CItemIDList & );
- virtual NotificationEvent WaitForChanges();
-};
-
-//----------------------------------------------------------------------------
-// CDesktopFolder
-//----------------------------------------------------------------------------
-
-// Der MS-Windows Desktop
-
-class CDesktopFolder : public CSpecialFolder
-{
-public:
- CDesktopFolder() : CSpecialFolder( CSIDL_DESKTOP ) {};
-};
-
-//----------------------------------------------------------------------------
-// CDesktopAncestorsFolder
-//----------------------------------------------------------------------------
-
-// Wie CDesktopFolder, enthält aber nur Arbeitsplatz und Netzwerk
-
-class CDesktopAncestorsFolder : public CDesktopFolder
-{
-public:
- CDesktopAncestorsFolder() : CDesktopFolder() {};
-
- virtual BOOL ValidateID( const CItemIDList & );
- virtual NotificationEvent WaitForChanges();
-};
-
-//----------------------------------------------------------------------------
-// CDesktopContentsFolder
-//----------------------------------------------------------------------------
-
-// Wie CDesktopFolder, aber ohne!!! Arbeitsplatz und Netzwerk
-
-class CDesktopContentsFolder : public CDesktopFolder
-{
-public:
- CDesktopContentsFolder() : CDesktopFolder() {};
-
- virtual BOOL ValidateID( const CItemIDList & );
- virtual NotificationEvent WaitForChanges();
-};
-
-#endif
-
-#endif // _WINSHELL_HXX
diff --git a/tools/win/source/dll/makefile.mk b/tools/win/source/dll/makefile.mk
deleted file mode 100644
index 403da065d653..000000000000
--- a/tools/win/source/dll/makefile.mk
+++ /dev/null
@@ -1,56 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-
-PRJNAME=TOOLS
-TARGET=dll
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- WNT ----------------------------------------------------------
-
-.IF "$(GUI)" == "WNT"
-
-# --- Files --------------------------------------------------------
-
-CXXFILES= toolsdll.cxx
-
-SLOFILES= $(SLO)$/toolsdll.obj
-
-OBJFILES= $(OBJ)$/toolsdll.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
-.ENDIF
-
diff --git a/tools/win/source/fastfsys/makefile.mk b/tools/win/source/fastfsys/makefile.mk
deleted file mode 100644
index 12df85d6a2f3..000000000000
--- a/tools/win/source/fastfsys/makefile.mk
+++ /dev/null
@@ -1,71 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..\..\..
-
-PRJNAME=TOOLS
-TARGET=fastfsys
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- WNT ----------------------------------------------------------
-
-.IF "$(GUI)" == "WNT"
-
-# --- Files --------------------------------------------------------
-
-
-OBJFILES= $(OBJ)$/shutil.obj \
- $(OBJ)$/shidl.obj \
- $(OBJ)$/shmalloc.obj \
- $(OBJ)$/fffolder.obj \
- $(OBJ)$/ffmenu.obj \
- $(OBJ)$/ffitem.obj \
- $(OBJ)$/fflink.obj \
- $(OBJ)$/ffparser.obj \
- $(OBJ)$/wincidl.obj \
- $(OBJ)$/wincshf.obj
-
-
-SLOFILES= $(SLO)$/shutil.obj \
- $(SLO)$/shidl.obj \
- $(SLO)$/shmalloc.obj \
- $(SLO)$/fffolder.obj \
- $(SLO)$/ffmenu.obj \
- $(SLO)$/ffitem.obj \
- $(SLO)$/fflink.obj \
- $(SLO)$/ffparser.obj \
- $(SLO)$/wincidl.obj \
- $(SLO)$/wincshf.obj
-
-# --- Targets ------------------------------------------------------
-
-.ENDIF
-
-.INCLUDE : target.mk
diff --git a/tools/workben/makefile.mk b/tools/workben/makefile.mk
deleted file mode 100644
index 73d5753fe233..000000000000
--- a/tools/workben/makefile.mk
+++ /dev/null
@@ -1,89 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ = ..
-PRJNAME = tl
-TARGET = tldem
-LIBTARGET = NO
-TARGETTYPE = CUI
-ENABLE_EXCEPTIONS=TRUE
-
-.INCLUDE: settings.mk
-
-OBJFILES = \
- $(OBJ)$/solar.obj \
- $(OBJ)$/urltest.obj \
- $(OBJ)$/inetmimetest.obj
-# $(OBJ)$/demostor.obj \
-# $(OBJ)$/fstest.obj \
-# $(OBJ)$/tldem.obj \
-
-APP1TARGET = solar
-APP1OBJS = $(OBJ)$/solar.obj
-.IF "$(GUI)" == "UNX" || "$(GUI)" == "OS2"
-APP1STDLIBS = $(TOOLSLIB)
-.ELSE
-APP1LIBS = $(LB)$/itools.lib
-.ENDIF
-
-APP2TARGET = urltest
-APP2OBJS = $(OBJ)$/urltest.obj
-.IF "$(GUI)" == "UNX" || "$(GUI)" == "OS2"
-APP2STDLIBS = $(TOOLSLIB) $(VOSLIB) $(SALLIB) $(CPPULIB) $(CPPUHELPERLIB)
-.ELSE
-APP2STDLIBS = $(LB)$/itools.lib $(VOSLIB) $(SALLIB) $(CPPULIB) $(CPPUHELPERLIB)
-.ENDIF
-
-APP3TARGET = inetmimetest
-APP3OBJS = $(OBJ)$/inetmimetest.obj
-APP3STDLIBS = $(SALLIB) $(TOOLSLIB)
-
-# APP3TARGET = tldem
-# APP3OBJS = $(OBJ)$/tldem.obj
-# .IF "$(GUI)" == "UNX"
-# APP3STDLIBS = $(TOOLSLIB)
-# .ELSE
-# APP3STDLIBS = $(LB)$/itools.lib
-# .ENDIF
-
-# APP4TARGET = demostor
-# APP4OBJS = $(OBJ)$/demostor.obj
-# .IF "$(GUI)" == "UNX"
-# APP4STDLIBS = $(TOOLSLIB) $(VOSLIB) $(SALLIB)
-# .ELSE
-# APP4STDLIBS = $(LB)$/itools.lib $(VOSLIB) $(SALLIB)
-# .ENDIF
-
-# APP5TARGET = fstest
-# APP5OBJS = $(OBJ)$/fstest.obj
-# .IF "$(GUI)" == "UNX"
-# APP5STDLIBS = $(TOOLSLIB) $(VOSLIB) $(SALLIB)
-# .ELSE
-# APP5STDLIBS = $(LB)$/itools.lib $(VOSLIB) $(SALLIB)
-# .ENDIF
-
-.INCLUDE: target.mk
diff --git a/ucbhelper/inc/ucbhelper/simplenameclashresolverequest.hxx b/ucbhelper/inc/ucbhelper/simplenameclashresolverequest.hxx
index 7f3da27ece7c..8ab8ead7cffb 100644
--- a/ucbhelper/inc/ucbhelper/simplenameclashresolverequest.hxx
+++ b/ucbhelper/inc/ucbhelper/simplenameclashresolverequest.hxx
@@ -37,7 +37,7 @@ namespace ucbhelper {
/**
* This class implements a simple name clash resolve interaction request.
* Instances can be passed directly to XInteractionHandler::handle(...). Each
- * instance contains an NameClashResolveRequest and two interaction
+ * instance contains a NameClashResolveRequest and two interaction
* continuations: "Abort" and "SupplyName". Another continuation
* ("ReplaceExistingData") may be supplied optionally.
*
@@ -56,11 +56,11 @@ public:
*
* @param rTargetFolderURL contains the URL of the folder that contains
* the clashing resource.
- * @param rClashingName contains the clashing name,
+ * @param rClashingName contains the clashing name.
* @param rProposedNewName contains a proposal for the new name or is
* empty.
- * @param bSupportsOverwriteData indictes whether an
- * InteractioneplaceExistingData continuation shall be supplied
+ * @param bSupportsOverwriteData indicates whether an
+ * InteractionReplaceExistingData continuation shall be supplied
* with the interaction request.
*/
SimpleNameClashResolveRequest( const rtl::OUString & rTargetFolderURL,
diff --git a/ucbhelper/source/client/proxydecider.cxx b/ucbhelper/source/client/proxydecider.cxx
index 8505472e1b1f..d6fc260f558b 100644
--- a/ucbhelper/source/client/proxydecider.cxx
+++ b/ucbhelper/source/client/proxydecider.cxx
@@ -51,13 +51,15 @@
using namespace com::sun::star;
using namespace ucbhelper;
-#define CONFIG_ROOT_KEY "org.openoffice.Inet/Settings"
-#define PROXY_TYPE_KEY "ooInetProxyType"
-#define NO_PROXY_LIST_KEY "ooInetNoProxy"
-#define HTTP_PROXY_NAME_KEY "ooInetHTTPProxyName"
-#define HTTP_PROXY_PORT_KEY "ooInetHTTPProxyPort"
-#define FTP_PROXY_NAME_KEY "ooInetFTPProxyName"
-#define FTP_PROXY_PORT_KEY "ooInetFTPProxyPort"
+#define CONFIG_ROOT_KEY "org.openoffice.Inet/Settings"
+#define PROXY_TYPE_KEY "ooInetProxyType"
+#define NO_PROXY_LIST_KEY "ooInetNoProxy"
+#define HTTP_PROXY_NAME_KEY "ooInetHTTPProxyName"
+#define HTTP_PROXY_PORT_KEY "ooInetHTTPProxyPort"
+#define HTTPS_PROXY_NAME_KEY "ooInetHTTPSProxyName"
+#define HTTPS_PROXY_PORT_KEY "ooInetHTTPSProxyPort"
+#define FTP_PROXY_NAME_KEY "ooInetFTPProxyName"
+#define FTP_PROXY_PORT_KEY "ooInetFTPProxyPort"
//=========================================================================
namespace ucbhelper
@@ -132,6 +134,7 @@ class InternetProxyDecider_Impl :
{
mutable osl::Mutex m_aMutex;
InternetProxyServer m_aHttpProxy;
+ InternetProxyServer m_aHttpsProxy;
InternetProxyServer m_aFtpProxy;
const InternetProxyServer m_aEmptyProxy;
sal_Int32 m_nProxyType;
@@ -246,6 +249,63 @@ bool WildCard::Matches( const rtl::OUString& rString ) const
}
//=========================================================================
+bool getConfigStringValue(
+ const uno::Reference< container::XNameAccess > & xNameAccess,
+ const char * key,
+ rtl::OUString & value )
+{
+ try
+ {
+ if ( !( xNameAccess->getByName( rtl::OUString::createFromAscii( key ) )
+ >>= value ) )
+ {
+ OSL_ENSURE( sal_False,
+ "InternetProxyDecider - "
+ "Error getting config item value!" );
+ return false;
+ }
+ }
+ catch ( lang::WrappedTargetException const & )
+ {
+ return false;
+ }
+ catch ( container::NoSuchElementException const & )
+ {
+ return false;
+ }
+ return true;
+}
+
+//=========================================================================
+bool getConfigInt32Value(
+ const uno::Reference< container::XNameAccess > & xNameAccess,
+ const char * key,
+ sal_Int32 & value )
+{
+ try
+ {
+ uno::Any aValue = xNameAccess->getByName(
+ rtl::OUString::createFromAscii( key ) );
+ if ( aValue.hasValue() && !( aValue >>= value ) )
+ {
+ OSL_ENSURE( sal_False,
+ "InternetProxyDecider - "
+ "Error getting config item value!" );
+ return false;
+ }
+ }
+ catch ( lang::WrappedTargetException const & )
+ {
+ return false;
+ }
+ catch ( container::NoSuchElementException const & )
+ {
+ return false;
+ }
+ return true;
+}
+
+//=========================================================================
//=========================================================================
//
// InternetProxyDecider_Impl Implementation.
@@ -291,127 +351,43 @@ InternetProxyDecider_Impl::InternetProxyDecider_Impl(
if ( xNameAccess.is() )
{
- try
- {
- if ( !( xNameAccess->getByName(
- rtl::OUString::createFromAscii(
- PROXY_TYPE_KEY ) ) >>= m_nProxyType ) )
- {
- OSL_ENSURE( sal_False,
- "InternetProxyDecider - "
- "Error getting config item value!" );
- }
- }
- catch ( lang::WrappedTargetException const & )
- {
- }
- catch ( container::NoSuchElementException const & )
- {
- }
+ // *** Proxy type ***
+ getConfigInt32Value(
+ xNameAccess, PROXY_TYPE_KEY, m_nProxyType );
+ // *** No proxy list ***
rtl::OUString aNoProxyList;
- try
- {
- if ( !( xNameAccess->getByName(
- rtl::OUString::createFromAscii(
- NO_PROXY_LIST_KEY ) ) >>= aNoProxyList ) )
- {
- OSL_ENSURE( sal_False,
- "InternetProxyDecider - "
- "Error getting config item value!" );
- }
- }
- catch ( lang::WrappedTargetException const & )
- {
- }
- catch ( container::NoSuchElementException const & )
- {
- }
-
+ getConfigStringValue(
+ xNameAccess, NO_PROXY_LIST_KEY, aNoProxyList );
setNoProxyList( aNoProxyList );
- try
- {
- if ( !( xNameAccess->getByName(
- rtl::OUString::createFromAscii(
- HTTP_PROXY_NAME_KEY ) )
- >>= m_aHttpProxy.aName ) )
- {
- OSL_ENSURE( sal_False,
- "InternetProxyDecider - "
- "Error getting config item value!" );
- }
- }
- catch ( lang::WrappedTargetException const & )
- {
- }
- catch ( container::NoSuchElementException const & )
- {
- }
+ // *** HTTP ***
+ getConfigStringValue(
+ xNameAccess, HTTP_PROXY_NAME_KEY, m_aHttpProxy.aName );
m_aHttpProxy.nPort = -1;
- try
- {
- uno::Any aValue = xNameAccess->getByName(
- rtl::OUString::createFromAscii(
- HTTP_PROXY_PORT_KEY ) );
- if ( aValue.hasValue() &&
- !( aValue >>= m_aHttpProxy.nPort ) )
- {
- OSL_ENSURE( sal_False,
- "InternetProxyDecider - "
- "Error getting config item value!" );
- }
- }
- catch ( lang::WrappedTargetException const & )
- {
- }
- catch ( container::NoSuchElementException const & )
- {
- }
-
+ getConfigInt32Value(
+ xNameAccess, HTTP_PROXY_PORT_KEY, m_aHttpProxy.nPort );
if ( m_aHttpProxy.nPort == -1 )
m_aHttpProxy.nPort = 80; // standard HTTP port.
- try
- {
- if ( !( xNameAccess->getByName(
- rtl::OUString::createFromAscii(
- FTP_PROXY_NAME_KEY ) )
- >>= m_aFtpProxy.aName ) )
- {
- OSL_ENSURE( sal_False,
- "InternetProxyDecider - "
- "Error getting config item value!" );
- }
- }
- catch ( lang::WrappedTargetException const & )
- {
- }
- catch ( container::NoSuchElementException const & )
- {
- }
+ // *** HTTPS ***
+ getConfigStringValue(
+ xNameAccess, HTTPS_PROXY_NAME_KEY, m_aHttpsProxy.aName );
+
+ m_aHttpsProxy.nPort = -1;
+ getConfigInt32Value(
+ xNameAccess, HTTPS_PROXY_PORT_KEY, m_aHttpsProxy.nPort );
+ if ( m_aHttpsProxy.nPort == -1 )
+ m_aHttpsProxy.nPort = 443; // standard HTTPS port.
+
+ // *** FTP ***
+ getConfigStringValue(
+ xNameAccess, FTP_PROXY_NAME_KEY, m_aFtpProxy.aName );
m_aFtpProxy.nPort = -1;
- try
- {
- uno::Any aValue = xNameAccess->getByName(
- rtl::OUString::createFromAscii(
- FTP_PROXY_PORT_KEY ) );
- if ( aValue.hasValue() &&
- !( aValue >>= m_aFtpProxy.nPort ) )
- {
- OSL_ENSURE( sal_False,
- "InternetProxyDecider - "
- "Error getting config item value!" );
- }
- }
- catch ( lang::WrappedTargetException const & )
- {
- }
- catch ( container::NoSuchElementException const & )
- {
- }
+ getConfigInt32Value(
+ xNameAccess, FTP_PROXY_PORT_KEY, m_aFtpProxy.nPort );
}
// Register as listener for config changes.
@@ -588,6 +564,12 @@ const InternetProxyServer & InternetProxyDecider_Impl::getProxy(
if ( m_aFtpProxy.aName.getLength() > 0 && m_aFtpProxy.nPort >= 0 )
return m_aFtpProxy;
}
+ else if ( rProtocol.toAsciiLowerCase()
+ .equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "https" ) ) )
+ {
+ if ( m_aHttpsProxy.aName.getLength() )
+ return m_aHttpsProxy;
+ }
else if ( m_aHttpProxy.aName.getLength() )
{
// All other protocols use the HTTP proxy.
@@ -662,6 +644,29 @@ void SAL_CALL InternetProxyDecider_Impl::changesOccurred(
m_aHttpProxy.nPort = 80; // standard HTTP port.
}
else if ( aKey.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM(
+ HTTPS_PROXY_NAME_KEY ) ) )
+ {
+ if ( !( rElem.Element >>= m_aHttpsProxy.aName ) )
+ {
+ OSL_ENSURE( sal_False,
+ "InternetProxyDecider - changesOccurred - "
+ "Error getting config item value!" );
+ }
+ }
+ else if ( aKey.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM(
+ HTTPS_PROXY_PORT_KEY ) ) )
+ {
+ if ( !( rElem.Element >>= m_aHttpsProxy.nPort ) )
+ {
+ OSL_ENSURE( sal_False,
+ "InternetProxyDecider - changesOccurred - "
+ "Error getting config item value!" );
+ }
+
+ if ( m_aHttpsProxy.nPort == -1 )
+ m_aHttpsProxy.nPort = 443; // standard HTTPS port.
+ }
+ else if ( aKey.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM(
FTP_PROXY_NAME_KEY ) ) )
{
if ( !( rElem.Element >>= m_aFtpProxy.aName ) )
diff --git a/unotools/prj/build.lst b/unotools/prj/build.lst
index 70402fb3dbd5..d6f10335c254 100644
--- a/unotools/prj/build.lst
+++ b/unotools/prj/build.lst
@@ -1,4 +1,4 @@
-ut unotools : comphelper cppuhelper offuh tools ucbhelper NULL
+ut unotools : LIBXSLT:libxslt comphelper cppuhelper offuh tools ucbhelper NULL
ut unotools usr1 - all ut_mkout NULL
ut unotools\inc nmake - all ut_inc NULL
ut unotools\source\misc nmake - all ut_misc ut_config ut_inc NULL
diff --git a/unotools/source/config/pathoptions.cxx b/unotools/source/config/pathoptions.cxx
index 132245d828ea..b7622231e602 100644
--- a/unotools/source/config/pathoptions.cxx
+++ b/unotools/source/config/pathoptions.cxx
@@ -46,12 +46,14 @@
#include <unotools/ucbhelper.hxx>
#include <vos/process.hxx>
#include <comphelper/processfactory.hxx>
+#include <comphelper/componentcontext.hxx>
#include <com/sun/star/beans/XFastPropertySet.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/beans/XPropertySetInfo.hpp>
#include <com/sun/star/util/XStringSubstitution.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/util/XMacroExpander.hpp>
#include <rtl/instance.hxx>
#include <itemholder1.hxx>
@@ -998,6 +1000,17 @@ sal_Bool SvtPathOptions::SearchFile( String& rIniFile, Pathes ePath )
if ( LocalFileHelper::ConvertPhysicalNameToURL( aPathToken, aURL ) )
aObj.SetURL( aURL );
}
+ if ( aObj.GetProtocol() == INET_PROT_VND_SUN_STAR_EXPAND )
+ {
+ ::comphelper::ComponentContext aContext( ::comphelper::getProcessServiceFactory() );
+ Reference< XMacroExpander > xMacroExpander( aContext.getSingleton( "com.sun.star.util.theMacroExpander" ), UNO_QUERY );
+ OSL_ENSURE( xMacroExpander.is(), "SvtPathOptions::SearchFile: unable to access the MacroExpander singleton!" );
+ if ( xMacroExpander.is() )
+ {
+ const ::rtl::OUString sExpandedPath = xMacroExpander->expandMacros( aObj.GetURLPath( INetURLObject::DECODE_WITH_CHARSET ) );
+ aObj.SetURL( sExpandedPath );
+ }
+ }
xub_StrLen i, nCount = aIniFile.GetTokenCount( '/' );
for ( i = 0; i < nCount; ++i )
diff --git a/unotools/source/config/viewoptions.cxx b/unotools/source/config/viewoptions.cxx
index 7f2250c611fc..f76ce48eebdf 100644
--- a/unotools/source/config/viewoptions.cxx
+++ b/unotools/source/config/viewoptions.cxx
@@ -781,7 +781,7 @@ css::uno::Reference< css::uno::XInterface > SvtViewOptionsBase_Impl::impl_getSet
xNode = ::comphelper::ConfigurationHelper::makeSureSetNodeExists(m_xRoot, m_sListName, sNode);
else
{
- if (m_xSet.is())
+ if (m_xSet.is() && m_xSet->hasByName(sNode) )
m_xSet->getByName(sNode) >>= xNode;
}
}
diff --git a/unotools/source/ucbhelper/tempfile.cxx b/unotools/source/ucbhelper/tempfile.cxx
index 87fddc0c65cd..26742151ee3d 100644
--- a/unotools/source/ucbhelper/tempfile.cxx
+++ b/unotools/source/ucbhelper/tempfile.cxx
@@ -237,7 +237,7 @@ void CreateTempName_Impl( String& rName, sal_Bool bKeep, sal_Bool bDir = sal_Tru
/* RW permission for the user only! */
mode_t old_mode = umask(077);
#endif
- FileBase::RC err = aFile.open(osl_File_OpenFlag_Create);
+ FileBase::RC err = aFile.open( osl_File_OpenFlag_Create | osl_File_OpenFlag_NoLock );
#ifdef UNX
umask(old_mode);
#endif
diff --git a/vcl/aqua/inc/salobj.h b/vcl/aqua/inc/salobj.h
index 0041b22c16a0..56b07cea4262 100644
--- a/vcl/aqua/inc/salobj.h
+++ b/vcl/aqua/inc/salobj.h
@@ -81,6 +81,7 @@ public:
virtual void SetBackground();
virtual void SetBackground( SalColor nSalColor );
virtual const SystemEnvData* GetSystemData() const;
+ virtual void InterceptChildWindowKeyDown( sal_Bool bIntercept );
};
#endif // _SV_SALOBJ_H
diff --git a/vcl/aqua/source/app/vclnsapp.mm b/vcl/aqua/source/app/vclnsapp.mm
index ff2b4226bfa0..06af0358c52b 100755
--- a/vcl/aqua/source/app/vclnsapp.mm
+++ b/vcl/aqua/source/app/vclnsapp.mm
@@ -39,6 +39,8 @@
#include "vcl/cmdevt.hxx"
#include "rtl/ustrbuf.hxx"
+#include "vcl/impimagetree.hxx"
+
#include "premac.h"
#import "Carbon/Carbon.h"
#import "apple_remote/RemoteControl.h"
@@ -418,6 +420,7 @@
#else // the clean version follows
return pSalData->maFrames.front()->CallCallback( SALEVENT_SHUTDOWN, NULL ) ? NSTerminateCancel : NSTerminateNow;
#endif
+ ImplImageTreeSingletonRef()->shutDown();
return NSTerminateNow;
}
diff --git a/vcl/aqua/source/gdi/salatslayout.cxx b/vcl/aqua/source/gdi/salatslayout.cxx
index 335505de85ac..a355ff86d00e 100755
--- a/vcl/aqua/source/gdi/salatslayout.cxx
+++ b/vcl/aqua/source/gdi/salatslayout.cxx
@@ -754,9 +754,10 @@ int ATSLayout::GetTextBreak( long nMaxWidth, long nCharExtra, int nFactor ) cons
// initial measurement of text break position
UniCharArrayOffset nBreakPos = mnMinCharPos;
const ATSUTextMeasurement nATSUMaxWidth = Vcl2Fixed( nPixelWidth );
+ if( nATSUMaxWidth <= 0xFFFF ) // #i108584# avoid ATSU rejecting the parameter
+ return mnMinCharPos; // or do ATSUMaxWidth=0x10000;
OSStatus eStatus = ATSUBreakLine( maATSULayout, mnMinCharPos,
nATSUMaxWidth, false, &nBreakPos );
-
if( (eStatus != noErr) && (eStatus != kATSULineBreakInWord) )
return STRING_LEN;
@@ -781,7 +782,7 @@ int ATSLayout::GetTextBreak( long nMaxWidth, long nCharExtra, int nFactor ) cons
if( eStatus != noErr )
return nBreakPos;
const ATSUTextMeasurement nATSURemWidth = nATSUMaxWidth - (nRight - nLeft);
- if( nATSURemWidth <= 0 )
+ if( nATSURemWidth <= 0xFFFF ) // #i108584# avoid ATSU rejecting the parameter
return nBreakPos;
UniCharArrayOffset nBreakPosInWord = nBreakPos;
eStatus = ATSUBreakLine( maATSULayout, nBreakPos, nATSURemWidth, false, &nBreakPosInWord );
diff --git a/vcl/aqua/source/window/salobj.cxx b/vcl/aqua/source/window/salobj.cxx
index 07d337dcc81a..f300929f04fe 100644
--- a/vcl/aqua/source/window/salobj.cxx
+++ b/vcl/aqua/source/window/salobj.cxx
@@ -237,3 +237,9 @@ const SystemEnvData* AquaSalObject::GetSystemData() const
return &maSysData;
}
+// -----------------------------------------------------------------------
+
+void AquaSalObject::InterceptChildWindowKeyDown( sal_Bool /*bIntercept*/ )
+{
+}
+
diff --git a/vcl/inc/vcl/arrange.hxx b/vcl/inc/vcl/arrange.hxx
index f98197231be9..327494b216e4 100644
--- a/vcl/inc/vcl/arrange.hxx
+++ b/vcl/inc/vcl/arrange.hxx
@@ -76,11 +76,13 @@ namespace vcl
Element( Window* i_pWin,
boost::shared_ptr<WindowArranger> const & i_pChild = boost::shared_ptr<WindowArranger>(),
- sal_Int32 i_nExpandPriority = 0
+ sal_Int32 i_nExpandPriority = 0,
+ const Size& i_rMinSize = Size()
)
: m_pElement( i_pWin )
, m_pChild( i_pChild )
, m_nExpandPriority( i_nExpandPriority )
+ , m_aMinSize( i_rMinSize )
, m_bHidden( false )
, m_nLeftBorder( 0 )
, m_nTopBorder( 0 )
@@ -101,12 +103,19 @@ namespace vcl
Rectangle m_aManagedArea;
long m_nOuterBorder;
+ rtl::OUString m_aIdentifier;
+
virtual Element* getElement( size_t i_nIndex ) = 0;
const Element* getConstElement( size_t i_nIndex ) const
{ return const_cast<WindowArranger*>(this)->getElement( i_nIndex ); }
public:
+ static long getDefaultBorder();
+
+ static long getBorderValue( long nBorder )
+ { return nBorder >= 0 ? nBorder : -nBorder * getDefaultBorder(); }
+
WindowArranger( WindowArranger* i_pParent = NULL )
: m_pParentWindow( i_pParent ? i_pParent->m_pParentWindow : NULL )
, m_pParentArranger( i_pParent )
@@ -141,6 +150,9 @@ namespace vcl
virtual bool isVisible() const; // true if any element is visible
+ virtual com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > getProperties() const;
+ virtual void setProperties( const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& );
+
sal_Int32 getExpandPriority( size_t i_nIndex ) const
{
const Element* pEle = getConstElement( i_nIndex );
@@ -173,6 +185,19 @@ namespace vcl
}
}
+ void getBorders( size_t i_nIndex, long* i_pLeft = NULL, long* i_pTop = NULL, long* i_pRight = NULL, long* i_pBottom = NULL ) const
+ {
+ const Element* pEle = getConstElement( i_nIndex );
+ if( pEle )
+ {
+ if( i_pLeft ) *i_pLeft = pEle->m_nLeftBorder;
+ if( i_pTop ) *i_pTop = pEle->m_nTopBorder;
+ if( i_pRight ) *i_pRight = pEle->m_nRightBorder;
+ if( i_pBottom ) *i_pBottom = pEle->m_nBottomBorder;
+ }
+ }
+
+
void show( bool i_bShow = true, bool i_bImmediateUpdate = true );
void setManagedArea( const Rectangle& i_rArea )
@@ -187,6 +212,12 @@ namespace vcl
m_nOuterBorder = i_nBorder;
resize();
}
+
+ const rtl::OUString getIdentifier() const
+ { return m_aIdentifier; }
+
+ void setIdentifier( const rtl::OUString& i_rId )
+ { m_aIdentifier = i_rId; }
};
class VCL_DLLPUBLIC RowOrColumn : public WindowArranger
@@ -204,7 +235,7 @@ namespace vcl
public:
RowOrColumn( WindowArranger* i_pParent = NULL,
- bool bColumn = true, long i_nBorderWidth = 5 )
+ bool bColumn = true, long i_nBorderWidth = -1 )
: WindowArranger( i_pParent )
, m_nBorderWidth( i_nBorderWidth )
, m_bColumn( bColumn )
@@ -218,7 +249,7 @@ namespace vcl
// add a managed window at the given index
// an index smaller than zero means add the window at the end
- size_t addWindow( Window*, sal_Int32 i_nExpandPrio = 0, size_t i_nIndex = ~0 );
+ size_t addWindow( Window*, sal_Int32 i_nExpandPrio = 0, const Size& i_rMinSize = Size(), size_t i_nIndex = ~0 );
void remove( Window* );
size_t addChild( boost::shared_ptr<WindowArranger> const &, sal_Int32 i_nExpandPrio = 0, size_t i_nIndex = ~0 );
@@ -248,7 +279,7 @@ namespace vcl
}
public:
- LabeledElement( WindowArranger* i_pParent = NULL, int i_nLabelStyle = 0, long i_nDistance = 5 )
+ LabeledElement( WindowArranger* i_pParent = NULL, int i_nLabelStyle = 0, long i_nDistance = -1 )
: WindowArranger( i_pParent )
, m_nDistance( i_nDistance )
, m_nLabelColumnWidth( 0 )
@@ -278,7 +309,7 @@ namespace vcl
{
long getLabelWidth() const;
public:
- LabelColumn( WindowArranger* i_pParent = NULL, long i_nBorderWidth = 5 )
+ LabelColumn( WindowArranger* i_pParent = NULL, long i_nBorderWidth = -1 )
: RowOrColumn( i_pParent, true, i_nBorderWidth )
{}
virtual ~LabelColumn();
@@ -288,7 +319,7 @@ namespace vcl
// returns the index of the added label
size_t addRow( Window* i_pLabel, boost::shared_ptr<WindowArranger> const& i_rElement, long i_nIndent = 0 );
- size_t addRow( Window* i_pLabel, Window* i_pElement, long i_nIndent = 0 );
+ size_t addRow( Window* i_pLabel, Window* i_pElement, long i_nIndent = 0, const Size& i_rElementMinSize = Size() );
};
class VCL_DLLPUBLIC Indenter : public WindowArranger
@@ -301,7 +332,7 @@ namespace vcl
{ return i_nIndex == 0 ? &m_aElement : NULL; }
public:
- Indenter( WindowArranger* i_pParent = NULL, long i_nIndent = 15 )
+ Indenter( WindowArranger* i_pParent = NULL, long i_nIndent = 3*getDefaultBorder() )
: WindowArranger( i_pParent )
, m_nIndent( i_nIndent )
{}
@@ -370,9 +401,10 @@ namespace vcl
MatrixElement( Window* i_pWin,
sal_uInt32 i_nX, sal_uInt32 i_nY,
boost::shared_ptr<WindowArranger> const & i_pChild = boost::shared_ptr<WindowArranger>(),
- sal_Int32 i_nExpandPriority = 0
+ sal_Int32 i_nExpandPriority = 0,
+ const Size& i_rMinSize = Size()
)
- : WindowArranger::Element( i_pWin, i_pChild, i_nExpandPriority )
+ : WindowArranger::Element( i_pWin, i_pChild, i_nExpandPriority, i_rMinSize )
, m_nX( i_nX )
, m_nY( i_nY )
{
@@ -397,8 +429,8 @@ namespace vcl
public:
MatrixArranger( WindowArranger* i_pParent = NULL,
- long i_nBorderX = 5,
- long i_nBorderY = 5 )
+ long i_nBorderX = -1,
+ long i_nBorderY = -1 )
: WindowArranger( i_pParent )
, m_nBorderX( i_nBorderX )
, m_nBorderY( i_nBorderY )
@@ -411,7 +443,7 @@ namespace vcl
virtual size_t countElements() const { return m_aElements.size(); }
// add a managed window at the given matrix position
- size_t addWindow( Window*, sal_uInt32 i_nX, sal_uInt32 i_nY, sal_Int32 i_nExpandPrio = 0 );
+ size_t addWindow( Window*, sal_uInt32 i_nX, sal_uInt32 i_nY, sal_Int32 i_nExpandPrio = 0, const Size& i_rMinSize = Size() );
void remove( Window* );
size_t addChild( boost::shared_ptr<WindowArranger> const &, sal_uInt32 i_nX, sal_uInt32 i_nY, sal_Int32 i_nExpandPrio = 0 );
diff --git a/vcl/inc/vcl/ilstbox.hxx b/vcl/inc/vcl/ilstbox.hxx
index ce1496c57ff3..b509464bae4e 100644
--- a/vcl/inc/vcl/ilstbox.hxx
+++ b/vcl/inc/vcl/ilstbox.hxx
@@ -36,6 +36,7 @@
#include <vcl/lstbox.h>
#include <vcl/timer.hxx>
+#include "vcl/quickselectionengine.hxx"
class ScrollBar;
class ScrollBarBox;
@@ -193,13 +194,11 @@ public:
// - ImplListBoxWindow -
// ---------------------
-class ImplListBoxWindow : public Control
+class ImplListBoxWindow : public Control, public ::vcl::ISearchableStringList
{
private:
ImplEntryList* mpEntryList; // EntryListe
Rectangle maFocusRect;
- String maSearchStr;
- Timer maSearchTimeout;
Size maUserItemSize;
@@ -254,9 +253,10 @@ private:
Link maUserDrawHdl;
Link maMRUChangedHdl;
-protected:
- DECL_LINK( SearchStringTimeout, Timer* );
+ ::vcl::QuickSelectionEngine
+ maQuickSelectionEngine;
+protected:
virtual void KeyInput( const KeyEvent& rKEvt );
virtual void MouseButtonDown( const MouseEvent& rMEvt );
virtual void MouseMove( const MouseEvent& rMEvt );
@@ -379,6 +379,12 @@ public:
// pb: #106948# explicit mirroring for calc
inline void EnableMirroring() { mbMirroring = sal_True; }
inline sal_Bool IsMirroring() const { return mbMirroring; }
+
+protected:
+ // ISearchableStringList
+ virtual ::vcl::StringEntryIdentifier CurrentEntry( String& _out_entryText ) const;
+ virtual ::vcl::StringEntryIdentifier NextEntry( ::vcl::StringEntryIdentifier _currentEntry, String& _out_entryText ) const;
+ virtual void SelectEntry( ::vcl::StringEntryIdentifier _entry );
};
// ---------------
diff --git a/vcl/inc/vcl/mnemonicengine.hxx b/vcl/inc/vcl/mnemonicengine.hxx
index d12b3db2417e..fcd303510203 100644
--- a/vcl/inc/vcl/mnemonicengine.hxx
+++ b/vcl/inc/vcl/mnemonicengine.hxx
@@ -59,7 +59,7 @@ namespace vcl
If this value is <NULL/>, searching stops.
*/
- virtual const void* FirstSearchEntry( String& _rEntryText ) = 0;
+ virtual const void* FirstSearchEntry( String& _rEntryText ) const = 0;
/** returns the next list entry for the mnemonic search
@@ -74,7 +74,7 @@ namespace vcl
to <member>FirstSearchEntry</member> (i.e. you cycled
around), then searching stops, too.
*/
- virtual const void* NextSearchEntry( const void* _pCurrentSearchEntry, String& _rEntryText ) = 0;
+ virtual const void* NextSearchEntry( const void* _pCurrentSearchEntry, String& _rEntryText ) const = 0;
/** "selects" a given entry.
@@ -117,7 +117,7 @@ namespace vcl
the entry to select. This is the return value of a previous call
to <member>FirstSearchEntry</member> or <member>NextSearchEntry</member>.
*/
- virtual void ExecuteSearchEntry( const void* _pEntry ) = 0;
+ virtual void ExecuteSearchEntry( const void* _pEntry ) const = 0;
};
//====================================================================
diff --git a/vcl/inc/vcl/pdfwriter.hxx b/vcl/inc/vcl/pdfwriter.hxx
index 881d84ec7db4..98c80153dbdf 100644
--- a/vcl/inc/vcl/pdfwriter.hxx
+++ b/vcl/inc/vcl/pdfwriter.hxx
@@ -38,7 +38,8 @@
#include <vcl/font.hxx>
#include <vcl/graphictools.hxx>
-#include <com/sun/star/io/XOutputStream.hpp>
+#include "com/sun/star/io/XOutputStream.hpp"
+#include "com/sun/star/beans/XMaterialHolder.hpp"
#include <list>
#include <vector>
@@ -64,16 +65,6 @@ namespace vcl
class PDFExtOutDevData;
-struct PDFDocInfo
-{
- String Title; // document title
- String Author; // document author
- String Subject; // subject
- String Keywords; // keywords
- String Creator; // application that created the original document
- String Producer; // OpenOffice
-};
-
struct PDFNote
{
String Title; // optional title for the popup containing the note
@@ -471,7 +462,7 @@ public:
FitVisible,
ActionZoom
};
-// These emuns are treated as integer while reading/writing to configuration
+// These enums are treated as integer while reading/writing to configuration
enum PDFPageLayout
{
DefaultLayout,
@@ -492,20 +483,35 @@ public:
/*
The following structure describes the permissions used in PDF security
*/
- struct PDFSecPermissions
+ struct PDFEncryptionProperties
{
-//for both 40 and 128 bit security, see 3.5.2 PDF v 1.4 table 3.15, v 1.5 and v 1.6 table 3.20.
- bool CanPrintTheDocument;
+
+ bool Security128bit; // true to select 128 bit encryption, false for 40 bit
+ //for both 40 and 128 bit security, see 3.5.2 PDF v 1.4 table 3.15, v 1.5 and v 1.6 table 3.20.
+ bool CanPrintTheDocument;
bool CanModifyTheContent;
bool CanCopyOrExtract;
bool CanAddOrModify;
-//for revision 3 (bit 128 security) only
+ //for revision 3 (bit 128 security) only
bool CanFillInteractive;
bool CanExtractForAccessibility;
bool CanAssemble;
bool CanPrintFull;
-//permission default set for 128 bit, accessibility only
- PDFSecPermissions() :
+
+ // encryption will only happen if EncryptionKey is not empty
+ // EncryptionKey is actually a construct out of OValue, UValue and DocumentIdentifier
+ // if these do not match, behavior is undefined, most likely an invalid PDF will be produced
+ // OValue, UValue, EncryptionKey and DocumentIdentifier can be computed from
+ // PDFDocInfo, Owner password and User password used the InitEncryption method which
+ // implements the algorithms described in the PDF reference chapter 3.5: Encryption
+ std::vector<sal_uInt8> OValue;
+ std::vector<sal_uInt8> UValue;
+ std::vector<sal_uInt8> EncryptionKey;
+ std::vector<sal_uInt8> DocumentIdentifier;
+
+ //permission default set for 128 bit, accessibility only
+ PDFEncryptionProperties() :
+ Security128bit ( true ),
CanPrintTheDocument ( false ),
CanModifyTheContent ( false ),
CanCopyOrExtract ( false ),
@@ -515,6 +521,20 @@ The following structure describes the permissions used in PDF security
CanAssemble ( false ),
CanPrintFull ( false )
{}
+
+
+ bool Encrypt() const
+ { return ! OValue.empty() && ! UValue.empty() && ! DocumentIdentifier.empty(); }
+ };
+
+ struct PDFDocInfo
+ {
+ String Title; // document title
+ String Author; // document author
+ String Subject; // subject
+ String Keywords; // keywords
+ String Creator; // application that created the original document
+ String Producer; // OpenOffice
};
struct PDFWriterContext
@@ -573,12 +593,8 @@ The following structure describes the permissions used in PDF security
sal_Int32 InitialPage;
sal_Int32 OpenBookmarkLevels; // -1 means all levels
- struct PDFSecPermissions AccessPermissions;
-
- bool Encrypt; // main encryption flag, must be true to encript
- bool Security128bit; // true to select 128 bit encryption, false for 40 bit
- rtl::OUString OwnerPassword; // owner password for PDF, in clear text
- rtl::OUString UserPassword; // user password for PDF, in clear text
+ PDFWriter::PDFEncryptionProperties Encryption;
+ PDFWriter::PDFDocInfo DocumentInfo;
com::sun::star::lang::Locale DocumentLocale; // defines the document default language
sal_uInt32 DPIx, DPIy; // how to handle MapMode( MAP_PIXEL )
@@ -609,15 +625,13 @@ The following structure describes the permissions used in PDF security
FirstPageLeft( false ),
InitialPage( 1 ),
OpenBookmarkLevels( -1 ),
- AccessPermissions( ),
- Encrypt( false ),
- Security128bit( true ),
+ Encryption(),
DPIx( 0 ),
DPIy( 0 )
{}
};
- PDFWriter( const PDFWriterContext& rContext );
+ PDFWriter( const PDFWriterContext& rContext, const com::sun::star::uno::Reference< com::sun::star::beans::XMaterialHolder >& );
~PDFWriter();
/** Returns an OutputDevice for formatting
@@ -661,17 +675,6 @@ The following structure describes the permissions used in PDF security
};
void PlayMetafile( const GDIMetaFile&, const PlayMetafileContext&, vcl::PDFExtOutDevData* pDevDat = NULL );
- /*
- * set document info; due to the use of document information in building the PDF document ID, must be called before
- * emitting anything.
- */
- void SetDocInfo( const PDFDocInfo& rInfo );
-
- /*
- * get currently set document info
- */
- const PDFDocInfo& GetDocInfo() const;
-
/* sets the document locale originally passed with the context to a new value
* only affects the output if used before calling <code>Emit/code>.
*/
@@ -689,6 +692,12 @@ The following structure describes the permissions used in PDF security
PDFVersion GetVersion() const;
+ static com::sun::star::uno::Reference< com::sun::star::beans::XMaterialHolder >
+ InitEncryption( const rtl::OUString& i_rOwnerPassword,
+ const rtl::OUString& i_rUserPassword,
+ bool b128Bit
+ );
+
/* functions for graphics state */
/* flag values: see vcl/outdev.hxx */
void Push( sal_uInt16 nFlags = 0xffff );
diff --git a/vcl/inc/vcl/prndlg.hxx b/vcl/inc/vcl/prndlg.hxx
index d53354c40b4a..1d16a2241485 100644
--- a/vcl/inc/vcl/prndlg.hxx
+++ b/vcl/inc/vcl/prndlg.hxx
@@ -128,7 +128,6 @@ namespace vcl
// border around each page
CheckBox maBorderCB;
- vcl::RowOrColumn maLayout;
boost::shared_ptr< vcl::RowOrColumn > mxBrochureDep;
boost::shared_ptr< vcl::LabeledElement >mxPagesBtnLabel;
@@ -144,7 +143,7 @@ namespace vcl
void showAdvancedControls( bool );
- virtual void Resize();
+ // virtual void Resize();
};
class JobTabPage : public TabPage
@@ -176,7 +175,6 @@ namespace vcl
long mnCollateUIMode;
- vcl::RowOrColumn maLayout;
boost::shared_ptr<vcl::RowOrColumn> mxPrintRange;
boost::shared_ptr<vcl::WindowArranger> mxDetails;
@@ -186,7 +184,7 @@ namespace vcl
void readFromSettings();
void storeToSettings();
- virtual void Resize();
+ // virtual void Resize();
void setupLayout();
};
@@ -199,7 +197,6 @@ namespace vcl
CheckBox maCollateSingleJobsBox;
CheckBox maReverseOrderBox;
- vcl::RowOrColumn maLayout;
boost::shared_ptr<vcl::RowOrColumn> mxOptGroup;
OutputOptPage( Window*, const ResId& );
@@ -208,7 +205,7 @@ namespace vcl
void readFromSettings();
void storeToSettings();
- virtual void Resize();
+ // virtual void Resize();
void setupLayout();
};
@@ -253,7 +250,6 @@ namespace vcl
rtl::OUString maPrintText;
rtl::OUString maDefPrtText;
- vcl::RowOrColumn maLayout;
boost::shared_ptr<vcl::RowOrColumn> mxPreviewCtrls;
Size maDetailsCollapsedSize;
diff --git a/vcl/inc/vcl/quickselectionengine.hxx b/vcl/inc/vcl/quickselectionengine.hxx
new file mode 100644
index 000000000000..f70736428010
--- /dev/null
+++ b/vcl/inc/vcl/quickselectionengine.hxx
@@ -0,0 +1,95 @@
+/*************************************************************************
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2009 by Sun Microsystems, Inc.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+************************************************************************/
+
+#ifndef VCL_QUICKSELECTIONENGINE_HXX
+#define VCL_QUICKSELECTIONENGINE_HXX
+
+#include "dllapi.h"
+
+#include <tools/string.hxx>
+
+#include <memory>
+
+class KeyEvent;
+
+//........................................................................
+namespace vcl
+{
+//........................................................................
+
+ typedef const void* StringEntryIdentifier;
+
+ //====================================================================
+ //= ISearchableStringList
+ //====================================================================
+ // TODO: consolidate this with ::vcl::IMnemonicEntryList
+ class SAL_NO_VTABLE VCL_DLLPUBLIC ISearchableStringList
+ {
+ public:
+ /** returns the current entry in the list of searchable strings.
+
+ Search operations will start with this entry.
+ */
+ virtual StringEntryIdentifier CurrentEntry( String& _out_entryText ) const = 0;
+
+ /** returns the next entry in the list.
+
+ The implementation is expected to wrap around. That is, if the given entry denotes the last
+ entry in the list, then NextEntry should return the first entry.
+ */
+ virtual StringEntryIdentifier NextEntry( StringEntryIdentifier _currentEntry, String& _out_entryText ) const = 0;
+
+ /** selects a given entry
+ */
+ virtual void SelectEntry( StringEntryIdentifier _entry ) = 0;
+ };
+
+ //====================================================================
+ //= QuickSelectionEngine
+ //====================================================================
+ struct QuickSelectionEngine_Data;
+ class VCL_DLLPUBLIC QuickSelectionEngine
+ {
+ public:
+ QuickSelectionEngine( ISearchableStringList& _entryList );
+ ~QuickSelectionEngine();
+
+ bool HandleKeyEvent( const KeyEvent& _rKEvt );
+ void Reset();
+
+ private:
+ ::std::auto_ptr< QuickSelectionEngine_Data > m_pData;
+
+ private:
+ QuickSelectionEngine(); // never implemented
+ QuickSelectionEngine( const QuickSelectionEngine& ); // never implemented
+ QuickSelectionEngine& operator=( const QuickSelectionEngine& ); // never implemented
+ };
+
+//........................................................................
+} // namespace vcl
+//........................................................................
+
+#endif // VCL_QUICKSELECTIONENGINE_HXX
diff --git a/vcl/inc/vcl/salframe.hxx b/vcl/inc/vcl/salframe.hxx
index 9f013384ceb0..ee59cdd397f8 100644
--- a/vcl/inc/vcl/salframe.hxx
+++ b/vcl/inc/vcl/salframe.hxx
@@ -270,7 +270,6 @@ public:
// done setting up the clipregion
virtual void EndSetClipRegion() = 0;
-
// Callbacks (indepent part in vcl/source/window/winproc.cxx)
// for default message handling return 0
void SetCallback( Window* pWindow, SALFRAMEPROC pProc )
diff --git a/vcl/inc/vcl/salobj.hxx b/vcl/inc/vcl/salobj.hxx
index a47bb2dcd6d8..4132a02ef736 100644
--- a/vcl/inc/vcl/salobj.hxx
+++ b/vcl/inc/vcl/salobj.hxx
@@ -73,6 +73,8 @@ public:
virtual const SystemEnvData* GetSystemData() const = 0;
+ virtual void InterceptChildWindowKeyDown( sal_Bool bIntercept ) = 0;
+
void SetCallback( void* pInst, SALOBJECTPROC pProc )
{ m_pInst = pInst; m_pCallback = pProc; }
long CallCallback( sal_uInt16 nEvent, const void* pEvent )
diff --git a/vcl/inc/vcl/svdata.hxx b/vcl/inc/vcl/svdata.hxx
index db641e582887..363668749f8e 100644
--- a/vcl/inc/vcl/svdata.hxx
+++ b/vcl/inc/vcl/svdata.hxx
@@ -167,6 +167,8 @@ struct ImplSVAppData
sal_Bool mbDialogCancel; // sal_True: Alle Dialog::Execute()-Aufrufe werden mit return sal_False sofort beendet
sal_Bool mbNoYield; // Application::Yield will not wait for events if the queue is empty
// essentially that makes it the same as Application::Reschedule
+ long mnDefaultLayoutBorder; // default value in pixel for layout distances used
+ // in window arrangers
/** Controls whether showing any IME status window is toggled on or off.
diff --git a/vcl/inc/vcl/window.h b/vcl/inc/vcl/window.h
index c94dc2d3e343..6ba521a77d82 100644
--- a/vcl/inc/vcl/window.h
+++ b/vcl/inc/vcl/window.h
@@ -99,7 +99,10 @@ namespace dnd {
class XDropTarget;
} } } } }
-namespace vcl { struct ControlLayoutData; }
+namespace vcl {
+ struct ControlLayoutData;
+ struct ExtWindowImpl;
+}
@@ -237,6 +240,7 @@ public:
ImplDelData* mpFirstDel;
void* mpUserData;
+ vcl::ExtWindowImpl* mpExtImpl;
Cursor* mpCursor;
Pointer maPointer;
Fraction maZoom;
@@ -353,7 +357,8 @@ public:
mbDisableAccessibleLabelForRelation:1,
mbDisableAccessibleLabeledByRelation:1,
mbHelpTextDynamic:1,
- mbFakeFocusSet:1;
+ mbFakeFocusSet:1,
+ mbInterceptChildWindowKeyDown:1;
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxDNDListenerContainer;
};
diff --git a/vcl/inc/vcl/window.hxx b/vcl/inc/vcl/window.hxx
index 81c878620529..3ff97902c8f6 100644..100755
--- a/vcl/inc/vcl/window.hxx
+++ b/vcl/inc/vcl/window.hxx
@@ -50,6 +50,7 @@
#include <rtl/ustring.hxx>
#include <cppuhelper/weakref.hxx>
#include <com/sun/star/uno/Reference.hxx>
+#include <boost/shared_ptr.hpp>
class VirtualDevice;
struct ImplDelData;
@@ -94,6 +95,13 @@ namespace accessibility {
namespace com {
namespace sun {
namespace star {
+namespace beans {
+ struct PropertyValue;
+}}}}
+
+namespace com {
+namespace sun {
+namespace star {
namespace rendering {
class XCanvas;
class XSpriteCanvas;
@@ -121,7 +129,11 @@ namespace dnd {
class XDropTarget;
} } } } }
-namespace vcl { struct ControlLayoutData; }
+namespace vcl {
+ struct ControlLayoutData;
+ class WindowArranger;
+ struct ExtWindowImpl;
+}
namespace svt { class PopupWindowControllerImpl; }
@@ -475,6 +487,10 @@ public:
SAL_DLLPRIVATE sal_Bool ImplUpdatePos();
SAL_DLLPRIVATE void ImplUpdateSysObjPos();
SAL_DLLPRIVATE WindowImpl* ImplGetWindowImpl() const { return mpWindowImpl; }
+ SAL_DLLPRIVATE void ImplFreeExtWindowImpl();
+ // creates ExtWindowImpl on demand, but may return NULL (e.g. if mbInDtor)
+ SAL_DLLPRIVATE vcl::ExtWindowImpl* ImplGetExtWindowImpl() const;
+ SAL_DLLPRIVATE void ImplDeleteOwnedChildren();
/** check whether a font is suitable for UI
The font to be tested will be checked whether it could display a
@@ -540,6 +556,7 @@ public:
SAL_DLLPRIVATE sal_Bool ImplRegisterAccessibleNativeFrame();
SAL_DLLPRIVATE void ImplRevokeAccessibleNativeFrame();
SAL_DLLPRIVATE void ImplCallResize();
+ SAL_DLLPRIVATE void ImplExtResize();
SAL_DLLPRIVATE void ImplCallMove();
SAL_DLLPRIVATE Rectangle ImplOutputToUnmirroredAbsoluteScreenPixel( const Rectangle& rRect ) const;
SAL_DLLPRIVATE void ImplMirrorFramePos( Point &pt ) const;
@@ -598,6 +615,8 @@ public:
virtual void KeyUp( const KeyEvent& rKEvt );
virtual void PrePaint();
virtual void Paint( const Rectangle& rRect );
+
+ virtual void PostPaint();
virtual void Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, sal_uIntPtr nFlags );
virtual void Move();
virtual void Resize();
@@ -1096,8 +1115,61 @@ public:
*/
void doLazyDelete();
+ // let the window intercept the KeyDown messages of the system children
+ void InterceptChildWindowKeyDown( sal_Bool bIntercept );
+
virtual XubString GetSurroundingText() const;
virtual Selection GetSurroundingTextSelection() const;
+
+ // ExtImpl
+
+ // layouting
+ boost::shared_ptr< vcl::WindowArranger > getLayout();
+
+ /* add a child Window
+ addWindow will do the following things
+ - insert the passed window into the child list (equivalent to i_pWin->SetParent( this ))
+ - mark the window as "owned", meaning that the added Window will be destroyed by
+ the parent's desctructor.
+ This means: do not pass in member windows or stack objects here. Do not cause
+ the destructor of the added window to be called in any way.
+
+ to avoid ownership pass i_bTakeOwnership as "false"
+ */
+ void addWindow( Window* i_pWin, bool i_bTakeOwnership = true );
+
+ /* remove a child Window
+ the remove window functions will
+ - reparent the searched window (equivalent to i_pWin->SetParent( i_pNewParent ))
+ - return a pointer to the removed window or NULL if i_pWin was not found
+ caution: ownership passes to the new parent or the caller, if the new parent was NULL
+ */
+ Window* removeWindow( Window* i_pWin, Window* i_pNewParent = NULL );
+
+ /* return the identifier of this window
+ */
+ const rtl::OUString& getIdentifier() const;
+ /* set an identifier
+ identifiers have only loosely defined rules per se
+ in context of Window they must be unique over the window
+ hierarchy you'd like to find them again using the findWindow method
+ */
+ void setIdentifier( const rtl::OUString& );
+
+ /* returns the first found descendant that matches
+ the passed identifier or NULL
+ */
+ Window* findWindow( const rtl::OUString& ) const;
+
+ /* get/set properties
+ this will contain window properties (like visible, enabled)
+ as well as properties of derived classes (e.g. text of Edit fields)
+ */
+ virtual com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > getProperties() const;
+ /*
+ */
+ virtual void setProperties( const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& );
+
};
diff --git a/svl/source/svdde/ddemldeb.hxx b/vcl/inc/vcl/wpropset.hxx
index 8654bbd3ca65..409b629496e6 100644
--- a/svl/source/svdde/ddemldeb.hxx
+++ b/vcl/inc/vcl/wpropset.hxx
@@ -25,42 +25,42 @@
*
************************************************************************/
-#if defined(OV_DEBUG)
+#ifndef VCL_WPROPSET_HXX
+#define VCL_WPROPSET_HXX
-void ImpWriteLogFile(char*,char*);
-void ImpAddHSZ( HSZ, String& );
-void ImpWriteDdeStatus(char*, char* );
-void ImpWriteDdeData(char*, DDESTRUCT*);
+#include "vcl/dllapi.h"
-#ifdef LOGFILE
-#define WRITELOG(aString) ImpWriteLogFile("\\ddeml.log",aString);
-#else
-#define WRITELOG(bla)
-#endif
-#ifdef STATUSFILE
-#define WRITESTATUS(aContext) ImpWriteDdeStatus("\\ddeml.sts",aContext);
-#else
-#define WRITESTATUS(bla)
-#endif
-#ifdef DDEDATAFILE
-#define WRITEDATA(data) ImpWriteDdeData("\\ddeml.dat",data);
-#else
-#define WRITEDATA(bla)
-#endif
+#include "tools/link.hxx"
+#include "vcl/arrange.hxx"
-#else
+#include "com/sun/star/beans/XPropertySet.hpp"
-#define WRITELOG(bla)
-#define WRITESTATUS(bla)
-#define WRITEDATA(bla)
+class VclWindowEvent;
-#endif
+namespace vcl
+{
+ class WindowPropertySetData;
+ class WindowPropertySetListener;
-APIRET MyDosAllocSharedMem(void** ppBaseAddress, char* pszName, unsigned long ulObjectSize,
- unsigned long ulFlags, char* pContextStr );
+ class VCL_DLLPUBLIC WindowPropertySet
+ {
+ WindowPropertySetData* mpImpl;
-APIRET MyDosAllocMem(void** ppBaseAddress, unsigned long ulObjectSize,
- unsigned long ulFlags, char* pContextStr );
+ void addWindowToSet( Window* );
+ void addLayoutToSet( const boost::shared_ptr<WindowArranger>& );
+ void setupProperties();
-APIRET MyDosFreeMem( void* pBaseAddress, char* pContextStr );
+ DECL_LINK( ChildEventListener, VclWindowEvent* );
+ void propertyChange( const com::sun::star::beans::PropertyChangeEvent& );
+ friend class vcl::WindowPropertySetListener;
+
+ public:
+ WindowPropertySet( Window* i_pTopWindow, bool i_bTakeOwnership );
+ ~WindowPropertySet();
+
+ com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > getPropertySet() const;
+ };
+}
+
+#endif
diff --git a/vcl/os2/inc/salobj.h b/vcl/os2/inc/salobj.h
index 5b4ac21ccdd6..04fdef90bf67 100644
--- a/vcl/os2/inc/salobj.h
+++ b/vcl/os2/inc/salobj.h
@@ -64,6 +64,7 @@ public:
virtual void SetBackground();
virtual void SetBackground( SalColor nSalColor );
virtual const SystemEnvData* GetSystemData() const;
+ virtual void InterceptChildWindowKeyDown( sal_Bool bIntercept );
};
#endif // _SV_SALOBJ_H
diff --git a/vcl/os2/source/window/salobj.cxx b/vcl/os2/source/window/salobj.cxx
index 85ed1a606d08..e55ce448f7d0 100644
--- a/vcl/os2/source/window/salobj.cxx
+++ b/vcl/os2/source/window/salobj.cxx
@@ -566,3 +566,9 @@ void Os2SalObject::SetCallback( void* pInst, SALOBJECTPROC pProc )
}
#endif
+// -----------------------------------------------------------------------
+
+void Os2SalObject::InterceptChildWindowKeyDown( sal_Bool /*bIntercept*/ )
+{
+}
+
diff --git a/vcl/prj/build.lst b/vcl/prj/build.lst
index 0a6f6a95f605..af15ad73e19d 100644
--- a/vcl/prj/build.lst
+++ b/vcl/prj/build.lst
@@ -1,4 +1,4 @@
-vc vcl : l10n apple_remote BOOST:boost rsc sot ucbhelper unotools ICU:icu GRAPHITE:graphite i18npool i18nutil unoil ridljar X11_EXTENSIONS:x11_extensions offuh basegfx basebmp tools l10ntools icc SO:print_header cpputools shell svl NULL
+vc vcl : l10n apple_remote BOOST:boost rsc sot ucbhelper unotools ICU:icu GRAPHITE:graphite i18npool i18nutil unoil ridljar X11_EXTENSIONS:x11_extensions offuh basegfx basebmp tools l10ntools icc SO:print_header cpputools shell svl LIBXSLT:libxslt NULL
vc vcl usr1 - all vc_mkout NULL
vc vcl\inc nmake - all vc_inc NULL
vc vcl\source\glyphs nmake - all vc_glyphs vc_inc NULL
diff --git a/vcl/prj/d.lst b/vcl/prj/d.lst
index e28dc755e8a8..196bdeb19c0e 100644
--- a/vcl/prj/d.lst
+++ b/vcl/prj/d.lst
@@ -23,7 +23,6 @@ mkdir: %_DEST%\inc%_EXT%\vcl
..\inc\vcl\bmpacc.hxx %_DEST%\inc%_EXT%\vcl\bmpacc.hxx
..\inc\vcl\btndlg.hxx %_DEST%\inc%_EXT%\vcl\btndlg.hxx
..\inc\vcl\button.hxx %_DEST%\inc%_EXT%\vcl\button.hxx
-..\inc\vcl\button.hxx %_DEST%\inc%_EXT%\vcl\imagebtn.hxx
..\inc\vcl\cmdevt.h %_DEST%\inc%_EXT%\vcl\cmdevt.h
..\inc\vcl\cmdevt.hxx %_DEST%\inc%_EXT%\vcl\cmdevt.hxx
..\inc\vcl\combobox.h %_DEST%\inc%_EXT%\vcl\combobox.h
@@ -78,6 +77,7 @@ mkdir: %_DEST%\inc%_EXT%\vcl
..\inc\vcl\metric.hxx %_DEST%\inc%_EXT%\vcl\metric.hxx
..\inc\vcl\mnemonic.hxx %_DEST%\inc%_EXT%\vcl\mnemonic.hxx
..\inc\vcl\mnemonicengine.hxx %_DEST%\inc%_EXT%\vcl\mnemonicengine.hxx
+..\inc\vcl\quickselectionengine.hxx %_DEST%\inc%_EXT%\vcl\quickselectionengine.hxx
..\inc\vcl\morebtn.hxx %_DEST%\inc%_EXT%\vcl\morebtn.hxx
..\inc\vcl\msgbox.hxx %_DEST%\inc%_EXT%\vcl\msgbox.hxx
..\inc\vcl\octree.hxx %_DEST%\inc%_EXT%\vcl\octree.hxx
@@ -153,4 +153,7 @@ mkdir: %_DEST%\inc%_EXT%\vcl
..\inc\vcl\helper.hxx %_DEST%\inc%_EXT%\vcl\helper.hxx
..\inc\vcl\strhelper.hxx %_DEST%\inc%_EXT%\vcl\strhelper.hxx
..\inc\vcl\lazydelete.hxx %_DEST%\inc%_EXT%\vcl\lazydelete.hxx
+..\inc\vcl\arrange.hxx %_DEST%\inc%_EXT%\vcl\arrange.hxx
+..\inc\vcl\wpropset.hxx %_DEST%\inc%_EXT%\vcl\wpropset.hxx
..\%__SRC%\misc\vcl.component %_DEST%\xml%_EXT%\vcl.component
+
diff --git a/vcl/source/app/svdata.cxx b/vcl/source/app/svdata.cxx
index faae833e4d7b..f5b03f2b9b91 100644
--- a/vcl/source/app/svdata.cxx
+++ b/vcl/source/app/svdata.cxx
@@ -129,6 +129,9 @@ void ImplInitSVData()
break;
}
}
+
+ // mark default layout border as unitialized
+ pImplSVData->maAppData.mnDefaultLayoutBorder = -1;
}
// -----------------------------------------------------------------------
diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index 8d70bc1fd991..9f85d2d39dab 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -529,7 +529,8 @@ sal_uInt16 ImplEntryList::FindFirstSelectable( sal_uInt16 nPos, bool bForward /*
// =======================================================================
ImplListBoxWindow::ImplListBoxWindow( Window* pParent, WinBits nWinStyle ) :
- Control( pParent, 0 )
+ Control( pParent, 0 ),
+ maQuickSelectionEngine( *this )
{
mpEntryList = new ImplEntryList( this );
@@ -568,9 +569,6 @@ ImplListBoxWindow::ImplListBoxWindow( Window* pParent, WinBits nWinStyle ) :
SetTextFillColor();
SetBackground( Wallpaper( GetSettings().GetStyleSettings().GetFieldColor() ) );
- maSearchTimeout.SetTimeout( 2500 );
- maSearchTimeout.SetTimeoutHdl( LINK( this, ImplListBoxWindow, SearchStringTimeout ) );
-
ImplInitSettings( sal_True, sal_True, sal_True );
ImplCalcMetrics();
}
@@ -579,7 +577,6 @@ ImplListBoxWindow::ImplListBoxWindow( Window* pParent, WinBits nWinStyle ) :
ImplListBoxWindow::~ImplListBoxWindow()
{
- maSearchTimeout.Stop();
delete mpEntryList;
}
@@ -624,14 +621,6 @@ void ImplListBoxWindow::ImplCalcMetrics()
// -----------------------------------------------------------------------
-IMPL_LINK( ImplListBoxWindow, SearchStringTimeout, Timer*, EMPTYARG )
-{
- maSearchStr.Erase();
- return 1;
-}
-
-// -----------------------------------------------------------------------
-
void ImplListBoxWindow::Clear()
{
mpEntryList->Clear();
@@ -648,6 +637,7 @@ void ImplListBoxWindow::Clear()
ImplClearLayoutData();
mnCurrentPos = LISTBOX_ENTRY_NOTFOUND;
+ maQuickSelectionEngine.Reset();
Invalidate();
}
@@ -918,7 +908,7 @@ sal_uInt16 ImplListBoxWindow::GetLastVisibleEntry() const
void ImplListBoxWindow::MouseButtonDown( const MouseEvent& rMEvt )
{
mbMouseMoveSelect = sal_False; // Nur bis zum ersten MouseButtonDown
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
if ( !IsReadOnly() )
{
@@ -1465,7 +1455,7 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
bDone = sal_True;
}
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
}
break;
@@ -1492,7 +1482,7 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
bDone = sal_True;
}
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
}
break;
@@ -1523,7 +1513,7 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
}
bDone = sal_True;
}
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
}
break;
@@ -1557,7 +1547,7 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
}
bDone = sal_True;
}
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
}
break;
@@ -1578,7 +1568,7 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
bDone = sal_True;
}
}
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
}
break;
@@ -1604,7 +1594,7 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
}
bDone = sal_True;
}
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
}
break;
@@ -1615,7 +1605,7 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
ScrollHorz( -HORZ_SCROLL );
bDone = sal_True;
}
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
}
break;
@@ -1626,7 +1616,7 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
ScrollHorz( HORZ_SCROLL );
bDone = sal_True;
}
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
}
break;
@@ -1638,7 +1628,7 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
ImplCallSelect();
bDone = sal_False; // RETURN nicht abfangen.
}
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
}
break;
@@ -1653,7 +1643,7 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
}
bDone = sal_True;
}
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
}
break;
@@ -1673,7 +1663,7 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
SetUpdateMode( bUpdates );
Invalidate();
- maSearchStr.Erase();
+ maQuickSelectionEngine.Reset();
bDone = sal_True;
break;
@@ -1682,43 +1672,12 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
// fall through intentional
default:
{
- xub_Unicode c = rKEvt.GetCharCode();
-
- if ( !IsReadOnly() && (c >= 32) && (c != 127) && !rKEvt.GetKeyCode().IsMod2() )
+ if ( !IsReadOnly() )
{
- maSearchStr += c;
- XubString aTmpSearch( maSearchStr );
-
- nSelect = mpEntryList->FindMatchingEntry( aTmpSearch, mnCurrentPos );
- if ( (nSelect == LISTBOX_ENTRY_NOTFOUND) && (aTmpSearch.Len() > 1) )
- {
- // Wenn alles die gleichen Buchstaben, dann anderer Such-Modus
- sal_Bool bAllEqual = sal_True;
- for ( sal_uInt16 n = aTmpSearch.Len(); n && bAllEqual; )
- bAllEqual = aTmpSearch.GetChar( --n ) == c;
- if ( bAllEqual )
- {
- aTmpSearch = c;
- nSelect = mpEntryList->FindMatchingEntry( aTmpSearch, mnCurrentPos+1 );
- }
- }
- if ( nSelect == LISTBOX_ENTRY_NOTFOUND )
- nSelect = mpEntryList->FindMatchingEntry( aTmpSearch, 0 );
-
- if ( nSelect != LISTBOX_ENTRY_NOTFOUND )
- {
- ShowProminentEntry( nSelect );
-
- if ( mpEntryList->IsEntryPosSelected( nSelect ) )
- nSelect = LISTBOX_ENTRY_NOTFOUND;
-
- maSearchTimeout.Start();
- }
- else
- maSearchStr.Erase();
- bDone = sal_True;
+ bDone = maQuickSelectionEngine.HandleKeyEvent( rKEvt );
}
- }
+ }
+ break;
}
if ( ( nSelect != LISTBOX_ENTRY_NOTFOUND )
@@ -1744,6 +1703,72 @@ sal_Bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
}
// -----------------------------------------------------------------------
+namespace
+{
+ static ::vcl::StringEntryIdentifier lcl_getEntry( const ImplEntryList& _rList, USHORT _nPos, String& _out_entryText )
+ {
+ OSL_PRECOND( ( _nPos != LISTBOX_ENTRY_NOTFOUND ), "lcl_getEntry: invalid position!" );
+ USHORT nEntryCount( _rList.GetEntryCount() );
+ if ( _nPos >= nEntryCount )
+ _nPos = 0;
+ _out_entryText = _rList.GetEntryText( _nPos );
+
+ // ::vcl::StringEntryIdentifier does not allow for 0 values, but our position is 0-based
+ // => normalize
+ return reinterpret_cast< ::vcl::StringEntryIdentifier >( _nPos + 1 );
+ }
+
+ static USHORT lcl_getEntryPos( ::vcl::StringEntryIdentifier _entry )
+ {
+ // our pos is 0-based, but StringEntryIdentifier does not allow for a NULL
+ return static_cast< USHORT >( reinterpret_cast< sal_Int64 >( _entry ) ) - 1;
+ }
+}
+
+// -----------------------------------------------------------------------
+::vcl::StringEntryIdentifier ImplListBoxWindow::CurrentEntry( String& _out_entryText ) const
+{
+ return lcl_getEntry( *GetEntryList(), ( mnCurrentPos == LISTBOX_ENTRY_NOTFOUND ) ? 0 : mnCurrentPos + 1, _out_entryText );
+}
+
+// -----------------------------------------------------------------------
+::vcl::StringEntryIdentifier ImplListBoxWindow::NextEntry( ::vcl::StringEntryIdentifier _currentEntry, String& _out_entryText ) const
+{
+ USHORT nNextPos = lcl_getEntryPos( _currentEntry ) + 1;
+ return lcl_getEntry( *GetEntryList(), nNextPos, _out_entryText );
+}
+
+// -----------------------------------------------------------------------
+void ImplListBoxWindow::SelectEntry( ::vcl::StringEntryIdentifier _entry )
+{
+ USHORT nSelect = lcl_getEntryPos( _entry );
+ if ( mpEntryList->IsEntryPosSelected( nSelect ) )
+ {
+ // ignore that. This method is a callback from the QuickSelectionEngine, which means the user attempted
+ // to select the given entry by typing its starting letters. No need to act.
+ return;
+ }
+
+ // normalize
+ OSL_ENSURE( nSelect < mpEntryList->GetEntryCount(), "ImplListBoxWindow::SelectEntry: how that?" );
+ if( nSelect >= mpEntryList->GetEntryCount() )
+ nSelect = mpEntryList->GetEntryCount()-1;
+
+ // make visible
+ ShowProminentEntry( nSelect );
+
+ // actually select
+ mnCurrentPos = nSelect;
+ if ( SelectEntries( nSelect, LET_KEYMOVE, FALSE, FALSE ) )
+ {
+ mbTravelSelect = TRUE;
+ mnSelectModifier = 0;
+ ImplCallSelect();
+ mbTravelSelect = FALSE;
+ }
+}
+
+// -----------------------------------------------------------------------
void ImplListBoxWindow::ImplPaint( sal_uInt16 nPos, sal_Bool bErase, bool bLayout )
{
diff --git a/vcl/source/control/makefile.mk b/vcl/source/control/makefile.mk
index a2553333246d..b1644e58ccd9 100644
--- a/vcl/source/control/makefile.mk
+++ b/vcl/source/control/makefile.mk
@@ -62,7 +62,8 @@ SLOFILES= $(SLO)$/button.obj \
$(SLO)$/slider.obj \
$(SLO)$/spinfld.obj \
$(SLO)$/spinbtn.obj \
- $(SLO)$/tabctrl.obj
+ $(SLO)$/tabctrl.obj \
+ $(SLO)$/quickselectionengine.obj
EXCEPTIONSFILES= \
$(SLO)$/button.obj \
diff --git a/vcl/source/control/quickselectionengine.cxx b/vcl/source/control/quickselectionengine.cxx
new file mode 100644
index 000000000000..2d32393bf79a
--- /dev/null
+++ b/vcl/source/control/quickselectionengine.cxx
@@ -0,0 +1,183 @@
+/*************************************************************************
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2009 by Sun Microsystems, Inc.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_vcl.hxx"
+
+#include "vcl/quickselectionengine.hxx"
+#include "vcl/event.hxx"
+#include "vcl/timer.hxx"
+#include "vcl/i18nhelp.hxx"
+#include "vcl/svapp.hxx"
+
+#include <boost/optional.hpp>
+
+//........................................................................
+namespace vcl
+{
+//........................................................................
+
+ //====================================================================
+ //= QuickSelectionEngine_Data
+ //====================================================================
+ struct QuickSelectionEngine_Data
+ {
+ ISearchableStringList& rEntryList;
+ String sCurrentSearchString;
+ ::boost::optional< sal_Unicode > aSingleSearchChar;
+ Timer aSearchTimeout;
+
+ QuickSelectionEngine_Data( ISearchableStringList& _entryList )
+ :rEntryList( _entryList )
+ ,sCurrentSearchString()
+ ,aSingleSearchChar()
+ ,aSearchTimeout()
+ {
+ aSearchTimeout.SetTimeout( 2500 );
+ aSearchTimeout.SetTimeoutHdl( LINK( this, QuickSelectionEngine_Data, SearchStringTimeout ) );
+ }
+
+ ~QuickSelectionEngine_Data()
+ {
+ aSearchTimeout.Stop();
+ }
+
+ DECL_LINK( SearchStringTimeout, Timer* );
+ };
+
+ //--------------------------------------------------------------------
+ namespace
+ {
+ static void lcl_reset( QuickSelectionEngine_Data& _data )
+ {
+ _data.sCurrentSearchString.Erase();
+ _data.aSingleSearchChar.reset();
+ _data.aSearchTimeout.Stop();
+ }
+ }
+
+ //--------------------------------------------------------------------
+ IMPL_LINK( QuickSelectionEngine_Data, SearchStringTimeout, Timer*, /*EMPTYARG*/ )
+ {
+ lcl_reset( *this );
+ return 1;
+ }
+
+ //--------------------------------------------------------------------
+ static StringEntryIdentifier findMatchingEntry( const String& _searchString, QuickSelectionEngine_Data& _engineData )
+ {
+ const vcl::I18nHelper& rI18nHelper = Application::GetSettings().GetLocaleI18nHelper();
+ // TODO: do we really need the Window's settings here? The original code used it ...
+
+ String sEntryText;
+ // get the "current + 1" entry
+ StringEntryIdentifier pSearchEntry = _engineData.rEntryList.CurrentEntry( sEntryText );
+ if ( pSearchEntry )
+ pSearchEntry = _engineData.rEntryList.NextEntry( pSearchEntry, sEntryText );
+ // loop 'til we find another matching entry
+ StringEntryIdentifier pStartedWith = pSearchEntry;
+ while ( pSearchEntry )
+ {
+ if ( rI18nHelper.MatchString( _searchString, sEntryText ) != 0 )
+ break;
+
+ pSearchEntry = _engineData.rEntryList.NextEntry( pSearchEntry, sEntryText );
+ if ( pSearchEntry == pStartedWith )
+ pSearchEntry = NULL;
+ }
+
+ return pSearchEntry;
+ }
+
+ //====================================================================
+ //= QuickSelectionEngine
+ //====================================================================
+ //--------------------------------------------------------------------
+ QuickSelectionEngine::QuickSelectionEngine( ISearchableStringList& _entryList )
+ :m_pData( new QuickSelectionEngine_Data( _entryList ) )
+ {
+ }
+
+ //--------------------------------------------------------------------
+ QuickSelectionEngine::~QuickSelectionEngine()
+ {
+ }
+
+ //--------------------------------------------------------------------
+ bool QuickSelectionEngine::HandleKeyEvent( const KeyEvent& _keyEvent )
+ {
+ xub_Unicode c = _keyEvent.GetCharCode();
+
+ if ( ( c >= 32 ) && ( c != 127 ) && !_keyEvent.GetKeyCode().IsMod2() )
+ {
+ m_pData->sCurrentSearchString += c;
+ OSL_TRACE( "QuickSelectionEngine::HandleKeyEvent: searching for %s", ByteString( m_pData->sCurrentSearchString, RTL_TEXTENCODING_UTF8 ).GetBuffer() );
+
+ if ( m_pData->sCurrentSearchString.Len() == 1 )
+ { // first character in the search -> remmeber
+ m_pData->aSingleSearchChar.reset( c );
+ }
+ else if ( m_pData->sCurrentSearchString.Len() > 1 )
+ {
+ if ( !!m_pData->aSingleSearchChar && ( *m_pData->aSingleSearchChar != c ) )
+ // we already have a "single char", but the current one is different -> reset
+ m_pData->aSingleSearchChar.reset();
+ }
+
+ XubString aSearchTemp( m_pData->sCurrentSearchString );
+
+ StringEntryIdentifier pMatchingEntry = findMatchingEntry( aSearchTemp, *m_pData );
+ OSL_TRACE( "QuickSelectionEngine::HandleKeyEvent: found %p", pMatchingEntry );
+ if ( !pMatchingEntry && ( aSearchTemp.Len() > 1 ) && !!m_pData->aSingleSearchChar )
+ {
+ // if there's only one letter in the search string, use a different search mode
+ aSearchTemp = *m_pData->aSingleSearchChar;
+ pMatchingEntry = findMatchingEntry( aSearchTemp, *m_pData );
+ }
+
+ if ( pMatchingEntry )
+ {
+ m_pData->rEntryList.SelectEntry( pMatchingEntry );
+ m_pData->aSearchTimeout.Start();
+ }
+ else
+ {
+ lcl_reset( *m_pData );
+ }
+
+ return true;
+ }
+ return false;
+ }
+
+ //--------------------------------------------------------------------
+ void QuickSelectionEngine::Reset()
+ {
+ lcl_reset( *m_pData );
+ }
+
+//........................................................................
+} // namespace vcl
+//........................................................................
diff --git a/vcl/source/gdi/metaact.cxx b/vcl/source/gdi/metaact.cxx
index fb4aee897d73..2946f538dbac 100644
--- a/vcl/source/gdi/metaact.cxx
+++ b/vcl/source/gdi/metaact.cxx
@@ -1441,19 +1441,35 @@ void MetaTextArrayAction::Read( SvStream& rIStm, ImplMetaReadData* pData )
rIStm >> mnLen;
rIStm >> nAryLen;
+ if ( mnIndex + mnLen > maStr.Len() )
+ {
+ mnIndex = 0;
+ mpDXAry = 0;
+ return;
+ }
+
if( nAryLen )
{
// #i9762#, #106172# Ensure that DX array is at least mnLen entries long
- const sal_uIntPtr nIntAryLen( Max(nAryLen, static_cast<sal_uInt32>(mnLen)) );
- mpDXAry = new sal_Int32[ nIntAryLen ];
-
- sal_uIntPtr i;
- for( i = 0UL; i < nAryLen; i++ )
- rIStm >> mpDXAry[ i ];
+ if ( mnLen >= nAryLen )
+ {
+ mpDXAry = new (std::nothrow)sal_Int32[ mnLen ];
+ if ( mpDXAry )
+ {
+ sal_uIntPtr i;
+ for( i = 0UL; i < nAryLen; i++ )
+ rIStm >> mpDXAry[ i ];
- // #106172# setup remainder
- for( ; i < nIntAryLen; i++ )
- mpDXAry[ i ] = 0;
+ // #106172# setup remainder
+ for( ; i < mnLen; i++ )
+ mpDXAry[ i ] = 0;
+ }
+ }
+ else
+ {
+ mpDXAry = NULL;
+ return;
+ }
}
else
mpDXAry = NULL;
@@ -1465,6 +1481,12 @@ void MetaTextArrayAction::Read( SvStream& rIStm, ImplMetaReadData* pData )
sal_Unicode* pBuffer = maStr.AllocBuffer( nLen );
while ( nLen-- )
rIStm >> *pBuffer++;
+
+ if ( mnIndex + mnLen > maStr.Len() )
+ {
+ mnIndex = 0;
+ delete[] mpDXAry, mpDXAry = NULL;
+ }
}
}
diff --git a/vcl/source/gdi/outdev.cxx b/vcl/source/gdi/outdev.cxx
index cb654a89366c..f115e5a2e633 100644
--- a/vcl/source/gdi/outdev.cxx
+++ b/vcl/source/gdi/outdev.cxx
@@ -2495,6 +2495,9 @@ void OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt,
const bool bDashUsed(LINE_DASH == aInfo.GetStyle());
const bool bLineWidthUsed(aInfo.GetWidth() > 1);
+ if ( mbInitLineColor )
+ ImplInitLineColor();
+
if(bDashUsed || bLineWidthUsed)
{
basegfx::B2DPolygon aLinePolygon;
@@ -2505,9 +2508,6 @@ void OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt,
}
else
{
- if ( mbInitLineColor )
- ImplInitLineColor();
-
mpGraphics->DrawLine( aStartPt.X(), aStartPt.Y(), aEndPt.X(), aEndPt.Y(), this );
}
diff --git a/vcl/source/gdi/pdfwriter.cxx b/vcl/source/gdi/pdfwriter.cxx
index 3f9024e257d5..8e0f75ba1fe0 100644
--- a/vcl/source/gdi/pdfwriter.cxx
+++ b/vcl/source/gdi/pdfwriter.cxx
@@ -38,9 +38,9 @@ PDFWriter::AnyWidget::~AnyWidget()
{
}
-PDFWriter::PDFWriter( const PDFWriter::PDFWriterContext& rContext )
+PDFWriter::PDFWriter( const PDFWriter::PDFWriterContext& rContext, const com::sun::star::uno::Reference< com::sun::star::beans::XMaterialHolder >& xEnc )
:
- pImplementation( new PDFWriterImpl( rContext, *this ) )
+ pImplementation( new PDFWriterImpl( rContext, xEnc, *this ) )
{
}
@@ -69,16 +69,6 @@ PDFWriter::PDFVersion PDFWriter::GetVersion() const
return ((PDFWriterImpl*)pImplementation)->getVersion();
}
-void PDFWriter::SetDocInfo( const PDFDocInfo& rInfo )
-{
- ((PDFWriterImpl*)pImplementation)->setDocInfo( rInfo );
-}
-
-const PDFDocInfo& PDFWriter::GetDocInfo() const
-{
- return ((PDFWriterImpl*)pImplementation)->getDocInfo();
-}
-
void PDFWriter::SetDocumentLocale( const com::sun::star::lang::Locale& rLoc )
{
((PDFWriterImpl*)pImplementation)->setDocumentLocale( rLoc );
@@ -570,7 +560,17 @@ std::set< PDFWriter::ErrorCode > PDFWriter::GetErrors()
return ((PDFWriterImpl*)pImplementation)->getErrors();
}
+com::sun::star::uno::Reference< com::sun::star::beans::XMaterialHolder >
+PDFWriter::InitEncryption( const rtl::OUString& i_rOwnerPassword,
+ const rtl::OUString& i_rUserPassword,
+ bool b128Bit
+ )
+{
+ return PDFWriterImpl::initEncryption( i_rOwnerPassword, i_rUserPassword, b128Bit );
+}
+
void PDFWriter::PlayMetafile( const GDIMetaFile& i_rMTF, const vcl::PDFWriter::PlayMetafileContext& i_rPlayContext, PDFExtOutDevData* i_pData )
{
((PDFWriterImpl*)pImplementation)->playMetafile( i_rMTF, i_pData, i_rPlayContext, NULL);
}
+
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index 0d0963f72b5c..9aa203b513c6 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -113,12 +113,10 @@ void doTestCode()
aContext.Version = PDFWriter::PDF_1_4;
aContext.Tagged = true;
aContext.InitialPage = 2;
+ aContext.DocumentInfo.Title = OUString( RTL_CONSTASCII_USTRINGPARAM( "PDF export test document" ) );
+ aContext.DocumentInfo.Producer = OUString( RTL_CONSTASCII_USTRINGPARAM( "VCL" ) );
PDFWriter aWriter( aContext );
- PDFDocInfo aDocInfo;
- aDocInfo.Title = OUString( RTL_CONSTASCII_USTRINGPARAM( "PDF export test document" ) );
- aDocInfo.Producer = OUString( RTL_CONSTASCII_USTRINGPARAM( "VCL" ) );
- aWriter.SetDocInfo( aDocInfo );
aWriter.NewPage( 595, 842 );
aWriter.BeginStructureElement( PDFWriter::Document );
// set duration of 3 sec for first page
@@ -496,6 +494,12 @@ static inline double pixelToPoint( sal_Int32 px ) { return double(px)/fDivisor;
static inline double pixelToPoint( double px ) { return px/fDivisor; }
static inline sal_Int32 pointToPixel( double pt ) { return sal_Int32(pt*fDivisor); }
+const sal_uInt8 PDFWriterImpl::s_nPadString[32] =
+{
+ 0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08,
+ 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A
+};
+
static void appendHex( sal_Int8 nInt, OStringBuffer& rBuffer )
{
static const sal_Char pHexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7',
@@ -1693,7 +1697,9 @@ void PDFWriterImpl::PDFPage::appendWaveLine( sal_Int32 nWidth, sal_Int32 nY, sal
* class PDFWriterImpl
*/
-PDFWriterImpl::PDFWriterImpl( const PDFWriter::PDFWriterContext& rContext, PDFWriter& i_rOuterFace )
+ PDFWriterImpl::PDFWriterImpl( const PDFWriter::PDFWriterContext& rContext,
+ const com::sun::star::uno::Reference< com::sun::star::beans::XMaterialHolder >& xEnc,
+ PDFWriter& i_rOuterFace)
:
m_pReferenceDevice( NULL ),
m_aMapMode( MAP_POINT, Point(), Fraction( 1L, pointToPixel(1) ), Fraction( 1L, pointToPixel(1) ) ),
@@ -1714,9 +1720,6 @@ PDFWriterImpl::PDFWriterImpl( const PDFWriter::PDFWriterContext& rContext, PDFWr
m_aCipher( (rtlCipher)NULL ),
m_aDigest( NULL ),
m_bEncryptThisStream( false ),
- m_aDocID( 32 ),
- m_aCreationDateString( 64 ),
- m_aCreationMetaDateString( 64 ),
m_pEncryptionBuffer( NULL ),
m_nEncryptionBufferSize( 0 ),
m_bIsPDF_A1( false ),
@@ -1759,14 +1762,37 @@ PDFWriterImpl::PDFWriterImpl( const PDFWriter::PDFWriterContext& rContext, PDFWr
m_bOpen = true;
-/* prepare the cypher engine, can be done in CTOR, free in DTOR */
+ // setup DocInfo
+ setupDocInfo();
+ /* prepare the cypher engine, can be done in CTOR, free in DTOR */
m_aCipher = rtl_cipher_createARCFOUR( rtl_Cipher_ModeStream );
m_aDigest = rtl_digest_createMD5();
-/* the size of the Codec default maximum */
+ /* the size of the Codec default maximum */
checkEncryptionBufferSize( 0x4000 );
+ if( xEnc.is() )
+ prepareEncryption( xEnc );
+
+ if( m_aContext.Encryption.Encrypt() )
+ {
+ // sanity check
+ if( m_aContext.Encryption.OValue.size() != ENCRYPTED_PWD_SIZE ||
+ m_aContext.Encryption.UValue.size() != ENCRYPTED_PWD_SIZE ||
+ m_aContext.Encryption.EncryptionKey.size() != MAXIMUM_RC4_KEY_LENGTH
+ )
+ {
+ // the field lengths are invalid ? This was not setup by initEncryption.
+ // do not encrypt after all
+ m_aContext.Encryption.OValue.clear();
+ m_aContext.Encryption.UValue.clear();
+ OSL_ENSURE( 0, "encryption data failed sanity check, encryption disabled" );
+ }
+ else // setup key lengths
+ m_nAccessPermissions = computeAccessPermissions( m_aContext.Encryption, m_nKeyLength, m_nRC4KeyLength );
+ }
+
// write header
OStringBuffer aBuffer( 20 );
aBuffer.append( "%PDF-" );
@@ -1812,139 +1838,138 @@ PDFWriterImpl::~PDFWriterImpl()
rtl_freeMemory( m_pEncryptionBuffer );
}
-void PDFWriterImpl::setDocInfo( const PDFDocInfo& rInfo )
+void PDFWriterImpl::setupDocInfo()
{
- m_aDocInfo.Title = rInfo.Title;
- m_aDocInfo.Author = rInfo.Author;
- m_aDocInfo.Subject = rInfo.Subject;
- m_aDocInfo.Keywords = rInfo.Keywords;
- m_aDocInfo.Creator = rInfo.Creator;
- m_aDocInfo.Producer = rInfo.Producer;
+ std::vector< sal_uInt8 > aId;
+ computeDocumentIdentifier( aId, m_aContext.DocumentInfo, m_aCreationDateString, m_aCreationMetaDateString );
+ if( m_aContext.Encryption.DocumentIdentifier.empty() )
+ m_aContext.Encryption.DocumentIdentifier = aId;
+}
-//build the document id
+void PDFWriterImpl::computeDocumentIdentifier( std::vector< sal_uInt8 >& o_rIdentifier,
+ const vcl::PDFWriter::PDFDocInfo& i_rDocInfo,
+ rtl::OString& o_rCString1,
+ rtl::OString& o_rCString2
+ )
+{
+ o_rIdentifier.clear();
+
+ //build the document id
rtl::OString aInfoValuesOut;
OStringBuffer aID( 1024 );
- if( m_aDocInfo.Title.Len() )
- appendUnicodeTextString( m_aDocInfo.Title, aID );
- if( m_aDocInfo.Author.Len() )
- appendUnicodeTextString( m_aDocInfo.Author, aID );
- if( m_aDocInfo.Subject.Len() )
- appendUnicodeTextString( m_aDocInfo.Subject, aID );
- if( m_aDocInfo.Keywords.Len() )
- appendUnicodeTextString( m_aDocInfo.Keywords, aID );
- if( m_aDocInfo.Creator.Len() )
- appendUnicodeTextString( m_aDocInfo.Creator, aID );
- if( m_aDocInfo.Producer.Len() )
- appendUnicodeTextString( m_aDocInfo.Producer, aID );
+ if( i_rDocInfo.Title.Len() )
+ appendUnicodeTextString( i_rDocInfo.Title, aID );
+ if( i_rDocInfo.Author.Len() )
+ appendUnicodeTextString( i_rDocInfo.Author, aID );
+ if( i_rDocInfo.Subject.Len() )
+ appendUnicodeTextString( i_rDocInfo.Subject, aID );
+ if( i_rDocInfo.Keywords.Len() )
+ appendUnicodeTextString( i_rDocInfo.Keywords, aID );
+ if( i_rDocInfo.Creator.Len() )
+ appendUnicodeTextString( i_rDocInfo.Creator, aID );
+ if( i_rDocInfo.Producer.Len() )
+ appendUnicodeTextString( i_rDocInfo.Producer, aID );
TimeValue aTVal, aGMT;
oslDateTime aDT;
osl_getSystemTime( &aGMT );
osl_getLocalTimeFromSystemTime( &aGMT, &aTVal );
osl_getDateTimeFromTimeValue( &aTVal, &aDT );
- m_aCreationDateString.append( "D:" );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Year/1000)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Year/100)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Year/10)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Year)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Month/10)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Month)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Day/10)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Day)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Hours/10)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Hours)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Minutes/10)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Minutes)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Seconds/10)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((aDT.Seconds)%10)) );
-//--> i59651, we fill the Metadata date string as well, if PDF/A is requested
- if( m_bIsPDF_A1 )
- {
-// according to ISO 19005-1:2005 6.7.3 the date is corrected for
-// local time zone offset UTC only, whereas Acrobat 8 seems
-// to use the localtime notation only
-// according to a raccomandation in XMP Specification (Jan 2004, page 75)
-// the Acrobat way seems the right approach
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Year/1000)%10)) );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Year/100)%10)) );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Year/10)%10)) );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Year)%10)) );
- m_aCreationMetaDateString.append( "-" );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Month/10)%10)) );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Month)%10)) );
- m_aCreationMetaDateString.append( "-" );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Day/10)%10)) );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Day)%10)) );
- m_aCreationMetaDateString.append( "T" );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Hours/10)%10)) );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Hours)%10)) );
- m_aCreationMetaDateString.append( ":" );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Minutes/10)%10)) );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Minutes)%10)) );
- m_aCreationMetaDateString.append( ":" );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Seconds/10)%10)) );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Seconds)%10)) );
- }
+ rtl::OStringBuffer aCreationDateString(64), aCreationMetaDateString(64);
+ aCreationDateString.append( "D:" );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Year/1000)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Year/100)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Year/10)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Year)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Month/10)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Month)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Day/10)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Day)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Hours/10)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Hours)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Minutes/10)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Minutes)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Seconds/10)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((aDT.Seconds)%10)) );
+
+ //--> i59651, we fill the Metadata date string as well, if PDF/A is requested
+ // according to ISO 19005-1:2005 6.7.3 the date is corrected for
+ // local time zone offset UTC only, whereas Acrobat 8 seems
+ // to use the localtime notation only
+ // according to a raccomandation in XMP Specification (Jan 2004, page 75)
+ // the Acrobat way seems the right approach
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Year/1000)%10)) );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Year/100)%10)) );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Year/10)%10)) );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Year)%10)) );
+ aCreationMetaDateString.append( "-" );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Month/10)%10)) );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Month)%10)) );
+ aCreationMetaDateString.append( "-" );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Day/10)%10)) );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Day)%10)) );
+ aCreationMetaDateString.append( "T" );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Hours/10)%10)) );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Hours)%10)) );
+ aCreationMetaDateString.append( ":" );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Minutes/10)%10)) );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Minutes)%10)) );
+ aCreationMetaDateString.append( ":" );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Seconds/10)%10)) );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((aDT.Seconds)%10)) );
+
sal_uInt32 nDelta = 0;
if( aGMT.Seconds > aTVal.Seconds )
{
- m_aCreationDateString.append( "-" );
+ aCreationDateString.append( "-" );
nDelta = aGMT.Seconds-aTVal.Seconds;
- if( m_bIsPDF_A1 )
- m_aCreationMetaDateString.append( "-" );
+ aCreationMetaDateString.append( "-" );
}
else if( aGMT.Seconds < aTVal.Seconds )
{
- m_aCreationDateString.append( "+" );
+ aCreationDateString.append( "+" );
nDelta = aTVal.Seconds-aGMT.Seconds;
- if( m_bIsPDF_A1 )
- m_aCreationMetaDateString.append( "+" );
+ aCreationMetaDateString.append( "+" );
}
else
{
- m_aCreationDateString.append( "Z" );
- if( m_bIsPDF_A1 )
- m_aCreationMetaDateString.append( "Z" );
+ aCreationDateString.append( "Z" );
+ aCreationMetaDateString.append( "Z" );
}
if( nDelta )
{
- m_aCreationDateString.append( (sal_Char)('0' + ((nDelta/36000)%10)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((nDelta/3600)%10)) );
- m_aCreationDateString.append( "'" );
- m_aCreationDateString.append( (sal_Char)('0' + ((nDelta/600)%6)) );
- m_aCreationDateString.append( (sal_Char)('0' + ((nDelta/60)%10)) );
- if( m_bIsPDF_A1 )
- {
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((nDelta/36000)%10)) );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((nDelta/3600)%10)) );
- m_aCreationMetaDateString.append( ":" );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((nDelta/600)%6)) );
- m_aCreationMetaDateString.append( (sal_Char)('0' + ((nDelta/60)%10)) );
- }
+ aCreationDateString.append( (sal_Char)('0' + ((nDelta/36000)%10)) );
+ aCreationDateString.append( (sal_Char)('0' + ((nDelta/3600)%10)) );
+ aCreationDateString.append( "'" );
+ aCreationDateString.append( (sal_Char)('0' + ((nDelta/600)%6)) );
+ aCreationDateString.append( (sal_Char)('0' + ((nDelta/60)%10)) );
+
+ aCreationMetaDateString.append( (sal_Char)('0' + ((nDelta/36000)%10)) );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((nDelta/3600)%10)) );
+ aCreationMetaDateString.append( ":" );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((nDelta/600)%6)) );
+ aCreationMetaDateString.append( (sal_Char)('0' + ((nDelta/60)%10)) );
}
- m_aCreationDateString.append( "'" );
- aID.append( m_aCreationDateString.getStr(), m_aCreationDateString.getLength() );
+ aCreationDateString.append( "'" );
+ aID.append( aCreationDateString.getStr(), aCreationDateString.getLength() );
aInfoValuesOut = aID.makeStringAndClear();
+ o_rCString1 = aCreationDateString.makeStringAndClear();
+ o_rCString2 = aCreationMetaDateString.makeStringAndClear();
- DBG_ASSERT( m_aDigest != NULL, "PDFWrite_Impl::setDocInfo: cannot obtain a digest object !" );
-
- m_aDocID.setLength( 0 );
- if( m_aDigest )
+ rtlDigest aDigest = rtl_digest_createMD5();
+ OSL_ENSURE( aDigest != NULL, "PDFWriterImpl::computeDocumentIdentifier: cannot obtain a digest object !" );
+ if( aDigest )
{
- osl_getSystemTime( &aGMT );
- rtlDigestError nError = rtl_digest_updateMD5( m_aDigest, &aGMT, sizeof( aGMT ) );
- if( nError == rtl_Digest_E_None )
- nError = rtl_digest_updateMD5( m_aDigest, m_aContext.URL.getStr(), m_aContext.URL.getLength()*sizeof(sal_Unicode) );
+ rtlDigestError nError = rtl_digest_updateMD5( aDigest, &aGMT, sizeof( aGMT ) );
if( nError == rtl_Digest_E_None )
- nError = rtl_digest_updateMD5( m_aDigest, aInfoValuesOut.getStr(), aInfoValuesOut.getLength() );
+ nError = rtl_digest_updateMD5( aDigest, aInfoValuesOut.getStr(), aInfoValuesOut.getLength() );
if( nError == rtl_Digest_E_None )
{
-//the binary form of the doc id is needed for encryption stuff
- rtl_digest_getMD5( m_aDigest, m_nDocID, 16 );
- for( unsigned int i = 0; i < 16; i++ )
- appendHex( m_nDocID[i], m_aDocID );
+ o_rIdentifier = std::vector< sal_uInt8 >( 16, 0 );
+ //the binary form of the doc id is needed for encryption stuff
+ rtl_digest_getMD5( aDigest, &o_rIdentifier[0], 16 );
}
}
}
@@ -1957,7 +1982,7 @@ append the string as unicode hex, encrypted if needed
inline void PDFWriterImpl::appendUnicodeTextStringEncrypt( const rtl::OUString& rInString, const sal_Int32 nInObjectNumber, OStringBuffer& rOutBuffer )
{
rOutBuffer.append( "<" );
- if( m_aContext.Encrypt )
+ if( m_aContext.Encryption.Encrypt() )
{
const sal_Unicode* pStr = rInString.getStr();
sal_Int32 nLen = rInString.getLength();
@@ -1994,7 +2019,7 @@ inline void PDFWriterImpl::appendLiteralStringEncrypt( rtl::OStringBuffer& rInSt
rOutBuffer.append( "(" );
sal_Int32 nChars = rInString.getLength();
//check for encryption, if ok, encrypt the string, then convert with appndLiteralString
- if( m_aContext.Encrypt && checkEncryptionBufferSize( nChars ) )
+ if( m_aContext.Encryption.Encrypt() && checkEncryptionBufferSize( nChars ) )
{
//encrypt the string in a buffer, then append it
enableStringEncryption( nInObjectNumber );
@@ -2384,9 +2409,6 @@ SalLayout* PDFWriterImpl::GetTextLayout( ImplLayoutArgs& rArgs, ImplFontSelectDa
sal_Int32 PDFWriterImpl::newPage( sal_Int32 nPageWidth, sal_Int32 nPageHeight, PDFWriter::Orientation eOrientation )
{
- if( m_aContext.Encrypt && m_aPages.empty() )
- initEncryption();
-
endPage();
m_nCurrentPage = m_aPages.size();
m_aPages.push_back( PDFPage(this, nPageWidth, nPageHeight, eOrientation ) );
@@ -5881,7 +5903,7 @@ bool PDFWriterImpl::emitCatalog()
}
// viewer preferences, if we had some, then emit
if( m_aContext.HideViewerToolbar ||
- ( m_aContext.Version > PDFWriter::PDF_1_3 && m_aDocInfo.Title.Len() && m_aContext.DisplayPDFDocumentTitle ) ||
+ ( m_aContext.Version > PDFWriter::PDF_1_3 && m_aContext.DocumentInfo.Title.Len() && m_aContext.DisplayPDFDocumentTitle ) ||
m_aContext.HideViewerMenubar ||
m_aContext.HideViewerWindowControls || m_aContext.FitWindow ||
m_aContext.CenterWindow || (m_aContext.FirstPageLeft && m_aContext.PageLayout == PDFWriter::ContinuousFacing ) ||
@@ -5898,7 +5920,7 @@ bool PDFWriterImpl::emitCatalog()
aLine.append( "/FitWindow true\n" );
if( m_aContext.CenterWindow )
aLine.append( "/CenterWindow true\n" );
- if( m_aContext.Version > PDFWriter::PDF_1_3 && m_aDocInfo.Title.Len() && m_aContext.DisplayPDFDocumentTitle )
+ if( m_aContext.Version > PDFWriter::PDF_1_3 && m_aContext.DocumentInfo.Title.Len() && m_aContext.DisplayPDFDocumentTitle )
aLine.append( "/DisplayDocTitle true\n" );
if( m_aContext.FirstPageLeft && m_aContext.PageLayout == PDFWriter::ContinuousFacing )
aLine.append( "/Direction/R2L\n" );
@@ -6002,40 +6024,40 @@ sal_Int32 PDFWriterImpl::emitInfoDict( )
aLine.append( nObject );
aLine.append( " 0 obj\n"
"<<" );
- if( m_aDocInfo.Title.Len() )
+ if( m_aContext.DocumentInfo.Title.Len() )
{
aLine.append( "/Title" );
- appendUnicodeTextStringEncrypt( m_aDocInfo.Title, nObject, aLine );
+ appendUnicodeTextStringEncrypt( m_aContext.DocumentInfo.Title, nObject, aLine );
aLine.append( "\n" );
}
- if( m_aDocInfo.Author.Len() )
+ if( m_aContext.DocumentInfo.Author.Len() )
{
aLine.append( "/Author" );
- appendUnicodeTextStringEncrypt( m_aDocInfo.Author, nObject, aLine );
+ appendUnicodeTextStringEncrypt( m_aContext.DocumentInfo.Author, nObject, aLine );
aLine.append( "\n" );
}
- if( m_aDocInfo.Subject.Len() )
+ if( m_aContext.DocumentInfo.Subject.Len() )
{
aLine.append( "/Subject" );
- appendUnicodeTextStringEncrypt( m_aDocInfo.Subject, nObject, aLine );
+ appendUnicodeTextStringEncrypt( m_aContext.DocumentInfo.Subject, nObject, aLine );
aLine.append( "\n" );
}
- if( m_aDocInfo.Keywords.Len() )
+ if( m_aContext.DocumentInfo.Keywords.Len() )
{
aLine.append( "/Keywords" );
- appendUnicodeTextStringEncrypt( m_aDocInfo.Keywords, nObject, aLine );
+ appendUnicodeTextStringEncrypt( m_aContext.DocumentInfo.Keywords, nObject, aLine );
aLine.append( "\n" );
}
- if( m_aDocInfo.Creator.Len() )
+ if( m_aContext.DocumentInfo.Creator.Len() )
{
aLine.append( "/Creator" );
- appendUnicodeTextStringEncrypt( m_aDocInfo.Creator, nObject, aLine );
+ appendUnicodeTextStringEncrypt( m_aContext.DocumentInfo.Creator, nObject, aLine );
aLine.append( "\n" );
}
- if( m_aDocInfo.Producer.Len() )
+ if( m_aContext.DocumentInfo.Producer.Len() )
{
aLine.append( "/Producer" );
- appendUnicodeTextStringEncrypt( m_aDocInfo.Producer, nObject, aLine );
+ appendUnicodeTextStringEncrypt( m_aContext.DocumentInfo.Producer, nObject, aLine );
aLine.append( "\n" );
}
@@ -6281,45 +6303,45 @@ sal_Int32 PDFWriterImpl::emitDocumentMetadata()
aMetadataStream.append( " <pdfaid:conformance>A</pdfaid:conformance>\n" );
aMetadataStream.append( " </rdf:Description>\n" );
//... Dublin Core properties go here
- if( m_aDocInfo.Title.Len() ||
- m_aDocInfo.Author.Len() ||
- m_aDocInfo.Subject.Len() )
+ if( m_aContext.DocumentInfo.Title.Len() ||
+ m_aContext.DocumentInfo.Author.Len() ||
+ m_aContext.DocumentInfo.Subject.Len() )
{
aMetadataStream.append( " <rdf:Description rdf:about=\"\"\n" );
aMetadataStream.append( " xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n" );
- if( m_aDocInfo.Title.Len() )
+ if( m_aContext.DocumentInfo.Title.Len() )
{
// this is according to PDF/A-1, technical corrigendum 1 (2007-04-01)
aMetadataStream.append( " <dc:title>\n" );
aMetadataStream.append( " <rdf:Alt>\n" );
aMetadataStream.append( " <rdf:li xml:lang=\"x-default\">" );
rtl::OUString aTitle;
- escapeStringXML( m_aDocInfo.Title, aTitle );
+ escapeStringXML( m_aContext.DocumentInfo.Title, aTitle );
aMetadataStream.append( OUStringToOString( aTitle, RTL_TEXTENCODING_UTF8 ) );
aMetadataStream.append( "</rdf:li>\n" );
aMetadataStream.append( " </rdf:Alt>\n" );
aMetadataStream.append( " </dc:title>\n" );
}
- if( m_aDocInfo.Author.Len() )
+ if( m_aContext.DocumentInfo.Author.Len() )
{
aMetadataStream.append( " <dc:creator>\n" );
aMetadataStream.append( " <rdf:Seq>\n" );
aMetadataStream.append( " <rdf:li>" );
rtl::OUString aAuthor;
- escapeStringXML( m_aDocInfo.Author, aAuthor );
+ escapeStringXML( m_aContext.DocumentInfo.Author, aAuthor );
aMetadataStream.append( OUStringToOString( aAuthor , RTL_TEXTENCODING_UTF8 ) );
aMetadataStream.append( "</rdf:li>\n" );
aMetadataStream.append( " </rdf:Seq>\n" );
aMetadataStream.append( " </dc:creator>\n" );
}
- if( m_aDocInfo.Subject.Len() )
+ if( m_aContext.DocumentInfo.Subject.Len() )
{
// this is according to PDF/A-1, technical corrigendum 1 (2007-04-01)
aMetadataStream.append( " <dc:description>\n" );
aMetadataStream.append( " <rdf:Alt>\n" );
aMetadataStream.append( " <rdf:li xml:lang=\"x-default\">" );
rtl::OUString aSubject;
- escapeStringXML( m_aDocInfo.Subject, aSubject );
+ escapeStringXML( m_aContext.DocumentInfo.Subject, aSubject );
aMetadataStream.append( OUStringToOString( aSubject , RTL_TEXTENCODING_UTF8 ) );
aMetadataStream.append( "</rdf:li>\n" );
aMetadataStream.append( " </rdf:Alt>\n" );
@@ -6329,24 +6351,24 @@ sal_Int32 PDFWriterImpl::emitDocumentMetadata()
}
//... PDF properties go here
- if( m_aDocInfo.Producer.Len() ||
- m_aDocInfo.Keywords.Len() )
+ if( m_aContext.DocumentInfo.Producer.Len() ||
+ m_aContext.DocumentInfo.Keywords.Len() )
{
aMetadataStream.append( " <rdf:Description rdf:about=\"\"\n" );
aMetadataStream.append( " xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n" );
- if( m_aDocInfo.Producer.Len() )
+ if( m_aContext.DocumentInfo.Producer.Len() )
{
aMetadataStream.append( " <pdf:Producer>" );
rtl::OUString aProducer;
- escapeStringXML( m_aDocInfo.Producer, aProducer );
+ escapeStringXML( m_aContext.DocumentInfo.Producer, aProducer );
aMetadataStream.append( OUStringToOString( aProducer , RTL_TEXTENCODING_UTF8 ) );
aMetadataStream.append( "</pdf:Producer>\n" );
}
- if( m_aDocInfo.Keywords.Len() )
+ if( m_aContext.DocumentInfo.Keywords.Len() )
{
aMetadataStream.append( " <pdf:Keywords>" );
rtl::OUString aKeywords;
- escapeStringXML( m_aDocInfo.Keywords, aKeywords );
+ escapeStringXML( m_aContext.DocumentInfo.Keywords, aKeywords );
aMetadataStream.append( OUStringToOString( aKeywords , RTL_TEXTENCODING_UTF8 ) );
aMetadataStream.append( "</pdf:Keywords>\n" );
}
@@ -6355,11 +6377,11 @@ sal_Int32 PDFWriterImpl::emitDocumentMetadata()
aMetadataStream.append( " <rdf:Description rdf:about=\"\"\n" );
aMetadataStream.append( " xmlns:xmp=\"http://ns.adobe.com/xap/1.0/\">\n" );
- if( m_aDocInfo.Creator.Len() )
+ if( m_aContext.DocumentInfo.Creator.Len() )
{
aMetadataStream.append( " <xmp:CreatorTool>" );
rtl::OUString aCreator;
- escapeStringXML( m_aDocInfo.Creator, aCreator );
+ escapeStringXML( m_aContext.DocumentInfo.Creator, aCreator );
aMetadataStream.append( OUStringToOString( aCreator , RTL_TEXTENCODING_UTF8 ) );
aMetadataStream.append( "</xmp:CreatorTool>\n" );
}
@@ -6415,7 +6437,7 @@ bool PDFWriterImpl::emitTrailer()
sal_Int32 nSecObject = 0;
- if( m_aContext.Encrypt == true )
+ if( m_aContext.Encryption.Encrypt() )
{
//emit the security information
//must be emitted as indirect dictionary object, since
@@ -6429,16 +6451,16 @@ bool PDFWriterImpl::emitTrailer()
aLineS.append( " 0 obj\n"
"<</Filter/Standard/V " );
// check the version
- if( m_aContext.Security128bit == true )
+ if( m_aContext.Encryption.Security128bit )
aLineS.append( "2/Length 128/R 3" );
else
aLineS.append( "1/R 2" );
// emit the owner password, must not be encrypted
aLineS.append( "/O(" );
- appendLiteralString( (const sal_Char*)m_nEncryptedOwnerPassword, 32, aLineS );
+ appendLiteralString( (const sal_Char*)&m_aContext.Encryption.OValue[0], sal_Int32(m_aContext.Encryption.OValue.size()), aLineS );
aLineS.append( ")/U(" );
- appendLiteralString( (const sal_Char*)m_nEncryptedUserPassword, 32, aLineS );
+ appendLiteralString( (const sal_Char*)&m_aContext.Encryption.UValue[0], sal_Int32(m_aContext.Encryption.UValue.size()), aLineS );
aLineS.append( ")/P " );// the permission set
aLineS.append( m_nAccessPermissions );
aLineS.append( ">>\nendobj\n\n" );
@@ -6504,13 +6526,21 @@ bool PDFWriterImpl::emitTrailer()
aLine.append( nDocInfoObject );
aLine.append( " 0 R\n" );
}
- if( m_aDocID.getLength() )
+ if( ! m_aContext.Encryption.DocumentIdentifier.empty() )
{
aLine.append( "/ID [ <" );
- aLine.append( m_aDocID.getStr(), m_aDocID.getLength() );
+ for( std::vector< sal_uInt8 >::const_iterator it = m_aContext.Encryption.DocumentIdentifier.begin();
+ it != m_aContext.Encryption.DocumentIdentifier.end(); ++it )
+ {
+ appendHex( sal_Int8(*it), aLine );
+ }
aLine.append( ">\n"
"<" );
- aLine.append( m_aDocID.getStr(), m_aDocID.getLength() );
+ for( std::vector< sal_uInt8 >::const_iterator it = m_aContext.Encryption.DocumentIdentifier.begin();
+ it != m_aContext.Encryption.DocumentIdentifier.end(); ++it )
+ {
+ appendHex( sal_Int8(*it), aLine );
+ }
aLine.append( "> ]\n" );
}
if( aDocChecksum.getLength() )
@@ -7403,7 +7433,14 @@ void PDFWriterImpl::drawLayout( SalLayout& rLayout, const String& rText, bool bT
// try to handle ligatures and such
if( i < nGlyphs-1 )
{
- pUnicodesPerGlyph[i] = nChars = pCharPosAry[i+1] - pCharPosAry[i];
+ nChars = pCharPosAry[i+1] - pCharPosAry[i];
+ // #i115618# fix for simple RTL+CTL cases
+ // TODO: sanitize for RTL ligatures, more complex CTL, etc.
+ if( nChars < 0 )
+ nChars = -nChars;
+ else if( nChars == 0 )
+ nChars = 1;
+ pUnicodesPerGlyph[i] = nChars;
for( int n = 1; n < nChars; n++ )
aUnicodes.push_back( rText.GetChar( sal::static_int_cast<xub_StrLen>(pCharPosAry[i]+n) ) );
}
@@ -9661,7 +9698,7 @@ bool PDFWriterImpl::writeBitmapObject( BitmapEmit& rObject, bool bMask )
aLine.append( "[ /Indexed/DeviceRGB " );
aLine.append( (sal_Int32)(pAccess->GetPaletteEntryCount()-1) );
aLine.append( "\n<" );
- if( m_aContext.Encrypt )
+ if( m_aContext.Encryption.Encrypt() )
{
enableStringEncryption( rObject.m_nObject );
//check encryption buffer size
@@ -12047,268 +12084,5 @@ void PDFWriterImpl::addStream( const String& rMimeType, PDFOutputStream* pStream
}
}
-/*************************************************************
-begin i12626 methods
-
-Implements Algorithm 3.2, step 1 only
-*/
-void PDFWriterImpl::padPassword( rtl::OUString aPassword, sal_uInt8 *paPasswordTarget )
-{
-// get ansi-1252 version of the password string CHECKIT ! i12626
- rtl::OString aString = rtl::OUStringToOString( aPassword, RTL_TEXTENCODING_MS_1252 );
-
-//copy the string to the target
- sal_Int32 nToCopy = ( aString.getLength() < 32 ) ? aString.getLength() : 32;
- sal_Int32 nCurrentChar;
-
- for( nCurrentChar = 0; nCurrentChar < nToCopy; nCurrentChar++ )
- paPasswordTarget[nCurrentChar] = (sal_uInt8)( aString.getStr()[nCurrentChar] );
-
-//pad it
- if( nCurrentChar < 32 )
- {//fill with standard byte string
- sal_Int32 i,y;
- for( i = nCurrentChar, y = 0 ; i < 32; i++, y++ )
- paPasswordTarget[i] = m_nPadString[y];
- }
-}
-
-/**********************************
-Algorithm 3.2 Compute the encryption key used
-
-step 1 should already be done before calling, the paThePaddedPassword parameter should contain
-the padded password and must be 32 byte long, the encryption key is returned into the paEncryptionKey parameter,
-it will be 16 byte long for 128 bit security; for 40 bit security only the first 5 bytes are used
-
-TODO: in pdf ver 1.5 and 1.6 the step 6 is different, should be implemented. See spec.
-
-*/
-void PDFWriterImpl::computeEncryptionKey(sal_uInt8 *paThePaddedPassword, sal_uInt8 *paEncryptionKey )
-{
-//step 2
- if( m_aDigest )
- {
- rtlDigestError nError = rtl_digest_updateMD5( m_aDigest, paThePaddedPassword, ENCRYPTED_PWD_SIZE );
-//step 3
- if( nError == rtl_Digest_E_None )
- nError = rtl_digest_updateMD5( m_aDigest, m_nEncryptedOwnerPassword , sizeof( m_nEncryptedOwnerPassword ) );
-//Step 4
- sal_uInt8 nPerm[4];
-
- nPerm[0] = (sal_uInt8)m_nAccessPermissions;
- nPerm[1] = (sal_uInt8)( m_nAccessPermissions >> 8 );
- nPerm[2] = (sal_uInt8)( m_nAccessPermissions >> 16 );
- nPerm[3] = (sal_uInt8)( m_nAccessPermissions >> 24 );
-
- if( nError == rtl_Digest_E_None )
- nError = rtl_digest_updateMD5( m_aDigest, nPerm , sizeof( nPerm ) );
-
-//step 5, get the document ID, binary form
- if( nError == rtl_Digest_E_None )
- nError = rtl_digest_updateMD5( m_aDigest, m_nDocID , sizeof( m_nDocID ) );
-//get the digest
- sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
- if( nError == rtl_Digest_E_None )
- {
- rtl_digest_getMD5( m_aDigest, nMD5Sum, sizeof( nMD5Sum ) );
-
-//step 6, only if 128 bit
- if( m_aContext.Security128bit )
- {
- for( sal_Int32 i = 0; i < 50; i++ )
- {
- nError = rtl_digest_updateMD5( m_aDigest, &nMD5Sum, sizeof( nMD5Sum ) );
- if( nError != rtl_Digest_E_None )
- break;
- rtl_digest_getMD5( m_aDigest, nMD5Sum, sizeof( nMD5Sum ) );
- }
- }
- }
-//Step 7
- for( sal_Int32 i = 0; i < MD5_DIGEST_SIZE; i++ )
- paEncryptionKey[i] = nMD5Sum[i];
- }
-}
-
-/**********************************
-Algorithm 3.3 Compute the encryption dictionary /O value, save into the class data member
-the step numbers down here correspond to the ones in PDF v.1.4 specfication
-*/
-void PDFWriterImpl::computeODictionaryValue()
-{
-//step 1 already done, data is in m_nPaddedOwnerPassword
-//step 2
- if( m_aDigest )
- {
- rtlDigestError nError = rtl_digest_updateMD5( m_aDigest, &m_nPaddedOwnerPassword, sizeof( m_nPaddedOwnerPassword ) );
- if( nError == rtl_Digest_E_None )
- {
- sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
-
- rtl_digest_getMD5( m_aDigest, nMD5Sum, sizeof(nMD5Sum) );
-//step 3, only if 128 bit
- if( m_aContext.Security128bit )
- {
- sal_Int32 i;
- for( i = 0; i < 50; i++ )
- {
- nError = rtl_digest_updateMD5( m_aDigest, nMD5Sum, sizeof( nMD5Sum ) );
- if( nError != rtl_Digest_E_None )
- break;
- rtl_digest_getMD5( m_aDigest, nMD5Sum, sizeof( nMD5Sum ) );
- }
- }
-//Step 4, the key is in nMD5Sum
-//step 5 already done, data is in m_nPaddedUserPassword
-//step 6
- rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode,
- nMD5Sum, m_nKeyLength , NULL, 0 );
-// encrypt the user password using the key set above
- rtl_cipher_encodeARCFOUR( m_aCipher, m_nPaddedUserPassword, sizeof( m_nPaddedUserPassword ), // the data to be encrypted
- m_nEncryptedOwnerPassword, sizeof( m_nEncryptedOwnerPassword ) ); //encrypted data, stored in class data member
-//Step 7, only if 128 bit
- if( m_aContext.Security128bit )
- {
- sal_uInt32 i, y;
- sal_uInt8 nLocalKey[ SECUR_128BIT_KEY ]; // 16 = 128 bit key
- for( i = 1; i <= 19; i++ ) // do it 19 times, start with 1
- {
- for( y = 0; y < sizeof( nLocalKey ); y++ )
- nLocalKey[y] = (sal_uInt8)( nMD5Sum[y] ^ i );
-
- rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode,
- nLocalKey, SECUR_128BIT_KEY, NULL, 0 ); //destination data area, on init can be NULL
- rtl_cipher_encodeARCFOUR( m_aCipher, m_nEncryptedOwnerPassword, sizeof( m_nEncryptedOwnerPassword ), // the data to be encrypted
- m_nEncryptedOwnerPassword, sizeof( m_nEncryptedOwnerPassword ) ); // encrypted data, can be the same as the input, encrypt "in place"
-//step 8, store in class data member
- }
- }
- }
- }
-}
-
-/**********************************
-Algorithms 3.4 and 3.5 Compute the encryption dictionary /U value, save into the class data member, revision 2 (40 bit) or 3 (128 bit)
-*/
-void PDFWriterImpl::computeUDictionaryValue()
-{
-//step 1, common to both 3.4 and 3.5
- computeEncryptionKey( m_nPaddedUserPassword , m_nEncryptionKey );
-
- if( m_aContext.Security128bit == false )
- {
-//3.4
-//step 2 and 3
- rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode,
- m_nEncryptionKey, 5 , // key and key length
- NULL, 0 ); //destination data area
-// encrypt the user password using the key set above, save for later use
- rtl_cipher_encodeARCFOUR( m_aCipher, m_nPadString, sizeof( m_nPadString ), // the data to be encrypted
- m_nEncryptedUserPassword, sizeof( m_nEncryptedUserPassword ) ); //encrypted data, stored in class data member
- }
- else
- {
-//or 3.5, for 128 bit security
-//step6, initilize the last 16 bytes of the encrypted user password to 0
- for(sal_uInt32 i = MD5_DIGEST_SIZE; i < sizeof( m_nEncryptedUserPassword ); i++)
- m_nEncryptedUserPassword[i] = 0;
-//step 2
- if( m_aDigest )
- {
- rtlDigestError nError = rtl_digest_updateMD5( m_aDigest, m_nPadString, sizeof( m_nPadString ) );
-//step 3
- if( nError == rtl_Digest_E_None )
- nError = rtl_digest_updateMD5( m_aDigest, m_nDocID , sizeof(m_nDocID) );
-
- sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
- rtl_digest_getMD5( m_aDigest, nMD5Sum, sizeof(nMD5Sum) );
-//Step 4
- rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode,
- m_nEncryptionKey, SECUR_128BIT_KEY, NULL, 0 ); //destination data area
- rtl_cipher_encodeARCFOUR( m_aCipher, nMD5Sum, sizeof( nMD5Sum ), // the data to be encrypted
- m_nEncryptedUserPassword, sizeof( nMD5Sum ) ); //encrypted data, stored in class data member
-//step 5
- sal_uInt32 i, y;
- sal_uInt8 nLocalKey[SECUR_128BIT_KEY];
-
- for( i = 1; i <= 19; i++ ) // do it 19 times, start with 1
- {
- for( y = 0; y < sizeof( nLocalKey ) ; y++ )
- nLocalKey[y] = (sal_uInt8)( m_nEncryptionKey[y] ^ i );
-
- rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode,
- nLocalKey, SECUR_128BIT_KEY, // key and key length
- NULL, 0 ); //destination data area, on init can be NULL
- rtl_cipher_encodeARCFOUR( m_aCipher, m_nEncryptedUserPassword, SECUR_128BIT_KEY, // the data to be encrypted
- m_nEncryptedUserPassword, SECUR_128BIT_KEY ); // encrypted data, can be the same as the input, encrypt "in place"
- }
- }
- }
-}
-
-/* init the encryption engine
-1. init the document id, used both for building the document id and for building the encryption key(s)
-2. build the encryption key following algorithms described in the PDF specification
- */
-void PDFWriterImpl::initEncryption()
-{
- m_aOwnerPassword = m_aContext.OwnerPassword;
- m_aUserPassword = m_aContext.UserPassword;
-/* password stuff computing, before sending out anything */
- DBG_ASSERT( m_aCipher != NULL, "PDFWriterImpl::initEncryption: a cipher (ARCFOUR) object is not available !" );
- DBG_ASSERT( m_aDigest != NULL, "PDFWriterImpl::initEncryption: a digest (MD5) object is not available !" );
-
- if( m_aCipher && m_aDigest )
- {
-//if there is no owner password, force it to the user password
- if( m_aOwnerPassword.getLength() == 0 )
- m_aOwnerPassword = m_aUserPassword;
-
- initPadString();
-/*
-1) pad passwords
-*/
- padPassword( m_aOwnerPassword, m_nPaddedOwnerPassword );
- padPassword( m_aUserPassword, m_nPaddedUserPassword );
-/*
-2) compute the access permissions, in numerical form
-
-the default value depends on the revision 2 (40 bit) or 3 (128 bit security):
-- for 40 bit security the unused bit must be set to 1, since they are not used
-- for 128 bit security the same bit must be preset to 0 and set later if needed
-according to the table 3.15, pdf v 1.4 */
- m_nAccessPermissions = ( m_aContext.Security128bit ) ? 0xfffff0c0 : 0xffffffc0 ;
-
-/* check permissions for 40 bit security case */
- m_nAccessPermissions |= ( m_aContext.AccessPermissions.CanPrintTheDocument ) ? 1 << 2 : 0;
- m_nAccessPermissions |= ( m_aContext.AccessPermissions.CanModifyTheContent ) ? 1 << 3 : 0;
- m_nAccessPermissions |= ( m_aContext.AccessPermissions.CanCopyOrExtract ) ? 1 << 4 : 0;
- m_nAccessPermissions |= ( m_aContext.AccessPermissions.CanAddOrModify ) ? 1 << 5 : 0;
- m_nKeyLength = SECUR_40BIT_KEY;
- m_nRC4KeyLength = SECUR_40BIT_KEY+5; // for this value see PDF spec v 1.4, algorithm 3.1 step 4, where n is 5
-
- if( m_aContext.Security128bit )
- {
- m_nKeyLength = SECUR_128BIT_KEY;
- m_nRC4KeyLength = 16; // for this value see PDF spec v 1.4, algorithm 3.1 step 4, where n is 16, thus maximum
- // permitted value is 16
- m_nAccessPermissions |= ( m_aContext.AccessPermissions.CanFillInteractive ) ? 1 << 8 : 0;
- m_nAccessPermissions |= ( m_aContext.AccessPermissions.CanExtractForAccessibility ) ? 1 << 9 : 0;
- m_nAccessPermissions |= ( m_aContext.AccessPermissions.CanAssemble ) ? 1 << 10 : 0;
- m_nAccessPermissions |= ( m_aContext.AccessPermissions.CanPrintFull ) ? 1 << 11 : 0;
- }
- computeODictionaryValue();
- computeUDictionaryValue();
-
-//clear out exceding key values, prepares for generation number default to 0 as well
-// see checkAndEnableStreamEncryption in pdfwriter_impl.hxx
- sal_Int32 i, y;
- for( i = m_nKeyLength, y = 0; y < 5 ; y++ )
- m_nEncryptionKey[i++] = 0;
- }
- else //either no cipher or no digest or both, something is wrong with memory or something else
- m_aContext.Encrypt = false; //then turn the encryption off
-}
-/* end i12626 methods */
diff --git a/vcl/source/gdi/pdfwriter_impl.hxx b/vcl/source/gdi/pdfwriter_impl.hxx
index a4b50b0bd3c1..d39902bea7fb 100644
--- a/vcl/source/gdi/pdfwriter_impl.hxx
+++ b/vcl/source/gdi/pdfwriter_impl.hxx
@@ -58,6 +58,7 @@ class ImplFontSelectData;
class ImplFontMetricData;
class FontSubsetInfo;
class ZCodec;
+class EncHashTransporter;
// the maximum password length
#define ENCRYPTED_PWD_SIZE 32
@@ -595,7 +596,6 @@ private:
MapMode m_aMapMode; // PDFWriterImpl scaled units
std::vector< PDFPage > m_aPages;
- PDFDocInfo m_aDocInfo;
/* maps object numbers to file offsets (needed for xref) */
std::vector< sal_uInt64 > m_aObjects;
/* contains Bitmaps until they are written to the
@@ -796,116 +796,37 @@ i12626
/* used to cipher the stream data and for password management */
rtlCipher m_aCipher;
rtlDigest m_aDigest;
-/* pad string used for password in Standard security handler */
- sal_uInt8 m_nPadString[ENCRYPTED_PWD_SIZE];
-/* the owner password, in clear text */
- rtl::OUString m_aOwnerPassword;
-/* the padded owner password */
- sal_uInt8 m_nPaddedOwnerPassword[ENCRYPTED_PWD_SIZE];
-/* the encryption dictionary owner password, according to algorithm 3.3 */
- sal_uInt8 m_nEncryptedOwnerPassword[ENCRYPTED_PWD_SIZE];
-/* the user password, in clear text */
- rtl::OUString m_aUserPassword;
-/* the padded user password */
- sal_uInt8 m_nPaddedUserPassword[ENCRYPTED_PWD_SIZE];
-/* the encryption dictionary user password, according to algorithm 3.4 or 3.5 depending on the
- security handler revision */
- sal_uInt8 m_nEncryptedUserPassword[ENCRYPTED_PWD_SIZE];
-
-/* the encryption key, formed with the user password according to algorithm 3.2, maximum length is 16 bytes + 3 + 2
- for 128 bit security */
- sal_uInt8 m_nEncryptionKey[MAXIMUM_RC4_KEY_LENGTH];
+ /* pad string used for password in Standard security handler */
+ static const sal_uInt8 s_nPadString[ENCRYPTED_PWD_SIZE];
+
+ /* the encryption key, formed with the user password according to algorithm 3.2, maximum length is 16 bytes + 3 + 2
+ for 128 bit security */
sal_Int32 m_nKeyLength; // key length, 16 or 5
sal_Int32 m_nRC4KeyLength; // key length, 16 or 10, to be input to the algorith 3.1
-/* set to true if the following stream must be encrypted, used inside writeBuffer() */
+ /* set to true if the following stream must be encrypted, used inside writeBuffer() */
sal_Bool m_bEncryptThisStream;
-/* the numerical value of the access permissions, according to PDF spec, must be signed */
+ /* the numerical value of the access permissions, according to PDF spec, must be signed */
sal_Int32 m_nAccessPermissions;
-/* the document ID, the raw MD5 hash */
- sal_uInt8 m_nDocID[MD5_DIGEST_SIZE];
-/* string buffer to hold document ID, this is the output string */
- rtl::OStringBuffer m_aDocID;
-/* string to hold the PDF creation date */
- rtl::OStringBuffer m_aCreationDateString;
-/* string to hold the PDF creation date, for PDF/A metadata */
- rtl::OStringBuffer m_aCreationMetaDateString;
-/* the buffer where the data are encrypted, dynamically allocated */
+ /* string to hold the PDF creation date */
+ rtl::OString m_aCreationDateString;
+ /* string to hold the PDF creation date, for PDF/A metadata */
+ rtl::OString m_aCreationMetaDateString;
+ /* the buffer where the data are encrypted, dynamically allocated */
sal_uInt8 *m_pEncryptionBuffer;
-/* size of the buffer */
+ /* size of the buffer */
sal_Int32 m_nEncryptionBufferSize;
-/* check and reallocate the buffer for encryption */
- sal_Bool checkEncryptionBufferSize( register sal_Int32 newSize )
- {
- if( m_nEncryptionBufferSize < newSize )
- {
-/* reallocate the buffer, the used function allocate as rtl_allocateMemory
- if the pointer parameter is NULL */
- m_pEncryptionBuffer = (sal_uInt8*)rtl_reallocateMemory( m_pEncryptionBuffer, newSize );
- if( m_pEncryptionBuffer )
- m_nEncryptionBufferSize = newSize;
- else
- m_nEncryptionBufferSize = 0;
- }
- return ( m_nEncryptionBufferSize != 0 );
- }
-/* init the internal pad string */
- void initPadString()
- {
- static const sal_uInt8 nPadString[32] =
- {
- 0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08,
- 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A
- };
-
- for(sal_uInt32 i = 0; i < sizeof( nPadString ); i++ )
- m_nPadString[i] = nPadString[i];
-
- };
-/* initialize the encryption engine */
- void initEncryption();
-
-/* this function implements part of the PDF spec algorithm 3.1 in encryption, the rest (the actual encryption) is in PDFWriterImpl::writeBuffer */
- void checkAndEnableStreamEncryption( register sal_Int32 nObject )
- {
- if( m_aContext.Encrypt )
- {
- m_bEncryptThisStream = true;
- register sal_Int32 i = m_nKeyLength;
- m_nEncryptionKey[i++] = (sal_uInt8)nObject;
- m_nEncryptionKey[i++] = (sal_uInt8)( nObject >> 8 );
- m_nEncryptionKey[i++] = (sal_uInt8)( nObject >> 16 );
-//the other location of m_nEncryptionKey are already set to 0, our fixed generation number
-// do the MD5 hash
- sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
- // the i+2 to take into account the generation number, always zero
- rtl_digest_MD5( &m_nEncryptionKey, i+2, nMD5Sum, sizeof(nMD5Sum) );
-// initialize the RC4 with the key
-// key legth: see algoritm 3.1, step 4: (N+5) max 16
- rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode, nMD5Sum, m_nRC4KeyLength, NULL, 0 );
- }
- };
+ /* check and reallocate the buffer for encryption */
+ sal_Bool checkEncryptionBufferSize( register sal_Int32 newSize );
+ /* this function implements part of the PDF spec algorithm 3.1 in encryption, the rest (the actual encryption) is in PDFWriterImpl::writeBuffer */
+ void checkAndEnableStreamEncryption( register sal_Int32 nObject );
void disableStreamEncryption() { m_bEncryptThisStream = false; };
-/* */
- void enableStringEncryption( register sal_Int32 nObject )
- {
- register sal_Int32 i = m_nKeyLength;
- m_nEncryptionKey[i++] = (sal_uInt8)nObject;
- m_nEncryptionKey[i++] = (sal_uInt8)( nObject >> 8 );
- m_nEncryptionKey[i++] = (sal_uInt8)( nObject >> 16 );
-//the other location of m_nEncryptionKey are already set to 0, our fixed generation number
-// do the MD5 hash
- sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
- // the i+2 to take into account the generation number, always zero
- rtl_digest_MD5( &m_nEncryptionKey, i+2, nMD5Sum, sizeof(nMD5Sum) );
-// initialize the RC4 with the key
-// key legth: see algoritm 3.1, step 4: (N+5) max 16
- rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode, nMD5Sum, m_nRC4KeyLength, NULL, 0 );
- };
+ /* */
+ void enableStringEncryption( register sal_Int32 nObject );
// test if the encryption is active, if yes than encrypt the unicode string and add to the OStringBuffer parameter
void appendUnicodeTextStringEncrypt( const rtl::OUString& rInString, const sal_Int32 nInObjectNumber, rtl::OStringBuffer& rOutBuffer );
@@ -1097,18 +1018,38 @@ i12626
sal_Bool m_bIsPDF_A1;
PDFWriter& m_rOuterFace;
-/*
-i12626
-methods for PDF security
-
- pad a password according algorithm 3.2, step 1 */
- void padPassword( const rtl::OUString aPassword, sal_uInt8 *paPasswordTarget );
-/* algorithm 3.2: compute an encryption key */
- void computeEncryptionKey( sal_uInt8 *paThePaddedPassword, sal_uInt8 *paEncryptionKey );
-/* algorithm 3.3: computing the encryption dictionary'ss owner password value ( /O ) */
- void computeODictionaryValue();
-/* algorithm 3.4 or 3.5: computing the encryption dictionary's user password value ( /U ) revision 2 or 3 of the standard security handler */
- void computeUDictionaryValue();
+ /*
+ i12626
+ methods for PDF security
+
+ pad a password according algorithm 3.2, step 1 */
+ static void padPassword( const rtl::OUString& i_rPassword, sal_uInt8* o_pPaddedPW );
+ /* algorithm 3.2: compute an encryption key */
+ static bool computeEncryptionKey( EncHashTransporter*,
+ vcl::PDFWriter::PDFEncryptionProperties& io_rProperties,
+ sal_Int32 i_nAccessPermissions
+ );
+ /* algorithm 3.3: computing the encryption dictionary'ss owner password value ( /O ) */
+ static bool computeODictionaryValue( const sal_uInt8* i_pPaddedOwnerPassword, const sal_uInt8* i_pPaddedUserPassword,
+ std::vector< sal_uInt8 >& io_rOValue,
+ sal_Int32 i_nKeyLength
+ );
+ /* algorithm 3.4 or 3.5: computing the encryption dictionary's user password value ( /U ) revision 2 or 3 of the standard security handler */
+ static bool computeUDictionaryValue( EncHashTransporter* i_pTransporter,
+ vcl::PDFWriter::PDFEncryptionProperties& io_rProperties,
+ sal_Int32 i_nKeyLength,
+ sal_Int32 i_nAccessPermissions
+ );
+
+ static void computeDocumentIdentifier( std::vector< sal_uInt8 >& o_rIdentifier,
+ const vcl::PDFWriter::PDFDocInfo& i_rDocInfo,
+ rtl::OString& o_rCString1,
+ rtl::OString& o_rCString2
+ );
+ static sal_Int32 computeAccessPermissions( const vcl::PDFWriter::PDFEncryptionProperties& i_rProperties,
+ sal_Int32& o_rKeyLength, sal_Int32& o_rRC4KeyLength );
+ void setupDocInfo();
+ bool prepareEncryption( const com::sun::star::uno::Reference< com::sun::star::beans::XMaterialHolder >& );
// helper for playMetafile
void implWriteGradient( const PolyPolygon& rPolyPoly, const Gradient& rGradient,
@@ -1117,9 +1058,14 @@ methods for PDF security
VirtualDevice* pDummyVDev, const vcl::PDFWriter::PlayMetafileContext& );
public:
- PDFWriterImpl( const PDFWriter::PDFWriterContext& rContext, PDFWriter& );
+ PDFWriterImpl( const PDFWriter::PDFWriterContext& rContext, const com::sun::star::uno::Reference< com::sun::star::beans::XMaterialHolder >&, PDFWriter& );
~PDFWriterImpl();
+ static com::sun::star::uno::Reference< com::sun::star::beans::XMaterialHolder >
+ initEncryption( const rtl::OUString& i_rOwnerPassword,
+ const rtl::OUString& i_rUserPassword,
+ bool b128Bit );
+
/* for OutputDevice so the reference device can have a list
* that contains only suitable fonts (subsettable or builtin)
* produces a new font list
@@ -1152,8 +1098,6 @@ public:
}
PDFWriter::PDFVersion getVersion() const { return m_aContext.Version; }
- void setDocInfo( const PDFDocInfo& rInfo );
- const PDFDocInfo& getDocInfo() const { return m_aDocInfo; }
void setDocumentLocale( const com::sun::star::lang::Locale& rLoc )
{ m_aContext.DocumentLocale = rLoc; }
diff --git a/vcl/source/gdi/pdfwriter_impl2.cxx b/vcl/source/gdi/pdfwriter_impl2.cxx
index 0f11310572e6..52d597d91c17 100644
--- a/vcl/source/gdi/pdfwriter_impl2.cxx
+++ b/vcl/source/gdi/pdfwriter_impl2.cxx
@@ -28,6 +28,7 @@
#include "precompiled_vcl.hxx"
#include "pdfwriter_impl.hxx"
+
#include "vcl/pdfextoutdevdata.hxx"
#include "vcl/virdev.hxx"
#include "vcl/gdimtf.hxx"
@@ -36,12 +37,16 @@
#include "vcl/svdata.hxx"
#include "unotools/streamwrap.hxx"
#include "unotools/processfactory.hxx"
-
#include "comphelper/processfactory.hxx"
+
#include "com/sun/star/beans/PropertyValue.hpp"
#include "com/sun/star/io/XSeekable.hpp"
#include "com/sun/star/graphic/XGraphicProvider.hpp"
+#include "cppuhelper/implbase1.hxx"
+
+#include <rtl/digest.h>
+
using namespace vcl;
using namespace rtl;
using namespace com::sun::star;
@@ -1032,4 +1037,504 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& i_rMtf, vcl::PDFExtOutDevDa
delete pPrivateDevice;
}
+// Encryption methods
+
+/* a crutch to transport an rtlDigest safely though UNO API
+ this is needed for the PDF export dialog, which otherwise would have to pass
+ clear text passwords down till they can be used in PDFWriter. Unfortunately
+ the MD5 sum of the password (which is needed to create the PDF encryption key)
+ is not sufficient, since an rtl MD5 digest cannot be created in an arbitrary state
+ which would be needed in PDFWriterImpl::computeEncryptionKey.
+*/
+class EncHashTransporter : public cppu::WeakImplHelper1 < com::sun::star::beans::XMaterialHolder >
+{
+ rtlDigest maUDigest;
+ sal_IntPtr maID;
+ std::vector< sal_uInt8 > maOValue;
+
+ static std::map< sal_IntPtr, EncHashTransporter* > sTransporters;
+public:
+ EncHashTransporter()
+ : maUDigest( rtl_digest_createMD5() )
+ {
+ maID = reinterpret_cast< sal_IntPtr >(this);
+ while( sTransporters.find( maID ) != sTransporters.end() ) // paranoia mode
+ maID++;
+ sTransporters[ maID ] = this;
+ }
+
+ virtual ~EncHashTransporter()
+ {
+ sTransporters.erase( maID );
+ if( maUDigest )
+ rtl_digest_destroyMD5( maUDigest );
+ OSL_TRACE( "EncHashTransporter freed\n" );
+ }
+
+ rtlDigest getUDigest() const { return maUDigest; };
+ std::vector< sal_uInt8 >& getOValue() { return maOValue; }
+ void invalidate()
+ {
+ if( maUDigest )
+ {
+ rtl_digest_destroyMD5( maUDigest );
+ maUDigest = NULL;
+ }
+ }
+
+ // XMaterialHolder
+ virtual uno::Any SAL_CALL getMaterial() throw()
+ {
+ return uno::makeAny( sal_Int64(maID) );
+ }
+
+ static EncHashTransporter* getEncHashTransporter( const uno::Reference< beans::XMaterialHolder >& );
+
+};
+
+std::map< sal_IntPtr, EncHashTransporter* > EncHashTransporter::sTransporters;
+
+EncHashTransporter* EncHashTransporter::getEncHashTransporter( const uno::Reference< beans::XMaterialHolder >& xRef )
+{
+ EncHashTransporter* pResult = NULL;
+ if( xRef.is() )
+ {
+ uno::Any aMat( xRef->getMaterial() );
+ sal_Int64 nMat = 0;
+ if( aMat >>= nMat )
+ {
+ std::map< sal_IntPtr, EncHashTransporter* >::iterator it = sTransporters.find( static_cast<sal_IntPtr>(nMat) );
+ if( it != sTransporters.end() )
+ pResult = it->second;
+ }
+ }
+ return pResult;
+}
+
+sal_Bool PDFWriterImpl::checkEncryptionBufferSize( register sal_Int32 newSize )
+{
+ if( m_nEncryptionBufferSize < newSize )
+ {
+ /* reallocate the buffer, the used function allocate as rtl_allocateMemory
+ if the pointer parameter is NULL */
+ m_pEncryptionBuffer = (sal_uInt8*)rtl_reallocateMemory( m_pEncryptionBuffer, newSize );
+ if( m_pEncryptionBuffer )
+ m_nEncryptionBufferSize = newSize;
+ else
+ m_nEncryptionBufferSize = 0;
+ }
+ return ( m_nEncryptionBufferSize != 0 );
+}
+
+void PDFWriterImpl::checkAndEnableStreamEncryption( register sal_Int32 nObject )
+{
+ if( m_aContext.Encryption.Encrypt() )
+ {
+ m_bEncryptThisStream = true;
+ sal_Int32 i = m_nKeyLength;
+ m_aContext.Encryption.EncryptionKey[i++] = (sal_uInt8)nObject;
+ m_aContext.Encryption.EncryptionKey[i++] = (sal_uInt8)( nObject >> 8 );
+ m_aContext.Encryption.EncryptionKey[i++] = (sal_uInt8)( nObject >> 16 );
+ //the other location of m_nEncryptionKey are already set to 0, our fixed generation number
+ // do the MD5 hash
+ sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
+ // the i+2 to take into account the generation number, always zero
+ rtl_digest_MD5( &m_aContext.Encryption.EncryptionKey[0], i+2, nMD5Sum, sizeof(nMD5Sum) );
+ // initialize the RC4 with the key
+ // key legth: see algoritm 3.1, step 4: (N+5) max 16
+ rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode, nMD5Sum, m_nRC4KeyLength, NULL, 0 );
+ }
+}
+
+void PDFWriterImpl::enableStringEncryption( register sal_Int32 nObject )
+{
+ if( m_aContext.Encryption.Encrypt() )
+ {
+ sal_Int32 i = m_nKeyLength;
+ m_aContext.Encryption.EncryptionKey[i++] = (sal_uInt8)nObject;
+ m_aContext.Encryption.EncryptionKey[i++] = (sal_uInt8)( nObject >> 8 );
+ m_aContext.Encryption.EncryptionKey[i++] = (sal_uInt8)( nObject >> 16 );
+ //the other location of m_nEncryptionKey are already set to 0, our fixed generation number
+ // do the MD5 hash
+ sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
+ // the i+2 to take into account the generation number, always zero
+ rtl_digest_MD5( &m_aContext.Encryption.EncryptionKey[0], i+2, nMD5Sum, sizeof(nMD5Sum) );
+ // initialize the RC4 with the key
+ // key legth: see algoritm 3.1, step 4: (N+5) max 16
+ rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode, nMD5Sum, m_nRC4KeyLength, NULL, 0 );
+ }
+}
+
+/* init the encryption engine
+1. init the document id, used both for building the document id and for building the encryption key(s)
+2. build the encryption key following algorithms described in the PDF specification
+ */
+uno::Reference< beans::XMaterialHolder > PDFWriterImpl::initEncryption( const rtl::OUString& i_rOwnerPassword,
+ const rtl::OUString& i_rUserPassword,
+ bool b128Bit
+ )
+{
+ uno::Reference< beans::XMaterialHolder > xResult;
+ if( i_rOwnerPassword.getLength() || i_rUserPassword.getLength() )
+ {
+ EncHashTransporter* pTransporter = new EncHashTransporter;
+ xResult = pTransporter;
+
+ // get padded passwords
+ sal_uInt8 aPadUPW[ENCRYPTED_PWD_SIZE], aPadOPW[ENCRYPTED_PWD_SIZE];
+ padPassword( i_rOwnerPassword.getLength() ? i_rOwnerPassword : i_rUserPassword, aPadOPW );
+ padPassword( i_rUserPassword, aPadUPW );
+ sal_Int32 nKeyLength = SECUR_40BIT_KEY;
+ if( b128Bit )
+ nKeyLength = SECUR_128BIT_KEY;
+
+ if( computeODictionaryValue( aPadOPW, aPadUPW, pTransporter->getOValue(), nKeyLength ) )
+ {
+ rtlDigest aDig = pTransporter->getUDigest();
+ if( rtl_digest_updateMD5( aDig, aPadUPW, ENCRYPTED_PWD_SIZE ) != rtl_Digest_E_None )
+ xResult.clear();
+ }
+ else
+ xResult.clear();
+
+ // trash temporary padded cleartext PWDs
+ rtl_zeroMemory( aPadOPW, sizeof(aPadOPW) );
+ rtl_zeroMemory( aPadUPW, sizeof(aPadUPW) );
+
+ }
+ return xResult;
+}
+
+bool PDFWriterImpl::prepareEncryption( const uno::Reference< beans::XMaterialHolder >& xEnc )
+{
+ bool bSuccess = false;
+ EncHashTransporter* pTransporter = EncHashTransporter::getEncHashTransporter( xEnc );
+ if( pTransporter )
+ {
+ sal_Int32 nKeyLength = 0, nRC4KeyLength = 0;
+ sal_Int32 nAccessPermissions = computeAccessPermissions( m_aContext.Encryption, nKeyLength, nRC4KeyLength );
+ m_aContext.Encryption.OValue = pTransporter->getOValue();
+ bSuccess = computeUDictionaryValue( pTransporter, m_aContext.Encryption, nKeyLength, nAccessPermissions );
+ }
+ if( ! bSuccess )
+ {
+ m_aContext.Encryption.OValue.clear();
+ m_aContext.Encryption.UValue.clear();
+ m_aContext.Encryption.EncryptionKey.clear();
+ }
+ return bSuccess;
+}
+
+sal_Int32 PDFWriterImpl::computeAccessPermissions( const vcl::PDFWriter::PDFEncryptionProperties& i_rProperties,
+ sal_Int32& o_rKeyLength, sal_Int32& o_rRC4KeyLength )
+{
+ /*
+ 2) compute the access permissions, in numerical form
+
+ the default value depends on the revision 2 (40 bit) or 3 (128 bit security):
+ - for 40 bit security the unused bit must be set to 1, since they are not used
+ - for 128 bit security the same bit must be preset to 0 and set later if needed
+ according to the table 3.15, pdf v 1.4 */
+ sal_Int32 nAccessPermissions = ( i_rProperties.Security128bit ) ? 0xfffff0c0 : 0xffffffc0 ;
+
+ /* check permissions for 40 bit security case */
+ nAccessPermissions |= ( i_rProperties.CanPrintTheDocument ) ? 1 << 2 : 0;
+ nAccessPermissions |= ( i_rProperties.CanModifyTheContent ) ? 1 << 3 : 0;
+ nAccessPermissions |= ( i_rProperties.CanCopyOrExtract ) ? 1 << 4 : 0;
+ nAccessPermissions |= ( i_rProperties.CanAddOrModify ) ? 1 << 5 : 0;
+ o_rKeyLength = SECUR_40BIT_KEY;
+ o_rRC4KeyLength = SECUR_40BIT_KEY+5; // for this value see PDF spec v 1.4, algorithm 3.1 step 4, where n is 5
+
+ if( i_rProperties.Security128bit )
+ {
+ o_rKeyLength = SECUR_128BIT_KEY;
+ o_rRC4KeyLength = 16; // for this value see PDF spec v 1.4, algorithm 3.1 step 4, where n is 16, thus maximum
+ // permitted value is 16
+ nAccessPermissions |= ( i_rProperties.CanFillInteractive ) ? 1 << 8 : 0;
+ nAccessPermissions |= ( i_rProperties.CanExtractForAccessibility ) ? 1 << 9 : 0;
+ nAccessPermissions |= ( i_rProperties.CanAssemble ) ? 1 << 10 : 0;
+ nAccessPermissions |= ( i_rProperties.CanPrintFull ) ? 1 << 11 : 0;
+ }
+ return nAccessPermissions;
+}
+
+/*************************************************************
+begin i12626 methods
+
+Implements Algorithm 3.2, step 1 only
+*/
+void PDFWriterImpl::padPassword( const rtl::OUString& i_rPassword, sal_uInt8* o_pPaddedPW )
+{
+ // get ansi-1252 version of the password string CHECKIT ! i12626
+ rtl::OString aString( rtl::OUStringToOString( i_rPassword, RTL_TEXTENCODING_MS_1252 ) );
+
+ //copy the string to the target
+ sal_Int32 nToCopy = ( aString.getLength() < ENCRYPTED_PWD_SIZE ) ? aString.getLength() : ENCRYPTED_PWD_SIZE;
+ sal_Int32 nCurrentChar;
+
+ for( nCurrentChar = 0; nCurrentChar < nToCopy; nCurrentChar++ )
+ o_pPaddedPW[nCurrentChar] = (sal_uInt8)( aString.getStr()[nCurrentChar] );
+
+ //pad it with standard byte string
+ sal_Int32 i,y;
+ for( i = nCurrentChar, y = 0 ; i < ENCRYPTED_PWD_SIZE; i++, y++ )
+ o_pPaddedPW[i] = s_nPadString[y];
+
+ // trash memory of temporary clear text password
+ rtl_zeroMemory( (sal_Char*)aString.getStr(), aString.getLength() );
+}
+
+/**********************************
+Algorithm 3.2 Compute the encryption key used
+
+step 1 should already be done before calling, the paThePaddedPassword parameter should contain
+the padded password and must be 32 byte long, the encryption key is returned into the paEncryptionKey parameter,
+it will be 16 byte long for 128 bit security; for 40 bit security only the first 5 bytes are used
+
+TODO: in pdf ver 1.5 and 1.6 the step 6 is different, should be implemented. See spec.
+
+*/
+bool PDFWriterImpl::computeEncryptionKey( EncHashTransporter* i_pTransporter, vcl::PDFWriter::PDFEncryptionProperties& io_rProperties, sal_Int32 i_nAccessPermissions )
+{
+ bool bSuccess = true;
+ sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
+
+ // transporter contains an MD5 digest with the padded user password already
+ rtlDigest aDigest = i_pTransporter->getUDigest();
+ rtlDigestError nError = rtl_Digest_E_None;
+ if( aDigest )
+ {
+ //step 3
+ if( ! io_rProperties.OValue.empty() )
+ nError = rtl_digest_updateMD5( aDigest, &io_rProperties.OValue[0] , sal_Int32(io_rProperties.OValue.size()) );
+ else
+ bSuccess = false;
+ //Step 4
+ sal_uInt8 nPerm[4];
+
+ nPerm[0] = (sal_uInt8)i_nAccessPermissions;
+ nPerm[1] = (sal_uInt8)( i_nAccessPermissions >> 8 );
+ nPerm[2] = (sal_uInt8)( i_nAccessPermissions >> 16 );
+ nPerm[3] = (sal_uInt8)( i_nAccessPermissions >> 24 );
+
+ if( nError == rtl_Digest_E_None )
+ nError = rtl_digest_updateMD5( aDigest, nPerm , sizeof( nPerm ) );
+
+ //step 5, get the document ID, binary form
+ if( nError == rtl_Digest_E_None )
+ nError = rtl_digest_updateMD5( aDigest, &io_rProperties.DocumentIdentifier[0], sal_Int32(io_rProperties.DocumentIdentifier.size()) );
+ //get the digest
+ if( nError == rtl_Digest_E_None )
+ {
+ rtl_digest_getMD5( aDigest, nMD5Sum, sizeof( nMD5Sum ) );
+
+ //step 6, only if 128 bit
+ if( io_rProperties.Security128bit )
+ {
+ for( sal_Int32 i = 0; i < 50; i++ )
+ {
+ nError = rtl_digest_updateMD5( aDigest, &nMD5Sum, sizeof( nMD5Sum ) );
+ if( nError != rtl_Digest_E_None )
+ {
+ bSuccess = false;
+ break;
+ }
+ rtl_digest_getMD5( aDigest, nMD5Sum, sizeof( nMD5Sum ) );
+ }
+ }
+ }
+ }
+ else
+ bSuccess = false;
+
+ i_pTransporter->invalidate();
+
+ //Step 7
+ if( bSuccess )
+ {
+ io_rProperties.EncryptionKey.resize( MAXIMUM_RC4_KEY_LENGTH );
+ for( sal_Int32 i = 0; i < MD5_DIGEST_SIZE; i++ )
+ io_rProperties.EncryptionKey[i] = nMD5Sum[i];
+ }
+ else
+ io_rProperties.EncryptionKey.clear();
+
+ return bSuccess;
+}
+
+/**********************************
+Algorithm 3.3 Compute the encryption dictionary /O value, save into the class data member
+the step numbers down here correspond to the ones in PDF v.1.4 specfication
+*/
+bool PDFWriterImpl::computeODictionaryValue( const sal_uInt8* i_pPaddedOwnerPassword,
+ const sal_uInt8* i_pPaddedUserPassword,
+ std::vector< sal_uInt8 >& io_rOValue,
+ sal_Int32 i_nKeyLength
+ )
+{
+ bool bSuccess = true;
+
+ io_rOValue.resize( ENCRYPTED_PWD_SIZE );
+
+ rtlDigest aDigest = rtl_digest_createMD5();
+ rtlCipher aCipher = rtl_cipher_createARCFOUR( rtl_Cipher_ModeStream );
+ if( aDigest && aCipher)
+ {
+ //step 1 already done, data is in i_pPaddedOwnerPassword
+ //step 2
+
+ rtlDigestError nError = rtl_digest_updateMD5( aDigest, i_pPaddedOwnerPassword, ENCRYPTED_PWD_SIZE );
+ if( nError == rtl_Digest_E_None )
+ {
+ sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
+
+ rtl_digest_getMD5( aDigest, nMD5Sum, sizeof(nMD5Sum) );
+//step 3, only if 128 bit
+ if( i_nKeyLength == SECUR_128BIT_KEY )
+ {
+ sal_Int32 i;
+ for( i = 0; i < 50; i++ )
+ {
+ nError = rtl_digest_updateMD5( aDigest, nMD5Sum, sizeof( nMD5Sum ) );
+ if( nError != rtl_Digest_E_None )
+ {
+ bSuccess = false;
+ break;
+ }
+ rtl_digest_getMD5( aDigest, nMD5Sum, sizeof( nMD5Sum ) );
+ }
+ }
+ //Step 4, the key is in nMD5Sum
+ //step 5 already done, data is in i_pPaddedUserPassword
+ //step 6
+ rtl_cipher_initARCFOUR( aCipher, rtl_Cipher_DirectionEncode,
+ nMD5Sum, i_nKeyLength , NULL, 0 );
+ // encrypt the user password using the key set above
+ rtl_cipher_encodeARCFOUR( aCipher, i_pPaddedUserPassword, ENCRYPTED_PWD_SIZE, // the data to be encrypted
+ &io_rOValue[0], sal_Int32(io_rOValue.size()) ); //encrypted data
+ //Step 7, only if 128 bit
+ if( i_nKeyLength == SECUR_128BIT_KEY )
+ {
+ sal_uInt32 i, y;
+ sal_uInt8 nLocalKey[ SECUR_128BIT_KEY ]; // 16 = 128 bit key
+
+ for( i = 1; i <= 19; i++ ) // do it 19 times, start with 1
+ {
+ for( y = 0; y < sizeof( nLocalKey ); y++ )
+ nLocalKey[y] = (sal_uInt8)( nMD5Sum[y] ^ i );
+
+ rtl_cipher_initARCFOUR( aCipher, rtl_Cipher_DirectionEncode,
+ nLocalKey, SECUR_128BIT_KEY, NULL, 0 ); //destination data area, on init can be NULL
+ rtl_cipher_encodeARCFOUR( aCipher, &io_rOValue[0], sal_Int32(io_rOValue.size()), // the data to be encrypted
+ &io_rOValue[0], sal_Int32(io_rOValue.size()) ); // encrypted data, can be the same as the input, encrypt "in place"
+ //step 8, store in class data member
+ }
+ }
+ }
+ else
+ bSuccess = false;
+ }
+ else
+ bSuccess = false;
+
+ if( aDigest )
+ rtl_digest_destroyMD5( aDigest );
+ if( aCipher )
+ rtl_cipher_destroyARCFOUR( aCipher );
+
+ if( ! bSuccess )
+ io_rOValue.clear();
+ return bSuccess;
+}
+
+/**********************************
+Algorithms 3.4 and 3.5 Compute the encryption dictionary /U value, save into the class data member, revision 2 (40 bit) or 3 (128 bit)
+*/
+bool PDFWriterImpl::computeUDictionaryValue( EncHashTransporter* i_pTransporter,
+ vcl::PDFWriter::PDFEncryptionProperties& io_rProperties,
+ sal_Int32 i_nKeyLength,
+ sal_Int32 i_nAccessPermissions
+ )
+{
+ bool bSuccess = true;
+
+ io_rProperties.UValue.resize( ENCRYPTED_PWD_SIZE );
+
+ rtlDigest aDigest = rtl_digest_createMD5();
+ rtlCipher aCipher = rtl_cipher_createARCFOUR( rtl_Cipher_ModeStream );
+ if( aDigest && aCipher )
+ {
+ //step 1, common to both 3.4 and 3.5
+ if( computeEncryptionKey( i_pTransporter, io_rProperties, i_nAccessPermissions ) )
+ {
+ // prepare encryption key for object
+ for( sal_Int32 i = i_nKeyLength, y = 0; y < 5 ; y++ )
+ io_rProperties.EncryptionKey[i++] = 0;
+
+ if( io_rProperties.Security128bit == false )
+ {
+ //3.4
+ //step 2 and 3
+ rtl_cipher_initARCFOUR( aCipher, rtl_Cipher_DirectionEncode,
+ &io_rProperties.EncryptionKey[0], 5 , // key and key length
+ NULL, 0 ); //destination data area
+ // encrypt the user password using the key set above, save for later use
+ rtl_cipher_encodeARCFOUR( aCipher, s_nPadString, sizeof( s_nPadString ), // the data to be encrypted
+ &io_rProperties.UValue[0], sal_Int32(io_rProperties.UValue.size()) ); //encrypted data, stored in class data member
+ }
+ else
+ {
+ //or 3.5, for 128 bit security
+ //step6, initilize the last 16 bytes of the encrypted user password to 0
+ for(sal_uInt32 i = MD5_DIGEST_SIZE; i < sal_uInt32(io_rProperties.UValue.size()); i++)
+ io_rProperties.UValue[i] = 0;
+ //step 2
+ rtlDigestError nError = rtl_digest_updateMD5( aDigest, s_nPadString, sizeof( s_nPadString ) );
+ //step 3
+ if( nError == rtl_Digest_E_None )
+ nError = rtl_digest_updateMD5( aDigest, &io_rProperties.DocumentIdentifier[0], sal_Int32(io_rProperties.DocumentIdentifier.size()) );
+ else
+ bSuccess = false;
+
+ sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
+ rtl_digest_getMD5( aDigest, nMD5Sum, sizeof(nMD5Sum) );
+ //Step 4
+ rtl_cipher_initARCFOUR( aCipher, rtl_Cipher_DirectionEncode,
+ &io_rProperties.EncryptionKey[0], SECUR_128BIT_KEY, NULL, 0 ); //destination data area
+ rtl_cipher_encodeARCFOUR( aCipher, nMD5Sum, sizeof( nMD5Sum ), // the data to be encrypted
+ &io_rProperties.UValue[0], sizeof( nMD5Sum ) ); //encrypted data, stored in class data member
+ //step 5
+ sal_uInt32 i, y;
+ sal_uInt8 nLocalKey[SECUR_128BIT_KEY];
+
+ for( i = 1; i <= 19; i++ ) // do it 19 times, start with 1
+ {
+ for( y = 0; y < sizeof( nLocalKey ) ; y++ )
+ nLocalKey[y] = (sal_uInt8)( io_rProperties.EncryptionKey[y] ^ i );
+
+ rtl_cipher_initARCFOUR( aCipher, rtl_Cipher_DirectionEncode,
+ nLocalKey, SECUR_128BIT_KEY, // key and key length
+ NULL, 0 ); //destination data area, on init can be NULL
+ rtl_cipher_encodeARCFOUR( aCipher, &io_rProperties.UValue[0], SECUR_128BIT_KEY, // the data to be encrypted
+ &io_rProperties.UValue[0], SECUR_128BIT_KEY ); // encrypted data, can be the same as the input, encrypt "in place"
+ }
+ }
+ }
+ else
+ bSuccess = false;
+ }
+ else
+ bSuccess = false;
+
+ if( aDigest )
+ rtl_digest_destroyMD5( aDigest );
+ if( aCipher )
+ rtl_cipher_destroyARCFOUR( aCipher );
+
+ if( ! bSuccess )
+ io_rProperties.UValue.clear();
+ return bSuccess;
+}
+
+/* end i12626 methods */
diff --git a/vcl/source/gdi/pngread.cxx b/vcl/source/gdi/pngread.cxx
index 5cc33874bbbf..1f264763ac04 100644
--- a/vcl/source/gdi/pngread.cxx
+++ b/vcl/source/gdi/pngread.cxx
@@ -411,7 +411,9 @@ BitmapEx PNGReaderImpl::GetBitmapEx( const Size& rPreviewSizeHint )
case PNGCHUNK_IDAT :
{
- if ( !mbIDAT ) // the gfx is finished, but there may be left a zlibCRC of about 4Bytes
+ if ( !mpInflateInBuf ) // taking care that the header has properly been read
+ mbStatus = FALSE;
+ else if ( !mbIDAT ) // the gfx is finished, but there may be left a zlibCRC of about 4Bytes
ImplReadIDAT();
}
break;
@@ -527,7 +529,7 @@ sal_Bool PNGReaderImpl::ImplReadHeader( const Size& rPreviewSizeHint )
mbIDAT = mbAlphaChannel = mbTransparent = sal_False;
mbGrayScale = mbRGBTriple = sal_False;
mnTargetDepth = mnPngDepth;
- mnScansize = ( ( maOrigSize.Width() * mnPngDepth ) + 7 ) >> 3;
+ sal_uInt64 nScansize64 = ( ( static_cast< sal_uInt64 >( maOrigSize.Width() ) * mnPngDepth ) + 7 ) >> 3;
// valid color types are 0,2,3,4 & 6
switch ( mnColorType )
@@ -557,7 +559,7 @@ sal_Bool PNGReaderImpl::ImplReadHeader( const Size& rPreviewSizeHint )
case 2 : // each pixel is an RGB triple
{
mbRGBTriple = sal_True;
- mnScansize *= 3;
+ nScansize64 *= 3;
switch ( mnPngDepth )
{
case 16 : // we have to reduce the bitmap
@@ -590,7 +592,7 @@ sal_Bool PNGReaderImpl::ImplReadHeader( const Size& rPreviewSizeHint )
case 4 : // each pixel is a grayscale sample followed by an alpha sample
{
- mnScansize *= 2;
+ nScansize64 *= 2;
mbAlphaChannel = sal_True;
switch ( mnPngDepth )
{
@@ -608,7 +610,7 @@ sal_Bool PNGReaderImpl::ImplReadHeader( const Size& rPreviewSizeHint )
case 6 : // each pixel is an RGB triple followed by an alpha sample
{
mbRGBTriple = sal_True;
- mnScansize *= 4;
+ nScansize64 *= 4;
mbAlphaChannel = sal_True;
switch (mnPngDepth )
{
@@ -626,16 +628,24 @@ sal_Bool PNGReaderImpl::ImplReadHeader( const Size& rPreviewSizeHint )
return sal_False;
}
- mnBPP = mnScansize / maOrigSize.Width();
+ mnBPP = static_cast< sal_uInt32 >( nScansize64 / maOrigSize.Width() );
if ( !mnBPP )
mnBPP = 1;
- mnScansize++; // each scanline includes one filterbyte
+ nScansize64++; // each scanline includes one filterbyte
+
+ if ( nScansize64 > SAL_MAX_UINT32 )
+ return FALSE;
+
+ mnScansize = static_cast< sal_uInt32 >( nScansize64 );
// TODO: switch between both scanlines instead of copying
- mpInflateInBuf = new sal_uInt8[ mnScansize ];
+ mpInflateInBuf = new (std::nothrow) sal_uInt8[ mnScansize ];
mpScanCurrent = mpInflateInBuf;
- mpScanPrior = new sal_uInt8[ mnScansize ];
+ mpScanPrior = new (std::nothrow) sal_uInt8[ mnScansize ];
+
+ if ( !mpInflateInBuf || !mpScanPrior )
+ return sal_False;
// calculate target size from original size and the preview hint
if( rPreviewSizeHint.Width() || rPreviewSizeHint.Height() )
diff --git a/vcl/source/gdi/print2.cxx b/vcl/source/gdi/print2.cxx
index 7faeb63dcd8a..01bf4ca90d65 100644
--- a/vcl/source/gdi/print2.cxx
+++ b/vcl/source/gdi/print2.cxx
@@ -407,6 +407,7 @@ static Rectangle ImplCalcActionBounds( const MetaAction& rAct, const OutputDevic
{
const MetaLineAction& rMetaLineAction = static_cast<const MetaLineAction&>(rAct);
aActionBounds = Rectangle( rMetaLineAction.GetStartPoint(), rMetaLineAction.GetEndPoint() );
+ aActionBounds.Justify();
const long nLineWidth(rMetaLineAction.GetLineInfo().GetWidth());
if(nLineWidth)
{
diff --git a/vcl/source/window/arrange.cxx b/vcl/source/window/arrange.cxx
index 9749299d4d6b..f016ef2c053b 100644
--- a/vcl/source/window/arrange.cxx
+++ b/vcl/source/window/arrange.cxx
@@ -29,15 +29,37 @@
#include "vcl/arrange.hxx"
#include "vcl/edit.hxx"
+#include "vcl/svdata.hxx"
+#include "vcl/svapp.hxx"
+
+#include "com/sun/star/beans/PropertyValue.hpp"
+#include "com/sun/star/awt/Rectangle.hpp"
#include "osl/diagnose.h"
using namespace vcl;
+using namespace com::sun::star;
// ----------------------------------------
// vcl::WindowArranger
//-----------------------------------------
+long WindowArranger::getDefaultBorder()
+{
+ ImplSVData* pSVData = ImplGetSVData();
+ long nResult = pSVData->maAppData.mnDefaultLayoutBorder;
+ if( nResult < 0 )
+ {
+ OutputDevice* pDefDev = Application::GetDefaultDevice();
+ if( pDefDev )
+ {
+ Size aBorder( pDefDev->LogicToPixel( Size( 3, 3 ), MapMode( MAP_APPFONT ) ) );
+ nResult = pSVData->maAppData.mnDefaultLayoutBorder = aBorder.Height();
+ }
+ }
+ return nResult > 0 ? nResult : 0;
+}
+
WindowArranger::~WindowArranger()
{}
@@ -156,16 +178,26 @@ Size WindowArranger::Element::getOptimalSize( WindowSizeType i_eType ) const
Size aResult;
if( ! m_bHidden )
{
+ bool bVisible = false;
if( m_pElement && m_pElement->IsVisible() )
+ {
aResult = m_pElement->GetOptimalSize( i_eType );
- else if( m_pChild )
+ bVisible = true;
+ }
+ else if( m_pChild && m_pChild->isVisible() )
+ {
aResult = m_pChild->getOptimalSize( i_eType );
- if( aResult.Width() < m_aMinSize.Width() )
- aResult.Width() = m_aMinSize.Width();
- if( aResult.Height() < m_aMinSize.Height() )
- aResult.Height() = m_aMinSize.Height();
- aResult.Width() += m_nLeftBorder + m_nRightBorder;
- aResult.Height() += m_nTopBorder + m_nBottomBorder;
+ bVisible = true;
+ }
+ if( bVisible )
+ {
+ if( aResult.Width() < m_aMinSize.Width() )
+ aResult.Width() = m_aMinSize.Width();
+ if( aResult.Height() < m_aMinSize.Height() )
+ aResult.Height() = m_aMinSize.Height();
+ aResult.Width() += getBorderValue( m_nLeftBorder ) + getBorderValue( m_nRightBorder );
+ aResult.Height() += getBorderValue( m_nTopBorder ) + getBorderValue( m_nBottomBorder );
+ }
}
return aResult;
@@ -175,16 +207,74 @@ void WindowArranger::Element::setPosSize( const Point& i_rPos, const Size& i_rSi
{
Point aPoint( i_rPos );
Size aSize( i_rSize );
- aPoint.X() += m_nLeftBorder;
- aPoint.Y() += m_nTopBorder;
- aSize.Width() -= m_nLeftBorder + m_nRightBorder;
- aSize.Height() -= m_nTopBorder + m_nBottomBorder;
+ aPoint.X() += getBorderValue( m_nLeftBorder );
+ aPoint.Y() += getBorderValue( m_nTopBorder );
+ aSize.Width() -= getBorderValue( m_nLeftBorder ) + getBorderValue( m_nRightBorder );
+ aSize.Height() -= getBorderValue( m_nTopBorder ) + getBorderValue( m_nBottomBorder );
if( m_pElement )
m_pElement->SetPosSizePixel( aPoint, aSize );
else if( m_pChild )
m_pChild->setManagedArea( Rectangle( aPoint, aSize ) );
}
+uno::Sequence< beans::PropertyValue > WindowArranger::getProperties() const
+{
+ uno::Sequence< beans::PropertyValue > aRet( 3 );
+ aRet[0].Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "OuterBorder" ) );
+ aRet[0].Value = uno::makeAny( sal_Int32( getBorderValue( m_nOuterBorder ) ) );
+ aRet[1].Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ManagedArea" ) );
+ awt::Rectangle aArea( m_aManagedArea.getX(), m_aManagedArea.getY(), m_aManagedArea.getWidth(), m_aManagedArea.getHeight() );
+ aRet[1].Value = uno::makeAny( aArea );
+ aRet[2].Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Visible" ) );
+ aRet[2].Value = uno::makeAny( sal_Bool( isVisible() ) );
+ return aRet;
+}
+
+void WindowArranger::setProperties( const uno::Sequence< beans::PropertyValue >& i_rProps )
+{
+ const beans::PropertyValue* pProps = i_rProps.getConstArray();
+ bool bResize = false;
+ for( sal_Int32 i = 0; i < i_rProps.getLength(); i++ )
+ {
+ if( pProps[i].Name.equalsAscii( "OuterBorder" ) )
+ {
+ sal_Int32 nVal = 0;
+ if( pProps[i].Value >>= nVal )
+ {
+ if( getBorderValue( m_nOuterBorder ) != nVal )
+ {
+ m_nOuterBorder = nVal;
+ bResize = true;
+ }
+ }
+ }
+ else if( pProps[i].Name.equalsAscii( "ManagedArea" ) )
+ {
+ awt::Rectangle aArea( 0, 0, 0, 0 );
+ if( pProps[i].Value >>= aArea )
+ {
+ m_aManagedArea.setX( aArea.X );
+ m_aManagedArea.setY( aArea.Y );
+ m_aManagedArea.setWidth( aArea.Width );
+ m_aManagedArea.setHeight( aArea.Height );
+ bResize = true;
+ }
+ }
+ else if( pProps[i].Name.equalsAscii( "Visible" ) )
+ {
+ sal_Bool bVal = sal_False;
+ if( pProps[i].Value >>= bVal )
+ {
+ show( bVal, false );
+ bResize = true;
+ }
+ }
+ }
+ if( bResize )
+ resize();
+}
+
+
// ----------------------------------------
// vcl::RowOrColumn
//-----------------------------------------
@@ -201,6 +291,7 @@ RowOrColumn::~RowOrColumn()
Size RowOrColumn::getOptimalSize( WindowSizeType i_eType ) const
{
Size aRet( 0, 0 );
+ long nDistance = getBorderValue( m_nBorderWidth );
for( std::vector< WindowArranger::Element >::const_iterator it = m_aElements.begin();
it != m_aElements.end(); ++it )
{
@@ -211,7 +302,7 @@ Size RowOrColumn::getOptimalSize( WindowSizeType i_eType ) const
if( m_bColumn )
{
// add the distance between elements
- aRet.Height() += m_nBorderWidth;
+ aRet.Height() += nDistance;
// check if the width needs adjustment
if( aRet.Width() < aElementSize.Width() )
aRet.Width() = aElementSize.Width();
@@ -220,7 +311,7 @@ Size RowOrColumn::getOptimalSize( WindowSizeType i_eType ) const
else
{
// add the distance between elements
- aRet.Width() += m_nBorderWidth;
+ aRet.Width() += nDistance;
// check if the height needs adjustment
if( aRet.Height() < aElementSize.Height() )
aRet.Height() = aElementSize.Height();
@@ -233,13 +324,14 @@ Size RowOrColumn::getOptimalSize( WindowSizeType i_eType ) const
{
// subtract the border for the first element
if( m_bColumn )
- aRet.Height() -= m_nBorderWidth;
+ aRet.Height() -= nDistance;
else
- aRet.Width() -= m_nBorderWidth;
+ aRet.Width() -= nDistance;
// add the outer border
- aRet.Width() += 2*m_nOuterBorder;
- aRet.Height() += 2*m_nOuterBorder;
+ long nOuterBorder = getBorderValue( m_nOuterBorder );
+ aRet.Width() += 2*nOuterBorder;
+ aRet.Height() += 2*nOuterBorder;
}
return aRet;
@@ -344,7 +436,9 @@ void RowOrColumn::resize()
size_t nElements = m_aElements.size();
// get all element sizes for sizing
std::vector<Size> aElementSizes( nElements );
- long nUsedWidth = 2*m_nOuterBorder - (nElements ? m_nBorderWidth : 0);
+ long nDistance = getBorderValue( m_nBorderWidth );
+ long nOuterBorder = getBorderValue( m_nOuterBorder );
+ long nUsedWidth = 2*nOuterBorder - (nElements ? nDistance : 0);
for( size_t i = 0; i < nElements; i++ )
{
if( m_aElements[i].isVisible() )
@@ -352,13 +446,13 @@ void RowOrColumn::resize()
aElementSizes[i] = m_aElements[i].getOptimalSize( eType );
if( m_bColumn )
{
- aElementSizes[i].Width() = m_aManagedArea.GetWidth() - 2* m_nOuterBorder;
- nUsedWidth += aElementSizes[i].Height() + m_nBorderWidth;
+ aElementSizes[i].Width() = m_aManagedArea.GetWidth() - 2 * nOuterBorder;
+ nUsedWidth += aElementSizes[i].Height() + nDistance;
}
else
{
- aElementSizes[i].Height() = m_aManagedArea.GetHeight() - 2* m_nOuterBorder;
- nUsedWidth += aElementSizes[i].Width() + m_nBorderWidth;
+ aElementSizes[i].Height() = m_aManagedArea.GetHeight() - 2 * nOuterBorder;
+ nUsedWidth += aElementSizes[i].Width() + nDistance;
}
}
}
@@ -375,8 +469,8 @@ void RowOrColumn::resize()
// get starting position
Point aElementPos( m_aManagedArea.TopLeft() );
// outer border
- aElementPos.X() += m_nOuterBorder;
- aElementPos.Y() += m_nOuterBorder;
+ aElementPos.X() += nOuterBorder;
+ aElementPos.Y() += nOuterBorder;
// position managed windows
for( size_t i = 0; i < nElements; i++ )
@@ -386,27 +480,27 @@ void RowOrColumn::resize()
{
m_aElements[i].setPosSize( aElementPos, aElementSizes[i] );
if( m_bColumn )
- aElementPos.Y() += m_nBorderWidth + aElementSizes[i].Height();
+ aElementPos.Y() += nDistance + aElementSizes[i].Height();
else
- aElementPos.X() += m_nBorderWidth + aElementSizes[i].Width();
+ aElementPos.X() += nDistance + aElementSizes[i].Width();
}
}
}
-size_t RowOrColumn::addWindow( Window* i_pWindow, sal_Int32 i_nExpandPrio, size_t i_nIndex )
+size_t RowOrColumn::addWindow( Window* i_pWindow, sal_Int32 i_nExpandPrio, const Size& i_rMinSize, size_t i_nIndex )
{
size_t nIndex = i_nIndex;
if( i_nIndex >= m_aElements.size() )
{
nIndex = m_aElements.size();
- m_aElements.push_back( WindowArranger::Element( i_pWindow, boost::shared_ptr<WindowArranger>(), i_nExpandPrio ) );
+ m_aElements.push_back( WindowArranger::Element( i_pWindow, boost::shared_ptr<WindowArranger>(), i_nExpandPrio, i_rMinSize ) );
}
else
{
std::vector< WindowArranger::Element >::iterator it = m_aElements.begin();
while( i_nIndex-- )
++it;
- m_aElements.insert( it, WindowArranger::Element( i_pWindow, boost::shared_ptr<WindowArranger>(), i_nExpandPrio ) );
+ m_aElements.insert( it, WindowArranger::Element( i_pWindow, boost::shared_ptr<WindowArranger>(), i_nExpandPrio, i_rMinSize ) );
}
return nIndex;
}
@@ -479,14 +573,14 @@ Size LabeledElement::getOptimalSize( WindowSizeType i_eType ) const
if( m_nLabelColumnWidth != 0 )
aRet.Width() = m_nLabelColumnWidth;
else
- aRet.Width() += m_nDistance;
+ aRet.Width() += getBorderValue( m_nDistance );
}
Size aElementSize( m_aElement.getOptimalSize( i_eType ) );
aRet.Width() += aElementSize.Width();
if( aElementSize.Height() > aRet.Height() )
aRet.Height() = aElementSize.Height();
if( aRet.Height() != 0 )
- aRet.Height() += 2*m_nOuterBorder;
+ aRet.Height() += 2 * getBorderValue( m_nOuterBorder );
return aRet;
}
@@ -495,23 +589,25 @@ void LabeledElement::resize()
{
Size aLabelSize( m_aLabel.getOptimalSize( WINDOWSIZE_MINIMUM ) );
Size aElementSize( m_aElement.getOptimalSize( WINDOWSIZE_PREFERRED ) );
- if( m_nDistance + aLabelSize.Width() + aElementSize.Width() > m_aManagedArea.GetWidth() )
+ long nDistance = getBorderValue( m_nDistance );
+ long nOuterBorder = getBorderValue( m_nOuterBorder );
+ if( nDistance + aLabelSize.Width() + aElementSize.Width() > m_aManagedArea.GetWidth() )
aElementSize = m_aElement.getOptimalSize( WINDOWSIZE_MINIMUM );
// align label and element vertically in LabeledElement
- long nYOff = (m_aManagedArea.GetHeight() - 2*m_nOuterBorder - aLabelSize.Height()) / 2;
+ long nYOff = (m_aManagedArea.GetHeight() - 2*nOuterBorder - aLabelSize.Height()) / 2;
Point aPos( m_aManagedArea.Left(),
- m_aManagedArea.Top() + m_nOuterBorder + nYOff );
+ m_aManagedArea.Top() + nOuterBorder + nYOff );
Size aSize( aLabelSize );
if( m_nLabelColumnWidth != 0 )
aSize.Width() = m_nLabelColumnWidth;
m_aLabel.setPosSize( aPos, aSize );
- aPos.X() += aSize.Width() + m_nDistance;
- nYOff = (m_aManagedArea.GetHeight() - 2*m_nOuterBorder - aElementSize.Height()) / 2;
- aPos.Y() = m_aManagedArea.Top() + m_nOuterBorder + nYOff;
+ aPos.X() += aSize.Width() + nDistance;
+ nYOff = (m_aManagedArea.GetHeight() - 2*nOuterBorder - aElementSize.Height()) / 2;
+ aPos.Y() = m_aManagedArea.Top() + nOuterBorder + nYOff;
aSize.Width() = aElementSize.Width();
- aSize.Height() = m_aManagedArea.GetHeight() - 2*m_nOuterBorder;
+ aSize.Height() = m_aManagedArea.GetHeight() - 2*nOuterBorder;
// label style
// 0: position left and right
@@ -578,18 +674,22 @@ long LabelColumn::getLabelWidth() const
if( pLW )
{
Size aLabSize( pLW->GetOptimalSize( WINDOWSIZE_MINIMUM ) );
+ long nLB = 0;
+ pLabel->getBorders(0, &nLB);
+ aLabSize.Width() += getBorderValue( nLB );
if( aLabSize.Width() > nWidth )
nWidth = aLabSize.Width();
}
}
}
}
- return nWidth + getBorderWidth();
+ return nWidth + getBorderValue( getBorderWidth() );
}
Size LabelColumn::getOptimalSize( WindowSizeType i_eType ) const
{
long nWidth = getLabelWidth();
+ long nOuterBorder = getBorderValue( m_nOuterBorder );
Size aColumnSize;
// every child is a LabeledElement
@@ -622,19 +722,19 @@ Size LabelColumn::getOptimalSize( WindowSizeType i_eType ) const
}
if( aElementSize.Width() )
{
- aElementSize.Width() += 2*m_nOuterBorder;
+ aElementSize.Width() += 2*nOuterBorder;
if( aElementSize.Width() > aColumnSize.Width() )
aColumnSize.Width() = aElementSize.Width();
}
if( aElementSize.Height() )
{
- aColumnSize.Height() += getBorderWidth() + aElementSize.Height();
+ aColumnSize.Height() += getBorderValue( getBorderWidth() ) + aElementSize.Height();
}
}
if( nEle > 0 && aColumnSize.Height() )
{
- aColumnSize.Height() -= getBorderWidth(); // for the first element
- aColumnSize.Height() += 2*m_nOuterBorder;
+ aColumnSize.Height() -= getBorderValue( getBorderWidth() ); // for the first element
+ aColumnSize.Height() += 2*nOuterBorder;
}
return aColumnSize;
}
@@ -667,12 +767,13 @@ size_t LabelColumn::addRow( Window* i_pLabel, boost::shared_ptr<WindowArranger>
return nIndex;
}
-size_t LabelColumn::addRow( Window* i_pLabel, Window* i_pElement, long i_nIndent )
+size_t LabelColumn::addRow( Window* i_pLabel, Window* i_pElement, long i_nIndent, const Size& i_rElementMinSize )
{
boost::shared_ptr< LabeledElement > xLabel( new LabeledElement( this, 1 ) );
xLabel->setLabel( i_pLabel );
xLabel->setBorders( 0, i_nIndent, 0, 0, 0 );
xLabel->setElement( i_pElement );
+ xLabel->setMinimumSize( 1, i_rElementMinSize );
size_t nIndex = addChild( xLabel );
resize();
return nIndex;
@@ -690,19 +791,23 @@ Indenter::~Indenter()
Size Indenter::getOptimalSize( WindowSizeType i_eType ) const
{
Size aSize( m_aElement.getOptimalSize( i_eType ) );
- aSize.Width() += 2*m_nOuterBorder + m_nIndent;
- aSize.Height() += 2*m_nOuterBorder;
+ long nOuterBorder = getBorderValue( m_nOuterBorder );
+ long nIndent = getBorderValue( m_nIndent );
+ aSize.Width() += 2*nOuterBorder + nIndent;
+ aSize.Height() += 2*nOuterBorder;
return aSize;
}
void Indenter::resize()
{
+ long nOuterBorder = getBorderValue( m_nOuterBorder );
+ long nIndent = getBorderValue( m_nIndent );
Point aPt( m_aManagedArea.TopLeft() );
- aPt.X() += m_nOuterBorder + m_nIndent;
- aPt.Y() += m_nOuterBorder;
+ aPt.X() += nOuterBorder + nIndent;
+ aPt.Y() += nOuterBorder;
Size aSz( m_aManagedArea.GetSize() );
- aSz.Width() -= 2*m_nOuterBorder + m_nIndent;
- aSz.Height() -= 2*m_nOuterBorder;
+ aSz.Width() -= 2*nOuterBorder + nIndent;
+ aSz.Height() -= 2*nOuterBorder;
m_aElement.setPosSize( aPt, aSz );
}
@@ -733,7 +838,8 @@ Size MatrixArranger::getOptimalSize( WindowSizeType i_eType,
std::vector<sal_Int32>& o_rColumnPrio, std::vector<sal_Int32>& o_rRowPrio
) const
{
- Size aMatrixSize( 2*m_nOuterBorder, 2*m_nOuterBorder );
+ long nOuterBorder = getBorderValue( m_nOuterBorder );
+ Size aMatrixSize( 2*nOuterBorder, 2*nOuterBorder );
// first find out the current number of rows and columns
sal_uInt32 nRows = 0, nColumns = 0;
@@ -768,15 +874,17 @@ Size MatrixArranger::getOptimalSize( WindowSizeType i_eType,
}
// add up sizes
+ long nDistanceX = getBorderValue( m_nBorderX );
+ long nDistanceY = getBorderValue( m_nBorderY );
for( sal_uInt32 i = 0; i < nColumns; i++ )
- aMatrixSize.Width() += o_rColumnWidths[i] + m_nBorderX;
+ aMatrixSize.Width() += o_rColumnWidths[i] + nDistanceX;
if( nColumns > 0 )
- aMatrixSize.Width() -= m_nBorderX;
+ aMatrixSize.Width() -= nDistanceX;
for( sal_uInt32 i = 0; i < nRows; i++ )
- aMatrixSize.Height() += o_rRowHeights[i] + m_nBorderY;
+ aMatrixSize.Height() += o_rRowHeights[i] + nDistanceY;
if( nRows > 0 )
- aMatrixSize.Height() -= m_nBorderY;
+ aMatrixSize.Height() -= nDistanceY;
return aMatrixSize;
}
@@ -860,15 +968,18 @@ void MatrixArranger::resize()
distributeExtraSize( aRowHeights, aRowPrio, nExtraSize );
// prepare offsets
+ long nDistanceX = getBorderValue( m_nBorderX );
+ long nDistanceY = getBorderValue( m_nBorderY );
+ long nOuterBorder = getBorderValue( m_nOuterBorder );
std::vector<long> aColumnX( aColumnWidths.size() );
- aColumnX[0] = m_aManagedArea.Left() + m_nOuterBorder;
+ aColumnX[0] = m_aManagedArea.Left() + nOuterBorder;
for( size_t i = 1; i < aColumnX.size(); i++ )
- aColumnX[i] = aColumnX[i-1] + aColumnWidths[i-1] + m_nBorderX;
+ aColumnX[i] = aColumnX[i-1] + aColumnWidths[i-1] + nDistanceX;
std::vector<long> aRowY( aRowHeights.size() );
- aRowY[0] = m_aManagedArea.Top() + m_nOuterBorder;
+ aRowY[0] = m_aManagedArea.Top() + nOuterBorder;
for( size_t i = 1; i < aRowY.size(); i++ )
- aRowY[i] = aRowY[i-1] + aRowHeights[i-1] + m_nBorderY;
+ aRowY[i] = aRowY[i-1] + aRowHeights[i-1] + nDistanceY;
// now iterate over the elements and assign their positions
for( std::vector< MatrixElement >::iterator it = m_aElements.begin();
@@ -880,7 +991,7 @@ void MatrixArranger::resize()
}
}
-size_t MatrixArranger::addWindow( Window* i_pWindow, sal_uInt32 i_nX, sal_uInt32 i_nY, sal_Int32 i_nExpandPrio )
+size_t MatrixArranger::addWindow( Window* i_pWindow, sal_uInt32 i_nX, sal_uInt32 i_nY, sal_Int32 i_nExpandPrio, const Size& i_rMinSize )
{
sal_uInt64 nMapValue = getMap( i_nX, i_nY );
std::map< sal_uInt64, size_t >::const_iterator it = m_aMatrixMap.find( nMapValue );
@@ -888,7 +999,7 @@ size_t MatrixArranger::addWindow( Window* i_pWindow, sal_uInt32 i_nX, sal_uInt32
if( it == m_aMatrixMap.end() )
{
m_aMatrixMap[ nMapValue ] = nIndex = m_aElements.size();
- m_aElements.push_back( MatrixElement( i_pWindow, i_nX, i_nY, boost::shared_ptr<WindowArranger>(), i_nExpandPrio ) );
+ m_aElements.push_back( MatrixElement( i_pWindow, i_nX, i_nY, boost::shared_ptr<WindowArranger>(), i_nExpandPrio, i_rMinSize ) );
}
else
{
@@ -896,6 +1007,7 @@ size_t MatrixArranger::addWindow( Window* i_pWindow, sal_uInt32 i_nX, sal_uInt32
rEle.m_pElement = i_pWindow;
rEle.m_pChild.reset();
rEle.m_nExpandPriority = i_nExpandPrio;
+ rEle.m_aMinSize = i_rMinSize;
rEle.m_nX = i_nX;
rEle.m_nY = i_nY;
nIndex = it->second;
diff --git a/vcl/source/window/makefile.mk b/vcl/source/window/makefile.mk
index 82ce26f8e78e..1c63376dfda5 100644
--- a/vcl/source/window/makefile.mk
+++ b/vcl/source/window/makefile.mk
@@ -85,6 +85,8 @@ SLOFILES= \
$(SLO)$/winproc.obj \
$(SLO)$/window2.obj \
$(SLO)$/window3.obj \
+ $(SLO)$/window4.obj \
+ $(SLO)$/wpropset.obj \
$(SLO)$/wrkwin.obj
# --- Targets ------------------------------------------------------
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index cc1dc965034f..2031fe4fc8df 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -533,22 +533,21 @@ void PrintDialog::NUpTabPage::showAdvancedControls( bool i_bShow )
maSheetMarginTxt2.Show( i_bShow );
maNupOrientationTxt.Show( i_bShow );
maNupOrientationBox.Show( i_bShow );
- maLayout.resize();
+ getLayout()->resize();
}
void PrintDialog::NUpTabPage::setupLayout()
{
+ boost::shared_ptr<vcl::RowOrColumn> xLayout =
+ boost::dynamic_pointer_cast<vcl::RowOrColumn>( getLayout() );
Size aBorder( LogicToPixel( Size( 6, 6 ), MapMode( MAP_APPFONT ) ) );
/* According to OOo style guide, the horizontal indentation of child
elements to their parent element should always be 6 map units. */
long nIndent = aBorder.Width();
- maLayout.setParentWindow( this );
- maLayout.setOuterBorder( aBorder.Width() );
-
- maLayout.addWindow( &maNupLine );
- boost::shared_ptr< vcl::RowOrColumn > xRow( new vcl::RowOrColumn( &maLayout, false ) );
- maLayout.addChild( xRow );
+ xLayout->addWindow( &maNupLine );
+ boost::shared_ptr< vcl::RowOrColumn > xRow( new vcl::RowOrColumn( xLayout.get(), false ) );
+ xLayout->addChild( xRow );
boost::shared_ptr< vcl::Indenter > xIndent( new vcl::Indenter( xRow.get() ) );
xRow->addChild( xIndent );
@@ -584,7 +583,7 @@ void PrintDialog::NUpTabPage::setupLayout()
xMainCol->addRow( &maNupOrderTxt, &maNupOrderBox, nIndent );
xMainCol->setBorders( xMainCol->addWindow( &maBorderCB ), nIndent, 0, 0, 0 );
- xSpacer.reset( new vcl::Spacer( xMainCol.get(), 0, Size( 10, aBorder.Width() ) ) );
+ xSpacer.reset( new vcl::Spacer( xMainCol.get(), 0, Size( 10, WindowArranger::getDefaultBorder() ) ) );
xMainCol->addChild( xSpacer );
xRow.reset( new vcl::RowOrColumn( xMainCol.get(), false ) );
@@ -596,11 +595,6 @@ void PrintDialog::NUpTabPage::setupLayout()
showAdvancedControls( false );
}
-void PrintDialog::NUpTabPage::Resize()
-{
- maLayout.setManagedArea( Rectangle( Point( 0, 0 ), GetOutputSizePixel() ) );
-}
-
void PrintDialog::NUpTabPage::initFromMultiPageSetup( const vcl::PrinterController::MultiPageSetup& i_rMPS )
{
maSheetMarginEdt.SetValue( maSheetMarginEdt.Normalize( i_rMPS.nLeftMargin ), FUNIT_100TH_MM );
@@ -641,7 +635,6 @@ PrintDialog::JobTabPage::JobTabPage( Window* i_pParent, const ResId& rResId )
, maNoCollateImg( VclResId( SV_PRINT_NOCOLLATE_IMG ) )
, maNoCollateHCImg( VclResId( SV_PRINT_NOCOLLATE_HC_IMG ) )
, mnCollateUIMode( 0 )
- , maLayout( NULL, true )
{
FreeResource();
@@ -681,39 +674,37 @@ void PrintDialog::JobTabPage::setupLayout()
// sets the results of GetOptimalSize in a normal ListBox
maPrinters.SetDropDownLineCount( 4 );
- Size aBorder( LogicToPixel( Size( 5, 5 ), MapMode( MAP_APPFONT ) ) );
-
- maLayout.setParentWindow( this );
- maLayout.setOuterBorder( aBorder.Width() );
+ boost::shared_ptr<vcl::RowOrColumn> xLayout =
+ boost::dynamic_pointer_cast<vcl::RowOrColumn>( getLayout() );
// add printer fixed line
- maLayout.addWindow( &maPrinterFL );
+ xLayout->addWindow( &maPrinterFL );
// add print LB
- maLayout.addWindow( &maPrinters, 3 );
+ xLayout->addWindow( &maPrinters, 3 );
// create a row for details button/text and properties button
- boost::shared_ptr< vcl::RowOrColumn > xDetRow( new vcl::RowOrColumn( &maLayout, false ) );
- maLayout.addChild( xDetRow );
+ boost::shared_ptr< vcl::RowOrColumn > xDetRow( new vcl::RowOrColumn( xLayout.get(), false ) );
+ xLayout->addChild( xDetRow );
xDetRow->addWindow( &maDetailsBtn );
xDetRow->addChild( new vcl::Spacer( xDetRow.get(), 2 ) );
xDetRow->addWindow( &maSetupButton );
// create an indent for details
- boost::shared_ptr< vcl::Indenter > xIndent( new vcl::Indenter( &maLayout ) );
- maLayout.addChild( xIndent );
+ boost::shared_ptr< vcl::Indenter > xIndent( new vcl::Indenter( xLayout.get() ) );
+ xLayout->addChild( xIndent );
// remember details controls
mxDetails = xIndent;
// create a column for the details
- boost::shared_ptr< vcl::LabelColumn > xLabelCol( new vcl::LabelColumn( xIndent.get(), aBorder.Height() ) );
+ boost::shared_ptr< vcl::LabelColumn > xLabelCol( new vcl::LabelColumn( xIndent.get() ) );
xIndent->setChild( xLabelCol );
xLabelCol->addRow( &maStatusLabel, &maStatusTxt );
xLabelCol->addRow( &maLocationLabel, &maLocationTxt );
xLabelCol->addRow( &maCommentLabel, &maCommentTxt );
// add print range and copies columns
- maLayout.addWindow( &maCopies );
- boost::shared_ptr< vcl::RowOrColumn > xRangeRow( new vcl::RowOrColumn( &maLayout, false, aBorder.Width() ) );
- maLayout.addChild( xRangeRow );
+ xLayout->addWindow( &maCopies );
+ boost::shared_ptr< vcl::RowOrColumn > xRangeRow( new vcl::RowOrColumn( xLayout.get(), false ) );
+ xLayout->addChild( xRangeRow );
// create print range and add to range row
mxPrintRange.reset( new vcl::RowOrColumn( xRangeRow.get() ) );
@@ -780,11 +771,6 @@ void PrintDialog::JobTabPage::storeToSettings()
rtl::OUString::createFromAscii( maCollateBox.IsChecked() ? "true" : "false" ) );
}
-void PrintDialog::JobTabPage::Resize()
-{
- maLayout.setManagedArea( Rectangle( Point( 0, 0 ), GetSizePixel() ) );
-}
-
PrintDialog::OutputOptPage::OutputOptPage( Window* i_pParent, const ResId& i_rResId )
: TabPage( i_pParent, i_rResId )
, maOptionsLine( this, VclResId( SV_PRINT_OPT_PRINT_FL ) )
@@ -808,15 +794,13 @@ PrintDialog::OutputOptPage::~OutputOptPage()
void PrintDialog::OutputOptPage::setupLayout()
{
- Size aBorder( LogicToPixel( Size( 5, 5 ), MapMode( MAP_APPFONT ) ) );
+ boost::shared_ptr<vcl::RowOrColumn> xLayout =
+ boost::dynamic_pointer_cast<vcl::RowOrColumn>( getLayout() );
- maLayout.setParentWindow( this );
- maLayout.setOuterBorder( aBorder.Width() );
-
- maLayout.addWindow( &maOptionsLine );
- boost::shared_ptr<vcl::Indenter> xIndent( new vcl::Indenter( &maLayout, aBorder.Width() ) );
- maLayout.addChild( xIndent );
- boost::shared_ptr<vcl::RowOrColumn> xCol( new vcl::RowOrColumn( xIndent.get(), aBorder.Height() ) );
+ xLayout->addWindow( &maOptionsLine );
+ boost::shared_ptr<vcl::Indenter> xIndent( new vcl::Indenter( xLayout.get(), -1 ) );
+ xLayout->addChild( xIndent );
+ boost::shared_ptr<vcl::RowOrColumn> xCol( new vcl::RowOrColumn( xIndent.get() ) );
xIndent->setChild( xCol );
mxOptGroup = xCol;
xCol->addWindow( &maToFileBox );
@@ -844,12 +828,6 @@ void PrintDialog::OutputOptPage::storeToSettings()
rtl::OUString::createFromAscii( maToFileBox.IsChecked() ? "true" : "false" ) );
}
-void PrintDialog::OutputOptPage::Resize()
-{
- maLayout.setManagedArea( Rectangle( Point( 0, 0 ), GetSizePixel() ) );
-}
-
-
PrintDialog::PrintDialog( Window* i_pParent, const boost::shared_ptr<PrinterController>& i_rController )
: ModalDialog( i_pParent, VclResId( SV_DLG_PRINT ) )
, maOKButton( this, VclResId( SV_PRINT_OK ) )
@@ -1057,13 +1035,14 @@ PrintDialog::~PrintDialog()
void PrintDialog::setupLayout()
{
- Size aBorder( LogicToPixel( Size( 5, 5 ), MapMode( MAP_APPFONT ) ) );
+ boost::shared_ptr<vcl::RowOrColumn> xLayout =
+ boost::dynamic_pointer_cast<vcl::RowOrColumn>( getLayout() );
+ xLayout->setOuterBorder( 0 );
- maLayout.setParentWindow( this );
- boost::shared_ptr< vcl::RowOrColumn > xPreviewAndTab( new vcl::RowOrColumn( &maLayout, false ) );
- size_t nIndex = maLayout.addChild( xPreviewAndTab, 5 );
- maLayout.setBorders( nIndex, aBorder.Width(), aBorder.Width(), aBorder.Width(), 0 );
+ boost::shared_ptr< vcl::RowOrColumn > xPreviewAndTab( new vcl::RowOrColumn( xLayout.get(), false ) );
+ size_t nIndex = xLayout->addChild( xPreviewAndTab, 5 );
+ xLayout->setBorders( nIndex, -1, -1, -1, 0 );
// setup column for preview and sub controls
boost::shared_ptr< vcl::RowOrColumn > xPreview( new vcl::RowOrColumn( xPreviewAndTab.get() ) );
@@ -1087,12 +1066,12 @@ void PrintDialog::setupLayout()
xPreviewAndTab->addWindow( &maTabCtrl );
// add the button line
- maLayout.addWindow( &maButtonLine );
+ xLayout->addWindow( &maButtonLine );
// add the row for the buttons
- boost::shared_ptr< vcl::RowOrColumn > xButtons( new vcl::RowOrColumn( &maLayout, false ) );
- nIndex = maLayout.addChild( xButtons );
- maLayout.setBorders( nIndex, aBorder.Width(), 0, aBorder.Width(), aBorder.Width() );
+ boost::shared_ptr< vcl::RowOrColumn > xButtons( new vcl::RowOrColumn( xLayout.get(), false ) );
+ nIndex = xLayout->addChild( xButtons );
+ xLayout->setBorders( nIndex, -1, 0, -1, -1 );
Size aMinSize( maCancelButton.GetSizePixel() );
// insert help button
@@ -1210,17 +1189,15 @@ void updateMaxSize( const Size& i_rCheckSize, Size& o_rMaxSize )
void PrintDialog::setupOptionalUI()
{
- Size aBorder( LogicToPixel( Size( 5, 5 ), MapMode( MAP_APPFONT ) ) );
-
- std::vector<vcl::RowOrColumn*> aDynamicColumns;
- vcl::RowOrColumn* pCurColumn = 0;
+ std::vector< boost::shared_ptr<vcl::RowOrColumn> > aDynamicColumns;
+ boost::shared_ptr< vcl::RowOrColumn > pCurColumn;
Window* pCurParent = 0, *pDynamicPageParent = 0;
sal_uInt16 nOptPageId = 9, nCurSubGroup = 0;
bool bOnStaticPage = false;
bool bSubgroupOnStaticPage = false;
- std::multimap< rtl::OUString, vcl::RowOrColumn* > aPropertyToDependencyRowMap;
+ std::multimap< rtl::OUString, boost::shared_ptr<vcl::RowOrColumn> > aPropertyToDependencyRowMap;
const Sequence< PropertyValue >& rOptions( maPController->getUIOptions() );
for( int i = 0; i < rOptions.getLength(); i++ )
@@ -1331,37 +1308,40 @@ void PrintDialog::setupOptionalUI()
{
// restore to dynamic
pCurParent = pDynamicPageParent;
- pCurColumn = aDynamicColumns.empty() ? NULL : aDynamicColumns.back();
+ if( ! aDynamicColumns.empty() )
+ pCurColumn = aDynamicColumns.back();
+ else
+ pCurColumn.reset();
bOnStaticPage = false;
bSubgroupOnStaticPage = false;
if( aGroupingHint.equalsAscii( "PrintRange" ) )
{
- pCurColumn = maJobPage.mxPrintRange.get();
+ pCurColumn = maJobPage.mxPrintRange;
pCurParent = &maJobPage; // set job page as current parent
bOnStaticPage = true;
}
else if( aGroupingHint.equalsAscii( "OptionsPage" ) )
{
- pCurColumn = &maOptionsPage.maLayout;
+ pCurColumn = boost::dynamic_pointer_cast<vcl::RowOrColumn>(maOptionsPage.getLayout());
pCurParent = &maOptionsPage; // set options page as current parent
bOnStaticPage = true;
}
else if( aGroupingHint.equalsAscii( "OptionsPageOptGroup" ) )
{
- pCurColumn = maOptionsPage.mxOptGroup.get();
+ pCurColumn = maOptionsPage.mxOptGroup;
pCurParent = &maOptionsPage; // set options page as current parent
bOnStaticPage = true;
}
else if( aGroupingHint.equalsAscii( "LayoutPage" ) )
{
- pCurColumn = &maNUpPage.maLayout;
+ pCurColumn = boost::dynamic_pointer_cast<vcl::RowOrColumn>(maNUpPage.getLayout());
pCurParent = &maNUpPage; // set layout page as current parent
bOnStaticPage = true;
}
else if( aGroupingHint.getLength() )
{
- pCurColumn = &maJobPage.maLayout;
+ pCurColumn = boost::dynamic_pointer_cast<vcl::RowOrColumn>(maJobPage.getLayout());
pCurParent = &maJobPage; // set job page as current parent
bOnStaticPage = true;
}
@@ -1386,10 +1366,9 @@ void PrintDialog::setupOptionalUI()
// reset subgroup counter
nCurSubGroup = 0;
- aDynamicColumns.push_back( new vcl::RowOrColumn( NULL, true, aBorder.Width() ) );
+ aDynamicColumns.push_back( boost::dynamic_pointer_cast<vcl::RowOrColumn>(pNewGroup->getLayout()) );
pCurColumn = aDynamicColumns.back();
pCurColumn->setParentWindow( pNewGroup );
- pCurColumn->setOuterBorder( aBorder.Width() );
bSubgroupOnStaticPage = false;
bOnStaticPage = false;
}
@@ -1419,10 +1398,10 @@ void PrintDialog::setupOptionalUI()
}
// add an indent to the current column
- vcl::Indenter* pIndent = new vcl::Indenter( pCurColumn, aBorder.Width() );
+ vcl::Indenter* pIndent = new vcl::Indenter( pCurColumn.get(), -1 );
pCurColumn->addChild( pIndent );
// and create a column inside the indent
- pCurColumn = new vcl::RowOrColumn( pIndent );
+ pCurColumn.reset( new vcl::RowOrColumn( pIndent ) );
pIndent->setChild( pCurColumn );
}
// EVIL
@@ -1446,17 +1425,17 @@ void PrintDialog::setupOptionalUI()
maPropertyToWindowMap[ aPropertyName ].push_back( &maNUpPage.maBrochureBtn );
maControlToPropertyMap[&maNUpPage.maBrochureBtn] = aPropertyName;
- aPropertyToDependencyRowMap.insert( std::pair< rtl::OUString, vcl::RowOrColumn* >( aPropertyName, maNUpPage.mxBrochureDep.get() ) );
+ aPropertyToDependencyRowMap.insert( std::pair< rtl::OUString, boost::shared_ptr<vcl::RowOrColumn> >( aPropertyName, maNUpPage.mxBrochureDep ) );
}
else
{
- vcl::RowOrColumn* pSaveCurColumn = pCurColumn;
+ boost::shared_ptr<vcl::RowOrColumn> pSaveCurColumn( pCurColumn );
if( bUseDependencyRow )
{
// find the correct dependency row (if any)
- std::pair< std::multimap< rtl::OUString, vcl::RowOrColumn* >::iterator,
- std::multimap< rtl::OUString, vcl::RowOrColumn* >::iterator > aDepRange;
+ std::pair< std::multimap< rtl::OUString, boost::shared_ptr<vcl::RowOrColumn> >::iterator,
+ std::multimap< rtl::OUString, boost::shared_ptr<vcl::RowOrColumn> >::iterator > aDepRange;
aDepRange = aPropertyToDependencyRowMap.equal_range( aDependsOnName );
if( aDepRange.first != aDepRange.second )
{
@@ -1495,16 +1474,16 @@ void PrintDialog::setupOptionalUI()
// set help text
setHelpText( pNewBox, aHelpTexts, 0 );
- vcl::RowOrColumn* pDependencyRow = new vcl::RowOrColumn( pCurColumn, false );
+ boost::shared_ptr<vcl::RowOrColumn> pDependencyRow( new vcl::RowOrColumn( pCurColumn.get(), false ) );
pCurColumn->addChild( pDependencyRow );
- aPropertyToDependencyRowMap.insert( std::pair< rtl::OUString, vcl::RowOrColumn* >( aPropertyName, pDependencyRow ) );
+ aPropertyToDependencyRowMap.insert( std::pair< rtl::OUString, boost::shared_ptr<vcl::RowOrColumn> >( aPropertyName, pDependencyRow ) );
// add checkbox to current column
pDependencyRow->addWindow( pNewBox );
}
else if( aCtrlType.equalsAscii( "Radio" ) && pCurParent )
{
- vcl::RowOrColumn* pRadioColumn = pCurColumn;
+ boost::shared_ptr<vcl::RowOrColumn> pRadioColumn( pCurColumn );
if( aText.getLength() )
{
// add a FixedText:
@@ -1520,10 +1499,10 @@ void PrintDialog::setupOptionalUI()
// add fixed text to current column
pCurColumn->addWindow( pHeading );
// add an indent to the current column
- vcl::Indenter* pIndent = new vcl::Indenter( pCurColumn, 15 );
+ vcl::Indenter* pIndent = new vcl::Indenter( pCurColumn.get(), 15 );
pCurColumn->addChild( pIndent );
// and create a column inside the indent
- pRadioColumn = new vcl::RowOrColumn( pIndent );
+ pRadioColumn.reset( new vcl::RowOrColumn( pIndent ) );
pIndent->setChild( pRadioColumn );
}
// iterate options
@@ -1533,11 +1512,11 @@ void PrintDialog::setupOptionalUI()
pVal->Value >>= nSelectVal;
for( sal_Int32 m = 0; m < aChoices.getLength(); m++ )
{
- boost::shared_ptr<vcl::LabeledElement> pLabel( new vcl::LabeledElement( pRadioColumn, 1 ) );
+ boost::shared_ptr<vcl::LabeledElement> pLabel( new vcl::LabeledElement( pRadioColumn.get(), 1 ) );
pRadioColumn->addChild( pLabel );
boost::shared_ptr<vcl::RowOrColumn> pDependencyRow( new vcl::RowOrColumn( pLabel.get(), false ) );
pLabel->setElement( pDependencyRow );
- aPropertyToDependencyRowMap.insert( std::pair< rtl::OUString, vcl::RowOrColumn* >( aPropertyName, pDependencyRow.get() ) );
+ aPropertyToDependencyRowMap.insert( std::pair< rtl::OUString, boost::shared_ptr<vcl::RowOrColumn> >( aPropertyName, pDependencyRow ) );
RadioButton* pBtn = new RadioButton( pCurParent, m == 0 ? WB_GROUP : 0 );
maControls.push_front( pBtn );
@@ -1565,9 +1544,9 @@ void PrintDialog::setupOptionalUI()
) && pCurParent )
{
// create a row in the current column
- vcl::RowOrColumn* pFieldColumn = new vcl::RowOrColumn( pCurColumn, false );
+ boost::shared_ptr<vcl::RowOrColumn> pFieldColumn( new vcl::RowOrColumn( pCurColumn.get(), false ) );
pCurColumn->addChild( pFieldColumn );
- aPropertyToDependencyRowMap.insert( std::pair< rtl::OUString, vcl::RowOrColumn* >( aPropertyName, pFieldColumn ) );
+ aPropertyToDependencyRowMap.insert( std::pair< rtl::OUString, boost::shared_ptr<vcl::RowOrColumn> >( aPropertyName, pFieldColumn ) );
vcl::LabeledElement* pLabel = NULL;
if( aText.getLength() )
@@ -1582,7 +1561,7 @@ void PrintDialog::setupOptionalUI()
setSmartId( pHeading, "FixedText", -1, aPropertyName );
// add to row
- pLabel = new vcl::LabeledElement( pFieldColumn, 2 );
+ pLabel = new vcl::LabeledElement( pFieldColumn.get(), 2 );
pFieldColumn->addChild( pLabel );
pLabel->setLabel( pHeading );
}
@@ -1717,11 +1696,11 @@ void PrintDialog::setupOptionalUI()
// FIXME: the GetNativeControlRegion call on Windows has some issues
// (which skew the results of GetOptimalSize())
// however fixing this thoroughly needs to take interaction with paint into
- // acoount, making the right fix less simple. Fix this the right way
+ // account, making the right fix less simple. Fix this the right way
// at some point. For now simply add some space at the lowest element
- size_t nIndex = maJobPage.maLayout.countElements();
+ size_t nIndex = maJobPage.getLayout()->countElements();
if( nIndex > 0 ) // sanity check
- maJobPage.maLayout.setBorders( nIndex-1, 0, 0, 0, aBorder.Width() );
+ maJobPage.getLayout()->setBorders( nIndex-1, 0, 0, 0, -1 );
#endif
// create auto mnemomnics now so they can be calculated in layout
@@ -1731,13 +1710,13 @@ void PrintDialog::setupOptionalUI()
ImplWindowAutoMnemonic( this );
// calculate job page
- Size aMaxSize = maJobPage.maLayout.getOptimalSize( WINDOWSIZE_PREFERRED );
+ Size aMaxSize = maJobPage.getLayout()->getOptimalSize( WINDOWSIZE_PREFERRED );
// and layout page
- updateMaxSize( maNUpPage.maLayout.getOptimalSize( WINDOWSIZE_PREFERRED ), aMaxSize );
+ updateMaxSize( maNUpPage.getLayout()->getOptimalSize( WINDOWSIZE_PREFERRED ), aMaxSize );
// and options page
- updateMaxSize( maOptionsPage.maLayout.getOptimalSize( WINDOWSIZE_PREFERRED ), aMaxSize );
+ updateMaxSize( maOptionsPage.getLayout()->getOptimalSize( WINDOWSIZE_PREFERRED ), aMaxSize );
- for( std::vector< vcl::RowOrColumn* >::iterator it = aDynamicColumns.begin();
+ for( std::vector< boost::shared_ptr<vcl::RowOrColumn> >::iterator it = aDynamicColumns.begin();
it != aDynamicColumns.end(); ++it )
{
Size aPageSize( (*it)->getOptimalSize( WINDOWSIZE_PREFERRED ) );
@@ -1765,19 +1744,7 @@ void PrintDialog::setupOptionalUI()
maTabCtrl.SetMinimumSizePixel( maTabCtrl.GetSizePixel() );
}
- // and finally arrange controls
- for( std::vector< vcl::RowOrColumn* >::iterator it = aDynamicColumns.begin();
- it != aDynamicColumns.end(); ++it )
- {
- (*it)->setManagedArea( Rectangle( Point(), aTabSize ) );
- delete *it;
- *it = NULL;
- }
- maJobPage.Resize();
- maNUpPage.Resize();
- maOptionsPage.Resize();
-
- Size aSz = maLayout.getOptimalSize( WINDOWSIZE_PREFERRED );
+ Size aSz = getLayout()->getOptimalSize( WINDOWSIZE_PREFERRED );
SetOutputSizePixel( aSz );
}
@@ -1812,7 +1779,7 @@ void PrintDialog::checkControlDependencies()
maJobPage.maCollateImage.SetSizePixel( aImgSize );
maJobPage.maCollateImage.SetImage( bHC ? aHCImg : aImg );
maJobPage.maCollateImage.SetModeImage( aHCImg, BMP_COLOR_HIGHCONTRAST );
- maJobPage.maLayout.resize();
+ maJobPage.getLayout()->resize();
// enable setup button only for printers that can be setup
bool bHaveSetup = maPController->getPrinter()->HasSupport( SUPPORT_SETUPDIALOG );
@@ -1827,7 +1794,7 @@ void PrintDialog::checkControlDependencies()
aPrinterSize.Width() = aSetupPos.X() - aPrinterPos.X() - LogicToPixel( Size( 5, 5 ), MapMode( MAP_APPFONT ) ).Width();
maJobPage.maPrinters.SetSizePixel( aPrinterSize );
maJobPage.maSetupButton.Show();
- maLayout.resize();
+ getLayout()->resize();
}
}
else
@@ -1841,7 +1808,7 @@ void PrintDialog::checkControlDependencies()
aPrinterSize.Width() = aSetupPos.X() + aSetupSize.Width() - aPrinterPos.X();
maJobPage.maPrinters.SetSizePixel( aPrinterSize );
maJobPage.maSetupButton.Hide();
- maLayout.resize();
+ getLayout()->resize();
}
}
}
@@ -2082,7 +2049,7 @@ void PrintDialog::updateNupFromPages()
if( bCustom )
{
// see if we have to enlarge the dialog to make the tab page fit
- Size aCurSize( maNUpPage.maLayout.getOptimalSize( WINDOWSIZE_PREFERRED ) );
+ Size aCurSize( maNUpPage.getLayout()->getOptimalSize( WINDOWSIZE_PREFERRED ) );
Size aTabSize( maTabCtrl.GetTabPageSizePixel() );
if( aTabSize.Height() < aCurSize.Height() )
{
@@ -2205,7 +2172,7 @@ IMPL_LINK( PrintDialog, ClickHdl, Button*, pButton )
else if( pButton == &maOptionsPage.maToFileBox )
{
maOKButton.SetText( maOptionsPage.maToFileBox.IsChecked() ? maPrintToFileText : maPrintText );
- maLayout.resize();
+ getLayout()->resize();
}
else if( pButton == &maNUpPage.maBrochureBtn )
{
@@ -2241,7 +2208,7 @@ IMPL_LINK( PrintDialog, ClickHdl, Button*, pButton )
{
maDetailsCollapsedSize = GetOutputSizePixel();
// enlarge dialog if necessary
- Size aMinSize( maJobPage.maLayout.getOptimalSize( WINDOWSIZE_MINIMUM ) );
+ Size aMinSize( maJobPage.getLayout()->getOptimalSize( WINDOWSIZE_MINIMUM ) );
Size aCurSize( maJobPage.GetSizePixel() );
if( aCurSize.Height() < aMinSize.Height() )
{
@@ -2515,7 +2482,7 @@ void PrintDialog::Command( const CommandEvent& rEvt )
void PrintDialog::Resize()
{
- maLayout.setManagedArea( Rectangle( Point( 0, 0 ), GetSizePixel() ) );
+ // maLayout.setManagedArea( Rectangle( Point( 0, 0 ), GetSizePixel() ) );
// and do the preview; however the metafile does not need to be gotten anew
preparePreview( false );
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 58772a599faa..ade795b51a04 100755
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -295,6 +295,8 @@ void Window::ImplUpdateGlobalSettings( AllSettings& rSettings, sal_Bool bCallHdl
aTmpSt.SetHighContrastMode( sal_False );
rSettings.SetStyleSettings( aTmpSt );
ImplGetFrame()->UpdateSettings( rSettings );
+ // reset default border width for layouters
+ ImplGetSVData()->maAppData.mnDefaultLayoutBorder = -1;
// Verify availability of the configured UI font, otherwise choose "Andale Sans UI"
String aUserInterfaceFont;
@@ -599,6 +601,7 @@ void Window::ImplInitWindowData( WindowType nType )
mpWindowImpl->mpDlgCtrlDownWindow = NULL; // window for dialog control
mpWindowImpl->mpFirstDel = NULL; // Dtor notification list
mpWindowImpl->mpUserData = NULL; // user data
+ mpWindowImpl->mpExtImpl = NULL; // extended implementation data
mpWindowImpl->mpCursor = NULL; // cursor
mpWindowImpl->mpControlFont = NULL; // font propertie
mpWindowImpl->mpVCLXWindow = NULL;
@@ -1129,6 +1132,8 @@ void Window::ImplCallResize()
// #88419# Most classes don't call the base class in Resize() and Move(),
// => Call ImpleResize/Move instead of Resize/Move directly...
ImplCallEventListeners( VCLEVENT_WINDOW_RESIZE );
+
+ ImplExtResize();
}
// -----------------------------------------------------------------------
@@ -4342,6 +4347,8 @@ namespace
Window::~Window()
{
+ ImplFreeExtWindowImpl();
+
vcl::LazyDeletor<Window>::Undelete( this );
DBG_DTOR( Window, ImplDbgCheckWindow );
@@ -4779,6 +4786,13 @@ void Window::doLazyDelete()
}
// -----------------------------------------------------------------------
+void Window::InterceptChildWindowKeyDown( sal_Bool bIntercept )
+{
+ if( mpWindowImpl->mpSysObj )
+ mpWindowImpl->mpSysObj->InterceptChildWindowKeyDown( bIntercept );
+}
+
+// -----------------------------------------------------------------------
void Window::MouseMove( const MouseEvent& rMEvt )
{
@@ -4862,6 +4876,12 @@ void Window::Paint( const Rectangle& rRect )
// -----------------------------------------------------------------------
+void Window::PostPaint()
+{
+}
+
+// -----------------------------------------------------------------------
+
void Window::Draw( OutputDevice*, const Point&, const Size&, sal_uIntPtr )
{
DBG_CHKTHIS( Window, ImplDbgCheckWindow );
diff --git a/vcl/source/window/window4.cxx b/vcl/source/window/window4.cxx
new file mode 100644
index 000000000000..577a573c2015
--- /dev/null
+++ b/vcl/source/window/window4.cxx
@@ -0,0 +1,224 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "precompiled_vcl.hxx"
+
+#include "vcl/window.hxx"
+#include "vcl/window.h"
+#include "vcl/svdata.hxx"
+#include "vcl/arrange.hxx"
+
+#include "com/sun/star/beans/PropertyValue.hpp"
+
+#include <map>
+#include <vector>
+
+using namespace com::sun::star;
+
+namespace vcl
+{
+ struct ExtWindowImpl
+ {
+ ExtWindowImpl()
+ : mbOwnedByParent( false )
+ {}
+ ~ExtWindowImpl()
+ {}
+
+ boost::shared_ptr< WindowArranger > mxLayout;
+ bool mbOwnedByParent;
+ rtl::OUString maIdentifier;
+ };
+}
+
+void Window::ImplDeleteOwnedChildren()
+{
+ Window* pChild = mpWindowImpl->mpFirstChild;
+ while ( pChild )
+ {
+ Window* pDeleteCandidate = pChild;
+ pChild = pChild->mpWindowImpl->mpNext;
+ vcl::ExtWindowImpl* pDelImpl = pDeleteCandidate->ImplGetExtWindowImpl();
+ if( pDelImpl && pDelImpl->mbOwnedByParent )
+ delete pDeleteCandidate;
+ }
+}
+
+void Window::ImplFreeExtWindowImpl()
+{
+ ImplDeleteOwnedChildren();
+ if( mpWindowImpl )
+ {
+ delete mpWindowImpl->mpExtImpl;
+ mpWindowImpl->mpExtImpl = NULL;
+ }
+}
+
+vcl::ExtWindowImpl* Window::ImplGetExtWindowImpl() const
+{
+ vcl::ExtWindowImpl* pImpl = NULL;
+ if( mpWindowImpl )
+ {
+ if( ! mpWindowImpl->mpExtImpl && ! mpWindowImpl->mbInDtor )
+ mpWindowImpl->mpExtImpl = new vcl::ExtWindowImpl();
+ pImpl = mpWindowImpl->mpExtImpl;
+ }
+ return pImpl;
+}
+
+void Window::ImplExtResize()
+{
+ if( mpWindowImpl && mpWindowImpl->mpExtImpl )
+ {
+ if( mpWindowImpl->mpExtImpl->mxLayout.get() )
+ mpWindowImpl->mpExtImpl->mxLayout->setManagedArea( Rectangle( Point( 0, 0 ), GetSizePixel() ) );
+ }
+}
+
+boost::shared_ptr< vcl::WindowArranger > Window::getLayout()
+{
+ boost::shared_ptr< vcl::WindowArranger > xRet;
+ vcl::ExtWindowImpl* pImpl = ImplGetExtWindowImpl();
+ if( pImpl )
+ {
+ if( ! pImpl->mxLayout.get() )
+ {
+ pImpl->mxLayout.reset( new vcl::LabelColumn() );
+ pImpl->mxLayout->setParentWindow( this );
+ pImpl->mxLayout->setOuterBorder( -1 );
+ }
+ xRet = pImpl->mxLayout;
+ }
+
+ return xRet;
+}
+
+void Window::addWindow( Window* i_pWin, bool i_bTakeOwnership )
+{
+ vcl::ExtWindowImpl* pImpl = ImplGetExtWindowImpl();
+ if( pImpl && i_pWin )
+ {
+ vcl::ExtWindowImpl* pChildImpl = i_pWin->ImplGetExtWindowImpl();
+ if( pChildImpl )
+ {
+ i_pWin->SetParent( this );
+ pChildImpl->mbOwnedByParent = i_bTakeOwnership;
+ }
+ }
+}
+
+Window* Window::removeWindow( Window* i_pWin, Window* i_pNewParent )
+{
+ Window* pRet = NULL;
+ if( i_pWin )
+ {
+ vcl::ExtWindowImpl* pImpl = ImplGetExtWindowImpl();
+ if( pImpl )
+ {
+ vcl::ExtWindowImpl* pChildImpl = i_pWin->ImplGetExtWindowImpl();
+ if( pChildImpl )
+ {
+ if( ! i_pNewParent )
+ pChildImpl->mbOwnedByParent = false;
+ i_pWin->SetParent( i_pNewParent );
+ pRet = i_pWin;
+ }
+ }
+ }
+ return pRet;
+}
+
+Window* Window::findWindow( const rtl::OUString& i_rIdentifier ) const
+{
+ if( getIdentifier() == i_rIdentifier )
+ return const_cast<Window*>(this);
+
+ Window* pChild = mpWindowImpl->mpFirstChild;
+ while ( pChild )
+ {
+ Window* pResult = pChild->findWindow( i_rIdentifier );
+ if( pResult )
+ return pResult;
+ pChild = pChild->mpWindowImpl->mpNext;
+ }
+
+ return NULL;
+}
+
+const rtl::OUString& Window::getIdentifier() const
+{
+ static rtl::OUString aEmptyStr;
+
+ return (mpWindowImpl && mpWindowImpl->mpExtImpl) ? mpWindowImpl->mpExtImpl->maIdentifier : aEmptyStr;
+}
+
+void Window::setIdentifier( const rtl::OUString& i_rIdentifier )
+{
+ vcl::ExtWindowImpl* pImpl = ImplGetExtWindowImpl();
+ if( pImpl )
+ pImpl->maIdentifier = i_rIdentifier;
+}
+
+void Window::setProperties( const uno::Sequence< beans::PropertyValue >& i_rProps )
+{
+ const beans::PropertyValue* pVals = i_rProps.getConstArray();
+ for( sal_Int32 i = 0; i < i_rProps.getLength(); i++ )
+ {
+ if( pVals[i].Name.equalsAscii( "Enabled" ) )
+ {
+ sal_Bool bVal = sal_True;
+ if( pVals[i].Value >>= bVal )
+ Enable( bVal );
+ }
+ else if( pVals[i].Name.equalsAscii( "Visible" ) )
+ {
+ sal_Bool bVal = sal_True;
+ if( pVals[i].Value >>= bVal )
+ Show( bVal );
+ }
+ else if( pVals[i].Name.equalsAscii( "Text" ) )
+ {
+ rtl::OUString aText;
+ if( pVals[i].Value >>= aText )
+ SetText( aText );
+ }
+ }
+}
+
+uno::Sequence< beans::PropertyValue > Window::getProperties() const
+{
+ uno::Sequence< beans::PropertyValue > aProps( 3 );
+ aProps[0].Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Enabled" ) );
+ aProps[0].Value = uno::makeAny( sal_Bool( IsEnabled() ) );
+ aProps[1].Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Visible" ) );
+ aProps[1].Value = uno::makeAny( sal_Bool( IsVisible() ) );
+ aProps[2].Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Text" ) );
+ aProps[2].Value = uno::makeAny( rtl::OUString( GetText() ) );
+
+ return aProps;
+}
+
diff --git a/vcl/source/window/wpropset.cxx b/vcl/source/window/wpropset.cxx
new file mode 100644
index 000000000000..4aaa3f987b77
--- /dev/null
+++ b/vcl/source/window/wpropset.cxx
@@ -0,0 +1,346 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "precompiled_vcl.hxx"
+
+#include "vcl/wpropset.hxx"
+#include "vcl/window.hxx"
+#include "vcl/vclevent.hxx"
+#include "vcl/svdata.hxx"
+
+#include "com/sun/star/lang/XMultiServiceFactory.hpp"
+#include "com/sun/star/beans/PropertyValue.hpp"
+#include "com/sun/star/beans/PropertyAttribute.hpp"
+#include "com/sun/star/beans/XPropertySet.hpp"
+#include "com/sun/star/beans/XPropertyContainer.hpp"
+#include "com/sun/star/beans/XPropertyAccess.hpp"
+
+#include "cppuhelper/basemutex.hxx"
+#include "cppuhelper/compbase1.hxx"
+
+#include <map>
+
+using namespace vcl;
+using namespace com::sun::star;
+
+/*
+
+TODO:
+- release solarmutex during outside UNO calls
+- in ChildEventListener protect against reentry by using PostUserEvent
+
+*/
+
+class vcl::WindowPropertySetListener :
+ public cppu::BaseMutex,
+ public cppu::WeakComponentImplHelper1< com::sun::star::beans::XPropertyChangeListener >,
+ private boost::noncopyable
+{
+ WindowPropertySet* mpParent;
+ bool mbSuspended;
+public:
+ WindowPropertySetListener( WindowPropertySet* pParent )
+ : cppu::WeakComponentImplHelper1< com::sun::star::beans::XPropertyChangeListener >( m_aMutex )
+ , mpParent( pParent )
+ , mbSuspended( false )
+ {}
+
+ virtual ~WindowPropertySetListener()
+ {
+ }
+
+ using cppu::WeakComponentImplHelperBase::disposing;
+ virtual void SAL_CALL disposing( const lang::EventObject& ) throw()
+ {
+ }
+
+ virtual void SAL_CALL propertyChange( const beans::PropertyChangeEvent& i_rEvent ) throw()
+ {
+ if( ! mbSuspended )
+ mpParent->propertyChange( i_rEvent );
+ }
+
+ void suspend( bool i_bSuspended )
+ {
+ mbSuspended = i_bSuspended;
+ }
+};
+
+class vcl::WindowPropertySetData
+{
+public:
+
+ struct PropertyMapEntry
+ {
+ Window* mpWindow;
+ boost::shared_ptr<WindowArranger> mpLayout;
+ uno::Sequence< beans::PropertyValue > maSavedValues;
+
+ PropertyMapEntry( Window* i_pWindow = NULL,
+ const boost::shared_ptr<WindowArranger>& i_pLayout = boost::shared_ptr<WindowArranger>() )
+ : mpWindow( i_pWindow )
+ , mpLayout( i_pLayout )
+ {}
+
+ uno::Sequence< beans::PropertyValue > getProperties() const
+ {
+ if( mpWindow )
+ return mpWindow->getProperties();
+ else if( mpLayout.get() )
+ return mpLayout->getProperties();
+ return uno::Sequence< beans::PropertyValue >();
+ }
+
+ void setProperties( const uno::Sequence< beans::PropertyValue >& i_rProps ) const
+ {
+ if( mpWindow )
+ mpWindow->setProperties( i_rProps );
+ else if( mpLayout.get() )
+ mpLayout->setProperties( i_rProps );
+ }
+ };
+
+ Window* mpTopWindow;
+ bool mbOwner;
+ std::map< rtl::OUString, PropertyMapEntry > maProperties;
+ uno::Reference< beans::XPropertySet > mxPropSet;
+ uno::Reference< beans::XPropertyAccess > mxPropSetAccess;
+ uno::Reference< beans::XPropertyChangeListener > mxListener;
+ vcl::WindowPropertySetListener* mpListener;
+
+ WindowPropertySetData()
+ : mpTopWindow( NULL )
+ , mbOwner( false )
+ , mpListener( NULL )
+ {}
+
+ ~WindowPropertySetData()
+ {
+ // release layouters, possibly interface properties before destroying
+ // the involved parent to be on the safe side
+ maProperties.clear();
+ if( mbOwner )
+ delete mpTopWindow;
+ }
+};
+
+static rtl::OUString getIdentifiedPropertyName( const rtl::OUString& i_rIdentifier, const rtl::OUString& i_rName )
+{
+ rtl::OUStringBuffer aBuf( i_rIdentifier.getLength() + 1 + i_rName.getLength() );
+ aBuf.append( i_rIdentifier );
+ aBuf.append( sal_Unicode( '#' ) );
+ aBuf.append( i_rName );
+ return aBuf.makeStringAndClear();
+}
+
+static void spliceIdentifiedPropertyName( const rtl::OUString& i_rIdentifiedPropName,
+ rtl::OUString& o_rIdentifier,
+ rtl::OUString& o_rPropName )
+{
+ sal_Int32 nIndex = 0;
+ o_rIdentifier = i_rIdentifiedPropName.getToken( 0, sal_Unicode( '#' ), nIndex );
+ if( nIndex != -1 )
+ o_rPropName = i_rIdentifiedPropName.copy( nIndex );
+ else
+ o_rPropName = rtl::OUString();
+}
+
+WindowPropertySet::WindowPropertySet( Window* i_pTopWindow, bool i_bTakeOwnership )
+: mpImpl( new vcl::WindowPropertySetData )
+{
+ mpImpl->mpTopWindow = i_pTopWindow;
+ mpImpl->mbOwner = i_bTakeOwnership;
+
+ mpImpl->mpTopWindow->AddChildEventListener( LINK( this, WindowPropertySet, ChildEventListener ) );
+
+ mpImpl->mxPropSet = uno::Reference< beans::XPropertySet >(
+ ImplGetSVData()->maAppData.mxMSF->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.beans.PropertyBag" ) ) ),
+ uno::UNO_QUERY );
+ OSL_ENSURE( mpImpl->mxPropSet.is(), "could not create instance of com.sun.star.beans.PropertyBag" );
+ mpImpl->mxPropSetAccess = uno::Reference< beans::XPropertyAccess >( mpImpl->mxPropSet, uno::UNO_QUERY );
+ OSL_ENSURE( mpImpl->mxPropSet.is(), "could not query XPropertyAccess interface" );
+ if( ! mpImpl->mxPropSetAccess.is() )
+ mpImpl->mxPropSet.clear();
+
+ addWindowToSet( i_pTopWindow );
+
+ setupProperties();
+
+ if( mpImpl->mxPropSet.is() )
+ {
+ mpImpl->mxListener.set( mpImpl->mpListener = new WindowPropertySetListener( this ) );
+ }
+}
+
+WindowPropertySet::~WindowPropertySet()
+{
+ mpImpl->mpTopWindow->RemoveChildEventListener( LINK( this, WindowPropertySet, ChildEventListener ) );
+
+ delete mpImpl;
+ mpImpl = NULL;
+}
+
+uno::Reference< beans::XPropertySet > WindowPropertySet::getPropertySet() const
+{
+ return mpImpl->mxPropSet;
+}
+
+void WindowPropertySet::addLayoutToSet( const boost::shared_ptr< WindowArranger >& i_pLayout )
+{
+ if( i_pLayout.get() )
+ {
+ if( i_pLayout->getIdentifier().getLength() )
+ {
+ WindowPropertySetData::PropertyMapEntry& rEntry = mpImpl->maProperties[ i_pLayout->getIdentifier() ];
+ OSL_ENSURE( rEntry.mpWindow == 0 && rEntry.mpLayout.get() == 0, "inserted layout has duplicate name" );
+ rEntry.mpWindow = NULL;
+ rEntry.mpLayout = i_pLayout;
+ rEntry.maSavedValues = i_pLayout->getProperties();
+ }
+ // insert child layouts
+ size_t nChildren = i_pLayout->countElements();
+ for( size_t i = 0; i < nChildren; i++ )
+ addLayoutToSet( i_pLayout->getChild( i ) );
+ }
+}
+
+void WindowPropertySet::addWindowToSet( Window* i_pWindow )
+{
+ if( i_pWindow->getIdentifier().getLength() ) // no name, no properties
+ {
+ WindowPropertySetData::PropertyMapEntry& rEntry = mpImpl->maProperties[ i_pWindow->getIdentifier() ];
+ OSL_ENSURE( rEntry.mpWindow == 0 && rEntry.mpLayout.get() == 0, "inserted window has duplicate name" );
+ rEntry.mpWindow = i_pWindow;
+ rEntry.mpLayout.reset();
+ rEntry.maSavedValues = i_pWindow->getProperties();
+ }
+ addLayoutToSet( i_pWindow->getLayout() );
+
+ Window* pWin = i_pWindow->GetWindow( WINDOW_FIRSTCHILD );
+ while( pWin )
+ {
+ addWindowToSet( pWin );
+ pWin = pWin->GetWindow( WINDOW_NEXT );
+ }
+}
+
+void WindowPropertySet::setupProperties()
+{
+ uno::Reference< beans::XPropertyContainer > xCont( mpImpl->mxPropSet, uno::UNO_QUERY );
+ OSL_ENSURE( xCont.is(), "could not get XPropertyContainer interface" );
+ if( ! xCont.is() )
+ return;
+
+ for( std::map< rtl::OUString, WindowPropertySetData::PropertyMapEntry >::iterator it
+ = mpImpl->maProperties.begin(); it != mpImpl->maProperties.end(); ++it )
+ {
+ uno::Sequence< beans::PropertyValue > aOutsideValues( it->second.maSavedValues );
+ beans::PropertyValue* pVal = aOutsideValues.getArray();
+ for( sal_Int32 i = 0; i < aOutsideValues.getLength(); i++ )
+ {
+ pVal[i].Name = getIdentifiedPropertyName( it->first, pVal[i].Name );
+ xCont->addProperty( pVal[i].Name,
+ beans::PropertyAttribute::BOUND | beans:: PropertyAttribute::CONSTRAINED,
+ pVal[i].Value
+ );
+ }
+ }
+}
+
+void WindowPropertySet::propertyChange( const beans::PropertyChangeEvent& i_rEvent )
+{
+ rtl::OUString aIdentifier, aProperty;
+ spliceIdentifiedPropertyName( i_rEvent.PropertyName, aIdentifier, aProperty );
+ std::map< rtl::OUString, WindowPropertySetData::PropertyMapEntry >::iterator it =
+ mpImpl->maProperties.find( aIdentifier );
+ if( it != mpImpl->maProperties.end() )
+ {
+ uno::Sequence< beans::PropertyValue > aSet( 1 );
+ aSet[0].Name = aProperty;
+ aSet[0].Value = i_rEvent.NewValue;
+ it->second.setProperties( aSet );
+ }
+}
+
+IMPL_LINK( vcl::WindowPropertySet, ChildEventListener, VclWindowEvent*, pEvent )
+{
+ // find window in our properties
+ std::map< rtl::OUString, WindowPropertySetData::PropertyMapEntry >::iterator it
+ = mpImpl->maProperties.find( pEvent->GetWindow()->getIdentifier() );
+ if( it != mpImpl->maProperties.end() ) // this is valid, some unnamed child may have sent an event
+ {
+ ULONG nId = pEvent->GetId();
+ // check if anything interesting happened
+ if(
+ // general windowy things
+ nId == VCLEVENT_WINDOW_SHOW ||
+ nId == VCLEVENT_WINDOW_HIDE ||
+ nId == VCLEVENT_WINDOW_ENABLED ||
+ nId == VCLEVENT_WINDOW_DISABLED ||
+ // button thingies
+ nId == VCLEVENT_BUTTON_CLICK ||
+ nId == VCLEVENT_PUSHBUTTON_TOGGLE ||
+ nId == VCLEVENT_RADIOBUTTON_TOGGLE ||
+ nId == VCLEVENT_CHECKBOX_TOGGLE ||
+ // listbox
+ nId == VCLEVENT_LISTBOX_SELECT ||
+ // edit
+ nId == VCLEVENT_EDIT_MODIFY
+ )
+ {
+ WindowPropertySetData::PropertyMapEntry& rEntry = it->second;
+ // collect changes
+ uno::Sequence< beans::PropertyValue > aNewProps( rEntry.getProperties() );
+ uno::Sequence< beans::PropertyValue > aNewPropsOut( aNewProps );
+
+ // translate to identified properties
+ beans::PropertyValue* pValues = aNewPropsOut.getArray();
+ for( sal_Int32 i = 0; i < aNewPropsOut.getLength(); i++ )
+ pValues[i].Name = getIdentifiedPropertyName( it->first, pValues[i].Name );
+
+ // broadcast changes
+ bool bWasVeto = false;
+ mpImpl->mpListener->suspend( true );
+ try
+ {
+ mpImpl->mxPropSetAccess->setPropertyValues( aNewPropsOut );
+ }
+ catch( beans::PropertyVetoException& )
+ {
+ bWasVeto = true;
+ }
+ mpImpl->mpListener->suspend( false );
+
+ if( ! bWasVeto ) // changes accepted ?
+ rEntry.maSavedValues = rEntry.getProperties();
+ else // no, reset
+ rEntry.setProperties( rEntry.maSavedValues );
+ }
+ }
+
+ return 0;
+}
diff --git a/vcl/unx/gtk/window/gtkobject.cxx b/vcl/unx/gtk/window/gtkobject.cxx
index 2a2bbe78078a..c5f5a168f653 100644
--- a/vcl/unx/gtk/window/gtkobject.cxx
+++ b/vcl/unx/gtk/window/gtkobject.cxx
@@ -209,3 +209,8 @@ void GtkSalObject::signalDestroy( GtkObject* pObj, gpointer object )
pThis->m_pSocket = NULL;
}
}
+
+void GtkSalObject::InterceptChildWindowKeyDown( sal_Bool /*bIntercept*/ )
+{
+}
+
diff --git a/vcl/unx/headless/svpdummies.cxx b/vcl/unx/headless/svpdummies.cxx
index 5983ff18c34f..0a67b147804a 100644
--- a/vcl/unx/headless/svpdummies.cxx
+++ b/vcl/unx/headless/svpdummies.cxx
@@ -61,6 +61,7 @@ void SvpSalObject::GrabFocus() {}
void SvpSalObject::SetBackground() {}
void SvpSalObject::SetBackground( SalColor ) {}
const SystemEnvData* SvpSalObject::GetSystemData() const { return &m_aSystemChildData; }
+void SvpSalObject::InterceptChildWindowKeyDown( sal_Bool ) {}
// SalI18NImeStatus
SvpImeStatus::~SvpImeStatus() {}
diff --git a/vcl/unx/headless/svpdummies.hxx b/vcl/unx/headless/svpdummies.hxx
index febf7eef6bbe..ea7667ce51ca 100644
--- a/vcl/unx/headless/svpdummies.hxx
+++ b/vcl/unx/headless/svpdummies.hxx
@@ -58,6 +58,8 @@ public:
virtual void SetBackground( SalColor nSalColor );
virtual const SystemEnvData* GetSystemData() const;
+
+ virtual void InterceptChildWindowKeyDown( sal_Bool bIntercept );
};
class SvpImeStatus : public SalI18NImeStatus
diff --git a/vcl/unx/inc/plugins/gtk/gtkobject.hxx b/vcl/unx/inc/plugins/gtk/gtkobject.hxx
index ea740249f1c6..9d3f235b8894 100644
--- a/vcl/unx/inc/plugins/gtk/gtkobject.hxx
+++ b/vcl/unx/inc/plugins/gtk/gtkobject.hxx
@@ -64,6 +64,7 @@ public:
virtual const SystemEnvData* GetSystemData() const;
+ virtual void InterceptChildWindowKeyDown( sal_Bool bIntercept );
};
#endif // _SV_SALOBJ_H
diff --git a/vcl/unx/inc/salobj.h b/vcl/unx/inc/salobj.h
index fa9f1309c8ca..d7d9334f281b 100644
--- a/vcl/unx/inc/salobj.h
+++ b/vcl/unx/inc/salobj.h
@@ -98,6 +98,7 @@ public:
virtual const SystemEnvData* GetSystemData() const;
+ virtual void InterceptChildWindowKeyDown( sal_Bool bIntercept );
};
#endif // _SV_SALOBJ_H
diff --git a/vcl/unx/source/gdi/salprnpsp.cxx b/vcl/unx/source/gdi/salprnpsp.cxx
index 417704eb3b69..ece724d717cb 100644
--- a/vcl/unx/source/gdi/salprnpsp.cxx
+++ b/vcl/unx/source/gdi/salprnpsp.cxx
@@ -1187,14 +1187,12 @@ BOOL PspSalPrinter::StartJob( const String* i_pFileName, const String& i_rJobNam
aContext.Version = vcl::PDFWriter::PDF_1_4;
aContext.Tagged = false;
aContext.EmbedStandardFonts = true;
- aContext.Encrypt = false;
aContext.DocumentLocale = Application::GetSettings().GetLocale();
// prepare doc info
- vcl::PDFDocInfo aDocInfo;
- aDocInfo.Title = i_rJobName;
- aDocInfo.Creator = i_rAppName;
- aDocInfo.Producer = i_rAppName;
+ aContext.DocumentInfo.Title = i_rJobName;
+ aContext.DocumentInfo.Creator = i_rAppName;
+ aContext.DocumentInfo.Producer = i_rAppName;
// define how we handle metafiles in PDFWriter
vcl::PDFWriter::PlayMetafileContext aMtfContext;
@@ -1271,11 +1269,10 @@ BOOL PspSalPrinter::StartJob( const String* i_pFileName, const String& i_rJobNam
#if defined __SUNPRO_CC
#pragma disable_warn
#endif
- pWriter.reset( new vcl::PDFWriter( aContext ) );
+ pWriter.reset( new vcl::PDFWriter( aContext, uno::Reference< beans::XMaterialHolder >() ) );
#if defined __SUNPRO_CC
#pragma enable_warn
#endif
- pWriter->SetDocInfo( aDocInfo );
}
pWriter->NewPage( TenMuToPt( aNewParm.maPageSize.Width() ),
diff --git a/vcl/unx/source/printer/ppdparser.cxx b/vcl/unx/source/printer/ppdparser.cxx
index b2549573d099..587e58be5bc7 100644
--- a/vcl/unx/source/printer/ppdparser.cxx
+++ b/vcl/unx/source/printer/ppdparser.cxx
@@ -405,51 +405,53 @@ void PPDParser::scanPPDDir( const String& rDir )
const int nSuffixes = sizeof(pSuffixes)/sizeof(pSuffixes[0]);
osl::Directory aDir( rDir );
- aDir.open();
- osl::DirectoryItem aItem;
-
- INetURLObject aPPDDir(rDir);
- while( aDir.getNextItem( aItem ) == osl::FileBase::E_None )
+ if ( aDir.open() == osl::FileBase::E_None )
{
- osl::FileStatus aStatus( FileStatusMask_FileName );
- if( aItem.getFileStatus( aStatus ) == osl::FileBase::E_None )
+ osl::DirectoryItem aItem;
+
+ INetURLObject aPPDDir(rDir);
+ while( aDir.getNextItem( aItem ) == osl::FileBase::E_None )
{
- rtl::OUStringBuffer aURLBuf( rDir.Len() + 64 );
- aURLBuf.append( rDir );
- aURLBuf.append( sal_Unicode( '/' ) );
- aURLBuf.append( aStatus.getFileName() );
+ osl::FileStatus aStatus( FileStatusMask_FileName );
+ if( aItem.getFileStatus( aStatus ) == osl::FileBase::E_None )
+ {
+ rtl::OUStringBuffer aURLBuf( rDir.Len() + 64 );
+ aURLBuf.append( rDir );
+ aURLBuf.append( sal_Unicode( '/' ) );
+ aURLBuf.append( aStatus.getFileName() );
- rtl::OUString aFileURL, aFileName;
- osl::FileStatus::Type eType = osl::FileStatus::Unknown;
+ rtl::OUString aFileURL, aFileName;
+ osl::FileStatus::Type eType = osl::FileStatus::Unknown;
- if( resolveLink( aURLBuf.makeStringAndClear(), aFileURL, aFileName, eType ) == osl::FileBase::E_None )
- {
- if( eType == osl::FileStatus::Regular )
+ if( resolveLink( aURLBuf.makeStringAndClear(), aFileURL, aFileName, eType ) == osl::FileBase::E_None )
{
- INetURLObject aPPDFile = aPPDDir;
- aPPDFile.Append( aFileName );
-
- // match extension
- for( int nSuffix = 0; nSuffix < nSuffixes; nSuffix++ )
+ if( eType == osl::FileStatus::Regular )
{
- if( aFileName.getLength() > pSuffixes[nSuffix].nSuffixLen )
+ INetURLObject aPPDFile = aPPDDir;
+ aPPDFile.Append( aFileName );
+
+ // match extension
+ for( int nSuffix = 0; nSuffix < nSuffixes; nSuffix++ )
{
- if( aFileName.endsWithIgnoreAsciiCaseAsciiL( pSuffixes[nSuffix].pSuffix, pSuffixes[nSuffix].nSuffixLen ) )
+ if( aFileName.getLength() > pSuffixes[nSuffix].nSuffixLen )
{
- (*pAllPPDFiles)[ aFileName.copy( 0, aFileName.getLength() - pSuffixes[nSuffix].nSuffixLen ) ] = aPPDFile.PathToFileName();
- break;
+ if( aFileName.endsWithIgnoreAsciiCaseAsciiL( pSuffixes[nSuffix].pSuffix, pSuffixes[nSuffix].nSuffixLen ) )
+ {
+ (*pAllPPDFiles)[ aFileName.copy( 0, aFileName.getLength() - pSuffixes[nSuffix].nSuffixLen ) ] = aPPDFile.PathToFileName();
+ break;
+ }
}
}
}
- }
- else if( eType == osl::FileStatus::Directory )
- {
- scanPPDDir( aFileURL );
+ else if( eType == osl::FileStatus::Directory )
+ {
+ scanPPDDir( aFileURL );
+ }
}
}
}
+ aDir.close();
}
- aDir.close();
}
void PPDParser::initPPDFiles()
diff --git a/vcl/unx/source/window/salobj.cxx b/vcl/unx/source/window/salobj.cxx
index 647b95ae032c..2ff6d05c35c6 100644
--- a/vcl/unx/source/window/salobj.cxx
+++ b/vcl/unx/source/window/salobj.cxx
@@ -559,3 +559,10 @@ long X11SalObject::Dispatch( XEvent* pEvent )
}
return 0;
}
+
+// -----------------------------------------------------------------------
+
+void X11SalObject::InterceptChildWindowKeyDown( sal_Bool /*bIntercept*/ )
+{
+}
+
diff --git a/vcl/win/inc/saldata.hxx b/vcl/win/inc/saldata.hxx
index 6de4d4a44abe..9a0c95c9e026 100644
--- a/vcl/win/inc/saldata.hxx
+++ b/vcl/win/inc/saldata.hxx
@@ -213,6 +213,7 @@ void ImplSalYieldMutexAcquire();
void ImplSalYieldMutexRelease();
sal_uIntPtr ImplSalReleaseYieldMutex();
void ImplSalAcquireYieldMutex( sal_uIntPtr nCount );
+sal_Bool ImplInterceptChildWindowKeyDown( MSG& rMsg );
// \\WIN\SOURCE\WINDOW\SALFRAME.CXX
LRESULT CALLBACK SalFrameWndProcA( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam );
diff --git a/vcl/win/inc/salobj.h b/vcl/win/inc/salobj.h
index 402c2c2be3ce..e262fd9bc10d 100644
--- a/vcl/win/inc/salobj.h
+++ b/vcl/win/inc/salobj.h
@@ -45,7 +45,8 @@ public:
RGNDATA* mpClipRgnData; // ClipRegion-Data
RGNDATA* mpStdClipRgnData; // Cache Standard-ClipRegion-Data
RECT* mpNextClipRect; // Naechstes ClipRegion-Rect
- sal_Bool mbFirstClipRect; // Flag for first cliprect to insert
+ sal_Bool mbFirstClipRect; // Flag for first cliprect to insert
+ sal_Bool mbInterceptChildWindowKeyDown; // Intercept the KeyDown event sent to system child window
WinSalObject* mpNextObject; // pointer to next object
@@ -64,6 +65,7 @@ public:
virtual void SetBackground();
virtual void SetBackground( SalColor nSalColor );
virtual const SystemEnvData* GetSystemData() const;
+ virtual void InterceptChildWindowKeyDown( sal_Bool bIntercept );
};
#endif // _SV_SALOBJ_H
diff --git a/vcl/win/source/app/salinst.cxx b/vcl/win/source/app/salinst.cxx
index b900c8a9e2d1..99f7bd5edddd 100644
--- a/vcl/win/source/app/salinst.cxx
+++ b/vcl/win/source/app/salinst.cxx
@@ -719,8 +719,12 @@ void ImplSalYield( sal_Bool bWait, sal_Bool bHandleAllCurrentEvents )
{
if ( ImplPeekMessage( &aMsg, 0, 0, 0, PM_REMOVE ) )
{
- TranslateMessage( &aMsg );
- ImplSalDispatchMessage( &aMsg );
+ if ( !ImplInterceptChildWindowKeyDown( aMsg ) )
+ {
+ TranslateMessage( &aMsg );
+ ImplSalDispatchMessage( &aMsg );
+ }
+
bOneEvent = bWasMsg = true;
}
else
@@ -731,8 +735,11 @@ void ImplSalYield( sal_Bool bWait, sal_Bool bHandleAllCurrentEvents )
{
if ( ImplGetMessage( &aMsg, 0, 0, 0 ) )
{
- TranslateMessage( &aMsg );
- ImplSalDispatchMessage( &aMsg );
+ if ( !ImplInterceptChildWindowKeyDown( aMsg ) )
+ {
+ TranslateMessage( &aMsg );
+ ImplSalDispatchMessage( &aMsg );
+ }
}
}
}
diff --git a/vcl/win/source/gdi/salprn.cxx b/vcl/win/source/gdi/salprn.cxx
index 8d8af1bb245f..f2314c150e55 100644
--- a/vcl/win/source/gdi/salprn.cxx
+++ b/vcl/win/source/gdi/salprn.cxx
@@ -1798,8 +1798,11 @@ BOOL CALLBACK SalPrintAbortProc( HDC hPrnDC, int /* nError */ )
MSG aMsg;
if ( ImplPeekMessage( &aMsg, 0, 0, 0, PM_REMOVE ) )
{
- TranslateMessage( &aMsg );
- ImplDispatchMessage( &aMsg );
+ if ( !ImplInterceptChildWindowKeyDown( aMsg ) )
+ {
+ TranslateMessage( &aMsg );
+ ImplDispatchMessage( &aMsg );
+ }
i++;
if ( i > 15 )
bWhile = FALSE;
@@ -2060,8 +2063,12 @@ sal_Bool WinSalPrinter::StartJob( const XubString* pFileName,
MSG aMsg;
if ( ImplPeekMessage( &aMsg, 0, 0, 0, PM_REMOVE ) )
{
- TranslateMessage( &aMsg );
- ImplDispatchMessage( &aMsg );
+ if ( !ImplInterceptChildWindowKeyDown( aMsg ) )
+ {
+ TranslateMessage( &aMsg );
+ ImplDispatchMessage( &aMsg );
+ }
+
i++;
if ( i > 15 )
bWhile = FALSE;
diff --git a/vcl/win/source/window/salobj.cxx b/vcl/win/source/window/salobj.cxx
index 54858cd820dd..68fc3f24491b 100644
--- a/vcl/win/source/window/salobj.cxx
+++ b/vcl/win/source/window/salobj.cxx
@@ -39,6 +39,7 @@
#include <salframe.h>
#include <salobj.h>
#include <tools/debug.hxx>
+#include <vcl/svapp.hxx>
// =======================================================================
@@ -103,6 +104,46 @@ WinSalFrame* ImplFindSalObjectFrame( HWND hWnd )
// -----------------------------------------------------------------------
+sal_Bool ImplInterceptChildWindowKeyDown( MSG& rMsg )
+{
+ sal_Bool bResult = sal_False;
+ if ( rMsg.message == WM_KEYDOWN )
+ {
+ wchar_t pClassName[10];
+ sal_Int32 nLen = GetClassNameW( rMsg.hwnd, pClassName, 10 );
+ if ( !( nLen == 9 && wcsncmp( pClassName, SAL_OBJECT_CLASSNAMEW, nLen ) == 0 ) )
+ {
+ // look for the first SalObject in the parent hierarchy
+ HWND hWin = rMsg.hwnd;
+ HWND hLastOLEWindow = hWin;
+ WinSalObject* pSalObj = NULL;
+ do
+ {
+ hLastOLEWindow = hWin;
+ hWin = ::GetParent( hWin );
+ if ( hWin )
+ {
+ nLen = GetClassNameW( hWin, pClassName, 10 );
+ if ( nLen == 9 && wcsncmp( pClassName, SAL_OBJECT_CLASSNAMEW, nLen ) == 0 )
+ pSalObj = GetSalObjWindowPtr( hWin );
+ }
+ } while( hWin && !pSalObj );
+
+ if ( pSalObj && pSalObj->mbInterceptChildWindowKeyDown && pSalObj->maSysData.hWnd )
+ {
+ bResult = ( 1 == ImplSendMessage( pSalObj->maSysData.hWnd, rMsg.message, rMsg.wParam, rMsg.lParam ) );
+ }
+ }
+ }
+
+ return bResult;
+}
+
+// -----------------------------------------------------------------------
+
+
+// -----------------------------------------------------------------------
+
LRESULT CALLBACK SalSysMsgProc( int nCode, WPARAM wParam, LPARAM lParam )
{
// Used for Unicode and none Unicode
@@ -623,6 +664,7 @@ WinSalObject::WinSalObject()
mhLastFocusWnd = 0;
maSysData.nSize = sizeof( SystemEnvData );
mpStdClipRgnData = NULL;
+ mbInterceptChildWindowKeyDown = sal_False;
// Insert object in objectlist
mpNextObject = pSalData->mpFirstObject;
@@ -836,3 +878,11 @@ const SystemEnvData* WinSalObject::GetSystemData() const
{
return &maSysData;
}
+
+// -----------------------------------------------------------------------
+
+void WinSalObject::InterceptChildWindowKeyDown( sal_Bool bIntercept )
+{
+ mbInterceptChildWindowKeyDown = bIntercept;
+}
+